Commit 6b4b4cd4 authored by Jérome Perrin's avatar Jérome Perrin

pivot_table: import v2.23.0

Uploaded the content of
https://github.com/nicolaskruchten/pivottable/tree/v2.23.0/dist/
using web dav and ran Alarm_checkSkinCache

This version allow sorting and fixes an XSS vulnerability
parent e52dc6c8
...@@ -3,40 +3,48 @@ ...@@ -3,40 +3,48 @@
callWithJQuery = function(pivotModule) { callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") { if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery")); return pivotModule(require("jquery"), require("c3"));
} else if (typeof define === "function" && define.amd) { } else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule); return define(["jquery", "c3"], pivotModule);
} else { } else {
return pivotModule(jQuery); return pivotModule(jQuery, c3);
} }
}; };
callWithJQuery(function($) { callWithJQuery(function($, c3) {
var makeC3Chart; var makeC3Chart;
makeC3Chart = function(chartOpts) { makeC3Chart = function(chartOpts) {
if (chartOpts == null) { if (chartOpts == null) {
chartOpts = {}; chartOpts = {};
} }
return function(pivotData, opts) { return function(pivotData, opts) {
var agg, colKey, colKeys, columns, dataArray, datum, defaults, fullAggName, h, hAxisTitle, headers, i, j, len, len1, params, ref, renderArea, result, row, rowHeader, rowKey, rowKeys, tree2, vAxisTitle, val, x, y; var agg, attrs, base, base1, base2, base3, base4, base5, base6, base7, c, categories, colKey, colKeys, columns, dataColumns, defaults, formatter, fullAggName, groupByTitle, h, hAxisTitle, headers, i, j, k, l, len, len1, len2, len3, len4, m, numCharsInHAxis, numSeries, params, ref, ref1, ref2, ref3, renderArea, result, rotationAngle, row, rowHeader, rowKey, rowKeys, s, scatterData, series, title, titleText, vAxisTitle, val, vals, x, xs, y;
defaults = { defaults = {
localeStrings: { localeStrings: {
vs: "vs", vs: "vs",
by: "by" by: "by"
}, },
c3: { c3: {}
width: function() {
return window.innerWidth / 1.4;
},
height: function() {
return window.innerHeight / 1.4;
}
}
}; };
opts = $.extend(defaults, opts); opts = $.extend(true, {}, defaults, opts);
if ((base = opts.c3).size == null) {
base.size = {};
}
if ((base1 = opts.c3.size).width == null) {
base1.width = window.innerWidth / 1.4;
}
if ((base2 = opts.c3.size).height == null) {
base2.height = window.innerHeight / 1.4 - 50;
}
if (chartOpts.type == null) { if (chartOpts.type == null) {
chartOpts.type = "line"; chartOpts.type = "line";
} }
if (chartOpts.horizontal == null) {
chartOpts.horizontal = false;
}
if (chartOpts.stacked == null) {
chartOpts.stacked = false;
}
rowKeys = pivotData.getRowKeys(); rowKeys = pivotData.getRowKeys();
if (rowKeys.length === 0) { if (rowKeys.length === 0) {
rowKeys.push([]); rowKeys.push([]);
...@@ -54,87 +62,152 @@ ...@@ -54,87 +62,152 @@
} }
return results; return results;
})(); })();
rotationAngle = 0;
fullAggName = pivotData.aggregatorName; fullAggName = pivotData.aggregatorName;
if (pivotData.valAttrs.length) { if (pivotData.valAttrs.length) {
fullAggName += "(" + (pivotData.valAttrs.join(", ")) + ")"; fullAggName += "(" + (pivotData.valAttrs.join(", ")) + ")";
} }
if (chartOpts.type === "scatter") { if (chartOpts.type === "scatter") {
dataArray = []; scatterData = {
hAxisTitle = pivotData.colAttrs.join("-"); x: {},
vAxisTitle = pivotData.rowAttrs.join("-"); y: {},
ref = pivotData.tree; t: {}
for (y in ref) { };
tree2 = ref[y]; attrs = pivotData.rowAttrs.concat(pivotData.colAttrs);
for (x in tree2) { vAxisTitle = (ref = attrs[0]) != null ? ref : "";
agg = tree2[x]; hAxisTitle = (ref1 = attrs[1]) != null ? ref1 : "";
datum = {}; groupByTitle = attrs.slice(2).join("-");
datum[hAxisTitle] = parseFloat(x); titleText = vAxisTitle;
datum[vAxisTitle] = parseFloat(y); if (hAxisTitle !== "") {
datum["tooltip"] = agg.format(agg.value()); titleText += " " + opts.localeStrings.vs + " " + hAxisTitle;
dataArray.push(datum); }
} if (groupByTitle !== "") {
titleText += " " + opts.localeStrings.by + " " + groupByTitle;
} }
} else {
columns = [];
for (i = 0, len = rowKeys.length; i < len; i++) { for (i = 0, len = rowKeys.length; i < len; i++) {
rowKey = rowKeys[i]; rowKey = rowKeys[i];
rowHeader = rowKey.join("-");
row = [rowHeader === "" ? pivotData.aggregatorName : rowHeader];
for (j = 0, len1 = colKeys.length; j < len1; j++) { for (j = 0, len1 = colKeys.length; j < len1; j++) {
colKey = colKeys[j]; colKey = colKeys[j];
agg = pivotData.getAggregator(rowKey, colKey); agg = pivotData.getAggregator(rowKey, colKey);
if (agg.value() != null) { if (agg.value() != null) {
val = agg.value(); vals = rowKey.concat(colKey);
if ($.isNumeric(val)) { series = vals.slice(2).join("-");
if (val < 1) { if (series === "") {
row.push(parseFloat(val.toPrecision(3))); series = "series";
} else {
row.push(parseFloat(val.toFixed(3)));
}
} else {
row.push(val);
} }
if ((base3 = scatterData.x)[series] == null) {
base3[series] = [];
}
if ((base4 = scatterData.y)[series] == null) {
base4[series] = [];
}
y = (ref2 = vals[0]) != null ? ref2 : 0;
x = (ref3 = vals[1]) != null ? ref3 : 0;
scatterData.y[series].push(y);
scatterData.x[series].push(x);
if ((base5 = scatterData.t)[series] == null) {
base5[series] = {};
}
if ((base6 = scatterData.t[series])[x] == null) {
base6[x] = {};
}
scatterData.t[series][x][y] = agg.value();
}
}
}
} else {
numCharsInHAxis = 0;
for (k = 0, len2 = headers.length; k < len2; k++) {
x = headers[k];
numCharsInHAxis += x.length;
}
if (numCharsInHAxis > 50) {
rotationAngle = 45;
}
columns = [];
for (l = 0, len3 = rowKeys.length; l < len3; l++) {
rowKey = rowKeys[l];
rowHeader = rowKey.join("-");
row = [rowHeader === "" ? fullAggName : rowHeader];
for (m = 0, len4 = colKeys.length; m < len4; m++) {
colKey = colKeys[m];
val = parseFloat(pivotData.getAggregator(rowKey, colKey).value());
if (isFinite(val)) {
row.push(val);
} else { } else {
row.push(null); row.push(null);
} }
} }
columns.push(row); columns.push(row);
} }
vAxisTitle = pivotData.aggregatorName + (pivotData.valAttrs.length ? "(" + (pivotData.valAttrs.join(", ")) + ")" : ""); vAxisTitle = fullAggName;
hAxisTitle = pivotData.colAttrs.join("-"); if (chartOpts.horizontal) {
hAxisTitle = pivotData.rowAttrs.join("-");
groupByTitle = pivotData.colAttrs.join("-");
} else {
hAxisTitle = pivotData.colAttrs.join("-");
groupByTitle = pivotData.rowAttrs.join("-");
}
titleText = fullAggName;
if (hAxisTitle !== "") {
titleText += " " + opts.localeStrings.vs + " " + hAxisTitle;
}
if (groupByTitle !== "") {
titleText += " " + opts.localeStrings.by + " " + groupByTitle;
}
} }
title = $("<p>", {
style: "text-align: center; font-weight: bold"
});
title.text(titleText);
formatter = pivotData.getAggregator([], []).format;
params = { params = {
size: {
height: opts.c3.height(),
width: opts.c3.width()
},
axis: { axis: {
rotated: chartOpts.horizontal,
y: { y: {
label: vAxisTitle label: vAxisTitle,
tick: {}
}, },
x: { x: {
label: hAxisTitle label: hAxisTitle,
tick: {
rotate: rotationAngle,
multiline: false
}
} }
}, },
data: { data: {
type: chartOpts.type type: chartOpts.type,
order: null
}, },
tooltip: { tooltip: {
grouped: false grouped: false
},
color: {
pattern: ["#3366cc", "#dc3912", "#ff9900", "#109618", "#990099", "#0099c6", "#dd4477", "#66aa00", "#b82e2e", "#316395", "#994499", "#22aa99", "#aaaa11", "#6633cc", "#e67300", "#8b0707", "#651067", "#329262", "#5574a6", "#3b3eac"]
} }
}; };
params = $.extend(true, {}, params, opts.c3);
if (chartOpts.type === "scatter") { if (chartOpts.type === "scatter") {
params.data.x = hAxisTitle; xs = {};
numSeries = 0;
dataColumns = [];
for (s in scatterData.x) {
numSeries += 1;
xs[s] = s + "_x";
dataColumns.push([s + "_x"].concat(scatterData.x[s]));
dataColumns.push([s].concat(scatterData.y[s]));
}
params.data.xs = xs;
params.data.columns = dataColumns;
params.axis.x.tick = { params.axis.x.tick = {
fit: false fit: false
}; };
params.data.json = dataArray; if (numSeries === 1) {
params.data.keys = { params.legend = {
value: [hAxisTitle, vAxisTitle] show: false
}; };
params.legend = { }
show: false
};
params.tooltip.format = { params.tooltip.format = {
title: function() { title: function() {
return fullAggName; return fullAggName;
...@@ -142,27 +215,74 @@ ...@@ -142,27 +215,74 @@
name: function() { name: function() {
return ""; return "";
}, },
value: function(a, b, c, d) { value: function(a, b, c, d, e) {
return dataArray[d].tooltip; var ref4;
ref4 = e[0], series = ref4.name, y = ref4.value, x = ref4.x;
return formatter(scatterData.t[series][x][y]);
} }
}; };
} else { } else {
params.axis.x.type = 'category'; params.axis.x.type = 'category';
params.axis.x.categories = headers; if ((base7 = params.axis.y.tick).format == null) {
params.data.columns = columns; base7.format = function(v) {
} return formatter(v);
if (chartOpts.stacked != null) { };
params.data.groups = [ }
(function() { params.tooltip.format = {
var k, len2, results; value: function(v) {
return formatter(v);
}
};
if (chartOpts.horizontal) {
categories = (function() {
var len5, n, results;
results = []; results = [];
for (k = 0, len2 = rowKeys.length; k < len2; k++) { for (n = 0, len5 = columns.length; n < len5; n++) {
x = rowKeys[k]; c = columns[n];
results.push(x.join("-")); results.push(c.shift());
} }
return results; return results;
})() })();
]; if (categories.length === 1 && categories[0] === fullAggName) {
categories = [""];
}
params.axis.x.categories = categories;
if (headers.length === 1 && headers[0] === "") {
headers = [fullAggName];
}
columns.unshift(headers);
params.data.rows = columns;
} else {
params.axis.x.categories = headers;
params.data.columns = columns;
}
}
if (chartOpts.stacked) {
if (chartOpts.horizontal) {
params.data.groups = [
(function() {
var len5, n, results;
results = [];
for (n = 0, len5 = colKeys.length; n < len5; n++) {
x = colKeys[n];
results.push(x.join("-"));
}
return results;
})()
];
} else {
params.data.groups = [
(function() {
var len5, n, results;
results = [];
for (n = 0, len5 = rowKeys.length; n < len5; n++) {
x = rowKeys[n];
results.push(x.join("-"));
}
return results;
})()
];
}
} }
renderArea = $("<div>", { renderArea = $("<div>", {
style: "display:none;" style: "display:none;"
...@@ -172,11 +292,19 @@ ...@@ -172,11 +292,19 @@
c3.generate(params); c3.generate(params);
result.detach(); result.detach();
renderArea.remove(); renderArea.remove();
return result; return $("<div>").append(title, result);
}; };
}; };
return $.pivotUtilities.c3_renderers = { return $.pivotUtilities.c3_renderers = {
"Line Chart": makeC3Chart(), "Horizontal Bar Chart": makeC3Chart({
type: "bar",
horizontal: true
}),
"Horizontal Stacked Bar Chart": makeC3Chart({
type: "bar",
stacked: true,
horizontal: true
}),
"Bar Chart": makeC3Chart({ "Bar Chart": makeC3Chart({
type: "bar" type: "bar"
}), }),
...@@ -184,6 +312,7 @@ ...@@ -184,6 +312,7 @@
type: "bar", type: "bar",
stacked: true stacked: true
}), }),
"Line Chart": makeC3Chart(),
"Area Chart": makeC3Chart({ "Area Chart": makeC3Chart({
type: "area", type: "area",
stacked: true stacked: true
...@@ -196,4 +325,4 @@ ...@@ -196,4 +325,4 @@
}).call(this); }).call(this);
//# sourceMappingURL=c3_renderers.js.map //# sourceMappingURL=c3_renderers.js.map
\ No newline at end of file
{"version":3,"sources":["c3_renderers.coffee"],"names":[],"mappings":"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","file":"c3_renderers.js","sourceRoot":"/source/","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n\n makeC3Chart = (chartOpts = {}) -> (pivotData, opts) ->\n defaults =\n localeStrings:\n vs: \"vs\"\n by: \"by\"\n c3:\n width: -> window.innerWidth / 1.4\n height: -> window.innerHeight / 1.4\n\n opts = $.extend defaults, opts\n chartOpts.type ?= \"line\"\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n\n headers = (h.join(\"-\") for h in colKeys)\n\n fullAggName = pivotData.aggregatorName \n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n\n if chartOpts.type == \"scatter\"\n dataArray = []\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n vAxisTitle = pivotData.rowAttrs.join(\"-\")\n for y, tree2 of pivotData.tree\n for x, agg of tree2\n datum = {}\n datum[hAxisTitle] = parseFloat(x)\n datum[vAxisTitle] = parseFloat(y)\n datum[\"tooltip\"] = agg.format(agg.value())\n dataArray.push datum\n else\n columns = []\n for rowKey in rowKeys\n rowHeader = rowKey.join(\"-\")\n row = [if rowHeader == \"\" then pivotData.aggregatorName else rowHeader]\n for colKey in colKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n val = agg.value()\n if $.isNumeric val\n if val < 1\n row.push parseFloat(val.toPrecision(3))\n else\n row.push parseFloat(val.toFixed(3))\n else\n row.push val\n\n else row.push null\n columns.push row\n\n\n vAxisTitle = pivotData.aggregatorName+ \n if pivotData.valAttrs.length then \"(#{pivotData.valAttrs.join(\", \")})\" else \"\"\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n\n params = \n size:\n height: opts.c3.height()\n width: opts.c3.width()\n axis: \n y: label: vAxisTitle\n x: label: hAxisTitle\n data: \n type: chartOpts.type\n tooltip:\n grouped: false\n\n if chartOpts.type == \"scatter\"\n params.data.x = hAxisTitle\n params.axis.x.tick = fit: false\n params.data.json = dataArray\n params.data.keys = value: [hAxisTitle,vAxisTitle]\n params.legend = show: false \n params.tooltip.format = \n title: -> fullAggName\n name: -> \"\"\n value: (a,b,c,d) -> dataArray[d].tooltip\n else\n params.axis.x.type= 'category'\n params.axis.x.categories = headers\n params.data.columns = columns\n\n\n if chartOpts.stacked?\n params.data.groups = [x.join(\"-\") for x in rowKeys]\n renderArea = $(\"<div>\", style: \"display:none;\").appendTo $(\"body\")\n result = $(\"<div>\").appendTo renderArea\n params.bindto = result[0]\n c3.generate params\n result.detach()\n renderArea.remove()\n return result\n\n $.pivotUtilities.c3_renderers = \n \"Line Chart\": makeC3Chart()\n \"Bar Chart\": makeC3Chart(type: \"bar\")\n \"Stacked Bar Chart\": makeC3Chart(type: \"bar\", stacked: true)\n \"Area Chart\": makeC3Chart(type: \"area\", stacked: true)\n \"Scatter Chart\": makeC3Chart(type: \"scatter\")\n"]} {"version":3,"file":"c3_renderers.js","sources":["c3_renderers.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\"), require(\"c3\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\", \"c3\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery, c3\n\ncallWithJQuery ($, c3) ->\n\n makeC3Chart = (chartOpts = {}) -> (pivotData, opts) ->\n defaults =\n localeStrings: {vs: \"vs\", by: \"by\"}\n c3: {}\n\n opts = $.extend(true, {}, defaults, opts)\n opts.c3.size ?= {}\n opts.c3.size.width ?= window.innerWidth / 1.4\n opts.c3.size.height ?= window.innerHeight / 1.4 - 50\n chartOpts.type ?= \"line\"\n chartOpts.horizontal ?= false\n chartOpts.stacked ?= false\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n\n headers = (h.join(\"-\") for h in colKeys)\n rotationAngle = 0\n\n fullAggName = pivotData.aggregatorName\n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n\n if chartOpts.type == \"scatter\"\n scatterData = x:{}, y:{}, t:{}\n attrs = pivotData.rowAttrs.concat(pivotData.colAttrs)\n vAxisTitle = attrs[0] ? \"\"\n hAxisTitle = attrs[1] ? \"\"\n groupByTitle = attrs.slice(2).join(\"-\")\n titleText = vAxisTitle\n titleText += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n titleText += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n for rowKey in rowKeys\n for colKey in colKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n vals = rowKey.concat(colKey)\n series = vals.slice(2).join(\"-\")\n if series == \"\" then series = \"series\"\n scatterData.x[series] ?= []\n scatterData.y[series] ?= []\n y = vals[0] ? 0\n x = vals[1] ? 0\n scatterData.y[series].push y\n scatterData.x[series].push x\n scatterData.t[series] ?= {}\n scatterData.t[series][x] ?= {}\n scatterData.t[series][x][y] = agg.value()\n else\n numCharsInHAxis = 0\n for x in headers\n numCharsInHAxis += x.length\n if numCharsInHAxis > 50\n rotationAngle = 45\n\n columns = []\n for rowKey in rowKeys\n rowHeader = rowKey.join(\"-\")\n row = [if rowHeader == \"\" then fullAggName else rowHeader]\n for colKey in colKeys\n val = parseFloat pivotData.getAggregator(rowKey, colKey).value()\n if isFinite(val)\n row.push(val)\n else\n row.push(null)\n columns.push row\n\n vAxisTitle = fullAggName\n\n if chartOpts.horizontal\n hAxisTitle = pivotData.rowAttrs.join(\"-\")\n groupByTitle = pivotData.colAttrs.join(\"-\")\n else\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n groupByTitle = pivotData.rowAttrs.join(\"-\")\n titleText = fullAggName\n titleText += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n titleText += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n\n title = $(\"<p>\", {style: \"text-align: center; font-weight: bold\"})\n title.text(titleText)\n\n formatter = pivotData.getAggregator([], []).format\n\n params =\n axis:\n rotated: chartOpts.horizontal\n y:\n label: vAxisTitle\n tick: {}\n x:\n label: hAxisTitle\n tick:\n rotate: rotationAngle\n multiline: false\n data:\n type: chartOpts.type\n order: null\n tooltip:\n grouped: false\n color:\n pattern: [ \"#3366cc\", \"#dc3912\", \"#ff9900\", \"#109618\",\n \"#990099\", \"#0099c6\", \"#dd4477\", \"#66aa00\",\n \"#b82e2e\", \"#316395\", \"#994499\", \"#22aa99\",\n \"#aaaa11\", \"#6633cc\", \"#e67300\", \"#8b0707\",\n \"#651067\", \"#329262\", \"#5574a6\", \"#3b3eac\" ]\n\n\n params = $.extend(true, {}, params, opts.c3)\n if chartOpts.type == \"scatter\"\n xs = {}\n numSeries = 0\n dataColumns = []\n for s of scatterData.x\n numSeries += 1\n xs[s] = s+\"_x\"\n dataColumns.push [s+\"_x\"].concat(scatterData.x[s])\n dataColumns.push [s].concat(scatterData.y[s])\n params.data.xs = xs\n params.data.columns = dataColumns\n params.axis.x.tick = fit: false\n if numSeries == 1\n params.legend = show: false\n params.tooltip.format =\n title: -> fullAggName\n name: -> \"\"\n value: (a,b,c,d,e) ->\n {name: series, value: y, x} = e[0]\n formatter(scatterData.t[series][x][y])\n else\n params.axis.x.type= 'category'\n params.axis.y.tick.format ?= (v) -> formatter(v)\n params.tooltip.format = value: (v) -> formatter(v)\n\n if chartOpts.horizontal\n categories = (c.shift() for c in columns)\n if categories.length == 1 and categories[0] == fullAggName\n categories = [\"\"]\n params.axis.x.categories = categories\n if headers.length == 1 and headers[0] == \"\"\n headers = [fullAggName]\n columns.unshift(headers)\n params.data.rows = columns\n else\n params.axis.x.categories = headers\n params.data.columns = columns\n\n\n if chartOpts.stacked\n if chartOpts.horizontal\n params.data.groups = [x.join(\"-\") for x in colKeys]\n else\n params.data.groups = [x.join(\"-\") for x in rowKeys]\n\n renderArea = $(\"<div>\", style: \"display:none;\").appendTo $(\"body\")\n result = $(\"<div>\").appendTo renderArea\n params.bindto = result[0]\n c3.generate params\n result.detach()\n renderArea.remove()\n return $(\"<div>\").append title, result\n\n $.pivotUtilities.c3_renderers =\n \"Horizontal Bar Chart\": makeC3Chart(type: \"bar\", horizontal: true)\n \"Horizontal Stacked Bar Chart\": makeC3Chart(type: \"bar\", stacked: true, horizontal: true)\n \"Bar Chart\": makeC3Chart(type: \"bar\")\n \"Stacked Bar Chart\": makeC3Chart(type: \"bar\", stacked: true)\n \"Line Chart\": makeC3Chart()\n \"Area Chart\": makeC3Chart(type: \"area\", stacked: true)\n \"Scatter Chart\": makeC3Chart(type: \"scatter\")\n"]}
\ No newline at end of file \ No newline at end of file
(function(){var t;(t=function(t){return"object"==typeof exports&&"object"==typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){var e;return e=function(e){return null==e&&(e={}),function(r,n){var a,o,i,l,u,s,c,p,h,d,g,f,y,v,j,x,m,b,w,A,k,C,F,N,q,S,B,K;if(c={localeStrings:{vs:"vs",by:"by"},c3:{width:function(){return window.innerWidth/1.4},height:function(){return window.innerHeight/1.4}}},n=t.extend(c,n),null==e.type&&(e.type="line"),F=r.getRowKeys(),0===F.length&&F.push([]),i=r.getColKeys(),0===i.length&&i.push([]),g=function(){var t,e,r;for(r=[],t=0,e=i.length;e>t;t++)h=i[t],r.push(h.join("-"));return r}(),p=r.aggregatorName,r.valAttrs.length&&(p+="("+r.valAttrs.join(", ")+")"),"scatter"===e.type){u=[],d=r.colAttrs.join("-"),q=r.rowAttrs.join("-"),m=r.tree;for(K in m){N=m[K];for(B in N)a=N[B],s={},s[d]=parseFloat(B),s[q]=parseFloat(K),s.tooltip=a.format(a.value()),u.push(s)}}else{for(l=[],f=0,v=F.length;v>f;f++){for(C=F[f],k=C.join("-"),A=[""===k?r.aggregatorName:k],y=0,j=i.length;j>y;y++)o=i[y],a=r.getAggregator(C,o),null!=a.value()?(S=a.value(),A.push(t.isNumeric(S)?1>S?parseFloat(S.toPrecision(3)):parseFloat(S.toFixed(3)):S)):A.push(null);l.push(A)}q=r.aggregatorName+(r.valAttrs.length?"("+r.valAttrs.join(", ")+")":""),d=r.colAttrs.join("-")}return x={size:{height:n.c3.height(),width:n.c3.width()},axis:{y:{label:q},x:{label:d}},data:{type:e.type},tooltip:{grouped:!1}},"scatter"===e.type?(x.data.x=d,x.axis.x.tick={fit:!1},x.data.json=u,x.data.keys={value:[d,q]},x.legend={show:!1},x.tooltip.format={title:function(){return p},name:function(){return""},value:function(t,e,r,n){return u[n].tooltip}}):(x.axis.x.type="category",x.axis.x.categories=g,x.data.columns=l),null!=e.stacked&&(x.data.groups=[function(){var t,e,r;for(r=[],t=0,e=F.length;e>t;t++)B=F[t],r.push(B.join("-"));return r}()]),b=t("<div>",{style:"display:none;"}).appendTo(t("body")),w=t("<div>").appendTo(b),x.bindto=w[0],c3.generate(x),w.detach(),b.remove(),w}},t.pivotUtilities.c3_renderers={"Line Chart":e(),"Bar Chart":e({type:"bar"}),"Stacked Bar Chart":e({type:"bar",stacked:!0}),"Area Chart":e({type:"area",stacked:!0}),"Scatter Chart":e({type:"scatter"})}})}).call(this); (function(){var t;(t=function(t){return"object"==typeof exports&&"object"==typeof module?t(require("jquery"),require("c3")):"function"==typeof define&&define.amd?define(["jquery","c3"],t):t(jQuery,c3)})(function(t,e){var n;return n=function(n){return null==n&&(n={}),function(r,a){var o,l,i,u,s,c,h,g,p,d,f,y,v,x,b,j,m,z,w,k,A,C,S,q,B,H,_,F,K,T,L,N,Q,R,U,W,D,E,G,I,J,M,O,P,V,X,Y,Z,$,tt,et,nt,rt,at,ot,lt,it,ut;if(m={localeStrings:{vs:"vs",by:"by"},c3:{}},a=t.extend(!0,{},m,a),null==(i=a.c3).size&&(i.size={}),null==(u=a.c3.size).width&&(u.width=window.innerWidth/1.4),null==(s=a.c3.size).height&&(s.height=window.innerHeight/1.4-50),null==n.type&&(n.type="line"),null==n.horizontal&&(n.horizontal=!1),null==n.stacked&&(n.stacked=!1),Y=r.getRowKeys(),0===Y.length&&Y.push([]),x=r.getColKeys(),0===x.length&&x.push([]),S=function(){var t,e,n;for(n=[],t=0,e=x.length;t<e;t++)A=x[t],n.push(A.join("-"));return n}(),O=0,w=r.aggregatorName,r.valAttrs.length&&(w+="("+r.valAttrs.join(", ")+")"),"scatter"===n.type)for($={x:{},y:{},t:{}},l=r.rowAttrs.concat(r.colAttrs),rt=null!=(D=l[0])?D:"",C=null!=(E=l[1])?E:"",k=l.slice(2).join("-"),nt=rt,""!==C&&(nt+=" "+a.localeStrings.vs+" "+C),""!==k&&(nt+=" "+a.localeStrings.by+" "+k),q=0,F=Y.length;q<F;q++)for(X=Y[q],B=0,K=x.length;B<K;B++)v=x[B],o=r.getAggregator(X,v),null!=o.value()&&(ot=X.concat(v),tt=ot.slice(2).join("-"),""===tt&&(tt="series"),null==(c=$.x)[tt]&&(c[tt]=[]),null==(h=$.y)[tt]&&(h[tt]=[]),ut=null!=(G=ot[0])?G:0,lt=null!=(I=ot[1])?I:0,$.y[tt].push(ut),$.x[tt].push(lt),null==(g=$.t)[tt]&&(g[tt]={}),null==(p=$.t[tt])[lt]&&(p[lt]={}),$.t[tt][lt][ut]=o.value());else{for(R=0,H=0,T=S.length;H<T;H++)lt=S[H],R+=lt.length;for(R>50&&(O=45),b=[],_=0,L=Y.length;_<L;_++){for(X=Y[_],V=X.join("-"),P=[""===V?w:V],Q=0,N=x.length;Q<N;Q++)v=x[Q],at=parseFloat(r.getAggregator(X,v).value()),isFinite(at)?P.push(at):P.push(null);b.push(P)}rt=w,n.horizontal?(C=r.rowAttrs.join("-"),k=r.colAttrs.join("-")):(C=r.colAttrs.join("-"),k=r.rowAttrs.join("-")),nt=w,""!==C&&(nt+=" "+a.localeStrings.vs+" "+C),""!==k&&(nt+=" "+a.localeStrings.by+" "+k)}if(et=t("<p>",{style:"text-align: center; font-weight: bold"}),et.text(nt),z=r.getAggregator([],[]).format,W={axis:{rotated:n.horizontal,y:{label:rt,tick:{}},x:{label:C,tick:{rotate:O,multiline:!1}}},data:{type:n.type,order:null},tooltip:{grouped:!1},color:{pattern:["#3366cc","#dc3912","#ff9900","#109618","#990099","#0099c6","#dd4477","#66aa00","#b82e2e","#316395","#994499","#22aa99","#aaaa11","#6633cc","#e67300","#8b0707","#651067","#329262","#5574a6","#3b3eac"]}},W=t.extend(!0,{},W,a.c3),"scatter"===n.type){it={},U=0,j=[];for(Z in $.x)U+=1,it[Z]=Z+"_x",j.push([Z+"_x"].concat($.x[Z])),j.push([Z].concat($.y[Z]));W.data.xs=it,W.data.columns=j,W.axis.x.tick={fit:!1},1===U&&(W.legend={show:!1}),W.tooltip.format={title:function(){return w},name:function(){return""},value:function(t,e,n,r,a){var o;return o=a[0],tt=o.name,ut=o.value,lt=o.x,z($.t[tt][lt][ut])}}}else W.axis.x.type="category",null==(d=W.axis.y.tick).format&&(d.format=function(t){return z(t)}),W.tooltip.format={value:function(t){return z(t)}},n.horizontal?(y=function(){var t,e,n;for(n=[],e=0,t=b.length;e<t;e++)f=b[e],n.push(f.shift());return n}(),1===y.length&&y[0]===w&&(y=[""]),W.axis.x.categories=y,1===S.length&&""===S[0]&&(S=[w]),b.unshift(S),W.data.rows=b):(W.axis.x.categories=S,W.data.columns=b);return n.stacked&&(n.horizontal?W.data.groups=[function(){var t,e,n;for(n=[],e=0,t=x.length;e<t;e++)lt=x[e],n.push(lt.join("-"));return n}()]:W.data.groups=[function(){var t,e,n;for(n=[],e=0,t=Y.length;e<t;e++)lt=Y[e],n.push(lt.join("-"));return n}()]),J=t("<div>",{style:"display:none;"}).appendTo(t("body")),M=t("<div>").appendTo(J),W.bindto=M[0],e.generate(W),M.detach(),J.remove(),t("<div>").append(et,M)}},t.pivotUtilities.c3_renderers={"Horizontal Bar Chart":n({type:"bar",horizontal:!0}),"Horizontal Stacked Bar Chart":n({type:"bar",stacked:!0,horizontal:!0}),"Bar Chart":n({type:"bar"}),"Stacked Bar Chart":n({type:"bar",stacked:!0}),"Line Chart":n(),"Area Chart":n({type:"area",stacked:!0}),"Scatter Chart":n({type:"scatter"})}})}).call(this);
//# sourceMappingURL=c3_renderers.min.js.map //# sourceMappingURL=c3_renderers.min.js.map
\ No newline at end of file
{"version":3,"sources":["/source/c3_renderers.coffee","c3_renderers.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","makeC3Chart","chartOpts","pivotData","opts","agg","colKey","colKeys","columns","dataArray","datum","defaults","fullAggName","h","hAxisTitle","headers","i","j","len","len1","params","ref","renderArea","result","row","rowHeader","rowKey","rowKeys","tree2","vAxisTitle","val","x","y","localeStrings","vs","by","c3","width","window","innerWidth","height","innerHeight","extend","type","getRowKeys","length","push","getColKeys","results","join","aggregatorName","valAttrs","colAttrs","rowAttrs","tree","parseFloat","format","value","getAggregator","isNumeric","toPrecision","toFixed","size","axis","label","data","tooltip","grouped","tick","fit","json","keys","legend","show","title","name","a","b","c","d","categories","stacked","groups","k","len2","style","appendTo","bindto","generate","detach","remove","pivotUtilities","c3_renderers","Line Chart","Bar Chart","Stacked Bar Chart","Area Chart","Scatter Chart","call","this"],"mappings":"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","file":"c3_renderers.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n\n makeC3Chart = (chartOpts = {}) -> (pivotData, opts) ->\n defaults =\n localeStrings:\n vs: \"vs\"\n by: \"by\"\n c3:\n width: -> window.innerWidth / 1.4\n height: -> window.innerHeight / 1.4\n\n opts = $.extend defaults, opts\n chartOpts.type ?= \"line\"\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n\n headers = (h.join(\"-\") for h in colKeys)\n\n fullAggName = pivotData.aggregatorName \n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n\n if chartOpts.type == \"scatter\"\n dataArray = []\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n vAxisTitle = pivotData.rowAttrs.join(\"-\")\n for y, tree2 of pivotData.tree\n for x, agg of tree2\n datum = {}\n datum[hAxisTitle] = parseFloat(x)\n datum[vAxisTitle] = parseFloat(y)\n datum[\"tooltip\"] = agg.format(agg.value())\n dataArray.push datum\n else\n columns = []\n for rowKey in rowKeys\n rowHeader = rowKey.join(\"-\")\n row = [if rowHeader == \"\" then pivotData.aggregatorName else rowHeader]\n for colKey in colKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n val = agg.value()\n if $.isNumeric val\n if val < 1\n row.push parseFloat(val.toPrecision(3))\n else\n row.push parseFloat(val.toFixed(3))\n else\n row.push val\n\n else row.push null\n columns.push row\n\n\n vAxisTitle = pivotData.aggregatorName+ \n if pivotData.valAttrs.length then \"(#{pivotData.valAttrs.join(\", \")})\" else \"\"\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n\n params = \n size:\n height: opts.c3.height()\n width: opts.c3.width()\n axis: \n y: label: vAxisTitle\n x: label: hAxisTitle\n data: \n type: chartOpts.type\n tooltip:\n grouped: false\n\n if chartOpts.type == \"scatter\"\n params.data.x = hAxisTitle\n params.axis.x.tick = fit: false\n params.data.json = dataArray\n params.data.keys = value: [hAxisTitle,vAxisTitle]\n params.legend = show: false \n params.tooltip.format = \n title: -> fullAggName\n name: -> \"\"\n value: (a,b,c,d) -> dataArray[d].tooltip\n else\n params.axis.x.type= 'category'\n params.axis.x.categories = headers\n params.data.columns = columns\n\n\n if chartOpts.stacked?\n params.data.groups = [x.join(\"-\") for x in rowKeys]\n renderArea = $(\"<div>\", style: \"display:none;\").appendTo $(\"body\")\n result = $(\"<div>\").appendTo renderArea\n params.bindto = result[0]\n c3.generate params\n result.detach()\n renderArea.remove()\n return result\n\n $.pivotUtilities.c3_renderers = \n \"Line Chart\": makeC3Chart()\n \"Bar Chart\": makeC3Chart(type: \"bar\")\n \"Stacked Bar Chart\": makeC3Chart(type: \"bar\", stacked: true)\n \"Area Chart\": makeC3Chart(type: \"area\", stacked: true)\n \"Scatter Chart\": makeC3Chart(type: \"scatter\")\n","(function(){var t;(t=function(t){return\"object\"==typeof exports&&\"object\"==typeof module?t(require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"jquery\"],t):t(jQuery)})(function(t){var e;return e=function(e){return null==e&&(e={}),function(r,n){var a,o,i,l,u,s,c,p,h,d,g,f,y,v,j,x,m,b,w,A,k,C,F,N,q,S,B,K;if(c={localeStrings:{vs:\"vs\",by:\"by\"},c3:{width:function(){return window.innerWidth/1.4},height:function(){return window.innerHeight/1.4}}},n=t.extend(c,n),null==e.type&&(e.type=\"line\"),F=r.getRowKeys(),0===F.length&&F.push([]),i=r.getColKeys(),0===i.length&&i.push([]),g=function(){var t,e,r;for(r=[],t=0,e=i.length;e>t;t++)h=i[t],r.push(h.join(\"-\"));return r}(),p=r.aggregatorName,r.valAttrs.length&&(p+=\"(\"+r.valAttrs.join(\", \")+\")\"),\"scatter\"===e.type){u=[],d=r.colAttrs.join(\"-\"),q=r.rowAttrs.join(\"-\"),m=r.tree;for(K in m){N=m[K];for(B in N)a=N[B],s={},s[d]=parseFloat(B),s[q]=parseFloat(K),s.tooltip=a.format(a.value()),u.push(s)}}else{for(l=[],f=0,v=F.length;v>f;f++){for(C=F[f],k=C.join(\"-\"),A=[\"\"===k?r.aggregatorName:k],y=0,j=i.length;j>y;y++)o=i[y],a=r.getAggregator(C,o),null!=a.value()?(S=a.value(),A.push(t.isNumeric(S)?1>S?parseFloat(S.toPrecision(3)):parseFloat(S.toFixed(3)):S)):A.push(null);l.push(A)}q=r.aggregatorName+(r.valAttrs.length?\"(\"+r.valAttrs.join(\", \")+\")\":\"\"),d=r.colAttrs.join(\"-\")}return x={size:{height:n.c3.height(),width:n.c3.width()},axis:{y:{label:q},x:{label:d}},data:{type:e.type},tooltip:{grouped:!1}},\"scatter\"===e.type?(x.data.x=d,x.axis.x.tick={fit:!1},x.data.json=u,x.data.keys={value:[d,q]},x.legend={show:!1},x.tooltip.format={title:function(){return p},name:function(){return\"\"},value:function(t,e,r,n){return u[n].tooltip}}):(x.axis.x.type=\"category\",x.axis.x.categories=g,x.data.columns=l),null!=e.stacked&&(x.data.groups=[function(){var t,e,r;for(r=[],t=0,e=F.length;e>t;t++)B=F[t],r.push(B.join(\"-\"));return r}()]),b=t(\"<div>\",{style:\"display:none;\"}).appendTo(t(\"body\")),w=t(\"<div>\").appendTo(b),x.bindto=w[0],c3.generate(x),w.detach(),b.remove(),w}},t.pivotUtilities.c3_renderers={\"Line Chart\":e(),\"Bar Chart\":e({type:\"bar\"}),\"Stacked Bar Chart\":e({type:\"bar\",stacked:!0}),\"Area Chart\":e({type:\"area\",stacked:!0}),\"Scatter Chart\":e({type:\"scatter\"})}})}).call(this);\n//# sourceMappingURL=c3_renderers.min.js.map"],"sourceRoot":"/source/"} {"version":3,"sources":["c3_renderers.coffee","c3_renderers.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","c3","$","makeC3Chart","chartOpts","pivotData","opts","agg","attrs","base","base1","base2","base3","base4","base5","base6","base7","c","categories","colKey","colKeys","columns","dataColumns","defaults","formatter","fullAggName","groupByTitle","h","hAxisTitle","headers","i","j","k","l","len","len1","len2","len3","len4","m","numCharsInHAxis","numSeries","params","ref","ref1","ref2","ref3","renderArea","result","rotationAngle","row","rowHeader","rowKey","rowKeys","s","scatterData","series","title","titleText","vAxisTitle","val","vals","x","xs","y","localeStrings","vs","by","extend","size","width","window","innerWidth","height","innerHeight","type","horizontal","stacked","getRowKeys","length","push","getColKeys","results","join","aggregatorName","valAttrs","t","rowAttrs","concat","colAttrs","slice","getAggregator","value","parseFloat","isFinite","style","text","format","axis","rotated","label","tick","rotate","multiline","data","order","tooltip","grouped","color","pattern","fit","legend","show","name","a","b","d","e","ref4","v","len5","n","shift","unshift","rows","groups","appendTo","bindto","generate","detach","remove","append","pivotUtilities","c3_renderers","Horizontal Bar Chart","Horizontal Stacked Bar Chart","Bar Chart","Stacked Bar Chart","Line Chart","Area Chart","Scatter Chart","call","this"],"mappings":"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","file":"c3_renderers.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\"), require(\"c3\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\", \"c3\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery, c3\n\ncallWithJQuery ($, c3) ->\n\n makeC3Chart = (chartOpts = {}) -> (pivotData, opts) ->\n defaults =\n localeStrings: {vs: \"vs\", by: \"by\"}\n c3: {}\n\n opts = $.extend(true, {}, defaults, opts)\n opts.c3.size ?= {}\n opts.c3.size.width ?= window.innerWidth / 1.4\n opts.c3.size.height ?= window.innerHeight / 1.4 - 50\n chartOpts.type ?= \"line\"\n chartOpts.horizontal ?= false\n chartOpts.stacked ?= false\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n\n headers = (h.join(\"-\") for h in colKeys)\n rotationAngle = 0\n\n fullAggName = pivotData.aggregatorName\n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n\n if chartOpts.type == \"scatter\"\n scatterData = x:{}, y:{}, t:{}\n attrs = pivotData.rowAttrs.concat(pivotData.colAttrs)\n vAxisTitle = attrs[0] ? \"\"\n hAxisTitle = attrs[1] ? \"\"\n groupByTitle = attrs.slice(2).join(\"-\")\n titleText = vAxisTitle\n titleText += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n titleText += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n for rowKey in rowKeys\n for colKey in colKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n vals = rowKey.concat(colKey)\n series = vals.slice(2).join(\"-\")\n if series == \"\" then series = \"series\"\n scatterData.x[series] ?= []\n scatterData.y[series] ?= []\n y = vals[0] ? 0\n x = vals[1] ? 0\n scatterData.y[series].push y\n scatterData.x[series].push x\n scatterData.t[series] ?= {}\n scatterData.t[series][x] ?= {}\n scatterData.t[series][x][y] = agg.value()\n else\n numCharsInHAxis = 0\n for x in headers\n numCharsInHAxis += x.length\n if numCharsInHAxis > 50\n rotationAngle = 45\n\n columns = []\n for rowKey in rowKeys\n rowHeader = rowKey.join(\"-\")\n row = [if rowHeader == \"\" then fullAggName else rowHeader]\n for colKey in colKeys\n val = parseFloat pivotData.getAggregator(rowKey, colKey).value()\n if isFinite(val)\n row.push(val)\n else\n row.push(null)\n columns.push row\n\n vAxisTitle = fullAggName\n\n if chartOpts.horizontal\n hAxisTitle = pivotData.rowAttrs.join(\"-\")\n groupByTitle = pivotData.colAttrs.join(\"-\")\n else\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n groupByTitle = pivotData.rowAttrs.join(\"-\")\n titleText = fullAggName\n titleText += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n titleText += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n\n title = $(\"<p>\", {style: \"text-align: center; font-weight: bold\"})\n title.text(titleText)\n\n formatter = pivotData.getAggregator([], []).format\n\n params =\n axis:\n rotated: chartOpts.horizontal\n y:\n label: vAxisTitle\n tick: {}\n x:\n label: hAxisTitle\n tick:\n rotate: rotationAngle\n multiline: false\n data:\n type: chartOpts.type\n order: null\n tooltip:\n grouped: false\n color:\n pattern: [ \"#3366cc\", \"#dc3912\", \"#ff9900\", \"#109618\",\n \"#990099\", \"#0099c6\", \"#dd4477\", \"#66aa00\",\n \"#b82e2e\", \"#316395\", \"#994499\", \"#22aa99\",\n \"#aaaa11\", \"#6633cc\", \"#e67300\", \"#8b0707\",\n \"#651067\", \"#329262\", \"#5574a6\", \"#3b3eac\" ]\n\n\n params = $.extend(true, {}, params, opts.c3)\n if chartOpts.type == \"scatter\"\n xs = {}\n numSeries = 0\n dataColumns = []\n for s of scatterData.x\n numSeries += 1\n xs[s] = s+\"_x\"\n dataColumns.push [s+\"_x\"].concat(scatterData.x[s])\n dataColumns.push [s].concat(scatterData.y[s])\n params.data.xs = xs\n params.data.columns = dataColumns\n params.axis.x.tick = fit: false\n if numSeries == 1\n params.legend = show: false\n params.tooltip.format =\n title: -> fullAggName\n name: -> \"\"\n value: (a,b,c,d,e) ->\n {name: series, value: y, x} = e[0]\n formatter(scatterData.t[series][x][y])\n else\n params.axis.x.type= 'category'\n params.axis.y.tick.format ?= (v) -> formatter(v)\n params.tooltip.format = value: (v) -> formatter(v)\n\n if chartOpts.horizontal\n categories = (c.shift() for c in columns)\n if categories.length == 1 and categories[0] == fullAggName\n categories = [\"\"]\n params.axis.x.categories = categories\n if headers.length == 1 and headers[0] == \"\"\n headers = [fullAggName]\n columns.unshift(headers)\n params.data.rows = columns\n else\n params.axis.x.categories = headers\n params.data.columns = columns\n\n\n if chartOpts.stacked\n if chartOpts.horizontal\n params.data.groups = [x.join(\"-\") for x in colKeys]\n else\n params.data.groups = [x.join(\"-\") for x in rowKeys]\n\n renderArea = $(\"<div>\", style: \"display:none;\").appendTo $(\"body\")\n result = $(\"<div>\").appendTo renderArea\n params.bindto = result[0]\n c3.generate params\n result.detach()\n renderArea.remove()\n return $(\"<div>\").append title, result\n\n $.pivotUtilities.c3_renderers =\n \"Horizontal Bar Chart\": makeC3Chart(type: \"bar\", horizontal: true)\n \"Horizontal Stacked Bar Chart\": makeC3Chart(type: \"bar\", stacked: true, horizontal: true)\n \"Bar Chart\": makeC3Chart(type: \"bar\")\n \"Stacked Bar Chart\": makeC3Chart(type: \"bar\", stacked: true)\n \"Line Chart\": makeC3Chart()\n \"Area Chart\": makeC3Chart(type: \"area\", stacked: true)\n \"Scatter Chart\": makeC3Chart(type: \"scatter\")\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"), require(\"c3\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\", \"c3\"], pivotModule);\n } else {\n return pivotModule(jQuery, c3);\n }\n };\n\n callWithJQuery(function($, c3) {\n var makeC3Chart;\n makeC3Chart = function(chartOpts) {\n if (chartOpts == null) {\n chartOpts = {};\n }\n return function(pivotData, opts) {\n var agg, attrs, base, base1, base2, base3, base4, base5, base6, base7, c, categories, colKey, colKeys, columns, dataColumns, defaults, formatter, fullAggName, groupByTitle, h, hAxisTitle, headers, i, j, k, l, len, len1, len2, len3, len4, m, numCharsInHAxis, numSeries, params, ref, ref1, ref2, ref3, renderArea, result, rotationAngle, row, rowHeader, rowKey, rowKeys, s, scatterData, series, title, titleText, vAxisTitle, val, vals, x, xs, y;\n defaults = {\n localeStrings: {\n vs: \"vs\",\n by: \"by\"\n },\n c3: {}\n };\n opts = $.extend(true, {}, defaults, opts);\n if ((base = opts.c3).size == null) {\n base.size = {};\n }\n if ((base1 = opts.c3.size).width == null) {\n base1.width = window.innerWidth / 1.4;\n }\n if ((base2 = opts.c3.size).height == null) {\n base2.height = window.innerHeight / 1.4 - 50;\n }\n if (chartOpts.type == null) {\n chartOpts.type = \"line\";\n }\n if (chartOpts.horizontal == null) {\n chartOpts.horizontal = false;\n }\n if (chartOpts.stacked == null) {\n chartOpts.stacked = false;\n }\n rowKeys = pivotData.getRowKeys();\n if (rowKeys.length === 0) {\n rowKeys.push([]);\n }\n colKeys = pivotData.getColKeys();\n if (colKeys.length === 0) {\n colKeys.push([]);\n }\n headers = (function() {\n var i, len, results;\n results = [];\n for (i = 0, len = colKeys.length; i < len; i++) {\n h = colKeys[i];\n results.push(h.join(\"-\"));\n }\n return results;\n })();\n rotationAngle = 0;\n fullAggName = pivotData.aggregatorName;\n if (pivotData.valAttrs.length) {\n fullAggName += \"(\" + (pivotData.valAttrs.join(\", \")) + \")\";\n }\n if (chartOpts.type === \"scatter\") {\n scatterData = {\n x: {},\n y: {},\n t: {}\n };\n attrs = pivotData.rowAttrs.concat(pivotData.colAttrs);\n vAxisTitle = (ref = attrs[0]) != null ? ref : \"\";\n hAxisTitle = (ref1 = attrs[1]) != null ? ref1 : \"\";\n groupByTitle = attrs.slice(2).join(\"-\");\n titleText = vAxisTitle;\n if (hAxisTitle !== \"\") {\n titleText += \" \" + opts.localeStrings.vs + \" \" + hAxisTitle;\n }\n if (groupByTitle !== \"\") {\n titleText += \" \" + opts.localeStrings.by + \" \" + groupByTitle;\n }\n for (i = 0, len = rowKeys.length; i < len; i++) {\n rowKey = rowKeys[i];\n for (j = 0, len1 = colKeys.length; j < len1; j++) {\n colKey = colKeys[j];\n agg = pivotData.getAggregator(rowKey, colKey);\n if (agg.value() != null) {\n vals = rowKey.concat(colKey);\n series = vals.slice(2).join(\"-\");\n if (series === \"\") {\n series = \"series\";\n }\n if ((base3 = scatterData.x)[series] == null) {\n base3[series] = [];\n }\n if ((base4 = scatterData.y)[series] == null) {\n base4[series] = [];\n }\n y = (ref2 = vals[0]) != null ? ref2 : 0;\n x = (ref3 = vals[1]) != null ? ref3 : 0;\n scatterData.y[series].push(y);\n scatterData.x[series].push(x);\n if ((base5 = scatterData.t)[series] == null) {\n base5[series] = {};\n }\n if ((base6 = scatterData.t[series])[x] == null) {\n base6[x] = {};\n }\n scatterData.t[series][x][y] = agg.value();\n }\n }\n }\n } else {\n numCharsInHAxis = 0;\n for (k = 0, len2 = headers.length; k < len2; k++) {\n x = headers[k];\n numCharsInHAxis += x.length;\n }\n if (numCharsInHAxis > 50) {\n rotationAngle = 45;\n }\n columns = [];\n for (l = 0, len3 = rowKeys.length; l < len3; l++) {\n rowKey = rowKeys[l];\n rowHeader = rowKey.join(\"-\");\n row = [rowHeader === \"\" ? fullAggName : rowHeader];\n for (m = 0, len4 = colKeys.length; m < len4; m++) {\n colKey = colKeys[m];\n val = parseFloat(pivotData.getAggregator(rowKey, colKey).value());\n if (isFinite(val)) {\n row.push(val);\n } else {\n row.push(null);\n }\n }\n columns.push(row);\n }\n vAxisTitle = fullAggName;\n if (chartOpts.horizontal) {\n hAxisTitle = pivotData.rowAttrs.join(\"-\");\n groupByTitle = pivotData.colAttrs.join(\"-\");\n } else {\n hAxisTitle = pivotData.colAttrs.join(\"-\");\n groupByTitle = pivotData.rowAttrs.join(\"-\");\n }\n titleText = fullAggName;\n if (hAxisTitle !== \"\") {\n titleText += \" \" + opts.localeStrings.vs + \" \" + hAxisTitle;\n }\n if (groupByTitle !== \"\") {\n titleText += \" \" + opts.localeStrings.by + \" \" + groupByTitle;\n }\n }\n title = $(\"<p>\", {\n style: \"text-align: center; font-weight: bold\"\n });\n title.text(titleText);\n formatter = pivotData.getAggregator([], []).format;\n params = {\n axis: {\n rotated: chartOpts.horizontal,\n y: {\n label: vAxisTitle,\n tick: {}\n },\n x: {\n label: hAxisTitle,\n tick: {\n rotate: rotationAngle,\n multiline: false\n }\n }\n },\n data: {\n type: chartOpts.type,\n order: null\n },\n tooltip: {\n grouped: false\n },\n color: {\n pattern: [\"#3366cc\", \"#dc3912\", \"#ff9900\", \"#109618\", \"#990099\", \"#0099c6\", \"#dd4477\", \"#66aa00\", \"#b82e2e\", \"#316395\", \"#994499\", \"#22aa99\", \"#aaaa11\", \"#6633cc\", \"#e67300\", \"#8b0707\", \"#651067\", \"#329262\", \"#5574a6\", \"#3b3eac\"]\n }\n };\n params = $.extend(true, {}, params, opts.c3);\n if (chartOpts.type === \"scatter\") {\n xs = {};\n numSeries = 0;\n dataColumns = [];\n for (s in scatterData.x) {\n numSeries += 1;\n xs[s] = s + \"_x\";\n dataColumns.push([s + \"_x\"].concat(scatterData.x[s]));\n dataColumns.push([s].concat(scatterData.y[s]));\n }\n params.data.xs = xs;\n params.data.columns = dataColumns;\n params.axis.x.tick = {\n fit: false\n };\n if (numSeries === 1) {\n params.legend = {\n show: false\n };\n }\n params.tooltip.format = {\n title: function() {\n return fullAggName;\n },\n name: function() {\n return \"\";\n },\n value: function(a, b, c, d, e) {\n var ref4;\n ref4 = e[0], series = ref4.name, y = ref4.value, x = ref4.x;\n return formatter(scatterData.t[series][x][y]);\n }\n };\n } else {\n params.axis.x.type = 'category';\n if ((base7 = params.axis.y.tick).format == null) {\n base7.format = function(v) {\n return formatter(v);\n };\n }\n params.tooltip.format = {\n value: function(v) {\n return formatter(v);\n }\n };\n if (chartOpts.horizontal) {\n categories = (function() {\n var len5, n, results;\n results = [];\n for (n = 0, len5 = columns.length; n < len5; n++) {\n c = columns[n];\n results.push(c.shift());\n }\n return results;\n })();\n if (categories.length === 1 && categories[0] === fullAggName) {\n categories = [\"\"];\n }\n params.axis.x.categories = categories;\n if (headers.length === 1 && headers[0] === \"\") {\n headers = [fullAggName];\n }\n columns.unshift(headers);\n params.data.rows = columns;\n } else {\n params.axis.x.categories = headers;\n params.data.columns = columns;\n }\n }\n if (chartOpts.stacked) {\n if (chartOpts.horizontal) {\n params.data.groups = [\n (function() {\n var len5, n, results;\n results = [];\n for (n = 0, len5 = colKeys.length; n < len5; n++) {\n x = colKeys[n];\n results.push(x.join(\"-\"));\n }\n return results;\n })()\n ];\n } else {\n params.data.groups = [\n (function() {\n var len5, n, results;\n results = [];\n for (n = 0, len5 = rowKeys.length; n < len5; n++) {\n x = rowKeys[n];\n results.push(x.join(\"-\"));\n }\n return results;\n })()\n ];\n }\n }\n renderArea = $(\"<div>\", {\n style: \"display:none;\"\n }).appendTo($(\"body\"));\n result = $(\"<div>\").appendTo(renderArea);\n params.bindto = result[0];\n c3.generate(params);\n result.detach();\n renderArea.remove();\n return $(\"<div>\").append(title, result);\n };\n };\n return $.pivotUtilities.c3_renderers = {\n \"Horizontal Bar Chart\": makeC3Chart({\n type: \"bar\",\n horizontal: true\n }),\n \"Horizontal Stacked Bar Chart\": makeC3Chart({\n type: \"bar\",\n stacked: true,\n horizontal: true\n }),\n \"Bar Chart\": makeC3Chart({\n type: \"bar\"\n }),\n \"Stacked Bar Chart\": makeC3Chart({\n type: \"bar\",\n stacked: true\n }),\n \"Line Chart\": makeC3Chart(),\n \"Area Chart\": makeC3Chart({\n type: \"area\",\n stacked: true\n }),\n \"Scatter Chart\": makeC3Chart({\n type: \"scatter\"\n })\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=c3_renderers.js.map\n"]}
\ No newline at end of file \ No newline at end of file
...@@ -3,15 +3,15 @@ ...@@ -3,15 +3,15 @@
callWithJQuery = function(pivotModule) { callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") { if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery")); return pivotModule(require("jquery"), require("d3"));
} else if (typeof define === "function" && define.amd) { } else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule); return define(["jquery", "d3"], pivotModule);
} else { } else {
return pivotModule(jQuery); return pivotModule(jQuery, d3);
} }
}; };
callWithJQuery(function($) { callWithJQuery(function($, d3) {
return $.pivotUtilities.d3_renderers = { return $.pivotUtilities.d3_renderers = {
Treemap: function(pivotData, opts) { Treemap: function(pivotData, opts) {
var addToTree, color, defaults, height, i, len, ref, result, rowKey, tree, treemap, value, width; var addToTree, color, defaults, height, i, len, ref, result, rowKey, tree, treemap, value, width;
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
} }
} }
}; };
opts = $.extend(defaults, opts); opts = $.extend(true, {}, defaults, opts);
result = $("<div>").css({ result = $("<div>").css({
width: "100%", width: "100%",
height: "100%" height: "100%"
...@@ -102,4 +102,4 @@ ...@@ -102,4 +102,4 @@
}).call(this); }).call(this);
//# sourceMappingURL=d3_renderers.js.map //# sourceMappingURL=d3_renderers.js.map
\ No newline at end of file
{"version":3,"sources":["d3_renderers.coffee"],"names":[],"mappings":"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","file":"d3_renderers.js","sourceRoot":"/source/","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n\n $.pivotUtilities.d3_renderers = Treemap: (pivotData, opts) ->\n defaults =\n localeStrings: {}\n d3:\n width: -> $(window).width() / 1.4\n height: -> $(window).height() / 1.4\n\n opts = $.extend defaults, opts\n\n\n result = $(\"<div>\").css(width: \"100%\", height: \"100%\")\n\n tree = name: \"All\", children: []\n addToTree = (tree, path, value) ->\n if path.length == 0\n tree.value = value\n return\n tree.children ?= []\n x = path.shift()\n for child in tree.children when child.name == x\n addToTree(child, path, value)\n return\n newChild = name: x\n addToTree(newChild, path, value)\n tree.children.push newChild\n\n for rowKey in pivotData.getRowKeys()\n value = pivotData.getAggregator(rowKey, []).value()\n if value?\n addToTree(tree, rowKey, value)\n\n color = d3.scale.category10()\n width = opts.d3.width()\n height = opts.d3.height()\n\n treemap = d3.layout.treemap()\n .size([width, height])\n .sticky(true)\n .value( (d) -> d.size )\n\n d3.select(result[0])\n .append(\"div\")\n .style(\"position\", \"relative\")\n .style(\"width\", width + \"px\")\n .style(\"height\", height + \"px\")\n .datum(tree).selectAll(\".node\")\n .data(treemap.padding([15,0,0,0]).value( (d) -> d.value ).nodes)\n .enter().append(\"div\")\n .attr(\"class\", \"node\")\n .style(\"background\", (d) -> if d.children? then \"lightgrey\" else color(d.name) )\n .text( (d) -> d.name )\n .call ->\n this.style(\"left\", (d) -> d.x+\"px\" )\n .style(\"top\", (d) -> d.y+\"px\" )\n .style(\"width\", (d) -> Math.max(0, d.dx - 1)+\"px\" )\n .style(\"height\",(d) -> Math.max(0, d.dy - 1)+\"px\" )\n return\n \n return result\n \n\n\n"]} {"version":3,"file":"d3_renderers.js","sources":["d3_renderers.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\"), require(\"d3\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\", \"d3\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery, d3\n\ncallWithJQuery ($, d3) ->\n\n $.pivotUtilities.d3_renderers = Treemap: (pivotData, opts) ->\n defaults =\n localeStrings: {}\n d3:\n width: -> $(window).width() / 1.4\n height: -> $(window).height() / 1.4\n\n opts = $.extend(true, {}, defaults, opts)\n\n\n result = $(\"<div>\").css(width: \"100%\", height: \"100%\")\n\n tree = name: \"All\", children: []\n addToTree = (tree, path, value) ->\n if path.length == 0\n tree.value = value\n return\n tree.children ?= []\n x = path.shift()\n for child in tree.children when child.name == x\n addToTree(child, path, value)\n return\n newChild = name: x\n addToTree(newChild, path, value)\n tree.children.push newChild\n\n for rowKey in pivotData.getRowKeys()\n value = pivotData.getAggregator(rowKey, []).value()\n if value?\n addToTree(tree, rowKey, value)\n\n color = d3.scale.category10()\n width = opts.d3.width()\n height = opts.d3.height()\n\n treemap = d3.layout.treemap()\n .size([width, height])\n .sticky(true)\n .value( (d) -> d.size )\n\n d3.select(result[0])\n .append(\"div\")\n .style(\"position\", \"relative\")\n .style(\"width\", width + \"px\")\n .style(\"height\", height + \"px\")\n .datum(tree).selectAll(\".node\")\n .data(treemap.padding([15,0,0,0]).value( (d) -> d.value ).nodes)\n .enter().append(\"div\")\n .attr(\"class\", \"node\")\n .style(\"background\", (d) -> if d.children? then \"lightgrey\" else color(d.name) )\n .text( (d) -> d.name )\n .call ->\n this.style(\"left\", (d) -> d.x+\"px\" )\n .style(\"top\", (d) -> d.y+\"px\" )\n .style(\"width\", (d) -> Math.max(0, d.dx - 1)+\"px\" )\n .style(\"height\",(d) -> Math.max(0, d.dy - 1)+\"px\" )\n return\n\n return result\n\n\n\n"]}
\ No newline at end of file \ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){return e.pivotUtilities.d3_renderers={Treemap:function(t,n){var i,r,u,l,d,o,a,c,h,f,s,p,y;for(u={localeStrings:{},d3:{width:function(){return e(window).width()/1.4},height:function(){return e(window).height()/1.4}}},n=e.extend(u,n),c=e("<div>").css({width:"100%",height:"100%"}),f={name:"All",children:[]},i=function(e,t,n){var r,u,l,d,o,a;if(0===t.length)return void(e.value=n);for(null==e.children&&(e.children=[]),a=t.shift(),o=e.children,u=0,l=o.length;l>u;u++)if(r=o[u],r.name===a)return void i(r,t,n);return d={name:a},i(d,t,n),e.children.push(d)},a=t.getRowKeys(),d=0,o=a.length;o>d;d++)h=a[d],p=t.getAggregator(h,[]).value(),null!=p&&i(f,h,p);return r=d3.scale.category10(),y=n.d3.width(),l=n.d3.height(),s=d3.layout.treemap().size([y,l]).sticky(!0).value(function(e){return e.size}),d3.select(c[0]).append("div").style("position","relative").style("width",y+"px").style("height",l+"px").datum(f).selectAll(".node").data(s.padding([15,0,0,0]).value(function(e){return e.value}).nodes).enter().append("div").attr("class","node").style("background",function(e){return null!=e.children?"lightgrey":r(e.name)}).text(function(e){return e.name}).call(function(){this.style("left",function(e){return e.x+"px"}).style("top",function(e){return e.y+"px"}).style("width",function(e){return Math.max(0,e.dx-1)+"px"}).style("height",function(e){return Math.max(0,e.dy-1)+"px"})}),c}}})}).call(this); (function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery"),require("d3")):"function"==typeof define&&define.amd?define(["jquery","d3"],e):e(jQuery,d3)})(function(e,t){return e.pivotUtilities.d3_renderers={Treemap:function(n,i){var r,u,l,d,o,a,c,h,f,s,p,y,g;for(l={localeStrings:{},d3:{width:function(){return e(window).width()/1.4},height:function(){return e(window).height()/1.4}}},i=e.extend(!0,{},l,i),h=e("<div>").css({width:"100%",height:"100%"}),s={name:"All",children:[]},r=function(e,t,n){var i,u,l,d,o,a;if(0===t.length)return void(e.value=n);for(null==e.children&&(e.children=[]),a=t.shift(),o=e.children,u=0,l=o.length;u<l;u++)if(i=o[u],i.name===a)return void r(i,t,n);return d={name:a},r(d,t,n),e.children.push(d)},c=n.getRowKeys(),o=0,a=c.length;o<a;o++)f=c[o],y=n.getAggregator(f,[]).value(),null!=y&&r(s,f,y);return u=t.scale.category10(),g=i.d3.width(),d=i.d3.height(),p=t.layout.treemap().size([g,d]).sticky(!0).value(function(e){return e.size}),t.select(h[0]).append("div").style("position","relative").style("width",g+"px").style("height",d+"px").datum(s).selectAll(".node").data(p.padding([15,0,0,0]).value(function(e){return e.value}).nodes).enter().append("div").attr("class","node").style("background",function(e){return null!=e.children?"lightgrey":u(e.name)}).text(function(e){return e.name}).call(function(){this.style("left",function(e){return e.x+"px"}).style("top",function(e){return e.y+"px"}).style("width",function(e){return Math.max(0,e.dx-1)+"px"}).style("height",function(e){return Math.max(0,e.dy-1)+"px"})}),h}}})}).call(this);
//# sourceMappingURL=d3_renderers.min.js.map //# sourceMappingURL=d3_renderers.min.js.map
\ No newline at end of file
{"version":3,"sources":["/source/d3_renderers.coffee","d3_renderers.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","pivotUtilities","d3_renderers","Treemap","pivotData","opts","addToTree","color","defaults","height","i","len","ref","result","rowKey","tree","treemap","value","width","localeStrings","d3","window","extend","css","name","children","path","child","newChild","x","length","shift","push","getRowKeys","getAggregator","scale","category10","layout","size","sticky","d","select","append","style","datum","selectAll","data","padding","nodes","enter","attr","text","call","this","y","Math","max","dx","dy"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAlBC,UAAgD,gBAAjBC,QAC9BF,EAAYG,QAAQ,WACC,kBAAjBC,SAAgCA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GCKZ,MDHAA,GAAEC,eAAeC,cAAeC,QAAS,SAACC,EAAWC,GACjD,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CAyBA,KAzBAV,GACIW,iBACAC,IACIF,MAAO,WCMT,MDNYlB,GAAEqB,QAAQH,QAAU,KAC9BT,OAAQ,WCQV,MDRaT,GAAEqB,QAAQZ,SAAW,OAExCJ,EAAOL,EAAEsB,OAAOd,EAAUH,GAG1BQ,EAASb,EAAE,SAASuB,KAAIL,MAAO,OAAQT,OAAQ,SAE/CM,GAAOS,KAAM,MAAOC,aACpBnB,EAAY,SAACS,EAAMW,EAAMT,GACrB,GAAAU,GAAAjB,EAAAC,EAAAiB,EAAAhB,EAAAiB,CAAA,IAAkB,IAAfH,EAAKI,OAEJ,YADAf,EAAKE,MAAQA,EAIjB,KCamB,MAAjBF,EAAKU,WDfPV,EAAKU,aACLI,EAAIH,EAAKK,QACTnB,EAAAG,EAAAU,SAAAf,EAAA,EAAAC,EAAAC,EAAAkB,OAAAnB,EAAAD,EAAAA,ICoBA,GADAiB,EAAQf,EAAIF,GDnBoBiB,EAAMH,OAAQK,EAE1C,WADAvB,GAAUqB,EAAOD,EAAMT,EC6B7B,OD3BEW,IAAWJ,KAAMK,GACjBvB,EAAUsB,EAAUF,EAAMT,GAC1BF,EAAKU,SAASO,KAAKJ,IAEvBhB,EAAAR,EAAA6B,aAAAvB,EAAA,EAAAC,EAAAC,EAAAkB,OAAAnB,EAAAD,EAAAA,IC2BEI,EAASF,EAAIF,GD1BXO,EAAQb,EAAU8B,cAAcpB,MAAYG,QACzC,MAAAA,GACCX,EAAUS,EAAMD,EAAQG,EA6BhC,OA3BAV,GAAQa,GAAGe,MAAMC,aACjBlB,EAAQb,EAAKe,GAAGF,QAChBT,EAASJ,EAAKe,GAAGX,SAEjBO,EAAUI,GAAGiB,OAAOrB,UACfsB,MAAMpB,EAAOT,IACb8B,QAAO,GACPtB,MAAO,SAACuB,GCyBX,MDzBiBA,GAAEF,OAErBlB,GAAGqB,OAAO5B,EAAO,IACZ6B,OAAO,OACHC,MAAM,WAAY,YAClBA,MAAM,QAASzB,EAAQ,MACvByB,MAAM,SAAUlC,EAAS,MAC7BmC,MAAM7B,GAAM8B,UAAU,SAClBC,KAAK9B,EAAQ+B,SAAS,GAAG,EAAE,EAAE,IAAI9B,MAAO,SAACuB,GCoBhD,MDpBsDA,GAAEvB,QAAQ+B,OAC7DC,QAAQP,OAAO,OACfQ,KAAK,QAAS,QACdP,MAAM,aAAc,SAACH,GAAM,MAAG,OAAAA,EAAAf,SAAiB,YAAiBlB,EAAMiC,EAAEhB,QACxE2B,KAAM,SAACX,GCwBV,MDxBgBA,GAAEhB,OACf4B,KAAK,WACEC,KAAKV,MAAM,OAAS,SAACH,GCyB7B,MDzBmCA,GAAEX,EAAE,OAC1Bc,MAAM,MAAS,SAACH,GC0B7B,MD1BmCA,GAAEc,EAAE,OAC1BX,MAAM,QAAS,SAACH,GC2B7B,MD3BmCe,MAAKC,IAAI,EAAGhB,EAAEiB,GAAK,GAAG,OAC5Cd,MAAM,SAAS,SAACH,GC4B7B,MD5BmCe,MAAKC,IAAI,EAAGhB,EAAEkB,GAAK,GAAG,SAGtD7C,QCiCZuC,KAAKC","file":"d3_renderers.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n\n $.pivotUtilities.d3_renderers = Treemap: (pivotData, opts) ->\n defaults =\n localeStrings: {}\n d3:\n width: -> $(window).width() / 1.4\n height: -> $(window).height() / 1.4\n\n opts = $.extend defaults, opts\n\n\n result = $(\"<div>\").css(width: \"100%\", height: \"100%\")\n\n tree = name: \"All\", children: []\n addToTree = (tree, path, value) ->\n if path.length == 0\n tree.value = value\n return\n tree.children ?= []\n x = path.shift()\n for child in tree.children when child.name == x\n addToTree(child, path, value)\n return\n newChild = name: x\n addToTree(newChild, path, value)\n tree.children.push newChild\n\n for rowKey in pivotData.getRowKeys()\n value = pivotData.getAggregator(rowKey, []).value()\n if value?\n addToTree(tree, rowKey, value)\n\n color = d3.scale.category10()\n width = opts.d3.width()\n height = opts.d3.height()\n\n treemap = d3.layout.treemap()\n .size([width, height])\n .sticky(true)\n .value( (d) -> d.size )\n\n d3.select(result[0])\n .append(\"div\")\n .style(\"position\", \"relative\")\n .style(\"width\", width + \"px\")\n .style(\"height\", height + \"px\")\n .datum(tree).selectAll(\".node\")\n .data(treemap.padding([15,0,0,0]).value( (d) -> d.value ).nodes)\n .enter().append(\"div\")\n .attr(\"class\", \"node\")\n .style(\"background\", (d) -> if d.children? then \"lightgrey\" else color(d.name) )\n .text( (d) -> d.name )\n .call ->\n this.style(\"left\", (d) -> d.x+\"px\" )\n .style(\"top\", (d) -> d.y+\"px\" )\n .style(\"width\", (d) -> Math.max(0, d.dx - 1)+\"px\" )\n .style(\"height\",(d) -> Math.max(0, d.dy - 1)+\"px\" )\n return\n \n return result\n \n\n\n","(function(){var e;(e=function(e){return\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"jquery\"],e):e(jQuery)})(function(e){return e.pivotUtilities.d3_renderers={Treemap:function(t,n){var i,r,u,l,d,o,a,c,h,f,s,p,y;for(u={localeStrings:{},d3:{width:function(){return e(window).width()/1.4},height:function(){return e(window).height()/1.4}}},n=e.extend(u,n),c=e(\"<div>\").css({width:\"100%\",height:\"100%\"}),f={name:\"All\",children:[]},i=function(e,t,n){var r,u,l,d,o,a;if(0===t.length)return void(e.value=n);for(null==e.children&&(e.children=[]),a=t.shift(),o=e.children,u=0,l=o.length;l>u;u++)if(r=o[u],r.name===a)return void i(r,t,n);return d={name:a},i(d,t,n),e.children.push(d)},a=t.getRowKeys(),d=0,o=a.length;o>d;d++)h=a[d],p=t.getAggregator(h,[]).value(),null!=p&&i(f,h,p);return r=d3.scale.category10(),y=n.d3.width(),l=n.d3.height(),s=d3.layout.treemap().size([y,l]).sticky(!0).value(function(e){return e.size}),d3.select(c[0]).append(\"div\").style(\"position\",\"relative\").style(\"width\",y+\"px\").style(\"height\",l+\"px\").datum(f).selectAll(\".node\").data(s.padding([15,0,0,0]).value(function(e){return e.value}).nodes).enter().append(\"div\").attr(\"class\",\"node\").style(\"background\",function(e){return null!=e.children?\"lightgrey\":r(e.name)}).text(function(e){return e.name}).call(function(){this.style(\"left\",function(e){return e.x+\"px\"}).style(\"top\",function(e){return e.y+\"px\"}).style(\"width\",function(e){return Math.max(0,e.dx-1)+\"px\"}).style(\"height\",function(e){return Math.max(0,e.dy-1)+\"px\"})}),c}}})}).call(this);\n//# sourceMappingURL=d3_renderers.min.js.map"],"sourceRoot":"/source/"} {"version":3,"sources":["d3_renderers.coffee","d3_renderers.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","d3","$","pivotUtilities","d3_renderers","Treemap","pivotData","opts","addToTree","color","defaults","height","i","len","ref","result","rowKey","tree","treemap","value","width","localeStrings","window","extend","css","name","children","path","child","newChild","x","length","shift","push","getRowKeys","getAggregator","scale","category10","layout","size","sticky","d","select","append","style","datum","selectAll","data","padding","nodes","enter","attr","text","call","this","y","Math","max","dx","dy"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,UAAWA,QAAQ,OAClB,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,SAAU,MAAOJ,GAGzBA,EAAYM,OAAQC,MAEb,SAACC,EAAGD,GCKf,MDHAC,GAAEC,eAAeC,cAAeC,QAAS,SAACC,EAAWC,GACjD,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CAyBA,KAzBAV,GACIW,iBACApB,IACImB,MAAO,WCMT,MDNYlB,GAAEoB,QAAQF,QAAU,KAC9BT,OAAQ,WCQV,MDRaT,GAAEoB,QAAQX,SAAW,OAExCJ,EAAOL,EAAEqB,QAAO,KAAUb,EAAUH,GAGpCQ,EAASb,EAAE,SAASsB,KAAIJ,MAAO,OAAQT,OAAQ,SAE/CM,GAAOQ,KAAM,MAAOC,aACpBlB,EAAY,SAACS,EAAMU,EAAMR,GACrB,GAAAS,GAAAhB,EAAAC,EAAAgB,EAAAf,EAAAgB,CAAA,IAAkB,IAAfH,EAAKI,OAEJ,YADAd,EAAKE,MAAQA,EAIjB,KCamB,MAAjBF,EAAKS,WDfPT,EAAKS,aACLI,EAAIH,EAAKK,QACTlB,EAAAG,EAAAS,SAAAd,EAAA,EAAAC,EAAAC,EAAAiB,OAAAnB,EAAAC,EAAAD,ICoBA,GADAgB,EAAQd,EAAIF,GDnBoBgB,EAAMH,OAAQK,EAE1C,WADAtB,GAAUoB,EAAOD,EAAMR,EC6B7B,OD3BEU,IAAWJ,KAAMK,GACjBtB,EAAUqB,EAAUF,EAAMR,GAC1BF,EAAKS,SAASO,KAAKJ,IAEvBf,EAAAR,EAAA4B,aAAAtB,EAAA,EAAAC,EAAAC,EAAAiB,OAAAnB,EAAAC,EAAAD,IC2BEI,EAASF,EAAIF,GD1BXO,EAAQb,EAAU6B,cAAcnB,MAAYG,QACzC,MAAAA,GACCX,EAAUS,EAAMD,EAAQG,EA6BhC,OA3BAV,GAAQR,EAAGmC,MAAMC,aACjBjB,EAAQb,EAAKN,GAAGmB,QAChBT,EAASJ,EAAKN,GAAGU,SAEjBO,EAAUjB,EAAGqC,OAAOpB,UACfqB,MAAMnB,EAAOT,IACb6B,QAAO,GACPrB,MAAO,SAACsB,GCyBX,MDzBiBA,GAAEF,OAErBtC,EAAGyC,OAAO3B,EAAO,IACZ4B,OAAO,OACHC,MAAM,WAAY,YAClBA,MAAM,QAASxB,EAAQ,MACvBwB,MAAM,SAAUjC,EAAS,MAC7BkC,MAAM5B,GAAM6B,UAAU,SAClBC,KAAK7B,EAAQ8B,SAAS,GAAG,EAAE,EAAE,IAAI7B,MAAO,SAACsB,GCoBhD,MDpBsDA,GAAEtB,QAAQ8B,OAC7DC,QAAQP,OAAO,OACfQ,KAAK,QAAS,QACdP,MAAM,aAAc,SAACH,GAAM,MAAG,OAAAA,EAAAf,SAAiB,YAAiBjB,EAAMgC,EAAEhB,QACxE2B,KAAM,SAACX,GCwBV,MDxBgBA,GAAEhB,OACf4B,KAAK,WACEC,KAAKV,MAAM,OAAS,SAACH,GCyB7B,MDzBmCA,GAAEX,EAAE,OAC1Bc,MAAM,MAAS,SAACH,GC0B7B,MD1BmCA,GAAEc,EAAE,OAC1BX,MAAM,QAAS,SAACH,GC2B7B,MD3BmCe,MAAKC,IAAI,EAAGhB,EAAEiB,GAAK,GAAG,OAC5Cd,MAAM,SAAS,SAACH,GC4B7B,MD5BmCe,MAAKC,IAAI,EAAGhB,EAAEkB,GAAK,GAAG,SAGtD5C,QCiCZsC,KAAKC","file":"d3_renderers.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\"), require(\"d3\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\", \"d3\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery, d3\n\ncallWithJQuery ($, d3) ->\n\n $.pivotUtilities.d3_renderers = Treemap: (pivotData, opts) ->\n defaults =\n localeStrings: {}\n d3:\n width: -> $(window).width() / 1.4\n height: -> $(window).height() / 1.4\n\n opts = $.extend(true, {}, defaults, opts)\n\n\n result = $(\"<div>\").css(width: \"100%\", height: \"100%\")\n\n tree = name: \"All\", children: []\n addToTree = (tree, path, value) ->\n if path.length == 0\n tree.value = value\n return\n tree.children ?= []\n x = path.shift()\n for child in tree.children when child.name == x\n addToTree(child, path, value)\n return\n newChild = name: x\n addToTree(newChild, path, value)\n tree.children.push newChild\n\n for rowKey in pivotData.getRowKeys()\n value = pivotData.getAggregator(rowKey, []).value()\n if value?\n addToTree(tree, rowKey, value)\n\n color = d3.scale.category10()\n width = opts.d3.width()\n height = opts.d3.height()\n\n treemap = d3.layout.treemap()\n .size([width, height])\n .sticky(true)\n .value( (d) -> d.size )\n\n d3.select(result[0])\n .append(\"div\")\n .style(\"position\", \"relative\")\n .style(\"width\", width + \"px\")\n .style(\"height\", height + \"px\")\n .datum(tree).selectAll(\".node\")\n .data(treemap.padding([15,0,0,0]).value( (d) -> d.value ).nodes)\n .enter().append(\"div\")\n .attr(\"class\", \"node\")\n .style(\"background\", (d) -> if d.children? then \"lightgrey\" else color(d.name) )\n .text( (d) -> d.name )\n .call ->\n this.style(\"left\", (d) -> d.x+\"px\" )\n .style(\"top\", (d) -> d.y+\"px\" )\n .style(\"width\", (d) -> Math.max(0, d.dx - 1)+\"px\" )\n .style(\"height\",(d) -> Math.max(0, d.dy - 1)+\"px\" )\n return\n\n return result\n\n\n\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"), require(\"d3\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\", \"d3\"], pivotModule);\n } else {\n return pivotModule(jQuery, d3);\n }\n };\n\n callWithJQuery(function($, d3) {\n return $.pivotUtilities.d3_renderers = {\n Treemap: function(pivotData, opts) {\n var addToTree, color, defaults, height, i, len, ref, result, rowKey, tree, treemap, value, width;\n defaults = {\n localeStrings: {},\n d3: {\n width: function() {\n return $(window).width() / 1.4;\n },\n height: function() {\n return $(window).height() / 1.4;\n }\n }\n };\n opts = $.extend(true, {}, defaults, opts);\n result = $(\"<div>\").css({\n width: \"100%\",\n height: \"100%\"\n });\n tree = {\n name: \"All\",\n children: []\n };\n addToTree = function(tree, path, value) {\n var child, i, len, newChild, ref, x;\n if (path.length === 0) {\n tree.value = value;\n return;\n }\n if (tree.children == null) {\n tree.children = [];\n }\n x = path.shift();\n ref = tree.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if (!(child.name === x)) {\n continue;\n }\n addToTree(child, path, value);\n return;\n }\n newChild = {\n name: x\n };\n addToTree(newChild, path, value);\n return tree.children.push(newChild);\n };\n ref = pivotData.getRowKeys();\n for (i = 0, len = ref.length; i < len; i++) {\n rowKey = ref[i];\n value = pivotData.getAggregator(rowKey, []).value();\n if (value != null) {\n addToTree(tree, rowKey, value);\n }\n }\n color = d3.scale.category10();\n width = opts.d3.width();\n height = opts.d3.height();\n treemap = d3.layout.treemap().size([width, height]).sticky(true).value(function(d) {\n return d.size;\n });\n d3.select(result[0]).append(\"div\").style(\"position\", \"relative\").style(\"width\", width + \"px\").style(\"height\", height + \"px\").datum(tree).selectAll(\".node\").data(treemap.padding([15, 0, 0, 0]).value(function(d) {\n return d.value;\n }).nodes).enter().append(\"div\").attr(\"class\", \"node\").style(\"background\", function(d) {\n if (d.children != null) {\n return \"lightgrey\";\n } else {\n return color(d.name);\n }\n }).text(function(d) {\n return d.name;\n }).call(function() {\n this.style(\"left\", function(d) {\n return d.x + \"px\";\n }).style(\"top\", function(d) {\n return d.y + \"px\";\n }).style(\"width\", function(d) {\n return Math.max(0, d.dx - 1) + \"px\";\n }).style(\"height\", function(d) {\n return Math.max(0, d.dy - 1) + \"px\";\n });\n });\n return result;\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=d3_renderers.js.map\n"]}
\ No newline at end of file \ No newline at end of file
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
defaults = { defaults = {
localeStrings: {} localeStrings: {}
}; };
opts = $.extend(defaults, opts); opts = $.extend(true, {}, defaults, opts);
rowKeys = pivotData.getRowKeys(); rowKeys = pivotData.getRowKeys();
if (rowKeys.length === 0) { if (rowKeys.length === 0) {
rowKeys.push([]); rowKeys.push([]);
...@@ -77,4 +77,4 @@ ...@@ -77,4 +77,4 @@
}).call(this); }).call(this);
//# sourceMappingURL=export_renderers.js.map //# sourceMappingURL=export_renderers.js.map
\ No newline at end of file
{"version":3,"sources":["export_renderers.coffee"],"names":[],"mappings":"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","file":"export_renderers.js","sourceRoot":"/source/","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n\n $.pivotUtilities.export_renderers = \"TSV Export\": (pivotData, opts) ->\n defaults =\n localeStrings: {}\n\n opts = $.extend defaults, opts\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n rowAttrs = pivotData.rowAttrs\n colAttrs = pivotData.colAttrs\n\n result = []\n\n row = []\n for rowAttr in rowAttrs\n row.push rowAttr\n if colKeys.length == 1 and colKeys[0].length == 0\n row.push pivotData.aggregatorName\n else\n for colKey in colKeys\n row.push colKey.join(\"-\")\n\n result.push row\n\n for rowKey in rowKeys\n row = []\n for r in rowKey\n row.push r\n\n for colKey in colKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n row.push agg.value()\n else\n row.push \"\"\n result.push row\n text = \"\"\n for r in result\n text += r.join(\"\\t\")+\"\\n\"\n \n return $(\"<textarea>\").text(text).css(\n width: ($(window).width() / 2) + \"px\", \n height: ($(window).height() / 2) + \"px\")\n \n"]} {"version":3,"file":"export_renderers.js","sources":["export_renderers.coffee"],"names":[],"mappings":"AAAA;AAAA,MAAA;;EAAA,cAAA,GAAiB,SAAC,WAAD;IACb,IAAG,OAAO,OAAP,KAAkB,QAAlB,IAA+B,OAAO,MAAP,KAAiB,QAAnD;aACI,WAAA,CAAY,OAAA,CAAQ,QAAR,CAAZ,EADJ;KAAA,MAEK,IAAG,OAAO,MAAP,KAAiB,UAAjB,IAAgC,MAAM,CAAC,GAA1C;aACD,MAAA,CAAO,CAAC,QAAD,CAAP,EAAmB,WAAnB,EADC;KAAA,MAAA;aAID,WAAA,CAAY,MAAZ,EAJC;;EAHQ;;EASjB,cAAA,CAAe,SAAC,CAAD;WAEX,CAAC,CAAC,cAAc,CAAC,gBAAjB,GAAoC;MAAA,YAAA,EAAc,SAAC,SAAD,EAAY,IAAZ;AAC9C,YAAA;QAAA,QAAA,GAAW;UAAA,aAAA,EAAe,EAAf;;QAEX,IAAA,GAAO,CAAC,CAAC,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,QAAnB,EAA6B,IAA7B;QAEP,OAAA,GAAU,SAAS,CAAC,UAAV,CAAA;QACV,IAAmB,OAAO,CAAC,MAAR,KAAkB,CAArC;UAAA,OAAO,CAAC,IAAR,CAAa,EAAb,EAAA;;QACA,OAAA,GAAU,SAAS,CAAC,UAAV,CAAA;QACV,IAAmB,OAAO,CAAC,MAAR,KAAkB,CAArC;UAAA,OAAO,CAAC,IAAR,CAAa,EAAb,EAAA;;QACA,QAAA,GAAW,SAAS,CAAC;QACrB,QAAA,GAAW,SAAS,CAAC;QAErB,MAAA,GAAS;QAET,GAAA,GAAM;AACN,aAAA,0CAAA;;UACI,GAAG,CAAC,IAAJ,CAAS,OAAT;AADJ;QAEA,IAAG,OAAO,CAAC,MAAR,KAAkB,CAAlB,IAAwB,OAAQ,CAAA,CAAA,CAAE,CAAC,MAAX,KAAqB,CAAhD;UACI,GAAG,CAAC,IAAJ,CAAS,SAAS,CAAC,cAAnB,EADJ;SAAA,MAAA;AAGI,eAAA,2CAAA;;YACI,GAAG,CAAC,IAAJ,CAAS,MAAM,CAAC,IAAP,CAAY,GAAZ,CAAT;AADJ,WAHJ;;QAMA,MAAM,CAAC,IAAP,CAAY,GAAZ;AAEA,aAAA,2CAAA;;UACI,GAAA,GAAM;AACN,eAAA,0CAAA;;YACI,GAAG,CAAC,IAAJ,CAAS,CAAT;AADJ;AAGA,eAAA,2CAAA;;YACI,GAAA,GAAM,SAAS,CAAC,aAAV,CAAwB,MAAxB,EAAgC,MAAhC;YACN,IAAG,mBAAH;cACI,GAAG,CAAC,IAAJ,CAAS,GAAG,CAAC,KAAJ,CAAA,CAAT,EADJ;aAAA,MAAA;cAGI,GAAG,CAAC,IAAJ,CAAS,EAAT,EAHJ;;AAFJ;UAMA,MAAM,CAAC,IAAP,CAAY,GAAZ;AAXJ;QAYA,IAAA,GAAO;AACP,aAAA,0CAAA;;UACI,IAAA,IAAQ,CAAC,CAAC,IAAF,CAAO,IAAP,CAAA,GAAa;AADzB;AAGA,eAAO,CAAA,CAAE,YAAF,CAAe,CAAC,IAAhB,CAAqB,IAArB,CAA0B,CAAC,GAA3B,CACC;UAAA,KAAA,EAAO,CAAC,CAAA,CAAE,MAAF,CAAS,CAAC,KAAV,CAAA,CAAA,GAAoB,CAArB,CAAA,GAA0B,IAAjC;UACA,MAAA,EAAQ,CAAC,CAAA,CAAE,MAAF,CAAS,CAAC,MAAV,CAAA,CAAA,GAAqB,CAAtB,CAAA,GAA2B,IADnC;SADD;MAzCuC,CAAd;;EAFzB,CAAf;AATA","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n\n $.pivotUtilities.export_renderers = \"TSV Export\": (pivotData, opts) ->\n defaults = localeStrings: {}\n\n opts = $.extend(true, {}, defaults, opts)\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n rowAttrs = pivotData.rowAttrs\n colAttrs = pivotData.colAttrs\n\n result = []\n\n row = []\n for rowAttr in rowAttrs\n row.push rowAttr\n if colKeys.length == 1 and colKeys[0].length == 0\n row.push pivotData.aggregatorName\n else\n for colKey in colKeys\n row.push colKey.join(\"-\")\n\n result.push row\n\n for rowKey in rowKeys\n row = []\n for r in rowKey\n row.push r\n\n for colKey in colKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n row.push agg.value()\n else\n row.push \"\"\n result.push row\n text = \"\"\n for r in result\n text += r.join(\"\\t\")+\"\\n\"\n\n return $(\"<textarea>\").text(text).css(\n width: ($(window).width() / 2) + \"px\",\n height: ($(window).height() / 2) + \"px\")\n\n"]}
\ No newline at end of file \ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){return e.pivotUtilities.export_renderers={"TSV Export":function(t,n){var r,o,h,u,i,l,g,s,f,p,a,c,d,w,x,y,j,v,m,q,A,b,K,S,C;for(i={localeStrings:{}},n=e.extend(i,n),S=t.getRowKeys(),0===S.length&&S.push([]),u=t.getColKeys(),0===u.length&&u.push([]),b=t.rowAttrs,o=t.colAttrs,m=[],q=[],l=0,p=b.length;p>l;l++)A=b[l],q.push(A);if(1===u.length&&0===u[0].length)q.push(t.aggregatorName);else for(g=0,a=u.length;a>g;g++)h=u[g],q.push(h.join("-"));for(m.push(q),s=0,c=S.length;c>s;s++){for(K=S[s],q=[],f=0,d=K.length;d>f;f++)v=K[f],q.push(v);for(y=0,w=u.length;w>y;y++)h=u[y],r=t.getAggregator(K,h),q.push(null!=r.value()?r.value():"");m.push(q)}for(C="",j=0,x=m.length;x>j;j++)v=m[j],C+=v.join(" ")+"\n";return e("<textarea>").text(C).css({width:e(window).width()/2+"px",height:e(window).height()/2+"px"})}}})}).call(this); (function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){return e.pivotUtilities.export_renderers={"TSV Export":function(t,n){var r,o,h,u,i,l,g,s,p,f,a,c,d,w,x,y,j,v,m,q,A,b,K,S,C;for(i={localeStrings:{}},n=e.extend(!0,{},i,n),S=t.getRowKeys(),0===S.length&&S.push([]),u=t.getColKeys(),0===u.length&&u.push([]),b=t.rowAttrs,o=t.colAttrs,m=[],q=[],l=0,f=b.length;l<f;l++)A=b[l],q.push(A);if(1===u.length&&0===u[0].length)q.push(t.aggregatorName);else for(g=0,a=u.length;g<a;g++)h=u[g],q.push(h.join("-"));for(m.push(q),s=0,c=S.length;s<c;s++){for(K=S[s],q=[],p=0,d=K.length;p<d;p++)v=K[p],q.push(v);for(y=0,w=u.length;y<w;y++)h=u[y],r=t.getAggregator(K,h),null!=r.value()?q.push(r.value()):q.push("");m.push(q)}for(C="",j=0,x=m.length;j<x;j++)v=m[j],C+=v.join("\t")+"\n";return e("<textarea>").text(C).css({width:e(window).width()/2+"px",height:e(window).height()/2+"px"})}}})}).call(this);
//# sourceMappingURL=export_renderers.min.js.map //# sourceMappingURL=export_renderers.min.js.map
\ No newline at end of file
{"version":3,"sources":["/source/export_renderers.coffee","export_renderers.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","pivotUtilities","export_renderers","TSV Export","pivotData","opts","agg","colAttrs","colKey","colKeys","defaults","i","j","k","l","len","len1","len2","len3","len4","len5","m","n","r","result","row","rowAttr","rowAttrs","rowKey","rowKeys","text","localeStrings","extend","getRowKeys","length","push","getColKeys","aggregatorName","join","getAggregator","value","css","width","window","height","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAlBC,UAAgD,gBAAjBC,QAC9BF,EAAYG,QAAQ,WACC,kBAAjBC,SAAgCA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GCKZ,MDHAA,GAAEC,eAAeC,kBAAmBC,aAAc,SAACC,EAAWC,GAC1D,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CAeA,KAfApB,GACIqB,kBAEJ1B,EAAOL,EAAEgC,OAAOtB,EAAUL,GAE1BwB,EAAUzB,EAAU6B,aACiB,IAAlBJ,EAAQK,QAA3BL,EAAQM,SACR1B,EAAUL,EAAUgC,aACiB,IAAlB3B,EAAQyB,QAA3BzB,EAAQ0B,SACRR,EAAWvB,EAAUuB,SACrBpB,EAAWH,EAAUG,SAErBiB,KAEAC,KACAd,EAAA,EAAAI,EAAAY,EAAAO,OAAAnB,EAAAJ,EAAAA,ICOEe,EAAUC,EAAShB,GDNjBc,EAAIU,KAAKT,EACb,IAAqB,IAAlBjB,EAAQyB,QAAqC,IAArBzB,EAAQ,GAAGyB,OAClCT,EAAIU,KAAK/B,EAAUiC,oBAEnB,KAAAzB,EAAA,EAAAI,EAAAP,EAAAyB,OAAAlB,EAAAJ,EAAAA,ICSAJ,EAASC,EAAQG,GDRba,EAAIU,KAAK3B,EAAO8B,KAAK,KAI7B,KAFAd,EAAOW,KAAKV,GAEZZ,EAAA,EAAAI,EAAAY,EAAAK,OAAAjB,EAAAJ,EAAAA,IAAA,CAEI,ICQFe,EAASC,EAAQhB,GDTfY,KACAX,EAAA,EAAAI,EAAAU,EAAAM,OAAAhB,EAAAJ,EAAAA,ICWAS,EAAIK,EAAOd,GDVPW,EAAIU,KAAKZ,EAEb,KAAAF,EAAA,EAAAF,EAAAV,EAAAyB,OAAAf,EAAAE,EAAAA,ICYAb,EAASC,EAAQY,GDXbf,EAAMF,EAAUmC,cAAcX,EAAQpB,GAElCiB,EAAIU,KADL,MAAA7B,EAAAkC,QACUlC,EAAIkC,QAEJ,GACjBhB,GAAOW,KAAKV,GAEhB,IADAK,EAAO,GACPR,EAAA,EAAAF,EAAAI,EAAAU,OAAAd,EAAAE,EAAAA,ICgBEC,EAAIC,EAAOF,GDfTQ,GAAQP,EAAEe,KAAK,KAAM,IAEzB,OAAOtC,GAAE,cAAc8B,KAAKA,GAAMW,KAC1BC,MAAQ1C,EAAE2C,QAAQD,QAAU,EAAK,KACjCE,OAAS5C,EAAE2C,QAAQC,SAAW,EAAK,aCsBhDC,KAAKC","file":"export_renderers.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n\n $.pivotUtilities.export_renderers = \"TSV Export\": (pivotData, opts) ->\n defaults =\n localeStrings: {}\n\n opts = $.extend defaults, opts\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n rowAttrs = pivotData.rowAttrs\n colAttrs = pivotData.colAttrs\n\n result = []\n\n row = []\n for rowAttr in rowAttrs\n row.push rowAttr\n if colKeys.length == 1 and colKeys[0].length == 0\n row.push pivotData.aggregatorName\n else\n for colKey in colKeys\n row.push colKey.join(\"-\")\n\n result.push row\n\n for rowKey in rowKeys\n row = []\n for r in rowKey\n row.push r\n\n for colKey in colKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n row.push agg.value()\n else\n row.push \"\"\n result.push row\n text = \"\"\n for r in result\n text += r.join(\"\\t\")+\"\\n\"\n \n return $(\"<textarea>\").text(text).css(\n width: ($(window).width() / 2) + \"px\", \n height: ($(window).height() / 2) + \"px\")\n \n","(function(){var e;(e=function(e){return\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"jquery\"],e):e(jQuery)})(function(e){return e.pivotUtilities.export_renderers={\"TSV Export\":function(t,n){var r,o,h,u,i,l,g,s,f,p,a,c,d,w,x,y,j,v,m,q,A,b,K,S,C;for(i={localeStrings:{}},n=e.extend(i,n),S=t.getRowKeys(),0===S.length&&S.push([]),u=t.getColKeys(),0===u.length&&u.push([]),b=t.rowAttrs,o=t.colAttrs,m=[],q=[],l=0,p=b.length;p>l;l++)A=b[l],q.push(A);if(1===u.length&&0===u[0].length)q.push(t.aggregatorName);else for(g=0,a=u.length;a>g;g++)h=u[g],q.push(h.join(\"-\"));for(m.push(q),s=0,c=S.length;c>s;s++){for(K=S[s],q=[],f=0,d=K.length;d>f;f++)v=K[f],q.push(v);for(y=0,w=u.length;w>y;y++)h=u[y],r=t.getAggregator(K,h),q.push(null!=r.value()?r.value():\"\");m.push(q)}for(C=\"\",j=0,x=m.length;x>j;j++)v=m[j],C+=v.join(\"\t\")+\"\\n\";return e(\"<textarea>\").text(C).css({width:e(window).width()/2+\"px\",height:e(window).height()/2+\"px\"})}}})}).call(this);\n//# sourceMappingURL=export_renderers.min.js.map"],"sourceRoot":"/source/"} {"version":3,"sources":["export_renderers.coffee","export_renderers.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","pivotUtilities","export_renderers","TSV Export","pivotData","opts","agg","colAttrs","colKey","colKeys","defaults","i","j","k","l","len","len1","len2","len3","len4","len5","m","n","r","result","row","rowAttr","rowAttrs","rowKey","rowKeys","text","localeStrings","extend","getRowKeys","length","push","getColKeys","aggregatorName","join","getAggregator","value","css","width","window","height","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GCKZ,MDHAA,GAAEC,eAAeC,kBAAmBC,aAAc,SAACC,EAAWC,GAC1D,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CAcA,KAdApB,GAAWqB,kBAEX1B,EAAOL,EAAEgC,QAAO,KAAUtB,EAAUL,GAEpCwB,EAAUzB,EAAU6B,aACiB,IAAlBJ,EAAQK,QAA3BL,EAAQM,SACR1B,EAAUL,EAAUgC,aACiB,IAAlB3B,EAAQyB,QAA3BzB,EAAQ0B,SACRR,EAAWvB,EAAUuB,SACrBpB,EAAWH,EAAUG,SAErBiB,KAEAC,KACAd,EAAA,EAAAI,EAAAY,EAAAO,OAAAvB,EAAAI,EAAAJ,ICQEe,EAAUC,EAAShB,GDPjBc,EAAIU,KAAKT,EACb,IAAqB,IAAlBjB,EAAQyB,QAAqC,IAArBzB,EAAQ,GAAGyB,OAClCT,EAAIU,KAAK/B,EAAUiC,oBAEnB,KAAAzB,EAAA,EAAAI,EAAAP,EAAAyB,OAAAtB,EAAAI,EAAAJ,ICUAJ,EAASC,EAAQG,GDTba,EAAIU,KAAK3B,EAAO8B,KAAK,KAI7B,KAFAd,EAAOW,KAAKV,GAEZZ,EAAA,EAAAI,EAAAY,EAAAK,OAAArB,EAAAI,EAAAJ,IAAA,CAEI,ICSFe,EAASC,EAAQhB,GDVfY,KACAX,EAAA,EAAAI,EAAAU,EAAAM,OAAApB,EAAAI,EAAAJ,ICYAS,EAAIK,EAAOd,GDXPW,EAAIU,KAAKZ,EAEb,KAAAF,EAAA,EAAAF,EAAAV,EAAAyB,OAAAb,EAAAF,EAAAE,ICaAb,EAASC,EAAQY,GDZbf,EAAMF,EAAUmC,cAAcX,EAAQpB,GACnC,MAAAF,EAAAkC,QACCf,EAAIU,KAAK7B,EAAIkC,SAEbf,EAAIU,KAAK,GACjBX,GAAOW,KAAKV,GAEhB,IADAK,EAAO,GACPR,EAAA,EAAAF,EAAAI,EAAAU,OAAAZ,EAAAF,EAAAE,ICiBEC,EAAIC,EAAOF,GDhBTQ,GAAQP,EAAEe,KAAK,MAAM,IAEzB,OAAOtC,GAAE,cAAc8B,KAAKA,GAAMW,KAC1BC,MAAQ1C,EAAE2C,QAAQD,QAAU,EAAK,KACjCE,OAAS5C,EAAE2C,QAAQC,SAAW,EAAK,aCuBhDC,KAAKC","file":"export_renderers.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n\n $.pivotUtilities.export_renderers = \"TSV Export\": (pivotData, opts) ->\n defaults = localeStrings: {}\n\n opts = $.extend(true, {}, defaults, opts)\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n rowAttrs = pivotData.rowAttrs\n colAttrs = pivotData.colAttrs\n\n result = []\n\n row = []\n for rowAttr in rowAttrs\n row.push rowAttr\n if colKeys.length == 1 and colKeys[0].length == 0\n row.push pivotData.aggregatorName\n else\n for colKey in colKeys\n row.push colKey.join(\"-\")\n\n result.push row\n\n for rowKey in rowKeys\n row = []\n for r in rowKey\n row.push r\n\n for colKey in colKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n row.push agg.value()\n else\n row.push \"\"\n result.push row\n text = \"\"\n for r in result\n text += r.join(\"\\t\")+\"\\n\"\n\n return $(\"<textarea>\").text(text).css(\n width: ($(window).width() / 2) + \"px\",\n height: ($(window).height() / 2) + \"px\")\n\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n return $.pivotUtilities.export_renderers = {\n \"TSV Export\": function(pivotData, opts) {\n var agg, colAttrs, colKey, colKeys, defaults, i, j, k, l, len, len1, len2, len3, len4, len5, m, n, r, result, row, rowAttr, rowAttrs, rowKey, rowKeys, text;\n defaults = {\n localeStrings: {}\n };\n opts = $.extend(true, {}, defaults, opts);\n rowKeys = pivotData.getRowKeys();\n if (rowKeys.length === 0) {\n rowKeys.push([]);\n }\n colKeys = pivotData.getColKeys();\n if (colKeys.length === 0) {\n colKeys.push([]);\n }\n rowAttrs = pivotData.rowAttrs;\n colAttrs = pivotData.colAttrs;\n result = [];\n row = [];\n for (i = 0, len = rowAttrs.length; i < len; i++) {\n rowAttr = rowAttrs[i];\n row.push(rowAttr);\n }\n if (colKeys.length === 1 && colKeys[0].length === 0) {\n row.push(pivotData.aggregatorName);\n } else {\n for (j = 0, len1 = colKeys.length; j < len1; j++) {\n colKey = colKeys[j];\n row.push(colKey.join(\"-\"));\n }\n }\n result.push(row);\n for (k = 0, len2 = rowKeys.length; k < len2; k++) {\n rowKey = rowKeys[k];\n row = [];\n for (l = 0, len3 = rowKey.length; l < len3; l++) {\n r = rowKey[l];\n row.push(r);\n }\n for (m = 0, len4 = colKeys.length; m < len4; m++) {\n colKey = colKeys[m];\n agg = pivotData.getAggregator(rowKey, colKey);\n if (agg.value() != null) {\n row.push(agg.value());\n } else {\n row.push(\"\");\n }\n }\n result.push(row);\n }\n text = \"\";\n for (n = 0, len5 = result.length; n < len5; n++) {\n r = result[n];\n text += r.join(\"\\t\") + \"\\n\";\n }\n return $(\"<textarea>\").text(text).css({\n width: ($(window).width() / 2) + \"px\",\n height: ($(window).height() / 2) + \"px\"\n });\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=export_renderers.js.map\n"]}
\ No newline at end of file \ No newline at end of file
...@@ -15,22 +15,21 @@ ...@@ -15,22 +15,21 @@
var makeGoogleChart; var makeGoogleChart;
makeGoogleChart = function(chartType, extraOptions) { makeGoogleChart = function(chartType, extraOptions) {
return function(pivotData, opts) { return function(pivotData, opts) {
var agg, colKey, colKeys, dataArray, dataTable, defaults, fullAggName, groupByTitle, h, hAxisTitle, headers, i, j, k, len, len1, numCharsInHAxis, options, ref, result, row, rowKey, rowKeys, title, tree2, v, vAxisTitle, val, wrapper, x, y; var agg, base, base1, colKey, colKeys, dataArray, dataTable, defaults, fullAggName, groupByTitle, h, hAxisTitle, headers, i, j, len, len1, numCharsInHAxis, options, ref, result, row, rowKey, rowKeys, title, tree2, vAxisTitle, val, wrapper, x, y;
defaults = { defaults = {
localeStrings: { localeStrings: {
vs: "vs", vs: "vs",
by: "by" by: "by"
}, },
gchart: { gchart: {}
width: function() {
return window.innerWidth / 1.4;
},
height: function() {
return window.innerHeight / 1.4;
}
}
}; };
opts = $.extend(defaults, opts); opts = $.extend(true, {}, defaults, opts);
if ((base = opts.gchart).width == null) {
base.width = window.innerWidth / 1.4;
}
if ((base1 = opts.gchart).height == null) {
base1.height = window.innerHeight / 1.4;
}
rowKeys = pivotData.getRowKeys(); rowKeys = pivotData.getRowKeys();
if (rowKeys.length === 0) { if (rowKeys.length === 0) {
rowKeys.push([]); rowKeys.push([]);
...@@ -113,8 +112,6 @@ ...@@ -113,8 +112,6 @@
} }
} }
options = { options = {
width: opts.gchart.width(),
height: opts.gchart.height(),
title: title, title: title,
hAxis: { hAxis: {
title: hAxisTitle, title: hAxisTitle,
...@@ -146,10 +143,7 @@ ...@@ -146,10 +143,7 @@
position: "none" position: "none"
}; };
} }
for (k in extraOptions) { options = $.extend(true, {}, options, opts.gchart, extraOptions);
v = extraOptions[k];
options[k] = v;
}
result = $("<div>").css({ result = $("<div>").css({
width: "100%", width: "100%",
height: "100%" height: "100%"
...@@ -186,4 +180,4 @@ ...@@ -186,4 +180,4 @@
}).call(this); }).call(this);
//# sourceMappingURL=gchart_renderers.js.map //# sourceMappingURL=gchart_renderers.js.map
\ No newline at end of file
{"version":3,"sources":["gchart_renderers.coffee"],"names":[],"mappings":"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","file":"gchart_renderers.js","sourceRoot":"/source/","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n\n makeGoogleChart = (chartType, extraOptions) -> (pivotData, opts) ->\n defaults =\n localeStrings:\n vs: \"vs\"\n by: \"by\"\n gchart:\n width: -> window.innerWidth / 1.4\n height: -> window.innerHeight / 1.4\n\n opts = $.extend defaults, opts\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n fullAggName = pivotData.aggregatorName \n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n headers = (h.join(\"-\") for h in rowKeys)\n headers.unshift \"\"\n\n numCharsInHAxis = 0\n if chartType == \"ScatterChart\"\n dataArray = []\n for y, tree2 of pivotData.tree\n for x, agg of tree2\n dataArray.push [\n parseFloat(x),\n parseFloat(y),\n fullAggName+\": \\n\"+agg.format(agg.value())\n ]\n dataTable = new google.visualization.DataTable()\n dataTable.addColumn 'number', pivotData.colAttrs.join(\"-\")\n dataTable.addColumn 'number', pivotData.rowAttrs.join(\"-\") \n dataTable.addColumn type: \"string\", role: \"tooltip\"\n dataTable.addRows dataArray\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n vAxisTitle = pivotData.rowAttrs.join(\"-\")\n title = \"\"\n else\n dataArray = [headers]\n for colKey in colKeys\n row = [colKey.join(\"-\")]\n numCharsInHAxis += row[0].length\n for rowKey in rowKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n val = agg.value()\n if $.isNumeric val\n if val < 1\n row.push parseFloat(val.toPrecision(3))\n else\n row.push parseFloat(val.toFixed(3))\n else\n row.push val\n else row.push null\n dataArray.push row\n\n dataTable = google.visualization.arrayToDataTable(dataArray)\n\n title = vAxisTitle = fullAggName\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n title += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n groupByTitle = pivotData.rowAttrs.join(\"-\")\n title += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n\n options = \n width: opts.gchart.width()\n height: opts.gchart.height()\n title: title\n hAxis: {title: hAxisTitle, slantedText: numCharsInHAxis > 50}\n vAxis: {title: vAxisTitle}\n tooltip: { textStyle: { fontName: 'Arial', fontSize: 12 } }\n\n if chartType == \"ColumnChart\"\n options.vAxis.minValue = 0\n\n if chartType == \"ScatterChart\"\n options.legend = position: \"none\"\n options.chartArea = {'width': '80%', 'height': '80%'}\n\n else if dataArray[0].length == 2 and dataArray[0][1] == \"\"\n options.legend = position: \"none\"\n\n options[k] = v for k, v of extraOptions\n\n result = $(\"<div>\").css(width: \"100%\", height: \"100%\")\n wrapper = new google.visualization.ChartWrapper {dataTable, chartType, options}\n wrapper.draw(result[0]) \n result.bind \"dblclick\", -> \n editor = new google.visualization.ChartEditor()\n google.visualization.events.addListener editor, 'ok', -> \n editor.getChartWrapper().draw(result[0])\n editor.openDialog(wrapper)\n return result\n\n $.pivotUtilities.gchart_renderers = \n \"Line Chart\": makeGoogleChart(\"LineChart\")\n \"Bar Chart\": makeGoogleChart(\"ColumnChart\")\n \"Stacked Bar Chart\": makeGoogleChart(\"ColumnChart\", isStacked: true)\n \"Area Chart\": makeGoogleChart(\"AreaChart\", isStacked: true)\n \"Scatter Chart\": makeGoogleChart(\"ScatterChart\")\n"]} {"version":3,"file":"gchart_renderers.js","sources":["gchart_renderers.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n\n makeGoogleChart = (chartType, extraOptions) -> (pivotData, opts) ->\n defaults =\n localeStrings:\n vs: \"vs\"\n by: \"by\"\n gchart: {}\n\n opts = $.extend(true, {}, defaults, opts)\n opts.gchart.width ?= window.innerWidth / 1.4\n opts.gchart.height ?= window.innerHeight / 1.4\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n fullAggName = pivotData.aggregatorName\n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n headers = (h.join(\"-\") for h in rowKeys)\n headers.unshift \"\"\n\n numCharsInHAxis = 0\n if chartType == \"ScatterChart\"\n dataArray = []\n for y, tree2 of pivotData.tree\n for x, agg of tree2\n dataArray.push [\n parseFloat(x),\n parseFloat(y),\n fullAggName+\": \\n\"+agg.format(agg.value())\n ]\n dataTable = new google.visualization.DataTable()\n dataTable.addColumn 'number', pivotData.colAttrs.join(\"-\")\n dataTable.addColumn 'number', pivotData.rowAttrs.join(\"-\")\n dataTable.addColumn type: \"string\", role: \"tooltip\"\n dataTable.addRows dataArray\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n vAxisTitle = pivotData.rowAttrs.join(\"-\")\n title = \"\"\n else\n dataArray = [headers]\n for colKey in colKeys\n row = [colKey.join(\"-\")]\n numCharsInHAxis += row[0].length\n for rowKey in rowKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n val = agg.value()\n if $.isNumeric val\n if val < 1\n row.push parseFloat(val.toPrecision(3))\n else\n row.push parseFloat(val.toFixed(3))\n else\n row.push val\n else row.push null\n dataArray.push row\n\n dataTable = google.visualization.arrayToDataTable(dataArray)\n\n title = vAxisTitle = fullAggName\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n title += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n groupByTitle = pivotData.rowAttrs.join(\"-\")\n title += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n\n options =\n title: title\n hAxis: {title: hAxisTitle, slantedText: numCharsInHAxis > 50}\n vAxis: {title: vAxisTitle}\n tooltip: { textStyle: { fontName: 'Arial', fontSize: 12 } }\n\n if chartType == \"ColumnChart\"\n options.vAxis.minValue = 0\n\n if chartType == \"ScatterChart\"\n options.legend = position: \"none\"\n options.chartArea = {'width': '80%', 'height': '80%'}\n\n else if dataArray[0].length == 2 and dataArray[0][1] == \"\"\n options.legend = position: \"none\"\n\n options = $.extend(true, {}, options, opts.gchart, extraOptions)\n\n result = $(\"<div>\").css(width: \"100%\", height: \"100%\")\n wrapper = new google.visualization.ChartWrapper {dataTable, chartType, options}\n wrapper.draw(result[0])\n result.bind \"dblclick\", ->\n editor = new google.visualization.ChartEditor()\n google.visualization.events.addListener editor, 'ok', ->\n editor.getChartWrapper().draw(result[0])\n editor.openDialog(wrapper)\n return result\n\n $.pivotUtilities.gchart_renderers =\n \"Line Chart\": makeGoogleChart(\"LineChart\")\n \"Bar Chart\": makeGoogleChart(\"ColumnChart\")\n \"Stacked Bar Chart\": makeGoogleChart(\"ColumnChart\", isStacked: true)\n \"Area Chart\": makeGoogleChart(\"AreaChart\", isStacked: true)\n \"Scatter Chart\": makeGoogleChart(\"ScatterChart\")\n"]}
\ No newline at end of file \ No newline at end of file
(function(){var t;(t=function(t){return"object"==typeof exports&&"object"==typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){var e;return e=function(e,r){return function(n,i){var o,a,l,h,s,u,g,d,c,f,p,v,C,w,A,m,y,j,b,S,x,z,T,k,F,q,D,L,N,W,B;if(u={localeStrings:{vs:"vs",by:"by"},gchart:{width:function(){return window.innerWidth/1.4},height:function(){return window.innerHeight/1.4}}},i=t.extend(u,i),T=n.getRowKeys(),0===T.length&&T.push([]),l=n.getColKeys(),0===l.length&&l.push([]),g=n.aggregatorName,n.valAttrs.length&&(g+="("+n.valAttrs.join(", ")+")"),p=function(){var t,e,r;for(r=[],t=0,e=T.length;e>t;t++)c=T[t],r.push(c.join("-"));return r}(),p.unshift(""),y=0,"ScatterChart"===e){h=[],b=n.tree;for(B in b){F=b[B];for(W in F)o=F[W],h.push([parseFloat(W),parseFloat(B),g+": \n"+o.format(o.value())])}s=new google.visualization.DataTable,s.addColumn("number",n.colAttrs.join("-")),s.addColumn("number",n.rowAttrs.join("-")),s.addColumn({type:"string",role:"tooltip"}),s.addRows(h),f=n.colAttrs.join("-"),D=n.rowAttrs.join("-"),k=""}else{for(h=[p],v=0,A=l.length;A>v;v++){for(a=l[v],x=[a.join("-")],y+=x[0].length,C=0,m=T.length;m>C;C++)z=T[C],o=n.getAggregator(z,a),null!=o.value()?(L=o.value(),x.push(t.isNumeric(L)?1>L?parseFloat(L.toPrecision(3)):parseFloat(L.toFixed(3)):L)):x.push(null);h.push(x)}s=google.visualization.arrayToDataTable(h),k=D=g,f=n.colAttrs.join("-"),""!==f&&(k+=" "+i.localeStrings.vs+" "+f),d=n.rowAttrs.join("-"),""!==d&&(k+=" "+i.localeStrings.by+" "+d)}j={width:i.gchart.width(),height:i.gchart.height(),title:k,hAxis:{title:f,slantedText:y>50},vAxis:{title:D},tooltip:{textStyle:{fontName:"Arial",fontSize:12}}},"ColumnChart"===e&&(j.vAxis.minValue=0),"ScatterChart"===e?(j.legend={position:"none"},j.chartArea={width:"80%",height:"80%"}):2===h[0].length&&""===h[0][1]&&(j.legend={position:"none"});for(w in r)q=r[w],j[w]=q;return S=t("<div>").css({width:"100%",height:"100%"}),N=new google.visualization.ChartWrapper({dataTable:s,chartType:e,options:j}),N.draw(S[0]),S.bind("dblclick",function(){var t;return t=new google.visualization.ChartEditor,google.visualization.events.addListener(t,"ok",function(){return t.getChartWrapper().draw(S[0])}),t.openDialog(N)}),S}},t.pivotUtilities.gchart_renderers={"Line Chart":e("LineChart"),"Bar Chart":e("ColumnChart"),"Stacked Bar Chart":e("ColumnChart",{isStacked:!0}),"Area Chart":e("AreaChart",{isStacked:!0}),"Scatter Chart":e("ScatterChart")}})}).call(this); (function(){var t;(t=function(t){return"object"==typeof exports&&"object"==typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){var e;return e=function(e,r){return function(n,a){var o,i,l,h,s,u,g,d,c,p,f,v,C,w,A,m,y,j,b,S,x,z,T,k,F,q,D,L,N,W,B;if(d={localeStrings:{vs:"vs",by:"by"},gchart:{}},a=t.extend(!0,{},d,a),null==(i=a.gchart).width&&(i.width=window.innerWidth/1.4),null==(l=a.gchart).height&&(l.height=window.innerHeight/1.4),k=n.getRowKeys(),0===k.length&&k.push([]),s=n.getColKeys(),0===s.length&&s.push([]),c=n.aggregatorName,n.valAttrs.length&&(c+="("+n.valAttrs.join(", ")+")"),C=function(){var t,e,r;for(r=[],t=0,e=k.length;t<e;t++)f=k[t],r.push(f.join("-"));return r}(),C.unshift(""),j=0,"ScatterChart"===e){u=[],S=n.tree;for(B in S){q=S[B];for(W in q)o=q[W],u.push([parseFloat(W),parseFloat(B),c+": \n"+o.format(o.value())])}g=new google.visualization.DataTable,g.addColumn("number",n.colAttrs.join("-")),g.addColumn("number",n.rowAttrs.join("-")),g.addColumn({type:"string",role:"tooltip"}),g.addRows(u),v=n.colAttrs.join("-"),D=n.rowAttrs.join("-"),F=""}else{for(u=[C],w=0,m=s.length;w<m;w++){for(h=s[w],z=[h.join("-")],j+=z[0].length,A=0,y=k.length;A<y;A++)T=k[A],o=n.getAggregator(T,h),null!=o.value()?(L=o.value(),t.isNumeric(L)?L<1?z.push(parseFloat(L.toPrecision(3))):z.push(parseFloat(L.toFixed(3))):z.push(L)):z.push(null);u.push(z)}g=google.visualization.arrayToDataTable(u),F=D=c,v=n.colAttrs.join("-"),""!==v&&(F+=" "+a.localeStrings.vs+" "+v),p=n.rowAttrs.join("-"),""!==p&&(F+=" "+a.localeStrings.by+" "+p)}return b={title:F,hAxis:{title:v,slantedText:j>50},vAxis:{title:D},tooltip:{textStyle:{fontName:"Arial",fontSize:12}}},"ColumnChart"===e&&(b.vAxis.minValue=0),"ScatterChart"===e?(b.legend={position:"none"},b.chartArea={width:"80%",height:"80%"}):2===u[0].length&&""===u[0][1]&&(b.legend={position:"none"}),b=t.extend(!0,{},b,a.gchart,r),x=t("<div>").css({width:"100%",height:"100%"}),N=new google.visualization.ChartWrapper({dataTable:g,chartType:e,options:b}),N.draw(x[0]),x.bind("dblclick",function(){var t;return t=new google.visualization.ChartEditor,google.visualization.events.addListener(t,"ok",function(){return t.getChartWrapper().draw(x[0])}),t.openDialog(N)}),x}},t.pivotUtilities.gchart_renderers={"Line Chart":e("LineChart"),"Bar Chart":e("ColumnChart"),"Stacked Bar Chart":e("ColumnChart",{isStacked:!0}),"Area Chart":e("AreaChart",{isStacked:!0}),"Scatter Chart":e("ScatterChart")}})}).call(this);
//# sourceMappingURL=gchart_renderers.min.js.map //# sourceMappingURL=gchart_renderers.min.js.map
\ No newline at end of file
{"version":3,"sources":["/source/gchart_renderers.coffee","gchart_renderers.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","makeGoogleChart","chartType","extraOptions","pivotData","opts","agg","colKey","colKeys","dataArray","dataTable","defaults","fullAggName","groupByTitle","h","hAxisTitle","headers","i","j","k","len","len1","numCharsInHAxis","options","ref","result","row","rowKey","rowKeys","title","tree2","v","vAxisTitle","val","wrapper","x","y","localeStrings","vs","by","gchart","width","window","innerWidth","height","innerHeight","extend","getRowKeys","length","push","getColKeys","aggregatorName","valAttrs","join","results","unshift","tree","parseFloat","format","value","google","visualization","DataTable","addColumn","colAttrs","rowAttrs","type","role","addRows","getAggregator","isNumeric","toPrecision","toFixed","arrayToDataTable","hAxis","slantedText","vAxis","tooltip","textStyle","fontName","fontSize","minValue","legend","position","chartArea","css","ChartWrapper","draw","bind","editor","ChartEditor","events","addListener","getChartWrapper","openDialog","pivotUtilities","gchart_renderers","Line Chart","Bar Chart","Stacked Bar Chart","isStacked","Area Chart","Scatter Chart","call","this"],"mappings":"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","file":"gchart_renderers.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n\n makeGoogleChart = (chartType, extraOptions) -> (pivotData, opts) ->\n defaults =\n localeStrings:\n vs: \"vs\"\n by: \"by\"\n gchart:\n width: -> window.innerWidth / 1.4\n height: -> window.innerHeight / 1.4\n\n opts = $.extend defaults, opts\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n fullAggName = pivotData.aggregatorName \n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n headers = (h.join(\"-\") for h in rowKeys)\n headers.unshift \"\"\n\n numCharsInHAxis = 0\n if chartType == \"ScatterChart\"\n dataArray = []\n for y, tree2 of pivotData.tree\n for x, agg of tree2\n dataArray.push [\n parseFloat(x),\n parseFloat(y),\n fullAggName+\": \\n\"+agg.format(agg.value())\n ]\n dataTable = new google.visualization.DataTable()\n dataTable.addColumn 'number', pivotData.colAttrs.join(\"-\")\n dataTable.addColumn 'number', pivotData.rowAttrs.join(\"-\") \n dataTable.addColumn type: \"string\", role: \"tooltip\"\n dataTable.addRows dataArray\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n vAxisTitle = pivotData.rowAttrs.join(\"-\")\n title = \"\"\n else\n dataArray = [headers]\n for colKey in colKeys\n row = [colKey.join(\"-\")]\n numCharsInHAxis += row[0].length\n for rowKey in rowKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n val = agg.value()\n if $.isNumeric val\n if val < 1\n row.push parseFloat(val.toPrecision(3))\n else\n row.push parseFloat(val.toFixed(3))\n else\n row.push val\n else row.push null\n dataArray.push row\n\n dataTable = google.visualization.arrayToDataTable(dataArray)\n\n title = vAxisTitle = fullAggName\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n title += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n groupByTitle = pivotData.rowAttrs.join(\"-\")\n title += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n\n options = \n width: opts.gchart.width()\n height: opts.gchart.height()\n title: title\n hAxis: {title: hAxisTitle, slantedText: numCharsInHAxis > 50}\n vAxis: {title: vAxisTitle}\n tooltip: { textStyle: { fontName: 'Arial', fontSize: 12 } }\n\n if chartType == \"ColumnChart\"\n options.vAxis.minValue = 0\n\n if chartType == \"ScatterChart\"\n options.legend = position: \"none\"\n options.chartArea = {'width': '80%', 'height': '80%'}\n\n else if dataArray[0].length == 2 and dataArray[0][1] == \"\"\n options.legend = position: \"none\"\n\n options[k] = v for k, v of extraOptions\n\n result = $(\"<div>\").css(width: \"100%\", height: \"100%\")\n wrapper = new google.visualization.ChartWrapper {dataTable, chartType, options}\n wrapper.draw(result[0]) \n result.bind \"dblclick\", -> \n editor = new google.visualization.ChartEditor()\n google.visualization.events.addListener editor, 'ok', -> \n editor.getChartWrapper().draw(result[0])\n editor.openDialog(wrapper)\n return result\n\n $.pivotUtilities.gchart_renderers = \n \"Line Chart\": makeGoogleChart(\"LineChart\")\n \"Bar Chart\": makeGoogleChart(\"ColumnChart\")\n \"Stacked Bar Chart\": makeGoogleChart(\"ColumnChart\", isStacked: true)\n \"Area Chart\": makeGoogleChart(\"AreaChart\", isStacked: true)\n \"Scatter Chart\": makeGoogleChart(\"ScatterChart\")\n","(function(){var t;(t=function(t){return\"object\"==typeof exports&&\"object\"==typeof module?t(require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"jquery\"],t):t(jQuery)})(function(t){var e;return e=function(e,r){return function(n,i){var o,a,l,h,s,u,g,d,c,f,p,v,C,w,A,m,y,j,b,S,x,z,T,k,F,q,D,L,N,W,B;if(u={localeStrings:{vs:\"vs\",by:\"by\"},gchart:{width:function(){return window.innerWidth/1.4},height:function(){return window.innerHeight/1.4}}},i=t.extend(u,i),T=n.getRowKeys(),0===T.length&&T.push([]),l=n.getColKeys(),0===l.length&&l.push([]),g=n.aggregatorName,n.valAttrs.length&&(g+=\"(\"+n.valAttrs.join(\", \")+\")\"),p=function(){var t,e,r;for(r=[],t=0,e=T.length;e>t;t++)c=T[t],r.push(c.join(\"-\"));return r}(),p.unshift(\"\"),y=0,\"ScatterChart\"===e){h=[],b=n.tree;for(B in b){F=b[B];for(W in F)o=F[W],h.push([parseFloat(W),parseFloat(B),g+\": \\n\"+o.format(o.value())])}s=new google.visualization.DataTable,s.addColumn(\"number\",n.colAttrs.join(\"-\")),s.addColumn(\"number\",n.rowAttrs.join(\"-\")),s.addColumn({type:\"string\",role:\"tooltip\"}),s.addRows(h),f=n.colAttrs.join(\"-\"),D=n.rowAttrs.join(\"-\"),k=\"\"}else{for(h=[p],v=0,A=l.length;A>v;v++){for(a=l[v],x=[a.join(\"-\")],y+=x[0].length,C=0,m=T.length;m>C;C++)z=T[C],o=n.getAggregator(z,a),null!=o.value()?(L=o.value(),x.push(t.isNumeric(L)?1>L?parseFloat(L.toPrecision(3)):parseFloat(L.toFixed(3)):L)):x.push(null);h.push(x)}s=google.visualization.arrayToDataTable(h),k=D=g,f=n.colAttrs.join(\"-\"),\"\"!==f&&(k+=\" \"+i.localeStrings.vs+\" \"+f),d=n.rowAttrs.join(\"-\"),\"\"!==d&&(k+=\" \"+i.localeStrings.by+\" \"+d)}j={width:i.gchart.width(),height:i.gchart.height(),title:k,hAxis:{title:f,slantedText:y>50},vAxis:{title:D},tooltip:{textStyle:{fontName:\"Arial\",fontSize:12}}},\"ColumnChart\"===e&&(j.vAxis.minValue=0),\"ScatterChart\"===e?(j.legend={position:\"none\"},j.chartArea={width:\"80%\",height:\"80%\"}):2===h[0].length&&\"\"===h[0][1]&&(j.legend={position:\"none\"});for(w in r)q=r[w],j[w]=q;return S=t(\"<div>\").css({width:\"100%\",height:\"100%\"}),N=new google.visualization.ChartWrapper({dataTable:s,chartType:e,options:j}),N.draw(S[0]),S.bind(\"dblclick\",function(){var t;return t=new google.visualization.ChartEditor,google.visualization.events.addListener(t,\"ok\",function(){return t.getChartWrapper().draw(S[0])}),t.openDialog(N)}),S}},t.pivotUtilities.gchart_renderers={\"Line Chart\":e(\"LineChart\"),\"Bar Chart\":e(\"ColumnChart\"),\"Stacked Bar Chart\":e(\"ColumnChart\",{isStacked:!0}),\"Area Chart\":e(\"AreaChart\",{isStacked:!0}),\"Scatter Chart\":e(\"ScatterChart\")}})}).call(this);\n//# sourceMappingURL=gchart_renderers.min.js.map"],"sourceRoot":"/source/"} {"version":3,"sources":["gchart_renderers.coffee","gchart_renderers.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","makeGoogleChart","chartType","extraOptions","pivotData","opts","agg","base","base1","colKey","colKeys","dataArray","dataTable","defaults","fullAggName","groupByTitle","h","hAxisTitle","headers","i","j","len","len1","numCharsInHAxis","options","ref","result","row","rowKey","rowKeys","title","tree2","vAxisTitle","val","wrapper","x","y","localeStrings","vs","by","gchart","extend","width","window","innerWidth","height","innerHeight","getRowKeys","length","push","getColKeys","aggregatorName","valAttrs","join","results","unshift","tree","parseFloat","format","value","google","visualization","DataTable","addColumn","colAttrs","rowAttrs","type","role","addRows","getAggregator","isNumeric","toPrecision","toFixed","arrayToDataTable","hAxis","slantedText","vAxis","tooltip","textStyle","fontName","fontSize","minValue","legend","position","chartArea","css","ChartWrapper","draw","bind","editor","ChartEditor","events","addListener","getChartWrapper","openDialog","pivotUtilities","gchart_renderers","Line Chart","Bar Chart","Stacked Bar Chart","isStacked","Area Chart","Scatter Chart","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GAEZ,GAAAC,EC4JA,OD5JAA,GAAkB,SAACC,EAAWC,GCK5B,MDL6C,UAACC,EAAWC,GACvD,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CAqBA,IArBAvB,GACIwB,eACIC,GAAI,KACJC,GAAI,MACRC,WAEJnC,EAAOL,EAAEyC,QAAO,KAAU5B,EAAUR,GCQF,OAA7BE,EAAOF,EAAKmC,QAAQE,QACvBnC,EDRUmC,MAASC,OAAOC,WAAa,KCUL,OAA/BpC,EAAQH,EAAKmC,QAAQK,SACxBrC,EDVUqC,OAAUF,OAAOG,YAAc,KAE3CjB,EAAUzB,EAAU2C,aACiB,IAAlBlB,EAAQmB,QAA3BnB,EAAQoB,SACRvC,EAAUN,EAAU8C,aACiB,IAAlBxC,EAAQsC,QAA3BtC,EAAQuC,SACRnC,EAAcV,EAAU+C,eACrB/C,EAAUgD,SAASJ,SAClBlC,GAAe,IAAIV,EAAUgD,SAASC,KAAK,MAAM,KACrDnC,EAAA,WCgBE,GAAIC,GAAGE,EAAKiC,CAEZ,KDlBSA,KAAAnC,EAAA,EAAAE,EAAAQ,EAAAmB,OAAA7B,EAAAE,EAAAF,ICmBPH,EAAIa,EAAQV,GACZmC,EAAQL,KDpBDjC,EAAEqC,KAAK,KCsBhB,OAAOC,MDrBTpC,EAAQqC,QAAQ,IAEhBhC,EAAkB,EACF,iBAAbrB,EAAH,CACIS,KACAc,EAAArB,EAAAoD,IAAA,KAAApB,IAAAX,GAAA,CCwBAM,EAAQN,EAAIW,EDvBR,KAAAD,IAAAJ,GCyBFzB,EAAMyB,EAAMI,GDxBLxB,EAAUsC,MACPQ,WAAWtB,GACXsB,WAAWrB,GACXtB,EAAY,OAAOR,EAAIoD,OAAOpD,EAAIqD,WAE9C/C,EAAY,GAAIgD,QAAOC,cAAcC,UACrClD,EAAUmD,UAAU,SAAU3D,EAAU4D,SAASX,KAAK,MACtDzC,EAAUmD,UAAU,SAAU3D,EAAU6D,SAASZ,KAAK,MACtDzC,EAAUmD,WAAUG,KAAM,SAAUC,KAAM,YAC1CvD,EAAUwD,QAAQzD,GAClBM,EAAab,EAAU4D,SAASX,KAAK,KACrCrB,EAAa5B,EAAU6D,SAASZ,KAAK,KACrCvB,EAAQ,OAhBZ,CAmBI,IADAnB,GAAaO,GACbC,EAAA,EAAAE,EAAAX,EAAAsC,OAAA7B,EAAAE,EAAAF,IAAA,CAGI,ICwBJV,EAASC,EAAQS,GD1BbQ,GAAOlB,EAAO4C,KAAK,MACnB9B,GAAmBI,EAAI,GAAGqB,OAC1B5B,EAAA,EAAAE,EAAAO,EAAAmB,OAAA5B,EAAAE,EAAAF,IC4BFQ,EAASC,EAAQT,GD3BXd,EAAMF,EAAUiE,cAAczC,EAAQnB,GACnC,MAAAH,EAAAqD,SACC1B,EAAM3B,EAAIqD,QACP3D,EAAEsE,UAAUrC,GACRA,EAAM,EACLN,EAAIsB,KAAKQ,WAAWxB,EAAIsC,YAAY,KAEpC5C,EAAIsB,KAAKQ,WAAWxB,EAAIuC,QAAQ,KAEpC7C,EAAIsB,KAAKhB,IACZN,EAAIsB,KAAK,KAClBtC,GAAUsC,KAAKtB,GAEnBf,EAAYgD,OAAOC,cAAcY,iBAAiB9D,GAElDmB,EAAQE,EAAalB,EACrBG,EAAab,EAAU4D,SAASX,KAAK,KAC+B,KAAdpC,IAAtDa,GAAS,IAAIzB,EAAKgC,cAAcC,GAAG,IAAGrB,GACtCF,EAAeX,EAAU6D,SAASZ,KAAK,KACiC,KAAhBtC,IAAxDe,GAAS,IAAIzB,EAAKgC,cAAcE,GAAG,IAAGxB,GA4B1C,MA1BAS,IACIM,MAAOA,EACP4C,OAAQ5C,MAAOb,EAAY0D,YAAapD,EAAkB,IAC1DqD,OAAQ9C,MAAOE,GACf6C,SAAWC,WAAaC,SAAU,QAASC,SAAU,MAEzC,gBAAb9E,IACCsB,EAAQoD,MAAMK,SAAW,GAEb,iBAAb/E,GACCsB,EAAQ0D,QAASC,SAAU,QAC3B3D,EAAQ4D,WAAa1C,MAAS,MAAOG,OAAU,QAEpB,IAAvBlC,EAAU,GAAGqC,QAAoC,KAApBrC,EAAU,GAAG,KAC9Ca,EAAQ0D,QAASC,SAAU,SAE/B3D,EAAUxB,EAAEyC,QAAO,KAAUjB,EAASnB,EAAKmC,OAAQrC,GAEnDuB,EAAS1B,EAAE,SAASqF,KAAI3C,MAAO,OAAQG,OAAQ,SAC/CX,EAAU,GAAI0B,QAAOC,cAAcyB,cAAc1E,UAAAA,EAAWV,UAAAA,EAAWsB,QAAAA,IACvEU,EAAQqD,KAAK7D,EAAO,IACpBA,EAAO8D,KAAK,WAAY,WACpB,GAAAC,EC+DF,OD/DEA,GAAS,GAAI7B,QAAOC,cAAc6B,YAClC9B,OAAOC,cAAc8B,OAAOC,YAAYH,EAAQ,KAAM,WC4DtD,MD3DIA,GAAOI,kBAAkBN,KAAK7D,EAAO,MACzC+D,EAAOK,WAAW5D,KACfR,IAEX1B,EAAE+F,eAAeC,kBACbC,aAAchG,EAAgB,aAC9BiG,YAAajG,EAAgB,eAC7BkG,oBAAqBlG,EAAgB,eAAemG,WAAW,IAC/DC,aAAcpG,EAAgB,aAAamG,WAAW,IACtDE,gBAAiBrG,EAAgB,qBCsEtCsG,KAAKC","file":"gchart_renderers.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n\n makeGoogleChart = (chartType, extraOptions) -> (pivotData, opts) ->\n defaults =\n localeStrings:\n vs: \"vs\"\n by: \"by\"\n gchart: {}\n\n opts = $.extend(true, {}, defaults, opts)\n opts.gchart.width ?= window.innerWidth / 1.4\n opts.gchart.height ?= window.innerHeight / 1.4\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n fullAggName = pivotData.aggregatorName\n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n headers = (h.join(\"-\") for h in rowKeys)\n headers.unshift \"\"\n\n numCharsInHAxis = 0\n if chartType == \"ScatterChart\"\n dataArray = []\n for y, tree2 of pivotData.tree\n for x, agg of tree2\n dataArray.push [\n parseFloat(x),\n parseFloat(y),\n fullAggName+\": \\n\"+agg.format(agg.value())\n ]\n dataTable = new google.visualization.DataTable()\n dataTable.addColumn 'number', pivotData.colAttrs.join(\"-\")\n dataTable.addColumn 'number', pivotData.rowAttrs.join(\"-\")\n dataTable.addColumn type: \"string\", role: \"tooltip\"\n dataTable.addRows dataArray\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n vAxisTitle = pivotData.rowAttrs.join(\"-\")\n title = \"\"\n else\n dataArray = [headers]\n for colKey in colKeys\n row = [colKey.join(\"-\")]\n numCharsInHAxis += row[0].length\n for rowKey in rowKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n val = agg.value()\n if $.isNumeric val\n if val < 1\n row.push parseFloat(val.toPrecision(3))\n else\n row.push parseFloat(val.toFixed(3))\n else\n row.push val\n else row.push null\n dataArray.push row\n\n dataTable = google.visualization.arrayToDataTable(dataArray)\n\n title = vAxisTitle = fullAggName\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n title += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n groupByTitle = pivotData.rowAttrs.join(\"-\")\n title += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n\n options =\n title: title\n hAxis: {title: hAxisTitle, slantedText: numCharsInHAxis > 50}\n vAxis: {title: vAxisTitle}\n tooltip: { textStyle: { fontName: 'Arial', fontSize: 12 } }\n\n if chartType == \"ColumnChart\"\n options.vAxis.minValue = 0\n\n if chartType == \"ScatterChart\"\n options.legend = position: \"none\"\n options.chartArea = {'width': '80%', 'height': '80%'}\n\n else if dataArray[0].length == 2 and dataArray[0][1] == \"\"\n options.legend = position: \"none\"\n\n options = $.extend(true, {}, options, opts.gchart, extraOptions)\n\n result = $(\"<div>\").css(width: \"100%\", height: \"100%\")\n wrapper = new google.visualization.ChartWrapper {dataTable, chartType, options}\n wrapper.draw(result[0])\n result.bind \"dblclick\", ->\n editor = new google.visualization.ChartEditor()\n google.visualization.events.addListener editor, 'ok', ->\n editor.getChartWrapper().draw(result[0])\n editor.openDialog(wrapper)\n return result\n\n $.pivotUtilities.gchart_renderers =\n \"Line Chart\": makeGoogleChart(\"LineChart\")\n \"Bar Chart\": makeGoogleChart(\"ColumnChart\")\n \"Stacked Bar Chart\": makeGoogleChart(\"ColumnChart\", isStacked: true)\n \"Area Chart\": makeGoogleChart(\"AreaChart\", isStacked: true)\n \"Scatter Chart\": makeGoogleChart(\"ScatterChart\")\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var makeGoogleChart;\n makeGoogleChart = function(chartType, extraOptions) {\n return function(pivotData, opts) {\n var agg, base, base1, colKey, colKeys, dataArray, dataTable, defaults, fullAggName, groupByTitle, h, hAxisTitle, headers, i, j, len, len1, numCharsInHAxis, options, ref, result, row, rowKey, rowKeys, title, tree2, vAxisTitle, val, wrapper, x, y;\n defaults = {\n localeStrings: {\n vs: \"vs\",\n by: \"by\"\n },\n gchart: {}\n };\n opts = $.extend(true, {}, defaults, opts);\n if ((base = opts.gchart).width == null) {\n base.width = window.innerWidth / 1.4;\n }\n if ((base1 = opts.gchart).height == null) {\n base1.height = window.innerHeight / 1.4;\n }\n rowKeys = pivotData.getRowKeys();\n if (rowKeys.length === 0) {\n rowKeys.push([]);\n }\n colKeys = pivotData.getColKeys();\n if (colKeys.length === 0) {\n colKeys.push([]);\n }\n fullAggName = pivotData.aggregatorName;\n if (pivotData.valAttrs.length) {\n fullAggName += \"(\" + (pivotData.valAttrs.join(\", \")) + \")\";\n }\n headers = (function() {\n var i, len, results;\n results = [];\n for (i = 0, len = rowKeys.length; i < len; i++) {\n h = rowKeys[i];\n results.push(h.join(\"-\"));\n }\n return results;\n })();\n headers.unshift(\"\");\n numCharsInHAxis = 0;\n if (chartType === \"ScatterChart\") {\n dataArray = [];\n ref = pivotData.tree;\n for (y in ref) {\n tree2 = ref[y];\n for (x in tree2) {\n agg = tree2[x];\n dataArray.push([parseFloat(x), parseFloat(y), fullAggName + \": \\n\" + agg.format(agg.value())]);\n }\n }\n dataTable = new google.visualization.DataTable();\n dataTable.addColumn('number', pivotData.colAttrs.join(\"-\"));\n dataTable.addColumn('number', pivotData.rowAttrs.join(\"-\"));\n dataTable.addColumn({\n type: \"string\",\n role: \"tooltip\"\n });\n dataTable.addRows(dataArray);\n hAxisTitle = pivotData.colAttrs.join(\"-\");\n vAxisTitle = pivotData.rowAttrs.join(\"-\");\n title = \"\";\n } else {\n dataArray = [headers];\n for (i = 0, len = colKeys.length; i < len; i++) {\n colKey = colKeys[i];\n row = [colKey.join(\"-\")];\n numCharsInHAxis += row[0].length;\n for (j = 0, len1 = rowKeys.length; j < len1; j++) {\n rowKey = rowKeys[j];\n agg = pivotData.getAggregator(rowKey, colKey);\n if (agg.value() != null) {\n val = agg.value();\n if ($.isNumeric(val)) {\n if (val < 1) {\n row.push(parseFloat(val.toPrecision(3)));\n } else {\n row.push(parseFloat(val.toFixed(3)));\n }\n } else {\n row.push(val);\n }\n } else {\n row.push(null);\n }\n }\n dataArray.push(row);\n }\n dataTable = google.visualization.arrayToDataTable(dataArray);\n title = vAxisTitle = fullAggName;\n hAxisTitle = pivotData.colAttrs.join(\"-\");\n if (hAxisTitle !== \"\") {\n title += \" \" + opts.localeStrings.vs + \" \" + hAxisTitle;\n }\n groupByTitle = pivotData.rowAttrs.join(\"-\");\n if (groupByTitle !== \"\") {\n title += \" \" + opts.localeStrings.by + \" \" + groupByTitle;\n }\n }\n options = {\n title: title,\n hAxis: {\n title: hAxisTitle,\n slantedText: numCharsInHAxis > 50\n },\n vAxis: {\n title: vAxisTitle\n },\n tooltip: {\n textStyle: {\n fontName: 'Arial',\n fontSize: 12\n }\n }\n };\n if (chartType === \"ColumnChart\") {\n options.vAxis.minValue = 0;\n }\n if (chartType === \"ScatterChart\") {\n options.legend = {\n position: \"none\"\n };\n options.chartArea = {\n 'width': '80%',\n 'height': '80%'\n };\n } else if (dataArray[0].length === 2 && dataArray[0][1] === \"\") {\n options.legend = {\n position: \"none\"\n };\n }\n options = $.extend(true, {}, options, opts.gchart, extraOptions);\n result = $(\"<div>\").css({\n width: \"100%\",\n height: \"100%\"\n });\n wrapper = new google.visualization.ChartWrapper({\n dataTable: dataTable,\n chartType: chartType,\n options: options\n });\n wrapper.draw(result[0]);\n result.bind(\"dblclick\", function() {\n var editor;\n editor = new google.visualization.ChartEditor();\n google.visualization.events.addListener(editor, 'ok', function() {\n return editor.getChartWrapper().draw(result[0]);\n });\n return editor.openDialog(wrapper);\n });\n return result;\n };\n };\n return $.pivotUtilities.gchart_renderers = {\n \"Line Chart\": makeGoogleChart(\"LineChart\"),\n \"Bar Chart\": makeGoogleChart(\"ColumnChart\"),\n \"Stacked Bar Chart\": makeGoogleChart(\"ColumnChart\", {\n isStacked: true\n }),\n \"Area Chart\": makeGoogleChart(\"AreaChart\", {\n isStacked: true\n }),\n \"Scatter Chart\": makeGoogleChart(\"ScatterChart\")\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=gchart_renderers.js.map\n"]}
\ No newline at end of file \ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var csFmt, csFmtInt, csFmtPct, nf, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
csFmt = nf({
thousandsSep: " ",
decimalSep: ","
});
csFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: " ",
decimalSep: ","
});
csFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: " ",
decimalSep: ","
});
return $.pivotUtilities.locales.cs = {
localeStrings: {
renderError: "Došlo k chybě při vykreslování výsledků PivotTable.",
computeError: "Došlo k chybě při výpočtu výsledků PivotTable.",
uiRenderError: "Došlo k chybě při vykreslování PivotTable UI.",
selectAll: "Vybrat vše",
selectNone: "Zrušit výběr",
tooMany: "(příliš mnoho položek)",
filterResults: "Hodnoty pro filtr",
apply: "Použít",
cancel: "Zrušit",
totals: "Celkem",
vs: "ku",
by: "z"
},
aggregators: {
"Počet": tpl.count(csFmtInt),
"Počet unikátních hodnot": tpl.countUnique(csFmtInt),
"Výčet unikátních hodnot": tpl.listUnique(", "),
"Součet": tpl.sum(csFmt),
"Celočíselný součet": tpl.sum(csFmtInt),
"Průměr": tpl.average(csFmt),
"Medián": tpl.median(csFmt),
"Rozptyl": tpl["var"](1, csFmt),
"Směrodatná odchylka": tpl.stdev(1, csFmt),
"Minimum": tpl.min(csFmt),
"Maximum": tpl.max(csFmt),
"První": tpl.first(csFmt),
"Poslední": tpl.last(csFmt),
"Součet přes součet": tpl.sumOverSum(csFmt),
"80% horní hranice": tpl.sumOverSumBound80(true, csFmt),
"80% spodní hranice": tpl.sumOverSumBound80(false, csFmt),
"Součet jako poměr z celku": tpl.fractionOf(tpl.sum(), "total", csFmtPct),
"Součet jako poměr z řádků": tpl.fractionOf(tpl.sum(), "row", csFmtPct),
"Součet jako poměr ze sloupců": tpl.fractionOf(tpl.sum(), "col", csFmtPct),
"Počet jako poměr z celku": tpl.fractionOf(tpl.count(), "total", csFmtPct),
"Počet jako poměr z řádků": tpl.fractionOf(tpl.count(), "row", csFmtPct),
"Počet jako poměr ze sloupců": tpl.fractionOf(tpl.count(), "col", csFmtPct)
},
renderers: {
"Tabulka": $.pivotUtilities.renderers["Table"],
"Tabulka se sloupcovým grafem": $.pivotUtilities.renderers["Table Barchart"],
"Teplotní mapa": $.pivotUtilities.renderers["Heatmap"],
"Teplotní mapa z řádků": $.pivotUtilities.renderers["Row Heatmap"],
"Teplotní mapa ze sloupců": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.cs.js.map
{"version":3,"file":"pivot.cs.js","sources":["pivot.cs.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n csFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n csFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n csFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.cs =\n localeStrings:\n renderError: \"Došlo k chybě při vykreslování výsledků PivotTable.\"\n computeError: \"Došlo k chybě při výpočtu výsledků PivotTable.\"\n uiRenderError: \"Došlo k chybě při vykreslování PivotTable UI.\"\n selectAll: \"Vybrat vše\"\n selectNone: \"Zrušit výběr\"\n tooMany: \"(příliš mnoho položek)\"\n filterResults: \"Hodnoty pro filtr\"\n apply: \"Použít\"\n cancel: \"Zrušit\"\n totals: \"Celkem\"\n vs: \"ku\"\n by: \"z\"\n\n aggregators: \n \"Počet\": tpl.count(csFmtInt)\n \"Počet unikátních hodnot\": tpl.countUnique(csFmtInt)\n \"Výčet unikátních hodnot\": tpl.listUnique(\", \")\n \"Součet\": tpl.sum(csFmt)\n \"Celočíselný součet\": tpl.sum(csFmtInt)\n \"Průměr\": tpl.average(csFmt)\n \"Medián\": tpl.median(csFmt),\n \"Rozptyl\": tpl[\"var\"](1, csFmt),\n \"Směrodatná odchylka\": tpl.stdev(1, csFmt),\n \"Minimum\": tpl.min(csFmt)\n \"Maximum\": tpl.max(csFmt)\n \"První\": tpl.first(csFmt)\n \"Poslední\": tpl.last(csFmt)\n \"Součet přes součet\": tpl.sumOverSum(csFmt)\n \"80% horní hranice\": tpl.sumOverSumBound80(true, csFmt)\n \"80% spodní hranice\": tpl.sumOverSumBound80(false, csFmt)\n \"Součet jako poměr z celku\": tpl.fractionOf(tpl.sum(), \"total\", csFmtPct)\n \"Součet jako poměr z řádků\": tpl.fractionOf(tpl.sum(), \"row\", csFmtPct)\n \"Součet jako poměr ze sloupců\": tpl.fractionOf(tpl.sum(), \"col\", csFmtPct)\n \"Počet jako poměr z celku\": tpl.fractionOf(tpl.count(), \"total\", csFmtPct)\n \"Počet jako poměr z řádků\": tpl.fractionOf(tpl.count(), \"row\", csFmtPct)\n \"Počet jako poměr ze sloupců\": tpl.fractionOf(tpl.count(), \"col\", csFmtPct)\n\n renderers:\n \"Tabulka\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabulka se sloupcovým grafem\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Teplotní mapa\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Teplotní mapa z řádků\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Teplotní mapa ze sloupců\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.cs.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.cs.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var o,t,r,i,a;return i=e.pivotUtilities.numberFormat,a=e.pivotUtilities.aggregatorTemplates,o=i({thousandsSep:" ",decimalSep:","}),t=i({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),r=i({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.cs={localeStrings:{renderError:"Došlo k chybě při vykreslování výsledků PivotTable.",computeError:"Došlo k chybě při výpočtu výsledků PivotTable.",uiRenderError:"Došlo k chybě při vykreslování PivotTable UI.",selectAll:"Vybrat vše",selectNone:"Zrušit výběr",tooMany:"(příliš mnoho položek)",filterResults:"Hodnoty pro filtr",apply:"Použít",cancel:"Zrušit",totals:"Celkem",vs:"ku",by:"z"},aggregators:{"Počet":a.count(t),"Počet unikátních hodnot":a.countUnique(t),"Výčet unikátních hodnot":a.listUnique(", "),"Součet":a.sum(o),"Celočíselný součet":a.sum(t),"Průměr":a.average(o),"Medián":a.median(o),Rozptyl:a["var"](1,o),"Směrodatná odchylka":a.stdev(1,o),Minimum:a.min(o),Maximum:a.max(o),"První":a.first(o),"Poslední":a.last(o),"Součet přes součet":a.sumOverSum(o),"80% horní hranice":a.sumOverSumBound80(!0,o),"80% spodní hranice":a.sumOverSumBound80(!1,o),"Součet jako poměr z celku":a.fractionOf(a.sum(),"total",r),"Součet jako poměr z řádků":a.fractionOf(a.sum(),"row",r),"Součet jako poměr ze sloupců":a.fractionOf(a.sum(),"col",r),"Počet jako poměr z celku":a.fractionOf(a.count(),"total",r),"Počet jako poměr z řádků":a.fractionOf(a.count(),"row",r),"Počet jako poměr ze sloupců":a.fractionOf(a.count(),"col",r)},renderers:{Tabulka:e.pivotUtilities.renderers.Table,"Tabulka se sloupcovým grafem":e.pivotUtilities.renderers["Table Barchart"],"Teplotní mapa":e.pivotUtilities.renderers.Heatmap,"Teplotní mapa z řádků":e.pivotUtilities.renderers["Row Heatmap"],"Teplotní mapa ze sloupců":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.cs.min.js.map
{"version":3,"sources":["pivot.cs.coffee","pivot.cs.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","csFmt","csFmtInt","csFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","cs","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","apply","cancel","totals","vs","by","aggregators","Počet","count","Počet unikátních hodnot","countUnique","Výčet unikátních hodnot","listUnique","Součet","sum","Celočíselný součet","Průměr","average","Medián","median","Rozptyl","Směrodatná odchylka","stdev","Minimum","min","Maximum","max","První","first","Poslední","last","Součet přes součet","sumOverSum","80% horní hranice","sumOverSumBound80","80% spodní hranice","Součet jako poměr z celku","fractionOf","Součet jako poměr z řádků","Součet jako poměr ze sloupců","Počet jako poměr z celku","Počet jako poměr z řádků","Počet jako poměr ze sloupců","renderers","Tabulka","Tabulka se sloupcovým grafem","Teplotní mapa","Teplotní mapa z řádků","Teplotní mapa ze sloupců","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,sDACbC,aAAc,iDACdC,cAAe,gDACfC,UAAW,aACXC,WAAY,eACZC,QAAS,yBACTC,cAAe,oBACfC,MAAO,SACPC,OAAQ,SACRC,OAAQ,SACRC,GAAI,KACJC,GAAI,KAERC,aACIC,QAAgCzB,EAAI0B,MAAM7B,GAC1C8B,0BAAgC3B,EAAI4B,YAAY/B,GAChDgC,0BAAgC7B,EAAI8B,WAAW,MAC/CC,SAAgC/B,EAAIgC,IAAIpC,GACxCqC,qBAAgCjC,EAAIgC,IAAInC,GACxCqC,SAAgClC,EAAImC,QAAQvC,GAC5CwC,SAAgCpC,EAAIqC,OAAOzC,GAC3C0C,QAAgCtC,EAAI,OAAO,EAAGJ,GAC9C2C,sBAAgCvC,EAAIwC,MAAM,EAAG5C,GAC7C6C,QAAgCzC,EAAI0C,IAAI9C,GACxC+C,QAAgC3C,EAAI4C,IAAIhD,GACxCiD,QAAgC7C,EAAI8C,MAAMlD,GAC1CmD,WAAgC/C,EAAIgD,KAAKpD,GACzCqD,qBAAgCjD,EAAIkD,WAAWtD,GAC/CuD,oBAAgCnD,EAAIoD,mBAAkB,EAAMxD,GAC5DyD,qBAAgCrD,EAAIoD,mBAAkB,EAAOxD,GAC7D0D,4BAAgCtD,EAAIuD,WAAWvD,EAAIgC,MAAa,QAASlC,GACzE0D,4BAAgCxD,EAAIuD,WAAWvD,EAAIgC,MAAS,MAASlC,GACrE2D,+BAAgCzD,EAAIuD,WAAWvD,EAAIgC,MAAS,MAASlC,GACrE4D,2BAAgC1D,EAAIuD,WAAWvD,EAAI0B,QAAS,QAAS5B,GACrE6D,2BAAgC3D,EAAIuD,WAAWvD,EAAI0B,QAAS,MAAS5B,GACrE8D,8BAAgC5D,EAAIuD,WAAWvD,EAAI0B,QAAS,MAAS5B,IAEzE+D,WACIC,QAAgCnE,EAAEM,eAAe4D,UAAU,MAC3DE,+BAAgCpE,EAAEM,eAAe4D,UAAU,kBAC3DG,gBAAgCrE,EAAEM,eAAe4D,UAAU,QAC3DI,wBAAgCtE,EAAEM,eAAe4D,UAAU,eAC3DK,2BAAgCvE,EAAEM,eAAe4D,UAAU,qBCqBpEM,KAAKC","file":"pivot.cs.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n csFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n csFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n csFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.cs =\n localeStrings:\n renderError: \"Došlo k chybě při vykreslování výsledků PivotTable.\"\n computeError: \"Došlo k chybě při výpočtu výsledků PivotTable.\"\n uiRenderError: \"Došlo k chybě při vykreslování PivotTable UI.\"\n selectAll: \"Vybrat vše\"\n selectNone: \"Zrušit výběr\"\n tooMany: \"(příliš mnoho položek)\"\n filterResults: \"Hodnoty pro filtr\"\n apply: \"Použít\"\n cancel: \"Zrušit\"\n totals: \"Celkem\"\n vs: \"ku\"\n by: \"z\"\n\n aggregators: \n \"Počet\": tpl.count(csFmtInt)\n \"Počet unikátních hodnot\": tpl.countUnique(csFmtInt)\n \"Výčet unikátních hodnot\": tpl.listUnique(\", \")\n \"Součet\": tpl.sum(csFmt)\n \"Celočíselný součet\": tpl.sum(csFmtInt)\n \"Průměr\": tpl.average(csFmt)\n \"Medián\": tpl.median(csFmt),\n \"Rozptyl\": tpl[\"var\"](1, csFmt),\n \"Směrodatná odchylka\": tpl.stdev(1, csFmt),\n \"Minimum\": tpl.min(csFmt)\n \"Maximum\": tpl.max(csFmt)\n \"První\": tpl.first(csFmt)\n \"Poslední\": tpl.last(csFmt)\n \"Součet přes součet\": tpl.sumOverSum(csFmt)\n \"80% horní hranice\": tpl.sumOverSumBound80(true, csFmt)\n \"80% spodní hranice\": tpl.sumOverSumBound80(false, csFmt)\n \"Součet jako poměr z celku\": tpl.fractionOf(tpl.sum(), \"total\", csFmtPct)\n \"Součet jako poměr z řádků\": tpl.fractionOf(tpl.sum(), \"row\", csFmtPct)\n \"Součet jako poměr ze sloupců\": tpl.fractionOf(tpl.sum(), \"col\", csFmtPct)\n \"Počet jako poměr z celku\": tpl.fractionOf(tpl.count(), \"total\", csFmtPct)\n \"Počet jako poměr z řádků\": tpl.fractionOf(tpl.count(), \"row\", csFmtPct)\n \"Počet jako poměr ze sloupců\": tpl.fractionOf(tpl.count(), \"col\", csFmtPct)\n\n renderers:\n \"Tabulka\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabulka se sloupcovým grafem\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Teplotní mapa\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Teplotní mapa z řádků\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Teplotní mapa ze sloupců\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var csFmt, csFmtInt, csFmtPct, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n csFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n csFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n csFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.cs = {\n localeStrings: {\n renderError: \"Došlo k chybě při vykreslování výsledků PivotTable.\",\n computeError: \"Došlo k chybě při výpočtu výsledků PivotTable.\",\n uiRenderError: \"Došlo k chybě při vykreslování PivotTable UI.\",\n selectAll: \"Vybrat vše\",\n selectNone: \"Zrušit výběr\",\n tooMany: \"(příliš mnoho položek)\",\n filterResults: \"Hodnoty pro filtr\",\n apply: \"Použít\",\n cancel: \"Zrušit\",\n totals: \"Celkem\",\n vs: \"ku\",\n by: \"z\"\n },\n aggregators: {\n \"Počet\": tpl.count(csFmtInt),\n \"Počet unikátních hodnot\": tpl.countUnique(csFmtInt),\n \"Výčet unikátních hodnot\": tpl.listUnique(\", \"),\n \"Součet\": tpl.sum(csFmt),\n \"Celočíselný součet\": tpl.sum(csFmtInt),\n \"Průměr\": tpl.average(csFmt),\n \"Medián\": tpl.median(csFmt),\n \"Rozptyl\": tpl[\"var\"](1, csFmt),\n \"Směrodatná odchylka\": tpl.stdev(1, csFmt),\n \"Minimum\": tpl.min(csFmt),\n \"Maximum\": tpl.max(csFmt),\n \"První\": tpl.first(csFmt),\n \"Poslední\": tpl.last(csFmt),\n \"Součet přes součet\": tpl.sumOverSum(csFmt),\n \"80% horní hranice\": tpl.sumOverSumBound80(true, csFmt),\n \"80% spodní hranice\": tpl.sumOverSumBound80(false, csFmt),\n \"Součet jako poměr z celku\": tpl.fractionOf(tpl.sum(), \"total\", csFmtPct),\n \"Součet jako poměr z řádků\": tpl.fractionOf(tpl.sum(), \"row\", csFmtPct),\n \"Součet jako poměr ze sloupců\": tpl.fractionOf(tpl.sum(), \"col\", csFmtPct),\n \"Počet jako poměr z celku\": tpl.fractionOf(tpl.count(), \"total\", csFmtPct),\n \"Počet jako poměr z řádků\": tpl.fractionOf(tpl.count(), \"row\", csFmtPct),\n \"Počet jako poměr ze sloupců\": tpl.fractionOf(tpl.count(), \"col\", csFmtPct)\n },\n renderers: {\n \"Tabulka\": $.pivotUtilities.renderers[\"Table\"],\n \"Tabulka se sloupcovým grafem\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Teplotní mapa\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Teplotní mapa z řádků\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Teplotní mapa ze sloupců\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.cs.js.map\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.cs.min.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.cs.min.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -6,7 +6,7 @@ table.pvtTable { ...@@ -6,7 +6,7 @@ table.pvtTable {
text-align: left; text-align: left;
border-collapse: collapse; border-collapse: collapse;
} }
table.pvtTable tr th, table.pvtTable tr th { table.pvtTable thead tr th, table.pvtTable tbody tr th {
background-color: #e6EEEE; background-color: #e6EEEE;
border: 1px solid #CDCDCD; border: 1px solid #CDCDCD;
font-size: 8pt; font-size: 8pt;
...@@ -16,7 +16,7 @@ table.pvtTable tr th, table.pvtTable tr th { ...@@ -16,7 +16,7 @@ table.pvtTable tr th, table.pvtTable tr th {
table.pvtTable .pvtColLabel {text-align: center;} table.pvtTable .pvtColLabel {text-align: center;}
table.pvtTable .pvtTotalLabel {text-align: right;} table.pvtTable .pvtTotalLabel {text-align: right;}
table.pvtTable tr td { table.pvtTable tbody tr td {
color: #3D3D3D; color: #3D3D3D;
padding: 5px; padding: 5px;
background-color: #FFF; background-color: #FFF;
...@@ -27,7 +27,12 @@ table.pvtTable tr td { ...@@ -27,7 +27,12 @@ table.pvtTable tr td {
.pvtTotal, .pvtGrandTotal { font-weight: bold; } .pvtTotal, .pvtGrandTotal { font-weight: bold; }
.pvtVals { text-align: center;} .pvtVals { text-align: center; white-space: nowrap;}
.pvtRowOrder, .pvtColOrder {
cursor:pointer;
width: 15px;
margin-left: 5px;
display: inline-block; }
.pvtAggregator { margin-bottom: 5px ;} .pvtAggregator { margin-bottom: 5px ;}
.pvtAxisContainer, .pvtVals { .pvtAxisContainer, .pvtVals {
...@@ -36,6 +41,12 @@ table.pvtTable tr td { ...@@ -36,6 +41,12 @@ table.pvtTable tr td {
padding: 5px; padding: 5px;
min-width: 20px; min-width: 20px;
min-height: 20px; min-height: 20px;
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
-khtml-user-select: none;
-ms-user-select: none;
} }
.pvtAxisContainer li { .pvtAxisContainer li {
padding: 8px 6px; padding: 8px 6px;
...@@ -51,6 +62,7 @@ table.pvtTable tr td { ...@@ -51,6 +62,7 @@ table.pvtTable tr td {
} }
.pvtAxisContainer li span.pvtAttr { .pvtAxisContainer li span.pvtAttr {
-webkit-text-size-adjust: 100%;
background: #F3F3F3; background: #F3F3F3;
border: 1px solid #DEDEDE; border: 1px solid #DEDEDE;
padding: 2px 5px; padding: 2px 5px;
...@@ -72,25 +84,31 @@ table.pvtTable tr td { ...@@ -72,25 +84,31 @@ table.pvtTable tr td {
.pvtFilterBox{ .pvtFilterBox{
z-index: 100; z-index: 100;
width: 280px; width: 300px;
border: 1px solid gray; border: 1px solid gray;
background-color: #fff; background-color: #fff;
position: absolute; position: absolute;
padding: 20px;
text-align: center; text-align: center;
} }
.pvtFilterBox h4{ margin:0; } .pvtFilterBox h4{ margin: 15px; }
.pvtFilterBox p { margin: 1em auto; } .pvtFilterBox p { margin: 10px auto; }
.pvtFilterBox label { font-weight: normal; } .pvtFilterBox label { font-weight: normal; }
.pvtFilterBox input[type='checkbox'] { margin-right: 5px; } .pvtFilterBox input[type='checkbox'] { margin-right: 10px; margin-left: 10px; }
.pvtFilterBox input[type='text'] { width: 230px; }
.pvtFilterBox .count { color: gray; font-weight: normal; margin-left: 3px;}
.pvtCheckContainer{ .pvtCheckContainer{
text-align: left; text-align: left;
overflow: scroll; font-size: 14px;
white-space: nowrap;
overflow-y: scroll;
width: 100%; width: 100%;
max-height: 200px; max-height: 250px;
border-top: 1px solid lightgrey;
border-bottom: 1px solid lightgrey;
} }
.pvtCheckContainer p{ margin: 5px; } .pvtCheckContainer p{ margin: 5px; }
.pvtRendererArea { padding: 5px;} .pvtRendererArea { padding: 5px;}
\ No newline at end of file
...@@ -6,6 +6,10 @@ ...@@ -6,6 +6,10 @@
</pickle> </pickle>
<pickle> <pickle>
<dictionary> <dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
<value> <string>pivot.css</string> </value> <value> <string>pivot.css</string> </value>
......
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var nf, o, r, t, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
r = nf({
thousandsSep: ".",
decimalSep: ","
});
t = nf({
digitsAfterDecimal: 0,
thousandsSep: ".",
decimalSep: ","
});
o = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: ".",
decimalSep: ","
});
return $.pivotUtilities.locales.da = {
localeStrings: {
renderError: "Der opstod en fejl, mens du trak i feltet",
computeError: "Der opstod en fejl ved beregningen af feltet",
uiRenderError: "Der opstod en fejl, mens den grafiske brugerflade blev beregnet",
selectAll: "Vælg alle",
selectNone: "Vælg ingen",
tooMany: "(for mange værdier til at vise)",
filterResults: "Filter værdier",
totals: "I alt",
vs: "vs",
by: "af"
},
aggregators: {
"Antal": tpl.count(t),
"Antal Unikke værdier": tpl.countUnique(t),
"Liste unikke værdier": tpl.listUnique(", "),
"Sum": tpl.sum(r),
"Sum i heltal": tpl.sum(t),
"Gennemsnit": tpl.average(r),
"Minimum": tpl.min(r),
"Maximum": tpl.max(r),
"Sum iforhold til sum": tpl.sumOverSum(r),
"Sum iforhold til sum, øverst 80%": tpl.sumOverSumBound80(!0, r),
"Sum iforhold til sum, lavest 80%": tpl.sumOverSumBound80(!1, r),
"Andel af i alt sum": tpl.fractionOf(tpl.sum(), "total", o),
"Andel af række sum": tpl.fractionOf(tpl.sum(), "row", o),
"Andel af kolonner sum": tpl.fractionOf(tpl.sum(), "col", o),
"Andel af i alt antal": tpl.fractionOf(tpl.count(), "total", o),
"Andel af række antal": tpl.fractionOf(tpl.count(), "row", o),
"Andel af kolonner antal": tpl.fractionOf(tpl.count(), "col", o)
},
renderers: {
"Tabel": $.pivotUtilities.renderers.Table,
"Tabel med søjler": $.pivotUtilities.renderers["Table Barchart"],
"Heatmap": $.pivotUtilities.renderers.Heatmap,
"Heatmap per række": $.pivotUtilities.renderers["Row Heatmap"],
"Heatmap per kolonne": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.da.js.map
{"version":3,"file":"pivot.da.js","sources":["pivot.da.coffee"],"names":[],"mappings":"AAAA;AAAA,MAAA;;EAAA,cAAA,GAAiB,SAAC,WAAD;IACb,IAAG,OAAO,OAAP,KAAkB,QAAlB,IAA+B,OAAO,MAAP,KAAiB,QAAnD;aACI,WAAA,CAAY,OAAA,CAAQ,QAAR,CAAZ,EADJ;KAAA,MAEK,IAAG,OAAO,MAAP,KAAiB,UAAjB,IAAgC,MAAM,CAAC,GAA1C;aACD,MAAA,CAAO,CAAC,QAAD,CAAP,EAAmB,WAAnB,EADC;KAAA,MAAA;aAID,WAAA,CAAY,MAAZ,EAJC;;EAHQ;;EASjB,cAAA,CAAe,SAAC,CAAD;AACX,QAAA;IAAA,EAAA,GAAK,CAAC,CAAC,cAAc,CAAC;IACtB,GAAA,GAAM,CAAC,CAAC,cAAc,CAAC;IAEvB,CAAA,GAAI,EAAA,CAAG;MACC,YAAA,EAAc,GADf;MAEC,UAAA,EAAY,GAFb;KAAH;IAKJ,CAAA,GAAI,EAAA,CAAG;MACC,kBAAA,EAAoB,CADrB;MAEC,YAAA,EAAc,GAFf;MAGC,UAAA,EAAY,GAHb;KAAH;IAMJ,CAAA,GAAI,EAAA,CAAG;MACC,kBAAA,EAAoB,CADrB;MAEC,MAAA,EAAQ,GAFT;MAGC,MAAA,EAAQ,GAHT;MAIC,YAAA,EAAc,GAJf;MAKC,UAAA,EAAY,GALb;KAAH;WAQJ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAzB,GACI;MAAA,aAAA,EACI;QAAA,WAAA,EAAa,2CAAb;QACA,YAAA,EAAc,8CADd;QAEA,aAAA,EAAe,iEAFf;QAGA,SAAA,EAAW,WAHX;QAIA,UAAA,EAAY,YAJZ;QAKA,OAAA,EAAS,iCALT;QAMA,aAAA,EAAe,gBANf;QAOA,MAAA,EAAQ,OAPR;QAQA,EAAA,EAAI,IARJ;QASA,EAAA,EAAI,IATJ;OADJ;MAWA,WAAA,EACI;QAAA,OAAA,EAAS,GAAG,CAAC,KAAJ,CAAU,CAAV,CAAT;QACA,sBAAA,EAAwB,GAAG,CAAC,WAAJ,CAAgB,CAAhB,CADxB;QAEA,sBAAA,EAAwB,GAAG,CAAC,UAAJ,CAAe,IAAf,CAFxB;QAGA,KAAA,EAAO,GAAG,CAAC,GAAJ,CAAQ,CAAR,CAHP;QAIA,cAAA,EAAgB,GAAG,CAAC,GAAJ,CAAQ,CAAR,CAJhB;QAKA,YAAA,EAAc,GAAG,CAAC,OAAJ,CAAY,CAAZ,CALd;QAMA,SAAA,EAAW,GAAG,CAAC,GAAJ,CAAQ,CAAR,CANX;QAOA,SAAA,EAAW,GAAG,CAAC,GAAJ,CAAQ,CAAR,CAPX;QAQA,sBAAA,EAAwB,GAAG,CAAC,UAAJ,CAAe,CAAf,CARxB;QASA,kCAAA,EAAoC,GAAG,CAAC,iBAAJ,CAAsB,CAAC,CAAvB,EAA0B,CAA1B,CATpC;QAUA,mCAAA,EAAqC,GAAG,CAAC,iBAAJ,CAAsB,CAAC,CAAvB,EAA0B,CAA1B,CAVrC;QAWA,oBAAA,EAAsB,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAA0B,OAA1B,EAAmC,CAAnC,CAXtB;QAYA,oBAAA,EAAsB,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAA0B,KAA1B,EAAiC,CAAjC,CAZtB;QAaA,uBAAA,EAAyB,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAA0B,KAA1B,EAAiC,CAAjC,CAbzB;QAcA,sBAAA,EAAwB,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,OAA5B,EAAqC,CAArC,CAdxB;QAeA,sBAAA,EAAwB,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAmC,CAAnC,CAfxB;QAgBA,yBAAA,EAA2B,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAmC,CAAnC,CAhB3B;OAZJ;MA6BA,SAAA,EACI;QAAA,OAAA,EAAS,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,KAApC;QACA,kBAAA,EAAoB,CAAC,CAAC,cAAc,CAAC,SAAU,CAAA,gBAAA,CAD/C;QAEA,SAAA,EAAW,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,OAFtC;QAGA,mBAAA,EAAqB,CAAC,CAAC,cAAc,CAAC,SAAU,CAAA,aAAA,CAHhD;QAIA,qBAAA,EAAuB,CAAC,CAAC,cAAc,CAAC,SAAU,CAAA,aAAA,CAJlD;OA9BJ;;EAxBO,CAAf;AATA","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n r = nf({\n thousandsSep: \".\",\n decimalSep: \",\"\n })\n\n t = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \".\",\n decimalSep: \",\"\n })\n\n o = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \".\",\n decimalSep: \",\"\n })\n\n $.pivotUtilities.locales.da = \n localeStrings: \n renderError: \"Der opstod en fejl, mens du trak i feltet\",\n computeError: \"Der opstod en fejl ved beregningen af feltet\",\n uiRenderError: \"Der opstod en fejl, mens den grafiske brugerflade blev beregnet\",\n selectAll: \"Vælg alle\",\n selectNone: \"Vælg ingen\",\n tooMany: \"(for mange værdier til at vise)\",\n filterResults: \"Filter værdier\",\n totals: \"I alt\",\n vs: \"vs\",\n by: \"af\"\n aggregators: \n \"Antal\": tpl.count(t),\n \"Antal Unikke værdier\": tpl.countUnique(t),\n \"Liste unikke værdier\": tpl.listUnique(\", \"),\n \"Sum\": tpl.sum(r),\n \"Sum i heltal\": tpl.sum(t),\n \"Gennemsnit\": tpl.average(r),\n \"Minimum\": tpl.min(r),\n \"Maximum\": tpl.max(r),\n \"Sum iforhold til sum\": tpl.sumOverSum(r),\n \"Sum iforhold til sum, øverst 80%\": tpl.sumOverSumBound80(!0, r),\n \"Sum iforhold til sum, lavest 80%\": tpl.sumOverSumBound80(!1, r),\n \"Andel af i alt sum\": tpl.fractionOf(tpl.sum(), \"total\", o),\n \"Andel af række sum\": tpl.fractionOf(tpl.sum(), \"row\", o),\n \"Andel af kolonner sum\": tpl.fractionOf(tpl.sum(), \"col\", o),\n \"Andel af i alt antal\": tpl.fractionOf(tpl.count(), \"total\", o),\n \"Andel af række antal\": tpl.fractionOf(tpl.count(), \"row\", o),\n \"Andel af kolonner antal\": tpl.fractionOf(tpl.count(), \"col\", o)\n renderers: \n \"Tabel\": $.pivotUtilities.renderers.Table,\n \"Tabel med søjler\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Heatmap\": $.pivotUtilities.renderers.Heatmap,\n \"Heatmap per række\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Heatmap per kolonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.da.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.da.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var t,r,i,a,n;return t=e.pivotUtilities.numberFormat,n=e.pivotUtilities.aggregatorTemplates,i=t({thousandsSep:".",decimalSep:","}),a=t({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),r=t({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:".",decimalSep:","}),e.pivotUtilities.locales.da={localeStrings:{renderError:"Der opstod en fejl, mens du trak i feltet",computeError:"Der opstod en fejl ved beregningen af feltet",uiRenderError:"Der opstod en fejl, mens den grafiske brugerflade blev beregnet",selectAll:"Vælg alle",selectNone:"Vælg ingen",tooMany:"(for mange værdier til at vise)",filterResults:"Filter værdier",totals:"I alt",vs:"vs",by:"af"},aggregators:{Antal:n.count(a),"Antal Unikke værdier":n.countUnique(a),"Liste unikke værdier":n.listUnique(", "),Sum:n.sum(i),"Sum i heltal":n.sum(a),Gennemsnit:n.average(i),Minimum:n.min(i),Maximum:n.max(i),"Sum iforhold til sum":n.sumOverSum(i),"Sum iforhold til sum, øverst 80%":n.sumOverSumBound80(!0,i),"Sum iforhold til sum, lavest 80%":n.sumOverSumBound80(!1,i),"Andel af i alt sum":n.fractionOf(n.sum(),"total",r),"Andel af række sum":n.fractionOf(n.sum(),"row",r),"Andel af kolonner sum":n.fractionOf(n.sum(),"col",r),"Andel af i alt antal":n.fractionOf(n.count(),"total",r),"Andel af række antal":n.fractionOf(n.count(),"row",r),"Andel af kolonner antal":n.fractionOf(n.count(),"col",r)},renderers:{Tabel:e.pivotUtilities.renderers.Table,"Tabel med søjler":e.pivotUtilities.renderers["Table Barchart"],Heatmap:e.pivotUtilities.renderers.Heatmap,"Heatmap per række":e.pivotUtilities.renderers["Row Heatmap"],"Heatmap per kolonne":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.da.min.js.map
{"version":3,"sources":["pivot.da.coffee","pivot.da.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","nf","o","r","t","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","da","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","Antal","count","Antal Unikke værdier","countUnique","Liste unikke værdier","listUnique","Sum","sum","Sum i heltal","Gennemsnit","average","Minimum","min","Maximum","max","Sum iforhold til sum","sumOverSum","Sum iforhold til sum, øverst 80%","sumOverSumBound80","Sum iforhold til sum, lavest 80%","Andel af i alt sum","fractionOf","Andel af række sum","Andel af kolonner sum","Andel af i alt antal","Andel af række antal","Andel af kolonner antal","renderers","Tabel","Table","Tabel med søjler","Heatmap","Heatmap per række","Heatmap per kolonne","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAJ,GAAKD,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBL,EAAIF,GACIQ,aAAc,IACdC,WAAY,MAGpBN,EAAIH,GACIU,mBAAoB,EACpBF,aAAc,IACdC,WAAY,MAGpBR,EAAID,GACIU,mBAAoB,EACpBC,OAAQ,IACRC,OAAQ,IACRJ,aAAc,IACdC,WAAY,MAGpBV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,4CACbC,aAAc,+CACdC,cAAe,kEACfC,UAAW,YACXC,WAAY,aACZC,QAAS,kCACTC,cAAe,iBACfC,OAAQ,QACRC,GAAI,KACJC,GAAI,MACRC,aACIC,MAASvB,EAAIwB,MAAMzB,GACnB0B,uBAAwBzB,EAAI0B,YAAY3B,GACxC4B,uBAAwB3B,EAAI4B,WAAW,MACvCC,IAAO7B,EAAI8B,IAAIhC,GACfiC,eAAgB/B,EAAI8B,IAAI/B,GACxBiC,WAAchC,EAAIiC,QAAQnC,GAC1BoC,QAAWlC,EAAImC,IAAIrC,GACnBsC,QAAWpC,EAAIqC,IAAIvC,GACnBwC,uBAAwBtC,EAAIuC,WAAWzC,GACvC0C,mCAAoCxC,EAAIyC,mBAAkB,EAAI3C,GAC9D4C,oCAAqC1C,EAAIyC,mBAAkB,EAAI3C,GAC/D6C,qBAAsB3C,EAAI4C,WAAW5C,EAAI8B,MAAO,QAASjC,GACzDgD,qBAAsB7C,EAAI4C,WAAW5C,EAAI8B,MAAO,MAAOjC,GACvDiD,wBAAyB9C,EAAI4C,WAAW5C,EAAI8B,MAAO,MAAOjC,GAC1DkD,uBAAwB/C,EAAI4C,WAAW5C,EAAIwB,QAAS,QAAS3B,GAC7DmD,uBAAwBhD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAO3B,GAC3DoD,0BAA2BjD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAO3B,IAClEqD,WACIC,MAASxD,EAAEM,eAAeiD,UAAUE,MACpCC,mBAAoB1D,EAAEM,eAAeiD,UAAU,kBAC/CI,QAAW3D,EAAEM,eAAeiD,UAAUI,QACtCC,oBAAqB5D,EAAEM,eAAeiD,UAAU,eAChDM,sBAAuB7D,EAAEM,eAAeiD,UAAU,qBCQ3DO,KAAKC","file":"pivot.da.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n r = nf({\n thousandsSep: \".\",\n decimalSep: \",\"\n })\n\n t = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \".\",\n decimalSep: \",\"\n })\n\n o = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \".\",\n decimalSep: \",\"\n })\n\n $.pivotUtilities.locales.da = \n localeStrings: \n renderError: \"Der opstod en fejl, mens du trak i feltet\",\n computeError: \"Der opstod en fejl ved beregningen af feltet\",\n uiRenderError: \"Der opstod en fejl, mens den grafiske brugerflade blev beregnet\",\n selectAll: \"Vælg alle\",\n selectNone: \"Vælg ingen\",\n tooMany: \"(for mange værdier til at vise)\",\n filterResults: \"Filter værdier\",\n totals: \"I alt\",\n vs: \"vs\",\n by: \"af\"\n aggregators: \n \"Antal\": tpl.count(t),\n \"Antal Unikke værdier\": tpl.countUnique(t),\n \"Liste unikke værdier\": tpl.listUnique(\", \"),\n \"Sum\": tpl.sum(r),\n \"Sum i heltal\": tpl.sum(t),\n \"Gennemsnit\": tpl.average(r),\n \"Minimum\": tpl.min(r),\n \"Maximum\": tpl.max(r),\n \"Sum iforhold til sum\": tpl.sumOverSum(r),\n \"Sum iforhold til sum, øverst 80%\": tpl.sumOverSumBound80(!0, r),\n \"Sum iforhold til sum, lavest 80%\": tpl.sumOverSumBound80(!1, r),\n \"Andel af i alt sum\": tpl.fractionOf(tpl.sum(), \"total\", o),\n \"Andel af række sum\": tpl.fractionOf(tpl.sum(), \"row\", o),\n \"Andel af kolonner sum\": tpl.fractionOf(tpl.sum(), \"col\", o),\n \"Andel af i alt antal\": tpl.fractionOf(tpl.count(), \"total\", o),\n \"Andel af række antal\": tpl.fractionOf(tpl.count(), \"row\", o),\n \"Andel af kolonner antal\": tpl.fractionOf(tpl.count(), \"col\", o)\n renderers: \n \"Tabel\": $.pivotUtilities.renderers.Table,\n \"Tabel med søjler\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Heatmap\": $.pivotUtilities.renderers.Heatmap,\n \"Heatmap per række\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Heatmap per kolonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var nf, o, r, t, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n r = nf({\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n t = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n o = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.da = {\n localeStrings: {\n renderError: \"Der opstod en fejl, mens du trak i feltet\",\n computeError: \"Der opstod en fejl ved beregningen af feltet\",\n uiRenderError: \"Der opstod en fejl, mens den grafiske brugerflade blev beregnet\",\n selectAll: \"Vælg alle\",\n selectNone: \"Vælg ingen\",\n tooMany: \"(for mange værdier til at vise)\",\n filterResults: \"Filter værdier\",\n totals: \"I alt\",\n vs: \"vs\",\n by: \"af\"\n },\n aggregators: {\n \"Antal\": tpl.count(t),\n \"Antal Unikke værdier\": tpl.countUnique(t),\n \"Liste unikke værdier\": tpl.listUnique(\", \"),\n \"Sum\": tpl.sum(r),\n \"Sum i heltal\": tpl.sum(t),\n \"Gennemsnit\": tpl.average(r),\n \"Minimum\": tpl.min(r),\n \"Maximum\": tpl.max(r),\n \"Sum iforhold til sum\": tpl.sumOverSum(r),\n \"Sum iforhold til sum, øverst 80%\": tpl.sumOverSumBound80(!0, r),\n \"Sum iforhold til sum, lavest 80%\": tpl.sumOverSumBound80(!1, r),\n \"Andel af i alt sum\": tpl.fractionOf(tpl.sum(), \"total\", o),\n \"Andel af række sum\": tpl.fractionOf(tpl.sum(), \"row\", o),\n \"Andel af kolonner sum\": tpl.fractionOf(tpl.sum(), \"col\", o),\n \"Andel af i alt antal\": tpl.fractionOf(tpl.count(), \"total\", o),\n \"Andel af række antal\": tpl.fractionOf(tpl.count(), \"row\", o),\n \"Andel af kolonner antal\": tpl.fractionOf(tpl.count(), \"col\", o)\n },\n renderers: {\n \"Tabel\": $.pivotUtilities.renderers.Table,\n \"Tabel med søjler\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Heatmap\": $.pivotUtilities.renderers.Heatmap,\n \"Heatmap per række\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Heatmap per kolonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.da.js.map\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.da.min.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.da.min.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var frFmt, frFmtInt, frFmtPct, nf, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
frFmt = nf({
thousandsSep: " ",
decimalSep: ","
});
frFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: " ",
decimalSep: ","
});
frFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: " ",
decimalSep: ","
});
return $.pivotUtilities.locales.de = {
localeStrings: {
renderError: "Bei der Darstellung der Pivot-Tabelle ist ein Fehler aufgetreten.",
computeError: "Bei der Berechnung der Pivot-Tabelle ist ein Fehler aufgetreten.",
uiRenderError: "Bei der Darstellung Oberfläche der Pivot-Tabelle ist ein Fehler aufgetreten.",
selectAll: "Alles auswählen",
selectNone: "Nichts auswählen",
tooMany: "(zu viele für Liste)",
filterResults: "Ergebnisse filtern",
totals: "Gesamt",
vs: "gegen",
by: "pro"
},
aggregators: {
"Anzahl": tpl.count(frFmtInt),
"Anzahl eindeutiger Werte": tpl.countUnique(frFmtInt),
"Liste eindeutiger Werte": tpl.listUnique(", "),
"Summe": tpl.sum(frFmt),
"Ganzzahlige Summe": tpl.sum(frFmtInt),
"Durchschnitt": tpl.average(frFmt),
"Minimum": tpl.min(frFmt),
"Maximum": tpl.max(frFmt),
"Summe über Summe": tpl.sumOverSum(frFmt),
"80% Obergrenze": tpl.sumOverSumBound80(true, frFmt),
"80% Untergrenze": tpl.sumOverSumBound80(false, frFmt),
"Summe als Anteil von Gesamt": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Summe als Anteil von Zeile": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"Summe als Anteil von Spalte": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"Anzahl als Anteil von Gesamt": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"Anzahl als Anteil von Zeile": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"Anzahl als Anteil von Spalte": tpl.fractionOf(tpl.count(), "col", frFmtPct)
},
renderers: {
"Tabelle": $.pivotUtilities.renderers["Table"],
"Tabelle mit Balkendiagramm": $.pivotUtilities.renderers["Table Barchart"],
"Heatmap": $.pivotUtilities.renderers["Heatmap"],
"Heatmap pro Zeile": $.pivotUtilities.renderers["Row Heatmap"],
"Heatmap pro Spalte": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.de.js.map
{"version":3,"file":"pivot.de.js","sources":["pivot.de.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.de = \n localeStrings:\n renderError: \"Bei der Darstellung der Pivot-Tabelle ist ein Fehler aufgetreten.\"\n computeError: \"Bei der Berechnung der Pivot-Tabelle ist ein Fehler aufgetreten.\"\n uiRenderError: \"Bei der Darstellung Oberfläche der Pivot-Tabelle ist ein Fehler aufgetreten.\"\n selectAll: \"Alles auswählen\"\n selectNone: \"Nichts auswählen\"\n tooMany: \"(zu viele für Liste)\"\n filterResults: \"Ergebnisse filtern\"\n totals: \"Gesamt\"\n vs: \"gegen\"\n by: \"pro\"\n\n aggregators: \n \"Anzahl\": tpl.count(frFmtInt)\n \"Anzahl eindeutiger Werte\": tpl.countUnique(frFmtInt)\n \"Liste eindeutiger Werte\": tpl.listUnique(\", \")\n \"Summe\": tpl.sum(frFmt)\n \"Ganzzahlige Summe\":\t\t\ttpl.sum(frFmtInt)\n \"Durchschnitt\": tpl.average(frFmt)\n \"Minimum\": tpl.min(frFmt)\n \"Maximum\": tpl.max(frFmt)\n \"Summe über Summe\": tpl.sumOverSum(frFmt)\n \"80% Obergrenze\": tpl.sumOverSumBound80(true, frFmt)\n \"80% Untergrenze\": \t\ttpl.sumOverSumBound80(false, frFmt)\n \"Summe als Anteil von Gesamt\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Summe als Anteil von Zeile\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Summe als Anteil von Spalte\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Anzahl als Anteil von Gesamt\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Anzahl als Anteil von Zeile\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Anzahl als Anteil von Spalte\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabelle\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabelle mit Balkendiagramm\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Heatmap pro Zeile\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Heatmap pro Spalte\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.de.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.de.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var t,i,r,l,a;return l=e.pivotUtilities.numberFormat,a=e.pivotUtilities.aggregatorTemplates,t=l({thousandsSep:" ",decimalSep:","}),i=l({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),r=l({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.de={localeStrings:{renderError:"Bei der Darstellung der Pivot-Tabelle ist ein Fehler aufgetreten.",computeError:"Bei der Berechnung der Pivot-Tabelle ist ein Fehler aufgetreten.",uiRenderError:"Bei der Darstellung Oberfläche der Pivot-Tabelle ist ein Fehler aufgetreten.",selectAll:"Alles auswählen",selectNone:"Nichts auswählen",tooMany:"(zu viele für Liste)",filterResults:"Ergebnisse filtern",totals:"Gesamt",vs:"gegen",by:"pro"},aggregators:{Anzahl:a.count(i),"Anzahl eindeutiger Werte":a.countUnique(i),"Liste eindeutiger Werte":a.listUnique(", "),Summe:a.sum(t),"Ganzzahlige Summe":a.sum(i),Durchschnitt:a.average(t),Minimum:a.min(t),Maximum:a.max(t),"Summe über Summe":a.sumOverSum(t),"80% Obergrenze":a.sumOverSumBound80(!0,t),"80% Untergrenze":a.sumOverSumBound80(!1,t),"Summe als Anteil von Gesamt":a.fractionOf(a.sum(),"total",r),"Summe als Anteil von Zeile":a.fractionOf(a.sum(),"row",r),"Summe als Anteil von Spalte":a.fractionOf(a.sum(),"col",r),"Anzahl als Anteil von Gesamt":a.fractionOf(a.count(),"total",r),"Anzahl als Anteil von Zeile":a.fractionOf(a.count(),"row",r),"Anzahl als Anteil von Spalte":a.fractionOf(a.count(),"col",r)},renderers:{Tabelle:e.pivotUtilities.renderers.Table,"Tabelle mit Balkendiagramm":e.pivotUtilities.renderers["Table Barchart"],Heatmap:e.pivotUtilities.renderers.Heatmap,"Heatmap pro Zeile":e.pivotUtilities.renderers["Row Heatmap"],"Heatmap pro Spalte":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.de.min.js.map
{"version":3,"sources":["pivot.de.coffee","pivot.de.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","frFmt","frFmtInt","frFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","de","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","Anzahl","count","Anzahl eindeutiger Werte","countUnique","Liste eindeutiger Werte","listUnique","Summe","sum","Ganzzahlige Summe","Durchschnitt","average","Minimum","min","Maximum","max","Summe über Summe","sumOverSum","80% Obergrenze","sumOverSumBound80","80% Untergrenze","Summe als Anteil von Gesamt","fractionOf","Summe als Anteil von Zeile","Summe als Anteil von Spalte","Anzahl als Anteil von Gesamt","Anzahl als Anteil von Zeile","Anzahl als Anteil von Spalte","renderers","Tabelle","Tabelle mit Balkendiagramm","Heatmap","Heatmap pro Zeile","Heatmap pro Spalte","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,oEACbC,aAAc,mEACdC,cAAe,+EACfC,UAAW,kBACXC,WAAY,mBACZC,QAAS,uBACTC,cAAe,qBACfC,OAAQ,SACRC,GAAI,QACJC,GAAI,OAERC,aACIC,OAAgCvB,EAAIwB,MAAM3B,GAC1C4B,2BAAgCzB,EAAI0B,YAAY7B,GAChD8B,0BAAgC3B,EAAI4B,WAAW,MAC/CC,MAAgC7B,EAAI8B,IAAIlC,GACxCmC,oBAAuB/B,EAAI8B,IAAIjC,GAC/BmC,aAAgChC,EAAIiC,QAAQrC,GAC5CsC,QAAgClC,EAAImC,IAAIvC,GACxCwC,QAAgCpC,EAAIqC,IAAIzC,GACxC0C,mBAAgCtC,EAAIuC,WAAW3C,GAC/C4C,iBAAgCxC,EAAIyC,mBAAkB,EAAM7C,GAC5D8C,kBAA4B1C,EAAIyC,mBAAkB,EAAO7C,GACzD+C,8BAAgC3C,EAAI4C,WAAW5C,EAAI8B,MAAS,QAAShC,GACrE+C,6BAAgC7C,EAAI4C,WAAW5C,EAAI8B,MAAS,MAAShC,GACrEgD,8BAAgC9C,EAAI4C,WAAW5C,EAAI8B,MAAS,MAAShC,GACrEiD,+BAAgC/C,EAAI4C,WAAW5C,EAAIwB,QAAS,QAAS1B,GACrEkD,8BAAgChD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAS1B,GACrEmD,+BAAgCjD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAS1B,IAEzEoD,WACIC,QAAgCxD,EAAEM,eAAeiD,UAAU,MAC3DE,6BAAgCzD,EAAEM,eAAeiD,UAAU,kBAC3DG,QAAgC1D,EAAEM,eAAeiD,UAAU,QAC3DI,oBAAgC3D,EAAEM,eAAeiD,UAAU,eAC3DK,qBAAgC5D,EAAEM,eAAeiD,UAAU,qBCqBpEM,KAAKC","file":"pivot.de.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.de = \n localeStrings:\n renderError: \"Bei der Darstellung der Pivot-Tabelle ist ein Fehler aufgetreten.\"\n computeError: \"Bei der Berechnung der Pivot-Tabelle ist ein Fehler aufgetreten.\"\n uiRenderError: \"Bei der Darstellung Oberfläche der Pivot-Tabelle ist ein Fehler aufgetreten.\"\n selectAll: \"Alles auswählen\"\n selectNone: \"Nichts auswählen\"\n tooMany: \"(zu viele für Liste)\"\n filterResults: \"Ergebnisse filtern\"\n totals: \"Gesamt\"\n vs: \"gegen\"\n by: \"pro\"\n\n aggregators: \n \"Anzahl\": tpl.count(frFmtInt)\n \"Anzahl eindeutiger Werte\": tpl.countUnique(frFmtInt)\n \"Liste eindeutiger Werte\": tpl.listUnique(\", \")\n \"Summe\": tpl.sum(frFmt)\n \"Ganzzahlige Summe\":\t\t\ttpl.sum(frFmtInt)\n \"Durchschnitt\": tpl.average(frFmt)\n \"Minimum\": tpl.min(frFmt)\n \"Maximum\": tpl.max(frFmt)\n \"Summe über Summe\": tpl.sumOverSum(frFmt)\n \"80% Obergrenze\": tpl.sumOverSumBound80(true, frFmt)\n \"80% Untergrenze\": \t\ttpl.sumOverSumBound80(false, frFmt)\n \"Summe als Anteil von Gesamt\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Summe als Anteil von Zeile\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Summe als Anteil von Spalte\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Anzahl als Anteil von Gesamt\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Anzahl als Anteil von Zeile\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Anzahl als Anteil von Spalte\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabelle\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabelle mit Balkendiagramm\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Heatmap pro Zeile\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Heatmap pro Spalte\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var frFmt, frFmtInt, frFmtPct, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n frFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.de = {\n localeStrings: {\n renderError: \"Bei der Darstellung der Pivot-Tabelle ist ein Fehler aufgetreten.\",\n computeError: \"Bei der Berechnung der Pivot-Tabelle ist ein Fehler aufgetreten.\",\n uiRenderError: \"Bei der Darstellung Oberfläche der Pivot-Tabelle ist ein Fehler aufgetreten.\",\n selectAll: \"Alles auswählen\",\n selectNone: \"Nichts auswählen\",\n tooMany: \"(zu viele für Liste)\",\n filterResults: \"Ergebnisse filtern\",\n totals: \"Gesamt\",\n vs: \"gegen\",\n by: \"pro\"\n },\n aggregators: {\n \"Anzahl\": tpl.count(frFmtInt),\n \"Anzahl eindeutiger Werte\": tpl.countUnique(frFmtInt),\n \"Liste eindeutiger Werte\": tpl.listUnique(\", \"),\n \"Summe\": tpl.sum(frFmt),\n \"Ganzzahlige Summe\": tpl.sum(frFmtInt),\n \"Durchschnitt\": tpl.average(frFmt),\n \"Minimum\": tpl.min(frFmt),\n \"Maximum\": tpl.max(frFmt),\n \"Summe über Summe\": tpl.sumOverSum(frFmt),\n \"80% Obergrenze\": tpl.sumOverSumBound80(true, frFmt),\n \"80% Untergrenze\": tpl.sumOverSumBound80(false, frFmt),\n \"Summe als Anteil von Gesamt\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Summe als Anteil von Zeile\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Summe als Anteil von Spalte\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Anzahl als Anteil von Gesamt\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Anzahl als Anteil von Zeile\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Anzahl als Anteil von Spalte\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Tabelle\": $.pivotUtilities.renderers[\"Table\"],\n \"Tabelle mit Balkendiagramm\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Heatmap pro Zeile\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Heatmap pro Spalte\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.de.js.map\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.de.min.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.de.min.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -33,35 +33,42 @@ ...@@ -33,35 +33,42 @@
}); });
return $.pivotUtilities.locales.es = { return $.pivotUtilities.locales.es = {
localeStrings: { localeStrings: {
renderError: "Ocurri&oacute; un error durante la interpretaci&oacute;n de la tabla din&acute;mica.", renderError: "Ocurrió un error durante la interpretación de la tabla dinámica.",
computeError: "Ocurri&oacute; un error durante el c&acute;lculo de la tabla din&acute;mica.", computeError: "Ocurrió un error durante el cálculo de la tabla dinámica.",
uiRenderError: "Ocurri&oacute; un error durante el dibujado de la tabla din&acute;mica.", uiRenderError: "Ocurrió un error durante el dibujado de la tabla dinámica.",
selectAll: "Seleccionar todo", selectAll: "Seleccionar todo",
selectNone: "Deseleccionar todo", selectNone: "Deseleccionar todo",
tooMany: "(demasiados valores)", tooMany: "(demasiados valores)",
filterResults: "Filtrar resultados", filterResults: "Filtrar resultados",
totals: "Totales", totals: "Totales",
vs: "vs", vs: "vs",
by: "por" by: "por",
apply: "Aplicar",
cancel: "Cancelar"
}, },
aggregators: { aggregators: {
"Cuenta": tpl.count(frFmtInt), "Cuenta": tpl.count(frFmtInt),
"Cuenta de valores &uacute;nicos": tpl.countUnique(frFmtInt), "Cuenta de valores únicos": tpl.countUnique(frFmtInt),
"Lista de valores &uacute;nicos": tpl.listUnique(", "), "Lista de valores únicos": tpl.listUnique(", "),
"Suma": tpl.sum(frFmt), "Suma": tpl.sum(frFmt),
"Suma de enteros": tpl.sum(frFmtInt), "Suma de enteros": tpl.sum(frFmtInt),
"Promedio": tpl.average(frFmt), "Promedio": tpl.average(frFmt),
"Mediana": tpl.median(frFmt),
"Diferencia": tpl["var"](1, frFmt),
"Desviación estándar de la muestra": tpl.stdev(1, frFmt),
"Mínimo": tpl.min(frFmt), "Mínimo": tpl.min(frFmt),
"Máximo": tpl.max(frFmt), "Máximo": tpl.max(frFmt),
"Primero": tpl.first(frFmt),
"Pasado": tpl.last(frFmt),
"Suma de sumas": tpl.sumOverSum(frFmt), "Suma de sumas": tpl.sumOverSum(frFmt),
"Cota 80% superior": tpl.sumOverSumBound80(true, frFmt), "Cota 80% superior": tpl.sumOverSumBound80(true, frFmt),
"Cota 80% inferior": tpl.sumOverSumBound80(false, frFmt), "Cota 80% inferior": tpl.sumOverSumBound80(false, frFmt),
"Proporci&oacute;n del total (suma)": tpl.fractionOf(tpl.sum(), "total", frFmtPct), "Proporción del total (suma)": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Proporci&oacute;n de la fila (suma)": tpl.fractionOf(tpl.sum(), "row", frFmtPct), "Proporción de la fila (suma)": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"Proporci&oacute;n de la columna (suma)": tpl.fractionOf(tpl.sum(), "col", frFmtPct), "Proporción de la columna (suma)": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"Proporci&oacute;n del total (cuenta)": tpl.fractionOf(tpl.count(), "total", frFmtPct), "Proporción del total (cuenta)": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"Proporci&oacute;n de la fila (cuenta)": tpl.fractionOf(tpl.count(), "row", frFmtPct), "Proporción de la fila (cuenta)": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"Proporci&oacute;n de la columna (cuenta)": tpl.fractionOf(tpl.count(), "col", frFmtPct) "Proporción de la columna (cuenta)": tpl.fractionOf(tpl.count(), "col", frFmtPct)
}, },
renderers: { renderers: {
"Tabla": $.pivotUtilities.renderers["Table"], "Tabla": $.pivotUtilities.renderers["Table"],
...@@ -75,4 +82,4 @@ ...@@ -75,4 +82,4 @@
}).call(this); }).call(this);
//# sourceMappingURL=pivot.es.js.map //# sourceMappingURL=pivot.es.js.map
\ No newline at end of file
{"version":3,"sources":["pivot.es.coffee"],"names":[],"mappings":"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","file":"pivot.es.js","sourceRoot":"/source/","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.es = \n\n localeStrings:\n renderError: \"Ocurri&oacute; un error durante la interpretaci&oacute;n de la tabla din&acute;mica.\"\n computeError: \"Ocurri&oacute; un error durante el c&acute;lculo de la tabla din&acute;mica.\"\n uiRenderError: \"Ocurri&oacute; un error durante el dibujado de la tabla din&acute;mica.\"\n selectAll: \"Seleccionar todo\"\n selectNone: \"Deseleccionar todo\"\n tooMany: \"(demasiados valores)\"\n filterResults: \"Filtrar resultados\"\n totals: \"Totales\"\n vs: \"vs\"\n by: \"por\"\n aggregators: \n \"Cuenta\": tpl.count(frFmtInt)\n \"Cuenta de valores &uacute;nicos\": tpl.countUnique(frFmtInt)\n \"Lista de valores &uacute;nicos\": tpl.listUnique(\", \")\n \"Suma\": tpl.sum(frFmt)\n \"Suma de enteros\": tpl.sum(frFmtInt)\n \"Promedio\": tpl.average(frFmt)\n \"Mínimo\": tpl.min(frFmt)\n \"Máximo\": tpl.max(frFmt)\n \"Suma de sumas\": tpl.sumOverSum(frFmt)\n \"Cota 80% superior\": tpl.sumOverSumBound80(true, frFmt)\n \"Cota 80% inferior\": tpl.sumOverSumBound80(false, frFmt)\n \"Proporci&oacute;n del total (suma)\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Proporci&oacute;n de la fila (suma)\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Proporci&oacute;n de la columna (suma)\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Proporci&oacute;n del total (cuenta)\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Proporci&oacute;n de la fila (cuenta)\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Proporci&oacute;n de la columna (cuenta)\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabla\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabla con barras\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Heatmap por filas\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Heatmap por columnas\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n"]} {"version":3,"file":"pivot.es.js","sources":["pivot.es.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.es = \n\n localeStrings:\n renderError: \"Ocurrió un error durante la interpretación de la tabla dinámica.\"\n computeError: \"Ocurrió un error durante el cálculo de la tabla dinámica.\"\n uiRenderError: \"Ocurrió un error durante el dibujado de la tabla dinámica.\"\n selectAll: \"Seleccionar todo\"\n selectNone: \"Deseleccionar todo\"\n tooMany: \"(demasiados valores)\"\n filterResults: \"Filtrar resultados\"\n totals: \"Totales\"\n vs: \"vs\"\n by: \"por\"\n apply: \"Aplicar\"\n cancel: \"Cancelar\"\n\n aggregators: \n \"Cuenta\": tpl.count(frFmtInt)\n \"Cuenta de valores únicos\": tpl.countUnique(frFmtInt)\n \"Lista de valores únicos\": tpl.listUnique(\", \")\n \"Suma\": tpl.sum(frFmt)\n \"Suma de enteros\": tpl.sum(frFmtInt)\n \"Promedio\": tpl.average(frFmt)\n \"Mediana\": tpl.median(frFmt)\n \"Diferencia\": tpl.var(1, frFmt)\n \"Desviación estándar de la muestra\": tpl.stdev(1, frFmt)\n \"Mínimo\": tpl.min(frFmt)\n \"Máximo\": tpl.max(frFmt)\n \"Primero\": tpl.first(frFmt),\n \"Pasado\": tpl.last(frFmt),\n \"Suma de sumas\": tpl.sumOverSum(frFmt)\n \"Cota 80% superior\": tpl.sumOverSumBound80(true, frFmt)\n \"Cota 80% inferior\": tpl.sumOverSumBound80(false, frFmt)\n \"Proporción del total (suma)\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Proporción de la fila (suma)\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Proporción de la columna (suma)\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Proporción del total (cuenta)\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Proporción de la fila (cuenta)\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Proporción de la columna (cuenta)\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabla\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabla con barras\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Heatmap por filas\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Heatmap por columnas\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n"]}
\ No newline at end of file \ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var a,t,r,o,i;return o=e.pivotUtilities.numberFormat,i=e.pivotUtilities.aggregatorTemplates,a=o({thousandsSep:" ",decimalSep:","}),t=o({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),r=o({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.es={localeStrings:{renderError:"Ocurri&oacute; un error durante la interpretaci&oacute;n de la tabla din&acute;mica.",computeError:"Ocurri&oacute; un error durante el c&acute;lculo de la tabla din&acute;mica.",uiRenderError:"Ocurri&oacute; un error durante el dibujado de la tabla din&acute;mica.",selectAll:"Seleccionar todo",selectNone:"Deseleccionar todo",tooMany:"(demasiados valores)",filterResults:"Filtrar resultados",totals:"Totales",vs:"vs",by:"por"},aggregators:{Cuenta:i.count(t),"Cuenta de valores &uacute;nicos":i.countUnique(t),"Lista de valores &uacute;nicos":i.listUnique(", "),Suma:i.sum(a),"Suma de enteros":i.sum(t),Promedio:i.average(a),"Mínimo":i.min(a),"Máximo":i.max(a),"Suma de sumas":i.sumOverSum(a),"Cota 80% superior":i.sumOverSumBound80(!0,a),"Cota 80% inferior":i.sumOverSumBound80(!1,a),"Proporci&oacute;n del total (suma)":i.fractionOf(i.sum(),"total",r),"Proporci&oacute;n de la fila (suma)":i.fractionOf(i.sum(),"row",r),"Proporci&oacute;n de la columna (suma)":i.fractionOf(i.sum(),"col",r),"Proporci&oacute;n del total (cuenta)":i.fractionOf(i.count(),"total",r),"Proporci&oacute;n de la fila (cuenta)":i.fractionOf(i.count(),"row",r),"Proporci&oacute;n de la columna (cuenta)":i.fractionOf(i.count(),"col",r)},renderers:{Tabla:e.pivotUtilities.renderers.Table,"Tabla con barras":e.pivotUtilities.renderers["Table Barchart"],Heatmap:e.pivotUtilities.renderers.Heatmap,"Heatmap por filas":e.pivotUtilities.renderers["Row Heatmap"],"Heatmap por columnas":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this); (function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var a,r,t,i,o;return i=e.pivotUtilities.numberFormat,o=e.pivotUtilities.aggregatorTemplates,a=i({thousandsSep:" ",decimalSep:","}),r=i({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),t=i({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.es={localeStrings:{renderError:"Ocurrió un error durante la interpretación de la tabla dinámica.",computeError:"Ocurrió un error durante el cálculo de la tabla dinámica.",uiRenderError:"Ocurrió un error durante el dibujado de la tabla dinámica.",selectAll:"Seleccionar todo",selectNone:"Deseleccionar todo",tooMany:"(demasiados valores)",filterResults:"Filtrar resultados",totals:"Totales",vs:"vs",by:"por",apply:"Aplicar",cancel:"Cancelar"},aggregators:{Cuenta:o.count(r),"Cuenta de valores únicos":o.countUnique(r),"Lista de valores únicos":o.listUnique(", "),Suma:o.sum(a),"Suma de enteros":o.sum(r),Promedio:o.average(a),Mediana:o.median(a),Diferencia:o["var"](1,a),"Desviación estándar de la muestra":o.stdev(1,a),"Mínimo":o.min(a),"Máximo":o.max(a),Primero:o.first(a),Pasado:o.last(a),"Suma de sumas":o.sumOverSum(a),"Cota 80% superior":o.sumOverSumBound80(!0,a),"Cota 80% inferior":o.sumOverSumBound80(!1,a),"Proporción del total (suma)":o.fractionOf(o.sum(),"total",t),"Proporción de la fila (suma)":o.fractionOf(o.sum(),"row",t),"Proporción de la columna (suma)":o.fractionOf(o.sum(),"col",t),"Proporción del total (cuenta)":o.fractionOf(o.count(),"total",t),"Proporción de la fila (cuenta)":o.fractionOf(o.count(),"row",t),"Proporción de la columna (cuenta)":o.fractionOf(o.count(),"col",t)},renderers:{Tabla:e.pivotUtilities.renderers.Table,"Tabla con barras":e.pivotUtilities.renderers["Table Barchart"],Heatmap:e.pivotUtilities.renderers.Heatmap,"Heatmap por filas":e.pivotUtilities.renderers["Row Heatmap"],"Heatmap por columnas":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.es.min.js.map //# sourceMappingURL=pivot.es.min.js.map
\ No newline at end of file
{"version":3,"sources":["/source/pivot.es.coffee","pivot.es.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","frFmt","frFmtInt","frFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","es","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","Cuenta","count","Cuenta de valores &uacute;nicos","countUnique","Lista de valores &uacute;nicos","listUnique","Suma","sum","Suma de enteros","Promedio","average","Mínimo","min","Máximo","max","Suma de sumas","sumOverSum","Cota 80% superior","sumOverSumBound80","Cota 80% inferior","Proporci&oacute;n del total (suma)","fractionOf","Proporci&oacute;n de la fila (suma)","Proporci&oacute;n de la columna (suma)","Proporci&oacute;n del total (cuenta)","Proporci&oacute;n de la fila (cuenta)","Proporci&oacute;n de la columna (cuenta)","renderers","Tabla","Tabla con barras","Heatmap","Heatmap por filas","Heatmap por columnas","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAlBC,UAAgD,gBAAjBC,QAC9BF,EAAYG,QAAQ,WACC,kBAAjBC,SAAgCA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IAErBC,eACIC,YAAa,uFACbC,aAAc,+EACdC,cAAe,0EACfC,UAAW,mBACXC,WAAY,qBACZC,QAAS,uBACTC,cAAe,qBACfC,OAAQ,UACRC,GAAI,KACJC,GAAI,OACRC,aACIC,OAAsCvB,EAAIwB,MAAM3B,GAChD4B,kCAA4CzB,EAAI0B,YAAY7B,GAC5D8B,iCAA4C3B,EAAI4B,WAAW,MAC3DC,KAAqC7B,EAAI8B,IAAIlC,GAC7CmC,kBAAqC/B,EAAI8B,IAAIjC,GAC7CmC,SAAuChC,EAAIiC,QAAQrC,GACnDsC,SAAgDlC,EAAImC,IAAIvC,GACxDwC,SAAgDpC,EAAIqC,IAAIzC,GACxD0C,gBAAoCtC,EAAIuC,WAAW3C,GACnD4C,oBAA4BxC,EAAIyC,mBAAkB,EAAM7C,GACxD8C,oBAA4B1C,EAAIyC,mBAAkB,EAAO7C,GACzD+C,qCAA2C3C,EAAI4C,WAAW5C,EAAI8B,MAAS,QAAShC,GAChF+C,sCAA0C7C,EAAI4C,WAAW5C,EAAI8B,MAAS,MAAShC,GAC/EgD,yCAA2C9C,EAAI4C,WAAW5C,EAAI8B,MAAS,MAAShC,GAChFiD,uCAA4C/C,EAAI4C,WAAW5C,EAAIwB,QAAS,QAAS1B,GACjFkD,wCAA2ChD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAS1B,GAChFmD,2CAA4CjD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAS1B,IAErFoD,WACIC,MAAmCxD,EAAEM,eAAeiD,UAAU,MAC9DE,mBAAkCzD,EAAEM,eAAeiD,UAAU,kBAC7DG,QAA0B1D,EAAEM,eAAeiD,UAAU,QACrDI,oBAA0B3D,EAAEM,eAAeiD,UAAU,eACrDK,uBAA2B5D,EAAEM,eAAeiD,UAAU,qBCqB/DM,KAAKC","file":"pivot.es.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.es = \n\n localeStrings:\n renderError: \"Ocurri&oacute; un error durante la interpretaci&oacute;n de la tabla din&acute;mica.\"\n computeError: \"Ocurri&oacute; un error durante el c&acute;lculo de la tabla din&acute;mica.\"\n uiRenderError: \"Ocurri&oacute; un error durante el dibujado de la tabla din&acute;mica.\"\n selectAll: \"Seleccionar todo\"\n selectNone: \"Deseleccionar todo\"\n tooMany: \"(demasiados valores)\"\n filterResults: \"Filtrar resultados\"\n totals: \"Totales\"\n vs: \"vs\"\n by: \"por\"\n aggregators: \n \"Cuenta\": tpl.count(frFmtInt)\n \"Cuenta de valores &uacute;nicos\": tpl.countUnique(frFmtInt)\n \"Lista de valores &uacute;nicos\": tpl.listUnique(\", \")\n \"Suma\": tpl.sum(frFmt)\n \"Suma de enteros\": tpl.sum(frFmtInt)\n \"Promedio\": tpl.average(frFmt)\n \"Mínimo\": tpl.min(frFmt)\n \"Máximo\": tpl.max(frFmt)\n \"Suma de sumas\": tpl.sumOverSum(frFmt)\n \"Cota 80% superior\": tpl.sumOverSumBound80(true, frFmt)\n \"Cota 80% inferior\": tpl.sumOverSumBound80(false, frFmt)\n \"Proporci&oacute;n del total (suma)\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Proporci&oacute;n de la fila (suma)\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Proporci&oacute;n de la columna (suma)\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Proporci&oacute;n del total (cuenta)\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Proporci&oacute;n de la fila (cuenta)\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Proporci&oacute;n de la columna (cuenta)\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabla\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabla con barras\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Heatmap por filas\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Heatmap por columnas\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n","(function(){var e;(e=function(e){return\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"jquery\"],e):e(jQuery)})(function(e){var a,t,r,o,i;return o=e.pivotUtilities.numberFormat,i=e.pivotUtilities.aggregatorTemplates,a=o({thousandsSep:\" \",decimalSep:\",\"}),t=o({digitsAfterDecimal:0,thousandsSep:\" \",decimalSep:\",\"}),r=o({digitsAfterDecimal:1,scaler:100,suffix:\"%\",thousandsSep:\" \",decimalSep:\",\"}),e.pivotUtilities.locales.es={localeStrings:{renderError:\"Ocurri&oacute; un error durante la interpretaci&oacute;n de la tabla din&acute;mica.\",computeError:\"Ocurri&oacute; un error durante el c&acute;lculo de la tabla din&acute;mica.\",uiRenderError:\"Ocurri&oacute; un error durante el dibujado de la tabla din&acute;mica.\",selectAll:\"Seleccionar todo\",selectNone:\"Deseleccionar todo\",tooMany:\"(demasiados valores)\",filterResults:\"Filtrar resultados\",totals:\"Totales\",vs:\"vs\",by:\"por\"},aggregators:{Cuenta:i.count(t),\"Cuenta de valores &uacute;nicos\":i.countUnique(t),\"Lista de valores &uacute;nicos\":i.listUnique(\", \"),Suma:i.sum(a),\"Suma de enteros\":i.sum(t),Promedio:i.average(a),\"Mínimo\":i.min(a),\"Máximo\":i.max(a),\"Suma de sumas\":i.sumOverSum(a),\"Cota 80% superior\":i.sumOverSumBound80(!0,a),\"Cota 80% inferior\":i.sumOverSumBound80(!1,a),\"Proporci&oacute;n del total (suma)\":i.fractionOf(i.sum(),\"total\",r),\"Proporci&oacute;n de la fila (suma)\":i.fractionOf(i.sum(),\"row\",r),\"Proporci&oacute;n de la columna (suma)\":i.fractionOf(i.sum(),\"col\",r),\"Proporci&oacute;n del total (cuenta)\":i.fractionOf(i.count(),\"total\",r),\"Proporci&oacute;n de la fila (cuenta)\":i.fractionOf(i.count(),\"row\",r),\"Proporci&oacute;n de la columna (cuenta)\":i.fractionOf(i.count(),\"col\",r)},renderers:{Tabla:e.pivotUtilities.renderers.Table,\"Tabla con barras\":e.pivotUtilities.renderers[\"Table Barchart\"],Heatmap:e.pivotUtilities.renderers.Heatmap,\"Heatmap por filas\":e.pivotUtilities.renderers[\"Row Heatmap\"],\"Heatmap por columnas\":e.pivotUtilities.renderers[\"Col Heatmap\"]}}})}).call(this);\n//# sourceMappingURL=pivot.es.min.js.map"],"sourceRoot":"/source/"} {"version":3,"sources":["pivot.es.coffee","pivot.es.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","frFmt","frFmtInt","frFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","es","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","apply","cancel","aggregators","Cuenta","count","Cuenta de valores únicos","countUnique","Lista de valores únicos","listUnique","Suma","sum","Suma de enteros","Promedio","average","Mediana","median","Diferencia","Desviación estándar de la muestra","stdev","Mínimo","min","Máximo","max","Primero","first","Pasado","last","Suma de sumas","sumOverSum","Cota 80% superior","sumOverSumBound80","Cota 80% inferior","Proporción del total (suma)","fractionOf","Proporción de la fila (suma)","Proporción de la columna (suma)","Proporción del total (cuenta)","Proporción de la fila (cuenta)","Proporción de la columna (cuenta)","renderers","Tabla","Tabla con barras","Heatmap","Heatmap por filas","Heatmap por columnas","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IAErBC,eACIC,YAAa,mEACbC,aAAc,4DACdC,cAAe,6DACfC,UAAW,mBACXC,WAAY,qBACZC,QAAS,uBACTC,cAAe,qBACfC,OAAQ,UACRC,GAAI,KACJC,GAAI,MACJC,MAAO,UACPC,OAAQ,YAEZC,aACIC,OAAsCzB,EAAI0B,MAAM7B,GAChD8B,2BAAqC3B,EAAI4B,YAAY/B,GACrDgC,0BAAqC7B,EAAI8B,WAAW,MACpDC,KAAqC/B,EAAIgC,IAAIpC,GAC7CqC,kBAAqCjC,EAAIgC,IAAInC,GAC7CqC,SAAuClC,EAAImC,QAAQvC,GACnDwC,QAAuCpC,EAAIqC,OAAOzC,GAClD0C,WAAuCtC,EAAG,OAAK,EAAGJ,GAClD2C,oCAAgDvC,EAAIwC,MAAM,EAAG5C,GAC7D6C,SAAgDzC,EAAI0C,IAAI9C,GACxD+C,SAAgD3C,EAAI4C,IAAIhD,GACxDiD,QAA+C7C,EAAI8C,MAAMlD,GACzDmD,OAA+C/C,EAAIgD,KAAKpD,GACxDqD,gBAAoCjD,EAAIkD,WAAWtD,GACnDuD,oBAA4BnD,EAAIoD,mBAAkB,EAAMxD,GACxDyD,oBAA4BrD,EAAIoD,mBAAkB,EAAOxD,GACzD0D,8BAAoCtD,EAAIuD,WAAWvD,EAAIgC,MAAS,QAASlC,GACzE0D,+BAAmCxD,EAAIuD,WAAWvD,EAAIgC,MAAS,MAASlC,GACxE2D,kCAAoCzD,EAAIuD,WAAWvD,EAAIgC,MAAS,MAASlC,GACzE4D,gCAAqC1D,EAAIuD,WAAWvD,EAAI0B,QAAS,QAAS5B,GAC1E6D,iCAAoC3D,EAAIuD,WAAWvD,EAAI0B,QAAS,MAAS5B,GACzE8D,oCAAqC5D,EAAIuD,WAAWvD,EAAI0B,QAAS,MAAS5B,IAE9E+D,WACIC,MAAmCnE,EAAEM,eAAe4D,UAAU,MAC9DE,mBAAkCpE,EAAEM,eAAe4D,UAAU,kBAC7DG,QAA0BrE,EAAEM,eAAe4D,UAAU,QACrDI,oBAA0BtE,EAAEM,eAAe4D,UAAU,eACrDK,uBAA2BvE,EAAEM,eAAe4D,UAAU,qBCoB/DM,KAAKC","file":"pivot.es.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.es = \n\n localeStrings:\n renderError: \"Ocurrió un error durante la interpretación de la tabla dinámica.\"\n computeError: \"Ocurrió un error durante el cálculo de la tabla dinámica.\"\n uiRenderError: \"Ocurrió un error durante el dibujado de la tabla dinámica.\"\n selectAll: \"Seleccionar todo\"\n selectNone: \"Deseleccionar todo\"\n tooMany: \"(demasiados valores)\"\n filterResults: \"Filtrar resultados\"\n totals: \"Totales\"\n vs: \"vs\"\n by: \"por\"\n apply: \"Aplicar\"\n cancel: \"Cancelar\"\n\n aggregators: \n \"Cuenta\": tpl.count(frFmtInt)\n \"Cuenta de valores únicos\": tpl.countUnique(frFmtInt)\n \"Lista de valores únicos\": tpl.listUnique(\", \")\n \"Suma\": tpl.sum(frFmt)\n \"Suma de enteros\": tpl.sum(frFmtInt)\n \"Promedio\": tpl.average(frFmt)\n \"Mediana\": tpl.median(frFmt)\n \"Diferencia\": tpl.var(1, frFmt)\n \"Desviación estándar de la muestra\": tpl.stdev(1, frFmt)\n \"Mínimo\": tpl.min(frFmt)\n \"Máximo\": tpl.max(frFmt)\n \"Primero\": tpl.first(frFmt),\n \"Pasado\": tpl.last(frFmt),\n \"Suma de sumas\": tpl.sumOverSum(frFmt)\n \"Cota 80% superior\": tpl.sumOverSumBound80(true, frFmt)\n \"Cota 80% inferior\": tpl.sumOverSumBound80(false, frFmt)\n \"Proporción del total (suma)\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Proporción de la fila (suma)\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Proporción de la columna (suma)\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Proporción del total (cuenta)\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Proporción de la fila (cuenta)\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Proporción de la columna (cuenta)\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabla\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabla con barras\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Heatmap por filas\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Heatmap por columnas\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var frFmt, frFmtInt, frFmtPct, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n frFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.es = {\n localeStrings: {\n renderError: \"Ocurrió un error durante la interpretación de la tabla dinámica.\",\n computeError: \"Ocurrió un error durante el cálculo de la tabla dinámica.\",\n uiRenderError: \"Ocurrió un error durante el dibujado de la tabla dinámica.\",\n selectAll: \"Seleccionar todo\",\n selectNone: \"Deseleccionar todo\",\n tooMany: \"(demasiados valores)\",\n filterResults: \"Filtrar resultados\",\n totals: \"Totales\",\n vs: \"vs\",\n by: \"por\",\n apply: \"Aplicar\",\n cancel: \"Cancelar\"\n },\n aggregators: {\n \"Cuenta\": tpl.count(frFmtInt),\n \"Cuenta de valores únicos\": tpl.countUnique(frFmtInt),\n \"Lista de valores únicos\": tpl.listUnique(\", \"),\n \"Suma\": tpl.sum(frFmt),\n \"Suma de enteros\": tpl.sum(frFmtInt),\n \"Promedio\": tpl.average(frFmt),\n \"Mediana\": tpl.median(frFmt),\n \"Diferencia\": tpl[\"var\"](1, frFmt),\n \"Desviación estándar de la muestra\": tpl.stdev(1, frFmt),\n \"Mínimo\": tpl.min(frFmt),\n \"Máximo\": tpl.max(frFmt),\n \"Primero\": tpl.first(frFmt),\n \"Pasado\": tpl.last(frFmt),\n \"Suma de sumas\": tpl.sumOverSum(frFmt),\n \"Cota 80% superior\": tpl.sumOverSumBound80(true, frFmt),\n \"Cota 80% inferior\": tpl.sumOverSumBound80(false, frFmt),\n \"Proporción del total (suma)\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Proporción de la fila (suma)\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Proporción de la columna (suma)\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Proporción del total (cuenta)\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Proporción de la fila (cuenta)\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Proporción de la columna (cuenta)\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Tabla\": $.pivotUtilities.renderers[\"Table\"],\n \"Tabla con barras\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Heatmap por filas\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Heatmap por columnas\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.es.js.map\n"]}
\ No newline at end of file \ No newline at end of file
...@@ -33,16 +33,18 @@ ...@@ -33,16 +33,18 @@
}); });
return $.pivotUtilities.locales.fr = { return $.pivotUtilities.locales.fr = {
localeStrings: { localeStrings: {
renderError: "Une erreur est survenue en dessinant le tableau crois&eacute;.", renderError: "Une erreur est survenue en dessinant le tableau croisé.",
computeError: "Une erreur est survenue en calculant le tableau crois&eacute;.", computeError: "Une erreur est survenue en calculant le tableau croisé.",
uiRenderError: "Une erreur est survenue en dessinant l'interface du tableau crois&eacute; dynamique.", uiRenderError: "Une erreur est survenue en dessinant l'interface du tableau croisé dynamique.",
selectAll: "S&eacute;lectionner tout", selectAll: "Sélectionner tout",
selectNone: "S&eacute;lectionner rien", selectNone: "Sélectionner rien",
tooMany: "(trop de valeurs &agrave; afficher)", tooMany: "(trop de valeurs à afficher)",
filterResults: "Filtrer les valeurs", filterResults: "Filtrer les valeurs",
totals: "Totaux", totals: "Totaux",
vs: "sur", vs: "sur",
by: "par" by: "par",
apply: "Appliquer",
cancel: "Annuler"
}, },
aggregators: { aggregators: {
"Nombre": tpl.count(frFmtInt), "Nombre": tpl.count(frFmtInt),
...@@ -53,9 +55,11 @@ ...@@ -53,9 +55,11 @@
"Moyenne": tpl.average(frFmt), "Moyenne": tpl.average(frFmt),
"Minimum": tpl.min(frFmt), "Minimum": tpl.min(frFmt),
"Maximum": tpl.max(frFmt), "Maximum": tpl.max(frFmt),
"Premier": tpl.first(frFmt),
"Dernier": tpl.last(frFmt),
"Ratio de sommes": tpl.sumOverSum(frFmt), "Ratio de sommes": tpl.sumOverSum(frFmt),
"Borne sup&eacute;rieure 80%": tpl.sumOverSumBound80(true, frFmt), "Borne supérieure 80%": tpl.sumOverSumBound80(true, frFmt),
"Borne inf&eacute;rieure 80%": tpl.sumOverSumBound80(false, frFmt), "Borne inférieure 80%": tpl.sumOverSumBound80(false, frFmt),
"Somme en proportion du totale": tpl.fractionOf(tpl.sum(), "total", frFmtPct), "Somme en proportion du totale": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Somme en proportion de la ligne": tpl.fractionOf(tpl.sum(), "row", frFmtPct), "Somme en proportion de la ligne": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"Somme en proportion de la colonne": tpl.fractionOf(tpl.sum(), "col", frFmtPct), "Somme en proportion de la colonne": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
...@@ -75,4 +79,4 @@ ...@@ -75,4 +79,4 @@
}).call(this); }).call(this);
//# sourceMappingURL=pivot.fr.js.map //# sourceMappingURL=pivot.fr.js.map
\ No newline at end of file
{"version":3,"sources":["pivot.fr.coffee"],"names":[],"mappings":"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","file":"pivot.fr.js","sourceRoot":"/source/","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.fr = \n localeStrings:\n renderError: \"Une erreur est survenue en dessinant le tableau crois&eacute;.\"\n computeError: \"Une erreur est survenue en calculant le tableau crois&eacute;.\"\n uiRenderError: \"Une erreur est survenue en dessinant l'interface du tableau crois&eacute; dynamique.\"\n selectAll: \"S&eacute;lectionner tout\"\n selectNone: \"S&eacute;lectionner rien\"\n tooMany: \"(trop de valeurs &agrave; afficher)\"\n filterResults: \"Filtrer les valeurs\"\n totals: \"Totaux\"\n vs: \"sur\"\n by: \"par\"\n\n aggregators: \n \"Nombre\": tpl.count(frFmtInt)\n \"Nombre de valeurs uniques\": tpl.countUnique(frFmtInt)\n \"Liste de valeurs uniques\": tpl.listUnique(\", \")\n \"Somme\": tpl.sum(frFmt)\n \"Somme en entiers\": tpl.sum(frFmtInt)\n \"Moyenne\": tpl.average(frFmt)\n \"Minimum\": tpl.min(frFmt)\n \"Maximum\": tpl.max(frFmt)\n \"Ratio de sommes\": tpl.sumOverSum(frFmt)\n \"Borne sup&eacute;rieure 80%\": tpl.sumOverSumBound80(true, frFmt)\n \"Borne inf&eacute;rieure 80%\": tpl.sumOverSumBound80(false, frFmt)\n \"Somme en proportion du totale\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Somme en proportion de la ligne\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Somme en proportion de la colonne\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Nombre en proportion du totale\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Nombre en proportion de la ligne\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Nombre en proportion de la colonne\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Table\": $.pivotUtilities.renderers[\"Table\"]\n \"Table avec barres\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Carte de chaleur\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Carte de chaleur par ligne\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Carte de chaleur par colonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n"]} {"version":3,"file":"pivot.fr.js","sources":["pivot.fr.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.fr =\n localeStrings:\n renderError: \"Une erreur est survenue en dessinant le tableau croisé.\"\n computeError: \"Une erreur est survenue en calculant le tableau croisé.\"\n uiRenderError: \"Une erreur est survenue en dessinant l'interface du tableau croisé dynamique.\"\n selectAll: \"Sélectionner tout\"\n selectNone: \"Sélectionner rien\"\n tooMany: \"(trop de valeurs à afficher)\"\n filterResults: \"Filtrer les valeurs\"\n totals: \"Totaux\"\n vs: \"sur\"\n by: \"par\"\n apply: \"Appliquer\"\n cancel: \"Annuler\"\n\n aggregators:\n \"Nombre\": tpl.count(frFmtInt)\n \"Nombre de valeurs uniques\": tpl.countUnique(frFmtInt)\n \"Liste de valeurs uniques\": tpl.listUnique(\", \")\n \"Somme\": tpl.sum(frFmt)\n \"Somme en entiers\": tpl.sum(frFmtInt)\n \"Moyenne\": tpl.average(frFmt)\n \"Minimum\": tpl.min(frFmt)\n \"Maximum\": tpl.max(frFmt)\n \"Premier\": tpl.first(frFmt)\n \"Dernier\": tpl.last(frFmt)\n \"Ratio de sommes\": tpl.sumOverSum(frFmt)\n \"Borne supérieure 80%\": tpl.sumOverSumBound80(true, frFmt)\n \"Borne inférieure 80%\": tpl.sumOverSumBound80(false, frFmt)\n \"Somme en proportion du totale\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Somme en proportion de la ligne\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Somme en proportion de la colonne\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Nombre en proportion du totale\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Nombre en proportion de la ligne\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Nombre en proportion de la colonne\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Table\": $.pivotUtilities.renderers[\"Table\"]\n \"Table avec barres\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Carte de chaleur\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Carte de chaleur par ligne\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Carte de chaleur par colonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n"]}
\ No newline at end of file \ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var r,t,o,i,n;return i=e.pivotUtilities.numberFormat,n=e.pivotUtilities.aggregatorTemplates,r=i({thousandsSep:" ",decimalSep:","}),t=i({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),o=i({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.fr={localeStrings:{renderError:"Une erreur est survenue en dessinant le tableau crois&eacute;.",computeError:"Une erreur est survenue en calculant le tableau crois&eacute;.",uiRenderError:"Une erreur est survenue en dessinant l'interface du tableau crois&eacute; dynamique.",selectAll:"S&eacute;lectionner tout",selectNone:"S&eacute;lectionner rien",tooMany:"(trop de valeurs &agrave; afficher)",filterResults:"Filtrer les valeurs",totals:"Totaux",vs:"sur",by:"par"},aggregators:{Nombre:n.count(t),"Nombre de valeurs uniques":n.countUnique(t),"Liste de valeurs uniques":n.listUnique(", "),Somme:n.sum(r),"Somme en entiers":n.sum(t),Moyenne:n.average(r),Minimum:n.min(r),Maximum:n.max(r),"Ratio de sommes":n.sumOverSum(r),"Borne sup&eacute;rieure 80%":n.sumOverSumBound80(!0,r),"Borne inf&eacute;rieure 80%":n.sumOverSumBound80(!1,r),"Somme en proportion du totale":n.fractionOf(n.sum(),"total",o),"Somme en proportion de la ligne":n.fractionOf(n.sum(),"row",o),"Somme en proportion de la colonne":n.fractionOf(n.sum(),"col",o),"Nombre en proportion du totale":n.fractionOf(n.count(),"total",o),"Nombre en proportion de la ligne":n.fractionOf(n.count(),"row",o),"Nombre en proportion de la colonne":n.fractionOf(n.count(),"col",o)},renderers:{Table:e.pivotUtilities.renderers.Table,"Table avec barres":e.pivotUtilities.renderers["Table Barchart"],"Carte de chaleur":e.pivotUtilities.renderers.Heatmap,"Carte de chaleur par ligne":e.pivotUtilities.renderers["Row Heatmap"],"Carte de chaleur par colonne":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this); (function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var r,t,o,i,n;return i=e.pivotUtilities.numberFormat,n=e.pivotUtilities.aggregatorTemplates,r=i({thousandsSep:" ",decimalSep:","}),t=i({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),o=i({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.fr={localeStrings:{renderError:"Une erreur est survenue en dessinant le tableau croisé.",computeError:"Une erreur est survenue en calculant le tableau croisé.",uiRenderError:"Une erreur est survenue en dessinant l'interface du tableau croisé dynamique.",selectAll:"Sélectionner tout",selectNone:"Sélectionner rien",tooMany:"(trop de valeurs à afficher)",filterResults:"Filtrer les valeurs",totals:"Totaux",vs:"sur",by:"par",apply:"Appliquer",cancel:"Annuler"},aggregators:{Nombre:n.count(t),"Nombre de valeurs uniques":n.countUnique(t),"Liste de valeurs uniques":n.listUnique(", "),Somme:n.sum(r),"Somme en entiers":n.sum(t),Moyenne:n.average(r),Minimum:n.min(r),Maximum:n.max(r),Premier:n.first(r),Dernier:n.last(r),"Ratio de sommes":n.sumOverSum(r),"Borne supérieure 80%":n.sumOverSumBound80(!0,r),"Borne inférieure 80%":n.sumOverSumBound80(!1,r),"Somme en proportion du totale":n.fractionOf(n.sum(),"total",o),"Somme en proportion de la ligne":n.fractionOf(n.sum(),"row",o),"Somme en proportion de la colonne":n.fractionOf(n.sum(),"col",o),"Nombre en proportion du totale":n.fractionOf(n.count(),"total",o),"Nombre en proportion de la ligne":n.fractionOf(n.count(),"row",o),"Nombre en proportion de la colonne":n.fractionOf(n.count(),"col",o)},renderers:{Table:e.pivotUtilities.renderers.Table,"Table avec barres":e.pivotUtilities.renderers["Table Barchart"],"Carte de chaleur":e.pivotUtilities.renderers.Heatmap,"Carte de chaleur par ligne":e.pivotUtilities.renderers["Row Heatmap"],"Carte de chaleur par colonne":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.fr.min.js.map //# sourceMappingURL=pivot.fr.min.js.map
\ No newline at end of file
{"version":3,"sources":["/source/pivot.fr.coffee","pivot.fr.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","frFmt","frFmtInt","frFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","fr","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","Nombre","count","Nombre de valeurs uniques","countUnique","Liste de valeurs uniques","listUnique","Somme","sum","Somme en entiers","Moyenne","average","Minimum","min","Maximum","max","Ratio de sommes","sumOverSum","Borne sup&eacute;rieure 80%","sumOverSumBound80","Borne inf&eacute;rieure 80%","Somme en proportion du totale","fractionOf","Somme en proportion de la ligne","Somme en proportion de la colonne","Nombre en proportion du totale","Nombre en proportion de la ligne","Nombre en proportion de la colonne","renderers","Table","Table avec barres","Carte de chaleur","Carte de chaleur par ligne","Carte de chaleur par colonne","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAlBC,UAAgD,gBAAjBC,QAC9BF,EAAYG,QAAQ,WACC,kBAAjBC,SAAgCA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,iEACbC,aAAc,iEACdC,cAAe,uFACfC,UAAW,2BACXC,WAAY,2BACZC,QAAS,sCACTC,cAAe,sBACfC,OAAQ,SACRC,GAAI,MACJC,GAAI,OAERC,aACIC,OAAsCvB,EAAIwB,MAAM3B,GAChD4B,4BAAsCzB,EAAI0B,YAAY7B,GACtD8B,2BAAsC3B,EAAI4B,WAAW,MACrDC,MAAsC7B,EAAI8B,IAAIlC,GAC9CmC,mBAAsC/B,EAAI8B,IAAIjC,GAC9CmC,QAAsChC,EAAIiC,QAAQrC,GAClDsC,QAAsClC,EAAImC,IAAIvC,GAC9CwC,QAAsCpC,EAAIqC,IAAIzC,GAC9C0C,kBAAsCtC,EAAIuC,WAAW3C,GACrD4C,8BAAsCxC,EAAIyC,mBAAkB,EAAM7C,GAClE8C,8BAAsC1C,EAAIyC,mBAAkB,EAAO7C,GACnE+C,gCAAsC3C,EAAI4C,WAAW5C,EAAI8B,MAAS,QAAShC,GAC3E+C,kCAAsC7C,EAAI4C,WAAW5C,EAAI8B,MAAS,MAAShC,GAC3EgD,oCAAsC9C,EAAI4C,WAAW5C,EAAI8B,MAAS,MAAShC,GAC3EiD,iCAAsC/C,EAAI4C,WAAW5C,EAAIwB,QAAS,QAAS1B,GAC3EkD,mCAAsChD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAS1B,GAC3EmD,qCAAsCjD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAS1B,IAE/EoD,WACIC,MAAmCxD,EAAEM,eAAeiD,UAAU,MAC9DE,oBAAmCzD,EAAEM,eAAeiD,UAAU,kBAC9DG,mBAAmC1D,EAAEM,eAAeiD,UAAU,QAC9DI,6BAAmC3D,EAAEM,eAAeiD,UAAU,eAC9DK,+BAAmC5D,EAAEM,eAAeiD,UAAU,qBCqBvEM,KAAKC","file":"pivot.fr.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.fr = \n localeStrings:\n renderError: \"Une erreur est survenue en dessinant le tableau crois&eacute;.\"\n computeError: \"Une erreur est survenue en calculant le tableau crois&eacute;.\"\n uiRenderError: \"Une erreur est survenue en dessinant l'interface du tableau crois&eacute; dynamique.\"\n selectAll: \"S&eacute;lectionner tout\"\n selectNone: \"S&eacute;lectionner rien\"\n tooMany: \"(trop de valeurs &agrave; afficher)\"\n filterResults: \"Filtrer les valeurs\"\n totals: \"Totaux\"\n vs: \"sur\"\n by: \"par\"\n\n aggregators: \n \"Nombre\": tpl.count(frFmtInt)\n \"Nombre de valeurs uniques\": tpl.countUnique(frFmtInt)\n \"Liste de valeurs uniques\": tpl.listUnique(\", \")\n \"Somme\": tpl.sum(frFmt)\n \"Somme en entiers\": tpl.sum(frFmtInt)\n \"Moyenne\": tpl.average(frFmt)\n \"Minimum\": tpl.min(frFmt)\n \"Maximum\": tpl.max(frFmt)\n \"Ratio de sommes\": tpl.sumOverSum(frFmt)\n \"Borne sup&eacute;rieure 80%\": tpl.sumOverSumBound80(true, frFmt)\n \"Borne inf&eacute;rieure 80%\": tpl.sumOverSumBound80(false, frFmt)\n \"Somme en proportion du totale\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Somme en proportion de la ligne\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Somme en proportion de la colonne\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Nombre en proportion du totale\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Nombre en proportion de la ligne\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Nombre en proportion de la colonne\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Table\": $.pivotUtilities.renderers[\"Table\"]\n \"Table avec barres\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Carte de chaleur\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Carte de chaleur par ligne\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Carte de chaleur par colonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n","(function(){var e;(e=function(e){return\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"jquery\"],e):e(jQuery)})(function(e){var r,t,o,i,n;return i=e.pivotUtilities.numberFormat,n=e.pivotUtilities.aggregatorTemplates,r=i({thousandsSep:\" \",decimalSep:\",\"}),t=i({digitsAfterDecimal:0,thousandsSep:\" \",decimalSep:\",\"}),o=i({digitsAfterDecimal:1,scaler:100,suffix:\"%\",thousandsSep:\" \",decimalSep:\",\"}),e.pivotUtilities.locales.fr={localeStrings:{renderError:\"Une erreur est survenue en dessinant le tableau crois&eacute;.\",computeError:\"Une erreur est survenue en calculant le tableau crois&eacute;.\",uiRenderError:\"Une erreur est survenue en dessinant l'interface du tableau crois&eacute; dynamique.\",selectAll:\"S&eacute;lectionner tout\",selectNone:\"S&eacute;lectionner rien\",tooMany:\"(trop de valeurs &agrave; afficher)\",filterResults:\"Filtrer les valeurs\",totals:\"Totaux\",vs:\"sur\",by:\"par\"},aggregators:{Nombre:n.count(t),\"Nombre de valeurs uniques\":n.countUnique(t),\"Liste de valeurs uniques\":n.listUnique(\", \"),Somme:n.sum(r),\"Somme en entiers\":n.sum(t),Moyenne:n.average(r),Minimum:n.min(r),Maximum:n.max(r),\"Ratio de sommes\":n.sumOverSum(r),\"Borne sup&eacute;rieure 80%\":n.sumOverSumBound80(!0,r),\"Borne inf&eacute;rieure 80%\":n.sumOverSumBound80(!1,r),\"Somme en proportion du totale\":n.fractionOf(n.sum(),\"total\",o),\"Somme en proportion de la ligne\":n.fractionOf(n.sum(),\"row\",o),\"Somme en proportion de la colonne\":n.fractionOf(n.sum(),\"col\",o),\"Nombre en proportion du totale\":n.fractionOf(n.count(),\"total\",o),\"Nombre en proportion de la ligne\":n.fractionOf(n.count(),\"row\",o),\"Nombre en proportion de la colonne\":n.fractionOf(n.count(),\"col\",o)},renderers:{Table:e.pivotUtilities.renderers.Table,\"Table avec barres\":e.pivotUtilities.renderers[\"Table Barchart\"],\"Carte de chaleur\":e.pivotUtilities.renderers.Heatmap,\"Carte de chaleur par ligne\":e.pivotUtilities.renderers[\"Row Heatmap\"],\"Carte de chaleur par colonne\":e.pivotUtilities.renderers[\"Col Heatmap\"]}}})}).call(this);\n//# sourceMappingURL=pivot.fr.min.js.map"],"sourceRoot":"/source/"} {"version":3,"sources":["pivot.fr.coffee","pivot.fr.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","frFmt","frFmtInt","frFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","fr","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","apply","cancel","aggregators","Nombre","count","Nombre de valeurs uniques","countUnique","Liste de valeurs uniques","listUnique","Somme","sum","Somme en entiers","Moyenne","average","Minimum","min","Maximum","max","Premier","first","Dernier","last","Ratio de sommes","sumOverSum","Borne supérieure 80%","sumOverSumBound80","Borne inférieure 80%","Somme en proportion du totale","fractionOf","Somme en proportion de la ligne","Somme en proportion de la colonne","Nombre en proportion du totale","Nombre en proportion de la ligne","Nombre en proportion de la colonne","renderers","Table","Table avec barres","Carte de chaleur","Carte de chaleur par ligne","Carte de chaleur par colonne","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,0DACbC,aAAc,0DACdC,cAAe,gFACfC,UAAW,oBACXC,WAAY,oBACZC,QAAS,+BACTC,cAAe,sBACfC,OAAQ,SACRC,GAAI,MACJC,GAAI,MACJC,MAAO,YACPC,OAAQ,WAEZC,aACIC,OAAsCzB,EAAI0B,MAAM7B,GAChD8B,4BAAsC3B,EAAI4B,YAAY/B,GACtDgC,2BAAsC7B,EAAI8B,WAAW,MACrDC,MAAsC/B,EAAIgC,IAAIpC,GAC9CqC,mBAAsCjC,EAAIgC,IAAInC,GAC9CqC,QAAsClC,EAAImC,QAAQvC,GAClDwC,QAAsCpC,EAAIqC,IAAIzC,GAC9C0C,QAAsCtC,EAAIuC,IAAI3C,GAC9C4C,QAAsCxC,EAAIyC,MAAM7C,GAChD8C,QAAsC1C,EAAI2C,KAAK/C,GAC/CgD,kBAAsC5C,EAAI6C,WAAWjD,GACrDkD,uBAAsC9C,EAAI+C,mBAAkB,EAAMnD,GAClEoD,uBAAsChD,EAAI+C,mBAAkB,EAAOnD,GACnEqD,gCAAsCjD,EAAIkD,WAAWlD,EAAIgC,MAAS,QAASlC,GAC3EqD,kCAAsCnD,EAAIkD,WAAWlD,EAAIgC,MAAS,MAASlC,GAC3EsD,oCAAsCpD,EAAIkD,WAAWlD,EAAIgC,MAAS,MAASlC,GAC3EuD,iCAAsCrD,EAAIkD,WAAWlD,EAAI0B,QAAS,QAAS5B,GAC3EwD,mCAAsCtD,EAAIkD,WAAWlD,EAAI0B,QAAS,MAAS5B,GAC3EyD,qCAAsCvD,EAAIkD,WAAWlD,EAAI0B,QAAS,MAAS5B,IAE/E0D,WACIC,MAAmC9D,EAAEM,eAAeuD,UAAU,MAC9DE,oBAAmC/D,EAAEM,eAAeuD,UAAU,kBAC9DG,mBAAmChE,EAAEM,eAAeuD,UAAU,QAC9DI,6BAAmCjE,EAAEM,eAAeuD,UAAU,eAC9DK,+BAAmClE,EAAEM,eAAeuD,UAAU,qBCqBvEM,KAAKC","file":"pivot.fr.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.fr =\n localeStrings:\n renderError: \"Une erreur est survenue en dessinant le tableau croisé.\"\n computeError: \"Une erreur est survenue en calculant le tableau croisé.\"\n uiRenderError: \"Une erreur est survenue en dessinant l'interface du tableau croisé dynamique.\"\n selectAll: \"Sélectionner tout\"\n selectNone: \"Sélectionner rien\"\n tooMany: \"(trop de valeurs à afficher)\"\n filterResults: \"Filtrer les valeurs\"\n totals: \"Totaux\"\n vs: \"sur\"\n by: \"par\"\n apply: \"Appliquer\"\n cancel: \"Annuler\"\n\n aggregators:\n \"Nombre\": tpl.count(frFmtInt)\n \"Nombre de valeurs uniques\": tpl.countUnique(frFmtInt)\n \"Liste de valeurs uniques\": tpl.listUnique(\", \")\n \"Somme\": tpl.sum(frFmt)\n \"Somme en entiers\": tpl.sum(frFmtInt)\n \"Moyenne\": tpl.average(frFmt)\n \"Minimum\": tpl.min(frFmt)\n \"Maximum\": tpl.max(frFmt)\n \"Premier\": tpl.first(frFmt)\n \"Dernier\": tpl.last(frFmt)\n \"Ratio de sommes\": tpl.sumOverSum(frFmt)\n \"Borne supérieure 80%\": tpl.sumOverSumBound80(true, frFmt)\n \"Borne inférieure 80%\": tpl.sumOverSumBound80(false, frFmt)\n \"Somme en proportion du totale\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Somme en proportion de la ligne\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Somme en proportion de la colonne\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Nombre en proportion du totale\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Nombre en proportion de la ligne\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Nombre en proportion de la colonne\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Table\": $.pivotUtilities.renderers[\"Table\"]\n \"Table avec barres\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Carte de chaleur\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Carte de chaleur par ligne\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Carte de chaleur par colonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var frFmt, frFmtInt, frFmtPct, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n frFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.fr = {\n localeStrings: {\n renderError: \"Une erreur est survenue en dessinant le tableau croisé.\",\n computeError: \"Une erreur est survenue en calculant le tableau croisé.\",\n uiRenderError: \"Une erreur est survenue en dessinant l'interface du tableau croisé dynamique.\",\n selectAll: \"Sélectionner tout\",\n selectNone: \"Sélectionner rien\",\n tooMany: \"(trop de valeurs à afficher)\",\n filterResults: \"Filtrer les valeurs\",\n totals: \"Totaux\",\n vs: \"sur\",\n by: \"par\",\n apply: \"Appliquer\",\n cancel: \"Annuler\"\n },\n aggregators: {\n \"Nombre\": tpl.count(frFmtInt),\n \"Nombre de valeurs uniques\": tpl.countUnique(frFmtInt),\n \"Liste de valeurs uniques\": tpl.listUnique(\", \"),\n \"Somme\": tpl.sum(frFmt),\n \"Somme en entiers\": tpl.sum(frFmtInt),\n \"Moyenne\": tpl.average(frFmt),\n \"Minimum\": tpl.min(frFmt),\n \"Maximum\": tpl.max(frFmt),\n \"Premier\": tpl.first(frFmt),\n \"Dernier\": tpl.last(frFmt),\n \"Ratio de sommes\": tpl.sumOverSum(frFmt),\n \"Borne supérieure 80%\": tpl.sumOverSumBound80(true, frFmt),\n \"Borne inférieure 80%\": tpl.sumOverSumBound80(false, frFmt),\n \"Somme en proportion du totale\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Somme en proportion de la ligne\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Somme en proportion de la colonne\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Nombre en proportion du totale\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Nombre en proportion de la ligne\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Nombre en proportion de la colonne\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Table\": $.pivotUtilities.renderers[\"Table\"],\n \"Table avec barres\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Carte de chaleur\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Carte de chaleur par ligne\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Carte de chaleur par colonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.fr.js.map\n"]}
\ No newline at end of file \ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var frFmt, frFmtInt, frFmtPct, nf, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
frFmt = nf({
thousandsSep: " ",
decimalSep: ","
});
frFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: " ",
decimalSep: ","
});
frFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: " ",
decimalSep: ","
});
return $.pivotUtilities.locales.it = {
localeStrings: {
renderError: "Si è verificato un errore durante la creazione della tabella.",
computeError: "Si è verificato un errore di calcolo nella tabella.",
uiRenderError: "Si è verificato un errore durante il disegno di interfaccia della tabella pivot.",
selectAll: "Seleziona tutto",
selectNone: "Deseleziona tutto",
tooMany: "(troppi valori da visualizzare)",
filterResults: "Filtra i valori",
apply: "Applica",
cancel: "Annulla",
totals: "Totali",
vs: "su",
by: "da"
},
aggregators: {
"Numero": tpl.count(frFmtInt),
"Numero di valori unici": tpl.countUnique(frFmtInt),
"Elenco di valori unici": tpl.listUnique(", "),
"Somma": tpl.sum(frFmt),
"Somma intera": tpl.sum(frFmtInt),
"Media": tpl.average(frFmt),
"Minimo": tpl.min(frFmt),
"Massimo": tpl.max(frFmt),
"Rapporto": tpl.sumOverSum(frFmt),
"Limite superiore 80%": tpl.sumOverSumBound80(true, frFmt),
"limite inferiore 80%": tpl.sumOverSumBound80(false, frFmt),
"Somma proporzionale al totale": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Somma proporzionale alla riga": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"Somma proporzionale alla colonna": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"Numero proporzionale al totale": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"Numero proporzionale alla riga": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"Numero proporzionale alla colonna": tpl.fractionOf(tpl.count(), "col", frFmtPct)
},
renderers: {
"Tabella": $.pivotUtilities.renderers["Table"],
"Tabella con grafico": $.pivotUtilities.renderers["Table Barchart"],
"Mappa di calore": $.pivotUtilities.renderers["Heatmap"],
"Mappa di calore per righe": $.pivotUtilities.renderers["Row Heatmap"],
"Mappa di calore per colonne": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.it.js.map
{"version":3,"file":"pivot.it.js","sources":["pivot.it.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n# Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.it =\n localeStrings:\n renderError: \"Si è verificato un errore durante la creazione della tabella.\"\n computeError: \"Si è verificato un errore di calcolo nella tabella.\"\n uiRenderError: \"Si è verificato un errore durante il disegno di interfaccia della tabella pivot.\"\n selectAll: \"Seleziona tutto\"\n selectNone: \"Deseleziona tutto\"\n tooMany: \"(troppi valori da visualizzare)\"\n filterResults: \"Filtra i valori\"\n apply: \"Applica\"\n cancel: \"Annulla\"\n totals: \"Totali\"\n vs: \"su\"\n by: \"da\"\n\n aggregators:\n \"Numero\": tpl.count(frFmtInt)\n \"Numero di valori unici\": tpl.countUnique(frFmtInt)\n \"Elenco di valori unici\": tpl.listUnique(\", \")\n \"Somma\": tpl.sum(frFmt)\n \"Somma intera\": tpl.sum(frFmtInt)\n \"Media\": tpl.average(frFmt)\n \"Minimo\": tpl.min(frFmt)\n \"Massimo\": tpl.max(frFmt)\n \"Rapporto\": tpl.sumOverSum(frFmt)\n \"Limite superiore 80%\": tpl.sumOverSumBound80(true, frFmt)\n \"limite inferiore 80%\": tpl.sumOverSumBound80(false, frFmt)\n \"Somma proporzionale al totale\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Somma proporzionale alla riga\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Somma proporzionale alla colonna\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Numero proporzionale al totale\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Numero proporzionale alla riga\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Numero proporzionale alla colonna\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabella\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabella con grafico\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Mappa di calore\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Mappa di calore per righe\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Mappa di calore per colonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.it.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.it.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var i,o,a,r,t;return r=e.pivotUtilities.numberFormat,t=e.pivotUtilities.aggregatorTemplates,i=r({thousandsSep:" ",decimalSep:","}),o=r({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),a=r({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.it={localeStrings:{renderError:"Si è verificato un errore durante la creazione della tabella.",computeError:"Si è verificato un errore di calcolo nella tabella.",uiRenderError:"Si è verificato un errore durante il disegno di interfaccia della tabella pivot.",selectAll:"Seleziona tutto",selectNone:"Deseleziona tutto",tooMany:"(troppi valori da visualizzare)",filterResults:"Filtra i valori",apply:"Applica",cancel:"Annulla",totals:"Totali",vs:"su",by:"da"},aggregators:{Numero:t.count(o),"Numero di valori unici":t.countUnique(o),"Elenco di valori unici":t.listUnique(", "),Somma:t.sum(i),"Somma intera":t.sum(o),Media:t.average(i),Minimo:t.min(i),Massimo:t.max(i),Rapporto:t.sumOverSum(i),"Limite superiore 80%":t.sumOverSumBound80(!0,i),"limite inferiore 80%":t.sumOverSumBound80(!1,i),"Somma proporzionale al totale":t.fractionOf(t.sum(),"total",a),"Somma proporzionale alla riga":t.fractionOf(t.sum(),"row",a),"Somma proporzionale alla colonna":t.fractionOf(t.sum(),"col",a),"Numero proporzionale al totale":t.fractionOf(t.count(),"total",a),"Numero proporzionale alla riga":t.fractionOf(t.count(),"row",a),"Numero proporzionale alla colonna":t.fractionOf(t.count(),"col",a)},renderers:{Tabella:e.pivotUtilities.renderers.Table,"Tabella con grafico":e.pivotUtilities.renderers["Table Barchart"],"Mappa di calore":e.pivotUtilities.renderers.Heatmap,"Mappa di calore per righe":e.pivotUtilities.renderers["Row Heatmap"],"Mappa di calore per colonne":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.it.min.js.map
{"version":3,"sources":["pivot.it.coffee","pivot.it.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","frFmt","frFmtInt","frFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","it","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","apply","cancel","totals","vs","by","aggregators","Numero","count","Numero di valori unici","countUnique","Elenco di valori unici","listUnique","Somma","sum","Somma intera","Media","average","Minimo","min","Massimo","max","Rapporto","sumOverSum","Limite superiore 80%","sumOverSumBound80","limite inferiore 80%","Somma proporzionale al totale","fractionOf","Somma proporzionale alla riga","Somma proporzionale alla colonna","Numero proporzionale al totale","Numero proporzionale alla riga","Numero proporzionale alla colonna","renderers","Tabella","Tabella con grafico","Mappa di calore","Mappa di calore per righe","Mappa di calore per colonne","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GAChB,MAAqB,gBAAXC,UAAyC,gBAAVC,QACvCF,EAAYG,QAAQ,WACG,kBAAVC,SAAyBA,OAAOC,IAC7CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAED,SAACC,GACd,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBE,ODvBFD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACvBC,eACEC,YAAa,gEACbC,aAAc,sDACdC,cAAe,mFACfC,UAAW,kBACXC,WAAY,oBACZC,QAAS,kCACTC,cAAe,kBACfC,MAAO,UACPC,OAAQ,UACRC,OAAQ,SACRC,GAAI,KACJC,GAAI,MAENC,aACEC,OAAsCzB,EAAI0B,MAAM7B,GAChD8B,yBAAsC3B,EAAI4B,YAAY/B,GACtDgC,yBAAsC7B,EAAI8B,WAAW,MACrDC,MAAsC/B,EAAIgC,IAAIpC,GAC9CqC,eAAsCjC,EAAIgC,IAAInC,GAC9CqC,MAAsClC,EAAImC,QAAQvC,GAClDwC,OAAsCpC,EAAIqC,IAAIzC,GAC9C0C,QAAsCtC,EAAIuC,IAAI3C,GAC9C4C,SAAsCxC,EAAIyC,WAAW7C,GACrD8C,uBAAsC1C,EAAI2C,mBAAkB,EAAM/C,GAClEgD,uBAAsC5C,EAAI2C,mBAAkB,EAAO/C,GACnEiD,gCAAsC7C,EAAI8C,WAAW9C,EAAIgC,MAAS,QAASlC,GAC3EiD,gCAAsC/C,EAAI8C,WAAW9C,EAAIgC,MAAS,MAASlC,GAC3EkD,mCAAsChD,EAAI8C,WAAW9C,EAAIgC,MAAS,MAASlC,GAC3EmD,iCAAsCjD,EAAI8C,WAAW9C,EAAI0B,QAAS,QAAS5B,GAC3EoD,iCAAsClD,EAAI8C,WAAW9C,EAAI0B,QAAS,MAAS5B,GAC3EqD,oCAAsCnD,EAAI8C,WAAW9C,EAAI0B,QAAS,MAAS5B,IAE7EsD,WACEC,QAAqC1D,EAAEM,eAAemD,UAAU,MAChEE,sBAAqC3D,EAAEM,eAAemD,UAAU,kBAChEG,kBAAqC5D,EAAEM,eAAemD,UAAU,QAChEI,4BAAqC7D,EAAEM,eAAemD,UAAU,eAChEK,8BAAqC9D,EAAEM,eAAemD,UAAU,qBCqBnEM,KAAKC","file":"pivot.it.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n# Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.it =\n localeStrings:\n renderError: \"Si è verificato un errore durante la creazione della tabella.\"\n computeError: \"Si è verificato un errore di calcolo nella tabella.\"\n uiRenderError: \"Si è verificato un errore durante il disegno di interfaccia della tabella pivot.\"\n selectAll: \"Seleziona tutto\"\n selectNone: \"Deseleziona tutto\"\n tooMany: \"(troppi valori da visualizzare)\"\n filterResults: \"Filtra i valori\"\n apply: \"Applica\"\n cancel: \"Annulla\"\n totals: \"Totali\"\n vs: \"su\"\n by: \"da\"\n\n aggregators:\n \"Numero\": tpl.count(frFmtInt)\n \"Numero di valori unici\": tpl.countUnique(frFmtInt)\n \"Elenco di valori unici\": tpl.listUnique(\", \")\n \"Somma\": tpl.sum(frFmt)\n \"Somma intera\": tpl.sum(frFmtInt)\n \"Media\": tpl.average(frFmt)\n \"Minimo\": tpl.min(frFmt)\n \"Massimo\": tpl.max(frFmt)\n \"Rapporto\": tpl.sumOverSum(frFmt)\n \"Limite superiore 80%\": tpl.sumOverSumBound80(true, frFmt)\n \"limite inferiore 80%\": tpl.sumOverSumBound80(false, frFmt)\n \"Somma proporzionale al totale\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Somma proporzionale alla riga\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Somma proporzionale alla colonna\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Numero proporzionale al totale\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Numero proporzionale alla riga\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Numero proporzionale alla colonna\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabella\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabella con grafico\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Mappa di calore\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Mappa di calore per righe\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Mappa di calore per colonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var frFmt, frFmtInt, frFmtPct, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n frFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.it = {\n localeStrings: {\n renderError: \"Si è verificato un errore durante la creazione della tabella.\",\n computeError: \"Si è verificato un errore di calcolo nella tabella.\",\n uiRenderError: \"Si è verificato un errore durante il disegno di interfaccia della tabella pivot.\",\n selectAll: \"Seleziona tutto\",\n selectNone: \"Deseleziona tutto\",\n tooMany: \"(troppi valori da visualizzare)\",\n filterResults: \"Filtra i valori\",\n apply: \"Applica\",\n cancel: \"Annulla\",\n totals: \"Totali\",\n vs: \"su\",\n by: \"da\"\n },\n aggregators: {\n \"Numero\": tpl.count(frFmtInt),\n \"Numero di valori unici\": tpl.countUnique(frFmtInt),\n \"Elenco di valori unici\": tpl.listUnique(\", \"),\n \"Somma\": tpl.sum(frFmt),\n \"Somma intera\": tpl.sum(frFmtInt),\n \"Media\": tpl.average(frFmt),\n \"Minimo\": tpl.min(frFmt),\n \"Massimo\": tpl.max(frFmt),\n \"Rapporto\": tpl.sumOverSum(frFmt),\n \"Limite superiore 80%\": tpl.sumOverSumBound80(true, frFmt),\n \"limite inferiore 80%\": tpl.sumOverSumBound80(false, frFmt),\n \"Somma proporzionale al totale\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Somma proporzionale alla riga\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Somma proporzionale alla colonna\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Numero proporzionale al totale\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Numero proporzionale alla riga\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Numero proporzionale alla colonna\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Tabella\": $.pivotUtilities.renderers[\"Table\"],\n \"Tabella con grafico\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Mappa di calore\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Mappa di calore per righe\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Mappa di calore per colonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.it.js.map\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.it.min.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.it.min.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var jpFmt, jpFmtInt, jpFmtPct, nf, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
jpFmt = nf({
thousandsSep: ",",
decimalSep: "."
});
jpFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: ",",
decimalSep: "."
});
jpFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: ",",
decimalSep: "."
});
return $.pivotUtilities.locales.ja = {
localeStrings: {
renderError: "描画処理でエラーが発生しました。",
computeError: "処理中にエラーが発生しました。",
uiRenderError: "表示処理中にエラーが発生しました。",
selectAll: "全選択",
selectNone: "選択解除",
tooMany: "項目が多すぎます",
filterResults: "項目を検索する",
totals: "合計",
vs: "vs",
by: "per",
apply: "適用する",
cancel: "キャンセル"
},
aggregators: {
"件数": tpl.count(jpFmtInt),
"件数(ユニーク)": tpl.countUnique(jpFmtInt),
"ユニーク値を表示 (CSV)": tpl.listUnique(", "),
"合計": tpl.sum(jpFmt),
"合計(整数)": tpl.sum(jpFmtInt),
"平均": tpl.average(jpFmt),
"最小": tpl.min(jpFmt),
"最大": tpl.max(jpFmt),
"選択2項目の比率": tpl.sumOverSum(jpFmt),
"選択2項目の比率(上限80%)": tpl.sumOverSumBound80(true, jpFmt),
"選択2項目の比率(下限80%)": tpl.sumOverSumBound80(false, jpFmt),
"合計割合": tpl.fractionOf(tpl.sum(), "total", jpFmtPct),
"合計割合(行)": tpl.fractionOf(tpl.sum(), "row", jpFmtPct),
"合計割合(列)": tpl.fractionOf(tpl.sum(), "col", jpFmtPct),
"件数割合": tpl.fractionOf(tpl.count(), "total", jpFmtPct),
"件数割合(行)": tpl.fractionOf(tpl.count(), "row", jpFmtPct),
"件数割合(列)": tpl.fractionOf(tpl.count(), "col", jpFmtPct)
},
renderers: {
"": $.pivotUtilities.renderers["Table"],
"表(棒グラフ)": $.pivotUtilities.renderers["Table Barchart"],
"ヒートマップ": $.pivotUtilities.renderers["Heatmap"],
"ヒートマップ(行)": $.pivotUtilities.renderers["Row Heatmap"],
"ヒートマップ(列)": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.jp.js.map
{"version":3,"file":"pivot.jp.js","sources":["pivot.jp.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n jpFmt = nf(thousandsSep: \",\", decimalSep: \".\")\n jpFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \",\", decimalSep: \".\")\n jpFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \",\", decimalSep: \".\")\n\n $.pivotUtilities.locales.ja =\n localeStrings:\n renderError: \"描画処理でエラーが発生しました。\"\n computeError: \"処理中にエラーが発生しました。\"\n uiRenderError: \"表示処理中にエラーが発生しました。\"\n selectAll: \"全選択\"\n selectNone: \"選択解除\"\n tooMany: \"項目が多すぎます\"\n filterResults: \"項目を検索する\"\n totals: \"合計\"\n vs: \"vs\"\n by: \"per\"\n apply: \"適用する\"\n cancel: \"キャンセル\"\n\n aggregators:\n \"件数\": tpl.count(jpFmtInt)\n \"件数(ユニーク)\": tpl.countUnique(jpFmtInt)\n \"ユニーク値を表示 (CSV)\": tpl.listUnique(\", \")\n \"合計\": tpl.sum(jpFmt)\n \"合計(整数)\": tpl.sum(jpFmtInt)\n \"平均\": tpl.average(jpFmt)\n \"最小\": tpl.min(jpFmt)\n \"最大\": tpl.max(jpFmt)\n \"選択2項目の比率\": tpl.sumOverSum(jpFmt)\n \"選択2項目の比率(上限80%)\": tpl.sumOverSumBound80(true, jpFmt)\n \"選択2項目の比率(下限80%)\": tpl.sumOverSumBound80(false, jpFmt)\n \"合計割合\": tpl.fractionOf(tpl.sum(), \"total\", jpFmtPct)\n \"合計割合(行)\": tpl.fractionOf(tpl.sum(), \"row\", jpFmtPct)\n \"合計割合(列)\": tpl.fractionOf(tpl.sum(), \"col\", jpFmtPct)\n \"件数割合\": tpl.fractionOf(tpl.count(), \"total\", jpFmtPct)\n \"件数割合(行)\": tpl.fractionOf(tpl.count(), \"row\", jpFmtPct)\n \"件数割合(列)\": tpl.fractionOf(tpl.count(), \"col\", jpFmtPct)\n\n renderers:\n \"表\": $.pivotUtilities.renderers[\"Table\"]\n \"表(棒グラフ)\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"ヒートマップ\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"ヒートマップ(行)\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"ヒートマップ(列)\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.jp.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.jp.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var t,r,i,o,a;return o=e.pivotUtilities.numberFormat,a=e.pivotUtilities.aggregatorTemplates,t=o({thousandsSep:",",decimalSep:"."}),r=o({digitsAfterDecimal:0,thousandsSep:",",decimalSep:"."}),i=o({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:",",decimalSep:"."}),e.pivotUtilities.locales.ja={localeStrings:{renderError:"描画処理でエラーが発生しました。",computeError:"処理中にエラーが発生しました。",uiRenderError:"表示処理中にエラーが発生しました。",selectAll:"全選択",selectNone:"選択解除",tooMany:"項目が多すぎます",filterResults:"項目を検索する",totals:"合計",vs:"vs",by:"per",apply:"適用する",cancel:"キャンセル"},aggregators:{"件数":a.count(r),"件数(ユニーク)":a.countUnique(r),"ユニーク値を表示 (CSV)":a.listUnique(", "),"合計":a.sum(t),"合計(整数)":a.sum(r),"平均":a.average(t),"最小":a.min(t),"最大":a.max(t),"選択2項目の比率":a.sumOverSum(t),"選択2項目の比率(上限80%)":a.sumOverSumBound80(!0,t),"選択2項目の比率(下限80%)":a.sumOverSumBound80(!1,t),"合計割合":a.fractionOf(a.sum(),"total",i),"合計割合(行)":a.fractionOf(a.sum(),"row",i),"合計割合(列)":a.fractionOf(a.sum(),"col",i),"件数割合":a.fractionOf(a.count(),"total",i),"件数割合(行)":a.fractionOf(a.count(),"row",i),"件数割合(列)":a.fractionOf(a.count(),"col",i)},renderers:{"":e.pivotUtilities.renderers.Table,"表(棒グラフ)":e.pivotUtilities.renderers["Table Barchart"],"ヒートマップ":e.pivotUtilities.renderers.Heatmap,"ヒートマップ(行)":e.pivotUtilities.renderers["Row Heatmap"],"ヒートマップ(列)":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.jp.min.js.map
{"version":3,"sources":["pivot.jp.coffee","pivot.jp.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","jpFmt","jpFmtInt","jpFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","ja","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","apply","cancel","aggregators","件数","count","件数(ユニーク)","countUnique","ユニーク値を表示 (CSV)","listUnique","合計","sum","合計(整数)","平均","average","最小","min","最大","max","選択2項目の比率","sumOverSum","選択2項目の比率(上限80%)","sumOverSumBound80","選択2項目の比率(下限80%)","合計割合","fractionOf","合計割合(行)","合計割合(列)","件数割合","件数割合(行)","件数割合(列)","renderers","表","表(棒グラフ)","ヒートマップ","ヒートマップ(行)","ヒートマップ(列)","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,mBACbC,aAAc,kBACdC,cAAe,oBACfC,UAAW,MACXC,WAAY,OACZC,QAAS,WACTC,cAAe,UACfC,OAAQ,KACRC,GAAI,KACJC,GAAI,MACJC,MAAO,OACPC,OAAQ,SAEZC,aACIC,KAAkCzB,EAAI0B,MAAM7B,GAC5C8B,WAAqB3B,EAAI4B,YAAY/B,GACrCgC,iBAA4B7B,EAAI8B,WAAW,MAC3CC,KAAmC/B,EAAIgC,IAAIpC,GAC3CqC,SAA4BjC,EAAIgC,IAAInC,GACpCqC,KAAiClC,EAAImC,QAAQvC,GAC7CwC,KAAiCpC,EAAIqC,IAAIzC,GACzC0C,KAAiCtC,EAAIuC,IAAI3C,GACzC4C,WAA+BxC,EAAIyC,WAAW7C,GAC9C8C,kBAAiC1C,EAAI2C,mBAAkB,EAAM/C,GAC7DgD,kBAAiC5C,EAAI2C,mBAAkB,EAAO/C,GAC9DiD,OAAa7C,EAAI8C,WAAW9C,EAAIgC,MAAS,QAASlC,GAClDiD,UAAc/C,EAAI8C,WAAW9C,EAAIgC,MAAS,MAASlC,GACnDkD,UAAYhD,EAAI8C,WAAW9C,EAAIgC,MAAS,MAASlC,GACjDmD,OAAYjD,EAAI8C,WAAW9C,EAAI0B,QAAS,QAAS5B,GACjDoD,UAAalD,EAAI8C,WAAW9C,EAAI0B,QAAS,MAAS5B,GAClDqD,UAAWnD,EAAI8C,WAAW9C,EAAI0B,QAAS,MAAS5B,IAEpDsD,WACIC,IAA+B1D,EAAEM,eAAemD,UAAU,MAC1DE,UAAyB3D,EAAEM,eAAemD,UAAU,kBACpDG,SAAyB5D,EAAEM,eAAemD,UAAU,QACpDI,YAAkB7D,EAAEM,eAAemD,UAAU,eAC7CK,YAAgB9D,EAAEM,eAAemD,UAAU,qBCqBpDM,KAAKC","file":"pivot.jp.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n jpFmt = nf(thousandsSep: \",\", decimalSep: \".\")\n jpFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \",\", decimalSep: \".\")\n jpFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \",\", decimalSep: \".\")\n\n $.pivotUtilities.locales.ja =\n localeStrings:\n renderError: \"描画処理でエラーが発生しました。\"\n computeError: \"処理中にエラーが発生しました。\"\n uiRenderError: \"表示処理中にエラーが発生しました。\"\n selectAll: \"全選択\"\n selectNone: \"選択解除\"\n tooMany: \"項目が多すぎます\"\n filterResults: \"項目を検索する\"\n totals: \"合計\"\n vs: \"vs\"\n by: \"per\"\n apply: \"適用する\"\n cancel: \"キャンセル\"\n\n aggregators:\n \"件数\": tpl.count(jpFmtInt)\n \"件数(ユニーク)\": tpl.countUnique(jpFmtInt)\n \"ユニーク値を表示 (CSV)\": tpl.listUnique(\", \")\n \"合計\": tpl.sum(jpFmt)\n \"合計(整数)\": tpl.sum(jpFmtInt)\n \"平均\": tpl.average(jpFmt)\n \"最小\": tpl.min(jpFmt)\n \"最大\": tpl.max(jpFmt)\n \"選択2項目の比率\": tpl.sumOverSum(jpFmt)\n \"選択2項目の比率(上限80%)\": tpl.sumOverSumBound80(true, jpFmt)\n \"選択2項目の比率(下限80%)\": tpl.sumOverSumBound80(false, jpFmt)\n \"合計割合\": tpl.fractionOf(tpl.sum(), \"total\", jpFmtPct)\n \"合計割合(行)\": tpl.fractionOf(tpl.sum(), \"row\", jpFmtPct)\n \"合計割合(列)\": tpl.fractionOf(tpl.sum(), \"col\", jpFmtPct)\n \"件数割合\": tpl.fractionOf(tpl.count(), \"total\", jpFmtPct)\n \"件数割合(行)\": tpl.fractionOf(tpl.count(), \"row\", jpFmtPct)\n \"件数割合(列)\": tpl.fractionOf(tpl.count(), \"col\", jpFmtPct)\n\n renderers:\n \"表\": $.pivotUtilities.renderers[\"Table\"]\n \"表(棒グラフ)\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"ヒートマップ\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"ヒートマップ(行)\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"ヒートマップ(列)\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var jpFmt, jpFmtInt, jpFmtPct, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n jpFmt = nf({\n thousandsSep: \",\",\n decimalSep: \".\"\n });\n jpFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \",\",\n decimalSep: \".\"\n });\n jpFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \",\",\n decimalSep: \".\"\n });\n return $.pivotUtilities.locales.ja = {\n localeStrings: {\n renderError: \"描画処理でエラーが発生しました。\",\n computeError: \"処理中にエラーが発生しました。\",\n uiRenderError: \"表示処理中にエラーが発生しました。\",\n selectAll: \"全選択\",\n selectNone: \"選択解除\",\n tooMany: \"項目が多すぎます\",\n filterResults: \"項目を検索する\",\n totals: \"合計\",\n vs: \"vs\",\n by: \"per\",\n apply: \"適用する\",\n cancel: \"キャンセル\"\n },\n aggregators: {\n \"件数\": tpl.count(jpFmtInt),\n \"件数(ユニーク)\": tpl.countUnique(jpFmtInt),\n \"ユニーク値を表示 (CSV)\": tpl.listUnique(\", \"),\n \"合計\": tpl.sum(jpFmt),\n \"合計(整数)\": tpl.sum(jpFmtInt),\n \"平均\": tpl.average(jpFmt),\n \"最小\": tpl.min(jpFmt),\n \"最大\": tpl.max(jpFmt),\n \"選択2項目の比率\": tpl.sumOverSum(jpFmt),\n \"選択2項目の比率(上限80%)\": tpl.sumOverSumBound80(true, jpFmt),\n \"選択2項目の比率(下限80%)\": tpl.sumOverSumBound80(false, jpFmt),\n \"合計割合\": tpl.fractionOf(tpl.sum(), \"total\", jpFmtPct),\n \"合計割合(行)\": tpl.fractionOf(tpl.sum(), \"row\", jpFmtPct),\n \"合計割合(列)\": tpl.fractionOf(tpl.sum(), \"col\", jpFmtPct),\n \"件数割合\": tpl.fractionOf(tpl.count(), \"total\", jpFmtPct),\n \"件数割合(行)\": tpl.fractionOf(tpl.count(), \"row\", jpFmtPct),\n \"件数割合(列)\": tpl.fractionOf(tpl.count(), \"col\", jpFmtPct)\n },\n renderers: {\n \"表\": $.pivotUtilities.renderers[\"Table\"],\n \"表(棒グラフ)\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"ヒートマップ\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"ヒートマップ(行)\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"ヒートマップ(列)\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.jp.js.map\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.jp.min.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.jp.min.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
/* /*
Utilities Utilities
*/ */
var PivotData, addSeparators, aggregatorTemplates, aggregators, dayNamesEn, derivers, getSort, locales, mthNamesEn, naturalSort, numberFormat, pivotTableRenderer, renderers, sortAs, usFmt, usFmtInt, usFmtPct, zeroPad; var PivotData, addSeparators, aggregatorTemplates, aggregators, dayNamesEn, derivers, getSort, locales, mthNamesEn, naturalSort, numberFormat, pivotTableRenderer, rd, renderers, rx, rz, sortAs, usFmt, usFmtInt, usFmtPct, zeroPad;
addSeparators = function(nStr, thousandsSep, decimalSep) { addSeparators = function(nStr, thousandsSep, decimalSep) {
var rgx, x, x1, x2; var rgx, x, x1, x2;
nStr += ''; nStr += '';
...@@ -41,18 +41,14 @@ ...@@ -41,18 +41,14 @@
thousandsSep: ",", thousandsSep: ",",
decimalSep: ".", decimalSep: ".",
prefix: "", prefix: "",
suffix: "", suffix: ""
showZero: false
}; };
opts = $.extend(defaults, opts); opts = $.extend({}, defaults, opts);
return function(x) { return function(x) {
var result; var result;
if (isNaN(x) || !isFinite(x)) { if (isNaN(x) || !isFinite(x)) {
return ""; return "";
} }
if (x === 0 && !opts.showZero) {
return "";
}
result = addSeparators((opts.scaler * x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep); result = addSeparators((opts.scaler * x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep);
return "" + opts.prefix + result + opts.suffix; return "" + opts.prefix + result + opts.suffix;
}; };
...@@ -86,7 +82,7 @@ ...@@ -86,7 +82,7 @@
}; };
}; };
}, },
countUnique: function(formatter) { uniques: function(fn, formatter) {
if (formatter == null) { if (formatter == null) {
formatter = usFmtInt; formatter = usFmtInt;
} }
...@@ -103,7 +99,7 @@ ...@@ -103,7 +99,7 @@
} }
}, },
value: function() { value: function() {
return this.uniq.length; return fn(this.uniq);
}, },
format: formatter, format: formatter,
numInputs: attr != null ? 0 : 1 numInputs: attr != null ? 0 : 1
...@@ -111,30 +107,6 @@ ...@@ -111,30 +107,6 @@
}; };
}; };
}, },
listUnique: function(sep) {
return function(arg) {
var attr;
attr = arg[0];
return function(data, rowKey, colKey) {
return {
uniq: [],
push: function(record) {
var ref;
if (ref = record[attr], indexOf.call(this.uniq, ref) < 0) {
return this.uniq.push(record[attr]);
}
},
value: function() {
return this.uniq.join(sep);
},
format: function(x) {
return x;
},
numInputs: attr != null ? 0 : 1
};
};
};
},
sum: function(formatter) { sum: function(formatter) {
if (formatter == null) { if (formatter == null) {
formatter = usFmt; formatter = usFmt;
...@@ -159,7 +131,7 @@ ...@@ -159,7 +131,7 @@
}; };
}; };
}, },
min: function(formatter) { extremes: function(mode, formatter) {
if (formatter == null) { if (formatter == null) {
formatter = usFmt; formatter = usFmt;
} }
...@@ -169,23 +141,43 @@ ...@@ -169,23 +141,43 @@
return function(data, rowKey, colKey) { return function(data, rowKey, colKey) {
return { return {
val: null, val: null,
sorter: getSort(data != null ? data.sorters : void 0, attr),
push: function(record) { push: function(record) {
var ref, x; var ref, ref1, ref2, x;
x = parseFloat(record[attr]); x = record[attr];
if (!isNaN(x)) { if (mode === "min" || mode === "max") {
return this.val = Math.min(x, (ref = this.val) != null ? ref : x); x = parseFloat(x);
if (!isNaN(x)) {
this.val = Math[mode](x, (ref = this.val) != null ? ref : x);
}
}
if (mode === "first") {
if (this.sorter(x, (ref1 = this.val) != null ? ref1 : x) <= 0) {
this.val = x;
}
}
if (mode === "last") {
if (this.sorter(x, (ref2 = this.val) != null ? ref2 : x) >= 0) {
return this.val = x;
}
} }
}, },
value: function() { value: function() {
return this.val; return this.val;
}, },
format: formatter, format: function(x) {
if (isNaN(x)) {
return x;
} else {
return formatter(x);
}
},
numInputs: attr != null ? 0 : 1 numInputs: attr != null ? 0 : 1
}; };
}; };
}; };
}, },
max: function(formatter) { quantile: function(q, formatter) {
if (formatter == null) { if (formatter == null) {
formatter = usFmt; formatter = usFmt;
} }
...@@ -194,16 +186,24 @@ ...@@ -194,16 +186,24 @@
attr = arg[0]; attr = arg[0];
return function(data, rowKey, colKey) { return function(data, rowKey, colKey) {
return { return {
val: null, vals: [],
push: function(record) { push: function(record) {
var ref, x; var x;
x = parseFloat(record[attr]); x = parseFloat(record[attr]);
if (!isNaN(x)) { if (!isNaN(x)) {
return this.val = Math.max(x, (ref = this.val) != null ? ref : x); return this.vals.push(x);
} }
}, },
value: function() { value: function() {
return this.val; var i;
if (this.vals.length === 0) {
return null;
}
this.vals.sort(function(a, b) {
return a - b;
});
i = (this.vals.length - 1) * q;
return (this.vals[Math.floor(i)] + this.vals[Math.ceil(i)]) / 2.0;
}, },
format: formatter, format: formatter,
numInputs: attr != null ? 0 : 1 numInputs: attr != null ? 0 : 1
...@@ -211,7 +211,13 @@ ...@@ -211,7 +211,13 @@
}; };
}; };
}, },
average: function(formatter) { runningStat: function(mode, ddof, formatter) {
if (mode == null) {
mode = "mean";
}
if (ddof == null) {
ddof = 1;
}
if (formatter == null) { if (formatter == null) {
formatter = usFmt; formatter = usFmt;
} }
...@@ -220,16 +226,41 @@ ...@@ -220,16 +226,41 @@
attr = arg[0]; attr = arg[0];
return function(data, rowKey, colKey) { return function(data, rowKey, colKey) {
return { return {
sum: 0, n: 0.0,
len: 0, m: 0.0,
s: 0.0,
push: function(record) { push: function(record) {
if (!isNaN(parseFloat(record[attr]))) { var m_new, x;
this.sum += parseFloat(record[attr]); x = parseFloat(record[attr]);
return this.len++; if (isNaN(x)) {
return;
}
this.n += 1.0;
if (this.n === 1.0) {
return this.m = x;
} else {
m_new = this.m + (x - this.m) / this.n;
this.s = this.s + (x - this.m) * (x - m_new);
return this.m = m_new;
} }
}, },
value: function() { value: function() {
return this.sum / this.len; if (mode === "mean") {
if (this.n === 0) {
return 0 / 0;
} else {
return this.m;
}
}
if (this.n <= ddof) {
return 0;
}
switch (mode) {
case "var":
return this.s / (this.n - ddof);
case "stdev":
return Math.sqrt(this.s / (this.n - ddof));
}
}, },
format: formatter, format: formatter,
numInputs: attr != null ? 0 : 1 numInputs: attr != null ? 0 : 1
...@@ -329,6 +360,42 @@ ...@@ -329,6 +360,42 @@
}; };
} }
}; };
aggregatorTemplates.countUnique = function(f) {
return aggregatorTemplates.uniques((function(x) {
return x.length;
}), f);
};
aggregatorTemplates.listUnique = function(s) {
return aggregatorTemplates.uniques((function(x) {
return x.sort(naturalSort).join(s);
}), (function(x) {
return x;
}));
};
aggregatorTemplates.max = function(f) {
return aggregatorTemplates.extremes('max', f);
};
aggregatorTemplates.min = function(f) {
return aggregatorTemplates.extremes('min', f);
};
aggregatorTemplates.first = function(f) {
return aggregatorTemplates.extremes('first', f);
};
aggregatorTemplates.last = function(f) {
return aggregatorTemplates.extremes('last', f);
};
aggregatorTemplates.median = function(f) {
return aggregatorTemplates.quantile(0.5, f);
};
aggregatorTemplates.average = function(f) {
return aggregatorTemplates.runningStat("mean", 1, f);
};
aggregatorTemplates["var"] = function(ddof, f) {
return aggregatorTemplates.runningStat("var", ddof, f);
};
aggregatorTemplates.stdev = function(ddof, f) {
return aggregatorTemplates.runningStat("stdev", ddof, f);
};
aggregators = (function(tpl) { aggregators = (function(tpl) {
return { return {
"Count": tpl.count(usFmtInt), "Count": tpl.count(usFmtInt),
...@@ -337,8 +404,13 @@ ...@@ -337,8 +404,13 @@
"Sum": tpl.sum(usFmt), "Sum": tpl.sum(usFmt),
"Integer Sum": tpl.sum(usFmtInt), "Integer Sum": tpl.sum(usFmtInt),
"Average": tpl.average(usFmt), "Average": tpl.average(usFmt),
"Median": tpl.median(usFmt),
"Sample Variance": tpl["var"](1, usFmt),
"Sample Standard Deviation": tpl.stdev(1, usFmt),
"Minimum": tpl.min(usFmt), "Minimum": tpl.min(usFmt),
"Maximum": tpl.max(usFmt), "Maximum": tpl.max(usFmt),
"First": tpl.first(usFmt),
"Last": tpl.last(usFmt),
"Sum over Sum": tpl.sumOverSum(usFmt), "Sum over Sum": tpl.sumOverSum(usFmt),
"80% Upper Bound": tpl.sumOverSumBound80(true, usFmt), "80% Upper Bound": tpl.sumOverSumBound80(true, usFmt),
"80% Lower Bound": tpl.sumOverSumBound80(false, usFmt), "80% Lower Bound": tpl.sumOverSumBound80(false, usFmt),
...@@ -351,20 +423,20 @@ ...@@ -351,20 +423,20 @@
}; };
})(aggregatorTemplates); })(aggregatorTemplates);
renderers = { renderers = {
"Table": function(pvtData, opts) { "Table": function(data, opts) {
return pivotTableRenderer(pvtData, opts); return pivotTableRenderer(data, opts);
}, },
"Table Barchart": function(pvtData, opts) { "Table Barchart": function(data, opts) {
return $(pivotTableRenderer(pvtData, opts)).barchart(); return $(pivotTableRenderer(data, opts)).barchart();
}, },
"Heatmap": function(pvtData, opts) { "Heatmap": function(data, opts) {
return $(pivotTableRenderer(pvtData, opts)).heatmap(); return $(pivotTableRenderer(data, opts)).heatmap("heatmap", opts);
}, },
"Row Heatmap": function(pvtData, opts) { "Row Heatmap": function(data, opts) {
return $(pivotTableRenderer(pvtData, opts)).heatmap("rowheatmap"); return $(pivotTableRenderer(data, opts)).heatmap("rowheatmap", opts);
}, },
"Col Heatmap": function(pvtData, opts) { "Col Heatmap": function(data, opts) {
return $(pivotTableRenderer(pvtData, opts)).heatmap("colheatmap"); return $(pivotTableRenderer(data, opts)).heatmap("colheatmap", opts);
} }
}; };
locales = { locales = {
...@@ -378,7 +450,9 @@ ...@@ -378,7 +450,9 @@
selectAll: "Select All", selectAll: "Select All",
selectNone: "Select None", selectNone: "Select None",
tooMany: "(too many to list)", tooMany: "(too many to list)",
filterResults: "Filter results", filterResults: "Filter values",
apply: "Apply",
cancel: "Cancel",
totals: "Totals", totals: "Totals",
vs: "vs", vs: "vs",
by: "by" by: "by"
...@@ -441,23 +515,49 @@ ...@@ -441,23 +515,49 @@
}; };
} }
}; };
rx = /(\d+)|(\D+)/g;
rd = /\d/;
rz = /^0/;
naturalSort = (function(_this) { naturalSort = (function(_this) {
return function(as, bs) { return function(as, bs) {
var a, a1, b, b1, rd, rx, rz; var a, a1, b, b1, nas, nbs;
rx = /(\d+)|(\D+)/g; if ((bs != null) && (as == null)) {
rd = /\d/; return -1;
rz = /^0/; }
if (typeof as === "number" || typeof bs === "number") { if ((as != null) && (bs == null)) {
if (isNaN(as)) { return 1;
return 1;
}
if (isNaN(bs)) {
return -1;
}
return as - bs;
} }
a = String(as).toLowerCase(); if (typeof as === "number" && isNaN(as)) {
b = String(bs).toLowerCase(); return -1;
}
if (typeof bs === "number" && isNaN(bs)) {
return 1;
}
nas = +as;
nbs = +bs;
if (nas < nbs) {
return -1;
}
if (nas > nbs) {
return 1;
}
if (typeof as === "number" && typeof bs !== "number") {
return -1;
}
if (typeof bs === "number" && typeof as !== "number") {
return 1;
}
if (typeof as === "number" && typeof bs === "number") {
return 0;
}
if (isNaN(nbs) && !isNaN(nas)) {
return -1;
}
if (isNaN(nas) && !isNaN(nbs)) {
return 1;
}
a = String(as);
b = String(bs);
if (a === b) { if (a === b) {
return 0; return 0;
} }
...@@ -481,11 +581,15 @@ ...@@ -481,11 +581,15 @@
}; };
})(this); })(this);
sortAs = function(order) { sortAs = function(order) {
var i, mapping, x; var i, l_mapping, mapping, x;
mapping = {}; mapping = {};
l_mapping = {};
for (i in order) { for (i in order) {
x = order[i]; x = order[i];
mapping[x] = i; mapping[x] = i;
if (typeof x === "string") {
l_mapping[x.toLowerCase()] = i;
}
} }
return function(a, b) { return function(a, b) {
if ((mapping[a] != null) && (mapping[b] != null)) { if ((mapping[a] != null) && (mapping[b] != null)) {
...@@ -494,6 +598,12 @@ ...@@ -494,6 +598,12 @@
return -1; return -1;
} else if (mapping[b] != null) { } else if (mapping[b] != null) {
return 1; return 1;
} else if ((l_mapping[a] != null) && (l_mapping[b] != null)) {
return l_mapping[a] - l_mapping[b];
} else if (l_mapping[a] != null) {
return -1;
} else if (l_mapping[b] != null) {
return 1;
} else { } else {
return naturalSort(a, b); return naturalSort(a, b);
} }
...@@ -501,22 +611,17 @@ ...@@ -501,22 +611,17 @@
}; };
getSort = function(sorters, attr) { getSort = function(sorters, attr) {
var sort; var sort;
sort = sorters(attr); if (sorters != null) {
if ($.isFunction(sort)) { if ($.isFunction(sorters)) {
return sort; sort = sorters(attr);
} else { if ($.isFunction(sort)) {
return naturalSort; return sort;
}
} else if (sorters[attr] != null) {
return sorters[attr];
}
} }
}; return naturalSort;
$.pivotUtilities = {
aggregatorTemplates: aggregatorTemplates,
aggregators: aggregators,
renderers: renderers,
derivers: derivers,
locales: locales,
naturalSort: naturalSort,
numberFormat: numberFormat,
sortAs: sortAs
}; };
/* /*
...@@ -524,17 +629,28 @@ ...@@ -524,17 +629,28 @@
*/ */
PivotData = (function() { PivotData = (function() {
function PivotData(input, opts) { function PivotData(input, opts) {
var ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9;
if (opts == null) {
opts = {};
}
this.getAggregator = bind(this.getAggregator, this); this.getAggregator = bind(this.getAggregator, this);
this.getRowKeys = bind(this.getRowKeys, this); this.getRowKeys = bind(this.getRowKeys, this);
this.getColKeys = bind(this.getColKeys, this); this.getColKeys = bind(this.getColKeys, this);
this.sortKeys = bind(this.sortKeys, this); this.sortKeys = bind(this.sortKeys, this);
this.arrSort = bind(this.arrSort, this); this.arrSort = bind(this.arrSort, this);
this.aggregator = opts.aggregator; this.input = input;
this.aggregatorName = opts.aggregatorName; this.aggregator = (ref = opts.aggregator) != null ? ref : aggregatorTemplates.count()();
this.colAttrs = opts.cols; this.aggregatorName = (ref1 = opts.aggregatorName) != null ? ref1 : "Count";
this.rowAttrs = opts.rows; this.colAttrs = (ref2 = opts.cols) != null ? ref2 : [];
this.valAttrs = opts.vals; this.rowAttrs = (ref3 = opts.rows) != null ? ref3 : [];
this.sorters = opts.sorters; this.valAttrs = (ref4 = opts.vals) != null ? ref4 : [];
this.sorters = (ref5 = opts.sorters) != null ? ref5 : {};
this.rowOrder = (ref6 = opts.rowOrder) != null ? ref6 : "key_a_to_z";
this.colOrder = (ref7 = opts.colOrder) != null ? ref7 : "key_a_to_z";
this.derivedAttributes = (ref8 = opts.derivedAttributes) != null ? ref8 : {};
this.filter = (ref9 = opts.filter) != null ? ref9 : (function() {
return true;
});
this.tree = {}; this.tree = {};
this.rowKeys = []; this.rowKeys = [];
this.colKeys = []; this.colKeys = [];
...@@ -542,9 +658,9 @@ ...@@ -542,9 +658,9 @@
this.colTotals = {}; this.colTotals = {};
this.allTotal = this.aggregator(this, [], []); this.allTotal = this.aggregator(this, [], []);
this.sorted = false; this.sorted = false;
PivotData.forEachRecord(input, opts.derivedAttributes, (function(_this) { PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {
return function(record) { return function(record) {
if (opts.filter(record)) { if (_this.filter(record)) {
return _this.processRecord(record); return _this.processRecord(record);
} }
}; };
...@@ -594,7 +710,7 @@ ...@@ -594,7 +710,7 @@
} }
return results1; return results1;
} }
} else if (input instanceof jQuery) { } else if (input instanceof $) {
tblCols = []; tblCols = [];
$("thead > tr > th", input).each(function(i) { $("thead > tr > th", input).each(function(i) {
return tblCols.push($(this).text()); return tblCols.push($(this).text());
...@@ -602,7 +718,7 @@ ...@@ -602,7 +718,7 @@
return $("tbody > tr", input).each(function(i) { return $("tbody > tr", input).each(function(i) {
record = {}; record = {};
$("td", this).each(function(j) { $("td", this).each(function(j) {
return record[tblCols[j]] = $(this).html(); return record[tblCols[j]] = $(this).text();
}); });
return addRecord(record); return addRecord(record);
}); });
...@@ -611,13 +727,22 @@ ...@@ -611,13 +727,22 @@
} }
}; };
PivotData.convertToArray = function(input) { PivotData.prototype.forEachMatchingRecord = function(criteria, callback) {
var result; return PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {
result = []; return function(record) {
PivotData.forEachRecord(input, {}, function(record) { var k, ref, v;
return result.push(record); if (!_this.filter(record)) {
}); return;
return result; }
for (k in criteria) {
v = criteria[k];
if (v !== ((ref = record[k]) != null ? ref : "null")) {
return;
}
}
return callback(record);
};
})(this));
}; };
PivotData.prototype.arrSort = function(attrs) { PivotData.prototype.arrSort = function(attrs) {
...@@ -634,6 +759,7 @@ ...@@ -634,6 +759,7 @@
return function(a, b) { return function(a, b) {
var comparison, i, sorter; var comparison, i, sorter;
for (i in sortersArr) { for (i in sortersArr) {
if (!hasProp.call(sortersArr, i)) continue;
sorter = sortersArr[i]; sorter = sortersArr[i];
comparison = sorter(a[i], b[i]); comparison = sorter(a[i], b[i]);
if (comparison !== 0) { if (comparison !== 0) {
...@@ -645,10 +771,48 @@ ...@@ -645,10 +771,48 @@
}; };
PivotData.prototype.sortKeys = function() { PivotData.prototype.sortKeys = function() {
var v;
if (!this.sorted) { if (!this.sorted) {
this.sorted = true; this.sorted = true;
this.rowKeys.sort(this.arrSort(this.rowAttrs)); v = (function(_this) {
return this.colKeys.sort(this.arrSort(this.colAttrs)); return function(r, c) {
return _this.getAggregator(r, c).value();
};
})(this);
switch (this.rowOrder) {
case "value_a_to_z":
this.rowKeys.sort((function(_this) {
return function(a, b) {
return naturalSort(v(a, []), v(b, []));
};
})(this));
break;
case "value_z_to_a":
this.rowKeys.sort((function(_this) {
return function(a, b) {
return -naturalSort(v(a, []), v(b, []));
};
})(this));
break;
default:
this.rowKeys.sort(this.arrSort(this.rowAttrs));
}
switch (this.colOrder) {
case "value_a_to_z":
return this.colKeys.sort((function(_this) {
return function(a, b) {
return naturalSort(v([], a), v([], b));
};
})(this));
case "value_z_to_a":
return this.colKeys.sort((function(_this) {
return function(a, b) {
return -naturalSort(v([], a), v([], b));
};
})(this));
default:
return this.colKeys.sort(this.arrSort(this.colAttrs));
}
} }
}; };
...@@ -730,22 +894,61 @@ ...@@ -730,22 +894,61 @@
return PivotData; return PivotData;
})(); })();
$.pivotUtilities = {
aggregatorTemplates: aggregatorTemplates,
aggregators: aggregators,
renderers: renderers,
derivers: derivers,
locales: locales,
naturalSort: naturalSort,
numberFormat: numberFormat,
sortAs: sortAs,
PivotData: PivotData
};
/* /*
Default Renderer for hierarchical table layout Default Renderer for hierarchical table layout
*/ */
pivotTableRenderer = function(pivotData, opts) { pivotTableRenderer = function(pivotData, opts) {
var aggregator, c, colAttrs, colKey, colKeys, defaults, i, j, r, result, rowAttrs, rowKey, rowKeys, spanSize, td, th, totalAggregator, tr, txt, val, x; var aggregator, c, colAttrs, colKey, colKeys, defaults, getClickHandler, i, j, r, result, rowAttrs, rowKey, rowKeys, spanSize, tbody, td, th, thead, totalAggregator, tr, txt, val, x;
defaults = { defaults = {
table: {
clickCallback: null,
rowTotals: true,
colTotals: true
},
localeStrings: { localeStrings: {
totals: "Totals" totals: "Totals"
} }
}; };
opts = $.extend(defaults, opts); opts = $.extend(true, {}, defaults, opts);
colAttrs = pivotData.colAttrs; colAttrs = pivotData.colAttrs;
rowAttrs = pivotData.rowAttrs; rowAttrs = pivotData.rowAttrs;
rowKeys = pivotData.getRowKeys(); rowKeys = pivotData.getRowKeys();
colKeys = pivotData.getColKeys(); colKeys = pivotData.getColKeys();
if (opts.table.clickCallback) {
getClickHandler = function(value, rowValues, colValues) {
var attr, filters, i;
filters = {};
for (i in colAttrs) {
if (!hasProp.call(colAttrs, i)) continue;
attr = colAttrs[i];
if (colValues[i] != null) {
filters[attr] = colValues[i];
}
}
for (i in rowAttrs) {
if (!hasProp.call(rowAttrs, i)) continue;
attr = rowAttrs[i];
if (rowValues[i] != null) {
filters[attr] = rowValues[i];
}
}
return function(e) {
return opts.table.clickCallback(e, value, filters, pivotData);
};
};
}
result = document.createElement("table"); result = document.createElement("table");
result.className = "pvtTable"; result.className = "pvtTable";
spanSize = function(arr, i, j) { spanSize = function(arr, i, j) {
...@@ -776,6 +979,7 @@ ...@@ -776,6 +979,7 @@
} }
return len; return len;
}; };
thead = document.createElement("thead");
for (j in colAttrs) { for (j in colAttrs) {
if (!hasProp.call(colAttrs, j)) continue; if (!hasProp.call(colAttrs, j)) continue;
c = colAttrs[j]; c = colAttrs[j];
...@@ -788,7 +992,7 @@ ...@@ -788,7 +992,7 @@
} }
th = document.createElement("th"); th = document.createElement("th");
th.className = "pvtAxisLabel"; th.className = "pvtAxisLabel";
th.innerHTML = c; th.textContent = c;
tr.appendChild(th); tr.appendChild(th);
for (i in colKeys) { for (i in colKeys) {
if (!hasProp.call(colKeys, i)) continue; if (!hasProp.call(colKeys, i)) continue;
...@@ -797,7 +1001,7 @@ ...@@ -797,7 +1001,7 @@
if (x !== -1) { if (x !== -1) {
th = document.createElement("th"); th = document.createElement("th");
th.className = "pvtColLabel"; th.className = "pvtColLabel";
th.innerHTML = colKey[j]; th.textContent = colKey[j];
th.setAttribute("colspan", x); th.setAttribute("colspan", x);
if (parseInt(j) === colAttrs.length - 1 && rowAttrs.length !== 0) { if (parseInt(j) === colAttrs.length - 1 && rowAttrs.length !== 0) {
th.setAttribute("rowspan", 2); th.setAttribute("rowspan", 2);
...@@ -805,14 +1009,14 @@ ...@@ -805,14 +1009,14 @@
tr.appendChild(th); tr.appendChild(th);
} }
} }
if (parseInt(j) === 0) { if (parseInt(j) === 0 && opts.table.rowTotals) {
th = document.createElement("th"); th = document.createElement("th");
th.className = "pvtTotalLabel"; th.className = "pvtTotalLabel pvtRowTotalLabel";
th.innerHTML = opts.localeStrings.totals; th.innerHTML = opts.localeStrings.totals;
th.setAttribute("rowspan", colAttrs.length + (rowAttrs.length === 0 ? 0 : 1)); th.setAttribute("rowspan", colAttrs.length + (rowAttrs.length === 0 ? 0 : 1));
tr.appendChild(th); tr.appendChild(th);
} }
result.appendChild(tr); thead.appendChild(tr);
} }
if (rowAttrs.length !== 0) { if (rowAttrs.length !== 0) {
tr = document.createElement("tr"); tr = document.createElement("tr");
...@@ -821,17 +1025,19 @@ ...@@ -821,17 +1025,19 @@
r = rowAttrs[i]; r = rowAttrs[i];
th = document.createElement("th"); th = document.createElement("th");
th.className = "pvtAxisLabel"; th.className = "pvtAxisLabel";
th.innerHTML = r; th.textContent = r;
tr.appendChild(th); tr.appendChild(th);
} }
th = document.createElement("th"); th = document.createElement("th");
if (colAttrs.length === 0) { if (colAttrs.length === 0) {
th.className = "pvtTotalLabel"; th.className = "pvtTotalLabel pvtRowTotalLabel";
th.innerHTML = opts.localeStrings.totals; th.innerHTML = opts.localeStrings.totals;
} }
tr.appendChild(th); tr.appendChild(th);
result.appendChild(tr); thead.appendChild(tr);
} }
result.appendChild(thead);
tbody = document.createElement("tbody");
for (i in rowKeys) { for (i in rowKeys) {
if (!hasProp.call(rowKeys, i)) continue; if (!hasProp.call(rowKeys, i)) continue;
rowKey = rowKeys[i]; rowKey = rowKeys[i];
...@@ -843,7 +1049,7 @@ ...@@ -843,7 +1049,7 @@
if (x !== -1) { if (x !== -1) {
th = document.createElement("th"); th = document.createElement("th");
th.className = "pvtRowLabel"; th.className = "pvtRowLabel";
th.innerHTML = txt; th.textContent = txt;
th.setAttribute("rowspan", x); th.setAttribute("rowspan", x);
if (parseInt(j) === rowAttrs.length - 1 && colAttrs.length !== 0) { if (parseInt(j) === rowAttrs.length - 1 && colAttrs.length !== 0) {
th.setAttribute("colspan", 2); th.setAttribute("colspan", 2);
...@@ -858,46 +1064,67 @@ ...@@ -858,46 +1064,67 @@
val = aggregator.value(); val = aggregator.value();
td = document.createElement("td"); td = document.createElement("td");
td.className = "pvtVal row" + i + " col" + j; td.className = "pvtVal row" + i + " col" + j;
td.innerHTML = aggregator.format(val); td.textContent = aggregator.format(val);
td.setAttribute("data-value", val);
if (getClickHandler != null) {
td.onclick = getClickHandler(val, rowKey, colKey);
}
tr.appendChild(td);
}
if (opts.table.rowTotals || colAttrs.length === 0) {
totalAggregator = pivotData.getAggregator(rowKey, []);
val = totalAggregator.value();
td = document.createElement("td");
td.className = "pvtTotal rowTotal";
td.textContent = totalAggregator.format(val);
td.setAttribute("data-value", val); td.setAttribute("data-value", val);
if (getClickHandler != null) {
td.onclick = getClickHandler(val, rowKey, []);
}
td.setAttribute("data-for", "row" + i);
tr.appendChild(td); tr.appendChild(td);
} }
totalAggregator = pivotData.getAggregator(rowKey, []); tbody.appendChild(tr);
val = totalAggregator.value();
td = document.createElement("td");
td.className = "pvtTotal rowTotal";
td.innerHTML = totalAggregator.format(val);
td.setAttribute("data-value", val);
td.setAttribute("data-for", "row" + i);
tr.appendChild(td);
result.appendChild(tr);
} }
tr = document.createElement("tr"); if (opts.table.colTotals || rowAttrs.length === 0) {
th = document.createElement("th"); tr = document.createElement("tr");
th.className = "pvtTotalLabel"; if (opts.table.colTotals || rowAttrs.length === 0) {
th.innerHTML = opts.localeStrings.totals; th = document.createElement("th");
th.setAttribute("colspan", rowAttrs.length + (colAttrs.length === 0 ? 0 : 1)); th.className = "pvtTotalLabel pvtColTotalLabel";
tr.appendChild(th); th.innerHTML = opts.localeStrings.totals;
for (j in colKeys) { th.setAttribute("colspan", rowAttrs.length + (colAttrs.length === 0 ? 0 : 1));
if (!hasProp.call(colKeys, j)) continue; tr.appendChild(th);
colKey = colKeys[j]; }
totalAggregator = pivotData.getAggregator([], colKey); for (j in colKeys) {
val = totalAggregator.value(); if (!hasProp.call(colKeys, j)) continue;
td = document.createElement("td"); colKey = colKeys[j];
td.className = "pvtTotal colTotal"; totalAggregator = pivotData.getAggregator([], colKey);
td.innerHTML = totalAggregator.format(val); val = totalAggregator.value();
td.setAttribute("data-value", val); td = document.createElement("td");
td.setAttribute("data-for", "col" + j); td.className = "pvtTotal colTotal";
tr.appendChild(td); td.textContent = totalAggregator.format(val);
td.setAttribute("data-value", val);
if (getClickHandler != null) {
td.onclick = getClickHandler(val, [], colKey);
}
td.setAttribute("data-for", "col" + j);
tr.appendChild(td);
}
if (opts.table.rowTotals || colAttrs.length === 0) {
totalAggregator = pivotData.getAggregator([], []);
val = totalAggregator.value();
td = document.createElement("td");
td.className = "pvtGrandTotal";
td.textContent = totalAggregator.format(val);
td.setAttribute("data-value", val);
if (getClickHandler != null) {
td.onclick = getClickHandler(val, [], []);
}
tr.appendChild(td);
}
tbody.appendChild(tr);
} }
totalAggregator = pivotData.getAggregator([], []); result.appendChild(tbody);
val = totalAggregator.value();
td = document.createElement("td");
td.className = "pvtGrandTotal";
td.innerHTML = totalAggregator.format(val);
td.setAttribute("data-value", val);
tr.appendChild(td);
result.appendChild(tr);
result.setAttribute("data-numrows", rowKeys.length); result.setAttribute("data-numrows", rowKeys.length);
result.setAttribute("data-numcols", colKeys.length); result.setAttribute("data-numcols", colKeys.length);
return result; return result;
...@@ -906,38 +1133,52 @@ ...@@ -906,38 +1133,52 @@
/* /*
Pivot Table core: create PivotData object and call Renderer on it Pivot Table core: create PivotData object and call Renderer on it
*/ */
$.fn.pivot = function(input, opts) { $.fn.pivot = function(input, inputOpts, locale) {
var defaults, e, pivotData, result, x; var defaults, e, localeDefaults, localeStrings, opts, pivotData, result, x;
if (locale == null) {
locale = "en";
}
if (locales[locale] == null) {
locale = "en";
}
defaults = { defaults = {
cols: [], cols: [],
rows: [], rows: [],
vals: [], vals: [],
rowOrder: "key_a_to_z",
colOrder: "key_a_to_z",
dataClass: PivotData,
filter: function() { filter: function() {
return true; return true;
}, },
aggregator: aggregatorTemplates.count()(), aggregator: aggregatorTemplates.count()(),
aggregatorName: "Count", aggregatorName: "Count",
sorters: function() {}, sorters: {},
derivedAttributes: {}, derivedAttributes: {},
renderer: pivotTableRenderer, renderer: pivotTableRenderer
rendererOptions: null, };
localeStrings: locales.en.localeStrings localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);
localeDefaults = {
rendererOptions: {
localeStrings: localeStrings
},
localeStrings: localeStrings
}; };
opts = $.extend(defaults, opts); opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));
result = null; result = null;
try { try {
pivotData = new PivotData(input, opts); pivotData = new opts.dataClass(input, opts);
try { try {
result = opts.renderer(pivotData, opts.rendererOptions); result = opts.renderer(pivotData, opts.rendererOptions);
} catch (_error) { } catch (error) {
e = _error; e = error;
if (typeof console !== "undefined" && console !== null) { if (typeof console !== "undefined" && console !== null) {
console.error(e.stack); console.error(e.stack);
} }
result = $("<span>").html(opts.localeStrings.renderError); result = $("<span>").html(opts.localeStrings.renderError);
} }
} catch (_error) { } catch (error) {
e = _error; e = error;
if (typeof console !== "undefined" && console !== null) { if (typeof console !== "undefined" && console !== null) {
console.error(e.stack); console.error(e.stack);
} }
...@@ -954,103 +1195,122 @@ ...@@ -954,103 +1195,122 @@
Pivot Table UI: calls Pivot Table core above with options set by user Pivot Table UI: calls Pivot Table core above with options set by user
*/ */
$.fn.pivotUI = function(input, inputOpts, overwrite, locale) { $.fn.pivotUI = function(input, inputOpts, overwrite, locale) {
var a, aggregator, attrLength, axisValues, c, colList, defaults, e, existingOpts, fn, i, initialRender, k, l, len1, len2, len3, len4, n, o, opts, pivotTable, q, ref, ref1, ref2, ref3, ref4, refresh, refreshDelayed, renderer, rendererControl, shownAttributes, tblCols, tr1, tr2, uiTable, unusedAttrsVerticalAutoCutoff, unusedAttrsVerticalAutoOverride, x; var a, aggregator, attr, attrLength, attrValues, c, colOrderArrow, defaults, e, existingOpts, fn1, i, initialRender, l, len1, len2, len3, localeDefaults, localeStrings, materializedInput, n, o, opts, ordering, pivotTable, recordsProcessed, ref, ref1, ref2, ref3, refresh, refreshDelayed, renderer, rendererControl, rowOrderArrow, shownAttributes, shownInAggregators, shownInDragDrop, tr1, tr2, uiTable, unused, unusedAttrsVerticalAutoCutoff, unusedAttrsVerticalAutoOverride, x;
if (overwrite == null) { if (overwrite == null) {
overwrite = false; overwrite = false;
} }
if (locale == null) { if (locale == null) {
locale = "en"; locale = "en";
} }
if (locales[locale] == null) {
locale = "en";
}
defaults = { defaults = {
derivedAttributes: {}, derivedAttributes: {},
aggregators: locales[locale].aggregators, aggregators: locales[locale].aggregators,
renderers: locales[locale].renderers, renderers: locales[locale].renderers,
hiddenAttributes: [], hiddenAttributes: [],
menuLimit: 200, hiddenFromAggregators: [],
hiddenFromDragDrop: [],
menuLimit: 500,
cols: [], cols: [],
rows: [], rows: [],
vals: [], vals: [],
rowOrder: "key_a_to_z",
colOrder: "key_a_to_z",
dataClass: PivotData,
exclusions: {}, exclusions: {},
inclusions: {},
unusedAttrsVertical: 85, unusedAttrsVertical: 85,
autoSortUnusedAttrs: false, autoSortUnusedAttrs: false,
rendererOptions: {
localeStrings: locales[locale].localeStrings
},
onRefresh: null, onRefresh: null,
showUI: true,
filter: function() { filter: function() {
return true; return true;
}, },
sorters: function() {}, sorters: {}
localeStrings: locales[locale].localeStrings };
localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);
localeDefaults = {
rendererOptions: {
localeStrings: localeStrings
},
localeStrings: localeStrings
}; };
existingOpts = this.data("pivotUIOptions"); existingOpts = this.data("pivotUIOptions");
if ((existingOpts == null) || overwrite) { if ((existingOpts == null) || overwrite) {
opts = $.extend(defaults, inputOpts); opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));
} else { } else {
opts = existingOpts; opts = existingOpts;
} }
try { try {
input = PivotData.convertToArray(input); attrValues = {};
tblCols = (function() { materializedInput = [];
var ref, results; recordsProcessed = 0;
ref = input[0];
results = [];
for (k in ref) {
if (!hasProp.call(ref, k)) continue;
results.push(k);
}
return results;
})();
ref = opts.derivedAttributes;
for (c in ref) {
if (!hasProp.call(ref, c)) continue;
if ((indexOf.call(tblCols, c) < 0)) {
tblCols.push(c);
}
}
axisValues = {};
for (l = 0, len1 = tblCols.length; l < len1; l++) {
x = tblCols[l];
axisValues[x] = {};
}
PivotData.forEachRecord(input, opts.derivedAttributes, function(record) { PivotData.forEachRecord(input, opts.derivedAttributes, function(record) {
var base, results, v; var attr, base, ref, value;
results = []; if (!opts.filter(record)) {
for (k in record) { return;
if (!hasProp.call(record, k)) continue; }
v = record[k]; materializedInput.push(record);
if (!(opts.filter(record))) { for (attr in record) {
continue; if (!hasProp.call(record, attr)) continue;
} if (attrValues[attr] == null) {
if (v == null) { attrValues[attr] = {};
v = "null"; if (recordsProcessed > 0) {
attrValues[attr]["null"] = recordsProcessed;
}
} }
if ((base = axisValues[k])[v] == null) { }
base[v] = 0; for (attr in attrValues) {
value = (ref = record[attr]) != null ? ref : "null";
if ((base = attrValues[attr])[value] == null) {
base[value] = 0;
} }
results.push(axisValues[k][v]++); attrValues[attr][value]++;
} }
return results; return recordsProcessed++;
}); });
uiTable = $("<table>", { uiTable = $("<table>", {
"class": "pvtUi" "class": "pvtUi"
}).attr("cellpadding", 5); }).attr("cellpadding", 5);
rendererControl = $("<td>"); rendererControl = $("<td>").addClass("pvtUiCell");
renderer = $("<select>").addClass('pvtRenderer').appendTo(rendererControl).bind("change", function() { renderer = $("<select>").addClass('pvtRenderer').appendTo(rendererControl).bind("change", function() {
return refresh(); return refresh();
}); });
ref1 = opts.renderers; ref = opts.renderers;
for (x in ref1) { for (x in ref) {
if (!hasProp.call(ref1, x)) continue; if (!hasProp.call(ref, x)) continue;
$("<option>").val(x).html(x).appendTo(renderer); $("<option>").val(x).html(x).appendTo(renderer);
} }
colList = $("<td>").addClass('pvtAxisContainer pvtUnused'); unused = $("<td>").addClass('pvtAxisContainer pvtUnused pvtUiCell');
shownAttributes = (function() { shownAttributes = (function() {
var len2, n, results; var results;
results = [];
for (a in attrValues) {
if (indexOf.call(opts.hiddenAttributes, a) < 0) {
results.push(a);
}
}
return results;
})();
shownInAggregators = (function() {
var l, len1, results;
results = [];
for (l = 0, len1 = shownAttributes.length; l < len1; l++) {
c = shownAttributes[l];
if (indexOf.call(opts.hiddenFromAggregators, c) < 0) {
results.push(c);
}
}
return results;
})();
shownInDragDrop = (function() {
var l, len1, results;
results = []; results = [];
for (n = 0, len2 = tblCols.length; n < len2; n++) { for (l = 0, len1 = shownAttributes.length; l < len1; l++) {
c = tblCols[n]; c = shownAttributes[l];
if (indexOf.call(opts.hiddenAttributes, c) < 0) { if (indexOf.call(opts.hiddenFromDragDrop, c) < 0) {
results.push(c); results.push(c);
} }
} }
...@@ -1064,144 +1324,214 @@ ...@@ -1064,144 +1324,214 @@
} }
if (!isNaN(unusedAttrsVerticalAutoCutoff)) { if (!isNaN(unusedAttrsVerticalAutoCutoff)) {
attrLength = 0; attrLength = 0;
for (n = 0, len2 = shownAttributes.length; n < len2; n++) { for (l = 0, len1 = shownInDragDrop.length; l < len1; l++) {
a = shownAttributes[n]; a = shownInDragDrop[l];
attrLength += a.length; attrLength += a.length;
} }
unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff; unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff;
} }
if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) { if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {
colList.addClass('pvtVertList'); unused.addClass('pvtVertList');
} else { } else {
colList.addClass('pvtHorizList'); unused.addClass('pvtHorizList');
} }
fn = function(c) { fn1 = function(attr) {
var attrElem, btns, checkContainer, filterItem, filterItemExcluded, hasExcludedItem, keys, len3, o, ref2, showFilterList, triangleLink, updateFilter, v, valueList; var attrElem, checkContainer, closeFilterBox, controls, filterItem, filterItemExcluded, finalButtons, hasExcludedItem, len2, n, placeholder, ref1, sorter, triangleLink, v, value, valueCount, valueList, values;
keys = (function() { values = (function() {
var results; var results;
results = []; results = [];
for (k in axisValues[c]) { for (v in attrValues[attr]) {
results.push(k); results.push(v);
} }
return results; return results;
})(); })();
hasExcludedItem = false; hasExcludedItem = false;
valueList = $("<div>").addClass('pvtFilterBox').hide(); valueList = $("<div>").addClass('pvtFilterBox').hide();
valueList.append($("<h4>").text(c + " (" + keys.length + ")")); valueList.append($("<h4>").append($("<span>").text(attr), $("<span>").addClass("count").text("(" + values.length + ")")));
if (keys.length > opts.menuLimit) { if (values.length > opts.menuLimit) {
valueList.append($("<p>").html(opts.localeStrings.tooMany)); valueList.append($("<p>").html(opts.localeStrings.tooMany));
} else { } else {
btns = $("<p>").appendTo(valueList); if (values.length > 5) {
btns.append($("<button>", { controls = $("<p>").appendTo(valueList);
type: "button" sorter = getSort(opts.sorters, attr);
}).html(opts.localeStrings.selectAll).bind("click", function() { placeholder = opts.localeStrings.filterResults;
return valueList.find("input:visible").prop("checked", true); $("<input>", {
})); type: "text"
btns.append($("<button>", { }).appendTo(controls).attr({
type: "button" placeholder: placeholder,
}).html(opts.localeStrings.selectNone).bind("click", function() { "class": "pvtSearch"
return valueList.find("input:visible").prop("checked", false); }).bind("keyup", function() {
})); var accept, accept_gen, filter;
btns.append($("<br>")); filter = $(this).val().toLowerCase().trim();
btns.append($("<input>", { accept_gen = function(prefix, accepted) {
type: "text", return function(v) {
placeholder: opts.localeStrings.filterResults, var real_filter, ref1;
"class": "pvtSearch" real_filter = filter.substring(prefix.length).trim();
}).bind("keyup", function() { if (real_filter.length === 0) {
var filter; return true;
filter = $(this).val().toLowerCase(); }
return valueList.find('.pvtCheckContainer p').each(function() { return ref1 = Math.sign(sorter(v.toLowerCase(), real_filter)), indexOf.call(accepted, ref1) >= 0;
var testString; };
testString = $(this).text().toLowerCase().indexOf(filter); };
if (testString !== -1) { accept = filter.indexOf(">=") === 0 ? accept_gen(">=", [1, 0]) : filter.indexOf("<=") === 0 ? accept_gen("<=", [-1, 0]) : filter.indexOf(">") === 0 ? accept_gen(">", [1]) : filter.indexOf("<") === 0 ? accept_gen("<", [-1]) : filter.indexOf("~") === 0 ? function(v) {
return $(this).show(); if (filter.substring(1).trim().length === 0) {
} else { return true;
return $(this).hide(); }
} return v.toLowerCase().match(filter.substring(1));
} : function(v) {
return v.toLowerCase().indexOf(filter) !== -1;
};
return valueList.find('.pvtCheckContainer p label span.value').each(function() {
if (accept($(this).text())) {
return $(this).parent().parent().show();
} else {
return $(this).parent().parent().hide();
}
});
}); });
})); controls.append($("<br>"));
$("<button>", {
type: "button"
}).appendTo(controls).html(opts.localeStrings.selectAll).bind("click", function() {
valueList.find("input:visible:not(:checked)").prop("checked", true).toggleClass("changed");
return false;
});
$("<button>", {
type: "button"
}).appendTo(controls).html(opts.localeStrings.selectNone).bind("click", function() {
valueList.find("input:visible:checked").prop("checked", false).toggleClass("changed");
return false;
});
}
checkContainer = $("<div>").addClass("pvtCheckContainer").appendTo(valueList); checkContainer = $("<div>").addClass("pvtCheckContainer").appendTo(valueList);
ref2 = keys.sort(getSort(opts.sorters, c)); ref1 = values.sort(getSort(opts.sorters, attr));
for (o = 0, len3 = ref2.length; o < len3; o++) { for (n = 0, len2 = ref1.length; n < len2; n++) {
k = ref2[o]; value = ref1[n];
v = axisValues[c][k]; valueCount = attrValues[attr][value];
filterItem = $("<label>"); filterItem = $("<label>");
filterItemExcluded = opts.exclusions[c] ? (indexOf.call(opts.exclusions[c], k) >= 0) : false; filterItemExcluded = false;
if (opts.inclusions[attr]) {
filterItemExcluded = (indexOf.call(opts.inclusions[attr], value) < 0);
} else if (opts.exclusions[attr]) {
filterItemExcluded = (indexOf.call(opts.exclusions[attr], value) >= 0);
}
hasExcludedItem || (hasExcludedItem = filterItemExcluded); hasExcludedItem || (hasExcludedItem = filterItemExcluded);
$("<input>").attr("type", "checkbox").addClass('pvtFilter').attr("checked", !filterItemExcluded).data("filter", [c, k]).appendTo(filterItem); $("<input>").attr("type", "checkbox").addClass('pvtFilter').attr("checked", !filterItemExcluded).data("filter", [attr, value]).appendTo(filterItem).bind("change", function() {
filterItem.append($("<span>").html(k)); return $(this).toggleClass("changed");
filterItem.append($("<span>").text(" (" + v + ")")); });
filterItem.append($("<span>").addClass("value").text(value));
filterItem.append($("<span>").addClass("count").text("(" + valueCount + ")"));
checkContainer.append($("<p>").append(filterItem)); checkContainer.append($("<p>").append(filterItem));
} }
} }
updateFilter = function() { closeFilterBox = function() {
var unselectedCount; if (valueList.find("[type='checkbox']").length > valueList.find("[type='checkbox']:checked").length) {
unselectedCount = valueList.find("[type='checkbox']").length - valueList.find("[type='checkbox']:checked").length;
if (unselectedCount > 0) {
attrElem.addClass("pvtFilteredAttribute"); attrElem.addClass("pvtFilteredAttribute");
} else { } else {
attrElem.removeClass("pvtFilteredAttribute"); attrElem.removeClass("pvtFilteredAttribute");
} }
if (keys.length > opts.menuLimit) {
return valueList.toggle();
} else {
return valueList.toggle(0, refresh);
}
};
$("<p>").appendTo(valueList).append($("<button>", {
type: "button"
}).text("OK").bind("click", updateFilter));
showFilterList = function(e) {
valueList.css({
left: e.pageX,
top: e.pageY
}).toggle();
valueList.find('.pvtSearch').val(''); valueList.find('.pvtSearch').val('');
return valueList.find('.pvtCheckContainer p').show(); valueList.find('.pvtCheckContainer p').show();
return valueList.hide();
}; };
triangleLink = $("<span>").addClass('pvtTriangle').html(" &#x25BE;").bind("click", showFilterList); finalButtons = $("<p>").appendTo(valueList);
attrElem = $("<li>").addClass("axis_" + i).append($("<span>").addClass('pvtAttr').text(c).data("attrName", c).append(triangleLink)); if (values.length <= opts.menuLimit) {
$("<button>", {
type: "button"
}).text(opts.localeStrings.apply).appendTo(finalButtons).bind("click", function() {
if (valueList.find(".changed").removeClass("changed").length) {
refresh();
}
return closeFilterBox();
});
}
$("<button>", {
type: "button"
}).text(opts.localeStrings.cancel).appendTo(finalButtons).bind("click", function() {
valueList.find(".changed:checked").removeClass("changed").prop("checked", false);
valueList.find(".changed:not(:checked)").removeClass("changed").prop("checked", true);
return closeFilterBox();
});
triangleLink = $("<span>").addClass('pvtTriangle').html(" &#x25BE;").bind("click", function(e) {
var left, ref2, top;
ref2 = $(e.currentTarget).position(), left = ref2.left, top = ref2.top;
return valueList.css({
left: left + 10,
top: top + 10
}).show();
});
attrElem = $("<li>").addClass("axis_" + i).append($("<span>").addClass('pvtAttr').text(attr).data("attrName", attr).append(triangleLink));
if (hasExcludedItem) { if (hasExcludedItem) {
attrElem.addClass('pvtFilteredAttribute'); attrElem.addClass('pvtFilteredAttribute');
} }
colList.append(attrElem).append(valueList); return unused.append(attrElem).append(valueList);
return attrElem.bind("dblclick", showFilterList);
}; };
for (i in shownAttributes) { for (i in shownInDragDrop) {
if (!hasProp.call(shownAttributes, i)) continue; if (!hasProp.call(shownInDragDrop, i)) continue;
c = shownAttributes[i]; attr = shownInDragDrop[i];
fn(c); fn1(attr);
} }
tr1 = $("<tr>").appendTo(uiTable); tr1 = $("<tr>").appendTo(uiTable);
aggregator = $("<select>").addClass('pvtAggregator').bind("change", function() { aggregator = $("<select>").addClass('pvtAggregator').bind("change", function() {
return refresh(); return refresh();
}); });
ref2 = opts.aggregators; ref1 = opts.aggregators;
for (x in ref2) { for (x in ref1) {
if (!hasProp.call(ref2, x)) continue; if (!hasProp.call(ref1, x)) continue;
aggregator.append($("<option>").val(x).html(x)); aggregator.append($("<option>").val(x).html(x));
} }
$("<td>").addClass('pvtVals').appendTo(tr1).append(aggregator).append($("<br>")); ordering = {
$("<td>").addClass('pvtAxisContainer pvtHorizList pvtCols').appendTo(tr1); key_a_to_z: {
rowSymbol: "&varr;",
colSymbol: "&harr;",
next: "value_a_to_z"
},
value_a_to_z: {
rowSymbol: "&darr;",
colSymbol: "&rarr;",
next: "value_z_to_a"
},
value_z_to_a: {
rowSymbol: "&uarr;",
colSymbol: "&larr;",
next: "key_a_to_z"
}
};
rowOrderArrow = $("<a>", {
role: "button"
}).addClass("pvtRowOrder").data("order", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol).bind("click", function() {
$(this).data("order", ordering[$(this).data("order")].next);
$(this).html(ordering[$(this).data("order")].rowSymbol);
return refresh();
});
colOrderArrow = $("<a>", {
role: "button"
}).addClass("pvtColOrder").data("order", opts.colOrder).html(ordering[opts.colOrder].colSymbol).bind("click", function() {
$(this).data("order", ordering[$(this).data("order")].next);
$(this).html(ordering[$(this).data("order")].colSymbol);
return refresh();
});
$("<td>").addClass('pvtVals pvtUiCell').appendTo(tr1).append(aggregator).append(rowOrderArrow).append(colOrderArrow).append($("<br>"));
$("<td>").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1);
tr2 = $("<tr>").appendTo(uiTable); tr2 = $("<tr>").appendTo(uiTable);
tr2.append($("<td>").addClass('pvtAxisContainer pvtRows').attr("valign", "top")); tr2.append($("<td>").addClass('pvtAxisContainer pvtRows pvtUiCell').attr("valign", "top"));
pivotTable = $("<td>").attr("valign", "top").addClass('pvtRendererArea').appendTo(tr2); pivotTable = $("<td>").attr("valign", "top").addClass('pvtRendererArea').appendTo(tr2);
if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) { if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {
uiTable.find('tr:nth-child(1)').prepend(rendererControl); uiTable.find('tr:nth-child(1)').prepend(rendererControl);
uiTable.find('tr:nth-child(2)').prepend(colList); uiTable.find('tr:nth-child(2)').prepend(unused);
} else { } else {
uiTable.prepend($("<tr>").append(rendererControl).append(colList)); uiTable.prepend($("<tr>").append(rendererControl).append(unused));
} }
this.html(uiTable); this.html(uiTable);
ref3 = opts.cols; ref2 = opts.cols;
for (n = 0, len2 = ref2.length; n < len2; n++) {
x = ref2[n];
this.find(".pvtCols").append(this.find(".axis_" + ($.inArray(x, shownInDragDrop))));
}
ref3 = opts.rows;
for (o = 0, len3 = ref3.length; o < len3; o++) { for (o = 0, len3 = ref3.length; o < len3; o++) {
x = ref3[o]; x = ref3[o];
this.find(".pvtCols").append(this.find(".axis_" + ($.inArray(x, shownAttributes)))); this.find(".pvtRows").append(this.find(".axis_" + ($.inArray(x, shownInDragDrop))));
}
ref4 = opts.rows;
for (q = 0, len4 = ref4.length; q < len4; q++) {
x = ref4[q];
this.find(".pvtRows").append(this.find(".axis_" + ($.inArray(x, shownAttributes))));
} }
if (opts.aggregatorName != null) { if (opts.aggregatorName != null) {
this.find(".pvtAggregator").val(opts.aggregatorName); this.find(".pvtAggregator").val(opts.aggregatorName);
...@@ -1209,19 +1539,23 @@ ...@@ -1209,19 +1539,23 @@
if (opts.rendererName != null) { if (opts.rendererName != null) {
this.find(".pvtRenderer").val(opts.rendererName); this.find(".pvtRenderer").val(opts.rendererName);
} }
if (!opts.showUI) {
this.find(".pvtUiCell").hide();
}
initialRender = true; initialRender = true;
refreshDelayed = (function(_this) { refreshDelayed = (function(_this) {
return function() { return function() {
var attr, exclusions, inclusions, len5, newDropdown, numInputsToProcess, pivotUIOptions, pvtVals, ref5, ref6, s, subopts, t, unusedAttrsContainer, vals; var exclusions, inclusions, len4, newDropdown, numInputsToProcess, pivotUIOptions, pvtVals, ref4, ref5, subopts, t, u, unusedAttrsContainer, vals;
subopts = { subopts = {
derivedAttributes: opts.derivedAttributes, derivedAttributes: opts.derivedAttributes,
localeStrings: opts.localeStrings, localeStrings: opts.localeStrings,
rendererOptions: opts.rendererOptions, rendererOptions: opts.rendererOptions,
sorters: opts.sorters, sorters: opts.sorters,
cols: [], cols: [],
rows: [] rows: [],
dataClass: opts.dataClass
}; };
numInputsToProcess = (ref5 = opts.aggregators[aggregator.val()]([])().numInputs) != null ? ref5 : 0; numInputsToProcess = (ref4 = opts.aggregators[aggregator.val()]([])().numInputs) != null ? ref4 : 0;
vals = []; vals = [];
_this.find(".pvtRows li span.pvtAttr").each(function() { _this.find(".pvtRows li span.pvtAttr").each(function() {
return subopts.rows.push($(this).data("attrName")); return subopts.rows.push($(this).data("attrName"));
...@@ -1241,12 +1575,12 @@ ...@@ -1241,12 +1575,12 @@
}); });
if (numInputsToProcess !== 0) { if (numInputsToProcess !== 0) {
pvtVals = _this.find(".pvtVals"); pvtVals = _this.find(".pvtVals");
for (x = s = 0, ref6 = numInputsToProcess; 0 <= ref6 ? s < ref6 : s > ref6; x = 0 <= ref6 ? ++s : --s) { for (x = t = 0, ref5 = numInputsToProcess; 0 <= ref5 ? t < ref5 : t > ref5; x = 0 <= ref5 ? ++t : --t) {
newDropdown = $("<select>").addClass('pvtAttrDropdown').append($("<option>")).bind("change", function() { newDropdown = $("<select>").addClass('pvtAttrDropdown').append($("<option>")).bind("change", function() {
return refresh(); return refresh();
}); });
for (t = 0, len5 = shownAttributes.length; t < len5; t++) { for (u = 0, len4 = shownInAggregators.length; u < len4; u++) {
attr = shownAttributes[t]; attr = shownInAggregators[u];
newDropdown.append($("<option>").val(attr).text(attr)); newDropdown.append($("<option>").val(attr).text(attr));
} }
pvtVals.append(newDropdown); pvtVals.append(newDropdown);
...@@ -1265,6 +1599,8 @@ ...@@ -1265,6 +1599,8 @@
subopts.vals = vals; subopts.vals = vals;
subopts.aggregator = opts.aggregators[aggregator.val()](vals); subopts.aggregator = opts.aggregators[aggregator.val()](vals);
subopts.renderer = opts.renderers[renderer.val()]; subopts.renderer = opts.renderers[renderer.val()];
subopts.rowOrder = rowOrderArrow.data("order");
subopts.colOrder = colOrderArrow.data("order");
exclusions = {}; exclusions = {};
_this.find('input.pvtFilter').not(':checked').each(function() { _this.find('input.pvtFilter').not(':checked').each(function() {
var filter; var filter;
...@@ -1288,24 +1624,27 @@ ...@@ -1288,24 +1624,27 @@
} }
}); });
subopts.filter = function(record) { subopts.filter = function(record) {
var excludedItems, ref7; var excludedItems, k, ref6, ref7;
if (!opts.filter(record)) { if (!opts.filter(record)) {
return false; return false;
} }
for (k in exclusions) { for (k in exclusions) {
excludedItems = exclusions[k]; excludedItems = exclusions[k];
if (ref7 = "" + record[k], indexOf.call(excludedItems, ref7) >= 0) { if (ref6 = "" + ((ref7 = record[k]) != null ? ref7 : 'null'), indexOf.call(excludedItems, ref6) >= 0) {
return false; return false;
} }
} }
return true; return true;
}; };
pivotTable.pivot(input, subopts); pivotTable.pivot(materializedInput, subopts);
pivotUIOptions = $.extend(opts, { pivotUIOptions = $.extend({}, opts, {
cols: subopts.cols, cols: subopts.cols,
rows: subopts.rows, rows: subopts.rows,
colOrder: subopts.colOrder,
rowOrder: subopts.rowOrder,
vals: vals, vals: vals,
exclusions: exclusions, exclusions: exclusions,
inclusions: inclusions,
inclusionsInfo: inclusions, inclusionsInfo: inclusions,
aggregatorName: aggregator.val(), aggregatorName: aggregator.val(),
rendererName: renderer.val() rendererName: renderer.val()
...@@ -1340,8 +1679,8 @@ ...@@ -1340,8 +1679,8 @@
items: 'li', items: 'li',
placeholder: 'pvtPlaceholder' placeholder: 'pvtPlaceholder'
}); });
} catch (_error) { } catch (error) {
e = _error; e = error;
if (typeof console !== "undefined" && console !== null) { if (typeof console !== "undefined" && console !== null) {
console.error(e.stack); console.error(e.stack);
} }
...@@ -1353,44 +1692,29 @@ ...@@ -1353,44 +1692,29 @@
/* /*
Heatmap post-processing Heatmap post-processing
*/ */
$.fn.heatmap = function(scope) { $.fn.heatmap = function(scope, opts) {
var colorGen, heatmapper, i, j, l, n, numCols, numRows, ref, ref1; var colorScaleGenerator, heatmapper, i, j, l, n, numCols, numRows, ref, ref1, ref2;
if (scope == null) { if (scope == null) {
scope = "heatmap"; scope = "heatmap";
} }
numRows = this.data("numrows"); numRows = this.data("numrows");
numCols = this.data("numcols"); numCols = this.data("numcols");
colorGen = function(color, min, max) { colorScaleGenerator = opts != null ? (ref = opts.heatmap) != null ? ref.colorScaleGenerator : void 0 : void 0;
var hexGen; if (colorScaleGenerator == null) {
hexGen = (function() { colorScaleGenerator = function(values) {
switch (color) { var max, min;
case "red": min = Math.min.apply(Math, values);
return function(hex) { max = Math.max.apply(Math, values);
return "ff" + hex + hex; return function(x) {
}; var nonRed;
case "green": nonRed = 255 - Math.round(255 * (x - min) / (max - min));
return function(hex) { return "rgb(255," + nonRed + "," + nonRed + ")";
return hex + "ff" + hex; };
};
case "blue":
return function(hex) {
return "" + hex + hex + "ff";
};
}
})();
return function(x) {
var hex, intensity;
intensity = 255 - Math.round(255 * (x - min) / (max - min));
hex = intensity.toString(16).split(".")[0];
if (hex.length === 1) {
hex = 0 + hex;
}
return hexGen(hex);
}; };
}; }
heatmapper = (function(_this) { heatmapper = (function(_this) {
return function(scope, color) { return function(scope) {
var colorFor, forEachCell, values; var colorScale, forEachCell, values;
forEachCell = function(f) { forEachCell = function(f) {
return _this.find(scope).each(function() { return _this.find(scope).each(function() {
var x; var x;
...@@ -1404,41 +1728,41 @@ ...@@ -1404,41 +1728,41 @@
forEachCell(function(x) { forEachCell(function(x) {
return values.push(x); return values.push(x);
}); });
colorFor = colorGen(color, Math.min.apply(Math, values), Math.max.apply(Math, values)); colorScale = colorScaleGenerator(values);
return forEachCell(function(x, elem) { return forEachCell(function(x, elem) {
return elem.css("background-color", "#" + colorFor(x)); return elem.css("background-color", colorScale(x));
}); });
}; };
})(this); })(this);
switch (scope) { switch (scope) {
case "heatmap": case "heatmap":
heatmapper(".pvtVal", "red"); heatmapper(".pvtVal");
break; break;
case "rowheatmap": case "rowheatmap":
for (i = l = 0, ref = numRows; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) { for (i = l = 0, ref1 = numRows; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) {
heatmapper(".pvtVal.row" + i, "red"); heatmapper(".pvtVal.row" + i);
} }
break; break;
case "colheatmap": case "colheatmap":
for (j = n = 0, ref1 = numCols; 0 <= ref1 ? n < ref1 : n > ref1; j = 0 <= ref1 ? ++n : --n) { for (j = n = 0, ref2 = numCols; 0 <= ref2 ? n < ref2 : n > ref2; j = 0 <= ref2 ? ++n : --n) {
heatmapper(".pvtVal.col" + j, "red"); heatmapper(".pvtVal.col" + j);
} }
} }
heatmapper(".pvtTotal.rowTotal", "red"); heatmapper(".pvtTotal.rowTotal");
heatmapper(".pvtTotal.colTotal", "red"); heatmapper(".pvtTotal.colTotal");
return this; return this;
}; };
/* /*
Barchart post-processing Barchart post-processing
*/ */
return $.fn.barchart = function() { return $.fn.barchart = function(opts) {
var barcharter, i, l, numCols, numRows, ref; var barcharter, i, l, numCols, numRows, ref;
numRows = this.data("numrows"); numRows = this.data("numrows");
numCols = this.data("numcols"); numCols = this.data("numcols");
barcharter = (function(_this) { barcharter = (function(_this) {
return function(scope) { return function(scope) {
var forEachCell, max, scaler, values; var forEachCell, max, min, range, scaler, values;
forEachCell = function(f) { forEachCell = function(f) {
return _this.find(scope).each(function() { return _this.find(scope).each(function() {
var x; var x;
...@@ -1453,23 +1777,41 @@ ...@@ -1453,23 +1777,41 @@
return values.push(x); return values.push(x);
}); });
max = Math.max.apply(Math, values); max = Math.max.apply(Math, values);
if (max < 0) {
max = 0;
}
range = max;
min = Math.min.apply(Math, values);
if (min < 0) {
range = max - min;
}
scaler = function(x) { scaler = function(x) {
return 100 * x / (1.4 * max); return 100 * x / (1.4 * range);
}; };
return forEachCell(function(x, elem) { return forEachCell(function(x, elem) {
var text, wrapper; var bBase, bgColor, text, wrapper;
text = elem.text(); text = elem.text();
wrapper = $("<div>").css({ wrapper = $("<div>").css({
"position": "relative", "position": "relative",
"height": "55px" "height": "55px"
}); });
bgColor = "gray";
bBase = 0;
if (min < 0) {
bBase = scaler(-min);
}
if (x < 0) {
bBase += scaler(x);
bgColor = "darkred";
x = -x;
}
wrapper.append($("<div>").css({ wrapper.append($("<div>").css({
"position": "absolute", "position": "absolute",
"bottom": 0, "bottom": bBase + "%",
"left": 0, "left": 0,
"right": 0, "right": 0,
"height": scaler(x) + "%", "height": scaler(x) + "%",
"background-color": "gray" "background-color": bgColor
})); }));
wrapper.append($("<div>").text(text).css({ wrapper.append($("<div>").text(text).css({
"position": "relative", "position": "relative",
...@@ -1494,4 +1836,4 @@ ...@@ -1494,4 +1836,4 @@
}).call(this); }).call(this);
//# sourceMappingURL=pivot.js.map //# sourceMappingURL=pivot.js.map
\ No newline at end of file
.pvtUi{color:#333}table.pvtTable{font-size:8pt;text-align:left;border-collapse:collapse}table.pvtTable tr th{background-color:#e6EEEE;border:1px solid #CDCDCD;font-size:8pt;padding:5px}table.pvtTable .pvtColLabel{text-align:center}table.pvtTable .pvtTotalLabel{text-align:right}table.pvtTable tr td{color:#3D3D3D;padding:5px;background-color:#FFF;border:1px solid #CDCDCD;vertical-align:top;text-align:right}.pvtGrandTotal,.pvtTotal{font-weight:700}.pvtVals{text-align:center}.pvtAggregator{margin-bottom:5px}.pvtAxisContainer,.pvtVals{border:1px solid gray;background:#EEE;padding:5px;min-width:20px;min-height:20px}.pvtAxisContainer li{padding:8px 6px;list-style-type:none;cursor:move}.pvtAxisContainer li.pvtPlaceholder{-webkit-border-radius:5px;padding:3px 15px;-moz-border-radius:5px;border-radius:5px;border:1px dashed #aaa}.pvtAxisContainer li span.pvtAttr{background:#F3F3F3;border:1px solid #DEDEDE;padding:2px 5px;white-space:nowrap;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.pvtTriangle{cursor:pointer;color:grey}.pvtHorizList li{display:inline}.pvtVertList{vertical-align:top}.pvtFilteredAttribute{font-style:italic}.pvtFilterBox{z-index:100;width:280px;border:1px solid gray;background-color:#fff;position:absolute;padding:20px;text-align:center}.pvtFilterBox h4{margin:0}.pvtFilterBox p{margin:1em auto}.pvtFilterBox label{font-weight:400}.pvtFilterBox input[type=checkbox]{margin-right:5px}.pvtCheckContainer{text-align:left;overflow:scroll;width:100%;max-height:200px}.pvtCheckContainer p{margin:5px}.pvtRendererArea{padding:5px} .pvtUi{color:#333}table.pvtTable{font-size:8pt;text-align:left;border-collapse:collapse}table.pvtTable tbody tr th,table.pvtTable thead tr th{background-color:#e6EEEE;border:1px solid #CDCDCD;font-size:8pt;padding:5px}table.pvtTable .pvtColLabel{text-align:center}table.pvtTable .pvtTotalLabel{text-align:right}table.pvtTable tbody tr td{color:#3D3D3D;padding:5px;background-color:#FFF;border:1px solid #CDCDCD;vertical-align:top;text-align:right}.pvtGrandTotal,.pvtTotal{font-weight:700}.pvtVals{text-align:center;white-space:nowrap}.pvtColOrder,.pvtRowOrder{cursor:pointer;width:15px;margin-left:5px;display:inline-block}.pvtAggregator{margin-bottom:5px}.pvtAxisContainer,.pvtVals{border:1px solid gray;background:#EEE;padding:5px;min-width:20px;min-height:20px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.pvtAxisContainer li{padding:8px 6px;list-style-type:none;cursor:move}.pvtAxisContainer li.pvtPlaceholder{-webkit-border-radius:5px;padding:3px 15px;-moz-border-radius:5px;border-radius:5px;border:1px dashed #aaa}.pvtAxisContainer li span.pvtAttr{-webkit-text-size-adjust:100%;background:#F3F3F3;border:1px solid #DEDEDE;padding:2px 5px;white-space:nowrap;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.pvtTriangle{cursor:pointer;color:grey}.pvtHorizList li{display:inline}.pvtVertList{vertical-align:top}.pvtFilteredAttribute{font-style:italic}.pvtFilterBox{z-index:100;width:300px;border:1px solid gray;background-color:#fff;position:absolute;text-align:center}.pvtFilterBox h4{margin:15px}.pvtFilterBox p{margin:10px auto}.pvtFilterBox label{font-weight:400}.pvtFilterBox input[type=checkbox]{margin-right:10px;margin-left:10px}.pvtFilterBox input[type=text]{width:230px}.pvtFilterBox .count{color:gray;font-weight:400;margin-left:3px}.pvtCheckContainer{text-align:left;font-size:14px;white-space:nowrap;overflow-y:scroll;width:100%;max-height:250px;border-top:1px solid #d3d3d3;border-bottom:1px solid #d3d3d3}.pvtCheckContainer p{margin:5px}.pvtRendererArea{padding:5px}
\ No newline at end of file \ No newline at end of file
...@@ -6,6 +6,10 @@ ...@@ -6,6 +6,10 @@
</pickle> </pickle>
<pickle> <pickle>
<dictionary> <dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
<value> <string>pivot.min.css</string> </value> <value> <string>pivot.min.css</string> </value>
......
(function(){var t,e=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1},n=[].slice,r=function(t,e){return function(){return t.apply(e,arguments)}},a={}.hasOwnProperty;(t=function(t){return"object"==typeof exports&&"object"==typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){var o,i,s,u,l,c,p,h,d,f,g,m,v,b,A,C,y,w;return i=function(t,e,n){var r,a,o,i;for(t+="",a=t.split("."),o=a[0],i=a.length>1?n+a[1]:"",r=/(\d+)(\d{3})/;r.test(o);)o=o.replace(r,"$1"+e+"$2");return o+i},g=function(e){var n;return n={digitsAfterDecimal:2,scaler:1,thousandsSep:",",decimalSep:".",prefix:"",suffix:"",showZero:!1},e=t.extend(n,e),function(t){var n;return isNaN(t)||!isFinite(t)?"":0!==t||e.showZero?(n=i((e.scaler*t).toFixed(e.digitsAfterDecimal),e.thousandsSep,e.decimalSep),""+e.prefix+n+e.suffix):""}},A=g(),C=g({digitsAfterDecimal:0}),y=g({digitsAfterDecimal:1,scaler:100,suffix:"%"}),s={count:function(t){return null==t&&(t=C),function(){return function(e,n,r){return{count:0,push:function(){return this.count++},value:function(){return this.count},format:t}}}},countUnique:function(t){return null==t&&(t=C),function(n){var r;return r=n[0],function(n,a,o){return{uniq:[],push:function(t){var n;return n=t[r],e.call(this.uniq,n)<0?this.uniq.push(t[r]):void 0},value:function(){return this.uniq.length},format:t,numInputs:null!=r?0:1}}}},listUnique:function(t){return function(n){var r;return r=n[0],function(n,a,o){return{uniq:[],push:function(t){var n;return n=t[r],e.call(this.uniq,n)<0?this.uniq.push(t[r]):void 0},value:function(){return this.uniq.join(t)},format:function(t){return t},numInputs:null!=r?0:1}}}},sum:function(t){return null==t&&(t=A),function(e){var n;return n=e[0],function(e,r,a){return{sum:0,push:function(t){return isNaN(parseFloat(t[n]))?void 0:this.sum+=parseFloat(t[n])},value:function(){return this.sum},format:t,numInputs:null!=n?0:1}}}},min:function(t){return null==t&&(t=A),function(e){var n;return n=e[0],function(e,r,a){return{val:null,push:function(t){var e,r;return r=parseFloat(t[n]),isNaN(r)?void 0:this.val=Math.min(r,null!=(e=this.val)?e:r)},value:function(){return this.val},format:t,numInputs:null!=n?0:1}}}},max:function(t){return null==t&&(t=A),function(e){var n;return n=e[0],function(e,r,a){return{val:null,push:function(t){var e,r;return r=parseFloat(t[n]),isNaN(r)?void 0:this.val=Math.max(r,null!=(e=this.val)?e:r)},value:function(){return this.val},format:t,numInputs:null!=n?0:1}}}},average:function(t){return null==t&&(t=A),function(e){var n;return n=e[0],function(e,r,a){return{sum:0,len:0,push:function(t){return isNaN(parseFloat(t[n]))?void 0:(this.sum+=parseFloat(t[n]),this.len++)},value:function(){return this.sum/this.len},format:t,numInputs:null!=n?0:1}}}},sumOverSum:function(t){return null==t&&(t=A),function(e){var n,r;return r=e[0],n=e[1],function(e,a,o){return{sumNum:0,sumDenom:0,push:function(t){return isNaN(parseFloat(t[r]))||(this.sumNum+=parseFloat(t[r])),isNaN(parseFloat(t[n]))?void 0:this.sumDenom+=parseFloat(t[n])},value:function(){return this.sumNum/this.sumDenom},format:t,numInputs:null!=r&&null!=n?0:2}}}},sumOverSumBound80:function(t,e){return null==t&&(t=!0),null==e&&(e=A),function(n){var r,a;return a=n[0],r=n[1],function(n,o,i){return{sumNum:0,sumDenom:0,push:function(t){return isNaN(parseFloat(t[a]))||(this.sumNum+=parseFloat(t[a])),isNaN(parseFloat(t[r]))?void 0:this.sumDenom+=parseFloat(t[r])},value:function(){var e;return e=t?1:-1,(.821187207574908/this.sumDenom+this.sumNum/this.sumDenom+1.2815515655446004*e*Math.sqrt(.410593603787454/(this.sumDenom*this.sumDenom)+this.sumNum*(1-this.sumNum/this.sumDenom)/(this.sumDenom*this.sumDenom)))/(1+1.642374415149816/this.sumDenom)},format:e,numInputs:null!=a&&null!=r?0:2}}}},fractionOf:function(t,e,r){return null==e&&(e="total"),null==r&&(r=y),function(){var a;return a=1<=arguments.length?n.call(arguments,0):[],function(n,o,i){return{selector:{total:[[],[]],row:[o,[]],col:[[],i]}[e],inner:t.apply(null,a)(n,o,i),push:function(t){return this.inner.push(t)},format:r,value:function(){return this.inner.value()/n.getAggregator.apply(n,this.selector).inner.value()},numInputs:t.apply(null,a)().numInputs}}}}},u=function(t){return{Count:t.count(C),"Count Unique Values":t.countUnique(C),"List Unique Values":t.listUnique(", "),Sum:t.sum(A),"Integer Sum":t.sum(C),Average:t.average(A),Minimum:t.min(A),Maximum:t.max(A),"Sum over Sum":t.sumOverSum(A),"80% Upper Bound":t.sumOverSumBound80(!0,A),"80% Lower Bound":t.sumOverSumBound80(!1,A),"Sum as Fraction of Total":t.fractionOf(t.sum(),"total",y),"Sum as Fraction of Rows":t.fractionOf(t.sum(),"row",y),"Sum as Fraction of Columns":t.fractionOf(t.sum(),"col",y),"Count as Fraction of Total":t.fractionOf(t.count(),"total",y),"Count as Fraction of Rows":t.fractionOf(t.count(),"row",y),"Count as Fraction of Columns":t.fractionOf(t.count(),"col",y)}}(s),v={Table:function(t,e){return m(t,e)},"Table Barchart":function(e,n){return t(m(e,n)).barchart()},Heatmap:function(e,n){return t(m(e,n)).heatmap()},"Row Heatmap":function(e,n){return t(m(e,n)).heatmap("rowheatmap")},"Col Heatmap":function(e,n){return t(m(e,n)).heatmap("colheatmap")}},h={en:{aggregators:u,renderers:v,localeStrings:{renderError:"An error occurred rendering the PivotTable results.",computeError:"An error occurred computing the PivotTable results.",uiRenderError:"An error occurred rendering the PivotTable UI.",selectAll:"Select All",selectNone:"Select None",tooMany:"(too many to list)",filterResults:"Filter results",totals:"Totals",vs:"vs",by:"by"}}},d=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],l=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],w=function(t){return("0"+t).substr(-2,2)},c={bin:function(t,e){return function(n){return n[t]-n[t]%e}},dateFormat:function(t,e,n,r,a){var o;return null==n&&(n=!1),null==r&&(r=d),null==a&&(a=l),o=n?"UTC":"",function(n){var i;return i=new Date(Date.parse(n[t])),isNaN(i)?"":e.replace(/%(.)/g,function(t,e){switch(e){case"y":return i["get"+o+"FullYear"]();case"m":return w(i["get"+o+"Month"]()+1);case"n":return r[i["get"+o+"Month"]()];case"d":return w(i["get"+o+"Date"]());case"w":return a[i["get"+o+"Day"]()];case"x":return i["get"+o+"Day"]();case"H":return w(i["get"+o+"Hours"]());case"M":return w(i["get"+o+"Minutes"]());case"S":return w(i["get"+o+"Seconds"]());default:return"%"+e}})}}},f=function(t){return function(t,e){var n,r,a,o,i,s,u;if(s=/(\d+)|(\D+)/g,i=/\d/,u=/^0/,"number"==typeof t||"number"==typeof e)return isNaN(t)?1:isNaN(e)?-1:t-e;if(n=String(t).toLowerCase(),a=String(e).toLowerCase(),n===a)return 0;if(!i.test(n)||!i.test(a))return n>a?1:-1;for(n=n.match(s),a=a.match(s);n.length&&a.length;)if(r=n.shift(),o=a.shift(),r!==o)return i.test(r)&&i.test(o)?r.replace(u,".0")-o.replace(u,".0"):r>o?1:-1;return n.length-a.length}}(this),b=function(t){var e,n,r;n={};for(e in t)r=t[e],n[r]=e;return function(t,e){return null!=n[t]&&null!=n[e]?n[t]-n[e]:null!=n[t]?-1:null!=n[e]?1:f(t,e)}},p=function(e,n){var r;return r=e(n),t.isFunction(r)?r:f},t.pivotUtilities={aggregatorTemplates:s,aggregators:u,renderers:v,derivers:c,locales:h,naturalSort:f,numberFormat:g,sortAs:b},o=function(){function e(t,n){this.getAggregator=r(this.getAggregator,this),this.getRowKeys=r(this.getRowKeys,this),this.getColKeys=r(this.getColKeys,this),this.sortKeys=r(this.sortKeys,this),this.arrSort=r(this.arrSort,this),this.aggregator=n.aggregator,this.aggregatorName=n.aggregatorName,this.colAttrs=n.cols,this.rowAttrs=n.rows,this.valAttrs=n.vals,this.sorters=n.sorters,this.tree={},this.rowKeys=[],this.colKeys=[],this.rowTotals={},this.colTotals={},this.allTotal=this.aggregator(this,[],[]),this.sorted=!1,e.forEachRecord(t,n.derivedAttributes,function(t){return function(e){return n.filter(e)?t.processRecord(e):void 0}}(this))}return e.forEachRecord=function(e,n,r){var o,i,s,u,l,c,p,h,d,f,g,m;if(o=t.isEmptyObject(n)?r:function(t){var e,a,o;for(e in n)o=n[e],t[e]=null!=(a=o(t))?a:t[e];return r(t)},t.isFunction(e))return e(o);if(t.isArray(e)){if(t.isArray(e[0])){f=[];for(s in e)if(a.call(e,s)&&(i=e[s],s>0)){h={},d=e[0];for(u in d)a.call(d,u)&&(l=d[u],h[l]=i[u]);f.push(o(h))}return f}for(g=[],c=0,p=e.length;p>c;c++)h=e[c],g.push(o(h));return g}if(e instanceof jQuery)return m=[],t("thead > tr > th",e).each(function(e){return m.push(t(this).text())}),t("tbody > tr",e).each(function(e){return h={},t("td",this).each(function(e){return h[m[e]]=t(this).html()}),o(h)});throw new Error("unknown input format")},e.convertToArray=function(t){var n;return n=[],e.forEachRecord(t,{},function(t){return n.push(t)}),n},e.prototype.arrSort=function(t){var e,n;return n=function(){var n,r,a;for(a=[],n=0,r=t.length;r>n;n++)e=t[n],a.push(p(this.sorters,e));return a}.call(this),function(t,e){var r,a,o;for(a in n)if(o=n[a],r=o(t[a],e[a]),0!==r)return r;return 0}},e.prototype.sortKeys=function(){return this.sorted?void 0:(this.sorted=!0,this.rowKeys.sort(this.arrSort(this.rowAttrs)),this.colKeys.sort(this.arrSort(this.colAttrs)))},e.prototype.getColKeys=function(){return this.sortKeys(),this.colKeys},e.prototype.getRowKeys=function(){return this.sortKeys(),this.rowKeys},e.prototype.processRecord=function(t){var e,n,r,a,o,i,s,u,l,c,p,h,d;for(e=[],h=[],u=this.colAttrs,a=0,o=u.length;o>a;a++)d=u[a],e.push(null!=(l=t[d])?l:"null");for(c=this.rowAttrs,s=0,i=c.length;i>s;s++)d=c[s],h.push(null!=(p=t[d])?p:"null");return r=h.join(String.fromCharCode(0)),n=e.join(String.fromCharCode(0)),this.allTotal.push(t),0!==h.length&&(this.rowTotals[r]||(this.rowKeys.push(h),this.rowTotals[r]=this.aggregator(this,h,[])),this.rowTotals[r].push(t)),0!==e.length&&(this.colTotals[n]||(this.colKeys.push(e),this.colTotals[n]=this.aggregator(this,[],e)),this.colTotals[n].push(t)),0!==e.length&&0!==h.length?(this.tree[r]||(this.tree[r]={}),this.tree[r][n]||(this.tree[r][n]=this.aggregator(this,h,e)),this.tree[r][n].push(t)):void 0},e.prototype.getAggregator=function(t,e){var n,r,a;return a=t.join(String.fromCharCode(0)),r=e.join(String.fromCharCode(0)),n=0===t.length&&0===e.length?this.allTotal:0===t.length?this.colTotals[r]:0===e.length?this.rowTotals[a]:this.tree[a][r],null!=n?n:{value:function(){return null},format:function(){return""}}},e}(),m=function(e,n){var r,o,i,s,u,l,c,p,h,d,f,g,m,v,b,A,C,y,w,T,N;l={localeStrings:{totals:"Totals"}},n=t.extend(l,n),i=e.colAttrs,f=e.rowAttrs,m=e.getRowKeys(),u=e.getColKeys(),d=document.createElement("table"),d.className="pvtTable",v=function(t,e,n){var r,a,o,i,s,u,l,c;if(0!==e){for(i=!0,c=r=0,s=n;s>=0?s>=r:r>=s;c=s>=0?++r:--r)t[e-1][c]!==t[e][c]&&(i=!1);if(i)return-1}for(a=0;e+a<t.length;){for(l=!1,c=o=0,u=n;u>=0?u>=o:o>=u;c=u>=0?++o:--o)t[e][c]!==t[e+a][c]&&(l=!0);if(l)break;a++}return a};for(p in i)if(a.call(i,p)){o=i[p],y=document.createElement("tr"),0===parseInt(p)&&0!==f.length&&(A=document.createElement("th"),A.setAttribute("colspan",f.length),A.setAttribute("rowspan",i.length),y.appendChild(A)),A=document.createElement("th"),A.className="pvtAxisLabel",A.innerHTML=o,y.appendChild(A);for(c in u)a.call(u,c)&&(s=u[c],N=v(u,parseInt(c),parseInt(p)),-1!==N&&(A=document.createElement("th"),A.className="pvtColLabel",A.innerHTML=s[p],A.setAttribute("colspan",N),parseInt(p)===i.length-1&&0!==f.length&&A.setAttribute("rowspan",2),y.appendChild(A)));0===parseInt(p)&&(A=document.createElement("th"),A.className="pvtTotalLabel",A.innerHTML=n.localeStrings.totals,A.setAttribute("rowspan",i.length+(0===f.length?0:1)),y.appendChild(A)),d.appendChild(y)}if(0!==f.length){y=document.createElement("tr");for(c in f)a.call(f,c)&&(h=f[c],A=document.createElement("th"),A.className="pvtAxisLabel",A.innerHTML=h,y.appendChild(A));A=document.createElement("th"),0===i.length&&(A.className="pvtTotalLabel",A.innerHTML=n.localeStrings.totals),y.appendChild(A),d.appendChild(y)}for(c in m)if(a.call(m,c)){g=m[c],y=document.createElement("tr");for(p in g)a.call(g,p)&&(w=g[p],N=v(m,parseInt(c),parseInt(p)),-1!==N&&(A=document.createElement("th"),A.className="pvtRowLabel",A.innerHTML=w,A.setAttribute("rowspan",N),parseInt(p)===f.length-1&&0!==i.length&&A.setAttribute("colspan",2),y.appendChild(A)));for(p in u)a.call(u,p)&&(s=u[p],r=e.getAggregator(g,s),T=r.value(),b=document.createElement("td"),b.className="pvtVal row"+c+" col"+p,b.innerHTML=r.format(T),b.setAttribute("data-value",T),y.appendChild(b));C=e.getAggregator(g,[]),T=C.value(),b=document.createElement("td"),b.className="pvtTotal rowTotal",b.innerHTML=C.format(T),b.setAttribute("data-value",T),b.setAttribute("data-for","row"+c),y.appendChild(b),d.appendChild(y)}y=document.createElement("tr"),A=document.createElement("th"),A.className="pvtTotalLabel",A.innerHTML=n.localeStrings.totals,A.setAttribute("colspan",f.length+(0===i.length?0:1)),y.appendChild(A);for(p in u)a.call(u,p)&&(s=u[p],C=e.getAggregator([],s),T=C.value(),b=document.createElement("td"),b.className="pvtTotal colTotal",b.innerHTML=C.format(T),b.setAttribute("data-value",T),b.setAttribute("data-for","col"+p),y.appendChild(b));return C=e.getAggregator([],[]),T=C.value(),b=document.createElement("td"),b.className="pvtGrandTotal",b.innerHTML=C.format(T),b.setAttribute("data-value",T),y.appendChild(b),d.appendChild(y),d.setAttribute("data-numrows",m.length),d.setAttribute("data-numcols",u.length),d},t.fn.pivot=function(e,n){var r,a,i,u,l;r={cols:[],rows:[],vals:[],filter:function(){return!0},aggregator:s.count()(),aggregatorName:"Count",sorters:function(){},derivedAttributes:{},renderer:m,rendererOptions:null,localeStrings:h.en.localeStrings},n=t.extend(r,n),u=null;try{i=new o(e,n);try{u=n.renderer(i,n.rendererOptions)}catch(c){a=c,"undefined"!=typeof console&&null!==console&&console.error(a.stack),u=t("<span>").html(n.localeStrings.renderError)}}catch(c){a=c,"undefined"!=typeof console&&null!==console&&console.error(a.stack),u=t("<span>").html(n.localeStrings.computeError)}for(l=this[0];l.hasChildNodes();)l.removeChild(l.lastChild);return this.append(u)},t.fn.pivotUI=function(n,r,i,s){var u,l,c,d,g,m,v,b,A,C,y,w,T,N,S,x,F,M,E,L,k,D,R,I,O,K,q,H,U,V,j,B,P,J,_,z,Q,W,Y,Z;null==i&&(i=!1),null==s&&(s="en"),v={derivedAttributes:{},aggregators:h[s].aggregators,renderers:h[s].renderers,hiddenAttributes:[],menuLimit:200,cols:[],rows:[],vals:[],exclusions:{},unusedAttrsVertical:85,autoSortUnusedAttrs:!1,rendererOptions:{localeStrings:h[s].localeStrings},onRefresh:null,filter:function(){return!0},sorters:function(){},localeStrings:h[s].localeStrings},A=this.data("pivotUIOptions"),k=null==A||i?t.extend(v,r):A;try{n=o.convertToArray(n),J=function(){var t,e;t=n[0],e=[];for(T in t)a.call(t,T)&&e.push(T);return e}(),I=k.derivedAttributes;for(g in I)a.call(I,g)&&e.call(J,g)<0&&J.push(g);for(d={},N=0,S=J.length;S>N;N++)Z=J[N],d[Z]={};o.forEachRecord(n,k.derivedAttributes,function(t){var e,n,r;n=[];for(T in t)a.call(t,T)&&(r=t[T],k.filter(t)&&(null==r&&(r="null"),null==(e=d[T])[r]&&(e[r]=0),n.push(d[T][r]++)));return n}),Q=t("<table>",{"class":"pvtUi"}).attr("cellpadding",5),B=t("<td>"),j=t("<select>").addClass("pvtRenderer").appendTo(B).bind("change",function(){return U()}),O=k.renderers;for(Z in O)a.call(O,Z)&&t("<option>").val(Z).html(Z).appendTo(j);if(m=t("<td>").addClass("pvtAxisContainer pvtUnused"),P=function(){var t,n,r;for(r=[],n=0,t=J.length;t>n;n++)g=J[n],e.call(k.hiddenAttributes,g)<0&&r.push(g);return r}(),Y=!1,W="auto"===k.unusedAttrsVertical?120:parseInt(k.unusedAttrsVertical),!isNaN(W)){for(c=0,E=0,x=P.length;x>E;E++)u=P[E],c+=u.length;Y=c>W}m.addClass(k.unusedAttrsVertical===!0||Y?"pvtVertList":"pvtHorizList"),C=function(n){var r,a,o,i,s,u,l,c,h,f,g,v,b,A,C;if(l=function(){var t;t=[];for(T in d[n])t.push(T);return t}(),u=!1,C=t("<div>").addClass("pvtFilterBox").hide(),C.append(t("<h4>").text(n+" ("+l.length+")")),l.length>k.menuLimit)C.append(t("<p>").html(k.localeStrings.tooMany));else for(a=t("<p>").appendTo(C),a.append(t("<button>",{type:"button"}).html(k.localeStrings.selectAll).bind("click",function(){return C.find("input:visible").prop("checked",!0)})),a.append(t("<button>",{type:"button"}).html(k.localeStrings.selectNone).bind("click",function(){return C.find("input:visible").prop("checked",!1)})),a.append(t("<br>")),a.append(t("<input>",{type:"text",placeholder:k.localeStrings.filterResults,"class":"pvtSearch"}).bind("keyup",function(){var e;return e=t(this).val().toLowerCase(),C.find(".pvtCheckContainer p").each(function(){var n;return n=t(this).text().toLowerCase().indexOf(e),-1!==n?t(this).show():t(this).hide()})})),o=t("<div>").addClass("pvtCheckContainer").appendTo(C),f=l.sort(p(k.sorters,n)),h=0,c=f.length;c>h;h++)T=f[h],A=d[n][T],i=t("<label>"),s=k.exclusions[n]?e.call(k.exclusions[n],T)>=0:!1,u||(u=s),t("<input>").attr("type","checkbox").addClass("pvtFilter").attr("checked",!s).data("filter",[n,T]).appendTo(i),i.append(t("<span>").html(T)),i.append(t("<span>").text(" ("+A+")")),o.append(t("<p>").append(i));return b=function(){var t;return t=C.find("[type='checkbox']").length-C.find("[type='checkbox']:checked").length,t>0?r.addClass("pvtFilteredAttribute"):r.removeClass("pvtFilteredAttribute"),l.length>k.menuLimit?C.toggle():C.toggle(0,U)},t("<p>").appendTo(C).append(t("<button>",{type:"button"}).text("OK").bind("click",b)),g=function(t){return C.css({left:t.pageX,top:t.pageY}).toggle(),C.find(".pvtSearch").val(""),C.find(".pvtCheckContainer p").show()},v=t("<span>").addClass("pvtTriangle").html(" &#x25BE;").bind("click",g),r=t("<li>").addClass("axis_"+y).append(t("<span>").addClass("pvtAttr").text(n).data("attrName",n).append(v)),u&&r.addClass("pvtFilteredAttribute"),m.append(r).append(C),r.bind("dblclick",g)};for(y in P)a.call(P,y)&&(g=P[y],C(g));_=t("<tr>").appendTo(Q),l=t("<select>").addClass("pvtAggregator").bind("change",function(){return U()}),K=k.aggregators;for(Z in K)a.call(K,Z)&&l.append(t("<option>").val(Z).html(Z));for(t("<td>").addClass("pvtVals").appendTo(_).append(l).append(t("<br>")),t("<td>").addClass("pvtAxisContainer pvtHorizList pvtCols").appendTo(_),z=t("<tr>").appendTo(Q),z.append(t("<td>").addClass("pvtAxisContainer pvtRows").attr("valign","top")),D=t("<td>").attr("valign","top").addClass("pvtRendererArea").appendTo(z),k.unusedAttrsVertical===!0||Y?(Q.find("tr:nth-child(1)").prepend(B),Q.find("tr:nth-child(2)").prepend(m)):Q.prepend(t("<tr>").append(B).append(m)),this.html(Q),q=k.cols,L=0,F=q.length;F>L;L++)Z=q[L],this.find(".pvtCols").append(this.find(".axis_"+t.inArray(Z,P)));for(H=k.rows,R=0,M=H.length;M>R;R++)Z=H[R],this.find(".pvtRows").append(this.find(".axis_"+t.inArray(Z,P)));null!=k.aggregatorName&&this.find(".pvtAggregator").val(k.aggregatorName),null!=k.rendererName&&this.find(".pvtRenderer").val(k.rendererName),w=!0,V=function(r){return function(){var a,o,i,s,u,c,p,h,d,g,m,v,b,A,C;if(v={derivedAttributes:k.derivedAttributes,localeStrings:k.localeStrings,rendererOptions:k.rendererOptions,sorters:k.sorters,cols:[],rows:[]},c=null!=(d=k.aggregators[l.val()]([])().numInputs)?d:0,C=[],r.find(".pvtRows li span.pvtAttr").each(function(){return v.rows.push(t(this).data("attrName"))}),r.find(".pvtCols li span.pvtAttr").each(function(){return v.cols.push(t(this).data("attrName"))}),r.find(".pvtVals select.pvtAttrDropdown").each(function(){return 0===c?t(this).remove():(c--,""!==t(this).val()?C.push(t(this).val()):void 0)}),0!==c)for(h=r.find(".pvtVals"),Z=m=0,g=c;g>=0?g>m:m>g;Z=g>=0?++m:--m){for(u=t("<select>").addClass("pvtAttrDropdown").append(t("<option>")).bind("change",function(){return U()}),b=0,s=P.length;s>b;b++)a=P[b],u.append(t("<option>").val(a).text(a));h.append(u)}return w&&(C=k.vals,y=0,r.find(".pvtVals select.pvtAttrDropdown").each(function(){return t(this).val(C[y]),y++}),w=!1),v.aggregatorName=l.val(),v.vals=C,v.aggregator=k.aggregators[l.val()](C),v.renderer=k.renderers[j.val()],o={},r.find("input.pvtFilter").not(":checked").each(function(){var e;return e=t(this).data("filter"),null!=o[e[0]]?o[e[0]].push(e[1]):o[e[0]]=[e[1]]}),i={},r.find("input.pvtFilter:checked").each(function(){var e;return e=t(this).data("filter"),null!=o[e[0]]?null!=i[e[0]]?i[e[0]].push(e[1]):i[e[0]]=[e[1]]:void 0}),v.filter=function(t){var n,r;if(!k.filter(t))return!1;for(T in o)if(n=o[T],r=""+t[T],e.call(n,r)>=0)return!1;return!0},D.pivot(n,v),p=t.extend(k,{cols:v.cols,rows:v.rows,vals:C,exclusions:o,inclusionsInfo:i,aggregatorName:l.val(),rendererName:j.val()}),r.data("pivotUIOptions",p),k.autoSortUnusedAttrs&&(A=r.find("td.pvtUnused.pvtAxisContainer"),t(A).children("li").sort(function(e,n){return f(t(e).text(),t(n).text())}).appendTo(A)),D.css("opacity",1),null!=k.onRefresh?k.onRefresh(p):void 0}}(this),U=function(t){return function(){return D.css("opacity",.5),setTimeout(V,10)}}(this),U(),this.find(".pvtAxisContainer").sortable({update:function(t,e){return null==e.sender?U():void 0},connectWith:this.find(".pvtAxisContainer"),items:"li",placeholder:"pvtPlaceholder"})}catch($){b=$,"undefined"!=typeof console&&null!==console&&console.error(b.stack),this.html(k.localeStrings.uiRenderError)}return this},t.fn.heatmap=function(e){var n,r,a,o,i,s,u,l,c,p;switch(null==e&&(e="heatmap"),l=this.data("numrows"),u=this.data("numcols"),n=function(t,e,n){var r;return r=function(){switch(t){case"red":return function(t){return"ff"+t+t};case"green":return function(t){return t+"ff"+t};case"blue":return function(t){return""+t+t+"ff"}}}(),function(t){var a,o;return o=255-Math.round(255*(t-e)/(n-e)),a=o.toString(16).split(".")[0],1===a.length&&(a=0+a),r(a)}},r=function(e){return function(r,a){var o,i,s;return i=function(n){return e.find(r).each(function(){var e;return e=t(this).data("value"),null!=e&&isFinite(e)?n(e,t(this)):void 0})},s=[],i(function(t){return s.push(t)}),o=n(a,Math.min.apply(Math,s),Math.max.apply(Math,s)),i(function(t,e){return e.css("background-color","#"+o(t))})}}(this),e){case"heatmap":r(".pvtVal","red");break;case"rowheatmap":for(a=i=0,c=l;c>=0?c>i:i>c;a=c>=0?++i:--i)r(".pvtVal.row"+a,"red");break;case"colheatmap":for(o=s=0,p=u;p>=0?p>s:s>p;o=p>=0?++s:--s)r(".pvtVal.col"+o,"red")}return r(".pvtTotal.rowTotal","red"),r(".pvtTotal.colTotal","red"),this},t.fn.barchart=function(){var e,n,r,a,o,i;for(o=this.data("numrows"),a=this.data("numcols"),e=function(e){return function(n){var r,a,o,i;return r=function(r){return e.find(n).each(function(){var e;return e=t(this).data("value"),null!=e&&isFinite(e)?r(e,t(this)):void 0})},i=[],r(function(t){return i.push(t)}),a=Math.max.apply(Math,i),o=function(t){return 100*t/(1.4*a)},r(function(e,n){var r,a;return r=n.text(),a=t("<div>").css({position:"relative",height:"55px"}),a.append(t("<div>").css({position:"absolute",bottom:0,left:0,right:0,height:o(e)+"%","background-color":"gray"})),a.append(t("<div>").text(r).css({position:"relative","padding-left":"5px","padding-right":"5px"})),n.css({padding:0,"padding-top":"5px","text-align":"center"}).html(a)})}}(this),n=r=0,i=o;i>=0?i>r:r>i;n=i>=0?++r:--r)e(".pvtVal.row"+n);return e(".pvtTotal.colTotal"),this}})}).call(this); (function(){var t,e=[].indexOf||function(t){for(var e=0,n=this.length;e<n;e++)if(e in this&&this[e]===t)return e;return-1},n=[].slice,r=function(t,e){return function(){return t.apply(e,arguments)}},a={}.hasOwnProperty;(t=function(t){return"object"==typeof exports&&"object"==typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){var o,i,l,s,u,c,h,d,p,f,m,g,v,b,C,y,w,A,x,S,N;return i=function(t,e,n){var r,a,o,i;for(t+="",a=t.split("."),o=a[0],i=a.length>1?n+a[1]:"",r=/(\d+)(\d{3})/;r.test(o);)o=o.replace(r,"$1"+e+"$2");return o+i},m=function(e){var n;return n={digitsAfterDecimal:2,scaler:1,thousandsSep:",",decimalSep:".",prefix:"",suffix:""},e=t.extend({},n,e),function(t){var n;return isNaN(t)||!isFinite(t)?"":(n=i((e.scaler*t).toFixed(e.digitsAfterDecimal),e.thousandsSep,e.decimalSep),""+e.prefix+n+e.suffix)}},A=m(),x=m({digitsAfterDecimal:0}),S=m({digitsAfterDecimal:1,scaler:100,suffix:"%"}),l={count:function(t){return null==t&&(t=x),function(){return function(e,n,r){return{count:0,push:function(){return this.count++},value:function(){return this.count},format:t}}}},uniques:function(t,n){return null==n&&(n=x),function(r){var a;return a=r[0],function(r,o,i){return{uniq:[],push:function(t){var n;if(n=t[a],e.call(this.uniq,n)<0)return this.uniq.push(t[a])},value:function(){return t(this.uniq)},format:n,numInputs:null!=a?0:1}}}},sum:function(t){return null==t&&(t=A),function(e){var n;return n=e[0],function(e,r,a){return{sum:0,push:function(t){if(!isNaN(parseFloat(t[n])))return this.sum+=parseFloat(t[n])},value:function(){return this.sum},format:t,numInputs:null!=n?0:1}}}},extremes:function(t,e){return null==e&&(e=A),function(n){var r;return r=n[0],function(n,a,o){return{val:null,sorter:h(null!=n?n.sorters:void 0,r),push:function(e){var n,a,o,i;if(i=e[r],"min"!==t&&"max"!==t||(i=parseFloat(i),isNaN(i)||(this.val=Math[t](i,null!=(n=this.val)?n:i))),"first"===t&&this.sorter(i,null!=(a=this.val)?a:i)<=0&&(this.val=i),"last"===t&&this.sorter(i,null!=(o=this.val)?o:i)>=0)return this.val=i},value:function(){return this.val},format:function(t){return isNaN(t)?t:e(t)},numInputs:null!=r?0:1}}}},quantile:function(t,e){return null==e&&(e=A),function(n){var r;return r=n[0],function(n,a,o){return{vals:[],push:function(t){var e;if(e=parseFloat(t[r]),!isNaN(e))return this.vals.push(e)},value:function(){var e;return 0===this.vals.length?null:(this.vals.sort(function(t,e){return t-e}),e=(this.vals.length-1)*t,(this.vals[Math.floor(e)]+this.vals[Math.ceil(e)])/2)},format:e,numInputs:null!=r?0:1}}}},runningStat:function(t,e,n){return null==t&&(t="mean"),null==e&&(e=1),null==n&&(n=A),function(r){var a;return a=r[0],function(r,o,i){return{n:0,m:0,s:0,push:function(t){var e,n;if(n=parseFloat(t[a]),!isNaN(n))return this.n+=1,1===this.n?this.m=n:(e=this.m+(n-this.m)/this.n,this.s=this.s+(n-this.m)*(n-e),this.m=e)},value:function(){if("mean"===t)return 0===this.n?NaN:this.m;if(this.n<=e)return 0;switch(t){case"var":return this.s/(this.n-e);case"stdev":return Math.sqrt(this.s/(this.n-e))}},format:n,numInputs:null!=a?0:1}}}},sumOverSum:function(t){return null==t&&(t=A),function(e){var n,r;return r=e[0],n=e[1],function(e,a,o){return{sumNum:0,sumDenom:0,push:function(t){if(isNaN(parseFloat(t[r]))||(this.sumNum+=parseFloat(t[r])),!isNaN(parseFloat(t[n])))return this.sumDenom+=parseFloat(t[n])},value:function(){return this.sumNum/this.sumDenom},format:t,numInputs:null!=r&&null!=n?0:2}}}},sumOverSumBound80:function(t,e){return null==t&&(t=!0),null==e&&(e=A),function(n){var r,a;return a=n[0],r=n[1],function(n,o,i){return{sumNum:0,sumDenom:0,push:function(t){if(isNaN(parseFloat(t[a]))||(this.sumNum+=parseFloat(t[a])),!isNaN(parseFloat(t[r])))return this.sumDenom+=parseFloat(t[r])},value:function(){var e;return e=t?1:-1,(.821187207574908/this.sumDenom+this.sumNum/this.sumDenom+1.2815515655446004*e*Math.sqrt(.410593603787454/(this.sumDenom*this.sumDenom)+this.sumNum*(1-this.sumNum/this.sumDenom)/(this.sumDenom*this.sumDenom)))/(1+1.642374415149816/this.sumDenom)},format:e,numInputs:null!=a&&null!=r?0:2}}}},fractionOf:function(t,e,r){return null==e&&(e="total"),null==r&&(r=S),function(){var a;return a=1<=arguments.length?n.call(arguments,0):[],function(n,o,i){return{selector:{total:[[],[]],row:[o,[]],col:[[],i]}[e],inner:t.apply(null,a)(n,o,i),push:function(t){return this.inner.push(t)},format:r,value:function(){return this.inner.value()/n.getAggregator.apply(n,this.selector).inner.value()},numInputs:t.apply(null,a)().numInputs}}}}},l.countUnique=function(t){return l.uniques(function(t){return t.length},t)},l.listUnique=function(t){return l.uniques(function(e){return e.sort(f).join(t)},function(t){return t})},l.max=function(t){return l.extremes("max",t)},l.min=function(t){return l.extremes("min",t)},l.first=function(t){return l.extremes("first",t)},l.last=function(t){return l.extremes("last",t)},l.median=function(t){return l.quantile(.5,t)},l.average=function(t){return l.runningStat("mean",1,t)},l["var"]=function(t,e){return l.runningStat("var",t,e)},l.stdev=function(t,e){return l.runningStat("stdev",t,e)},s=function(t){return{Count:t.count(x),"Count Unique Values":t.countUnique(x),"List Unique Values":t.listUnique(", "),Sum:t.sum(A),"Integer Sum":t.sum(x),Average:t.average(A),Median:t.median(A),"Sample Variance":t["var"](1,A),"Sample Standard Deviation":t.stdev(1,A),Minimum:t.min(A),Maximum:t.max(A),First:t.first(A),Last:t.last(A),"Sum over Sum":t.sumOverSum(A),"80% Upper Bound":t.sumOverSumBound80(!0,A),"80% Lower Bound":t.sumOverSumBound80(!1,A),"Sum as Fraction of Total":t.fractionOf(t.sum(),"total",S),"Sum as Fraction of Rows":t.fractionOf(t.sum(),"row",S),"Sum as Fraction of Columns":t.fractionOf(t.sum(),"col",S),"Count as Fraction of Total":t.fractionOf(t.count(),"total",S),"Count as Fraction of Rows":t.fractionOf(t.count(),"row",S),"Count as Fraction of Columns":t.fractionOf(t.count(),"col",S)}}(l),b={Table:function(t,e){return g(t,e)},"Table Barchart":function(e,n){return t(g(e,n)).barchart()},Heatmap:function(e,n){return t(g(e,n)).heatmap("heatmap",n)},"Row Heatmap":function(e,n){return t(g(e,n)).heatmap("rowheatmap",n)},"Col Heatmap":function(e,n){return t(g(e,n)).heatmap("colheatmap",n)}},d={en:{aggregators:s,renderers:b,localeStrings:{renderError:"An error occurred rendering the PivotTable results.",computeError:"An error occurred computing the PivotTable results.",uiRenderError:"An error occurred rendering the PivotTable UI.",selectAll:"Select All",selectNone:"Select None",tooMany:"(too many to list)",filterResults:"Filter values",apply:"Apply",cancel:"Cancel",totals:"Totals",vs:"vs",by:"by"}}},p=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],u=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],N=function(t){return("0"+t).substr(-2,2)},c={bin:function(t,e){return function(n){return n[t]-n[t]%e}},dateFormat:function(t,e,n,r,a){var o;return null==n&&(n=!1),null==r&&(r=p),null==a&&(a=u),o=n?"UTC":"",function(n){var i;return i=new Date(Date.parse(n[t])),isNaN(i)?"":e.replace(/%(.)/g,function(t,e){switch(e){case"y":return i["get"+o+"FullYear"]();case"m":return N(i["get"+o+"Month"]()+1);case"n":return r[i["get"+o+"Month"]()];case"d":return N(i["get"+o+"Date"]());case"w":return a[i["get"+o+"Day"]()];case"x":return i["get"+o+"Day"]();case"H":return N(i["get"+o+"Hours"]());case"M":return N(i["get"+o+"Minutes"]());case"S":return N(i["get"+o+"Seconds"]());default:return"%"+e}})}}},C=/(\d+)|(\D+)/g,v=/\d/,y=/^0/,f=function(t){return function(t,e){var n,r,a,o,i,l;if(null!=e&&null==t)return-1;if(null!=t&&null==e)return 1;if("number"==typeof t&&isNaN(t))return-1;if("number"==typeof e&&isNaN(e))return 1;if(i=+t,l=+e,i<l)return-1;if(i>l)return 1;if("number"==typeof t&&"number"!=typeof e)return-1;if("number"==typeof e&&"number"!=typeof t)return 1;if("number"==typeof t&&"number"==typeof e)return 0;if(isNaN(l)&&!isNaN(i))return-1;if(isNaN(i)&&!isNaN(l))return 1;if(n=String(t),a=String(e),n===a)return 0;if(!v.test(n)||!v.test(a))return n>a?1:-1;for(n=n.match(C),a=a.match(C);n.length&&a.length;)if(r=n.shift(),o=a.shift(),r!==o)return v.test(r)&&v.test(o)?r.replace(y,".0")-o.replace(y,".0"):r>o?1:-1;return n.length-a.length}}(this),w=function(t){var e,n,r,a;r={},n={};for(e in t)a=t[e],r[a]=e,"string"==typeof a&&(n[a.toLowerCase()]=e);return function(t,e){return null!=r[t]&&null!=r[e]?r[t]-r[e]:null!=r[t]?-1:null!=r[e]?1:null!=n[t]&&null!=n[e]?n[t]-n[e]:null!=n[t]?-1:null!=n[e]?1:f(t,e)}},h=function(e,n){var r;if(null!=e)if(t.isFunction(e)){if(r=e(n),t.isFunction(r))return r}else if(null!=e[n])return e[n];return f},o=function(){function e(t,n){var a,o,i,s,u,c,h,d,p,f;null==n&&(n={}),this.getAggregator=r(this.getAggregator,this),this.getRowKeys=r(this.getRowKeys,this),this.getColKeys=r(this.getColKeys,this),this.sortKeys=r(this.sortKeys,this),this.arrSort=r(this.arrSort,this),this.input=t,this.aggregator=null!=(a=n.aggregator)?a:l.count()(),this.aggregatorName=null!=(o=n.aggregatorName)?o:"Count",this.colAttrs=null!=(i=n.cols)?i:[],this.rowAttrs=null!=(s=n.rows)?s:[],this.valAttrs=null!=(u=n.vals)?u:[],this.sorters=null!=(c=n.sorters)?c:{},this.rowOrder=null!=(h=n.rowOrder)?h:"key_a_to_z",this.colOrder=null!=(d=n.colOrder)?d:"key_a_to_z",this.derivedAttributes=null!=(p=n.derivedAttributes)?p:{},this.filter=null!=(f=n.filter)?f:function(){return!0},this.tree={},this.rowKeys=[],this.colKeys=[],this.rowTotals={},this.colTotals={},this.allTotal=this.aggregator(this,[],[]),this.sorted=!1,e.forEachRecord(this.input,this.derivedAttributes,function(t){return function(e){if(t.filter(e))return t.processRecord(e)}}(this))}return e.forEachRecord=function(e,n,r){var o,i,l,s,u,c,h,d,p,f,m,g;if(o=t.isEmptyObject(n)?r:function(t){var e,a,o;for(e in n)o=n[e],t[e]=null!=(a=o(t))?a:t[e];return r(t)},t.isFunction(e))return e(o);if(t.isArray(e)){if(t.isArray(e[0])){f=[];for(l in e)if(a.call(e,l)&&(i=e[l],l>0)){d={},p=e[0];for(s in p)a.call(p,s)&&(u=p[s],d[u]=i[s]);f.push(o(d))}return f}for(m=[],c=0,h=e.length;c<h;c++)d=e[c],m.push(o(d));return m}if(e instanceof t)return g=[],t("thead > tr > th",e).each(function(e){return g.push(t(this).text())}),t("tbody > tr",e).each(function(e){return d={},t("td",this).each(function(e){return d[g[e]]=t(this).text()}),o(d)});throw new Error("unknown input format")},e.prototype.forEachMatchingRecord=function(t,n){return e.forEachRecord(this.input,this.derivedAttributes,function(e){return function(r){var a,o,i;if(e.filter(r)){for(a in t)if(i=t[a],i!==(null!=(o=r[a])?o:"null"))return;return n(r)}}}(this))},e.prototype.arrSort=function(t){var e,n;return n=function(){var n,r,a;for(a=[],n=0,r=t.length;n<r;n++)e=t[n],a.push(h(this.sorters,e));return a}.call(this),function(t,e){var r,o,i;for(o in n)if(a.call(n,o)&&(i=n[o],r=i(t[o],e[o]),0!==r))return r;return 0}},e.prototype.sortKeys=function(){var t;if(!this.sorted){switch(this.sorted=!0,t=function(t){return function(e,n){return t.getAggregator(e,n).value()}}(this),this.rowOrder){case"value_a_to_z":this.rowKeys.sort(function(e){return function(e,n){return f(t(e,[]),t(n,[]))}}(this));break;case"value_z_to_a":this.rowKeys.sort(function(e){return function(e,n){return-f(t(e,[]),t(n,[]))}}(this));break;default:this.rowKeys.sort(this.arrSort(this.rowAttrs))}switch(this.colOrder){case"value_a_to_z":return this.colKeys.sort(function(e){return function(e,n){return f(t([],e),t([],n))}}(this));case"value_z_to_a":return this.colKeys.sort(function(e){return function(e,n){return-f(t([],e),t([],n))}}(this));default:return this.colKeys.sort(this.arrSort(this.colAttrs))}}},e.prototype.getColKeys=function(){return this.sortKeys(),this.colKeys},e.prototype.getRowKeys=function(){return this.sortKeys(),this.rowKeys},e.prototype.processRecord=function(t){var e,n,r,a,o,i,l,s,u,c,h,d,p;for(e=[],d=[],s=this.colAttrs,a=0,o=s.length;a<o;a++)p=s[a],e.push(null!=(u=t[p])?u:"null");for(c=this.rowAttrs,l=0,i=c.length;l<i;l++)p=c[l],d.push(null!=(h=t[p])?h:"null");if(r=d.join(String.fromCharCode(0)),n=e.join(String.fromCharCode(0)),this.allTotal.push(t),0!==d.length&&(this.rowTotals[r]||(this.rowKeys.push(d),this.rowTotals[r]=this.aggregator(this,d,[])),this.rowTotals[r].push(t)),0!==e.length&&(this.colTotals[n]||(this.colKeys.push(e),this.colTotals[n]=this.aggregator(this,[],e)),this.colTotals[n].push(t)),0!==e.length&&0!==d.length)return this.tree[r]||(this.tree[r]={}),this.tree[r][n]||(this.tree[r][n]=this.aggregator(this,d,e)),this.tree[r][n].push(t)},e.prototype.getAggregator=function(t,e){var n,r,a;return a=t.join(String.fromCharCode(0)),r=e.join(String.fromCharCode(0)),n=0===t.length&&0===e.length?this.allTotal:0===t.length?this.colTotals[r]:0===e.length?this.rowTotals[a]:this.tree[a][r],null!=n?n:{value:function(){return null},format:function(){return""}}},e}(),t.pivotUtilities={aggregatorTemplates:l,aggregators:s,renderers:b,derivers:c,locales:d,naturalSort:f,numberFormat:m,sortAs:w,PivotData:o},g=function(e,n){var r,o,i,l,s,u,c,h,d,p,f,m,g,v,b,C,y,w,A,x,S,N,T,k;u={table:{clickCallback:null,rowTotals:!0,colTotals:!0},localeStrings:{totals:"Totals"}},n=t.extend(!0,{},u,n),i=e.colAttrs,m=e.rowAttrs,v=e.getRowKeys(),s=e.getColKeys(),n.table.clickCallback&&(c=function(t,r,o){var l,s,u;s={};for(u in i)a.call(i,u)&&(l=i[u],null!=o[u]&&(s[l]=o[u]));for(u in m)a.call(m,u)&&(l=m[u],null!=r[u]&&(s[l]=r[u]));return function(r){return n.table.clickCallback(r,t,s,e)}}),f=document.createElement("table"),f.className="pvtTable",b=function(t,e,n){var r,a,o,i,l,s,u,c;if(0!==e){for(i=!0,c=r=0,l=n;0<=l?r<=l:r>=l;c=0<=l?++r:--r)t[e-1][c]!==t[e][c]&&(i=!1);if(i)return-1}for(a=0;e+a<t.length;){for(u=!1,c=o=0,s=n;0<=s?o<=s:o>=s;c=0<=s?++o:--o)t[e][c]!==t[e+a][c]&&(u=!0);if(u)break;a++}return a},A=document.createElement("thead");for(d in i)if(a.call(i,d)){o=i[d],S=document.createElement("tr"),0===parseInt(d)&&0!==m.length&&(w=document.createElement("th"),w.setAttribute("colspan",m.length),w.setAttribute("rowspan",i.length),S.appendChild(w)),w=document.createElement("th"),w.className="pvtAxisLabel",w.textContent=o,S.appendChild(w);for(h in s)a.call(s,h)&&(l=s[h],k=b(s,parseInt(h),parseInt(d)),k!==-1&&(w=document.createElement("th"),w.className="pvtColLabel",w.textContent=l[d],w.setAttribute("colspan",k),parseInt(d)===i.length-1&&0!==m.length&&w.setAttribute("rowspan",2),S.appendChild(w)));0===parseInt(d)&&n.table.rowTotals&&(w=document.createElement("th"),w.className="pvtTotalLabel pvtRowTotalLabel",w.innerHTML=n.localeStrings.totals,w.setAttribute("rowspan",i.length+(0===m.length?0:1)),S.appendChild(w)),A.appendChild(S)}if(0!==m.length){S=document.createElement("tr");for(h in m)a.call(m,h)&&(p=m[h],w=document.createElement("th"),w.className="pvtAxisLabel",w.textContent=p,S.appendChild(w));w=document.createElement("th"),0===i.length&&(w.className="pvtTotalLabel pvtRowTotalLabel",w.innerHTML=n.localeStrings.totals),S.appendChild(w),A.appendChild(S)}f.appendChild(A),C=document.createElement("tbody");for(h in v)if(a.call(v,h)){g=v[h],S=document.createElement("tr");for(d in g)a.call(g,d)&&(N=g[d],k=b(v,parseInt(h),parseInt(d)),k!==-1&&(w=document.createElement("th"),w.className="pvtRowLabel",w.textContent=N,w.setAttribute("rowspan",k),parseInt(d)===m.length-1&&0!==i.length&&w.setAttribute("colspan",2),S.appendChild(w)));for(d in s)a.call(s,d)&&(l=s[d],r=e.getAggregator(g,l),T=r.value(),y=document.createElement("td"),y.className="pvtVal row"+h+" col"+d,y.textContent=r.format(T),y.setAttribute("data-value",T),null!=c&&(y.onclick=c(T,g,l)),S.appendChild(y));(n.table.rowTotals||0===i.length)&&(x=e.getAggregator(g,[]),T=x.value(),y=document.createElement("td"),y.className="pvtTotal rowTotal",y.textContent=x.format(T),y.setAttribute("data-value",T),null!=c&&(y.onclick=c(T,g,[])),y.setAttribute("data-for","row"+h),S.appendChild(y)),C.appendChild(S)}if(n.table.colTotals||0===m.length){S=document.createElement("tr"),(n.table.colTotals||0===m.length)&&(w=document.createElement("th"),w.className="pvtTotalLabel pvtColTotalLabel",w.innerHTML=n.localeStrings.totals,w.setAttribute("colspan",m.length+(0===i.length?0:1)),S.appendChild(w));for(d in s)a.call(s,d)&&(l=s[d],x=e.getAggregator([],l),T=x.value(),y=document.createElement("td"),y.className="pvtTotal colTotal",y.textContent=x.format(T),y.setAttribute("data-value",T),null!=c&&(y.onclick=c(T,[],l)),y.setAttribute("data-for","col"+d),S.appendChild(y));(n.table.rowTotals||0===i.length)&&(x=e.getAggregator([],[]),T=x.value(),y=document.createElement("td"),y.className="pvtGrandTotal",y.textContent=x.format(T),y.setAttribute("data-value",T),null!=c&&(y.onclick=c(T,[],[])),S.appendChild(y)),C.appendChild(S)}return f.appendChild(C),f.setAttribute("data-numrows",v.length),f.setAttribute("data-numcols",s.length),f},t.fn.pivot=function(e,n,r){var a,i,s,u,c,h,p,f;null==r&&(r="en"),null==d[r]&&(r="en"),a={cols:[],rows:[],vals:[],rowOrder:"key_a_to_z",colOrder:"key_a_to_z",dataClass:o,filter:function(){return!0},aggregator:l.count()(),aggregatorName:"Count",sorters:{},derivedAttributes:{},renderer:g},u=t.extend(!0,{},d.en.localeStrings,d[r].localeStrings),s={rendererOptions:{localeStrings:u},localeStrings:u},c=t.extend(!0,{},s,t.extend({},a,n)),p=null;try{h=new c.dataClass(e,c);try{p=c.renderer(h,c.rendererOptions)}catch(m){i=m,"undefined"!=typeof console&&null!==console&&console.error(i.stack),p=t("<span>").html(c.localeStrings.renderError)}}catch(m){i=m,"undefined"!=typeof console&&null!==console&&console.error(i.stack),p=t("<span>").html(c.localeStrings.computeError)}for(f=this[0];f.hasChildNodes();)f.removeChild(f.lastChild);return this.append(p)},t.fn.pivotUI=function(n,r,i,l){var s,u,c,p,m,g,v,b,C,y,w,A,x,S,N,T,k,O,_,F,D,E,M,R,I,L,U,K,q,z,V,j,H,B,P,J,G,W,$,Q,Y,X,Z,tt,et;null==i&&(i=!1),null==l&&(l="en"),null==d[l]&&(l="en"),b={derivedAttributes:{},aggregators:d[l].aggregators,renderers:d[l].renderers,hiddenAttributes:[],hiddenFromAggregators:[],hiddenFromDragDrop:[],menuLimit:500,cols:[],rows:[],vals:[],rowOrder:"key_a_to_z",colOrder:"key_a_to_z",dataClass:o,exclusions:{},inclusions:{},unusedAttrsVertical:85,autoSortUnusedAttrs:!1,onRefresh:null,showUI:!0,filter:function(){return!0},sorters:{}},_=t.extend(!0,{},d.en.localeStrings,d[l].localeStrings),O={rendererOptions:{localeStrings:_},localeStrings:_},y=this.data("pivotUIOptions"),M=null==y||i?t.extend(!0,{},O,t.extend({},b,r)):y;try{m={},F=[],L=0,o.forEachRecord(n,M.derivedAttributes,function(t){var e,n,r,o;if(M.filter(t)){F.push(t);for(e in t)a.call(t,e)&&null==m[e]&&(m[e]={},L>0&&(m[e]["null"]=L));for(e in m)o=null!=(r=t[e])?r:"null",null==(n=m[e])[o]&&(n[o]=0),m[e][o]++;return L++}}),Y=t("<table>",{"class":"pvtUi"}).attr("cellpadding",5),B=t("<td>").addClass("pvtUiCell"),H=t("<select>").addClass("pvtRenderer").appendTo(B).bind("change",function(){return V()}),U=M.renderers;for(et in U)a.call(U,et)&&t("<option>").val(et).html(et).appendTo(H);if(X=t("<td>").addClass("pvtAxisContainer pvtUnused pvtUiCell"),J=function(){var t;t=[];for(s in m)e.call(M.hiddenAttributes,s)<0&&t.push(s);return t}(),G=function(){var t,n,r;for(r=[],t=0,n=J.length;t<n;t++)g=J[t],e.call(M.hiddenFromAggregators,g)<0&&r.push(g);return r}(),W=function(){var t,n,r;for(r=[],t=0,n=J.length;t<n;t++)g=J[t],e.call(M.hiddenFromDragDrop,g)<0&&r.push(g);return r}(),tt=!1,Z="auto"===M.unusedAttrsVertical?120:parseInt(M.unusedAttrsVertical),!isNaN(Z)){for(p=0,S=0,N=W.length;S<N;S++)s=W[S],p+=s.length;tt=p>Z}M.unusedAttrsVertical===!0||tt?X.addClass("pvtVertList"):X.addClass("pvtHorizList"),w=function(n){var r,a,o,i,l,s,u,c,d,p,f,g,v,b,C,y,w,x,S;if(S=function(){var t;t=[];for(C in m[n])t.push(C);return t}(),c=!1,x=t("<div>").addClass("pvtFilterBox").hide(),x.append(t("<h4>").append(t("<span>").text(n),t("<span>").addClass("count").text("("+S.length+")"))),S.length>M.menuLimit)x.append(t("<p>").html(M.localeStrings.tooMany));else for(S.length>5&&(i=t("<p>").appendTo(x),v=h(M.sorters,n),f=M.localeStrings.filterResults,t("<input>",{type:"text"}).appendTo(i).attr({placeholder:f,"class":"pvtSearch"}).bind("keyup",function(){var n,r,a;return a=t(this).val().toLowerCase().trim(),r=function(t,n){return function(r){var o,i;return o=a.substring(t.length).trim(),0===o.length||(i=Math.sign(v(r.toLowerCase(),o)),e.call(n,i)>=0)}},n=0===a.indexOf(">=")?r(">=",[1,0]):0===a.indexOf("<=")?r("<=",[-1,0]):0===a.indexOf(">")?r(">",[1]):0===a.indexOf("<")?r("<",[-1]):0===a.indexOf("~")?function(t){return 0===a.substring(1).trim().length||t.toLowerCase().match(a.substring(1))}:function(t){return t.toLowerCase().indexOf(a)!==-1},x.find(".pvtCheckContainer p label span.value").each(function(){return n(t(this).text())?t(this).parent().parent().show():t(this).parent().parent().hide()})}),i.append(t("<br>")),t("<button>",{type:"button"}).appendTo(i).html(M.localeStrings.selectAll).bind("click",function(){return x.find("input:visible:not(:checked)").prop("checked",!0).toggleClass("changed"),!1}),t("<button>",{type:"button"}).appendTo(i).html(M.localeStrings.selectNone).bind("click",function(){return x.find("input:visible:checked").prop("checked",!1).toggleClass("changed"),!1})),a=t("<div>").addClass("pvtCheckContainer").appendTo(x),g=S.sort(h(M.sorters,n)),p=0,d=g.length;p<d;p++)y=g[p],w=m[n][y],l=t("<label>"),s=!1,M.inclusions[n]?s=e.call(M.inclusions[n],y)<0:M.exclusions[n]&&(s=e.call(M.exclusions[n],y)>=0),c||(c=s),t("<input>").attr("type","checkbox").addClass("pvtFilter").attr("checked",!s).data("filter",[n,y]).appendTo(l).bind("change",function(){return t(this).toggleClass("changed")}),l.append(t("<span>").addClass("value").text(y)),l.append(t("<span>").addClass("count").text("("+w+")")),a.append(t("<p>").append(l));return o=function(){return x.find("[type='checkbox']").length>x.find("[type='checkbox']:checked").length?r.addClass("pvtFilteredAttribute"):r.removeClass("pvtFilteredAttribute"),x.find(".pvtSearch").val(""),x.find(".pvtCheckContainer p").show(),x.hide()},u=t("<p>").appendTo(x),S.length<=M.menuLimit&&t("<button>",{type:"button"}).text(M.localeStrings.apply).appendTo(u).bind("click",function(){return x.find(".changed").removeClass("changed").length&&V(),o()}),t("<button>",{type:"button"}).text(M.localeStrings.cancel).appendTo(u).bind("click",function(){return x.find(".changed:checked").removeClass("changed").prop("checked",!1),x.find(".changed:not(:checked)").removeClass("changed").prop("checked",!0),o()}),b=t("<span>").addClass("pvtTriangle").html(" &#x25BE;").bind("click",function(e){var n,r,a;return r=t(e.currentTarget).position(),n=r.left,a=r.top,x.css({left:n+10,top:a+10}).show()}),r=t("<li>").addClass("axis_"+A).append(t("<span>").addClass("pvtAttr").text(n).data("attrName",n).append(b)),c&&r.addClass("pvtFilteredAttribute"),X.append(r).append(x)};for(A in W)a.call(W,A)&&(c=W[A],w(c));$=t("<tr>").appendTo(Y),u=t("<select>").addClass("pvtAggregator").bind("change",function(){return V()}),K=M.aggregators;for(et in K)a.call(K,et)&&u.append(t("<option>").val(et).html(et));for(R={key_a_to_z:{rowSymbol:"&varr;",colSymbol:"&harr;",next:"value_a_to_z"},value_a_to_z:{rowSymbol:"&darr;",colSymbol:"&rarr;",next:"value_z_to_a"},value_z_to_a:{rowSymbol:"&uarr;",colSymbol:"&larr;",next:"key_a_to_z"}},P=t("<a>",{role:"button"}).addClass("pvtRowOrder").data("order",M.rowOrder).html(R[M.rowOrder].rowSymbol).bind("click",function(){return t(this).data("order",R[t(this).data("order")].next),t(this).html(R[t(this).data("order")].rowSymbol),V()}),v=t("<a>",{role:"button"}).addClass("pvtColOrder").data("order",M.colOrder).html(R[M.colOrder].colSymbol).bind("click",function(){return t(this).data("order",R[t(this).data("order")].next),t(this).html(R[t(this).data("order")].colSymbol),V()}),t("<td>").addClass("pvtVals pvtUiCell").appendTo($).append(u).append(P).append(v).append(t("<br>")),t("<td>").addClass("pvtAxisContainer pvtHorizList pvtCols pvtUiCell").appendTo($),Q=t("<tr>").appendTo(Y),Q.append(t("<td>").addClass("pvtAxisContainer pvtRows pvtUiCell").attr("valign","top")),I=t("<td>").attr("valign","top").addClass("pvtRendererArea").appendTo(Q),M.unusedAttrsVertical===!0||tt?(Y.find("tr:nth-child(1)").prepend(B),Y.find("tr:nth-child(2)").prepend(X)):Y.prepend(t("<tr>").append(B).append(X)),this.html(Y),q=M.cols,D=0,T=q.length;D<T;D++)et=q[D],this.find(".pvtCols").append(this.find(".axis_"+t.inArray(et,W)));for(z=M.rows,E=0,k=z.length;E<k;E++)et=z[E],this.find(".pvtRows").append(this.find(".axis_"+t.inArray(et,W)));null!=M.aggregatorName&&this.find(".pvtAggregator").val(M.aggregatorName),null!=M.rendererName&&this.find(".pvtRenderer").val(M.rendererName),M.showUI||this.find(".pvtUiCell").hide(),x=!0,j=function(n){return function(){var r,a,o,i,l,s,h,d,p,m,g,b,C,y;if(m={derivedAttributes:M.derivedAttributes,localeStrings:M.localeStrings,rendererOptions:M.rendererOptions,sorters:M.sorters,cols:[],rows:[],dataClass:M.dataClass},l=null!=(d=M.aggregators[u.val()]([])().numInputs)?d:0,y=[],n.find(".pvtRows li span.pvtAttr").each(function(){return m.rows.push(t(this).data("attrName"))}),n.find(".pvtCols li span.pvtAttr").each(function(){return m.cols.push(t(this).data("attrName"))}),n.find(".pvtVals select.pvtAttrDropdown").each(function(){return 0===l?t(this).remove():(l--,""!==t(this).val()?y.push(t(this).val()):void 0)}),0!==l)for(h=n.find(".pvtVals"),et=g=0,p=l;0<=p?g<p:g>p;et=0<=p?++g:--g){for(i=t("<select>").addClass("pvtAttrDropdown").append(t("<option>")).bind("change",function(){return V()}),b=0,o=G.length;b<o;b++)c=G[b],i.append(t("<option>").val(c).text(c));h.append(i)}if(x&&(y=M.vals,A=0,n.find(".pvtVals select.pvtAttrDropdown").each(function(){return t(this).val(y[A]),A++}),x=!1),m.aggregatorName=u.val(),m.vals=y,m.aggregator=M.aggregators[u.val()](y),m.renderer=M.renderers[H.val()],m.rowOrder=P.data("order"),m.colOrder=v.data("order"),r={},n.find("input.pvtFilter").not(":checked").each(function(){var e;return e=t(this).data("filter"),null!=r[e[0]]?r[e[0]].push(e[1]):r[e[0]]=[e[1]]}),a={},n.find("input.pvtFilter:checked").each(function(){var e;if(e=t(this).data("filter"),null!=r[e[0]])return null!=a[e[0]]?a[e[0]].push(e[1]):a[e[0]]=[e[1]]}),m.filter=function(t){var n,a,o,i;if(!M.filter(t))return!1;for(a in r)if(n=r[a],o=""+(null!=(i=t[a])?i:"null"),e.call(n,o)>=0)return!1;return!0},I.pivot(F,m),s=t.extend({},M,{cols:m.cols,rows:m.rows,colOrder:m.colOrder,rowOrder:m.rowOrder,vals:y,exclusions:r,inclusions:a,inclusionsInfo:a,aggregatorName:u.val(),rendererName:H.val()}),n.data("pivotUIOptions",s),M.autoSortUnusedAttrs&&(C=n.find("td.pvtUnused.pvtAxisContainer"),t(C).children("li").sort(function(e,n){return f(t(e).text(),t(n).text())}).appendTo(C)),I.css("opacity",1),null!=M.onRefresh)return M.onRefresh(s)}}(this),V=function(t){return function(){return I.css("opacity",.5),setTimeout(j,10)}}(this),V(),this.find(".pvtAxisContainer").sortable({update:function(t,e){if(null==e.sender)return V()},connectWith:this.find(".pvtAxisContainer"),items:"li",placeholder:"pvtPlaceholder"})}catch(nt){C=nt,"undefined"!=typeof console&&null!==console&&console.error(C.stack),this.html(M.localeStrings.uiRenderError)}return this},t.fn.heatmap=function(e,n){var r,a,o,i,l,s,u,c,h,d,p;switch(null==e&&(e="heatmap"),c=this.data("numrows"),u=this.data("numcols"),r=null!=n&&null!=(h=n.heatmap)?h.colorScaleGenerator:void 0,null==r&&(r=function(t){var e,n;return n=Math.min.apply(Math,t),e=Math.max.apply(Math,t),function(t){var r;return r=255-Math.round(255*(t-n)/(e-n)),"rgb(255,"+r+","+r+")"}}),a=function(e){return function(n){var a,o,i;return o=function(r){return e.find(n).each(function(){var e;if(e=t(this).data("value"),null!=e&&isFinite(e))return r(e,t(this))})},i=[],o(function(t){return i.push(t)}),a=r(i),o(function(t,e){return e.css("background-color",a(t))})}}(this),e){case"heatmap":a(".pvtVal");break;case"rowheatmap":for(o=l=0,d=c;0<=d?l<d:l>d;o=0<=d?++l:--l)a(".pvtVal.row"+o);break;case"colheatmap":for(i=s=0,p=u;0<=p?s<p:s>p;i=0<=p?++s:--s)a(".pvtVal.col"+i)}return a(".pvtTotal.rowTotal"),a(".pvtTotal.colTotal"),this},t.fn.barchart=function(e){var n,r,a,o,i,l;for(i=this.data("numrows"),o=this.data("numcols"),n=function(e){return function(n){var r,a,o,i,l,s;return r=function(r){return e.find(n).each(function(){var e;if(e=t(this).data("value"),null!=e&&isFinite(e))return r(e,t(this))})},s=[],r(function(t){return s.push(t)}),a=Math.max.apply(Math,s),a<0&&(a=0),i=a,o=Math.min.apply(Math,s),o<0&&(i=a-o),l=function(t){return 100*t/(1.4*i)},r(function(e,n){var r,a,i,s;return i=n.text(),s=t("<div>").css({position:"relative",height:"55px"}),a="gray",r=0,o<0&&(r=l(-o)),e<0&&(r+=l(e),a="darkred",e=-e),s.append(t("<div>").css({position:"absolute",bottom:r+"%",left:0,right:0,height:l(e)+"%","background-color":a})),s.append(t("<div>").text(i).css({position:"relative","padding-left":"5px","padding-right":"5px"})),n.css({padding:0,"padding-top":"5px","text-align":"center"}).html(s)})}}(this),r=a=0,l=i;0<=l?a<l:a>l;r=0<=l?++a:--a)n(".pvtVal.row"+r);return n(".pvtTotal.colTotal"),this}})}).call(this);
//# sourceMappingURL=pivot.min.js.map //# sourceMappingURL=pivot.min.js.map
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var frFmt, frFmtInt, frFmtPct, nf, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
frFmt = nf({
thousandsSep: " ",
decimalSep: ","
});
frFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: " ",
decimalSep: ","
});
frFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: " ",
decimalSep: ","
});
return $.pivotUtilities.locales.nl = {
localeStrings: {
renderError: "Er is een fout opgetreden bij het renderen van de kruistabel.",
computeError: "Er is een fout opgetreden bij het berekenen van de kruistabel.",
uiRenderError: "Er is een fout opgetreden bij het tekenen van de interface van de kruistabel.",
selectAll: "Alles selecteren",
selectNone: "Niets selecteren",
tooMany: "(te veel waarden om weer te geven)",
filterResults: "Filter resultaten",
totals: "Totaal",
vs: "versus",
by: "per"
},
aggregators: {
"Aantal": tpl.count(frFmtInt),
"Aantal unieke waarden": tpl.countUnique(frFmtInt),
"Lijst unieke waarden": tpl.listUnique(", "),
"Som": tpl.sum(frFmt),
"Som van gehele getallen": tpl.sum(frFmtInt),
"Gemiddelde": tpl.average(frFmt),
"Minimum": tpl.min(frFmt),
"Maximum": tpl.max(frFmt),
"Eerste": tpl.first(frFmt),
"Laatste": tpl.last(frFmt),
"Som over som": tpl.sumOverSum(frFmt),
"80% bovengrens": tpl.sumOverSumBound80(true, frFmt),
"80% ondergrens": tpl.sumOverSumBound80(false, frFmt),
"Som in verhouding tot het totaal": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Som in verhouding tot de rij": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"Som in verhouding tot de kolom": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"Aantal in verhouding tot het totaal": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"Aantal in verhouding tot de rij": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"Aantal in verhouding tot de kolom": tpl.fractionOf(tpl.count(), "col", frFmtPct)
},
renderers: {
"Tabel": $.pivotUtilities.renderers["Table"],
"Tabel met staafdiagrammen": $.pivotUtilities.renderers["Table Barchart"],
"Warmtekaart": $.pivotUtilities.renderers["Heatmap"],
"Warmtekaart per rij": $.pivotUtilities.renderers["Row Heatmap"],
"Warmtekaart per kolom": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.nl.js.map
{"version":3,"file":"pivot.nl.js","sources":["pivot.nl.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.nl =\n localeStrings:\n renderError: \"Er is een fout opgetreden bij het renderen van de kruistabel.\"\n computeError: \"Er is een fout opgetreden bij het berekenen van de kruistabel.\"\n uiRenderError: \"Er is een fout opgetreden bij het tekenen van de interface van de kruistabel.\"\n selectAll: \"Alles selecteren\"\n selectNone: \"Niets selecteren\"\n tooMany: \"(te veel waarden om weer te geven)\"\n filterResults: \"Filter resultaten\"\n totals: \"Totaal\"\n vs: \"versus\"\n by: \"per\"\n\n aggregators:\n \"Aantal\": tpl.count(frFmtInt)\n \"Aantal unieke waarden\": tpl.countUnique(frFmtInt)\n \"Lijst unieke waarden\": tpl.listUnique(\", \")\n \"Som\": tpl.sum(frFmt)\n \"Som van gehele getallen\": tpl.sum(frFmtInt)\n \"Gemiddelde\": tpl.average(frFmt)\n \"Minimum\": tpl.min(frFmt)\n \"Maximum\": tpl.max(frFmt)\n \"Eerste\": tpl.first(frFmt)\n \"Laatste\": tpl.last(frFmt)\n \"Som over som\": tpl.sumOverSum(frFmt)\n \"80% bovengrens\": tpl.sumOverSumBound80(true, frFmt)\n \"80% ondergrens\": \t\t\t tpl.sumOverSumBound80(false, frFmt)\n \"Som in verhouding tot het totaal\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Som in verhouding tot de rij\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Som in verhouding tot de kolom\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Aantal in verhouding tot het totaal\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Aantal in verhouding tot de rij\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Aantal in verhouding tot de kolom\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabel\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabel met staafdiagrammen\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Warmtekaart\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Warmtekaart per rij\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Warmtekaart per kolom\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.nl.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.nl.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var t,r,i,a,n;return a=e.pivotUtilities.numberFormat,n=e.pivotUtilities.aggregatorTemplates,t=a({thousandsSep:" ",decimalSep:","}),r=a({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),i=a({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.nl={localeStrings:{renderError:"Er is een fout opgetreden bij het renderen van de kruistabel.",computeError:"Er is een fout opgetreden bij het berekenen van de kruistabel.",uiRenderError:"Er is een fout opgetreden bij het tekenen van de interface van de kruistabel.",selectAll:"Alles selecteren",selectNone:"Niets selecteren",tooMany:"(te veel waarden om weer te geven)",filterResults:"Filter resultaten",totals:"Totaal",vs:"versus",by:"per"},aggregators:{Aantal:n.count(r),"Aantal unieke waarden":n.countUnique(r),"Lijst unieke waarden":n.listUnique(", "),Som:n.sum(t),"Som van gehele getallen":n.sum(r),Gemiddelde:n.average(t),Minimum:n.min(t),Maximum:n.max(t),Eerste:n.first(t),Laatste:n.last(t),"Som over som":n.sumOverSum(t),"80% bovengrens":n.sumOverSumBound80(!0,t),"80% ondergrens":n.sumOverSumBound80(!1,t),"Som in verhouding tot het totaal":n.fractionOf(n.sum(),"total",i),"Som in verhouding tot de rij":n.fractionOf(n.sum(),"row",i),"Som in verhouding tot de kolom":n.fractionOf(n.sum(),"col",i),"Aantal in verhouding tot het totaal":n.fractionOf(n.count(),"total",i),"Aantal in verhouding tot de rij":n.fractionOf(n.count(),"row",i),"Aantal in verhouding tot de kolom":n.fractionOf(n.count(),"col",i)},renderers:{Tabel:e.pivotUtilities.renderers.Table,"Tabel met staafdiagrammen":e.pivotUtilities.renderers["Table Barchart"],Warmtekaart:e.pivotUtilities.renderers.Heatmap,"Warmtekaart per rij":e.pivotUtilities.renderers["Row Heatmap"],"Warmtekaart per kolom":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.nl.min.js.map
{"version":3,"sources":["pivot.nl.coffee","pivot.nl.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","frFmt","frFmtInt","frFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","nl","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","Aantal","count","Aantal unieke waarden","countUnique","Lijst unieke waarden","listUnique","Som","sum","Som van gehele getallen","Gemiddelde","average","Minimum","min","Maximum","max","Eerste","first","Laatste","last","Som over som","sumOverSum","80% bovengrens","sumOverSumBound80","80% ondergrens","Som in verhouding tot het totaal","fractionOf","Som in verhouding tot de rij","Som in verhouding tot de kolom","Aantal in verhouding tot het totaal","Aantal in verhouding tot de rij","Aantal in verhouding tot de kolom","renderers","Tabel","Tabel met staafdiagrammen","Warmtekaart","Warmtekaart per rij","Warmtekaart per kolom","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,gEACbC,aAAc,iEACdC,cAAe,gFACfC,UAAW,mBACXC,WAAY,mBACZC,QAAS,qCACTC,cAAe,oBACfC,OAAQ,SACRC,GAAI,SACJC,GAAI,OAERC,aACIC,OAAuCvB,EAAIwB,MAAM3B,GACjD4B,wBAAuCzB,EAAI0B,YAAY7B,GACvD8B,uBAAuC3B,EAAI4B,WAAW,MACtDC,IAAuC7B,EAAI8B,IAAIlC,GAC/CmC,0BAAuC/B,EAAI8B,IAAIjC,GAC/CmC,WAAuChC,EAAIiC,QAAQrC,GACnDsC,QAAuClC,EAAImC,IAAIvC,GAC/CwC,QAAuCpC,EAAIqC,IAAIzC,GAC/C0C,OAAuCtC,EAAIuC,MAAM3C,GACjD4C,QAAuCxC,EAAIyC,KAAK7C,GAChD8C,eAAuC1C,EAAI2C,WAAW/C,GACtDgD,iBAAuC5C,EAAI6C,mBAAkB,EAAMjD,GACnEkD,iBAA+B9C,EAAI6C,mBAAkB,EAAOjD,GAC5DmD,mCAAuC/C,EAAIgD,WAAWhD,EAAI8B,MAAS,QAAShC,GAC5EmD,+BAAuCjD,EAAIgD,WAAWhD,EAAI8B,MAAS,MAAShC,GAC5EoD,iCAAuClD,EAAIgD,WAAWhD,EAAI8B,MAAS,MAAShC,GAC5EqD,sCAAuCnD,EAAIgD,WAAWhD,EAAIwB,QAAS,QAAS1B,GAC5EsD,kCAAuCpD,EAAIgD,WAAWhD,EAAIwB,QAAS,MAAS1B,GAC5EuD,oCAAuCrD,EAAIgD,WAAWhD,EAAIwB,QAAS,MAAS1B,IAEhFwD,WACIC,MAAmC5D,EAAEM,eAAeqD,UAAU,MAC9DE,4BAA2C7D,EAAEM,eAAeqD,UAAU,kBACtEG,YAAmC9D,EAAEM,eAAeqD,UAAU,QAC9DI,sBAAmC/D,EAAEM,eAAeqD,UAAU,eAC9DK,wBAAmChE,EAAEM,eAAeqD,UAAU,qBCqBvEM,KAAKC","file":"pivot.nl.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.nl =\n localeStrings:\n renderError: \"Er is een fout opgetreden bij het renderen van de kruistabel.\"\n computeError: \"Er is een fout opgetreden bij het berekenen van de kruistabel.\"\n uiRenderError: \"Er is een fout opgetreden bij het tekenen van de interface van de kruistabel.\"\n selectAll: \"Alles selecteren\"\n selectNone: \"Niets selecteren\"\n tooMany: \"(te veel waarden om weer te geven)\"\n filterResults: \"Filter resultaten\"\n totals: \"Totaal\"\n vs: \"versus\"\n by: \"per\"\n\n aggregators:\n \"Aantal\": tpl.count(frFmtInt)\n \"Aantal unieke waarden\": tpl.countUnique(frFmtInt)\n \"Lijst unieke waarden\": tpl.listUnique(\", \")\n \"Som\": tpl.sum(frFmt)\n \"Som van gehele getallen\": tpl.sum(frFmtInt)\n \"Gemiddelde\": tpl.average(frFmt)\n \"Minimum\": tpl.min(frFmt)\n \"Maximum\": tpl.max(frFmt)\n \"Eerste\": tpl.first(frFmt)\n \"Laatste\": tpl.last(frFmt)\n \"Som over som\": tpl.sumOverSum(frFmt)\n \"80% bovengrens\": tpl.sumOverSumBound80(true, frFmt)\n \"80% ondergrens\": \t\t\t tpl.sumOverSumBound80(false, frFmt)\n \"Som in verhouding tot het totaal\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Som in verhouding tot de rij\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Som in verhouding tot de kolom\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Aantal in verhouding tot het totaal\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Aantal in verhouding tot de rij\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Aantal in verhouding tot de kolom\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabel\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabel met staafdiagrammen\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Warmtekaart\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Warmtekaart per rij\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Warmtekaart per kolom\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var frFmt, frFmtInt, frFmtPct, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n frFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.nl = {\n localeStrings: {\n renderError: \"Er is een fout opgetreden bij het renderen van de kruistabel.\",\n computeError: \"Er is een fout opgetreden bij het berekenen van de kruistabel.\",\n uiRenderError: \"Er is een fout opgetreden bij het tekenen van de interface van de kruistabel.\",\n selectAll: \"Alles selecteren\",\n selectNone: \"Niets selecteren\",\n tooMany: \"(te veel waarden om weer te geven)\",\n filterResults: \"Filter resultaten\",\n totals: \"Totaal\",\n vs: \"versus\",\n by: \"per\"\n },\n aggregators: {\n \"Aantal\": tpl.count(frFmtInt),\n \"Aantal unieke waarden\": tpl.countUnique(frFmtInt),\n \"Lijst unieke waarden\": tpl.listUnique(\", \"),\n \"Som\": tpl.sum(frFmt),\n \"Som van gehele getallen\": tpl.sum(frFmtInt),\n \"Gemiddelde\": tpl.average(frFmt),\n \"Minimum\": tpl.min(frFmt),\n \"Maximum\": tpl.max(frFmt),\n \"Eerste\": tpl.first(frFmt),\n \"Laatste\": tpl.last(frFmt),\n \"Som over som\": tpl.sumOverSum(frFmt),\n \"80% bovengrens\": tpl.sumOverSumBound80(true, frFmt),\n \"80% ondergrens\": tpl.sumOverSumBound80(false, frFmt),\n \"Som in verhouding tot het totaal\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Som in verhouding tot de rij\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Som in verhouding tot de kolom\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Aantal in verhouding tot het totaal\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Aantal in verhouding tot de rij\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Aantal in verhouding tot de kolom\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Tabel\": $.pivotUtilities.renderers[\"Table\"],\n \"Tabel met staafdiagrammen\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Warmtekaart\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Warmtekaart per rij\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Warmtekaart per kolom\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.nl.js.map\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.nl.min.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.nl.min.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var nf, plFmt, plFmtInt, plFmtPct, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
plFmt = nf({
thousandsSep: " ",
decimalSep: ","
});
plFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: " ",
decimalSep: ","
});
plFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: " ",
decimalSep: ","
});
return $.pivotUtilities.locales.pl = {
localeStrings: {
renderError: "Wystąpił błąd podczas renderowania wyników PivotTable.",
computeError: "Wystąpił błąd podczas obliczania wyników PivotTable.",
uiRenderError: "Wystąpił błąd podczas renderowania UI PivotTable.",
selectAll: "Zaznacz wszystko",
selectNone: "Odznacz wszystkie",
tooMany: "(za dużo do wylistowania)",
filterResults: "Filtruj wartości",
apply: "Zastosuj",
cancel: "Anuluj",
totals: "Podsumowanie",
vs: "vs",
by: "przez"
},
aggregators: {
"Liczba": tpl.count(plFmtInt),
"Liczba Unikatowych Wartości": tpl.countUnique(plFmtInt),
"Lista Unikatowych Wartości": tpl.listUnique(", "),
"Suma": tpl.sum(plFmt),
"Całkowita Suma": tpl.sum(plFmtInt),
"Średnia": tpl.average(plFmt),
"Minimum": tpl.min(plFmt),
"Maksimum": tpl.max(plFmt),
"Pierwszy": tpl.first(plFmt),
"Ostatni": tpl.last(plFmt),
"Suma po Sumie": tpl.sumOverSum(plFmt),
"80% Kres Dolny": tpl.sumOverSumBound80(true, plFmt),
"80% Kres Górny": tpl.sumOverSumBound80(false, plFmt),
"Suma jako Ułamek Całości": tpl.fractionOf(tpl.sum(), "total", plFmtPct),
"Suma jako Ułamek w Wierszach": tpl.fractionOf(tpl.sum(), "row", plFmtPct),
"Suma jako Ułamek w Kolumnach": tpl.fractionOf(tpl.sum(), "col", plFmtPct),
"Liczba jako Ułamek Całości": tpl.fractionOf(tpl.count(), "total", plFmtPct),
"Liczba jako Ułamek w Wierszach": tpl.fractionOf(tpl.count(), "row", plFmtPct),
"Liczba jako Ułamek w Kolumnach": tpl.fractionOf(tpl.count(), "col", plFmtPct)
},
renderers: {
"Tabela": $.pivotUtilities.renderers["Table"],
"Tabela z Wykresem Słupkowym": $.pivotUtilities.renderers["Table Barchart"],
"Mapa cieplna": $.pivotUtilities.renderers["Heatmap"],
"Mapa cieplna po Wierszach": $.pivotUtilities.renderers["Row Heatmap"],
"Mapa cieplna po Kolumnach": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.pl.js.map
{"version":3,"file":"pivot.pl.js","sources":["pivot.pl.coffee"],"names":[],"mappings":"AAAA;AAAA,MAAA;;EAAA,cAAA,GAAiB,SAAC,WAAD;IACb,IAAG,OAAO,OAAP,KAAkB,QAAlB,IAA+B,OAAO,MAAP,KAAiB,QAAnD;aACI,WAAA,CAAY,OAAA,CAAQ,QAAR,CAAZ,EADJ;KAAA,MAEK,IAAG,OAAO,MAAP,KAAiB,UAAjB,IAAgC,MAAM,CAAC,GAA1C;aACD,MAAA,CAAO,CAAC,QAAD,CAAP,EAAmB,WAAnB,EADC;KAAA,MAAA;aAID,WAAA,CAAY,MAAZ,EAJC;;EAHQ;;EASjB,cAAA,CAAe,SAAC,CAAD;AACX,QAAA;IAAA,EAAA,GAAK,CAAC,CAAC,cAAc,CAAC;IACtB,GAAA,GAAM,CAAC,CAAC,cAAc,CAAC;IAEvB,KAAA,GAAW,EAAA,CAAG;MAAA,YAAA,EAAc,GAAd;MAAmB,UAAA,EAAY,GAA/B;KAAH;IACX,QAAA,GAAW,EAAA,CAAG;MAAA,kBAAA,EAAoB,CAApB;MAAuB,YAAA,EAAc,GAArC;MAA0C,UAAA,EAAY,GAAtD;KAAH;IACX,QAAA,GAAW,EAAA,CAAG;MAAA,kBAAA,EAAoB,CAApB;MAAuB,MAAA,EAAQ,GAA/B;MAAoC,MAAA,EAAQ,GAA5C;MAAiD,YAAA,EAAc,GAA/D;MAAoE,UAAA,EAAY,GAAhF;KAAH;WAEX,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAzB,GACI;MAAA,aAAA,EACI;QAAA,WAAA,EAAa,wDAAb;QACA,YAAA,EAAc,sDADd;QAEA,aAAA,EAAe,mDAFf;QAGA,SAAA,EAAW,kBAHX;QAIA,UAAA,EAAY,mBAJZ;QAKA,OAAA,EAAS,2BALT;QAMA,aAAA,EAAe,kBANf;QAOA,KAAA,EAAO,UAPP;QAQA,MAAA,EAAQ,QARR;QASA,MAAA,EAAQ,cATR;QAUA,EAAA,EAAI,IAVJ;QAWA,EAAA,EAAI,OAXJ;OADJ;MAcA,WAAA,EACI;QAAA,QAAA,EAAgC,GAAG,CAAC,KAAJ,CAAU,QAAV,CAAhC;QACA,6BAAA,EAAgC,GAAG,CAAC,WAAJ,CAAgB,QAAhB,CADhC;QAEA,4BAAA,EAAgC,GAAG,CAAC,UAAJ,CAAe,IAAf,CAFhC;QAGA,MAAA,EAAgC,GAAG,CAAC,GAAJ,CAAQ,KAAR,CAHhC;QAIA,gBAAA,EAAgC,GAAG,CAAC,GAAJ,CAAQ,QAAR,CAJhC;QAKA,SAAA,EAAgC,GAAG,CAAC,OAAJ,CAAY,KAAZ,CALhC;QAMA,SAAA,EAAgC,GAAG,CAAC,GAAJ,CAAQ,KAAR,CANhC;QAOA,UAAA,EAAgC,GAAG,CAAC,GAAJ,CAAQ,KAAR,CAPhC;QAQA,UAAA,EAAgC,GAAG,CAAC,KAAJ,CAAU,KAAV,CARhC;QASA,SAAA,EAAgC,GAAG,CAAC,IAAJ,CAAS,KAAT,CAThC;QAUA,eAAA,EAAgC,GAAG,CAAC,UAAJ,CAAe,KAAf,CAVhC;QAWA,gBAAA,EAAgC,GAAG,CAAC,iBAAJ,CAAsB,IAAtB,EAA4B,KAA5B,CAXhC;QAYA,gBAAA,EAAgC,GAAG,CAAC,iBAAJ,CAAsB,KAAtB,EAA6B,KAA7B,CAZhC;QAaA,0BAAA,EAAgC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAAgC,OAAhC,EAAyC,QAAzC,CAbhC;QAcA,8BAAA,EAAoC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CAdpC;QAeA,8BAAA,EAAoC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CAfpC;QAgBA,4BAAA,EAAoC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,OAA5B,EAAqC,QAArC,CAhBpC;QAiBA,gCAAA,EAAoC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CAjBpC;QAkBA,gCAAA,EAAoC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CAlBpC;OAfJ;MAmCA,SAAA,EACI;QAAA,QAAA,EAAgC,CAAC,CAAC,cAAc,CAAC,SAAU,CAAA,OAAA,CAA3D;QACA,6BAAA,EAAgC,CAAC,CAAC,cAAc,CAAC,SAAU,CAAA,gBAAA,CAD3D;QAEA,cAAA,EAAgC,CAAC,CAAC,cAAc,CAAC,SAAU,CAAA,SAAA,CAF3D;QAGA,2BAAA,EAAgC,CAAC,CAAC,cAAc,CAAC,SAAU,CAAA,aAAA,CAH3D;QAIA,2BAAA,EAAgC,CAAC,CAAC,cAAc,CAAC,SAAU,CAAA,aAAA,CAJ3D;OApCJ;;EATO,CAAf;AATA","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n plFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n plFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n plFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.pl =\n localeStrings:\n renderError: \"Wystąpił błąd podczas renderowania wyników PivotTable.\"\n computeError: \"Wystąpił błąd podczas obliczania wyników PivotTable.\"\n uiRenderError: \"Wystąpił błąd podczas renderowania UI PivotTable.\"\n selectAll: \"Zaznacz wszystko\"\n selectNone: \"Odznacz wszystkie\"\n tooMany: \"(za dużo do wylistowania)\"\n filterResults: \"Filtruj wartości\"\n apply: \"Zastosuj\"\n cancel: \"Anuluj\"\n totals: \"Podsumowanie\"\n vs: \"vs\"\n by: \"przez\"\n\n aggregators: \n \"Liczba\": tpl.count(plFmtInt)\n \"Liczba Unikatowych Wartości\": tpl.countUnique(plFmtInt)\n \"Lista Unikatowych Wartości\": tpl.listUnique(\", \")\n \"Suma\": tpl.sum(plFmt)\n \"Całkowita Suma\": tpl.sum(plFmtInt)\n \"Średnia\": tpl.average(plFmt)\n \"Minimum\": tpl.min(plFmt)\n \"Maksimum\": tpl.max(plFmt)\n \"Pierwszy\": tpl.first(plFmt)\n \"Ostatni\": tpl.last(plFmt)\n \"Suma po Sumie\": tpl.sumOverSum(plFmt)\n \"80% Kres Dolny\": tpl.sumOverSumBound80(true, plFmt)\n \"80% Kres Górny\": tpl.sumOverSumBound80(false, plFmt)\n \"Suma jako Ułamek Całości\": tpl.fractionOf(tpl.sum(), \"total\", plFmtPct)\n \"Suma jako Ułamek w Wierszach\": tpl.fractionOf(tpl.sum(), \"row\", plFmtPct)\n \"Suma jako Ułamek w Kolumnach\": tpl.fractionOf(tpl.sum(), \"col\", plFmtPct)\n \"Liczba jako Ułamek Całości\": tpl.fractionOf(tpl.count(), \"total\", plFmtPct)\n \"Liczba jako Ułamek w Wierszach\": tpl.fractionOf(tpl.count(), \"row\", plFmtPct)\n \"Liczba jako Ułamek w Kolumnach\": tpl.fractionOf(tpl.count(), \"col\", plFmtPct)\n\n renderers:\n \"Tabela\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabela z Wykresem Słupkowym\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Mapa cieplna\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Mapa cieplna po Wierszach\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Mapa cieplna po Kolumnach\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.pl.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.pl.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var a,i,t,o,r;return a=e.pivotUtilities.numberFormat,r=e.pivotUtilities.aggregatorTemplates,i=a({thousandsSep:" ",decimalSep:","}),t=a({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),o=a({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.pl={localeStrings:{renderError:"Wystąpił błąd podczas renderowania wyników PivotTable.",computeError:"Wystąpił błąd podczas obliczania wyników PivotTable.",uiRenderError:"Wystąpił błąd podczas renderowania UI PivotTable.",selectAll:"Zaznacz wszystko",selectNone:"Odznacz wszystkie",tooMany:"(za dużo do wylistowania)",filterResults:"Filtruj wartości",apply:"Zastosuj",cancel:"Anuluj",totals:"Podsumowanie",vs:"vs",by:"przez"},aggregators:{Liczba:r.count(t),"Liczba Unikatowych Wartości":r.countUnique(t),"Lista Unikatowych Wartości":r.listUnique(", "),Suma:r.sum(i),"Całkowita Suma":r.sum(t),"Średnia":r.average(i),Minimum:r.min(i),Maksimum:r.max(i),Pierwszy:r.first(i),Ostatni:r.last(i),"Suma po Sumie":r.sumOverSum(i),"80% Kres Dolny":r.sumOverSumBound80(!0,i),"80% Kres Górny":r.sumOverSumBound80(!1,i),"Suma jako Ułamek Całości":r.fractionOf(r.sum(),"total",o),"Suma jako Ułamek w Wierszach":r.fractionOf(r.sum(),"row",o),"Suma jako Ułamek w Kolumnach":r.fractionOf(r.sum(),"col",o),"Liczba jako Ułamek Całości":r.fractionOf(r.count(),"total",o),"Liczba jako Ułamek w Wierszach":r.fractionOf(r.count(),"row",o),"Liczba jako Ułamek w Kolumnach":r.fractionOf(r.count(),"col",o)},renderers:{Tabela:e.pivotUtilities.renderers.Table,"Tabela z Wykresem Słupkowym":e.pivotUtilities.renderers["Table Barchart"],"Mapa cieplna":e.pivotUtilities.renderers.Heatmap,"Mapa cieplna po Wierszach":e.pivotUtilities.renderers["Row Heatmap"],"Mapa cieplna po Kolumnach":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.pl.min.js.map
{"version":3,"sources":["pivot.pl.coffee","pivot.pl.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","nf","plFmt","plFmtInt","plFmtPct","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","pl","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","apply","cancel","totals","vs","by","aggregators","Liczba","count","Liczba Unikatowych Wartości","countUnique","Lista Unikatowych Wartości","listUnique","Suma","sum","Całkowita Suma","Średnia","average","Minimum","min","Maksimum","max","Pierwszy","first","Ostatni","last","Suma po Sumie","sumOverSum","80% Kres Dolny","sumOverSumBound80","80% Kres Górny","Suma jako Ułamek Całości","fractionOf","Suma jako Ułamek w Wierszach","Suma jako Ułamek w Kolumnach","Liczba jako Ułamek Całości","Liczba jako Ułamek w Wierszach","Liczba jako Ułamek w Kolumnach","renderers","Tabela","Tabela z Wykresem Słupkowym","Mapa cieplna","Mapa cieplna po Wierszach","Mapa cieplna po Kolumnach","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAJ,GAAKD,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBN,EAAWD,GAAGQ,aAAc,IAAKC,WAAY,MAC7CP,EAAWF,GAAGU,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEN,EAAWH,GAAGU,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,yDACbC,aAAc,uDACdC,cAAe,oDACfC,UAAW,mBACXC,WAAY,oBACZC,QAAS,4BACTC,cAAe,mBACfC,MAAO,WACPC,OAAQ,SACRC,OAAQ,eACRC,GAAI,KACJC,GAAI,SAERC,aACIC,OAAgCzB,EAAI0B,MAAM5B,GAC1C6B,8BAAgC3B,EAAI4B,YAAY9B,GAChD+B,6BAAgC7B,EAAI8B,WAAW,MAC/CC,KAAgC/B,EAAIgC,IAAInC,GACxCoC,iBAAgCjC,EAAIgC,IAAIlC,GACxCoC,UAAgClC,EAAImC,QAAQtC,GAC5CuC,QAAgCpC,EAAIqC,IAAIxC,GACxCyC,SAAgCtC,EAAIuC,IAAI1C,GACxC2C,SAAgCxC,EAAIyC,MAAM5C,GAC1C6C,QAAgC1C,EAAI2C,KAAK9C,GACzC+C,gBAAgC5C,EAAI6C,WAAWhD,GAC/CiD,iBAAgC9C,EAAI+C,mBAAkB,EAAMlD,GAC5DmD,iBAAgChD,EAAI+C,mBAAkB,EAAOlD,GAC7DoD,2BAAgCjD,EAAIkD,WAAWlD,EAAIgC,MAAa,QAASjC,GACzEoD,+BAAoCnD,EAAIkD,WAAWlD,EAAIgC,MAAS,MAASjC,GACzEqD,+BAAoCpD,EAAIkD,WAAWlD,EAAIgC,MAAS,MAASjC,GACzEsD,6BAAoCrD,EAAIkD,WAAWlD,EAAI0B,QAAS,QAAS3B,GACzEuD,iCAAoCtD,EAAIkD,WAAWlD,EAAI0B,QAAS,MAAS3B,GACzEwD,iCAAoCvD,EAAIkD,WAAWlD,EAAI0B,QAAS,MAAS3B,IAE7EyD,WACIC,OAAgC9D,EAAEM,eAAeuD,UAAU,MAC3DE,8BAAgC/D,EAAEM,eAAeuD,UAAU,kBAC3DG,eAAgChE,EAAEM,eAAeuD,UAAU,QAC3DI,4BAAgCjE,EAAEM,eAAeuD,UAAU,eAC3DK,4BAAgClE,EAAEM,eAAeuD,UAAU,qBCqBpEM,KAAKC","file":"pivot.pl.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n plFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n plFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n plFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.pl =\n localeStrings:\n renderError: \"Wystąpił błąd podczas renderowania wyników PivotTable.\"\n computeError: \"Wystąpił błąd podczas obliczania wyników PivotTable.\"\n uiRenderError: \"Wystąpił błąd podczas renderowania UI PivotTable.\"\n selectAll: \"Zaznacz wszystko\"\n selectNone: \"Odznacz wszystkie\"\n tooMany: \"(za dużo do wylistowania)\"\n filterResults: \"Filtruj wartości\"\n apply: \"Zastosuj\"\n cancel: \"Anuluj\"\n totals: \"Podsumowanie\"\n vs: \"vs\"\n by: \"przez\"\n\n aggregators: \n \"Liczba\": tpl.count(plFmtInt)\n \"Liczba Unikatowych Wartości\": tpl.countUnique(plFmtInt)\n \"Lista Unikatowych Wartości\": tpl.listUnique(\", \")\n \"Suma\": tpl.sum(plFmt)\n \"Całkowita Suma\": tpl.sum(plFmtInt)\n \"Średnia\": tpl.average(plFmt)\n \"Minimum\": tpl.min(plFmt)\n \"Maksimum\": tpl.max(plFmt)\n \"Pierwszy\": tpl.first(plFmt)\n \"Ostatni\": tpl.last(plFmt)\n \"Suma po Sumie\": tpl.sumOverSum(plFmt)\n \"80% Kres Dolny\": tpl.sumOverSumBound80(true, plFmt)\n \"80% Kres Górny\": tpl.sumOverSumBound80(false, plFmt)\n \"Suma jako Ułamek Całości\": tpl.fractionOf(tpl.sum(), \"total\", plFmtPct)\n \"Suma jako Ułamek w Wierszach\": tpl.fractionOf(tpl.sum(), \"row\", plFmtPct)\n \"Suma jako Ułamek w Kolumnach\": tpl.fractionOf(tpl.sum(), \"col\", plFmtPct)\n \"Liczba jako Ułamek Całości\": tpl.fractionOf(tpl.count(), \"total\", plFmtPct)\n \"Liczba jako Ułamek w Wierszach\": tpl.fractionOf(tpl.count(), \"row\", plFmtPct)\n \"Liczba jako Ułamek w Kolumnach\": tpl.fractionOf(tpl.count(), \"col\", plFmtPct)\n\n renderers:\n \"Tabela\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabela z Wykresem Słupkowym\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Mapa cieplna\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Mapa cieplna po Wierszach\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Mapa cieplna po Kolumnach\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var nf, plFmt, plFmtInt, plFmtPct, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n plFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n plFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n plFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.pl = {\n localeStrings: {\n renderError: \"Wystąpił błąd podczas renderowania wyników PivotTable.\",\n computeError: \"Wystąpił błąd podczas obliczania wyników PivotTable.\",\n uiRenderError: \"Wystąpił błąd podczas renderowania UI PivotTable.\",\n selectAll: \"Zaznacz wszystko\",\n selectNone: \"Odznacz wszystkie\",\n tooMany: \"(za dużo do wylistowania)\",\n filterResults: \"Filtruj wartości\",\n apply: \"Zastosuj\",\n cancel: \"Anuluj\",\n totals: \"Podsumowanie\",\n vs: \"vs\",\n by: \"przez\"\n },\n aggregators: {\n \"Liczba\": tpl.count(plFmtInt),\n \"Liczba Unikatowych Wartości\": tpl.countUnique(plFmtInt),\n \"Lista Unikatowych Wartości\": tpl.listUnique(\", \"),\n \"Suma\": tpl.sum(plFmt),\n \"Całkowita Suma\": tpl.sum(plFmtInt),\n \"Średnia\": tpl.average(plFmt),\n \"Minimum\": tpl.min(plFmt),\n \"Maksimum\": tpl.max(plFmt),\n \"Pierwszy\": tpl.first(plFmt),\n \"Ostatni\": tpl.last(plFmt),\n \"Suma po Sumie\": tpl.sumOverSum(plFmt),\n \"80% Kres Dolny\": tpl.sumOverSumBound80(true, plFmt),\n \"80% Kres Górny\": tpl.sumOverSumBound80(false, plFmt),\n \"Suma jako Ułamek Całości\": tpl.fractionOf(tpl.sum(), \"total\", plFmtPct),\n \"Suma jako Ułamek w Wierszach\": tpl.fractionOf(tpl.sum(), \"row\", plFmtPct),\n \"Suma jako Ułamek w Kolumnach\": tpl.fractionOf(tpl.sum(), \"col\", plFmtPct),\n \"Liczba jako Ułamek Całości\": tpl.fractionOf(tpl.count(), \"total\", plFmtPct),\n \"Liczba jako Ułamek w Wierszach\": tpl.fractionOf(tpl.count(), \"row\", plFmtPct),\n \"Liczba jako Ułamek w Kolumnach\": tpl.fractionOf(tpl.count(), \"col\", plFmtPct)\n },\n renderers: {\n \"Tabela\": $.pivotUtilities.renderers[\"Table\"],\n \"Tabela z Wykresem Słupkowym\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Mapa cieplna\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Mapa cieplna po Wierszach\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Mapa cieplna po Kolumnach\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.pl.js.map\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.pl.min.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.pl.min.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -37,35 +37,42 @@ ...@@ -37,35 +37,42 @@
}); });
$.pivotUtilities.locales.pt = { $.pivotUtilities.locales.pt = {
localeStrings: { localeStrings: {
renderError: "Ocorreu um error ao renderizar os resultados da Tabela Din&atilde;mica.", renderError: "Ocorreu um error ao renderizar os resultados da Tabela Dinâmica.",
computeError: "Ocorreu um error ao computar os resultados da Tabela Din&atilde;mica.", computeError: "Ocorreu um error ao computar os resultados da Tabela Dinâmica.",
uiRenderError: "Ocorreu um error ao renderizar a interface da Tabela Din&atilde;mica.", uiRenderError: "Ocorreu um error ao renderizar a interface da Tabela Dinâmica.",
selectAll: "Selecionar Tudo", selectAll: "Selecionar Tudo",
selectNone: "Selecionar Nenhum", selectNone: "Selecionar Nenhum",
tooMany: "(demais para listar)", tooMany: "(demais para listar)",
filterResults: "Filtrar resultados", filterResults: "Filtrar resultados",
totals: "Totais", totals: "Totais",
apply: "Aplicar",
cancel: "Cancelar",
vs: "vs", vs: "vs",
by: "por" by: "por"
}, },
aggregators: { aggregators: {
"Contagem": tpl.count(frFmtInt), "Contagem": tpl.count(frFmtInt),
"Contagem de Valores &uacute;nicos": tpl.countUnique(frFmtInt), "Contagem de Valores únicos": tpl.countUnique(frFmtInt),
"Lista de Valores &uacute;nicos": tpl.listUnique(", "), "Lista de Valores únicos": tpl.listUnique(", "),
"Soma": tpl.sum(frFmt), "Soma": tpl.sum(frFmt),
"Soma de Inteiros": tpl.sum(frFmtInt), "Soma de Inteiros": tpl.sum(frFmtInt),
"Média": tpl.average(frFmt), "Média": tpl.average(frFmt),
"Mediana": tpl.median(frFmt),
"Variancia": tpl["var"](1, frFmt),
"Desvio Padrão da Amostra": tpl.stdev(1, frFmt),
"Mínimo": tpl.min(frFmt), "Mínimo": tpl.min(frFmt),
"Máximo": tpl.max(frFmt), "Máximo": tpl.max(frFmt),
"Primeiro": tpl.first(frFmt),
"Último": tpl.last(frFmt),
"Soma sobre Soma": tpl.sumOverSum(frFmt), "Soma sobre Soma": tpl.sumOverSum(frFmt),
"Limite Superior a 80%": tpl.sumOverSumBound80(true, frFmt), "Limite Superior a 80%": tpl.sumOverSumBound80(true, frFmt),
"Limite Inferior a 80%": tpl.sumOverSumBound80(false, frFmt), "Limite Inferior a 80%": tpl.sumOverSumBound80(false, frFmt),
"Soma como Fra&ccedil;&atilde;o do Total": tpl.fractionOf(tpl.sum(), "total", frFmtPct), "Soma como Fração do Total": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Soma como Fra&ccedil;&atilde;o da Linha": tpl.fractionOf(tpl.sum(), "row", frFmtPct), "Soma como Fração da Linha": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"Soma como Fra&ccedil;&atilde;o da Coluna": tpl.fractionOf(tpl.sum(), "col", frFmtPct), "Soma como Fração da Coluna": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"Contagem como Fra&ccedil;&atilde;o do Total": tpl.fractionOf(tpl.count(), "total", frFmtPct), "Contagem como Fração do Total": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"Contagem como Fra&ccedil;&atilde;o da Linha": tpl.fractionOf(tpl.count(), "row", frFmtPct), "Contagem como Fração da Linha": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"Contagem como Fra&ccedil;&atilde;o da Coluna": tpl.fractionOf(tpl.count(), "col", frFmtPct) "Contagem como Fração da Coluna": tpl.fractionOf(tpl.count(), "col", frFmtPct)
}, },
renderers: { renderers: {
"Tabela": r["Table"], "Tabela": r["Table"],
...@@ -77,10 +84,10 @@ ...@@ -77,10 +84,10 @@
}; };
if (gcr) { if (gcr) {
$.pivotUtilities.locales.pt.gchart_renderers = { $.pivotUtilities.locales.pt.gchart_renderers = {
"Gr&aacute;fico de Linhas": gcr["Line Chart"], "Gráfico de Linhas": gcr["Line Chart"],
"Gr&aacute;fico de Barras": gcr["Bar Chart"], "Gráfico de Barras": gcr["Bar Chart"],
"Gr&aacute;fico de Barras Empilhadas": gcr["Stacked Bar Chart"], "Gráfico de Barras Empilhadas": gcr["Stacked Bar Chart"],
"Gr&aacute;fico de &Aacute;rea": gcr["Area Chart"] "Gráfico de Área": gcr["Area Chart"]
}; };
} }
if (d3r) { if (d3r) {
...@@ -90,8 +97,10 @@ ...@@ -90,8 +97,10 @@
} }
if (c3r) { if (c3r) {
$.pivotUtilities.locales.pt.c3_renderers = { $.pivotUtilities.locales.pt.c3_renderers = {
"Gr&aacute;fico de Linhas": c3r["Line Chart C3"], "Gráfico de Linhas": c3r["Line Chart"],
"Gr&aacute;fico de Barras": c3r["Bar Chart C3"] "Gráfico de Barras": c3r["Bar Chart"],
"Gráfico de Barras Empilhadas": c3r["Stacked Bar Chart"],
"Gráfico de Área": c3r["Area Chart"]
}; };
} }
return $.pivotUtilities.locales.pt; return $.pivotUtilities.locales.pt;
...@@ -99,4 +108,4 @@ ...@@ -99,4 +108,4 @@
}).call(this); }).call(this);
//# sourceMappingURL=pivot.pt.js.map //# sourceMappingURL=pivot.pt.js.map
\ No newline at end of file
{"version":3,"sources":["pivot.pt.coffee"],"names":[],"mappings":"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","file":"pivot.pt.js","sourceRoot":"/source/","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n r = $.pivotUtilities.renderers\n gcr = $.pivotUtilities.gchart_renderers\n d3r = $.pivotUtilities.d3_renderers\n c3r = $.pivotUtilities.c3_renderers\n\n frFmt = nf(thousandsSep: \".\", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \".\", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 2, scaler: 100, suffix: \"%\", thousandsSep: \".\", decimalSep: \",\")\n\n $.pivotUtilities.locales.pt = \n\n localeStrings:\n renderError: \"Ocorreu um error ao renderizar os resultados da Tabela Din&atilde;mica.\"\n computeError: \"Ocorreu um error ao computar os resultados da Tabela Din&atilde;mica.\"\n uiRenderError: \"Ocorreu um error ao renderizar a interface da Tabela Din&atilde;mica.\"\n selectAll: \"Selecionar Tudo\"\n selectNone: \"Selecionar Nenhum\"\n tooMany: \"(demais para listar)\"\n filterResults: \"Filtrar resultados\"\n totals: \"Totais\"\n vs: \"vs\"\n by: \"por\"\n\n aggregators:\n \"Contagem\": tpl.count(frFmtInt)\n \"Contagem de Valores &uacute;nicos\": tpl.countUnique(frFmtInt)\n \"Lista de Valores &uacute;nicos\": tpl.listUnique(\", \")\n \"Soma\": tpl.sum(frFmt)\n \"Soma de Inteiros\": tpl.sum(frFmtInt)\n \"Média\": tpl.average(frFmt)\n \"Mínimo\": tpl.min(frFmt)\n \"Máximo\": tpl.max(frFmt)\n \"Soma sobre Soma\": tpl.sumOverSum(frFmt)\n \"Limite Superior a 80%\": tpl.sumOverSumBound80(true, frFmt)\n \"Limite Inferior a 80%\": tpl.sumOverSumBound80(false, frFmt)\n \"Soma como Fra&ccedil;&atilde;o do Total\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Soma como Fra&ccedil;&atilde;o da Linha\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Soma como Fra&ccedil;&atilde;o da Coluna\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Contagem como Fra&ccedil;&atilde;o do Total\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Contagem como Fra&ccedil;&atilde;o da Linha\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Contagem como Fra&ccedil;&atilde;o da Coluna\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabela\": r[\"Table\"]\n \"Tabela com Barras\": r[\"Table Barchart\"]\n \"Mapa de Calor\": r[\"Heatmap\"]\n \"Mapa de Calor por Linhas\": r[\"Row Heatmap\"]\n \"Mapa de Calor por Colunas\": r[\"Col Heatmap\"]\n\n if gcr\n $.pivotUtilities.locales.pt.gchart_renderers =\n \"Gr&aacute;fico de Linhas\": gcr[\"Line Chart\"]\n \"Gr&aacute;fico de Barras\": gcr[\"Bar Chart\"]\n \"Gr&aacute;fico de Barras Empilhadas\": gcr[\"Stacked Bar Chart\"]\n \"Gr&aacute;fico de &Aacute;rea\": gcr[\"Area Chart\"]\n\n if d3r\n $.pivotUtilities.locales.pt.d3_renderers =\n \"Mapa de Árvore\": d3r[\"Treemap\"]\n\n if c3r\n $.pivotUtilities.locales.pt.c3_renderers =\n \"Gr&aacute;fico de Linhas\": c3r[\"Line Chart C3\"]\n \"Gr&aacute;fico de Barras\": c3r[\"Bar Chart C3\"]\n\n return $.pivotUtilities.locales.pt\n"]} {"version":3,"file":"pivot.pt.js","sources":["pivot.pt.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n r = $.pivotUtilities.renderers\n gcr = $.pivotUtilities.gchart_renderers\n d3r = $.pivotUtilities.d3_renderers\n c3r = $.pivotUtilities.c3_renderers\n\n frFmt = nf(thousandsSep: \".\", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \".\", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 2, scaler: 100, suffix: \"%\", thousandsSep: \".\", decimalSep: \",\")\n\n $.pivotUtilities.locales.pt = \n\n localeStrings:\n renderError: \"Ocorreu um error ao renderizar os resultados da Tabela Dinâmica.\"\n computeError: \"Ocorreu um error ao computar os resultados da Tabela Dinâmica.\"\n uiRenderError: \"Ocorreu um error ao renderizar a interface da Tabela Dinâmica.\"\n selectAll: \"Selecionar Tudo\"\n selectNone: \"Selecionar Nenhum\"\n tooMany: \"(demais para listar)\"\n filterResults: \"Filtrar resultados\"\n totals: \"Totais\"\n apply:\"Aplicar\",\n cancel: \"Cancelar\",\n vs: \"vs\"\n by: \"por\"\n\n aggregators:\n \"Contagem\": tpl.count(frFmtInt)\n \"Contagem de Valores únicos\": tpl.countUnique(frFmtInt)\n \"Lista de Valores únicos\": tpl.listUnique(\", \")\n \"Soma\": tpl.sum(frFmt)\n \"Soma de Inteiros\": tpl.sum(frFmtInt)\n \"Média\": tpl.average(frFmt)\n \"Mediana\": tpl.median(frFmt)\n \"Variancia\": tpl.var(1, frFmt)\n \"Desvio Padrão da Amostra\": tpl.stdev(1, frFmt)\n \"Mínimo\": tpl.min(frFmt)\n \"Máximo\": tpl.max(frFmt)\n \"Primeiro\": tpl.first(frFmt),\n \"Último\": tpl.last(frFmt),\n \"Soma sobre Soma\": tpl.sumOverSum(frFmt)\n \"Limite Superior a 80%\": tpl.sumOverSumBound80(true, frFmt)\n \"Limite Inferior a 80%\": tpl.sumOverSumBound80(false, frFmt)\n \"Soma como Fração do Total\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Soma como Fração da Linha\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Soma como Fração da Coluna\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Contagem como Fração do Total\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Contagem como Fração da Linha\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Contagem como Fração da Coluna\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabela\": r[\"Table\"]\n \"Tabela com Barras\": r[\"Table Barchart\"]\n \"Mapa de Calor\": r[\"Heatmap\"]\n \"Mapa de Calor por Linhas\": r[\"Row Heatmap\"]\n \"Mapa de Calor por Colunas\": r[\"Col Heatmap\"]\n\n if gcr\n $.pivotUtilities.locales.pt.gchart_renderers =\n \"Gráfico de Linhas\": gcr[\"Line Chart\"]\n \"Gráfico de Barras\": gcr[\"Bar Chart\"]\n \"Gráfico de Barras Empilhadas\": gcr[\"Stacked Bar Chart\"]\n \"Gráfico de Área\": gcr[\"Area Chart\"]\n\n if d3r\n $.pivotUtilities.locales.pt.d3_renderers =\n \"Mapa de Árvore\": d3r[\"Treemap\"]\n\n if c3r\n $.pivotUtilities.locales.pt.c3_renderers =\n \"Gráfico de Linhas\": c3r[\"Line Chart\"]\n \"Gráfico de Barras\": c3r[\"Bar Chart\"]\n \"Gráfico de Barras Empilhadas\": c3r[\"Stacked Bar Chart\"]\n \"Gráfico de Área\": c3r[\"Area Chart\"]\n\n return $.pivotUtilities.locales.pt\n"]}
\ No newline at end of file \ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var a,r,o,t,i,c,l,s,n;return l=e.pivotUtilities.numberFormat,n=e.pivotUtilities.aggregatorTemplates,s=e.pivotUtilities.renderers,c=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,a=e.pivotUtilities.c3_renderers,o=l({thousandsSep:".",decimalSep:","}),t=l({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),i=l({digitsAfterDecimal:2,scaler:100,suffix:"%",thousandsSep:".",decimalSep:","}),e.pivotUtilities.locales.pt={localeStrings:{renderError:"Ocorreu um error ao renderizar os resultados da Tabela Din&atilde;mica.",computeError:"Ocorreu um error ao computar os resultados da Tabela Din&atilde;mica.",uiRenderError:"Ocorreu um error ao renderizar a interface da Tabela Din&atilde;mica.",selectAll:"Selecionar Tudo",selectNone:"Selecionar Nenhum",tooMany:"(demais para listar)",filterResults:"Filtrar resultados",totals:"Totais",vs:"vs",by:"por"},aggregators:{Contagem:n.count(t),"Contagem de Valores &uacute;nicos":n.countUnique(t),"Lista de Valores &uacute;nicos":n.listUnique(", "),Soma:n.sum(o),"Soma de Inteiros":n.sum(t),"Média":n.average(o),"Mínimo":n.min(o),"Máximo":n.max(o),"Soma sobre Soma":n.sumOverSum(o),"Limite Superior a 80%":n.sumOverSumBound80(!0,o),"Limite Inferior a 80%":n.sumOverSumBound80(!1,o),"Soma como Fra&ccedil;&atilde;o do Total":n.fractionOf(n.sum(),"total",i),"Soma como Fra&ccedil;&atilde;o da Linha":n.fractionOf(n.sum(),"row",i),"Soma como Fra&ccedil;&atilde;o da Coluna":n.fractionOf(n.sum(),"col",i),"Contagem como Fra&ccedil;&atilde;o do Total":n.fractionOf(n.count(),"total",i),"Contagem como Fra&ccedil;&atilde;o da Linha":n.fractionOf(n.count(),"row",i),"Contagem como Fra&ccedil;&atilde;o da Coluna":n.fractionOf(n.count(),"col",i)},renderers:{Tabela:s.Table,"Tabela com Barras":s["Table Barchart"],"Mapa de Calor":s.Heatmap,"Mapa de Calor por Linhas":s["Row Heatmap"],"Mapa de Calor por Colunas":s["Col Heatmap"]}},c&&(e.pivotUtilities.locales.pt.gchart_renderers={"Gr&aacute;fico de Linhas":c["Line Chart"],"Gr&aacute;fico de Barras":c["Bar Chart"],"Gr&aacute;fico de Barras Empilhadas":c["Stacked Bar Chart"],"Gr&aacute;fico de &Aacute;rea":c["Area Chart"]}),r&&(e.pivotUtilities.locales.pt.d3_renderers={"Mapa de Árvore":r.Treemap}),a&&(e.pivotUtilities.locales.pt.c3_renderers={"Gr&aacute;fico de Linhas":a["Line Chart C3"],"Gr&aacute;fico de Barras":a["Bar Chart C3"]}),e.pivotUtilities.locales.pt})}).call(this); (function(){var a;(a=function(a){return"object"==typeof exports&&"object"==typeof module?a(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)})(function(a){var e,r,o,i,t,s,n,l,c;return n=a.pivotUtilities.numberFormat,c=a.pivotUtilities.aggregatorTemplates,l=a.pivotUtilities.renderers,s=a.pivotUtilities.gchart_renderers,r=a.pivotUtilities.d3_renderers,e=a.pivotUtilities.c3_renderers,o=n({thousandsSep:".",decimalSep:","}),i=n({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),t=n({digitsAfterDecimal:2,scaler:100,suffix:"%",thousandsSep:".",decimalSep:","}),a.pivotUtilities.locales.pt={localeStrings:{renderError:"Ocorreu um error ao renderizar os resultados da Tabela Dinâmica.",computeError:"Ocorreu um error ao computar os resultados da Tabela Dinâmica.",uiRenderError:"Ocorreu um error ao renderizar a interface da Tabela Dinâmica.",selectAll:"Selecionar Tudo",selectNone:"Selecionar Nenhum",tooMany:"(demais para listar)",filterResults:"Filtrar resultados",totals:"Totais",apply:"Aplicar",cancel:"Cancelar",vs:"vs",by:"por"},aggregators:{Contagem:c.count(i),"Contagem de Valores únicos":c.countUnique(i),"Lista de Valores únicos":c.listUnique(", "),Soma:c.sum(o),"Soma de Inteiros":c.sum(i),"Média":c.average(o),Mediana:c.median(o),Variancia:c["var"](1,o),"Desvio Padrão da Amostra":c.stdev(1,o),"Mínimo":c.min(o),"Máximo":c.max(o),Primeiro:c.first(o),"Último":c.last(o),"Soma sobre Soma":c.sumOverSum(o),"Limite Superior a 80%":c.sumOverSumBound80(!0,o),"Limite Inferior a 80%":c.sumOverSumBound80(!1,o),"Soma como Fração do Total":c.fractionOf(c.sum(),"total",t),"Soma como Fração da Linha":c.fractionOf(c.sum(),"row",t),"Soma como Fração da Coluna":c.fractionOf(c.sum(),"col",t),"Contagem como Fração do Total":c.fractionOf(c.count(),"total",t),"Contagem como Fração da Linha":c.fractionOf(c.count(),"row",t),"Contagem como Fração da Coluna":c.fractionOf(c.count(),"col",t)},renderers:{Tabela:l.Table,"Tabela com Barras":l["Table Barchart"],"Mapa de Calor":l.Heatmap,"Mapa de Calor por Linhas":l["Row Heatmap"],"Mapa de Calor por Colunas":l["Col Heatmap"]}},s&&(a.pivotUtilities.locales.pt.gchart_renderers={"Gráfico de Linhas":s["Line Chart"],"Gráfico de Barras":s["Bar Chart"],"Gráfico de Barras Empilhadas":s["Stacked Bar Chart"],"Gráfico de Área":s["Area Chart"]}),r&&(a.pivotUtilities.locales.pt.d3_renderers={"Mapa de Árvore":r.Treemap}),e&&(a.pivotUtilities.locales.pt.c3_renderers={"Gráfico de Linhas":e["Line Chart"],"Gráfico de Barras":e["Bar Chart"],"Gráfico de Barras Empilhadas":e["Stacked Bar Chart"],"Gráfico de Área":e["Area Chart"]}),a.pivotUtilities.locales.pt})}).call(this);
//# sourceMappingURL=pivot.pt.min.js.map //# sourceMappingURL=pivot.pt.min.js.map
\ No newline at end of file
{"version":3,"sources":["/source/pivot.pt.coffee","pivot.pt.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","c3r","d3r","frFmt","frFmtInt","frFmtPct","gcr","nf","r","tpl","pivotUtilities","numberFormat","aggregatorTemplates","renderers","gchart_renderers","d3_renderers","c3_renderers","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","pt","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","Contagem","count","Contagem de Valores &uacute;nicos","countUnique","Lista de Valores &uacute;nicos","listUnique","Soma","sum","Soma de Inteiros","Média","average","Mínimo","min","Máximo","max","Soma sobre Soma","sumOverSum","Limite Superior a 80%","sumOverSumBound80","Limite Inferior a 80%","Soma como Fra&ccedil;&atilde;o do Total","fractionOf","Soma como Fra&ccedil;&atilde;o da Linha","Soma como Fra&ccedil;&atilde;o da Coluna","Contagem como Fra&ccedil;&atilde;o do Total","Contagem como Fra&ccedil;&atilde;o da Linha","Contagem como Fra&ccedil;&atilde;o da Coluna","Tabela","Tabela com Barras","Mapa de Calor","Mapa de Calor por Linhas","Mapa de Calor por Colunas","Gr&aacute;fico de Linhas","Gr&aacute;fico de Barras","Gr&aacute;fico de Barras Empilhadas","Gr&aacute;fico de &Aacute;rea","Mapa de Árvore","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAlBC,UAAgD,gBAAjBC,QAC9BF,EAAYG,QAAQ,WACC,kBAAjBC,SAAgCA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CAmEA,OAnEAF,GAAKP,EAAEU,eAAeC,aACtBF,EAAMT,EAAEU,eAAeE,oBACvBJ,EAAIR,EAAEU,eAAeG,UACrBP,EAAMN,EAAEU,eAAeI,iBACvBZ,EAAMF,EAAEU,eAAeK,aACvBd,EAAMD,EAAEU,eAAeM,aAEvBb,EAAWI,GAAGU,aAAc,IAAKC,WAAY,MAC7Cd,EAAWG,GAAGY,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEb,EAAWE,GAAGY,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FlB,EAAEU,eAAeY,QAAQC,IAErBC,eACIC,YAAa,0EACbC,aAAc,wEACdC,cAAe,wEACfC,UAAW,kBACXC,WAAY,oBACZC,QAAS,uBACTC,cAAe,qBACfC,OAAQ,SACRC,GAAI,KACJC,GAAI,OAERC,aACIC,SAAgD3B,EAAI4B,MAAMjC,GAC1DkC,oCAAgD7B,EAAI8B,YAAYnC,GAChEoC,iCAAgD/B,EAAIgC,WAAW,MAC/DC,KAAgDjC,EAAIkC,IAAIxC,GACxDyC,mBAAgDnC,EAAIkC,IAAIvC,GACxDyC,QAAgDpC,EAAIqC,QAAQ3C,GAC5D4C,SAAgDtC,EAAIuC,IAAI7C,GACxD8C,SAAgDxC,EAAIyC,IAAI/C,GACxDgD,kBAAgD1C,EAAI2C,WAAWjD,GAC/DkD,wBAAgD5C,EAAI6C,mBAAkB,EAAMnD,GAC5EoD,wBAAgD9C,EAAI6C,mBAAkB,EAAOnD,GAC7EqD,0CAAgD/C,EAAIgD,WAAWhD,EAAIkC,MAAS,QAAStC,GACrFqD,0CAAgDjD,EAAIgD,WAAWhD,EAAIkC,MAAS,MAAStC,GACrFsD,2CAAgDlD,EAAIgD,WAAWhD,EAAIkC,MAAS,MAAStC,GACrFuD,8CAAgDnD,EAAIgD,WAAWhD,EAAI4B,QAAS,QAAShC,GACrFwD,8CAAgDpD,EAAIgD,WAAWhD,EAAI4B,QAAS,MAAShC,GACrFyD,+CAAgDrD,EAAIgD,WAAWhD,EAAI4B,QAAS,MAAShC,IAEzFQ,WACIkD,OAA6BvD,EAAE,MAC/BwD,oBAA6BxD,EAAE,kBAC/ByD,gBAA6BzD,EAAE,QAC/B0D,2BAA6B1D,EAAE,eAC/B2D,4BAA6B3D,EAAE,iBAEpCF,IACCN,EAAEU,eAAeY,QAAQC,GAAGT,kBACxBsD,2BAAuC9D,EAAI,cAC3C+D,2BAAuC/D,EAAI,aAC3CgE,sCAAuChE,EAAI,qBAC3CiE,gCAAuCjE,EAAI,gBAEhDJ,IACCF,EAAEU,eAAeY,QAAQC,GAAGR,cACxByD,iBAAkBtE,EAAI,UAE3BD,IACDD,EAAEU,eAAeY,QAAQC,GAAGP,cAC1BoD,2BAA4BnE,EAAI,iBAChCoE,2BAA4BpE,EAAI,kBAE7BD,EAAEU,eAAeY,QAAQC,OCsBjCkD,KAAKC","file":"pivot.pt.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n r = $.pivotUtilities.renderers\n gcr = $.pivotUtilities.gchart_renderers\n d3r = $.pivotUtilities.d3_renderers\n c3r = $.pivotUtilities.c3_renderers\n\n frFmt = nf(thousandsSep: \".\", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \".\", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 2, scaler: 100, suffix: \"%\", thousandsSep: \".\", decimalSep: \",\")\n\n $.pivotUtilities.locales.pt = \n\n localeStrings:\n renderError: \"Ocorreu um error ao renderizar os resultados da Tabela Din&atilde;mica.\"\n computeError: \"Ocorreu um error ao computar os resultados da Tabela Din&atilde;mica.\"\n uiRenderError: \"Ocorreu um error ao renderizar a interface da Tabela Din&atilde;mica.\"\n selectAll: \"Selecionar Tudo\"\n selectNone: \"Selecionar Nenhum\"\n tooMany: \"(demais para listar)\"\n filterResults: \"Filtrar resultados\"\n totals: \"Totais\"\n vs: \"vs\"\n by: \"por\"\n\n aggregators:\n \"Contagem\": tpl.count(frFmtInt)\n \"Contagem de Valores &uacute;nicos\": tpl.countUnique(frFmtInt)\n \"Lista de Valores &uacute;nicos\": tpl.listUnique(\", \")\n \"Soma\": tpl.sum(frFmt)\n \"Soma de Inteiros\": tpl.sum(frFmtInt)\n \"Média\": tpl.average(frFmt)\n \"Mínimo\": tpl.min(frFmt)\n \"Máximo\": tpl.max(frFmt)\n \"Soma sobre Soma\": tpl.sumOverSum(frFmt)\n \"Limite Superior a 80%\": tpl.sumOverSumBound80(true, frFmt)\n \"Limite Inferior a 80%\": tpl.sumOverSumBound80(false, frFmt)\n \"Soma como Fra&ccedil;&atilde;o do Total\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Soma como Fra&ccedil;&atilde;o da Linha\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Soma como Fra&ccedil;&atilde;o da Coluna\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Contagem como Fra&ccedil;&atilde;o do Total\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Contagem como Fra&ccedil;&atilde;o da Linha\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Contagem como Fra&ccedil;&atilde;o da Coluna\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabela\": r[\"Table\"]\n \"Tabela com Barras\": r[\"Table Barchart\"]\n \"Mapa de Calor\": r[\"Heatmap\"]\n \"Mapa de Calor por Linhas\": r[\"Row Heatmap\"]\n \"Mapa de Calor por Colunas\": r[\"Col Heatmap\"]\n\n if gcr\n $.pivotUtilities.locales.pt.gchart_renderers =\n \"Gr&aacute;fico de Linhas\": gcr[\"Line Chart\"]\n \"Gr&aacute;fico de Barras\": gcr[\"Bar Chart\"]\n \"Gr&aacute;fico de Barras Empilhadas\": gcr[\"Stacked Bar Chart\"]\n \"Gr&aacute;fico de &Aacute;rea\": gcr[\"Area Chart\"]\n\n if d3r\n $.pivotUtilities.locales.pt.d3_renderers =\n \"Mapa de Árvore\": d3r[\"Treemap\"]\n\n if c3r\n $.pivotUtilities.locales.pt.c3_renderers =\n \"Gr&aacute;fico de Linhas\": c3r[\"Line Chart C3\"]\n \"Gr&aacute;fico de Barras\": c3r[\"Bar Chart C3\"]\n\n return $.pivotUtilities.locales.pt\n","(function(){var e;(e=function(e){return\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"jquery\"],e):e(jQuery)})(function(e){var a,r,o,t,i,c,l,s,n;return l=e.pivotUtilities.numberFormat,n=e.pivotUtilities.aggregatorTemplates,s=e.pivotUtilities.renderers,c=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,a=e.pivotUtilities.c3_renderers,o=l({thousandsSep:\".\",decimalSep:\",\"}),t=l({digitsAfterDecimal:0,thousandsSep:\".\",decimalSep:\",\"}),i=l({digitsAfterDecimal:2,scaler:100,suffix:\"%\",thousandsSep:\".\",decimalSep:\",\"}),e.pivotUtilities.locales.pt={localeStrings:{renderError:\"Ocorreu um error ao renderizar os resultados da Tabela Din&atilde;mica.\",computeError:\"Ocorreu um error ao computar os resultados da Tabela Din&atilde;mica.\",uiRenderError:\"Ocorreu um error ao renderizar a interface da Tabela Din&atilde;mica.\",selectAll:\"Selecionar Tudo\",selectNone:\"Selecionar Nenhum\",tooMany:\"(demais para listar)\",filterResults:\"Filtrar resultados\",totals:\"Totais\",vs:\"vs\",by:\"por\"},aggregators:{Contagem:n.count(t),\"Contagem de Valores &uacute;nicos\":n.countUnique(t),\"Lista de Valores &uacute;nicos\":n.listUnique(\", \"),Soma:n.sum(o),\"Soma de Inteiros\":n.sum(t),\"Média\":n.average(o),\"Mínimo\":n.min(o),\"Máximo\":n.max(o),\"Soma sobre Soma\":n.sumOverSum(o),\"Limite Superior a 80%\":n.sumOverSumBound80(!0,o),\"Limite Inferior a 80%\":n.sumOverSumBound80(!1,o),\"Soma como Fra&ccedil;&atilde;o do Total\":n.fractionOf(n.sum(),\"total\",i),\"Soma como Fra&ccedil;&atilde;o da Linha\":n.fractionOf(n.sum(),\"row\",i),\"Soma como Fra&ccedil;&atilde;o da Coluna\":n.fractionOf(n.sum(),\"col\",i),\"Contagem como Fra&ccedil;&atilde;o do Total\":n.fractionOf(n.count(),\"total\",i),\"Contagem como Fra&ccedil;&atilde;o da Linha\":n.fractionOf(n.count(),\"row\",i),\"Contagem como Fra&ccedil;&atilde;o da Coluna\":n.fractionOf(n.count(),\"col\",i)},renderers:{Tabela:s.Table,\"Tabela com Barras\":s[\"Table Barchart\"],\"Mapa de Calor\":s.Heatmap,\"Mapa de Calor por Linhas\":s[\"Row Heatmap\"],\"Mapa de Calor por Colunas\":s[\"Col Heatmap\"]}},c&&(e.pivotUtilities.locales.pt.gchart_renderers={\"Gr&aacute;fico de Linhas\":c[\"Line Chart\"],\"Gr&aacute;fico de Barras\":c[\"Bar Chart\"],\"Gr&aacute;fico de Barras Empilhadas\":c[\"Stacked Bar Chart\"],\"Gr&aacute;fico de &Aacute;rea\":c[\"Area Chart\"]}),r&&(e.pivotUtilities.locales.pt.d3_renderers={\"Mapa de Árvore\":r.Treemap}),a&&(e.pivotUtilities.locales.pt.c3_renderers={\"Gr&aacute;fico de Linhas\":a[\"Line Chart C3\"],\"Gr&aacute;fico de Barras\":a[\"Bar Chart C3\"]}),e.pivotUtilities.locales.pt})}).call(this);\n//# sourceMappingURL=pivot.pt.min.js.map"],"sourceRoot":"/source/"} {"version":3,"sources":["pivot.pt.coffee","pivot.pt.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","c3r","d3r","frFmt","frFmtInt","frFmtPct","gcr","nf","r","tpl","pivotUtilities","numberFormat","aggregatorTemplates","renderers","gchart_renderers","d3_renderers","c3_renderers","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","pt","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","apply","cancel","vs","by","aggregators","Contagem","count","Contagem de Valores únicos","countUnique","Lista de Valores únicos","listUnique","Soma","sum","Soma de Inteiros","Média","average","Mediana","median","Variancia","Desvio Padrão da Amostra","stdev","Mínimo","min","Máximo","max","Primeiro","first","Último","last","Soma sobre Soma","sumOverSum","Limite Superior a 80%","sumOverSumBound80","Limite Inferior a 80%","Soma como Fração do Total","fractionOf","Soma como Fração da Linha","Soma como Fração da Coluna","Contagem como Fração do Total","Contagem como Fração da Linha","Contagem como Fração da Coluna","Tabela","Tabela com Barras","Mapa de Calor","Mapa de Calor por Linhas","Mapa de Calor por Colunas","Gráfico de Linhas","Gráfico de Barras","Gráfico de Barras Empilhadas","Gráfico de Área","Mapa de Árvore","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CA4EA,OA5EAF,GAAKP,EAAEU,eAAeC,aACtBF,EAAMT,EAAEU,eAAeE,oBACvBJ,EAAIR,EAAEU,eAAeG,UACrBP,EAAMN,EAAEU,eAAeI,iBACvBZ,EAAMF,EAAEU,eAAeK,aACvBd,EAAMD,EAAEU,eAAeM,aAEvBb,EAAWI,GAAGU,aAAc,IAAKC,WAAY,MAC7Cd,EAAWG,GAAGY,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEb,EAAWE,GAAGY,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FlB,EAAEU,eAAeY,QAAQC,IAErBC,eACIC,YAAa,mEACbC,aAAc,iEACdC,cAAe,iEACfC,UAAW,kBACXC,WAAY,oBACZC,QAAS,uBACTC,cAAe,qBACfC,OAAQ,SACRC,MAAM,UACNC,OAAQ,WACRC,GAAI,KACJC,GAAI,OAERC,aACIC,SAAgD7B,EAAI8B,MAAMnC,GAC1DoC,6BAAyC/B,EAAIgC,YAAYrC,GACzDsC,0BAAyCjC,EAAIkC,WAAW,MACxDC,KAAgDnC,EAAIoC,IAAI1C,GACxD2C,mBAAgDrC,EAAIoC,IAAIzC,GACxD2C,QAAgDtC,EAAIuC,QAAQ7C,GAC5D8C,QAAgDxC,EAAIyC,OAAO/C,GAC3DgD,UAAgD1C,EAAG,OAAK,EAAGN,GAC3DiD,2BAAgD3C,EAAI4C,MAAM,EAAGlD,GAC7DmD,SAAgD7C,EAAI8C,IAAIpD,GACxDqD,SAAgD/C,EAAIgD,IAAItD,GACxDuD,SAAgDjD,EAAIkD,MAAMxD,GAC1DyD,SAAgDnD,EAAIoD,KAAK1D,GACzD2D,kBAAgDrD,EAAIsD,WAAW5D,GAC/D6D,wBAAgDvD,EAAIwD,mBAAkB,EAAM9D,GAC5E+D,wBAAgDzD,EAAIwD,mBAAkB,EAAO9D,GAC7EgE,4BAAkC1D,EAAI2D,WAAW3D,EAAIoC,MAAS,QAASxC,GACvEgE,4BAAkC5D,EAAI2D,WAAW3D,EAAIoC,MAAS,MAASxC,GACvEiE,6BAAkC7D,EAAI2D,WAAW3D,EAAIoC,MAAS,MAASxC,GACvEkE,gCAAkC9D,EAAI2D,WAAW3D,EAAI8B,QAAS,QAASlC,GACvEmE,gCAAkC/D,EAAI2D,WAAW3D,EAAI8B,QAAS,MAASlC,GACvEoE,iCAAkChE,EAAI2D,WAAW3D,EAAI8B,QAAS,MAASlC,IAE3EQ,WACI6D,OAA6BlE,EAAE,MAC/BmE,oBAA6BnE,EAAE,kBAC/BoE,gBAA6BpE,EAAE,QAC/BqE,2BAA6BrE,EAAE,eAC/BsE,4BAA6BtE,EAAE,iBAEpCF,IACCN,EAAEU,eAAeY,QAAQC,GAAGT,kBACxBiE,oBAAgCzE,EAAI,cACpC0E,oBAAgC1E,EAAI,aACpC2E,+BAAgC3E,EAAI,qBACpC4E,kBAAyB5E,EAAI,gBAElCJ,IACCF,EAAEU,eAAeY,QAAQC,GAAGR,cACxBoE,iBAAkBjF,EAAI,UAE3BD,IACDD,EAAEU,eAAeY,QAAQC,GAAGP,cAC1B+D,oBAAqB9E,EAAI,cACzB+E,oBAAqB/E,EAAI,aACzBgF,+BAAgChF,EAAI,qBACpCiF,kBAAyBjF,EAAI,gBAE1BD,EAAEU,eAAeY,QAAQC,OCsBjC6D,KAAKC","file":"pivot.pt.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n r = $.pivotUtilities.renderers\n gcr = $.pivotUtilities.gchart_renderers\n d3r = $.pivotUtilities.d3_renderers\n c3r = $.pivotUtilities.c3_renderers\n\n frFmt = nf(thousandsSep: \".\", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \".\", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 2, scaler: 100, suffix: \"%\", thousandsSep: \".\", decimalSep: \",\")\n\n $.pivotUtilities.locales.pt = \n\n localeStrings:\n renderError: \"Ocorreu um error ao renderizar os resultados da Tabela Dinâmica.\"\n computeError: \"Ocorreu um error ao computar os resultados da Tabela Dinâmica.\"\n uiRenderError: \"Ocorreu um error ao renderizar a interface da Tabela Dinâmica.\"\n selectAll: \"Selecionar Tudo\"\n selectNone: \"Selecionar Nenhum\"\n tooMany: \"(demais para listar)\"\n filterResults: \"Filtrar resultados\"\n totals: \"Totais\"\n apply:\"Aplicar\",\n cancel: \"Cancelar\",\n vs: \"vs\"\n by: \"por\"\n\n aggregators:\n \"Contagem\": tpl.count(frFmtInt)\n \"Contagem de Valores únicos\": tpl.countUnique(frFmtInt)\n \"Lista de Valores únicos\": tpl.listUnique(\", \")\n \"Soma\": tpl.sum(frFmt)\n \"Soma de Inteiros\": tpl.sum(frFmtInt)\n \"Média\": tpl.average(frFmt)\n \"Mediana\": tpl.median(frFmt)\n \"Variancia\": tpl.var(1, frFmt)\n \"Desvio Padrão da Amostra\": tpl.stdev(1, frFmt)\n \"Mínimo\": tpl.min(frFmt)\n \"Máximo\": tpl.max(frFmt)\n \"Primeiro\": tpl.first(frFmt),\n \"Último\": tpl.last(frFmt),\n \"Soma sobre Soma\": tpl.sumOverSum(frFmt)\n \"Limite Superior a 80%\": tpl.sumOverSumBound80(true, frFmt)\n \"Limite Inferior a 80%\": tpl.sumOverSumBound80(false, frFmt)\n \"Soma como Fração do Total\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Soma como Fração da Linha\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Soma como Fração da Coluna\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Contagem como Fração do Total\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Contagem como Fração da Linha\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Contagem como Fração da Coluna\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabela\": r[\"Table\"]\n \"Tabela com Barras\": r[\"Table Barchart\"]\n \"Mapa de Calor\": r[\"Heatmap\"]\n \"Mapa de Calor por Linhas\": r[\"Row Heatmap\"]\n \"Mapa de Calor por Colunas\": r[\"Col Heatmap\"]\n\n if gcr\n $.pivotUtilities.locales.pt.gchart_renderers =\n \"Gráfico de Linhas\": gcr[\"Line Chart\"]\n \"Gráfico de Barras\": gcr[\"Bar Chart\"]\n \"Gráfico de Barras Empilhadas\": gcr[\"Stacked Bar Chart\"]\n \"Gráfico de Área\": gcr[\"Area Chart\"]\n\n if d3r\n $.pivotUtilities.locales.pt.d3_renderers =\n \"Mapa de Árvore\": d3r[\"Treemap\"]\n\n if c3r\n $.pivotUtilities.locales.pt.c3_renderers =\n \"Gráfico de Linhas\": c3r[\"Line Chart\"]\n \"Gráfico de Barras\": c3r[\"Bar Chart\"]\n \"Gráfico de Barras Empilhadas\": c3r[\"Stacked Bar Chart\"]\n \"Gráfico de Área\": c3r[\"Area Chart\"]\n\n return $.pivotUtilities.locales.pt\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var c3r, d3r, frFmt, frFmtInt, frFmtPct, gcr, nf, r, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n r = $.pivotUtilities.renderers;\n gcr = $.pivotUtilities.gchart_renderers;\n d3r = $.pivotUtilities.d3_renderers;\n c3r = $.pivotUtilities.c3_renderers;\n frFmt = nf({\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 2,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n $.pivotUtilities.locales.pt = {\n localeStrings: {\n renderError: \"Ocorreu um error ao renderizar os resultados da Tabela Dinâmica.\",\n computeError: \"Ocorreu um error ao computar os resultados da Tabela Dinâmica.\",\n uiRenderError: \"Ocorreu um error ao renderizar a interface da Tabela Dinâmica.\",\n selectAll: \"Selecionar Tudo\",\n selectNone: \"Selecionar Nenhum\",\n tooMany: \"(demais para listar)\",\n filterResults: \"Filtrar resultados\",\n totals: \"Totais\",\n apply: \"Aplicar\",\n cancel: \"Cancelar\",\n vs: \"vs\",\n by: \"por\"\n },\n aggregators: {\n \"Contagem\": tpl.count(frFmtInt),\n \"Contagem de Valores únicos\": tpl.countUnique(frFmtInt),\n \"Lista de Valores únicos\": tpl.listUnique(\", \"),\n \"Soma\": tpl.sum(frFmt),\n \"Soma de Inteiros\": tpl.sum(frFmtInt),\n \"Média\": tpl.average(frFmt),\n \"Mediana\": tpl.median(frFmt),\n \"Variancia\": tpl[\"var\"](1, frFmt),\n \"Desvio Padrão da Amostra\": tpl.stdev(1, frFmt),\n \"Mínimo\": tpl.min(frFmt),\n \"Máximo\": tpl.max(frFmt),\n \"Primeiro\": tpl.first(frFmt),\n \"Último\": tpl.last(frFmt),\n \"Soma sobre Soma\": tpl.sumOverSum(frFmt),\n \"Limite Superior a 80%\": tpl.sumOverSumBound80(true, frFmt),\n \"Limite Inferior a 80%\": tpl.sumOverSumBound80(false, frFmt),\n \"Soma como Fração do Total\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Soma como Fração da Linha\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Soma como Fração da Coluna\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Contagem como Fração do Total\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Contagem como Fração da Linha\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Contagem como Fração da Coluna\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Tabela\": r[\"Table\"],\n \"Tabela com Barras\": r[\"Table Barchart\"],\n \"Mapa de Calor\": r[\"Heatmap\"],\n \"Mapa de Calor por Linhas\": r[\"Row Heatmap\"],\n \"Mapa de Calor por Colunas\": r[\"Col Heatmap\"]\n }\n };\n if (gcr) {\n $.pivotUtilities.locales.pt.gchart_renderers = {\n \"Gráfico de Linhas\": gcr[\"Line Chart\"],\n \"Gráfico de Barras\": gcr[\"Bar Chart\"],\n \"Gráfico de Barras Empilhadas\": gcr[\"Stacked Bar Chart\"],\n \"Gráfico de Área\": gcr[\"Area Chart\"]\n };\n }\n if (d3r) {\n $.pivotUtilities.locales.pt.d3_renderers = {\n \"Mapa de Árvore\": d3r[\"Treemap\"]\n };\n }\n if (c3r) {\n $.pivotUtilities.locales.pt.c3_renderers = {\n \"Gráfico de Linhas\": c3r[\"Line Chart\"],\n \"Gráfico de Barras\": c3r[\"Bar Chart\"],\n \"Gráfico de Barras Empilhadas\": c3r[\"Stacked Bar Chart\"],\n \"Gráfico de Área\": c3r[\"Area Chart\"]\n };\n }\n return $.pivotUtilities.locales.pt;\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.pt.js.map\n"]}
\ No newline at end of file \ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var frFmt, frFmtInt, frFmtPct, nf, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
frFmt = nf({
thousandsSep: " ",
decimalSep: ","
});
frFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: " ",
decimalSep: ","
});
frFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: " ",
decimalSep: ","
});
return $.pivotUtilities.locales.ru = {
localeStrings: {
renderError: "Ошибка рендеринга страницы.",
computeError: "Ошибка табличных расчетов.",
uiRenderError: "Ошибка во время прорисовки и динамического расчета таблицы.",
selectAll: "Выбрать все",
selectNone: "Снять выделение",
tooMany: "(Выбрано слишком много значений)",
filterResults: "Возможные значения",
totals: "Всего",
vs: "на",
by: "с"
},
aggregators: {
"Кол-во": tpl.count(frFmtInt),
"Кол-во уникальных": tpl.countUnique(frFmtInt),
"Список уникальных": tpl.listUnique(", "),
"Сумма": tpl.sum(frFmt),
"Сумма целых": tpl.sum(frFmtInt),
"Среднее": tpl.average(frFmt),
"Минимум": tpl.min(frFmt),
"Максимум": tpl.max(frFmt),
"Сумма по сумме": tpl.sumOverSum(frFmt),
"80% верхней границы": tpl.sumOverSumBound80(true, frFmt),
"80% нижней границы": tpl.sumOverSumBound80(false, frFmt),
"Доля по всему": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Доля по строке": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"Доля по столбцу": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"Кол-во по всему": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"Кол-во по строке": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"Кол-во по столбцу": tpl.fractionOf(tpl.count(), "col", frFmtPct)
},
renderers: {
"Таблица": $.pivotUtilities.renderers["Table"],
"График столбцы": $.pivotUtilities.renderers["Table Barchart"],
"Тепловая карта": $.pivotUtilities.renderers["Heatmap"],
"Тепловая карта по строке": $.pivotUtilities.renderers["Row Heatmap"],
"Тепловая карта по столбцу": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.ru.js.map
{"version":3,"file":"pivot.ru.js","sources":["pivot.ru.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.ru = \n localeStrings:\n renderError: \"Ошибка рендеринга страницы.\",\n computeError: \"Ошибка табличных расчетов.\",\n uiRenderError: \"Ошибка во время прорисовки и динамического расчета таблицы.\",\n selectAll: \"Выбрать все\",\n selectNone: \"Снять выделение\",\n tooMany: \"(Выбрано слишком много значений)\",\n filterResults: \"Возможные значения\",\n totals: \"Всего\",\n vs: \"на\",\n by: \"с\"\n\n aggregators: \n \"Кол-во\": tpl.count(frFmtInt),\n \"Кол-во уникальных\": tpl.countUnique(frFmtInt),\n \"Список уникальных\": tpl.listUnique(\", \"),\n \"Сумма\": tpl.sum(frFmt),\n \"Сумма целых\": tpl.sum(frFmtInt),\n \"Среднее\": tpl.average(frFmt),\n \"Минимум\": tpl.min(frFmt),\n \"Максимум\": tpl.max(frFmt),\n \"Сумма по сумме\": tpl.sumOverSum(frFmt),\n \"80% верхней границы\": tpl.sumOverSumBound80(true, frFmt),\n \"80% нижней границы\": tpl.sumOverSumBound80(false, frFmt),\n \"Доля по всему\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Доля по строке\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Доля по столбцу\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Кол-во по всему\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Кол-во по строке\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Кол-во по столбцу\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Таблица\": $.pivotUtilities.renderers[\"Table\"]\n \"График столбцы\": $.pivotUtilities.renderers[\"Table Barchart\"] # TODO придумать более понятный вариант\n \"Тепловая карта\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Тепловая карта по строке\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Тепловая карта по столбцу\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.ru.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.ru.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var t,r,i,o,s;return o=e.pivotUtilities.numberFormat,s=e.pivotUtilities.aggregatorTemplates,t=o({thousandsSep:" ",decimalSep:","}),r=o({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),i=o({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.ru={localeStrings:{renderError:"Ошибка рендеринга страницы.",computeError:"Ошибка табличных расчетов.",uiRenderError:"Ошибка во время прорисовки и динамического расчета таблицы.",selectAll:"Выбрать все",selectNone:"Снять выделение",tooMany:"(Выбрано слишком много значений)",filterResults:"Возможные значения",totals:"Всего",vs:"на",by:"с"},aggregators:{"Кол-во":s.count(r),"Кол-во уникальных":s.countUnique(r),"Список уникальных":s.listUnique(", "),"Сумма":s.sum(t),"Сумма целых":s.sum(r),"Среднее":s.average(t),"Минимум":s.min(t),"Максимум":s.max(t),"Сумма по сумме":s.sumOverSum(t),"80% верхней границы":s.sumOverSumBound80(!0,t),"80% нижней границы":s.sumOverSumBound80(!1,t),"Доля по всему":s.fractionOf(s.sum(),"total",i),"Доля по строке":s.fractionOf(s.sum(),"row",i),"Доля по столбцу":s.fractionOf(s.sum(),"col",i),"Кол-во по всему":s.fractionOf(s.count(),"total",i),"Кол-во по строке":s.fractionOf(s.count(),"row",i),"Кол-во по столбцу":s.fractionOf(s.count(),"col",i)},renderers:{"Таблица":e.pivotUtilities.renderers.Table,"График столбцы":e.pivotUtilities.renderers["Table Barchart"],"Тепловая карта":e.pivotUtilities.renderers.Heatmap,"Тепловая карта по строке":e.pivotUtilities.renderers["Row Heatmap"],"Тепловая карта по столбцу":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.ru.min.js.map
{"version":3,"sources":["pivot.ru.coffee","pivot.ru.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","frFmt","frFmtInt","frFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","ru","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","Кол-во","count","Кол-во уникальных","countUnique","Список уникальных","listUnique","Сумма","sum","Сумма целых","Среднее","average","Минимум","min","Максимум","max","Сумма по сумме","sumOverSum","80% верхней границы","sumOverSumBound80","80% нижней границы","Доля по всему","fractionOf","Доля по строке","Доля по столбцу","Кол-во по всему","Кол-во по строке","Кол-во по столбцу","renderers","Таблица","График столбцы","Тепловая карта","Тепловая карта по строке","Тепловая карта по столбцу","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,8BACbC,aAAc,6BACdC,cAAe,8DACfC,UAAW,cACXC,WAAY,kBACZC,QAAS,mCACTC,cAAe,qBACfC,OAAQ,QACRC,GAAI,KACJC,GAAI,KAERC,aACIC,SAAUvB,EAAIwB,MAAM3B,GACpB4B,oBAAqBzB,EAAI0B,YAAY7B,GACrC8B,oBAAqB3B,EAAI4B,WAAW,MACpCC,QAAS7B,EAAI8B,IAAIlC,GACjBmC,cAAe/B,EAAI8B,IAAIjC,GACvBmC,UAAWhC,EAAIiC,QAAQrC,GACvBsC,UAAWlC,EAAImC,IAAIvC,GACnBwC,WAAYpC,EAAIqC,IAAIzC,GACpB0C,iBAAkBtC,EAAIuC,WAAW3C,GACjC4C,sBAAuBxC,EAAIyC,mBAAkB,EAAM7C,GACnD8C,qBAAsB1C,EAAIyC,mBAAkB,EAAO7C,GACnD+C,gBAAiB3C,EAAI4C,WAAW5C,EAAI8B,MAAO,QAAShC,GACpD+C,iBAAkB7C,EAAI4C,WAAW5C,EAAI8B,MAAO,MAAOhC,GACnDgD,kBAAmB9C,EAAI4C,WAAW5C,EAAI8B,MAAO,MAAOhC,GACpDiD,kBAAmB/C,EAAI4C,WAAW5C,EAAIwB,QAAS,QAAS1B,GACxDkD,mBAAoBhD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAO1B,GACvDmD,oBAAqBjD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAO1B,IAE5DoD,WACIC,UAAWxD,EAAEM,eAAeiD,UAAU,MACtCE,iBAAkBzD,EAAEM,eAAeiD,UAAU,kBAC7CG,iBAAkB1D,EAAEM,eAAeiD,UAAU,QAC7CI,2BAA4B3D,EAAEM,eAAeiD,UAAU,eACvDK,4BAA6B5D,EAAEM,eAAeiD,UAAU,qBCqBjEM,KAAKC","file":"pivot.ru.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.ru = \n localeStrings:\n renderError: \"Ошибка рендеринга страницы.\",\n computeError: \"Ошибка табличных расчетов.\",\n uiRenderError: \"Ошибка во время прорисовки и динамического расчета таблицы.\",\n selectAll: \"Выбрать все\",\n selectNone: \"Снять выделение\",\n tooMany: \"(Выбрано слишком много значений)\",\n filterResults: \"Возможные значения\",\n totals: \"Всего\",\n vs: \"на\",\n by: \"с\"\n\n aggregators: \n \"Кол-во\": tpl.count(frFmtInt),\n \"Кол-во уникальных\": tpl.countUnique(frFmtInt),\n \"Список уникальных\": tpl.listUnique(\", \"),\n \"Сумма\": tpl.sum(frFmt),\n \"Сумма целых\": tpl.sum(frFmtInt),\n \"Среднее\": tpl.average(frFmt),\n \"Минимум\": tpl.min(frFmt),\n \"Максимум\": tpl.max(frFmt),\n \"Сумма по сумме\": tpl.sumOverSum(frFmt),\n \"80% верхней границы\": tpl.sumOverSumBound80(true, frFmt),\n \"80% нижней границы\": tpl.sumOverSumBound80(false, frFmt),\n \"Доля по всему\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Доля по строке\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Доля по столбцу\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Кол-во по всему\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Кол-во по строке\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Кол-во по столбцу\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Таблица\": $.pivotUtilities.renderers[\"Table\"]\n \"График столбцы\": $.pivotUtilities.renderers[\"Table Barchart\"] # TODO придумать более понятный вариант\n \"Тепловая карта\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Тепловая карта по строке\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Тепловая карта по столбцу\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var frFmt, frFmtInt, frFmtPct, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n frFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.ru = {\n localeStrings: {\n renderError: \"Ошибка рендеринга страницы.\",\n computeError: \"Ошибка табличных расчетов.\",\n uiRenderError: \"Ошибка во время прорисовки и динамического расчета таблицы.\",\n selectAll: \"Выбрать все\",\n selectNone: \"Снять выделение\",\n tooMany: \"(Выбрано слишком много значений)\",\n filterResults: \"Возможные значения\",\n totals: \"Всего\",\n vs: \"на\",\n by: \"с\"\n },\n aggregators: {\n \"Кол-во\": tpl.count(frFmtInt),\n \"Кол-во уникальных\": tpl.countUnique(frFmtInt),\n \"Список уникальных\": tpl.listUnique(\", \"),\n \"Сумма\": tpl.sum(frFmt),\n \"Сумма целых\": tpl.sum(frFmtInt),\n \"Среднее\": tpl.average(frFmt),\n \"Минимум\": tpl.min(frFmt),\n \"Максимум\": tpl.max(frFmt),\n \"Сумма по сумме\": tpl.sumOverSum(frFmt),\n \"80% верхней границы\": tpl.sumOverSumBound80(true, frFmt),\n \"80% нижней границы\": tpl.sumOverSumBound80(false, frFmt),\n \"Доля по всему\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Доля по строке\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Доля по столбцу\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Кол-во по всему\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Кол-во по строке\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Кол-во по столбцу\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Таблица\": $.pivotUtilities.renderers[\"Table\"],\n \"График столбцы\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Тепловая карта\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Тепловая карта по строке\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Тепловая карта по столбцу\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.ru.js.map\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.ru.min.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.ru.min.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var frFmt, frFmtInt, frFmtPct, nf, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
frFmt = nf({
thousandsSep: " ",
decimalSep: ","
});
frFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: " ",
decimalSep: ","
});
frFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: " ",
decimalSep: ","
});
return $.pivotUtilities.locales.sq = {
localeStrings: {
renderError: "Ka ndodhur një gabim gjatë shfaqjes së rezultateve të PivotTable.",
computeError: "Ka ndodhur një gabim gjatë llogaritjes së rezultateve të PivotTable.",
uiRenderError: "Ka ndodhur një gabim gjatë shfaqjes së ndërfaqes së PivotTable.",
selectAll: "Përzgjedh të gjitha",
selectNone: "Mos përzgjedh asnjërën",
tooMany: "(shumë për t'u listuar)",
filterResults: "Filtro vlerat",
totals: "Totalet",
vs: "kundër",
by: "për"
},
aggregators: {
"Numëro": tpl.count(frFmtInt),
"Numëro vlerat unike": tpl.countUnique(frFmtInt),
"Listo vlerat unike": tpl.listUnique(", "),
"Shuma": tpl.sum(frFmt),
"Shuma si numër i plotë": tpl.sum(frFmtInt),
"Mesatarja": tpl.average(frFmt),
"Minimumi": tpl.min(frFmt),
"Maksimumi": tpl.max(frFmt),
"Shuma mbi shumë": tpl.sumOverSum(frFmt),
"80% kufiri i sipërm": tpl.sumOverSumBound80(true, frFmt),
"80% kufiri i poshtëm": tpl.sumOverSumBound80(false, frFmt),
"Shuma si thyesë e totalit": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Shuma si thyesë e rreshtave": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"Shuma si thyesë e kolonave": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"Numërimi si thyesë e totalit": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"Numërimi si thyesë e rreshtave": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"Numërimi si thyesë e kolonave": tpl.fractionOf(tpl.count(), "col", frFmtPct)
},
renderers: {
"Tabela": $.pivotUtilities.renderers["Table"],
"Tabela me diagram vertikal": $.pivotUtilities.renderers["Table Barchart"],
"Heatmap": $.pivotUtilities.renderers["Heatmap"],
"Heatmap për rresht": $.pivotUtilities.renderers["Row Heatmap"],
"Heatmap për kolonë": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.sq.js.map
{"version":3,"file":"pivot.sq.js","sources":["pivot.sq.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.sq = \n localeStrings:\n renderError: \"Ka ndodhur një gabim gjatë shfaqjes së rezultateve të PivotTable.\"\n computeError: \"Ka ndodhur një gabim gjatë llogaritjes së rezultateve të PivotTable.\"\n uiRenderError: \"Ka ndodhur një gabim gjatë shfaqjes së ndërfaqes së PivotTable.\"\n selectAll: \"Përzgjedh të gjitha\"\n selectNone: \"Mos përzgjedh asnjërën\"\n tooMany: \"(shumë për t'u listuar)\"\n filterResults: \"Filtro vlerat\"\n totals: \"Totalet\"\n vs: \"kundër\"\n by: \"për\"\n\n aggregators: \n \"Numëro\": tpl.count(frFmtInt)\n \"Numëro vlerat unike\": tpl.countUnique(frFmtInt)\n \"Listo vlerat unike\": tpl.listUnique(\", \")\n \"Shuma\": tpl.sum(frFmt)\n \"Shuma si numër i plotë\":\t\t\ttpl.sum(frFmtInt)\n \"Mesatarja\": tpl.average(frFmt)\n \"Minimumi\": tpl.min(frFmt)\n \"Maksimumi\": tpl.max(frFmt)\n \"Shuma mbi shumë\": tpl.sumOverSum(frFmt)\n \"80% kufiri i sipërm\": tpl.sumOverSumBound80(true, frFmt)\n \"80% kufiri i poshtëm\": \t\ttpl.sumOverSumBound80(false, frFmt)\n \"Shuma si thyesë e totalit\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Shuma si thyesë e rreshtave\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Shuma si thyesë e kolonave\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Numërimi si thyesë e totalit\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Numërimi si thyesë e rreshtave\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Numërimi si thyesë e kolonave\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n \n renderers:\n \"Tabela\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabela me diagram vertikal\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Heatmap për rresht\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Heatmap për kolonë\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.sq.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.sq.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var t,i,r,a,s;return a=e.pivotUtilities.numberFormat,s=e.pivotUtilities.aggregatorTemplates,t=a({thousandsSep:" ",decimalSep:","}),i=a({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),r=a({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.sq={localeStrings:{renderError:"Ka ndodhur një gabim gjatë shfaqjes së rezultateve të PivotTable.",computeError:"Ka ndodhur një gabim gjatë llogaritjes së rezultateve të PivotTable.",uiRenderError:"Ka ndodhur një gabim gjatë shfaqjes së ndërfaqes së PivotTable.",selectAll:"Përzgjedh të gjitha",selectNone:"Mos përzgjedh asnjërën",tooMany:"(shumë për t'u listuar)",filterResults:"Filtro vlerat",totals:"Totalet",vs:"kundër",by:"për"},aggregators:{"Numëro":s.count(i),"Numëro vlerat unike":s.countUnique(i),"Listo vlerat unike":s.listUnique(", "),Shuma:s.sum(t),"Shuma si numër i plotë":s.sum(i),Mesatarja:s.average(t),Minimumi:s.min(t),Maksimumi:s.max(t),"Shuma mbi shumë":s.sumOverSum(t),"80% kufiri i sipërm":s.sumOverSumBound80(!0,t),"80% kufiri i poshtëm":s.sumOverSumBound80(!1,t),"Shuma si thyesë e totalit":s.fractionOf(s.sum(),"total",r),"Shuma si thyesë e rreshtave":s.fractionOf(s.sum(),"row",r),"Shuma si thyesë e kolonave":s.fractionOf(s.sum(),"col",r),"Numërimi si thyesë e totalit":s.fractionOf(s.count(),"total",r),"Numërimi si thyesë e rreshtave":s.fractionOf(s.count(),"row",r),"Numërimi si thyesë e kolonave":s.fractionOf(s.count(),"col",r)},renderers:{Tabela:e.pivotUtilities.renderers.Table,"Tabela me diagram vertikal":e.pivotUtilities.renderers["Table Barchart"],Heatmap:e.pivotUtilities.renderers.Heatmap,"Heatmap për rresht":e.pivotUtilities.renderers["Row Heatmap"],"Heatmap për kolonë":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.sq.min.js.map
{"version":3,"sources":["pivot.sq.coffee","pivot.sq.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","frFmt","frFmtInt","frFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","sq","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","Numëro","count","Numëro vlerat unike","countUnique","Listo vlerat unike","listUnique","Shuma","sum","Shuma si numër i plotë","Mesatarja","average","Minimumi","min","Maksimumi","max","Shuma mbi shumë","sumOverSum","80% kufiri i sipërm","sumOverSumBound80","80% kufiri i poshtëm","Shuma si thyesë e totalit","fractionOf","Shuma si thyesë e rreshtave","Shuma si thyesë e kolonave","Numërimi si thyesë e totalit","Numërimi si thyesë e rreshtave","Numërimi si thyesë e kolonave","renderers","Tabela","Tabela me diagram vertikal","Heatmap","Heatmap për rresht","Heatmap për kolonë","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,oEACbC,aAAc,uEACdC,cAAe,kEACfC,UAAW,sBACXC,WAAY,yBACZC,QAAS,0BACTC,cAAe,gBACfC,OAAQ,UACRC,GAAI,SACJC,GAAI,OAERC,aACIC,SAAgCvB,EAAIwB,MAAM3B,GAC1C4B,sBAA2BzB,EAAI0B,YAAY7B,GAC3C8B,qBAA2B3B,EAAI4B,WAAW,MAC1CC,MAAgC7B,EAAI8B,IAAIlC,GACxCmC,yBAA4B/B,EAAI8B,IAAIjC,GACpCmC,UAA6BhC,EAAIiC,QAAQrC,GACzCsC,SAAiClC,EAAImC,IAAIvC,GACzCwC,UAAkCpC,EAAIqC,IAAIzC,GAC1C0C,kBAA+BtC,EAAIuC,WAAW3C,GAC9C4C,sBAAqCxC,EAAIyC,mBAAkB,EAAM7C,GACjE8C,uBAAiC1C,EAAIyC,mBAAkB,EAAO7C,GAC9D+C,4BAA8B3C,EAAI4C,WAAW5C,EAAI8B,MAAS,QAAShC,GACnE+C,8BAAiC7C,EAAI4C,WAAW5C,EAAI8B,MAAS,MAAShC,GACtEgD,6BAA+B9C,EAAI4C,WAAW5C,EAAI8B,MAAS,MAAShC,GACpEiD,+BAAgC/C,EAAI4C,WAAW5C,EAAIwB,QAAS,QAAS1B,GACrEkD,iCAAmChD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAS1B,GACxEmD,gCAAiCjD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAS1B,IAE1EoD,WACIC,OAA+BxD,EAAEM,eAAeiD,UAAU,MAC1DE,6BAAgCzD,EAAEM,eAAeiD,UAAU,kBAC3DG,QAAgC1D,EAAEM,eAAeiD,UAAU,QAC3DI,qBAAiC3D,EAAEM,eAAeiD,UAAU,eAC5DK,qBAAgC5D,EAAEM,eAAeiD,UAAU,qBCqBpEM,KAAKC","file":"pivot.sq.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.sq = \n localeStrings:\n renderError: \"Ka ndodhur një gabim gjatë shfaqjes së rezultateve të PivotTable.\"\n computeError: \"Ka ndodhur një gabim gjatë llogaritjes së rezultateve të PivotTable.\"\n uiRenderError: \"Ka ndodhur një gabim gjatë shfaqjes së ndërfaqes së PivotTable.\"\n selectAll: \"Përzgjedh të gjitha\"\n selectNone: \"Mos përzgjedh asnjërën\"\n tooMany: \"(shumë për t'u listuar)\"\n filterResults: \"Filtro vlerat\"\n totals: \"Totalet\"\n vs: \"kundër\"\n by: \"për\"\n\n aggregators: \n \"Numëro\": tpl.count(frFmtInt)\n \"Numëro vlerat unike\": tpl.countUnique(frFmtInt)\n \"Listo vlerat unike\": tpl.listUnique(\", \")\n \"Shuma\": tpl.sum(frFmt)\n \"Shuma si numër i plotë\":\t\t\ttpl.sum(frFmtInt)\n \"Mesatarja\": tpl.average(frFmt)\n \"Minimumi\": tpl.min(frFmt)\n \"Maksimumi\": tpl.max(frFmt)\n \"Shuma mbi shumë\": tpl.sumOverSum(frFmt)\n \"80% kufiri i sipërm\": tpl.sumOverSumBound80(true, frFmt)\n \"80% kufiri i poshtëm\": \t\ttpl.sumOverSumBound80(false, frFmt)\n \"Shuma si thyesë e totalit\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Shuma si thyesë e rreshtave\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Shuma si thyesë e kolonave\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Numërimi si thyesë e totalit\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Numërimi si thyesë e rreshtave\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Numërimi si thyesë e kolonave\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n \n renderers:\n \"Tabela\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabela me diagram vertikal\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Heatmap për rresht\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Heatmap për kolonë\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var frFmt, frFmtInt, frFmtPct, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n frFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.sq = {\n localeStrings: {\n renderError: \"Ka ndodhur një gabim gjatë shfaqjes së rezultateve të PivotTable.\",\n computeError: \"Ka ndodhur një gabim gjatë llogaritjes së rezultateve të PivotTable.\",\n uiRenderError: \"Ka ndodhur një gabim gjatë shfaqjes së ndërfaqes së PivotTable.\",\n selectAll: \"Përzgjedh të gjitha\",\n selectNone: \"Mos përzgjedh asnjërën\",\n tooMany: \"(shumë për t'u listuar)\",\n filterResults: \"Filtro vlerat\",\n totals: \"Totalet\",\n vs: \"kundër\",\n by: \"për\"\n },\n aggregators: {\n \"Numëro\": tpl.count(frFmtInt),\n \"Numëro vlerat unike\": tpl.countUnique(frFmtInt),\n \"Listo vlerat unike\": tpl.listUnique(\", \"),\n \"Shuma\": tpl.sum(frFmt),\n \"Shuma si numër i plotë\": tpl.sum(frFmtInt),\n \"Mesatarja\": tpl.average(frFmt),\n \"Minimumi\": tpl.min(frFmt),\n \"Maksimumi\": tpl.max(frFmt),\n \"Shuma mbi shumë\": tpl.sumOverSum(frFmt),\n \"80% kufiri i sipërm\": tpl.sumOverSumBound80(true, frFmt),\n \"80% kufiri i poshtëm\": tpl.sumOverSumBound80(false, frFmt),\n \"Shuma si thyesë e totalit\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Shuma si thyesë e rreshtave\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Shuma si thyesë e kolonave\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Numërimi si thyesë e totalit\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Numërimi si thyesë e rreshtave\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Numërimi si thyesë e kolonave\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Tabela\": $.pivotUtilities.renderers[\"Table\"],\n \"Tabela me diagram vertikal\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Heatmap për rresht\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Heatmap për kolonë\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.sq.js.map\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.sq.min.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.sq.min.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -37,61 +37,63 @@ ...@@ -37,61 +37,63 @@
}); });
$.pivotUtilities.locales.tr = { $.pivotUtilities.locales.tr = {
localeStrings: { localeStrings: {
renderError: "PivotTable sonu&ccedil;lar&#305;n&#305; olu&#351;tuturken hata olu&#351;tu", renderError: "PivotTable sonuçlarını oluştuturken hata oluştu",
computeError: "PivotTable sonu&ccedil;lar&#305;n&#305; i&#351;lerken hata olu&#351;tu", computeError: "PivotTable sonuçlarını işlerken hata oluştu",
uiRenderError: "PivotTable UI sonu&ccedil;lar&#305;n&#305; olu&#351;tuturken hata olu&#351;tu", uiRenderError: "PivotTable UI sonuçlarını oluştuturken hata oluştu",
selectAll: "T&uuml;m&uuml;n&uuml; Se&ccedil;", selectAll: "Tümünü Seç",
selectNone: "T&uuml;m&uuml;n&uuml; B&#305;rak", selectNone: "Tümünü Bırak",
tooMany: "(listelemek i&ccedil;in fazla)", tooMany: "(listelemek için fazla)",
filterResults: "Sonu&ccedil;lar&#305; filtrele", filterResults: "Sonuçları filtrele",
totals: "Toplam", totals: "Toplam",
vs: "vs", vs: "vs",
by: "ile" by: "ile"
}, },
aggregators: { aggregators: {
"Say&#305;": tpl.count(frFmtInt), "Sayı": tpl.count(frFmtInt),
"Benzersiz de&#287;erler say&#305;s&#305;": tpl.countUnique(frFmtInt), "Benzersiz değerler sayısı": tpl.countUnique(frFmtInt),
"Benzersiz de&#287;erler listesi": tpl.listUnique(", "), "Benzersiz değerler listesi": tpl.listUnique(", "),
"Toplam": tpl.sum(frFmt), "Toplam": tpl.sum(frFmt),
"Toplam (tam say&#305;)": tpl.sum(frFmtInt), "Toplam (tam sayı)": tpl.sum(frFmtInt),
"Ortalama": tpl.average(frFmt), "Ortalama": tpl.average(frFmt),
"Min": tpl.min(frFmt), "Min": tpl.min(frFmt),
"Maks": tpl.max(frFmt), "Maks": tpl.max(frFmt),
"Miktarlar&#305;n toplam&#305;": tpl.sumOverSum(frFmt), "Miktarların toplamı": tpl.sumOverSum(frFmt),
"%80 daha y&uuml;ksek": tpl.sumOverSumBound80(true, frFmt), "%80 daha yüksek": tpl.sumOverSumBound80(true, frFmt),
"%80 daha d&uuml;&#351;&uuml;k": tpl.sumOverSumBound80(false, frFmt), "%80 daha düşük": tpl.sumOverSumBound80(false, frFmt),
"Toplam oran&#305; (toplam)": tpl.fractionOf(tpl.sum(), "total", frFmtPct), "Toplam oranı (toplam)": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Sat&#305;r oran&#305; (toplam)": tpl.fractionOf(tpl.sum(), "row", frFmtPct), "Satır oranı (toplam)": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"S&uuml;tunun oran&#305; (toplam)": tpl.fractionOf(tpl.sum(), "col", frFmtPct), "Sütunun oranı (toplam)": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"Toplam oran&#305; (say&#305;)": tpl.fractionOf(tpl.count(), "total", frFmtPct), "Toplam oranı (sayı)": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"Sat&#305;r oran&#305; (say&#305;)": tpl.fractionOf(tpl.count(), "row", frFmtPct), "Satır oranı (sayı)": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"S&uuml;tunun oran&#305; (say&#305;)": tpl.fractionOf(tpl.count(), "col", frFmtPct) "Sütunun oranı (sayı)": tpl.fractionOf(tpl.count(), "col", frFmtPct)
}, },
renderers: { renderers: {
"Tablo": r["Table"], "Tablo": r["Table"],
"Tablo (&Ccedil;ubuklar)": r["Table Barchart"], "Tablo (Çubuklar)": r["Table Barchart"],
"&#304;lgi haritas&#305;": r["Heatmap"], "İlgi haritası": r["Heatmap"],
"Sat&#305;r ilgi haritas&#305;": r["Row Heatmap"], "Satır ilgi haritası": r["Row Heatmap"],
"S&uuml;tun ilgi haritas&#305;": r["Col Heatmap"] "Sütun ilgi haritası": r["Col Heatmap"]
} }
}; };
if (gcr) { if (gcr) {
$.pivotUtilities.locales.tr.gchart_renderers = { $.pivotUtilities.locales.tr.gchart_renderers = {
"&Ccedil;izgi Grafi&#287;i (gchart)": gcr["Line Chart"], "Çizgi Grafiği": gcr["Line Chart"],
"Bar Grafi&#287;i (gchart)": gcr["Bar Chart"], "Bar Grafiği": gcr["Bar Chart"],
"Y&#305;&#287;&#305;lm&#305;&#351; &Ccedil;ubuk Grafik (gchart)": gcr["Stacked Bar Chart"], "Yığılmış Çubuk Grafik ": gcr["Stacked Bar Chart"],
"Alan Grafi&#287;i (gchart)": gcr["Area Chart"] "Alan Grafiği": gcr["Area Chart"]
}; };
} }
if (d3r) { if (d3r) {
$.pivotUtilities.locales.tr.d3_renderers = { $.pivotUtilities.locales.tr.d3_renderers = {
"Hiyerar&#351;ik Alan Grafi&#287;i (Treemap)": d3r["Treemap"] "Hiyerarşik Alan Grafiği (Treemap)": d3r["Treemap"]
}; };
} }
if (c3r) { if (c3r) {
$.pivotUtilities.locales.tr.c3_renderers = { $.pivotUtilities.locales.tr.c3_renderers = {
"&Ccedil;izgi Grafi&#287;i (C3)": c3r["Line Chart C3"], "Çizgi Grafiği": c3r["Line Chart"],
"Bar Grafi&#287;i (C3)": c3r["Bar Chart C3"] "Bar Grafiği": c3r["Bar Chart"],
"Yığılmış Çubuk Grafik ": c3r["Stacked Bar Chart"],
"Alan Grafiği": c3r["Area Chart"]
}; };
} }
return $.pivotUtilities.locales.tr; return $.pivotUtilities.locales.tr;
...@@ -99,4 +101,4 @@ ...@@ -99,4 +101,4 @@
}).call(this); }).call(this);
//# sourceMappingURL=pivot.tr.js.map //# sourceMappingURL=pivot.tr.js.map
\ No newline at end of file
{"version":3,"sources":["pivot.tr.coffee"],"names":[],"mappings":"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","file":"pivot.tr.js","sourceRoot":"/source/","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n# Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n r = $.pivotUtilities.renderers\n gcr = $.pivotUtilities.gchart_renderers\n d3r = $.pivotUtilities.d3_renderers\n c3r = $.pivotUtilities.c3_renderers\n\n frFmt = nf(thousandsSep: \".\", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \".\", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 2, scaler: 100, suffix: \"%\", thousandsSep: \".\", decimalSep: \",\")\n\n $.pivotUtilities.locales.tr =\n\n localeStrings:\n renderError: \"PivotTable sonu&ccedil;lar&#305;n&#305; olu&#351;tuturken hata olu&#351;tu\"\n computeError: \"PivotTable sonu&ccedil;lar&#305;n&#305; i&#351;lerken hata olu&#351;tu\"\n uiRenderError: \"PivotTable UI sonu&ccedil;lar&#305;n&#305; olu&#351;tuturken hata olu&#351;tu\"\n selectAll: \"T&uuml;m&uuml;n&uuml; Se&ccedil;\"\n selectNone: \"T&uuml;m&uuml;n&uuml; B&#305;rak\"\n tooMany: \"(listelemek i&ccedil;in fazla)\"\n filterResults: \"Sonu&ccedil;lar&#305; filtrele\"\n totals: \"Toplam\"\n vs: \"vs\"\n by: \"ile\"\n\n aggregators:\n \"Say&#305;\": tpl.count(frFmtInt)\n \"Benzersiz de&#287;erler say&#305;s&#305;\": tpl.countUnique(frFmtInt)\n \"Benzersiz de&#287;erler listesi\": tpl.listUnique(\", \")\n \"Toplam\": tpl.sum(frFmt)\n \"Toplam (tam say&#305;)\": tpl.sum(frFmtInt)\n \"Ortalama\": tpl.average(frFmt)\n \"Min\": tpl.min(frFmt)\n \"Maks\": tpl.max(frFmt)\n \"Miktarlar&#305;n toplam&#305;\": tpl.sumOverSum(frFmt)\n \"%80 daha y&uuml;ksek\": tpl.sumOverSumBound80(true, frFmt)\n \"%80 daha d&uuml;&#351;&uuml;k\": tpl.sumOverSumBound80(false, frFmt)\n \"Toplam oran&#305; (toplam)\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Sat&#305;r oran&#305; (toplam)\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"S&uuml;tunun oran&#305; (toplam)\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Toplam oran&#305; (say&#305;)\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Sat&#305;r oran&#305; (say&#305;)\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"S&uuml;tunun oran&#305; (say&#305;)\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tablo\": r[\"Table\"]\n \"Tablo (&Ccedil;ubuklar)\": r[\"Table Barchart\"]\n \"&#304;lgi haritas&#305;\": r[\"Heatmap\"]\n \"Sat&#305;r ilgi haritas&#305;\": r[\"Row Heatmap\"]\n \"S&uuml;tun ilgi haritas&#305;\": r[\"Col Heatmap\"]\n if gcr\n $.pivotUtilities.locales.tr.gchart_renderers =\n \"&Ccedil;izgi Grafi&#287;i (gchart)\": gcr[\"Line Chart\"]\n \"Bar Grafi&#287;i (gchart)\": gcr[\"Bar Chart\"]\n \"Y&#305;&#287;&#305;lm&#305;&#351; &Ccedil;ubuk Grafik (gchart)\": gcr[\"Stacked Bar Chart\"]\n \"Alan Grafi&#287;i (gchart)\": gcr[\"Area Chart\"]\n\n if d3r\n $.pivotUtilities.locales.tr.d3_renderers =\n \"Hiyerar&#351;ik Alan Grafi&#287;i (Treemap)\": d3r[\"Treemap\"]\n\n if c3r\n $.pivotUtilities.locales.tr.c3_renderers =\n \"&Ccedil;izgi Grafi&#287;i (C3)\": c3r[\"Line Chart C3\"]\n \"Bar Grafi&#287;i (C3)\": c3r[\"Bar Chart C3\"]\n\n return $.pivotUtilities.locales.tr\n\n"]} {"version":3,"file":"pivot.tr.js","sources":["pivot.tr.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n# Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n r = $.pivotUtilities.renderers\n gcr = $.pivotUtilities.gchart_renderers\n d3r = $.pivotUtilities.d3_renderers\n c3r = $.pivotUtilities.c3_renderers\n\n frFmt = nf(thousandsSep: \".\", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \".\", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 2, scaler: 100, suffix: \"%\", thousandsSep: \".\", decimalSep: \",\")\n\n $.pivotUtilities.locales.tr =\n\n localeStrings:\n renderError: \"PivotTable sonuçlarını oluştuturken hata oluştu\"\n computeError: \"PivotTable sonuçlarını işlerken hata oluştu\"\n uiRenderError: \"PivotTable UI sonuçlarını oluştuturken hata oluştu\"\n selectAll: \"Tümünü Seç\"\n selectNone: \"Tümünü Bırak\"\n tooMany: \"(listelemek için fazla)\"\n filterResults: \"Sonuçları filtrele\"\n totals: \"Toplam\"\n vs: \"vs\"\n by: \"ile\"\n\n aggregators:\n \"Sayı\": tpl.count(frFmtInt)\n \"Benzersiz değerler sayısı\": tpl.countUnique(frFmtInt)\n \"Benzersiz değerler listesi\": tpl.listUnique(\", \")\n \"Toplam\": tpl.sum(frFmt)\n \"Toplam (tam sayı)\": tpl.sum(frFmtInt)\n \"Ortalama\": tpl.average(frFmt)\n \"Min\": tpl.min(frFmt)\n \"Maks\": tpl.max(frFmt)\n \"Miktarların toplamı\": tpl.sumOverSum(frFmt)\n \"%80 daha yüksek\": tpl.sumOverSumBound80(true, frFmt)\n \"%80 daha düşük\": tpl.sumOverSumBound80(false, frFmt)\n \"Toplam oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Satır oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Sütunun oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Toplam oranı (sayı)\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Satır oranı (sayı)\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Sütunun oranı (sayı)\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tablo\": r[\"Table\"]\n \"Tablo (Çubuklar)\": r[\"Table Barchart\"]\n \"İlgi haritası\": r[\"Heatmap\"]\n \"Satır ilgi haritası\": r[\"Row Heatmap\"]\n \"Sütun ilgi haritası\": r[\"Col Heatmap\"]\n if gcr\n $.pivotUtilities.locales.tr.gchart_renderers =\n \"Çizgi Grafiği\": gcr[\"Line Chart\"]\n \"Bar Grafiği\": gcr[\"Bar Chart\"]\n \"Yığılmış Çubuk Grafik \": gcr[\"Stacked Bar Chart\"]\n \"Alan Grafiği\": gcr[\"Area Chart\"]\n\n if d3r\n $.pivotUtilities.locales.tr.d3_renderers =\n \"Hiyerarşik Alan Grafiği (Treemap)\": d3r[\"Treemap\"]\n\n if c3r\n $.pivotUtilities.locales.tr.c3_renderers =\n \"Çizgi Grafiği\": c3r[\"Line Chart\"]\n \"Bar Grafiği\": c3r[\"Bar Chart\"]\n \"Yığılmış Çubuk Grafik \": c3r[\"Stacked Bar Chart\"]\n \"Alan Grafiği\": c3r[\"Area Chart\"]\n\n return $.pivotUtilities.locales.tr\n\n"]}
\ No newline at end of file \ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var a,r,t,i,l,o,u,n,s;return u=e.pivotUtilities.numberFormat,s=e.pivotUtilities.aggregatorTemplates,n=e.pivotUtilities.renderers,o=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,a=e.pivotUtilities.c3_renderers,t=u({thousandsSep:".",decimalSep:","}),i=u({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),l=u({digitsAfterDecimal:2,scaler:100,suffix:"%",thousandsSep:".",decimalSep:","}),e.pivotUtilities.locales.tr={localeStrings:{renderError:"PivotTable sonu&ccedil;lar&#305;n&#305; olu&#351;tuturken hata olu&#351;tu",computeError:"PivotTable sonu&ccedil;lar&#305;n&#305; i&#351;lerken hata olu&#351;tu",uiRenderError:"PivotTable UI sonu&ccedil;lar&#305;n&#305; olu&#351;tuturken hata olu&#351;tu",selectAll:"T&uuml;m&uuml;n&uuml; Se&ccedil;",selectNone:"T&uuml;m&uuml;n&uuml; B&#305;rak",tooMany:"(listelemek i&ccedil;in fazla)",filterResults:"Sonu&ccedil;lar&#305; filtrele",totals:"Toplam",vs:"vs",by:"ile"},aggregators:{"Say&#305;":s.count(i),"Benzersiz de&#287;erler say&#305;s&#305;":s.countUnique(i),"Benzersiz de&#287;erler listesi":s.listUnique(", "),Toplam:s.sum(t),"Toplam (tam say&#305;)":s.sum(i),Ortalama:s.average(t),Min:s.min(t),Maks:s.max(t),"Miktarlar&#305;n toplam&#305;":s.sumOverSum(t),"%80 daha y&uuml;ksek":s.sumOverSumBound80(!0,t),"%80 daha d&uuml;&#351;&uuml;k":s.sumOverSumBound80(!1,t),"Toplam oran&#305; (toplam)":s.fractionOf(s.sum(),"total",l),"Sat&#305;r oran&#305; (toplam)":s.fractionOf(s.sum(),"row",l),"S&uuml;tunun oran&#305; (toplam)":s.fractionOf(s.sum(),"col",l),"Toplam oran&#305; (say&#305;)":s.fractionOf(s.count(),"total",l),"Sat&#305;r oran&#305; (say&#305;)":s.fractionOf(s.count(),"row",l),"S&uuml;tunun oran&#305; (say&#305;)":s.fractionOf(s.count(),"col",l)},renderers:{Tablo:n.Table,"Tablo (&Ccedil;ubuklar)":n["Table Barchart"],"&#304;lgi haritas&#305;":n.Heatmap,"Sat&#305;r ilgi haritas&#305;":n["Row Heatmap"],"S&uuml;tun ilgi haritas&#305;":n["Col Heatmap"]}},o&&(e.pivotUtilities.locales.tr.gchart_renderers={"&Ccedil;izgi Grafi&#287;i (gchart)":o["Line Chart"],"Bar Grafi&#287;i (gchart)":o["Bar Chart"],"Y&#305;&#287;&#305;lm&#305;&#351; &Ccedil;ubuk Grafik (gchart)":o["Stacked Bar Chart"],"Alan Grafi&#287;i (gchart)":o["Area Chart"]}),r&&(e.pivotUtilities.locales.tr.d3_renderers={"Hiyerar&#351;ik Alan Grafi&#287;i (Treemap)":r.Treemap}),a&&(e.pivotUtilities.locales.tr.c3_renderers={"&Ccedil;izgi Grafi&#287;i (C3)":a["Line Chart C3"],"Bar Grafi&#287;i (C3)":a["Bar Chart C3"]}),e.pivotUtilities.locales.tr})}).call(this); (function(){var a;(a=function(a){return"object"==typeof exports&&"object"==typeof module?a(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)})(function(a){var e,r,t,i,l,o,n,s,u;return n=a.pivotUtilities.numberFormat,u=a.pivotUtilities.aggregatorTemplates,s=a.pivotUtilities.renderers,o=a.pivotUtilities.gchart_renderers,r=a.pivotUtilities.d3_renderers,e=a.pivotUtilities.c3_renderers,t=n({thousandsSep:".",decimalSep:","}),i=n({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),l=n({digitsAfterDecimal:2,scaler:100,suffix:"%",thousandsSep:".",decimalSep:","}),a.pivotUtilities.locales.tr={localeStrings:{renderError:"PivotTable sonuçlarını oluştuturken hata oluştu",computeError:"PivotTable sonuçlarını işlerken hata oluştu",uiRenderError:"PivotTable UI sonuçlarını oluştuturken hata oluştu",selectAll:"Tümünü Seç",selectNone:"Tümünü Bırak",tooMany:"(listelemek için fazla)",filterResults:"Sonuçları filtrele",totals:"Toplam",vs:"vs",by:"ile"},aggregators:{"Sayı":u.count(i),"Benzersiz değerler sayısı":u.countUnique(i),"Benzersiz değerler listesi":u.listUnique(", "),Toplam:u.sum(t),"Toplam (tam sayı)":u.sum(i),Ortalama:u.average(t),Min:u.min(t),Maks:u.max(t),"Miktarların toplamı":u.sumOverSum(t),"%80 daha yüksek":u.sumOverSumBound80(!0,t),"%80 daha düşük":u.sumOverSumBound80(!1,t),"Toplam oranı (toplam)":u.fractionOf(u.sum(),"total",l),"Satır oranı (toplam)":u.fractionOf(u.sum(),"row",l),"Sütunun oranı (toplam)":u.fractionOf(u.sum(),"col",l),"Toplam oranı (sayı)":u.fractionOf(u.count(),"total",l),"Satır oranı (sayı)":u.fractionOf(u.count(),"row",l),"Sütunun oranı (sayı)":u.fractionOf(u.count(),"col",l)},renderers:{Tablo:s.Table,"Tablo (Çubuklar)":s["Table Barchart"],"İlgi haritası":s.Heatmap,"Satır ilgi haritası":s["Row Heatmap"],"Sütun ilgi haritası":s["Col Heatmap"]}},o&&(a.pivotUtilities.locales.tr.gchart_renderers={"Çizgi Grafiği":o["Line Chart"],"Bar Grafiği":o["Bar Chart"],"Yığılmış Çubuk Grafik ":o["Stacked Bar Chart"],"Alan Grafiği":o["Area Chart"]}),r&&(a.pivotUtilities.locales.tr.d3_renderers={"Hiyerarşik Alan Grafiği (Treemap)":r.Treemap}),e&&(a.pivotUtilities.locales.tr.c3_renderers={"Çizgi Grafiği":e["Line Chart"],"Bar Grafiği":e["Bar Chart"],"Yığılmış Çubuk Grafik ":e["Stacked Bar Chart"],"Alan Grafiği":e["Area Chart"]}),a.pivotUtilities.locales.tr})}).call(this);
//# sourceMappingURL=pivot.tr.min.js.map //# sourceMappingURL=pivot.tr.min.js.map
\ No newline at end of file
{"version":3,"sources":["/source/pivot.tr.coffee","pivot.tr.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","c3r","d3r","frFmt","frFmtInt","frFmtPct","gcr","nf","r","tpl","pivotUtilities","numberFormat","aggregatorTemplates","renderers","gchart_renderers","d3_renderers","c3_renderers","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","tr","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","Say&#305;","count","Benzersiz de&#287;erler say&#305;s&#305;","countUnique","Benzersiz de&#287;erler listesi","listUnique","Toplam","sum","Toplam (tam say&#305;)","Ortalama","average","Min","min","Maks","max","Miktarlar&#305;n toplam&#305;","sumOverSum","%80 daha y&uuml;ksek","sumOverSumBound80","%80 daha d&uuml;&#351;&uuml;k","Toplam oran&#305; (toplam)","fractionOf","Sat&#305;r oran&#305; (toplam)","S&uuml;tunun oran&#305; (toplam)","Toplam oran&#305; (say&#305;)","Sat&#305;r oran&#305; (say&#305;)","S&uuml;tunun oran&#305; (say&#305;)","Tablo","Tablo (&Ccedil;ubuklar)","&#304;lgi haritas&#305;","Sat&#305;r ilgi haritas&#305;","S&uuml;tun ilgi haritas&#305;","&Ccedil;izgi Grafi&#287;i (gchart)","Bar Grafi&#287;i (gchart)","Y&#305;&#287;&#305;lm&#305;&#351; &Ccedil;ubuk Grafik (gchart)","Alan Grafi&#287;i (gchart)","Hiyerar&#351;ik Alan Grafi&#287;i (Treemap)","&Ccedil;izgi Grafi&#287;i (C3)","Bar Grafi&#287;i (C3)","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GAChB,MAAqB,gBAAlBC,UAAgD,gBAAjBC,QAChCF,EAAYG,QAAQ,WACG,kBAAjBC,SAAgCA,OAAOC,IAC7CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAED,SAACC,GACd,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CAkEA,OAlEAF,GAAKP,EAAEU,eAAeC,aACtBF,EAAMT,EAAEU,eAAeE,oBACvBJ,EAAIR,EAAEU,eAAeG,UACrBP,EAAMN,EAAEU,eAAeI,iBACvBZ,EAAMF,EAAEU,eAAeK,aACvBd,EAAMD,EAAEU,eAAeM,aAEvBb,EAAQI,GAAGU,aAAc,IAAKC,WAAY,MAC1Cd,EAAWG,GAAGY,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEb,EAAWE,GAAGY,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FlB,EAAEU,eAAeY,QAAQC,IAEvBC,eACEC,YAAa,6EACbC,aAAc,yEACdC,cAAe,gFACfC,UAAW,mCACXC,WAAY,mCACZC,QAAS,iCACTC,cAAe,iCACfC,OAAQ,SACRC,GAAI,KACJC,GAAI,OAENC,aACEC,YAAa3B,EAAI4B,MAAMjC,GACvBkC,2CAA4C7B,EAAI8B,YAAYnC,GAC5DoC,kCAAmC/B,EAAIgC,WAAW,MAClDC,OAAUjC,EAAIkC,IAAIxC,GAClByC,yBAA0BnC,EAAIkC,IAAIvC,GAClCyC,SAAYpC,EAAIqC,QAAQ3C,GACxB4C,IAAOtC,EAAIuC,IAAI7C,GACf8C,KAAQxC,EAAIyC,IAAI/C,GAChBgD,gCAAiC1C,EAAI2C,WAAWjD,GAChDkD,uBAAwB5C,EAAI6C,mBAAkB,EAAMnD,GACpDoD,gCAAiC9C,EAAI6C,mBAAkB,EAAOnD,GAC9DqD,6BAA8B/C,EAAIgD,WAAWhD,EAAIkC,MAAO,QAAStC,GACjEqD,iCAAkCjD,EAAIgD,WAAWhD,EAAIkC,MAAO,MAAOtC,GACnEsD,mCAAoClD,EAAIgD,WAAWhD,EAAIkC,MAAO,MAAOtC,GACrEuD,gCAAiCnD,EAAIgD,WAAWhD,EAAI4B,QAAS,QAAShC,GACtEwD,oCAAqCpD,EAAIgD,WAAWhD,EAAI4B,QAAS,MAAOhC,GACxEyD,sCAAuCrD,EAAIgD,WAAWhD,EAAI4B,QAAS,MAAOhC,IAE5EQ,WACEkD,MAASvD,EAAE,MACXwD,0BAA2BxD,EAAE,kBAC7ByD,0BAA2BzD,EAAE,QAC7B0D,gCAAiC1D,EAAE,eACnC2D,gCAAiC3D,EAAE,iBACpCF,IACDN,EAAEU,eAAeY,QAAQC,GAAGT,kBAC1BsD,qCAAsC9D,EAAI,cAC1C+D,4BAA6B/D,EAAI,aACjCgE,iEAAkEhE,EAAI,qBACtEiE,6BAA8BjE,EAAI,gBAEnCJ,IACDF,EAAEU,eAAeY,QAAQC,GAAGR,cAC1ByD,8CAA+CtE,EAAI,UAEpDD,IACDD,EAAEU,eAAeY,QAAQC,GAAGP,cAC1ByD,iCAAkCxE,EAAI,iBACtCyE,wBAAyBzE,EAAI,kBAE1BD,EAAEU,eAAeY,QAAQC,OCuB/BoD,KAAKC","file":"pivot.tr.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n# Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n r = $.pivotUtilities.renderers\n gcr = $.pivotUtilities.gchart_renderers\n d3r = $.pivotUtilities.d3_renderers\n c3r = $.pivotUtilities.c3_renderers\n\n frFmt = nf(thousandsSep: \".\", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \".\", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 2, scaler: 100, suffix: \"%\", thousandsSep: \".\", decimalSep: \",\")\n\n $.pivotUtilities.locales.tr =\n\n localeStrings:\n renderError: \"PivotTable sonu&ccedil;lar&#305;n&#305; olu&#351;tuturken hata olu&#351;tu\"\n computeError: \"PivotTable sonu&ccedil;lar&#305;n&#305; i&#351;lerken hata olu&#351;tu\"\n uiRenderError: \"PivotTable UI sonu&ccedil;lar&#305;n&#305; olu&#351;tuturken hata olu&#351;tu\"\n selectAll: \"T&uuml;m&uuml;n&uuml; Se&ccedil;\"\n selectNone: \"T&uuml;m&uuml;n&uuml; B&#305;rak\"\n tooMany: \"(listelemek i&ccedil;in fazla)\"\n filterResults: \"Sonu&ccedil;lar&#305; filtrele\"\n totals: \"Toplam\"\n vs: \"vs\"\n by: \"ile\"\n\n aggregators:\n \"Say&#305;\": tpl.count(frFmtInt)\n \"Benzersiz de&#287;erler say&#305;s&#305;\": tpl.countUnique(frFmtInt)\n \"Benzersiz de&#287;erler listesi\": tpl.listUnique(\", \")\n \"Toplam\": tpl.sum(frFmt)\n \"Toplam (tam say&#305;)\": tpl.sum(frFmtInt)\n \"Ortalama\": tpl.average(frFmt)\n \"Min\": tpl.min(frFmt)\n \"Maks\": tpl.max(frFmt)\n \"Miktarlar&#305;n toplam&#305;\": tpl.sumOverSum(frFmt)\n \"%80 daha y&uuml;ksek\": tpl.sumOverSumBound80(true, frFmt)\n \"%80 daha d&uuml;&#351;&uuml;k\": tpl.sumOverSumBound80(false, frFmt)\n \"Toplam oran&#305; (toplam)\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Sat&#305;r oran&#305; (toplam)\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"S&uuml;tunun oran&#305; (toplam)\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Toplam oran&#305; (say&#305;)\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Sat&#305;r oran&#305; (say&#305;)\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"S&uuml;tunun oran&#305; (say&#305;)\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tablo\": r[\"Table\"]\n \"Tablo (&Ccedil;ubuklar)\": r[\"Table Barchart\"]\n \"&#304;lgi haritas&#305;\": r[\"Heatmap\"]\n \"Sat&#305;r ilgi haritas&#305;\": r[\"Row Heatmap\"]\n \"S&uuml;tun ilgi haritas&#305;\": r[\"Col Heatmap\"]\n if gcr\n $.pivotUtilities.locales.tr.gchart_renderers =\n \"&Ccedil;izgi Grafi&#287;i (gchart)\": gcr[\"Line Chart\"]\n \"Bar Grafi&#287;i (gchart)\": gcr[\"Bar Chart\"]\n \"Y&#305;&#287;&#305;lm&#305;&#351; &Ccedil;ubuk Grafik (gchart)\": gcr[\"Stacked Bar Chart\"]\n \"Alan Grafi&#287;i (gchart)\": gcr[\"Area Chart\"]\n\n if d3r\n $.pivotUtilities.locales.tr.d3_renderers =\n \"Hiyerar&#351;ik Alan Grafi&#287;i (Treemap)\": d3r[\"Treemap\"]\n\n if c3r\n $.pivotUtilities.locales.tr.c3_renderers =\n \"&Ccedil;izgi Grafi&#287;i (C3)\": c3r[\"Line Chart C3\"]\n \"Bar Grafi&#287;i (C3)\": c3r[\"Bar Chart C3\"]\n\n return $.pivotUtilities.locales.tr\n\n","(function(){var e;(e=function(e){return\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"jquery\")):\"function\"==typeof define&&define.amd?define([\"jquery\"],e):e(jQuery)})(function(e){var a,r,t,i,l,o,u,n,s;return u=e.pivotUtilities.numberFormat,s=e.pivotUtilities.aggregatorTemplates,n=e.pivotUtilities.renderers,o=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,a=e.pivotUtilities.c3_renderers,t=u({thousandsSep:\".\",decimalSep:\",\"}),i=u({digitsAfterDecimal:0,thousandsSep:\".\",decimalSep:\",\"}),l=u({digitsAfterDecimal:2,scaler:100,suffix:\"%\",thousandsSep:\".\",decimalSep:\",\"}),e.pivotUtilities.locales.tr={localeStrings:{renderError:\"PivotTable sonu&ccedil;lar&#305;n&#305; olu&#351;tuturken hata olu&#351;tu\",computeError:\"PivotTable sonu&ccedil;lar&#305;n&#305; i&#351;lerken hata olu&#351;tu\",uiRenderError:\"PivotTable UI sonu&ccedil;lar&#305;n&#305; olu&#351;tuturken hata olu&#351;tu\",selectAll:\"T&uuml;m&uuml;n&uuml; Se&ccedil;\",selectNone:\"T&uuml;m&uuml;n&uuml; B&#305;rak\",tooMany:\"(listelemek i&ccedil;in fazla)\",filterResults:\"Sonu&ccedil;lar&#305; filtrele\",totals:\"Toplam\",vs:\"vs\",by:\"ile\"},aggregators:{\"Say&#305;\":s.count(i),\"Benzersiz de&#287;erler say&#305;s&#305;\":s.countUnique(i),\"Benzersiz de&#287;erler listesi\":s.listUnique(\", \"),Toplam:s.sum(t),\"Toplam (tam say&#305;)\":s.sum(i),Ortalama:s.average(t),Min:s.min(t),Maks:s.max(t),\"Miktarlar&#305;n toplam&#305;\":s.sumOverSum(t),\"%80 daha y&uuml;ksek\":s.sumOverSumBound80(!0,t),\"%80 daha d&uuml;&#351;&uuml;k\":s.sumOverSumBound80(!1,t),\"Toplam oran&#305; (toplam)\":s.fractionOf(s.sum(),\"total\",l),\"Sat&#305;r oran&#305; (toplam)\":s.fractionOf(s.sum(),\"row\",l),\"S&uuml;tunun oran&#305; (toplam)\":s.fractionOf(s.sum(),\"col\",l),\"Toplam oran&#305; (say&#305;)\":s.fractionOf(s.count(),\"total\",l),\"Sat&#305;r oran&#305; (say&#305;)\":s.fractionOf(s.count(),\"row\",l),\"S&uuml;tunun oran&#305; (say&#305;)\":s.fractionOf(s.count(),\"col\",l)},renderers:{Tablo:n.Table,\"Tablo (&Ccedil;ubuklar)\":n[\"Table Barchart\"],\"&#304;lgi haritas&#305;\":n.Heatmap,\"Sat&#305;r ilgi haritas&#305;\":n[\"Row Heatmap\"],\"S&uuml;tun ilgi haritas&#305;\":n[\"Col Heatmap\"]}},o&&(e.pivotUtilities.locales.tr.gchart_renderers={\"&Ccedil;izgi Grafi&#287;i (gchart)\":o[\"Line Chart\"],\"Bar Grafi&#287;i (gchart)\":o[\"Bar Chart\"],\"Y&#305;&#287;&#305;lm&#305;&#351; &Ccedil;ubuk Grafik (gchart)\":o[\"Stacked Bar Chart\"],\"Alan Grafi&#287;i (gchart)\":o[\"Area Chart\"]}),r&&(e.pivotUtilities.locales.tr.d3_renderers={\"Hiyerar&#351;ik Alan Grafi&#287;i (Treemap)\":r.Treemap}),a&&(e.pivotUtilities.locales.tr.c3_renderers={\"&Ccedil;izgi Grafi&#287;i (C3)\":a[\"Line Chart C3\"],\"Bar Grafi&#287;i (C3)\":a[\"Bar Chart C3\"]}),e.pivotUtilities.locales.tr})}).call(this);\n//# sourceMappingURL=pivot.tr.min.js.map"],"sourceRoot":"/source/"} {"version":3,"sources":["pivot.tr.coffee","pivot.tr.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","c3r","d3r","frFmt","frFmtInt","frFmtPct","gcr","nf","r","tpl","pivotUtilities","numberFormat","aggregatorTemplates","renderers","gchart_renderers","d3_renderers","c3_renderers","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","tr","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","Sayı","count","Benzersiz değerler sayısı","countUnique","Benzersiz değerler listesi","listUnique","Toplam","sum","Toplam (tam sayı)","Ortalama","average","Min","min","Maks","max","Miktarların toplamı","sumOverSum","%80 daha yüksek","sumOverSumBound80","%80 daha düşük","Toplam oranı (toplam)","fractionOf","Satır oranı (toplam)","Sütunun oranı (toplam)","Toplam oranı (sayı)","Satır oranı (sayı)","Sütunun oranı (sayı)","Tablo","Tablo (Çubuklar)","İlgi haritası","Satır ilgi haritası","Sütun ilgi haritası","Çizgi Grafiği","Bar Grafiği","Yığılmış Çubuk Grafik ","Alan Grafiği","Hiyerarşik Alan Grafiği (Treemap)","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GAChB,MAAqB,gBAAXC,UAAyC,gBAAVC,QACvCF,EAAYG,QAAQ,WACG,kBAAVC,SAAyBA,OAAOC,IAC7CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAED,SAACC,GACd,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CAoEA,OApEAF,GAAKP,EAAEU,eAAeC,aACtBF,EAAMT,EAAEU,eAAeE,oBACvBJ,EAAIR,EAAEU,eAAeG,UACrBP,EAAMN,EAAEU,eAAeI,iBACvBZ,EAAMF,EAAEU,eAAeK,aACvBd,EAAMD,EAAEU,eAAeM,aAEvBb,EAAQI,GAAGU,aAAc,IAAKC,WAAY,MAC1Cd,EAAWG,GAAGY,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEb,EAAWE,GAAGY,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FlB,EAAEU,eAAeY,QAAQC,IAEvBC,eACEC,YAAa,kDACbC,aAAc,8CACdC,cAAe,qDACfC,UAAW,aACXC,WAAY,eACZC,QAAS,0BACTC,cAAe,qBACfC,OAAQ,SACRC,GAAI,KACJC,GAAI,OAENC,aACEC,OAAQ3B,EAAI4B,MAAMjC,GAClBkC,4BAA6B7B,EAAI8B,YAAYnC,GAC7CoC,6BAA8B/B,EAAIgC,WAAW,MAC7CC,OAAUjC,EAAIkC,IAAIxC,GAClByC,oBAAqBnC,EAAIkC,IAAIvC,GAC7ByC,SAAYpC,EAAIqC,QAAQ3C,GACxB4C,IAAOtC,EAAIuC,IAAI7C,GACf8C,KAAQxC,EAAIyC,IAAI/C,GAChBgD,sBAAuB1C,EAAI2C,WAAWjD,GACtCkD,kBAAmB5C,EAAI6C,mBAAkB,EAAMnD,GAC/CoD,iBAAkB9C,EAAI6C,mBAAkB,EAAOnD,GAC/CqD,wBAAyB/C,EAAIgD,WAAWhD,EAAIkC,MAAO,QAAStC,GAC5DqD,uBAAwBjD,EAAIgD,WAAWhD,EAAIkC,MAAO,MAAOtC,GACzDsD,yBAA0BlD,EAAIgD,WAAWhD,EAAIkC,MAAO,MAAOtC,GAC3DuD,sBAAuBnD,EAAIgD,WAAWhD,EAAI4B,QAAS,QAAShC,GAC5DwD,qBAAsBpD,EAAIgD,WAAWhD,EAAI4B,QAAS,MAAOhC,GACzDyD,uBAAwBrD,EAAIgD,WAAWhD,EAAI4B,QAAS,MAAOhC,IAE7DQ,WACEkD,MAASvD,EAAE,MACXwD,mBAAoBxD,EAAE,kBACtByD,gBAAiBzD,EAAE,QACnB0D,sBAAuB1D,EAAE,eACzB2D,sBAAuB3D,EAAE,iBAC1BF,IACDN,EAAEU,eAAeY,QAAQC,GAAGT,kBAC1BsD,gBAAiB9D,EAAI,cACrB+D,cAAe/D,EAAI,aACnBgE,yBAA0BhE,EAAI,qBAC9BiE,eAAgBjE,EAAI,gBAErBJ,IACDF,EAAEU,eAAeY,QAAQC,GAAGR,cAC1ByD,oCAAqCtE,EAAI,UAE1CD,IACDD,EAAEU,eAAeY,QAAQC,GAAGP,cAC1BoD,gBAAiBnE,EAAI,cACrBoE,cAAepE,EAAI,aACnBqE,yBAA0BrE,EAAI,qBAC9BsE,eAAgBtE,EAAI,gBAEjBD,EAAEU,eAAeY,QAAQC,OCuB/BkD,KAAKC","file":"pivot.tr.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n# Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n r = $.pivotUtilities.renderers\n gcr = $.pivotUtilities.gchart_renderers\n d3r = $.pivotUtilities.d3_renderers\n c3r = $.pivotUtilities.c3_renderers\n\n frFmt = nf(thousandsSep: \".\", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \".\", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 2, scaler: 100, suffix: \"%\", thousandsSep: \".\", decimalSep: \",\")\n\n $.pivotUtilities.locales.tr =\n\n localeStrings:\n renderError: \"PivotTable sonuçlarını oluştuturken hata oluştu\"\n computeError: \"PivotTable sonuçlarını işlerken hata oluştu\"\n uiRenderError: \"PivotTable UI sonuçlarını oluştuturken hata oluştu\"\n selectAll: \"Tümünü Seç\"\n selectNone: \"Tümünü Bırak\"\n tooMany: \"(listelemek için fazla)\"\n filterResults: \"Sonuçları filtrele\"\n totals: \"Toplam\"\n vs: \"vs\"\n by: \"ile\"\n\n aggregators:\n \"Sayı\": tpl.count(frFmtInt)\n \"Benzersiz değerler sayısı\": tpl.countUnique(frFmtInt)\n \"Benzersiz değerler listesi\": tpl.listUnique(\", \")\n \"Toplam\": tpl.sum(frFmt)\n \"Toplam (tam sayı)\": tpl.sum(frFmtInt)\n \"Ortalama\": tpl.average(frFmt)\n \"Min\": tpl.min(frFmt)\n \"Maks\": tpl.max(frFmt)\n \"Miktarların toplamı\": tpl.sumOverSum(frFmt)\n \"%80 daha yüksek\": tpl.sumOverSumBound80(true, frFmt)\n \"%80 daha düşük\": tpl.sumOverSumBound80(false, frFmt)\n \"Toplam oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Satır oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Sütunun oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Toplam oranı (sayı)\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Satır oranı (sayı)\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Sütunun oranı (sayı)\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tablo\": r[\"Table\"]\n \"Tablo (Çubuklar)\": r[\"Table Barchart\"]\n \"İlgi haritası\": r[\"Heatmap\"]\n \"Satır ilgi haritası\": r[\"Row Heatmap\"]\n \"Sütun ilgi haritası\": r[\"Col Heatmap\"]\n if gcr\n $.pivotUtilities.locales.tr.gchart_renderers =\n \"Çizgi Grafiği\": gcr[\"Line Chart\"]\n \"Bar Grafiği\": gcr[\"Bar Chart\"]\n \"Yığılmış Çubuk Grafik \": gcr[\"Stacked Bar Chart\"]\n \"Alan Grafiği\": gcr[\"Area Chart\"]\n\n if d3r\n $.pivotUtilities.locales.tr.d3_renderers =\n \"Hiyerarşik Alan Grafiği (Treemap)\": d3r[\"Treemap\"]\n\n if c3r\n $.pivotUtilities.locales.tr.c3_renderers =\n \"Çizgi Grafiği\": c3r[\"Line Chart\"]\n \"Bar Grafiği\": c3r[\"Bar Chart\"]\n \"Yığılmış Çubuk Grafik \": c3r[\"Stacked Bar Chart\"]\n \"Alan Grafiği\": c3r[\"Area Chart\"]\n\n return $.pivotUtilities.locales.tr\n\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var c3r, d3r, frFmt, frFmtInt, frFmtPct, gcr, nf, r, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n r = $.pivotUtilities.renderers;\n gcr = $.pivotUtilities.gchart_renderers;\n d3r = $.pivotUtilities.d3_renderers;\n c3r = $.pivotUtilities.c3_renderers;\n frFmt = nf({\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 2,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n $.pivotUtilities.locales.tr = {\n localeStrings: {\n renderError: \"PivotTable sonuçlarını oluştuturken hata oluştu\",\n computeError: \"PivotTable sonuçlarını işlerken hata oluştu\",\n uiRenderError: \"PivotTable UI sonuçlarını oluştuturken hata oluştu\",\n selectAll: \"Tümünü Seç\",\n selectNone: \"Tümünü Bırak\",\n tooMany: \"(listelemek için fazla)\",\n filterResults: \"Sonuçları filtrele\",\n totals: \"Toplam\",\n vs: \"vs\",\n by: \"ile\"\n },\n aggregators: {\n \"Sayı\": tpl.count(frFmtInt),\n \"Benzersiz değerler sayısı\": tpl.countUnique(frFmtInt),\n \"Benzersiz değerler listesi\": tpl.listUnique(\", \"),\n \"Toplam\": tpl.sum(frFmt),\n \"Toplam (tam sayı)\": tpl.sum(frFmtInt),\n \"Ortalama\": tpl.average(frFmt),\n \"Min\": tpl.min(frFmt),\n \"Maks\": tpl.max(frFmt),\n \"Miktarların toplamı\": tpl.sumOverSum(frFmt),\n \"%80 daha yüksek\": tpl.sumOverSumBound80(true, frFmt),\n \"%80 daha düşük\": tpl.sumOverSumBound80(false, frFmt),\n \"Toplam oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Satır oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Sütunun oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Toplam oranı (sayı)\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Satır oranı (sayı)\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Sütunun oranı (sayı)\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Tablo\": r[\"Table\"],\n \"Tablo (Çubuklar)\": r[\"Table Barchart\"],\n \"İlgi haritası\": r[\"Heatmap\"],\n \"Satır ilgi haritası\": r[\"Row Heatmap\"],\n \"Sütun ilgi haritası\": r[\"Col Heatmap\"]\n }\n };\n if (gcr) {\n $.pivotUtilities.locales.tr.gchart_renderers = {\n \"Çizgi Grafiği\": gcr[\"Line Chart\"],\n \"Bar Grafiği\": gcr[\"Bar Chart\"],\n \"Yığılmış Çubuk Grafik \": gcr[\"Stacked Bar Chart\"],\n \"Alan Grafiği\": gcr[\"Area Chart\"]\n };\n }\n if (d3r) {\n $.pivotUtilities.locales.tr.d3_renderers = {\n \"Hiyerarşik Alan Grafiği (Treemap)\": d3r[\"Treemap\"]\n };\n }\n if (c3r) {\n $.pivotUtilities.locales.tr.c3_renderers = {\n \"Çizgi Grafiği\": c3r[\"Line Chart\"],\n \"Bar Grafiği\": c3r[\"Bar Chart\"],\n \"Yığılmış Çubuk Grafik \": c3r[\"Stacked Bar Chart\"],\n \"Alan Grafiği\": c3r[\"Area Chart\"]\n };\n }\n return $.pivotUtilities.locales.tr;\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.tr.js.map\n"]}
\ No newline at end of file \ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var c3r, d3r, frFmt, frFmtInt, frFmtPct, gcr, nf, r, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
r = $.pivotUtilities.renderers;
gcr = $.pivotUtilities.gchart_renderers;
d3r = $.pivotUtilities.d3_renderers;
c3r = $.pivotUtilities.c3_renderers;
frFmt = nf({
thousandsSep: ",",
decimalSep: "."
});
frFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: ",",
decimalSep: "."
});
frFmtPct = nf({
digitsAfterDecimal: 2,
scaler: 100,
suffix: "%",
thousandsSep: ",",
decimalSep: "."
});
$.pivotUtilities.locales.zh = {
localeStrings: {
renderError: "展示结果时出错。",
computeError: "计算结果时出错。",
uiRenderError: "展示界面时出错。",
selectAll: "选择全部",
selectNone: "全部不选",
tooMany: "(因数据过多而无法列出)",
filterResults: "输入值帮助筛选",
totals: "合计",
vs: "",
by: "分组于"
},
aggregators: {
"频数": tpl.count(frFmtInt),
"非重复值的个数": tpl.countUnique(frFmtInt),
"列出非重复值": tpl.listUnique(", "),
"求和": tpl.sum(frFmt),
"求和后取整": tpl.sum(frFmtInt),
"平均值": tpl.average(frFmt),
"中位数": tpl.median(frFmt),
"方差": tpl["var"](1, frFmt),
"样本标准偏差": tpl.stdev(1, frFmt),
"最小值": tpl.min(frFmt),
"最大值": tpl.max(frFmt),
"第一": tpl.first(frFmt),
"最后": tpl.last(frFmt),
"两和之比": tpl.sumOverSum(frFmt),
"二项分布:置信度为80%时的区间上限": tpl.sumOverSumBound80(true, frFmt),
"二项分布:置信度为80%时的区间下限": tpl.sumOverSumBound80(false, frFmt),
"和在总计中的比例": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"和在行合计中的比例": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"和在列合计中的比例": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"频数在总计中的比例": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"频数在行合计中的比例": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"频数在列合计中的比例": tpl.fractionOf(tpl.count(), "col", frFmtPct)
},
renderers: {
"表格": r["Table"],
"表格内柱状图": r["Table Barchart"],
"热图": r["Heatmap"],
"行热图": r["Row Heatmap"],
"列热图": r["Col Heatmap"]
}
};
if (gcr) {
$.pivotUtilities.locales.zh.gchart_renderers = {
"折线图(g)": gcr["Line Chart"],
"柱形图(g)": gcr["Bar Chart"],
"堆栈柱形图(g)": gcr["Stacked Bar Chart"],
"面积图(g)": gcr["Area Chart"]
};
$.pivotUtilities.locales.zh.renderers = $.extend($.pivotUtilities.locales.zh.renderers, $.pivotUtilities.locales.zh.gchart_renderers);
}
if (d3r) {
$.pivotUtilities.locales.zh.d3_renderers = {
"树图": d3r["Treemap"]
};
$.pivotUtilities.locales.zh.renderers = $.extend($.pivotUtilities.locales.zh.renderers, $.pivotUtilities.locales.zh.d3_renderers);
}
if (c3r) {
$.pivotUtilities.locales.zh.c3_renderers = {
"折线图": c3r["Line Chart"],
"柱形图": c3r["Bar Chart"],
"堆栈柱形图": c3r["Stacked Bar Chart"],
"面积图": c3r["Area Chart"],
"散点图": c3r["Scatter Chart"]
};
$.pivotUtilities.locales.zh.renderers = $.extend($.pivotUtilities.locales.zh.renderers, $.pivotUtilities.locales.zh.c3_renderers);
}
return $.pivotUtilities.locales.zh;
});
}).call(this);
//# sourceMappingURL=pivot.zh.js.map
{"version":3,"file":"pivot.zh.js","sources":["pivot.zh.coffee"],"names":[],"mappings":"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","sourcesContent":["# example: http://zhoulvjun.github.io/2016/02/08/pivottable/\r\n\r\ncallWithJQuery = (pivotModule) ->\r\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\r\n pivotModule require(\"jquery\")\r\n else if typeof define is \"function\" and define.amd # AMD\r\n define [\"jquery\"], pivotModule\r\n # Plain browser env\r\n else\r\n pivotModule jQuery\r\n \r\ncallWithJQuery ($) ->\r\n nf = $.pivotUtilities.numberFormat\r\n tpl = $.pivotUtilities.aggregatorTemplates\r\n r = $.pivotUtilities.renderers\r\n gcr = $.pivotUtilities.gchart_renderers\r\n d3r = $.pivotUtilities.d3_renderers\r\n c3r = $.pivotUtilities.c3_renderers\r\n\r\n frFmt = nf(thousandsSep: \",\", decimalSep: \".\")\r\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \",\", decimalSep: \".\")\r\n frFmtPct = nf(digitsAfterDecimal: 2, scaler: 100, suffix: \"%\", thousandsSep: \",\", decimalSep: \".\")\r\n\r\n $.pivotUtilities.locales.zh = \r\n\r\n localeStrings:\r\n renderError: \"展示结果时出错。\"\r\n computeError: \"计算结果时出错。\"\r\n uiRenderError: \"展示界面时出错。\"\r\n selectAll: \"选择全部\"\r\n selectNone: \"全部不选\"\r\n tooMany: \"(因数据过多而无法列出)\"\r\n filterResults: \"输入值帮助筛选\"\r\n totals: \"合计\"\r\n vs: \"于\"\r\n by: \"分组于\"\r\n\r\n aggregators:\r\n \"频数\": tpl.count(frFmtInt)\r\n \"非重复值的个数\": tpl.countUnique(frFmtInt)\r\n \"列出非重复值\": tpl.listUnique(\", \")\r\n \"求和\": tpl.sum(frFmt)\r\n \"求和后取整\": tpl.sum(frFmtInt)\r\n \"平均值\": tpl.average(frFmt)\r\n \"中位数\": tpl.median(frFmt)\r\n \"方差\": tpl.var(1, frFmt)\r\n \"样本标准偏差\": tpl.stdev(1, frFmt)\r\n \"最小值\": tpl.min(frFmt)\r\n \"最大值\": tpl.max(frFmt)\r\n \"第一\": tpl.first(frFmt)\r\n \"最后\": tpl.last(frFmt)\r\n \"两和之比\": tpl.sumOverSum(frFmt)\r\n \"二项分布:置信度为80%时的区间上限\": tpl.sumOverSumBound80(true, frFmt)\r\n \"二项分布:置信度为80%时的区间下限\": tpl.sumOverSumBound80(false, frFmt)\r\n \"和在总计中的比例\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\r\n \"和在行合计中的比例\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\r\n \"和在列合计中的比例\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\r\n \"频数在总计中的比例\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\r\n \"频数在行合计中的比例\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\r\n \"频数在列合计中的比例\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\r\n\r\n renderers:\r\n \"表格\": r[\"Table\"]\r\n \"表格内柱状图\": r[\"Table Barchart\"]\r\n \"热图\": r[\"Heatmap\"]\r\n \"行热图\": r[\"Row Heatmap\"]\r\n \"列热图\": r[\"Col Heatmap\"]\r\n \r\n if gcr\r\n $.pivotUtilities.locales.zh.gchart_renderers =\r\n \"折线图(g)\": gcr[\"Line Chart\"]\r\n \"柱形图(g)\": gcr[\"Bar Chart\"]\r\n \"堆栈柱形图(g)\": gcr[\"Stacked Bar Chart\"]\r\n \"面积图(g)\": gcr[\"Area Chart\"]\r\n $.pivotUtilities.locales.zh.renderers = $.extend(\r\n $.pivotUtilities.locales.zh.renderers,\r\n $.pivotUtilities.locales.zh.gchart_renderers)\r\n\r\n if d3r\r\n $.pivotUtilities.locales.zh.d3_renderers =\r\n \"树图\": d3r[\"Treemap\"]\r\n $.pivotUtilities.locales.zh.renderers = $.extend(\r\n $.pivotUtilities.locales.zh.renderers,\r\n $.pivotUtilities.locales.zh.d3_renderers)\r\n\r\n if c3r\r\n $.pivotUtilities.locales.zh.c3_renderers = \r\n \"折线图\": c3r[\"Line Chart\"]\r\n \"柱形图\": c3r[\"Bar Chart\"]\r\n \"堆栈柱形图\": c3r[\"Stacked Bar Chart\"]\r\n \"面积图\": c3r[\"Area Chart\"]\r\n \"散点图\": c3r[\"Scatter Chart\"]\r\n $.pivotUtilities.locales.zh.renderers = $.extend(\r\n $.pivotUtilities.locales.zh.renderers,\r\n $.pivotUtilities.locales.zh.c3_renderers)\r\n\r\n return $.pivotUtilities.locales.zh\r\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.zh.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.zh.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var t,r,i,s,a,o,l,n,c;return l=e.pivotUtilities.numberFormat,c=e.pivotUtilities.aggregatorTemplates,n=e.pivotUtilities.renderers,o=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,t=e.pivotUtilities.c3_renderers,i=l({thousandsSep:",",decimalSep:"."}),s=l({digitsAfterDecimal:0,thousandsSep:",",decimalSep:"."}),a=l({digitsAfterDecimal:2,scaler:100,suffix:"%",thousandsSep:",",decimalSep:"."}),e.pivotUtilities.locales.zh={localeStrings:{renderError:"展示结果时出错。",computeError:"计算结果时出错。",uiRenderError:"展示界面时出错。",selectAll:"选择全部",selectNone:"全部不选",tooMany:"(因数据过多而无法列出)",filterResults:"输入值帮助筛选",totals:"合计",vs:"",by:"分组于"},aggregators:{"频数":c.count(s),"非重复值的个数":c.countUnique(s),"列出非重复值":c.listUnique(", "),"求和":c.sum(i),"求和后取整":c.sum(s),"平均值":c.average(i),"中位数":c.median(i),"方差":c["var"](1,i),"样本标准偏差":c.stdev(1,i),"最小值":c.min(i),"最大值":c.max(i),"第一":c.first(i),"最后":c.last(i),"两和之比":c.sumOverSum(i),"二项分布:置信度为80%时的区间上限":c.sumOverSumBound80(!0,i),"二项分布:置信度为80%时的区间下限":c.sumOverSumBound80(!1,i),"和在总计中的比例":c.fractionOf(c.sum(),"total",a),"和在行合计中的比例":c.fractionOf(c.sum(),"row",a),"和在列合计中的比例":c.fractionOf(c.sum(),"col",a),"频数在总计中的比例":c.fractionOf(c.count(),"total",a),"频数在行合计中的比例":c.fractionOf(c.count(),"row",a),"频数在列合计中的比例":c.fractionOf(c.count(),"col",a)},renderers:{"表格":n.Table,"表格内柱状图":n["Table Barchart"],"热图":n.Heatmap,"行热图":n["Row Heatmap"],"列热图":n["Col Heatmap"]}},o&&(e.pivotUtilities.locales.zh.gchart_renderers={"折线图(g)":o["Line Chart"],"柱形图(g)":o["Bar Chart"],"堆栈柱形图(g)":o["Stacked Bar Chart"],"面积图(g)":o["Area Chart"]},e.pivotUtilities.locales.zh.renderers=e.extend(e.pivotUtilities.locales.zh.renderers,e.pivotUtilities.locales.zh.gchart_renderers)),r&&(e.pivotUtilities.locales.zh.d3_renderers={"树图":r.Treemap},e.pivotUtilities.locales.zh.renderers=e.extend(e.pivotUtilities.locales.zh.renderers,e.pivotUtilities.locales.zh.d3_renderers)),t&&(e.pivotUtilities.locales.zh.c3_renderers={"折线图":t["Line Chart"],"柱形图":t["Bar Chart"],"堆栈柱形图":t["Stacked Bar Chart"],"面积图":t["Area Chart"],"散点图":t["Scatter Chart"]},e.pivotUtilities.locales.zh.renderers=e.extend(e.pivotUtilities.locales.zh.renderers,e.pivotUtilities.locales.zh.c3_renderers)),e.pivotUtilities.locales.zh})}).call(this);
//# sourceMappingURL=pivot.zh.min.js.map
{"version":3,"sources":["pivot.zh.coffee","pivot.zh.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","c3r","d3r","frFmt","frFmtInt","frFmtPct","gcr","nf","r","tpl","pivotUtilities","numberFormat","aggregatorTemplates","renderers","gchart_renderers","d3_renderers","c3_renderers","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","zh","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","频数","count","非重复值的个数","countUnique","列出非重复值","listUnique","求和","sum","求和后取整","平均值","average","中位数","median","方差","样本标准偏差","stdev","最小值","min","最大值","max","第一","first","最后","last","两和之比","sumOverSum","二项分布:置信度为80%时的区间上限","sumOverSumBound80","二项分布:置信度为80%时的区间下限","和在总计中的比例","fractionOf","和在行合计中的比例","和在列合计中的比例","频数在总计中的比例","频数在行合计中的比例","频数在列合计中的比例","表格","表格内柱状图","热图","行热图","列热图","折线图(g)","柱形图(g)","堆栈柱形图(g)","面积图(g)","extend","树图","折线图","柱形图","堆栈柱形图","面积图","散点图","call","this"],"mappings":"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","file":"pivot.zh.min.js","sourcesContent":["# example: http://zhoulvjun.github.io/2016/02/08/pivottable/\r\n\r\ncallWithJQuery = (pivotModule) ->\r\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\r\n pivotModule require(\"jquery\")\r\n else if typeof define is \"function\" and define.amd # AMD\r\n define [\"jquery\"], pivotModule\r\n # Plain browser env\r\n else\r\n pivotModule jQuery\r\n \r\ncallWithJQuery ($) ->\r\n nf = $.pivotUtilities.numberFormat\r\n tpl = $.pivotUtilities.aggregatorTemplates\r\n r = $.pivotUtilities.renderers\r\n gcr = $.pivotUtilities.gchart_renderers\r\n d3r = $.pivotUtilities.d3_renderers\r\n c3r = $.pivotUtilities.c3_renderers\r\n\r\n frFmt = nf(thousandsSep: \",\", decimalSep: \".\")\r\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \",\", decimalSep: \".\")\r\n frFmtPct = nf(digitsAfterDecimal: 2, scaler: 100, suffix: \"%\", thousandsSep: \",\", decimalSep: \".\")\r\n\r\n $.pivotUtilities.locales.zh = \r\n\r\n localeStrings:\r\n renderError: \"展示结果时出错。\"\r\n computeError: \"计算结果时出错。\"\r\n uiRenderError: \"展示界面时出错。\"\r\n selectAll: \"选择全部\"\r\n selectNone: \"全部不选\"\r\n tooMany: \"(因数据过多而无法列出)\"\r\n filterResults: \"输入值帮助筛选\"\r\n totals: \"合计\"\r\n vs: \"于\"\r\n by: \"分组于\"\r\n\r\n aggregators:\r\n \"频数\": tpl.count(frFmtInt)\r\n \"非重复值的个数\": tpl.countUnique(frFmtInt)\r\n \"列出非重复值\": tpl.listUnique(\", \")\r\n \"求和\": tpl.sum(frFmt)\r\n \"求和后取整\": tpl.sum(frFmtInt)\r\n \"平均值\": tpl.average(frFmt)\r\n \"中位数\": tpl.median(frFmt)\r\n \"方差\": tpl.var(1, frFmt)\r\n \"样本标准偏差\": tpl.stdev(1, frFmt)\r\n \"最小值\": tpl.min(frFmt)\r\n \"最大值\": tpl.max(frFmt)\r\n \"第一\": tpl.first(frFmt)\r\n \"最后\": tpl.last(frFmt)\r\n \"两和之比\": tpl.sumOverSum(frFmt)\r\n \"二项分布:置信度为80%时的区间上限\": tpl.sumOverSumBound80(true, frFmt)\r\n \"二项分布:置信度为80%时的区间下限\": tpl.sumOverSumBound80(false, frFmt)\r\n \"和在总计中的比例\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\r\n \"和在行合计中的比例\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\r\n \"和在列合计中的比例\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\r\n \"频数在总计中的比例\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\r\n \"频数在行合计中的比例\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\r\n \"频数在列合计中的比例\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\r\n\r\n renderers:\r\n \"表格\": r[\"Table\"]\r\n \"表格内柱状图\": r[\"Table Barchart\"]\r\n \"热图\": r[\"Heatmap\"]\r\n \"行热图\": r[\"Row Heatmap\"]\r\n \"列热图\": r[\"Col Heatmap\"]\r\n \r\n if gcr\r\n $.pivotUtilities.locales.zh.gchart_renderers =\r\n \"折线图(g)\": gcr[\"Line Chart\"]\r\n \"柱形图(g)\": gcr[\"Bar Chart\"]\r\n \"堆栈柱形图(g)\": gcr[\"Stacked Bar Chart\"]\r\n \"面积图(g)\": gcr[\"Area Chart\"]\r\n $.pivotUtilities.locales.zh.renderers = $.extend(\r\n $.pivotUtilities.locales.zh.renderers,\r\n $.pivotUtilities.locales.zh.gchart_renderers)\r\n\r\n if d3r\r\n $.pivotUtilities.locales.zh.d3_renderers =\r\n \"树图\": d3r[\"Treemap\"]\r\n $.pivotUtilities.locales.zh.renderers = $.extend(\r\n $.pivotUtilities.locales.zh.renderers,\r\n $.pivotUtilities.locales.zh.d3_renderers)\r\n\r\n if c3r\r\n $.pivotUtilities.locales.zh.c3_renderers = \r\n \"折线图\": c3r[\"Line Chart\"]\r\n \"柱形图\": c3r[\"Bar Chart\"]\r\n \"堆栈柱形图\": c3r[\"Stacked Bar Chart\"]\r\n \"面积图\": c3r[\"Area Chart\"]\r\n \"散点图\": c3r[\"Scatter Chart\"]\r\n $.pivotUtilities.locales.zh.renderers = $.extend(\r\n $.pivotUtilities.locales.zh.renderers,\r\n $.pivotUtilities.locales.zh.c3_renderers)\r\n\r\n return $.pivotUtilities.locales.zh\r\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var c3r, d3r, frFmt, frFmtInt, frFmtPct, gcr, nf, r, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n r = $.pivotUtilities.renderers;\n gcr = $.pivotUtilities.gchart_renderers;\n d3r = $.pivotUtilities.d3_renderers;\n c3r = $.pivotUtilities.c3_renderers;\n frFmt = nf({\n thousandsSep: \",\",\n decimalSep: \".\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \",\",\n decimalSep: \".\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 2,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \",\",\n decimalSep: \".\"\n });\n $.pivotUtilities.locales.zh = {\n localeStrings: {\n renderError: \"展示结果时出错。\",\n computeError: \"计算结果时出错。\",\n uiRenderError: \"展示界面时出错。\",\n selectAll: \"选择全部\",\n selectNone: \"全部不选\",\n tooMany: \"(因数据过多而无法列出)\",\n filterResults: \"输入值帮助筛选\",\n totals: \"合计\",\n vs: \"于\",\n by: \"分组于\"\n },\n aggregators: {\n \"频数\": tpl.count(frFmtInt),\n \"非重复值的个数\": tpl.countUnique(frFmtInt),\n \"列出非重复值\": tpl.listUnique(\", \"),\n \"求和\": tpl.sum(frFmt),\n \"求和后取整\": tpl.sum(frFmtInt),\n \"平均值\": tpl.average(frFmt),\n \"中位数\": tpl.median(frFmt),\n \"方差\": tpl[\"var\"](1, frFmt),\n \"样本标准偏差\": tpl.stdev(1, frFmt),\n \"最小值\": tpl.min(frFmt),\n \"最大值\": tpl.max(frFmt),\n \"第一\": tpl.first(frFmt),\n \"最后\": tpl.last(frFmt),\n \"两和之比\": tpl.sumOverSum(frFmt),\n \"二项分布:置信度为80%时的区间上限\": tpl.sumOverSumBound80(true, frFmt),\n \"二项分布:置信度为80%时的区间下限\": tpl.sumOverSumBound80(false, frFmt),\n \"和在总计中的比例\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"和在行合计中的比例\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"和在列合计中的比例\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"频数在总计中的比例\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"频数在行合计中的比例\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"频数在列合计中的比例\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"表格\": r[\"Table\"],\n \"表格内柱状图\": r[\"Table Barchart\"],\n \"热图\": r[\"Heatmap\"],\n \"行热图\": r[\"Row Heatmap\"],\n \"列热图\": r[\"Col Heatmap\"]\n }\n };\n if (gcr) {\n $.pivotUtilities.locales.zh.gchart_renderers = {\n \"折线图(g)\": gcr[\"Line Chart\"],\n \"柱形图(g)\": gcr[\"Bar Chart\"],\n \"堆栈柱形图(g)\": gcr[\"Stacked Bar Chart\"],\n \"面积图(g)\": gcr[\"Area Chart\"]\n };\n $.pivotUtilities.locales.zh.renderers = $.extend($.pivotUtilities.locales.zh.renderers, $.pivotUtilities.locales.zh.gchart_renderers);\n }\n if (d3r) {\n $.pivotUtilities.locales.zh.d3_renderers = {\n \"树图\": d3r[\"Treemap\"]\n };\n $.pivotUtilities.locales.zh.renderers = $.extend($.pivotUtilities.locales.zh.renderers, $.pivotUtilities.locales.zh.d3_renderers);\n }\n if (c3r) {\n $.pivotUtilities.locales.zh.c3_renderers = {\n \"折线图\": c3r[\"Line Chart\"],\n \"柱形图\": c3r[\"Bar Chart\"],\n \"堆栈柱形图\": c3r[\"Stacked Bar Chart\"],\n \"面积图\": c3r[\"Area Chart\"],\n \"散点图\": c3r[\"Scatter Chart\"]\n };\n $.pivotUtilities.locales.zh.renderers = $.extend($.pivotUtilities.locales.zh.renderers, $.pivotUtilities.locales.zh.c3_renderers);\n }\n return $.pivotUtilities.locales.zh;\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.zh.js.map\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.zh.min.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot.zh.min.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function() {
var fixtureData, raggedFixtureData;
fixtureData = [["name", "gender", "colour", "birthday", "trials", "successes"], ["Nick", "male", "blue", "1982-11-07", 103, 12], ["Jane", "female", "red", "1982-11-08", 95, 25], ["John", "male", "blue", "1982-12-08", 112, 30], ["Carol", "female", "yellow", "1983-12-08", 102, 14]];
raggedFixtureData = [
{
name: "Nick",
"colour": "red",
"age": 34
}, {
name: "Jane",
"gender": "female"
}, {
name: "John",
"gender": "male",
"age": 12
}, {
name: "Jim",
"gender": null,
"age": 12
}
];
describe("$.pivotUI()", function() {
describe("with no rows/cols, default count aggregator, default TableRenderer", function() {
var table;
table = null;
beforeEach(function(done) {
return table = $("<div>").pivotUI(fixtureData, {
onRefresh: done
});
});
it("has all the basic UI elements", function(done) {
expect(table.find("td.pvtAxisContainer").length).toBe(3);
expect(table.find("td.pvtRendererArea").length).toBe(1);
expect(table.find("td.pvtVals").length).toBe(1);
expect(table.find("select.pvtRenderer").length).toBe(1);
expect(table.find("select.pvtAggregator").length).toBe(1);
expect(table.find("span.pvtAttr").length).toBe(6);
return done();
});
it("reflects its inputs", function(done) {
expect(table.find("td.pvtUnused span.pvtAttr").length).toBe(6);
expect(table.find("select.pvtRenderer").val()).toBe("Table");
expect(table.find("select.pvtAggregator").val()).toBe("Count");
return done();
});
it("renders a table", function(done) {
expect(table.find("table.pvtTable").length).toBe(1);
return done();
});
return describe("its renderer output", function() {
it("has the correct type and number of cells", function(done) {
expect(table.find("th.pvtTotalLabel").length).toBe(1);
expect(table.find("td.pvtGrandTotal").length).toBe(1);
return done();
});
it("has the correct textual representation", function(done) {
expect(table.find("table.pvtTable").text()).toBe(["Totals", "4"].join(""));
return done();
});
return it("has a correct grand total with data value", function(done) {
expect(table.find("td.pvtGrandTotal").text()).toBe("4");
expect(table.find("td.pvtGrandTotal").data("value")).toBe(4);
return done();
});
});
});
describe("with rows/cols, sum-over-sum aggregator, Heatmap renderer", function() {
var table;
table = null;
beforeEach(function(done) {
return table = $("<div>").pivotUI(fixtureData, {
rows: ["gender"],
cols: ["colour"],
aggregatorName: "Sum over Sum",
vals: ["successes", "trials"],
rendererName: "Heatmap",
onRefresh: done
});
});
it("has all the basic UI elements", function(done) {
expect(table.find("td.pvtAxisContainer").length).toBe(3);
expect(table.find("td.pvtRendererArea").length).toBe(1);
expect(table.find("td.pvtVals").length).toBe(1);
expect(table.find("select.pvtRenderer").length).toBe(1);
expect(table.find("select.pvtAggregator").length).toBe(1);
expect(table.find("span.pvtAttr").length).toBe(6);
return done();
});
it("reflects its inputs", function(done) {
expect(table.find("td.pvtUnused span.pvtAttr").length).toBe(4);
expect(table.find("td.pvtRows span.pvtAttr").length).toBe(1);
expect(table.find("td.pvtCols span.pvtAttr").length).toBe(1);
expect(table.find("select.pvtRenderer").val()).toBe("Heatmap");
expect(table.find("select.pvtAggregator").val()).toBe("Sum over Sum");
return done();
});
it("renders a table", function(done) {
expect(table.find("table.pvtTable").length).toBe(1);
return done();
});
return describe("its renderer output", function() {
it("has the correct type and number of cells", function(done) {
expect(table.find("th.pvtAxisLabel").length).toBe(2);
expect(table.find("th.pvtRowLabel").length).toBe(2);
expect(table.find("th.pvtColLabel").length).toBe(3);
expect(table.find("th.pvtTotalLabel").length).toBe(2);
expect(table.find("td.pvtVal").length).toBe(6);
expect(table.find("td.pvtTotal").length).toBe(5);
expect(table.find("td.pvtGrandTotal").length).toBe(1);
return done();
});
it("has the correct textual representation", function(done) {
expect(table.find("table.pvtTable").text()).toBe(["colour", "blue", "red", "yellow", "Totals", "gender", "female", "0.26", "0.14", "0.20", "male", "0.20", "0.20", "Totals", "0.20", "0.26", "0.14", "0.20"].join(""));
return done();
});
return it("has a correct spot-checked cell with data value", function(done) {
expect(table.find("td.col0.row1").text()).toBe("0.20");
expect(table.find("td.col0.row1").data("value")).toBe((12 + 30) / (103 + 112));
return done();
});
});
});
return describe("with ragged input", function() {
var table;
table = $("<div>").pivotUI(raggedFixtureData, {
rows: ["gender"],
cols: ["age"]
});
return it("renders a table with the correct textual representation", function() {
return expect(table.find("table.pvtTable").text()).toBe(["age", "12", "34", "null", "Totals", "gender", "female", "1", "1", "male", "1", "1", "null", "1", "1", "2", "Totals", "2", "1", "1", "4"].join(""));
});
});
});
describe("$.pivot()", function() {
describe("with no rows/cols, default count aggregator, default TableRenderer", function() {
var table;
table = $("<div>").pivot(fixtureData);
it("renders a table", function() {
return expect(table.find("table.pvtTable").length).toBe(1);
});
return describe("its renderer output", function() {
it("has the correct textual representation", function() {
return expect(table.find("table.pvtTable").text()).toBe(["Totals", "4"].join(""));
});
return it("has a correct grand total with data value", function() {
expect(table.find("td.pvtGrandTotal").text()).toBe("4");
return expect(table.find("td.pvtGrandTotal").data("value")).toBe(4);
});
});
});
describe("with rows/cols, sum aggregator, derivedAttributes, filter and sorters", function() {
var aggregators, derivers, ref, sortAs, table;
ref = $.pivotUtilities, sortAs = ref.sortAs, derivers = ref.derivers, aggregators = ref.aggregators;
table = $("<div>").pivot(fixtureData, {
rows: ["gender"],
cols: ["birthyear"],
aggregator: aggregators["Sum"](["trialbins"]),
filter: function(record) {
return record.name !== "Nick";
},
derivedAttributes: {
birthyear: derivers.dateFormat("birthday", "%y"),
trialbins: derivers.bin("trials", 10)
},
sorters: function(attr) {
if (attr === "gender") {
return sortAs(["male", "female"]);
}
}
});
return it("renders a table with the correct textual representation", function() {
return expect(table.find("table.pvtTable").text()).toBe(["birthyear", "1982", "1983", "Totals", "gender", "male", "110.00", "110.00", "female", "90.00", "100.00", "190.00", "Totals", "200.00", "100.00", "300.00"].join(""));
});
});
describe("with rows/cols, fraction-of aggregator", function() {
var aggregators, table;
aggregators = $.pivotUtilities.aggregators;
table = $("<div>").pivot(fixtureData, {
rows: ["gender"],
aggregator: aggregators["Sum as Fraction of Total"](["trials"])
});
return it("renders a table with the correct textual representation", function() {
return expect(table.find("table.pvtTable").text()).toBe(["gender", "Totals", "female", "47.8%", "male", "52.2%", "Totals", "100.0%"].join(""));
});
});
describe("with rows/cols, custom aggregator, custom renderer with options", function() {
var received_PivotData, received_rendererOptions, table;
received_PivotData = null;
received_rendererOptions = null;
table = $("<div>").pivot(fixtureData, {
rows: ["name", "colour"],
cols: ["trials", "successes"],
aggregator: function() {
return {
count2x: 0,
push: function() {
return this.count2x += 2;
},
value: function() {
return this.count2x;
},
format: function(x) {
return "formatted " + x;
}
};
},
renderer: function(a, b) {
received_PivotData = a;
received_rendererOptions = b;
return $("<div>").addClass(b.greeting).text("world");
},
rendererOptions: {
greeting: "hithere"
}
});
it("renders the custom renderer as per options", function() {
return expect(table.find("div.hithere").length).toBe(1);
});
return describe("its received PivotData object", function() {
return it("has a correct grand total value and format for custom aggregator", function() {
var agg, val;
agg = received_PivotData.getAggregator([], []);
val = agg.value();
expect(val).toBe(8);
return expect(agg.format(val)).toBe("formatted 8");
});
});
});
return describe("with ragged input", function() {
var table;
table = $("<div>").pivot(raggedFixtureData, {
rows: ["gender"],
cols: ["age"]
});
return it("renders a table with the correct textual representation", function() {
return expect(table.find("table.pvtTable").text()).toBe(["age", "12", "34", "null", "Totals", "gender", "female", "1", "1", "male", "1", "1", "null", "1", "1", "2", "Totals", "2", "1", "1", "4"].join(""));
});
});
});
describe("$.pivotUtilities", function() {
describe(".PivotData()", function() {
var sumOverSumOpts;
sumOverSumOpts = {
aggregator: $.pivotUtilities.aggregators["Sum over Sum"](["a", "b"])
};
describe("with no options", function() {
var aoaInput, pd;
aoaInput = [["a", "b"], [1, 2], [3, 4]];
pd = new $.pivotUtilities.PivotData(aoaInput);
return it("has the correct grand total value", function() {
return expect(pd.getAggregator([], []).value()).toBe(2);
});
});
describe("with array-of-array input", function() {
var aoaInput, pd;
aoaInput = [["a", "b"], [1, 2], [3, 4]];
pd = new $.pivotUtilities.PivotData(aoaInput, sumOverSumOpts);
return it("has the correct grand total value", function() {
return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));
});
});
describe("with array-of-object input", function() {
var aosInput, pd;
aosInput = [
{
a: 1,
b: 2
}, {
a: 3,
b: 4
}
];
pd = new $.pivotUtilities.PivotData(aosInput, sumOverSumOpts);
return it("has the correct grand total value", function() {
return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));
});
});
describe("with ragged array-of-object input", function() {
var pd, raggedAosInput;
raggedAosInput = [
{
a: 1
}, {
b: 4
}, {
a: 3,
b: 2
}
];
pd = new $.pivotUtilities.PivotData(raggedAosInput, sumOverSumOpts);
return it("has the correct grand total value", function() {
return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));
});
});
describe("with function input", function() {
var functionInput, pd;
functionInput = function(record) {
record({
a: 1,
b: 2
});
return record({
a: 3,
b: 4
});
};
pd = new $.pivotUtilities.PivotData(functionInput, sumOverSumOpts);
return it("has the correct grand total value", function() {
return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));
});
});
describe("with jQuery table element input", function() {
var pd, tableInput;
tableInput = $("<table>\n <thead>\n <tr> <th>a</th><th>b</th> </tr>\n </thead>\n <tbody>\n <tr> <td>1</td> <td>2</td> </tr>\n <tr> <td>3</td> <td>4</td> </tr>\n </tbody>\n</table>");
pd = new $.pivotUtilities.PivotData(tableInput, sumOverSumOpts);
return it("has the correct grand total value", function() {
return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));
});
});
return describe("with rows/cols", function() {
var pd;
pd = new $.pivotUtilities.PivotData(fixtureData, {
rows: ["name", "colour"],
cols: ["trials", "successes"]
});
it("has correctly-ordered row keys", function() {
return expect(pd.getRowKeys()).toEqual([['Carol', 'yellow'], ['Jane', 'red'], ['John', 'blue'], ['Nick', 'blue']]);
});
it("has correctly-ordered col keys", function() {
return expect(pd.getColKeys()).toEqual([[95, 25], [102, 14], [103, 12], [112, 30]]);
});
it("can be iterated over", function() {
var c, i, j, len, len1, numNotNull, numNull, r, ref, ref1;
numNotNull = 0;
numNull = 0;
ref = pd.getRowKeys();
for (i = 0, len = ref.length; i < len; i++) {
r = ref[i];
ref1 = pd.getColKeys();
for (j = 0, len1 = ref1.length; j < len1; j++) {
c = ref1[j];
if (pd.getAggregator(r, c).value() != null) {
numNotNull++;
} else {
numNull++;
}
}
}
expect(numNotNull).toBe(4);
return expect(numNull).toBe(12);
});
it("returns matching records", function() {
var records;
records = [];
pd.forEachMatchingRecord({
gender: "male"
}, function(x) {
return records.push(x.name);
});
return expect(records).toEqual(["Nick", "John"]);
});
it("has a correct spot-checked aggregator", function() {
var agg, val;
agg = pd.getAggregator(['Carol', 'yellow'], [102, 14]);
val = agg.value();
expect(val).toBe(1);
return expect(agg.format(val)).toBe("1");
});
return it("has a correct grand total aggregator", function() {
var agg, val;
agg = pd.getAggregator([], []);
val = agg.value();
expect(val).toBe(4);
return expect(agg.format(val)).toBe("4");
});
});
});
describe(".aggregatorTemplates", function() {
var getVal, tpl;
getVal = function(aggregator) {
var pd;
pd = new $.pivotUtilities.PivotData(fixtureData, {
aggregator: aggregator
});
return pd.getAggregator([], []).value();
};
tpl = $.pivotUtilities.aggregatorTemplates;
describe(".count", function() {
return it("works", function() {
return expect(getVal(tpl.count()())).toBe(4);
});
});
describe(".countUnique", function() {
return it("works", function() {
return expect(getVal(tpl.countUnique()(['gender']))).toBe(2);
});
});
describe(".listUnique", function() {
return it("works", function() {
return expect(getVal(tpl.listUnique()(['gender']))).toBe('male,female');
});
});
describe(".average", function() {
return it("works", function() {
return expect(getVal(tpl.average()(['trials']))).toBe(103);
});
});
describe(".sum", function() {
return it("works", function() {
return expect(getVal(tpl.sum()(['trials']))).toBe(412);
});
});
describe(".min", function() {
return it("works", function() {
return expect(getVal(tpl.min()(['trials']))).toBe(95);
});
});
describe(".max", function() {
return it("works", function() {
return expect(getVal(tpl.max()(['trials']))).toBe(112);
});
});
describe(".first", function() {
return it("works", function() {
return expect(getVal(tpl.first()(['name']))).toBe('Carol');
});
});
describe(".last", function() {
return it("works", function() {
return expect(getVal(tpl.last()(['name']))).toBe('Nick');
});
});
describe(".average", function() {
return it("works", function() {
return expect(getVal(tpl.average()(['trials']))).toBe(103);
});
});
describe(".median", function() {
return it("works", function() {
return expect(getVal(tpl.median()(['trials']))).toBe(102.5);
});
});
describe(".quantile", function() {
return it("works", function() {
expect(getVal(tpl.quantile(0)(['trials']))).toBe(95);
expect(getVal(tpl.quantile(0.1)(['trials']))).toBe(98.5);
expect(getVal(tpl.quantile(0.25)(['trials']))).toBe(98.5);
expect(getVal(tpl.quantile(1 / 3)(['trials']))).toBe(102);
return expect(getVal(tpl.quantile(1)(['trials']))).toBe(112);
});
});
describe(".var", function() {
return it("works", function() {
return expect(getVal(tpl["var"]()(['trials']))).toBe(48.666666666666686);
});
});
describe(".stdev", function() {
return it("works", function() {
return expect(getVal(tpl.stdev()(['trials']))).toBe(6.976149845485451);
});
});
return describe(".sumOverSum", function() {
return it("works", function() {
return expect(getVal(tpl.sumOverSum()(['successes', 'trials']))).toBe((12 + 25 + 30 + 14) / (95 + 102 + 103 + 112));
});
});
});
describe(".naturalSort()", function() {
var naturalSort, sortedArr;
naturalSort = $.pivotUtilities.naturalSort;
sortedArr = [null, 0/0, -2e308, '-Infinity', -3, '-3', -2, '-2', -1, '-1', 0, '2e-1', 1, '01', '1', 2, '002', '002e0', '02', '2', '2e-0', 3, 10, '10', '11', '12', '1e2', '112', 2e308, 'Infinity', '1a', '2a', '12a', '20a', 'A', 'A', 'NaN', 'a', 'a', 'a01', 'a012', 'a02', 'a1', 'a2', 'a12', 'a12', 'a21', 'a21', 'b', 'c', 'd', 'null'];
return it("sorts naturally (null, NaN, numbers & numbery strings, Alphanum for text strings)", function() {
return expect(sortedArr.slice().sort(naturalSort)).toEqual(sortedArr);
});
});
describe(".sortAs()", function() {
var sortAs;
sortAs = $.pivotUtilities.sortAs;
it("sorts with unknown values sorted at the end", function() {
return expect([5, 2, 3, 4, 1].sort(sortAs([4, 3, 2]))).toEqual([4, 3, 2, 1, 5]);
});
return it("sorts lowercase after uppercase", function() {
return expect(["Ab", "aA", "aa", "ab"].sort(sortAs(["Ab", "Aa"]))).toEqual(["Ab", "ab", "aa", "aA"]);
});
});
describe(".numberFormat()", function() {
var numberFormat;
numberFormat = $.pivotUtilities.numberFormat;
it("formats numbers", function() {
var nf;
nf = numberFormat();
return expect(nf(1234567.89123456)).toEqual("1,234,567.89");
});
it("formats booleans", function() {
var nf;
nf = numberFormat();
return expect(nf(true)).toEqual("1.00");
});
it("formats numbers in strings", function() {
var nf;
nf = numberFormat();
return expect(nf("1234567.89123456")).toEqual("1,234,567.89");
});
it("doesn't formats strings", function() {
var nf;
nf = numberFormat();
return expect(nf("hi there")).toEqual("");
});
it("doesn't formats objects", function() {
var nf;
nf = numberFormat();
return expect(nf({
a: 1
})).toEqual("");
});
it("formats percentages", function() {
var nf;
nf = numberFormat({
scaler: 100,
suffix: "%"
});
return expect(nf(0.12345)).toEqual("12.35%");
});
it("adds separators", function() {
var nf;
nf = numberFormat({
thousandsSep: "a",
decimalSep: "b"
});
return expect(nf(1234567.89123456)).toEqual("1a234a567b89");
});
it("adds prefixes and suffixes", function() {
var nf;
nf = numberFormat({
prefix: "a",
suffix: "b"
});
return expect(nf(1234567.89123456)).toEqual("a1,234,567.89b");
});
return it("scales and rounds", function() {
var nf;
nf = numberFormat({
digitsAfterDecimal: 3,
scaler: 1000
});
return expect(nf(1234567.89123456)).toEqual("1,234,567,891.235");
});
});
return describe(".derivers", function() {
describe(".dateFormat()", function() {
var df;
df = $.pivotUtilities.derivers.dateFormat("x", "abc % %% %%% %a %y %m %n %d %w %x %H %M %S", true);
it("formats date objects", function() {
return expect(df({
x: new Date("2015-01-02T23:43:11Z")
})).toBe('abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11');
});
return it("formats input parsed by Date.parse()", function() {
expect(df({
x: "2015-01-02T23:43:11Z"
})).toBe('abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11');
return expect(df({
x: "bla"
})).toBe('');
});
});
return describe(".bin()", function() {
var binner;
binner = $.pivotUtilities.derivers.bin("x", 10);
it("bins numbers", function() {
expect(binner({
x: 11
})).toBe(10);
expect(binner({
x: 9
})).toBe(0);
return expect(binner({
x: 111
})).toBe(110);
});
it("bins booleans", function() {
return expect(binner({
x: true
})).toBe(0);
});
it("bins negative numbers", function() {
return expect(binner({
x: -12
})).toBe(-10);
});
it("doesn't bin strings", function() {
return expect(binner({
x: "a"
})).toBeNaN();
});
return it("doesn't bin objects", function() {
return expect(binner({
x: {
a: 1
}
})).toBeNaN();
});
});
});
});
}).call(this);
//# sourceMappingURL=pivot_spec.js.map
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>pivot_spec.js.map</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>iso-8859-15</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
{"version":3,"file":"pivot_spec.js","sources":["pivot_spec.coffee"],"names":[],"mappings":"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","sourcesContent":["fixtureData = [\n [\"name\", \"gender\", \"colour\", \"birthday\", \"trials\", \"successes\"],\n [\"Nick\", \"male\", \"blue\", \"1982-11-07\", 103, 12],\n [\"Jane\", \"female\", \"red\", \"1982-11-08\", 95, 25],\n [\"John\", \"male\", \"blue\", \"1982-12-08\", 112, 30],\n [\"Carol\", \"female\", \"yellow\", \"1983-12-08\", 102, 14]\n]\n\nraggedFixtureData = [\n {name: \"Nick\", \"colour\": \"red\", \"age\": 34}\n {name: \"Jane\", \"gender\": \"female\"}\n {name: \"John\", \"gender\": \"male\", \"age\": 12}\n {name: \"Jim\", \"gender\": null, \"age\": 12}\n]\n\ndescribe \"$.pivotUI()\", ->\n describe \"with no rows/cols, default count aggregator, default TableRenderer\", ->\n table = null\n\n beforeEach (done) ->\n table = $(\"<div>\").pivotUI fixtureData, onRefresh: done\n it \"has all the basic UI elements\", (done) ->\n expect table.find(\"td.pvtAxisContainer\").length\n .toBe 3\n expect table.find(\"td.pvtRendererArea\").length\n .toBe 1\n expect table.find(\"td.pvtVals\").length\n .toBe 1\n expect table.find(\"select.pvtRenderer\").length\n .toBe 1\n expect table.find(\"select.pvtAggregator\").length\n .toBe 1\n expect table.find(\"span.pvtAttr\").length\n .toBe 6\n done()\n\n it \"reflects its inputs\", (done) ->\n expect table.find(\"td.pvtUnused span.pvtAttr\").length\n .toBe 6\n expect table.find(\"select.pvtRenderer\").val()\n .toBe \"Table\"\n expect table.find(\"select.pvtAggregator\").val()\n .toBe \"Count\"\n done()\n\n it \"renders a table\", (done) ->\n expect table.find(\"table.pvtTable\").length\n .toBe 1\n done()\n\n\n describe \"its renderer output\", ->\n it \"has the correct type and number of cells\", (done) ->\n expect table.find(\"th.pvtTotalLabel\").length\n .toBe 1\n expect table.find(\"td.pvtGrandTotal\").length\n .toBe 1\n done()\n\n it \"has the correct textual representation\", (done) ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\"Totals\", \"4\"].join(\"\")\n done()\n\n it \"has a correct grand total with data value\", (done) ->\n expect table.find(\"td.pvtGrandTotal\").text()\n .toBe \"4\"\n expect table.find(\"td.pvtGrandTotal\").data(\"value\")\n .toBe 4\n done()\n\n describe \"with rows/cols, sum-over-sum aggregator, Heatmap renderer\", ->\n table = null\n\n beforeEach (done) ->\n table = $(\"<div>\").pivotUI fixtureData,\n rows: [\"gender\"], cols: [\"colour\"]\n aggregatorName: \"Sum over Sum\"\n vals: [\"successes\", \"trials\"]\n rendererName: \"Heatmap\"\n onRefresh: done\n\n it \"has all the basic UI elements\", (done) ->\n expect table.find(\"td.pvtAxisContainer\").length\n .toBe 3\n expect table.find(\"td.pvtRendererArea\").length\n .toBe 1\n expect table.find(\"td.pvtVals\").length\n .toBe 1\n expect table.find(\"select.pvtRenderer\").length\n .toBe 1\n expect table.find(\"select.pvtAggregator\").length\n .toBe 1\n expect table.find(\"span.pvtAttr\").length\n .toBe 6\n done()\n\n it \"reflects its inputs\", (done) ->\n expect table.find(\"td.pvtUnused span.pvtAttr\").length\n .toBe 4\n expect table.find(\"td.pvtRows span.pvtAttr\").length\n .toBe 1\n expect table.find(\"td.pvtCols span.pvtAttr\").length\n .toBe 1\n expect table.find(\"select.pvtRenderer\").val()\n .toBe \"Heatmap\"\n expect table.find(\"select.pvtAggregator\").val()\n .toBe \"Sum over Sum\"\n done()\n\n it \"renders a table\", (done) ->\n expect table.find(\"table.pvtTable\").length\n .toBe 1\n done()\n\n describe \"its renderer output\", ->\n it \"has the correct type and number of cells\", (done) ->\n expect table.find(\"th.pvtAxisLabel\").length\n .toBe 2\n expect table.find(\"th.pvtRowLabel\").length\n .toBe 2\n expect table.find(\"th.pvtColLabel\").length\n .toBe 3\n expect table.find(\"th.pvtTotalLabel\").length\n .toBe 2\n expect table.find(\"td.pvtVal\").length\n .toBe 6\n expect table.find(\"td.pvtTotal\").length\n .toBe 5\n expect table.find(\"td.pvtGrandTotal\").length\n .toBe 1\n done()\n\n it \"has the correct textual representation\", (done) ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"colour\", \"blue\", \"red\", \"yellow\", \"Totals\",\n \"gender\",\n \"female\", \"0.26\", \"0.14\", \"0.20\",\n \"male\", \"0.20\", \"0.20\",\n \"Totals\", \"0.20\", \"0.26\", \"0.14\", \"0.20\"\n ].join(\"\")\n done()\n\n it \"has a correct spot-checked cell with data value\", (done) ->\n expect table.find(\"td.col0.row1\").text()\n .toBe \"0.20\"\n expect table.find(\"td.col0.row1\").data(\"value\")\n .toBe (12+30)/(103+112)\n done()\n\n describe \"with ragged input\", ->\n table = $(\"<div>\").pivotUI raggedFixtureData, rows: [\"gender\"], cols: [\"age\"]\n\n it \"renders a table with the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"age\", \"12\", \"34\", \"null\", \"Totals\"\n \"gender\",\n \"female\", \"1\", \"1\"\n \"male\", \"1\", \"1\"\n \"null\", \"1\", \"1\", \"2\"\n \"Totals\", \"2\", \"1\", \"1\", \"4\"\n ].join(\"\")\n\ndescribe \"$.pivot()\", ->\n\n describe \"with no rows/cols, default count aggregator, default TableRenderer\", ->\n table = $(\"<div>\").pivot fixtureData\n\n it \"renders a table\", ->\n expect table.find(\"table.pvtTable\").length\n .toBe 1\n\n describe \"its renderer output\", ->\n\n it \"has the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\"Totals\", \"4\"].join(\"\")\n\n it \"has a correct grand total with data value\", ->\n expect table.find(\"td.pvtGrandTotal\").text()\n .toBe \"4\"\n expect table.find(\"td.pvtGrandTotal\").data(\"value\")\n .toBe 4\n\n describe \"with rows/cols, sum aggregator, derivedAttributes, filter and sorters\", ->\n {sortAs, derivers, aggregators} = $.pivotUtilities\n table = $(\"<div>\").pivot fixtureData,\n rows: [\"gender\"], cols: [\"birthyear\"], aggregator: aggregators[\"Sum\"]([\"trialbins\"])\n filter: (record) -> record.name != \"Nick\"\n derivedAttributes:\n birthyear: derivers.dateFormat \"birthday\", \"%y\"\n trialbins: derivers.bin \"trials\", 10\n sorters: (attr) ->\n if attr == \"gender\" then return sortAs([\"male\", \"female\"])\n\n it \"renders a table with the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"birthyear\", \"1982\", \"1983\", \"Totals\"\n \"gender\",\n \"male\", \"110.00\", \"110.00\"\n \"female\", \"90.00\", \"100.00\", \"190.00\"\n \"Totals\", \"200.00\", \"100.00\", \"300.00\"\n ].join(\"\")\n\n describe \"with rows/cols, fraction-of aggregator\", ->\n {aggregators} = $.pivotUtilities\n table = $(\"<div>\").pivot fixtureData,\n rows: [\"gender\"]\n aggregator: aggregators[\"Sum as Fraction of Total\"]([\"trials\"])\n\n it \"renders a table with the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"gender\", \"Totals\"\n \"female\", \"47.8%\"\n \"male\", \"52.2%\"\n \"Totals\", \"100.0%\"\n ].join(\"\")\n\n describe \"with rows/cols, custom aggregator, custom renderer with options\", ->\n received_PivotData = null\n received_rendererOptions = null\n\n table = $(\"<div>\").pivot fixtureData,\n rows: [\"name\", \"colour\"], cols: [\"trials\", \"successes\"]\n aggregator: ->\n count2x: 0\n push: -> @count2x +=2\n value: -> @count2x\n format: (x) -> \"formatted \" + x\n renderer: (a,b) ->\n received_PivotData = a\n received_rendererOptions = b\n return $(\"<div>\").addClass(b.greeting).text(\"world\")\n rendererOptions: {greeting:\"hithere\"}\n\n it \"renders the custom renderer as per options\", ->\n expect table.find(\"div.hithere\").length\n .toBe 1\n\n describe \"its received PivotData object\", ->\n it \"has a correct grand total value and format for custom aggregator\", ->\n agg = received_PivotData.getAggregator([],[])\n val = agg.value()\n expect(val).toBe 8\n expect(agg.format(val)).toBe \"formatted 8\"\n\n\n describe \"with ragged input\", ->\n table = $(\"<div>\").pivot raggedFixtureData, rows: [\"gender\"], cols: [\"age\"]\n\n it \"renders a table with the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"age\", \"12\", \"34\", \"null\", \"Totals\"\n \"gender\",\n \"female\", \"1\", \"1\"\n \"male\", \"1\", \"1\"\n \"null\", \"1\", \"1\", \"2\"\n \"Totals\", \"2\", \"1\", \"1\", \"4\"\n ].join(\"\")\n\ndescribe \"$.pivotUtilities\", ->\n\n describe \".PivotData()\", ->\n sumOverSumOpts =\n aggregator: $.pivotUtilities.aggregators[\"Sum over Sum\"]([\"a\",\"b\"])\n\n describe \"with no options\", ->\n aoaInput = [ [\"a\",\"b\"], [1,2], [3,4] ]\n pd = new $.pivotUtilities.PivotData aoaInput\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe 2\n\n describe \"with array-of-array input\", ->\n aoaInput = [ [\"a\",\"b\"], [1,2], [3,4] ]\n pd = new $.pivotUtilities.PivotData aoaInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n describe \"with array-of-object input\", ->\n aosInput = [ {a:1, b:2}, {a:3, b:4} ]\n pd = new $.pivotUtilities.PivotData aosInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n describe \"with ragged array-of-object input\", ->\n raggedAosInput = [ {a:1}, {b:4}, {a: 3, b: 2} ]\n pd = new $.pivotUtilities.PivotData raggedAosInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n describe \"with function input\", ->\n functionInput = (record) ->\n record a:1, b:2\n record a:3, b:4\n pd = new $.pivotUtilities.PivotData functionInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n describe \"with jQuery table element input\", ->\n tableInput = $ \"\"\"\n <table>\n <thead>\n <tr> <th>a</th><th>b</th> </tr>\n </thead>\n <tbody>\n <tr> <td>1</td> <td>2</td> </tr>\n <tr> <td>3</td> <td>4</td> </tr>\n </tbody>\n </table>\n \"\"\"\n pd = new $.pivotUtilities.PivotData tableInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n\n describe \"with rows/cols\", ->\n pd = new $.pivotUtilities.PivotData fixtureData,\n rows: [\"name\", \"colour\"],\n cols: [\"trials\", \"successes\"]\n\n it \"has correctly-ordered row keys\", ->\n expect pd.getRowKeys()\n .toEqual [ [ 'Carol', 'yellow' ], [ 'Jane', 'red' ], [ 'John', 'blue' ], [ 'Nick', 'blue' ] ]\n\n it \"has correctly-ordered col keys\", ->\n expect pd.getColKeys()\n .toEqual [ [ 95, 25 ], [ 102, 14 ], [ 103, 12 ], [ 112, 30 ] ]\n\n it \"can be iterated over\", ->\n numNotNull = 0\n numNull = 0\n for r in pd.getRowKeys()\n for c in pd.getColKeys()\n if pd.getAggregator(r, c).value()?\n numNotNull++\n else\n numNull++\n expect numNotNull\n .toBe 4\n expect numNull\n .toBe 12\n\n it \"returns matching records\", ->\n records = []\n pd.forEachMatchingRecord gender: \"male\", (x) -> records.push(x.name)\n expect records\n .toEqual [\"Nick\", \"John\"]\n\n it \"has a correct spot-checked aggregator\", ->\n agg = pd.getAggregator([ 'Carol', 'yellow' ],[ 102, 14 ])\n val = agg.value()\n expect(val).toBe 1\n expect(agg.format(val)).toBe \"1\"\n\n it \"has a correct grand total aggregator\", ->\n agg = pd.getAggregator([],[])\n val = agg.value()\n expect(val).toBe 4\n expect(agg.format(val)).toBe \"4\"\n\n describe \".aggregatorTemplates\", ->\n\n getVal = (aggregator) ->\n pd = new $.pivotUtilities.PivotData(fixtureData, {aggregator})\n return pd.getAggregator([],[]).value()\n tpl = $.pivotUtilities.aggregatorTemplates\n\n describe \".count\", ->\n it \"works\", ->\n expect getVal(tpl.count()())\n .toBe 4\n\n describe \".countUnique\", ->\n it \"works\", ->\n expect getVal(tpl.countUnique()(['gender']))\n .toBe 2\n\n describe \".listUnique\", ->\n it \"works\", ->\n expect getVal(tpl.listUnique()(['gender']))\n .toBe 'male,female'\n\n describe \".average\", ->\n it \"works\", ->\n expect getVal(tpl.average()(['trials']))\n .toBe 103\n\n describe \".sum\", ->\n it \"works\", ->\n expect getVal(tpl.sum()(['trials']))\n .toBe 412\n\n describe \".min\", ->\n it \"works\", ->\n expect getVal(tpl.min()(['trials']))\n .toBe 95\n\n describe \".max\", ->\n it \"works\", ->\n expect getVal(tpl.max()(['trials']))\n .toBe 112\n\n describe \".first\", ->\n it \"works\", ->\n expect getVal(tpl.first()(['name']))\n .toBe 'Carol'\n\n describe \".last\", ->\n it \"works\", ->\n expect getVal(tpl.last()(['name']))\n .toBe 'Nick'\n\n describe \".average\", ->\n it \"works\", ->\n expect getVal(tpl.average()(['trials']))\n .toBe 103\n\n describe \".median\", ->\n it \"works\", ->\n expect getVal(tpl.median()(['trials']))\n .toBe 102.5\n\n describe \".quantile\", ->\n it \"works\", ->\n expect getVal(tpl.quantile(0)(['trials']))\n .toBe 95\n expect getVal(tpl.quantile(0.1)(['trials']))\n .toBe 98.5\n expect getVal(tpl.quantile(0.25)(['trials']))\n .toBe 98.5\n expect getVal(tpl.quantile(1/3)(['trials']))\n .toBe 102\n expect getVal(tpl.quantile(1)(['trials']))\n .toBe 112\n\n describe \".var\", ->\n it \"works\", ->\n expect getVal(tpl.var()(['trials']))\n .toBe 48.666666666666686\n\n describe \".stdev\", ->\n it \"works\", ->\n expect getVal(tpl.stdev()(['trials']))\n .toBe 6.976149845485451\n\n describe \".sumOverSum\", ->\n it \"works\", ->\n expect getVal(tpl.sumOverSum()(['successes', 'trials']))\n .toBe (12+25+30+14)/(95+102+103+112)\n\n describe \".naturalSort()\", ->\n naturalSort = $.pivotUtilities.naturalSort\n\n sortedArr = [\n null, NaN,\n -Infinity, '-Infinity', -3, '-3', -2, '-2', -1, '-1',\n 0, '2e-1', 1, '01', '1', 2, '002', '002e0', '02', '2', '2e-0',\n 3, 10, '10', '11', '12', '1e2', '112', Infinity, 'Infinity',\n '1a', '2a','12a','20a',\n 'A', 'A', 'NaN', 'a', 'a',\n 'a01', 'a012', 'a02', 'a1', 'a2', 'a12', 'a12', 'a21', 'a21',\n 'b', 'c', 'd', 'null'\n ]\n\n it \"sorts naturally (null, NaN, numbers & numbery strings, Alphanum for text strings)\", ->\n expect sortedArr.slice().sort(naturalSort)\n .toEqual sortedArr\n\n describe \".sortAs()\", ->\n sortAs = $.pivotUtilities.sortAs\n\n it \"sorts with unknown values sorted at the end\", ->\n expect [5,2,3,4,1].sort sortAs([4,3,2])\n .toEqual [4,3,2,1,5]\n\n it \"sorts lowercase after uppercase\", ->\n expect [\"Ab\",\"aA\",\"aa\",\"ab\"].sort sortAs([\"Ab\",\"Aa\"])\n .toEqual [\"Ab\",\"ab\",\"aa\",\"aA\"]\n\n describe \".numberFormat()\", ->\n numberFormat = $.pivotUtilities.numberFormat\n\n it \"formats numbers\", ->\n nf = numberFormat()\n expect nf 1234567.89123456\n .toEqual \"1,234,567.89\"\n\n it \"formats booleans\", ->\n nf = numberFormat()\n expect nf true\n .toEqual \"1.00\"\n\n it \"formats numbers in strings\", ->\n nf = numberFormat()\n expect nf \"1234567.89123456\"\n .toEqual \"1,234,567.89\"\n\n it \"doesn't formats strings\", ->\n nf = numberFormat()\n expect nf \"hi there\"\n .toEqual \"\"\n\n it \"doesn't formats objects\", ->\n nf = numberFormat()\n expect nf {a:1}\n .toEqual \"\"\n\n it \"formats percentages\", ->\n nf = numberFormat(scaler: 100, suffix: \"%\")\n expect nf 0.12345\n .toEqual \"12.35%\"\n\n it \"adds separators\", ->\n nf = numberFormat(thousandsSep: \"a\", decimalSep: \"b\")\n expect nf 1234567.89123456\n .toEqual \"1a234a567b89\"\n\n it \"adds prefixes and suffixes\", ->\n nf = numberFormat(prefix: \"a\", suffix: \"b\")\n expect nf 1234567.89123456\n .toEqual \"a1,234,567.89b\"\n\n it \"scales and rounds\", ->\n nf = numberFormat(digitsAfterDecimal: 3, scaler: 1000)\n expect nf 1234567.89123456\n .toEqual \"1,234,567,891.235\"\n\n describe \".derivers\", ->\n describe \".dateFormat()\", ->\n df = $.pivotUtilities.derivers.dateFormat \"x\", \"abc % %% %%% %a %y %m %n %d %w %x %H %M %S\", true\n\n it \"formats date objects\", ->\n expect df {x: new Date(\"2015-01-02T23:43:11Z\")}\n .toBe 'abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11'\n\n it \"formats input parsed by Date.parse()\", ->\n expect df {x: \"2015-01-02T23:43:11Z\"}\n .toBe 'abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11'\n\n expect df {x: \"bla\"}\n .toBe ''\n\n describe \".bin()\", ->\n binner = $.pivotUtilities.derivers.bin \"x\", 10\n\n it \"bins numbers\", ->\n expect binner {x: 11}\n .toBe 10\n\n expect binner {x: 9}\n .toBe 0\n\n expect binner {x: 111}\n .toBe 110\n\n it \"bins booleans\", ->\n expect binner {x: true}\n .toBe 0\n\n it \"bins negative numbers\", ->\n expect binner {x: -12}\n .toBe -10\n\n it \"doesn't bin strings\", ->\n expect binner {x: \"a\"}\n .toBeNaN()\n\n it \"doesn't bin objects\", ->\n expect binner {x: {a:1}}\n .toBeNaN()\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot_spec.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function(){var t,e;t=[["name","gender","colour","birthday","trials","successes"],["Nick","male","blue","1982-11-07",103,12],["Jane","female","red","1982-11-08",95,25],["John","male","blue","1982-12-08",112,30],["Carol","female","yellow","1983-12-08",102,14]],e=[{name:"Nick",colour:"red",age:34},{name:"Jane",gender:"female"},{name:"John",gender:"male",age:12},{name:"Jim",gender:null,age:12}],describe("$.pivotUI()",function(){return describe("with no rows/cols, default count aggregator, default TableRenderer",function(){var e;return e=null,beforeEach(function(r){return e=$("<div>").pivotUI(t,{onRefresh:r})}),it("has all the basic UI elements",function(t){return expect(e.find("td.pvtAxisContainer").length).toBe(3),expect(e.find("td.pvtRendererArea").length).toBe(1),expect(e.find("td.pvtVals").length).toBe(1),expect(e.find("select.pvtRenderer").length).toBe(1),expect(e.find("select.pvtAggregator").length).toBe(1),expect(e.find("span.pvtAttr").length).toBe(6),t()}),it("reflects its inputs",function(t){return expect(e.find("td.pvtUnused span.pvtAttr").length).toBe(6),expect(e.find("select.pvtRenderer").val()).toBe("Table"),expect(e.find("select.pvtAggregator").val()).toBe("Count"),t()}),it("renders a table",function(t){return expect(e.find("table.pvtTable").length).toBe(1),t()}),describe("its renderer output",function(){return it("has the correct type and number of cells",function(t){return expect(e.find("th.pvtTotalLabel").length).toBe(1),expect(e.find("td.pvtGrandTotal").length).toBe(1),t()}),it("has the correct textual representation",function(t){return expect(e.find("table.pvtTable").text()).toBe(["Totals","4"].join("")),t()}),it("has a correct grand total with data value",function(t){return expect(e.find("td.pvtGrandTotal").text()).toBe("4"),expect(e.find("td.pvtGrandTotal").data("value")).toBe(4),t()})})}),describe("with rows/cols, sum-over-sum aggregator, Heatmap renderer",function(){var e;return e=null,beforeEach(function(r){return e=$("<div>").pivotUI(t,{rows:["gender"],cols:["colour"],aggregatorName:"Sum over Sum",vals:["successes","trials"],rendererName:"Heatmap",onRefresh:r})}),it("has all the basic UI elements",function(t){return expect(e.find("td.pvtAxisContainer").length).toBe(3),expect(e.find("td.pvtRendererArea").length).toBe(1),expect(e.find("td.pvtVals").length).toBe(1),expect(e.find("select.pvtRenderer").length).toBe(1),expect(e.find("select.pvtAggregator").length).toBe(1),expect(e.find("span.pvtAttr").length).toBe(6),t()}),it("reflects its inputs",function(t){return expect(e.find("td.pvtUnused span.pvtAttr").length).toBe(4),expect(e.find("td.pvtRows span.pvtAttr").length).toBe(1),expect(e.find("td.pvtCols span.pvtAttr").length).toBe(1),expect(e.find("select.pvtRenderer").val()).toBe("Heatmap"),expect(e.find("select.pvtAggregator").val()).toBe("Sum over Sum"),t()}),it("renders a table",function(t){return expect(e.find("table.pvtTable").length).toBe(1),t()}),describe("its renderer output",function(){return it("has the correct type and number of cells",function(t){return expect(e.find("th.pvtAxisLabel").length).toBe(2),expect(e.find("th.pvtRowLabel").length).toBe(2),expect(e.find("th.pvtColLabel").length).toBe(3),expect(e.find("th.pvtTotalLabel").length).toBe(2),expect(e.find("td.pvtVal").length).toBe(6),expect(e.find("td.pvtTotal").length).toBe(5),expect(e.find("td.pvtGrandTotal").length).toBe(1),t()}),it("has the correct textual representation",function(t){return expect(e.find("table.pvtTable").text()).toBe(["colour","blue","red","yellow","Totals","gender","female","0.26","0.14","0.20","male","0.20","0.20","Totals","0.20","0.26","0.14","0.20"].join("")),t()}),it("has a correct spot-checked cell with data value",function(t){return expect(e.find("td.col0.row1").text()).toBe("0.20"),expect(e.find("td.col0.row1").data("value")).toBe(42/215),t()})})}),describe("with ragged input",function(){var t;return t=$("<div>").pivotUI(e,{rows:["gender"],cols:["age"]}),it("renders a table with the correct textual representation",function(){return expect(t.find("table.pvtTable").text()).toBe(["age","12","34","null","Totals","gender","female","1","1","male","1","1","null","1","1","2","Totals","2","1","1","4"].join(""))})})}),describe("$.pivot()",function(){return describe("with no rows/cols, default count aggregator, default TableRenderer",function(){var e;return e=$("<div>").pivot(t),it("renders a table",function(){return expect(e.find("table.pvtTable").length).toBe(1)}),describe("its renderer output",function(){return it("has the correct textual representation",function(){return expect(e.find("table.pvtTable").text()).toBe(["Totals","4"].join(""))}),it("has a correct grand total with data value",function(){return expect(e.find("td.pvtGrandTotal").text()).toBe("4"),expect(e.find("td.pvtGrandTotal").data("value")).toBe(4)})})}),describe("with rows/cols, sum aggregator, derivedAttributes, filter and sorters",function(){var e,r,n,a,o;return n=$.pivotUtilities,a=n.sortAs,r=n.derivers,e=n.aggregators,o=$("<div>").pivot(t,{rows:["gender"],cols:["birthyear"],aggregator:e.Sum(["trialbins"]),filter:function(t){return"Nick"!==t.name},derivedAttributes:{birthyear:r.dateFormat("birthday","%y"),trialbins:r.bin("trials",10)},sorters:function(t){if("gender"===t)return a(["male","female"])}}),it("renders a table with the correct textual representation",function(){return expect(o.find("table.pvtTable").text()).toBe(["birthyear","1982","1983","Totals","gender","male","110.00","110.00","female","90.00","100.00","190.00","Totals","200.00","100.00","300.00"].join(""))})}),describe("with rows/cols, fraction-of aggregator",function(){var e,r;return e=$.pivotUtilities.aggregators,r=$("<div>").pivot(t,{rows:["gender"],aggregator:e["Sum as Fraction of Total"](["trials"])}),it("renders a table with the correct textual representation",function(){return expect(r.find("table.pvtTable").text()).toBe(["gender","Totals","female","47.8%","male","52.2%","Totals","100.0%"].join(""))})}),describe("with rows/cols, custom aggregator, custom renderer with options",function(){var e,r,n;return e=null,r=null,n=$("<div>").pivot(t,{rows:["name","colour"],cols:["trials","successes"],aggregator:function(){return{count2x:0,push:function(){return this.count2x+=2},value:function(){return this.count2x},format:function(t){return"formatted "+t}}},renderer:function(t,n){return e=t,r=n,$("<div>").addClass(n.greeting).text("world")},rendererOptions:{greeting:"hithere"}}),it("renders the custom renderer as per options",function(){return expect(n.find("div.hithere").length).toBe(1)}),describe("its received PivotData object",function(){return it("has a correct grand total value and format for custom aggregator",function(){var t,r;return t=e.getAggregator([],[]),r=t.value(),expect(r).toBe(8),expect(t.format(r)).toBe("formatted 8")})})}),describe("with ragged input",function(){var t;return t=$("<div>").pivot(e,{rows:["gender"],cols:["age"]}),it("renders a table with the correct textual representation",function(){return expect(t.find("table.pvtTable").text()).toBe(["age","12","34","null","Totals","gender","female","1","1","male","1","1","null","1","1","2","Totals","2","1","1","4"].join(""))})})}),describe("$.pivotUtilities",function(){return describe(".PivotData()",function(){var e;return e={aggregator:$.pivotUtilities.aggregators["Sum over Sum"](["a","b"])},describe("with no options",function(){var t,e;return t=[["a","b"],[1,2],[3,4]],e=new $.pivotUtilities.PivotData(t),it("has the correct grand total value",function(){return expect(e.getAggregator([],[]).value()).toBe(2)})}),describe("with array-of-array input",function(){var t,r;return t=[["a","b"],[1,2],[3,4]],r=new $.pivotUtilities.PivotData(t,e),it("has the correct grand total value",function(){return expect(r.getAggregator([],[]).value()).toBe(4/6)})}),describe("with array-of-object input",function(){var t,r;return t=[{a:1,b:2},{a:3,b:4}],r=new $.pivotUtilities.PivotData(t,e),it("has the correct grand total value",function(){return expect(r.getAggregator([],[]).value()).toBe(4/6)})}),describe("with ragged array-of-object input",function(){var t,r;return r=[{a:1},{b:4},{a:3,b:2}],t=new $.pivotUtilities.PivotData(r,e),it("has the correct grand total value",function(){return expect(t.getAggregator([],[]).value()).toBe(4/6)})}),describe("with function input",function(){var t,r;return t=function(t){return t({a:1,b:2}),t({a:3,b:4})},r=new $.pivotUtilities.PivotData(t,e),it("has the correct grand total value",function(){return expect(r.getAggregator([],[]).value()).toBe(4/6)})}),describe("with jQuery table element input",function(){var t,r;return r=$("<table>\n <thead>\n <tr> <th>a</th><th>b</th> </tr>\n </thead>\n <tbody>\n <tr> <td>1</td> <td>2</td> </tr>\n <tr> <td>3</td> <td>4</td> </tr>\n </tbody>\n</table>"),t=new $.pivotUtilities.PivotData(r,e),it("has the correct grand total value",function(){return expect(t.getAggregator([],[]).value()).toBe(4/6)})}),describe("with rows/cols",function(){var e;return e=new $.pivotUtilities.PivotData(t,{rows:["name","colour"],cols:["trials","successes"]}),it("has correctly-ordered row keys",function(){return expect(e.getRowKeys()).toEqual([["Carol","yellow"],["Jane","red"],["John","blue"],["Nick","blue"]])}),it("has correctly-ordered col keys",function(){return expect(e.getColKeys()).toEqual([[95,25],[102,14],[103,12],[112,30]])}),it("can be iterated over",function(){var t,r,n,a,o,i,c,u,s,l;for(i=0,c=0,s=e.getRowKeys(),r=0,a=s.length;r<a;r++)for(u=s[r],l=e.getColKeys(),n=0,o=l.length;n<o;n++)t=l[n],null!=e.getAggregator(u,t).value()?i++:c++;return expect(i).toBe(4),expect(c).toBe(12)}),it("returns matching records",function(){var t;return t=[],e.forEachMatchingRecord({gender:"male"},function(e){return t.push(e.name)}),expect(t).toEqual(["Nick","John"])}),it("has a correct spot-checked aggregator",function(){var t,r;return t=e.getAggregator(["Carol","yellow"],[102,14]),r=t.value(),expect(r).toBe(1),expect(t.format(r)).toBe("1")}),it("has a correct grand total aggregator",function(){var t,r;return t=e.getAggregator([],[]),r=t.value(),expect(r).toBe(4),expect(t.format(r)).toBe("4")})})}),describe(".aggregatorTemplates",function(){var e,r;return e=function(e){var r;return r=new $.pivotUtilities.PivotData(t,{aggregator:e}),r.getAggregator([],[]).value()},r=$.pivotUtilities.aggregatorTemplates,describe(".count",function(){return it("works",function(){return expect(e(r.count()())).toBe(4)})}),describe(".countUnique",function(){return it("works",function(){return expect(e(r.countUnique()(["gender"]))).toBe(2)})}),describe(".listUnique",function(){return it("works",function(){return expect(e(r.listUnique()(["gender"]))).toBe("male,female")})}),describe(".average",function(){return it("works",function(){return expect(e(r.average()(["trials"]))).toBe(103)})}),describe(".sum",function(){return it("works",function(){return expect(e(r.sum()(["trials"]))).toBe(412)})}),describe(".min",function(){return it("works",function(){return expect(e(r.min()(["trials"]))).toBe(95)})}),describe(".max",function(){return it("works",function(){return expect(e(r.max()(["trials"]))).toBe(112)})}),describe(".first",function(){return it("works",function(){return expect(e(r.first()(["name"]))).toBe("Carol")})}),describe(".last",function(){return it("works",function(){return expect(e(r.last()(["name"]))).toBe("Nick")})}),describe(".average",function(){return it("works",function(){return expect(e(r.average()(["trials"]))).toBe(103)})}),describe(".median",function(){return it("works",function(){return expect(e(r.median()(["trials"]))).toBe(102.5)})}),describe(".quantile",function(){return it("works",function(){return expect(e(r.quantile(0)(["trials"]))).toBe(95),expect(e(r.quantile(.1)(["trials"]))).toBe(98.5),expect(e(r.quantile(.25)(["trials"]))).toBe(98.5),expect(e(r.quantile(1/3)(["trials"]))).toBe(102),expect(e(r.quantile(1)(["trials"]))).toBe(112)})}),describe(".var",function(){return it("works",function(){return expect(e(r["var"]()(["trials"]))).toBe(48.666666666666686)})}),describe(".stdev",function(){return it("works",function(){return expect(e(r.stdev()(["trials"]))).toBe(6.976149845485451)})}),describe(".sumOverSum",function(){return it("works",function(){return expect(e(r.sumOverSum()(["successes","trials"]))).toBe(81/412)})})}),describe(".naturalSort()",function(){var t,e;return t=$.pivotUtilities.naturalSort,e=[null,NaN,-Infinity,"-Infinity",-3,"-3",-2,"-2",-1,"-1",0,"2e-1",1,"01","1",2,"002","002e0","02","2","2e-0",3,10,"10","11","12","1e2","112",Infinity,"Infinity","1a","2a","12a","20a","A","A","NaN","a","a","a01","a012","a02","a1","a2","a12","a12","a21","a21","b","c","d","null"],it("sorts naturally (null, NaN, numbers & numbery strings, Alphanum for text strings)",function(){return expect(e.slice().sort(t)).toEqual(e)})}),describe(".sortAs()",function(){var t;return t=$.pivotUtilities.sortAs,it("sorts with unknown values sorted at the end",function(){return expect([5,2,3,4,1].sort(t([4,3,2]))).toEqual([4,3,2,1,5])}),it("sorts lowercase after uppercase",function(){return expect(["Ab","aA","aa","ab"].sort(t(["Ab","Aa"]))).toEqual(["Ab","ab","aa","aA"])})}),describe(".numberFormat()",function(){var t;return t=$.pivotUtilities.numberFormat,it("formats numbers",function(){var e;return e=t(),expect(e(1234567.89123456)).toEqual("1,234,567.89")}),it("formats booleans",function(){var e;return e=t(),expect(e(!0)).toEqual("1.00")}),it("formats numbers in strings",function(){var e;return e=t(),expect(e("1234567.89123456")).toEqual("1,234,567.89")}),it("doesn't formats strings",function(){var e;return e=t(),expect(e("hi there")).toEqual("")}),it("doesn't formats objects",function(){var e;return e=t(),expect(e({a:1})).toEqual("")}),it("formats percentages",function(){var e;return e=t({scaler:100,suffix:"%"}),expect(e(.12345)).toEqual("12.35%")}),it("adds separators",function(){var e;return e=t({thousandsSep:"a",decimalSep:"b"}),expect(e(1234567.89123456)).toEqual("1a234a567b89")}),it("adds prefixes and suffixes",function(){var e;return e=t({prefix:"a",suffix:"b"}),expect(e(1234567.89123456)).toEqual("a1,234,567.89b")}),it("scales and rounds",function(){var e;return e=t({digitsAfterDecimal:3,scaler:1e3}),expect(e(1234567.89123456)).toEqual("1,234,567,891.235")})}),describe(".derivers",function(){return describe(".dateFormat()",function(){var t;return t=$.pivotUtilities.derivers.dateFormat("x","abc % %% %%% %a %y %m %n %d %w %x %H %M %S",!0),it("formats date objects",function(){return expect(t({x:new Date("2015-01-02T23:43:11Z")})).toBe("abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11")}),it("formats input parsed by Date.parse()",function(){return expect(t({x:"2015-01-02T23:43:11Z"})).toBe("abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11"),expect(t({x:"bla"})).toBe("")})}),describe(".bin()",function(){var t;return t=$.pivotUtilities.derivers.bin("x",10),it("bins numbers",function(){return expect(t({x:11})).toBe(10),expect(t({x:9})).toBe(0),expect(t({x:111})).toBe(110)}),it("bins booleans",function(){return expect(t({x:!0})).toBe(0)}),it("bins negative numbers",function(){return expect(t({x:-12})).toBe(-10)}),it("doesn't bin strings",function(){return expect(t({x:"a"})).toBeNaN()}),it("doesn't bin objects",function(){return expect(t({x:{a:1}})).toBeNaN()})})})})}).call(this);
//# sourceMappingURL=pivot_spec.min.js.map
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>pivot_spec.min.js.map</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>iso-8859-15</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
{"version":3,"sources":["pivot_spec.coffee","pivot_spec.min.js"],"names":["fixtureData","raggedFixtureData","name","colour","age","gender","describe","table","beforeEach","done","$","pivotUI","onRefresh","it","expect","find","length","toBe","val","text","join","data","rows","cols","aggregatorName","vals","rendererName","pivot","aggregators","derivers","ref","sortAs","pivotUtilities","aggregator","filter","record","derivedAttributes","birthyear","dateFormat","trialbins","bin","sorters","attr","received_PivotData","received_rendererOptions","count2x","push","this","value","format","x","renderer","a","b","addClass","greeting","rendererOptions","agg","getAggregator","sumOverSumOpts","aoaInput","pd","PivotData","aosInput","raggedAosInput","functionInput","tableInput","getRowKeys","toEqual","getColKeys","c","i","j","len","len1","numNotNull","numNull","r","ref1","records","forEachMatchingRecord","getVal","tpl","aggregatorTemplates","count","countUnique","listUnique","average","sum","min","max","first","last","median","quantile","stdev","sumOverSum","naturalSort","sortedArr","slice","sort","numberFormat","nf","scaler","suffix","thousandsSep","decimalSep","prefix","digitsAfterDecimal","df","Date","binner","toBeNaN","call"],"mappings":"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","file":"pivot_spec.min.js","sourcesContent":["fixtureData = [\n [\"name\", \"gender\", \"colour\", \"birthday\", \"trials\", \"successes\"],\n [\"Nick\", \"male\", \"blue\", \"1982-11-07\", 103, 12],\n [\"Jane\", \"female\", \"red\", \"1982-11-08\", 95, 25],\n [\"John\", \"male\", \"blue\", \"1982-12-08\", 112, 30],\n [\"Carol\", \"female\", \"yellow\", \"1983-12-08\", 102, 14]\n]\n\nraggedFixtureData = [\n {name: \"Nick\", \"colour\": \"red\", \"age\": 34}\n {name: \"Jane\", \"gender\": \"female\"}\n {name: \"John\", \"gender\": \"male\", \"age\": 12}\n {name: \"Jim\", \"gender\": null, \"age\": 12}\n]\n\ndescribe \"$.pivotUI()\", ->\n describe \"with no rows/cols, default count aggregator, default TableRenderer\", ->\n table = null\n\n beforeEach (done) ->\n table = $(\"<div>\").pivotUI fixtureData, onRefresh: done\n it \"has all the basic UI elements\", (done) ->\n expect table.find(\"td.pvtAxisContainer\").length\n .toBe 3\n expect table.find(\"td.pvtRendererArea\").length\n .toBe 1\n expect table.find(\"td.pvtVals\").length\n .toBe 1\n expect table.find(\"select.pvtRenderer\").length\n .toBe 1\n expect table.find(\"select.pvtAggregator\").length\n .toBe 1\n expect table.find(\"span.pvtAttr\").length\n .toBe 6\n done()\n\n it \"reflects its inputs\", (done) ->\n expect table.find(\"td.pvtUnused span.pvtAttr\").length\n .toBe 6\n expect table.find(\"select.pvtRenderer\").val()\n .toBe \"Table\"\n expect table.find(\"select.pvtAggregator\").val()\n .toBe \"Count\"\n done()\n\n it \"renders a table\", (done) ->\n expect table.find(\"table.pvtTable\").length\n .toBe 1\n done()\n\n\n describe \"its renderer output\", ->\n it \"has the correct type and number of cells\", (done) ->\n expect table.find(\"th.pvtTotalLabel\").length\n .toBe 1\n expect table.find(\"td.pvtGrandTotal\").length\n .toBe 1\n done()\n\n it \"has the correct textual representation\", (done) ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\"Totals\", \"4\"].join(\"\")\n done()\n\n it \"has a correct grand total with data value\", (done) ->\n expect table.find(\"td.pvtGrandTotal\").text()\n .toBe \"4\"\n expect table.find(\"td.pvtGrandTotal\").data(\"value\")\n .toBe 4\n done()\n\n describe \"with rows/cols, sum-over-sum aggregator, Heatmap renderer\", ->\n table = null\n\n beforeEach (done) ->\n table = $(\"<div>\").pivotUI fixtureData,\n rows: [\"gender\"], cols: [\"colour\"]\n aggregatorName: \"Sum over Sum\"\n vals: [\"successes\", \"trials\"]\n rendererName: \"Heatmap\"\n onRefresh: done\n\n it \"has all the basic UI elements\", (done) ->\n expect table.find(\"td.pvtAxisContainer\").length\n .toBe 3\n expect table.find(\"td.pvtRendererArea\").length\n .toBe 1\n expect table.find(\"td.pvtVals\").length\n .toBe 1\n expect table.find(\"select.pvtRenderer\").length\n .toBe 1\n expect table.find(\"select.pvtAggregator\").length\n .toBe 1\n expect table.find(\"span.pvtAttr\").length\n .toBe 6\n done()\n\n it \"reflects its inputs\", (done) ->\n expect table.find(\"td.pvtUnused span.pvtAttr\").length\n .toBe 4\n expect table.find(\"td.pvtRows span.pvtAttr\").length\n .toBe 1\n expect table.find(\"td.pvtCols span.pvtAttr\").length\n .toBe 1\n expect table.find(\"select.pvtRenderer\").val()\n .toBe \"Heatmap\"\n expect table.find(\"select.pvtAggregator\").val()\n .toBe \"Sum over Sum\"\n done()\n\n it \"renders a table\", (done) ->\n expect table.find(\"table.pvtTable\").length\n .toBe 1\n done()\n\n describe \"its renderer output\", ->\n it \"has the correct type and number of cells\", (done) ->\n expect table.find(\"th.pvtAxisLabel\").length\n .toBe 2\n expect table.find(\"th.pvtRowLabel\").length\n .toBe 2\n expect table.find(\"th.pvtColLabel\").length\n .toBe 3\n expect table.find(\"th.pvtTotalLabel\").length\n .toBe 2\n expect table.find(\"td.pvtVal\").length\n .toBe 6\n expect table.find(\"td.pvtTotal\").length\n .toBe 5\n expect table.find(\"td.pvtGrandTotal\").length\n .toBe 1\n done()\n\n it \"has the correct textual representation\", (done) ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"colour\", \"blue\", \"red\", \"yellow\", \"Totals\",\n \"gender\",\n \"female\", \"0.26\", \"0.14\", \"0.20\",\n \"male\", \"0.20\", \"0.20\",\n \"Totals\", \"0.20\", \"0.26\", \"0.14\", \"0.20\"\n ].join(\"\")\n done()\n\n it \"has a correct spot-checked cell with data value\", (done) ->\n expect table.find(\"td.col0.row1\").text()\n .toBe \"0.20\"\n expect table.find(\"td.col0.row1\").data(\"value\")\n .toBe (12+30)/(103+112)\n done()\n\n describe \"with ragged input\", ->\n table = $(\"<div>\").pivotUI raggedFixtureData, rows: [\"gender\"], cols: [\"age\"]\n\n it \"renders a table with the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"age\", \"12\", \"34\", \"null\", \"Totals\"\n \"gender\",\n \"female\", \"1\", \"1\"\n \"male\", \"1\", \"1\"\n \"null\", \"1\", \"1\", \"2\"\n \"Totals\", \"2\", \"1\", \"1\", \"4\"\n ].join(\"\")\n\ndescribe \"$.pivot()\", ->\n\n describe \"with no rows/cols, default count aggregator, default TableRenderer\", ->\n table = $(\"<div>\").pivot fixtureData\n\n it \"renders a table\", ->\n expect table.find(\"table.pvtTable\").length\n .toBe 1\n\n describe \"its renderer output\", ->\n\n it \"has the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\"Totals\", \"4\"].join(\"\")\n\n it \"has a correct grand total with data value\", ->\n expect table.find(\"td.pvtGrandTotal\").text()\n .toBe \"4\"\n expect table.find(\"td.pvtGrandTotal\").data(\"value\")\n .toBe 4\n\n describe \"with rows/cols, sum aggregator, derivedAttributes, filter and sorters\", ->\n {sortAs, derivers, aggregators} = $.pivotUtilities\n table = $(\"<div>\").pivot fixtureData,\n rows: [\"gender\"], cols: [\"birthyear\"], aggregator: aggregators[\"Sum\"]([\"trialbins\"])\n filter: (record) -> record.name != \"Nick\"\n derivedAttributes:\n birthyear: derivers.dateFormat \"birthday\", \"%y\"\n trialbins: derivers.bin \"trials\", 10\n sorters: (attr) ->\n if attr == \"gender\" then return sortAs([\"male\", \"female\"])\n\n it \"renders a table with the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"birthyear\", \"1982\", \"1983\", \"Totals\"\n \"gender\",\n \"male\", \"110.00\", \"110.00\"\n \"female\", \"90.00\", \"100.00\", \"190.00\"\n \"Totals\", \"200.00\", \"100.00\", \"300.00\"\n ].join(\"\")\n\n describe \"with rows/cols, fraction-of aggregator\", ->\n {aggregators} = $.pivotUtilities\n table = $(\"<div>\").pivot fixtureData,\n rows: [\"gender\"]\n aggregator: aggregators[\"Sum as Fraction of Total\"]([\"trials\"])\n\n it \"renders a table with the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"gender\", \"Totals\"\n \"female\", \"47.8%\"\n \"male\", \"52.2%\"\n \"Totals\", \"100.0%\"\n ].join(\"\")\n\n describe \"with rows/cols, custom aggregator, custom renderer with options\", ->\n received_PivotData = null\n received_rendererOptions = null\n\n table = $(\"<div>\").pivot fixtureData,\n rows: [\"name\", \"colour\"], cols: [\"trials\", \"successes\"]\n aggregator: ->\n count2x: 0\n push: -> @count2x +=2\n value: -> @count2x\n format: (x) -> \"formatted \" + x\n renderer: (a,b) ->\n received_PivotData = a\n received_rendererOptions = b\n return $(\"<div>\").addClass(b.greeting).text(\"world\")\n rendererOptions: {greeting:\"hithere\"}\n\n it \"renders the custom renderer as per options\", ->\n expect table.find(\"div.hithere\").length\n .toBe 1\n\n describe \"its received PivotData object\", ->\n it \"has a correct grand total value and format for custom aggregator\", ->\n agg = received_PivotData.getAggregator([],[])\n val = agg.value()\n expect(val).toBe 8\n expect(agg.format(val)).toBe \"formatted 8\"\n\n\n describe \"with ragged input\", ->\n table = $(\"<div>\").pivot raggedFixtureData, rows: [\"gender\"], cols: [\"age\"]\n\n it \"renders a table with the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"age\", \"12\", \"34\", \"null\", \"Totals\"\n \"gender\",\n \"female\", \"1\", \"1\"\n \"male\", \"1\", \"1\"\n \"null\", \"1\", \"1\", \"2\"\n \"Totals\", \"2\", \"1\", \"1\", \"4\"\n ].join(\"\")\n\ndescribe \"$.pivotUtilities\", ->\n\n describe \".PivotData()\", ->\n sumOverSumOpts =\n aggregator: $.pivotUtilities.aggregators[\"Sum over Sum\"]([\"a\",\"b\"])\n\n describe \"with no options\", ->\n aoaInput = [ [\"a\",\"b\"], [1,2], [3,4] ]\n pd = new $.pivotUtilities.PivotData aoaInput\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe 2\n\n describe \"with array-of-array input\", ->\n aoaInput = [ [\"a\",\"b\"], [1,2], [3,4] ]\n pd = new $.pivotUtilities.PivotData aoaInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n describe \"with array-of-object input\", ->\n aosInput = [ {a:1, b:2}, {a:3, b:4} ]\n pd = new $.pivotUtilities.PivotData aosInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n describe \"with ragged array-of-object input\", ->\n raggedAosInput = [ {a:1}, {b:4}, {a: 3, b: 2} ]\n pd = new $.pivotUtilities.PivotData raggedAosInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n describe \"with function input\", ->\n functionInput = (record) ->\n record a:1, b:2\n record a:3, b:4\n pd = new $.pivotUtilities.PivotData functionInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n describe \"with jQuery table element input\", ->\n tableInput = $ \"\"\"\n <table>\n <thead>\n <tr> <th>a</th><th>b</th> </tr>\n </thead>\n <tbody>\n <tr> <td>1</td> <td>2</td> </tr>\n <tr> <td>3</td> <td>4</td> </tr>\n </tbody>\n </table>\n \"\"\"\n pd = new $.pivotUtilities.PivotData tableInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n\n describe \"with rows/cols\", ->\n pd = new $.pivotUtilities.PivotData fixtureData,\n rows: [\"name\", \"colour\"],\n cols: [\"trials\", \"successes\"]\n\n it \"has correctly-ordered row keys\", ->\n expect pd.getRowKeys()\n .toEqual [ [ 'Carol', 'yellow' ], [ 'Jane', 'red' ], [ 'John', 'blue' ], [ 'Nick', 'blue' ] ]\n\n it \"has correctly-ordered col keys\", ->\n expect pd.getColKeys()\n .toEqual [ [ 95, 25 ], [ 102, 14 ], [ 103, 12 ], [ 112, 30 ] ]\n\n it \"can be iterated over\", ->\n numNotNull = 0\n numNull = 0\n for r in pd.getRowKeys()\n for c in pd.getColKeys()\n if pd.getAggregator(r, c).value()?\n numNotNull++\n else\n numNull++\n expect numNotNull\n .toBe 4\n expect numNull\n .toBe 12\n\n it \"returns matching records\", ->\n records = []\n pd.forEachMatchingRecord gender: \"male\", (x) -> records.push(x.name)\n expect records\n .toEqual [\"Nick\", \"John\"]\n\n it \"has a correct spot-checked aggregator\", ->\n agg = pd.getAggregator([ 'Carol', 'yellow' ],[ 102, 14 ])\n val = agg.value()\n expect(val).toBe 1\n expect(agg.format(val)).toBe \"1\"\n\n it \"has a correct grand total aggregator\", ->\n agg = pd.getAggregator([],[])\n val = agg.value()\n expect(val).toBe 4\n expect(agg.format(val)).toBe \"4\"\n\n describe \".aggregatorTemplates\", ->\n\n getVal = (aggregator) ->\n pd = new $.pivotUtilities.PivotData(fixtureData, {aggregator})\n return pd.getAggregator([],[]).value()\n tpl = $.pivotUtilities.aggregatorTemplates\n\n describe \".count\", ->\n it \"works\", ->\n expect getVal(tpl.count()())\n .toBe 4\n\n describe \".countUnique\", ->\n it \"works\", ->\n expect getVal(tpl.countUnique()(['gender']))\n .toBe 2\n\n describe \".listUnique\", ->\n it \"works\", ->\n expect getVal(tpl.listUnique()(['gender']))\n .toBe 'male,female'\n\n describe \".average\", ->\n it \"works\", ->\n expect getVal(tpl.average()(['trials']))\n .toBe 103\n\n describe \".sum\", ->\n it \"works\", ->\n expect getVal(tpl.sum()(['trials']))\n .toBe 412\n\n describe \".min\", ->\n it \"works\", ->\n expect getVal(tpl.min()(['trials']))\n .toBe 95\n\n describe \".max\", ->\n it \"works\", ->\n expect getVal(tpl.max()(['trials']))\n .toBe 112\n\n describe \".first\", ->\n it \"works\", ->\n expect getVal(tpl.first()(['name']))\n .toBe 'Carol'\n\n describe \".last\", ->\n it \"works\", ->\n expect getVal(tpl.last()(['name']))\n .toBe 'Nick'\n\n describe \".average\", ->\n it \"works\", ->\n expect getVal(tpl.average()(['trials']))\n .toBe 103\n\n describe \".median\", ->\n it \"works\", ->\n expect getVal(tpl.median()(['trials']))\n .toBe 102.5\n\n describe \".quantile\", ->\n it \"works\", ->\n expect getVal(tpl.quantile(0)(['trials']))\n .toBe 95\n expect getVal(tpl.quantile(0.1)(['trials']))\n .toBe 98.5\n expect getVal(tpl.quantile(0.25)(['trials']))\n .toBe 98.5\n expect getVal(tpl.quantile(1/3)(['trials']))\n .toBe 102\n expect getVal(tpl.quantile(1)(['trials']))\n .toBe 112\n\n describe \".var\", ->\n it \"works\", ->\n expect getVal(tpl.var()(['trials']))\n .toBe 48.666666666666686\n\n describe \".stdev\", ->\n it \"works\", ->\n expect getVal(tpl.stdev()(['trials']))\n .toBe 6.976149845485451\n\n describe \".sumOverSum\", ->\n it \"works\", ->\n expect getVal(tpl.sumOverSum()(['successes', 'trials']))\n .toBe (12+25+30+14)/(95+102+103+112)\n\n describe \".naturalSort()\", ->\n naturalSort = $.pivotUtilities.naturalSort\n\n sortedArr = [\n null, NaN,\n -Infinity, '-Infinity', -3, '-3', -2, '-2', -1, '-1',\n 0, '2e-1', 1, '01', '1', 2, '002', '002e0', '02', '2', '2e-0',\n 3, 10, '10', '11', '12', '1e2', '112', Infinity, 'Infinity',\n '1a', '2a','12a','20a',\n 'A', 'A', 'NaN', 'a', 'a',\n 'a01', 'a012', 'a02', 'a1', 'a2', 'a12', 'a12', 'a21', 'a21',\n 'b', 'c', 'd', 'null'\n ]\n\n it \"sorts naturally (null, NaN, numbers & numbery strings, Alphanum for text strings)\", ->\n expect sortedArr.slice().sort(naturalSort)\n .toEqual sortedArr\n\n describe \".sortAs()\", ->\n sortAs = $.pivotUtilities.sortAs\n\n it \"sorts with unknown values sorted at the end\", ->\n expect [5,2,3,4,1].sort sortAs([4,3,2])\n .toEqual [4,3,2,1,5]\n\n it \"sorts lowercase after uppercase\", ->\n expect [\"Ab\",\"aA\",\"aa\",\"ab\"].sort sortAs([\"Ab\",\"Aa\"])\n .toEqual [\"Ab\",\"ab\",\"aa\",\"aA\"]\n\n describe \".numberFormat()\", ->\n numberFormat = $.pivotUtilities.numberFormat\n\n it \"formats numbers\", ->\n nf = numberFormat()\n expect nf 1234567.89123456\n .toEqual \"1,234,567.89\"\n\n it \"formats booleans\", ->\n nf = numberFormat()\n expect nf true\n .toEqual \"1.00\"\n\n it \"formats numbers in strings\", ->\n nf = numberFormat()\n expect nf \"1234567.89123456\"\n .toEqual \"1,234,567.89\"\n\n it \"doesn't formats strings\", ->\n nf = numberFormat()\n expect nf \"hi there\"\n .toEqual \"\"\n\n it \"doesn't formats objects\", ->\n nf = numberFormat()\n expect nf {a:1}\n .toEqual \"\"\n\n it \"formats percentages\", ->\n nf = numberFormat(scaler: 100, suffix: \"%\")\n expect nf 0.12345\n .toEqual \"12.35%\"\n\n it \"adds separators\", ->\n nf = numberFormat(thousandsSep: \"a\", decimalSep: \"b\")\n expect nf 1234567.89123456\n .toEqual \"1a234a567b89\"\n\n it \"adds prefixes and suffixes\", ->\n nf = numberFormat(prefix: \"a\", suffix: \"b\")\n expect nf 1234567.89123456\n .toEqual \"a1,234,567.89b\"\n\n it \"scales and rounds\", ->\n nf = numberFormat(digitsAfterDecimal: 3, scaler: 1000)\n expect nf 1234567.89123456\n .toEqual \"1,234,567,891.235\"\n\n describe \".derivers\", ->\n describe \".dateFormat()\", ->\n df = $.pivotUtilities.derivers.dateFormat \"x\", \"abc % %% %%% %a %y %m %n %d %w %x %H %M %S\", true\n\n it \"formats date objects\", ->\n expect df {x: new Date(\"2015-01-02T23:43:11Z\")}\n .toBe 'abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11'\n\n it \"formats input parsed by Date.parse()\", ->\n expect df {x: \"2015-01-02T23:43:11Z\"}\n .toBe 'abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11'\n\n expect df {x: \"bla\"}\n .toBe ''\n\n describe \".bin()\", ->\n binner = $.pivotUtilities.derivers.bin \"x\", 10\n\n it \"bins numbers\", ->\n expect binner {x: 11}\n .toBe 10\n\n expect binner {x: 9}\n .toBe 0\n\n expect binner {x: 111}\n .toBe 110\n\n it \"bins booleans\", ->\n expect binner {x: true}\n .toBe 0\n\n it \"bins negative numbers\", ->\n expect binner {x: -12}\n .toBe -10\n\n it \"doesn't bin strings\", ->\n expect binner {x: \"a\"}\n .toBeNaN()\n\n it \"doesn't bin objects\", ->\n expect binner {x: {a:1}}\n .toBeNaN()\n","(function() {\n var fixtureData, raggedFixtureData;\n\n fixtureData = [[\"name\", \"gender\", \"colour\", \"birthday\", \"trials\", \"successes\"], [\"Nick\", \"male\", \"blue\", \"1982-11-07\", 103, 12], [\"Jane\", \"female\", \"red\", \"1982-11-08\", 95, 25], [\"John\", \"male\", \"blue\", \"1982-12-08\", 112, 30], [\"Carol\", \"female\", \"yellow\", \"1983-12-08\", 102, 14]];\n\n raggedFixtureData = [\n {\n name: \"Nick\",\n \"colour\": \"red\",\n \"age\": 34\n }, {\n name: \"Jane\",\n \"gender\": \"female\"\n }, {\n name: \"John\",\n \"gender\": \"male\",\n \"age\": 12\n }, {\n name: \"Jim\",\n \"gender\": null,\n \"age\": 12\n }\n ];\n\n describe(\"$.pivotUI()\", function() {\n describe(\"with no rows/cols, default count aggregator, default TableRenderer\", function() {\n var table;\n table = null;\n beforeEach(function(done) {\n return table = $(\"<div>\").pivotUI(fixtureData, {\n onRefresh: done\n });\n });\n it(\"has all the basic UI elements\", function(done) {\n expect(table.find(\"td.pvtAxisContainer\").length).toBe(3);\n expect(table.find(\"td.pvtRendererArea\").length).toBe(1);\n expect(table.find(\"td.pvtVals\").length).toBe(1);\n expect(table.find(\"select.pvtRenderer\").length).toBe(1);\n expect(table.find(\"select.pvtAggregator\").length).toBe(1);\n expect(table.find(\"span.pvtAttr\").length).toBe(6);\n return done();\n });\n it(\"reflects its inputs\", function(done) {\n expect(table.find(\"td.pvtUnused span.pvtAttr\").length).toBe(6);\n expect(table.find(\"select.pvtRenderer\").val()).toBe(\"Table\");\n expect(table.find(\"select.pvtAggregator\").val()).toBe(\"Count\");\n return done();\n });\n it(\"renders a table\", function(done) {\n expect(table.find(\"table.pvtTable\").length).toBe(1);\n return done();\n });\n return describe(\"its renderer output\", function() {\n it(\"has the correct type and number of cells\", function(done) {\n expect(table.find(\"th.pvtTotalLabel\").length).toBe(1);\n expect(table.find(\"td.pvtGrandTotal\").length).toBe(1);\n return done();\n });\n it(\"has the correct textual representation\", function(done) {\n expect(table.find(\"table.pvtTable\").text()).toBe([\"Totals\", \"4\"].join(\"\"));\n return done();\n });\n return it(\"has a correct grand total with data value\", function(done) {\n expect(table.find(\"td.pvtGrandTotal\").text()).toBe(\"4\");\n expect(table.find(\"td.pvtGrandTotal\").data(\"value\")).toBe(4);\n return done();\n });\n });\n });\n describe(\"with rows/cols, sum-over-sum aggregator, Heatmap renderer\", function() {\n var table;\n table = null;\n beforeEach(function(done) {\n return table = $(\"<div>\").pivotUI(fixtureData, {\n rows: [\"gender\"],\n cols: [\"colour\"],\n aggregatorName: \"Sum over Sum\",\n vals: [\"successes\", \"trials\"],\n rendererName: \"Heatmap\",\n onRefresh: done\n });\n });\n it(\"has all the basic UI elements\", function(done) {\n expect(table.find(\"td.pvtAxisContainer\").length).toBe(3);\n expect(table.find(\"td.pvtRendererArea\").length).toBe(1);\n expect(table.find(\"td.pvtVals\").length).toBe(1);\n expect(table.find(\"select.pvtRenderer\").length).toBe(1);\n expect(table.find(\"select.pvtAggregator\").length).toBe(1);\n expect(table.find(\"span.pvtAttr\").length).toBe(6);\n return done();\n });\n it(\"reflects its inputs\", function(done) {\n expect(table.find(\"td.pvtUnused span.pvtAttr\").length).toBe(4);\n expect(table.find(\"td.pvtRows span.pvtAttr\").length).toBe(1);\n expect(table.find(\"td.pvtCols span.pvtAttr\").length).toBe(1);\n expect(table.find(\"select.pvtRenderer\").val()).toBe(\"Heatmap\");\n expect(table.find(\"select.pvtAggregator\").val()).toBe(\"Sum over Sum\");\n return done();\n });\n it(\"renders a table\", function(done) {\n expect(table.find(\"table.pvtTable\").length).toBe(1);\n return done();\n });\n return describe(\"its renderer output\", function() {\n it(\"has the correct type and number of cells\", function(done) {\n expect(table.find(\"th.pvtAxisLabel\").length).toBe(2);\n expect(table.find(\"th.pvtRowLabel\").length).toBe(2);\n expect(table.find(\"th.pvtColLabel\").length).toBe(3);\n expect(table.find(\"th.pvtTotalLabel\").length).toBe(2);\n expect(table.find(\"td.pvtVal\").length).toBe(6);\n expect(table.find(\"td.pvtTotal\").length).toBe(5);\n expect(table.find(\"td.pvtGrandTotal\").length).toBe(1);\n return done();\n });\n it(\"has the correct textual representation\", function(done) {\n expect(table.find(\"table.pvtTable\").text()).toBe([\"colour\", \"blue\", \"red\", \"yellow\", \"Totals\", \"gender\", \"female\", \"0.26\", \"0.14\", \"0.20\", \"male\", \"0.20\", \"0.20\", \"Totals\", \"0.20\", \"0.26\", \"0.14\", \"0.20\"].join(\"\"));\n return done();\n });\n return it(\"has a correct spot-checked cell with data value\", function(done) {\n expect(table.find(\"td.col0.row1\").text()).toBe(\"0.20\");\n expect(table.find(\"td.col0.row1\").data(\"value\")).toBe((12 + 30) / (103 + 112));\n return done();\n });\n });\n });\n return describe(\"with ragged input\", function() {\n var table;\n table = $(\"<div>\").pivotUI(raggedFixtureData, {\n rows: [\"gender\"],\n cols: [\"age\"]\n });\n return it(\"renders a table with the correct textual representation\", function() {\n return expect(table.find(\"table.pvtTable\").text()).toBe([\"age\", \"12\", \"34\", \"null\", \"Totals\", \"gender\", \"female\", \"1\", \"1\", \"male\", \"1\", \"1\", \"null\", \"1\", \"1\", \"2\", \"Totals\", \"2\", \"1\", \"1\", \"4\"].join(\"\"));\n });\n });\n });\n\n describe(\"$.pivot()\", function() {\n describe(\"with no rows/cols, default count aggregator, default TableRenderer\", function() {\n var table;\n table = $(\"<div>\").pivot(fixtureData);\n it(\"renders a table\", function() {\n return expect(table.find(\"table.pvtTable\").length).toBe(1);\n });\n return describe(\"its renderer output\", function() {\n it(\"has the correct textual representation\", function() {\n return expect(table.find(\"table.pvtTable\").text()).toBe([\"Totals\", \"4\"].join(\"\"));\n });\n return it(\"has a correct grand total with data value\", function() {\n expect(table.find(\"td.pvtGrandTotal\").text()).toBe(\"4\");\n return expect(table.find(\"td.pvtGrandTotal\").data(\"value\")).toBe(4);\n });\n });\n });\n describe(\"with rows/cols, sum aggregator, derivedAttributes, filter and sorters\", function() {\n var aggregators, derivers, ref, sortAs, table;\n ref = $.pivotUtilities, sortAs = ref.sortAs, derivers = ref.derivers, aggregators = ref.aggregators;\n table = $(\"<div>\").pivot(fixtureData, {\n rows: [\"gender\"],\n cols: [\"birthyear\"],\n aggregator: aggregators[\"Sum\"]([\"trialbins\"]),\n filter: function(record) {\n return record.name !== \"Nick\";\n },\n derivedAttributes: {\n birthyear: derivers.dateFormat(\"birthday\", \"%y\"),\n trialbins: derivers.bin(\"trials\", 10)\n },\n sorters: function(attr) {\n if (attr === \"gender\") {\n return sortAs([\"male\", \"female\"]);\n }\n }\n });\n return it(\"renders a table with the correct textual representation\", function() {\n return expect(table.find(\"table.pvtTable\").text()).toBe([\"birthyear\", \"1982\", \"1983\", \"Totals\", \"gender\", \"male\", \"110.00\", \"110.00\", \"female\", \"90.00\", \"100.00\", \"190.00\", \"Totals\", \"200.00\", \"100.00\", \"300.00\"].join(\"\"));\n });\n });\n describe(\"with rows/cols, fraction-of aggregator\", function() {\n var aggregators, table;\n aggregators = $.pivotUtilities.aggregators;\n table = $(\"<div>\").pivot(fixtureData, {\n rows: [\"gender\"],\n aggregator: aggregators[\"Sum as Fraction of Total\"]([\"trials\"])\n });\n return it(\"renders a table with the correct textual representation\", function() {\n return expect(table.find(\"table.pvtTable\").text()).toBe([\"gender\", \"Totals\", \"female\", \"47.8%\", \"male\", \"52.2%\", \"Totals\", \"100.0%\"].join(\"\"));\n });\n });\n describe(\"with rows/cols, custom aggregator, custom renderer with options\", function() {\n var received_PivotData, received_rendererOptions, table;\n received_PivotData = null;\n received_rendererOptions = null;\n table = $(\"<div>\").pivot(fixtureData, {\n rows: [\"name\", \"colour\"],\n cols: [\"trials\", \"successes\"],\n aggregator: function() {\n return {\n count2x: 0,\n push: function() {\n return this.count2x += 2;\n },\n value: function() {\n return this.count2x;\n },\n format: function(x) {\n return \"formatted \" + x;\n }\n };\n },\n renderer: function(a, b) {\n received_PivotData = a;\n received_rendererOptions = b;\n return $(\"<div>\").addClass(b.greeting).text(\"world\");\n },\n rendererOptions: {\n greeting: \"hithere\"\n }\n });\n it(\"renders the custom renderer as per options\", function() {\n return expect(table.find(\"div.hithere\").length).toBe(1);\n });\n return describe(\"its received PivotData object\", function() {\n return it(\"has a correct grand total value and format for custom aggregator\", function() {\n var agg, val;\n agg = received_PivotData.getAggregator([], []);\n val = agg.value();\n expect(val).toBe(8);\n return expect(agg.format(val)).toBe(\"formatted 8\");\n });\n });\n });\n return describe(\"with ragged input\", function() {\n var table;\n table = $(\"<div>\").pivot(raggedFixtureData, {\n rows: [\"gender\"],\n cols: [\"age\"]\n });\n return it(\"renders a table with the correct textual representation\", function() {\n return expect(table.find(\"table.pvtTable\").text()).toBe([\"age\", \"12\", \"34\", \"null\", \"Totals\", \"gender\", \"female\", \"1\", \"1\", \"male\", \"1\", \"1\", \"null\", \"1\", \"1\", \"2\", \"Totals\", \"2\", \"1\", \"1\", \"4\"].join(\"\"));\n });\n });\n });\n\n describe(\"$.pivotUtilities\", function() {\n describe(\".PivotData()\", function() {\n var sumOverSumOpts;\n sumOverSumOpts = {\n aggregator: $.pivotUtilities.aggregators[\"Sum over Sum\"]([\"a\", \"b\"])\n };\n describe(\"with no options\", function() {\n var aoaInput, pd;\n aoaInput = [[\"a\", \"b\"], [1, 2], [3, 4]];\n pd = new $.pivotUtilities.PivotData(aoaInput);\n return it(\"has the correct grand total value\", function() {\n return expect(pd.getAggregator([], []).value()).toBe(2);\n });\n });\n describe(\"with array-of-array input\", function() {\n var aoaInput, pd;\n aoaInput = [[\"a\", \"b\"], [1, 2], [3, 4]];\n pd = new $.pivotUtilities.PivotData(aoaInput, sumOverSumOpts);\n return it(\"has the correct grand total value\", function() {\n return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));\n });\n });\n describe(\"with array-of-object input\", function() {\n var aosInput, pd;\n aosInput = [\n {\n a: 1,\n b: 2\n }, {\n a: 3,\n b: 4\n }\n ];\n pd = new $.pivotUtilities.PivotData(aosInput, sumOverSumOpts);\n return it(\"has the correct grand total value\", function() {\n return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));\n });\n });\n describe(\"with ragged array-of-object input\", function() {\n var pd, raggedAosInput;\n raggedAosInput = [\n {\n a: 1\n }, {\n b: 4\n }, {\n a: 3,\n b: 2\n }\n ];\n pd = new $.pivotUtilities.PivotData(raggedAosInput, sumOverSumOpts);\n return it(\"has the correct grand total value\", function() {\n return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));\n });\n });\n describe(\"with function input\", function() {\n var functionInput, pd;\n functionInput = function(record) {\n record({\n a: 1,\n b: 2\n });\n return record({\n a: 3,\n b: 4\n });\n };\n pd = new $.pivotUtilities.PivotData(functionInput, sumOverSumOpts);\n return it(\"has the correct grand total value\", function() {\n return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));\n });\n });\n describe(\"with jQuery table element input\", function() {\n var pd, tableInput;\n tableInput = $(\"<table>\\n <thead>\\n <tr> <th>a</th><th>b</th> </tr>\\n </thead>\\n <tbody>\\n <tr> <td>1</td> <td>2</td> </tr>\\n <tr> <td>3</td> <td>4</td> </tr>\\n </tbody>\\n</table>\");\n pd = new $.pivotUtilities.PivotData(tableInput, sumOverSumOpts);\n return it(\"has the correct grand total value\", function() {\n return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));\n });\n });\n return describe(\"with rows/cols\", function() {\n var pd;\n pd = new $.pivotUtilities.PivotData(fixtureData, {\n rows: [\"name\", \"colour\"],\n cols: [\"trials\", \"successes\"]\n });\n it(\"has correctly-ordered row keys\", function() {\n return expect(pd.getRowKeys()).toEqual([['Carol', 'yellow'], ['Jane', 'red'], ['John', 'blue'], ['Nick', 'blue']]);\n });\n it(\"has correctly-ordered col keys\", function() {\n return expect(pd.getColKeys()).toEqual([[95, 25], [102, 14], [103, 12], [112, 30]]);\n });\n it(\"can be iterated over\", function() {\n var c, i, j, len, len1, numNotNull, numNull, r, ref, ref1;\n numNotNull = 0;\n numNull = 0;\n ref = pd.getRowKeys();\n for (i = 0, len = ref.length; i < len; i++) {\n r = ref[i];\n ref1 = pd.getColKeys();\n for (j = 0, len1 = ref1.length; j < len1; j++) {\n c = ref1[j];\n if (pd.getAggregator(r, c).value() != null) {\n numNotNull++;\n } else {\n numNull++;\n }\n }\n }\n expect(numNotNull).toBe(4);\n return expect(numNull).toBe(12);\n });\n it(\"returns matching records\", function() {\n var records;\n records = [];\n pd.forEachMatchingRecord({\n gender: \"male\"\n }, function(x) {\n return records.push(x.name);\n });\n return expect(records).toEqual([\"Nick\", \"John\"]);\n });\n it(\"has a correct spot-checked aggregator\", function() {\n var agg, val;\n agg = pd.getAggregator(['Carol', 'yellow'], [102, 14]);\n val = agg.value();\n expect(val).toBe(1);\n return expect(agg.format(val)).toBe(\"1\");\n });\n return it(\"has a correct grand total aggregator\", function() {\n var agg, val;\n agg = pd.getAggregator([], []);\n val = agg.value();\n expect(val).toBe(4);\n return expect(agg.format(val)).toBe(\"4\");\n });\n });\n });\n describe(\".aggregatorTemplates\", function() {\n var getVal, tpl;\n getVal = function(aggregator) {\n var pd;\n pd = new $.pivotUtilities.PivotData(fixtureData, {\n aggregator: aggregator\n });\n return pd.getAggregator([], []).value();\n };\n tpl = $.pivotUtilities.aggregatorTemplates;\n describe(\".count\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.count()())).toBe(4);\n });\n });\n describe(\".countUnique\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.countUnique()(['gender']))).toBe(2);\n });\n });\n describe(\".listUnique\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.listUnique()(['gender']))).toBe('male,female');\n });\n });\n describe(\".average\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.average()(['trials']))).toBe(103);\n });\n });\n describe(\".sum\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.sum()(['trials']))).toBe(412);\n });\n });\n describe(\".min\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.min()(['trials']))).toBe(95);\n });\n });\n describe(\".max\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.max()(['trials']))).toBe(112);\n });\n });\n describe(\".first\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.first()(['name']))).toBe('Carol');\n });\n });\n describe(\".last\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.last()(['name']))).toBe('Nick');\n });\n });\n describe(\".average\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.average()(['trials']))).toBe(103);\n });\n });\n describe(\".median\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.median()(['trials']))).toBe(102.5);\n });\n });\n describe(\".quantile\", function() {\n return it(\"works\", function() {\n expect(getVal(tpl.quantile(0)(['trials']))).toBe(95);\n expect(getVal(tpl.quantile(0.1)(['trials']))).toBe(98.5);\n expect(getVal(tpl.quantile(0.25)(['trials']))).toBe(98.5);\n expect(getVal(tpl.quantile(1 / 3)(['trials']))).toBe(102);\n return expect(getVal(tpl.quantile(1)(['trials']))).toBe(112);\n });\n });\n describe(\".var\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl[\"var\"]()(['trials']))).toBe(48.666666666666686);\n });\n });\n describe(\".stdev\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.stdev()(['trials']))).toBe(6.976149845485451);\n });\n });\n return describe(\".sumOverSum\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.sumOverSum()(['successes', 'trials']))).toBe((12 + 25 + 30 + 14) / (95 + 102 + 103 + 112));\n });\n });\n });\n describe(\".naturalSort()\", function() {\n var naturalSort, sortedArr;\n naturalSort = $.pivotUtilities.naturalSort;\n sortedArr = [null, 0/0, -2e308, '-Infinity', -3, '-3', -2, '-2', -1, '-1', 0, '2e-1', 1, '01', '1', 2, '002', '002e0', '02', '2', '2e-0', 3, 10, '10', '11', '12', '1e2', '112', 2e308, 'Infinity', '1a', '2a', '12a', '20a', 'A', 'A', 'NaN', 'a', 'a', 'a01', 'a012', 'a02', 'a1', 'a2', 'a12', 'a12', 'a21', 'a21', 'b', 'c', 'd', 'null'];\n return it(\"sorts naturally (null, NaN, numbers & numbery strings, Alphanum for text strings)\", function() {\n return expect(sortedArr.slice().sort(naturalSort)).toEqual(sortedArr);\n });\n });\n describe(\".sortAs()\", function() {\n var sortAs;\n sortAs = $.pivotUtilities.sortAs;\n it(\"sorts with unknown values sorted at the end\", function() {\n return expect([5, 2, 3, 4, 1].sort(sortAs([4, 3, 2]))).toEqual([4, 3, 2, 1, 5]);\n });\n return it(\"sorts lowercase after uppercase\", function() {\n return expect([\"Ab\", \"aA\", \"aa\", \"ab\"].sort(sortAs([\"Ab\", \"Aa\"]))).toEqual([\"Ab\", \"ab\", \"aa\", \"aA\"]);\n });\n });\n describe(\".numberFormat()\", function() {\n var numberFormat;\n numberFormat = $.pivotUtilities.numberFormat;\n it(\"formats numbers\", function() {\n var nf;\n nf = numberFormat();\n return expect(nf(1234567.89123456)).toEqual(\"1,234,567.89\");\n });\n it(\"formats booleans\", function() {\n var nf;\n nf = numberFormat();\n return expect(nf(true)).toEqual(\"1.00\");\n });\n it(\"formats numbers in strings\", function() {\n var nf;\n nf = numberFormat();\n return expect(nf(\"1234567.89123456\")).toEqual(\"1,234,567.89\");\n });\n it(\"doesn't formats strings\", function() {\n var nf;\n nf = numberFormat();\n return expect(nf(\"hi there\")).toEqual(\"\");\n });\n it(\"doesn't formats objects\", function() {\n var nf;\n nf = numberFormat();\n return expect(nf({\n a: 1\n })).toEqual(\"\");\n });\n it(\"formats percentages\", function() {\n var nf;\n nf = numberFormat({\n scaler: 100,\n suffix: \"%\"\n });\n return expect(nf(0.12345)).toEqual(\"12.35%\");\n });\n it(\"adds separators\", function() {\n var nf;\n nf = numberFormat({\n thousandsSep: \"a\",\n decimalSep: \"b\"\n });\n return expect(nf(1234567.89123456)).toEqual(\"1a234a567b89\");\n });\n it(\"adds prefixes and suffixes\", function() {\n var nf;\n nf = numberFormat({\n prefix: \"a\",\n suffix: \"b\"\n });\n return expect(nf(1234567.89123456)).toEqual(\"a1,234,567.89b\");\n });\n return it(\"scales and rounds\", function() {\n var nf;\n nf = numberFormat({\n digitsAfterDecimal: 3,\n scaler: 1000\n });\n return expect(nf(1234567.89123456)).toEqual(\"1,234,567,891.235\");\n });\n });\n return describe(\".derivers\", function() {\n describe(\".dateFormat()\", function() {\n var df;\n df = $.pivotUtilities.derivers.dateFormat(\"x\", \"abc % %% %%% %a %y %m %n %d %w %x %H %M %S\", true);\n it(\"formats date objects\", function() {\n return expect(df({\n x: new Date(\"2015-01-02T23:43:11Z\")\n })).toBe('abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11');\n });\n return it(\"formats input parsed by Date.parse()\", function() {\n expect(df({\n x: \"2015-01-02T23:43:11Z\"\n })).toBe('abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11');\n return expect(df({\n x: \"bla\"\n })).toBe('');\n });\n });\n return describe(\".bin()\", function() {\n var binner;\n binner = $.pivotUtilities.derivers.bin(\"x\", 10);\n it(\"bins numbers\", function() {\n expect(binner({\n x: 11\n })).toBe(10);\n expect(binner({\n x: 9\n })).toBe(0);\n return expect(binner({\n x: 111\n })).toBe(110);\n });\n it(\"bins booleans\", function() {\n return expect(binner({\n x: true\n })).toBe(0);\n });\n it(\"bins negative numbers\", function() {\n return expect(binner({\n x: -12\n })).toBe(-10);\n });\n it(\"doesn't bin strings\", function() {\n return expect(binner({\n x: \"a\"\n })).toBeNaN();\n });\n return it(\"doesn't bin objects\", function() {\n return expect(binner({\n x: {\n a: 1\n }\n })).toBeNaN();\n });\n });\n });\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot_spec.js.map\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>pivot_spec.min.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"), require("plotly.js"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery", "plotly.js"], pivotModule);
} else {
return pivotModule(jQuery, Plotly);
}
};
callWithJQuery(function($, Plotly) {
var makePlotlyChart, makePlotlyScatterChart;
makePlotlyChart = function(traceOptions, layoutOptions, transpose) {
if (traceOptions == null) {
traceOptions = {};
}
if (layoutOptions == null) {
layoutOptions = {};
}
if (transpose == null) {
transpose = false;
}
return function(pivotData, opts) {
var colKeys, columns, d, data, datumKeys, defaults, fullAggName, groupByTitle, hAxisTitle, i, layout, result, rowKeys, rows, titleText, traceKeys;
defaults = {
localeStrings: {
vs: "vs",
by: "by"
},
plotly: {},
plotlyConfig: {}
};
opts = $.extend(true, {}, defaults, opts);
rowKeys = pivotData.getRowKeys();
colKeys = pivotData.getColKeys();
traceKeys = transpose ? colKeys : rowKeys;
if (traceKeys.length === 0) {
traceKeys.push([]);
}
datumKeys = transpose ? rowKeys : colKeys;
if (datumKeys.length === 0) {
datumKeys.push([]);
}
fullAggName = pivotData.aggregatorName;
if (pivotData.valAttrs.length) {
fullAggName += "(" + (pivotData.valAttrs.join(", ")) + ")";
}
data = traceKeys.map(function(traceKey) {
var datumKey, j, labels, len, trace, val, values;
values = [];
labels = [];
for (j = 0, len = datumKeys.length; j < len; j++) {
datumKey = datumKeys[j];
val = parseFloat(pivotData.getAggregator(transpose ? datumKey : traceKey, transpose ? traceKey : datumKey).value());
values.push(isFinite(val) ? val : null);
labels.push(datumKey.join('-') || ' ');
}
trace = {
name: traceKey.join('-') || fullAggName
};
if (traceOptions.type === "pie") {
trace.values = values;
trace.labels = labels.length > 1 ? labels : [fullAggName];
} else {
trace.x = transpose ? values : labels;
trace.y = transpose ? labels : values;
}
return $.extend(trace, traceOptions);
});
if (transpose) {
hAxisTitle = pivotData.rowAttrs.join("-");
groupByTitle = pivotData.colAttrs.join("-");
} else {
hAxisTitle = pivotData.colAttrs.join("-");
groupByTitle = pivotData.rowAttrs.join("-");
}
titleText = fullAggName;
if (hAxisTitle !== "") {
titleText += " " + opts.localeStrings.vs + " " + hAxisTitle;
}
if (groupByTitle !== "") {
titleText += " " + opts.localeStrings.by + " " + groupByTitle;
}
layout = {
title: titleText,
hovermode: 'closest',
width: window.innerWidth / 1.4,
height: window.innerHeight / 1.4 - 50
};
if (traceOptions.type === 'pie') {
columns = Math.ceil(Math.sqrt(data.length));
rows = Math.ceil(data.length / columns);
layout.grid = {
columns: columns,
rows: rows
};
for (i in data) {
d = data[i];
d.domain = {
row: Math.floor(i / columns),
column: i - columns * Math.floor(i / columns)
};
if (data.length > 1) {
d.title = d.name;
}
}
if (data[0].labels.length === 1) {
layout.showlegend = false;
}
} else {
layout.xaxis = {
title: transpose ? fullAggName : null,
automargin: true
};
layout.yaxis = {
title: transpose ? null : fullAggName,
automargin: true
};
}
result = $("<div>").appendTo($("body"));
Plotly.newPlot(result[0], data, $.extend(layout, layoutOptions, opts.plotly), opts.plotlyConfig);
return result.detach();
};
};
makePlotlyScatterChart = function() {
return function(pivotData, opts) {
var colKey, colKeys, data, defaults, j, k, layout, len, len1, renderArea, result, rowKey, rowKeys, v;
defaults = {
localeStrings: {
vs: "vs",
by: "by"
},
plotly: {},
plotlyConfig: {}
};
opts = $.extend(true, {}, defaults, opts);
rowKeys = pivotData.getRowKeys();
if (rowKeys.length === 0) {
rowKeys.push([]);
}
colKeys = pivotData.getColKeys();
if (colKeys.length === 0) {
colKeys.push([]);
}
data = {
x: [],
y: [],
text: [],
type: 'scatter',
mode: 'markers'
};
for (j = 0, len = rowKeys.length; j < len; j++) {
rowKey = rowKeys[j];
for (k = 0, len1 = colKeys.length; k < len1; k++) {
colKey = colKeys[k];
v = pivotData.getAggregator(rowKey, colKey).value();
if (v != null) {
data.x.push(colKey.join('-'));
data.y.push(rowKey.join('-'));
data.text.push(v);
}
}
}
layout = {
title: pivotData.rowAttrs.join("-") + ' vs ' + pivotData.colAttrs.join("-"),
hovermode: 'closest',
xaxis: {
title: pivotData.colAttrs.join('-'),
automargin: true
},
yaxis: {
title: pivotData.rowAttrs.join('-'),
automargin: true
},
width: window.innerWidth / 1.5,
height: window.innerHeight / 1.4 - 50
};
renderArea = $("<div>", {
style: "display:none;"
}).appendTo($("body"));
result = $("<div>").appendTo(renderArea);
Plotly.newPlot(result[0], [data], $.extend(layout, opts.plotly), opts.plotlyConfig);
result.detach();
renderArea.remove();
return result;
};
};
return $.pivotUtilities.plotly_renderers = {
"Horizontal Bar Chart": makePlotlyChart({
type: 'bar',
orientation: 'h'
}, {
barmode: 'group'
}, true),
"Horizontal Stacked Bar Chart": makePlotlyChart({
type: 'bar',
orientation: 'h'
}, {
barmode: 'relative'
}, true),
"Bar Chart": makePlotlyChart({
type: 'bar'
}, {
barmode: 'group'
}),
"Stacked Bar Chart": makePlotlyChart({
type: 'bar'
}, {
barmode: 'relative'
}),
"Line Chart": makePlotlyChart(),
"Area Chart": makePlotlyChart({
stackgroup: 1
}),
"Scatter Chart": makePlotlyScatterChart(),
'Multiple Pie Chart': makePlotlyChart({
type: 'pie',
scalegroup: 1,
hoverinfo: 'label+value',
textinfo: 'none'
}, {}, true)
};
});
}).call(this);
//# sourceMappingURL=plotly_renderers.js.map
{"version":3,"file":"plotly_renderers.js","sources":["plotly_renderers.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\"), require(\"plotly.js\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\", \"plotly.js\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery, Plotly\n\ncallWithJQuery ($, Plotly) ->\n\n makePlotlyChart = (traceOptions = {}, layoutOptions = {}, transpose = false) ->\n (pivotData, opts) ->\n defaults =\n localeStrings: {vs: \"vs\", by: \"by\"}\n plotly: {}\n plotlyConfig: {}\n\n opts = $.extend(true, {}, defaults, opts)\n\n rowKeys = pivotData.getRowKeys()\n colKeys = pivotData.getColKeys()\n traceKeys = if transpose then colKeys else rowKeys\n traceKeys.push([]) if traceKeys.length == 0\n datumKeys = if transpose then rowKeys else colKeys\n datumKeys.push([]) if datumKeys.length == 0\n\n fullAggName = pivotData.aggregatorName\n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n\n data = traceKeys.map (traceKey) ->\n values = []\n labels = []\n for datumKey in datumKeys\n val = parseFloat(pivotData.getAggregator(\n if transpose then datumKey else traceKey,\n if transpose then traceKey else datumKey\n ).value())\n values.push(if isFinite(val) then val else null)\n labels.push(datumKey.join('-') || ' ')\n\n trace = {name: traceKey.join('-') || fullAggName}\n if traceOptions.type == \"pie\"\n trace.values = values\n trace.labels = if labels.length > 1 then labels else [fullAggName]\n else\n trace.x = if transpose then values else labels\n trace.y = if transpose then labels else values\n return $.extend(trace, traceOptions)\n\n if transpose\n hAxisTitle = pivotData.rowAttrs.join(\"-\")\n groupByTitle = pivotData.colAttrs.join(\"-\")\n else\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n groupByTitle = pivotData.rowAttrs.join(\"-\")\n titleText = fullAggName\n titleText += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n titleText += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n\n layout =\n title: titleText\n hovermode: 'closest'\n width: window.innerWidth / 1.4\n height: window.innerHeight / 1.4 - 50\n\n if traceOptions.type == 'pie'\n columns = Math.ceil(Math.sqrt(data.length))\n rows = Math.ceil(data.length / columns)\n layout.grid = {columns, rows}\n for i, d of data\n d.domain = {\n row: Math.floor(i / columns),\n column: i - columns * Math.floor(i / columns),\n }\n if data.length > 1\n d.title = d.name\n layout.showlegend = false if data[0].labels.length == 1\n else\n layout.xaxis =\n title: if transpose then fullAggName else null\n automargin: true\n layout.yaxis =\n title: if transpose then null else fullAggName\n automargin: true\n\n\n result = $(\"<div>\").appendTo $(\"body\")\n Plotly.newPlot(result[0], data, $.extend(layout, layoutOptions, opts.plotly), opts.plotlyConfig)\n return result.detach()\n\n makePlotlyScatterChart = -> (pivotData, opts) ->\n defaults =\n localeStrings: {vs: \"vs\", by: \"by\"}\n plotly: {}\n plotlyConfig: {}\n\n opts = $.extend(true, {}, defaults, opts)\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n\n data = {x: [], y: [], text: [], type: 'scatter', mode: 'markers'}\n\n for rowKey in rowKeys\n for colKey in colKeys\n v = pivotData.getAggregator(rowKey, colKey).value()\n if v?\n data.x.push(colKey.join('-'))\n data.y.push(rowKey.join('-'))\n data.text.push(v)\n\n layout = {\n title: pivotData.rowAttrs.join(\"-\") + ' vs ' + pivotData.colAttrs.join(\"-\")\n hovermode: 'closest',\n xaxis: {title: pivotData.colAttrs.join('-'), automargin: true},\n yaxis: {title: pivotData.rowAttrs.join('-'), automargin: true},\n width: window.innerWidth / 1.5,\n height: window.innerHeight / 1.4 - 50\n }\n\n renderArea = $(\"<div>\", style: \"display:none;\").appendTo $(\"body\")\n result = $(\"<div>\").appendTo renderArea\n Plotly.newPlot(result[0], [data], $.extend(layout, opts.plotly), opts.plotlyConfig)\n result.detach()\n renderArea.remove()\n return result\n\n $.pivotUtilities.plotly_renderers =\n \"Horizontal Bar Chart\": makePlotlyChart({type: 'bar', orientation: 'h'},\n {barmode: 'group'}, true)\n \"Horizontal Stacked Bar Chart\": makePlotlyChart({type: 'bar', orientation: 'h'},\n {barmode: 'relative'}, true)\n \"Bar Chart\": makePlotlyChart({type: 'bar'}, {barmode: 'group'})\n \"Stacked Bar Chart\": makePlotlyChart({type: 'bar'}, {barmode: 'relative'})\n \"Line Chart\": makePlotlyChart()\n \"Area Chart\": makePlotlyChart({stackgroup: 1})\n \"Scatter Chart\": makePlotlyScatterChart()\n 'Multiple Pie Chart': makePlotlyChart(\n {type: 'pie', scalegroup: 1, hoverinfo: 'label+value', textinfo: 'none'},\n {}, true)\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>plotly_renderers.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>plotly_renderers.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
(function(){var t;(t=function(t){return"object"==typeof exports&&"object"==typeof module?t(require("jquery"),require("plotly.js")):"function"==typeof define&&define.amd?define(["jquery","plotly.js"],t):t(jQuery,Plotly)})(function(t,e){var o,n;return o=function(o,n,r){return null==o&&(o={}),null==n&&(n={}),null==r&&(r=!1),function(l,i){var a,s,h,u,g,p,y,d,c,f,v,m,w,b,j,x;if(p={localeStrings:{vs:"vs",by:"by"},plotly:{},plotlyConfig:{}},i=t.extend(!0,{},p,i),w=l.getRowKeys(),a=l.getColKeys(),x=r?a:w,0===x.length&&x.push([]),g=r?w:a,0===g.length&&g.push([]),y=l.aggregatorName,l.valAttrs.length&&(y+="("+l.valAttrs.join(", ")+")"),u=x.map(function(e){var n,i,a,s,h,u,p;for(p=[],a=[],i=0,s=g.length;i<s;i++)n=g[i],u=parseFloat(l.getAggregator(r?n:e,r?e:n).value()),p.push(isFinite(u)?u:null),a.push(n.join("-")||" ");return h={name:e.join("-")||y},"pie"===o.type?(h.values=p,h.labels=a.length>1?a:[y]):(h.x=r?p:a,h.y=r?a:p),t.extend(h,o)}),r?(c=l.rowAttrs.join("-"),d=l.colAttrs.join("-")):(c=l.colAttrs.join("-"),d=l.rowAttrs.join("-")),j=y,""!==c&&(j+=" "+i.localeStrings.vs+" "+c),""!==d&&(j+=" "+i.localeStrings.by+" "+d),v={title:j,hovermode:"closest",width:window.innerWidth/1.4,height:window.innerHeight/1.4-50},"pie"===o.type){s=Math.ceil(Math.sqrt(u.length)),b=Math.ceil(u.length/s),v.grid={columns:s,rows:b};for(f in u)h=u[f],h.domain={row:Math.floor(f/s),column:f-s*Math.floor(f/s)},u.length>1&&(h.title=h.name);1===u[0].labels.length&&(v.showlegend=!1)}else v.xaxis={title:r?y:null,automargin:!0},v.yaxis={title:r?null:y,automargin:!0};return m=t("<div>").appendTo(t("body")),e.newPlot(m[0],u,t.extend(v,n,i.plotly),i.plotlyConfig),m.detach()}},n=function(){return function(o,n){var r,l,i,a,s,h,u,g,p,y,d,c,f,v;for(a={localeStrings:{vs:"vs",by:"by"},plotly:{},plotlyConfig:{}},n=t.extend(!0,{},a,n),f=o.getRowKeys(),0===f.length&&f.push([]),l=o.getColKeys(),0===l.length&&l.push([]),i={x:[],y:[],text:[],type:"scatter",mode:"markers"},s=0,g=f.length;s<g;s++)for(c=f[s],h=0,p=l.length;h<p;h++)r=l[h],v=o.getAggregator(c,r).value(),null!=v&&(i.x.push(r.join("-")),i.y.push(c.join("-")),i.text.push(v));return u={title:o.rowAttrs.join("-")+" vs "+o.colAttrs.join("-"),hovermode:"closest",xaxis:{title:o.colAttrs.join("-"),automargin:!0},yaxis:{title:o.rowAttrs.join("-"),automargin:!0},width:window.innerWidth/1.5,height:window.innerHeight/1.4-50},y=t("<div>",{style:"display:none;"}).appendTo(t("body")),d=t("<div>").appendTo(y),e.newPlot(d[0],[i],t.extend(u,n.plotly),n.plotlyConfig),d.detach(),y.remove(),d}},t.pivotUtilities.plotly_renderers={"Horizontal Bar Chart":o({type:"bar",orientation:"h"},{barmode:"group"},!0),"Horizontal Stacked Bar Chart":o({type:"bar",orientation:"h"},{barmode:"relative"},!0),"Bar Chart":o({type:"bar"},{barmode:"group"}),"Stacked Bar Chart":o({type:"bar"},{barmode:"relative"}),"Line Chart":o(),"Area Chart":o({stackgroup:1}),"Scatter Chart":n(),"Multiple Pie Chart":o({type:"pie",scalegroup:1,hoverinfo:"label+value",textinfo:"none"},{},!0)}})}).call(this);
//# sourceMappingURL=plotly_renderers.min.js.map
{"version":3,"sources":["plotly_renderers.coffee","plotly_renderers.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","Plotly","$","makePlotlyChart","makePlotlyScatterChart","traceOptions","layoutOptions","transpose","pivotData","opts","colKeys","columns","d","data","datumKeys","defaults","fullAggName","groupByTitle","hAxisTitle","i","layout","result","rowKeys","rows","titleText","traceKeys","localeStrings","vs","by","plotly","plotlyConfig","extend","getRowKeys","getColKeys","length","push","aggregatorName","valAttrs","join","map","traceKey","datumKey","j","labels","len","trace","val","values","parseFloat","getAggregator","value","isFinite","name","type","x","y","rowAttrs","colAttrs","title","hovermode","width","window","innerWidth","height","innerHeight","Math","ceil","sqrt","grid","domain","row","floor","column","showlegend","xaxis","automargin","yaxis","appendTo","newPlot","detach","colKey","k","len1","renderArea","rowKey","v","text","mode","style","remove","pivotUtilities","plotly_renderers","Horizontal Bar Chart","orientation","barmode","Horizontal Stacked Bar Chart","Bar Chart","Stacked Bar Chart","Line Chart","Area Chart","stackgroup","Scatter Chart","Multiple Pie Chart","scalegroup","hoverinfo","textinfo","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,UAAWA,QAAQ,cAClB,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,SAAU,aAAcJ,GAGhCA,EAAYM,OAAQC,UAEb,SAACC,EAAGD,GAEf,GAAAE,GAAAC,CCmLA,ODnLAD,GAAkB,SAACE,EAAmBC,EAAoBC,GCcxD,MAToB,OAAhBF,IDLaA,MCQI,MAAjBC,IDRgCA,MCWnB,MAAbC,IDXoDA,GAAY,GAClE,SAACC,EAAWC,GACR,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CAsDA,IAtDAV,GACIW,eAAgBC,GAAI,KAAMC,GAAI,MAC9BC,UACAC,iBAEJrB,EAAOP,EAAE6B,QAAO,KAAUhB,EAAUN,GAEpCa,EAAUd,EAAUwB,aACpBtB,EAAUF,EAAUyB,aACpBR,EAAelB,EAAeG,EAAaY,EACD,IAApBG,EAAUS,QAAhCT,EAAUU,SACVrB,EAAeP,EAAee,EAAaZ,EACD,IAApBI,EAAUoB,QAAhCpB,EAAUqB,SAEVnB,EAAcR,EAAU4B,eACrB5B,EAAU6B,SAASH,SAClBlB,GAAe,IAAIR,EAAU6B,SAASC,KAAK,MAAM,KAErDzB,EAAOY,EAAUc,IAAI,SAACC,GAClB,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CAEA,KAFAA,KACAJ,KACAD,EAAA,EAAAE,EAAA9B,EAAAoB,OAAAQ,EAAAE,EAAAF,ICqBJD,EAAW3B,EAAU4B,GDpBbI,EAAME,WAAWxC,EAAUyC,cACpB1C,EAAekC,EAAcD,EAC7BjC,EAAeiC,EAAcC,GAClCS,SACFH,EAAOZ,KAAQgB,SAASL,GAAUA,EAAS,MAC3CH,EAAOR,KAAKM,EAASH,KAAK,MAAQ,IAStC,OAPAO,IAASO,KAAMZ,EAASF,KAAK,MAAQtB,GACb,QAArBX,EAAagD,MACZR,EAAME,OAASA,EACfF,EAAMF,OAAYA,EAAOT,OAAS,EAAOS,GAAa3B,KAEtD6B,EAAMS,EAAO/C,EAAewC,EAAYJ,EACxCE,EAAMU,EAAOhD,EAAeoC,EAAYI,GACrC7C,EAAE6B,OAAOc,EAAOxC,KAExBE,GACCW,EAAaV,EAAUgD,SAASlB,KAAK,KACrCrB,EAAeT,EAAUiD,SAASnB,KAAK,OAEvCpB,EAAaV,EAAUiD,SAASnB,KAAK,KACrCrB,EAAeT,EAAUgD,SAASlB,KAAK,MAC3Cd,EAAYR,EAC4D,KAAdE,IAA1DM,GAAa,IAAIf,EAAKiB,cAAcC,GAAG,IAAGT,GACkC,KAAhBD,IAA5DO,GAAa,IAAIf,EAAKiB,cAAcE,GAAG,IAAGX,GAE1CG,GACIsC,MAAOlC,EACPmC,UAAW,UACXC,MAAOC,OAAOC,WAAa,IAC3BC,OAAQF,OAAOG,YAAc,IAAM,IAEf,QAArB3D,EAAagD,KAAhB,CACI1C,EAAUsD,KAAKC,KAAKD,KAAKE,KAAKtD,EAAKqB,SACnCX,EAAO0C,KAAKC,KAAKrD,EAAKqB,OAASvB,GAC/BS,EAAOgD,MAAQzD,QAAAA,EAASY,KAAAA,EACxB,KAAAJ,IAAAN,GC6BJD,EAAIC,EAAKM,GD5BDP,EAAEyD,QACEC,IAAKL,KAAKM,MAAMpD,EAAIR,GACpB6D,OAAQrD,EAAIR,EAAUsD,KAAKM,MAAMpD,EAAIR,IAEtCE,EAAKqB,OAAS,IACbtB,EAAE8C,MAAQ9C,EAAEwC,KACkC,KAAzBvC,EAAK,GAAG8B,OAAOT,SAA5Cd,EAAOqD,YAAa,OAEpBrD,GAAOsD,OACHhB,MAAUnD,EAAeS,EAAiB,KAC1C2D,YAAY,GAChBvD,EAAOwD,OACHlB,MAAUnD,EAAe,KAAUS,EACnC2D,YAAY,EAKpB,OAFAtD,GAASnB,EAAE,SAAS2E,SAAS3E,EAAE,SAC/BD,EAAO6E,QAAQzD,EAAO,GAAIR,EAAMX,EAAE6B,OAAOX,EAAQd,EAAeG,EAAKoB,QAASpB,EAAKqB,cAC5ET,EAAO0D,WAEtB3E,EAAyB,WCoCvB,MDpC0B,UAACI,EAAWC,GACpC,GAAAuE,GAAAtE,EAAAG,EAAAE,EAAA2B,EAAAuC,EAAA7D,EAAAwB,EAAAsC,EAAAC,EAAA9D,EAAA+D,EAAA9D,EAAA+D,CAcA,KAdAtE,GACIW,eAAgBC,GAAI,KAAMC,GAAI,MAC9BC,UACAC,iBAEJrB,EAAOP,EAAE6B,QAAO,KAAUhB,EAAUN,GAEpCa,EAAUd,EAAUwB,aACiB,IAAlBV,EAAQY,QAA3BZ,EAAQa,SACRzB,EAAUF,EAAUyB,aACiB,IAAlBvB,EAAQwB,QAA3BxB,EAAQyB,SAERtB,GAAQyC,KAAOC,KAAO+B,QAAUjC,KAAM,UAAWkC,KAAM,WAEvD7C,EAAA,EAAAE,EAAAtB,EAAAY,OAAAQ,EAAAE,EAAAF,IACI,IC+CF0C,EAAS9D,EAAQoB,GD/CfuC,EAAA,EAAAC,EAAAxE,EAAAwB,OAAA+C,EAAAC,EAAAD,ICiDAD,EAAStE,EAAQuE,GDhDbI,EAAI7E,EAAUyC,cAAcmC,EAAQJ,GAAQ9B,QACzC,MAAAmC,IACCxE,EAAKyC,EAAEnB,KAAK6C,EAAO1C,KAAK,MACxBzB,EAAK0C,EAAEpB,KAAKiD,EAAO9C,KAAK,MACxBzB,EAAKyE,KAAKnD,KAAKkD,GAgB3B,OAdAjE,IACIsC,MAAOlD,EAAUgD,SAASlB,KAAK,KAAO,OAAS9B,EAAUiD,SAASnB,KAAK,KACvEqB,UAAW,UACXe,OAAQhB,MAAOlD,EAAUiD,SAASnB,KAAK,KAAMqC,YAAY,GACzDC,OAAQlB,MAAOlD,EAAUgD,SAASlB,KAAK,KAAMqC,YAAY,GACzDf,MAAOC,OAAOC,WAAa,IAC3BC,OAAQF,OAAOG,YAAc,IAAM,IAGvCmB,EAAajF,EAAE,SAASsF,MAAO,kBAAiBX,SAAS3E,EAAE,SAC3DmB,EAASnB,EAAE,SAAS2E,SAASM,GAC7BlF,EAAO6E,QAAQzD,EAAO,IAAKR,GAAOX,EAAE6B,OAAOX,EAAQX,EAAKoB,QAASpB,EAAKqB,cACtET,EAAO0D,SACPI,EAAWM,SACJpE,IAEXnB,EAAEwF,eAAeC,kBACbC,uBAAwBzF,GAAiBkD,KAAM,MAAOwC,YAAa,MAC9DC,QAAS,UAAU,GACxBC,+BAAgC5F,GAAiBkD,KAAM,MAAOwC,YAAa,MACtEC,QAAS,aAAa,GAC3BE,YAAa7F,GAAiBkD,KAAM,QAASyC,QAAS,UACtDG,oBAAqB9F,GAAiBkD,KAAM,QAASyC,QAAS,aAC9DI,aAAc/F,IACdgG,aAAchG,GAAiBiG,WAAY,IAC3CC,gBAAiBjG,IACjBkG,qBAAsBnG,GACjBkD,KAAM,MAAOkD,WAAY,EAAGC,UAAW,cAAeC,SAAU,YAC7D,QCoFbC,KAAKC","file":"plotly_renderers.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\"), require(\"plotly.js\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\", \"plotly.js\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery, Plotly\n\ncallWithJQuery ($, Plotly) ->\n\n makePlotlyChart = (traceOptions = {}, layoutOptions = {}, transpose = false) ->\n (pivotData, opts) ->\n defaults =\n localeStrings: {vs: \"vs\", by: \"by\"}\n plotly: {}\n plotlyConfig: {}\n\n opts = $.extend(true, {}, defaults, opts)\n\n rowKeys = pivotData.getRowKeys()\n colKeys = pivotData.getColKeys()\n traceKeys = if transpose then colKeys else rowKeys\n traceKeys.push([]) if traceKeys.length == 0\n datumKeys = if transpose then rowKeys else colKeys\n datumKeys.push([]) if datumKeys.length == 0\n\n fullAggName = pivotData.aggregatorName\n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n\n data = traceKeys.map (traceKey) ->\n values = []\n labels = []\n for datumKey in datumKeys\n val = parseFloat(pivotData.getAggregator(\n if transpose then datumKey else traceKey,\n if transpose then traceKey else datumKey\n ).value())\n values.push(if isFinite(val) then val else null)\n labels.push(datumKey.join('-') || ' ')\n\n trace = {name: traceKey.join('-') || fullAggName}\n if traceOptions.type == \"pie\"\n trace.values = values\n trace.labels = if labels.length > 1 then labels else [fullAggName]\n else\n trace.x = if transpose then values else labels\n trace.y = if transpose then labels else values\n return $.extend(trace, traceOptions)\n\n if transpose\n hAxisTitle = pivotData.rowAttrs.join(\"-\")\n groupByTitle = pivotData.colAttrs.join(\"-\")\n else\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n groupByTitle = pivotData.rowAttrs.join(\"-\")\n titleText = fullAggName\n titleText += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n titleText += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n\n layout =\n title: titleText\n hovermode: 'closest'\n width: window.innerWidth / 1.4\n height: window.innerHeight / 1.4 - 50\n\n if traceOptions.type == 'pie'\n columns = Math.ceil(Math.sqrt(data.length))\n rows = Math.ceil(data.length / columns)\n layout.grid = {columns, rows}\n for i, d of data\n d.domain = {\n row: Math.floor(i / columns),\n column: i - columns * Math.floor(i / columns),\n }\n if data.length > 1\n d.title = d.name\n layout.showlegend = false if data[0].labels.length == 1\n else\n layout.xaxis =\n title: if transpose then fullAggName else null\n automargin: true\n layout.yaxis =\n title: if transpose then null else fullAggName\n automargin: true\n\n\n result = $(\"<div>\").appendTo $(\"body\")\n Plotly.newPlot(result[0], data, $.extend(layout, layoutOptions, opts.plotly), opts.plotlyConfig)\n return result.detach()\n\n makePlotlyScatterChart = -> (pivotData, opts) ->\n defaults =\n localeStrings: {vs: \"vs\", by: \"by\"}\n plotly: {}\n plotlyConfig: {}\n\n opts = $.extend(true, {}, defaults, opts)\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n\n data = {x: [], y: [], text: [], type: 'scatter', mode: 'markers'}\n\n for rowKey in rowKeys\n for colKey in colKeys\n v = pivotData.getAggregator(rowKey, colKey).value()\n if v?\n data.x.push(colKey.join('-'))\n data.y.push(rowKey.join('-'))\n data.text.push(v)\n\n layout = {\n title: pivotData.rowAttrs.join(\"-\") + ' vs ' + pivotData.colAttrs.join(\"-\")\n hovermode: 'closest',\n xaxis: {title: pivotData.colAttrs.join('-'), automargin: true},\n yaxis: {title: pivotData.rowAttrs.join('-'), automargin: true},\n width: window.innerWidth / 1.5,\n height: window.innerHeight / 1.4 - 50\n }\n\n renderArea = $(\"<div>\", style: \"display:none;\").appendTo $(\"body\")\n result = $(\"<div>\").appendTo renderArea\n Plotly.newPlot(result[0], [data], $.extend(layout, opts.plotly), opts.plotlyConfig)\n result.detach()\n renderArea.remove()\n return result\n\n $.pivotUtilities.plotly_renderers =\n \"Horizontal Bar Chart\": makePlotlyChart({type: 'bar', orientation: 'h'},\n {barmode: 'group'}, true)\n \"Horizontal Stacked Bar Chart\": makePlotlyChart({type: 'bar', orientation: 'h'},\n {barmode: 'relative'}, true)\n \"Bar Chart\": makePlotlyChart({type: 'bar'}, {barmode: 'group'})\n \"Stacked Bar Chart\": makePlotlyChart({type: 'bar'}, {barmode: 'relative'})\n \"Line Chart\": makePlotlyChart()\n \"Area Chart\": makePlotlyChart({stackgroup: 1})\n \"Scatter Chart\": makePlotlyScatterChart()\n 'Multiple Pie Chart': makePlotlyChart(\n {type: 'pie', scalegroup: 1, hoverinfo: 'label+value', textinfo: 'none'},\n {}, true)\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"), require(\"plotly.js\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\", \"plotly.js\"], pivotModule);\n } else {\n return pivotModule(jQuery, Plotly);\n }\n };\n\n callWithJQuery(function($, Plotly) {\n var makePlotlyChart, makePlotlyScatterChart;\n makePlotlyChart = function(traceOptions, layoutOptions, transpose) {\n if (traceOptions == null) {\n traceOptions = {};\n }\n if (layoutOptions == null) {\n layoutOptions = {};\n }\n if (transpose == null) {\n transpose = false;\n }\n return function(pivotData, opts) {\n var colKeys, columns, d, data, datumKeys, defaults, fullAggName, groupByTitle, hAxisTitle, i, layout, result, rowKeys, rows, titleText, traceKeys;\n defaults = {\n localeStrings: {\n vs: \"vs\",\n by: \"by\"\n },\n plotly: {},\n plotlyConfig: {}\n };\n opts = $.extend(true, {}, defaults, opts);\n rowKeys = pivotData.getRowKeys();\n colKeys = pivotData.getColKeys();\n traceKeys = transpose ? colKeys : rowKeys;\n if (traceKeys.length === 0) {\n traceKeys.push([]);\n }\n datumKeys = transpose ? rowKeys : colKeys;\n if (datumKeys.length === 0) {\n datumKeys.push([]);\n }\n fullAggName = pivotData.aggregatorName;\n if (pivotData.valAttrs.length) {\n fullAggName += \"(\" + (pivotData.valAttrs.join(\", \")) + \")\";\n }\n data = traceKeys.map(function(traceKey) {\n var datumKey, j, labels, len, trace, val, values;\n values = [];\n labels = [];\n for (j = 0, len = datumKeys.length; j < len; j++) {\n datumKey = datumKeys[j];\n val = parseFloat(pivotData.getAggregator(transpose ? datumKey : traceKey, transpose ? traceKey : datumKey).value());\n values.push(isFinite(val) ? val : null);\n labels.push(datumKey.join('-') || ' ');\n }\n trace = {\n name: traceKey.join('-') || fullAggName\n };\n if (traceOptions.type === \"pie\") {\n trace.values = values;\n trace.labels = labels.length > 1 ? labels : [fullAggName];\n } else {\n trace.x = transpose ? values : labels;\n trace.y = transpose ? labels : values;\n }\n return $.extend(trace, traceOptions);\n });\n if (transpose) {\n hAxisTitle = pivotData.rowAttrs.join(\"-\");\n groupByTitle = pivotData.colAttrs.join(\"-\");\n } else {\n hAxisTitle = pivotData.colAttrs.join(\"-\");\n groupByTitle = pivotData.rowAttrs.join(\"-\");\n }\n titleText = fullAggName;\n if (hAxisTitle !== \"\") {\n titleText += \" \" + opts.localeStrings.vs + \" \" + hAxisTitle;\n }\n if (groupByTitle !== \"\") {\n titleText += \" \" + opts.localeStrings.by + \" \" + groupByTitle;\n }\n layout = {\n title: titleText,\n hovermode: 'closest',\n width: window.innerWidth / 1.4,\n height: window.innerHeight / 1.4 - 50\n };\n if (traceOptions.type === 'pie') {\n columns = Math.ceil(Math.sqrt(data.length));\n rows = Math.ceil(data.length / columns);\n layout.grid = {\n columns: columns,\n rows: rows\n };\n for (i in data) {\n d = data[i];\n d.domain = {\n row: Math.floor(i / columns),\n column: i - columns * Math.floor(i / columns)\n };\n if (data.length > 1) {\n d.title = d.name;\n }\n }\n if (data[0].labels.length === 1) {\n layout.showlegend = false;\n }\n } else {\n layout.xaxis = {\n title: transpose ? fullAggName : null,\n automargin: true\n };\n layout.yaxis = {\n title: transpose ? null : fullAggName,\n automargin: true\n };\n }\n result = $(\"<div>\").appendTo($(\"body\"));\n Plotly.newPlot(result[0], data, $.extend(layout, layoutOptions, opts.plotly), opts.plotlyConfig);\n return result.detach();\n };\n };\n makePlotlyScatterChart = function() {\n return function(pivotData, opts) {\n var colKey, colKeys, data, defaults, j, k, layout, len, len1, renderArea, result, rowKey, rowKeys, v;\n defaults = {\n localeStrings: {\n vs: \"vs\",\n by: \"by\"\n },\n plotly: {},\n plotlyConfig: {}\n };\n opts = $.extend(true, {}, defaults, opts);\n rowKeys = pivotData.getRowKeys();\n if (rowKeys.length === 0) {\n rowKeys.push([]);\n }\n colKeys = pivotData.getColKeys();\n if (colKeys.length === 0) {\n colKeys.push([]);\n }\n data = {\n x: [],\n y: [],\n text: [],\n type: 'scatter',\n mode: 'markers'\n };\n for (j = 0, len = rowKeys.length; j < len; j++) {\n rowKey = rowKeys[j];\n for (k = 0, len1 = colKeys.length; k < len1; k++) {\n colKey = colKeys[k];\n v = pivotData.getAggregator(rowKey, colKey).value();\n if (v != null) {\n data.x.push(colKey.join('-'));\n data.y.push(rowKey.join('-'));\n data.text.push(v);\n }\n }\n }\n layout = {\n title: pivotData.rowAttrs.join(\"-\") + ' vs ' + pivotData.colAttrs.join(\"-\"),\n hovermode: 'closest',\n xaxis: {\n title: pivotData.colAttrs.join('-'),\n automargin: true\n },\n yaxis: {\n title: pivotData.rowAttrs.join('-'),\n automargin: true\n },\n width: window.innerWidth / 1.5,\n height: window.innerHeight / 1.4 - 50\n };\n renderArea = $(\"<div>\", {\n style: \"display:none;\"\n }).appendTo($(\"body\"));\n result = $(\"<div>\").appendTo(renderArea);\n Plotly.newPlot(result[0], [data], $.extend(layout, opts.plotly), opts.plotlyConfig);\n result.detach();\n renderArea.remove();\n return result;\n };\n };\n return $.pivotUtilities.plotly_renderers = {\n \"Horizontal Bar Chart\": makePlotlyChart({\n type: 'bar',\n orientation: 'h'\n }, {\n barmode: 'group'\n }, true),\n \"Horizontal Stacked Bar Chart\": makePlotlyChart({\n type: 'bar',\n orientation: 'h'\n }, {\n barmode: 'relative'\n }, true),\n \"Bar Chart\": makePlotlyChart({\n type: 'bar'\n }, {\n barmode: 'group'\n }),\n \"Stacked Bar Chart\": makePlotlyChart({\n type: 'bar'\n }, {\n barmode: 'relative'\n }),\n \"Line Chart\": makePlotlyChart(),\n \"Area Chart\": makePlotlyChart({\n stackgroup: 1\n }),\n \"Scatter Chart\": makePlotlyScatterChart(),\n 'Multiple Pie Chart': makePlotlyChart({\n type: 'pie',\n scalegroup: 1,\n hoverinfo: 'label+value',\n textinfo: 'none'\n }, {}, true)\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=plotly_renderers.js.map\n"]}
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="DTMLMethod" module="OFS.DTMLMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>plotly_renderers.min.js.map</string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>plotly_renderers.min.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
$.pivotUtilities.tipsData = [
["row","total_bill","tip","sex","smoker","day","time","size"],
["1",16.99,1.01,"Female","No","Sun","Dinner",2],
["2",10.34,1.66,"Male","No","Sun","Dinner",3],
["3",21.01,3.5,"Male","No","Sun","Dinner",3],
["4",23.68,3.31,"Male","No","Sun","Dinner",2],
["5",24.59,3.61,"Female","No","Sun","Dinner",4],
["6",25.29,4.71,"Male","No","Sun","Dinner",4],
["7",8.77,2,"Male","No","Sun","Dinner",2],
["8",26.88,3.12,"Male","No","Sun","Dinner",4],
["9",15.04,1.96,"Male","No","Sun","Dinner",2],
["10",14.78,3.23,"Male","No","Sun","Dinner",2],
["11",10.27,1.71,"Male","No","Sun","Dinner",2],
["12",35.26,5,"Female","No","Sun","Dinner",4],
["13",15.42,1.57,"Male","No","Sun","Dinner",2],
["14",18.43,3,"Male","No","Sun","Dinner",4],
["15",14.83,3.02,"Female","No","Sun","Dinner",2],
["16",21.58,3.92,"Male","No","Sun","Dinner",2],
["17",10.33,1.67,"Female","No","Sun","Dinner",3],
["18",16.29,3.71,"Male","No","Sun","Dinner",3],
["19",16.97,3.5,"Female","No","Sun","Dinner",3],
["20",20.65,3.35,"Male","No","Sat","Dinner",3],
["21",17.92,4.08,"Male","No","Sat","Dinner",2],
["22",20.29,2.75,"Female","No","Sat","Dinner",2],
["23",15.77,2.23,"Female","No","Sat","Dinner",2],
["24",39.42,7.58,"Male","No","Sat","Dinner",4],
["25",19.82,3.18,"Male","No","Sat","Dinner",2],
["26",17.81,2.34,"Male","No","Sat","Dinner",4],
["27",13.37,2,"Male","No","Sat","Dinner",2],
["28",12.69,2,"Male","No","Sat","Dinner",2],
["29",21.7,4.3,"Male","No","Sat","Dinner",2],
["30",19.65,3,"Female","No","Sat","Dinner",2],
["31",9.55,1.45,"Male","No","Sat","Dinner",2],
["32",18.35,2.5,"Male","No","Sat","Dinner",4],
["33",15.06,3,"Female","No","Sat","Dinner",2],
["34",20.69,2.45,"Female","No","Sat","Dinner",4],
["35",17.78,3.27,"Male","No","Sat","Dinner",2],
["36",24.06,3.6,"Male","No","Sat","Dinner",3],
["37",16.31,2,"Male","No","Sat","Dinner",3],
["38",16.93,3.07,"Female","No","Sat","Dinner",3],
["39",18.69,2.31,"Male","No","Sat","Dinner",3],
["40",31.27,5,"Male","No","Sat","Dinner",3],
["41",16.04,2.24,"Male","No","Sat","Dinner",3],
["42",17.46,2.54,"Male","No","Sun","Dinner",2],
["43",13.94,3.06,"Male","No","Sun","Dinner",2],
["44",9.68,1.32,"Male","No","Sun","Dinner",2],
["45",30.4,5.6,"Male","No","Sun","Dinner",4],
["46",18.29,3,"Male","No","Sun","Dinner",2],
["47",22.23,5,"Male","No","Sun","Dinner",2],
["48",32.4,6,"Male","No","Sun","Dinner",4],
["49",28.55,2.05,"Male","No","Sun","Dinner",3],
["50",18.04,3,"Male","No","Sun","Dinner",2],
["51",12.54,2.5,"Male","No","Sun","Dinner",2],
["52",10.29,2.6,"Female","No","Sun","Dinner",2],
["53",34.81,5.2,"Female","No","Sun","Dinner",4],
["54",9.94,1.56,"Male","No","Sun","Dinner",2],
["55",25.56,4.34,"Male","No","Sun","Dinner",4],
["56",19.49,3.51,"Male","No","Sun","Dinner",2],
["57",38.01,3,"Male","Yes","Sat","Dinner",4],
["58",26.41,1.5,"Female","No","Sat","Dinner",2],
["59",11.24,1.76,"Male","Yes","Sat","Dinner",2],
["60",48.27,6.73,"Male","No","Sat","Dinner",4],
["61",20.29,3.21,"Male","Yes","Sat","Dinner",2],
["62",13.81,2,"Male","Yes","Sat","Dinner",2],
["63",11.02,1.98,"Male","Yes","Sat","Dinner",2],
["64",18.29,3.76,"Male","Yes","Sat","Dinner",4],
["65",17.59,2.64,"Male","No","Sat","Dinner",3],
["66",20.08,3.15,"Male","No","Sat","Dinner",3],
["67",16.45,2.47,"Female","No","Sat","Dinner",2],
["68",3.07,1,"Female","Yes","Sat","Dinner",1],
["69",20.23,2.01,"Male","No","Sat","Dinner",2],
["70",15.01,2.09,"Male","Yes","Sat","Dinner",2],
["71",12.02,1.97,"Male","No","Sat","Dinner",2],
["72",17.07,3,"Female","No","Sat","Dinner",3],
["73",26.86,3.14,"Female","Yes","Sat","Dinner",2],
["74",25.28,5,"Female","Yes","Sat","Dinner",2],
["75",14.73,2.2,"Female","No","Sat","Dinner",2],
["76",10.51,1.25,"Male","No","Sat","Dinner",2],
["77",17.92,3.08,"Male","Yes","Sat","Dinner",2],
["78",27.2,4,"Male","No","Thur","Lunch",4],
["79",22.76,3,"Male","No","Thur","Lunch",2],
["80",17.29,2.71,"Male","No","Thur","Lunch",2],
["81",19.44,3,"Male","Yes","Thur","Lunch",2],
["82",16.66,3.4,"Male","No","Thur","Lunch",2],
["83",10.07,1.83,"Female","No","Thur","Lunch",1],
["84",32.68,5,"Male","Yes","Thur","Lunch",2],
["85",15.98,2.03,"Male","No","Thur","Lunch",2],
["86",34.83,5.17,"Female","No","Thur","Lunch",4],
["87",13.03,2,"Male","No","Thur","Lunch",2],
["88",18.28,4,"Male","No","Thur","Lunch",2],
["89",24.71,5.85,"Male","No","Thur","Lunch",2],
["90",21.16,3,"Male","No","Thur","Lunch",2],
["91",28.97,3,"Male","Yes","Fri","Dinner",2],
["92",22.49,3.5,"Male","No","Fri","Dinner",2],
["93",5.75,1,"Female","Yes","Fri","Dinner",2],
["94",16.32,4.3,"Female","Yes","Fri","Dinner",2],
["95",22.75,3.25,"Female","No","Fri","Dinner",2],
["96",40.17,4.73,"Male","Yes","Fri","Dinner",4],
["97",27.28,4,"Male","Yes","Fri","Dinner",2],
["98",12.03,1.5,"Male","Yes","Fri","Dinner",2],
["99",21.01,3,"Male","Yes","Fri","Dinner",2],
["100",12.46,1.5,"Male","No","Fri","Dinner",2],
["101",11.35,2.5,"Female","Yes","Fri","Dinner",2],
["102",15.38,3,"Female","Yes","Fri","Dinner",2],
["103",44.3,2.5,"Female","Yes","Sat","Dinner",3],
["104",22.42,3.48,"Female","Yes","Sat","Dinner",2],
["105",20.92,4.08,"Female","No","Sat","Dinner",2],
["106",15.36,1.64,"Male","Yes","Sat","Dinner",2],
["107",20.49,4.06,"Male","Yes","Sat","Dinner",2],
["108",25.21,4.29,"Male","Yes","Sat","Dinner",2],
["109",18.24,3.76,"Male","No","Sat","Dinner",2],
["110",14.31,4,"Female","Yes","Sat","Dinner",2],
["111",14,3,"Male","No","Sat","Dinner",2],
["112",7.25,1,"Female","No","Sat","Dinner",1],
["113",38.07,4,"Male","No","Sun","Dinner",3],
["114",23.95,2.55,"Male","No","Sun","Dinner",2],
["115",25.71,4,"Female","No","Sun","Dinner",3],
["116",17.31,3.5,"Female","No","Sun","Dinner",2],
["117",29.93,5.07,"Male","No","Sun","Dinner",4],
["118",10.65,1.5,"Female","No","Thur","Lunch",2],
["119",12.43,1.8,"Female","No","Thur","Lunch",2],
["120",24.08,2.92,"Female","No","Thur","Lunch",4],
["121",11.69,2.31,"Male","No","Thur","Lunch",2],
["122",13.42,1.68,"Female","No","Thur","Lunch",2],
["123",14.26,2.5,"Male","No","Thur","Lunch",2],
["124",15.95,2,"Male","No","Thur","Lunch",2],
["125",12.48,2.52,"Female","No","Thur","Lunch",2],
["126",29.8,4.2,"Female","No","Thur","Lunch",6],
["127",8.52,1.48,"Male","No","Thur","Lunch",2],
["128",14.52,2,"Female","No","Thur","Lunch",2],
["129",11.38,2,"Female","No","Thur","Lunch",2],
["130",22.82,2.18,"Male","No","Thur","Lunch",3],
["131",19.08,1.5,"Male","No","Thur","Lunch",2],
["132",20.27,2.83,"Female","No","Thur","Lunch",2],
["133",11.17,1.5,"Female","No","Thur","Lunch",2],
["134",12.26,2,"Female","No","Thur","Lunch",2],
["135",18.26,3.25,"Female","No","Thur","Lunch",2],
["136",8.51,1.25,"Female","No","Thur","Lunch",2],
["137",10.33,2,"Female","No","Thur","Lunch",2],
["138",14.15,2,"Female","No","Thur","Lunch",2],
["139",16,2,"Male","Yes","Thur","Lunch",2],
["140",13.16,2.75,"Female","No","Thur","Lunch",2],
["141",17.47,3.5,"Female","No","Thur","Lunch",2],
["142",34.3,6.7,"Male","No","Thur","Lunch",6],
["143",41.19,5,"Male","No","Thur","Lunch",5],
["144",27.05,5,"Female","No","Thur","Lunch",6],
["145",16.43,2.3,"Female","No","Thur","Lunch",2],
["146",8.35,1.5,"Female","No","Thur","Lunch",2],
["147",18.64,1.36,"Female","No","Thur","Lunch",3],
["148",11.87,1.63,"Female","No","Thur","Lunch",2],
["149",9.78,1.73,"Male","No","Thur","Lunch",2],
["150",7.51,2,"Male","No","Thur","Lunch",2],
["151",14.07,2.5,"Male","No","Sun","Dinner",2],
["152",13.13,2,"Male","No","Sun","Dinner",2],
["153",17.26,2.74,"Male","No","Sun","Dinner",3],
["154",24.55,2,"Male","No","Sun","Dinner",4],
["155",19.77,2,"Male","No","Sun","Dinner",4],
["156",29.85,5.14,"Female","No","Sun","Dinner",5],
["157",48.17,5,"Male","No","Sun","Dinner",6],
["158",25,3.75,"Female","No","Sun","Dinner",4],
["159",13.39,2.61,"Female","No","Sun","Dinner",2],
["160",16.49,2,"Male","No","Sun","Dinner",4],
["161",21.5,3.5,"Male","No","Sun","Dinner",4],
["162",12.66,2.5,"Male","No","Sun","Dinner",2],
["163",16.21,2,"Female","No","Sun","Dinner",3],
["164",13.81,2,"Male","No","Sun","Dinner",2],
["165",17.51,3,"Female","Yes","Sun","Dinner",2],
["166",24.52,3.48,"Male","No","Sun","Dinner",3],
["167",20.76,2.24,"Male","No","Sun","Dinner",2],
["168",31.71,4.5,"Male","No","Sun","Dinner",4],
["169",10.59,1.61,"Female","Yes","Sat","Dinner",2],
["170",10.63,2,"Female","Yes","Sat","Dinner",2],
["171",50.81,10,"Male","Yes","Sat","Dinner",3],
["172",15.81,3.16,"Male","Yes","Sat","Dinner",2],
["173",7.25,5.15,"Male","Yes","Sun","Dinner",2],
["174",31.85,3.18,"Male","Yes","Sun","Dinner",2],
["175",16.82,4,"Male","Yes","Sun","Dinner",2],
["176",32.9,3.11,"Male","Yes","Sun","Dinner",2],
["177",17.89,2,"Male","Yes","Sun","Dinner",2],
["178",14.48,2,"Male","Yes","Sun","Dinner",2],
["179",9.6,4,"Female","Yes","Sun","Dinner",2],
["180",34.63,3.55,"Male","Yes","Sun","Dinner",2],
["181",34.65,3.68,"Male","Yes","Sun","Dinner",4],
["182",23.33,5.65,"Male","Yes","Sun","Dinner",2],
["183",45.35,3.5,"Male","Yes","Sun","Dinner",3],
["184",23.17,6.5,"Male","Yes","Sun","Dinner",4],
["185",40.55,3,"Male","Yes","Sun","Dinner",2],
["186",20.69,5,"Male","No","Sun","Dinner",5],
["187",20.9,3.5,"Female","Yes","Sun","Dinner",3],
["188",30.46,2,"Male","Yes","Sun","Dinner",5],
["189",18.15,3.5,"Female","Yes","Sun","Dinner",3],
["190",23.1,4,"Male","Yes","Sun","Dinner",3],
["191",15.69,1.5,"Male","Yes","Sun","Dinner",2],
["192",19.81,4.19,"Female","Yes","Thur","Lunch",2],
["193",28.44,2.56,"Male","Yes","Thur","Lunch",2],
["194",15.48,2.02,"Male","Yes","Thur","Lunch",2],
["195",16.58,4,"Male","Yes","Thur","Lunch",2],
["196",7.56,1.44,"Male","No","Thur","Lunch",2],
["197",10.34,2,"Male","Yes","Thur","Lunch",2],
["198",43.11,5,"Female","Yes","Thur","Lunch",4],
["199",13,2,"Female","Yes","Thur","Lunch",2],
["200",13.51,2,"Male","Yes","Thur","Lunch",2],
["201",18.71,4,"Male","Yes","Thur","Lunch",3],
["202",12.74,2.01,"Female","Yes","Thur","Lunch",2],
["203",13,2,"Female","Yes","Thur","Lunch",2],
["204",16.4,2.5,"Female","Yes","Thur","Lunch",2],
["205",20.53,4,"Male","Yes","Thur","Lunch",4],
["206",16.47,3.23,"Female","Yes","Thur","Lunch",3],
["207",26.59,3.41,"Male","Yes","Sat","Dinner",3],
["208",38.73,3,"Male","Yes","Sat","Dinner",4],
["209",24.27,2.03,"Male","Yes","Sat","Dinner",2],
["210",12.76,2.23,"Female","Yes","Sat","Dinner",2],
["211",30.06,2,"Male","Yes","Sat","Dinner",3],
["212",25.89,5.16,"Male","Yes","Sat","Dinner",4],
["213",48.33,9,"Male","No","Sat","Dinner",4],
["214",13.27,2.5,"Female","Yes","Sat","Dinner",2],
["215",28.17,6.5,"Female","Yes","Sat","Dinner",3],
["216",12.9,1.1,"Female","Yes","Sat","Dinner",2],
["217",28.15,3,"Male","Yes","Sat","Dinner",5],
["218",11.59,1.5,"Male","Yes","Sat","Dinner",2],
["219",7.74,1.44,"Male","Yes","Sat","Dinner",2],
["220",30.14,3.09,"Female","Yes","Sat","Dinner",4],
["221",12.16,2.2,"Male","Yes","Fri","Lunch",2],
["222",13.42,3.48,"Female","Yes","Fri","Lunch",2],
["223",8.58,1.92,"Male","Yes","Fri","Lunch",1],
["224",15.98,3,"Female","No","Fri","Lunch",3],
["225",13.42,1.58,"Male","Yes","Fri","Lunch",2],
["226",16.27,2.5,"Female","Yes","Fri","Lunch",2],
["227",10.09,2,"Female","Yes","Fri","Lunch",2],
["228",20.45,3,"Male","No","Sat","Dinner",4],
["229",13.28,2.72,"Male","No","Sat","Dinner",2],
["230",22.12,2.88,"Female","Yes","Sat","Dinner",2],
["231",24.01,2,"Male","Yes","Sat","Dinner",4],
["232",15.69,3,"Male","Yes","Sat","Dinner",3],
["233",11.61,3.39,"Male","No","Sat","Dinner",2],
["234",10.77,1.47,"Male","No","Sat","Dinner",2],
["235",15.53,3,"Male","Yes","Sat","Dinner",2],
["236",10.07,1.25,"Male","No","Sat","Dinner",2],
["237",12.6,1,"Male","Yes","Sat","Dinner",2],
["238",32.83,1.17,"Male","Yes","Sat","Dinner",2],
["239",35.83,4.67,"Female","No","Sat","Dinner",3],
["240",29.03,5.92,"Male","No","Sat","Dinner",3],
["241",27.18,2,"Female","Yes","Sat","Dinner",2],
["242",22.67,2,"Male","Yes","Sat","Dinner",2],
["243",17.82,1.75,"Male","No","Sat","Dinner",2],
["244",18.78,3,"Female","No","Thur","Dinner",2]
];
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>tips_data.min.js</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment