diff --git a/R/rpivotTable.R b/R/rpivotTable.R index 47b375f..468e6dd 100755 --- a/R/rpivotTable.R +++ b/R/rpivotTable.R @@ -104,6 +104,7 @@ rpivotTable <- function( inclusions = NULL, locale = "en", subtotals = FALSE, + showUI = TRUE, ..., width = 800, height = 600, @@ -139,7 +140,8 @@ rpivotTable <- function( # exlusions & inclusions need to be "excluded" from auto_boxing par <- list( exclusions = exclusions, - inclusions = inclusions + inclusions = inclusions, + showUI = showUI # So does showUI - from playing with pivottable's JS fiddle example, it didn't work if showUI = [false] but wanted showUI = false ) params <- c(params, par) diff --git a/inst/htmlwidgets/lib/pivottable/c3_renderers.js b/inst/htmlwidgets/lib/pivottable/c3_renderers.js new file mode 100644 index 0000000..f779625 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/c3_renderers.js @@ -0,0 +1,328 @@ +(function() { + var callWithJQuery; + + callWithJQuery = function(pivotModule) { + if (typeof exports === "object" && typeof module === "object") { + return pivotModule(require("jquery"), require("c3")); + } else if (typeof define === "function" && define.amd) { + return define(["jquery", "c3"], pivotModule); + } else { + return pivotModule(jQuery, c3); + } + }; + + callWithJQuery(function($, c3) { + var makeC3Chart; + makeC3Chart = function(chartOpts) { + if (chartOpts == null) { + chartOpts = {}; + } + return function(pivotData, opts) { + 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 = { + localeStrings: { + vs: "vs", + by: "by" + }, + c3: {} + }; + 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) { + chartOpts.type = "line"; + } + if (chartOpts.horizontal == null) { + chartOpts.horizontal = false; + } + if (chartOpts.stacked == null) { + chartOpts.stacked = false; + } + rowKeys = pivotData.getRowKeys(); + if (rowKeys.length === 0) { + rowKeys.push([]); + } + colKeys = pivotData.getColKeys(); + if (colKeys.length === 0) { + colKeys.push([]); + } + headers = (function() { + var i, len, results; + results = []; + for (i = 0, len = colKeys.length; i < len; i++) { + h = colKeys[i]; + results.push(h.join("-")); + } + return results; + })(); + rotationAngle = 0; + fullAggName = pivotData.aggregatorName; + if (pivotData.valAttrs.length) { + fullAggName += "(" + (pivotData.valAttrs.join(", ")) + ")"; + } + if (chartOpts.type === "scatter") { + scatterData = { + x: {}, + y: {}, + t: {} + }; + attrs = pivotData.rowAttrs.concat(pivotData.colAttrs); + vAxisTitle = (ref = attrs[0]) != null ? ref : ""; + hAxisTitle = (ref1 = attrs[1]) != null ? ref1 : ""; + groupByTitle = attrs.slice(2).join("-"); + titleText = vAxisTitle; + if (hAxisTitle !== "") { + titleText += " " + opts.localeStrings.vs + " " + hAxisTitle; + } + if (groupByTitle !== "") { + titleText += " " + opts.localeStrings.by + " " + groupByTitle; + } + for (i = 0, len = rowKeys.length; i < len; i++) { + rowKey = rowKeys[i]; + for (j = 0, len1 = colKeys.length; j < len1; j++) { + colKey = colKeys[j]; + agg = pivotData.getAggregator(rowKey, colKey); + if (agg.value() != null) { + vals = rowKey.concat(colKey); + series = vals.slice(2).join("-"); + if (series === "") { + series = "series"; + } + 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 { + row.push(null); + } + } + columns.push(row); + } + vAxisTitle = fullAggName; + 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 = $("
", { + style: "text-align: center; font-weight: bold" + }); + title.text(titleText); + formatter = pivotData.getAggregator([], []).format; + params = { + axis: { + rotated: chartOpts.horizontal, + y: { + label: vAxisTitle, + tick: {} + }, + x: { + label: hAxisTitle, + tick: { + rotate: rotationAngle, + multiline: false + } + } + }, + data: { + type: chartOpts.type, + order: null + }, + tooltip: { + 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") { + 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 = { + fit: false + }; + if (numSeries === 1) { + params.legend = { + show: false + }; + } + params.tooltip.format = { + title: function() { + return fullAggName; + }, + name: function() { + return ""; + }, + value: function(a, b, c, d, e) { + var ref4; + ref4 = e[0], series = ref4.name, y = ref4.value, x = ref4.x; + return formatter(scatterData.t[series][x][y]); + } + }; + } else { + params.axis.x.type = 'category'; + if ((base7 = params.axis.y.tick).format == null) { + base7.format = function(v) { + return formatter(v); + }; + } + params.tooltip.format = { + value: function(v) { + return formatter(v); + } + }; + if (chartOpts.horizontal) { + categories = (function() { + var len5, n, results; + results = []; + for (n = 0, len5 = columns.length; n < len5; n++) { + c = columns[n]; + results.push(c.shift()); + } + 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 = $("
\", {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 = $(\"
\", {\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 = $(\"
").html(opts.localeStrings.tooMany)); + } else { + if (values.length > 5) { + controls = $("
").appendTo(valueList); + sorter = getSort(opts.sorters, attr); + placeholder = opts.localeStrings.filterResults; + $("", { + type: "text" + }).appendTo(controls).attr({ + placeholder: placeholder, + "class": "pvtSearch" + }).bind("keyup", function() { + var accept, accept_gen, filter; + filter = $(this).val().toLowerCase().trim(); + accept_gen = function(prefix, accepted) { + return function(v) { + var real_filter, ref1; + real_filter = filter.substring(prefix.length).trim(); + if (real_filter.length === 0) { + return true; + } + return ref1 = Math.sign(sorter(v.toLowerCase(), real_filter)), indexOf.call(accepted, ref1) >= 0; + }; + }; + 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) { + if (filter.substring(1).trim().length === 0) { + return true; + } + 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($("")); + $("", { + type: "button" + }).appendTo(controls).html(opts.localeStrings.selectAll).bind("click", function() { + valueList.find("input:visible:not(:checked)").prop("checked", true).toggleClass("changed"); + return false; + }); + $("", { + type: "button" + }).appendTo(controls).html(opts.localeStrings.selectNone).bind("click", function() { + valueList.find("input:visible:checked").prop("checked", false).toggleClass("changed"); + return false; + }); + } + checkContainer = $("").addClass("pvtCheckContainer").appendTo(valueList); + ref1 = values.sort(getSort(opts.sorters, attr)); + for (n = 0, len2 = ref1.length; n < len2; n++) { + value = ref1[n]; + valueCount = attrValues[attr][value]; + filterItem = $(""); + 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); + $("").attr("type", "checkbox").addClass('pvtFilter').attr("checked", !filterItemExcluded).data("filter", [attr, value]).appendTo(filterItem).bind("change", function() { + return $(this).toggleClass("changed"); + }); + filterItem.append($("").addClass("value").text(value)); + filterItem.append($("").addClass("count").text("(" + valueCount + ")")); + checkContainer.append($("").append(filterItem)); + } + } + closeFilterBox = function() { + if (valueList.find("[type='checkbox']").length > valueList.find("[type='checkbox']:checked").length) { + attrElem.addClass("pvtFilteredAttribute"); + } else { + attrElem.removeClass("pvtFilteredAttribute"); + } + valueList.find('.pvtSearch').val(''); + valueList.find('.pvtCheckContainer p').show(); + return valueList.hide(); + }; + finalButtons = $("").appendTo(valueList); + if (values.length <= opts.menuLimit) { + $("", { + type: "button" + }).text(opts.localeStrings.apply).appendTo(finalButtons).bind("click", function() { + if (valueList.find(".changed").removeClass("changed").length) { + refresh(); + } + return closeFilterBox(); + }); + } + $("", { + 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 = $("").addClass('pvtTriangle').html(" ▾").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 = $("").addClass("axis_" + i).append($("").addClass('pvtAttr').text(attr).data("attrName", attr).append(triangleLink)); + if (hasExcludedItem) { + attrElem.addClass('pvtFilteredAttribute'); + } + return unused.append(attrElem).append(valueList); + }; + for (i in shownInDragDrop) { + if (!hasProp.call(shownInDragDrop, i)) continue; + attr = shownInDragDrop[i]; + fn1(attr); + } + tr1 = $("").appendTo(uiTable); + aggregator = $("").addClass('pvtAggregator').bind("change", function() { + return refresh(); + }); + ref1 = opts.aggregators; + for (x in ref1) { + if (!hasProp.call(ref1, x)) continue; + aggregator.append($("").val(x).html(x)); + } + ordering = { + key_a_to_z: { + rowSymbol: "↕", + colSymbol: "↔", + next: "value_a_to_z" + }, + value_a_to_z: { + rowSymbol: "↓", + colSymbol: "→", + next: "value_z_to_a" + }, + value_z_to_a: { + rowSymbol: "↑", + colSymbol: "←", + next: "key_a_to_z" + } + }; + rowOrderArrow = $("", { + 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 = $("", { + 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(); + }); + $("").addClass('pvtVals pvtUiCell').appendTo(tr1).append(aggregator).append(rowOrderArrow).append(colOrderArrow).append($("")); + $("").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1); + tr2 = $("").appendTo(uiTable); + tr2.append($("").addClass('pvtAxisContainer pvtRows pvtUiCell').attr("valign", "top")); + pivotTable = $("").attr("valign", "top").addClass('pvtRendererArea').appendTo(tr2); + if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) { + uiTable.find('tr:nth-child(1)').prepend(rendererControl); + uiTable.find('tr:nth-child(2)').prepend(unused); + } else { + uiTable.prepend($("").append(rendererControl).append(unused)); + } + this.html(uiTable); + 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++) { + x = ref3[o]; + this.find(".pvtRows").append(this.find(".axis_" + ($.inArray(x, shownInDragDrop)))); + } + if (opts.aggregatorName != null) { + this.find(".pvtAggregator").val(opts.aggregatorName); + } + if (opts.rendererName != null) { + this.find(".pvtRenderer").val(opts.rendererName); + } + if (!opts.showUI) { + this.find(".pvtUiCell").hide(); + } + initialRender = true; + refreshDelayed = (function(_this) { + return function() { + var exclusions, inclusions, len4, newDropdown, numInputsToProcess, pivotUIOptions, pvtVals, ref4, ref5, subopts, t, u, unusedAttrsContainer, vals; + subopts = { + derivedAttributes: opts.derivedAttributes, + localeStrings: opts.localeStrings, + rendererOptions: opts.rendererOptions, + sorters: opts.sorters, + cols: [], + rows: [], + dataClass: opts.dataClass + }; + numInputsToProcess = (ref4 = opts.aggregators[aggregator.val()]([])().numInputs) != null ? ref4 : 0; + vals = []; + _this.find(".pvtRows li span.pvtAttr").each(function() { + return subopts.rows.push($(this).data("attrName")); + }); + _this.find(".pvtCols li span.pvtAttr").each(function() { + return subopts.cols.push($(this).data("attrName")); + }); + _this.find(".pvtVals select.pvtAttrDropdown").each(function() { + if (numInputsToProcess === 0) { + return $(this).remove(); + } else { + numInputsToProcess--; + if ($(this).val() !== "") { + return vals.push($(this).val()); + } + } + }); + if (numInputsToProcess !== 0) { + pvtVals = _this.find(".pvtVals"); + for (x = t = 0, ref5 = numInputsToProcess; 0 <= ref5 ? t < ref5 : t > ref5; x = 0 <= ref5 ? ++t : --t) { + newDropdown = $("").addClass('pvtAttrDropdown').append($("")).bind("change", function() { + return refresh(); + }); + for (u = 0, len4 = shownInAggregators.length; u < len4; u++) { + attr = shownInAggregators[u]; + newDropdown.append($("").val(attr).text(attr)); + } + pvtVals.append(newDropdown); + } + } + if (initialRender) { + vals = opts.vals; + i = 0; + _this.find(".pvtVals select.pvtAttrDropdown").each(function() { + $(this).val(vals[i]); + return i++; + }); + initialRender = false; + } + subopts.aggregatorName = aggregator.val(); + subopts.vals = vals; + subopts.aggregator = opts.aggregators[aggregator.val()](vals); + subopts.renderer = opts.renderers[renderer.val()]; + subopts.rowOrder = rowOrderArrow.data("order"); + subopts.colOrder = colOrderArrow.data("order"); + exclusions = {}; + _this.find('input.pvtFilter').not(':checked').each(function() { + var filter; + filter = $(this).data("filter"); + if (exclusions[filter[0]] != null) { + return exclusions[filter[0]].push(filter[1]); + } else { + return exclusions[filter[0]] = [filter[1]]; + } + }); + inclusions = {}; + _this.find('input.pvtFilter:checked').each(function() { + var filter; + filter = $(this).data("filter"); + if (exclusions[filter[0]] != null) { + if (inclusions[filter[0]] != null) { + return inclusions[filter[0]].push(filter[1]); + } else { + return inclusions[filter[0]] = [filter[1]]; + } + } + }); + subopts.filter = function(record) { + var excludedItems, k, ref6, ref7; + if (!opts.filter(record)) { + return false; + } + for (k in exclusions) { + excludedItems = exclusions[k]; + if (ref6 = "" + ((ref7 = record[k]) != null ? ref7 : 'null'), indexOf.call(excludedItems, ref6) >= 0) { + return false; + } + } + return true; + }; + pivotTable.pivot(materializedInput, subopts); + pivotUIOptions = $.extend({}, opts, { + cols: subopts.cols, + rows: subopts.rows, + colOrder: subopts.colOrder, + rowOrder: subopts.rowOrder, + vals: vals, + exclusions: exclusions, + inclusions: inclusions, + inclusionsInfo: inclusions, + aggregatorName: aggregator.val(), + rendererName: renderer.val() + }); + _this.data("pivotUIOptions", pivotUIOptions); + if (opts.autoSortUnusedAttrs) { + unusedAttrsContainer = _this.find("td.pvtUnused.pvtAxisContainer"); + $(unusedAttrsContainer).children("li").sort(function(a, b) { + return naturalSort($(a).text(), $(b).text()); + }).appendTo(unusedAttrsContainer); + } + pivotTable.css("opacity", 1); + if (opts.onRefresh != null) { + return opts.onRefresh(pivotUIOptions); + } + }; + })(this); + refresh = (function(_this) { + return function() { + pivotTable.css("opacity", 0.5); + return setTimeout(refreshDelayed, 10); + }; + })(this); + refresh(); + this.find(".pvtAxisContainer").sortable({ + update: function(e, ui) { + if (ui.sender == null) { + return refresh(); + } + }, + connectWith: this.find(".pvtAxisContainer"), + items: 'li', + placeholder: 'pvtPlaceholder' + }); + } catch (error) { + e = error; + if (typeof console !== "undefined" && console !== null) { + console.error(e.stack); + } + this.html(opts.localeStrings.uiRenderError); + } + return this; + }; + + /* + Heatmap post-processing + */ + $.fn.heatmap = function(scope, opts) { + var colorScaleGenerator, heatmapper, i, j, l, n, numCols, numRows, ref, ref1, ref2; + if (scope == null) { + scope = "heatmap"; + } + numRows = this.data("numrows"); + numCols = this.data("numcols"); + colorScaleGenerator = opts != null ? (ref = opts.heatmap) != null ? ref.colorScaleGenerator : void 0 : void 0; + if (colorScaleGenerator == null) { + colorScaleGenerator = function(values) { + var max, min; + min = Math.min.apply(Math, values); + max = Math.max.apply(Math, values); + return function(x) { + var nonRed; + nonRed = 255 - Math.round(255 * (x - min) / (max - min)); + return "rgb(255," + nonRed + "," + nonRed + ")"; + }; + }; + } + heatmapper = (function(_this) { + return function(scope) { + var colorScale, forEachCell, values; + forEachCell = function(f) { + return _this.find(scope).each(function() { + var x; + x = $(this).data("value"); + if ((x != null) && isFinite(x)) { + return f(x, $(this)); + } + }); + }; + values = []; + forEachCell(function(x) { + return values.push(x); + }); + colorScale = colorScaleGenerator(values); + return forEachCell(function(x, elem) { + return elem.css("background-color", colorScale(x)); + }); + }; + })(this); + switch (scope) { + case "heatmap": + heatmapper(".pvtVal"); + break; + case "rowheatmap": + for (i = l = 0, ref1 = numRows; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) { + heatmapper(".pvtVal.row" + i); + } + break; + case "colheatmap": + for (j = n = 0, ref2 = numCols; 0 <= ref2 ? n < ref2 : n > ref2; j = 0 <= ref2 ? ++n : --n) { + heatmapper(".pvtVal.col" + j); + } + } + heatmapper(".pvtTotal.rowTotal"); + heatmapper(".pvtTotal.colTotal"); + return this; + }; + + /* + Barchart post-processing + */ + return $.fn.barchart = function(opts) { + var barcharter, i, l, numCols, numRows, ref; + numRows = this.data("numrows"); + numCols = this.data("numcols"); + barcharter = (function(_this) { + return function(scope) { + var forEachCell, max, min, range, scaler, values; + forEachCell = function(f) { + return _this.find(scope).each(function() { + var x; + x = $(this).data("value"); + if ((x != null) && isFinite(x)) { + return f(x, $(this)); + } + }); + }; + values = []; + forEachCell(function(x) { + return values.push(x); + }); + 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) { + return 100 * x / (1.4 * range); + }; + return forEachCell(function(x, elem) { + var bBase, bgColor, text, wrapper; + text = elem.text(); + wrapper = $("").css({ + "position": "relative", + "height": "55px" + }); + bgColor = "gray"; + bBase = 0; + if (min < 0) { + bBase = scaler(-min); + } + if (x < 0) { + bBase += scaler(x); + bgColor = "darkred"; + x = -x; + } + wrapper.append($("").css({ + "position": "absolute", + "bottom": bBase + "%", + "left": 0, + "right": 0, + "height": scaler(x) + "%", + "background-color": bgColor + })); + wrapper.append($("").text(text).css({ + "position": "relative", + "padding-left": "5px", + "padding-right": "5px" + })); + return elem.css({ + "padding": 0, + "padding-top": "5px", + "text-align": "center" + }).html(wrapper); + }); + }; + })(this); + for (i = l = 0, ref = numRows; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) { + barcharter(".pvtVal.row" + i); + } + barcharter(".pvtTotal.colTotal"); + return this; + }; + }); + +}).call(this); + +//# sourceMappingURL=pivot.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.js.map b/inst/htmlwidgets/lib/pivottable/pivot.js.map new file mode 100644 index 0000000..a45720b --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pivot.js","sources":["pivot.coffee"],"names":[],"mappings":"AAAA;AAAA,MAAA,cAAA;IAAA;;;;;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;;AAEX;;;AAAA,QAAA;IAIA,aAAA,GAAgB,SAAC,IAAD,EAAO,YAAP,EAAqB,UAArB;AACZ,UAAA;MAAA,IAAA,IAAQ;MACR,CAAA,GAAI,IAAI,CAAC,KAAL,CAAW,GAAX;MACJ,EAAA,GAAK,CAAE,CAAA,CAAA;MACP,EAAA,GAAQ,CAAC,CAAC,MAAF,GAAW,CAAd,GAAsB,UAAA,GAAa,CAAE,CAAA,CAAA,CAArC,GAA6C;MAClD,GAAA,GAAM;AAC2C,aAAM,GAAG,CAAC,IAAJ,CAAS,EAAT,CAAN;QAAjD,EAAA,GAAK,EAAE,CAAC,OAAH,CAAW,GAAX,EAAgB,IAAA,GAAO,YAAP,GAAsB,IAAtC;MAA4C;AACjD,aAAO,EAAA,GAAK;IAPA;IAShB,YAAA,GAAe,SAAC,IAAD;AACX,UAAA;MAAA,QAAA,GACI;QAAA,kBAAA,EAAoB,CAApB;QAAuB,MAAA,EAAQ,CAA/B;QACA,YAAA,EAAc,GADd;QACmB,UAAA,EAAY,GAD/B;QAEA,MAAA,EAAQ,EAFR;QAEY,MAAA,EAAQ,EAFpB;;MAGJ,IAAA,GAAO,CAAC,CAAC,MAAF,CAAS,EAAT,EAAa,QAAb,EAAuB,IAAvB;aACP,SAAC,CAAD;AACI,YAAA;QAAA,IAAa,KAAA,CAAM,CAAN,CAAA,IAAY,CAAI,QAAA,CAAS,CAAT,CAA7B;AAAA,iBAAO,GAAP;;QACA,MAAA,GAAS,aAAA,CAAc,CAAC,IAAI,CAAC,MAAL,GAAY,CAAb,CAAe,CAAC,OAAhB,CAAwB,IAAI,CAAC,kBAA7B,CAAd,EAAgE,IAAI,CAAC,YAArE,EAAmF,IAAI,CAAC,UAAxF;AACT,eAAO,EAAA,GAAG,IAAI,CAAC,MAAR,GAAe,MAAf,GAAsB,IAAI,CAAC;MAHtC;IANW;IAYf,KAAA,GAAQ,YAAA,CAAA;IACR,QAAA,GAAW,YAAA,CAAa;MAAA,kBAAA,EAAoB,CAApB;KAAb;IACX,QAAA,GAAW,YAAA,CAAa;MAAA,kBAAA,EAAmB,CAAnB;MAAsB,MAAA,EAAQ,GAA9B;MAAmC,MAAA,EAAQ,GAA3C;KAAb;IAEX,mBAAA,GACI;MAAA,KAAA,EAAO,SAAC,SAAD;;UAAC,YAAU;;eAAa,SAAA;iBAAM,SAAC,IAAD,EAAO,MAAP,EAAe,MAAf;mBACjC;cAAA,KAAA,EAAO,CAAP;cACA,IAAA,EAAO,SAAA;uBAAG,IAAC,CAAA,KAAD;cAAH,CADP;cAEA,KAAA,EAAO,SAAA;uBAAG,IAAC,CAAA;cAAJ,CAFP;cAGA,MAAA,EAAQ,SAHR;;UADiC;QAAN;MAAxB,CAAP;MAMA,OAAA,EAAS,SAAC,EAAD,EAAK,SAAL;;UAAK,YAAU;;eAAa,SAAC,GAAD;AAAY,cAAA;UAAV,OAAD;iBAAW,SAAC,IAAD,EAAO,MAAP,EAAe,MAAf;mBAC7C;cAAA,IAAA,EAAM,EAAN;cACA,IAAA,EAAM,SAAC,MAAD;AAAY,oBAAA;gBAAA,UAA4B,MAAO,CAAA,IAAA,CAAP,EAAA,aAAoB,IAAC,CAAA,IAArB,EAAA,GAAA,KAA5B;yBAAA,IAAC,CAAA,IAAI,CAAC,IAAN,CAAW,MAAO,CAAA,IAAA,CAAlB,EAAA;;cAAZ,CADN;cAEA,KAAA,EAAO,SAAA;uBAAG,EAAA,CAAG,IAAC,CAAA,IAAJ;cAAH,CAFP;cAGA,MAAA,EAAQ,SAHR;cAIA,SAAA,EAAc,YAAH,GAAc,CAAd,GAAqB,CAJhC;;UAD6C;QAAZ;MAA5B,CANT;MAaA,GAAA,EAAK,SAAC,SAAD;;UAAC,YAAU;;eAAU,SAAC,GAAD;AAAY,cAAA;UAAV,OAAD;iBAAW,SAAC,IAAD,EAAO,MAAP,EAAe,MAAf;mBAClC;cAAA,GAAA,EAAK,CAAL;cACA,IAAA,EAAM,SAAC,MAAD;gBAAY,IAAoC,CAAI,KAAA,CAAM,UAAA,CAAW,MAAO,CAAA,IAAA,CAAlB,CAAN,CAAxC;yBAAA,IAAC,CAAA,GAAD,IAAQ,UAAA,CAAW,MAAO,CAAA,IAAA,CAAlB,EAAR;;cAAZ,CADN;cAEA,KAAA,EAAO,SAAA;uBAAG,IAAC,CAAA;cAAJ,CAFP;cAGA,MAAA,EAAQ,SAHR;cAIA,SAAA,EAAc,YAAH,GAAc,CAAd,GAAqB,CAJhC;;UADkC;QAAZ;MAArB,CAbL;MAoBA,QAAA,EAAU,SAAC,IAAD,EAAO,SAAP;;UAAO,YAAU;;eAAU,SAAC,GAAD;AAAY,cAAA;UAAV,OAAD;iBAAW,SAAC,IAAD,EAAO,MAAP,EAAe,MAAf;mBAC7C;cAAA,GAAA,EAAK,IAAL;cACA,MAAA,EAAQ,OAAA,gBAAQ,IAAI,CAAE,gBAAd,EAAuB,IAAvB,CADR;cAEA,IAAA,EAAM,SAAC,MAAD;AACF,oBAAA;gBAAA,CAAA,GAAI,MAAO,CAAA,IAAA;gBACX,IAAG,IAAA,KAAS,KAAT,IAAA,IAAA,KAAgB,KAAnB;kBACI,CAAA,GAAI,UAAA,CAAW,CAAX;kBACJ,IAAG,CAAI,KAAA,CAAM,CAAN,CAAP;oBAAoB,IAAC,CAAA,GAAD,GAAO,IAAK,CAAA,IAAA,CAAL,CAAW,CAAX,mCAAqB,CAArB,EAA3B;mBAFJ;;gBAGA,IAAG,IAAA,KAAQ,OAAX;kBAAwB,IAAY,IAAC,CAAA,MAAD,CAAQ,CAAR,qCAAkB,CAAlB,CAAA,IAAwB,CAApC;oBAAA,IAAC,CAAA,GAAD,GAAO,EAAP;mBAAxB;;gBACA,IAAG,IAAA,KAAQ,MAAX;kBAAwB,IAAY,IAAC,CAAA,MAAD,CAAQ,CAAR,qCAAkB,CAAlB,CAAA,IAAwB,CAApC;2BAAA,IAAC,CAAA,GAAD,GAAO,EAAP;mBAAxB;;cANE,CAFN;cASA,KAAA,EAAO,SAAA;uBAAG,IAAC,CAAA;cAAJ,CATP;cAUA,MAAA,EAAQ,SAAC,CAAD;gBAAO,IAAG,KAAA,CAAM,CAAN,CAAH;yBAAiB,EAAjB;iBAAA,MAAA;yBAAwB,SAAA,CAAU,CAAV,EAAxB;;cAAP,CAVR;cAWA,SAAA,EAAc,YAAH,GAAc,CAAd,GAAqB,CAXhC;;UAD6C;QAAZ;MAA3B,CApBV;MAkCA,QAAA,EAAU,SAAC,CAAD,EAAI,SAAJ;;UAAI,YAAU;;eAAU,SAAC,GAAD;AAAY,cAAA;UAAV,OAAD;iBAAW,SAAC,IAAD,EAAO,MAAP,EAAe,MAAf;mBAC1C;cAAA,IAAA,EAAM,EAAN;cACA,IAAA,EAAM,SAAC,MAAD;AACF,oBAAA;gBAAA,CAAA,GAAI,UAAA,CAAW,MAAO,CAAA,IAAA,CAAlB;gBACJ,IAAiB,CAAI,KAAA,CAAM,CAAN,CAArB;yBAAA,IAAC,CAAA,IAAI,CAAC,IAAN,CAAW,CAAX,EAAA;;cAFE,CADN;cAIA,KAAA,EAAO,SAAA;AACH,oBAAA;gBAAA,IAAe,IAAC,CAAA,IAAI,CAAC,MAAN,KAAgB,CAA/B;AAAA,yBAAO,KAAP;;gBACA,IAAC,CAAA,IAAI,CAAC,IAAN,CAAW,SAAC,CAAD,EAAG,CAAH;yBAAS,CAAA,GAAE;gBAAX,CAAX;gBACA,CAAA,GAAI,CAAC,IAAC,CAAA,IAAI,CAAC,MAAN,GAAa,CAAd,CAAA,GAAiB;AACrB,uBAAO,CAAC,IAAC,CAAA,IAAK,CAAA,IAAI,CAAC,KAAL,CAAW,CAAX,CAAA,CAAN,GAAuB,IAAC,CAAA,IAAK,CAAA,IAAI,CAAC,IAAL,CAAU,CAAV,CAAA,CAA9B,CAAA,GAA6C;cAJjD,CAJP;cASA,MAAA,EAAQ,SATR;cAUA,SAAA,EAAc,YAAH,GAAc,CAAd,GAAqB,CAVhC;;UAD0C;QAAZ;MAAxB,CAlCV;MA+CA,WAAA,EAAa,SAAC,IAAD,EAAc,IAAd,EAAsB,SAAtB;;UAAC,OAAK;;;UAAQ,OAAK;;;UAAG,YAAU;;eAAU,SAAC,GAAD;AAAY,cAAA;UAAV,OAAD;iBAAW,SAAC,IAAD,EAAO,MAAP,EAAe,MAAf;mBAC/D;cAAA,CAAA,EAAG,GAAH;cAAQ,CAAA,EAAG,GAAX;cAAgB,CAAA,EAAG,GAAnB;cACA,IAAA,EAAM,SAAC,MAAD;AACF,oBAAA;gBAAA,CAAA,GAAI,UAAA,CAAW,MAAO,CAAA,IAAA,CAAlB;gBACJ,IAAU,KAAA,CAAM,CAAN,CAAV;AAAA,yBAAA;;gBACA,IAAC,CAAA,CAAD,IAAM;gBACN,IAAG,IAAC,CAAA,CAAD,KAAM,GAAT;yBACI,IAAC,CAAA,CAAD,GAAK,EADT;iBAAA,MAAA;kBAGI,KAAA,GAAQ,IAAC,CAAA,CAAD,GAAK,CAAC,CAAA,GAAI,IAAC,CAAA,CAAN,CAAA,GAAS,IAAC,CAAA;kBACvB,IAAC,CAAA,CAAD,GAAK,IAAC,CAAA,CAAD,GAAK,CAAC,CAAA,GAAI,IAAC,CAAA,CAAN,CAAA,GAAS,CAAC,CAAA,GAAI,KAAL;yBACnB,IAAC,CAAA,CAAD,GAAK,MALT;;cAJE,CADN;cAWA,KAAA,EAAO,SAAA;gBACH,IAAG,IAAA,KAAQ,MAAX;kBACW,IAAG,IAAC,CAAA,CAAD,KAAM,CAAT;2BAAgB,CAAA,GAAE,EAAlB;mBAAA,MAAA;2BAAyB,IAAC,CAAA,EAA1B;mBADX;;gBAEA,IAAY,IAAC,CAAA,CAAD,IAAM,IAAlB;AAAA,yBAAO,EAAP;;AACA,wBAAO,IAAP;AAAA,uBACS,KADT;2BACsB,IAAC,CAAA,CAAD,GAAG,CAAC,IAAC,CAAA,CAAD,GAAG,IAAJ;AADzB,uBAES,OAFT;2BAEsB,IAAI,CAAC,IAAL,CAAU,IAAC,CAAA,CAAD,GAAG,CAAC,IAAC,CAAA,CAAD,GAAG,IAAJ,CAAb;AAFtB;cAJG,CAXP;cAkBA,MAAA,EAAQ,SAlBR;cAmBA,SAAA,EAAc,YAAH,GAAc,CAAd,GAAqB,CAnBhC;;UAD+D;QAAZ;MAA1C,CA/Cb;MAqEA,UAAA,EAAY,SAAC,SAAD;;UAAC,YAAU;;eAAU,SAAC,GAAD;AAAkB,cAAA;UAAhB,cAAK;iBAAW,SAAC,IAAD,EAAO,MAAP,EAAe,MAAf;mBAC/C;cAAA,MAAA,EAAQ,CAAR;cACA,QAAA,EAAU,CADV;cAEA,IAAA,EAAM,SAAC,MAAD;gBACF,IAA0C,CAAI,KAAA,CAAM,UAAA,CAAW,MAAO,CAAA,GAAA,CAAlB,CAAN,CAA9C;kBAAA,IAAC,CAAA,MAAD,IAAa,UAAA,CAAW,MAAO,CAAA,GAAA,CAAlB,EAAb;;gBACA,IAA0C,CAAI,KAAA,CAAM,UAAA,CAAW,MAAO,CAAA,KAAA,CAAlB,CAAN,CAA9C;yBAAA,IAAC,CAAA,QAAD,IAAa,UAAA,CAAW,MAAO,CAAA,KAAA,CAAlB,EAAb;;cAFE,CAFN;cAKA,KAAA,EAAO,SAAA;uBAAG,IAAC,CAAA,MAAD,GAAQ,IAAC,CAAA;cAAZ,CALP;cAMA,MAAA,EAAQ,SANR;cAOA,SAAA,EAAc,aAAA,IAAS,eAAZ,GAAwB,CAAxB,GAA+B,CAP1C;;UAD+C;QAAlB;MAArB,CArEZ;MA+EA,iBAAA,EAAmB,SAAC,KAAD,EAAa,SAAb;;UAAC,QAAM;;;UAAM,YAAU;;eAAU,SAAC,GAAD;AAAkB,cAAA;UAAhB,cAAK;iBAAW,SAAC,IAAD,EAAO,MAAP,EAAe,MAAf;mBAClE;cAAA,MAAA,EAAQ,CAAR;cACA,QAAA,EAAU,CADV;cAEA,IAAA,EAAM,SAAC,MAAD;gBACF,IAA0C,CAAI,KAAA,CAAM,UAAA,CAAW,MAAO,CAAA,GAAA,CAAlB,CAAN,CAA9C;kBAAA,IAAC,CAAA,MAAD,IAAa,UAAA,CAAW,MAAO,CAAA,GAAA,CAAlB,EAAb;;gBACA,IAA0C,CAAI,KAAA,CAAM,UAAA,CAAW,MAAO,CAAA,KAAA,CAAlB,CAAN,CAA9C;yBAAA,IAAC,CAAA,QAAD,IAAa,UAAA,CAAW,MAAO,CAAA,KAAA,CAAlB,EAAb;;cAFE,CAFN;cAKA,KAAA,EAAO,SAAA;AACH,oBAAA;gBAAA,IAAA,GAAU,KAAH,GAAc,CAAd,GAAqB,CAAC;uBAC7B,CAAC,iBAAA,GAAkB,IAAC,CAAA,QAAnB,GAA8B,IAAC,CAAA,MAAD,GAAQ,IAAC,CAAA,QAAvC,GAAkD,kBAAA,GAAmB,IAAnB,GAC/C,IAAI,CAAC,IAAL,CAAU,iBAAA,GAAmB,CAAC,IAAC,CAAA,QAAD,GAAU,IAAC,CAAA,QAAZ,CAAnB,GAA2C,CAAC,IAAC,CAAA,MAAD,GAAQ,CAAC,CAAA,GAAI,IAAC,CAAA,MAAD,GAAS,IAAC,CAAA,QAAf,CAAT,CAAA,GAAoC,CAAC,IAAC,CAAA,QAAD,GAAU,IAAC,CAAA,QAAZ,CAAzF,CADJ,CAAA,GAEI,CAAC,CAAA,GAAI,iBAAA,GAAkB,IAAC,CAAA,QAAxB;cAJD,CALP;cAUA,MAAA,EAAQ,SAVR;cAWA,SAAA,EAAc,aAAA,IAAS,eAAZ,GAAwB,CAAxB,GAA+B,CAX1C;;UADkE;QAAlB;MAAjC,CA/EnB;MA6FA,UAAA,EAAY,SAAC,OAAD,EAAU,IAAV,EAAwB,SAAxB;;UAAU,OAAK;;;UAAS,YAAU;;eAAa,SAAA;AAAU,cAAA;UAAT;iBAAS,SAAC,IAAD,EAAO,MAAP,EAAe,MAAf;mBACjE;cAAA,QAAA,EAAU;gBAAC,KAAA,EAAM,CAAC,EAAD,EAAI,EAAJ,CAAP;gBAAe,GAAA,EAAI,CAAC,MAAD,EAAQ,EAAR,CAAnB;gBAA+B,GAAA,EAAI,CAAC,EAAD,EAAI,MAAJ,CAAnC;eAAgD,CAAA,IAAA,CAA1D;cACA,KAAA,EAAO,OAAA,aAAQ,CAAR,CAAA,CAAc,IAAd,EAAoB,MAApB,EAA4B,MAA5B,CADP;cAEA,IAAA,EAAM,SAAC,MAAD;uBAAY,IAAC,CAAA,KAAK,CAAC,IAAP,CAAY,MAAZ;cAAZ,CAFN;cAGA,MAAA,EAAQ,SAHR;cAIA,KAAA,EAAO,SAAA;uBAAG,IAAC,CAAA,KAAK,CAAC,KAAP,CAAA,CAAA,GAAiB,IAAI,CAAC,aAAL,aAAmB,IAAC,CAAA,QAApB,CAAgC,CAAC,KAAK,CAAC,KAAvC,CAAA;cAApB,CAJP;cAKA,SAAA,EAAW,OAAA,aAAQ,CAAR,CAAA,CAAA,CAAe,CAAC,SAL3B;;UADiE;QAAV;MAA/C,CA7FZ;;IAqGJ,mBAAmB,CAAC,WAApB,GAAkC,SAAC,CAAD;aAAO,mBAAmB,CAAC,OAApB,CAA4B,CAAC,SAAC,CAAD;eAAO,CAAC,CAAC;MAAT,CAAD,CAA5B,EAA+C,CAA/C;IAAP;IAClC,mBAAmB,CAAC,UAApB,GAAkC,SAAC,CAAD;aAAO,mBAAmB,CAAC,OAApB,CAA4B,CAAC,SAAC,CAAD;eAAO,CAAC,CAAC,IAAF,CAAO,WAAP,CAAmB,CAAC,IAApB,CAAyB,CAAzB;MAAP,CAAD,CAA5B,EAAkE,CAAC,SAAC,CAAD;eAAK;MAAL,CAAD,CAAlE;IAAP;IAClC,mBAAmB,CAAC,GAApB,GAAkC,SAAC,CAAD;aAAO,mBAAmB,CAAC,QAApB,CAA6B,KAA7B,EAAoC,CAApC;IAAP;IAClC,mBAAmB,CAAC,GAApB,GAAkC,SAAC,CAAD;aAAO,mBAAmB,CAAC,QAApB,CAA6B,KAA7B,EAAoC,CAApC;IAAP;IAClC,mBAAmB,CAAC,KAApB,GAAkC,SAAC,CAAD;aAAO,mBAAmB,CAAC,QAApB,CAA6B,OAA7B,EAAsC,CAAtC;IAAP;IAClC,mBAAmB,CAAC,IAApB,GAAkC,SAAC,CAAD;aAAO,mBAAmB,CAAC,QAApB,CAA6B,MAA7B,EAAqC,CAArC;IAAP;IAClC,mBAAmB,CAAC,MAApB,GAAkC,SAAC,CAAD;aAAO,mBAAmB,CAAC,QAApB,CAA6B,GAA7B,EAAkC,CAAlC;IAAP;IAClC,mBAAmB,CAAC,OAApB,GAAkC,SAAC,CAAD;aAAO,mBAAmB,CAAC,WAApB,CAAgC,MAAhC,EAAwC,CAAxC,EAA2C,CAA3C;IAAP;IAClC,mBAAmB,EAAC,GAAD,EAAnB,GAAkC,SAAC,IAAD,EAAO,CAAP;aAAa,mBAAmB,CAAC,WAApB,CAAgC,KAAhC,EAAuC,IAAvC,EAA6C,CAA7C;IAAb;IAClC,mBAAmB,CAAC,KAApB,GAAkC,SAAC,IAAD,EAAO,CAAP;aAAa,mBAAmB,CAAC,WAApB,CAAgC,OAAhC,EAAyC,IAAzC,EAA+C,CAA/C;IAAb;IAGlC,WAAA,GAAiB,CAAA,SAAC,GAAD;aACb;QAAA,OAAA,EAAwB,GAAG,CAAC,KAAJ,CAAU,QAAV,CAAxB;QACA,qBAAA,EAAwB,GAAG,CAAC,WAAJ,CAAgB,QAAhB,CADxB;QAEA,oBAAA,EAAwB,GAAG,CAAC,UAAJ,CAAe,IAAf,CAFxB;QAGA,KAAA,EAAwB,GAAG,CAAC,GAAJ,CAAQ,KAAR,CAHxB;QAIA,aAAA,EAAwB,GAAG,CAAC,GAAJ,CAAQ,QAAR,CAJxB;QAKA,SAAA,EAAwB,GAAG,CAAC,OAAJ,CAAY,KAAZ,CALxB;QAMA,QAAA,EAAwB,GAAG,CAAC,MAAJ,CAAW,KAAX,CANxB;QAOA,iBAAA,EAAwB,GAAG,EAAC,GAAD,EAAH,CAAQ,CAAR,EAAW,KAAX,CAPxB;QAQA,2BAAA,EAA6B,GAAG,CAAC,KAAJ,CAAU,CAAV,EAAa,KAAb,CAR7B;QASA,SAAA,EAAwB,GAAG,CAAC,GAAJ,CAAQ,KAAR,CATxB;QAUA,SAAA,EAAwB,GAAG,CAAC,GAAJ,CAAQ,KAAR,CAVxB;QAWA,OAAA,EAAwB,GAAG,CAAC,KAAJ,CAAU,KAAV,CAXxB;QAYA,MAAA,EAAwB,GAAG,CAAC,IAAJ,CAAS,KAAT,CAZxB;QAaA,cAAA,EAAwB,GAAG,CAAC,UAAJ,CAAe,KAAf,CAbxB;QAcA,iBAAA,EAAwB,GAAG,CAAC,iBAAJ,CAAsB,IAAtB,EAA4B,KAA5B,CAdxB;QAeA,iBAAA,EAAwB,GAAG,CAAC,iBAAJ,CAAsB,KAAtB,EAA6B,KAA7B,CAfxB;QAgBA,0BAAA,EAAgC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAA4B,OAA5B,EAAqC,QAArC,CAhBhC;QAiBA,yBAAA,EAAgC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CAjBhC;QAkBA,4BAAA,EAAgC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CAlBhC;QAmBA,4BAAA,EAAgC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,OAA5B,EAAqC,QAArC,CAnBhC;QAoBA,2BAAA,EAAgC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CApBhC;QAqBA,8BAAA,EAAgC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CArBhC;;IADa,CAAA,CAAH,CAAU,mBAAV;IAwBd,SAAA,GACI;MAAA,OAAA,EAAkB,SAAC,IAAD,EAAO,IAAP;eAAkB,kBAAA,CAAmB,IAAnB,EAAyB,IAAzB;MAAlB,CAAlB;MACA,gBAAA,EAAkB,SAAC,IAAD,EAAO,IAAP;eAAgB,CAAA,CAAE,kBAAA,CAAmB,IAAnB,EAAyB,IAAzB,CAAF,CAAiC,CAAC,QAAlC,CAAA;MAAhB,CADlB;MAEA,SAAA,EAAkB,SAAC,IAAD,EAAO,IAAP;eAAgB,CAAA,CAAE,kBAAA,CAAmB,IAAnB,EAAyB,IAAzB,CAAF,CAAiC,CAAC,OAAlC,CAA0C,SAA1C,EAAwD,IAAxD;MAAhB,CAFlB;MAGA,aAAA,EAAkB,SAAC,IAAD,EAAO,IAAP;eAAgB,CAAA,CAAE,kBAAA,CAAmB,IAAnB,EAAyB,IAAzB,CAAF,CAAiC,CAAC,OAAlC,CAA0C,YAA1C,EAAwD,IAAxD;MAAhB,CAHlB;MAIA,aAAA,EAAkB,SAAC,IAAD,EAAO,IAAP;eAAgB,CAAA,CAAE,kBAAA,CAAmB,IAAnB,EAAyB,IAAzB,CAAF,CAAiC,CAAC,OAAlC,CAA0C,YAA1C,EAAwD,IAAxD;MAAhB,CAJlB;;IAMJ,OAAA,GACI;MAAA,EAAA,EACI;QAAA,WAAA,EAAa,WAAb;QACA,SAAA,EAAW,SADX;QAEA,aAAA,EACI;UAAA,WAAA,EAAa,qDAAb;UACA,YAAA,EAAc,qDADd;UAEA,aAAA,EAAe,gDAFf;UAGA,SAAA,EAAW,YAHX;UAIA,UAAA,EAAY,aAJZ;UAKA,OAAA,EAAS,oBALT;UAMA,aAAA,EAAe,eANf;UAOA,KAAA,EAAO,OAPP;UAQA,MAAA,EAAQ,QARR;UASA,MAAA,EAAQ,QATR;UAUA,EAAA,EAAI,IAVJ;UAWA,EAAA,EAAI,IAXJ;SAHJ;OADJ;;IAkBJ,UAAA,GAAa,CAAC,KAAD,EAAO,KAAP,EAAa,KAAb,EAAmB,KAAnB,EAAyB,KAAzB,EAA+B,KAA/B,EAAqC,KAArC,EAA2C,KAA3C,EAAiD,KAAjD,EAAuD,KAAvD,EAA6D,KAA7D,EAAmE,KAAnE;IACb,UAAA,GAAa,CAAC,KAAD,EAAO,KAAP,EAAa,KAAb,EAAmB,KAAnB,EAAyB,KAAzB,EAA+B,KAA/B,EAAqC,KAArC;IACb,OAAA,GAAU,SAAC,MAAD;aAAY,CAAC,GAAA,GAAI,MAAL,CAAY,CAAC,MAAb,CAAoB,CAAC,CAArB,EAAuB,CAAvB;IAAZ;IAEV,QAAA,GACI;MAAA,GAAA,EAAK,SAAC,GAAD,EAAM,QAAN;eAAmB,SAAC,MAAD;iBAAY,MAAO,CAAA,GAAA,CAAP,GAAc,MAAO,CAAA,GAAA,CAAP,GAAc;QAAxC;MAAnB,CAAL;MACA,UAAA,EAAY,SAAC,GAAD,EAAM,YAAN,EAAoB,SAApB,EAAqC,QAArC,EAA0D,QAA1D;AACR,YAAA;;UAD4B,YAAU;;;UAAO,WAAS;;;UAAY,WAAS;;QAC3E,GAAA,GAAS,SAAH,GAAkB,KAAlB,GAA6B;eACnC,SAAC,MAAD;AACI,cAAA;UAAA,IAAA,GAAO,IAAI,IAAJ,CAAS,IAAI,CAAC,KAAL,CAAW,MAAO,CAAA,GAAA,CAAlB,CAAT;UACP,IAAG,KAAA,CAAM,IAAN,CAAH;AAAoB,mBAAO,GAA3B;;iBACA,YAAY,CAAC,OAAb,CAAqB,OAArB,EAA8B,SAAC,CAAD,EAAI,CAAJ;AAC1B,oBAAO,CAAP;AAAA,mBACS,GADT;uBACkB,IAAK,CAAA,KAAA,GAAM,GAAN,GAAU,UAAV,CAAL,CAAA;AADlB,mBAES,GAFT;uBAEkB,OAAA,CAAQ,IAAK,CAAA,KAAA,GAAM,GAAN,GAAU,OAAV,CAAL,CAAA,CAAA,GAAyB,CAAjC;AAFlB,mBAGS,GAHT;uBAGkB,QAAS,CAAA,IAAK,CAAA,KAAA,GAAM,GAAN,GAAU,OAAV,CAAL,CAAA,CAAA;AAH3B,mBAIS,GAJT;uBAIkB,OAAA,CAAQ,IAAK,CAAA,KAAA,GAAM,GAAN,GAAU,MAAV,CAAL,CAAA,CAAR;AAJlB,mBAKS,GALT;uBAKkB,QAAS,CAAA,IAAK,CAAA,KAAA,GAAM,GAAN,GAAU,KAAV,CAAL,CAAA,CAAA;AAL3B,mBAMS,GANT;uBAMkB,IAAK,CAAA,KAAA,GAAM,GAAN,GAAU,KAAV,CAAL,CAAA;AANlB,mBAOS,GAPT;uBAOkB,OAAA,CAAQ,IAAK,CAAA,KAAA,GAAM,GAAN,GAAU,OAAV,CAAL,CAAA,CAAR;AAPlB,mBAQS,GART;uBAQkB,OAAA,CAAQ,IAAK,CAAA,KAAA,GAAM,GAAN,GAAU,SAAV,CAAL,CAAA,CAAR;AARlB,mBASS,GATT;uBASkB,OAAA,CAAQ,IAAK,CAAA,KAAA,GAAM,GAAN,GAAU,SAAV,CAAL,CAAA,CAAR;AATlB;uBAUS,GAAA,GAAM;AAVf;UAD0B,CAA9B;QAHJ;MAFQ,CADZ;;IAmBJ,EAAA,GAAK;IACL,EAAA,GAAK;IACL,EAAA,GAAK;IACL,WAAA,GAAc,CAAA,SAAA,KAAA;aAAA,SAAC,EAAD,EAAK,EAAL;AAEV,YAAA;QAAA,IAAa,YAAA,IAAY,YAAzB;AAAA,iBAAO,CAAC,EAAR;;QACA,IAAa,YAAA,IAAY,YAAzB;AAAA,iBAAQ,EAAR;;QAGA,IAAa,OAAO,EAAP,KAAa,QAAb,IAA0B,KAAA,CAAM,EAAN,CAAvC;AAAA,iBAAO,CAAC,EAAR;;QACA,IAAa,OAAO,EAAP,KAAa,QAAb,IAA0B,KAAA,CAAM,EAAN,CAAvC;AAAA,iBAAQ,EAAR;;QAGA,GAAA,GAAM,CAAC;QACP,GAAA,GAAM,CAAC;QACP,IAAa,GAAA,GAAM,GAAnB;AAAA,iBAAO,CAAC,EAAR;;QACA,IAAa,GAAA,GAAM,GAAnB;AAAA,iBAAQ,EAAR;;QAGA,IAAa,OAAO,EAAP,KAAa,QAAb,IAA0B,OAAO,EAAP,KAAa,QAApD;AAAA,iBAAO,CAAC,EAAR;;QACA,IAAa,OAAO,EAAP,KAAa,QAAb,IAA0B,OAAO,EAAP,KAAa,QAApD;AAAA,iBAAQ,EAAR;;QACA,IAAa,OAAO,EAAP,KAAa,QAAb,IAA0B,OAAO,EAAP,KAAa,QAApD;AAAA,iBAAQ,EAAR;;QAGA,IAAa,KAAA,CAAM,GAAN,CAAA,IAAe,CAAI,KAAA,CAAM,GAAN,CAAhC;AAAA,iBAAO,CAAC,EAAR;;QACA,IAAa,KAAA,CAAM,GAAN,CAAA,IAAe,CAAI,KAAA,CAAM,GAAN,CAAhC;AAAA,iBAAQ,EAAR;;QAGA,CAAA,GAAI,MAAA,CAAO,EAAP;QACJ,CAAA,GAAI,MAAA,CAAO,EAAP;QACJ,IAAY,CAAA,KAAK,CAAjB;AAAA,iBAAO,EAAP;;QACA,IAAA,CAAA,CAAwC,EAAE,CAAC,IAAH,CAAQ,CAAR,CAAA,IAAe,EAAE,CAAC,IAAH,CAAQ,CAAR,CAAvD,CAAA;AAAA,iBAAO,CAAI,CAAA,GAAI,CAAP,GAAc,CAAd,GAAqB,CAAC,CAAvB,EAAP;;QAGA,CAAA,GAAI,CAAC,CAAC,KAAF,CAAQ,EAAR;QACJ,CAAA,GAAI,CAAC,CAAC,KAAF,CAAQ,EAAR;AACJ,eAAM,CAAC,CAAC,MAAF,IAAa,CAAC,CAAC,MAArB;UACI,EAAA,GAAK,CAAC,CAAC,KAAF,CAAA;UACL,EAAA,GAAK,CAAC,CAAC,KAAF,CAAA;UACL,IAAG,EAAA,KAAM,EAAT;YACI,IAAG,EAAE,CAAC,IAAH,CAAQ,EAAR,CAAA,IAAgB,EAAE,CAAC,IAAH,CAAQ,EAAR,CAAnB;AACI,qBAAO,EAAE,CAAC,OAAH,CAAW,EAAX,EAAe,IAAf,CAAA,GAAuB,EAAE,CAAC,OAAH,CAAW,EAAX,EAAe,IAAf,EADlC;aAAA,MAAA;AAGI,qBAAO,CAAI,EAAA,GAAK,EAAR,GAAgB,CAAhB,GAAuB,CAAC,CAAzB,EAHX;aADJ;;QAHJ;AAQA,eAAO,CAAC,CAAC,MAAF,GAAW,CAAC,CAAC;MAzCV;IAAA,CAAA,CAAA,CAAA,IAAA;IA2Cd,MAAA,GAAS,SAAC,KAAD;AACL,UAAA;MAAA,OAAA,GAAU;MACV,SAAA,GAAY;AACZ,WAAA,UAAA;;QACI,OAAQ,CAAA,CAAA,CAAR,GAAa;QACb,IAAkC,OAAO,CAAP,KAAY,QAA9C;UAAA,SAAU,CAAA,CAAC,CAAC,WAAF,CAAA,CAAA,CAAV,GAA6B,EAA7B;;AAFJ;aAGA,SAAC,CAAD,EAAI,CAAJ;QACI,IAAG,oBAAA,IAAgB,oBAAnB;iBAAoC,OAAQ,CAAA,CAAA,CAAR,GAAa,OAAQ,CAAA,CAAA,EAAzD;SAAA,MACK,IAAG,kBAAH;iBAAoB,CAAC,EAArB;SAAA,MACA,IAAG,kBAAH;iBAAoB,EAApB;SAAA,MACA,IAAG,sBAAA,IAAkB,sBAArB;iBAAwC,SAAU,CAAA,CAAA,CAAV,GAAe,SAAU,CAAA,CAAA,EAAjE;SAAA,MACA,IAAG,oBAAH;iBAAsB,CAAC,EAAvB;SAAA,MACA,IAAG,oBAAH;iBAAsB,EAAtB;SAAA,MAAA;iBACA,WAAA,CAAY,CAAZ,EAAc,CAAd,EADA;;MANT;IANK;IAeT,OAAA,GAAU,SAAC,OAAD,EAAU,IAAV;AACN,UAAA;MAAA,IAAG,eAAH;QACI,IAAG,CAAC,CAAC,UAAF,CAAa,OAAb,CAAH;UACI,IAAA,GAAO,OAAA,CAAQ,IAAR;UACP,IAAe,CAAC,CAAC,UAAF,CAAa,IAAb,CAAf;AAAA,mBAAO,KAAP;WAFJ;SAAA,MAGK,IAAG,qBAAH;AACD,iBAAO,OAAQ,CAAA,IAAA,EADd;SAJT;;AAMA,aAAO;IAPD;;AASV;;;IAIM;MACW,mBAAC,KAAD,EAAQ,IAAR;AACT,YAAA;;UADiB,OAAO;;;;;;;QACxB,IAAC,CAAA,KAAD,GAAS;QACT,IAAC,CAAA,UAAD,2CAAgC,mBAAmB,CAAC,KAApB,CAAA,CAAA,CAAA;QAChC,IAAC,CAAA,cAAD,iDAAwC;QACxC,IAAC,CAAA,QAAD,uCAAwB;QACxB,IAAC,CAAA,QAAD,uCAAwB;QACxB,IAAC,CAAA,QAAD,uCAAwB;QACxB,IAAC,CAAA,OAAD,0CAA0B;QAC1B,IAAC,CAAA,QAAD,2CAA4B;QAC5B,IAAC,CAAA,QAAD,2CAA4B;QAC5B,IAAC,CAAA,iBAAD,oDAA8C;QAC9C,IAAC,CAAA,MAAD,yCAAwB,CAAC,SAAA;iBAAG;QAAH,CAAD;QACxB,IAAC,CAAA,IAAD,GAAQ;QACR,IAAC,CAAA,OAAD,GAAW;QACX,IAAC,CAAA,OAAD,GAAW;QACX,IAAC,CAAA,SAAD,GAAa;QACb,IAAC,CAAA,SAAD,GAAa;QACb,IAAC,CAAA,QAAD,GAAY,IAAC,CAAA,UAAD,CAAY,IAAZ,EAAkB,EAAlB,EAAsB,EAAtB;QACZ,IAAC,CAAA,MAAD,GAAU;QAGV,SAAS,CAAC,aAAV,CAAwB,IAAC,CAAA,KAAzB,EAAgC,IAAC,CAAA,iBAAjC,EAAoD,CAAA,SAAA,KAAA;iBAAA,SAAC,MAAD;YAChD,IAA0B,KAAC,CAAA,MAAD,CAAQ,MAAR,CAA1B;qBAAA,KAAC,CAAA,aAAD,CAAe,MAAf,EAAA;;UADgD;QAAA,CAAA,CAAA,CAAA,IAAA,CAApD;MArBS;;MAyBb,SAAC,CAAA,aAAD,GAAiB,SAAC,KAAD,EAAQ,iBAAR,EAA2B,CAA3B;AACb,YAAA;QAAA,IAAG,CAAC,CAAC,aAAF,CAAgB,iBAAhB,CAAH;UACI,SAAA,GAAY,EADhB;SAAA,MAAA;UAGI,SAAA,GAAY,SAAC,MAAD;AACR,gBAAA;AAAA,iBAAA,sBAAA;;cAAA,MAAO,CAAA,CAAA,CAAP,qCAAwB,MAAO,CAAA,CAAA;AAA/B;mBACA,CAAA,CAAE,MAAF;UAFQ,EAHhB;;QAQA,IAAG,CAAC,CAAC,UAAF,CAAa,KAAb,CAAH;iBACI,KAAA,CAAM,SAAN,EADJ;SAAA,MAEK,IAAG,CAAC,CAAC,OAAF,CAAU,KAAV,CAAH;UACD,IAAG,CAAC,CAAC,OAAF,CAAU,KAAM,CAAA,CAAA,CAAhB,CAAH;AACI;iBAAA,UAAA;;;oBAAuC,CAAA,GAAI;;;cACvC,MAAA,GAAS;AACT;AAAA,mBAAA,QAAA;;;gBAAA,MAAO,CAAA,CAAA,CAAP,GAAY,aAAc,CAAA,CAAA;AAA1B;2BACA,SAAA,CAAU,MAAV;AAHJ;2BADJ;WAAA,MAAA;AAMI;iBAAA,yCAAA;;4BAAA,SAAA,CAAU,MAAV;AAAA;4BANJ;WADC;SAAA,MAQA,IAAG,KAAA,YAAiB,CAApB;UACD,OAAA,GAAU;UACV,CAAA,CAAE,iBAAF,EAAqB,KAArB,CAA2B,CAAC,IAA5B,CAAiC,SAAC,CAAD;mBAAO,OAAO,CAAC,IAAR,CAAa,CAAA,CAAE,IAAF,CAAO,CAAC,IAAR,CAAA,CAAb;UAAP,CAAjC;iBACA,CAAA,CAAE,YAAF,EAAgB,KAAhB,CAAsB,CAAC,IAAvB,CAA4B,SAAC,CAAD;YACxB,MAAA,GAAS;YACT,CAAA,CAAE,IAAF,EAAQ,IAAR,CAAa,CAAC,IAAd,CAAmB,SAAC,CAAD;qBAAO,MAAO,CAAA,OAAQ,CAAA,CAAA,CAAR,CAAP,GAAqB,CAAA,CAAE,IAAF,CAAO,CAAC,IAAR,CAAA;YAA5B,CAAnB;mBACA,SAAA,CAAU,MAAV;UAHwB,CAA5B,EAHC;SAAA,MAAA;AAQD,gBAAM,IAAI,KAAJ,CAAU,sBAAV,EARL;;MAnBQ;;0BA6BjB,qBAAA,GAAuB,SAAC,QAAD,EAAW,QAAX;eACnB,SAAS,CAAC,aAAV,CAAwB,IAAC,CAAA,KAAzB,EAAgC,IAAC,CAAA,iBAAjC,EAAoD,CAAA,SAAA,KAAA;iBAAA,SAAC,MAAD;AAChD,gBAAA;YAAA,IAAU,CAAI,KAAC,CAAA,MAAD,CAAQ,MAAR,CAAd;AAAA,qBAAA;;AACA,iBAAA,aAAA;;cACI,IAAU,CAAA,KAAK,mCAAa,MAAb,CAAf;AAAA,uBAAA;;AADJ;mBAEA,QAAA,CAAS,MAAT;UAJgD;QAAA,CAAA,CAAA,CAAA,IAAA,CAApD;MADmB;;0BAOvB,OAAA,GAAS,SAAC,KAAD;AACL,YAAA;QAAA,UAAA;;AAAc;eAAA,yCAAA;;yBAAA,OAAA,CAAQ,IAAC,CAAA,OAAT,EAAkB,CAAlB;AAAA;;;eACd,SAAC,CAAD,EAAG,CAAH;AACI,cAAA;AAAA,eAAA,eAAA;;;YACI,UAAA,GAAa,MAAA,CAAO,CAAE,CAAA,CAAA,CAAT,EAAa,CAAE,CAAA,CAAA,CAAf;YACb,IAAqB,UAAA,KAAc,CAAnC;AAAA,qBAAO,WAAP;;AAFJ;AAGA,iBAAO;QAJX;MAFK;;0BAQT,QAAA,GAAU,SAAA;AACN,YAAA;QAAA,IAAG,CAAI,IAAC,CAAA,MAAR;UACI,IAAC,CAAA,MAAD,GAAU;UACV,CAAA,GAAI,CAAA,SAAA,KAAA;mBAAA,SAAC,CAAD,EAAG,CAAH;qBAAS,KAAC,CAAA,aAAD,CAAe,CAAf,EAAiB,CAAjB,CAAmB,CAAC,KAApB,CAAA;YAAT;UAAA,CAAA,CAAA,CAAA,IAAA;AACJ,kBAAO,IAAC,CAAA,QAAR;AAAA,iBACS,cADT;cAC8B,IAAC,CAAA,OAAO,CAAC,IAAT,CAAc,CAAA,SAAA,KAAA;uBAAA,SAAC,CAAD,EAAG,CAAH;yBAAU,WAAA,CAAY,CAAA,CAAE,CAAF,EAAI,EAAJ,CAAZ,EAAqB,CAAA,CAAE,CAAF,EAAI,EAAJ,CAArB;gBAAV;cAAA,CAAA,CAAA,CAAA,IAAA,CAAd;AAArB;AADT,iBAES,cAFT;cAE6B,IAAC,CAAA,OAAO,CAAC,IAAT,CAAc,CAAA,SAAA,KAAA;uBAAA,SAAC,CAAD,EAAG,CAAH;yBAAS,CAAC,WAAA,CAAY,CAAA,CAAE,CAAF,EAAI,EAAJ,CAAZ,EAAqB,CAAA,CAAE,CAAF,EAAI,EAAJ,CAArB;gBAAV;cAAA,CAAA,CAAA,CAAA,IAAA,CAAd;AAApB;AAFT;cAGqB,IAAC,CAAA,OAAO,CAAC,IAAT,CAAc,IAAC,CAAA,OAAD,CAAS,IAAC,CAAA,QAAV,CAAd;AAHrB;AAIA,kBAAO,IAAC,CAAA,QAAR;AAAA,iBACS,cADT;qBAC8B,IAAC,CAAA,OAAO,CAAC,IAAT,CAAc,CAAA,SAAA,KAAA;uBAAA,SAAC,CAAD,EAAG,CAAH;yBAAU,WAAA,CAAY,CAAA,CAAE,EAAF,EAAK,CAAL,CAAZ,EAAqB,CAAA,CAAE,EAAF,EAAK,CAAL,CAArB;gBAAV;cAAA,CAAA,CAAA,CAAA,IAAA,CAAd;AAD9B,iBAES,cAFT;qBAE6B,IAAC,CAAA,OAAO,CAAC,IAAT,CAAc,CAAA,SAAA,KAAA;uBAAA,SAAC,CAAD,EAAG,CAAH;yBAAS,CAAC,WAAA,CAAY,CAAA,CAAE,EAAF,EAAK,CAAL,CAAZ,EAAqB,CAAA,CAAE,EAAF,EAAK,CAAL,CAArB;gBAAV;cAAA,CAAA,CAAA,CAAA,IAAA,CAAd;AAF7B;qBAGqB,IAAC,CAAA,OAAO,CAAC,IAAT,CAAc,IAAC,CAAA,OAAD,CAAS,IAAC,CAAA,QAAV,CAAd;AAHrB,WAPJ;;MADM;;0BAaV,UAAA,GAAY,SAAA;QACR,IAAC,CAAA,QAAD,CAAA;AACA,eAAO,IAAC,CAAA;MAFA;;0BAIZ,UAAA,GAAY,SAAA;QACR,IAAC,CAAA,QAAD,CAAA;AACA,eAAO,IAAC,CAAA;MAFA;;0BAIZ,aAAA,GAAe,SAAC,MAAD;AACX,YAAA;QAAA,MAAA,GAAS;QACT,MAAA,GAAS;AACT;AAAA,aAAA,uCAAA;;UAAA,MAAM,CAAC,IAAP,qCAAwB,MAAxB;AAAA;AACA;AAAA,aAAA,wCAAA;;UAAA,MAAM,CAAC,IAAP,qCAAwB,MAAxB;AAAA;QACA,UAAA,GAAa,MAAM,CAAC,IAAP,CAAY,MAAM,CAAC,YAAP,CAAoB,CAApB,CAAZ;QACb,UAAA,GAAa,MAAM,CAAC,IAAP,CAAY,MAAM,CAAC,YAAP,CAAoB,CAApB,CAAZ;QAEb,IAAC,CAAA,QAAQ,CAAC,IAAV,CAAe,MAAf;QAEA,IAAG,MAAM,CAAC,MAAP,KAAiB,CAApB;UACI,IAAG,CAAI,IAAC,CAAA,SAAU,CAAA,UAAA,CAAlB;YACI,IAAC,CAAA,OAAO,CAAC,IAAT,CAAc,MAAd;YACA,IAAC,CAAA,SAAU,CAAA,UAAA,CAAX,GAAyB,IAAC,CAAA,UAAD,CAAY,IAAZ,EAAkB,MAAlB,EAA0B,EAA1B,EAF7B;;UAGA,IAAC,CAAA,SAAU,CAAA,UAAA,CAAW,CAAC,IAAvB,CAA4B,MAA5B,EAJJ;;QAMA,IAAG,MAAM,CAAC,MAAP,KAAiB,CAApB;UACI,IAAG,CAAI,IAAC,CAAA,SAAU,CAAA,UAAA,CAAlB;YACI,IAAC,CAAA,OAAO,CAAC,IAAT,CAAc,MAAd;YACA,IAAC,CAAA,SAAU,CAAA,UAAA,CAAX,GAAyB,IAAC,CAAA,UAAD,CAAY,IAAZ,EAAkB,EAAlB,EAAsB,MAAtB,EAF7B;;UAGA,IAAC,CAAA,SAAU,CAAA,UAAA,CAAW,CAAC,IAAvB,CAA4B,MAA5B,EAJJ;;QAMA,IAAG,MAAM,CAAC,MAAP,KAAiB,CAAjB,IAAuB,MAAM,CAAC,MAAP,KAAiB,CAA3C;UACI,IAAG,CAAI,IAAC,CAAA,IAAK,CAAA,UAAA,CAAb;YACI,IAAC,CAAA,IAAK,CAAA,UAAA,CAAN,GAAoB,GADxB;;UAEA,IAAG,CAAI,IAAC,CAAA,IAAK,CAAA,UAAA,CAAY,CAAA,UAAA,CAAzB;YACI,IAAC,CAAA,IAAK,CAAA,UAAA,CAAY,CAAA,UAAA,CAAlB,GAAgC,IAAC,CAAA,UAAD,CAAY,IAAZ,EAAkB,MAAlB,EAA0B,MAA1B,EADpC;;iBAEA,IAAC,CAAA,IAAK,CAAA,UAAA,CAAY,CAAA,UAAA,CAAW,CAAC,IAA9B,CAAmC,MAAnC,EALJ;;MAtBW;;0BA6Bf,aAAA,GAAe,SAAC,MAAD,EAAS,MAAT;AACX,YAAA;QAAA,UAAA,GAAa,MAAM,CAAC,IAAP,CAAY,MAAM,CAAC,YAAP,CAAoB,CAApB,CAAZ;QACb,UAAA,GAAa,MAAM,CAAC,IAAP,CAAY,MAAM,CAAC,YAAP,CAAoB,CAApB,CAAZ;QACb,IAAG,MAAM,CAAC,MAAP,KAAiB,CAAjB,IAAuB,MAAM,CAAC,MAAP,KAAiB,CAA3C;UACI,GAAA,GAAM,IAAC,CAAA,SADX;SAAA,MAEK,IAAG,MAAM,CAAC,MAAP,KAAiB,CAApB;UACD,GAAA,GAAM,IAAC,CAAA,SAAU,CAAA,UAAA,EADhB;SAAA,MAEA,IAAG,MAAM,CAAC,MAAP,KAAiB,CAApB;UACD,GAAA,GAAM,IAAC,CAAA,SAAU,CAAA,UAAA,EADhB;SAAA,MAAA;UAGD,GAAA,GAAM,IAAC,CAAA,IAAK,CAAA,UAAA,CAAY,CAAA,UAAA,EAHvB;;AAIL,6BAAO,MAAM;UAAC,KAAA,EAAO,CAAC,SAAA;mBAAG;UAAH,CAAD,CAAR;UAAmB,MAAA,EAAQ,SAAA;mBAAG;UAAH,CAA3B;;MAXF;;;;;IAcnB,CAAC,CAAC,cAAF,GAAmB;MAAC,qBAAA,mBAAD;MAAsB,aAAA,WAAtB;MAAmC,WAAA,SAAnC;MAA8C,UAAA,QAA9C;MAAwD,SAAA,OAAxD;MACf,aAAA,WADe;MACF,cAAA,YADE;MACY,QAAA,MADZ;MACoB,WAAA,SADpB;;;AAGnB;;;IAIA,kBAAA,GAAqB,SAAC,SAAD,EAAY,IAAZ;AAEjB,UAAA;MAAA,QAAA,GACI;QAAA,KAAA,EACI;UAAA,aAAA,EAAe,IAAf;UACA,SAAA,EAAW,IADX;UAEA,SAAA,EAAW,IAFX;SADJ;QAIA,aAAA,EAAe;UAAA,MAAA,EAAQ,QAAR;SAJf;;MAMJ,IAAA,GAAO,CAAC,CAAC,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,QAAnB,EAA6B,IAA7B;MAEP,QAAA,GAAW,SAAS,CAAC;MACrB,QAAA,GAAW,SAAS,CAAC;MACrB,OAAA,GAAU,SAAS,CAAC,UAAV,CAAA;MACV,OAAA,GAAU,SAAS,CAAC,UAAV,CAAA;MAEV,IAAG,IAAI,CAAC,KAAK,CAAC,aAAd;QACI,eAAA,GAAkB,SAAC,KAAD,EAAQ,SAAR,EAAmB,SAAnB;AACd,cAAA;UAAA,OAAA,GAAU;AACV,eAAA,aAAA;;;gBAA8D;cAA9D,OAAQ,CAAA,IAAA,CAAR,GAAgB,SAAU,CAAA,CAAA;;AAA1B;AACA,eAAA,aAAA;;;gBAA8D;cAA9D,OAAQ,CAAA,IAAA,CAAR,GAAgB,SAAU,CAAA,CAAA;;AAA1B;AACA,iBAAO,SAAC,CAAD;mBAAO,IAAI,CAAC,KAAK,CAAC,aAAX,CAAyB,CAAzB,EAA4B,KAA5B,EAAmC,OAAnC,EAA4C,SAA5C;UAAP;QAJO,EADtB;;MAQA,MAAA,GAAS,QAAQ,CAAC,aAAT,CAAuB,OAAvB;MACT,MAAM,CAAC,SAAP,GAAmB;MAGnB,QAAA,GAAW,SAAC,GAAD,EAAM,CAAN,EAAS,CAAT;AACP,YAAA;QAAA,IAAG,CAAA,KAAK,CAAR;UACI,MAAA,GAAS;AACT,eAAS,4EAAT;YACI,IAAG,GAAI,CAAA,CAAA,GAAE,CAAF,CAAK,CAAA,CAAA,CAAT,KAAe,GAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAzB;cACI,MAAA,GAAS,MADb;;AADJ;UAGA,IAAG,MAAH;AACE,mBAAO,CAAC,EADV;WALJ;;QAOA,GAAA,GAAM;AACN,eAAM,CAAA,GAAE,GAAF,GAAQ,GAAG,CAAC,MAAlB;UACI,IAAA,GAAO;AACP,eAAS,iFAAT;YACI,IAAe,GAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAP,KAAa,GAAI,CAAA,CAAA,GAAE,GAAF,CAAO,CAAA,CAAA,CAAvC;cAAA,IAAA,GAAO,KAAP;;AADJ;UAEA,IAAS,IAAT;AAAA,kBAAA;;UACA,GAAA;QALJ;AAMA,eAAO;MAfA;MAkBX,KAAA,GAAQ,QAAQ,CAAC,aAAT,CAAuB,OAAvB;AACR,WAAA,aAAA;;;QACI,EAAA,GAAK,QAAQ,CAAC,aAAT,CAAuB,IAAvB;QACL,IAAG,QAAA,CAAS,CAAT,CAAA,KAAe,CAAf,IAAqB,QAAQ,CAAC,MAAT,KAAmB,CAA3C;UACI,EAAA,GAAK,QAAQ,CAAC,aAAT,CAAuB,IAAvB;UACL,EAAE,CAAC,YAAH,CAAgB,SAAhB,EAA2B,QAAQ,CAAC,MAApC;UACA,EAAE,CAAC,YAAH,CAAgB,SAAhB,EAA2B,QAAQ,CAAC,MAApC;UACA,EAAE,CAAC,WAAH,CAAe,EAAf,EAJJ;;QAKA,EAAA,GAAK,QAAQ,CAAC,aAAT,CAAuB,IAAvB;QACL,EAAE,CAAC,SAAH,GAAe;QACf,EAAE,CAAC,WAAH,GAAiB;QACjB,EAAE,CAAC,WAAH,CAAe,EAAf;AACA,aAAA,YAAA;;;UACI,CAAA,GAAI,QAAA,CAAS,OAAT,EAAkB,QAAA,CAAS,CAAT,CAAlB,EAA+B,QAAA,CAAS,CAAT,CAA/B;UACJ,IAAG,CAAA,KAAK,CAAC,CAAT;YACI,EAAA,GAAK,QAAQ,CAAC,aAAT,CAAuB,IAAvB;YACL,EAAE,CAAC,SAAH,GAAe;YACf,EAAE,CAAC,WAAH,GAAiB,MAAO,CAAA,CAAA;YACxB,EAAE,CAAC,YAAH,CAAgB,SAAhB,EAA2B,CAA3B;YACA,IAAG,QAAA,CAAS,CAAT,CAAA,KAAe,QAAQ,CAAC,MAAT,GAAgB,CAA/B,IAAqC,QAAQ,CAAC,MAAT,KAAmB,CAA3D;cACI,EAAE,CAAC,YAAH,CAAgB,SAAhB,EAA2B,CAA3B,EADJ;;YAEA,EAAE,CAAC,WAAH,CAAe,EAAf,EAPJ;;AAFJ;QAUA,IAAG,QAAA,CAAS,CAAT,CAAA,KAAe,CAAf,IAAoB,IAAI,CAAC,KAAK,CAAC,SAAlC;UACI,EAAA,GAAK,QAAQ,CAAC,aAAT,CAAuB,IAAvB;UACL,EAAE,CAAC,SAAH,GAAe;UACf,EAAE,CAAC,SAAH,GAAe,IAAI,CAAC,aAAa,CAAC;UAClC,EAAE,CAAC,YAAH,CAAgB,SAAhB,EAA2B,QAAQ,CAAC,MAAT,GAAkB,CAAI,QAAQ,CAAC,MAAT,KAAkB,CAArB,GAA4B,CAA5B,GAAmC,CAApC,CAA7C;UACA,EAAE,CAAC,WAAH,CAAe,EAAf,EALJ;;QAMA,KAAK,CAAC,WAAN,CAAkB,EAAlB;AA3BJ;MA8BA,IAAG,QAAQ,CAAC,MAAT,KAAkB,CAArB;QACI,EAAA,GAAK,QAAQ,CAAC,aAAT,CAAuB,IAAvB;AACL,aAAA,aAAA;;;UACI,EAAA,GAAK,QAAQ,CAAC,aAAT,CAAuB,IAAvB;UACL,EAAE,CAAC,SAAH,GAAe;UACf,EAAE,CAAC,WAAH,GAAiB;UACjB,EAAE,CAAC,WAAH,CAAe,EAAf;AAJJ;QAKA,EAAA,GAAK,QAAQ,CAAC,aAAT,CAAuB,IAAvB;QACL,IAAG,QAAQ,CAAC,MAAT,KAAkB,CAArB;UACI,EAAE,CAAC,SAAH,GAAe;UACf,EAAE,CAAC,SAAH,GAAe,IAAI,CAAC,aAAa,CAAC,OAFtC;;QAGA,EAAE,CAAC,WAAH,CAAe,EAAf;QACA,KAAK,CAAC,WAAN,CAAkB,EAAlB,EAZJ;;MAaA,MAAM,CAAC,WAAP,CAAmB,KAAnB;MAGA,KAAA,GAAQ,QAAQ,CAAC,aAAT,CAAuB,OAAvB;AACR,WAAA,YAAA;;;QACI,EAAA,GAAK,QAAQ,CAAC,aAAT,CAAuB,IAAvB;AACL,aAAA,WAAA;;;UACI,CAAA,GAAI,QAAA,CAAS,OAAT,EAAkB,QAAA,CAAS,CAAT,CAAlB,EAA+B,QAAA,CAAS,CAAT,CAA/B;UACJ,IAAG,CAAA,KAAK,CAAC,CAAT;YACI,EAAA,GAAK,QAAQ,CAAC,aAAT,CAAuB,IAAvB;YACL,EAAE,CAAC,SAAH,GAAe;YACf,EAAE,CAAC,WAAH,GAAiB;YACjB,EAAE,CAAC,YAAH,CAAgB,SAAhB,EAA2B,CAA3B;YACA,IAAG,QAAA,CAAS,CAAT,CAAA,KAAe,QAAQ,CAAC,MAAT,GAAgB,CAA/B,IAAqC,QAAQ,CAAC,MAAT,KAAkB,CAA1D;cACI,EAAE,CAAC,YAAH,CAAgB,SAAhB,EAA0B,CAA1B,EADJ;;YAEA,EAAE,CAAC,WAAH,CAAe,EAAf,EAPJ;;AAFJ;AAUA,aAAA,YAAA;;;UACI,UAAA,GAAa,SAAS,CAAC,aAAV,CAAwB,MAAxB,EAAgC,MAAhC;UACb,GAAA,GAAM,UAAU,CAAC,KAAX,CAAA;UACN,EAAA,GAAK,QAAQ,CAAC,aAAT,CAAuB,IAAvB;UACL,EAAE,CAAC,SAAH,GAAe,YAAA,GAAa,CAAb,GAAe,MAAf,GAAqB;UACpC,EAAE,CAAC,WAAH,GAAiB,UAAU,CAAC,MAAX,CAAkB,GAAlB;UACjB,EAAE,CAAC,YAAH,CAAgB,YAAhB,EAA8B,GAA9B;UACA,IAAG,uBAAH;YACI,EAAE,CAAC,OAAH,GAAa,eAAA,CAAgB,GAAhB,EAAqB,MAArB,EAA6B,MAA7B,EADjB;;UAEA,EAAE,CAAC,WAAH,CAAe,EAAf;AATJ;QAWA,IAAG,IAAI,CAAC,KAAK,CAAC,SAAX,IAAwB,QAAQ,CAAC,MAAT,KAAmB,CAA9C;UACI,eAAA,GAAkB,SAAS,CAAC,aAAV,CAAwB,MAAxB,EAAgC,EAAhC;UAClB,GAAA,GAAM,eAAe,CAAC,KAAhB,CAAA;UACN,EAAA,GAAK,QAAQ,CAAC,aAAT,CAAuB,IAAvB;UACL,EAAE,CAAC,SAAH,GAAe;UACf,EAAE,CAAC,WAAH,GAAiB,eAAe,CAAC,MAAhB,CAAuB,GAAvB;UACjB,EAAE,CAAC,YAAH,CAAgB,YAAhB,EAA8B,GAA9B;UACA,IAAG,uBAAH;YACI,EAAE,CAAC,OAAH,GAAa,eAAA,CAAgB,GAAhB,EAAqB,MAArB,EAA6B,EAA7B,EADjB;;UAEA,EAAE,CAAC,YAAH,CAAgB,UAAhB,EAA4B,KAAA,GAAM,CAAlC;UACA,EAAE,CAAC,WAAH,CAAe,EAAf,EAVJ;;QAWA,KAAK,CAAC,WAAN,CAAkB,EAAlB;AAlCJ;MAqCA,IAAG,IAAI,CAAC,KAAK,CAAC,SAAX,IAAwB,QAAQ,CAAC,MAAT,KAAmB,CAA9C;QACI,EAAA,GAAK,QAAQ,CAAC,aAAT,CAAuB,IAAvB;QACL,IAAG,IAAI,CAAC,KAAK,CAAC,SAAX,IAAwB,QAAQ,CAAC,MAAT,KAAmB,CAA9C;UACI,EAAA,GAAK,QAAQ,CAAC,aAAT,CAAuB,IAAvB;UACL,EAAE,CAAC,SAAH,GAAe;UACf,EAAE,CAAC,SAAH,GAAe,IAAI,CAAC,aAAa,CAAC;UAClC,EAAE,CAAC,YAAH,CAAgB,SAAhB,EAA2B,QAAQ,CAAC,MAAT,GAAkB,CAAI,QAAQ,CAAC,MAAT,KAAmB,CAAtB,GAA6B,CAA7B,GAAoC,CAArC,CAA7C;UACA,EAAE,CAAC,WAAH,CAAe,EAAf,EALJ;;AAMA,aAAA,YAAA;;;UACI,eAAA,GAAkB,SAAS,CAAC,aAAV,CAAwB,EAAxB,EAA4B,MAA5B;UAClB,GAAA,GAAM,eAAe,CAAC,KAAhB,CAAA;UACN,EAAA,GAAK,QAAQ,CAAC,aAAT,CAAuB,IAAvB;UACL,EAAE,CAAC,SAAH,GAAe;UACf,EAAE,CAAC,WAAH,GAAiB,eAAe,CAAC,MAAhB,CAAuB,GAAvB;UACjB,EAAE,CAAC,YAAH,CAAgB,YAAhB,EAA8B,GAA9B;UACA,IAAG,uBAAH;YACI,EAAE,CAAC,OAAH,GAAa,eAAA,CAAgB,GAAhB,EAAqB,EAArB,EAAyB,MAAzB,EADjB;;UAEA,EAAE,CAAC,YAAH,CAAgB,UAAhB,EAA4B,KAAA,GAAM,CAAlC;UACA,EAAE,CAAC,WAAH,CAAe,EAAf;AAVJ;QAWA,IAAG,IAAI,CAAC,KAAK,CAAC,SAAX,IAAwB,QAAQ,CAAC,MAAT,KAAmB,CAA9C;UACI,eAAA,GAAkB,SAAS,CAAC,aAAV,CAAwB,EAAxB,EAA4B,EAA5B;UAClB,GAAA,GAAM,eAAe,CAAC,KAAhB,CAAA;UACN,EAAA,GAAK,QAAQ,CAAC,aAAT,CAAuB,IAAvB;UACL,EAAE,CAAC,SAAH,GAAe;UACf,EAAE,CAAC,WAAH,GAAiB,eAAe,CAAC,MAAhB,CAAuB,GAAvB;UACjB,EAAE,CAAC,YAAH,CAAgB,YAAhB,EAA8B,GAA9B;UACA,IAAG,uBAAH;YACI,EAAE,CAAC,OAAH,GAAa,eAAA,CAAgB,GAAhB,EAAqB,EAArB,EAAyB,EAAzB,EADjB;;UAEA,EAAE,CAAC,WAAH,CAAe,EAAf,EATJ;;QAUA,KAAK,CAAC,WAAN,CAAkB,EAAlB,EA7BJ;;MA8BA,MAAM,CAAC,WAAP,CAAmB,KAAnB;MAGA,MAAM,CAAC,YAAP,CAAoB,cAApB,EAAoC,OAAO,CAAC,MAA5C;MACA,MAAM,CAAC,YAAP,CAAoB,cAApB,EAAoC,OAAO,CAAC,MAA5C;AAEA,aAAO;IAvKU;;AAyKrB;;;IAIA,CAAC,CAAC,EAAE,CAAC,KAAL,GAAa,SAAC,KAAD,EAAQ,SAAR,EAAmB,MAAnB;AACT,UAAA;;QAD4B,SAAO;;MACnC,IAAqB,uBAArB;QAAA,MAAA,GAAS,KAAT;;MACA,QAAA,GACI;QAAA,IAAA,EAAO,EAAP;QAAW,IAAA,EAAM,EAAjB;QAAqB,IAAA,EAAM,EAA3B;QACA,QAAA,EAAU,YADV;QACwB,QAAA,EAAU,YADlC;QAEA,SAAA,EAAW,SAFX;QAGA,MAAA,EAAQ,SAAA;iBAAG;QAAH,CAHR;QAIA,UAAA,EAAY,mBAAmB,CAAC,KAApB,CAAA,CAAA,CAAA,CAJZ;QAKA,cAAA,EAAgB,OALhB;QAMA,OAAA,EAAS,EANT;QAOA,iBAAA,EAAmB,EAPnB;QAQA,QAAA,EAAU,kBARV;;MAUJ,aAAA,GAAgB,CAAC,CAAC,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,OAAO,CAAC,EAAE,CAAC,aAA9B,EAA6C,OAAQ,CAAA,MAAA,CAAO,CAAC,aAA7D;MAChB,cAAA,GACI;QAAA,eAAA,EAAiB;UAAC,eAAA,aAAD;SAAjB;QACA,aAAA,EAAe,aADf;;MAGJ,IAAA,GAAO,CAAC,CAAC,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,cAAnB,EAAmC,CAAC,CAAC,MAAF,CAAS,EAAT,EAAa,QAAb,EAAuB,SAAvB,CAAnC;MAEP,MAAA,GAAS;AACT;QACI,SAAA,GAAY,IAAI,IAAI,CAAC,SAAT,CAAmB,KAAnB,EAA0B,IAA1B;AACZ;UACI,MAAA,GAAS,IAAI,CAAC,QAAL,CAAc,SAAd,EAAyB,IAAI,CAAC,eAA9B,EADb;SAAA,aAAA;UAEM;UACF,IAA0B,kDAA1B;YAAA,OAAO,CAAC,KAAR,CAAc,CAAC,CAAC,KAAhB,EAAA;;UACA,MAAA,GAAS,CAAA,CAAE,QAAF,CAAW,CAAC,IAAZ,CAAiB,IAAI,CAAC,aAAa,CAAC,WAApC,EAJb;SAFJ;OAAA,aAAA;QAOM;QACF,IAA0B,kDAA1B;UAAA,OAAO,CAAC,KAAR,CAAc,CAAC,CAAC,KAAhB,EAAA;;QACA,MAAA,GAAS,CAAA,CAAE,QAAF,CAAW,CAAC,IAAZ,CAAiB,IAAI,CAAC,aAAa,CAAC,YAApC,EATb;;MAWA,CAAA,GAAI,IAAK,CAAA,CAAA;AACkB,aAAM,CAAC,CAAC,aAAF,CAAA,CAAN;QAA3B,CAAC,CAAC,WAAF,CAAc,CAAC,CAAC,SAAhB;MAA2B;AAC3B,aAAO,IAAC,CAAA,MAAD,CAAQ,MAAR;IAlCE;;AAqCb;;;IAIA,CAAC,CAAC,EAAE,CAAC,OAAL,GAAe,SAAC,KAAD,EAAQ,SAAR,EAAmB,SAAnB,EAAsC,MAAtC;AACX,UAAA;;QAD8B,YAAY;;;QAAO,SAAO;;MACxD,IAAqB,uBAArB;QAAA,MAAA,GAAS,KAAT;;MACA,QAAA,GACI;QAAA,iBAAA,EAAmB,EAAnB;QACA,WAAA,EAAa,OAAQ,CAAA,MAAA,CAAO,CAAC,WAD7B;QAEA,SAAA,EAAW,OAAQ,CAAA,MAAA,CAAO,CAAC,SAF3B;QAGA,gBAAA,EAAkB,EAHlB;QAIA,qBAAA,EAAuB,EAJvB;QAKA,kBAAA,EAAoB,EALpB;QAMA,SAAA,EAAW,GANX;QAOA,IAAA,EAAM,EAPN;QAOU,IAAA,EAAM,EAPhB;QAOoB,IAAA,EAAM,EAP1B;QAQA,QAAA,EAAU,YARV;QAQwB,QAAA,EAAU,YARlC;QASA,SAAA,EAAW,SATX;QAUA,UAAA,EAAY,EAVZ;QAWA,UAAA,EAAY,EAXZ;QAYA,mBAAA,EAAqB,EAZrB;QAaA,mBAAA,EAAqB,KAbrB;QAcA,SAAA,EAAW,IAdX;QAeA,MAAA,EAAQ,IAfR;QAgBA,MAAA,EAAQ,SAAA;iBAAG;QAAH,CAhBR;QAiBA,OAAA,EAAS,EAjBT;;MAmBJ,aAAA,GAAgB,CAAC,CAAC,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,OAAO,CAAC,EAAE,CAAC,aAA9B,EAA6C,OAAQ,CAAA,MAAA,CAAO,CAAC,aAA7D;MAChB,cAAA,GACI;QAAA,eAAA,EAAiB;UAAC,eAAA,aAAD;SAAjB;QACA,aAAA,EAAe,aADf;;MAGJ,YAAA,GAAe,IAAC,CAAA,IAAD,CAAM,gBAAN;MACf,IAAO,sBAAJ,IAAqB,SAAxB;QACI,IAAA,GAAO,CAAC,CAAC,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,cAAnB,EAAmC,CAAC,CAAC,MAAF,CAAS,EAAT,EAAa,QAAb,EAAuB,SAAvB,CAAnC,EADX;OAAA,MAAA;QAGI,IAAA,GAAO,aAHX;;AAKA;QAGI,UAAA,GAAa;QACb,iBAAA,GAAoB;QACpB,gBAAA,GAAmB;QACnB,SAAS,CAAC,aAAV,CAAwB,KAAxB,EAA+B,IAAI,CAAC,iBAApC,EAAuD,SAAC,MAAD;AACnD,cAAA;UAAA,IAAA,CAAc,IAAI,CAAC,MAAL,CAAY,MAAZ,CAAd;AAAA,mBAAA;;UACA,iBAAiB,CAAC,IAAlB,CAAuB,MAAvB;AACA,eAAA,cAAA;;YACI,IAAO,wBAAP;cACI,UAAW,CAAA,IAAA,CAAX,GAAmB;cACnB,IAAG,gBAAA,GAAmB,CAAtB;gBACI,UAAW,CAAA,IAAA,CAAM,CAAA,MAAA,CAAjB,GAA2B,iBAD/B;eAFJ;;AADJ;AAKA,eAAA,kBAAA;YACI,KAAA,wCAAuB;;kBACN,CAAA,KAAA,IAAU;;YAC3B,UAAW,CAAA,IAAA,CAAM,CAAA,KAAA,CAAjB;AAHJ;iBAIA,gBAAA;QAZmD,CAAvD;QAeA,OAAA,GAAU,CAAA,CAAE,SAAF,EAAa;UAAA,OAAA,EAAS,OAAT;SAAb,CAA8B,CAAC,IAA/B,CAAoC,aAApC,EAAmD,CAAnD;QAGV,eAAA,GAAkB,CAAA,CAAE,MAAF,CAAS,CAAC,QAAV,CAAmB,WAAnB;QAElB,QAAA,GAAW,CAAA,CAAE,UAAF,CACP,CAAC,QADM,CACG,aADH,CAEP,CAAC,QAFM,CAEG,eAFH,CAGP,CAAC,IAHM,CAGD,QAHC,EAGS,SAAA;iBAAG,OAAA,CAAA;QAAH,CAHT;AAIX;AAAA,aAAA,QAAA;;UACI,CAAA,CAAE,UAAF,CAAa,CAAC,GAAd,CAAkB,CAAlB,CAAoB,CAAC,IAArB,CAA0B,CAA1B,CAA4B,CAAC,QAA7B,CAAsC,QAAtC;AADJ;QAKA,MAAA,GAAS,CAAA,CAAE,MAAF,CAAS,CAAC,QAAV,CAAmB,sCAAnB;QACT,eAAA;;AAAmB;eAAA,eAAA;gBAA2B,aAAS,IAAI,CAAC,gBAAd,EAAA,CAAA;2BAA3B;;AAAA;;;QACnB,kBAAA;;AAAsB;eAAA,mDAAA;;gBAAgC,aAAS,IAAI,CAAC,qBAAd,EAAA,CAAA;2BAAhC;;AAAA;;;QACtB,eAAA;;AAAmB;eAAA,mDAAA;;gBAAgC,aAAS,IAAI,CAAC,kBAAd,EAAA,CAAA;2BAAhC;;AAAA;;;QAGnB,+BAAA,GAAkC;QAClC,IAAG,IAAI,CAAC,mBAAL,KAA4B,MAA/B;UACI,6BAAA,GAAgC,IADpC;SAAA,MAAA;UAGI,6BAAA,GAAgC,QAAA,CAAS,IAAI,CAAC,mBAAd,EAHpC;;QAKA,IAAG,CAAI,KAAA,CAAM,6BAAN,CAAP;UACI,UAAA,GAAa;AACb,eAAA,mDAAA;;YAAA,UAAA,IAAc,CAAC,CAAC;AAAhB;UACA,+BAAA,GAAkC,UAAA,GAAa,8BAHnD;;QAKA,IAAG,IAAI,CAAC,mBAAL,KAA4B,IAA5B,IAAoC,+BAAvC;UACI,MAAM,CAAC,QAAP,CAAgB,aAAhB,EADJ;SAAA,MAAA;UAGI,MAAM,CAAC,QAAP,CAAgB,cAAhB,EAHJ;;cAMO,SAAC,IAAD;AACC,cAAA;UAAA,MAAA;;AAAU;iBAAA,qBAAA;2BAAA;AAAA;;;UACV,eAAA,GAAkB;UAClB,SAAA,GAAY,CAAA,CAAE,OAAF,CAAU,CAAC,QAAX,CAAoB,cAApB,CAAmC,CAAC,IAApC,CAAA;UAEZ,SAAS,CAAC,MAAV,CAAiB,CAAA,CAAE,MAAF,CAAS,CAAC,MAAV,CACb,CAAA,CAAE,QAAF,CAAW,CAAC,IAAZ,CAAiB,IAAjB,CADa,EAEb,CAAA,CAAE,QAAF,CAAW,CAAC,QAAZ,CAAqB,OAArB,CAA6B,CAAC,IAA9B,CAAmC,GAAA,GAAI,MAAM,CAAC,MAAX,GAAkB,GAArD,CAFa,CAAjB;UAIA,IAAG,MAAM,CAAC,MAAP,GAAgB,IAAI,CAAC,SAAxB;YACI,SAAS,CAAC,MAAV,CAAiB,CAAA,CAAE,KAAF,CAAQ,CAAC,IAAT,CAAc,IAAI,CAAC,aAAa,CAAC,OAAjC,CAAjB,EADJ;WAAA,MAAA;YAGI,IAAG,MAAM,CAAC,MAAP,GAAgB,CAAnB;cACI,QAAA,GAAW,CAAA,CAAE,KAAF,CAAQ,CAAC,QAAT,CAAkB,SAAlB;cACX,MAAA,GAAS,OAAA,CAAQ,IAAI,CAAC,OAAb,EAAsB,IAAtB;cACT,WAAA,GAAc,IAAI,CAAC,aAAa,CAAC;cACjC,CAAA,CAAE,SAAF,EAAa;gBAAC,IAAA,EAAM,MAAP;eAAb,CAA4B,CAAC,QAA7B,CAAsC,QAAtC,CACI,CAAC,IADL,CACU;gBAAC,WAAA,EAAa,WAAd;gBAA2B,CAAA,KAAA,CAAA,EAAO,WAAlC;eADV,CAEI,CAAC,IAFL,CAEU,OAFV,EAEmB,SAAA;AACX,oBAAA;gBAAA,MAAA,GAAS,CAAA,CAAE,IAAF,CAAO,CAAC,GAAR,CAAA,CAAa,CAAC,WAAd,CAAA,CAA2B,CAAC,IAA5B,CAAA;gBACT,UAAA,GAAa,SAAC,MAAD,EAAS,QAAT;yBAAsB,SAAC,CAAD;AAC/B,wBAAA;oBAAA,WAAA,GAAc,MAAM,CAAC,SAAP,CAAiB,MAAM,CAAC,MAAxB,CAA+B,CAAC,IAAhC,CAAA;oBACd,IAAe,WAAW,CAAC,MAAZ,KAAsB,CAArC;AAAA,6BAAO,KAAP;;AACA,kCAAO,IAAI,CAAC,IAAL,CAAU,MAAA,CAAO,CAAC,CAAC,WAAF,CAAA,CAAP,EAAwB,WAAxB,CAAV,CAAA,EAAA,aAAmD,QAAnD,EAAA,IAAA;kBAHwB;gBAAtB;gBAIb,MAAA,GACY,MAAM,CAAC,OAAP,CAAe,IAAf,CAAA,KAAwB,CAAhC,GAAuC,UAAA,CAAW,IAAX,EAAiB,CAAC,CAAD,EAAG,CAAH,CAAjB,CAAvC,GACQ,MAAM,CAAC,OAAP,CAAe,IAAf,CAAA,KAAwB,CAA3B,GAAkC,UAAA,CAAW,IAAX,EAAiB,CAAC,CAAC,CAAF,EAAI,CAAJ,CAAjB,CAAlC,GACG,MAAM,CAAC,OAAP,CAAe,GAAf,CAAA,KAAuB,CAA1B,GAAkC,UAAA,CAAW,GAAX,EAAiB,CAAC,CAAD,CAAjB,CAAlC,GACG,MAAM,CAAC,OAAP,CAAe,GAAf,CAAA,KAAuB,CAA1B,GAAkC,UAAA,CAAW,GAAX,EAAiB,CAAC,CAAC,CAAF,CAAjB,CAAlC,GACG,MAAM,CAAC,OAAP,CAAe,GAAf,CAAA,KAAuB,CAA1B,GAAkC,SAAC,CAAD;kBAC/B,IAAe,MAAM,CAAC,SAAP,CAAiB,CAAjB,CAAmB,CAAC,IAApB,CAAA,CAA0B,CAAC,MAA3B,KAAqC,CAApD;AAAA,2BAAO,KAAP;;yBACA,CAAC,CAAC,WAAF,CAAA,CAAe,CAAC,KAAhB,CAAsB,MAAM,CAAC,SAAP,CAAiB,CAAjB,CAAtB;gBAF+B,CAAlC,GAGA,SAAC,CAAD;yBAAO,CAAC,CAAC,WAAF,CAAA,CAAe,CAAC,OAAhB,CAAwB,MAAxB,CAAA,KAAmC,CAAC;gBAA3C;uBAET,SAAS,CAAC,IAAV,CAAe,uCAAf,CAAuD,CAAC,IAAxD,CAA6D,SAAA;kBACzD,IAAG,MAAA,CAAO,CAAA,CAAE,IAAF,CAAO,CAAC,IAAR,CAAA,CAAP,CAAH;2BACI,CAAA,CAAE,IAAF,CAAO,CAAC,MAAR,CAAA,CAAgB,CAAC,MAAjB,CAAA,CAAyB,CAAC,IAA1B,CAAA,EADJ;mBAAA,MAAA;2BAGI,CAAA,CAAE,IAAF,CAAO,CAAC,MAAR,CAAA,CAAgB,CAAC,MAAjB,CAAA,CAAyB,CAAC,IAA1B,CAAA,EAHJ;;gBADyD,CAA7D;cAhBW,CAFnB;cAuBA,QAAQ,CAAC,MAAT,CAAgB,CAAA,CAAE,MAAF,CAAhB;cACA,CAAA,CAAE,UAAF,EAAc;gBAAC,IAAA,EAAK,QAAN;eAAd,CAA8B,CAAC,QAA/B,CAAwC,QAAxC,CACI,CAAC,IADL,CACU,IAAI,CAAC,aAAa,CAAC,SAD7B,CAEI,CAAC,IAFL,CAEU,OAFV,EAEmB,SAAA;gBACX,SAAS,CAAC,IAAV,CAAe,6BAAf,CACI,CAAC,IADL,CACU,SADV,EACqB,IADrB,CAC0B,CAAC,WAD3B,CACuC,SADvC;AAEA,uBAAO;cAHI,CAFnB;cAMA,CAAA,CAAE,UAAF,EAAc;gBAAC,IAAA,EAAK,QAAN;eAAd,CAA8B,CAAC,QAA/B,CAAwC,QAAxC,CACI,CAAC,IADL,CACU,IAAI,CAAC,aAAa,CAAC,UAD7B,CAEI,CAAC,IAFL,CAEU,OAFV,EAEmB,SAAA;gBACX,SAAS,CAAC,IAAV,CAAe,uBAAf,CACI,CAAC,IADL,CACU,SADV,EACqB,KADrB,CAC2B,CAAC,WAD5B,CACwC,SADxC;AAEA,uBAAO;cAHI,CAFnB,EAlCJ;;YAyCA,cAAA,GAAiB,CAAA,CAAE,OAAF,CAAU,CAAC,QAAX,CAAoB,mBAApB,CAAwC,CAAC,QAAzC,CAAkD,SAAlD;AAEjB;AAAA,iBAAA,wCAAA;;cACK,UAAA,GAAa,UAAW,CAAA,IAAA,CAAM,CAAA,KAAA;cAC9B,UAAA,GAAa,CAAA,CAAE,SAAF;cACb,kBAAA,GAAqB;cACrB,IAAG,IAAI,CAAC,UAAW,CAAA,IAAA,CAAnB;gBACG,kBAAA,GAAqB,CAAC,aAAa,IAAI,CAAC,UAAW,CAAA,IAAA,CAA7B,EAAA,KAAA,KAAD,EADxB;eAAA,MAEK,IAAG,IAAI,CAAC,UAAW,CAAA,IAAA,CAAnB;gBACF,kBAAA,GAAqB,CAAC,aAAS,IAAI,CAAC,UAAW,CAAA,IAAA,CAAzB,EAAA,KAAA,MAAD,EADnB;;cAEL,oBAAA,kBAAoB;cACpB,CAAA,CAAE,SAAF,CACG,CAAC,IADJ,CACS,MADT,EACiB,UADjB,CAC4B,CAAC,QAD7B,CACsC,WADtC,CAEG,CAAC,IAFJ,CAES,SAFT,EAEoB,CAAC,kBAFrB,CAEwC,CAAC,IAFzC,CAE8C,QAF9C,EAEwD,CAAC,IAAD,EAAM,KAAN,CAFxD,CAGG,CAAC,QAHJ,CAGa,UAHb,CAIG,CAAC,IAJJ,CAIS,QAJT,EAImB,SAAA;uBAAG,CAAA,CAAE,IAAF,CAAO,CAAC,WAAR,CAAoB,SAApB;cAAH,CAJnB;cAKA,UAAU,CAAC,MAAX,CAAkB,CAAA,CAAE,QAAF,CAAW,CAAC,QAAZ,CAAqB,OAArB,CAA6B,CAAC,IAA9B,CAAmC,KAAnC,CAAlB;cACA,UAAU,CAAC,MAAX,CAAkB,CAAA,CAAE,QAAF,CAAW,CAAC,QAAZ,CAAqB,OAArB,CAA6B,CAAC,IAA9B,CAAmC,GAAA,GAAI,UAAJ,GAAe,GAAlD,CAAlB;cACA,cAAc,CAAC,MAAf,CAAsB,CAAA,CAAE,KAAF,CAAQ,CAAC,MAAT,CAAgB,UAAhB,CAAtB;AAhBL,aA9CJ;;UAgEA,cAAA,GAAiB,SAAA;YACb,IAAG,SAAS,CAAC,IAAV,CAAe,mBAAf,CAAmC,CAAC,MAApC,GACI,SAAS,CAAC,IAAV,CAAe,2BAAf,CAA2C,CAAC,MADnD;cAEQ,QAAQ,CAAC,QAAT,CAAkB,sBAAlB,EAFR;aAAA,MAAA;cAIQ,QAAQ,CAAC,WAAT,CAAqB,sBAArB,EAJR;;YAMI,SAAS,CAAC,IAAV,CAAe,YAAf,CAA4B,CAAC,GAA7B,CAAiC,EAAjC;YACA,SAAS,CAAC,IAAV,CAAe,sBAAf,CAAsC,CAAC,IAAvC,CAAA;mBACA,SAAS,CAAC,IAAV,CAAA;UATS;UAWjB,YAAA,GAAe,CAAA,CAAE,KAAF,CAAQ,CAAC,QAAT,CAAkB,SAAlB;UAEf,IAAG,MAAM,CAAC,MAAP,IAAiB,IAAI,CAAC,SAAzB;YACI,CAAA,CAAE,UAAF,EAAc;cAAC,IAAA,EAAM,QAAP;aAAd,CAA+B,CAAC,IAAhC,CAAqC,IAAI,CAAC,aAAa,CAAC,KAAxD,CACI,CAAC,QADL,CACc,YADd,CAC2B,CAAC,IAD5B,CACiC,OADjC,EAC0C,SAAA;cAClC,IAAG,SAAS,CAAC,IAAV,CAAe,UAAf,CAA0B,CAAC,WAA3B,CAAuC,SAAvC,CAAiD,CAAC,MAArD;gBACI,OAAA,CAAA,EADJ;;qBAEA,cAAA,CAAA;YAHkC,CAD1C,EADJ;;UAOA,CAAA,CAAE,UAAF,EAAc;YAAC,IAAA,EAAM,QAAP;WAAd,CAA+B,CAAC,IAAhC,CAAqC,IAAI,CAAC,aAAa,CAAC,MAAxD,CACI,CAAC,QADL,CACc,YADd,CAC2B,CAAC,IAD5B,CACiC,OADjC,EAC0C,SAAA;YAClC,SAAS,CAAC,IAAV,CAAe,kBAAf,CACI,CAAC,WADL,CACiB,SADjB,CAC2B,CAAC,IAD5B,CACiC,SADjC,EAC4C,KAD5C;YAEA,SAAS,CAAC,IAAV,CAAe,wBAAf,CACI,CAAC,WADL,CACiB,SADjB,CAC2B,CAAC,IAD5B,CACiC,SADjC,EAC4C,IAD5C;mBAEA,cAAA,CAAA;UALkC,CAD1C;UAQA,YAAA,GAAe,CAAA,CAAE,QAAF,CAAW,CAAC,QAAZ,CAAqB,aAArB,CACX,CAAC,IADU,CACL,WADK,CACO,CAAC,IADR,CACa,OADb,EACsB,SAAC,CAAD;AAC7B,gBAAA;YAAA,OAAc,CAAA,CAAE,CAAC,CAAC,aAAJ,CAAkB,CAAC,QAAnB,CAAA,CAAd,EAAC,gBAAD,EAAO;mBACP,SAAS,CAAC,GAAV,CAAc;cAAA,IAAA,EAAM,IAAA,GAAK,EAAX;cAAe,GAAA,EAAK,GAAA,GAAI,EAAxB;aAAd,CAAyC,CAAC,IAA1C,CAAA;UAF6B,CADtB;UAKf,QAAA,GAAW,CAAA,CAAE,MAAF,CAAS,CAAC,QAAV,CAAmB,OAAA,GAAQ,CAA3B,CACP,CAAC,MADM,CACC,CAAA,CAAE,QAAF,CAAW,CAAC,QAAZ,CAAqB,SAArB,CAA+B,CAAC,IAAhC,CAAqC,IAArC,CAA0C,CAAC,IAA3C,CAAgD,UAAhD,EAA4D,IAA5D,CAAiE,CAAC,MAAlE,CAAyE,YAAzE,CADD;UAGX,IAA6C,eAA7C;YAAA,QAAQ,CAAC,QAAT,CAAkB,sBAAlB,EAAA;;iBACA,MAAM,CAAC,MAAP,CAAc,QAAd,CAAuB,CAAC,MAAxB,CAA+B,SAA/B;QA9GD;AADP,aAAA,oBAAA;;;cACQ;AADR;QAiHA,GAAA,GAAM,CAAA,CAAE,MAAF,CAAS,CAAC,QAAV,CAAmB,OAAnB;QAIN,UAAA,GAAa,CAAA,CAAE,UAAF,CAAa,CAAC,QAAd,CAAuB,eAAvB,CACT,CAAC,IADQ,CACH,QADG,EACO,SAAA;iBAAG,OAAA,CAAA;QAAH,CADP;AAEb;AAAA,aAAA,SAAA;;UACI,UAAU,CAAC,MAAX,CAAkB,CAAA,CAAE,UAAF,CAAa,CAAC,GAAd,CAAkB,CAAlB,CAAoB,CAAC,IAArB,CAA0B,CAA1B,CAAlB;AADJ;QAGA,QAAA,GACI;UAAA,UAAA,EAAc;YAAC,SAAA,EAAW,QAAZ;YAAsB,SAAA,EAAW,QAAjC;YAA2C,IAAA,EAAM,cAAjD;WAAd;UACA,YAAA,EAAc;YAAC,SAAA,EAAW,QAAZ;YAAsB,SAAA,EAAW,QAAjC;YAA2C,IAAA,EAAM,cAAjD;WADd;UAEA,YAAA,EAAc;YAAC,SAAA,EAAW,QAAZ;YAAsB,SAAA,EAAW,QAAjC;YAA2C,IAAA,EAAM,YAAjD;WAFd;;QAIJ,aAAA,GAAgB,CAAA,CAAE,KAAF,EAAS;UAAA,IAAA,EAAM,QAAN;SAAT,CAAwB,CAAC,QAAzB,CAAkC,aAAlC,CACZ,CAAC,IADW,CACN,OADM,EACG,IAAI,CAAC,QADR,CACiB,CAAC,IADlB,CACuB,QAAS,CAAA,IAAI,CAAC,QAAL,CAAc,CAAC,SAD/C,CAEZ,CAAC,IAFW,CAEN,OAFM,EAEG,SAAA;UACX,CAAA,CAAE,IAAF,CAAO,CAAC,IAAR,CAAa,OAAb,EAAsB,QAAS,CAAA,CAAA,CAAE,IAAF,CAAO,CAAC,IAAR,CAAa,OAAb,CAAA,CAAsB,CAAC,IAAtD;UACA,CAAA,CAAE,IAAF,CAAO,CAAC,IAAR,CAAa,QAAS,CAAA,CAAA,CAAE,IAAF,CAAO,CAAC,IAAR,CAAa,OAAb,CAAA,CAAsB,CAAC,SAA7C;iBACA,OAAA,CAAA;QAHW,CAFH;QAOhB,aAAA,GAAgB,CAAA,CAAE,KAAF,EAAS;UAAA,IAAA,EAAM,QAAN;SAAT,CAAwB,CAAC,QAAzB,CAAkC,aAAlC,CACZ,CAAC,IADW,CACN,OADM,EACG,IAAI,CAAC,QADR,CACiB,CAAC,IADlB,CACuB,QAAS,CAAA,IAAI,CAAC,QAAL,CAAc,CAAC,SAD/C,CAEZ,CAAC,IAFW,CAEN,OAFM,EAEG,SAAA;UACX,CAAA,CAAE,IAAF,CAAO,CAAC,IAAR,CAAa,OAAb,EAAsB,QAAS,CAAA,CAAA,CAAE,IAAF,CAAO,CAAC,IAAR,CAAa,OAAb,CAAA,CAAsB,CAAC,IAAtD;UACA,CAAA,CAAE,IAAF,CAAO,CAAC,IAAR,CAAa,QAAS,CAAA,CAAA,CAAE,IAAF,CAAO,CAAC,IAAR,CAAa,OAAb,CAAA,CAAsB,CAAC,SAA7C;iBACA,OAAA,CAAA;QAHW,CAFH;QAOhB,CAAA,CAAE,MAAF,CAAS,CAAC,QAAV,CAAmB,mBAAnB,CACE,CAAC,QADH,CACY,GADZ,CAEE,CAAC,MAFH,CAEU,UAFV,CAGE,CAAC,MAHH,CAGU,aAHV,CAIE,CAAC,MAJH,CAIU,aAJV,CAKE,CAAC,MALH,CAKU,CAAA,CAAE,MAAF,CALV;QAQA,CAAA,CAAE,MAAF,CAAS,CAAC,QAAV,CAAmB,iDAAnB,CAAqE,CAAC,QAAtE,CAA+E,GAA/E;QAEA,GAAA,GAAM,CAAA,CAAE,MAAF,CAAS,CAAC,QAAV,CAAmB,OAAnB;QAGN,GAAG,CAAC,MAAJ,CAAW,CAAA,CAAE,MAAF,CAAS,CAAC,QAAV,CAAmB,oCAAnB,CAAwD,CAAC,IAAzD,CAA8D,QAA9D,EAAwE,KAAxE,CAAX;QAGA,UAAA,GAAa,CAAA,CAAE,MAAF,CACT,CAAC,IADQ,CACH,QADG,EACO,KADP,CAET,CAAC,QAFQ,CAEC,iBAFD,CAGT,CAAC,QAHQ,CAGC,GAHD;QAMb,IAAG,IAAI,CAAC,mBAAL,KAA4B,IAA5B,IAAoC,+BAAvC;UACI,OAAO,CAAC,IAAR,CAAa,iBAAb,CAA+B,CAAC,OAAhC,CAAwC,eAAxC;UACA,OAAO,CAAC,IAAR,CAAa,iBAAb,CAA+B,CAAC,OAAhC,CAAwC,MAAxC,EAFJ;SAAA,MAAA;UAII,OAAO,CAAC,OAAR,CAAgB,CAAA,CAAE,MAAF,CAAS,CAAC,MAAV,CAAiB,eAAjB,CAAiC,CAAC,MAAlC,CAAyC,MAAzC,CAAhB,EAJJ;;QAOA,IAAC,CAAA,IAAD,CAAM,OAAN;AAIA;AAAA,aAAA,wCAAA;;UACI,IAAC,CAAA,IAAD,CAAM,UAAN,CAAiB,CAAC,MAAlB,CAAyB,IAAC,CAAA,IAAD,CAAM,QAAA,GAAQ,CAAC,CAAC,CAAC,OAAF,CAAU,CAAV,EAAa,eAAb,CAAD,CAAd,CAAzB;AADJ;AAEA;AAAA,aAAA,wCAAA;;UACI,IAAC,CAAA,IAAD,CAAM,UAAN,CAAiB,CAAC,MAAlB,CAAyB,IAAC,CAAA,IAAD,CAAM,QAAA,GAAQ,CAAC,CAAC,CAAC,OAAF,CAAU,CAAV,EAAa,eAAb,CAAD,CAAd,CAAzB;AADJ;QAEA,IAAG,2BAAH;UACI,IAAC,CAAA,IAAD,CAAM,gBAAN,CAAuB,CAAC,GAAxB,CAA4B,IAAI,CAAC,cAAjC,EADJ;;QAEA,IAAG,yBAAH;UACI,IAAC,CAAA,IAAD,CAAM,cAAN,CAAqB,CAAC,GAAtB,CAA0B,IAAI,CAAC,YAA/B,EADJ;;QAGA,IAAA,CAAkC,IAAI,CAAC,MAAvC;UAAA,IAAC,CAAA,IAAD,CAAM,YAAN,CAAmB,CAAC,IAApB,CAAA,EAAA;;QAEA,aAAA,GAAgB;QAGhB,cAAA,GAAiB,CAAA,SAAA,KAAA;iBAAA,SAAA;AACb,gBAAA;YAAA,OAAA,GACI;cAAA,iBAAA,EAAmB,IAAI,CAAC,iBAAxB;cACA,aAAA,EAAe,IAAI,CAAC,aADpB;cAEA,eAAA,EAAiB,IAAI,CAAC,eAFtB;cAGA,OAAA,EAAS,IAAI,CAAC,OAHd;cAIA,IAAA,EAAM,EAJN;cAIU,IAAA,EAAM,EAJhB;cAKA,SAAA,EAAW,IAAI,CAAC,SALhB;;YAOJ,kBAAA,gFAA0E;YAC1E,IAAA,GAAO;YACP,KAAC,CAAA,IAAD,CAAM,0BAAN,CAAiC,CAAC,IAAlC,CAAuC,SAAA;qBAAG,OAAO,CAAC,IAAI,CAAC,IAAb,CAAkB,CAAA,CAAE,IAAF,CAAO,CAAC,IAAR,CAAa,UAAb,CAAlB;YAAH,CAAvC;YACA,KAAC,CAAA,IAAD,CAAM,0BAAN,CAAiC,CAAC,IAAlC,CAAuC,SAAA;qBAAG,OAAO,CAAC,IAAI,CAAC,IAAb,CAAkB,CAAA,CAAE,IAAF,CAAO,CAAC,IAAR,CAAa,UAAb,CAAlB;YAAH,CAAvC;YACA,KAAC,CAAA,IAAD,CAAM,iCAAN,CAAwC,CAAC,IAAzC,CAA8C,SAAA;cAC1C,IAAG,kBAAA,KAAsB,CAAzB;uBACI,CAAA,CAAE,IAAF,CAAO,CAAC,MAAR,CAAA,EADJ;eAAA,MAAA;gBAGI,kBAAA;gBACA,IAA2B,CAAA,CAAE,IAAF,CAAO,CAAC,GAAR,CAAA,CAAA,KAAiB,EAA5C;yBAAA,IAAI,CAAC,IAAL,CAAU,CAAA,CAAE,IAAF,CAAO,CAAC,GAAR,CAAA,CAAV,EAAA;iBAJJ;;YAD0C,CAA9C;YAOA,IAAG,kBAAA,KAAsB,CAAzB;cACI,OAAA,GAAU,KAAC,CAAA,IAAD,CAAM,UAAN;AACV,mBAAS,gGAAT;gBACI,WAAA,GAAc,CAAA,CAAE,UAAF,CACV,CAAC,QADS,CACA,iBADA,CAEV,CAAC,MAFS,CAEF,CAAA,CAAE,UAAF,CAFE,CAGV,CAAC,IAHS,CAGJ,QAHI,EAGM,SAAA;yBAAG,OAAA,CAAA;gBAAH,CAHN;AAId,qBAAA,sDAAA;;kBACI,WAAW,CAAC,MAAZ,CAAmB,CAAA,CAAE,UAAF,CAAa,CAAC,GAAd,CAAkB,IAAlB,CAAuB,CAAC,IAAxB,CAA6B,IAA7B,CAAnB;AADJ;gBAEA,OAAO,CAAC,MAAR,CAAe,WAAf;AAPJ,eAFJ;;YAWA,IAAG,aAAH;cACI,IAAA,GAAO,IAAI,CAAC;cACZ,CAAA,GAAI;cACJ,KAAC,CAAA,IAAD,CAAM,iCAAN,CAAwC,CAAC,IAAzC,CAA8C,SAAA;gBAC1C,CAAA,CAAE,IAAF,CAAO,CAAC,GAAR,CAAY,IAAK,CAAA,CAAA,CAAjB;uBACA,CAAA;cAF0C,CAA9C;cAGA,aAAA,GAAgB,MANpB;;YAQA,OAAO,CAAC,cAAR,GAAyB,UAAU,CAAC,GAAX,CAAA;YACzB,OAAO,CAAC,IAAR,GAAe;YACf,OAAO,CAAC,UAAR,GAAqB,IAAI,CAAC,WAAY,CAAA,UAAU,CAAC,GAAX,CAAA,CAAA,CAAjB,CAAmC,IAAnC;YACrB,OAAO,CAAC,QAAR,GAAmB,IAAI,CAAC,SAAU,CAAA,QAAQ,CAAC,GAAT,CAAA,CAAA;YAClC,OAAO,CAAC,QAAR,GAAmB,aAAa,CAAC,IAAd,CAAmB,OAAnB;YACnB,OAAO,CAAC,QAAR,GAAmB,aAAa,CAAC,IAAd,CAAmB,OAAnB;YAEnB,UAAA,GAAa;YACb,KAAC,CAAA,IAAD,CAAM,iBAAN,CAAwB,CAAC,GAAzB,CAA6B,UAA7B,CAAwC,CAAC,IAAzC,CAA8C,SAAA;AAC1C,kBAAA;cAAA,MAAA,GAAS,CAAA,CAAE,IAAF,CAAO,CAAC,IAAR,CAAa,QAAb;cACT,IAAG,6BAAH;uBACI,UAAW,CAAA,MAAO,CAAA,CAAA,CAAP,CAAU,CAAC,IAAtB,CAA4B,MAAO,CAAA,CAAA,CAAnC,EADJ;eAAA,MAAA;uBAGI,UAAW,CAAA,MAAO,CAAA,CAAA,CAAP,CAAX,GAAwB,CAAE,MAAO,CAAA,CAAA,CAAT,EAH5B;;YAF0C,CAA9C;YAOA,UAAA,GAAa;YACb,KAAC,CAAA,IAAD,CAAM,yBAAN,CAAgC,CAAC,IAAjC,CAAsC,SAAA;AAClC,kBAAA;cAAA,MAAA,GAAS,CAAA,CAAE,IAAF,CAAO,CAAC,IAAR,CAAa,QAAb;cACT,IAAG,6BAAH;gBACI,IAAG,6BAAH;yBACI,UAAW,CAAA,MAAO,CAAA,CAAA,CAAP,CAAU,CAAC,IAAtB,CAA4B,MAAO,CAAA,CAAA,CAAnC,EADJ;iBAAA,MAAA;yBAGI,UAAW,CAAA,MAAO,CAAA,CAAA,CAAP,CAAX,GAAwB,CAAE,MAAO,CAAA,CAAA,CAAT,EAH5B;iBADJ;;YAFkC,CAAtC;YAQA,OAAO,CAAC,MAAR,GAAiB,SAAC,MAAD;AACb,kBAAA;cAAA,IAAgB,CAAI,IAAI,CAAC,MAAL,CAAY,MAAZ,CAApB;AAAA,uBAAO,MAAP;;AACA,mBAAA,eAAA;;gBACI,WAAgB,EAAA,GAAG,qCAAa,MAAb,CAAH,EAAA,aAA2B,aAA3B,EAAA,IAAA,MAAhB;AAAA,yBAAO,MAAP;;AADJ;AAEA,qBAAO;YAJM;YAMjB,UAAU,CAAC,KAAX,CAAiB,iBAAjB,EAAmC,OAAnC;YACA,cAAA,GAAiB,CAAC,CAAC,MAAF,CAAS,EAAT,EAAa,IAAb,EACb;cAAA,IAAA,EAAM,OAAO,CAAC,IAAd;cACA,IAAA,EAAM,OAAO,CAAC,IADd;cAEA,QAAA,EAAU,OAAO,CAAC,QAFlB;cAGA,QAAA,EAAU,OAAO,CAAC,QAHlB;cAIA,IAAA,EAAM,IAJN;cAKA,UAAA,EAAY,UALZ;cAMA,UAAA,EAAY,UANZ;cAOA,cAAA,EAAgB,UAPhB;cAQA,cAAA,EAAgB,UAAU,CAAC,GAAX,CAAA,CARhB;cASA,YAAA,EAAc,QAAQ,CAAC,GAAT,CAAA,CATd;aADa;YAYjB,KAAC,CAAA,IAAD,CAAM,gBAAN,EAAwB,cAAxB;YAGA,IAAG,IAAI,CAAC,mBAAR;cACI,oBAAA,GAAuB,KAAC,CAAA,IAAD,CAAM,+BAAN;cACvB,CAAA,CAAE,oBAAF,CAAuB,CAAC,QAAxB,CAAiC,IAAjC,CACI,CAAC,IADL,CACU,SAAC,CAAD,EAAI,CAAJ;uBAAU,WAAA,CAAY,CAAA,CAAE,CAAF,CAAI,CAAC,IAAL,CAAA,CAAZ,EAAyB,CAAA,CAAE,CAAF,CAAI,CAAC,IAAL,CAAA,CAAzB;cAAV,CADV,CAEI,CAAC,QAFL,CAEc,oBAFd,EAFJ;;YAMA,UAAU,CAAC,GAAX,CAAe,SAAf,EAA0B,CAA1B;YACA,IAAkC,sBAAlC;qBAAA,IAAI,CAAC,SAAL,CAAe,cAAf,EAAA;;UA5Fa;QAAA,CAAA,CAAA,CAAA,IAAA;QA8FjB,OAAA,GAAU,CAAA,SAAA,KAAA;iBAAA,SAAA;YACN,UAAU,CAAC,GAAX,CAAe,SAAf,EAA0B,GAA1B;mBACA,UAAA,CAAW,cAAX,EAA2B,EAA3B;UAFM;QAAA,CAAA,CAAA,CAAA,IAAA;QAKV,OAAA,CAAA;QAEA,IAAC,CAAA,IAAD,CAAM,mBAAN,CAA0B,CAAC,QAA3B,CACQ;UAAA,MAAA,EAAQ,SAAC,CAAD,EAAI,EAAJ;YAAW,IAAiB,iBAAjB;qBAAA,OAAA,CAAA,EAAA;;UAAX,CAAR;UACA,WAAA,EAAa,IAAC,CAAA,IAAD,CAAM,mBAAN,CADb;UAEA,KAAA,EAAO,IAFP;UAGA,WAAA,EAAa,gBAHb;SADR,EA1VJ;OAAA,aAAA;QA+VM;QACF,IAA0B,kDAA1B;UAAA,OAAO,CAAC,KAAR,CAAc,CAAC,CAAC,KAAhB,EAAA;;QACA,IAAC,CAAA,IAAD,CAAM,IAAI,CAAC,aAAa,CAAC,aAAzB,EAjWJ;;AAkWA,aAAO;IAnYI;;AAqYf;;;IAIA,CAAC,CAAC,EAAE,CAAC,OAAL,GAAe,SAAC,KAAD,EAAoB,IAApB;AACX,UAAA;;QADY,QAAQ;;MACpB,OAAA,GAAU,IAAC,CAAA,IAAD,CAAM,SAAN;MACV,OAAA,GAAU,IAAC,CAAA,IAAD,CAAM,SAAN;MAIV,mBAAA,oDAAmC,CAAE;;QACrC,sBAAuB,SAAC,MAAD;AACnB,cAAA;UAAA,GAAA,GAAM,IAAI,CAAC,GAAL,aAAS,MAAT;UACN,GAAA,GAAM,IAAI,CAAC,GAAL,aAAS,MAAT;AACN,iBAAO,SAAC,CAAD;AACH,gBAAA;YAAA,MAAA,GAAS,GAAA,GAAM,IAAI,CAAC,KAAL,CAAW,GAAA,GAAI,CAAC,CAAA,GAAE,GAAH,CAAJ,GAAY,CAAC,GAAA,GAAI,GAAL,CAAvB;AACf,mBAAO,UAAA,GAAW,MAAX,GAAkB,GAAlB,GAAqB,MAArB,GAA4B;UAFhC;QAHY;;MAOvB,UAAA,GAAa,CAAA,SAAA,KAAA;eAAA,SAAC,KAAD;AACT,cAAA;UAAA,WAAA,GAAc,SAAC,CAAD;mBACV,KAAC,CAAA,IAAD,CAAM,KAAN,CAAY,CAAC,IAAb,CAAkB,SAAA;AACd,kBAAA;cAAA,CAAA,GAAI,CAAA,CAAE,IAAF,CAAO,CAAC,IAAR,CAAa,OAAb;cACJ,IAAiB,WAAA,IAAO,QAAA,CAAS,CAAT,CAAxB;uBAAA,CAAA,CAAE,CAAF,EAAK,CAAA,CAAE,IAAF,CAAL,EAAA;;YAFc,CAAlB;UADU;UAKd,MAAA,GAAS;UACT,WAAA,CAAY,SAAC,CAAD;mBAAO,MAAM,CAAC,IAAP,CAAY,CAAZ;UAAP,CAAZ;UACA,UAAA,GAAa,mBAAA,CAAoB,MAApB;iBACb,WAAA,CAAY,SAAC,CAAD,EAAI,IAAJ;mBAAa,IAAI,CAAC,GAAL,CAAS,kBAAT,EAA6B,UAAA,CAAW,CAAX,CAA7B;UAAb,CAAZ;QATS;MAAA,CAAA,CAAA,CAAA,IAAA;AAWb,cAAO,KAAP;AAAA,aACS,SADT;UAC2B,UAAA,CAAW,SAAX;AAAlB;AADT,aAES,YAFT;AAE2B,eAAsC,qFAAtC;YAAA,UAAA,CAAW,aAAA,GAAc,CAAzB;AAAA;AAAlB;AAFT,aAGS,YAHT;AAG2B,eAAsC,qFAAtC;YAAA,UAAA,CAAW,aAAA,GAAc,CAAzB;AAAA;AAH3B;MAKA,UAAA,CAAW,oBAAX;MACA,UAAA,CAAW,oBAAX;AAEA,aAAO;IAjCI;;AAmCf;;;WAIA,CAAC,CAAC,EAAE,CAAC,QAAL,GAAgB,SAAC,IAAD;AACZ,UAAA;MAAA,OAAA,GAAU,IAAC,CAAA,IAAD,CAAM,SAAN;MACV,OAAA,GAAU,IAAC,CAAA,IAAD,CAAM,SAAN;MAEV,UAAA,GAAa,CAAA,SAAA,KAAA;eAAA,SAAC,KAAD;AACT,cAAA;UAAA,WAAA,GAAc,SAAC,CAAD;mBACV,KAAC,CAAA,IAAD,CAAM,KAAN,CAAY,CAAC,IAAb,CAAkB,SAAA;AACd,kBAAA;cAAA,CAAA,GAAI,CAAA,CAAE,IAAF,CAAO,CAAC,IAAR,CAAa,OAAb;cACJ,IAAiB,WAAA,IAAO,QAAA,CAAS,CAAT,CAAxB;uBAAA,CAAA,CAAE,CAAF,EAAK,CAAA,CAAE,IAAF,CAAL,EAAA;;YAFc,CAAlB;UADU;UAKd,MAAA,GAAS;UACT,WAAA,CAAY,SAAC,CAAD;mBAAO,MAAM,CAAC,IAAP,CAAY,CAAZ;UAAP,CAAZ;UACA,GAAA,GAAM,IAAI,CAAC,GAAL,aAAS,MAAT;UACN,IAAG,GAAA,GAAM,CAAT;YACI,GAAA,GAAM,EADV;;UAEA,KAAA,GAAQ;UACR,GAAA,GAAM,IAAI,CAAC,GAAL,aAAS,MAAT;UACN,IAAG,GAAA,GAAM,CAAT;YACI,KAAA,GAAQ,GAAA,GAAM,IADlB;;UAEA,MAAA,GAAS,SAAC,CAAD;mBAAO,GAAA,GAAI,CAAJ,GAAM,CAAC,GAAA,GAAI,KAAL;UAAb;iBACT,WAAA,CAAY,SAAC,CAAD,EAAI,IAAJ;AACR,gBAAA;YAAA,IAAA,GAAO,IAAI,CAAC,IAAL,CAAA;YACP,OAAA,GAAU,CAAA,CAAE,OAAF,CAAU,CAAC,GAAX,CACN;cAAA,UAAA,EAAY,UAAZ;cACA,QAAA,EAAU,MADV;aADM;YAGV,OAAA,GAAU;YACV,KAAA,GAAQ;YACR,IAAG,GAAA,GAAM,CAAT;cACI,KAAA,GAAQ,MAAA,CAAO,CAAC,GAAR,EADZ;;YAEA,IAAG,CAAA,GAAI,CAAP;cACI,KAAA,IAAS,MAAA,CAAO,CAAP;cACT,OAAA,GAAU;cACV,CAAA,GAAI,CAAC,EAHT;;YAIA,OAAO,CAAC,MAAR,CAAe,CAAA,CAAE,OAAF,CAAU,CAAC,GAAX,CACX;cAAA,UAAA,EAAY,UAAZ;cACA,QAAA,EAAU,KAAA,GAAQ,GADlB;cAEA,MAAA,EAAQ,CAFR;cAGA,OAAA,EAAS,CAHT;cAIA,QAAA,EAAU,MAAA,CAAO,CAAP,CAAA,GAAY,GAJtB;cAKA,kBAAA,EAAoB,OALpB;aADW,CAAf;YAOA,OAAO,CAAC,MAAR,CAAe,CAAA,CAAE,OAAF,CAAU,CAAC,IAAX,CAAgB,IAAhB,CAAqB,CAAC,GAAtB,CACX;cAAA,UAAA,EAAW,UAAX;cACA,cAAA,EAAe,KADf;cAEA,eAAA,EAAgB,KAFhB;aADW,CAAf;mBAKA,IAAI,CAAC,GAAL,CAAS;cAAA,SAAA,EAAW,CAAX;cAAa,aAAA,EAAe,KAA5B;cAAmC,YAAA,EAAc,QAAjD;aAAT,CAAmE,CAAC,IAApE,CAAyE,OAAzE;UAzBQ,CAAZ;QAhBS;MAAA,CAAA,CAAA,CAAA,IAAA;AA2Cb,WAAsC,gFAAtC;QAAA,UAAA,CAAW,aAAA,GAAc,CAAzB;AAAA;MACA,UAAA,CAAW,oBAAX;AAEA,aAAO;IAlDK;EAxjCL,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 ###\n Utilities\n ###\n\n addSeparators = (nStr, thousandsSep, decimalSep) ->\n nStr += ''\n x = nStr.split('.')\n x1 = x[0]\n x2 = if x.length > 1 then decimalSep + x[1] else ''\n rgx = /(\\d+)(\\d{3})/\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2') while rgx.test(x1)\n return x1 + x2\n\n numberFormat = (opts) ->\n defaults =\n digitsAfterDecimal: 2, scaler: 1,\n thousandsSep: \",\", decimalSep: \".\"\n prefix: \"\", suffix: \"\"\n opts = $.extend({}, defaults, opts)\n (x) ->\n return \"\" if isNaN(x) or not isFinite(x)\n result = addSeparators (opts.scaler*x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep\n return \"\"+opts.prefix+result+opts.suffix\n\n #aggregator templates default to US number formatting but this is overrideable\n usFmt = numberFormat()\n usFmtInt = numberFormat(digitsAfterDecimal: 0)\n usFmtPct = numberFormat(digitsAfterDecimal:1, scaler: 100, suffix: \"%\")\n\n aggregatorTemplates =\n count: (formatter=usFmtInt) -> () -> (data, rowKey, colKey) ->\n count: 0\n push: -> @count++\n value: -> @count\n format: formatter\n\n uniques: (fn, formatter=usFmtInt) -> ([attr]) -> (data, rowKey, colKey) ->\n uniq: []\n push: (record) -> @uniq.push(record[attr]) if record[attr] not in @uniq\n value: -> fn(@uniq)\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sum: (formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n sum: 0\n push: (record) -> @sum += parseFloat(record[attr]) if not isNaN parseFloat(record[attr])\n value: -> @sum\n format: formatter\n numInputs: if attr? then 0 else 1\n\n extremes: (mode, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n val: null\n sorter: getSort(data?.sorters, attr)\n push: (record) ->\n x = record[attr]\n if mode in [\"min\", \"max\"]\n x = parseFloat(x)\n if not isNaN x then @val = Math[mode](x, @val ? x)\n if mode == \"first\" then @val = x if @sorter(x, @val ? x) <= 0\n if mode == \"last\" then @val = x if @sorter(x, @val ? x) >= 0\n value: -> @val\n format: (x) -> if isNaN(x) then x else formatter(x)\n numInputs: if attr? then 0 else 1\n\n quantile: (q, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n vals: []\n push: (record) ->\n x = parseFloat(record[attr])\n @vals.push(x) if not isNaN(x)\n value: ->\n return null if @vals.length == 0\n @vals.sort((a,b) -> a-b)\n i = (@vals.length-1)*q\n return (@vals[Math.floor(i)] + @vals[Math.ceil(i)])/2.0\n format: formatter\n numInputs: if attr? then 0 else 1\n\n runningStat: (mode=\"mean\", ddof=1, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n n: 0.0, m: 0.0, s: 0.0\n push: (record) ->\n x = parseFloat(record[attr])\n return if isNaN(x)\n @n += 1.0\n if @n == 1.0\n @m = x\n else\n m_new = @m + (x - @m)/@n\n @s = @s + (x - @m)*(x - m_new)\n @m = m_new\n value: ->\n if mode == \"mean\"\n return if @n == 0 then 0/0 else @m\n return 0 if @n <= ddof\n switch mode\n when \"var\" then @s/(@n-ddof)\n when \"stdev\" then Math.sqrt(@s/(@n-ddof))\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sumOverSum: (formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: -> @sumNum/@sumDenom\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n sumOverSumBound80: (upper=true, formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: ->\n sign = if upper then 1 else -1\n (0.821187207574908/@sumDenom + @sumNum/@sumDenom + 1.2815515655446004*sign*\n Math.sqrt(0.410593603787454/ (@sumDenom*@sumDenom) + (@sumNum*(1 - @sumNum/ @sumDenom))/ (@sumDenom*@sumDenom)))/\n (1 + 1.642374415149816/@sumDenom)\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n fractionOf: (wrapped, type=\"total\", formatter=usFmtPct) -> (x...) -> (data, rowKey, colKey) ->\n selector: {total:[[],[]],row:[rowKey,[]],col:[[],colKey]}[type]\n inner: wrapped(x...)(data, rowKey, colKey)\n push: (record) -> @inner.push record\n format: formatter\n value: -> @inner.value() / data.getAggregator(@selector...).inner.value()\n numInputs: wrapped(x...)().numInputs\n\n aggregatorTemplates.countUnique = (f) -> aggregatorTemplates.uniques(((x) -> x.length), f)\n aggregatorTemplates.listUnique = (s) -> aggregatorTemplates.uniques(((x) -> x.sort(naturalSort).join(s)), ((x)->x))\n aggregatorTemplates.max = (f) -> aggregatorTemplates.extremes('max', f)\n aggregatorTemplates.min = (f) -> aggregatorTemplates.extremes('min', f)\n aggregatorTemplates.first = (f) -> aggregatorTemplates.extremes('first', f)\n aggregatorTemplates.last = (f) -> aggregatorTemplates.extremes('last', f)\n aggregatorTemplates.median = (f) -> aggregatorTemplates.quantile(0.5, f)\n aggregatorTemplates.average = (f) -> aggregatorTemplates.runningStat(\"mean\", 1, f)\n aggregatorTemplates.var = (ddof, f) -> aggregatorTemplates.runningStat(\"var\", ddof, f)\n aggregatorTemplates.stdev = (ddof, f) -> aggregatorTemplates.runningStat(\"stdev\", ddof, f)\n\n #default aggregators & renderers use US naming and number formatting\n aggregators = do (tpl = aggregatorTemplates) ->\n \"Count\": tpl.count(usFmtInt)\n \"Count Unique Values\": tpl.countUnique(usFmtInt)\n \"List Unique Values\": tpl.listUnique(\", \")\n \"Sum\": tpl.sum(usFmt)\n \"Integer Sum\": tpl.sum(usFmtInt)\n \"Average\": tpl.average(usFmt)\n \"Median\": tpl.median(usFmt)\n \"Sample Variance\": tpl.var(1, usFmt)\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt)\n \"Minimum\": tpl.min(usFmt)\n \"Maximum\": tpl.max(usFmt)\n \"First\": tpl.first(usFmt)\n \"Last\": tpl.last(usFmt)\n \"Sum over Sum\": tpl.sumOverSum(usFmt)\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt)\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt)\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct)\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct)\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct)\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct)\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct)\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n\n renderers =\n \"Table\": (data, opts) -> pivotTableRenderer(data, opts)\n \"Table Barchart\": (data, opts) -> $(pivotTableRenderer(data, opts)).barchart()\n \"Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts)\n \"Row Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts)\n \"Col Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts)\n\n locales =\n en:\n aggregators: aggregators\n renderers: renderers\n localeStrings:\n renderError: \"An error occurred rendering the PivotTable results.\"\n computeError: \"An error occurred computing the PivotTable results.\"\n uiRenderError: \"An error occurred rendering the PivotTable UI.\"\n selectAll: \"Select All\"\n selectNone: \"Select None\"\n tooMany: \"(too many to list)\"\n filterResults: \"Filter values\"\n apply: \"Apply\"\n cancel: \"Cancel\"\n totals: \"Totals\" #for table renderer\n vs: \"vs\" #for gchart renderer\n by: \"by\" #for gchart renderer\n\n #dateFormat deriver l10n requires month and day names to be passed in directly\n mthNamesEn = [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]\n dayNamesEn = [\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]\n zeroPad = (number) -> (\"0\"+number).substr(-2,2)\n\n derivers =\n bin: (col, binWidth) -> (record) -> record[col] - record[col] % binWidth\n dateFormat: (col, formatString, utcOutput=false, mthNames=mthNamesEn, dayNames=dayNamesEn) ->\n utc = if utcOutput then \"UTC\" else \"\"\n (record) -> #thanks http://stackoverflow.com/a/12213072/112871\n date = new Date(Date.parse(record[col]))\n if isNaN(date) then return \"\"\n formatString.replace /%(.)/g, (m, p) ->\n switch p\n when \"y\" then date[\"get#{utc}FullYear\"]()\n when \"m\" then zeroPad(date[\"get#{utc}Month\"]()+1)\n when \"n\" then mthNames[date[\"get#{utc}Month\"]()]\n when \"d\" then zeroPad(date[\"get#{utc}Date\"]())\n when \"w\" then dayNames[date[\"get#{utc}Day\"]()]\n when \"x\" then date[\"get#{utc}Day\"]()\n when \"H\" then zeroPad(date[\"get#{utc}Hours\"]())\n when \"M\" then zeroPad(date[\"get#{utc}Minutes\"]())\n when \"S\" then zeroPad(date[\"get#{utc}Seconds\"]())\n else \"%\" + p\n\n rx = /(\\d+)|(\\D+)/g\n rd = /\\d/\n rz = /^0/\n naturalSort = (as, bs) =>\n #nulls first\n return -1 if bs? and not as?\n return 1 if as? and not bs?\n\n #then raw NaNs\n return -1 if typeof as == \"number\" and isNaN(as)\n return 1 if typeof bs == \"number\" and isNaN(bs)\n\n #numbers and numbery strings group together\n nas = +as\n nbs = +bs\n return -1 if nas < nbs\n return 1 if nas > nbs\n\n #within that, true numbers before numbery strings\n return -1 if typeof as == \"number\" and typeof bs != \"number\"\n return 1 if typeof bs == \"number\" and typeof as != \"number\"\n return 0 if typeof as == \"number\" and typeof bs == \"number\"\n\n # 'Infinity' is a textual number, so less than 'A'\n return -1 if isNaN(nbs) and not isNaN(nas)\n return 1 if isNaN(nas) and not isNaN(nbs)\n\n #finally, \"smart\" string sorting per http://stackoverflow.com/a/4373421/112871\n a = String(as)\n b = String(bs)\n return 0 if a == b\n return (if a > b then 1 else -1) unless rd.test(a) and rd.test(b)\n\n #special treatment for strings containing digits\n a = a.match(rx) #create digits vs non-digit chunks and iterate through\n b = b.match(rx)\n while a.length and b.length\n a1 = a.shift()\n b1 = b.shift()\n if a1 != b1\n if rd.test(a1) and rd.test(b1) #both are digit chunks\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\")\n else\n return (if a1 > b1 then 1 else -1)\n return a.length - b.length\n\n sortAs = (order) ->\n mapping = {}\n l_mapping = {} # sort lowercased keys similarly\n for i, x of order\n mapping[x] = i\n l_mapping[x.toLowerCase()] = i if typeof x == \"string\"\n (a, b) ->\n if mapping[a]? and mapping[b]? then mapping[a] - mapping[b]\n else if mapping[a]? then -1\n else if mapping[b]? then 1\n else if l_mapping[a]? and l_mapping[b]? then l_mapping[a] - l_mapping[b]\n else if l_mapping[a]? then -1\n else if l_mapping[b]? then 1\n else naturalSort(a,b)\n\n getSort = (sorters, attr) ->\n if sorters?\n if $.isFunction(sorters)\n sort = sorters(attr)\n return sort if $.isFunction(sort)\n else if sorters[attr]?\n return sorters[attr]\n return naturalSort\n\n ###\n Data Model class\n ###\n\n class PivotData\n constructor: (input, opts = {}) ->\n @input = input\n @aggregator = opts.aggregator ? aggregatorTemplates.count()()\n @aggregatorName = opts.aggregatorName ? \"Count\"\n @colAttrs = opts.cols ? []\n @rowAttrs = opts.rows ? []\n @valAttrs = opts.vals ? []\n @sorters = opts.sorters ? {}\n @rowOrder = opts.rowOrder ? \"key_a_to_z\"\n @colOrder = opts.colOrder ? \"key_a_to_z\"\n @derivedAttributes = opts.derivedAttributes ? {}\n @filter = opts.filter ? (-> true)\n @tree = {}\n @rowKeys = []\n @colKeys = []\n @rowTotals = {}\n @colTotals = {}\n @allTotal = @aggregator(this, [], [])\n @sorted = false\n\n # iterate through input, accumulating data for cells\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n @processRecord(record) if @filter(record)\n\n #can handle arrays or jQuery selections of tables\n @forEachRecord = (input, derivedAttributes, f) ->\n if $.isEmptyObject derivedAttributes\n addRecord = f\n else\n addRecord = (record) ->\n record[k] = v(record) ? record[k] for k, v of derivedAttributes\n f(record)\n\n #if it's a function, have it call us back\n if $.isFunction(input)\n input(addRecord)\n else if $.isArray(input)\n if $.isArray(input[0]) #array of arrays\n for own i, compactRecord of input when i > 0\n record = {}\n record[k] = compactRecord[j] for own j, k of input[0]\n addRecord(record)\n else #array of objects\n addRecord(record) for record in input\n else if input instanceof $\n tblCols = []\n $(\"thead > tr > th\", input).each (i) -> tblCols.push $(this).text()\n $(\"tbody > tr\", input).each (i) ->\n record = {}\n $(\"td\", this).each (j) -> record[tblCols[j]] = $(this).text()\n addRecord(record)\n else\n throw new Error(\"unknown input format\")\n\n forEachMatchingRecord: (criteria, callback) ->\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n return if not @filter(record)\n for k, v of criteria\n return if v != (record[k] ? \"null\")\n callback(record)\n\n arrSort: (attrs) =>\n sortersArr = (getSort(@sorters, a) for a in attrs)\n (a,b) ->\n for own i, sorter of sortersArr\n comparison = sorter(a[i], b[i])\n return comparison if comparison != 0\n return 0\n\n sortKeys: () =>\n if not @sorted\n @sorted = true\n v = (r,c) => @getAggregator(r,c).value()\n switch @rowOrder\n when \"value_a_to_z\" then @rowKeys.sort (a,b) => naturalSort v(a,[]), v(b,[])\n when \"value_z_to_a\" then @rowKeys.sort (a,b) => -naturalSort v(a,[]), v(b,[])\n else @rowKeys.sort @arrSort(@rowAttrs)\n switch @colOrder\n when \"value_a_to_z\" then @colKeys.sort (a,b) => naturalSort v([],a), v([],b)\n when \"value_z_to_a\" then @colKeys.sort (a,b) => -naturalSort v([],a), v([],b)\n else @colKeys.sort @arrSort(@colAttrs)\n\n getColKeys: () =>\n @sortKeys()\n return @colKeys\n\n getRowKeys: () =>\n @sortKeys()\n return @rowKeys\n\n processRecord: (record) -> #this code is called in a tight loop\n colKey = []\n rowKey = []\n colKey.push record[x] ? \"null\" for x in @colAttrs\n rowKey.push record[x] ? \"null\" for x in @rowAttrs\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n\n @allTotal.push record\n\n if rowKey.length != 0\n if not @rowTotals[flatRowKey]\n @rowKeys.push rowKey\n @rowTotals[flatRowKey] = @aggregator(this, rowKey, [])\n @rowTotals[flatRowKey].push record\n\n if colKey.length != 0\n if not @colTotals[flatColKey]\n @colKeys.push colKey\n @colTotals[flatColKey] = @aggregator(this, [], colKey)\n @colTotals[flatColKey].push record\n\n if colKey.length != 0 and rowKey.length != 0\n if not @tree[flatRowKey]\n @tree[flatRowKey] = {}\n if not @tree[flatRowKey][flatColKey]\n @tree[flatRowKey][flatColKey] = @aggregator(this, rowKey, colKey)\n @tree[flatRowKey][flatColKey].push record\n\n getAggregator: (rowKey, colKey) =>\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n if rowKey.length == 0 and colKey.length == 0\n agg = @allTotal\n else if rowKey.length == 0\n agg = @colTotals[flatColKey]\n else if colKey.length == 0\n agg = @rowTotals[flatRowKey]\n else\n agg = @tree[flatRowKey][flatColKey]\n return agg ? {value: (-> null), format: -> \"\"}\n\n #expose these to the outside world\n $.pivotUtilities = {aggregatorTemplates, aggregators, renderers, derivers, locales,\n naturalSort, numberFormat, sortAs, PivotData}\n\n ###\n Default Renderer for hierarchical table layout\n ###\n\n pivotTableRenderer = (pivotData, opts) ->\n\n defaults =\n table:\n clickCallback: null\n rowTotals: true\n colTotals: true\n localeStrings: totals: \"Totals\"\n\n opts = $.extend(true, {}, defaults, opts)\n\n colAttrs = pivotData.colAttrs\n rowAttrs = pivotData.rowAttrs\n rowKeys = pivotData.getRowKeys()\n colKeys = pivotData.getColKeys()\n\n if opts.table.clickCallback\n getClickHandler = (value, rowValues, colValues) ->\n filters = {}\n filters[attr] = colValues[i] for own i, attr of colAttrs when colValues[i]?\n filters[attr] = rowValues[i] for own i, attr of rowAttrs when rowValues[i]?\n return (e) -> opts.table.clickCallback(e, value, filters, pivotData)\n\n #now actually build the output\n result = document.createElement(\"table\")\n result.className = \"pvtTable\"\n\n #helper function for setting row/col-span in pivotTableRenderer\n spanSize = (arr, i, j) ->\n if i != 0\n noDraw = true\n for x in [0..j]\n if arr[i-1][x] != arr[i][x]\n noDraw = false\n if noDraw\n return -1 #do not draw cell\n len = 0\n while i+len < arr.length\n stop = false\n for x in [0..j]\n stop = true if arr[i][x] != arr[i+len][x]\n break if stop\n len++\n return len\n\n #the first few rows are for col headers\n thead = document.createElement(\"thead\")\n for own j, c of colAttrs\n tr = document.createElement(\"tr\")\n if parseInt(j) == 0 and rowAttrs.length != 0\n th = document.createElement(\"th\")\n th.setAttribute(\"colspan\", rowAttrs.length)\n th.setAttribute(\"rowspan\", colAttrs.length)\n tr.appendChild th\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = c\n tr.appendChild th\n for own i, colKey of colKeys\n x = spanSize(colKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtColLabel\"\n th.textContent = colKey[j]\n th.setAttribute(\"colspan\", x)\n if parseInt(j) == colAttrs.length-1 and rowAttrs.length != 0\n th.setAttribute(\"rowspan\", 2)\n tr.appendChild th\n if parseInt(j) == 0 && opts.table.rowTotals\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"rowspan\", colAttrs.length + (if rowAttrs.length ==0 then 0 else 1))\n tr.appendChild th\n thead.appendChild tr\n\n #then a row for row header headers\n if rowAttrs.length !=0\n tr = document.createElement(\"tr\")\n for own i, r of rowAttrs\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = r\n tr.appendChild th\n th = document.createElement(\"th\")\n if colAttrs.length ==0\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n tr.appendChild th\n thead.appendChild tr\n result.appendChild thead\n\n #now the actual data rows, with their row headers and totals\n tbody = document.createElement(\"tbody\")\n for own i, rowKey of rowKeys\n tr = document.createElement(\"tr\")\n for own j, txt of rowKey\n x = spanSize(rowKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtRowLabel\"\n th.textContent = txt\n th.setAttribute(\"rowspan\", x)\n if parseInt(j) == rowAttrs.length-1 and colAttrs.length !=0\n th.setAttribute(\"colspan\",2)\n tr.appendChild th\n for own j, colKey of colKeys #this is the tight loop\n aggregator = pivotData.getAggregator(rowKey, colKey)\n val = aggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtVal row#{i} col#{j}\"\n td.textContent = aggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, colKey)\n tr.appendChild td\n\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator(rowKey, [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal rowTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, [])\n td.setAttribute(\"data-for\", \"row\"+i)\n tr.appendChild td\n tbody.appendChild tr\n\n #finally, the row for col totals, and a grand total\n if opts.table.colTotals || rowAttrs.length == 0\n tr = document.createElement(\"tr\")\n if opts.table.colTotals || rowAttrs.length == 0\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtColTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"colspan\", rowAttrs.length + (if colAttrs.length == 0 then 0 else 1))\n tr.appendChild th\n for own j, colKey of colKeys\n totalAggregator = pivotData.getAggregator([], colKey)\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal colTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], colKey)\n td.setAttribute(\"data-for\", \"col\"+j)\n tr.appendChild td\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator([], [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtGrandTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], [])\n tr.appendChild td\n tbody.appendChild tr\n result.appendChild tbody\n\n #squirrel this away for later\n result.setAttribute(\"data-numrows\", rowKeys.length)\n result.setAttribute(\"data-numcols\", colKeys.length)\n\n return result\n\n ###\n Pivot Table core: create PivotData object and call Renderer on it\n ###\n\n $.fn.pivot = (input, inputOpts, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n cols : [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n filter: -> true\n aggregator: aggregatorTemplates.count()()\n aggregatorName: \"Count\"\n sorters: {}\n derivedAttributes: {}\n renderer: pivotTableRenderer\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n\n result = null\n try\n pivotData = new opts.dataClass(input, opts)\n try\n result = opts.renderer(pivotData, opts.rendererOptions)\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.renderError\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.computeError\n\n x = this[0]\n x.removeChild(x.lastChild) while x.hasChildNodes()\n return @append result\n\n\n ###\n Pivot Table UI: calls Pivot Table core above with options set by user\n ###\n\n $.fn.pivotUI = (input, inputOpts, overwrite = false, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n derivedAttributes: {}\n aggregators: locales[locale].aggregators\n renderers: locales[locale].renderers\n hiddenAttributes: []\n hiddenFromAggregators: []\n hiddenFromDragDrop: []\n menuLimit: 500\n cols: [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n exclusions: {}\n inclusions: {}\n unusedAttrsVertical: 85\n autoSortUnusedAttrs: false\n onRefresh: null\n showUI: true\n filter: -> true\n sorters: {}\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n existingOpts = @data \"pivotUIOptions\"\n if not existingOpts? or overwrite\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n else\n opts = existingOpts\n\n try\n # do a first pass on the data to cache a materialized copy of any\n # function-valued inputs and to compute dimension cardinalities\n attrValues = {}\n materializedInput = []\n recordsProcessed = 0\n PivotData.forEachRecord input, opts.derivedAttributes, (record) ->\n return unless opts.filter(record)\n materializedInput.push(record)\n for own attr of record\n if not attrValues[attr]?\n attrValues[attr] = {}\n if recordsProcessed > 0\n attrValues[attr][\"null\"] = recordsProcessed\n for attr of attrValues\n value = record[attr] ? \"null\"\n attrValues[attr][value] ?= 0\n attrValues[attr][value]++\n recordsProcessed++\n\n #start building the output\n uiTable = $(\"\", \"class\": \"pvtUi\").attr(\"cellpadding\", 5)\n\n #renderer control\n rendererControl = $(\"\").addClass(\"pvtUiCell\")\n\n renderer = $(\"\")\n .addClass('pvtRenderer')\n .appendTo(rendererControl)\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.renderers\n $(\"\").val(x).html(x).appendTo(renderer)\n\n\n #axis list, including the double-click menu\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell')\n shownAttributes = (a for a of attrValues when a not in opts.hiddenAttributes)\n shownInAggregators = (c for c in shownAttributes when c not in opts.hiddenFromAggregators)\n shownInDragDrop = (c for c in shownAttributes when c not in opts.hiddenFromDragDrop)\n\n\n unusedAttrsVerticalAutoOverride = false\n if opts.unusedAttrsVertical == \"auto\"\n unusedAttrsVerticalAutoCutoff = 120 # legacy support\n else\n unusedAttrsVerticalAutoCutoff = parseInt opts.unusedAttrsVertical\n\n if not isNaN(unusedAttrsVerticalAutoCutoff)\n attrLength = 0\n attrLength += a.length for a in shownInDragDrop\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff\n\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n unused.addClass('pvtVertList')\n else\n unused.addClass('pvtHorizList')\n\n for own i, attr of shownInDragDrop\n do (attr) ->\n values = (v for v of attrValues[attr])\n hasExcludedItem = false\n valueList = $(\"\").addClass('pvtFilterBox').hide()\n\n valueList.append $(\"\").append(\n $(\"\").text(attr),\n $(\"\").addClass(\"count\").text(\"(#{values.length})\"),\n )\n if values.length > opts.menuLimit\n valueList.append $(\"\").html(opts.localeStrings.tooMany)\n else\n if values.length > 5\n controls = $(\"\").appendTo(valueList)\n sorter = getSort(opts.sorters, attr)\n placeholder = opts.localeStrings.filterResults\n $(\"\", {type: \"text\"}).appendTo(controls)\n .attr({placeholder: placeholder, class: \"pvtSearch\"})\n .bind \"keyup\", ->\n filter = $(this).val().toLowerCase().trim()\n accept_gen = (prefix, accepted) -> (v) ->\n real_filter = filter.substring(prefix.length).trim()\n return true if real_filter.length == 0\n return Math.sign(sorter(v.toLowerCase(), real_filter)) in accepted\n accept =\n if filter.indexOf(\">=\") == 0 then accept_gen(\">=\", [1,0])\n else if filter.indexOf(\"<=\") == 0 then accept_gen(\"<=\", [-1,0])\n else if filter.indexOf(\">\") == 0 then accept_gen(\">\", [1])\n else if filter.indexOf(\"<\") == 0 then accept_gen(\"<\", [-1])\n else if filter.indexOf(\"~\") == 0 then (v) ->\n return true if filter.substring(1).trim().length == 0\n v.toLowerCase().match(filter.substring(1))\n else (v) -> v.toLowerCase().indexOf(filter) != -1\n\n valueList.find('.pvtCheckContainer p label span.value').each ->\n if accept($(this).text())\n $(this).parent().parent().show()\n else\n $(this).parent().parent().hide()\n controls.append $(\"\")\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectAll)\n .bind \"click\", ->\n valueList.find(\"input:visible:not(:checked)\")\n .prop(\"checked\", true).toggleClass(\"changed\")\n return false\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectNone)\n .bind \"click\", ->\n valueList.find(\"input:visible:checked\")\n .prop(\"checked\", false).toggleClass(\"changed\")\n return false\n\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList)\n\n for value in values.sort(getSort(opts.sorters, attr))\n valueCount = attrValues[attr][value]\n filterItem = $(\"\")\n filterItemExcluded = false\n if opts.inclusions[attr]\n filterItemExcluded = (value not in opts.inclusions[attr])\n else if opts.exclusions[attr]\n filterItemExcluded = (value in opts.exclusions[attr])\n hasExcludedItem ||= filterItemExcluded\n $(\"\")\n .attr(\"type\", \"checkbox\").addClass('pvtFilter')\n .attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr,value])\n .appendTo(filterItem)\n .bind \"change\", -> $(this).toggleClass(\"changed\")\n filterItem.append $(\"\").addClass(\"value\").text(value)\n filterItem.append $(\"\").addClass(\"count\").text(\"(\"+valueCount+\")\")\n checkContainer.append $(\"\").append(filterItem)\n\n closeFilterBox = ->\n if valueList.find(\"[type='checkbox']\").length >\n valueList.find(\"[type='checkbox']:checked\").length\n attrElem.addClass \"pvtFilteredAttribute\"\n else\n attrElem.removeClass \"pvtFilteredAttribute\"\n\n valueList.find('.pvtSearch').val('')\n valueList.find('.pvtCheckContainer p').show()\n valueList.hide()\n\n finalButtons = $(\"\").appendTo(valueList)\n\n if values.length <= opts.menuLimit\n $(\"\", {type: \"button\"}).text(opts.localeStrings.apply)\n .appendTo(finalButtons).bind \"click\", ->\n if valueList.find(\".changed\").removeClass(\"changed\").length\n refresh()\n closeFilterBox()\n\n $(\"\", {type: \"button\"}).text(opts.localeStrings.cancel)\n .appendTo(finalButtons).bind \"click\", ->\n valueList.find(\".changed:checked\")\n .removeClass(\"changed\").prop(\"checked\", false)\n valueList.find(\".changed:not(:checked)\")\n .removeClass(\"changed\").prop(\"checked\", true)\n closeFilterBox()\n\n triangleLink = $(\"\").addClass('pvtTriangle')\n .html(\" ▾\").bind \"click\", (e) ->\n {left, top} = $(e.currentTarget).position()\n valueList.css(left: left+10, top: top+10).show()\n\n attrElem = $(\"\").addClass(\"axis_#{i}\")\n .append $(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink)\n\n attrElem.addClass('pvtFilteredAttribute') if hasExcludedItem\n unused.append(attrElem).append(valueList)\n\n tr1 = $(\"\").appendTo(uiTable)\n\n #aggregator menu and value area\n\n aggregator = $(\"\").addClass('pvtAggregator')\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.aggregators\n aggregator.append $(\"\").val(x).html(x)\n\n ordering =\n key_a_to_z: {rowSymbol: \"↕\", colSymbol: \"↔\", next: \"value_a_to_z\"}\n value_a_to_z: {rowSymbol: \"↓\", colSymbol: \"→\", next: \"value_z_to_a\"}\n value_z_to_a: {rowSymbol: \"↑\", colSymbol: \"←\", next: \"key_a_to_z\"}\n\n rowOrderArrow = $(\"\", role: \"button\").addClass(\"pvtRowOrder\")\n .data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol)\n refresh()\n\n colOrderArrow = $(\"\", role: \"button\").addClass(\"pvtColOrder\")\n .data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].colSymbol)\n refresh()\n\n $(\"\").addClass('pvtVals pvtUiCell')\n .appendTo(tr1)\n .append(aggregator)\n .append(rowOrderArrow)\n .append(colOrderArrow)\n .append($(\"\"))\n\n #column axes\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1)\n\n tr2 = $(\"\").appendTo(uiTable)\n\n #row axes\n tr2.append $(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\")\n\n #the actual pivot table container\n pivotTable = $(\"\")\n .attr(\"valign\", \"top\")\n .addClass('pvtRendererArea')\n .appendTo(tr2)\n\n #finally the renderer dropdown and unused attribs are inserted at the requested location\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n uiTable.find('tr:nth-child(1)').prepend rendererControl\n uiTable.find('tr:nth-child(2)').prepend unused\n else\n uiTable.prepend $(\"\").append(rendererControl).append(unused)\n\n #render the UI in its default state\n @html uiTable\n\n #set up the UI initial state as requested by moving elements around\n\n for x in opts.cols\n @find(\".pvtCols\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n for x in opts.rows\n @find(\".pvtRows\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n if opts.aggregatorName?\n @find(\".pvtAggregator\").val opts.aggregatorName\n if opts.rendererName?\n @find(\".pvtRenderer\").val opts.rendererName\n\n @find(\".pvtUiCell\").hide() unless opts.showUI\n\n initialRender = true\n\n #set up for refreshing\n refreshDelayed = =>\n subopts =\n derivedAttributes: opts.derivedAttributes\n localeStrings: opts.localeStrings\n rendererOptions: opts.rendererOptions\n sorters: opts.sorters\n cols: [], rows: []\n dataClass: opts.dataClass\n\n numInputsToProcess = opts.aggregators[aggregator.val()]([])().numInputs ? 0\n vals = []\n @find(\".pvtRows li span.pvtAttr\").each -> subopts.rows.push $(this).data(\"attrName\")\n @find(\".pvtCols li span.pvtAttr\").each -> subopts.cols.push $(this).data(\"attrName\")\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n if numInputsToProcess == 0\n $(this).remove()\n else\n numInputsToProcess--\n vals.push $(this).val() if $(this).val() != \"\"\n\n if numInputsToProcess != 0\n pvtVals = @find(\".pvtVals\")\n for x in [0...numInputsToProcess]\n newDropdown = $(\"\")\n .addClass('pvtAttrDropdown')\n .append($(\"\"))\n .bind \"change\", -> refresh()\n for attr in shownInAggregators\n newDropdown.append($(\"\").val(attr).text(attr))\n pvtVals.append(newDropdown)\n\n if initialRender\n vals = opts.vals\n i = 0\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n $(this).val vals[i]\n i++\n initialRender = false\n\n subopts.aggregatorName = aggregator.val()\n subopts.vals = vals\n subopts.aggregator = opts.aggregators[aggregator.val()](vals)\n subopts.renderer = opts.renderers[renderer.val()]\n subopts.rowOrder = rowOrderArrow.data(\"order\")\n subopts.colOrder = colOrderArrow.data(\"order\")\n #construct filter here\n exclusions = {}\n @find('input.pvtFilter').not(':checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n exclusions[filter[0]].push( filter[1] )\n else\n exclusions[filter[0]] = [ filter[1] ]\n #include inclusions when exclusions present\n inclusions = {}\n @find('input.pvtFilter:checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n if inclusions[filter[0]]?\n inclusions[filter[0]].push( filter[1] )\n else\n inclusions[filter[0]] = [ filter[1] ]\n\n subopts.filter = (record) ->\n return false if not opts.filter(record)\n for k,excludedItems of exclusions\n return false if \"\"+(record[k] ? 'null') in excludedItems\n return true\n\n pivotTable.pivot(materializedInput,subopts)\n pivotUIOptions = $.extend {}, opts,\n cols: subopts.cols\n rows: subopts.rows\n colOrder: subopts.colOrder\n rowOrder: subopts.rowOrder\n vals: vals\n exclusions: exclusions\n inclusions: inclusions\n inclusionsInfo: inclusions #duplicated for backwards-compatibility\n aggregatorName: aggregator.val()\n rendererName: renderer.val()\n\n @data \"pivotUIOptions\", pivotUIOptions\n\n # if requested make sure unused columns are in alphabetical order\n if opts.autoSortUnusedAttrs\n unusedAttrsContainer = @find(\"td.pvtUnused.pvtAxisContainer\")\n $(unusedAttrsContainer).children(\"li\")\n .sort((a, b) => naturalSort($(a).text(), $(b).text()))\n .appendTo unusedAttrsContainer\n\n pivotTable.css(\"opacity\", 1)\n opts.onRefresh(pivotUIOptions) if opts.onRefresh?\n\n refresh = =>\n pivotTable.css(\"opacity\", 0.5)\n setTimeout refreshDelayed, 10\n\n #the very first refresh will actually display the table\n refresh()\n\n @find(\".pvtAxisContainer\").sortable\n update: (e, ui) -> refresh() if not ui.sender?\n connectWith: @find(\".pvtAxisContainer\")\n items: 'li'\n placeholder: 'pvtPlaceholder'\n catch e\n console.error(e.stack) if console?\n @html opts.localeStrings.uiRenderError\n return this\n\n ###\n Heatmap post-processing\n ###\n\n $.fn.heatmap = (scope = \"heatmap\", opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n # given a series of values\n # must return a function to map a given value to a CSS color\n colorScaleGenerator = opts?.heatmap?.colorScaleGenerator\n colorScaleGenerator ?= (values) ->\n min = Math.min(values...)\n max = Math.max(values...)\n return (x) ->\n nonRed = 255 - Math.round 255*(x-min)/(max-min)\n return \"rgb(255,#{nonRed},#{nonRed})\"\n\n heatmapper = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n colorScale = colorScaleGenerator(values)\n forEachCell (x, elem) -> elem.css \"background-color\", colorScale(x)\n\n switch scope\n when \"heatmap\" then heatmapper \".pvtVal\"\n when \"rowheatmap\" then heatmapper \".pvtVal.row#{i}\" for i in [0...numRows]\n when \"colheatmap\" then heatmapper \".pvtVal.col#{j}\" for j in [0...numCols]\n\n heatmapper \".pvtTotal.rowTotal\"\n heatmapper \".pvtTotal.colTotal\"\n\n return this\n\n ###\n Barchart post-processing\n ###\n\n $.fn.barchart = (opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n barcharter = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n max = Math.max(values...)\n if max < 0\n max = 0\n range = max;\n min = Math.min(values...)\n if min < 0\n range = max - min\n scaler = (x) -> 100*x/(1.4*range)\n forEachCell (x, elem) ->\n text = elem.text()\n wrapper = $(\"\").css\n \"position\": \"relative\"\n \"height\": \"55px\"\n bgColor = \"gray\"\n bBase = 0\n if min < 0\n bBase = scaler(-min)\n if x < 0\n bBase += scaler(x)\n bgColor = \"darkred\"\n x = -x\n wrapper.append $(\"\").css\n \"position\": \"absolute\"\n \"bottom\": bBase + \"%\"\n \"left\": 0\n \"right\": 0\n \"height\": scaler(x) + \"%\"\n \"background-color\": bgColor\n wrapper.append $(\"\").text(text).css\n \"position\":\"relative\"\n \"padding-left\":\"5px\"\n \"padding-right\":\"5px\"\n\n elem.css(\"padding\": 0,\"padding-top\": \"5px\", \"text-align\": \"center\").html wrapper\n\n barcharter \".pvtVal.row#{i}\" for i in [0...numRows]\n barcharter \".pvtTotal.colTotal\"\n\n return this\n"]} \ No newline at end of file diff --git a/inst/htmlwidgets/lib/pivottable/pivot.min.js b/inst/htmlwidgets/lib/pivottable/pivot.min.js index 78f9401..b79a65a 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.min.js @@ -1,2 +1,2 @@ -(function(){var t,e=[].indexOf||function(t){for(var e=0,n=this.length;e1?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,il)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 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=l;c=0<=l?++r:--r)t[e-1][c]!==t[e][c]&&(i=!1);if(i)return-1}for(a=0;e+a=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)&&(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));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)}S=document.createElement("tr"),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));return 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),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("").html(c.localeStrings.renderError)}}catch(m){i=m,"undefined"!=typeof console&&null!==console&&console.error(i.stack),p=t("").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,L,I,K,q,z,U,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,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=[],I=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]={},I>0&&(m[e]["null"]=I));for(e in m)o=null!=(r=t[e])?r:"null",null==(n=m[e])[o]&&(n[o]=0),m[e][o]++;return I++}}),Y=t("",{"class":"pvtUi"}).attr("cellpadding",5),B=t(""),H=t("").addClass("pvtRenderer").appendTo(B).bind("change",function(){return V()}),K=M.renderers;for(et in K)a.call(K,et)&&t("").val(et).html(et).appendTo(H);if(X=t("").addClass("pvtAxisContainer pvtUnused"),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;tZ}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("").addClass("pvtFilterBox").hide(),x.append(t("").append(t("").text(n),t("").addClass("count").text("("+S.length+")"))),S.length>M.menuLimit)x.append(t("").html(M.localeStrings.tooMany));else for(S.length>5&&(i=t("").appendTo(x),v=h(M.sorters,n),f=M.localeStrings.filterResults,t("",{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("")),t("",{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("",{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("").addClass("pvtCheckContainer").appendTo(x),g=S.sort(h(M.sorters,n)),p=0,d=g.length;p"),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("").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("").addClass("value").text(y)),l.append(t("").addClass("count").text("("+w+")")),a.append(t("").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("").appendTo(x),S.length<=M.menuLimit&&t("",{type:"button"}).text(M.localeStrings.apply).appendTo(u).bind("click",function(){return x.find(".changed").removeClass("changed").length&&V(),o()}),t("",{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("").addClass("pvtTriangle").html(" ▾").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("").addClass("axis_"+A).append(t("").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("").appendTo(Y),u=t("").addClass("pvtAggregator").bind("change",function(){return V()}),q=M.aggregators;for(et in q)a.call(q,et)&&u.append(t("").val(et).html(et));for(R={key_a_to_z:{rowSymbol:"↕",colSymbol:"↔",next:"value_a_to_z"},value_a_to_z:{rowSymbol:"↓",colSymbol:"→",next:"value_z_to_a"},value_z_to_a:{rowSymbol:"↑",colSymbol:"←",next:"key_a_to_z"}},P=t("",{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("",{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("").addClass("pvtVals").appendTo($).append(u).append(P).append(v).append(t("")),t("").addClass("pvtAxisContainer pvtHorizList pvtCols").appendTo($),Q=t("").appendTo(Y),Q.append(t("").addClass("pvtAxisContainer pvtRows").attr("valign","top")),L=t("").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("").append(B).append(X)),this.html(Y),z=M.cols,D=0,T=z.length;Dp;et=0<=p?++g:--g){for(i=t("").addClass("pvtAttrDropdown").append(t("")).bind("change",function(){return V()}),b=0,o=G.length;b").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},L.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)),L.css("opacity",1),null!=M.onRefresh)return M.onRefresh(s)}}(this),V=function(t){return function(){return L.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?ld;o=0<=d?++l:--l)a(".pvtVal.row"+o);break;case"colheatmap":for(i=s=0,p=u;0<=p?sp;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("").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("").css({position:"absolute",bottom:r+"%",left:0,right:0,height:l(e)+"%","background-color":a})),s.append(t("").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?al;r=0<=l?++a:--a)n(".pvtVal.row"+r);return n(".pvtTotal.colTotal"),this}})}).call(this); +(function(){var t,e=[].indexOf||function(t){for(var e=0,n=this.length;e1?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,il)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 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=l;c=0<=l?++r:--r)t[e-1][c]!==t[e][c]&&(i=!1);if(i)return-1}for(a=0;e+a=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("").html(c.localeStrings.renderError)}}catch(m){i=m,"undefined"!=typeof console&&null!==console&&console.error(i.stack),p=t("").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("",{"class":"pvtUi"}).attr("cellpadding",5),B=t("").addClass("pvtUiCell"),H=t("").addClass("pvtRenderer").appendTo(B).bind("change",function(){return V()}),U=M.renderers;for(et in U)a.call(U,et)&&t("").val(et).html(et).appendTo(H);if(X=t("").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;tZ}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("").addClass("pvtFilterBox").hide(),x.append(t("").append(t("").text(n),t("").addClass("count").text("("+S.length+")"))),S.length>M.menuLimit)x.append(t("").html(M.localeStrings.tooMany));else for(S.length>5&&(i=t("").appendTo(x),v=h(M.sorters,n),f=M.localeStrings.filterResults,t("",{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("")),t("",{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("",{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("").addClass("pvtCheckContainer").appendTo(x),g=S.sort(h(M.sorters,n)),p=0,d=g.length;p"),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("").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("").addClass("value").text(y)),l.append(t("").addClass("count").text("("+w+")")),a.append(t("").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("").appendTo(x),S.length<=M.menuLimit&&t("",{type:"button"}).text(M.localeStrings.apply).appendTo(u).bind("click",function(){return x.find(".changed").removeClass("changed").length&&V(),o()}),t("",{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("").addClass("pvtTriangle").html(" ▾").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("").addClass("axis_"+A).append(t("").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("").appendTo(Y),u=t("").addClass("pvtAggregator").bind("change",function(){return V()}),K=M.aggregators;for(et in K)a.call(K,et)&&u.append(t("").val(et).html(et));for(R={key_a_to_z:{rowSymbol:"↕",colSymbol:"↔",next:"value_a_to_z"},value_a_to_z:{rowSymbol:"↓",colSymbol:"→",next:"value_z_to_a"},value_z_to_a:{rowSymbol:"↑",colSymbol:"←",next:"key_a_to_z"}},P=t("",{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("",{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("").addClass("pvtVals pvtUiCell").appendTo($).append(u).append(P).append(v).append(t("")),t("").addClass("pvtAxisContainer pvtHorizList pvtCols pvtUiCell").appendTo($),Q=t("").appendTo(Y),Q.append(t("").addClass("pvtAxisContainer pvtRows pvtUiCell").attr("valign","top")),I=t("").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("").append(B).append(X)),this.html(Y),q=M.cols,D=0,T=q.length;Dp;et=0<=p?++g:--g){for(i=t("").addClass("pvtAttrDropdown").append(t("")).bind("change",function(){return V()}),b=0,o=G.length;b").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?ld;o=0<=d?++l:--l)a(".pvtVal.row"+o);break;case"colheatmap":for(i=s=0,p=u;0<=p?sp;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("").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("").css({position:"absolute",bottom:r+"%",left:0,right:0,height:l(e)+"%","background-color":a})),s.append(t("").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?al;r=0<=l?++a:--a)n(".pvtVal.row"+r);return n(".pvtTotal.colTotal"),this}})}).call(this); //# sourceMappingURL=pivot.min.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.min.js.map new file mode 100644 index 0000000..acf3957 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["pivot.coffee","pivot.min.js"],"names":["callWithJQuery","indexOf","item","i","l","this","length","slice","bind","fn","me","apply","arguments","hasProp","hasOwnProperty","pivotModule","exports","module","require","define","amd","jQuery","$","PivotData","addSeparators","aggregatorTemplates","aggregators","dayNamesEn","derivers","getSort","locales","mthNamesEn","naturalSort","numberFormat","pivotTableRenderer","rd","renderers","rx","rz","sortAs","usFmt","usFmtInt","usFmtPct","zeroPad","nStr","thousandsSep","decimalSep","rgx","x","x1","x2","split","test","replace","opts","defaults","digitsAfterDecimal","scaler","prefix","suffix","extend","result","isNaN","isFinite","toFixed","count","formatter","data","rowKey","colKey","push","value","format","uniques","arg","attr","uniq","record","ref","call","numInputs","sum","parseFloat","extremes","mode","val","sorter","sorters","ref1","ref2","Math","quantile","q","vals","sort","a","b","floor","ceil","runningStat","ddof","n","m","s","m_new","sqrt","sumOverSum","denom","num","sumNum","sumDenom","sumOverSumBound80","upper","sign","fractionOf","wrapped","type","selector","total","row","col","inner","getAggregator","countUnique","f","listUnique","join","max","min","first","last","median","average","stdev","tpl","Count","Count Unique Values","List Unique Values","Sum","Integer Sum","Average","Median","Sample Variance","Sample Standard Deviation","Minimum","Maximum","First","Last","Sum over Sum","80% Upper Bound","80% Lower Bound","Sum as Fraction of Total","Sum as Fraction of Rows","Sum as Fraction of Columns","Count as Fraction of Total","Count as Fraction of Rows","Count as Fraction of Columns","Table","Table Barchart","barchart","Heatmap","heatmap","Row Heatmap","Col Heatmap","en","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","cancel","totals","vs","by","number","substr","bin","binWidth","dateFormat","formatString","utcOutput","mthNames","dayNames","utc","date","Date","parse","p","_this","as","bs","a1","b1","nas","nbs","String","match","shift","order","l_mapping","mapping","toLowerCase","isFunction","input","ref3","ref4","ref5","ref6","ref7","ref8","ref9","getRowKeys","getColKeys","sortKeys","arrSort","aggregator","aggregatorName","colAttrs","cols","rowAttrs","rows","valAttrs","rowOrder","colOrder","derivedAttributes","filter","tree","rowKeys","colKeys","rowTotals","colTotals","allTotal","sorted","forEachRecord","processRecord","addRecord","compactRecord","j","k","len1","results","results1","tblCols","isEmptyObject","v","isArray","each","text","Error","prototype","forEachMatchingRecord","criteria","callback","attrs","sortersArr","comparison","r","c","flatColKey","flatRowKey","len2","fromCharCode","agg","pivotUtilities","pivotData","getClickHandler","spanSize","tbody","td","th","thead","totalAggregator","tr","txt","table","clickCallback","rowValues","colValues","filters","e","document","createElement","className","arr","len","noDraw","stop","parseInt","setAttribute","appendChild","textContent","innerHTML","onclick","pivot","inputOpts","locale","localeDefaults","dataClass","renderer","rendererOptions","error","console","stack","html","hasChildNodes","removeChild","lastChild","append","pivotUI","overwrite","attrLength","attrValues","colOrderArrow","existingOpts","fn1","initialRender","len3","materializedInput","o","ordering","pivotTable","recordsProcessed","refresh","refreshDelayed","rendererControl","rowOrderArrow","shownAttributes","shownInAggregators","shownInDragDrop","tr1","tr2","uiTable","unused","unusedAttrsVerticalAutoCutoff","unusedAttrsVerticalAutoOverride","hiddenAttributes","hiddenFromAggregators","hiddenFromDragDrop","menuLimit","exclusions","inclusions","unusedAttrsVertical","autoSortUnusedAttrs","onRefresh","showUI","base","class","addClass","appendTo","attrElem","checkContainer","closeFilterBox","controls","filterItem","filterItemExcluded","finalButtons","hasExcludedItem","placeholder","triangleLink","valueCount","valueList","values","hide","accept","accept_gen","trim","accepted","real_filter","substring","find","parent","show","prop","toggleClass","removeClass","left","top","currentTarget","position","css","key_a_to_z","rowSymbol","colSymbol","next","value_a_to_z","value_z_to_a","role","prepend","inArray","rendererName","len4","newDropdown","numInputsToProcess","pivotUIOptions","pvtVals","subopts","t","u","unusedAttrsContainer","remove","not","excludedItems","inclusionsInfo","children","setTimeout","sortable","update","ui","sender","connectWith","items","scope","colorScaleGenerator","heatmapper","numCols","numRows","nonRed","round","colorScale","forEachCell","elem","barcharter","range","bBase","bgColor","wrapper","height","bottom","right","background-color","padding-left","padding-right","padding","padding-top","text-align"],"mappings":"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","file":"pivot.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 ###\n Utilities\n ###\n\n addSeparators = (nStr, thousandsSep, decimalSep) ->\n nStr += ''\n x = nStr.split('.')\n x1 = x[0]\n x2 = if x.length > 1 then decimalSep + x[1] else ''\n rgx = /(\\d+)(\\d{3})/\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2') while rgx.test(x1)\n return x1 + x2\n\n numberFormat = (opts) ->\n defaults =\n digitsAfterDecimal: 2, scaler: 1,\n thousandsSep: \",\", decimalSep: \".\"\n prefix: \"\", suffix: \"\"\n opts = $.extend({}, defaults, opts)\n (x) ->\n return \"\" if isNaN(x) or not isFinite(x)\n result = addSeparators (opts.scaler*x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep\n return \"\"+opts.prefix+result+opts.suffix\n\n #aggregator templates default to US number formatting but this is overrideable\n usFmt = numberFormat()\n usFmtInt = numberFormat(digitsAfterDecimal: 0)\n usFmtPct = numberFormat(digitsAfterDecimal:1, scaler: 100, suffix: \"%\")\n\n aggregatorTemplates =\n count: (formatter=usFmtInt) -> () -> (data, rowKey, colKey) ->\n count: 0\n push: -> @count++\n value: -> @count\n format: formatter\n\n uniques: (fn, formatter=usFmtInt) -> ([attr]) -> (data, rowKey, colKey) ->\n uniq: []\n push: (record) -> @uniq.push(record[attr]) if record[attr] not in @uniq\n value: -> fn(@uniq)\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sum: (formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n sum: 0\n push: (record) -> @sum += parseFloat(record[attr]) if not isNaN parseFloat(record[attr])\n value: -> @sum\n format: formatter\n numInputs: if attr? then 0 else 1\n\n extremes: (mode, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n val: null\n sorter: getSort(data?.sorters, attr)\n push: (record) ->\n x = record[attr]\n if mode in [\"min\", \"max\"]\n x = parseFloat(x)\n if not isNaN x then @val = Math[mode](x, @val ? x)\n if mode == \"first\" then @val = x if @sorter(x, @val ? x) <= 0\n if mode == \"last\" then @val = x if @sorter(x, @val ? x) >= 0\n value: -> @val\n format: (x) -> if isNaN(x) then x else formatter(x)\n numInputs: if attr? then 0 else 1\n\n quantile: (q, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n vals: []\n push: (record) ->\n x = parseFloat(record[attr])\n @vals.push(x) if not isNaN(x)\n value: ->\n return null if @vals.length == 0\n @vals.sort((a,b) -> a-b)\n i = (@vals.length-1)*q\n return (@vals[Math.floor(i)] + @vals[Math.ceil(i)])/2.0\n format: formatter\n numInputs: if attr? then 0 else 1\n\n runningStat: (mode=\"mean\", ddof=1, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n n: 0.0, m: 0.0, s: 0.0\n push: (record) ->\n x = parseFloat(record[attr])\n return if isNaN(x)\n @n += 1.0\n if @n == 1.0\n @m = x\n else\n m_new = @m + (x - @m)/@n\n @s = @s + (x - @m)*(x - m_new)\n @m = m_new\n value: ->\n if mode == \"mean\"\n return if @n == 0 then 0/0 else @m\n return 0 if @n <= ddof\n switch mode\n when \"var\" then @s/(@n-ddof)\n when \"stdev\" then Math.sqrt(@s/(@n-ddof))\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sumOverSum: (formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: -> @sumNum/@sumDenom\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n sumOverSumBound80: (upper=true, formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: ->\n sign = if upper then 1 else -1\n (0.821187207574908/@sumDenom + @sumNum/@sumDenom + 1.2815515655446004*sign*\n Math.sqrt(0.410593603787454/ (@sumDenom*@sumDenom) + (@sumNum*(1 - @sumNum/ @sumDenom))/ (@sumDenom*@sumDenom)))/\n (1 + 1.642374415149816/@sumDenom)\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n fractionOf: (wrapped, type=\"total\", formatter=usFmtPct) -> (x...) -> (data, rowKey, colKey) ->\n selector: {total:[[],[]],row:[rowKey,[]],col:[[],colKey]}[type]\n inner: wrapped(x...)(data, rowKey, colKey)\n push: (record) -> @inner.push record\n format: formatter\n value: -> @inner.value() / data.getAggregator(@selector...).inner.value()\n numInputs: wrapped(x...)().numInputs\n\n aggregatorTemplates.countUnique = (f) -> aggregatorTemplates.uniques(((x) -> x.length), f)\n aggregatorTemplates.listUnique = (s) -> aggregatorTemplates.uniques(((x) -> x.sort(naturalSort).join(s)), ((x)->x))\n aggregatorTemplates.max = (f) -> aggregatorTemplates.extremes('max', f)\n aggregatorTemplates.min = (f) -> aggregatorTemplates.extremes('min', f)\n aggregatorTemplates.first = (f) -> aggregatorTemplates.extremes('first', f)\n aggregatorTemplates.last = (f) -> aggregatorTemplates.extremes('last', f)\n aggregatorTemplates.median = (f) -> aggregatorTemplates.quantile(0.5, f)\n aggregatorTemplates.average = (f) -> aggregatorTemplates.runningStat(\"mean\", 1, f)\n aggregatorTemplates.var = (ddof, f) -> aggregatorTemplates.runningStat(\"var\", ddof, f)\n aggregatorTemplates.stdev = (ddof, f) -> aggregatorTemplates.runningStat(\"stdev\", ddof, f)\n\n #default aggregators & renderers use US naming and number formatting\n aggregators = do (tpl = aggregatorTemplates) ->\n \"Count\": tpl.count(usFmtInt)\n \"Count Unique Values\": tpl.countUnique(usFmtInt)\n \"List Unique Values\": tpl.listUnique(\", \")\n \"Sum\": tpl.sum(usFmt)\n \"Integer Sum\": tpl.sum(usFmtInt)\n \"Average\": tpl.average(usFmt)\n \"Median\": tpl.median(usFmt)\n \"Sample Variance\": tpl.var(1, usFmt)\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt)\n \"Minimum\": tpl.min(usFmt)\n \"Maximum\": tpl.max(usFmt)\n \"First\": tpl.first(usFmt)\n \"Last\": tpl.last(usFmt)\n \"Sum over Sum\": tpl.sumOverSum(usFmt)\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt)\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt)\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct)\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct)\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct)\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct)\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct)\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n\n renderers =\n \"Table\": (data, opts) -> pivotTableRenderer(data, opts)\n \"Table Barchart\": (data, opts) -> $(pivotTableRenderer(data, opts)).barchart()\n \"Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts)\n \"Row Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts)\n \"Col Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts)\n\n locales =\n en:\n aggregators: aggregators\n renderers: renderers\n localeStrings:\n renderError: \"An error occurred rendering the PivotTable results.\"\n computeError: \"An error occurred computing the PivotTable results.\"\n uiRenderError: \"An error occurred rendering the PivotTable UI.\"\n selectAll: \"Select All\"\n selectNone: \"Select None\"\n tooMany: \"(too many to list)\"\n filterResults: \"Filter values\"\n apply: \"Apply\"\n cancel: \"Cancel\"\n totals: \"Totals\" #for table renderer\n vs: \"vs\" #for gchart renderer\n by: \"by\" #for gchart renderer\n\n #dateFormat deriver l10n requires month and day names to be passed in directly\n mthNamesEn = [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]\n dayNamesEn = [\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]\n zeroPad = (number) -> (\"0\"+number).substr(-2,2)\n\n derivers =\n bin: (col, binWidth) -> (record) -> record[col] - record[col] % binWidth\n dateFormat: (col, formatString, utcOutput=false, mthNames=mthNamesEn, dayNames=dayNamesEn) ->\n utc = if utcOutput then \"UTC\" else \"\"\n (record) -> #thanks http://stackoverflow.com/a/12213072/112871\n date = new Date(Date.parse(record[col]))\n if isNaN(date) then return \"\"\n formatString.replace /%(.)/g, (m, p) ->\n switch p\n when \"y\" then date[\"get#{utc}FullYear\"]()\n when \"m\" then zeroPad(date[\"get#{utc}Month\"]()+1)\n when \"n\" then mthNames[date[\"get#{utc}Month\"]()]\n when \"d\" then zeroPad(date[\"get#{utc}Date\"]())\n when \"w\" then dayNames[date[\"get#{utc}Day\"]()]\n when \"x\" then date[\"get#{utc}Day\"]()\n when \"H\" then zeroPad(date[\"get#{utc}Hours\"]())\n when \"M\" then zeroPad(date[\"get#{utc}Minutes\"]())\n when \"S\" then zeroPad(date[\"get#{utc}Seconds\"]())\n else \"%\" + p\n\n rx = /(\\d+)|(\\D+)/g\n rd = /\\d/\n rz = /^0/\n naturalSort = (as, bs) =>\n #nulls first\n return -1 if bs? and not as?\n return 1 if as? and not bs?\n\n #then raw NaNs\n return -1 if typeof as == \"number\" and isNaN(as)\n return 1 if typeof bs == \"number\" and isNaN(bs)\n\n #numbers and numbery strings group together\n nas = +as\n nbs = +bs\n return -1 if nas < nbs\n return 1 if nas > nbs\n\n #within that, true numbers before numbery strings\n return -1 if typeof as == \"number\" and typeof bs != \"number\"\n return 1 if typeof bs == \"number\" and typeof as != \"number\"\n return 0 if typeof as == \"number\" and typeof bs == \"number\"\n\n # 'Infinity' is a textual number, so less than 'A'\n return -1 if isNaN(nbs) and not isNaN(nas)\n return 1 if isNaN(nas) and not isNaN(nbs)\n\n #finally, \"smart\" string sorting per http://stackoverflow.com/a/4373421/112871\n a = String(as)\n b = String(bs)\n return 0 if a == b\n return (if a > b then 1 else -1) unless rd.test(a) and rd.test(b)\n\n #special treatment for strings containing digits\n a = a.match(rx) #create digits vs non-digit chunks and iterate through\n b = b.match(rx)\n while a.length and b.length\n a1 = a.shift()\n b1 = b.shift()\n if a1 != b1\n if rd.test(a1) and rd.test(b1) #both are digit chunks\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\")\n else\n return (if a1 > b1 then 1 else -1)\n return a.length - b.length\n\n sortAs = (order) ->\n mapping = {}\n l_mapping = {} # sort lowercased keys similarly\n for i, x of order\n mapping[x] = i\n l_mapping[x.toLowerCase()] = i if typeof x == \"string\"\n (a, b) ->\n if mapping[a]? and mapping[b]? then mapping[a] - mapping[b]\n else if mapping[a]? then -1\n else if mapping[b]? then 1\n else if l_mapping[a]? and l_mapping[b]? then l_mapping[a] - l_mapping[b]\n else if l_mapping[a]? then -1\n else if l_mapping[b]? then 1\n else naturalSort(a,b)\n\n getSort = (sorters, attr) ->\n if sorters?\n if $.isFunction(sorters)\n sort = sorters(attr)\n return sort if $.isFunction(sort)\n else if sorters[attr]?\n return sorters[attr]\n return naturalSort\n\n ###\n Data Model class\n ###\n\n class PivotData\n constructor: (input, opts = {}) ->\n @input = input\n @aggregator = opts.aggregator ? aggregatorTemplates.count()()\n @aggregatorName = opts.aggregatorName ? \"Count\"\n @colAttrs = opts.cols ? []\n @rowAttrs = opts.rows ? []\n @valAttrs = opts.vals ? []\n @sorters = opts.sorters ? {}\n @rowOrder = opts.rowOrder ? \"key_a_to_z\"\n @colOrder = opts.colOrder ? \"key_a_to_z\"\n @derivedAttributes = opts.derivedAttributes ? {}\n @filter = opts.filter ? (-> true)\n @tree = {}\n @rowKeys = []\n @colKeys = []\n @rowTotals = {}\n @colTotals = {}\n @allTotal = @aggregator(this, [], [])\n @sorted = false\n\n # iterate through input, accumulating data for cells\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n @processRecord(record) if @filter(record)\n\n #can handle arrays or jQuery selections of tables\n @forEachRecord = (input, derivedAttributes, f) ->\n if $.isEmptyObject derivedAttributes\n addRecord = f\n else\n addRecord = (record) ->\n record[k] = v(record) ? record[k] for k, v of derivedAttributes\n f(record)\n\n #if it's a function, have it call us back\n if $.isFunction(input)\n input(addRecord)\n else if $.isArray(input)\n if $.isArray(input[0]) #array of arrays\n for own i, compactRecord of input when i > 0\n record = {}\n record[k] = compactRecord[j] for own j, k of input[0]\n addRecord(record)\n else #array of objects\n addRecord(record) for record in input\n else if input instanceof $\n tblCols = []\n $(\"thead > tr > th\", input).each (i) -> tblCols.push $(this).text()\n $(\"tbody > tr\", input).each (i) ->\n record = {}\n $(\"td\", this).each (j) -> record[tblCols[j]] = $(this).text()\n addRecord(record)\n else\n throw new Error(\"unknown input format\")\n\n forEachMatchingRecord: (criteria, callback) ->\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n return if not @filter(record)\n for k, v of criteria\n return if v != (record[k] ? \"null\")\n callback(record)\n\n arrSort: (attrs) =>\n sortersArr = (getSort(@sorters, a) for a in attrs)\n (a,b) ->\n for own i, sorter of sortersArr\n comparison = sorter(a[i], b[i])\n return comparison if comparison != 0\n return 0\n\n sortKeys: () =>\n if not @sorted\n @sorted = true\n v = (r,c) => @getAggregator(r,c).value()\n switch @rowOrder\n when \"value_a_to_z\" then @rowKeys.sort (a,b) => naturalSort v(a,[]), v(b,[])\n when \"value_z_to_a\" then @rowKeys.sort (a,b) => -naturalSort v(a,[]), v(b,[])\n else @rowKeys.sort @arrSort(@rowAttrs)\n switch @colOrder\n when \"value_a_to_z\" then @colKeys.sort (a,b) => naturalSort v([],a), v([],b)\n when \"value_z_to_a\" then @colKeys.sort (a,b) => -naturalSort v([],a), v([],b)\n else @colKeys.sort @arrSort(@colAttrs)\n\n getColKeys: () =>\n @sortKeys()\n return @colKeys\n\n getRowKeys: () =>\n @sortKeys()\n return @rowKeys\n\n processRecord: (record) -> #this code is called in a tight loop\n colKey = []\n rowKey = []\n colKey.push record[x] ? \"null\" for x in @colAttrs\n rowKey.push record[x] ? \"null\" for x in @rowAttrs\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n\n @allTotal.push record\n\n if rowKey.length != 0\n if not @rowTotals[flatRowKey]\n @rowKeys.push rowKey\n @rowTotals[flatRowKey] = @aggregator(this, rowKey, [])\n @rowTotals[flatRowKey].push record\n\n if colKey.length != 0\n if not @colTotals[flatColKey]\n @colKeys.push colKey\n @colTotals[flatColKey] = @aggregator(this, [], colKey)\n @colTotals[flatColKey].push record\n\n if colKey.length != 0 and rowKey.length != 0\n if not @tree[flatRowKey]\n @tree[flatRowKey] = {}\n if not @tree[flatRowKey][flatColKey]\n @tree[flatRowKey][flatColKey] = @aggregator(this, rowKey, colKey)\n @tree[flatRowKey][flatColKey].push record\n\n getAggregator: (rowKey, colKey) =>\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n if rowKey.length == 0 and colKey.length == 0\n agg = @allTotal\n else if rowKey.length == 0\n agg = @colTotals[flatColKey]\n else if colKey.length == 0\n agg = @rowTotals[flatRowKey]\n else\n agg = @tree[flatRowKey][flatColKey]\n return agg ? {value: (-> null), format: -> \"\"}\n\n #expose these to the outside world\n $.pivotUtilities = {aggregatorTemplates, aggregators, renderers, derivers, locales,\n naturalSort, numberFormat, sortAs, PivotData}\n\n ###\n Default Renderer for hierarchical table layout\n ###\n\n pivotTableRenderer = (pivotData, opts) ->\n\n defaults =\n table:\n clickCallback: null\n rowTotals: true\n colTotals: true\n localeStrings: totals: \"Totals\"\n\n opts = $.extend(true, {}, defaults, opts)\n\n colAttrs = pivotData.colAttrs\n rowAttrs = pivotData.rowAttrs\n rowKeys = pivotData.getRowKeys()\n colKeys = pivotData.getColKeys()\n\n if opts.table.clickCallback\n getClickHandler = (value, rowValues, colValues) ->\n filters = {}\n filters[attr] = colValues[i] for own i, attr of colAttrs when colValues[i]?\n filters[attr] = rowValues[i] for own i, attr of rowAttrs when rowValues[i]?\n return (e) -> opts.table.clickCallback(e, value, filters, pivotData)\n\n #now actually build the output\n result = document.createElement(\"table\")\n result.className = \"pvtTable\"\n\n #helper function for setting row/col-span in pivotTableRenderer\n spanSize = (arr, i, j) ->\n if i != 0\n noDraw = true\n for x in [0..j]\n if arr[i-1][x] != arr[i][x]\n noDraw = false\n if noDraw\n return -1 #do not draw cell\n len = 0\n while i+len < arr.length\n stop = false\n for x in [0..j]\n stop = true if arr[i][x] != arr[i+len][x]\n break if stop\n len++\n return len\n\n #the first few rows are for col headers\n thead = document.createElement(\"thead\")\n for own j, c of colAttrs\n tr = document.createElement(\"tr\")\n if parseInt(j) == 0 and rowAttrs.length != 0\n th = document.createElement(\"th\")\n th.setAttribute(\"colspan\", rowAttrs.length)\n th.setAttribute(\"rowspan\", colAttrs.length)\n tr.appendChild th\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = c\n tr.appendChild th\n for own i, colKey of colKeys\n x = spanSize(colKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtColLabel\"\n th.textContent = colKey[j]\n th.setAttribute(\"colspan\", x)\n if parseInt(j) == colAttrs.length-1 and rowAttrs.length != 0\n th.setAttribute(\"rowspan\", 2)\n tr.appendChild th\n if parseInt(j) == 0 && opts.table.rowTotals\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"rowspan\", colAttrs.length + (if rowAttrs.length ==0 then 0 else 1))\n tr.appendChild th\n thead.appendChild tr\n\n #then a row for row header headers\n if rowAttrs.length !=0\n tr = document.createElement(\"tr\")\n for own i, r of rowAttrs\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = r\n tr.appendChild th\n th = document.createElement(\"th\")\n if colAttrs.length ==0\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n tr.appendChild th\n thead.appendChild tr\n result.appendChild thead\n\n #now the actual data rows, with their row headers and totals\n tbody = document.createElement(\"tbody\")\n for own i, rowKey of rowKeys\n tr = document.createElement(\"tr\")\n for own j, txt of rowKey\n x = spanSize(rowKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtRowLabel\"\n th.textContent = txt\n th.setAttribute(\"rowspan\", x)\n if parseInt(j) == rowAttrs.length-1 and colAttrs.length !=0\n th.setAttribute(\"colspan\",2)\n tr.appendChild th\n for own j, colKey of colKeys #this is the tight loop\n aggregator = pivotData.getAggregator(rowKey, colKey)\n val = aggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtVal row#{i} col#{j}\"\n td.textContent = aggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, colKey)\n tr.appendChild td\n\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator(rowKey, [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal rowTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, [])\n td.setAttribute(\"data-for\", \"row\"+i)\n tr.appendChild td\n tbody.appendChild tr\n\n #finally, the row for col totals, and a grand total\n if opts.table.colTotals || rowAttrs.length == 0\n tr = document.createElement(\"tr\")\n if opts.table.colTotals || rowAttrs.length == 0\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtColTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"colspan\", rowAttrs.length + (if colAttrs.length == 0 then 0 else 1))\n tr.appendChild th\n for own j, colKey of colKeys\n totalAggregator = pivotData.getAggregator([], colKey)\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal colTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], colKey)\n td.setAttribute(\"data-for\", \"col\"+j)\n tr.appendChild td\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator([], [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtGrandTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], [])\n tr.appendChild td\n tbody.appendChild tr\n result.appendChild tbody\n\n #squirrel this away for later\n result.setAttribute(\"data-numrows\", rowKeys.length)\n result.setAttribute(\"data-numcols\", colKeys.length)\n\n return result\n\n ###\n Pivot Table core: create PivotData object and call Renderer on it\n ###\n\n $.fn.pivot = (input, inputOpts, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n cols : [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n filter: -> true\n aggregator: aggregatorTemplates.count()()\n aggregatorName: \"Count\"\n sorters: {}\n derivedAttributes: {}\n renderer: pivotTableRenderer\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n\n result = null\n try\n pivotData = new opts.dataClass(input, opts)\n try\n result = opts.renderer(pivotData, opts.rendererOptions)\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.renderError\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.computeError\n\n x = this[0]\n x.removeChild(x.lastChild) while x.hasChildNodes()\n return @append result\n\n\n ###\n Pivot Table UI: calls Pivot Table core above with options set by user\n ###\n\n $.fn.pivotUI = (input, inputOpts, overwrite = false, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n derivedAttributes: {}\n aggregators: locales[locale].aggregators\n renderers: locales[locale].renderers\n hiddenAttributes: []\n hiddenFromAggregators: []\n hiddenFromDragDrop: []\n menuLimit: 500\n cols: [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n exclusions: {}\n inclusions: {}\n unusedAttrsVertical: 85\n autoSortUnusedAttrs: false\n onRefresh: null\n showUI: true\n filter: -> true\n sorters: {}\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n existingOpts = @data \"pivotUIOptions\"\n if not existingOpts? or overwrite\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n else\n opts = existingOpts\n\n try\n # do a first pass on the data to cache a materialized copy of any\n # function-valued inputs and to compute dimension cardinalities\n attrValues = {}\n materializedInput = []\n recordsProcessed = 0\n PivotData.forEachRecord input, opts.derivedAttributes, (record) ->\n return unless opts.filter(record)\n materializedInput.push(record)\n for own attr of record\n if not attrValues[attr]?\n attrValues[attr] = {}\n if recordsProcessed > 0\n attrValues[attr][\"null\"] = recordsProcessed\n for attr of attrValues\n value = record[attr] ? \"null\"\n attrValues[attr][value] ?= 0\n attrValues[attr][value]++\n recordsProcessed++\n\n #start building the output\n uiTable = $(\"\", \"class\": \"pvtUi\").attr(\"cellpadding\", 5)\n\n #renderer control\n rendererControl = $(\"\").addClass(\"pvtUiCell\")\n\n renderer = $(\"\")\n .addClass('pvtRenderer')\n .appendTo(rendererControl)\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.renderers\n $(\"\").val(x).html(x).appendTo(renderer)\n\n\n #axis list, including the double-click menu\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell')\n shownAttributes = (a for a of attrValues when a not in opts.hiddenAttributes)\n shownInAggregators = (c for c in shownAttributes when c not in opts.hiddenFromAggregators)\n shownInDragDrop = (c for c in shownAttributes when c not in opts.hiddenFromDragDrop)\n\n\n unusedAttrsVerticalAutoOverride = false\n if opts.unusedAttrsVertical == \"auto\"\n unusedAttrsVerticalAutoCutoff = 120 # legacy support\n else\n unusedAttrsVerticalAutoCutoff = parseInt opts.unusedAttrsVertical\n\n if not isNaN(unusedAttrsVerticalAutoCutoff)\n attrLength = 0\n attrLength += a.length for a in shownInDragDrop\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff\n\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n unused.addClass('pvtVertList')\n else\n unused.addClass('pvtHorizList')\n\n for own i, attr of shownInDragDrop\n do (attr) ->\n values = (v for v of attrValues[attr])\n hasExcludedItem = false\n valueList = $(\"\").addClass('pvtFilterBox').hide()\n\n valueList.append $(\"\").append(\n $(\"\").text(attr),\n $(\"\").addClass(\"count\").text(\"(#{values.length})\"),\n )\n if values.length > opts.menuLimit\n valueList.append $(\"\").html(opts.localeStrings.tooMany)\n else\n if values.length > 5\n controls = $(\"\").appendTo(valueList)\n sorter = getSort(opts.sorters, attr)\n placeholder = opts.localeStrings.filterResults\n $(\"\", {type: \"text\"}).appendTo(controls)\n .attr({placeholder: placeholder, class: \"pvtSearch\"})\n .bind \"keyup\", ->\n filter = $(this).val().toLowerCase().trim()\n accept_gen = (prefix, accepted) -> (v) ->\n real_filter = filter.substring(prefix.length).trim()\n return true if real_filter.length == 0\n return Math.sign(sorter(v.toLowerCase(), real_filter)) in accepted\n accept =\n if filter.indexOf(\">=\") == 0 then accept_gen(\">=\", [1,0])\n else if filter.indexOf(\"<=\") == 0 then accept_gen(\"<=\", [-1,0])\n else if filter.indexOf(\">\") == 0 then accept_gen(\">\", [1])\n else if filter.indexOf(\"<\") == 0 then accept_gen(\"<\", [-1])\n else if filter.indexOf(\"~\") == 0 then (v) ->\n return true if filter.substring(1).trim().length == 0\n v.toLowerCase().match(filter.substring(1))\n else (v) -> v.toLowerCase().indexOf(filter) != -1\n\n valueList.find('.pvtCheckContainer p label span.value').each ->\n if accept($(this).text())\n $(this).parent().parent().show()\n else\n $(this).parent().parent().hide()\n controls.append $(\"\")\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectAll)\n .bind \"click\", ->\n valueList.find(\"input:visible:not(:checked)\")\n .prop(\"checked\", true).toggleClass(\"changed\")\n return false\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectNone)\n .bind \"click\", ->\n valueList.find(\"input:visible:checked\")\n .prop(\"checked\", false).toggleClass(\"changed\")\n return false\n\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList)\n\n for value in values.sort(getSort(opts.sorters, attr))\n valueCount = attrValues[attr][value]\n filterItem = $(\"\")\n filterItemExcluded = false\n if opts.inclusions[attr]\n filterItemExcluded = (value not in opts.inclusions[attr])\n else if opts.exclusions[attr]\n filterItemExcluded = (value in opts.exclusions[attr])\n hasExcludedItem ||= filterItemExcluded\n $(\"\")\n .attr(\"type\", \"checkbox\").addClass('pvtFilter')\n .attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr,value])\n .appendTo(filterItem)\n .bind \"change\", -> $(this).toggleClass(\"changed\")\n filterItem.append $(\"\").addClass(\"value\").text(value)\n filterItem.append $(\"\").addClass(\"count\").text(\"(\"+valueCount+\")\")\n checkContainer.append $(\"\").append(filterItem)\n\n closeFilterBox = ->\n if valueList.find(\"[type='checkbox']\").length >\n valueList.find(\"[type='checkbox']:checked\").length\n attrElem.addClass \"pvtFilteredAttribute\"\n else\n attrElem.removeClass \"pvtFilteredAttribute\"\n\n valueList.find('.pvtSearch').val('')\n valueList.find('.pvtCheckContainer p').show()\n valueList.hide()\n\n finalButtons = $(\"\").appendTo(valueList)\n\n if values.length <= opts.menuLimit\n $(\"\", {type: \"button\"}).text(opts.localeStrings.apply)\n .appendTo(finalButtons).bind \"click\", ->\n if valueList.find(\".changed\").removeClass(\"changed\").length\n refresh()\n closeFilterBox()\n\n $(\"\", {type: \"button\"}).text(opts.localeStrings.cancel)\n .appendTo(finalButtons).bind \"click\", ->\n valueList.find(\".changed:checked\")\n .removeClass(\"changed\").prop(\"checked\", false)\n valueList.find(\".changed:not(:checked)\")\n .removeClass(\"changed\").prop(\"checked\", true)\n closeFilterBox()\n\n triangleLink = $(\"\").addClass('pvtTriangle')\n .html(\" ▾\").bind \"click\", (e) ->\n {left, top} = $(e.currentTarget).position()\n valueList.css(left: left+10, top: top+10).show()\n\n attrElem = $(\"\").addClass(\"axis_#{i}\")\n .append $(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink)\n\n attrElem.addClass('pvtFilteredAttribute') if hasExcludedItem\n unused.append(attrElem).append(valueList)\n\n tr1 = $(\"\").appendTo(uiTable)\n\n #aggregator menu and value area\n\n aggregator = $(\"\").addClass('pvtAggregator')\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.aggregators\n aggregator.append $(\"\").val(x).html(x)\n\n ordering =\n key_a_to_z: {rowSymbol: \"↕\", colSymbol: \"↔\", next: \"value_a_to_z\"}\n value_a_to_z: {rowSymbol: \"↓\", colSymbol: \"→\", next: \"value_z_to_a\"}\n value_z_to_a: {rowSymbol: \"↑\", colSymbol: \"←\", next: \"key_a_to_z\"}\n\n rowOrderArrow = $(\"\", role: \"button\").addClass(\"pvtRowOrder\")\n .data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol)\n refresh()\n\n colOrderArrow = $(\"\", role: \"button\").addClass(\"pvtColOrder\")\n .data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].colSymbol)\n refresh()\n\n $(\"\").addClass('pvtVals pvtUiCell')\n .appendTo(tr1)\n .append(aggregator)\n .append(rowOrderArrow)\n .append(colOrderArrow)\n .append($(\"\"))\n\n #column axes\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1)\n\n tr2 = $(\"\").appendTo(uiTable)\n\n #row axes\n tr2.append $(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\")\n\n #the actual pivot table container\n pivotTable = $(\"\")\n .attr(\"valign\", \"top\")\n .addClass('pvtRendererArea')\n .appendTo(tr2)\n\n #finally the renderer dropdown and unused attribs are inserted at the requested location\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n uiTable.find('tr:nth-child(1)').prepend rendererControl\n uiTable.find('tr:nth-child(2)').prepend unused\n else\n uiTable.prepend $(\"\").append(rendererControl).append(unused)\n\n #render the UI in its default state\n @html uiTable\n\n #set up the UI initial state as requested by moving elements around\n\n for x in opts.cols\n @find(\".pvtCols\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n for x in opts.rows\n @find(\".pvtRows\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n if opts.aggregatorName?\n @find(\".pvtAggregator\").val opts.aggregatorName\n if opts.rendererName?\n @find(\".pvtRenderer\").val opts.rendererName\n\n @find(\".pvtUiCell\").hide() unless opts.showUI\n\n initialRender = true\n\n #set up for refreshing\n refreshDelayed = =>\n subopts =\n derivedAttributes: opts.derivedAttributes\n localeStrings: opts.localeStrings\n rendererOptions: opts.rendererOptions\n sorters: opts.sorters\n cols: [], rows: []\n dataClass: opts.dataClass\n\n numInputsToProcess = opts.aggregators[aggregator.val()]([])().numInputs ? 0\n vals = []\n @find(\".pvtRows li span.pvtAttr\").each -> subopts.rows.push $(this).data(\"attrName\")\n @find(\".pvtCols li span.pvtAttr\").each -> subopts.cols.push $(this).data(\"attrName\")\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n if numInputsToProcess == 0\n $(this).remove()\n else\n numInputsToProcess--\n vals.push $(this).val() if $(this).val() != \"\"\n\n if numInputsToProcess != 0\n pvtVals = @find(\".pvtVals\")\n for x in [0...numInputsToProcess]\n newDropdown = $(\"\")\n .addClass('pvtAttrDropdown')\n .append($(\"\"))\n .bind \"change\", -> refresh()\n for attr in shownInAggregators\n newDropdown.append($(\"\").val(attr).text(attr))\n pvtVals.append(newDropdown)\n\n if initialRender\n vals = opts.vals\n i = 0\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n $(this).val vals[i]\n i++\n initialRender = false\n\n subopts.aggregatorName = aggregator.val()\n subopts.vals = vals\n subopts.aggregator = opts.aggregators[aggregator.val()](vals)\n subopts.renderer = opts.renderers[renderer.val()]\n subopts.rowOrder = rowOrderArrow.data(\"order\")\n subopts.colOrder = colOrderArrow.data(\"order\")\n #construct filter here\n exclusions = {}\n @find('input.pvtFilter').not(':checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n exclusions[filter[0]].push( filter[1] )\n else\n exclusions[filter[0]] = [ filter[1] ]\n #include inclusions when exclusions present\n inclusions = {}\n @find('input.pvtFilter:checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n if inclusions[filter[0]]?\n inclusions[filter[0]].push( filter[1] )\n else\n inclusions[filter[0]] = [ filter[1] ]\n\n subopts.filter = (record) ->\n return false if not opts.filter(record)\n for k,excludedItems of exclusions\n return false if \"\"+(record[k] ? 'null') in excludedItems\n return true\n\n pivotTable.pivot(materializedInput,subopts)\n pivotUIOptions = $.extend {}, opts,\n cols: subopts.cols\n rows: subopts.rows\n colOrder: subopts.colOrder\n rowOrder: subopts.rowOrder\n vals: vals\n exclusions: exclusions\n inclusions: inclusions\n inclusionsInfo: inclusions #duplicated for backwards-compatibility\n aggregatorName: aggregator.val()\n rendererName: renderer.val()\n\n @data \"pivotUIOptions\", pivotUIOptions\n\n # if requested make sure unused columns are in alphabetical order\n if opts.autoSortUnusedAttrs\n unusedAttrsContainer = @find(\"td.pvtUnused.pvtAxisContainer\")\n $(unusedAttrsContainer).children(\"li\")\n .sort((a, b) => naturalSort($(a).text(), $(b).text()))\n .appendTo unusedAttrsContainer\n\n pivotTable.css(\"opacity\", 1)\n opts.onRefresh(pivotUIOptions) if opts.onRefresh?\n\n refresh = =>\n pivotTable.css(\"opacity\", 0.5)\n setTimeout refreshDelayed, 10\n\n #the very first refresh will actually display the table\n refresh()\n\n @find(\".pvtAxisContainer\").sortable\n update: (e, ui) -> refresh() if not ui.sender?\n connectWith: @find(\".pvtAxisContainer\")\n items: 'li'\n placeholder: 'pvtPlaceholder'\n catch e\n console.error(e.stack) if console?\n @html opts.localeStrings.uiRenderError\n return this\n\n ###\n Heatmap post-processing\n ###\n\n $.fn.heatmap = (scope = \"heatmap\", opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n # given a series of values\n # must return a function to map a given value to a CSS color\n colorScaleGenerator = opts?.heatmap?.colorScaleGenerator\n colorScaleGenerator ?= (values) ->\n min = Math.min(values...)\n max = Math.max(values...)\n return (x) ->\n nonRed = 255 - Math.round 255*(x-min)/(max-min)\n return \"rgb(255,#{nonRed},#{nonRed})\"\n\n heatmapper = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n colorScale = colorScaleGenerator(values)\n forEachCell (x, elem) -> elem.css \"background-color\", colorScale(x)\n\n switch scope\n when \"heatmap\" then heatmapper \".pvtVal\"\n when \"rowheatmap\" then heatmapper \".pvtVal.row#{i}\" for i in [0...numRows]\n when \"colheatmap\" then heatmapper \".pvtVal.col#{j}\" for j in [0...numCols]\n\n heatmapper \".pvtTotal.rowTotal\"\n heatmapper \".pvtTotal.colTotal\"\n\n return this\n\n ###\n Barchart post-processing\n ###\n\n $.fn.barchart = (opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n barcharter = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n max = Math.max(values...)\n if max < 0\n max = 0\n range = max;\n min = Math.min(values...)\n if min < 0\n range = max - min\n scaler = (x) -> 100*x/(1.4*range)\n forEachCell (x, elem) ->\n text = elem.text()\n wrapper = $(\"\").css\n \"position\": \"relative\"\n \"height\": \"55px\"\n bgColor = \"gray\"\n bBase = 0\n if min < 0\n bBase = scaler(-min)\n if x < 0\n bBase += scaler(x)\n bgColor = \"darkred\"\n x = -x\n wrapper.append $(\"\").css\n \"position\": \"absolute\"\n \"bottom\": bBase + \"%\"\n \"left\": 0\n \"right\": 0\n \"height\": scaler(x) + \"%\"\n \"background-color\": bgColor\n wrapper.append $(\"\").text(text).css\n \"position\":\"relative\"\n \"padding-left\":\"5px\"\n \"padding-right\":\"5px\"\n\n elem.css(\"padding\": 0,\"padding-top\": \"5px\", \"text-align\": \"center\").html wrapper\n\n barcharter \".pvtVal.row#{i}\" for i in [0...numRows]\n barcharter \".pvtTotal.colTotal\"\n\n return this\n","(function() {\n var callWithJQuery,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },\n slice = [].slice,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n hasProp = {}.hasOwnProperty;\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\n /*\n Utilities\n */\n var PivotData, addSeparators, aggregatorTemplates, aggregators, dayNamesEn, derivers, getSort, locales, mthNamesEn, naturalSort, numberFormat, pivotTableRenderer, rd, renderers, rx, rz, sortAs, usFmt, usFmtInt, usFmtPct, zeroPad;\n addSeparators = function(nStr, thousandsSep, decimalSep) {\n var rgx, x, x1, x2;\n nStr += '';\n x = nStr.split('.');\n x1 = x[0];\n x2 = x.length > 1 ? decimalSep + x[1] : '';\n rgx = /(\\d+)(\\d{3})/;\n while (rgx.test(x1)) {\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2');\n }\n return x1 + x2;\n };\n numberFormat = function(opts) {\n var defaults;\n defaults = {\n digitsAfterDecimal: 2,\n scaler: 1,\n thousandsSep: \",\",\n decimalSep: \".\",\n prefix: \"\",\n suffix: \"\"\n };\n opts = $.extend({}, defaults, opts);\n return function(x) {\n var result;\n if (isNaN(x) || !isFinite(x)) {\n return \"\";\n }\n result = addSeparators((opts.scaler * x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep);\n return \"\" + opts.prefix + result + opts.suffix;\n };\n };\n usFmt = numberFormat();\n usFmtInt = numberFormat({\n digitsAfterDecimal: 0\n });\n usFmtPct = numberFormat({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\"\n });\n aggregatorTemplates = {\n count: function(formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function() {\n return function(data, rowKey, colKey) {\n return {\n count: 0,\n push: function() {\n return this.count++;\n },\n value: function() {\n return this.count;\n },\n format: formatter\n };\n };\n };\n },\n uniques: function(fn, formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n uniq: [],\n push: function(record) {\n var ref;\n if (ref = record[attr], indexOf.call(this.uniq, ref) < 0) {\n return this.uniq.push(record[attr]);\n }\n },\n value: function() {\n return fn(this.uniq);\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n sum: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[attr]))) {\n return this.sum += parseFloat(record[attr]);\n }\n },\n value: function() {\n return this.sum;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n extremes: function(mode, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n val: null,\n sorter: getSort(data != null ? data.sorters : void 0, attr),\n push: function(record) {\n var ref, ref1, ref2, x;\n x = record[attr];\n if (mode === \"min\" || mode === \"max\") {\n x = parseFloat(x);\n if (!isNaN(x)) {\n this.val = Math[mode](x, (ref = this.val) != null ? ref : x);\n }\n }\n if (mode === \"first\") {\n if (this.sorter(x, (ref1 = this.val) != null ? ref1 : x) <= 0) {\n this.val = x;\n }\n }\n if (mode === \"last\") {\n if (this.sorter(x, (ref2 = this.val) != null ? ref2 : x) >= 0) {\n return this.val = x;\n }\n }\n },\n value: function() {\n return this.val;\n },\n format: function(x) {\n if (isNaN(x)) {\n return x;\n } else {\n return formatter(x);\n }\n },\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n quantile: function(q, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n vals: [],\n push: function(record) {\n var x;\n x = parseFloat(record[attr]);\n if (!isNaN(x)) {\n return this.vals.push(x);\n }\n },\n value: function() {\n var i;\n if (this.vals.length === 0) {\n return null;\n }\n this.vals.sort(function(a, b) {\n return a - b;\n });\n i = (this.vals.length - 1) * q;\n return (this.vals[Math.floor(i)] + this.vals[Math.ceil(i)]) / 2.0;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n runningStat: function(mode, ddof, formatter) {\n if (mode == null) {\n mode = \"mean\";\n }\n if (ddof == null) {\n ddof = 1;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n n: 0.0,\n m: 0.0,\n s: 0.0,\n push: function(record) {\n var m_new, x;\n x = parseFloat(record[attr]);\n if (isNaN(x)) {\n return;\n }\n this.n += 1.0;\n if (this.n === 1.0) {\n return this.m = x;\n } else {\n m_new = this.m + (x - this.m) / this.n;\n this.s = this.s + (x - this.m) * (x - m_new);\n return this.m = m_new;\n }\n },\n value: function() {\n if (mode === \"mean\") {\n if (this.n === 0) {\n return 0 / 0;\n } else {\n return this.m;\n }\n }\n if (this.n <= ddof) {\n return 0;\n }\n switch (mode) {\n case \"var\":\n return this.s / (this.n - ddof);\n case \"stdev\":\n return Math.sqrt(this.s / (this.n - ddof));\n }\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sumOverSum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n return this.sumNum / this.sumDenom;\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n sumOverSumBound80: function(upper, formatter) {\n if (upper == null) {\n upper = true;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n var sign;\n sign = upper ? 1 : -1;\n return (0.821187207574908 / this.sumDenom + this.sumNum / this.sumDenom + 1.2815515655446004 * sign * Math.sqrt(0.410593603787454 / (this.sumDenom * this.sumDenom) + (this.sumNum * (1 - this.sumNum / this.sumDenom)) / (this.sumDenom * this.sumDenom))) / (1 + 1.642374415149816 / this.sumDenom);\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n fractionOf: function(wrapped, type, formatter) {\n if (type == null) {\n type = \"total\";\n }\n if (formatter == null) {\n formatter = usFmtPct;\n }\n return function() {\n var x;\n x = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return function(data, rowKey, colKey) {\n return {\n selector: {\n total: [[], []],\n row: [rowKey, []],\n col: [[], colKey]\n }[type],\n inner: wrapped.apply(null, x)(data, rowKey, colKey),\n push: function(record) {\n return this.inner.push(record);\n },\n format: formatter,\n value: function() {\n return this.inner.value() / data.getAggregator.apply(data, this.selector).inner.value();\n },\n numInputs: wrapped.apply(null, x)().numInputs\n };\n };\n };\n }\n };\n aggregatorTemplates.countUnique = function(f) {\n return aggregatorTemplates.uniques((function(x) {\n return x.length;\n }), f);\n };\n aggregatorTemplates.listUnique = function(s) {\n return aggregatorTemplates.uniques((function(x) {\n return x.sort(naturalSort).join(s);\n }), (function(x) {\n return x;\n }));\n };\n aggregatorTemplates.max = function(f) {\n return aggregatorTemplates.extremes('max', f);\n };\n aggregatorTemplates.min = function(f) {\n return aggregatorTemplates.extremes('min', f);\n };\n aggregatorTemplates.first = function(f) {\n return aggregatorTemplates.extremes('first', f);\n };\n aggregatorTemplates.last = function(f) {\n return aggregatorTemplates.extremes('last', f);\n };\n aggregatorTemplates.median = function(f) {\n return aggregatorTemplates.quantile(0.5, f);\n };\n aggregatorTemplates.average = function(f) {\n return aggregatorTemplates.runningStat(\"mean\", 1, f);\n };\n aggregatorTemplates[\"var\"] = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"var\", ddof, f);\n };\n aggregatorTemplates.stdev = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"stdev\", ddof, f);\n };\n aggregators = (function(tpl) {\n return {\n \"Count\": tpl.count(usFmtInt),\n \"Count Unique Values\": tpl.countUnique(usFmtInt),\n \"List Unique Values\": tpl.listUnique(\", \"),\n \"Sum\": tpl.sum(usFmt),\n \"Integer Sum\": tpl.sum(usFmtInt),\n \"Average\": tpl.average(usFmt),\n \"Median\": tpl.median(usFmt),\n \"Sample Variance\": tpl[\"var\"](1, usFmt),\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt),\n \"Minimum\": tpl.min(usFmt),\n \"Maximum\": tpl.max(usFmt),\n \"First\": tpl.first(usFmt),\n \"Last\": tpl.last(usFmt),\n \"Sum over Sum\": tpl.sumOverSum(usFmt),\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt),\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt),\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct),\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct),\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct),\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct),\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct),\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n };\n })(aggregatorTemplates);\n renderers = {\n \"Table\": function(data, opts) {\n return pivotTableRenderer(data, opts);\n },\n \"Table Barchart\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).barchart();\n },\n \"Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts);\n },\n \"Row Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts);\n },\n \"Col Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts);\n }\n };\n locales = {\n en: {\n aggregators: aggregators,\n renderers: renderers,\n localeStrings: {\n renderError: \"An error occurred rendering the PivotTable results.\",\n computeError: \"An error occurred computing the PivotTable results.\",\n uiRenderError: \"An error occurred rendering the PivotTable UI.\",\n selectAll: \"Select All\",\n selectNone: \"Select None\",\n tooMany: \"(too many to list)\",\n filterResults: \"Filter values\",\n apply: \"Apply\",\n cancel: \"Cancel\",\n totals: \"Totals\",\n vs: \"vs\",\n by: \"by\"\n }\n }\n };\n mthNamesEn = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n dayNamesEn = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n zeroPad = function(number) {\n return (\"0\" + number).substr(-2, 2);\n };\n derivers = {\n bin: function(col, binWidth) {\n return function(record) {\n return record[col] - record[col] % binWidth;\n };\n },\n dateFormat: function(col, formatString, utcOutput, mthNames, dayNames) {\n var utc;\n if (utcOutput == null) {\n utcOutput = false;\n }\n if (mthNames == null) {\n mthNames = mthNamesEn;\n }\n if (dayNames == null) {\n dayNames = dayNamesEn;\n }\n utc = utcOutput ? \"UTC\" : \"\";\n return function(record) {\n var date;\n date = new Date(Date.parse(record[col]));\n if (isNaN(date)) {\n return \"\";\n }\n return formatString.replace(/%(.)/g, function(m, p) {\n switch (p) {\n case \"y\":\n return date[\"get\" + utc + \"FullYear\"]();\n case \"m\":\n return zeroPad(date[\"get\" + utc + \"Month\"]() + 1);\n case \"n\":\n return mthNames[date[\"get\" + utc + \"Month\"]()];\n case \"d\":\n return zeroPad(date[\"get\" + utc + \"Date\"]());\n case \"w\":\n return dayNames[date[\"get\" + utc + \"Day\"]()];\n case \"x\":\n return date[\"get\" + utc + \"Day\"]();\n case \"H\":\n return zeroPad(date[\"get\" + utc + \"Hours\"]());\n case \"M\":\n return zeroPad(date[\"get\" + utc + \"Minutes\"]());\n case \"S\":\n return zeroPad(date[\"get\" + utc + \"Seconds\"]());\n default:\n return \"%\" + p;\n }\n });\n };\n }\n };\n rx = /(\\d+)|(\\D+)/g;\n rd = /\\d/;\n rz = /^0/;\n naturalSort = (function(_this) {\n return function(as, bs) {\n var a, a1, b, b1, nas, nbs;\n if ((bs != null) && (as == null)) {\n return -1;\n }\n if ((as != null) && (bs == null)) {\n return 1;\n }\n if (typeof as === \"number\" && isNaN(as)) {\n return -1;\n }\n if (typeof bs === \"number\" && isNaN(bs)) {\n return 1;\n }\n nas = +as;\n nbs = +bs;\n if (nas < nbs) {\n return -1;\n }\n if (nas > nbs) {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs !== \"number\") {\n return -1;\n }\n if (typeof bs === \"number\" && typeof as !== \"number\") {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs === \"number\") {\n return 0;\n }\n if (isNaN(nbs) && !isNaN(nas)) {\n return -1;\n }\n if (isNaN(nas) && !isNaN(nbs)) {\n return 1;\n }\n a = String(as);\n b = String(bs);\n if (a === b) {\n return 0;\n }\n if (!(rd.test(a) && rd.test(b))) {\n return (a > b ? 1 : -1);\n }\n a = a.match(rx);\n b = b.match(rx);\n while (a.length && b.length) {\n a1 = a.shift();\n b1 = b.shift();\n if (a1 !== b1) {\n if (rd.test(a1) && rd.test(b1)) {\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\");\n } else {\n return (a1 > b1 ? 1 : -1);\n }\n }\n }\n return a.length - b.length;\n };\n })(this);\n sortAs = function(order) {\n var i, l_mapping, mapping, x;\n mapping = {};\n l_mapping = {};\n for (i in order) {\n x = order[i];\n mapping[x] = i;\n if (typeof x === \"string\") {\n l_mapping[x.toLowerCase()] = i;\n }\n }\n return function(a, b) {\n if ((mapping[a] != null) && (mapping[b] != null)) {\n return mapping[a] - mapping[b];\n } else if (mapping[a] != null) {\n return -1;\n } else if (mapping[b] != null) {\n return 1;\n } else if ((l_mapping[a] != null) && (l_mapping[b] != null)) {\n return l_mapping[a] - l_mapping[b];\n } else if (l_mapping[a] != null) {\n return -1;\n } else if (l_mapping[b] != null) {\n return 1;\n } else {\n return naturalSort(a, b);\n }\n };\n };\n getSort = function(sorters, attr) {\n var sort;\n if (sorters != null) {\n if ($.isFunction(sorters)) {\n sort = sorters(attr);\n if ($.isFunction(sort)) {\n return sort;\n }\n } else if (sorters[attr] != null) {\n return sorters[attr];\n }\n }\n return naturalSort;\n };\n\n /*\n Data Model class\n */\n PivotData = (function() {\n function PivotData(input, opts) {\n var ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9;\n if (opts == null) {\n opts = {};\n }\n this.getAggregator = bind(this.getAggregator, this);\n this.getRowKeys = bind(this.getRowKeys, this);\n this.getColKeys = bind(this.getColKeys, this);\n this.sortKeys = bind(this.sortKeys, this);\n this.arrSort = bind(this.arrSort, this);\n this.input = input;\n this.aggregator = (ref = opts.aggregator) != null ? ref : aggregatorTemplates.count()();\n this.aggregatorName = (ref1 = opts.aggregatorName) != null ? ref1 : \"Count\";\n this.colAttrs = (ref2 = opts.cols) != null ? ref2 : [];\n this.rowAttrs = (ref3 = opts.rows) != null ? ref3 : [];\n this.valAttrs = (ref4 = opts.vals) != null ? ref4 : [];\n this.sorters = (ref5 = opts.sorters) != null ? ref5 : {};\n this.rowOrder = (ref6 = opts.rowOrder) != null ? ref6 : \"key_a_to_z\";\n this.colOrder = (ref7 = opts.colOrder) != null ? ref7 : \"key_a_to_z\";\n this.derivedAttributes = (ref8 = opts.derivedAttributes) != null ? ref8 : {};\n this.filter = (ref9 = opts.filter) != null ? ref9 : (function() {\n return true;\n });\n this.tree = {};\n this.rowKeys = [];\n this.colKeys = [];\n this.rowTotals = {};\n this.colTotals = {};\n this.allTotal = this.aggregator(this, [], []);\n this.sorted = false;\n PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n if (_this.filter(record)) {\n return _this.processRecord(record);\n }\n };\n })(this));\n }\n\n PivotData.forEachRecord = function(input, derivedAttributes, f) {\n var addRecord, compactRecord, i, j, k, l, len1, record, ref, results, results1, tblCols;\n if ($.isEmptyObject(derivedAttributes)) {\n addRecord = f;\n } else {\n addRecord = function(record) {\n var k, ref, v;\n for (k in derivedAttributes) {\n v = derivedAttributes[k];\n record[k] = (ref = v(record)) != null ? ref : record[k];\n }\n return f(record);\n };\n }\n if ($.isFunction(input)) {\n return input(addRecord);\n } else if ($.isArray(input)) {\n if ($.isArray(input[0])) {\n results = [];\n for (i in input) {\n if (!hasProp.call(input, i)) continue;\n compactRecord = input[i];\n if (!(i > 0)) {\n continue;\n }\n record = {};\n ref = input[0];\n for (j in ref) {\n if (!hasProp.call(ref, j)) continue;\n k = ref[j];\n record[k] = compactRecord[j];\n }\n results.push(addRecord(record));\n }\n return results;\n } else {\n results1 = [];\n for (l = 0, len1 = input.length; l < len1; l++) {\n record = input[l];\n results1.push(addRecord(record));\n }\n return results1;\n }\n } else if (input instanceof $) {\n tblCols = [];\n $(\"thead > tr > th\", input).each(function(i) {\n return tblCols.push($(this).text());\n });\n return $(\"tbody > tr\", input).each(function(i) {\n record = {};\n $(\"td\", this).each(function(j) {\n return record[tblCols[j]] = $(this).text();\n });\n return addRecord(record);\n });\n } else {\n throw new Error(\"unknown input format\");\n }\n };\n\n PivotData.prototype.forEachMatchingRecord = function(criteria, callback) {\n return PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n var k, ref, v;\n if (!_this.filter(record)) {\n return;\n }\n for (k in criteria) {\n v = criteria[k];\n if (v !== ((ref = record[k]) != null ? ref : \"null\")) {\n return;\n }\n }\n return callback(record);\n };\n })(this));\n };\n\n PivotData.prototype.arrSort = function(attrs) {\n var a, sortersArr;\n sortersArr = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = attrs.length; l < len1; l++) {\n a = attrs[l];\n results.push(getSort(this.sorters, a));\n }\n return results;\n }).call(this);\n return function(a, b) {\n var comparison, i, sorter;\n for (i in sortersArr) {\n if (!hasProp.call(sortersArr, i)) continue;\n sorter = sortersArr[i];\n comparison = sorter(a[i], b[i]);\n if (comparison !== 0) {\n return comparison;\n }\n }\n return 0;\n };\n };\n\n PivotData.prototype.sortKeys = function() {\n var v;\n if (!this.sorted) {\n this.sorted = true;\n v = (function(_this) {\n return function(r, c) {\n return _this.getAggregator(r, c).value();\n };\n })(this);\n switch (this.rowOrder) {\n case \"value_a_to_z\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n case \"value_z_to_a\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n default:\n this.rowKeys.sort(this.arrSort(this.rowAttrs));\n }\n switch (this.colOrder) {\n case \"value_a_to_z\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v([], a), v([], b));\n };\n })(this));\n case \"value_z_to_a\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v([], a), v([], b));\n };\n })(this));\n default:\n return this.colKeys.sort(this.arrSort(this.colAttrs));\n }\n }\n };\n\n PivotData.prototype.getColKeys = function() {\n this.sortKeys();\n return this.colKeys;\n };\n\n PivotData.prototype.getRowKeys = function() {\n this.sortKeys();\n return this.rowKeys;\n };\n\n PivotData.prototype.processRecord = function(record) {\n var colKey, flatColKey, flatRowKey, l, len1, len2, n, ref, ref1, ref2, ref3, rowKey, x;\n colKey = [];\n rowKey = [];\n ref = this.colAttrs;\n for (l = 0, len1 = ref.length; l < len1; l++) {\n x = ref[l];\n colKey.push((ref1 = record[x]) != null ? ref1 : \"null\");\n }\n ref2 = this.rowAttrs;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n rowKey.push((ref3 = record[x]) != null ? ref3 : \"null\");\n }\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n this.allTotal.push(record);\n if (rowKey.length !== 0) {\n if (!this.rowTotals[flatRowKey]) {\n this.rowKeys.push(rowKey);\n this.rowTotals[flatRowKey] = this.aggregator(this, rowKey, []);\n }\n this.rowTotals[flatRowKey].push(record);\n }\n if (colKey.length !== 0) {\n if (!this.colTotals[flatColKey]) {\n this.colKeys.push(colKey);\n this.colTotals[flatColKey] = this.aggregator(this, [], colKey);\n }\n this.colTotals[flatColKey].push(record);\n }\n if (colKey.length !== 0 && rowKey.length !== 0) {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n if (!this.tree[flatRowKey][flatColKey]) {\n this.tree[flatRowKey][flatColKey] = this.aggregator(this, rowKey, colKey);\n }\n return this.tree[flatRowKey][flatColKey].push(record);\n }\n };\n\n PivotData.prototype.getAggregator = function(rowKey, colKey) {\n var agg, flatColKey, flatRowKey;\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n if (rowKey.length === 0 && colKey.length === 0) {\n agg = this.allTotal;\n } else if (rowKey.length === 0) {\n agg = this.colTotals[flatColKey];\n } else if (colKey.length === 0) {\n agg = this.rowTotals[flatRowKey];\n } else {\n agg = this.tree[flatRowKey][flatColKey];\n }\n return agg != null ? agg : {\n value: (function() {\n return null;\n }),\n format: function() {\n return \"\";\n }\n };\n };\n\n return PivotData;\n\n })();\n $.pivotUtilities = {\n aggregatorTemplates: aggregatorTemplates,\n aggregators: aggregators,\n renderers: renderers,\n derivers: derivers,\n locales: locales,\n naturalSort: naturalSort,\n numberFormat: numberFormat,\n sortAs: sortAs,\n PivotData: PivotData\n };\n\n /*\n Default Renderer for hierarchical table layout\n */\n pivotTableRenderer = function(pivotData, opts) {\n 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;\n defaults = {\n table: {\n clickCallback: null,\n rowTotals: true,\n colTotals: true\n },\n localeStrings: {\n totals: \"Totals\"\n }\n };\n opts = $.extend(true, {}, defaults, opts);\n colAttrs = pivotData.colAttrs;\n rowAttrs = pivotData.rowAttrs;\n rowKeys = pivotData.getRowKeys();\n colKeys = pivotData.getColKeys();\n if (opts.table.clickCallback) {\n getClickHandler = function(value, rowValues, colValues) {\n var attr, filters, i;\n filters = {};\n for (i in colAttrs) {\n if (!hasProp.call(colAttrs, i)) continue;\n attr = colAttrs[i];\n if (colValues[i] != null) {\n filters[attr] = colValues[i];\n }\n }\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n attr = rowAttrs[i];\n if (rowValues[i] != null) {\n filters[attr] = rowValues[i];\n }\n }\n return function(e) {\n return opts.table.clickCallback(e, value, filters, pivotData);\n };\n };\n }\n result = document.createElement(\"table\");\n result.className = \"pvtTable\";\n spanSize = function(arr, i, j) {\n var l, len, n, noDraw, ref, ref1, stop, x;\n if (i !== 0) {\n noDraw = true;\n for (x = l = 0, ref = j; 0 <= ref ? l <= ref : l >= ref; x = 0 <= ref ? ++l : --l) {\n if (arr[i - 1][x] !== arr[i][x]) {\n noDraw = false;\n }\n }\n if (noDraw) {\n return -1;\n }\n }\n len = 0;\n while (i + len < arr.length) {\n stop = false;\n for (x = n = 0, ref1 = j; 0 <= ref1 ? n <= ref1 : n >= ref1; x = 0 <= ref1 ? ++n : --n) {\n if (arr[i][x] !== arr[i + len][x]) {\n stop = true;\n }\n }\n if (stop) {\n break;\n }\n len++;\n }\n return len;\n };\n thead = document.createElement(\"thead\");\n for (j in colAttrs) {\n if (!hasProp.call(colAttrs, j)) continue;\n c = colAttrs[j];\n tr = document.createElement(\"tr\");\n if (parseInt(j) === 0 && rowAttrs.length !== 0) {\n th = document.createElement(\"th\");\n th.setAttribute(\"colspan\", rowAttrs.length);\n th.setAttribute(\"rowspan\", colAttrs.length);\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = c;\n tr.appendChild(th);\n for (i in colKeys) {\n if (!hasProp.call(colKeys, i)) continue;\n colKey = colKeys[i];\n x = spanSize(colKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtColLabel\";\n th.textContent = colKey[j];\n th.setAttribute(\"colspan\", x);\n if (parseInt(j) === colAttrs.length - 1 && rowAttrs.length !== 0) {\n th.setAttribute(\"rowspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n if (parseInt(j) === 0 && opts.table.rowTotals) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"rowspan\", colAttrs.length + (rowAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n thead.appendChild(tr);\n }\n if (rowAttrs.length !== 0) {\n tr = document.createElement(\"tr\");\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n r = rowAttrs[i];\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = r;\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n if (colAttrs.length === 0) {\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n }\n tr.appendChild(th);\n thead.appendChild(tr);\n }\n result.appendChild(thead);\n tbody = document.createElement(\"tbody\");\n for (i in rowKeys) {\n if (!hasProp.call(rowKeys, i)) continue;\n rowKey = rowKeys[i];\n tr = document.createElement(\"tr\");\n for (j in rowKey) {\n if (!hasProp.call(rowKey, j)) continue;\n txt = rowKey[j];\n x = spanSize(rowKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtRowLabel\";\n th.textContent = txt;\n th.setAttribute(\"rowspan\", x);\n if (parseInt(j) === rowAttrs.length - 1 && colAttrs.length !== 0) {\n th.setAttribute(\"colspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n aggregator = pivotData.getAggregator(rowKey, colKey);\n val = aggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtVal row\" + i + \" col\" + j;\n td.textContent = aggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, colKey);\n }\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator(rowKey, []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal rowTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, []);\n }\n td.setAttribute(\"data-for\", \"row\" + i);\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n if (opts.table.colTotals || rowAttrs.length === 0) {\n tr = document.createElement(\"tr\");\n if (opts.table.colTotals || rowAttrs.length === 0) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtColTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"colspan\", rowAttrs.length + (colAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n totalAggregator = pivotData.getAggregator([], colKey);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal colTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], colKey);\n }\n td.setAttribute(\"data-for\", \"col\" + j);\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator([], []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtGrandTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], []);\n }\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n result.appendChild(tbody);\n result.setAttribute(\"data-numrows\", rowKeys.length);\n result.setAttribute(\"data-numcols\", colKeys.length);\n return result;\n };\n\n /*\n Pivot Table core: create PivotData object and call Renderer on it\n */\n $.fn.pivot = function(input, inputOpts, locale) {\n var defaults, e, localeDefaults, localeStrings, opts, pivotData, result, x;\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n filter: function() {\n return true;\n },\n aggregator: aggregatorTemplates.count()(),\n aggregatorName: \"Count\",\n sorters: {},\n derivedAttributes: {},\n renderer: pivotTableRenderer\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n result = null;\n try {\n pivotData = new opts.dataClass(input, opts);\n try {\n result = opts.renderer(pivotData, opts.rendererOptions);\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.renderError);\n }\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.computeError);\n }\n x = this[0];\n while (x.hasChildNodes()) {\n x.removeChild(x.lastChild);\n }\n return this.append(result);\n };\n\n /*\n Pivot Table UI: calls Pivot Table core above with options set by user\n */\n $.fn.pivotUI = function(input, inputOpts, overwrite, locale) {\n 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;\n if (overwrite == null) {\n overwrite = false;\n }\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n derivedAttributes: {},\n aggregators: locales[locale].aggregators,\n renderers: locales[locale].renderers,\n hiddenAttributes: [],\n hiddenFromAggregators: [],\n hiddenFromDragDrop: [],\n menuLimit: 500,\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n exclusions: {},\n inclusions: {},\n unusedAttrsVertical: 85,\n autoSortUnusedAttrs: false,\n onRefresh: null,\n showUI: true,\n filter: function() {\n return true;\n },\n sorters: {}\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n existingOpts = this.data(\"pivotUIOptions\");\n if ((existingOpts == null) || overwrite) {\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n } else {\n opts = existingOpts;\n }\n try {\n attrValues = {};\n materializedInput = [];\n recordsProcessed = 0;\n PivotData.forEachRecord(input, opts.derivedAttributes, function(record) {\n var attr, base, ref, value;\n if (!opts.filter(record)) {\n return;\n }\n materializedInput.push(record);\n for (attr in record) {\n if (!hasProp.call(record, attr)) continue;\n if (attrValues[attr] == null) {\n attrValues[attr] = {};\n if (recordsProcessed > 0) {\n attrValues[attr][\"null\"] = recordsProcessed;\n }\n }\n }\n for (attr in attrValues) {\n value = (ref = record[attr]) != null ? ref : \"null\";\n if ((base = attrValues[attr])[value] == null) {\n base[value] = 0;\n }\n attrValues[attr][value]++;\n }\n return recordsProcessed++;\n });\n uiTable = $(\"\", {\n \"class\": \"pvtUi\"\n }).attr(\"cellpadding\", 5);\n rendererControl = $(\"\").addClass(\"pvtUiCell\");\n renderer = $(\"\").addClass('pvtRenderer').appendTo(rendererControl).bind(\"change\", function() {\n return refresh();\n });\n ref = opts.renderers;\n for (x in ref) {\n if (!hasProp.call(ref, x)) continue;\n $(\"\").val(x).html(x).appendTo(renderer);\n }\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell');\n shownAttributes = (function() {\n var results;\n results = [];\n for (a in attrValues) {\n if (indexOf.call(opts.hiddenAttributes, a) < 0) {\n results.push(a);\n }\n }\n return results;\n })();\n shownInAggregators = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromAggregators, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n shownInDragDrop = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromDragDrop, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n unusedAttrsVerticalAutoOverride = false;\n if (opts.unusedAttrsVertical === \"auto\") {\n unusedAttrsVerticalAutoCutoff = 120;\n } else {\n unusedAttrsVerticalAutoCutoff = parseInt(opts.unusedAttrsVertical);\n }\n if (!isNaN(unusedAttrsVerticalAutoCutoff)) {\n attrLength = 0;\n for (l = 0, len1 = shownInDragDrop.length; l < len1; l++) {\n a = shownInDragDrop[l];\n attrLength += a.length;\n }\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff;\n }\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n unused.addClass('pvtVertList');\n } else {\n unused.addClass('pvtHorizList');\n }\n fn1 = function(attr) {\n var attrElem, checkContainer, closeFilterBox, controls, filterItem, filterItemExcluded, finalButtons, hasExcludedItem, len2, n, placeholder, ref1, sorter, triangleLink, v, value, valueCount, valueList, values;\n values = (function() {\n var results;\n results = [];\n for (v in attrValues[attr]) {\n results.push(v);\n }\n return results;\n })();\n hasExcludedItem = false;\n valueList = $(\"\").addClass('pvtFilterBox').hide();\n valueList.append($(\"\").append($(\"\").text(attr), $(\"\").addClass(\"count\").text(\"(\" + values.length + \")\")));\n if (values.length > opts.menuLimit) {\n valueList.append($(\"\").html(opts.localeStrings.tooMany));\n } else {\n if (values.length > 5) {\n controls = $(\"\").appendTo(valueList);\n sorter = getSort(opts.sorters, attr);\n placeholder = opts.localeStrings.filterResults;\n $(\"\", {\n type: \"text\"\n }).appendTo(controls).attr({\n placeholder: placeholder,\n \"class\": \"pvtSearch\"\n }).bind(\"keyup\", function() {\n var accept, accept_gen, filter;\n filter = $(this).val().toLowerCase().trim();\n accept_gen = function(prefix, accepted) {\n return function(v) {\n var real_filter, ref1;\n real_filter = filter.substring(prefix.length).trim();\n if (real_filter.length === 0) {\n return true;\n }\n return ref1 = Math.sign(sorter(v.toLowerCase(), real_filter)), indexOf.call(accepted, ref1) >= 0;\n };\n };\n 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) {\n if (filter.substring(1).trim().length === 0) {\n return true;\n }\n return v.toLowerCase().match(filter.substring(1));\n } : function(v) {\n return v.toLowerCase().indexOf(filter) !== -1;\n };\n return valueList.find('.pvtCheckContainer p label span.value').each(function() {\n if (accept($(this).text())) {\n return $(this).parent().parent().show();\n } else {\n return $(this).parent().parent().hide();\n }\n });\n });\n controls.append($(\"\"));\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectAll).bind(\"click\", function() {\n valueList.find(\"input:visible:not(:checked)\").prop(\"checked\", true).toggleClass(\"changed\");\n return false;\n });\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectNone).bind(\"click\", function() {\n valueList.find(\"input:visible:checked\").prop(\"checked\", false).toggleClass(\"changed\");\n return false;\n });\n }\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList);\n ref1 = values.sort(getSort(opts.sorters, attr));\n for (n = 0, len2 = ref1.length; n < len2; n++) {\n value = ref1[n];\n valueCount = attrValues[attr][value];\n filterItem = $(\"\");\n filterItemExcluded = false;\n if (opts.inclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.inclusions[attr], value) < 0);\n } else if (opts.exclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.exclusions[attr], value) >= 0);\n }\n hasExcludedItem || (hasExcludedItem = filterItemExcluded);\n $(\"\").attr(\"type\", \"checkbox\").addClass('pvtFilter').attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr, value]).appendTo(filterItem).bind(\"change\", function() {\n return $(this).toggleClass(\"changed\");\n });\n filterItem.append($(\"\").addClass(\"value\").text(value));\n filterItem.append($(\"\").addClass(\"count\").text(\"(\" + valueCount + \")\"));\n checkContainer.append($(\"\").append(filterItem));\n }\n }\n closeFilterBox = function() {\n if (valueList.find(\"[type='checkbox']\").length > valueList.find(\"[type='checkbox']:checked\").length) {\n attrElem.addClass(\"pvtFilteredAttribute\");\n } else {\n attrElem.removeClass(\"pvtFilteredAttribute\");\n }\n valueList.find('.pvtSearch').val('');\n valueList.find('.pvtCheckContainer p').show();\n return valueList.hide();\n };\n finalButtons = $(\"\").appendTo(valueList);\n if (values.length <= opts.menuLimit) {\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.apply).appendTo(finalButtons).bind(\"click\", function() {\n if (valueList.find(\".changed\").removeClass(\"changed\").length) {\n refresh();\n }\n return closeFilterBox();\n });\n }\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.cancel).appendTo(finalButtons).bind(\"click\", function() {\n valueList.find(\".changed:checked\").removeClass(\"changed\").prop(\"checked\", false);\n valueList.find(\".changed:not(:checked)\").removeClass(\"changed\").prop(\"checked\", true);\n return closeFilterBox();\n });\n triangleLink = $(\"\").addClass('pvtTriangle').html(\" ▾\").bind(\"click\", function(e) {\n var left, ref2, top;\n ref2 = $(e.currentTarget).position(), left = ref2.left, top = ref2.top;\n return valueList.css({\n left: left + 10,\n top: top + 10\n }).show();\n });\n attrElem = $(\"\").addClass(\"axis_\" + i).append($(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink));\n if (hasExcludedItem) {\n attrElem.addClass('pvtFilteredAttribute');\n }\n return unused.append(attrElem).append(valueList);\n };\n for (i in shownInDragDrop) {\n if (!hasProp.call(shownInDragDrop, i)) continue;\n attr = shownInDragDrop[i];\n fn1(attr);\n }\n tr1 = $(\"\").appendTo(uiTable);\n aggregator = $(\"\").addClass('pvtAggregator').bind(\"change\", function() {\n return refresh();\n });\n ref1 = opts.aggregators;\n for (x in ref1) {\n if (!hasProp.call(ref1, x)) continue;\n aggregator.append($(\"\").val(x).html(x));\n }\n ordering = {\n key_a_to_z: {\n rowSymbol: \"↕\",\n colSymbol: \"↔\",\n next: \"value_a_to_z\"\n },\n value_a_to_z: {\n rowSymbol: \"↓\",\n colSymbol: \"→\",\n next: \"value_z_to_a\"\n },\n value_z_to_a: {\n rowSymbol: \"↑\",\n colSymbol: \"←\",\n next: \"key_a_to_z\"\n }\n };\n rowOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtRowOrder\").data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol);\n return refresh();\n });\n colOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtColOrder\").data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].colSymbol);\n return refresh();\n });\n $(\"\").addClass('pvtVals pvtUiCell').appendTo(tr1).append(aggregator).append(rowOrderArrow).append(colOrderArrow).append($(\"\"));\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1);\n tr2 = $(\"\").appendTo(uiTable);\n tr2.append($(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\"));\n pivotTable = $(\"\").attr(\"valign\", \"top\").addClass('pvtRendererArea').appendTo(tr2);\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n uiTable.find('tr:nth-child(1)').prepend(rendererControl);\n uiTable.find('tr:nth-child(2)').prepend(unused);\n } else {\n uiTable.prepend($(\"\").append(rendererControl).append(unused));\n }\n this.html(uiTable);\n ref2 = opts.cols;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n this.find(\".pvtCols\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n ref3 = opts.rows;\n for (o = 0, len3 = ref3.length; o < len3; o++) {\n x = ref3[o];\n this.find(\".pvtRows\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n if (opts.aggregatorName != null) {\n this.find(\".pvtAggregator\").val(opts.aggregatorName);\n }\n if (opts.rendererName != null) {\n this.find(\".pvtRenderer\").val(opts.rendererName);\n }\n if (!opts.showUI) {\n this.find(\".pvtUiCell\").hide();\n }\n initialRender = true;\n refreshDelayed = (function(_this) {\n return function() {\n var exclusions, inclusions, len4, newDropdown, numInputsToProcess, pivotUIOptions, pvtVals, ref4, ref5, subopts, t, u, unusedAttrsContainer, vals;\n subopts = {\n derivedAttributes: opts.derivedAttributes,\n localeStrings: opts.localeStrings,\n rendererOptions: opts.rendererOptions,\n sorters: opts.sorters,\n cols: [],\n rows: [],\n dataClass: opts.dataClass\n };\n numInputsToProcess = (ref4 = opts.aggregators[aggregator.val()]([])().numInputs) != null ? ref4 : 0;\n vals = [];\n _this.find(\".pvtRows li span.pvtAttr\").each(function() {\n return subopts.rows.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtCols li span.pvtAttr\").each(function() {\n return subopts.cols.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n if (numInputsToProcess === 0) {\n return $(this).remove();\n } else {\n numInputsToProcess--;\n if ($(this).val() !== \"\") {\n return vals.push($(this).val());\n }\n }\n });\n if (numInputsToProcess !== 0) {\n pvtVals = _this.find(\".pvtVals\");\n for (x = t = 0, ref5 = numInputsToProcess; 0 <= ref5 ? t < ref5 : t > ref5; x = 0 <= ref5 ? ++t : --t) {\n newDropdown = $(\"\").addClass('pvtAttrDropdown').append($(\"\")).bind(\"change\", function() {\n return refresh();\n });\n for (u = 0, len4 = shownInAggregators.length; u < len4; u++) {\n attr = shownInAggregators[u];\n newDropdown.append($(\"\").val(attr).text(attr));\n }\n pvtVals.append(newDropdown);\n }\n }\n if (initialRender) {\n vals = opts.vals;\n i = 0;\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n $(this).val(vals[i]);\n return i++;\n });\n initialRender = false;\n }\n subopts.aggregatorName = aggregator.val();\n subopts.vals = vals;\n subopts.aggregator = opts.aggregators[aggregator.val()](vals);\n subopts.renderer = opts.renderers[renderer.val()];\n subopts.rowOrder = rowOrderArrow.data(\"order\");\n subopts.colOrder = colOrderArrow.data(\"order\");\n exclusions = {};\n _this.find('input.pvtFilter').not(':checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n return exclusions[filter[0]].push(filter[1]);\n } else {\n return exclusions[filter[0]] = [filter[1]];\n }\n });\n inclusions = {};\n _this.find('input.pvtFilter:checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n if (inclusions[filter[0]] != null) {\n return inclusions[filter[0]].push(filter[1]);\n } else {\n return inclusions[filter[0]] = [filter[1]];\n }\n }\n });\n subopts.filter = function(record) {\n var excludedItems, k, ref6, ref7;\n if (!opts.filter(record)) {\n return false;\n }\n for (k in exclusions) {\n excludedItems = exclusions[k];\n if (ref6 = \"\" + ((ref7 = record[k]) != null ? ref7 : 'null'), indexOf.call(excludedItems, ref6) >= 0) {\n return false;\n }\n }\n return true;\n };\n pivotTable.pivot(materializedInput, subopts);\n pivotUIOptions = $.extend({}, opts, {\n cols: subopts.cols,\n rows: subopts.rows,\n colOrder: subopts.colOrder,\n rowOrder: subopts.rowOrder,\n vals: vals,\n exclusions: exclusions,\n inclusions: inclusions,\n inclusionsInfo: inclusions,\n aggregatorName: aggregator.val(),\n rendererName: renderer.val()\n });\n _this.data(\"pivotUIOptions\", pivotUIOptions);\n if (opts.autoSortUnusedAttrs) {\n unusedAttrsContainer = _this.find(\"td.pvtUnused.pvtAxisContainer\");\n $(unusedAttrsContainer).children(\"li\").sort(function(a, b) {\n return naturalSort($(a).text(), $(b).text());\n }).appendTo(unusedAttrsContainer);\n }\n pivotTable.css(\"opacity\", 1);\n if (opts.onRefresh != null) {\n return opts.onRefresh(pivotUIOptions);\n }\n };\n })(this);\n refresh = (function(_this) {\n return function() {\n pivotTable.css(\"opacity\", 0.5);\n return setTimeout(refreshDelayed, 10);\n };\n })(this);\n refresh();\n this.find(\".pvtAxisContainer\").sortable({\n update: function(e, ui) {\n if (ui.sender == null) {\n return refresh();\n }\n },\n connectWith: this.find(\".pvtAxisContainer\"),\n items: 'li',\n placeholder: 'pvtPlaceholder'\n });\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n this.html(opts.localeStrings.uiRenderError);\n }\n return this;\n };\n\n /*\n Heatmap post-processing\n */\n $.fn.heatmap = function(scope, opts) {\n var colorScaleGenerator, heatmapper, i, j, l, n, numCols, numRows, ref, ref1, ref2;\n if (scope == null) {\n scope = \"heatmap\";\n }\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n colorScaleGenerator = opts != null ? (ref = opts.heatmap) != null ? ref.colorScaleGenerator : void 0 : void 0;\n if (colorScaleGenerator == null) {\n colorScaleGenerator = function(values) {\n var max, min;\n min = Math.min.apply(Math, values);\n max = Math.max.apply(Math, values);\n return function(x) {\n var nonRed;\n nonRed = 255 - Math.round(255 * (x - min) / (max - min));\n return \"rgb(255,\" + nonRed + \",\" + nonRed + \")\";\n };\n };\n }\n heatmapper = (function(_this) {\n return function(scope) {\n var colorScale, forEachCell, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n colorScale = colorScaleGenerator(values);\n return forEachCell(function(x, elem) {\n return elem.css(\"background-color\", colorScale(x));\n });\n };\n })(this);\n switch (scope) {\n case \"heatmap\":\n heatmapper(\".pvtVal\");\n break;\n case \"rowheatmap\":\n for (i = l = 0, ref1 = numRows; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) {\n heatmapper(\".pvtVal.row\" + i);\n }\n break;\n case \"colheatmap\":\n for (j = n = 0, ref2 = numCols; 0 <= ref2 ? n < ref2 : n > ref2; j = 0 <= ref2 ? ++n : --n) {\n heatmapper(\".pvtVal.col\" + j);\n }\n }\n heatmapper(\".pvtTotal.rowTotal\");\n heatmapper(\".pvtTotal.colTotal\");\n return this;\n };\n\n /*\n Barchart post-processing\n */\n return $.fn.barchart = function(opts) {\n var barcharter, i, l, numCols, numRows, ref;\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n barcharter = (function(_this) {\n return function(scope) {\n var forEachCell, max, min, range, scaler, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n max = Math.max.apply(Math, values);\n if (max < 0) {\n max = 0;\n }\n range = max;\n min = Math.min.apply(Math, values);\n if (min < 0) {\n range = max - min;\n }\n scaler = function(x) {\n return 100 * x / (1.4 * range);\n };\n return forEachCell(function(x, elem) {\n var bBase, bgColor, text, wrapper;\n text = elem.text();\n wrapper = $(\"\").css({\n \"position\": \"relative\",\n \"height\": \"55px\"\n });\n bgColor = \"gray\";\n bBase = 0;\n if (min < 0) {\n bBase = scaler(-min);\n }\n if (x < 0) {\n bBase += scaler(x);\n bgColor = \"darkred\";\n x = -x;\n }\n wrapper.append($(\"\").css({\n \"position\": \"absolute\",\n \"bottom\": bBase + \"%\",\n \"left\": 0,\n \"right\": 0,\n \"height\": scaler(x) + \"%\",\n \"background-color\": bgColor\n }));\n wrapper.append($(\"\").text(text).css({\n \"position\": \"relative\",\n \"padding-left\": \"5px\",\n \"padding-right\": \"5px\"\n }));\n return elem.css({\n \"padding\": 0,\n \"padding-top\": \"5px\",\n \"text-align\": \"center\"\n }).html(wrapper);\n });\n };\n })(this);\n for (i = l = 0, ref = numRows; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) {\n barcharter(\".pvtVal.row\" + i);\n }\n barcharter(\".pvtTotal.colTotal\");\n return this;\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.js.map\n"]} \ No newline at end of file diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.js new file mode 100644 index 0000000..ca9a375 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js @@ -0,0 +1,80 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map new file mode 100644 index 0000000..b7c7760 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js index 9dc06ee..a3bcc04 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js @@ -1,2 +1,2 @@ -(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,n,o;return n=e.pivotUtilities.numberFormat,o=e.pivotUtilities.aggregatorTemplates,t=n({thousandsSep:" ",decimalSep:","}),r=n({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),i=n({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:o.count(r),"Aantal unieke waarden":o.countUnique(r),"Lijst unieke waarden":o.listUnique(", "),Som:o.sum(t),"Som van gehele getallen":o.sum(r),Gemiddelde:o.average(t),Minimum:o.min(t),Maximum:o.max(t),"Som over som":o.sumOverSum(t),"80% bovengrens":o.sumOverSumBound80(!0,t),"80% ondergrens":o.sumOverSumBound80(!1,t),"Som in verhouding tot het totaal":o.fractionOf(o.sum(),"total",i),"Som in verhouding tot de rij":o.fractionOf(o.sum(),"row",i),"Som in verhouding tot de kolom":o.fractionOf(o.sum(),"col",i),"Aantal in verhouding tot het totaal":o.fractionOf(o.count(),"total",i),"Aantal in verhouding tot de rij":o.fractionOf(o.count(),"row",i),"Aantal in verhouding tot de kolom":o.fractionOf(o.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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map new file mode 100644 index 0000000..b51dc51 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js b/inst/htmlwidgets/lib/pivottable/pivot.pl.js new file mode 100644 index 0000000..aa4b438 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js @@ -0,0 +1,82 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map new file mode 100644 index 0000000..3eefc10 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pivot.pl.js","sources":["pivot.pl.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 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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map new file mode 100644 index 0000000..14a4b8e --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.js new file mode 100644 index 0000000..b737243 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js @@ -0,0 +1,111 @@ +(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.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": tpl.count(frFmtInt), + "Contagem de Valores únicos": tpl.countUnique(frFmtInt), + "Lista de Valores únicos": tpl.listUnique(", "), + "Soma": tpl.sum(frFmt), + "Soma de Inteiros": tpl.sum(frFmtInt), + "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áximo": tpl.max(frFmt), + "Primeiro": tpl.first(frFmt), + "Último": tpl.last(frFmt), + "Soma sobre Soma": tpl.sumOverSum(frFmt), + "Limite Superior a 80%": tpl.sumOverSumBound80(true, frFmt), + "Limite Inferior a 80%": tpl.sumOverSumBound80(false, frFmt), + "Soma como Fração do Total": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Soma como Fração da Linha": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Soma como Fração da Coluna": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Contagem como Fração do Total": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Contagem como Fração da Linha": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Contagem como Fração da Coluna": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tabela": r["Table"], + "Tabela com Barras": r["Table Barchart"], + "Mapa de Calor": r["Heatmap"], + "Mapa de Calor por Linhas": r["Row Heatmap"], + "Mapa de Calor por Colunas": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.pt.gchart_renderers = { + "Gráfico de Linhas": gcr["Line Chart"], + "Gráfico de Barras": gcr["Bar Chart"], + "Gráfico de Barras Empilhadas": gcr["Stacked Bar Chart"], + "Gráfico de Área": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.pt.d3_renderers = { + "Mapa de Árvore": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.pt.c3_renderers = { + "Gráfico de Linhas": c3r["Line Chart"], + "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; + }); + +}).call(this); + +//# sourceMappingURL=pivot.pt.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map new file mode 100644 index 0000000..72cb981 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js index cf4f356..0f92ea7 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js @@ -1,2 +1,2 @@ -(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,l,n,c;return l=a.pivotUtilities.numberFormat,c=a.pivotUtilities.aggregatorTemplates,n=a.pivotUtilities.renderers,s=a.pivotUtilities.gchart_renderers,r=a.pivotUtilities.d3_renderers,e=a.pivotUtilities.c3_renderers,o=l({thousandsSep:".",decimalSep:","}),i=l({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),t=l({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),"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:n.Table,"Tabela com Barras":n["Table Barchart"],"Mapa de Calor":n.Heatmap,"Mapa de Calor por Linhas":n["Row Heatmap"],"Mapa de Calor por Colunas":n["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map new file mode 100644 index 0000000..cf067a6 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js b/inst/htmlwidgets/lib/pivottable/pivot.ru.js new file mode 100644 index 0000000..ebc556d --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map new file mode 100644 index 0000000..f7fe47f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map new file mode 100644 index 0000000..4ef0db3 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js b/inst/htmlwidgets/lib/pivottable/pivot.sq.js new file mode 100644 index 0000000..080b336 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map new file mode 100644 index 0000000..604860b --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map new file mode 100644 index 0000000..3f6df78 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js b/inst/htmlwidgets/lib/pivottable/pivot.tr.js new file mode 100644 index 0000000..1a95e56 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js @@ -0,0 +1,104 @@ +(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.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ı": tpl.count(frFmtInt), + "Benzersiz değerler sayısı": tpl.countUnique(frFmtInt), + "Benzersiz değerler listesi": tpl.listUnique(", "), + "Toplam": tpl.sum(frFmt), + "Toplam (tam sayı)": tpl.sum(frFmtInt), + "Ortalama": tpl.average(frFmt), + "Min": tpl.min(frFmt), + "Maks": tpl.max(frFmt), + "Miktarların toplamı": tpl.sumOverSum(frFmt), + "%80 daha yüksek": tpl.sumOverSumBound80(true, frFmt), + "%80 daha düşük": tpl.sumOverSumBound80(false, frFmt), + "Toplam oranı (toplam)": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Satır oranı (toplam)": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Sütunun oranı (toplam)": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Toplam oranı (sayı)": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Satır oranı (sayı)": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Sütunun oranı (sayı)": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tablo": r["Table"], + "Tablo (Çubuklar)": r["Table Barchart"], + "İlgi haritası": r["Heatmap"], + "Satır ilgi haritası": r["Row Heatmap"], + "Sütun ilgi haritası": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.tr.gchart_renderers = { + "Çizgi Grafiği": gcr["Line Chart"], + "Bar Grafiği": gcr["Bar Chart"], + "Yığılmış Çubuk Grafik ": gcr["Stacked Bar Chart"], + "Alan Grafiği": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.tr.d3_renderers = { + "Hiyerarşik Alan Grafiği (Treemap)": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.tr.c3_renderers = { + "Çizgi Grafiği": c3r["Line Chart"], + "Bar Grafiği": c3r["Bar Chart"], + "Yığılmış Çubuk Grafik ": c3r["Stacked Bar Chart"], + "Alan Grafiği": c3r["Area Chart"] + }; + } + return $.pivotUtilities.locales.tr; + }); + +}).call(this); + +//# sourceMappingURL=pivot.tr.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map new file mode 100644 index 0000000..3b5dbe0 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map new file mode 100644 index 0000000..90d8eb9 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.js new file mode 100644 index 0000000..5f30fb4 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js @@ -0,0 +1,113 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map new file mode 100644 index 0000000..6810c5f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js index 916fceb..2828cad 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js @@ -1,2 +1,2 @@ -(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,a,l,n,c;return l=e.pivotUtilities.numberFormat,c=e.pivotUtilities.aggregatorTemplates,n=e.pivotUtilities.renderers,a=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,t=e.pivotUtilities.c3_renderers,i=l({thousandsSep:",",decimalSep:"."}),o=l({digitsAfterDecimal:0,thousandsSep:",",decimalSep:"."}),s=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(o),"非重复值的个数":c.countUnique(o),"列出非重复值":c.listUnique(", "),"求和":c.sum(i),"求和后取整":c.sum(o),"平均值":c.average(i),"最小值":c.min(i),"最大值":c.max(i),"两和之比":c.sumOverSum(i),"二项分布:置信度为80%时的区间上限":c.sumOverSumBound80(!0,i),"二项分布:置信度为80%时的区间下限":c.sumOverSumBound80(!1,i),"和在总计中的比例":c.fractionOf(c.sum(),"total",s),"和在行合计中的比例":c.fractionOf(c.sum(),"row",s),"和在列合计中的比例":c.fractionOf(c.sum(),"col",s),"频数在总计中的比例":c.fractionOf(c.count(),"total",s),"频数在行合计中的比例":c.fractionOf(c.count(),"row",s),"频数在列合计中的比例":c.fractionOf(c.count(),"col",s)},renderers:{"表格":n.Table,"表格内柱状图":n["Table Barchart"],"热图":n.Heatmap,"行热图":n["Row Heatmap"],"列热图":n["Col Heatmap"]}},a&&(e.pivotUtilities.locales.zh.gchart_renderers={"折线图(g)":a["Line Chart"],"柱形图(g)":a["Bar Chart"],"堆栈柱形图(g)":a["Stacked Bar Chart"],"面积图(g)":a["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map new file mode 100644 index 0000000..8b30873 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot_spec.js b/inst/htmlwidgets/lib/pivottable/pivot_spec.js new file mode 100644 index 0000000..fadadce --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot_spec.js @@ -0,0 +1,614 @@ +(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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 $("").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 = $("").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 = $("\n \n
").append(filterItem)); + } + } + closeFilterBox = function() { + if (valueList.find("[type='checkbox']").length > valueList.find("[type='checkbox']:checked").length) { + attrElem.addClass("pvtFilteredAttribute"); + } else { + attrElem.removeClass("pvtFilteredAttribute"); + } + valueList.find('.pvtSearch').val(''); + valueList.find('.pvtCheckContainer p').show(); + return valueList.hide(); + }; + finalButtons = $("
").appendTo(valueList); + if (values.length <= opts.menuLimit) { + $("", { + type: "button" + }).text(opts.localeStrings.apply).appendTo(finalButtons).bind("click", function() { + if (valueList.find(".changed").removeClass("changed").length) { + refresh(); + } + return closeFilterBox(); + }); + } + $("", { + 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 = $("").addClass('pvtTriangle').html(" ▾").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 = $("").addClass("axis_" + i).append($("").addClass('pvtAttr').text(attr).data("attrName", attr).append(triangleLink)); + if (hasExcludedItem) { + attrElem.addClass('pvtFilteredAttribute'); + } + return unused.append(attrElem).append(valueList); + }; + for (i in shownInDragDrop) { + if (!hasProp.call(shownInDragDrop, i)) continue; + attr = shownInDragDrop[i]; + fn1(attr); + } + tr1 = $("").appendTo(uiTable); + aggregator = $("").addClass('pvtAggregator').bind("change", function() { + return refresh(); + }); + ref1 = opts.aggregators; + for (x in ref1) { + if (!hasProp.call(ref1, x)) continue; + aggregator.append($("").val(x).html(x)); + } + ordering = { + key_a_to_z: { + rowSymbol: "↕", + colSymbol: "↔", + next: "value_a_to_z" + }, + value_a_to_z: { + rowSymbol: "↓", + colSymbol: "→", + next: "value_z_to_a" + }, + value_z_to_a: { + rowSymbol: "↑", + colSymbol: "←", + next: "key_a_to_z" + } + }; + rowOrderArrow = $("", { + 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 = $("", { + 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(); + }); + $("").addClass('pvtVals pvtUiCell').appendTo(tr1).append(aggregator).append(rowOrderArrow).append(colOrderArrow).append($("")); + $("").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1); + tr2 = $("").appendTo(uiTable); + tr2.append($("").addClass('pvtAxisContainer pvtRows pvtUiCell').attr("valign", "top")); + pivotTable = $("").attr("valign", "top").addClass('pvtRendererArea').appendTo(tr2); + if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) { + uiTable.find('tr:nth-child(1)').prepend(rendererControl); + uiTable.find('tr:nth-child(2)').prepend(unused); + } else { + uiTable.prepend($("").append(rendererControl).append(unused)); + } + this.html(uiTable); + 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++) { + x = ref3[o]; + this.find(".pvtRows").append(this.find(".axis_" + ($.inArray(x, shownInDragDrop)))); + } + if (opts.aggregatorName != null) { + this.find(".pvtAggregator").val(opts.aggregatorName); + } + if (opts.rendererName != null) { + this.find(".pvtRenderer").val(opts.rendererName); + } + if (!opts.showUI) { + this.find(".pvtUiCell").hide(); + } + initialRender = true; + refreshDelayed = (function(_this) { + return function() { + var exclusions, inclusions, len4, newDropdown, numInputsToProcess, pivotUIOptions, pvtVals, ref4, ref5, subopts, t, u, unusedAttrsContainer, vals; + subopts = { + derivedAttributes: opts.derivedAttributes, + localeStrings: opts.localeStrings, + rendererOptions: opts.rendererOptions, + sorters: opts.sorters, + cols: [], + rows: [], + dataClass: opts.dataClass + }; + numInputsToProcess = (ref4 = opts.aggregators[aggregator.val()]([])().numInputs) != null ? ref4 : 0; + vals = []; + _this.find(".pvtRows li span.pvtAttr").each(function() { + return subopts.rows.push($(this).data("attrName")); + }); + _this.find(".pvtCols li span.pvtAttr").each(function() { + return subopts.cols.push($(this).data("attrName")); + }); + _this.find(".pvtVals select.pvtAttrDropdown").each(function() { + if (numInputsToProcess === 0) { + return $(this).remove(); + } else { + numInputsToProcess--; + if ($(this).val() !== "") { + return vals.push($(this).val()); + } + } + }); + if (numInputsToProcess !== 0) { + pvtVals = _this.find(".pvtVals"); + for (x = t = 0, ref5 = numInputsToProcess; 0 <= ref5 ? t < ref5 : t > ref5; x = 0 <= ref5 ? ++t : --t) { + newDropdown = $("").addClass('pvtAttrDropdown').append($("")).bind("change", function() { + return refresh(); + }); + for (u = 0, len4 = shownInAggregators.length; u < len4; u++) { + attr = shownInAggregators[u]; + newDropdown.append($("").val(attr).text(attr)); + } + pvtVals.append(newDropdown); + } + } + if (initialRender) { + vals = opts.vals; + i = 0; + _this.find(".pvtVals select.pvtAttrDropdown").each(function() { + $(this).val(vals[i]); + return i++; + }); + initialRender = false; + } + subopts.aggregatorName = aggregator.val(); + subopts.vals = vals; + subopts.aggregator = opts.aggregators[aggregator.val()](vals); + subopts.renderer = opts.renderers[renderer.val()]; + subopts.rowOrder = rowOrderArrow.data("order"); + subopts.colOrder = colOrderArrow.data("order"); + exclusions = {}; + _this.find('input.pvtFilter').not(':checked').each(function() { + var filter; + filter = $(this).data("filter"); + if (exclusions[filter[0]] != null) { + return exclusions[filter[0]].push(filter[1]); + } else { + return exclusions[filter[0]] = [filter[1]]; + } + }); + inclusions = {}; + _this.find('input.pvtFilter:checked').each(function() { + var filter; + filter = $(this).data("filter"); + if (exclusions[filter[0]] != null) { + if (inclusions[filter[0]] != null) { + return inclusions[filter[0]].push(filter[1]); + } else { + return inclusions[filter[0]] = [filter[1]]; + } + } + }); + subopts.filter = function(record) { + var excludedItems, k, ref6, ref7; + if (!opts.filter(record)) { + return false; + } + for (k in exclusions) { + excludedItems = exclusions[k]; + if (ref6 = "" + ((ref7 = record[k]) != null ? ref7 : 'null'), indexOf.call(excludedItems, ref6) >= 0) { + return false; + } + } + return true; + }; + pivotTable.pivot(materializedInput, subopts); + pivotUIOptions = $.extend({}, opts, { + cols: subopts.cols, + rows: subopts.rows, + colOrder: subopts.colOrder, + rowOrder: subopts.rowOrder, + vals: vals, + exclusions: exclusions, + inclusions: inclusions, + inclusionsInfo: inclusions, + aggregatorName: aggregator.val(), + rendererName: renderer.val() + }); + _this.data("pivotUIOptions", pivotUIOptions); + if (opts.autoSortUnusedAttrs) { + unusedAttrsContainer = _this.find("td.pvtUnused.pvtAxisContainer"); + $(unusedAttrsContainer).children("li").sort(function(a, b) { + return naturalSort($(a).text(), $(b).text()); + }).appendTo(unusedAttrsContainer); + } + pivotTable.css("opacity", 1); + if (opts.onRefresh != null) { + return opts.onRefresh(pivotUIOptions); + } + }; + })(this); + refresh = (function(_this) { + return function() { + pivotTable.css("opacity", 0.5); + return setTimeout(refreshDelayed, 10); + }; + })(this); + refresh(); + this.find(".pvtAxisContainer").sortable({ + update: function(e, ui) { + if (ui.sender == null) { + return refresh(); + } + }, + connectWith: this.find(".pvtAxisContainer"), + items: 'li', + placeholder: 'pvtPlaceholder' + }); + } catch (error) { + e = error; + if (typeof console !== "undefined" && console !== null) { + console.error(e.stack); + } + this.html(opts.localeStrings.uiRenderError); + } + return this; + }; + + /* + Heatmap post-processing + */ + $.fn.heatmap = function(scope, opts) { + var colorScaleGenerator, heatmapper, i, j, l, n, numCols, numRows, ref, ref1, ref2; + if (scope == null) { + scope = "heatmap"; + } + numRows = this.data("numrows"); + numCols = this.data("numcols"); + colorScaleGenerator = opts != null ? (ref = opts.heatmap) != null ? ref.colorScaleGenerator : void 0 : void 0; + if (colorScaleGenerator == null) { + colorScaleGenerator = function(values) { + var max, min; + min = Math.min.apply(Math, values); + max = Math.max.apply(Math, values); + return function(x) { + var nonRed; + nonRed = 255 - Math.round(255 * (x - min) / (max - min)); + return "rgb(255," + nonRed + "," + nonRed + ")"; + }; + }; + } + heatmapper = (function(_this) { + return function(scope) { + var colorScale, forEachCell, values; + forEachCell = function(f) { + return _this.find(scope).each(function() { + var x; + x = $(this).data("value"); + if ((x != null) && isFinite(x)) { + return f(x, $(this)); + } + }); + }; + values = []; + forEachCell(function(x) { + return values.push(x); + }); + colorScale = colorScaleGenerator(values); + return forEachCell(function(x, elem) { + return elem.css("background-color", colorScale(x)); + }); + }; + })(this); + switch (scope) { + case "heatmap": + heatmapper(".pvtVal"); + break; + case "rowheatmap": + for (i = l = 0, ref1 = numRows; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) { + heatmapper(".pvtVal.row" + i); + } + break; + case "colheatmap": + for (j = n = 0, ref2 = numCols; 0 <= ref2 ? n < ref2 : n > ref2; j = 0 <= ref2 ? ++n : --n) { + heatmapper(".pvtVal.col" + j); + } + } + heatmapper(".pvtTotal.rowTotal"); + heatmapper(".pvtTotal.colTotal"); + return this; + }; + + /* + Barchart post-processing + */ + return $.fn.barchart = function(opts) { + var barcharter, i, l, numCols, numRows, ref; + numRows = this.data("numrows"); + numCols = this.data("numcols"); + barcharter = (function(_this) { + return function(scope) { + var forEachCell, max, min, range, scaler, values; + forEachCell = function(f) { + return _this.find(scope).each(function() { + var x; + x = $(this).data("value"); + if ((x != null) && isFinite(x)) { + return f(x, $(this)); + } + }); + }; + values = []; + forEachCell(function(x) { + return values.push(x); + }); + 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) { + return 100 * x / (1.4 * range); + }; + return forEachCell(function(x, elem) { + var bBase, bgColor, text, wrapper; + text = elem.text(); + wrapper = $("").css({ + "position": "relative", + "height": "55px" + }); + bgColor = "gray"; + bBase = 0; + if (min < 0) { + bBase = scaler(-min); + } + if (x < 0) { + bBase += scaler(x); + bgColor = "darkred"; + x = -x; + } + wrapper.append($("").css({ + "position": "absolute", + "bottom": bBase + "%", + "left": 0, + "right": 0, + "height": scaler(x) + "%", + "background-color": bgColor + })); + wrapper.append($("").text(text).css({ + "position": "relative", + "padding-left": "5px", + "padding-right": "5px" + })); + return elem.css({ + "padding": 0, + "padding-top": "5px", + "text-align": "center" + }).html(wrapper); + }); + }; + })(this); + for (i = l = 0, ref = numRows; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) { + barcharter(".pvtVal.row" + i); + } + barcharter(".pvtTotal.colTotal"); + return this; + }; + }); + +}).call(this); + +//# sourceMappingURL=pivot.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.js.map b/inst/htmlwidgets/lib/pivottable/pivot.js.map new file mode 100644 index 0000000..a45720b --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pivot.js","sources":["pivot.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 ###\n Utilities\n ###\n\n addSeparators = (nStr, thousandsSep, decimalSep) ->\n nStr += ''\n x = nStr.split('.')\n x1 = x[0]\n x2 = if x.length > 1 then decimalSep + x[1] else ''\n rgx = /(\\d+)(\\d{3})/\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2') while rgx.test(x1)\n return x1 + x2\n\n numberFormat = (opts) ->\n defaults =\n digitsAfterDecimal: 2, scaler: 1,\n thousandsSep: \",\", decimalSep: \".\"\n prefix: \"\", suffix: \"\"\n opts = $.extend({}, defaults, opts)\n (x) ->\n return \"\" if isNaN(x) or not isFinite(x)\n result = addSeparators (opts.scaler*x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep\n return \"\"+opts.prefix+result+opts.suffix\n\n #aggregator templates default to US number formatting but this is overrideable\n usFmt = numberFormat()\n usFmtInt = numberFormat(digitsAfterDecimal: 0)\n usFmtPct = numberFormat(digitsAfterDecimal:1, scaler: 100, suffix: \"%\")\n\n aggregatorTemplates =\n count: (formatter=usFmtInt) -> () -> (data, rowKey, colKey) ->\n count: 0\n push: -> @count++\n value: -> @count\n format: formatter\n\n uniques: (fn, formatter=usFmtInt) -> ([attr]) -> (data, rowKey, colKey) ->\n uniq: []\n push: (record) -> @uniq.push(record[attr]) if record[attr] not in @uniq\n value: -> fn(@uniq)\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sum: (formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n sum: 0\n push: (record) -> @sum += parseFloat(record[attr]) if not isNaN parseFloat(record[attr])\n value: -> @sum\n format: formatter\n numInputs: if attr? then 0 else 1\n\n extremes: (mode, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n val: null\n sorter: getSort(data?.sorters, attr)\n push: (record) ->\n x = record[attr]\n if mode in [\"min\", \"max\"]\n x = parseFloat(x)\n if not isNaN x then @val = Math[mode](x, @val ? x)\n if mode == \"first\" then @val = x if @sorter(x, @val ? x) <= 0\n if mode == \"last\" then @val = x if @sorter(x, @val ? x) >= 0\n value: -> @val\n format: (x) -> if isNaN(x) then x else formatter(x)\n numInputs: if attr? then 0 else 1\n\n quantile: (q, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n vals: []\n push: (record) ->\n x = parseFloat(record[attr])\n @vals.push(x) if not isNaN(x)\n value: ->\n return null if @vals.length == 0\n @vals.sort((a,b) -> a-b)\n i = (@vals.length-1)*q\n return (@vals[Math.floor(i)] + @vals[Math.ceil(i)])/2.0\n format: formatter\n numInputs: if attr? then 0 else 1\n\n runningStat: (mode=\"mean\", ddof=1, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n n: 0.0, m: 0.0, s: 0.0\n push: (record) ->\n x = parseFloat(record[attr])\n return if isNaN(x)\n @n += 1.0\n if @n == 1.0\n @m = x\n else\n m_new = @m + (x - @m)/@n\n @s = @s + (x - @m)*(x - m_new)\n @m = m_new\n value: ->\n if mode == \"mean\"\n return if @n == 0 then 0/0 else @m\n return 0 if @n <= ddof\n switch mode\n when \"var\" then @s/(@n-ddof)\n when \"stdev\" then Math.sqrt(@s/(@n-ddof))\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sumOverSum: (formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: -> @sumNum/@sumDenom\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n sumOverSumBound80: (upper=true, formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: ->\n sign = if upper then 1 else -1\n (0.821187207574908/@sumDenom + @sumNum/@sumDenom + 1.2815515655446004*sign*\n Math.sqrt(0.410593603787454/ (@sumDenom*@sumDenom) + (@sumNum*(1 - @sumNum/ @sumDenom))/ (@sumDenom*@sumDenom)))/\n (1 + 1.642374415149816/@sumDenom)\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n fractionOf: (wrapped, type=\"total\", formatter=usFmtPct) -> (x...) -> (data, rowKey, colKey) ->\n selector: {total:[[],[]],row:[rowKey,[]],col:[[],colKey]}[type]\n inner: wrapped(x...)(data, rowKey, colKey)\n push: (record) -> @inner.push record\n format: formatter\n value: -> @inner.value() / data.getAggregator(@selector...).inner.value()\n numInputs: wrapped(x...)().numInputs\n\n aggregatorTemplates.countUnique = (f) -> aggregatorTemplates.uniques(((x) -> x.length), f)\n aggregatorTemplates.listUnique = (s) -> aggregatorTemplates.uniques(((x) -> x.sort(naturalSort).join(s)), ((x)->x))\n aggregatorTemplates.max = (f) -> aggregatorTemplates.extremes('max', f)\n aggregatorTemplates.min = (f) -> aggregatorTemplates.extremes('min', f)\n aggregatorTemplates.first = (f) -> aggregatorTemplates.extremes('first', f)\n aggregatorTemplates.last = (f) -> aggregatorTemplates.extremes('last', f)\n aggregatorTemplates.median = (f) -> aggregatorTemplates.quantile(0.5, f)\n aggregatorTemplates.average = (f) -> aggregatorTemplates.runningStat(\"mean\", 1, f)\n aggregatorTemplates.var = (ddof, f) -> aggregatorTemplates.runningStat(\"var\", ddof, f)\n aggregatorTemplates.stdev = (ddof, f) -> aggregatorTemplates.runningStat(\"stdev\", ddof, f)\n\n #default aggregators & renderers use US naming and number formatting\n aggregators = do (tpl = aggregatorTemplates) ->\n \"Count\": tpl.count(usFmtInt)\n \"Count Unique Values\": tpl.countUnique(usFmtInt)\n \"List Unique Values\": tpl.listUnique(\", \")\n \"Sum\": tpl.sum(usFmt)\n \"Integer Sum\": tpl.sum(usFmtInt)\n \"Average\": tpl.average(usFmt)\n \"Median\": tpl.median(usFmt)\n \"Sample Variance\": tpl.var(1, usFmt)\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt)\n \"Minimum\": tpl.min(usFmt)\n \"Maximum\": tpl.max(usFmt)\n \"First\": tpl.first(usFmt)\n \"Last\": tpl.last(usFmt)\n \"Sum over Sum\": tpl.sumOverSum(usFmt)\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt)\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt)\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct)\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct)\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct)\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct)\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct)\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n\n renderers =\n \"Table\": (data, opts) -> pivotTableRenderer(data, opts)\n \"Table Barchart\": (data, opts) -> $(pivotTableRenderer(data, opts)).barchart()\n \"Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts)\n \"Row Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts)\n \"Col Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts)\n\n locales =\n en:\n aggregators: aggregators\n renderers: renderers\n localeStrings:\n renderError: \"An error occurred rendering the PivotTable results.\"\n computeError: \"An error occurred computing the PivotTable results.\"\n uiRenderError: \"An error occurred rendering the PivotTable UI.\"\n selectAll: \"Select All\"\n selectNone: \"Select None\"\n tooMany: \"(too many to list)\"\n filterResults: \"Filter values\"\n apply: \"Apply\"\n cancel: \"Cancel\"\n totals: \"Totals\" #for table renderer\n vs: \"vs\" #for gchart renderer\n by: \"by\" #for gchart renderer\n\n #dateFormat deriver l10n requires month and day names to be passed in directly\n mthNamesEn = [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]\n dayNamesEn = [\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]\n zeroPad = (number) -> (\"0\"+number).substr(-2,2)\n\n derivers =\n bin: (col, binWidth) -> (record) -> record[col] - record[col] % binWidth\n dateFormat: (col, formatString, utcOutput=false, mthNames=mthNamesEn, dayNames=dayNamesEn) ->\n utc = if utcOutput then \"UTC\" else \"\"\n (record) -> #thanks http://stackoverflow.com/a/12213072/112871\n date = new Date(Date.parse(record[col]))\n if isNaN(date) then return \"\"\n formatString.replace /%(.)/g, (m, p) ->\n switch p\n when \"y\" then date[\"get#{utc}FullYear\"]()\n when \"m\" then zeroPad(date[\"get#{utc}Month\"]()+1)\n when \"n\" then mthNames[date[\"get#{utc}Month\"]()]\n when \"d\" then zeroPad(date[\"get#{utc}Date\"]())\n when \"w\" then dayNames[date[\"get#{utc}Day\"]()]\n when \"x\" then date[\"get#{utc}Day\"]()\n when \"H\" then zeroPad(date[\"get#{utc}Hours\"]())\n when \"M\" then zeroPad(date[\"get#{utc}Minutes\"]())\n when \"S\" then zeroPad(date[\"get#{utc}Seconds\"]())\n else \"%\" + p\n\n rx = /(\\d+)|(\\D+)/g\n rd = /\\d/\n rz = /^0/\n naturalSort = (as, bs) =>\n #nulls first\n return -1 if bs? and not as?\n return 1 if as? and not bs?\n\n #then raw NaNs\n return -1 if typeof as == \"number\" and isNaN(as)\n return 1 if typeof bs == \"number\" and isNaN(bs)\n\n #numbers and numbery strings group together\n nas = +as\n nbs = +bs\n return -1 if nas < nbs\n return 1 if nas > nbs\n\n #within that, true numbers before numbery strings\n return -1 if typeof as == \"number\" and typeof bs != \"number\"\n return 1 if typeof bs == \"number\" and typeof as != \"number\"\n return 0 if typeof as == \"number\" and typeof bs == \"number\"\n\n # 'Infinity' is a textual number, so less than 'A'\n return -1 if isNaN(nbs) and not isNaN(nas)\n return 1 if isNaN(nas) and not isNaN(nbs)\n\n #finally, \"smart\" string sorting per http://stackoverflow.com/a/4373421/112871\n a = String(as)\n b = String(bs)\n return 0 if a == b\n return (if a > b then 1 else -1) unless rd.test(a) and rd.test(b)\n\n #special treatment for strings containing digits\n a = a.match(rx) #create digits vs non-digit chunks and iterate through\n b = b.match(rx)\n while a.length and b.length\n a1 = a.shift()\n b1 = b.shift()\n if a1 != b1\n if rd.test(a1) and rd.test(b1) #both are digit chunks\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\")\n else\n return (if a1 > b1 then 1 else -1)\n return a.length - b.length\n\n sortAs = (order) ->\n mapping = {}\n l_mapping = {} # sort lowercased keys similarly\n for i, x of order\n mapping[x] = i\n l_mapping[x.toLowerCase()] = i if typeof x == \"string\"\n (a, b) ->\n if mapping[a]? and mapping[b]? then mapping[a] - mapping[b]\n else if mapping[a]? then -1\n else if mapping[b]? then 1\n else if l_mapping[a]? and l_mapping[b]? then l_mapping[a] - l_mapping[b]\n else if l_mapping[a]? then -1\n else if l_mapping[b]? then 1\n else naturalSort(a,b)\n\n getSort = (sorters, attr) ->\n if sorters?\n if $.isFunction(sorters)\n sort = sorters(attr)\n return sort if $.isFunction(sort)\n else if sorters[attr]?\n return sorters[attr]\n return naturalSort\n\n ###\n Data Model class\n ###\n\n class PivotData\n constructor: (input, opts = {}) ->\n @input = input\n @aggregator = opts.aggregator ? aggregatorTemplates.count()()\n @aggregatorName = opts.aggregatorName ? \"Count\"\n @colAttrs = opts.cols ? []\n @rowAttrs = opts.rows ? []\n @valAttrs = opts.vals ? []\n @sorters = opts.sorters ? {}\n @rowOrder = opts.rowOrder ? \"key_a_to_z\"\n @colOrder = opts.colOrder ? \"key_a_to_z\"\n @derivedAttributes = opts.derivedAttributes ? {}\n @filter = opts.filter ? (-> true)\n @tree = {}\n @rowKeys = []\n @colKeys = []\n @rowTotals = {}\n @colTotals = {}\n @allTotal = @aggregator(this, [], [])\n @sorted = false\n\n # iterate through input, accumulating data for cells\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n @processRecord(record) if @filter(record)\n\n #can handle arrays or jQuery selections of tables\n @forEachRecord = (input, derivedAttributes, f) ->\n if $.isEmptyObject derivedAttributes\n addRecord = f\n else\n addRecord = (record) ->\n record[k] = v(record) ? record[k] for k, v of derivedAttributes\n f(record)\n\n #if it's a function, have it call us back\n if $.isFunction(input)\n input(addRecord)\n else if $.isArray(input)\n if $.isArray(input[0]) #array of arrays\n for own i, compactRecord of input when i > 0\n record = {}\n record[k] = compactRecord[j] for own j, k of input[0]\n addRecord(record)\n else #array of objects\n addRecord(record) for record in input\n else if input instanceof $\n tblCols = []\n $(\"thead > tr > th\", input).each (i) -> tblCols.push $(this).text()\n $(\"tbody > tr\", input).each (i) ->\n record = {}\n $(\"td\", this).each (j) -> record[tblCols[j]] = $(this).text()\n addRecord(record)\n else\n throw new Error(\"unknown input format\")\n\n forEachMatchingRecord: (criteria, callback) ->\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n return if not @filter(record)\n for k, v of criteria\n return if v != (record[k] ? \"null\")\n callback(record)\n\n arrSort: (attrs) =>\n sortersArr = (getSort(@sorters, a) for a in attrs)\n (a,b) ->\n for own i, sorter of sortersArr\n comparison = sorter(a[i], b[i])\n return comparison if comparison != 0\n return 0\n\n sortKeys: () =>\n if not @sorted\n @sorted = true\n v = (r,c) => @getAggregator(r,c).value()\n switch @rowOrder\n when \"value_a_to_z\" then @rowKeys.sort (a,b) => naturalSort v(a,[]), v(b,[])\n when \"value_z_to_a\" then @rowKeys.sort (a,b) => -naturalSort v(a,[]), v(b,[])\n else @rowKeys.sort @arrSort(@rowAttrs)\n switch @colOrder\n when \"value_a_to_z\" then @colKeys.sort (a,b) => naturalSort v([],a), v([],b)\n when \"value_z_to_a\" then @colKeys.sort (a,b) => -naturalSort v([],a), v([],b)\n else @colKeys.sort @arrSort(@colAttrs)\n\n getColKeys: () =>\n @sortKeys()\n return @colKeys\n\n getRowKeys: () =>\n @sortKeys()\n return @rowKeys\n\n processRecord: (record) -> #this code is called in a tight loop\n colKey = []\n rowKey = []\n colKey.push record[x] ? \"null\" for x in @colAttrs\n rowKey.push record[x] ? \"null\" for x in @rowAttrs\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n\n @allTotal.push record\n\n if rowKey.length != 0\n if not @rowTotals[flatRowKey]\n @rowKeys.push rowKey\n @rowTotals[flatRowKey] = @aggregator(this, rowKey, [])\n @rowTotals[flatRowKey].push record\n\n if colKey.length != 0\n if not @colTotals[flatColKey]\n @colKeys.push colKey\n @colTotals[flatColKey] = @aggregator(this, [], colKey)\n @colTotals[flatColKey].push record\n\n if colKey.length != 0 and rowKey.length != 0\n if not @tree[flatRowKey]\n @tree[flatRowKey] = {}\n if not @tree[flatRowKey][flatColKey]\n @tree[flatRowKey][flatColKey] = @aggregator(this, rowKey, colKey)\n @tree[flatRowKey][flatColKey].push record\n\n getAggregator: (rowKey, colKey) =>\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n if rowKey.length == 0 and colKey.length == 0\n agg = @allTotal\n else if rowKey.length == 0\n agg = @colTotals[flatColKey]\n else if colKey.length == 0\n agg = @rowTotals[flatRowKey]\n else\n agg = @tree[flatRowKey][flatColKey]\n return agg ? {value: (-> null), format: -> \"\"}\n\n #expose these to the outside world\n $.pivotUtilities = {aggregatorTemplates, aggregators, renderers, derivers, locales,\n naturalSort, numberFormat, sortAs, PivotData}\n\n ###\n Default Renderer for hierarchical table layout\n ###\n\n pivotTableRenderer = (pivotData, opts) ->\n\n defaults =\n table:\n clickCallback: null\n rowTotals: true\n colTotals: true\n localeStrings: totals: \"Totals\"\n\n opts = $.extend(true, {}, defaults, opts)\n\n colAttrs = pivotData.colAttrs\n rowAttrs = pivotData.rowAttrs\n rowKeys = pivotData.getRowKeys()\n colKeys = pivotData.getColKeys()\n\n if opts.table.clickCallback\n getClickHandler = (value, rowValues, colValues) ->\n filters = {}\n filters[attr] = colValues[i] for own i, attr of colAttrs when colValues[i]?\n filters[attr] = rowValues[i] for own i, attr of rowAttrs when rowValues[i]?\n return (e) -> opts.table.clickCallback(e, value, filters, pivotData)\n\n #now actually build the output\n result = document.createElement(\"table\")\n result.className = \"pvtTable\"\n\n #helper function for setting row/col-span in pivotTableRenderer\n spanSize = (arr, i, j) ->\n if i != 0\n noDraw = true\n for x in [0..j]\n if arr[i-1][x] != arr[i][x]\n noDraw = false\n if noDraw\n return -1 #do not draw cell\n len = 0\n while i+len < arr.length\n stop = false\n for x in [0..j]\n stop = true if arr[i][x] != arr[i+len][x]\n break if stop\n len++\n return len\n\n #the first few rows are for col headers\n thead = document.createElement(\"thead\")\n for own j, c of colAttrs\n tr = document.createElement(\"tr\")\n if parseInt(j) == 0 and rowAttrs.length != 0\n th = document.createElement(\"th\")\n th.setAttribute(\"colspan\", rowAttrs.length)\n th.setAttribute(\"rowspan\", colAttrs.length)\n tr.appendChild th\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = c\n tr.appendChild th\n for own i, colKey of colKeys\n x = spanSize(colKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtColLabel\"\n th.textContent = colKey[j]\n th.setAttribute(\"colspan\", x)\n if parseInt(j) == colAttrs.length-1 and rowAttrs.length != 0\n th.setAttribute(\"rowspan\", 2)\n tr.appendChild th\n if parseInt(j) == 0 && opts.table.rowTotals\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"rowspan\", colAttrs.length + (if rowAttrs.length ==0 then 0 else 1))\n tr.appendChild th\n thead.appendChild tr\n\n #then a row for row header headers\n if rowAttrs.length !=0\n tr = document.createElement(\"tr\")\n for own i, r of rowAttrs\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = r\n tr.appendChild th\n th = document.createElement(\"th\")\n if colAttrs.length ==0\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n tr.appendChild th\n thead.appendChild tr\n result.appendChild thead\n\n #now the actual data rows, with their row headers and totals\n tbody = document.createElement(\"tbody\")\n for own i, rowKey of rowKeys\n tr = document.createElement(\"tr\")\n for own j, txt of rowKey\n x = spanSize(rowKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtRowLabel\"\n th.textContent = txt\n th.setAttribute(\"rowspan\", x)\n if parseInt(j) == rowAttrs.length-1 and colAttrs.length !=0\n th.setAttribute(\"colspan\",2)\n tr.appendChild th\n for own j, colKey of colKeys #this is the tight loop\n aggregator = pivotData.getAggregator(rowKey, colKey)\n val = aggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtVal row#{i} col#{j}\"\n td.textContent = aggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, colKey)\n tr.appendChild td\n\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator(rowKey, [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal rowTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, [])\n td.setAttribute(\"data-for\", \"row\"+i)\n tr.appendChild td\n tbody.appendChild tr\n\n #finally, the row for col totals, and a grand total\n if opts.table.colTotals || rowAttrs.length == 0\n tr = document.createElement(\"tr\")\n if opts.table.colTotals || rowAttrs.length == 0\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtColTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"colspan\", rowAttrs.length + (if colAttrs.length == 0 then 0 else 1))\n tr.appendChild th\n for own j, colKey of colKeys\n totalAggregator = pivotData.getAggregator([], colKey)\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal colTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], colKey)\n td.setAttribute(\"data-for\", \"col\"+j)\n tr.appendChild td\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator([], [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtGrandTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], [])\n tr.appendChild td\n tbody.appendChild tr\n result.appendChild tbody\n\n #squirrel this away for later\n result.setAttribute(\"data-numrows\", rowKeys.length)\n result.setAttribute(\"data-numcols\", colKeys.length)\n\n return result\n\n ###\n Pivot Table core: create PivotData object and call Renderer on it\n ###\n\n $.fn.pivot = (input, inputOpts, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n cols : [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n filter: -> true\n aggregator: aggregatorTemplates.count()()\n aggregatorName: \"Count\"\n sorters: {}\n derivedAttributes: {}\n renderer: pivotTableRenderer\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n\n result = null\n try\n pivotData = new opts.dataClass(input, opts)\n try\n result = opts.renderer(pivotData, opts.rendererOptions)\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.renderError\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.computeError\n\n x = this[0]\n x.removeChild(x.lastChild) while x.hasChildNodes()\n return @append result\n\n\n ###\n Pivot Table UI: calls Pivot Table core above with options set by user\n ###\n\n $.fn.pivotUI = (input, inputOpts, overwrite = false, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n derivedAttributes: {}\n aggregators: locales[locale].aggregators\n renderers: locales[locale].renderers\n hiddenAttributes: []\n hiddenFromAggregators: []\n hiddenFromDragDrop: []\n menuLimit: 500\n cols: [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n exclusions: {}\n inclusions: {}\n unusedAttrsVertical: 85\n autoSortUnusedAttrs: false\n onRefresh: null\n showUI: true\n filter: -> true\n sorters: {}\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n existingOpts = @data \"pivotUIOptions\"\n if not existingOpts? or overwrite\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n else\n opts = existingOpts\n\n try\n # do a first pass on the data to cache a materialized copy of any\n # function-valued inputs and to compute dimension cardinalities\n attrValues = {}\n materializedInput = []\n recordsProcessed = 0\n PivotData.forEachRecord input, opts.derivedAttributes, (record) ->\n return unless opts.filter(record)\n materializedInput.push(record)\n for own attr of record\n if not attrValues[attr]?\n attrValues[attr] = {}\n if recordsProcessed > 0\n attrValues[attr][\"null\"] = recordsProcessed\n for attr of attrValues\n value = record[attr] ? \"null\"\n attrValues[attr][value] ?= 0\n attrValues[attr][value]++\n recordsProcessed++\n\n #start building the output\n uiTable = $(\"\", \"class\": \"pvtUi\").attr(\"cellpadding\", 5)\n\n #renderer control\n rendererControl = $(\"\").addClass(\"pvtUiCell\")\n\n renderer = $(\"\")\n .addClass('pvtRenderer')\n .appendTo(rendererControl)\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.renderers\n $(\"\").val(x).html(x).appendTo(renderer)\n\n\n #axis list, including the double-click menu\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell')\n shownAttributes = (a for a of attrValues when a not in opts.hiddenAttributes)\n shownInAggregators = (c for c in shownAttributes when c not in opts.hiddenFromAggregators)\n shownInDragDrop = (c for c in shownAttributes when c not in opts.hiddenFromDragDrop)\n\n\n unusedAttrsVerticalAutoOverride = false\n if opts.unusedAttrsVertical == \"auto\"\n unusedAttrsVerticalAutoCutoff = 120 # legacy support\n else\n unusedAttrsVerticalAutoCutoff = parseInt opts.unusedAttrsVertical\n\n if not isNaN(unusedAttrsVerticalAutoCutoff)\n attrLength = 0\n attrLength += a.length for a in shownInDragDrop\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff\n\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n unused.addClass('pvtVertList')\n else\n unused.addClass('pvtHorizList')\n\n for own i, attr of shownInDragDrop\n do (attr) ->\n values = (v for v of attrValues[attr])\n hasExcludedItem = false\n valueList = $(\"\").addClass('pvtFilterBox').hide()\n\n valueList.append $(\"\").append(\n $(\"\").text(attr),\n $(\"\").addClass(\"count\").text(\"(#{values.length})\"),\n )\n if values.length > opts.menuLimit\n valueList.append $(\"\").html(opts.localeStrings.tooMany)\n else\n if values.length > 5\n controls = $(\"\").appendTo(valueList)\n sorter = getSort(opts.sorters, attr)\n placeholder = opts.localeStrings.filterResults\n $(\"\", {type: \"text\"}).appendTo(controls)\n .attr({placeholder: placeholder, class: \"pvtSearch\"})\n .bind \"keyup\", ->\n filter = $(this).val().toLowerCase().trim()\n accept_gen = (prefix, accepted) -> (v) ->\n real_filter = filter.substring(prefix.length).trim()\n return true if real_filter.length == 0\n return Math.sign(sorter(v.toLowerCase(), real_filter)) in accepted\n accept =\n if filter.indexOf(\">=\") == 0 then accept_gen(\">=\", [1,0])\n else if filter.indexOf(\"<=\") == 0 then accept_gen(\"<=\", [-1,0])\n else if filter.indexOf(\">\") == 0 then accept_gen(\">\", [1])\n else if filter.indexOf(\"<\") == 0 then accept_gen(\"<\", [-1])\n else if filter.indexOf(\"~\") == 0 then (v) ->\n return true if filter.substring(1).trim().length == 0\n v.toLowerCase().match(filter.substring(1))\n else (v) -> v.toLowerCase().indexOf(filter) != -1\n\n valueList.find('.pvtCheckContainer p label span.value').each ->\n if accept($(this).text())\n $(this).parent().parent().show()\n else\n $(this).parent().parent().hide()\n controls.append $(\"\")\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectAll)\n .bind \"click\", ->\n valueList.find(\"input:visible:not(:checked)\")\n .prop(\"checked\", true).toggleClass(\"changed\")\n return false\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectNone)\n .bind \"click\", ->\n valueList.find(\"input:visible:checked\")\n .prop(\"checked\", false).toggleClass(\"changed\")\n return false\n\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList)\n\n for value in values.sort(getSort(opts.sorters, attr))\n valueCount = attrValues[attr][value]\n filterItem = $(\"\")\n filterItemExcluded = false\n if opts.inclusions[attr]\n filterItemExcluded = (value not in opts.inclusions[attr])\n else if opts.exclusions[attr]\n filterItemExcluded = (value in opts.exclusions[attr])\n hasExcludedItem ||= filterItemExcluded\n $(\"\")\n .attr(\"type\", \"checkbox\").addClass('pvtFilter')\n .attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr,value])\n .appendTo(filterItem)\n .bind \"change\", -> $(this).toggleClass(\"changed\")\n filterItem.append $(\"\").addClass(\"value\").text(value)\n filterItem.append $(\"\").addClass(\"count\").text(\"(\"+valueCount+\")\")\n checkContainer.append $(\"\").append(filterItem)\n\n closeFilterBox = ->\n if valueList.find(\"[type='checkbox']\").length >\n valueList.find(\"[type='checkbox']:checked\").length\n attrElem.addClass \"pvtFilteredAttribute\"\n else\n attrElem.removeClass \"pvtFilteredAttribute\"\n\n valueList.find('.pvtSearch').val('')\n valueList.find('.pvtCheckContainer p').show()\n valueList.hide()\n\n finalButtons = $(\"\").appendTo(valueList)\n\n if values.length <= opts.menuLimit\n $(\"\", {type: \"button\"}).text(opts.localeStrings.apply)\n .appendTo(finalButtons).bind \"click\", ->\n if valueList.find(\".changed\").removeClass(\"changed\").length\n refresh()\n closeFilterBox()\n\n $(\"\", {type: \"button\"}).text(opts.localeStrings.cancel)\n .appendTo(finalButtons).bind \"click\", ->\n valueList.find(\".changed:checked\")\n .removeClass(\"changed\").prop(\"checked\", false)\n valueList.find(\".changed:not(:checked)\")\n .removeClass(\"changed\").prop(\"checked\", true)\n closeFilterBox()\n\n triangleLink = $(\"\").addClass('pvtTriangle')\n .html(\" ▾\").bind \"click\", (e) ->\n {left, top} = $(e.currentTarget).position()\n valueList.css(left: left+10, top: top+10).show()\n\n attrElem = $(\"\").addClass(\"axis_#{i}\")\n .append $(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink)\n\n attrElem.addClass('pvtFilteredAttribute') if hasExcludedItem\n unused.append(attrElem).append(valueList)\n\n tr1 = $(\"\").appendTo(uiTable)\n\n #aggregator menu and value area\n\n aggregator = $(\"\").addClass('pvtAggregator')\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.aggregators\n aggregator.append $(\"\").val(x).html(x)\n\n ordering =\n key_a_to_z: {rowSymbol: \"↕\", colSymbol: \"↔\", next: \"value_a_to_z\"}\n value_a_to_z: {rowSymbol: \"↓\", colSymbol: \"→\", next: \"value_z_to_a\"}\n value_z_to_a: {rowSymbol: \"↑\", colSymbol: \"←\", next: \"key_a_to_z\"}\n\n rowOrderArrow = $(\"\", role: \"button\").addClass(\"pvtRowOrder\")\n .data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol)\n refresh()\n\n colOrderArrow = $(\"\", role: \"button\").addClass(\"pvtColOrder\")\n .data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].colSymbol)\n refresh()\n\n $(\"\").addClass('pvtVals pvtUiCell')\n .appendTo(tr1)\n .append(aggregator)\n .append(rowOrderArrow)\n .append(colOrderArrow)\n .append($(\"\"))\n\n #column axes\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1)\n\n tr2 = $(\"\").appendTo(uiTable)\n\n #row axes\n tr2.append $(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\")\n\n #the actual pivot table container\n pivotTable = $(\"\")\n .attr(\"valign\", \"top\")\n .addClass('pvtRendererArea')\n .appendTo(tr2)\n\n #finally the renderer dropdown and unused attribs are inserted at the requested location\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n uiTable.find('tr:nth-child(1)').prepend rendererControl\n uiTable.find('tr:nth-child(2)').prepend unused\n else\n uiTable.prepend $(\"\").append(rendererControl).append(unused)\n\n #render the UI in its default state\n @html uiTable\n\n #set up the UI initial state as requested by moving elements around\n\n for x in opts.cols\n @find(\".pvtCols\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n for x in opts.rows\n @find(\".pvtRows\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n if opts.aggregatorName?\n @find(\".pvtAggregator\").val opts.aggregatorName\n if opts.rendererName?\n @find(\".pvtRenderer\").val opts.rendererName\n\n @find(\".pvtUiCell\").hide() unless opts.showUI\n\n initialRender = true\n\n #set up for refreshing\n refreshDelayed = =>\n subopts =\n derivedAttributes: opts.derivedAttributes\n localeStrings: opts.localeStrings\n rendererOptions: opts.rendererOptions\n sorters: opts.sorters\n cols: [], rows: []\n dataClass: opts.dataClass\n\n numInputsToProcess = opts.aggregators[aggregator.val()]([])().numInputs ? 0\n vals = []\n @find(\".pvtRows li span.pvtAttr\").each -> subopts.rows.push $(this).data(\"attrName\")\n @find(\".pvtCols li span.pvtAttr\").each -> subopts.cols.push $(this).data(\"attrName\")\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n if numInputsToProcess == 0\n $(this).remove()\n else\n numInputsToProcess--\n vals.push $(this).val() if $(this).val() != \"\"\n\n if numInputsToProcess != 0\n pvtVals = @find(\".pvtVals\")\n for x in [0...numInputsToProcess]\n newDropdown = $(\"\")\n .addClass('pvtAttrDropdown')\n .append($(\"\"))\n .bind \"change\", -> refresh()\n for attr in shownInAggregators\n newDropdown.append($(\"\").val(attr).text(attr))\n pvtVals.append(newDropdown)\n\n if initialRender\n vals = opts.vals\n i = 0\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n $(this).val vals[i]\n i++\n initialRender = false\n\n subopts.aggregatorName = aggregator.val()\n subopts.vals = vals\n subopts.aggregator = opts.aggregators[aggregator.val()](vals)\n subopts.renderer = opts.renderers[renderer.val()]\n subopts.rowOrder = rowOrderArrow.data(\"order\")\n subopts.colOrder = colOrderArrow.data(\"order\")\n #construct filter here\n exclusions = {}\n @find('input.pvtFilter').not(':checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n exclusions[filter[0]].push( filter[1] )\n else\n exclusions[filter[0]] = [ filter[1] ]\n #include inclusions when exclusions present\n inclusions = {}\n @find('input.pvtFilter:checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n if inclusions[filter[0]]?\n inclusions[filter[0]].push( filter[1] )\n else\n inclusions[filter[0]] = [ filter[1] ]\n\n subopts.filter = (record) ->\n return false if not opts.filter(record)\n for k,excludedItems of exclusions\n return false if \"\"+(record[k] ? 'null') in excludedItems\n return true\n\n pivotTable.pivot(materializedInput,subopts)\n pivotUIOptions = $.extend {}, opts,\n cols: subopts.cols\n rows: subopts.rows\n colOrder: subopts.colOrder\n rowOrder: subopts.rowOrder\n vals: vals\n exclusions: exclusions\n inclusions: inclusions\n inclusionsInfo: inclusions #duplicated for backwards-compatibility\n aggregatorName: aggregator.val()\n rendererName: renderer.val()\n\n @data \"pivotUIOptions\", pivotUIOptions\n\n # if requested make sure unused columns are in alphabetical order\n if opts.autoSortUnusedAttrs\n unusedAttrsContainer = @find(\"td.pvtUnused.pvtAxisContainer\")\n $(unusedAttrsContainer).children(\"li\")\n .sort((a, b) => naturalSort($(a).text(), $(b).text()))\n .appendTo unusedAttrsContainer\n\n pivotTable.css(\"opacity\", 1)\n opts.onRefresh(pivotUIOptions) if opts.onRefresh?\n\n refresh = =>\n pivotTable.css(\"opacity\", 0.5)\n setTimeout refreshDelayed, 10\n\n #the very first refresh will actually display the table\n refresh()\n\n @find(\".pvtAxisContainer\").sortable\n update: (e, ui) -> refresh() if not ui.sender?\n connectWith: @find(\".pvtAxisContainer\")\n items: 'li'\n placeholder: 'pvtPlaceholder'\n catch e\n console.error(e.stack) if console?\n @html opts.localeStrings.uiRenderError\n return this\n\n ###\n Heatmap post-processing\n ###\n\n $.fn.heatmap = (scope = \"heatmap\", opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n # given a series of values\n # must return a function to map a given value to a CSS color\n colorScaleGenerator = opts?.heatmap?.colorScaleGenerator\n colorScaleGenerator ?= (values) ->\n min = Math.min(values...)\n max = Math.max(values...)\n return (x) ->\n nonRed = 255 - Math.round 255*(x-min)/(max-min)\n return \"rgb(255,#{nonRed},#{nonRed})\"\n\n heatmapper = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n colorScale = colorScaleGenerator(values)\n forEachCell (x, elem) -> elem.css \"background-color\", colorScale(x)\n\n switch scope\n when \"heatmap\" then heatmapper \".pvtVal\"\n when \"rowheatmap\" then heatmapper \".pvtVal.row#{i}\" for i in [0...numRows]\n when \"colheatmap\" then heatmapper \".pvtVal.col#{j}\" for j in [0...numCols]\n\n heatmapper \".pvtTotal.rowTotal\"\n heatmapper \".pvtTotal.colTotal\"\n\n return this\n\n ###\n Barchart post-processing\n ###\n\n $.fn.barchart = (opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n barcharter = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n max = Math.max(values...)\n if max < 0\n max = 0\n range = max;\n min = Math.min(values...)\n if min < 0\n range = max - min\n scaler = (x) -> 100*x/(1.4*range)\n forEachCell (x, elem) ->\n text = elem.text()\n wrapper = $(\"\").css\n \"position\": \"relative\"\n \"height\": \"55px\"\n bgColor = \"gray\"\n bBase = 0\n if min < 0\n bBase = scaler(-min)\n if x < 0\n bBase += scaler(x)\n bgColor = \"darkred\"\n x = -x\n wrapper.append $(\"\").css\n \"position\": \"absolute\"\n \"bottom\": bBase + \"%\"\n \"left\": 0\n \"right\": 0\n \"height\": scaler(x) + \"%\"\n \"background-color\": bgColor\n wrapper.append $(\"\").text(text).css\n \"position\":\"relative\"\n \"padding-left\":\"5px\"\n \"padding-right\":\"5px\"\n\n elem.css(\"padding\": 0,\"padding-top\": \"5px\", \"text-align\": \"center\").html wrapper\n\n barcharter \".pvtVal.row#{i}\" for i in [0...numRows]\n barcharter \".pvtTotal.colTotal\"\n\n return this\n"]} \ No newline at end of file diff --git a/inst/htmlwidgets/lib/pivottable/pivot.min.js b/inst/htmlwidgets/lib/pivottable/pivot.min.js index 78f9401..b79a65a 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.min.js @@ -1,2 +1,2 @@ -(function(){var t,e=[].indexOf||function(t){for(var e=0,n=this.length;e1?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,il)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 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=l;c=0<=l?++r:--r)t[e-1][c]!==t[e][c]&&(i=!1);if(i)return-1}for(a=0;e+a=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)&&(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));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)}S=document.createElement("tr"),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));return 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),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("").html(c.localeStrings.renderError)}}catch(m){i=m,"undefined"!=typeof console&&null!==console&&console.error(i.stack),p=t("").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,L,I,K,q,z,U,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,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=[],I=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]={},I>0&&(m[e]["null"]=I));for(e in m)o=null!=(r=t[e])?r:"null",null==(n=m[e])[o]&&(n[o]=0),m[e][o]++;return I++}}),Y=t("",{"class":"pvtUi"}).attr("cellpadding",5),B=t(""),H=t("").addClass("pvtRenderer").appendTo(B).bind("change",function(){return V()}),K=M.renderers;for(et in K)a.call(K,et)&&t("").val(et).html(et).appendTo(H);if(X=t("").addClass("pvtAxisContainer pvtUnused"),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;tZ}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("").addClass("pvtFilterBox").hide(),x.append(t("").append(t("").text(n),t("").addClass("count").text("("+S.length+")"))),S.length>M.menuLimit)x.append(t("").html(M.localeStrings.tooMany));else for(S.length>5&&(i=t("").appendTo(x),v=h(M.sorters,n),f=M.localeStrings.filterResults,t("",{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("")),t("",{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("",{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("").addClass("pvtCheckContainer").appendTo(x),g=S.sort(h(M.sorters,n)),p=0,d=g.length;p"),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("").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("").addClass("value").text(y)),l.append(t("").addClass("count").text("("+w+")")),a.append(t("").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("").appendTo(x),S.length<=M.menuLimit&&t("",{type:"button"}).text(M.localeStrings.apply).appendTo(u).bind("click",function(){return x.find(".changed").removeClass("changed").length&&V(),o()}),t("",{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("").addClass("pvtTriangle").html(" ▾").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("").addClass("axis_"+A).append(t("").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("").appendTo(Y),u=t("").addClass("pvtAggregator").bind("change",function(){return V()}),q=M.aggregators;for(et in q)a.call(q,et)&&u.append(t("").val(et).html(et));for(R={key_a_to_z:{rowSymbol:"↕",colSymbol:"↔",next:"value_a_to_z"},value_a_to_z:{rowSymbol:"↓",colSymbol:"→",next:"value_z_to_a"},value_z_to_a:{rowSymbol:"↑",colSymbol:"←",next:"key_a_to_z"}},P=t("",{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("",{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("").addClass("pvtVals").appendTo($).append(u).append(P).append(v).append(t("")),t("").addClass("pvtAxisContainer pvtHorizList pvtCols").appendTo($),Q=t("").appendTo(Y),Q.append(t("").addClass("pvtAxisContainer pvtRows").attr("valign","top")),L=t("").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("").append(B).append(X)),this.html(Y),z=M.cols,D=0,T=z.length;Dp;et=0<=p?++g:--g){for(i=t("").addClass("pvtAttrDropdown").append(t("")).bind("change",function(){return V()}),b=0,o=G.length;b").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},L.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)),L.css("opacity",1),null!=M.onRefresh)return M.onRefresh(s)}}(this),V=function(t){return function(){return L.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?ld;o=0<=d?++l:--l)a(".pvtVal.row"+o);break;case"colheatmap":for(i=s=0,p=u;0<=p?sp;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("").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("").css({position:"absolute",bottom:r+"%",left:0,right:0,height:l(e)+"%","background-color":a})),s.append(t("").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?al;r=0<=l?++a:--a)n(".pvtVal.row"+r);return n(".pvtTotal.colTotal"),this}})}).call(this); +(function(){var t,e=[].indexOf||function(t){for(var e=0,n=this.length;e1?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,il)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 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=l;c=0<=l?++r:--r)t[e-1][c]!==t[e][c]&&(i=!1);if(i)return-1}for(a=0;e+a=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("").html(c.localeStrings.renderError)}}catch(m){i=m,"undefined"!=typeof console&&null!==console&&console.error(i.stack),p=t("").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("",{"class":"pvtUi"}).attr("cellpadding",5),B=t("").addClass("pvtUiCell"),H=t("").addClass("pvtRenderer").appendTo(B).bind("change",function(){return V()}),U=M.renderers;for(et in U)a.call(U,et)&&t("").val(et).html(et).appendTo(H);if(X=t("").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;tZ}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("").addClass("pvtFilterBox").hide(),x.append(t("").append(t("").text(n),t("").addClass("count").text("("+S.length+")"))),S.length>M.menuLimit)x.append(t("").html(M.localeStrings.tooMany));else for(S.length>5&&(i=t("").appendTo(x),v=h(M.sorters,n),f=M.localeStrings.filterResults,t("",{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("")),t("",{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("",{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("").addClass("pvtCheckContainer").appendTo(x),g=S.sort(h(M.sorters,n)),p=0,d=g.length;p"),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("").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("").addClass("value").text(y)),l.append(t("").addClass("count").text("("+w+")")),a.append(t("").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("").appendTo(x),S.length<=M.menuLimit&&t("",{type:"button"}).text(M.localeStrings.apply).appendTo(u).bind("click",function(){return x.find(".changed").removeClass("changed").length&&V(),o()}),t("",{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("").addClass("pvtTriangle").html(" ▾").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("").addClass("axis_"+A).append(t("").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("").appendTo(Y),u=t("").addClass("pvtAggregator").bind("change",function(){return V()}),K=M.aggregators;for(et in K)a.call(K,et)&&u.append(t("").val(et).html(et));for(R={key_a_to_z:{rowSymbol:"↕",colSymbol:"↔",next:"value_a_to_z"},value_a_to_z:{rowSymbol:"↓",colSymbol:"→",next:"value_z_to_a"},value_z_to_a:{rowSymbol:"↑",colSymbol:"←",next:"key_a_to_z"}},P=t("",{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("",{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("").addClass("pvtVals pvtUiCell").appendTo($).append(u).append(P).append(v).append(t("")),t("").addClass("pvtAxisContainer pvtHorizList pvtCols pvtUiCell").appendTo($),Q=t("").appendTo(Y),Q.append(t("").addClass("pvtAxisContainer pvtRows pvtUiCell").attr("valign","top")),I=t("").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("").append(B).append(X)),this.html(Y),q=M.cols,D=0,T=q.length;Dp;et=0<=p?++g:--g){for(i=t("").addClass("pvtAttrDropdown").append(t("")).bind("change",function(){return V()}),b=0,o=G.length;b").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?ld;o=0<=d?++l:--l)a(".pvtVal.row"+o);break;case"colheatmap":for(i=s=0,p=u;0<=p?sp;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("").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("").css({position:"absolute",bottom:r+"%",left:0,right:0,height:l(e)+"%","background-color":a})),s.append(t("").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?al;r=0<=l?++a:--a)n(".pvtVal.row"+r);return n(".pvtTotal.colTotal"),this}})}).call(this); //# sourceMappingURL=pivot.min.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.min.js.map new file mode 100644 index 0000000..acf3957 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["pivot.coffee","pivot.min.js"],"names":["callWithJQuery","indexOf","item","i","l","this","length","slice","bind","fn","me","apply","arguments","hasProp","hasOwnProperty","pivotModule","exports","module","require","define","amd","jQuery","$","PivotData","addSeparators","aggregatorTemplates","aggregators","dayNamesEn","derivers","getSort","locales","mthNamesEn","naturalSort","numberFormat","pivotTableRenderer","rd","renderers","rx","rz","sortAs","usFmt","usFmtInt","usFmtPct","zeroPad","nStr","thousandsSep","decimalSep","rgx","x","x1","x2","split","test","replace","opts","defaults","digitsAfterDecimal","scaler","prefix","suffix","extend","result","isNaN","isFinite","toFixed","count","formatter","data","rowKey","colKey","push","value","format","uniques","arg","attr","uniq","record","ref","call","numInputs","sum","parseFloat","extremes","mode","val","sorter","sorters","ref1","ref2","Math","quantile","q","vals","sort","a","b","floor","ceil","runningStat","ddof","n","m","s","m_new","sqrt","sumOverSum","denom","num","sumNum","sumDenom","sumOverSumBound80","upper","sign","fractionOf","wrapped","type","selector","total","row","col","inner","getAggregator","countUnique","f","listUnique","join","max","min","first","last","median","average","stdev","tpl","Count","Count Unique Values","List Unique Values","Sum","Integer Sum","Average","Median","Sample Variance","Sample Standard Deviation","Minimum","Maximum","First","Last","Sum over Sum","80% Upper Bound","80% Lower Bound","Sum as Fraction of Total","Sum as Fraction of Rows","Sum as Fraction of Columns","Count as Fraction of Total","Count as Fraction of Rows","Count as Fraction of Columns","Table","Table Barchart","barchart","Heatmap","heatmap","Row Heatmap","Col Heatmap","en","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","cancel","totals","vs","by","number","substr","bin","binWidth","dateFormat","formatString","utcOutput","mthNames","dayNames","utc","date","Date","parse","p","_this","as","bs","a1","b1","nas","nbs","String","match","shift","order","l_mapping","mapping","toLowerCase","isFunction","input","ref3","ref4","ref5","ref6","ref7","ref8","ref9","getRowKeys","getColKeys","sortKeys","arrSort","aggregator","aggregatorName","colAttrs","cols","rowAttrs","rows","valAttrs","rowOrder","colOrder","derivedAttributes","filter","tree","rowKeys","colKeys","rowTotals","colTotals","allTotal","sorted","forEachRecord","processRecord","addRecord","compactRecord","j","k","len1","results","results1","tblCols","isEmptyObject","v","isArray","each","text","Error","prototype","forEachMatchingRecord","criteria","callback","attrs","sortersArr","comparison","r","c","flatColKey","flatRowKey","len2","fromCharCode","agg","pivotUtilities","pivotData","getClickHandler","spanSize","tbody","td","th","thead","totalAggregator","tr","txt","table","clickCallback","rowValues","colValues","filters","e","document","createElement","className","arr","len","noDraw","stop","parseInt","setAttribute","appendChild","textContent","innerHTML","onclick","pivot","inputOpts","locale","localeDefaults","dataClass","renderer","rendererOptions","error","console","stack","html","hasChildNodes","removeChild","lastChild","append","pivotUI","overwrite","attrLength","attrValues","colOrderArrow","existingOpts","fn1","initialRender","len3","materializedInput","o","ordering","pivotTable","recordsProcessed","refresh","refreshDelayed","rendererControl","rowOrderArrow","shownAttributes","shownInAggregators","shownInDragDrop","tr1","tr2","uiTable","unused","unusedAttrsVerticalAutoCutoff","unusedAttrsVerticalAutoOverride","hiddenAttributes","hiddenFromAggregators","hiddenFromDragDrop","menuLimit","exclusions","inclusions","unusedAttrsVertical","autoSortUnusedAttrs","onRefresh","showUI","base","class","addClass","appendTo","attrElem","checkContainer","closeFilterBox","controls","filterItem","filterItemExcluded","finalButtons","hasExcludedItem","placeholder","triangleLink","valueCount","valueList","values","hide","accept","accept_gen","trim","accepted","real_filter","substring","find","parent","show","prop","toggleClass","removeClass","left","top","currentTarget","position","css","key_a_to_z","rowSymbol","colSymbol","next","value_a_to_z","value_z_to_a","role","prepend","inArray","rendererName","len4","newDropdown","numInputsToProcess","pivotUIOptions","pvtVals","subopts","t","u","unusedAttrsContainer","remove","not","excludedItems","inclusionsInfo","children","setTimeout","sortable","update","ui","sender","connectWith","items","scope","colorScaleGenerator","heatmapper","numCols","numRows","nonRed","round","colorScale","forEachCell","elem","barcharter","range","bBase","bgColor","wrapper","height","bottom","right","background-color","padding-left","padding-right","padding","padding-top","text-align"],"mappings":"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","file":"pivot.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 ###\n Utilities\n ###\n\n addSeparators = (nStr, thousandsSep, decimalSep) ->\n nStr += ''\n x = nStr.split('.')\n x1 = x[0]\n x2 = if x.length > 1 then decimalSep + x[1] else ''\n rgx = /(\\d+)(\\d{3})/\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2') while rgx.test(x1)\n return x1 + x2\n\n numberFormat = (opts) ->\n defaults =\n digitsAfterDecimal: 2, scaler: 1,\n thousandsSep: \",\", decimalSep: \".\"\n prefix: \"\", suffix: \"\"\n opts = $.extend({}, defaults, opts)\n (x) ->\n return \"\" if isNaN(x) or not isFinite(x)\n result = addSeparators (opts.scaler*x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep\n return \"\"+opts.prefix+result+opts.suffix\n\n #aggregator templates default to US number formatting but this is overrideable\n usFmt = numberFormat()\n usFmtInt = numberFormat(digitsAfterDecimal: 0)\n usFmtPct = numberFormat(digitsAfterDecimal:1, scaler: 100, suffix: \"%\")\n\n aggregatorTemplates =\n count: (formatter=usFmtInt) -> () -> (data, rowKey, colKey) ->\n count: 0\n push: -> @count++\n value: -> @count\n format: formatter\n\n uniques: (fn, formatter=usFmtInt) -> ([attr]) -> (data, rowKey, colKey) ->\n uniq: []\n push: (record) -> @uniq.push(record[attr]) if record[attr] not in @uniq\n value: -> fn(@uniq)\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sum: (formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n sum: 0\n push: (record) -> @sum += parseFloat(record[attr]) if not isNaN parseFloat(record[attr])\n value: -> @sum\n format: formatter\n numInputs: if attr? then 0 else 1\n\n extremes: (mode, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n val: null\n sorter: getSort(data?.sorters, attr)\n push: (record) ->\n x = record[attr]\n if mode in [\"min\", \"max\"]\n x = parseFloat(x)\n if not isNaN x then @val = Math[mode](x, @val ? x)\n if mode == \"first\" then @val = x if @sorter(x, @val ? x) <= 0\n if mode == \"last\" then @val = x if @sorter(x, @val ? x) >= 0\n value: -> @val\n format: (x) -> if isNaN(x) then x else formatter(x)\n numInputs: if attr? then 0 else 1\n\n quantile: (q, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n vals: []\n push: (record) ->\n x = parseFloat(record[attr])\n @vals.push(x) if not isNaN(x)\n value: ->\n return null if @vals.length == 0\n @vals.sort((a,b) -> a-b)\n i = (@vals.length-1)*q\n return (@vals[Math.floor(i)] + @vals[Math.ceil(i)])/2.0\n format: formatter\n numInputs: if attr? then 0 else 1\n\n runningStat: (mode=\"mean\", ddof=1, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n n: 0.0, m: 0.0, s: 0.0\n push: (record) ->\n x = parseFloat(record[attr])\n return if isNaN(x)\n @n += 1.0\n if @n == 1.0\n @m = x\n else\n m_new = @m + (x - @m)/@n\n @s = @s + (x - @m)*(x - m_new)\n @m = m_new\n value: ->\n if mode == \"mean\"\n return if @n == 0 then 0/0 else @m\n return 0 if @n <= ddof\n switch mode\n when \"var\" then @s/(@n-ddof)\n when \"stdev\" then Math.sqrt(@s/(@n-ddof))\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sumOverSum: (formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: -> @sumNum/@sumDenom\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n sumOverSumBound80: (upper=true, formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: ->\n sign = if upper then 1 else -1\n (0.821187207574908/@sumDenom + @sumNum/@sumDenom + 1.2815515655446004*sign*\n Math.sqrt(0.410593603787454/ (@sumDenom*@sumDenom) + (@sumNum*(1 - @sumNum/ @sumDenom))/ (@sumDenom*@sumDenom)))/\n (1 + 1.642374415149816/@sumDenom)\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n fractionOf: (wrapped, type=\"total\", formatter=usFmtPct) -> (x...) -> (data, rowKey, colKey) ->\n selector: {total:[[],[]],row:[rowKey,[]],col:[[],colKey]}[type]\n inner: wrapped(x...)(data, rowKey, colKey)\n push: (record) -> @inner.push record\n format: formatter\n value: -> @inner.value() / data.getAggregator(@selector...).inner.value()\n numInputs: wrapped(x...)().numInputs\n\n aggregatorTemplates.countUnique = (f) -> aggregatorTemplates.uniques(((x) -> x.length), f)\n aggregatorTemplates.listUnique = (s) -> aggregatorTemplates.uniques(((x) -> x.sort(naturalSort).join(s)), ((x)->x))\n aggregatorTemplates.max = (f) -> aggregatorTemplates.extremes('max', f)\n aggregatorTemplates.min = (f) -> aggregatorTemplates.extremes('min', f)\n aggregatorTemplates.first = (f) -> aggregatorTemplates.extremes('first', f)\n aggregatorTemplates.last = (f) -> aggregatorTemplates.extremes('last', f)\n aggregatorTemplates.median = (f) -> aggregatorTemplates.quantile(0.5, f)\n aggregatorTemplates.average = (f) -> aggregatorTemplates.runningStat(\"mean\", 1, f)\n aggregatorTemplates.var = (ddof, f) -> aggregatorTemplates.runningStat(\"var\", ddof, f)\n aggregatorTemplates.stdev = (ddof, f) -> aggregatorTemplates.runningStat(\"stdev\", ddof, f)\n\n #default aggregators & renderers use US naming and number formatting\n aggregators = do (tpl = aggregatorTemplates) ->\n \"Count\": tpl.count(usFmtInt)\n \"Count Unique Values\": tpl.countUnique(usFmtInt)\n \"List Unique Values\": tpl.listUnique(\", \")\n \"Sum\": tpl.sum(usFmt)\n \"Integer Sum\": tpl.sum(usFmtInt)\n \"Average\": tpl.average(usFmt)\n \"Median\": tpl.median(usFmt)\n \"Sample Variance\": tpl.var(1, usFmt)\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt)\n \"Minimum\": tpl.min(usFmt)\n \"Maximum\": tpl.max(usFmt)\n \"First\": tpl.first(usFmt)\n \"Last\": tpl.last(usFmt)\n \"Sum over Sum\": tpl.sumOverSum(usFmt)\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt)\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt)\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct)\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct)\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct)\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct)\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct)\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n\n renderers =\n \"Table\": (data, opts) -> pivotTableRenderer(data, opts)\n \"Table Barchart\": (data, opts) -> $(pivotTableRenderer(data, opts)).barchart()\n \"Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts)\n \"Row Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts)\n \"Col Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts)\n\n locales =\n en:\n aggregators: aggregators\n renderers: renderers\n localeStrings:\n renderError: \"An error occurred rendering the PivotTable results.\"\n computeError: \"An error occurred computing the PivotTable results.\"\n uiRenderError: \"An error occurred rendering the PivotTable UI.\"\n selectAll: \"Select All\"\n selectNone: \"Select None\"\n tooMany: \"(too many to list)\"\n filterResults: \"Filter values\"\n apply: \"Apply\"\n cancel: \"Cancel\"\n totals: \"Totals\" #for table renderer\n vs: \"vs\" #for gchart renderer\n by: \"by\" #for gchart renderer\n\n #dateFormat deriver l10n requires month and day names to be passed in directly\n mthNamesEn = [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]\n dayNamesEn = [\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]\n zeroPad = (number) -> (\"0\"+number).substr(-2,2)\n\n derivers =\n bin: (col, binWidth) -> (record) -> record[col] - record[col] % binWidth\n dateFormat: (col, formatString, utcOutput=false, mthNames=mthNamesEn, dayNames=dayNamesEn) ->\n utc = if utcOutput then \"UTC\" else \"\"\n (record) -> #thanks http://stackoverflow.com/a/12213072/112871\n date = new Date(Date.parse(record[col]))\n if isNaN(date) then return \"\"\n formatString.replace /%(.)/g, (m, p) ->\n switch p\n when \"y\" then date[\"get#{utc}FullYear\"]()\n when \"m\" then zeroPad(date[\"get#{utc}Month\"]()+1)\n when \"n\" then mthNames[date[\"get#{utc}Month\"]()]\n when \"d\" then zeroPad(date[\"get#{utc}Date\"]())\n when \"w\" then dayNames[date[\"get#{utc}Day\"]()]\n when \"x\" then date[\"get#{utc}Day\"]()\n when \"H\" then zeroPad(date[\"get#{utc}Hours\"]())\n when \"M\" then zeroPad(date[\"get#{utc}Minutes\"]())\n when \"S\" then zeroPad(date[\"get#{utc}Seconds\"]())\n else \"%\" + p\n\n rx = /(\\d+)|(\\D+)/g\n rd = /\\d/\n rz = /^0/\n naturalSort = (as, bs) =>\n #nulls first\n return -1 if bs? and not as?\n return 1 if as? and not bs?\n\n #then raw NaNs\n return -1 if typeof as == \"number\" and isNaN(as)\n return 1 if typeof bs == \"number\" and isNaN(bs)\n\n #numbers and numbery strings group together\n nas = +as\n nbs = +bs\n return -1 if nas < nbs\n return 1 if nas > nbs\n\n #within that, true numbers before numbery strings\n return -1 if typeof as == \"number\" and typeof bs != \"number\"\n return 1 if typeof bs == \"number\" and typeof as != \"number\"\n return 0 if typeof as == \"number\" and typeof bs == \"number\"\n\n # 'Infinity' is a textual number, so less than 'A'\n return -1 if isNaN(nbs) and not isNaN(nas)\n return 1 if isNaN(nas) and not isNaN(nbs)\n\n #finally, \"smart\" string sorting per http://stackoverflow.com/a/4373421/112871\n a = String(as)\n b = String(bs)\n return 0 if a == b\n return (if a > b then 1 else -1) unless rd.test(a) and rd.test(b)\n\n #special treatment for strings containing digits\n a = a.match(rx) #create digits vs non-digit chunks and iterate through\n b = b.match(rx)\n while a.length and b.length\n a1 = a.shift()\n b1 = b.shift()\n if a1 != b1\n if rd.test(a1) and rd.test(b1) #both are digit chunks\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\")\n else\n return (if a1 > b1 then 1 else -1)\n return a.length - b.length\n\n sortAs = (order) ->\n mapping = {}\n l_mapping = {} # sort lowercased keys similarly\n for i, x of order\n mapping[x] = i\n l_mapping[x.toLowerCase()] = i if typeof x == \"string\"\n (a, b) ->\n if mapping[a]? and mapping[b]? then mapping[a] - mapping[b]\n else if mapping[a]? then -1\n else if mapping[b]? then 1\n else if l_mapping[a]? and l_mapping[b]? then l_mapping[a] - l_mapping[b]\n else if l_mapping[a]? then -1\n else if l_mapping[b]? then 1\n else naturalSort(a,b)\n\n getSort = (sorters, attr) ->\n if sorters?\n if $.isFunction(sorters)\n sort = sorters(attr)\n return sort if $.isFunction(sort)\n else if sorters[attr]?\n return sorters[attr]\n return naturalSort\n\n ###\n Data Model class\n ###\n\n class PivotData\n constructor: (input, opts = {}) ->\n @input = input\n @aggregator = opts.aggregator ? aggregatorTemplates.count()()\n @aggregatorName = opts.aggregatorName ? \"Count\"\n @colAttrs = opts.cols ? []\n @rowAttrs = opts.rows ? []\n @valAttrs = opts.vals ? []\n @sorters = opts.sorters ? {}\n @rowOrder = opts.rowOrder ? \"key_a_to_z\"\n @colOrder = opts.colOrder ? \"key_a_to_z\"\n @derivedAttributes = opts.derivedAttributes ? {}\n @filter = opts.filter ? (-> true)\n @tree = {}\n @rowKeys = []\n @colKeys = []\n @rowTotals = {}\n @colTotals = {}\n @allTotal = @aggregator(this, [], [])\n @sorted = false\n\n # iterate through input, accumulating data for cells\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n @processRecord(record) if @filter(record)\n\n #can handle arrays or jQuery selections of tables\n @forEachRecord = (input, derivedAttributes, f) ->\n if $.isEmptyObject derivedAttributes\n addRecord = f\n else\n addRecord = (record) ->\n record[k] = v(record) ? record[k] for k, v of derivedAttributes\n f(record)\n\n #if it's a function, have it call us back\n if $.isFunction(input)\n input(addRecord)\n else if $.isArray(input)\n if $.isArray(input[0]) #array of arrays\n for own i, compactRecord of input when i > 0\n record = {}\n record[k] = compactRecord[j] for own j, k of input[0]\n addRecord(record)\n else #array of objects\n addRecord(record) for record in input\n else if input instanceof $\n tblCols = []\n $(\"thead > tr > th\", input).each (i) -> tblCols.push $(this).text()\n $(\"tbody > tr\", input).each (i) ->\n record = {}\n $(\"td\", this).each (j) -> record[tblCols[j]] = $(this).text()\n addRecord(record)\n else\n throw new Error(\"unknown input format\")\n\n forEachMatchingRecord: (criteria, callback) ->\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n return if not @filter(record)\n for k, v of criteria\n return if v != (record[k] ? \"null\")\n callback(record)\n\n arrSort: (attrs) =>\n sortersArr = (getSort(@sorters, a) for a in attrs)\n (a,b) ->\n for own i, sorter of sortersArr\n comparison = sorter(a[i], b[i])\n return comparison if comparison != 0\n return 0\n\n sortKeys: () =>\n if not @sorted\n @sorted = true\n v = (r,c) => @getAggregator(r,c).value()\n switch @rowOrder\n when \"value_a_to_z\" then @rowKeys.sort (a,b) => naturalSort v(a,[]), v(b,[])\n when \"value_z_to_a\" then @rowKeys.sort (a,b) => -naturalSort v(a,[]), v(b,[])\n else @rowKeys.sort @arrSort(@rowAttrs)\n switch @colOrder\n when \"value_a_to_z\" then @colKeys.sort (a,b) => naturalSort v([],a), v([],b)\n when \"value_z_to_a\" then @colKeys.sort (a,b) => -naturalSort v([],a), v([],b)\n else @colKeys.sort @arrSort(@colAttrs)\n\n getColKeys: () =>\n @sortKeys()\n return @colKeys\n\n getRowKeys: () =>\n @sortKeys()\n return @rowKeys\n\n processRecord: (record) -> #this code is called in a tight loop\n colKey = []\n rowKey = []\n colKey.push record[x] ? \"null\" for x in @colAttrs\n rowKey.push record[x] ? \"null\" for x in @rowAttrs\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n\n @allTotal.push record\n\n if rowKey.length != 0\n if not @rowTotals[flatRowKey]\n @rowKeys.push rowKey\n @rowTotals[flatRowKey] = @aggregator(this, rowKey, [])\n @rowTotals[flatRowKey].push record\n\n if colKey.length != 0\n if not @colTotals[flatColKey]\n @colKeys.push colKey\n @colTotals[flatColKey] = @aggregator(this, [], colKey)\n @colTotals[flatColKey].push record\n\n if colKey.length != 0 and rowKey.length != 0\n if not @tree[flatRowKey]\n @tree[flatRowKey] = {}\n if not @tree[flatRowKey][flatColKey]\n @tree[flatRowKey][flatColKey] = @aggregator(this, rowKey, colKey)\n @tree[flatRowKey][flatColKey].push record\n\n getAggregator: (rowKey, colKey) =>\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n if rowKey.length == 0 and colKey.length == 0\n agg = @allTotal\n else if rowKey.length == 0\n agg = @colTotals[flatColKey]\n else if colKey.length == 0\n agg = @rowTotals[flatRowKey]\n else\n agg = @tree[flatRowKey][flatColKey]\n return agg ? {value: (-> null), format: -> \"\"}\n\n #expose these to the outside world\n $.pivotUtilities = {aggregatorTemplates, aggregators, renderers, derivers, locales,\n naturalSort, numberFormat, sortAs, PivotData}\n\n ###\n Default Renderer for hierarchical table layout\n ###\n\n pivotTableRenderer = (pivotData, opts) ->\n\n defaults =\n table:\n clickCallback: null\n rowTotals: true\n colTotals: true\n localeStrings: totals: \"Totals\"\n\n opts = $.extend(true, {}, defaults, opts)\n\n colAttrs = pivotData.colAttrs\n rowAttrs = pivotData.rowAttrs\n rowKeys = pivotData.getRowKeys()\n colKeys = pivotData.getColKeys()\n\n if opts.table.clickCallback\n getClickHandler = (value, rowValues, colValues) ->\n filters = {}\n filters[attr] = colValues[i] for own i, attr of colAttrs when colValues[i]?\n filters[attr] = rowValues[i] for own i, attr of rowAttrs when rowValues[i]?\n return (e) -> opts.table.clickCallback(e, value, filters, pivotData)\n\n #now actually build the output\n result = document.createElement(\"table\")\n result.className = \"pvtTable\"\n\n #helper function for setting row/col-span in pivotTableRenderer\n spanSize = (arr, i, j) ->\n if i != 0\n noDraw = true\n for x in [0..j]\n if arr[i-1][x] != arr[i][x]\n noDraw = false\n if noDraw\n return -1 #do not draw cell\n len = 0\n while i+len < arr.length\n stop = false\n for x in [0..j]\n stop = true if arr[i][x] != arr[i+len][x]\n break if stop\n len++\n return len\n\n #the first few rows are for col headers\n thead = document.createElement(\"thead\")\n for own j, c of colAttrs\n tr = document.createElement(\"tr\")\n if parseInt(j) == 0 and rowAttrs.length != 0\n th = document.createElement(\"th\")\n th.setAttribute(\"colspan\", rowAttrs.length)\n th.setAttribute(\"rowspan\", colAttrs.length)\n tr.appendChild th\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = c\n tr.appendChild th\n for own i, colKey of colKeys\n x = spanSize(colKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtColLabel\"\n th.textContent = colKey[j]\n th.setAttribute(\"colspan\", x)\n if parseInt(j) == colAttrs.length-1 and rowAttrs.length != 0\n th.setAttribute(\"rowspan\", 2)\n tr.appendChild th\n if parseInt(j) == 0 && opts.table.rowTotals\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"rowspan\", colAttrs.length + (if rowAttrs.length ==0 then 0 else 1))\n tr.appendChild th\n thead.appendChild tr\n\n #then a row for row header headers\n if rowAttrs.length !=0\n tr = document.createElement(\"tr\")\n for own i, r of rowAttrs\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = r\n tr.appendChild th\n th = document.createElement(\"th\")\n if colAttrs.length ==0\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n tr.appendChild th\n thead.appendChild tr\n result.appendChild thead\n\n #now the actual data rows, with their row headers and totals\n tbody = document.createElement(\"tbody\")\n for own i, rowKey of rowKeys\n tr = document.createElement(\"tr\")\n for own j, txt of rowKey\n x = spanSize(rowKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtRowLabel\"\n th.textContent = txt\n th.setAttribute(\"rowspan\", x)\n if parseInt(j) == rowAttrs.length-1 and colAttrs.length !=0\n th.setAttribute(\"colspan\",2)\n tr.appendChild th\n for own j, colKey of colKeys #this is the tight loop\n aggregator = pivotData.getAggregator(rowKey, colKey)\n val = aggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtVal row#{i} col#{j}\"\n td.textContent = aggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, colKey)\n tr.appendChild td\n\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator(rowKey, [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal rowTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, [])\n td.setAttribute(\"data-for\", \"row\"+i)\n tr.appendChild td\n tbody.appendChild tr\n\n #finally, the row for col totals, and a grand total\n if opts.table.colTotals || rowAttrs.length == 0\n tr = document.createElement(\"tr\")\n if opts.table.colTotals || rowAttrs.length == 0\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtColTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"colspan\", rowAttrs.length + (if colAttrs.length == 0 then 0 else 1))\n tr.appendChild th\n for own j, colKey of colKeys\n totalAggregator = pivotData.getAggregator([], colKey)\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal colTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], colKey)\n td.setAttribute(\"data-for\", \"col\"+j)\n tr.appendChild td\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator([], [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtGrandTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], [])\n tr.appendChild td\n tbody.appendChild tr\n result.appendChild tbody\n\n #squirrel this away for later\n result.setAttribute(\"data-numrows\", rowKeys.length)\n result.setAttribute(\"data-numcols\", colKeys.length)\n\n return result\n\n ###\n Pivot Table core: create PivotData object and call Renderer on it\n ###\n\n $.fn.pivot = (input, inputOpts, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n cols : [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n filter: -> true\n aggregator: aggregatorTemplates.count()()\n aggregatorName: \"Count\"\n sorters: {}\n derivedAttributes: {}\n renderer: pivotTableRenderer\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n\n result = null\n try\n pivotData = new opts.dataClass(input, opts)\n try\n result = opts.renderer(pivotData, opts.rendererOptions)\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.renderError\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.computeError\n\n x = this[0]\n x.removeChild(x.lastChild) while x.hasChildNodes()\n return @append result\n\n\n ###\n Pivot Table UI: calls Pivot Table core above with options set by user\n ###\n\n $.fn.pivotUI = (input, inputOpts, overwrite = false, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n derivedAttributes: {}\n aggregators: locales[locale].aggregators\n renderers: locales[locale].renderers\n hiddenAttributes: []\n hiddenFromAggregators: []\n hiddenFromDragDrop: []\n menuLimit: 500\n cols: [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n exclusions: {}\n inclusions: {}\n unusedAttrsVertical: 85\n autoSortUnusedAttrs: false\n onRefresh: null\n showUI: true\n filter: -> true\n sorters: {}\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n existingOpts = @data \"pivotUIOptions\"\n if not existingOpts? or overwrite\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n else\n opts = existingOpts\n\n try\n # do a first pass on the data to cache a materialized copy of any\n # function-valued inputs and to compute dimension cardinalities\n attrValues = {}\n materializedInput = []\n recordsProcessed = 0\n PivotData.forEachRecord input, opts.derivedAttributes, (record) ->\n return unless opts.filter(record)\n materializedInput.push(record)\n for own attr of record\n if not attrValues[attr]?\n attrValues[attr] = {}\n if recordsProcessed > 0\n attrValues[attr][\"null\"] = recordsProcessed\n for attr of attrValues\n value = record[attr] ? \"null\"\n attrValues[attr][value] ?= 0\n attrValues[attr][value]++\n recordsProcessed++\n\n #start building the output\n uiTable = $(\"\", \"class\": \"pvtUi\").attr(\"cellpadding\", 5)\n\n #renderer control\n rendererControl = $(\"\").addClass(\"pvtUiCell\")\n\n renderer = $(\"\")\n .addClass('pvtRenderer')\n .appendTo(rendererControl)\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.renderers\n $(\"\").val(x).html(x).appendTo(renderer)\n\n\n #axis list, including the double-click menu\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell')\n shownAttributes = (a for a of attrValues when a not in opts.hiddenAttributes)\n shownInAggregators = (c for c in shownAttributes when c not in opts.hiddenFromAggregators)\n shownInDragDrop = (c for c in shownAttributes when c not in opts.hiddenFromDragDrop)\n\n\n unusedAttrsVerticalAutoOverride = false\n if opts.unusedAttrsVertical == \"auto\"\n unusedAttrsVerticalAutoCutoff = 120 # legacy support\n else\n unusedAttrsVerticalAutoCutoff = parseInt opts.unusedAttrsVertical\n\n if not isNaN(unusedAttrsVerticalAutoCutoff)\n attrLength = 0\n attrLength += a.length for a in shownInDragDrop\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff\n\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n unused.addClass('pvtVertList')\n else\n unused.addClass('pvtHorizList')\n\n for own i, attr of shownInDragDrop\n do (attr) ->\n values = (v for v of attrValues[attr])\n hasExcludedItem = false\n valueList = $(\"\").addClass('pvtFilterBox').hide()\n\n valueList.append $(\"\").append(\n $(\"\").text(attr),\n $(\"\").addClass(\"count\").text(\"(#{values.length})\"),\n )\n if values.length > opts.menuLimit\n valueList.append $(\"\").html(opts.localeStrings.tooMany)\n else\n if values.length > 5\n controls = $(\"\").appendTo(valueList)\n sorter = getSort(opts.sorters, attr)\n placeholder = opts.localeStrings.filterResults\n $(\"\", {type: \"text\"}).appendTo(controls)\n .attr({placeholder: placeholder, class: \"pvtSearch\"})\n .bind \"keyup\", ->\n filter = $(this).val().toLowerCase().trim()\n accept_gen = (prefix, accepted) -> (v) ->\n real_filter = filter.substring(prefix.length).trim()\n return true if real_filter.length == 0\n return Math.sign(sorter(v.toLowerCase(), real_filter)) in accepted\n accept =\n if filter.indexOf(\">=\") == 0 then accept_gen(\">=\", [1,0])\n else if filter.indexOf(\"<=\") == 0 then accept_gen(\"<=\", [-1,0])\n else if filter.indexOf(\">\") == 0 then accept_gen(\">\", [1])\n else if filter.indexOf(\"<\") == 0 then accept_gen(\"<\", [-1])\n else if filter.indexOf(\"~\") == 0 then (v) ->\n return true if filter.substring(1).trim().length == 0\n v.toLowerCase().match(filter.substring(1))\n else (v) -> v.toLowerCase().indexOf(filter) != -1\n\n valueList.find('.pvtCheckContainer p label span.value').each ->\n if accept($(this).text())\n $(this).parent().parent().show()\n else\n $(this).parent().parent().hide()\n controls.append $(\"\")\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectAll)\n .bind \"click\", ->\n valueList.find(\"input:visible:not(:checked)\")\n .prop(\"checked\", true).toggleClass(\"changed\")\n return false\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectNone)\n .bind \"click\", ->\n valueList.find(\"input:visible:checked\")\n .prop(\"checked\", false).toggleClass(\"changed\")\n return false\n\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList)\n\n for value in values.sort(getSort(opts.sorters, attr))\n valueCount = attrValues[attr][value]\n filterItem = $(\"\")\n filterItemExcluded = false\n if opts.inclusions[attr]\n filterItemExcluded = (value not in opts.inclusions[attr])\n else if opts.exclusions[attr]\n filterItemExcluded = (value in opts.exclusions[attr])\n hasExcludedItem ||= filterItemExcluded\n $(\"\")\n .attr(\"type\", \"checkbox\").addClass('pvtFilter')\n .attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr,value])\n .appendTo(filterItem)\n .bind \"change\", -> $(this).toggleClass(\"changed\")\n filterItem.append $(\"\").addClass(\"value\").text(value)\n filterItem.append $(\"\").addClass(\"count\").text(\"(\"+valueCount+\")\")\n checkContainer.append $(\"\").append(filterItem)\n\n closeFilterBox = ->\n if valueList.find(\"[type='checkbox']\").length >\n valueList.find(\"[type='checkbox']:checked\").length\n attrElem.addClass \"pvtFilteredAttribute\"\n else\n attrElem.removeClass \"pvtFilteredAttribute\"\n\n valueList.find('.pvtSearch').val('')\n valueList.find('.pvtCheckContainer p').show()\n valueList.hide()\n\n finalButtons = $(\"\").appendTo(valueList)\n\n if values.length <= opts.menuLimit\n $(\"\", {type: \"button\"}).text(opts.localeStrings.apply)\n .appendTo(finalButtons).bind \"click\", ->\n if valueList.find(\".changed\").removeClass(\"changed\").length\n refresh()\n closeFilterBox()\n\n $(\"\", {type: \"button\"}).text(opts.localeStrings.cancel)\n .appendTo(finalButtons).bind \"click\", ->\n valueList.find(\".changed:checked\")\n .removeClass(\"changed\").prop(\"checked\", false)\n valueList.find(\".changed:not(:checked)\")\n .removeClass(\"changed\").prop(\"checked\", true)\n closeFilterBox()\n\n triangleLink = $(\"\").addClass('pvtTriangle')\n .html(\" ▾\").bind \"click\", (e) ->\n {left, top} = $(e.currentTarget).position()\n valueList.css(left: left+10, top: top+10).show()\n\n attrElem = $(\"\").addClass(\"axis_#{i}\")\n .append $(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink)\n\n attrElem.addClass('pvtFilteredAttribute') if hasExcludedItem\n unused.append(attrElem).append(valueList)\n\n tr1 = $(\"\").appendTo(uiTable)\n\n #aggregator menu and value area\n\n aggregator = $(\"\").addClass('pvtAggregator')\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.aggregators\n aggregator.append $(\"\").val(x).html(x)\n\n ordering =\n key_a_to_z: {rowSymbol: \"↕\", colSymbol: \"↔\", next: \"value_a_to_z\"}\n value_a_to_z: {rowSymbol: \"↓\", colSymbol: \"→\", next: \"value_z_to_a\"}\n value_z_to_a: {rowSymbol: \"↑\", colSymbol: \"←\", next: \"key_a_to_z\"}\n\n rowOrderArrow = $(\"\", role: \"button\").addClass(\"pvtRowOrder\")\n .data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol)\n refresh()\n\n colOrderArrow = $(\"\", role: \"button\").addClass(\"pvtColOrder\")\n .data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].colSymbol)\n refresh()\n\n $(\"\").addClass('pvtVals pvtUiCell')\n .appendTo(tr1)\n .append(aggregator)\n .append(rowOrderArrow)\n .append(colOrderArrow)\n .append($(\"\"))\n\n #column axes\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1)\n\n tr2 = $(\"\").appendTo(uiTable)\n\n #row axes\n tr2.append $(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\")\n\n #the actual pivot table container\n pivotTable = $(\"\")\n .attr(\"valign\", \"top\")\n .addClass('pvtRendererArea')\n .appendTo(tr2)\n\n #finally the renderer dropdown and unused attribs are inserted at the requested location\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n uiTable.find('tr:nth-child(1)').prepend rendererControl\n uiTable.find('tr:nth-child(2)').prepend unused\n else\n uiTable.prepend $(\"\").append(rendererControl).append(unused)\n\n #render the UI in its default state\n @html uiTable\n\n #set up the UI initial state as requested by moving elements around\n\n for x in opts.cols\n @find(\".pvtCols\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n for x in opts.rows\n @find(\".pvtRows\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n if opts.aggregatorName?\n @find(\".pvtAggregator\").val opts.aggregatorName\n if opts.rendererName?\n @find(\".pvtRenderer\").val opts.rendererName\n\n @find(\".pvtUiCell\").hide() unless opts.showUI\n\n initialRender = true\n\n #set up for refreshing\n refreshDelayed = =>\n subopts =\n derivedAttributes: opts.derivedAttributes\n localeStrings: opts.localeStrings\n rendererOptions: opts.rendererOptions\n sorters: opts.sorters\n cols: [], rows: []\n dataClass: opts.dataClass\n\n numInputsToProcess = opts.aggregators[aggregator.val()]([])().numInputs ? 0\n vals = []\n @find(\".pvtRows li span.pvtAttr\").each -> subopts.rows.push $(this).data(\"attrName\")\n @find(\".pvtCols li span.pvtAttr\").each -> subopts.cols.push $(this).data(\"attrName\")\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n if numInputsToProcess == 0\n $(this).remove()\n else\n numInputsToProcess--\n vals.push $(this).val() if $(this).val() != \"\"\n\n if numInputsToProcess != 0\n pvtVals = @find(\".pvtVals\")\n for x in [0...numInputsToProcess]\n newDropdown = $(\"\")\n .addClass('pvtAttrDropdown')\n .append($(\"\"))\n .bind \"change\", -> refresh()\n for attr in shownInAggregators\n newDropdown.append($(\"\").val(attr).text(attr))\n pvtVals.append(newDropdown)\n\n if initialRender\n vals = opts.vals\n i = 0\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n $(this).val vals[i]\n i++\n initialRender = false\n\n subopts.aggregatorName = aggregator.val()\n subopts.vals = vals\n subopts.aggregator = opts.aggregators[aggregator.val()](vals)\n subopts.renderer = opts.renderers[renderer.val()]\n subopts.rowOrder = rowOrderArrow.data(\"order\")\n subopts.colOrder = colOrderArrow.data(\"order\")\n #construct filter here\n exclusions = {}\n @find('input.pvtFilter').not(':checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n exclusions[filter[0]].push( filter[1] )\n else\n exclusions[filter[0]] = [ filter[1] ]\n #include inclusions when exclusions present\n inclusions = {}\n @find('input.pvtFilter:checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n if inclusions[filter[0]]?\n inclusions[filter[0]].push( filter[1] )\n else\n inclusions[filter[0]] = [ filter[1] ]\n\n subopts.filter = (record) ->\n return false if not opts.filter(record)\n for k,excludedItems of exclusions\n return false if \"\"+(record[k] ? 'null') in excludedItems\n return true\n\n pivotTable.pivot(materializedInput,subopts)\n pivotUIOptions = $.extend {}, opts,\n cols: subopts.cols\n rows: subopts.rows\n colOrder: subopts.colOrder\n rowOrder: subopts.rowOrder\n vals: vals\n exclusions: exclusions\n inclusions: inclusions\n inclusionsInfo: inclusions #duplicated for backwards-compatibility\n aggregatorName: aggregator.val()\n rendererName: renderer.val()\n\n @data \"pivotUIOptions\", pivotUIOptions\n\n # if requested make sure unused columns are in alphabetical order\n if opts.autoSortUnusedAttrs\n unusedAttrsContainer = @find(\"td.pvtUnused.pvtAxisContainer\")\n $(unusedAttrsContainer).children(\"li\")\n .sort((a, b) => naturalSort($(a).text(), $(b).text()))\n .appendTo unusedAttrsContainer\n\n pivotTable.css(\"opacity\", 1)\n opts.onRefresh(pivotUIOptions) if opts.onRefresh?\n\n refresh = =>\n pivotTable.css(\"opacity\", 0.5)\n setTimeout refreshDelayed, 10\n\n #the very first refresh will actually display the table\n refresh()\n\n @find(\".pvtAxisContainer\").sortable\n update: (e, ui) -> refresh() if not ui.sender?\n connectWith: @find(\".pvtAxisContainer\")\n items: 'li'\n placeholder: 'pvtPlaceholder'\n catch e\n console.error(e.stack) if console?\n @html opts.localeStrings.uiRenderError\n return this\n\n ###\n Heatmap post-processing\n ###\n\n $.fn.heatmap = (scope = \"heatmap\", opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n # given a series of values\n # must return a function to map a given value to a CSS color\n colorScaleGenerator = opts?.heatmap?.colorScaleGenerator\n colorScaleGenerator ?= (values) ->\n min = Math.min(values...)\n max = Math.max(values...)\n return (x) ->\n nonRed = 255 - Math.round 255*(x-min)/(max-min)\n return \"rgb(255,#{nonRed},#{nonRed})\"\n\n heatmapper = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n colorScale = colorScaleGenerator(values)\n forEachCell (x, elem) -> elem.css \"background-color\", colorScale(x)\n\n switch scope\n when \"heatmap\" then heatmapper \".pvtVal\"\n when \"rowheatmap\" then heatmapper \".pvtVal.row#{i}\" for i in [0...numRows]\n when \"colheatmap\" then heatmapper \".pvtVal.col#{j}\" for j in [0...numCols]\n\n heatmapper \".pvtTotal.rowTotal\"\n heatmapper \".pvtTotal.colTotal\"\n\n return this\n\n ###\n Barchart post-processing\n ###\n\n $.fn.barchart = (opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n barcharter = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n max = Math.max(values...)\n if max < 0\n max = 0\n range = max;\n min = Math.min(values...)\n if min < 0\n range = max - min\n scaler = (x) -> 100*x/(1.4*range)\n forEachCell (x, elem) ->\n text = elem.text()\n wrapper = $(\"\").css\n \"position\": \"relative\"\n \"height\": \"55px\"\n bgColor = \"gray\"\n bBase = 0\n if min < 0\n bBase = scaler(-min)\n if x < 0\n bBase += scaler(x)\n bgColor = \"darkred\"\n x = -x\n wrapper.append $(\"\").css\n \"position\": \"absolute\"\n \"bottom\": bBase + \"%\"\n \"left\": 0\n \"right\": 0\n \"height\": scaler(x) + \"%\"\n \"background-color\": bgColor\n wrapper.append $(\"\").text(text).css\n \"position\":\"relative\"\n \"padding-left\":\"5px\"\n \"padding-right\":\"5px\"\n\n elem.css(\"padding\": 0,\"padding-top\": \"5px\", \"text-align\": \"center\").html wrapper\n\n barcharter \".pvtVal.row#{i}\" for i in [0...numRows]\n barcharter \".pvtTotal.colTotal\"\n\n return this\n","(function() {\n var callWithJQuery,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },\n slice = [].slice,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n hasProp = {}.hasOwnProperty;\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\n /*\n Utilities\n */\n var PivotData, addSeparators, aggregatorTemplates, aggregators, dayNamesEn, derivers, getSort, locales, mthNamesEn, naturalSort, numberFormat, pivotTableRenderer, rd, renderers, rx, rz, sortAs, usFmt, usFmtInt, usFmtPct, zeroPad;\n addSeparators = function(nStr, thousandsSep, decimalSep) {\n var rgx, x, x1, x2;\n nStr += '';\n x = nStr.split('.');\n x1 = x[0];\n x2 = x.length > 1 ? decimalSep + x[1] : '';\n rgx = /(\\d+)(\\d{3})/;\n while (rgx.test(x1)) {\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2');\n }\n return x1 + x2;\n };\n numberFormat = function(opts) {\n var defaults;\n defaults = {\n digitsAfterDecimal: 2,\n scaler: 1,\n thousandsSep: \",\",\n decimalSep: \".\",\n prefix: \"\",\n suffix: \"\"\n };\n opts = $.extend({}, defaults, opts);\n return function(x) {\n var result;\n if (isNaN(x) || !isFinite(x)) {\n return \"\";\n }\n result = addSeparators((opts.scaler * x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep);\n return \"\" + opts.prefix + result + opts.suffix;\n };\n };\n usFmt = numberFormat();\n usFmtInt = numberFormat({\n digitsAfterDecimal: 0\n });\n usFmtPct = numberFormat({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\"\n });\n aggregatorTemplates = {\n count: function(formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function() {\n return function(data, rowKey, colKey) {\n return {\n count: 0,\n push: function() {\n return this.count++;\n },\n value: function() {\n return this.count;\n },\n format: formatter\n };\n };\n };\n },\n uniques: function(fn, formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n uniq: [],\n push: function(record) {\n var ref;\n if (ref = record[attr], indexOf.call(this.uniq, ref) < 0) {\n return this.uniq.push(record[attr]);\n }\n },\n value: function() {\n return fn(this.uniq);\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n sum: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[attr]))) {\n return this.sum += parseFloat(record[attr]);\n }\n },\n value: function() {\n return this.sum;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n extremes: function(mode, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n val: null,\n sorter: getSort(data != null ? data.sorters : void 0, attr),\n push: function(record) {\n var ref, ref1, ref2, x;\n x = record[attr];\n if (mode === \"min\" || mode === \"max\") {\n x = parseFloat(x);\n if (!isNaN(x)) {\n this.val = Math[mode](x, (ref = this.val) != null ? ref : x);\n }\n }\n if (mode === \"first\") {\n if (this.sorter(x, (ref1 = this.val) != null ? ref1 : x) <= 0) {\n this.val = x;\n }\n }\n if (mode === \"last\") {\n if (this.sorter(x, (ref2 = this.val) != null ? ref2 : x) >= 0) {\n return this.val = x;\n }\n }\n },\n value: function() {\n return this.val;\n },\n format: function(x) {\n if (isNaN(x)) {\n return x;\n } else {\n return formatter(x);\n }\n },\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n quantile: function(q, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n vals: [],\n push: function(record) {\n var x;\n x = parseFloat(record[attr]);\n if (!isNaN(x)) {\n return this.vals.push(x);\n }\n },\n value: function() {\n var i;\n if (this.vals.length === 0) {\n return null;\n }\n this.vals.sort(function(a, b) {\n return a - b;\n });\n i = (this.vals.length - 1) * q;\n return (this.vals[Math.floor(i)] + this.vals[Math.ceil(i)]) / 2.0;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n runningStat: function(mode, ddof, formatter) {\n if (mode == null) {\n mode = \"mean\";\n }\n if (ddof == null) {\n ddof = 1;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n n: 0.0,\n m: 0.0,\n s: 0.0,\n push: function(record) {\n var m_new, x;\n x = parseFloat(record[attr]);\n if (isNaN(x)) {\n return;\n }\n this.n += 1.0;\n if (this.n === 1.0) {\n return this.m = x;\n } else {\n m_new = this.m + (x - this.m) / this.n;\n this.s = this.s + (x - this.m) * (x - m_new);\n return this.m = m_new;\n }\n },\n value: function() {\n if (mode === \"mean\") {\n if (this.n === 0) {\n return 0 / 0;\n } else {\n return this.m;\n }\n }\n if (this.n <= ddof) {\n return 0;\n }\n switch (mode) {\n case \"var\":\n return this.s / (this.n - ddof);\n case \"stdev\":\n return Math.sqrt(this.s / (this.n - ddof));\n }\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sumOverSum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n return this.sumNum / this.sumDenom;\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n sumOverSumBound80: function(upper, formatter) {\n if (upper == null) {\n upper = true;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n var sign;\n sign = upper ? 1 : -1;\n return (0.821187207574908 / this.sumDenom + this.sumNum / this.sumDenom + 1.2815515655446004 * sign * Math.sqrt(0.410593603787454 / (this.sumDenom * this.sumDenom) + (this.sumNum * (1 - this.sumNum / this.sumDenom)) / (this.sumDenom * this.sumDenom))) / (1 + 1.642374415149816 / this.sumDenom);\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n fractionOf: function(wrapped, type, formatter) {\n if (type == null) {\n type = \"total\";\n }\n if (formatter == null) {\n formatter = usFmtPct;\n }\n return function() {\n var x;\n x = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return function(data, rowKey, colKey) {\n return {\n selector: {\n total: [[], []],\n row: [rowKey, []],\n col: [[], colKey]\n }[type],\n inner: wrapped.apply(null, x)(data, rowKey, colKey),\n push: function(record) {\n return this.inner.push(record);\n },\n format: formatter,\n value: function() {\n return this.inner.value() / data.getAggregator.apply(data, this.selector).inner.value();\n },\n numInputs: wrapped.apply(null, x)().numInputs\n };\n };\n };\n }\n };\n aggregatorTemplates.countUnique = function(f) {\n return aggregatorTemplates.uniques((function(x) {\n return x.length;\n }), f);\n };\n aggregatorTemplates.listUnique = function(s) {\n return aggregatorTemplates.uniques((function(x) {\n return x.sort(naturalSort).join(s);\n }), (function(x) {\n return x;\n }));\n };\n aggregatorTemplates.max = function(f) {\n return aggregatorTemplates.extremes('max', f);\n };\n aggregatorTemplates.min = function(f) {\n return aggregatorTemplates.extremes('min', f);\n };\n aggregatorTemplates.first = function(f) {\n return aggregatorTemplates.extremes('first', f);\n };\n aggregatorTemplates.last = function(f) {\n return aggregatorTemplates.extremes('last', f);\n };\n aggregatorTemplates.median = function(f) {\n return aggregatorTemplates.quantile(0.5, f);\n };\n aggregatorTemplates.average = function(f) {\n return aggregatorTemplates.runningStat(\"mean\", 1, f);\n };\n aggregatorTemplates[\"var\"] = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"var\", ddof, f);\n };\n aggregatorTemplates.stdev = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"stdev\", ddof, f);\n };\n aggregators = (function(tpl) {\n return {\n \"Count\": tpl.count(usFmtInt),\n \"Count Unique Values\": tpl.countUnique(usFmtInt),\n \"List Unique Values\": tpl.listUnique(\", \"),\n \"Sum\": tpl.sum(usFmt),\n \"Integer Sum\": tpl.sum(usFmtInt),\n \"Average\": tpl.average(usFmt),\n \"Median\": tpl.median(usFmt),\n \"Sample Variance\": tpl[\"var\"](1, usFmt),\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt),\n \"Minimum\": tpl.min(usFmt),\n \"Maximum\": tpl.max(usFmt),\n \"First\": tpl.first(usFmt),\n \"Last\": tpl.last(usFmt),\n \"Sum over Sum\": tpl.sumOverSum(usFmt),\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt),\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt),\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct),\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct),\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct),\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct),\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct),\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n };\n })(aggregatorTemplates);\n renderers = {\n \"Table\": function(data, opts) {\n return pivotTableRenderer(data, opts);\n },\n \"Table Barchart\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).barchart();\n },\n \"Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts);\n },\n \"Row Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts);\n },\n \"Col Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts);\n }\n };\n locales = {\n en: {\n aggregators: aggregators,\n renderers: renderers,\n localeStrings: {\n renderError: \"An error occurred rendering the PivotTable results.\",\n computeError: \"An error occurred computing the PivotTable results.\",\n uiRenderError: \"An error occurred rendering the PivotTable UI.\",\n selectAll: \"Select All\",\n selectNone: \"Select None\",\n tooMany: \"(too many to list)\",\n filterResults: \"Filter values\",\n apply: \"Apply\",\n cancel: \"Cancel\",\n totals: \"Totals\",\n vs: \"vs\",\n by: \"by\"\n }\n }\n };\n mthNamesEn = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n dayNamesEn = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n zeroPad = function(number) {\n return (\"0\" + number).substr(-2, 2);\n };\n derivers = {\n bin: function(col, binWidth) {\n return function(record) {\n return record[col] - record[col] % binWidth;\n };\n },\n dateFormat: function(col, formatString, utcOutput, mthNames, dayNames) {\n var utc;\n if (utcOutput == null) {\n utcOutput = false;\n }\n if (mthNames == null) {\n mthNames = mthNamesEn;\n }\n if (dayNames == null) {\n dayNames = dayNamesEn;\n }\n utc = utcOutput ? \"UTC\" : \"\";\n return function(record) {\n var date;\n date = new Date(Date.parse(record[col]));\n if (isNaN(date)) {\n return \"\";\n }\n return formatString.replace(/%(.)/g, function(m, p) {\n switch (p) {\n case \"y\":\n return date[\"get\" + utc + \"FullYear\"]();\n case \"m\":\n return zeroPad(date[\"get\" + utc + \"Month\"]() + 1);\n case \"n\":\n return mthNames[date[\"get\" + utc + \"Month\"]()];\n case \"d\":\n return zeroPad(date[\"get\" + utc + \"Date\"]());\n case \"w\":\n return dayNames[date[\"get\" + utc + \"Day\"]()];\n case \"x\":\n return date[\"get\" + utc + \"Day\"]();\n case \"H\":\n return zeroPad(date[\"get\" + utc + \"Hours\"]());\n case \"M\":\n return zeroPad(date[\"get\" + utc + \"Minutes\"]());\n case \"S\":\n return zeroPad(date[\"get\" + utc + \"Seconds\"]());\n default:\n return \"%\" + p;\n }\n });\n };\n }\n };\n rx = /(\\d+)|(\\D+)/g;\n rd = /\\d/;\n rz = /^0/;\n naturalSort = (function(_this) {\n return function(as, bs) {\n var a, a1, b, b1, nas, nbs;\n if ((bs != null) && (as == null)) {\n return -1;\n }\n if ((as != null) && (bs == null)) {\n return 1;\n }\n if (typeof as === \"number\" && isNaN(as)) {\n return -1;\n }\n if (typeof bs === \"number\" && isNaN(bs)) {\n return 1;\n }\n nas = +as;\n nbs = +bs;\n if (nas < nbs) {\n return -1;\n }\n if (nas > nbs) {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs !== \"number\") {\n return -1;\n }\n if (typeof bs === \"number\" && typeof as !== \"number\") {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs === \"number\") {\n return 0;\n }\n if (isNaN(nbs) && !isNaN(nas)) {\n return -1;\n }\n if (isNaN(nas) && !isNaN(nbs)) {\n return 1;\n }\n a = String(as);\n b = String(bs);\n if (a === b) {\n return 0;\n }\n if (!(rd.test(a) && rd.test(b))) {\n return (a > b ? 1 : -1);\n }\n a = a.match(rx);\n b = b.match(rx);\n while (a.length && b.length) {\n a1 = a.shift();\n b1 = b.shift();\n if (a1 !== b1) {\n if (rd.test(a1) && rd.test(b1)) {\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\");\n } else {\n return (a1 > b1 ? 1 : -1);\n }\n }\n }\n return a.length - b.length;\n };\n })(this);\n sortAs = function(order) {\n var i, l_mapping, mapping, x;\n mapping = {};\n l_mapping = {};\n for (i in order) {\n x = order[i];\n mapping[x] = i;\n if (typeof x === \"string\") {\n l_mapping[x.toLowerCase()] = i;\n }\n }\n return function(a, b) {\n if ((mapping[a] != null) && (mapping[b] != null)) {\n return mapping[a] - mapping[b];\n } else if (mapping[a] != null) {\n return -1;\n } else if (mapping[b] != null) {\n return 1;\n } else if ((l_mapping[a] != null) && (l_mapping[b] != null)) {\n return l_mapping[a] - l_mapping[b];\n } else if (l_mapping[a] != null) {\n return -1;\n } else if (l_mapping[b] != null) {\n return 1;\n } else {\n return naturalSort(a, b);\n }\n };\n };\n getSort = function(sorters, attr) {\n var sort;\n if (sorters != null) {\n if ($.isFunction(sorters)) {\n sort = sorters(attr);\n if ($.isFunction(sort)) {\n return sort;\n }\n } else if (sorters[attr] != null) {\n return sorters[attr];\n }\n }\n return naturalSort;\n };\n\n /*\n Data Model class\n */\n PivotData = (function() {\n function PivotData(input, opts) {\n var ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9;\n if (opts == null) {\n opts = {};\n }\n this.getAggregator = bind(this.getAggregator, this);\n this.getRowKeys = bind(this.getRowKeys, this);\n this.getColKeys = bind(this.getColKeys, this);\n this.sortKeys = bind(this.sortKeys, this);\n this.arrSort = bind(this.arrSort, this);\n this.input = input;\n this.aggregator = (ref = opts.aggregator) != null ? ref : aggregatorTemplates.count()();\n this.aggregatorName = (ref1 = opts.aggregatorName) != null ? ref1 : \"Count\";\n this.colAttrs = (ref2 = opts.cols) != null ? ref2 : [];\n this.rowAttrs = (ref3 = opts.rows) != null ? ref3 : [];\n this.valAttrs = (ref4 = opts.vals) != null ? ref4 : [];\n this.sorters = (ref5 = opts.sorters) != null ? ref5 : {};\n this.rowOrder = (ref6 = opts.rowOrder) != null ? ref6 : \"key_a_to_z\";\n this.colOrder = (ref7 = opts.colOrder) != null ? ref7 : \"key_a_to_z\";\n this.derivedAttributes = (ref8 = opts.derivedAttributes) != null ? ref8 : {};\n this.filter = (ref9 = opts.filter) != null ? ref9 : (function() {\n return true;\n });\n this.tree = {};\n this.rowKeys = [];\n this.colKeys = [];\n this.rowTotals = {};\n this.colTotals = {};\n this.allTotal = this.aggregator(this, [], []);\n this.sorted = false;\n PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n if (_this.filter(record)) {\n return _this.processRecord(record);\n }\n };\n })(this));\n }\n\n PivotData.forEachRecord = function(input, derivedAttributes, f) {\n var addRecord, compactRecord, i, j, k, l, len1, record, ref, results, results1, tblCols;\n if ($.isEmptyObject(derivedAttributes)) {\n addRecord = f;\n } else {\n addRecord = function(record) {\n var k, ref, v;\n for (k in derivedAttributes) {\n v = derivedAttributes[k];\n record[k] = (ref = v(record)) != null ? ref : record[k];\n }\n return f(record);\n };\n }\n if ($.isFunction(input)) {\n return input(addRecord);\n } else if ($.isArray(input)) {\n if ($.isArray(input[0])) {\n results = [];\n for (i in input) {\n if (!hasProp.call(input, i)) continue;\n compactRecord = input[i];\n if (!(i > 0)) {\n continue;\n }\n record = {};\n ref = input[0];\n for (j in ref) {\n if (!hasProp.call(ref, j)) continue;\n k = ref[j];\n record[k] = compactRecord[j];\n }\n results.push(addRecord(record));\n }\n return results;\n } else {\n results1 = [];\n for (l = 0, len1 = input.length; l < len1; l++) {\n record = input[l];\n results1.push(addRecord(record));\n }\n return results1;\n }\n } else if (input instanceof $) {\n tblCols = [];\n $(\"thead > tr > th\", input).each(function(i) {\n return tblCols.push($(this).text());\n });\n return $(\"tbody > tr\", input).each(function(i) {\n record = {};\n $(\"td\", this).each(function(j) {\n return record[tblCols[j]] = $(this).text();\n });\n return addRecord(record);\n });\n } else {\n throw new Error(\"unknown input format\");\n }\n };\n\n PivotData.prototype.forEachMatchingRecord = function(criteria, callback) {\n return PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n var k, ref, v;\n if (!_this.filter(record)) {\n return;\n }\n for (k in criteria) {\n v = criteria[k];\n if (v !== ((ref = record[k]) != null ? ref : \"null\")) {\n return;\n }\n }\n return callback(record);\n };\n })(this));\n };\n\n PivotData.prototype.arrSort = function(attrs) {\n var a, sortersArr;\n sortersArr = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = attrs.length; l < len1; l++) {\n a = attrs[l];\n results.push(getSort(this.sorters, a));\n }\n return results;\n }).call(this);\n return function(a, b) {\n var comparison, i, sorter;\n for (i in sortersArr) {\n if (!hasProp.call(sortersArr, i)) continue;\n sorter = sortersArr[i];\n comparison = sorter(a[i], b[i]);\n if (comparison !== 0) {\n return comparison;\n }\n }\n return 0;\n };\n };\n\n PivotData.prototype.sortKeys = function() {\n var v;\n if (!this.sorted) {\n this.sorted = true;\n v = (function(_this) {\n return function(r, c) {\n return _this.getAggregator(r, c).value();\n };\n })(this);\n switch (this.rowOrder) {\n case \"value_a_to_z\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n case \"value_z_to_a\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n default:\n this.rowKeys.sort(this.arrSort(this.rowAttrs));\n }\n switch (this.colOrder) {\n case \"value_a_to_z\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v([], a), v([], b));\n };\n })(this));\n case \"value_z_to_a\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v([], a), v([], b));\n };\n })(this));\n default:\n return this.colKeys.sort(this.arrSort(this.colAttrs));\n }\n }\n };\n\n PivotData.prototype.getColKeys = function() {\n this.sortKeys();\n return this.colKeys;\n };\n\n PivotData.prototype.getRowKeys = function() {\n this.sortKeys();\n return this.rowKeys;\n };\n\n PivotData.prototype.processRecord = function(record) {\n var colKey, flatColKey, flatRowKey, l, len1, len2, n, ref, ref1, ref2, ref3, rowKey, x;\n colKey = [];\n rowKey = [];\n ref = this.colAttrs;\n for (l = 0, len1 = ref.length; l < len1; l++) {\n x = ref[l];\n colKey.push((ref1 = record[x]) != null ? ref1 : \"null\");\n }\n ref2 = this.rowAttrs;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n rowKey.push((ref3 = record[x]) != null ? ref3 : \"null\");\n }\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n this.allTotal.push(record);\n if (rowKey.length !== 0) {\n if (!this.rowTotals[flatRowKey]) {\n this.rowKeys.push(rowKey);\n this.rowTotals[flatRowKey] = this.aggregator(this, rowKey, []);\n }\n this.rowTotals[flatRowKey].push(record);\n }\n if (colKey.length !== 0) {\n if (!this.colTotals[flatColKey]) {\n this.colKeys.push(colKey);\n this.colTotals[flatColKey] = this.aggregator(this, [], colKey);\n }\n this.colTotals[flatColKey].push(record);\n }\n if (colKey.length !== 0 && rowKey.length !== 0) {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n if (!this.tree[flatRowKey][flatColKey]) {\n this.tree[flatRowKey][flatColKey] = this.aggregator(this, rowKey, colKey);\n }\n return this.tree[flatRowKey][flatColKey].push(record);\n }\n };\n\n PivotData.prototype.getAggregator = function(rowKey, colKey) {\n var agg, flatColKey, flatRowKey;\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n if (rowKey.length === 0 && colKey.length === 0) {\n agg = this.allTotal;\n } else if (rowKey.length === 0) {\n agg = this.colTotals[flatColKey];\n } else if (colKey.length === 0) {\n agg = this.rowTotals[flatRowKey];\n } else {\n agg = this.tree[flatRowKey][flatColKey];\n }\n return agg != null ? agg : {\n value: (function() {\n return null;\n }),\n format: function() {\n return \"\";\n }\n };\n };\n\n return PivotData;\n\n })();\n $.pivotUtilities = {\n aggregatorTemplates: aggregatorTemplates,\n aggregators: aggregators,\n renderers: renderers,\n derivers: derivers,\n locales: locales,\n naturalSort: naturalSort,\n numberFormat: numberFormat,\n sortAs: sortAs,\n PivotData: PivotData\n };\n\n /*\n Default Renderer for hierarchical table layout\n */\n pivotTableRenderer = function(pivotData, opts) {\n 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;\n defaults = {\n table: {\n clickCallback: null,\n rowTotals: true,\n colTotals: true\n },\n localeStrings: {\n totals: \"Totals\"\n }\n };\n opts = $.extend(true, {}, defaults, opts);\n colAttrs = pivotData.colAttrs;\n rowAttrs = pivotData.rowAttrs;\n rowKeys = pivotData.getRowKeys();\n colKeys = pivotData.getColKeys();\n if (opts.table.clickCallback) {\n getClickHandler = function(value, rowValues, colValues) {\n var attr, filters, i;\n filters = {};\n for (i in colAttrs) {\n if (!hasProp.call(colAttrs, i)) continue;\n attr = colAttrs[i];\n if (colValues[i] != null) {\n filters[attr] = colValues[i];\n }\n }\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n attr = rowAttrs[i];\n if (rowValues[i] != null) {\n filters[attr] = rowValues[i];\n }\n }\n return function(e) {\n return opts.table.clickCallback(e, value, filters, pivotData);\n };\n };\n }\n result = document.createElement(\"table\");\n result.className = \"pvtTable\";\n spanSize = function(arr, i, j) {\n var l, len, n, noDraw, ref, ref1, stop, x;\n if (i !== 0) {\n noDraw = true;\n for (x = l = 0, ref = j; 0 <= ref ? l <= ref : l >= ref; x = 0 <= ref ? ++l : --l) {\n if (arr[i - 1][x] !== arr[i][x]) {\n noDraw = false;\n }\n }\n if (noDraw) {\n return -1;\n }\n }\n len = 0;\n while (i + len < arr.length) {\n stop = false;\n for (x = n = 0, ref1 = j; 0 <= ref1 ? n <= ref1 : n >= ref1; x = 0 <= ref1 ? ++n : --n) {\n if (arr[i][x] !== arr[i + len][x]) {\n stop = true;\n }\n }\n if (stop) {\n break;\n }\n len++;\n }\n return len;\n };\n thead = document.createElement(\"thead\");\n for (j in colAttrs) {\n if (!hasProp.call(colAttrs, j)) continue;\n c = colAttrs[j];\n tr = document.createElement(\"tr\");\n if (parseInt(j) === 0 && rowAttrs.length !== 0) {\n th = document.createElement(\"th\");\n th.setAttribute(\"colspan\", rowAttrs.length);\n th.setAttribute(\"rowspan\", colAttrs.length);\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = c;\n tr.appendChild(th);\n for (i in colKeys) {\n if (!hasProp.call(colKeys, i)) continue;\n colKey = colKeys[i];\n x = spanSize(colKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtColLabel\";\n th.textContent = colKey[j];\n th.setAttribute(\"colspan\", x);\n if (parseInt(j) === colAttrs.length - 1 && rowAttrs.length !== 0) {\n th.setAttribute(\"rowspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n if (parseInt(j) === 0 && opts.table.rowTotals) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"rowspan\", colAttrs.length + (rowAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n thead.appendChild(tr);\n }\n if (rowAttrs.length !== 0) {\n tr = document.createElement(\"tr\");\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n r = rowAttrs[i];\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = r;\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n if (colAttrs.length === 0) {\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n }\n tr.appendChild(th);\n thead.appendChild(tr);\n }\n result.appendChild(thead);\n tbody = document.createElement(\"tbody\");\n for (i in rowKeys) {\n if (!hasProp.call(rowKeys, i)) continue;\n rowKey = rowKeys[i];\n tr = document.createElement(\"tr\");\n for (j in rowKey) {\n if (!hasProp.call(rowKey, j)) continue;\n txt = rowKey[j];\n x = spanSize(rowKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtRowLabel\";\n th.textContent = txt;\n th.setAttribute(\"rowspan\", x);\n if (parseInt(j) === rowAttrs.length - 1 && colAttrs.length !== 0) {\n th.setAttribute(\"colspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n aggregator = pivotData.getAggregator(rowKey, colKey);\n val = aggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtVal row\" + i + \" col\" + j;\n td.textContent = aggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, colKey);\n }\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator(rowKey, []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal rowTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, []);\n }\n td.setAttribute(\"data-for\", \"row\" + i);\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n if (opts.table.colTotals || rowAttrs.length === 0) {\n tr = document.createElement(\"tr\");\n if (opts.table.colTotals || rowAttrs.length === 0) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtColTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"colspan\", rowAttrs.length + (colAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n totalAggregator = pivotData.getAggregator([], colKey);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal colTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], colKey);\n }\n td.setAttribute(\"data-for\", \"col\" + j);\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator([], []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtGrandTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], []);\n }\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n result.appendChild(tbody);\n result.setAttribute(\"data-numrows\", rowKeys.length);\n result.setAttribute(\"data-numcols\", colKeys.length);\n return result;\n };\n\n /*\n Pivot Table core: create PivotData object and call Renderer on it\n */\n $.fn.pivot = function(input, inputOpts, locale) {\n var defaults, e, localeDefaults, localeStrings, opts, pivotData, result, x;\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n filter: function() {\n return true;\n },\n aggregator: aggregatorTemplates.count()(),\n aggregatorName: \"Count\",\n sorters: {},\n derivedAttributes: {},\n renderer: pivotTableRenderer\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n result = null;\n try {\n pivotData = new opts.dataClass(input, opts);\n try {\n result = opts.renderer(pivotData, opts.rendererOptions);\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.renderError);\n }\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.computeError);\n }\n x = this[0];\n while (x.hasChildNodes()) {\n x.removeChild(x.lastChild);\n }\n return this.append(result);\n };\n\n /*\n Pivot Table UI: calls Pivot Table core above with options set by user\n */\n $.fn.pivotUI = function(input, inputOpts, overwrite, locale) {\n 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;\n if (overwrite == null) {\n overwrite = false;\n }\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n derivedAttributes: {},\n aggregators: locales[locale].aggregators,\n renderers: locales[locale].renderers,\n hiddenAttributes: [],\n hiddenFromAggregators: [],\n hiddenFromDragDrop: [],\n menuLimit: 500,\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n exclusions: {},\n inclusions: {},\n unusedAttrsVertical: 85,\n autoSortUnusedAttrs: false,\n onRefresh: null,\n showUI: true,\n filter: function() {\n return true;\n },\n sorters: {}\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n existingOpts = this.data(\"pivotUIOptions\");\n if ((existingOpts == null) || overwrite) {\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n } else {\n opts = existingOpts;\n }\n try {\n attrValues = {};\n materializedInput = [];\n recordsProcessed = 0;\n PivotData.forEachRecord(input, opts.derivedAttributes, function(record) {\n var attr, base, ref, value;\n if (!opts.filter(record)) {\n return;\n }\n materializedInput.push(record);\n for (attr in record) {\n if (!hasProp.call(record, attr)) continue;\n if (attrValues[attr] == null) {\n attrValues[attr] = {};\n if (recordsProcessed > 0) {\n attrValues[attr][\"null\"] = recordsProcessed;\n }\n }\n }\n for (attr in attrValues) {\n value = (ref = record[attr]) != null ? ref : \"null\";\n if ((base = attrValues[attr])[value] == null) {\n base[value] = 0;\n }\n attrValues[attr][value]++;\n }\n return recordsProcessed++;\n });\n uiTable = $(\"\", {\n \"class\": \"pvtUi\"\n }).attr(\"cellpadding\", 5);\n rendererControl = $(\"\").addClass(\"pvtUiCell\");\n renderer = $(\"\").addClass('pvtRenderer').appendTo(rendererControl).bind(\"change\", function() {\n return refresh();\n });\n ref = opts.renderers;\n for (x in ref) {\n if (!hasProp.call(ref, x)) continue;\n $(\"\").val(x).html(x).appendTo(renderer);\n }\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell');\n shownAttributes = (function() {\n var results;\n results = [];\n for (a in attrValues) {\n if (indexOf.call(opts.hiddenAttributes, a) < 0) {\n results.push(a);\n }\n }\n return results;\n })();\n shownInAggregators = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromAggregators, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n shownInDragDrop = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromDragDrop, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n unusedAttrsVerticalAutoOverride = false;\n if (opts.unusedAttrsVertical === \"auto\") {\n unusedAttrsVerticalAutoCutoff = 120;\n } else {\n unusedAttrsVerticalAutoCutoff = parseInt(opts.unusedAttrsVertical);\n }\n if (!isNaN(unusedAttrsVerticalAutoCutoff)) {\n attrLength = 0;\n for (l = 0, len1 = shownInDragDrop.length; l < len1; l++) {\n a = shownInDragDrop[l];\n attrLength += a.length;\n }\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff;\n }\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n unused.addClass('pvtVertList');\n } else {\n unused.addClass('pvtHorizList');\n }\n fn1 = function(attr) {\n var attrElem, checkContainer, closeFilterBox, controls, filterItem, filterItemExcluded, finalButtons, hasExcludedItem, len2, n, placeholder, ref1, sorter, triangleLink, v, value, valueCount, valueList, values;\n values = (function() {\n var results;\n results = [];\n for (v in attrValues[attr]) {\n results.push(v);\n }\n return results;\n })();\n hasExcludedItem = false;\n valueList = $(\"\").addClass('pvtFilterBox').hide();\n valueList.append($(\"\").append($(\"\").text(attr), $(\"\").addClass(\"count\").text(\"(\" + values.length + \")\")));\n if (values.length > opts.menuLimit) {\n valueList.append($(\"\").html(opts.localeStrings.tooMany));\n } else {\n if (values.length > 5) {\n controls = $(\"\").appendTo(valueList);\n sorter = getSort(opts.sorters, attr);\n placeholder = opts.localeStrings.filterResults;\n $(\"\", {\n type: \"text\"\n }).appendTo(controls).attr({\n placeholder: placeholder,\n \"class\": \"pvtSearch\"\n }).bind(\"keyup\", function() {\n var accept, accept_gen, filter;\n filter = $(this).val().toLowerCase().trim();\n accept_gen = function(prefix, accepted) {\n return function(v) {\n var real_filter, ref1;\n real_filter = filter.substring(prefix.length).trim();\n if (real_filter.length === 0) {\n return true;\n }\n return ref1 = Math.sign(sorter(v.toLowerCase(), real_filter)), indexOf.call(accepted, ref1) >= 0;\n };\n };\n 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) {\n if (filter.substring(1).trim().length === 0) {\n return true;\n }\n return v.toLowerCase().match(filter.substring(1));\n } : function(v) {\n return v.toLowerCase().indexOf(filter) !== -1;\n };\n return valueList.find('.pvtCheckContainer p label span.value').each(function() {\n if (accept($(this).text())) {\n return $(this).parent().parent().show();\n } else {\n return $(this).parent().parent().hide();\n }\n });\n });\n controls.append($(\"\"));\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectAll).bind(\"click\", function() {\n valueList.find(\"input:visible:not(:checked)\").prop(\"checked\", true).toggleClass(\"changed\");\n return false;\n });\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectNone).bind(\"click\", function() {\n valueList.find(\"input:visible:checked\").prop(\"checked\", false).toggleClass(\"changed\");\n return false;\n });\n }\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList);\n ref1 = values.sort(getSort(opts.sorters, attr));\n for (n = 0, len2 = ref1.length; n < len2; n++) {\n value = ref1[n];\n valueCount = attrValues[attr][value];\n filterItem = $(\"\");\n filterItemExcluded = false;\n if (opts.inclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.inclusions[attr], value) < 0);\n } else if (opts.exclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.exclusions[attr], value) >= 0);\n }\n hasExcludedItem || (hasExcludedItem = filterItemExcluded);\n $(\"\").attr(\"type\", \"checkbox\").addClass('pvtFilter').attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr, value]).appendTo(filterItem).bind(\"change\", function() {\n return $(this).toggleClass(\"changed\");\n });\n filterItem.append($(\"\").addClass(\"value\").text(value));\n filterItem.append($(\"\").addClass(\"count\").text(\"(\" + valueCount + \")\"));\n checkContainer.append($(\"\").append(filterItem));\n }\n }\n closeFilterBox = function() {\n if (valueList.find(\"[type='checkbox']\").length > valueList.find(\"[type='checkbox']:checked\").length) {\n attrElem.addClass(\"pvtFilteredAttribute\");\n } else {\n attrElem.removeClass(\"pvtFilteredAttribute\");\n }\n valueList.find('.pvtSearch').val('');\n valueList.find('.pvtCheckContainer p').show();\n return valueList.hide();\n };\n finalButtons = $(\"\").appendTo(valueList);\n if (values.length <= opts.menuLimit) {\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.apply).appendTo(finalButtons).bind(\"click\", function() {\n if (valueList.find(\".changed\").removeClass(\"changed\").length) {\n refresh();\n }\n return closeFilterBox();\n });\n }\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.cancel).appendTo(finalButtons).bind(\"click\", function() {\n valueList.find(\".changed:checked\").removeClass(\"changed\").prop(\"checked\", false);\n valueList.find(\".changed:not(:checked)\").removeClass(\"changed\").prop(\"checked\", true);\n return closeFilterBox();\n });\n triangleLink = $(\"\").addClass('pvtTriangle').html(\" ▾\").bind(\"click\", function(e) {\n var left, ref2, top;\n ref2 = $(e.currentTarget).position(), left = ref2.left, top = ref2.top;\n return valueList.css({\n left: left + 10,\n top: top + 10\n }).show();\n });\n attrElem = $(\"\").addClass(\"axis_\" + i).append($(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink));\n if (hasExcludedItem) {\n attrElem.addClass('pvtFilteredAttribute');\n }\n return unused.append(attrElem).append(valueList);\n };\n for (i in shownInDragDrop) {\n if (!hasProp.call(shownInDragDrop, i)) continue;\n attr = shownInDragDrop[i];\n fn1(attr);\n }\n tr1 = $(\"\").appendTo(uiTable);\n aggregator = $(\"\").addClass('pvtAggregator').bind(\"change\", function() {\n return refresh();\n });\n ref1 = opts.aggregators;\n for (x in ref1) {\n if (!hasProp.call(ref1, x)) continue;\n aggregator.append($(\"\").val(x).html(x));\n }\n ordering = {\n key_a_to_z: {\n rowSymbol: \"↕\",\n colSymbol: \"↔\",\n next: \"value_a_to_z\"\n },\n value_a_to_z: {\n rowSymbol: \"↓\",\n colSymbol: \"→\",\n next: \"value_z_to_a\"\n },\n value_z_to_a: {\n rowSymbol: \"↑\",\n colSymbol: \"←\",\n next: \"key_a_to_z\"\n }\n };\n rowOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtRowOrder\").data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol);\n return refresh();\n });\n colOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtColOrder\").data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].colSymbol);\n return refresh();\n });\n $(\"\").addClass('pvtVals pvtUiCell').appendTo(tr1).append(aggregator).append(rowOrderArrow).append(colOrderArrow).append($(\"\"));\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1);\n tr2 = $(\"\").appendTo(uiTable);\n tr2.append($(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\"));\n pivotTable = $(\"\").attr(\"valign\", \"top\").addClass('pvtRendererArea').appendTo(tr2);\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n uiTable.find('tr:nth-child(1)').prepend(rendererControl);\n uiTable.find('tr:nth-child(2)').prepend(unused);\n } else {\n uiTable.prepend($(\"\").append(rendererControl).append(unused));\n }\n this.html(uiTable);\n ref2 = opts.cols;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n this.find(\".pvtCols\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n ref3 = opts.rows;\n for (o = 0, len3 = ref3.length; o < len3; o++) {\n x = ref3[o];\n this.find(\".pvtRows\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n if (opts.aggregatorName != null) {\n this.find(\".pvtAggregator\").val(opts.aggregatorName);\n }\n if (opts.rendererName != null) {\n this.find(\".pvtRenderer\").val(opts.rendererName);\n }\n if (!opts.showUI) {\n this.find(\".pvtUiCell\").hide();\n }\n initialRender = true;\n refreshDelayed = (function(_this) {\n return function() {\n var exclusions, inclusions, len4, newDropdown, numInputsToProcess, pivotUIOptions, pvtVals, ref4, ref5, subopts, t, u, unusedAttrsContainer, vals;\n subopts = {\n derivedAttributes: opts.derivedAttributes,\n localeStrings: opts.localeStrings,\n rendererOptions: opts.rendererOptions,\n sorters: opts.sorters,\n cols: [],\n rows: [],\n dataClass: opts.dataClass\n };\n numInputsToProcess = (ref4 = opts.aggregators[aggregator.val()]([])().numInputs) != null ? ref4 : 0;\n vals = [];\n _this.find(\".pvtRows li span.pvtAttr\").each(function() {\n return subopts.rows.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtCols li span.pvtAttr\").each(function() {\n return subopts.cols.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n if (numInputsToProcess === 0) {\n return $(this).remove();\n } else {\n numInputsToProcess--;\n if ($(this).val() !== \"\") {\n return vals.push($(this).val());\n }\n }\n });\n if (numInputsToProcess !== 0) {\n pvtVals = _this.find(\".pvtVals\");\n for (x = t = 0, ref5 = numInputsToProcess; 0 <= ref5 ? t < ref5 : t > ref5; x = 0 <= ref5 ? ++t : --t) {\n newDropdown = $(\"\").addClass('pvtAttrDropdown').append($(\"\")).bind(\"change\", function() {\n return refresh();\n });\n for (u = 0, len4 = shownInAggregators.length; u < len4; u++) {\n attr = shownInAggregators[u];\n newDropdown.append($(\"\").val(attr).text(attr));\n }\n pvtVals.append(newDropdown);\n }\n }\n if (initialRender) {\n vals = opts.vals;\n i = 0;\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n $(this).val(vals[i]);\n return i++;\n });\n initialRender = false;\n }\n subopts.aggregatorName = aggregator.val();\n subopts.vals = vals;\n subopts.aggregator = opts.aggregators[aggregator.val()](vals);\n subopts.renderer = opts.renderers[renderer.val()];\n subopts.rowOrder = rowOrderArrow.data(\"order\");\n subopts.colOrder = colOrderArrow.data(\"order\");\n exclusions = {};\n _this.find('input.pvtFilter').not(':checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n return exclusions[filter[0]].push(filter[1]);\n } else {\n return exclusions[filter[0]] = [filter[1]];\n }\n });\n inclusions = {};\n _this.find('input.pvtFilter:checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n if (inclusions[filter[0]] != null) {\n return inclusions[filter[0]].push(filter[1]);\n } else {\n return inclusions[filter[0]] = [filter[1]];\n }\n }\n });\n subopts.filter = function(record) {\n var excludedItems, k, ref6, ref7;\n if (!opts.filter(record)) {\n return false;\n }\n for (k in exclusions) {\n excludedItems = exclusions[k];\n if (ref6 = \"\" + ((ref7 = record[k]) != null ? ref7 : 'null'), indexOf.call(excludedItems, ref6) >= 0) {\n return false;\n }\n }\n return true;\n };\n pivotTable.pivot(materializedInput, subopts);\n pivotUIOptions = $.extend({}, opts, {\n cols: subopts.cols,\n rows: subopts.rows,\n colOrder: subopts.colOrder,\n rowOrder: subopts.rowOrder,\n vals: vals,\n exclusions: exclusions,\n inclusions: inclusions,\n inclusionsInfo: inclusions,\n aggregatorName: aggregator.val(),\n rendererName: renderer.val()\n });\n _this.data(\"pivotUIOptions\", pivotUIOptions);\n if (opts.autoSortUnusedAttrs) {\n unusedAttrsContainer = _this.find(\"td.pvtUnused.pvtAxisContainer\");\n $(unusedAttrsContainer).children(\"li\").sort(function(a, b) {\n return naturalSort($(a).text(), $(b).text());\n }).appendTo(unusedAttrsContainer);\n }\n pivotTable.css(\"opacity\", 1);\n if (opts.onRefresh != null) {\n return opts.onRefresh(pivotUIOptions);\n }\n };\n })(this);\n refresh = (function(_this) {\n return function() {\n pivotTable.css(\"opacity\", 0.5);\n return setTimeout(refreshDelayed, 10);\n };\n })(this);\n refresh();\n this.find(\".pvtAxisContainer\").sortable({\n update: function(e, ui) {\n if (ui.sender == null) {\n return refresh();\n }\n },\n connectWith: this.find(\".pvtAxisContainer\"),\n items: 'li',\n placeholder: 'pvtPlaceholder'\n });\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n this.html(opts.localeStrings.uiRenderError);\n }\n return this;\n };\n\n /*\n Heatmap post-processing\n */\n $.fn.heatmap = function(scope, opts) {\n var colorScaleGenerator, heatmapper, i, j, l, n, numCols, numRows, ref, ref1, ref2;\n if (scope == null) {\n scope = \"heatmap\";\n }\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n colorScaleGenerator = opts != null ? (ref = opts.heatmap) != null ? ref.colorScaleGenerator : void 0 : void 0;\n if (colorScaleGenerator == null) {\n colorScaleGenerator = function(values) {\n var max, min;\n min = Math.min.apply(Math, values);\n max = Math.max.apply(Math, values);\n return function(x) {\n var nonRed;\n nonRed = 255 - Math.round(255 * (x - min) / (max - min));\n return \"rgb(255,\" + nonRed + \",\" + nonRed + \")\";\n };\n };\n }\n heatmapper = (function(_this) {\n return function(scope) {\n var colorScale, forEachCell, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n colorScale = colorScaleGenerator(values);\n return forEachCell(function(x, elem) {\n return elem.css(\"background-color\", colorScale(x));\n });\n };\n })(this);\n switch (scope) {\n case \"heatmap\":\n heatmapper(\".pvtVal\");\n break;\n case \"rowheatmap\":\n for (i = l = 0, ref1 = numRows; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) {\n heatmapper(\".pvtVal.row\" + i);\n }\n break;\n case \"colheatmap\":\n for (j = n = 0, ref2 = numCols; 0 <= ref2 ? n < ref2 : n > ref2; j = 0 <= ref2 ? ++n : --n) {\n heatmapper(\".pvtVal.col\" + j);\n }\n }\n heatmapper(\".pvtTotal.rowTotal\");\n heatmapper(\".pvtTotal.colTotal\");\n return this;\n };\n\n /*\n Barchart post-processing\n */\n return $.fn.barchart = function(opts) {\n var barcharter, i, l, numCols, numRows, ref;\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n barcharter = (function(_this) {\n return function(scope) {\n var forEachCell, max, min, range, scaler, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n max = Math.max.apply(Math, values);\n if (max < 0) {\n max = 0;\n }\n range = max;\n min = Math.min.apply(Math, values);\n if (min < 0) {\n range = max - min;\n }\n scaler = function(x) {\n return 100 * x / (1.4 * range);\n };\n return forEachCell(function(x, elem) {\n var bBase, bgColor, text, wrapper;\n text = elem.text();\n wrapper = $(\"\").css({\n \"position\": \"relative\",\n \"height\": \"55px\"\n });\n bgColor = \"gray\";\n bBase = 0;\n if (min < 0) {\n bBase = scaler(-min);\n }\n if (x < 0) {\n bBase += scaler(x);\n bgColor = \"darkred\";\n x = -x;\n }\n wrapper.append($(\"\").css({\n \"position\": \"absolute\",\n \"bottom\": bBase + \"%\",\n \"left\": 0,\n \"right\": 0,\n \"height\": scaler(x) + \"%\",\n \"background-color\": bgColor\n }));\n wrapper.append($(\"\").text(text).css({\n \"position\": \"relative\",\n \"padding-left\": \"5px\",\n \"padding-right\": \"5px\"\n }));\n return elem.css({\n \"padding\": 0,\n \"padding-top\": \"5px\",\n \"text-align\": \"center\"\n }).html(wrapper);\n });\n };\n })(this);\n for (i = l = 0, ref = numRows; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) {\n barcharter(\".pvtVal.row\" + i);\n }\n barcharter(\".pvtTotal.colTotal\");\n return this;\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.js.map\n"]} \ No newline at end of file diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.js new file mode 100644 index 0000000..ca9a375 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js @@ -0,0 +1,80 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map new file mode 100644 index 0000000..b7c7760 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js index 9dc06ee..a3bcc04 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js @@ -1,2 +1,2 @@ -(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,n,o;return n=e.pivotUtilities.numberFormat,o=e.pivotUtilities.aggregatorTemplates,t=n({thousandsSep:" ",decimalSep:","}),r=n({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),i=n({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:o.count(r),"Aantal unieke waarden":o.countUnique(r),"Lijst unieke waarden":o.listUnique(", "),Som:o.sum(t),"Som van gehele getallen":o.sum(r),Gemiddelde:o.average(t),Minimum:o.min(t),Maximum:o.max(t),"Som over som":o.sumOverSum(t),"80% bovengrens":o.sumOverSumBound80(!0,t),"80% ondergrens":o.sumOverSumBound80(!1,t),"Som in verhouding tot het totaal":o.fractionOf(o.sum(),"total",i),"Som in verhouding tot de rij":o.fractionOf(o.sum(),"row",i),"Som in verhouding tot de kolom":o.fractionOf(o.sum(),"col",i),"Aantal in verhouding tot het totaal":o.fractionOf(o.count(),"total",i),"Aantal in verhouding tot de rij":o.fractionOf(o.count(),"row",i),"Aantal in verhouding tot de kolom":o.fractionOf(o.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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map new file mode 100644 index 0000000..b51dc51 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js b/inst/htmlwidgets/lib/pivottable/pivot.pl.js new file mode 100644 index 0000000..aa4b438 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js @@ -0,0 +1,82 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map new file mode 100644 index 0000000..3eefc10 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pivot.pl.js","sources":["pivot.pl.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 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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map new file mode 100644 index 0000000..14a4b8e --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.js new file mode 100644 index 0000000..b737243 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js @@ -0,0 +1,111 @@ +(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.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": tpl.count(frFmtInt), + "Contagem de Valores únicos": tpl.countUnique(frFmtInt), + "Lista de Valores únicos": tpl.listUnique(", "), + "Soma": tpl.sum(frFmt), + "Soma de Inteiros": tpl.sum(frFmtInt), + "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áximo": tpl.max(frFmt), + "Primeiro": tpl.first(frFmt), + "Último": tpl.last(frFmt), + "Soma sobre Soma": tpl.sumOverSum(frFmt), + "Limite Superior a 80%": tpl.sumOverSumBound80(true, frFmt), + "Limite Inferior a 80%": tpl.sumOverSumBound80(false, frFmt), + "Soma como Fração do Total": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Soma como Fração da Linha": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Soma como Fração da Coluna": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Contagem como Fração do Total": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Contagem como Fração da Linha": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Contagem como Fração da Coluna": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tabela": r["Table"], + "Tabela com Barras": r["Table Barchart"], + "Mapa de Calor": r["Heatmap"], + "Mapa de Calor por Linhas": r["Row Heatmap"], + "Mapa de Calor por Colunas": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.pt.gchart_renderers = { + "Gráfico de Linhas": gcr["Line Chart"], + "Gráfico de Barras": gcr["Bar Chart"], + "Gráfico de Barras Empilhadas": gcr["Stacked Bar Chart"], + "Gráfico de Área": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.pt.d3_renderers = { + "Mapa de Árvore": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.pt.c3_renderers = { + "Gráfico de Linhas": c3r["Line Chart"], + "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; + }); + +}).call(this); + +//# sourceMappingURL=pivot.pt.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map new file mode 100644 index 0000000..72cb981 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js index cf4f356..0f92ea7 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js @@ -1,2 +1,2 @@ -(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,l,n,c;return l=a.pivotUtilities.numberFormat,c=a.pivotUtilities.aggregatorTemplates,n=a.pivotUtilities.renderers,s=a.pivotUtilities.gchart_renderers,r=a.pivotUtilities.d3_renderers,e=a.pivotUtilities.c3_renderers,o=l({thousandsSep:".",decimalSep:","}),i=l({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),t=l({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),"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:n.Table,"Tabela com Barras":n["Table Barchart"],"Mapa de Calor":n.Heatmap,"Mapa de Calor por Linhas":n["Row Heatmap"],"Mapa de Calor por Colunas":n["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map new file mode 100644 index 0000000..cf067a6 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js b/inst/htmlwidgets/lib/pivottable/pivot.ru.js new file mode 100644 index 0000000..ebc556d --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map new file mode 100644 index 0000000..f7fe47f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map new file mode 100644 index 0000000..4ef0db3 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js b/inst/htmlwidgets/lib/pivottable/pivot.sq.js new file mode 100644 index 0000000..080b336 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map new file mode 100644 index 0000000..604860b --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map new file mode 100644 index 0000000..3f6df78 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js b/inst/htmlwidgets/lib/pivottable/pivot.tr.js new file mode 100644 index 0000000..1a95e56 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js @@ -0,0 +1,104 @@ +(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.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ı": tpl.count(frFmtInt), + "Benzersiz değerler sayısı": tpl.countUnique(frFmtInt), + "Benzersiz değerler listesi": tpl.listUnique(", "), + "Toplam": tpl.sum(frFmt), + "Toplam (tam sayı)": tpl.sum(frFmtInt), + "Ortalama": tpl.average(frFmt), + "Min": tpl.min(frFmt), + "Maks": tpl.max(frFmt), + "Miktarların toplamı": tpl.sumOverSum(frFmt), + "%80 daha yüksek": tpl.sumOverSumBound80(true, frFmt), + "%80 daha düşük": tpl.sumOverSumBound80(false, frFmt), + "Toplam oranı (toplam)": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Satır oranı (toplam)": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Sütunun oranı (toplam)": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Toplam oranı (sayı)": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Satır oranı (sayı)": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Sütunun oranı (sayı)": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tablo": r["Table"], + "Tablo (Çubuklar)": r["Table Barchart"], + "İlgi haritası": r["Heatmap"], + "Satır ilgi haritası": r["Row Heatmap"], + "Sütun ilgi haritası": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.tr.gchart_renderers = { + "Çizgi Grafiği": gcr["Line Chart"], + "Bar Grafiği": gcr["Bar Chart"], + "Yığılmış Çubuk Grafik ": gcr["Stacked Bar Chart"], + "Alan Grafiği": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.tr.d3_renderers = { + "Hiyerarşik Alan Grafiği (Treemap)": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.tr.c3_renderers = { + "Çizgi Grafiği": c3r["Line Chart"], + "Bar Grafiği": c3r["Bar Chart"], + "Yığılmış Çubuk Grafik ": c3r["Stacked Bar Chart"], + "Alan Grafiği": c3r["Area Chart"] + }; + } + return $.pivotUtilities.locales.tr; + }); + +}).call(this); + +//# sourceMappingURL=pivot.tr.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map new file mode 100644 index 0000000..3b5dbe0 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map new file mode 100644 index 0000000..90d8eb9 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.js new file mode 100644 index 0000000..5f30fb4 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js @@ -0,0 +1,113 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map new file mode 100644 index 0000000..6810c5f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pivot.zh.js","sources":["pivot.zh.coffee"],"names":[],"mappings":"AAEA;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;IACvB,CAAA,GAAI,CAAC,CAAC,cAAc,CAAC;IACrB,GAAA,GAAM,CAAC,CAAC,cAAc,CAAC;IACvB,GAAA,GAAM,CAAC,CAAC,cAAc,CAAC;IACvB,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;IAEX,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAzB,GAEI;MAAA,aAAA,EACI;QAAA,WAAA,EAAa,UAAb;QACA,YAAA,EAAc,UADd;QAEA,aAAA,EAAe,UAFf;QAGA,SAAA,EAAW,MAHX;QAIA,UAAA,EAAY,MAJZ;QAKA,OAAA,EAAS,cALT;QAMA,aAAA,EAAe,SANf;QAOA,MAAA,EAAQ,IAPR;QAQA,EAAA,EAAI,GARJ;QASA,EAAA,EAAI,KATJ;OADJ;MAYA,WAAA,EACI;QAAA,IAAA,EAA0C,GAAG,CAAC,KAAJ,CAAU,QAAV,CAA1C;QACA,SAAA,EAAsB,GAAG,CAAC,WAAJ,CAAgB,QAAhB,CADtB;QAEA,QAAA,EAAwB,GAAG,CAAC,UAAJ,CAAe,IAAf,CAFxB;QAGA,IAAA,EAA8C,GAAG,CAAC,GAAJ,CAAQ,KAAR,CAH9C;QAIA,OAAA,EAAqC,GAAG,CAAC,GAAJ,CAAQ,QAAR,CAJrC;QAKA,KAAA,EAA8C,GAAG,CAAC,OAAJ,CAAY,KAAZ,CAL9C;QAMA,KAAA,EAA6C,GAAG,CAAC,MAAJ,CAAW,KAAX,CAN7C;QAOA,IAAA,EAA0C,GAAG,EAAC,GAAD,EAAH,CAAQ,CAAR,EAAW,KAAX,CAP1C;QAQA,QAAA,EAA+B,GAAG,CAAC,KAAJ,CAAU,CAAV,EAAa,KAAb,CAR/B;QASA,KAAA,EAA6C,GAAG,CAAC,GAAJ,CAAQ,KAAR,CAT7C;QAUA,KAAA,EAA6C,GAAG,CAAC,GAAJ,CAAQ,KAAR,CAV7C;QAWA,IAAA,EAA0C,GAAG,CAAC,KAAJ,CAAU,KAAV,CAX1C;QAYA,IAAA,EAA4C,GAAG,CAAC,IAAJ,CAAS,KAAT,CAZ5C;QAaA,MAAA,EAAqC,GAAG,CAAC,UAAJ,CAAe,KAAf,CAbrC;QAcA,oBAAA,EAA6C,GAAG,CAAC,iBAAJ,CAAsB,IAAtB,EAA4B,KAA5B,CAd7C;QAeA,oBAAA,EAA6C,GAAG,CAAC,iBAAJ,CAAsB,KAAtB,EAA6B,KAA7B,CAf7C;QAgBA,UAAA,EAAiB,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAA4B,OAA5B,EAAqC,QAArC,CAhBjB;QAiBA,WAAA,EAAkB,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CAjBlB;QAkBA,WAAA,EAAiB,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CAlBjB;QAmBA,WAAA,EAAc,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,OAA5B,EAAqC,QAArC,CAnBd;QAoBA,YAAA,EAAe,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CApBf;QAqBA,YAAA,EAAc,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CArBd;OAbJ;MAoCA,SAAA,EACI;QAAA,IAAA,EAAM,CAAE,CAAA,OAAA,CAAR;QACA,QAAA,EAAU,CAAE,CAAA,gBAAA,CADZ;QAEA,IAAA,EAAM,CAAE,CAAA,SAAA,CAFR;QAGA,KAAA,EAAO,CAAE,CAAA,aAAA,CAHT;QAIA,KAAA,EAAO,CAAE,CAAA,aAAA,CAJT;OArCJ;;IA2CJ,IAAG,GAAH;MACI,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,gBAA5B,GACI;QAAA,QAAA,EAAqB,GAAI,CAAA,YAAA,CAAzB;QACA,QAAA,EAAqB,GAAI,CAAA,WAAA,CADzB;QAEA,UAAA,EAAY,GAAI,CAAA,mBAAA,CAFhB;QAGA,QAAA,EAAgB,GAAI,CAAA,YAAA,CAHpB;;MAIJ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,SAA5B,GAAwC,CAAC,CAAC,MAAF,CACpC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,SADQ,EAEpC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,gBAFQ,EAN5C;;IAUA,IAAG,GAAH;MACI,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,YAA5B,GACI;QAAA,IAAA,EAAM,GAAI,CAAA,SAAA,CAAV;;MACJ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,SAA5B,GAAwC,CAAC,CAAC,MAAF,CACpC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,SADQ,EAEpC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,YAFQ,EAH5C;;IAOA,IAAG,GAAH;MACI,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,YAA5B,GACI;QAAA,KAAA,EAAO,GAAI,CAAA,YAAA,CAAX;QACA,KAAA,EAAO,GAAI,CAAA,WAAA,CADX;QAEA,OAAA,EAAS,GAAI,CAAA,mBAAA,CAFb;QAGA,KAAA,EAAO,GAAI,CAAA,YAAA,CAHX;QAIA,KAAA,EAAO,GAAI,CAAA,eAAA,CAJX;;MAKJ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,SAA5B,GAAwC,CAAC,CAAC,MAAF,CACpC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,SADQ,EAEpC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,YAFQ,EAP5C;;AAWA,WAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC;EArFrB,CAAf;AATA","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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js index 916fceb..2828cad 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js @@ -1,2 +1,2 @@ -(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,a,l,n,c;return l=e.pivotUtilities.numberFormat,c=e.pivotUtilities.aggregatorTemplates,n=e.pivotUtilities.renderers,a=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,t=e.pivotUtilities.c3_renderers,i=l({thousandsSep:",",decimalSep:"."}),o=l({digitsAfterDecimal:0,thousandsSep:",",decimalSep:"."}),s=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(o),"非重复值的个数":c.countUnique(o),"列出非重复值":c.listUnique(", "),"求和":c.sum(i),"求和后取整":c.sum(o),"平均值":c.average(i),"最小值":c.min(i),"最大值":c.max(i),"两和之比":c.sumOverSum(i),"二项分布:置信度为80%时的区间上限":c.sumOverSumBound80(!0,i),"二项分布:置信度为80%时的区间下限":c.sumOverSumBound80(!1,i),"和在总计中的比例":c.fractionOf(c.sum(),"total",s),"和在行合计中的比例":c.fractionOf(c.sum(),"row",s),"和在列合计中的比例":c.fractionOf(c.sum(),"col",s),"频数在总计中的比例":c.fractionOf(c.count(),"total",s),"频数在行合计中的比例":c.fractionOf(c.count(),"row",s),"频数在列合计中的比例":c.fractionOf(c.count(),"col",s)},renderers:{"表格":n.Table,"表格内柱状图":n["Table Barchart"],"热图":n.Heatmap,"行热图":n["Row Heatmap"],"列热图":n["Col Heatmap"]}},a&&(e.pivotUtilities.locales.zh.gchart_renderers={"折线图(g)":a["Line Chart"],"柱形图(g)":a["Bar Chart"],"堆栈柱形图(g)":a["Stacked Bar Chart"],"面积图(g)":a["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map new file mode 100644 index 0000000..8b30873 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot_spec.js b/inst/htmlwidgets/lib/pivottable/pivot_spec.js new file mode 100644 index 0000000..fadadce --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot_spec.js @@ -0,0 +1,614 @@ +(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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 $("").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 = $("").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 = $("\n \n
\").html(opts.localeStrings.tooMany)\n else\n if values.length > 5\n controls = $(\"
\").appendTo(valueList)\n sorter = getSort(opts.sorters, attr)\n placeholder = opts.localeStrings.filterResults\n $(\"\", {type: \"text\"}).appendTo(controls)\n .attr({placeholder: placeholder, class: \"pvtSearch\"})\n .bind \"keyup\", ->\n filter = $(this).val().toLowerCase().trim()\n accept_gen = (prefix, accepted) -> (v) ->\n real_filter = filter.substring(prefix.length).trim()\n return true if real_filter.length == 0\n return Math.sign(sorter(v.toLowerCase(), real_filter)) in accepted\n accept =\n if filter.indexOf(\">=\") == 0 then accept_gen(\">=\", [1,0])\n else if filter.indexOf(\"<=\") == 0 then accept_gen(\"<=\", [-1,0])\n else if filter.indexOf(\">\") == 0 then accept_gen(\">\", [1])\n else if filter.indexOf(\"<\") == 0 then accept_gen(\"<\", [-1])\n else if filter.indexOf(\"~\") == 0 then (v) ->\n return true if filter.substring(1).trim().length == 0\n v.toLowerCase().match(filter.substring(1))\n else (v) -> v.toLowerCase().indexOf(filter) != -1\n\n valueList.find('.pvtCheckContainer p label span.value').each ->\n if accept($(this).text())\n $(this).parent().parent().show()\n else\n $(this).parent().parent().hide()\n controls.append $(\"\")\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectAll)\n .bind \"click\", ->\n valueList.find(\"input:visible:not(:checked)\")\n .prop(\"checked\", true).toggleClass(\"changed\")\n return false\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectNone)\n .bind \"click\", ->\n valueList.find(\"input:visible:checked\")\n .prop(\"checked\", false).toggleClass(\"changed\")\n return false\n\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList)\n\n for value in values.sort(getSort(opts.sorters, attr))\n valueCount = attrValues[attr][value]\n filterItem = $(\"\")\n filterItemExcluded = false\n if opts.inclusions[attr]\n filterItemExcluded = (value not in opts.inclusions[attr])\n else if opts.exclusions[attr]\n filterItemExcluded = (value in opts.exclusions[attr])\n hasExcludedItem ||= filterItemExcluded\n $(\"\")\n .attr(\"type\", \"checkbox\").addClass('pvtFilter')\n .attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr,value])\n .appendTo(filterItem)\n .bind \"change\", -> $(this).toggleClass(\"changed\")\n filterItem.append $(\"\").addClass(\"value\").text(value)\n filterItem.append $(\"\").addClass(\"count\").text(\"(\"+valueCount+\")\")\n checkContainer.append $(\"\").append(filterItem)\n\n closeFilterBox = ->\n if valueList.find(\"[type='checkbox']\").length >\n valueList.find(\"[type='checkbox']:checked\").length\n attrElem.addClass \"pvtFilteredAttribute\"\n else\n attrElem.removeClass \"pvtFilteredAttribute\"\n\n valueList.find('.pvtSearch').val('')\n valueList.find('.pvtCheckContainer p').show()\n valueList.hide()\n\n finalButtons = $(\"\").appendTo(valueList)\n\n if values.length <= opts.menuLimit\n $(\"\", {type: \"button\"}).text(opts.localeStrings.apply)\n .appendTo(finalButtons).bind \"click\", ->\n if valueList.find(\".changed\").removeClass(\"changed\").length\n refresh()\n closeFilterBox()\n\n $(\"\", {type: \"button\"}).text(opts.localeStrings.cancel)\n .appendTo(finalButtons).bind \"click\", ->\n valueList.find(\".changed:checked\")\n .removeClass(\"changed\").prop(\"checked\", false)\n valueList.find(\".changed:not(:checked)\")\n .removeClass(\"changed\").prop(\"checked\", true)\n closeFilterBox()\n\n triangleLink = $(\"\").addClass('pvtTriangle')\n .html(\" ▾\").bind \"click\", (e) ->\n {left, top} = $(e.currentTarget).position()\n valueList.css(left: left+10, top: top+10).show()\n\n attrElem = $(\"\").addClass(\"axis_#{i}\")\n .append $(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink)\n\n attrElem.addClass('pvtFilteredAttribute') if hasExcludedItem\n unused.append(attrElem).append(valueList)\n\n tr1 = $(\"\").appendTo(uiTable)\n\n #aggregator menu and value area\n\n aggregator = $(\"\").addClass('pvtAggregator')\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.aggregators\n aggregator.append $(\"\").val(x).html(x)\n\n ordering =\n key_a_to_z: {rowSymbol: \"↕\", colSymbol: \"↔\", next: \"value_a_to_z\"}\n value_a_to_z: {rowSymbol: \"↓\", colSymbol: \"→\", next: \"value_z_to_a\"}\n value_z_to_a: {rowSymbol: \"↑\", colSymbol: \"←\", next: \"key_a_to_z\"}\n\n rowOrderArrow = $(\"\", role: \"button\").addClass(\"pvtRowOrder\")\n .data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol)\n refresh()\n\n colOrderArrow = $(\"\", role: \"button\").addClass(\"pvtColOrder\")\n .data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].colSymbol)\n refresh()\n\n $(\"\").addClass('pvtVals pvtUiCell')\n .appendTo(tr1)\n .append(aggregator)\n .append(rowOrderArrow)\n .append(colOrderArrow)\n .append($(\"\"))\n\n #column axes\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1)\n\n tr2 = $(\"\").appendTo(uiTable)\n\n #row axes\n tr2.append $(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\")\n\n #the actual pivot table container\n pivotTable = $(\"\")\n .attr(\"valign\", \"top\")\n .addClass('pvtRendererArea')\n .appendTo(tr2)\n\n #finally the renderer dropdown and unused attribs are inserted at the requested location\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n uiTable.find('tr:nth-child(1)').prepend rendererControl\n uiTable.find('tr:nth-child(2)').prepend unused\n else\n uiTable.prepend $(\"\").append(rendererControl).append(unused)\n\n #render the UI in its default state\n @html uiTable\n\n #set up the UI initial state as requested by moving elements around\n\n for x in opts.cols\n @find(\".pvtCols\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n for x in opts.rows\n @find(\".pvtRows\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n if opts.aggregatorName?\n @find(\".pvtAggregator\").val opts.aggregatorName\n if opts.rendererName?\n @find(\".pvtRenderer\").val opts.rendererName\n\n @find(\".pvtUiCell\").hide() unless opts.showUI\n\n initialRender = true\n\n #set up for refreshing\n refreshDelayed = =>\n subopts =\n derivedAttributes: opts.derivedAttributes\n localeStrings: opts.localeStrings\n rendererOptions: opts.rendererOptions\n sorters: opts.sorters\n cols: [], rows: []\n dataClass: opts.dataClass\n\n numInputsToProcess = opts.aggregators[aggregator.val()]([])().numInputs ? 0\n vals = []\n @find(\".pvtRows li span.pvtAttr\").each -> subopts.rows.push $(this).data(\"attrName\")\n @find(\".pvtCols li span.pvtAttr\").each -> subopts.cols.push $(this).data(\"attrName\")\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n if numInputsToProcess == 0\n $(this).remove()\n else\n numInputsToProcess--\n vals.push $(this).val() if $(this).val() != \"\"\n\n if numInputsToProcess != 0\n pvtVals = @find(\".pvtVals\")\n for x in [0...numInputsToProcess]\n newDropdown = $(\"\")\n .addClass('pvtAttrDropdown')\n .append($(\"\"))\n .bind \"change\", -> refresh()\n for attr in shownInAggregators\n newDropdown.append($(\"\").val(attr).text(attr))\n pvtVals.append(newDropdown)\n\n if initialRender\n vals = opts.vals\n i = 0\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n $(this).val vals[i]\n i++\n initialRender = false\n\n subopts.aggregatorName = aggregator.val()\n subopts.vals = vals\n subopts.aggregator = opts.aggregators[aggregator.val()](vals)\n subopts.renderer = opts.renderers[renderer.val()]\n subopts.rowOrder = rowOrderArrow.data(\"order\")\n subopts.colOrder = colOrderArrow.data(\"order\")\n #construct filter here\n exclusions = {}\n @find('input.pvtFilter').not(':checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n exclusions[filter[0]].push( filter[1] )\n else\n exclusions[filter[0]] = [ filter[1] ]\n #include inclusions when exclusions present\n inclusions = {}\n @find('input.pvtFilter:checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n if inclusions[filter[0]]?\n inclusions[filter[0]].push( filter[1] )\n else\n inclusions[filter[0]] = [ filter[1] ]\n\n subopts.filter = (record) ->\n return false if not opts.filter(record)\n for k,excludedItems of exclusions\n return false if \"\"+(record[k] ? 'null') in excludedItems\n return true\n\n pivotTable.pivot(materializedInput,subopts)\n pivotUIOptions = $.extend {}, opts,\n cols: subopts.cols\n rows: subopts.rows\n colOrder: subopts.colOrder\n rowOrder: subopts.rowOrder\n vals: vals\n exclusions: exclusions\n inclusions: inclusions\n inclusionsInfo: inclusions #duplicated for backwards-compatibility\n aggregatorName: aggregator.val()\n rendererName: renderer.val()\n\n @data \"pivotUIOptions\", pivotUIOptions\n\n # if requested make sure unused columns are in alphabetical order\n if opts.autoSortUnusedAttrs\n unusedAttrsContainer = @find(\"td.pvtUnused.pvtAxisContainer\")\n $(unusedAttrsContainer).children(\"li\")\n .sort((a, b) => naturalSort($(a).text(), $(b).text()))\n .appendTo unusedAttrsContainer\n\n pivotTable.css(\"opacity\", 1)\n opts.onRefresh(pivotUIOptions) if opts.onRefresh?\n\n refresh = =>\n pivotTable.css(\"opacity\", 0.5)\n setTimeout refreshDelayed, 10\n\n #the very first refresh will actually display the table\n refresh()\n\n @find(\".pvtAxisContainer\").sortable\n update: (e, ui) -> refresh() if not ui.sender?\n connectWith: @find(\".pvtAxisContainer\")\n items: 'li'\n placeholder: 'pvtPlaceholder'\n catch e\n console.error(e.stack) if console?\n @html opts.localeStrings.uiRenderError\n return this\n\n ###\n Heatmap post-processing\n ###\n\n $.fn.heatmap = (scope = \"heatmap\", opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n # given a series of values\n # must return a function to map a given value to a CSS color\n colorScaleGenerator = opts?.heatmap?.colorScaleGenerator\n colorScaleGenerator ?= (values) ->\n min = Math.min(values...)\n max = Math.max(values...)\n return (x) ->\n nonRed = 255 - Math.round 255*(x-min)/(max-min)\n return \"rgb(255,#{nonRed},#{nonRed})\"\n\n heatmapper = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n colorScale = colorScaleGenerator(values)\n forEachCell (x, elem) -> elem.css \"background-color\", colorScale(x)\n\n switch scope\n when \"heatmap\" then heatmapper \".pvtVal\"\n when \"rowheatmap\" then heatmapper \".pvtVal.row#{i}\" for i in [0...numRows]\n when \"colheatmap\" then heatmapper \".pvtVal.col#{j}\" for j in [0...numCols]\n\n heatmapper \".pvtTotal.rowTotal\"\n heatmapper \".pvtTotal.colTotal\"\n\n return this\n\n ###\n Barchart post-processing\n ###\n\n $.fn.barchart = (opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n barcharter = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n max = Math.max(values...)\n if max < 0\n max = 0\n range = max;\n min = Math.min(values...)\n if min < 0\n range = max - min\n scaler = (x) -> 100*x/(1.4*range)\n forEachCell (x, elem) ->\n text = elem.text()\n wrapper = $(\"\").css\n \"position\": \"relative\"\n \"height\": \"55px\"\n bgColor = \"gray\"\n bBase = 0\n if min < 0\n bBase = scaler(-min)\n if x < 0\n bBase += scaler(x)\n bgColor = \"darkred\"\n x = -x\n wrapper.append $(\"\").css\n \"position\": \"absolute\"\n \"bottom\": bBase + \"%\"\n \"left\": 0\n \"right\": 0\n \"height\": scaler(x) + \"%\"\n \"background-color\": bgColor\n wrapper.append $(\"\").text(text).css\n \"position\":\"relative\"\n \"padding-left\":\"5px\"\n \"padding-right\":\"5px\"\n\n elem.css(\"padding\": 0,\"padding-top\": \"5px\", \"text-align\": \"center\").html wrapper\n\n barcharter \".pvtVal.row#{i}\" for i in [0...numRows]\n barcharter \".pvtTotal.colTotal\"\n\n return this\n"]} \ No newline at end of file diff --git a/inst/htmlwidgets/lib/pivottable/pivot.min.js b/inst/htmlwidgets/lib/pivottable/pivot.min.js index 78f9401..b79a65a 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.min.js @@ -1,2 +1,2 @@ -(function(){var t,e=[].indexOf||function(t){for(var e=0,n=this.length;e1?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,il)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 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=l;c=0<=l?++r:--r)t[e-1][c]!==t[e][c]&&(i=!1);if(i)return-1}for(a=0;e+a=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)&&(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));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)}S=document.createElement("tr"),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));return 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),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("").html(c.localeStrings.renderError)}}catch(m){i=m,"undefined"!=typeof console&&null!==console&&console.error(i.stack),p=t("").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,L,I,K,q,z,U,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,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=[],I=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]={},I>0&&(m[e]["null"]=I));for(e in m)o=null!=(r=t[e])?r:"null",null==(n=m[e])[o]&&(n[o]=0),m[e][o]++;return I++}}),Y=t("",{"class":"pvtUi"}).attr("cellpadding",5),B=t(""),H=t("").addClass("pvtRenderer").appendTo(B).bind("change",function(){return V()}),K=M.renderers;for(et in K)a.call(K,et)&&t("").val(et).html(et).appendTo(H);if(X=t("").addClass("pvtAxisContainer pvtUnused"),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;tZ}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("").addClass("pvtFilterBox").hide(),x.append(t("").append(t("").text(n),t("").addClass("count").text("("+S.length+")"))),S.length>M.menuLimit)x.append(t("").html(M.localeStrings.tooMany));else for(S.length>5&&(i=t("").appendTo(x),v=h(M.sorters,n),f=M.localeStrings.filterResults,t("",{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("")),t("",{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("",{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("").addClass("pvtCheckContainer").appendTo(x),g=S.sort(h(M.sorters,n)),p=0,d=g.length;p"),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("").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("").addClass("value").text(y)),l.append(t("").addClass("count").text("("+w+")")),a.append(t("").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("").appendTo(x),S.length<=M.menuLimit&&t("",{type:"button"}).text(M.localeStrings.apply).appendTo(u).bind("click",function(){return x.find(".changed").removeClass("changed").length&&V(),o()}),t("",{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("").addClass("pvtTriangle").html(" ▾").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("").addClass("axis_"+A).append(t("").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("").appendTo(Y),u=t("").addClass("pvtAggregator").bind("change",function(){return V()}),q=M.aggregators;for(et in q)a.call(q,et)&&u.append(t("").val(et).html(et));for(R={key_a_to_z:{rowSymbol:"↕",colSymbol:"↔",next:"value_a_to_z"},value_a_to_z:{rowSymbol:"↓",colSymbol:"→",next:"value_z_to_a"},value_z_to_a:{rowSymbol:"↑",colSymbol:"←",next:"key_a_to_z"}},P=t("",{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("",{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("").addClass("pvtVals").appendTo($).append(u).append(P).append(v).append(t("")),t("").addClass("pvtAxisContainer pvtHorizList pvtCols").appendTo($),Q=t("").appendTo(Y),Q.append(t("").addClass("pvtAxisContainer pvtRows").attr("valign","top")),L=t("").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("").append(B).append(X)),this.html(Y),z=M.cols,D=0,T=z.length;Dp;et=0<=p?++g:--g){for(i=t("").addClass("pvtAttrDropdown").append(t("")).bind("change",function(){return V()}),b=0,o=G.length;b").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},L.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)),L.css("opacity",1),null!=M.onRefresh)return M.onRefresh(s)}}(this),V=function(t){return function(){return L.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?ld;o=0<=d?++l:--l)a(".pvtVal.row"+o);break;case"colheatmap":for(i=s=0,p=u;0<=p?sp;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("").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("").css({position:"absolute",bottom:r+"%",left:0,right:0,height:l(e)+"%","background-color":a})),s.append(t("").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?al;r=0<=l?++a:--a)n(".pvtVal.row"+r);return n(".pvtTotal.colTotal"),this}})}).call(this); +(function(){var t,e=[].indexOf||function(t){for(var e=0,n=this.length;e1?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,il)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 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=l;c=0<=l?++r:--r)t[e-1][c]!==t[e][c]&&(i=!1);if(i)return-1}for(a=0;e+a=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("").html(c.localeStrings.renderError)}}catch(m){i=m,"undefined"!=typeof console&&null!==console&&console.error(i.stack),p=t("").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("",{"class":"pvtUi"}).attr("cellpadding",5),B=t("").addClass("pvtUiCell"),H=t("").addClass("pvtRenderer").appendTo(B).bind("change",function(){return V()}),U=M.renderers;for(et in U)a.call(U,et)&&t("").val(et).html(et).appendTo(H);if(X=t("").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;tZ}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("").addClass("pvtFilterBox").hide(),x.append(t("").append(t("").text(n),t("").addClass("count").text("("+S.length+")"))),S.length>M.menuLimit)x.append(t("").html(M.localeStrings.tooMany));else for(S.length>5&&(i=t("").appendTo(x),v=h(M.sorters,n),f=M.localeStrings.filterResults,t("",{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("")),t("",{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("",{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("").addClass("pvtCheckContainer").appendTo(x),g=S.sort(h(M.sorters,n)),p=0,d=g.length;p"),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("").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("").addClass("value").text(y)),l.append(t("").addClass("count").text("("+w+")")),a.append(t("").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("").appendTo(x),S.length<=M.menuLimit&&t("",{type:"button"}).text(M.localeStrings.apply).appendTo(u).bind("click",function(){return x.find(".changed").removeClass("changed").length&&V(),o()}),t("",{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("").addClass("pvtTriangle").html(" ▾").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("").addClass("axis_"+A).append(t("").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("").appendTo(Y),u=t("").addClass("pvtAggregator").bind("change",function(){return V()}),K=M.aggregators;for(et in K)a.call(K,et)&&u.append(t("").val(et).html(et));for(R={key_a_to_z:{rowSymbol:"↕",colSymbol:"↔",next:"value_a_to_z"},value_a_to_z:{rowSymbol:"↓",colSymbol:"→",next:"value_z_to_a"},value_z_to_a:{rowSymbol:"↑",colSymbol:"←",next:"key_a_to_z"}},P=t("",{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("",{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("").addClass("pvtVals pvtUiCell").appendTo($).append(u).append(P).append(v).append(t("")),t("").addClass("pvtAxisContainer pvtHorizList pvtCols pvtUiCell").appendTo($),Q=t("").appendTo(Y),Q.append(t("").addClass("pvtAxisContainer pvtRows pvtUiCell").attr("valign","top")),I=t("").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("").append(B).append(X)),this.html(Y),q=M.cols,D=0,T=q.length;Dp;et=0<=p?++g:--g){for(i=t("").addClass("pvtAttrDropdown").append(t("")).bind("change",function(){return V()}),b=0,o=G.length;b").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?ld;o=0<=d?++l:--l)a(".pvtVal.row"+o);break;case"colheatmap":for(i=s=0,p=u;0<=p?sp;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("").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("").css({position:"absolute",bottom:r+"%",left:0,right:0,height:l(e)+"%","background-color":a})),s.append(t("").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?al;r=0<=l?++a:--a)n(".pvtVal.row"+r);return n(".pvtTotal.colTotal"),this}})}).call(this); //# sourceMappingURL=pivot.min.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.min.js.map new file mode 100644 index 0000000..acf3957 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["pivot.coffee","pivot.min.js"],"names":["callWithJQuery","indexOf","item","i","l","this","length","slice","bind","fn","me","apply","arguments","hasProp","hasOwnProperty","pivotModule","exports","module","require","define","amd","jQuery","$","PivotData","addSeparators","aggregatorTemplates","aggregators","dayNamesEn","derivers","getSort","locales","mthNamesEn","naturalSort","numberFormat","pivotTableRenderer","rd","renderers","rx","rz","sortAs","usFmt","usFmtInt","usFmtPct","zeroPad","nStr","thousandsSep","decimalSep","rgx","x","x1","x2","split","test","replace","opts","defaults","digitsAfterDecimal","scaler","prefix","suffix","extend","result","isNaN","isFinite","toFixed","count","formatter","data","rowKey","colKey","push","value","format","uniques","arg","attr","uniq","record","ref","call","numInputs","sum","parseFloat","extremes","mode","val","sorter","sorters","ref1","ref2","Math","quantile","q","vals","sort","a","b","floor","ceil","runningStat","ddof","n","m","s","m_new","sqrt","sumOverSum","denom","num","sumNum","sumDenom","sumOverSumBound80","upper","sign","fractionOf","wrapped","type","selector","total","row","col","inner","getAggregator","countUnique","f","listUnique","join","max","min","first","last","median","average","stdev","tpl","Count","Count Unique Values","List Unique Values","Sum","Integer Sum","Average","Median","Sample Variance","Sample Standard Deviation","Minimum","Maximum","First","Last","Sum over Sum","80% Upper Bound","80% Lower Bound","Sum as Fraction of Total","Sum as Fraction of Rows","Sum as Fraction of Columns","Count as Fraction of Total","Count as Fraction of Rows","Count as Fraction of Columns","Table","Table Barchart","barchart","Heatmap","heatmap","Row Heatmap","Col Heatmap","en","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","cancel","totals","vs","by","number","substr","bin","binWidth","dateFormat","formatString","utcOutput","mthNames","dayNames","utc","date","Date","parse","p","_this","as","bs","a1","b1","nas","nbs","String","match","shift","order","l_mapping","mapping","toLowerCase","isFunction","input","ref3","ref4","ref5","ref6","ref7","ref8","ref9","getRowKeys","getColKeys","sortKeys","arrSort","aggregator","aggregatorName","colAttrs","cols","rowAttrs","rows","valAttrs","rowOrder","colOrder","derivedAttributes","filter","tree","rowKeys","colKeys","rowTotals","colTotals","allTotal","sorted","forEachRecord","processRecord","addRecord","compactRecord","j","k","len1","results","results1","tblCols","isEmptyObject","v","isArray","each","text","Error","prototype","forEachMatchingRecord","criteria","callback","attrs","sortersArr","comparison","r","c","flatColKey","flatRowKey","len2","fromCharCode","agg","pivotUtilities","pivotData","getClickHandler","spanSize","tbody","td","th","thead","totalAggregator","tr","txt","table","clickCallback","rowValues","colValues","filters","e","document","createElement","className","arr","len","noDraw","stop","parseInt","setAttribute","appendChild","textContent","innerHTML","onclick","pivot","inputOpts","locale","localeDefaults","dataClass","renderer","rendererOptions","error","console","stack","html","hasChildNodes","removeChild","lastChild","append","pivotUI","overwrite","attrLength","attrValues","colOrderArrow","existingOpts","fn1","initialRender","len3","materializedInput","o","ordering","pivotTable","recordsProcessed","refresh","refreshDelayed","rendererControl","rowOrderArrow","shownAttributes","shownInAggregators","shownInDragDrop","tr1","tr2","uiTable","unused","unusedAttrsVerticalAutoCutoff","unusedAttrsVerticalAutoOverride","hiddenAttributes","hiddenFromAggregators","hiddenFromDragDrop","menuLimit","exclusions","inclusions","unusedAttrsVertical","autoSortUnusedAttrs","onRefresh","showUI","base","class","addClass","appendTo","attrElem","checkContainer","closeFilterBox","controls","filterItem","filterItemExcluded","finalButtons","hasExcludedItem","placeholder","triangleLink","valueCount","valueList","values","hide","accept","accept_gen","trim","accepted","real_filter","substring","find","parent","show","prop","toggleClass","removeClass","left","top","currentTarget","position","css","key_a_to_z","rowSymbol","colSymbol","next","value_a_to_z","value_z_to_a","role","prepend","inArray","rendererName","len4","newDropdown","numInputsToProcess","pivotUIOptions","pvtVals","subopts","t","u","unusedAttrsContainer","remove","not","excludedItems","inclusionsInfo","children","setTimeout","sortable","update","ui","sender","connectWith","items","scope","colorScaleGenerator","heatmapper","numCols","numRows","nonRed","round","colorScale","forEachCell","elem","barcharter","range","bBase","bgColor","wrapper","height","bottom","right","background-color","padding-left","padding-right","padding","padding-top","text-align"],"mappings":"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","file":"pivot.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 ###\n Utilities\n ###\n\n addSeparators = (nStr, thousandsSep, decimalSep) ->\n nStr += ''\n x = nStr.split('.')\n x1 = x[0]\n x2 = if x.length > 1 then decimalSep + x[1] else ''\n rgx = /(\\d+)(\\d{3})/\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2') while rgx.test(x1)\n return x1 + x2\n\n numberFormat = (opts) ->\n defaults =\n digitsAfterDecimal: 2, scaler: 1,\n thousandsSep: \",\", decimalSep: \".\"\n prefix: \"\", suffix: \"\"\n opts = $.extend({}, defaults, opts)\n (x) ->\n return \"\" if isNaN(x) or not isFinite(x)\n result = addSeparators (opts.scaler*x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep\n return \"\"+opts.prefix+result+opts.suffix\n\n #aggregator templates default to US number formatting but this is overrideable\n usFmt = numberFormat()\n usFmtInt = numberFormat(digitsAfterDecimal: 0)\n usFmtPct = numberFormat(digitsAfterDecimal:1, scaler: 100, suffix: \"%\")\n\n aggregatorTemplates =\n count: (formatter=usFmtInt) -> () -> (data, rowKey, colKey) ->\n count: 0\n push: -> @count++\n value: -> @count\n format: formatter\n\n uniques: (fn, formatter=usFmtInt) -> ([attr]) -> (data, rowKey, colKey) ->\n uniq: []\n push: (record) -> @uniq.push(record[attr]) if record[attr] not in @uniq\n value: -> fn(@uniq)\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sum: (formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n sum: 0\n push: (record) -> @sum += parseFloat(record[attr]) if not isNaN parseFloat(record[attr])\n value: -> @sum\n format: formatter\n numInputs: if attr? then 0 else 1\n\n extremes: (mode, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n val: null\n sorter: getSort(data?.sorters, attr)\n push: (record) ->\n x = record[attr]\n if mode in [\"min\", \"max\"]\n x = parseFloat(x)\n if not isNaN x then @val = Math[mode](x, @val ? x)\n if mode == \"first\" then @val = x if @sorter(x, @val ? x) <= 0\n if mode == \"last\" then @val = x if @sorter(x, @val ? x) >= 0\n value: -> @val\n format: (x) -> if isNaN(x) then x else formatter(x)\n numInputs: if attr? then 0 else 1\n\n quantile: (q, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n vals: []\n push: (record) ->\n x = parseFloat(record[attr])\n @vals.push(x) if not isNaN(x)\n value: ->\n return null if @vals.length == 0\n @vals.sort((a,b) -> a-b)\n i = (@vals.length-1)*q\n return (@vals[Math.floor(i)] + @vals[Math.ceil(i)])/2.0\n format: formatter\n numInputs: if attr? then 0 else 1\n\n runningStat: (mode=\"mean\", ddof=1, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n n: 0.0, m: 0.0, s: 0.0\n push: (record) ->\n x = parseFloat(record[attr])\n return if isNaN(x)\n @n += 1.0\n if @n == 1.0\n @m = x\n else\n m_new = @m + (x - @m)/@n\n @s = @s + (x - @m)*(x - m_new)\n @m = m_new\n value: ->\n if mode == \"mean\"\n return if @n == 0 then 0/0 else @m\n return 0 if @n <= ddof\n switch mode\n when \"var\" then @s/(@n-ddof)\n when \"stdev\" then Math.sqrt(@s/(@n-ddof))\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sumOverSum: (formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: -> @sumNum/@sumDenom\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n sumOverSumBound80: (upper=true, formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: ->\n sign = if upper then 1 else -1\n (0.821187207574908/@sumDenom + @sumNum/@sumDenom + 1.2815515655446004*sign*\n Math.sqrt(0.410593603787454/ (@sumDenom*@sumDenom) + (@sumNum*(1 - @sumNum/ @sumDenom))/ (@sumDenom*@sumDenom)))/\n (1 + 1.642374415149816/@sumDenom)\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n fractionOf: (wrapped, type=\"total\", formatter=usFmtPct) -> (x...) -> (data, rowKey, colKey) ->\n selector: {total:[[],[]],row:[rowKey,[]],col:[[],colKey]}[type]\n inner: wrapped(x...)(data, rowKey, colKey)\n push: (record) -> @inner.push record\n format: formatter\n value: -> @inner.value() / data.getAggregator(@selector...).inner.value()\n numInputs: wrapped(x...)().numInputs\n\n aggregatorTemplates.countUnique = (f) -> aggregatorTemplates.uniques(((x) -> x.length), f)\n aggregatorTemplates.listUnique = (s) -> aggregatorTemplates.uniques(((x) -> x.sort(naturalSort).join(s)), ((x)->x))\n aggregatorTemplates.max = (f) -> aggregatorTemplates.extremes('max', f)\n aggregatorTemplates.min = (f) -> aggregatorTemplates.extremes('min', f)\n aggregatorTemplates.first = (f) -> aggregatorTemplates.extremes('first', f)\n aggregatorTemplates.last = (f) -> aggregatorTemplates.extremes('last', f)\n aggregatorTemplates.median = (f) -> aggregatorTemplates.quantile(0.5, f)\n aggregatorTemplates.average = (f) -> aggregatorTemplates.runningStat(\"mean\", 1, f)\n aggregatorTemplates.var = (ddof, f) -> aggregatorTemplates.runningStat(\"var\", ddof, f)\n aggregatorTemplates.stdev = (ddof, f) -> aggregatorTemplates.runningStat(\"stdev\", ddof, f)\n\n #default aggregators & renderers use US naming and number formatting\n aggregators = do (tpl = aggregatorTemplates) ->\n \"Count\": tpl.count(usFmtInt)\n \"Count Unique Values\": tpl.countUnique(usFmtInt)\n \"List Unique Values\": tpl.listUnique(\", \")\n \"Sum\": tpl.sum(usFmt)\n \"Integer Sum\": tpl.sum(usFmtInt)\n \"Average\": tpl.average(usFmt)\n \"Median\": tpl.median(usFmt)\n \"Sample Variance\": tpl.var(1, usFmt)\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt)\n \"Minimum\": tpl.min(usFmt)\n \"Maximum\": tpl.max(usFmt)\n \"First\": tpl.first(usFmt)\n \"Last\": tpl.last(usFmt)\n \"Sum over Sum\": tpl.sumOverSum(usFmt)\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt)\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt)\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct)\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct)\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct)\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct)\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct)\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n\n renderers =\n \"Table\": (data, opts) -> pivotTableRenderer(data, opts)\n \"Table Barchart\": (data, opts) -> $(pivotTableRenderer(data, opts)).barchart()\n \"Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts)\n \"Row Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts)\n \"Col Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts)\n\n locales =\n en:\n aggregators: aggregators\n renderers: renderers\n localeStrings:\n renderError: \"An error occurred rendering the PivotTable results.\"\n computeError: \"An error occurred computing the PivotTable results.\"\n uiRenderError: \"An error occurred rendering the PivotTable UI.\"\n selectAll: \"Select All\"\n selectNone: \"Select None\"\n tooMany: \"(too many to list)\"\n filterResults: \"Filter values\"\n apply: \"Apply\"\n cancel: \"Cancel\"\n totals: \"Totals\" #for table renderer\n vs: \"vs\" #for gchart renderer\n by: \"by\" #for gchart renderer\n\n #dateFormat deriver l10n requires month and day names to be passed in directly\n mthNamesEn = [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]\n dayNamesEn = [\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]\n zeroPad = (number) -> (\"0\"+number).substr(-2,2)\n\n derivers =\n bin: (col, binWidth) -> (record) -> record[col] - record[col] % binWidth\n dateFormat: (col, formatString, utcOutput=false, mthNames=mthNamesEn, dayNames=dayNamesEn) ->\n utc = if utcOutput then \"UTC\" else \"\"\n (record) -> #thanks http://stackoverflow.com/a/12213072/112871\n date = new Date(Date.parse(record[col]))\n if isNaN(date) then return \"\"\n formatString.replace /%(.)/g, (m, p) ->\n switch p\n when \"y\" then date[\"get#{utc}FullYear\"]()\n when \"m\" then zeroPad(date[\"get#{utc}Month\"]()+1)\n when \"n\" then mthNames[date[\"get#{utc}Month\"]()]\n when \"d\" then zeroPad(date[\"get#{utc}Date\"]())\n when \"w\" then dayNames[date[\"get#{utc}Day\"]()]\n when \"x\" then date[\"get#{utc}Day\"]()\n when \"H\" then zeroPad(date[\"get#{utc}Hours\"]())\n when \"M\" then zeroPad(date[\"get#{utc}Minutes\"]())\n when \"S\" then zeroPad(date[\"get#{utc}Seconds\"]())\n else \"%\" + p\n\n rx = /(\\d+)|(\\D+)/g\n rd = /\\d/\n rz = /^0/\n naturalSort = (as, bs) =>\n #nulls first\n return -1 if bs? and not as?\n return 1 if as? and not bs?\n\n #then raw NaNs\n return -1 if typeof as == \"number\" and isNaN(as)\n return 1 if typeof bs == \"number\" and isNaN(bs)\n\n #numbers and numbery strings group together\n nas = +as\n nbs = +bs\n return -1 if nas < nbs\n return 1 if nas > nbs\n\n #within that, true numbers before numbery strings\n return -1 if typeof as == \"number\" and typeof bs != \"number\"\n return 1 if typeof bs == \"number\" and typeof as != \"number\"\n return 0 if typeof as == \"number\" and typeof bs == \"number\"\n\n # 'Infinity' is a textual number, so less than 'A'\n return -1 if isNaN(nbs) and not isNaN(nas)\n return 1 if isNaN(nas) and not isNaN(nbs)\n\n #finally, \"smart\" string sorting per http://stackoverflow.com/a/4373421/112871\n a = String(as)\n b = String(bs)\n return 0 if a == b\n return (if a > b then 1 else -1) unless rd.test(a) and rd.test(b)\n\n #special treatment for strings containing digits\n a = a.match(rx) #create digits vs non-digit chunks and iterate through\n b = b.match(rx)\n while a.length and b.length\n a1 = a.shift()\n b1 = b.shift()\n if a1 != b1\n if rd.test(a1) and rd.test(b1) #both are digit chunks\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\")\n else\n return (if a1 > b1 then 1 else -1)\n return a.length - b.length\n\n sortAs = (order) ->\n mapping = {}\n l_mapping = {} # sort lowercased keys similarly\n for i, x of order\n mapping[x] = i\n l_mapping[x.toLowerCase()] = i if typeof x == \"string\"\n (a, b) ->\n if mapping[a]? and mapping[b]? then mapping[a] - mapping[b]\n else if mapping[a]? then -1\n else if mapping[b]? then 1\n else if l_mapping[a]? and l_mapping[b]? then l_mapping[a] - l_mapping[b]\n else if l_mapping[a]? then -1\n else if l_mapping[b]? then 1\n else naturalSort(a,b)\n\n getSort = (sorters, attr) ->\n if sorters?\n if $.isFunction(sorters)\n sort = sorters(attr)\n return sort if $.isFunction(sort)\n else if sorters[attr]?\n return sorters[attr]\n return naturalSort\n\n ###\n Data Model class\n ###\n\n class PivotData\n constructor: (input, opts = {}) ->\n @input = input\n @aggregator = opts.aggregator ? aggregatorTemplates.count()()\n @aggregatorName = opts.aggregatorName ? \"Count\"\n @colAttrs = opts.cols ? []\n @rowAttrs = opts.rows ? []\n @valAttrs = opts.vals ? []\n @sorters = opts.sorters ? {}\n @rowOrder = opts.rowOrder ? \"key_a_to_z\"\n @colOrder = opts.colOrder ? \"key_a_to_z\"\n @derivedAttributes = opts.derivedAttributes ? {}\n @filter = opts.filter ? (-> true)\n @tree = {}\n @rowKeys = []\n @colKeys = []\n @rowTotals = {}\n @colTotals = {}\n @allTotal = @aggregator(this, [], [])\n @sorted = false\n\n # iterate through input, accumulating data for cells\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n @processRecord(record) if @filter(record)\n\n #can handle arrays or jQuery selections of tables\n @forEachRecord = (input, derivedAttributes, f) ->\n if $.isEmptyObject derivedAttributes\n addRecord = f\n else\n addRecord = (record) ->\n record[k] = v(record) ? record[k] for k, v of derivedAttributes\n f(record)\n\n #if it's a function, have it call us back\n if $.isFunction(input)\n input(addRecord)\n else if $.isArray(input)\n if $.isArray(input[0]) #array of arrays\n for own i, compactRecord of input when i > 0\n record = {}\n record[k] = compactRecord[j] for own j, k of input[0]\n addRecord(record)\n else #array of objects\n addRecord(record) for record in input\n else if input instanceof $\n tblCols = []\n $(\"thead > tr > th\", input).each (i) -> tblCols.push $(this).text()\n $(\"tbody > tr\", input).each (i) ->\n record = {}\n $(\"td\", this).each (j) -> record[tblCols[j]] = $(this).text()\n addRecord(record)\n else\n throw new Error(\"unknown input format\")\n\n forEachMatchingRecord: (criteria, callback) ->\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n return if not @filter(record)\n for k, v of criteria\n return if v != (record[k] ? \"null\")\n callback(record)\n\n arrSort: (attrs) =>\n sortersArr = (getSort(@sorters, a) for a in attrs)\n (a,b) ->\n for own i, sorter of sortersArr\n comparison = sorter(a[i], b[i])\n return comparison if comparison != 0\n return 0\n\n sortKeys: () =>\n if not @sorted\n @sorted = true\n v = (r,c) => @getAggregator(r,c).value()\n switch @rowOrder\n when \"value_a_to_z\" then @rowKeys.sort (a,b) => naturalSort v(a,[]), v(b,[])\n when \"value_z_to_a\" then @rowKeys.sort (a,b) => -naturalSort v(a,[]), v(b,[])\n else @rowKeys.sort @arrSort(@rowAttrs)\n switch @colOrder\n when \"value_a_to_z\" then @colKeys.sort (a,b) => naturalSort v([],a), v([],b)\n when \"value_z_to_a\" then @colKeys.sort (a,b) => -naturalSort v([],a), v([],b)\n else @colKeys.sort @arrSort(@colAttrs)\n\n getColKeys: () =>\n @sortKeys()\n return @colKeys\n\n getRowKeys: () =>\n @sortKeys()\n return @rowKeys\n\n processRecord: (record) -> #this code is called in a tight loop\n colKey = []\n rowKey = []\n colKey.push record[x] ? \"null\" for x in @colAttrs\n rowKey.push record[x] ? \"null\" for x in @rowAttrs\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n\n @allTotal.push record\n\n if rowKey.length != 0\n if not @rowTotals[flatRowKey]\n @rowKeys.push rowKey\n @rowTotals[flatRowKey] = @aggregator(this, rowKey, [])\n @rowTotals[flatRowKey].push record\n\n if colKey.length != 0\n if not @colTotals[flatColKey]\n @colKeys.push colKey\n @colTotals[flatColKey] = @aggregator(this, [], colKey)\n @colTotals[flatColKey].push record\n\n if colKey.length != 0 and rowKey.length != 0\n if not @tree[flatRowKey]\n @tree[flatRowKey] = {}\n if not @tree[flatRowKey][flatColKey]\n @tree[flatRowKey][flatColKey] = @aggregator(this, rowKey, colKey)\n @tree[flatRowKey][flatColKey].push record\n\n getAggregator: (rowKey, colKey) =>\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n if rowKey.length == 0 and colKey.length == 0\n agg = @allTotal\n else if rowKey.length == 0\n agg = @colTotals[flatColKey]\n else if colKey.length == 0\n agg = @rowTotals[flatRowKey]\n else\n agg = @tree[flatRowKey][flatColKey]\n return agg ? {value: (-> null), format: -> \"\"}\n\n #expose these to the outside world\n $.pivotUtilities = {aggregatorTemplates, aggregators, renderers, derivers, locales,\n naturalSort, numberFormat, sortAs, PivotData}\n\n ###\n Default Renderer for hierarchical table layout\n ###\n\n pivotTableRenderer = (pivotData, opts) ->\n\n defaults =\n table:\n clickCallback: null\n rowTotals: true\n colTotals: true\n localeStrings: totals: \"Totals\"\n\n opts = $.extend(true, {}, defaults, opts)\n\n colAttrs = pivotData.colAttrs\n rowAttrs = pivotData.rowAttrs\n rowKeys = pivotData.getRowKeys()\n colKeys = pivotData.getColKeys()\n\n if opts.table.clickCallback\n getClickHandler = (value, rowValues, colValues) ->\n filters = {}\n filters[attr] = colValues[i] for own i, attr of colAttrs when colValues[i]?\n filters[attr] = rowValues[i] for own i, attr of rowAttrs when rowValues[i]?\n return (e) -> opts.table.clickCallback(e, value, filters, pivotData)\n\n #now actually build the output\n result = document.createElement(\"table\")\n result.className = \"pvtTable\"\n\n #helper function for setting row/col-span in pivotTableRenderer\n spanSize = (arr, i, j) ->\n if i != 0\n noDraw = true\n for x in [0..j]\n if arr[i-1][x] != arr[i][x]\n noDraw = false\n if noDraw\n return -1 #do not draw cell\n len = 0\n while i+len < arr.length\n stop = false\n for x in [0..j]\n stop = true if arr[i][x] != arr[i+len][x]\n break if stop\n len++\n return len\n\n #the first few rows are for col headers\n thead = document.createElement(\"thead\")\n for own j, c of colAttrs\n tr = document.createElement(\"tr\")\n if parseInt(j) == 0 and rowAttrs.length != 0\n th = document.createElement(\"th\")\n th.setAttribute(\"colspan\", rowAttrs.length)\n th.setAttribute(\"rowspan\", colAttrs.length)\n tr.appendChild th\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = c\n tr.appendChild th\n for own i, colKey of colKeys\n x = spanSize(colKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtColLabel\"\n th.textContent = colKey[j]\n th.setAttribute(\"colspan\", x)\n if parseInt(j) == colAttrs.length-1 and rowAttrs.length != 0\n th.setAttribute(\"rowspan\", 2)\n tr.appendChild th\n if parseInt(j) == 0 && opts.table.rowTotals\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"rowspan\", colAttrs.length + (if rowAttrs.length ==0 then 0 else 1))\n tr.appendChild th\n thead.appendChild tr\n\n #then a row for row header headers\n if rowAttrs.length !=0\n tr = document.createElement(\"tr\")\n for own i, r of rowAttrs\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = r\n tr.appendChild th\n th = document.createElement(\"th\")\n if colAttrs.length ==0\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n tr.appendChild th\n thead.appendChild tr\n result.appendChild thead\n\n #now the actual data rows, with their row headers and totals\n tbody = document.createElement(\"tbody\")\n for own i, rowKey of rowKeys\n tr = document.createElement(\"tr\")\n for own j, txt of rowKey\n x = spanSize(rowKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtRowLabel\"\n th.textContent = txt\n th.setAttribute(\"rowspan\", x)\n if parseInt(j) == rowAttrs.length-1 and colAttrs.length !=0\n th.setAttribute(\"colspan\",2)\n tr.appendChild th\n for own j, colKey of colKeys #this is the tight loop\n aggregator = pivotData.getAggregator(rowKey, colKey)\n val = aggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtVal row#{i} col#{j}\"\n td.textContent = aggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, colKey)\n tr.appendChild td\n\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator(rowKey, [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal rowTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, [])\n td.setAttribute(\"data-for\", \"row\"+i)\n tr.appendChild td\n tbody.appendChild tr\n\n #finally, the row for col totals, and a grand total\n if opts.table.colTotals || rowAttrs.length == 0\n tr = document.createElement(\"tr\")\n if opts.table.colTotals || rowAttrs.length == 0\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtColTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"colspan\", rowAttrs.length + (if colAttrs.length == 0 then 0 else 1))\n tr.appendChild th\n for own j, colKey of colKeys\n totalAggregator = pivotData.getAggregator([], colKey)\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal colTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], colKey)\n td.setAttribute(\"data-for\", \"col\"+j)\n tr.appendChild td\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator([], [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtGrandTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], [])\n tr.appendChild td\n tbody.appendChild tr\n result.appendChild tbody\n\n #squirrel this away for later\n result.setAttribute(\"data-numrows\", rowKeys.length)\n result.setAttribute(\"data-numcols\", colKeys.length)\n\n return result\n\n ###\n Pivot Table core: create PivotData object and call Renderer on it\n ###\n\n $.fn.pivot = (input, inputOpts, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n cols : [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n filter: -> true\n aggregator: aggregatorTemplates.count()()\n aggregatorName: \"Count\"\n sorters: {}\n derivedAttributes: {}\n renderer: pivotTableRenderer\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n\n result = null\n try\n pivotData = new opts.dataClass(input, opts)\n try\n result = opts.renderer(pivotData, opts.rendererOptions)\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.renderError\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.computeError\n\n x = this[0]\n x.removeChild(x.lastChild) while x.hasChildNodes()\n return @append result\n\n\n ###\n Pivot Table UI: calls Pivot Table core above with options set by user\n ###\n\n $.fn.pivotUI = (input, inputOpts, overwrite = false, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n derivedAttributes: {}\n aggregators: locales[locale].aggregators\n renderers: locales[locale].renderers\n hiddenAttributes: []\n hiddenFromAggregators: []\n hiddenFromDragDrop: []\n menuLimit: 500\n cols: [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n exclusions: {}\n inclusions: {}\n unusedAttrsVertical: 85\n autoSortUnusedAttrs: false\n onRefresh: null\n showUI: true\n filter: -> true\n sorters: {}\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n existingOpts = @data \"pivotUIOptions\"\n if not existingOpts? or overwrite\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n else\n opts = existingOpts\n\n try\n # do a first pass on the data to cache a materialized copy of any\n # function-valued inputs and to compute dimension cardinalities\n attrValues = {}\n materializedInput = []\n recordsProcessed = 0\n PivotData.forEachRecord input, opts.derivedAttributes, (record) ->\n return unless opts.filter(record)\n materializedInput.push(record)\n for own attr of record\n if not attrValues[attr]?\n attrValues[attr] = {}\n if recordsProcessed > 0\n attrValues[attr][\"null\"] = recordsProcessed\n for attr of attrValues\n value = record[attr] ? \"null\"\n attrValues[attr][value] ?= 0\n attrValues[attr][value]++\n recordsProcessed++\n\n #start building the output\n uiTable = $(\"\", \"class\": \"pvtUi\").attr(\"cellpadding\", 5)\n\n #renderer control\n rendererControl = $(\"\").addClass(\"pvtUiCell\")\n\n renderer = $(\"\")\n .addClass('pvtRenderer')\n .appendTo(rendererControl)\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.renderers\n $(\"\").val(x).html(x).appendTo(renderer)\n\n\n #axis list, including the double-click menu\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell')\n shownAttributes = (a for a of attrValues when a not in opts.hiddenAttributes)\n shownInAggregators = (c for c in shownAttributes when c not in opts.hiddenFromAggregators)\n shownInDragDrop = (c for c in shownAttributes when c not in opts.hiddenFromDragDrop)\n\n\n unusedAttrsVerticalAutoOverride = false\n if opts.unusedAttrsVertical == \"auto\"\n unusedAttrsVerticalAutoCutoff = 120 # legacy support\n else\n unusedAttrsVerticalAutoCutoff = parseInt opts.unusedAttrsVertical\n\n if not isNaN(unusedAttrsVerticalAutoCutoff)\n attrLength = 0\n attrLength += a.length for a in shownInDragDrop\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff\n\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n unused.addClass('pvtVertList')\n else\n unused.addClass('pvtHorizList')\n\n for own i, attr of shownInDragDrop\n do (attr) ->\n values = (v for v of attrValues[attr])\n hasExcludedItem = false\n valueList = $(\"\").addClass('pvtFilterBox').hide()\n\n valueList.append $(\"\").append(\n $(\"\").text(attr),\n $(\"\").addClass(\"count\").text(\"(#{values.length})\"),\n )\n if values.length > opts.menuLimit\n valueList.append $(\"\").html(opts.localeStrings.tooMany)\n else\n if values.length > 5\n controls = $(\"\").appendTo(valueList)\n sorter = getSort(opts.sorters, attr)\n placeholder = opts.localeStrings.filterResults\n $(\"\", {type: \"text\"}).appendTo(controls)\n .attr({placeholder: placeholder, class: \"pvtSearch\"})\n .bind \"keyup\", ->\n filter = $(this).val().toLowerCase().trim()\n accept_gen = (prefix, accepted) -> (v) ->\n real_filter = filter.substring(prefix.length).trim()\n return true if real_filter.length == 0\n return Math.sign(sorter(v.toLowerCase(), real_filter)) in accepted\n accept =\n if filter.indexOf(\">=\") == 0 then accept_gen(\">=\", [1,0])\n else if filter.indexOf(\"<=\") == 0 then accept_gen(\"<=\", [-1,0])\n else if filter.indexOf(\">\") == 0 then accept_gen(\">\", [1])\n else if filter.indexOf(\"<\") == 0 then accept_gen(\"<\", [-1])\n else if filter.indexOf(\"~\") == 0 then (v) ->\n return true if filter.substring(1).trim().length == 0\n v.toLowerCase().match(filter.substring(1))\n else (v) -> v.toLowerCase().indexOf(filter) != -1\n\n valueList.find('.pvtCheckContainer p label span.value').each ->\n if accept($(this).text())\n $(this).parent().parent().show()\n else\n $(this).parent().parent().hide()\n controls.append $(\"\")\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectAll)\n .bind \"click\", ->\n valueList.find(\"input:visible:not(:checked)\")\n .prop(\"checked\", true).toggleClass(\"changed\")\n return false\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectNone)\n .bind \"click\", ->\n valueList.find(\"input:visible:checked\")\n .prop(\"checked\", false).toggleClass(\"changed\")\n return false\n\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList)\n\n for value in values.sort(getSort(opts.sorters, attr))\n valueCount = attrValues[attr][value]\n filterItem = $(\"\")\n filterItemExcluded = false\n if opts.inclusions[attr]\n filterItemExcluded = (value not in opts.inclusions[attr])\n else if opts.exclusions[attr]\n filterItemExcluded = (value in opts.exclusions[attr])\n hasExcludedItem ||= filterItemExcluded\n $(\"\")\n .attr(\"type\", \"checkbox\").addClass('pvtFilter')\n .attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr,value])\n .appendTo(filterItem)\n .bind \"change\", -> $(this).toggleClass(\"changed\")\n filterItem.append $(\"\").addClass(\"value\").text(value)\n filterItem.append $(\"\").addClass(\"count\").text(\"(\"+valueCount+\")\")\n checkContainer.append $(\"\").append(filterItem)\n\n closeFilterBox = ->\n if valueList.find(\"[type='checkbox']\").length >\n valueList.find(\"[type='checkbox']:checked\").length\n attrElem.addClass \"pvtFilteredAttribute\"\n else\n attrElem.removeClass \"pvtFilteredAttribute\"\n\n valueList.find('.pvtSearch').val('')\n valueList.find('.pvtCheckContainer p').show()\n valueList.hide()\n\n finalButtons = $(\"\").appendTo(valueList)\n\n if values.length <= opts.menuLimit\n $(\"\", {type: \"button\"}).text(opts.localeStrings.apply)\n .appendTo(finalButtons).bind \"click\", ->\n if valueList.find(\".changed\").removeClass(\"changed\").length\n refresh()\n closeFilterBox()\n\n $(\"\", {type: \"button\"}).text(opts.localeStrings.cancel)\n .appendTo(finalButtons).bind \"click\", ->\n valueList.find(\".changed:checked\")\n .removeClass(\"changed\").prop(\"checked\", false)\n valueList.find(\".changed:not(:checked)\")\n .removeClass(\"changed\").prop(\"checked\", true)\n closeFilterBox()\n\n triangleLink = $(\"\").addClass('pvtTriangle')\n .html(\" ▾\").bind \"click\", (e) ->\n {left, top} = $(e.currentTarget).position()\n valueList.css(left: left+10, top: top+10).show()\n\n attrElem = $(\"\").addClass(\"axis_#{i}\")\n .append $(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink)\n\n attrElem.addClass('pvtFilteredAttribute') if hasExcludedItem\n unused.append(attrElem).append(valueList)\n\n tr1 = $(\"\").appendTo(uiTable)\n\n #aggregator menu and value area\n\n aggregator = $(\"\").addClass('pvtAggregator')\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.aggregators\n aggregator.append $(\"\").val(x).html(x)\n\n ordering =\n key_a_to_z: {rowSymbol: \"↕\", colSymbol: \"↔\", next: \"value_a_to_z\"}\n value_a_to_z: {rowSymbol: \"↓\", colSymbol: \"→\", next: \"value_z_to_a\"}\n value_z_to_a: {rowSymbol: \"↑\", colSymbol: \"←\", next: \"key_a_to_z\"}\n\n rowOrderArrow = $(\"\", role: \"button\").addClass(\"pvtRowOrder\")\n .data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol)\n refresh()\n\n colOrderArrow = $(\"\", role: \"button\").addClass(\"pvtColOrder\")\n .data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].colSymbol)\n refresh()\n\n $(\"\").addClass('pvtVals pvtUiCell')\n .appendTo(tr1)\n .append(aggregator)\n .append(rowOrderArrow)\n .append(colOrderArrow)\n .append($(\"\"))\n\n #column axes\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1)\n\n tr2 = $(\"\").appendTo(uiTable)\n\n #row axes\n tr2.append $(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\")\n\n #the actual pivot table container\n pivotTable = $(\"\")\n .attr(\"valign\", \"top\")\n .addClass('pvtRendererArea')\n .appendTo(tr2)\n\n #finally the renderer dropdown and unused attribs are inserted at the requested location\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n uiTable.find('tr:nth-child(1)').prepend rendererControl\n uiTable.find('tr:nth-child(2)').prepend unused\n else\n uiTable.prepend $(\"\").append(rendererControl).append(unused)\n\n #render the UI in its default state\n @html uiTable\n\n #set up the UI initial state as requested by moving elements around\n\n for x in opts.cols\n @find(\".pvtCols\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n for x in opts.rows\n @find(\".pvtRows\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n if opts.aggregatorName?\n @find(\".pvtAggregator\").val opts.aggregatorName\n if opts.rendererName?\n @find(\".pvtRenderer\").val opts.rendererName\n\n @find(\".pvtUiCell\").hide() unless opts.showUI\n\n initialRender = true\n\n #set up for refreshing\n refreshDelayed = =>\n subopts =\n derivedAttributes: opts.derivedAttributes\n localeStrings: opts.localeStrings\n rendererOptions: opts.rendererOptions\n sorters: opts.sorters\n cols: [], rows: []\n dataClass: opts.dataClass\n\n numInputsToProcess = opts.aggregators[aggregator.val()]([])().numInputs ? 0\n vals = []\n @find(\".pvtRows li span.pvtAttr\").each -> subopts.rows.push $(this).data(\"attrName\")\n @find(\".pvtCols li span.pvtAttr\").each -> subopts.cols.push $(this).data(\"attrName\")\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n if numInputsToProcess == 0\n $(this).remove()\n else\n numInputsToProcess--\n vals.push $(this).val() if $(this).val() != \"\"\n\n if numInputsToProcess != 0\n pvtVals = @find(\".pvtVals\")\n for x in [0...numInputsToProcess]\n newDropdown = $(\"\")\n .addClass('pvtAttrDropdown')\n .append($(\"\"))\n .bind \"change\", -> refresh()\n for attr in shownInAggregators\n newDropdown.append($(\"\").val(attr).text(attr))\n pvtVals.append(newDropdown)\n\n if initialRender\n vals = opts.vals\n i = 0\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n $(this).val vals[i]\n i++\n initialRender = false\n\n subopts.aggregatorName = aggregator.val()\n subopts.vals = vals\n subopts.aggregator = opts.aggregators[aggregator.val()](vals)\n subopts.renderer = opts.renderers[renderer.val()]\n subopts.rowOrder = rowOrderArrow.data(\"order\")\n subopts.colOrder = colOrderArrow.data(\"order\")\n #construct filter here\n exclusions = {}\n @find('input.pvtFilter').not(':checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n exclusions[filter[0]].push( filter[1] )\n else\n exclusions[filter[0]] = [ filter[1] ]\n #include inclusions when exclusions present\n inclusions = {}\n @find('input.pvtFilter:checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n if inclusions[filter[0]]?\n inclusions[filter[0]].push( filter[1] )\n else\n inclusions[filter[0]] = [ filter[1] ]\n\n subopts.filter = (record) ->\n return false if not opts.filter(record)\n for k,excludedItems of exclusions\n return false if \"\"+(record[k] ? 'null') in excludedItems\n return true\n\n pivotTable.pivot(materializedInput,subopts)\n pivotUIOptions = $.extend {}, opts,\n cols: subopts.cols\n rows: subopts.rows\n colOrder: subopts.colOrder\n rowOrder: subopts.rowOrder\n vals: vals\n exclusions: exclusions\n inclusions: inclusions\n inclusionsInfo: inclusions #duplicated for backwards-compatibility\n aggregatorName: aggregator.val()\n rendererName: renderer.val()\n\n @data \"pivotUIOptions\", pivotUIOptions\n\n # if requested make sure unused columns are in alphabetical order\n if opts.autoSortUnusedAttrs\n unusedAttrsContainer = @find(\"td.pvtUnused.pvtAxisContainer\")\n $(unusedAttrsContainer).children(\"li\")\n .sort((a, b) => naturalSort($(a).text(), $(b).text()))\n .appendTo unusedAttrsContainer\n\n pivotTable.css(\"opacity\", 1)\n opts.onRefresh(pivotUIOptions) if opts.onRefresh?\n\n refresh = =>\n pivotTable.css(\"opacity\", 0.5)\n setTimeout refreshDelayed, 10\n\n #the very first refresh will actually display the table\n refresh()\n\n @find(\".pvtAxisContainer\").sortable\n update: (e, ui) -> refresh() if not ui.sender?\n connectWith: @find(\".pvtAxisContainer\")\n items: 'li'\n placeholder: 'pvtPlaceholder'\n catch e\n console.error(e.stack) if console?\n @html opts.localeStrings.uiRenderError\n return this\n\n ###\n Heatmap post-processing\n ###\n\n $.fn.heatmap = (scope = \"heatmap\", opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n # given a series of values\n # must return a function to map a given value to a CSS color\n colorScaleGenerator = opts?.heatmap?.colorScaleGenerator\n colorScaleGenerator ?= (values) ->\n min = Math.min(values...)\n max = Math.max(values...)\n return (x) ->\n nonRed = 255 - Math.round 255*(x-min)/(max-min)\n return \"rgb(255,#{nonRed},#{nonRed})\"\n\n heatmapper = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n colorScale = colorScaleGenerator(values)\n forEachCell (x, elem) -> elem.css \"background-color\", colorScale(x)\n\n switch scope\n when \"heatmap\" then heatmapper \".pvtVal\"\n when \"rowheatmap\" then heatmapper \".pvtVal.row#{i}\" for i in [0...numRows]\n when \"colheatmap\" then heatmapper \".pvtVal.col#{j}\" for j in [0...numCols]\n\n heatmapper \".pvtTotal.rowTotal\"\n heatmapper \".pvtTotal.colTotal\"\n\n return this\n\n ###\n Barchart post-processing\n ###\n\n $.fn.barchart = (opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n barcharter = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n max = Math.max(values...)\n if max < 0\n max = 0\n range = max;\n min = Math.min(values...)\n if min < 0\n range = max - min\n scaler = (x) -> 100*x/(1.4*range)\n forEachCell (x, elem) ->\n text = elem.text()\n wrapper = $(\"\").css\n \"position\": \"relative\"\n \"height\": \"55px\"\n bgColor = \"gray\"\n bBase = 0\n if min < 0\n bBase = scaler(-min)\n if x < 0\n bBase += scaler(x)\n bgColor = \"darkred\"\n x = -x\n wrapper.append $(\"\").css\n \"position\": \"absolute\"\n \"bottom\": bBase + \"%\"\n \"left\": 0\n \"right\": 0\n \"height\": scaler(x) + \"%\"\n \"background-color\": bgColor\n wrapper.append $(\"\").text(text).css\n \"position\":\"relative\"\n \"padding-left\":\"5px\"\n \"padding-right\":\"5px\"\n\n elem.css(\"padding\": 0,\"padding-top\": \"5px\", \"text-align\": \"center\").html wrapper\n\n barcharter \".pvtVal.row#{i}\" for i in [0...numRows]\n barcharter \".pvtTotal.colTotal\"\n\n return this\n","(function() {\n var callWithJQuery,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },\n slice = [].slice,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n hasProp = {}.hasOwnProperty;\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\n /*\n Utilities\n */\n var PivotData, addSeparators, aggregatorTemplates, aggregators, dayNamesEn, derivers, getSort, locales, mthNamesEn, naturalSort, numberFormat, pivotTableRenderer, rd, renderers, rx, rz, sortAs, usFmt, usFmtInt, usFmtPct, zeroPad;\n addSeparators = function(nStr, thousandsSep, decimalSep) {\n var rgx, x, x1, x2;\n nStr += '';\n x = nStr.split('.');\n x1 = x[0];\n x2 = x.length > 1 ? decimalSep + x[1] : '';\n rgx = /(\\d+)(\\d{3})/;\n while (rgx.test(x1)) {\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2');\n }\n return x1 + x2;\n };\n numberFormat = function(opts) {\n var defaults;\n defaults = {\n digitsAfterDecimal: 2,\n scaler: 1,\n thousandsSep: \",\",\n decimalSep: \".\",\n prefix: \"\",\n suffix: \"\"\n };\n opts = $.extend({}, defaults, opts);\n return function(x) {\n var result;\n if (isNaN(x) || !isFinite(x)) {\n return \"\";\n }\n result = addSeparators((opts.scaler * x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep);\n return \"\" + opts.prefix + result + opts.suffix;\n };\n };\n usFmt = numberFormat();\n usFmtInt = numberFormat({\n digitsAfterDecimal: 0\n });\n usFmtPct = numberFormat({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\"\n });\n aggregatorTemplates = {\n count: function(formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function() {\n return function(data, rowKey, colKey) {\n return {\n count: 0,\n push: function() {\n return this.count++;\n },\n value: function() {\n return this.count;\n },\n format: formatter\n };\n };\n };\n },\n uniques: function(fn, formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n uniq: [],\n push: function(record) {\n var ref;\n if (ref = record[attr], indexOf.call(this.uniq, ref) < 0) {\n return this.uniq.push(record[attr]);\n }\n },\n value: function() {\n return fn(this.uniq);\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n sum: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[attr]))) {\n return this.sum += parseFloat(record[attr]);\n }\n },\n value: function() {\n return this.sum;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n extremes: function(mode, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n val: null,\n sorter: getSort(data != null ? data.sorters : void 0, attr),\n push: function(record) {\n var ref, ref1, ref2, x;\n x = record[attr];\n if (mode === \"min\" || mode === \"max\") {\n x = parseFloat(x);\n if (!isNaN(x)) {\n this.val = Math[mode](x, (ref = this.val) != null ? ref : x);\n }\n }\n if (mode === \"first\") {\n if (this.sorter(x, (ref1 = this.val) != null ? ref1 : x) <= 0) {\n this.val = x;\n }\n }\n if (mode === \"last\") {\n if (this.sorter(x, (ref2 = this.val) != null ? ref2 : x) >= 0) {\n return this.val = x;\n }\n }\n },\n value: function() {\n return this.val;\n },\n format: function(x) {\n if (isNaN(x)) {\n return x;\n } else {\n return formatter(x);\n }\n },\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n quantile: function(q, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n vals: [],\n push: function(record) {\n var x;\n x = parseFloat(record[attr]);\n if (!isNaN(x)) {\n return this.vals.push(x);\n }\n },\n value: function() {\n var i;\n if (this.vals.length === 0) {\n return null;\n }\n this.vals.sort(function(a, b) {\n return a - b;\n });\n i = (this.vals.length - 1) * q;\n return (this.vals[Math.floor(i)] + this.vals[Math.ceil(i)]) / 2.0;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n runningStat: function(mode, ddof, formatter) {\n if (mode == null) {\n mode = \"mean\";\n }\n if (ddof == null) {\n ddof = 1;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n n: 0.0,\n m: 0.0,\n s: 0.0,\n push: function(record) {\n var m_new, x;\n x = parseFloat(record[attr]);\n if (isNaN(x)) {\n return;\n }\n this.n += 1.0;\n if (this.n === 1.0) {\n return this.m = x;\n } else {\n m_new = this.m + (x - this.m) / this.n;\n this.s = this.s + (x - this.m) * (x - m_new);\n return this.m = m_new;\n }\n },\n value: function() {\n if (mode === \"mean\") {\n if (this.n === 0) {\n return 0 / 0;\n } else {\n return this.m;\n }\n }\n if (this.n <= ddof) {\n return 0;\n }\n switch (mode) {\n case \"var\":\n return this.s / (this.n - ddof);\n case \"stdev\":\n return Math.sqrt(this.s / (this.n - ddof));\n }\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sumOverSum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n return this.sumNum / this.sumDenom;\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n sumOverSumBound80: function(upper, formatter) {\n if (upper == null) {\n upper = true;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n var sign;\n sign = upper ? 1 : -1;\n return (0.821187207574908 / this.sumDenom + this.sumNum / this.sumDenom + 1.2815515655446004 * sign * Math.sqrt(0.410593603787454 / (this.sumDenom * this.sumDenom) + (this.sumNum * (1 - this.sumNum / this.sumDenom)) / (this.sumDenom * this.sumDenom))) / (1 + 1.642374415149816 / this.sumDenom);\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n fractionOf: function(wrapped, type, formatter) {\n if (type == null) {\n type = \"total\";\n }\n if (formatter == null) {\n formatter = usFmtPct;\n }\n return function() {\n var x;\n x = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return function(data, rowKey, colKey) {\n return {\n selector: {\n total: [[], []],\n row: [rowKey, []],\n col: [[], colKey]\n }[type],\n inner: wrapped.apply(null, x)(data, rowKey, colKey),\n push: function(record) {\n return this.inner.push(record);\n },\n format: formatter,\n value: function() {\n return this.inner.value() / data.getAggregator.apply(data, this.selector).inner.value();\n },\n numInputs: wrapped.apply(null, x)().numInputs\n };\n };\n };\n }\n };\n aggregatorTemplates.countUnique = function(f) {\n return aggregatorTemplates.uniques((function(x) {\n return x.length;\n }), f);\n };\n aggregatorTemplates.listUnique = function(s) {\n return aggregatorTemplates.uniques((function(x) {\n return x.sort(naturalSort).join(s);\n }), (function(x) {\n return x;\n }));\n };\n aggregatorTemplates.max = function(f) {\n return aggregatorTemplates.extremes('max', f);\n };\n aggregatorTemplates.min = function(f) {\n return aggregatorTemplates.extremes('min', f);\n };\n aggregatorTemplates.first = function(f) {\n return aggregatorTemplates.extremes('first', f);\n };\n aggregatorTemplates.last = function(f) {\n return aggregatorTemplates.extremes('last', f);\n };\n aggregatorTemplates.median = function(f) {\n return aggregatorTemplates.quantile(0.5, f);\n };\n aggregatorTemplates.average = function(f) {\n return aggregatorTemplates.runningStat(\"mean\", 1, f);\n };\n aggregatorTemplates[\"var\"] = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"var\", ddof, f);\n };\n aggregatorTemplates.stdev = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"stdev\", ddof, f);\n };\n aggregators = (function(tpl) {\n return {\n \"Count\": tpl.count(usFmtInt),\n \"Count Unique Values\": tpl.countUnique(usFmtInt),\n \"List Unique Values\": tpl.listUnique(\", \"),\n \"Sum\": tpl.sum(usFmt),\n \"Integer Sum\": tpl.sum(usFmtInt),\n \"Average\": tpl.average(usFmt),\n \"Median\": tpl.median(usFmt),\n \"Sample Variance\": tpl[\"var\"](1, usFmt),\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt),\n \"Minimum\": tpl.min(usFmt),\n \"Maximum\": tpl.max(usFmt),\n \"First\": tpl.first(usFmt),\n \"Last\": tpl.last(usFmt),\n \"Sum over Sum\": tpl.sumOverSum(usFmt),\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt),\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt),\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct),\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct),\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct),\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct),\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct),\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n };\n })(aggregatorTemplates);\n renderers = {\n \"Table\": function(data, opts) {\n return pivotTableRenderer(data, opts);\n },\n \"Table Barchart\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).barchart();\n },\n \"Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts);\n },\n \"Row Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts);\n },\n \"Col Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts);\n }\n };\n locales = {\n en: {\n aggregators: aggregators,\n renderers: renderers,\n localeStrings: {\n renderError: \"An error occurred rendering the PivotTable results.\",\n computeError: \"An error occurred computing the PivotTable results.\",\n uiRenderError: \"An error occurred rendering the PivotTable UI.\",\n selectAll: \"Select All\",\n selectNone: \"Select None\",\n tooMany: \"(too many to list)\",\n filterResults: \"Filter values\",\n apply: \"Apply\",\n cancel: \"Cancel\",\n totals: \"Totals\",\n vs: \"vs\",\n by: \"by\"\n }\n }\n };\n mthNamesEn = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n dayNamesEn = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n zeroPad = function(number) {\n return (\"0\" + number).substr(-2, 2);\n };\n derivers = {\n bin: function(col, binWidth) {\n return function(record) {\n return record[col] - record[col] % binWidth;\n };\n },\n dateFormat: function(col, formatString, utcOutput, mthNames, dayNames) {\n var utc;\n if (utcOutput == null) {\n utcOutput = false;\n }\n if (mthNames == null) {\n mthNames = mthNamesEn;\n }\n if (dayNames == null) {\n dayNames = dayNamesEn;\n }\n utc = utcOutput ? \"UTC\" : \"\";\n return function(record) {\n var date;\n date = new Date(Date.parse(record[col]));\n if (isNaN(date)) {\n return \"\";\n }\n return formatString.replace(/%(.)/g, function(m, p) {\n switch (p) {\n case \"y\":\n return date[\"get\" + utc + \"FullYear\"]();\n case \"m\":\n return zeroPad(date[\"get\" + utc + \"Month\"]() + 1);\n case \"n\":\n return mthNames[date[\"get\" + utc + \"Month\"]()];\n case \"d\":\n return zeroPad(date[\"get\" + utc + \"Date\"]());\n case \"w\":\n return dayNames[date[\"get\" + utc + \"Day\"]()];\n case \"x\":\n return date[\"get\" + utc + \"Day\"]();\n case \"H\":\n return zeroPad(date[\"get\" + utc + \"Hours\"]());\n case \"M\":\n return zeroPad(date[\"get\" + utc + \"Minutes\"]());\n case \"S\":\n return zeroPad(date[\"get\" + utc + \"Seconds\"]());\n default:\n return \"%\" + p;\n }\n });\n };\n }\n };\n rx = /(\\d+)|(\\D+)/g;\n rd = /\\d/;\n rz = /^0/;\n naturalSort = (function(_this) {\n return function(as, bs) {\n var a, a1, b, b1, nas, nbs;\n if ((bs != null) && (as == null)) {\n return -1;\n }\n if ((as != null) && (bs == null)) {\n return 1;\n }\n if (typeof as === \"number\" && isNaN(as)) {\n return -1;\n }\n if (typeof bs === \"number\" && isNaN(bs)) {\n return 1;\n }\n nas = +as;\n nbs = +bs;\n if (nas < nbs) {\n return -1;\n }\n if (nas > nbs) {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs !== \"number\") {\n return -1;\n }\n if (typeof bs === \"number\" && typeof as !== \"number\") {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs === \"number\") {\n return 0;\n }\n if (isNaN(nbs) && !isNaN(nas)) {\n return -1;\n }\n if (isNaN(nas) && !isNaN(nbs)) {\n return 1;\n }\n a = String(as);\n b = String(bs);\n if (a === b) {\n return 0;\n }\n if (!(rd.test(a) && rd.test(b))) {\n return (a > b ? 1 : -1);\n }\n a = a.match(rx);\n b = b.match(rx);\n while (a.length && b.length) {\n a1 = a.shift();\n b1 = b.shift();\n if (a1 !== b1) {\n if (rd.test(a1) && rd.test(b1)) {\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\");\n } else {\n return (a1 > b1 ? 1 : -1);\n }\n }\n }\n return a.length - b.length;\n };\n })(this);\n sortAs = function(order) {\n var i, l_mapping, mapping, x;\n mapping = {};\n l_mapping = {};\n for (i in order) {\n x = order[i];\n mapping[x] = i;\n if (typeof x === \"string\") {\n l_mapping[x.toLowerCase()] = i;\n }\n }\n return function(a, b) {\n if ((mapping[a] != null) && (mapping[b] != null)) {\n return mapping[a] - mapping[b];\n } else if (mapping[a] != null) {\n return -1;\n } else if (mapping[b] != null) {\n return 1;\n } else if ((l_mapping[a] != null) && (l_mapping[b] != null)) {\n return l_mapping[a] - l_mapping[b];\n } else if (l_mapping[a] != null) {\n return -1;\n } else if (l_mapping[b] != null) {\n return 1;\n } else {\n return naturalSort(a, b);\n }\n };\n };\n getSort = function(sorters, attr) {\n var sort;\n if (sorters != null) {\n if ($.isFunction(sorters)) {\n sort = sorters(attr);\n if ($.isFunction(sort)) {\n return sort;\n }\n } else if (sorters[attr] != null) {\n return sorters[attr];\n }\n }\n return naturalSort;\n };\n\n /*\n Data Model class\n */\n PivotData = (function() {\n function PivotData(input, opts) {\n var ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9;\n if (opts == null) {\n opts = {};\n }\n this.getAggregator = bind(this.getAggregator, this);\n this.getRowKeys = bind(this.getRowKeys, this);\n this.getColKeys = bind(this.getColKeys, this);\n this.sortKeys = bind(this.sortKeys, this);\n this.arrSort = bind(this.arrSort, this);\n this.input = input;\n this.aggregator = (ref = opts.aggregator) != null ? ref : aggregatorTemplates.count()();\n this.aggregatorName = (ref1 = opts.aggregatorName) != null ? ref1 : \"Count\";\n this.colAttrs = (ref2 = opts.cols) != null ? ref2 : [];\n this.rowAttrs = (ref3 = opts.rows) != null ? ref3 : [];\n this.valAttrs = (ref4 = opts.vals) != null ? ref4 : [];\n this.sorters = (ref5 = opts.sorters) != null ? ref5 : {};\n this.rowOrder = (ref6 = opts.rowOrder) != null ? ref6 : \"key_a_to_z\";\n this.colOrder = (ref7 = opts.colOrder) != null ? ref7 : \"key_a_to_z\";\n this.derivedAttributes = (ref8 = opts.derivedAttributes) != null ? ref8 : {};\n this.filter = (ref9 = opts.filter) != null ? ref9 : (function() {\n return true;\n });\n this.tree = {};\n this.rowKeys = [];\n this.colKeys = [];\n this.rowTotals = {};\n this.colTotals = {};\n this.allTotal = this.aggregator(this, [], []);\n this.sorted = false;\n PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n if (_this.filter(record)) {\n return _this.processRecord(record);\n }\n };\n })(this));\n }\n\n PivotData.forEachRecord = function(input, derivedAttributes, f) {\n var addRecord, compactRecord, i, j, k, l, len1, record, ref, results, results1, tblCols;\n if ($.isEmptyObject(derivedAttributes)) {\n addRecord = f;\n } else {\n addRecord = function(record) {\n var k, ref, v;\n for (k in derivedAttributes) {\n v = derivedAttributes[k];\n record[k] = (ref = v(record)) != null ? ref : record[k];\n }\n return f(record);\n };\n }\n if ($.isFunction(input)) {\n return input(addRecord);\n } else if ($.isArray(input)) {\n if ($.isArray(input[0])) {\n results = [];\n for (i in input) {\n if (!hasProp.call(input, i)) continue;\n compactRecord = input[i];\n if (!(i > 0)) {\n continue;\n }\n record = {};\n ref = input[0];\n for (j in ref) {\n if (!hasProp.call(ref, j)) continue;\n k = ref[j];\n record[k] = compactRecord[j];\n }\n results.push(addRecord(record));\n }\n return results;\n } else {\n results1 = [];\n for (l = 0, len1 = input.length; l < len1; l++) {\n record = input[l];\n results1.push(addRecord(record));\n }\n return results1;\n }\n } else if (input instanceof $) {\n tblCols = [];\n $(\"thead > tr > th\", input).each(function(i) {\n return tblCols.push($(this).text());\n });\n return $(\"tbody > tr\", input).each(function(i) {\n record = {};\n $(\"td\", this).each(function(j) {\n return record[tblCols[j]] = $(this).text();\n });\n return addRecord(record);\n });\n } else {\n throw new Error(\"unknown input format\");\n }\n };\n\n PivotData.prototype.forEachMatchingRecord = function(criteria, callback) {\n return PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n var k, ref, v;\n if (!_this.filter(record)) {\n return;\n }\n for (k in criteria) {\n v = criteria[k];\n if (v !== ((ref = record[k]) != null ? ref : \"null\")) {\n return;\n }\n }\n return callback(record);\n };\n })(this));\n };\n\n PivotData.prototype.arrSort = function(attrs) {\n var a, sortersArr;\n sortersArr = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = attrs.length; l < len1; l++) {\n a = attrs[l];\n results.push(getSort(this.sorters, a));\n }\n return results;\n }).call(this);\n return function(a, b) {\n var comparison, i, sorter;\n for (i in sortersArr) {\n if (!hasProp.call(sortersArr, i)) continue;\n sorter = sortersArr[i];\n comparison = sorter(a[i], b[i]);\n if (comparison !== 0) {\n return comparison;\n }\n }\n return 0;\n };\n };\n\n PivotData.prototype.sortKeys = function() {\n var v;\n if (!this.sorted) {\n this.sorted = true;\n v = (function(_this) {\n return function(r, c) {\n return _this.getAggregator(r, c).value();\n };\n })(this);\n switch (this.rowOrder) {\n case \"value_a_to_z\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n case \"value_z_to_a\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n default:\n this.rowKeys.sort(this.arrSort(this.rowAttrs));\n }\n switch (this.colOrder) {\n case \"value_a_to_z\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v([], a), v([], b));\n };\n })(this));\n case \"value_z_to_a\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v([], a), v([], b));\n };\n })(this));\n default:\n return this.colKeys.sort(this.arrSort(this.colAttrs));\n }\n }\n };\n\n PivotData.prototype.getColKeys = function() {\n this.sortKeys();\n return this.colKeys;\n };\n\n PivotData.prototype.getRowKeys = function() {\n this.sortKeys();\n return this.rowKeys;\n };\n\n PivotData.prototype.processRecord = function(record) {\n var colKey, flatColKey, flatRowKey, l, len1, len2, n, ref, ref1, ref2, ref3, rowKey, x;\n colKey = [];\n rowKey = [];\n ref = this.colAttrs;\n for (l = 0, len1 = ref.length; l < len1; l++) {\n x = ref[l];\n colKey.push((ref1 = record[x]) != null ? ref1 : \"null\");\n }\n ref2 = this.rowAttrs;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n rowKey.push((ref3 = record[x]) != null ? ref3 : \"null\");\n }\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n this.allTotal.push(record);\n if (rowKey.length !== 0) {\n if (!this.rowTotals[flatRowKey]) {\n this.rowKeys.push(rowKey);\n this.rowTotals[flatRowKey] = this.aggregator(this, rowKey, []);\n }\n this.rowTotals[flatRowKey].push(record);\n }\n if (colKey.length !== 0) {\n if (!this.colTotals[flatColKey]) {\n this.colKeys.push(colKey);\n this.colTotals[flatColKey] = this.aggregator(this, [], colKey);\n }\n this.colTotals[flatColKey].push(record);\n }\n if (colKey.length !== 0 && rowKey.length !== 0) {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n if (!this.tree[flatRowKey][flatColKey]) {\n this.tree[flatRowKey][flatColKey] = this.aggregator(this, rowKey, colKey);\n }\n return this.tree[flatRowKey][flatColKey].push(record);\n }\n };\n\n PivotData.prototype.getAggregator = function(rowKey, colKey) {\n var agg, flatColKey, flatRowKey;\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n if (rowKey.length === 0 && colKey.length === 0) {\n agg = this.allTotal;\n } else if (rowKey.length === 0) {\n agg = this.colTotals[flatColKey];\n } else if (colKey.length === 0) {\n agg = this.rowTotals[flatRowKey];\n } else {\n agg = this.tree[flatRowKey][flatColKey];\n }\n return agg != null ? agg : {\n value: (function() {\n return null;\n }),\n format: function() {\n return \"\";\n }\n };\n };\n\n return PivotData;\n\n })();\n $.pivotUtilities = {\n aggregatorTemplates: aggregatorTemplates,\n aggregators: aggregators,\n renderers: renderers,\n derivers: derivers,\n locales: locales,\n naturalSort: naturalSort,\n numberFormat: numberFormat,\n sortAs: sortAs,\n PivotData: PivotData\n };\n\n /*\n Default Renderer for hierarchical table layout\n */\n pivotTableRenderer = function(pivotData, opts) {\n 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;\n defaults = {\n table: {\n clickCallback: null,\n rowTotals: true,\n colTotals: true\n },\n localeStrings: {\n totals: \"Totals\"\n }\n };\n opts = $.extend(true, {}, defaults, opts);\n colAttrs = pivotData.colAttrs;\n rowAttrs = pivotData.rowAttrs;\n rowKeys = pivotData.getRowKeys();\n colKeys = pivotData.getColKeys();\n if (opts.table.clickCallback) {\n getClickHandler = function(value, rowValues, colValues) {\n var attr, filters, i;\n filters = {};\n for (i in colAttrs) {\n if (!hasProp.call(colAttrs, i)) continue;\n attr = colAttrs[i];\n if (colValues[i] != null) {\n filters[attr] = colValues[i];\n }\n }\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n attr = rowAttrs[i];\n if (rowValues[i] != null) {\n filters[attr] = rowValues[i];\n }\n }\n return function(e) {\n return opts.table.clickCallback(e, value, filters, pivotData);\n };\n };\n }\n result = document.createElement(\"table\");\n result.className = \"pvtTable\";\n spanSize = function(arr, i, j) {\n var l, len, n, noDraw, ref, ref1, stop, x;\n if (i !== 0) {\n noDraw = true;\n for (x = l = 0, ref = j; 0 <= ref ? l <= ref : l >= ref; x = 0 <= ref ? ++l : --l) {\n if (arr[i - 1][x] !== arr[i][x]) {\n noDraw = false;\n }\n }\n if (noDraw) {\n return -1;\n }\n }\n len = 0;\n while (i + len < arr.length) {\n stop = false;\n for (x = n = 0, ref1 = j; 0 <= ref1 ? n <= ref1 : n >= ref1; x = 0 <= ref1 ? ++n : --n) {\n if (arr[i][x] !== arr[i + len][x]) {\n stop = true;\n }\n }\n if (stop) {\n break;\n }\n len++;\n }\n return len;\n };\n thead = document.createElement(\"thead\");\n for (j in colAttrs) {\n if (!hasProp.call(colAttrs, j)) continue;\n c = colAttrs[j];\n tr = document.createElement(\"tr\");\n if (parseInt(j) === 0 && rowAttrs.length !== 0) {\n th = document.createElement(\"th\");\n th.setAttribute(\"colspan\", rowAttrs.length);\n th.setAttribute(\"rowspan\", colAttrs.length);\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = c;\n tr.appendChild(th);\n for (i in colKeys) {\n if (!hasProp.call(colKeys, i)) continue;\n colKey = colKeys[i];\n x = spanSize(colKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtColLabel\";\n th.textContent = colKey[j];\n th.setAttribute(\"colspan\", x);\n if (parseInt(j) === colAttrs.length - 1 && rowAttrs.length !== 0) {\n th.setAttribute(\"rowspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n if (parseInt(j) === 0 && opts.table.rowTotals) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"rowspan\", colAttrs.length + (rowAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n thead.appendChild(tr);\n }\n if (rowAttrs.length !== 0) {\n tr = document.createElement(\"tr\");\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n r = rowAttrs[i];\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = r;\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n if (colAttrs.length === 0) {\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n }\n tr.appendChild(th);\n thead.appendChild(tr);\n }\n result.appendChild(thead);\n tbody = document.createElement(\"tbody\");\n for (i in rowKeys) {\n if (!hasProp.call(rowKeys, i)) continue;\n rowKey = rowKeys[i];\n tr = document.createElement(\"tr\");\n for (j in rowKey) {\n if (!hasProp.call(rowKey, j)) continue;\n txt = rowKey[j];\n x = spanSize(rowKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtRowLabel\";\n th.textContent = txt;\n th.setAttribute(\"rowspan\", x);\n if (parseInt(j) === rowAttrs.length - 1 && colAttrs.length !== 0) {\n th.setAttribute(\"colspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n aggregator = pivotData.getAggregator(rowKey, colKey);\n val = aggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtVal row\" + i + \" col\" + j;\n td.textContent = aggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, colKey);\n }\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator(rowKey, []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal rowTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, []);\n }\n td.setAttribute(\"data-for\", \"row\" + i);\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n if (opts.table.colTotals || rowAttrs.length === 0) {\n tr = document.createElement(\"tr\");\n if (opts.table.colTotals || rowAttrs.length === 0) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtColTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"colspan\", rowAttrs.length + (colAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n totalAggregator = pivotData.getAggregator([], colKey);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal colTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], colKey);\n }\n td.setAttribute(\"data-for\", \"col\" + j);\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator([], []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtGrandTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], []);\n }\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n result.appendChild(tbody);\n result.setAttribute(\"data-numrows\", rowKeys.length);\n result.setAttribute(\"data-numcols\", colKeys.length);\n return result;\n };\n\n /*\n Pivot Table core: create PivotData object and call Renderer on it\n */\n $.fn.pivot = function(input, inputOpts, locale) {\n var defaults, e, localeDefaults, localeStrings, opts, pivotData, result, x;\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n filter: function() {\n return true;\n },\n aggregator: aggregatorTemplates.count()(),\n aggregatorName: \"Count\",\n sorters: {},\n derivedAttributes: {},\n renderer: pivotTableRenderer\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n result = null;\n try {\n pivotData = new opts.dataClass(input, opts);\n try {\n result = opts.renderer(pivotData, opts.rendererOptions);\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.renderError);\n }\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.computeError);\n }\n x = this[0];\n while (x.hasChildNodes()) {\n x.removeChild(x.lastChild);\n }\n return this.append(result);\n };\n\n /*\n Pivot Table UI: calls Pivot Table core above with options set by user\n */\n $.fn.pivotUI = function(input, inputOpts, overwrite, locale) {\n 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;\n if (overwrite == null) {\n overwrite = false;\n }\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n derivedAttributes: {},\n aggregators: locales[locale].aggregators,\n renderers: locales[locale].renderers,\n hiddenAttributes: [],\n hiddenFromAggregators: [],\n hiddenFromDragDrop: [],\n menuLimit: 500,\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n exclusions: {},\n inclusions: {},\n unusedAttrsVertical: 85,\n autoSortUnusedAttrs: false,\n onRefresh: null,\n showUI: true,\n filter: function() {\n return true;\n },\n sorters: {}\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n existingOpts = this.data(\"pivotUIOptions\");\n if ((existingOpts == null) || overwrite) {\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n } else {\n opts = existingOpts;\n }\n try {\n attrValues = {};\n materializedInput = [];\n recordsProcessed = 0;\n PivotData.forEachRecord(input, opts.derivedAttributes, function(record) {\n var attr, base, ref, value;\n if (!opts.filter(record)) {\n return;\n }\n materializedInput.push(record);\n for (attr in record) {\n if (!hasProp.call(record, attr)) continue;\n if (attrValues[attr] == null) {\n attrValues[attr] = {};\n if (recordsProcessed > 0) {\n attrValues[attr][\"null\"] = recordsProcessed;\n }\n }\n }\n for (attr in attrValues) {\n value = (ref = record[attr]) != null ? ref : \"null\";\n if ((base = attrValues[attr])[value] == null) {\n base[value] = 0;\n }\n attrValues[attr][value]++;\n }\n return recordsProcessed++;\n });\n uiTable = $(\"\", {\n \"class\": \"pvtUi\"\n }).attr(\"cellpadding\", 5);\n rendererControl = $(\"\").addClass(\"pvtUiCell\");\n renderer = $(\"\").addClass('pvtRenderer').appendTo(rendererControl).bind(\"change\", function() {\n return refresh();\n });\n ref = opts.renderers;\n for (x in ref) {\n if (!hasProp.call(ref, x)) continue;\n $(\"\").val(x).html(x).appendTo(renderer);\n }\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell');\n shownAttributes = (function() {\n var results;\n results = [];\n for (a in attrValues) {\n if (indexOf.call(opts.hiddenAttributes, a) < 0) {\n results.push(a);\n }\n }\n return results;\n })();\n shownInAggregators = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromAggregators, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n shownInDragDrop = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromDragDrop, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n unusedAttrsVerticalAutoOverride = false;\n if (opts.unusedAttrsVertical === \"auto\") {\n unusedAttrsVerticalAutoCutoff = 120;\n } else {\n unusedAttrsVerticalAutoCutoff = parseInt(opts.unusedAttrsVertical);\n }\n if (!isNaN(unusedAttrsVerticalAutoCutoff)) {\n attrLength = 0;\n for (l = 0, len1 = shownInDragDrop.length; l < len1; l++) {\n a = shownInDragDrop[l];\n attrLength += a.length;\n }\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff;\n }\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n unused.addClass('pvtVertList');\n } else {\n unused.addClass('pvtHorizList');\n }\n fn1 = function(attr) {\n var attrElem, checkContainer, closeFilterBox, controls, filterItem, filterItemExcluded, finalButtons, hasExcludedItem, len2, n, placeholder, ref1, sorter, triangleLink, v, value, valueCount, valueList, values;\n values = (function() {\n var results;\n results = [];\n for (v in attrValues[attr]) {\n results.push(v);\n }\n return results;\n })();\n hasExcludedItem = false;\n valueList = $(\"\").addClass('pvtFilterBox').hide();\n valueList.append($(\"\").append($(\"\").text(attr), $(\"\").addClass(\"count\").text(\"(\" + values.length + \")\")));\n if (values.length > opts.menuLimit) {\n valueList.append($(\"\").html(opts.localeStrings.tooMany));\n } else {\n if (values.length > 5) {\n controls = $(\"\").appendTo(valueList);\n sorter = getSort(opts.sorters, attr);\n placeholder = opts.localeStrings.filterResults;\n $(\"\", {\n type: \"text\"\n }).appendTo(controls).attr({\n placeholder: placeholder,\n \"class\": \"pvtSearch\"\n }).bind(\"keyup\", function() {\n var accept, accept_gen, filter;\n filter = $(this).val().toLowerCase().trim();\n accept_gen = function(prefix, accepted) {\n return function(v) {\n var real_filter, ref1;\n real_filter = filter.substring(prefix.length).trim();\n if (real_filter.length === 0) {\n return true;\n }\n return ref1 = Math.sign(sorter(v.toLowerCase(), real_filter)), indexOf.call(accepted, ref1) >= 0;\n };\n };\n 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) {\n if (filter.substring(1).trim().length === 0) {\n return true;\n }\n return v.toLowerCase().match(filter.substring(1));\n } : function(v) {\n return v.toLowerCase().indexOf(filter) !== -1;\n };\n return valueList.find('.pvtCheckContainer p label span.value').each(function() {\n if (accept($(this).text())) {\n return $(this).parent().parent().show();\n } else {\n return $(this).parent().parent().hide();\n }\n });\n });\n controls.append($(\"\"));\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectAll).bind(\"click\", function() {\n valueList.find(\"input:visible:not(:checked)\").prop(\"checked\", true).toggleClass(\"changed\");\n return false;\n });\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectNone).bind(\"click\", function() {\n valueList.find(\"input:visible:checked\").prop(\"checked\", false).toggleClass(\"changed\");\n return false;\n });\n }\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList);\n ref1 = values.sort(getSort(opts.sorters, attr));\n for (n = 0, len2 = ref1.length; n < len2; n++) {\n value = ref1[n];\n valueCount = attrValues[attr][value];\n filterItem = $(\"\");\n filterItemExcluded = false;\n if (opts.inclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.inclusions[attr], value) < 0);\n } else if (opts.exclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.exclusions[attr], value) >= 0);\n }\n hasExcludedItem || (hasExcludedItem = filterItemExcluded);\n $(\"\").attr(\"type\", \"checkbox\").addClass('pvtFilter').attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr, value]).appendTo(filterItem).bind(\"change\", function() {\n return $(this).toggleClass(\"changed\");\n });\n filterItem.append($(\"\").addClass(\"value\").text(value));\n filterItem.append($(\"\").addClass(\"count\").text(\"(\" + valueCount + \")\"));\n checkContainer.append($(\"\").append(filterItem));\n }\n }\n closeFilterBox = function() {\n if (valueList.find(\"[type='checkbox']\").length > valueList.find(\"[type='checkbox']:checked\").length) {\n attrElem.addClass(\"pvtFilteredAttribute\");\n } else {\n attrElem.removeClass(\"pvtFilteredAttribute\");\n }\n valueList.find('.pvtSearch').val('');\n valueList.find('.pvtCheckContainer p').show();\n return valueList.hide();\n };\n finalButtons = $(\"\").appendTo(valueList);\n if (values.length <= opts.menuLimit) {\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.apply).appendTo(finalButtons).bind(\"click\", function() {\n if (valueList.find(\".changed\").removeClass(\"changed\").length) {\n refresh();\n }\n return closeFilterBox();\n });\n }\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.cancel).appendTo(finalButtons).bind(\"click\", function() {\n valueList.find(\".changed:checked\").removeClass(\"changed\").prop(\"checked\", false);\n valueList.find(\".changed:not(:checked)\").removeClass(\"changed\").prop(\"checked\", true);\n return closeFilterBox();\n });\n triangleLink = $(\"\").addClass('pvtTriangle').html(\" ▾\").bind(\"click\", function(e) {\n var left, ref2, top;\n ref2 = $(e.currentTarget).position(), left = ref2.left, top = ref2.top;\n return valueList.css({\n left: left + 10,\n top: top + 10\n }).show();\n });\n attrElem = $(\"\").addClass(\"axis_\" + i).append($(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink));\n if (hasExcludedItem) {\n attrElem.addClass('pvtFilteredAttribute');\n }\n return unused.append(attrElem).append(valueList);\n };\n for (i in shownInDragDrop) {\n if (!hasProp.call(shownInDragDrop, i)) continue;\n attr = shownInDragDrop[i];\n fn1(attr);\n }\n tr1 = $(\"\").appendTo(uiTable);\n aggregator = $(\"\").addClass('pvtAggregator').bind(\"change\", function() {\n return refresh();\n });\n ref1 = opts.aggregators;\n for (x in ref1) {\n if (!hasProp.call(ref1, x)) continue;\n aggregator.append($(\"\").val(x).html(x));\n }\n ordering = {\n key_a_to_z: {\n rowSymbol: \"↕\",\n colSymbol: \"↔\",\n next: \"value_a_to_z\"\n },\n value_a_to_z: {\n rowSymbol: \"↓\",\n colSymbol: \"→\",\n next: \"value_z_to_a\"\n },\n value_z_to_a: {\n rowSymbol: \"↑\",\n colSymbol: \"←\",\n next: \"key_a_to_z\"\n }\n };\n rowOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtRowOrder\").data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol);\n return refresh();\n });\n colOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtColOrder\").data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].colSymbol);\n return refresh();\n });\n $(\"\").addClass('pvtVals pvtUiCell').appendTo(tr1).append(aggregator).append(rowOrderArrow).append(colOrderArrow).append($(\"\"));\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1);\n tr2 = $(\"\").appendTo(uiTable);\n tr2.append($(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\"));\n pivotTable = $(\"\").attr(\"valign\", \"top\").addClass('pvtRendererArea').appendTo(tr2);\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n uiTable.find('tr:nth-child(1)').prepend(rendererControl);\n uiTable.find('tr:nth-child(2)').prepend(unused);\n } else {\n uiTable.prepend($(\"\").append(rendererControl).append(unused));\n }\n this.html(uiTable);\n ref2 = opts.cols;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n this.find(\".pvtCols\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n ref3 = opts.rows;\n for (o = 0, len3 = ref3.length; o < len3; o++) {\n x = ref3[o];\n this.find(\".pvtRows\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n if (opts.aggregatorName != null) {\n this.find(\".pvtAggregator\").val(opts.aggregatorName);\n }\n if (opts.rendererName != null) {\n this.find(\".pvtRenderer\").val(opts.rendererName);\n }\n if (!opts.showUI) {\n this.find(\".pvtUiCell\").hide();\n }\n initialRender = true;\n refreshDelayed = (function(_this) {\n return function() {\n var exclusions, inclusions, len4, newDropdown, numInputsToProcess, pivotUIOptions, pvtVals, ref4, ref5, subopts, t, u, unusedAttrsContainer, vals;\n subopts = {\n derivedAttributes: opts.derivedAttributes,\n localeStrings: opts.localeStrings,\n rendererOptions: opts.rendererOptions,\n sorters: opts.sorters,\n cols: [],\n rows: [],\n dataClass: opts.dataClass\n };\n numInputsToProcess = (ref4 = opts.aggregators[aggregator.val()]([])().numInputs) != null ? ref4 : 0;\n vals = [];\n _this.find(\".pvtRows li span.pvtAttr\").each(function() {\n return subopts.rows.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtCols li span.pvtAttr\").each(function() {\n return subopts.cols.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n if (numInputsToProcess === 0) {\n return $(this).remove();\n } else {\n numInputsToProcess--;\n if ($(this).val() !== \"\") {\n return vals.push($(this).val());\n }\n }\n });\n if (numInputsToProcess !== 0) {\n pvtVals = _this.find(\".pvtVals\");\n for (x = t = 0, ref5 = numInputsToProcess; 0 <= ref5 ? t < ref5 : t > ref5; x = 0 <= ref5 ? ++t : --t) {\n newDropdown = $(\"\").addClass('pvtAttrDropdown').append($(\"\")).bind(\"change\", function() {\n return refresh();\n });\n for (u = 0, len4 = shownInAggregators.length; u < len4; u++) {\n attr = shownInAggregators[u];\n newDropdown.append($(\"\").val(attr).text(attr));\n }\n pvtVals.append(newDropdown);\n }\n }\n if (initialRender) {\n vals = opts.vals;\n i = 0;\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n $(this).val(vals[i]);\n return i++;\n });\n initialRender = false;\n }\n subopts.aggregatorName = aggregator.val();\n subopts.vals = vals;\n subopts.aggregator = opts.aggregators[aggregator.val()](vals);\n subopts.renderer = opts.renderers[renderer.val()];\n subopts.rowOrder = rowOrderArrow.data(\"order\");\n subopts.colOrder = colOrderArrow.data(\"order\");\n exclusions = {};\n _this.find('input.pvtFilter').not(':checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n return exclusions[filter[0]].push(filter[1]);\n } else {\n return exclusions[filter[0]] = [filter[1]];\n }\n });\n inclusions = {};\n _this.find('input.pvtFilter:checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n if (inclusions[filter[0]] != null) {\n return inclusions[filter[0]].push(filter[1]);\n } else {\n return inclusions[filter[0]] = [filter[1]];\n }\n }\n });\n subopts.filter = function(record) {\n var excludedItems, k, ref6, ref7;\n if (!opts.filter(record)) {\n return false;\n }\n for (k in exclusions) {\n excludedItems = exclusions[k];\n if (ref6 = \"\" + ((ref7 = record[k]) != null ? ref7 : 'null'), indexOf.call(excludedItems, ref6) >= 0) {\n return false;\n }\n }\n return true;\n };\n pivotTable.pivot(materializedInput, subopts);\n pivotUIOptions = $.extend({}, opts, {\n cols: subopts.cols,\n rows: subopts.rows,\n colOrder: subopts.colOrder,\n rowOrder: subopts.rowOrder,\n vals: vals,\n exclusions: exclusions,\n inclusions: inclusions,\n inclusionsInfo: inclusions,\n aggregatorName: aggregator.val(),\n rendererName: renderer.val()\n });\n _this.data(\"pivotUIOptions\", pivotUIOptions);\n if (opts.autoSortUnusedAttrs) {\n unusedAttrsContainer = _this.find(\"td.pvtUnused.pvtAxisContainer\");\n $(unusedAttrsContainer).children(\"li\").sort(function(a, b) {\n return naturalSort($(a).text(), $(b).text());\n }).appendTo(unusedAttrsContainer);\n }\n pivotTable.css(\"opacity\", 1);\n if (opts.onRefresh != null) {\n return opts.onRefresh(pivotUIOptions);\n }\n };\n })(this);\n refresh = (function(_this) {\n return function() {\n pivotTable.css(\"opacity\", 0.5);\n return setTimeout(refreshDelayed, 10);\n };\n })(this);\n refresh();\n this.find(\".pvtAxisContainer\").sortable({\n update: function(e, ui) {\n if (ui.sender == null) {\n return refresh();\n }\n },\n connectWith: this.find(\".pvtAxisContainer\"),\n items: 'li',\n placeholder: 'pvtPlaceholder'\n });\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n this.html(opts.localeStrings.uiRenderError);\n }\n return this;\n };\n\n /*\n Heatmap post-processing\n */\n $.fn.heatmap = function(scope, opts) {\n var colorScaleGenerator, heatmapper, i, j, l, n, numCols, numRows, ref, ref1, ref2;\n if (scope == null) {\n scope = \"heatmap\";\n }\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n colorScaleGenerator = opts != null ? (ref = opts.heatmap) != null ? ref.colorScaleGenerator : void 0 : void 0;\n if (colorScaleGenerator == null) {\n colorScaleGenerator = function(values) {\n var max, min;\n min = Math.min.apply(Math, values);\n max = Math.max.apply(Math, values);\n return function(x) {\n var nonRed;\n nonRed = 255 - Math.round(255 * (x - min) / (max - min));\n return \"rgb(255,\" + nonRed + \",\" + nonRed + \")\";\n };\n };\n }\n heatmapper = (function(_this) {\n return function(scope) {\n var colorScale, forEachCell, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n colorScale = colorScaleGenerator(values);\n return forEachCell(function(x, elem) {\n return elem.css(\"background-color\", colorScale(x));\n });\n };\n })(this);\n switch (scope) {\n case \"heatmap\":\n heatmapper(\".pvtVal\");\n break;\n case \"rowheatmap\":\n for (i = l = 0, ref1 = numRows; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) {\n heatmapper(\".pvtVal.row\" + i);\n }\n break;\n case \"colheatmap\":\n for (j = n = 0, ref2 = numCols; 0 <= ref2 ? n < ref2 : n > ref2; j = 0 <= ref2 ? ++n : --n) {\n heatmapper(\".pvtVal.col\" + j);\n }\n }\n heatmapper(\".pvtTotal.rowTotal\");\n heatmapper(\".pvtTotal.colTotal\");\n return this;\n };\n\n /*\n Barchart post-processing\n */\n return $.fn.barchart = function(opts) {\n var barcharter, i, l, numCols, numRows, ref;\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n barcharter = (function(_this) {\n return function(scope) {\n var forEachCell, max, min, range, scaler, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n max = Math.max.apply(Math, values);\n if (max < 0) {\n max = 0;\n }\n range = max;\n min = Math.min.apply(Math, values);\n if (min < 0) {\n range = max - min;\n }\n scaler = function(x) {\n return 100 * x / (1.4 * range);\n };\n return forEachCell(function(x, elem) {\n var bBase, bgColor, text, wrapper;\n text = elem.text();\n wrapper = $(\"\").css({\n \"position\": \"relative\",\n \"height\": \"55px\"\n });\n bgColor = \"gray\";\n bBase = 0;\n if (min < 0) {\n bBase = scaler(-min);\n }\n if (x < 0) {\n bBase += scaler(x);\n bgColor = \"darkred\";\n x = -x;\n }\n wrapper.append($(\"\").css({\n \"position\": \"absolute\",\n \"bottom\": bBase + \"%\",\n \"left\": 0,\n \"right\": 0,\n \"height\": scaler(x) + \"%\",\n \"background-color\": bgColor\n }));\n wrapper.append($(\"\").text(text).css({\n \"position\": \"relative\",\n \"padding-left\": \"5px\",\n \"padding-right\": \"5px\"\n }));\n return elem.css({\n \"padding\": 0,\n \"padding-top\": \"5px\",\n \"text-align\": \"center\"\n }).html(wrapper);\n });\n };\n })(this);\n for (i = l = 0, ref = numRows; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) {\n barcharter(\".pvtVal.row\" + i);\n }\n barcharter(\".pvtTotal.colTotal\");\n return this;\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.js.map\n"]} \ No newline at end of file diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.js new file mode 100644 index 0000000..ca9a375 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js @@ -0,0 +1,80 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map new file mode 100644 index 0000000..b7c7760 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js index 9dc06ee..a3bcc04 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js @@ -1,2 +1,2 @@ -(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,n,o;return n=e.pivotUtilities.numberFormat,o=e.pivotUtilities.aggregatorTemplates,t=n({thousandsSep:" ",decimalSep:","}),r=n({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),i=n({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:o.count(r),"Aantal unieke waarden":o.countUnique(r),"Lijst unieke waarden":o.listUnique(", "),Som:o.sum(t),"Som van gehele getallen":o.sum(r),Gemiddelde:o.average(t),Minimum:o.min(t),Maximum:o.max(t),"Som over som":o.sumOverSum(t),"80% bovengrens":o.sumOverSumBound80(!0,t),"80% ondergrens":o.sumOverSumBound80(!1,t),"Som in verhouding tot het totaal":o.fractionOf(o.sum(),"total",i),"Som in verhouding tot de rij":o.fractionOf(o.sum(),"row",i),"Som in verhouding tot de kolom":o.fractionOf(o.sum(),"col",i),"Aantal in verhouding tot het totaal":o.fractionOf(o.count(),"total",i),"Aantal in verhouding tot de rij":o.fractionOf(o.count(),"row",i),"Aantal in verhouding tot de kolom":o.fractionOf(o.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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map new file mode 100644 index 0000000..b51dc51 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js b/inst/htmlwidgets/lib/pivottable/pivot.pl.js new file mode 100644 index 0000000..aa4b438 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js @@ -0,0 +1,82 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map new file mode 100644 index 0000000..3eefc10 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pivot.pl.js","sources":["pivot.pl.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 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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map new file mode 100644 index 0000000..14a4b8e --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.js new file mode 100644 index 0000000..b737243 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js @@ -0,0 +1,111 @@ +(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.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": tpl.count(frFmtInt), + "Contagem de Valores únicos": tpl.countUnique(frFmtInt), + "Lista de Valores únicos": tpl.listUnique(", "), + "Soma": tpl.sum(frFmt), + "Soma de Inteiros": tpl.sum(frFmtInt), + "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áximo": tpl.max(frFmt), + "Primeiro": tpl.first(frFmt), + "Último": tpl.last(frFmt), + "Soma sobre Soma": tpl.sumOverSum(frFmt), + "Limite Superior a 80%": tpl.sumOverSumBound80(true, frFmt), + "Limite Inferior a 80%": tpl.sumOverSumBound80(false, frFmt), + "Soma como Fração do Total": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Soma como Fração da Linha": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Soma como Fração da Coluna": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Contagem como Fração do Total": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Contagem como Fração da Linha": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Contagem como Fração da Coluna": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tabela": r["Table"], + "Tabela com Barras": r["Table Barchart"], + "Mapa de Calor": r["Heatmap"], + "Mapa de Calor por Linhas": r["Row Heatmap"], + "Mapa de Calor por Colunas": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.pt.gchart_renderers = { + "Gráfico de Linhas": gcr["Line Chart"], + "Gráfico de Barras": gcr["Bar Chart"], + "Gráfico de Barras Empilhadas": gcr["Stacked Bar Chart"], + "Gráfico de Área": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.pt.d3_renderers = { + "Mapa de Árvore": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.pt.c3_renderers = { + "Gráfico de Linhas": c3r["Line Chart"], + "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; + }); + +}).call(this); + +//# sourceMappingURL=pivot.pt.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map new file mode 100644 index 0000000..72cb981 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js index cf4f356..0f92ea7 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js @@ -1,2 +1,2 @@ -(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,l,n,c;return l=a.pivotUtilities.numberFormat,c=a.pivotUtilities.aggregatorTemplates,n=a.pivotUtilities.renderers,s=a.pivotUtilities.gchart_renderers,r=a.pivotUtilities.d3_renderers,e=a.pivotUtilities.c3_renderers,o=l({thousandsSep:".",decimalSep:","}),i=l({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),t=l({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),"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:n.Table,"Tabela com Barras":n["Table Barchart"],"Mapa de Calor":n.Heatmap,"Mapa de Calor por Linhas":n["Row Heatmap"],"Mapa de Calor por Colunas":n["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map new file mode 100644 index 0000000..cf067a6 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js b/inst/htmlwidgets/lib/pivottable/pivot.ru.js new file mode 100644 index 0000000..ebc556d --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map new file mode 100644 index 0000000..f7fe47f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map new file mode 100644 index 0000000..4ef0db3 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js b/inst/htmlwidgets/lib/pivottable/pivot.sq.js new file mode 100644 index 0000000..080b336 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map new file mode 100644 index 0000000..604860b --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map new file mode 100644 index 0000000..3f6df78 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js b/inst/htmlwidgets/lib/pivottable/pivot.tr.js new file mode 100644 index 0000000..1a95e56 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js @@ -0,0 +1,104 @@ +(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.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ı": tpl.count(frFmtInt), + "Benzersiz değerler sayısı": tpl.countUnique(frFmtInt), + "Benzersiz değerler listesi": tpl.listUnique(", "), + "Toplam": tpl.sum(frFmt), + "Toplam (tam sayı)": tpl.sum(frFmtInt), + "Ortalama": tpl.average(frFmt), + "Min": tpl.min(frFmt), + "Maks": tpl.max(frFmt), + "Miktarların toplamı": tpl.sumOverSum(frFmt), + "%80 daha yüksek": tpl.sumOverSumBound80(true, frFmt), + "%80 daha düşük": tpl.sumOverSumBound80(false, frFmt), + "Toplam oranı (toplam)": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Satır oranı (toplam)": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Sütunun oranı (toplam)": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Toplam oranı (sayı)": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Satır oranı (sayı)": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Sütunun oranı (sayı)": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tablo": r["Table"], + "Tablo (Çubuklar)": r["Table Barchart"], + "İlgi haritası": r["Heatmap"], + "Satır ilgi haritası": r["Row Heatmap"], + "Sütun ilgi haritası": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.tr.gchart_renderers = { + "Çizgi Grafiği": gcr["Line Chart"], + "Bar Grafiği": gcr["Bar Chart"], + "Yığılmış Çubuk Grafik ": gcr["Stacked Bar Chart"], + "Alan Grafiği": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.tr.d3_renderers = { + "Hiyerarşik Alan Grafiği (Treemap)": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.tr.c3_renderers = { + "Çizgi Grafiği": c3r["Line Chart"], + "Bar Grafiği": c3r["Bar Chart"], + "Yığılmış Çubuk Grafik ": c3r["Stacked Bar Chart"], + "Alan Grafiği": c3r["Area Chart"] + }; + } + return $.pivotUtilities.locales.tr; + }); + +}).call(this); + +//# sourceMappingURL=pivot.tr.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map new file mode 100644 index 0000000..3b5dbe0 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map new file mode 100644 index 0000000..90d8eb9 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.js new file mode 100644 index 0000000..5f30fb4 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js @@ -0,0 +1,113 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map new file mode 100644 index 0000000..6810c5f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js index 916fceb..2828cad 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js @@ -1,2 +1,2 @@ -(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,a,l,n,c;return l=e.pivotUtilities.numberFormat,c=e.pivotUtilities.aggregatorTemplates,n=e.pivotUtilities.renderers,a=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,t=e.pivotUtilities.c3_renderers,i=l({thousandsSep:",",decimalSep:"."}),o=l({digitsAfterDecimal:0,thousandsSep:",",decimalSep:"."}),s=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(o),"非重复值的个数":c.countUnique(o),"列出非重复值":c.listUnique(", "),"求和":c.sum(i),"求和后取整":c.sum(o),"平均值":c.average(i),"最小值":c.min(i),"最大值":c.max(i),"两和之比":c.sumOverSum(i),"二项分布:置信度为80%时的区间上限":c.sumOverSumBound80(!0,i),"二项分布:置信度为80%时的区间下限":c.sumOverSumBound80(!1,i),"和在总计中的比例":c.fractionOf(c.sum(),"total",s),"和在行合计中的比例":c.fractionOf(c.sum(),"row",s),"和在列合计中的比例":c.fractionOf(c.sum(),"col",s),"频数在总计中的比例":c.fractionOf(c.count(),"total",s),"频数在行合计中的比例":c.fractionOf(c.count(),"row",s),"频数在列合计中的比例":c.fractionOf(c.count(),"col",s)},renderers:{"表格":n.Table,"表格内柱状图":n["Table Barchart"],"热图":n.Heatmap,"行热图":n["Row Heatmap"],"列热图":n["Col Heatmap"]}},a&&(e.pivotUtilities.locales.zh.gchart_renderers={"折线图(g)":a["Line Chart"],"柱形图(g)":a["Bar Chart"],"堆栈柱形图(g)":a["Stacked Bar Chart"],"面积图(g)":a["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map new file mode 100644 index 0000000..8b30873 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot_spec.js b/inst/htmlwidgets/lib/pivottable/pivot_spec.js new file mode 100644 index 0000000..fadadce --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot_spec.js @@ -0,0 +1,614 @@ +(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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 $("").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 = $("").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 = $("\n \n
\").append(filterItem)\n\n closeFilterBox = ->\n if valueList.find(\"[type='checkbox']\").length >\n valueList.find(\"[type='checkbox']:checked\").length\n attrElem.addClass \"pvtFilteredAttribute\"\n else\n attrElem.removeClass \"pvtFilteredAttribute\"\n\n valueList.find('.pvtSearch').val('')\n valueList.find('.pvtCheckContainer p').show()\n valueList.hide()\n\n finalButtons = $(\"
\").appendTo(valueList)\n\n if values.length <= opts.menuLimit\n $(\"\", {type: \"button\"}).text(opts.localeStrings.apply)\n .appendTo(finalButtons).bind \"click\", ->\n if valueList.find(\".changed\").removeClass(\"changed\").length\n refresh()\n closeFilterBox()\n\n $(\"\", {type: \"button\"}).text(opts.localeStrings.cancel)\n .appendTo(finalButtons).bind \"click\", ->\n valueList.find(\".changed:checked\")\n .removeClass(\"changed\").prop(\"checked\", false)\n valueList.find(\".changed:not(:checked)\")\n .removeClass(\"changed\").prop(\"checked\", true)\n closeFilterBox()\n\n triangleLink = $(\"\").addClass('pvtTriangle')\n .html(\" ▾\").bind \"click\", (e) ->\n {left, top} = $(e.currentTarget).position()\n valueList.css(left: left+10, top: top+10).show()\n\n attrElem = $(\"\").addClass(\"axis_#{i}\")\n .append $(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink)\n\n attrElem.addClass('pvtFilteredAttribute') if hasExcludedItem\n unused.append(attrElem).append(valueList)\n\n tr1 = $(\"\").appendTo(uiTable)\n\n #aggregator menu and value area\n\n aggregator = $(\"\").addClass('pvtAggregator')\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.aggregators\n aggregator.append $(\"\").val(x).html(x)\n\n ordering =\n key_a_to_z: {rowSymbol: \"↕\", colSymbol: \"↔\", next: \"value_a_to_z\"}\n value_a_to_z: {rowSymbol: \"↓\", colSymbol: \"→\", next: \"value_z_to_a\"}\n value_z_to_a: {rowSymbol: \"↑\", colSymbol: \"←\", next: \"key_a_to_z\"}\n\n rowOrderArrow = $(\"\", role: \"button\").addClass(\"pvtRowOrder\")\n .data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol)\n refresh()\n\n colOrderArrow = $(\"\", role: \"button\").addClass(\"pvtColOrder\")\n .data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].colSymbol)\n refresh()\n\n $(\"\").addClass('pvtVals pvtUiCell')\n .appendTo(tr1)\n .append(aggregator)\n .append(rowOrderArrow)\n .append(colOrderArrow)\n .append($(\"\"))\n\n #column axes\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1)\n\n tr2 = $(\"\").appendTo(uiTable)\n\n #row axes\n tr2.append $(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\")\n\n #the actual pivot table container\n pivotTable = $(\"\")\n .attr(\"valign\", \"top\")\n .addClass('pvtRendererArea')\n .appendTo(tr2)\n\n #finally the renderer dropdown and unused attribs are inserted at the requested location\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n uiTable.find('tr:nth-child(1)').prepend rendererControl\n uiTable.find('tr:nth-child(2)').prepend unused\n else\n uiTable.prepend $(\"\").append(rendererControl).append(unused)\n\n #render the UI in its default state\n @html uiTable\n\n #set up the UI initial state as requested by moving elements around\n\n for x in opts.cols\n @find(\".pvtCols\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n for x in opts.rows\n @find(\".pvtRows\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n if opts.aggregatorName?\n @find(\".pvtAggregator\").val opts.aggregatorName\n if opts.rendererName?\n @find(\".pvtRenderer\").val opts.rendererName\n\n @find(\".pvtUiCell\").hide() unless opts.showUI\n\n initialRender = true\n\n #set up for refreshing\n refreshDelayed = =>\n subopts =\n derivedAttributes: opts.derivedAttributes\n localeStrings: opts.localeStrings\n rendererOptions: opts.rendererOptions\n sorters: opts.sorters\n cols: [], rows: []\n dataClass: opts.dataClass\n\n numInputsToProcess = opts.aggregators[aggregator.val()]([])().numInputs ? 0\n vals = []\n @find(\".pvtRows li span.pvtAttr\").each -> subopts.rows.push $(this).data(\"attrName\")\n @find(\".pvtCols li span.pvtAttr\").each -> subopts.cols.push $(this).data(\"attrName\")\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n if numInputsToProcess == 0\n $(this).remove()\n else\n numInputsToProcess--\n vals.push $(this).val() if $(this).val() != \"\"\n\n if numInputsToProcess != 0\n pvtVals = @find(\".pvtVals\")\n for x in [0...numInputsToProcess]\n newDropdown = $(\"\")\n .addClass('pvtAttrDropdown')\n .append($(\"\"))\n .bind \"change\", -> refresh()\n for attr in shownInAggregators\n newDropdown.append($(\"\").val(attr).text(attr))\n pvtVals.append(newDropdown)\n\n if initialRender\n vals = opts.vals\n i = 0\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n $(this).val vals[i]\n i++\n initialRender = false\n\n subopts.aggregatorName = aggregator.val()\n subopts.vals = vals\n subopts.aggregator = opts.aggregators[aggregator.val()](vals)\n subopts.renderer = opts.renderers[renderer.val()]\n subopts.rowOrder = rowOrderArrow.data(\"order\")\n subopts.colOrder = colOrderArrow.data(\"order\")\n #construct filter here\n exclusions = {}\n @find('input.pvtFilter').not(':checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n exclusions[filter[0]].push( filter[1] )\n else\n exclusions[filter[0]] = [ filter[1] ]\n #include inclusions when exclusions present\n inclusions = {}\n @find('input.pvtFilter:checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n if inclusions[filter[0]]?\n inclusions[filter[0]].push( filter[1] )\n else\n inclusions[filter[0]] = [ filter[1] ]\n\n subopts.filter = (record) ->\n return false if not opts.filter(record)\n for k,excludedItems of exclusions\n return false if \"\"+(record[k] ? 'null') in excludedItems\n return true\n\n pivotTable.pivot(materializedInput,subopts)\n pivotUIOptions = $.extend {}, opts,\n cols: subopts.cols\n rows: subopts.rows\n colOrder: subopts.colOrder\n rowOrder: subopts.rowOrder\n vals: vals\n exclusions: exclusions\n inclusions: inclusions\n inclusionsInfo: inclusions #duplicated for backwards-compatibility\n aggregatorName: aggregator.val()\n rendererName: renderer.val()\n\n @data \"pivotUIOptions\", pivotUIOptions\n\n # if requested make sure unused columns are in alphabetical order\n if opts.autoSortUnusedAttrs\n unusedAttrsContainer = @find(\"td.pvtUnused.pvtAxisContainer\")\n $(unusedAttrsContainer).children(\"li\")\n .sort((a, b) => naturalSort($(a).text(), $(b).text()))\n .appendTo unusedAttrsContainer\n\n pivotTable.css(\"opacity\", 1)\n opts.onRefresh(pivotUIOptions) if opts.onRefresh?\n\n refresh = =>\n pivotTable.css(\"opacity\", 0.5)\n setTimeout refreshDelayed, 10\n\n #the very first refresh will actually display the table\n refresh()\n\n @find(\".pvtAxisContainer\").sortable\n update: (e, ui) -> refresh() if not ui.sender?\n connectWith: @find(\".pvtAxisContainer\")\n items: 'li'\n placeholder: 'pvtPlaceholder'\n catch e\n console.error(e.stack) if console?\n @html opts.localeStrings.uiRenderError\n return this\n\n ###\n Heatmap post-processing\n ###\n\n $.fn.heatmap = (scope = \"heatmap\", opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n # given a series of values\n # must return a function to map a given value to a CSS color\n colorScaleGenerator = opts?.heatmap?.colorScaleGenerator\n colorScaleGenerator ?= (values) ->\n min = Math.min(values...)\n max = Math.max(values...)\n return (x) ->\n nonRed = 255 - Math.round 255*(x-min)/(max-min)\n return \"rgb(255,#{nonRed},#{nonRed})\"\n\n heatmapper = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n colorScale = colorScaleGenerator(values)\n forEachCell (x, elem) -> elem.css \"background-color\", colorScale(x)\n\n switch scope\n when \"heatmap\" then heatmapper \".pvtVal\"\n when \"rowheatmap\" then heatmapper \".pvtVal.row#{i}\" for i in [0...numRows]\n when \"colheatmap\" then heatmapper \".pvtVal.col#{j}\" for j in [0...numCols]\n\n heatmapper \".pvtTotal.rowTotal\"\n heatmapper \".pvtTotal.colTotal\"\n\n return this\n\n ###\n Barchart post-processing\n ###\n\n $.fn.barchart = (opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n barcharter = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n max = Math.max(values...)\n if max < 0\n max = 0\n range = max;\n min = Math.min(values...)\n if min < 0\n range = max - min\n scaler = (x) -> 100*x/(1.4*range)\n forEachCell (x, elem) ->\n text = elem.text()\n wrapper = $(\"\").css\n \"position\": \"relative\"\n \"height\": \"55px\"\n bgColor = \"gray\"\n bBase = 0\n if min < 0\n bBase = scaler(-min)\n if x < 0\n bBase += scaler(x)\n bgColor = \"darkred\"\n x = -x\n wrapper.append $(\"\").css\n \"position\": \"absolute\"\n \"bottom\": bBase + \"%\"\n \"left\": 0\n \"right\": 0\n \"height\": scaler(x) + \"%\"\n \"background-color\": bgColor\n wrapper.append $(\"\").text(text).css\n \"position\":\"relative\"\n \"padding-left\":\"5px\"\n \"padding-right\":\"5px\"\n\n elem.css(\"padding\": 0,\"padding-top\": \"5px\", \"text-align\": \"center\").html wrapper\n\n barcharter \".pvtVal.row#{i}\" for i in [0...numRows]\n barcharter \".pvtTotal.colTotal\"\n\n return this\n"]} \ No newline at end of file diff --git a/inst/htmlwidgets/lib/pivottable/pivot.min.js b/inst/htmlwidgets/lib/pivottable/pivot.min.js index 78f9401..b79a65a 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.min.js @@ -1,2 +1,2 @@ -(function(){var t,e=[].indexOf||function(t){for(var e=0,n=this.length;e1?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,il)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 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=l;c=0<=l?++r:--r)t[e-1][c]!==t[e][c]&&(i=!1);if(i)return-1}for(a=0;e+a=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)&&(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));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)}S=document.createElement("tr"),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));return 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),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("").html(c.localeStrings.renderError)}}catch(m){i=m,"undefined"!=typeof console&&null!==console&&console.error(i.stack),p=t("").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,L,I,K,q,z,U,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,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=[],I=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]={},I>0&&(m[e]["null"]=I));for(e in m)o=null!=(r=t[e])?r:"null",null==(n=m[e])[o]&&(n[o]=0),m[e][o]++;return I++}}),Y=t("",{"class":"pvtUi"}).attr("cellpadding",5),B=t(""),H=t("").addClass("pvtRenderer").appendTo(B).bind("change",function(){return V()}),K=M.renderers;for(et in K)a.call(K,et)&&t("").val(et).html(et).appendTo(H);if(X=t("").addClass("pvtAxisContainer pvtUnused"),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;tZ}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("").addClass("pvtFilterBox").hide(),x.append(t("").append(t("").text(n),t("").addClass("count").text("("+S.length+")"))),S.length>M.menuLimit)x.append(t("").html(M.localeStrings.tooMany));else for(S.length>5&&(i=t("").appendTo(x),v=h(M.sorters,n),f=M.localeStrings.filterResults,t("",{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("")),t("",{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("",{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("").addClass("pvtCheckContainer").appendTo(x),g=S.sort(h(M.sorters,n)),p=0,d=g.length;p"),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("").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("").addClass("value").text(y)),l.append(t("").addClass("count").text("("+w+")")),a.append(t("").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("").appendTo(x),S.length<=M.menuLimit&&t("",{type:"button"}).text(M.localeStrings.apply).appendTo(u).bind("click",function(){return x.find(".changed").removeClass("changed").length&&V(),o()}),t("",{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("").addClass("pvtTriangle").html(" ▾").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("").addClass("axis_"+A).append(t("").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("").appendTo(Y),u=t("").addClass("pvtAggregator").bind("change",function(){return V()}),q=M.aggregators;for(et in q)a.call(q,et)&&u.append(t("").val(et).html(et));for(R={key_a_to_z:{rowSymbol:"↕",colSymbol:"↔",next:"value_a_to_z"},value_a_to_z:{rowSymbol:"↓",colSymbol:"→",next:"value_z_to_a"},value_z_to_a:{rowSymbol:"↑",colSymbol:"←",next:"key_a_to_z"}},P=t("",{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("",{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("").addClass("pvtVals").appendTo($).append(u).append(P).append(v).append(t("")),t("").addClass("pvtAxisContainer pvtHorizList pvtCols").appendTo($),Q=t("").appendTo(Y),Q.append(t("").addClass("pvtAxisContainer pvtRows").attr("valign","top")),L=t("").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("").append(B).append(X)),this.html(Y),z=M.cols,D=0,T=z.length;Dp;et=0<=p?++g:--g){for(i=t("").addClass("pvtAttrDropdown").append(t("")).bind("change",function(){return V()}),b=0,o=G.length;b").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},L.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)),L.css("opacity",1),null!=M.onRefresh)return M.onRefresh(s)}}(this),V=function(t){return function(){return L.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?ld;o=0<=d?++l:--l)a(".pvtVal.row"+o);break;case"colheatmap":for(i=s=0,p=u;0<=p?sp;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("").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("").css({position:"absolute",bottom:r+"%",left:0,right:0,height:l(e)+"%","background-color":a})),s.append(t("").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?al;r=0<=l?++a:--a)n(".pvtVal.row"+r);return n(".pvtTotal.colTotal"),this}})}).call(this); +(function(){var t,e=[].indexOf||function(t){for(var e=0,n=this.length;e1?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,il)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 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=l;c=0<=l?++r:--r)t[e-1][c]!==t[e][c]&&(i=!1);if(i)return-1}for(a=0;e+a=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("").html(c.localeStrings.renderError)}}catch(m){i=m,"undefined"!=typeof console&&null!==console&&console.error(i.stack),p=t("").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("",{"class":"pvtUi"}).attr("cellpadding",5),B=t("").addClass("pvtUiCell"),H=t("").addClass("pvtRenderer").appendTo(B).bind("change",function(){return V()}),U=M.renderers;for(et in U)a.call(U,et)&&t("").val(et).html(et).appendTo(H);if(X=t("").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;tZ}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("").addClass("pvtFilterBox").hide(),x.append(t("").append(t("").text(n),t("").addClass("count").text("("+S.length+")"))),S.length>M.menuLimit)x.append(t("").html(M.localeStrings.tooMany));else for(S.length>5&&(i=t("").appendTo(x),v=h(M.sorters,n),f=M.localeStrings.filterResults,t("",{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("")),t("",{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("",{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("").addClass("pvtCheckContainer").appendTo(x),g=S.sort(h(M.sorters,n)),p=0,d=g.length;p"),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("").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("").addClass("value").text(y)),l.append(t("").addClass("count").text("("+w+")")),a.append(t("").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("").appendTo(x),S.length<=M.menuLimit&&t("",{type:"button"}).text(M.localeStrings.apply).appendTo(u).bind("click",function(){return x.find(".changed").removeClass("changed").length&&V(),o()}),t("",{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("").addClass("pvtTriangle").html(" ▾").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("").addClass("axis_"+A).append(t("").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("").appendTo(Y),u=t("").addClass("pvtAggregator").bind("change",function(){return V()}),K=M.aggregators;for(et in K)a.call(K,et)&&u.append(t("").val(et).html(et));for(R={key_a_to_z:{rowSymbol:"↕",colSymbol:"↔",next:"value_a_to_z"},value_a_to_z:{rowSymbol:"↓",colSymbol:"→",next:"value_z_to_a"},value_z_to_a:{rowSymbol:"↑",colSymbol:"←",next:"key_a_to_z"}},P=t("",{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("",{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("").addClass("pvtVals pvtUiCell").appendTo($).append(u).append(P).append(v).append(t("")),t("").addClass("pvtAxisContainer pvtHorizList pvtCols pvtUiCell").appendTo($),Q=t("").appendTo(Y),Q.append(t("").addClass("pvtAxisContainer pvtRows pvtUiCell").attr("valign","top")),I=t("").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("").append(B).append(X)),this.html(Y),q=M.cols,D=0,T=q.length;Dp;et=0<=p?++g:--g){for(i=t("").addClass("pvtAttrDropdown").append(t("")).bind("change",function(){return V()}),b=0,o=G.length;b").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?ld;o=0<=d?++l:--l)a(".pvtVal.row"+o);break;case"colheatmap":for(i=s=0,p=u;0<=p?sp;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("").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("").css({position:"absolute",bottom:r+"%",left:0,right:0,height:l(e)+"%","background-color":a})),s.append(t("").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?al;r=0<=l?++a:--a)n(".pvtVal.row"+r);return n(".pvtTotal.colTotal"),this}})}).call(this); //# sourceMappingURL=pivot.min.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.min.js.map new file mode 100644 index 0000000..acf3957 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["pivot.coffee","pivot.min.js"],"names":["callWithJQuery","indexOf","item","i","l","this","length","slice","bind","fn","me","apply","arguments","hasProp","hasOwnProperty","pivotModule","exports","module","require","define","amd","jQuery","$","PivotData","addSeparators","aggregatorTemplates","aggregators","dayNamesEn","derivers","getSort","locales","mthNamesEn","naturalSort","numberFormat","pivotTableRenderer","rd","renderers","rx","rz","sortAs","usFmt","usFmtInt","usFmtPct","zeroPad","nStr","thousandsSep","decimalSep","rgx","x","x1","x2","split","test","replace","opts","defaults","digitsAfterDecimal","scaler","prefix","suffix","extend","result","isNaN","isFinite","toFixed","count","formatter","data","rowKey","colKey","push","value","format","uniques","arg","attr","uniq","record","ref","call","numInputs","sum","parseFloat","extremes","mode","val","sorter","sorters","ref1","ref2","Math","quantile","q","vals","sort","a","b","floor","ceil","runningStat","ddof","n","m","s","m_new","sqrt","sumOverSum","denom","num","sumNum","sumDenom","sumOverSumBound80","upper","sign","fractionOf","wrapped","type","selector","total","row","col","inner","getAggregator","countUnique","f","listUnique","join","max","min","first","last","median","average","stdev","tpl","Count","Count Unique Values","List Unique Values","Sum","Integer Sum","Average","Median","Sample Variance","Sample Standard Deviation","Minimum","Maximum","First","Last","Sum over Sum","80% Upper Bound","80% Lower Bound","Sum as Fraction of Total","Sum as Fraction of Rows","Sum as Fraction of Columns","Count as Fraction of Total","Count as Fraction of Rows","Count as Fraction of Columns","Table","Table Barchart","barchart","Heatmap","heatmap","Row Heatmap","Col Heatmap","en","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","cancel","totals","vs","by","number","substr","bin","binWidth","dateFormat","formatString","utcOutput","mthNames","dayNames","utc","date","Date","parse","p","_this","as","bs","a1","b1","nas","nbs","String","match","shift","order","l_mapping","mapping","toLowerCase","isFunction","input","ref3","ref4","ref5","ref6","ref7","ref8","ref9","getRowKeys","getColKeys","sortKeys","arrSort","aggregator","aggregatorName","colAttrs","cols","rowAttrs","rows","valAttrs","rowOrder","colOrder","derivedAttributes","filter","tree","rowKeys","colKeys","rowTotals","colTotals","allTotal","sorted","forEachRecord","processRecord","addRecord","compactRecord","j","k","len1","results","results1","tblCols","isEmptyObject","v","isArray","each","text","Error","prototype","forEachMatchingRecord","criteria","callback","attrs","sortersArr","comparison","r","c","flatColKey","flatRowKey","len2","fromCharCode","agg","pivotUtilities","pivotData","getClickHandler","spanSize","tbody","td","th","thead","totalAggregator","tr","txt","table","clickCallback","rowValues","colValues","filters","e","document","createElement","className","arr","len","noDraw","stop","parseInt","setAttribute","appendChild","textContent","innerHTML","onclick","pivot","inputOpts","locale","localeDefaults","dataClass","renderer","rendererOptions","error","console","stack","html","hasChildNodes","removeChild","lastChild","append","pivotUI","overwrite","attrLength","attrValues","colOrderArrow","existingOpts","fn1","initialRender","len3","materializedInput","o","ordering","pivotTable","recordsProcessed","refresh","refreshDelayed","rendererControl","rowOrderArrow","shownAttributes","shownInAggregators","shownInDragDrop","tr1","tr2","uiTable","unused","unusedAttrsVerticalAutoCutoff","unusedAttrsVerticalAutoOverride","hiddenAttributes","hiddenFromAggregators","hiddenFromDragDrop","menuLimit","exclusions","inclusions","unusedAttrsVertical","autoSortUnusedAttrs","onRefresh","showUI","base","class","addClass","appendTo","attrElem","checkContainer","closeFilterBox","controls","filterItem","filterItemExcluded","finalButtons","hasExcludedItem","placeholder","triangleLink","valueCount","valueList","values","hide","accept","accept_gen","trim","accepted","real_filter","substring","find","parent","show","prop","toggleClass","removeClass","left","top","currentTarget","position","css","key_a_to_z","rowSymbol","colSymbol","next","value_a_to_z","value_z_to_a","role","prepend","inArray","rendererName","len4","newDropdown","numInputsToProcess","pivotUIOptions","pvtVals","subopts","t","u","unusedAttrsContainer","remove","not","excludedItems","inclusionsInfo","children","setTimeout","sortable","update","ui","sender","connectWith","items","scope","colorScaleGenerator","heatmapper","numCols","numRows","nonRed","round","colorScale","forEachCell","elem","barcharter","range","bBase","bgColor","wrapper","height","bottom","right","background-color","padding-left","padding-right","padding","padding-top","text-align"],"mappings":"CAAA,WAAA,GAAAA,GAAAC,KAAAA,SAAA,SAAAC,GAAA,IAAA,GAAAC,GAAA,EAAAC,EAAAC,KAAAC,OAAAH,EAAAC,EAAAD,IAAA,GAAAA,IAAAE,OAAAA,KAAAF,KAAAD,EAAA,MAAAC,EAAA,WCGII,KAAWA,MACXC,EAAO,SAASC,EAAIC,GAAK,MAAO,YAAY,MAAOD,GAAGE,MAAMD,EAAIE,aAChEC,KAAaC,gBDLjBd,EAAiB,SAACe,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GAEZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CCmtDA,OD/sDAnB,GAAgB,SAACoB,EAAMC,EAAcC,GACjC,GAAAC,GAAAC,EAAAC,EAAAC,CAKiD,KALjDN,GAAQ,GACRI,EAAIJ,EAAKO,MAAM,KACfF,EAAKD,EAAE,GACPE,EAAQF,EAAE1C,OAAS,EAAQwC,EAAaE,EAAE,GAAQ,GAClDD,EAAM,eACiDA,EAAIK,KAAKH,IAAhEA,EAAKA,EAAGI,QAAQN,EAAK,KAAOF,EAAe,KAC3C,OAAOI,GAAKC,GAEhBjB,EAAe,SAACqB,GACZ,GAAAC,ECqBF,ODrBEA,IACIC,mBAAoB,EAAGC,OAAQ,EAC/BZ,aAAc,IAAKC,WAAY,IAC/BY,OAAQ,GAAIC,OAAQ,IACxBL,EAAOhC,EAAEsC,UAAWL,EAAUD,GAC9B,SAACN,GACG,GAAAa,EAAA,OAAaC,OAAMd,KAAUe,SAASf,GAA/B,IACPa,EAASrC,GAAe8B,EAAKG,OAAOT,GAAGgB,QAAQV,EAAKE,oBAAqBF,EAAKT,aAAcS,EAAKR,YAC1F,GAAGQ,EAAKI,OAAOG,EAAOP,EAAKK,UAG1CnB,EAAQP,IACRQ,EAAWR,GAAauB,mBAAoB,IAC5Cd,EAAWT,GAAauB,mBAAmB,EAAGC,OAAQ,IAAKE,OAAQ,MAEnElC,GACIwC,MAAO,SAACC,GC4BR,MAHiB,OAAbA,IDzBIA,EAAUzB,GAAa,WC6B7B,MD7BmC,UAAC0B,EAAMC,EAAQC,GC8BhD,OD7BAJ,MAAO,EACPK,KAAO,WC+BH,MD/BMjE,MAAC4D,SACXM,MAAO,WCiCH,MDjCMlE,MAAC4D,OACXO,OAAQN,MAEZO,QAAS,SAAChE,EAAIyD,GCyCd,MAHiB,OAAbA,IDtCUA,EAAUzB,GAAa,SAACiC,GAAW,GAAAC,EC4C/C,OD5CqCA,GAADD,EAAA,GAAW,SAACP,EAAMC,EAAQC,GC6C5D,OD5CAO,QACAN,KAAM,SAACO,GAAW,GAAAC,EAAA,IAAAA,EAA4BD,EAAOF,GAAP1E,EAAA8E,KAAoB1E,KAACuE,KAArBE,GAAA,ECgDxC,MDhDYzE,MAACuE,KAAKN,KAAKO,EAAOF,KACpCJ,MAAO,WCmDH,MDnDM9D,GAAGJ,KAACuE,OACdJ,OAAQN,EACRc,UAAc,MAAAL,EAAW,EAAO,MAEpCM,IAAK,SAACf,GC2DN,MAHiB,OAAbA,IDxDEA,EAAU1B,GAAU,SAACkC,GAAW,GAAAC,EC8DpC,OD9D0BA,GAADD,EAAA,GAAW,SAACP,EAAMC,EAAQC,GC+DjD,OD9DAY,IAAK,EACLX,KAAM,SAACO,GAAW,IAAwCf,MAAMoB,WAAWL,EAAOF,KCiE5E,MDjEYtE,MAAC4E,KAAOC,WAAWL,EAAOF,KAC5CJ,MAAO,WCoEH,MDpEMlE,MAAC4E,KACXT,OAAQN,EACRc,UAAc,MAAAL,EAAW,EAAO,MAEpCQ,SAAU,SAACC,EAAMlB,GC4EjB,MAHiB,OAAbA,IDzEaA,EAAU1B,GAAU,SAACkC,GAAW,GAAAC,EC+E/C,OD/EqCA,GAADD,EAAA,GAAW,SAACP,EAAMC,EAAQC,GCgF5D,OD/EAgB,IAAK,KACLC,OAAQzD,EAAA,MAAAsC,EAAQA,EAAMoB,QAAA,OAASZ,GAC/BL,KAAM,SAACO,GACH,GAAAC,GAAAU,EAAAC,EAAAzC,CAKA,IALAA,EAAI6B,EAAOF,GACC,QAATS,GAAgB,QAAhBA,IACCpC,EAAIkC,WAAWlC,GACRc,MAAMd,KAAO3C,KAACgF,IAAMK,KAAKN,GAAMpC,EAAX,OAAA8B,EAAAzE,KAAAgF,KAAAP,EAAqB9B,KACzC,UAARoC,GAAiC/E,KAACiF,OAAOtC,EAAR,OAAAwC,EAAAnF,KAAAgF,KAAAG,EAAkBxC,IAAM,IAApC3C,KAACgF,IAAMrC,GACpB,SAARoC,GAAiC/E,KAACiF,OAAOtC,EAAR,OAAAyC,EAAApF,KAAAgF,KAAAI,EAAkBzC,IAAM,EC0FxD,MD1FoB3C,MAACgF,IAAMrC,GACnCuB,MAAO,WC8FH,MD9FMlE,MAACgF,KACXb,OAAQ,SAACxB,GAAM,MAAGc,OAAMd,GAAQA,EAAOkB,EAAUlB,IACjDgC,UAAc,MAAAL,EAAW,EAAO,MAEpCgB,SAAU,SAACC,EAAG1B,GC4Gd,MAHiB,OAAbA,IDzGUA,EAAU1B,GAAU,SAACkC,GAAW,GAAAC,EC+G5C,OD/GkCA,GAADD,EAAA,GAAW,SAACP,EAAMC,EAAQC,GCgHzD,OD/GAwB,QACAvB,KAAM,SAACO,GACH,GAAA7B,EACA,IADAA,EAAIkC,WAAWL,EAAOF,KACDb,MAAMd,GCkHzB,MDlHF3C,MAACwF,KAAKvB,KAAKtB,IACfuB,MAAO,WACH,GAAApE,EAAA,OAA+B,KAAhBE,KAACwF,KAAKvF,OAAd,MACPD,KAACwF,KAAKC,KAAK,SAACC,EAAEC,GCwHZ,MDxHkBD,GAAEC,IACtB7F,GAAKE,KAACwF,KAAKvF,OAAO,GAAGsF,GACbvF,KAACwF,KAAKH,KAAKO,MAAM9F,IAAME,KAACwF,KAAKH,KAAKQ,KAAK/F,KAAK,IACxDqE,OAAQN,EACRc,UAAc,MAAAL,EAAW,EAAO,MAEpCwB,YAAa,SAACf,EAAagB,EAAQlC,GCuInC,MATY,OAARkB,ID9HUA,EAAK,QCiIP,MAARgB,IDjIuBA,EAAK,GCoIf,MAAblC,IDpI+BA,EAAU1B,GAAU,SAACkC,GAAW,GAAAC,EC0IjE,OD1IuDA,GAADD,EAAA,GAAW,SAACP,EAAMC,EAAQC,GC2I9E,OD1IAgC,EAAG,EAAKC,EAAG,EAAKC,EAAG,EACnBjC,KAAM,SAACO,GACH,GAAA2B,GAAAxD,CACA,IADAA,EAAIkC,WAAWL,EAAOF,KACZb,MAAMd,GAEhB,MADA3C,MAACgG,GAAK,EACG,IAANhG,KAACgG,EACAhG,KAACiG,EAAItD,GAELwD,EAAQnG,KAACiG,GAAKtD,EAAI3C,KAACiG,GAAGjG,KAACgG,EACvBhG,KAACkG,EAAIlG,KAACkG,GAAKvD,EAAI3C,KAACiG,IAAItD,EAAIwD,GACxBnG,KAACiG,EAAIE,IACbjC,MAAO,WACH,GAAW,SAARa,EACQ,MAAS,KAAN/E,KAACgG,EAAY,IAAShG,KAACiG,CACrC,IAAYjG,KAACgG,GAAKD,EAAlB,MAAO,EACP,QAAOhB,GAAP,IACS,MC0JL,MD1JkB/E,MAACkG,GAAGlG,KAACgG,EAAED,EAD7B,KAES,QC2JL,MD3JkBV,MAAKe,KAAKpG,KAACkG,GAAGlG,KAACgG,EAAED,MAC3C5B,OAAQN,EACRc,UAAc,MAAAL,EAAW,EAAO,MAEpC+B,WAAY,SAACxC,GCoKb,MAHiB,OAAbA,IDjKSA,EAAU1B,GAAU,SAACkC,GAAiB,GAAAiC,GAAAC,CCuKjD,ODvKiCA,GAAAlC,EAAA,GAAKiC,EAAAjC,EAAA,GAAW,SAACP,EAAMC,EAAQC,GCwK9D,ODvKAwC,OAAQ,EACRC,SAAU,EACVxC,KAAM,SAACO,GAEH,GAD8Cf,MAAMoB,WAAWL,EAAO+B,OAAtEvG,KAACwG,QAAY3B,WAAWL,EAAO+B,MACe9C,MAAMoB,WAAWL,EAAO8B,KC2KpE,MD3KFtG,MAACyG,UAAY5B,WAAWL,EAAO8B,KACnCpC,MAAO,WC8KH,MD9KMlE,MAACwG,OAAOxG,KAACyG,UACnBtC,OAAQN,EACRc,UAAc,MAAA4B,GAAS,MAAAD,EAAY,EAAO,MAE9CI,kBAAmB,SAACC,EAAY9C,GCyLhC,MANa,OAAT8C,IDnLgBA,GAAM,GCsLT,MAAb9C,IDtL4BA,EAAU1B,GAAU,SAACkC,GAAiB,GAAAiC,GAAAC,CC4LpE,OD5LoDA,GAAAlC,EAAA,GAAKiC,EAAAjC,EAAA,GAAW,SAACP,EAAMC,EAAQC,GC6LjF,OD5LAwC,OAAQ,EACRC,SAAU,EACVxC,KAAM,SAACO,GAEH,GAD8Cf,MAAMoB,WAAWL,EAAO+B,OAAtEvG,KAACwG,QAAY3B,WAAWL,EAAO+B,MACe9C,MAAMoB,WAAWL,EAAO8B,KCgMpE,MDhMFtG,MAACyG,UAAY5B,WAAWL,EAAO8B,KACnCpC,MAAO,WACH,GAAA0C,ECoMA,ODpMAA,GAAUD,EAAW,MACpB,iBAAkB3G,KAACyG,SAAWzG,KAACwG,OAAOxG,KAACyG,SAAW,mBAAmBG,EAClEvB,KAAKe,KAAK,kBAAoBpG,KAACyG,SAASzG,KAACyG,UAAazG,KAACwG,QAAQ,EAAIxG,KAACwG,OAAQxG,KAACyG,WAAazG,KAACyG,SAASzG,KAACyG,aACpG,EAAI,kBAAkBzG,KAACyG,WAChCtC,OAAQN,EACRc,UAAc,MAAA4B,GAAS,MAAAD,EAAY,EAAO,MAE9CO,WAAY,SAACC,EAASC,EAAclD,GC4MpC,MANY,OAARkD,IDtMkBA,EAAK,SCyMV,MAAblD,IDzMgCA,EAAUxB,GAAa,WAAU,GAAAM,EC+MnE,OD/M0DA,GAAA,GAAApC,UAAAN,OAAAC,EAAAwE,KAAAnE,UAAA,MAAS,SAACuD,EAAMC,EAAQC,GCgNhF,OD/MAgD,UAAWC,cAAcC,KAAKnD,MAAWoD,QAAQnD,IAAS+C,GAC1DK,MAAON,EAAAxG,MAAA,KAAQqC,GAAMmB,EAAMC,EAAQC,GACnCC,KAAM,SAACO,GCqNH,MDrNcxE,MAACoH,MAAMnD,KAAKO,IAC9BL,OAAQN,EACRK,MAAO,WCuNH,MDvNMlE,MAACoH,MAAMlD,QAAUJ,EAAKuD,cAAL/G,MAAAwD,EAAmB9D,KAACgH,UAAaI,MAAMlD,SAClES,UAAWmC,EAAAxG,MAAA,KAAQqC,KAAQgC,eAEnCvD,EAAoBkG,YAAc,SAACC,GC6NjC,MD7NuCnG,GAAoBgD,QAAQ,SAAEzB,GC8NnE,MD9NyEA,GAAE1C,QAASsH,IACxFnG,EAAoBoG,WAAc,SAACtB,GCiOjC,MDjOuC9E,GAAoBgD,QAAQ,SAAEzB,GCkOnE,MDlOyEA,GAAE8C,KAAK9D,GAAa8F,KAAKvB,IAAK,SAAEvD,GCoOzG,MDpO6GA,MACjHvB,EAAoBsG,IAAc,SAACH,GCuOjC,MDvOuCnG,GAAoB0D,SAAS,MAAOyC,IAC7EnG,EAAoBuG,IAAc,SAACJ,GCyOjC,MDzOuCnG,GAAoB0D,SAAS,MAAOyC,IAC7EnG,EAAoBwG,MAAc,SAACL,GC2OjC,MD3OuCnG,GAAoB0D,SAAS,QAASyC,IAC/EnG,EAAoByG,KAAc,SAACN,GC6OjC,MD7OuCnG,GAAoB0D,SAAS,OAAQyC,IAC9EnG,EAAoB0G,OAAc,SAACP,GC+OjC,MD/OuCnG,GAAoBkE,SAAS,GAAKiC,IAC3EnG,EAAoB2G,QAAc,SAACR,GCiPjC,MDjPuCnG,GAAoB0E,YAAY,OAAQ,EAAGyB,IACpFnG,EAAmB,OAAe,SAAC2E,EAAMwB,GCmPvC,MDnP6CnG,GAAoB0E,YAAY,MAAOC,EAAMwB,IAC5FnG,EAAoB4G,MAAc,SAACjC,EAAMwB,GCqPvC,MDrP6CnG,GAAoB0E,YAAY,QAASC,EAAMwB,IAG9FlG,EAAiB,SAAC4G,GCqPhB,ODpPEC,MAAwBD,EAAIrE,MAAMxB,GAClC+F,sBAAwBF,EAAIX,YAAYlF,GACxCgG,qBAAwBH,EAAIT,WAAW,MACvCa,IAAwBJ,EAAIrD,IAAIzC,GAChCmG,cAAwBL,EAAIrD,IAAIxC,GAChCmG,QAAwBN,EAAIF,QAAQ5F,GACpCqG,OAAwBP,EAAIH,OAAO3F,GACnCsG,kBAAwBR,EAAG,OAAK,EAAG9F,GACnCuG,4BAA6BT,EAAID,MAAM,EAAG7F,GAC1CwG,QAAwBV,EAAIN,IAAIxF,GAChCyG,QAAwBX,EAAIP,IAAIvF,GAChC0G,MAAwBZ,EAAIL,MAAMzF,GAClC2G,KAAwBb,EAAIJ,KAAK1F,GACjC4G,eAAwBd,EAAI5B,WAAWlE,GACvC6G,kBAAwBf,EAAIvB,mBAAkB,EAAMvE,GACpD8G,kBAAwBhB,EAAIvB,mBAAkB,EAAOvE,GACrD+G,2BAAgCjB,EAAIpB,WAAWoB,EAAIrD,MAAS,QAASvC,GACrE8G,0BAAgClB,EAAIpB,WAAWoB,EAAIrD,MAAS,MAASvC,GACrE+G,6BAAgCnB,EAAIpB,WAAWoB,EAAIrD,MAAS,MAASvC,GACrEgH,6BAAgCpB,EAAIpB,WAAWoB,EAAIrE,QAAS,QAASvB,GACrEiH,4BAAgCrB,EAAIpB,WAAWoB,EAAIrE,QAAS,MAASvB,GACrEkH,+BAAgCtB,EAAIpB,WAAWoB,EAAIrE,QAAS,MAASvB,KAtBjDjB,GAwBxBW,GACIyH,MAAkB,SAAC1F,EAAMb,GCuPzB,MDvPoCpB,GAAmBiC,EAAMb,IAC7DwG,iBAAkB,SAAC3F,EAAMb,GCyPzB,MDzPkChC,GAAEY,EAAmBiC,EAAMb,IAAOyG,YACpEC,QAAkB,SAAC7F,EAAMb,GC2PzB,MD3PkChC,GAAEY,EAAmBiC,EAAMb,IAAO2G,QAAQ,UAAc3G,IAC1F4G,cAAkB,SAAC/F,EAAMb,GC6PzB,MD7PkChC,GAAEY,EAAmBiC,EAAMb,IAAO2G,QAAQ,aAAc3G,IAC1F6G,cAAkB,SAAChG,EAAMb,GC+PzB,MD/PkChC,GAAEY,EAAmBiC,EAAMb,IAAO2G,QAAQ,aAAc3G,KAE9FxB,GACIsI,IACI1I,YAAaA,EACbU,UAAWA,EACXiI,eACIC,YAAa,sDACbC,aAAc,sDACdC,cAAe,iDACfC,UAAW,aACXC,WAAY,cACZC,QAAS,qBACTC,cAAe,gBACfjK,MAAO,QACPkK,OAAQ,SACRC,OAAQ,SACRC,GAAI,KACJC,GAAI,QAGhBjJ,GAAc,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAChFJ,GAAc,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAClDgB,EAAU,SAACsI,GCkQT,ODlQqB,IAAIA,GAAQC,UAAU,IAE7CtJ,GACIuJ,IAAK,SAAC3D,EAAK4D,GCmQX,MDnQwB,UAACvG,GCoQvB,MDpQkCA,GAAO2C,GAAO3C,EAAO2C,GAAO4D,IAChEC,WAAY,SAAC7D,EAAK8D,EAAcC,EAAiBC,EAAqBC,GAClE,GAAAC,ECiRJ,OAViB,OAAbH,IDxQ4BA,GAAU,GC2Q1B,MAAZC,ID3Q6CA,EAASzJ,GC8Q1C,MAAZ0J,ID9QkEA,EAAS9J,GAC3E+J,EAASH,EAAe,MAAW,GACnC,SAAC1G,GACG,GAAA8G,EACA,OADAA,GAAO,GAAIC,MAAKA,KAAKC,MAAMhH,EAAO2C,KAC/B1D,MAAM6H,GAAkB,GAC3BL,EAAajI,QAAQ,QAAS,SAACiD,EAAGwF,GAC9B,OAAOA,GAAP,IACS,ICoRb,MDpRsBH,GAAK,MAAMD,EAAI,aADjC,KAES,ICqRb,MDrRsB/I,GAAQgJ,EAAK,MAAMD,EAAI,WAAU,EAFnD,KAGS,ICsRb,MDtRsBF,GAASG,EAAK,MAAMD,EAAI,WAH1C,KAIS,ICuRb,MDvRsB/I,GAAQgJ,EAAK,MAAMD,EAAI,UAJzC,KAKS,ICwRb,MDxRsBD,GAASE,EAAK,MAAMD,EAAI,SAL1C,KAMS,ICyRb,MDzRsBC,GAAK,MAAMD,EAAI,QANjC,KAOS,IC0Rb,MD1RsB/I,GAAQgJ,EAAK,MAAMD,EAAI,WAPzC,KAQS,IC2Rb,MD3RsB/I,GAAQgJ,EAAK,MAAMD,EAAI,aARzC,KASS,IC4Rb,MD5RsB/I,GAAQgJ,EAAK,MAAMD,EAAI,aATzC,SCuSJ,MD7Ra,IAAMI,QAE/BzJ,EAAK,eACLF,EAAK,KACLG,EAAK,KACLN,EAAc,SAAA+J,GCkSZ,MDlSY,UAACC,EAAIC,GAEf,GAAAlG,GAAAmG,EAAAlG,EAAAmG,EAAAC,EAAAC,CAAA,IAAa,MAAAJ,GAAY,MAAAD,EAAzB,QACA,IAAa,MAAAA,GAAY,MAAAC,EAAzB,MAAQ,EAGR,IAA0B,gBAAND,IAAmBlI,MAAMkI,GAA7C,QACA,IAA0B,gBAANC,IAAmBnI,MAAMmI,GAA7C,MAAQ,EAKR,IAFAG,GAAOJ,EACPK,GAAOJ,EACMG,EAAMC,EAAnB,QACA,IAAaD,EAAMC,EAAnB,MAAQ,EAGR,IAA0B,gBAANL,IAAgC,gBAANC,GAA9C,QACA,IAA0B,gBAANA,IAAgC,gBAAND,GAA9C,MAAQ,EACR,IAA0B,gBAANA,IAAgC,gBAANC,GAA9C,MAAQ,EAGR,IAAanI,MAAMuI,KAAavI,MAAMsI,GAAtC,QACA,IAAatI,MAAMsI,KAAatI,MAAMuI,GAAtC,MAAQ,EAKR,IAFAtG,EAAIuG,OAAON,GACXhG,EAAIsG,OAAOL,GACClG,IAAKC,EAAjB,MAAO,EACP,KAAwC7D,EAAGiB,KAAK2C,KAAO5D,EAAGiB,KAAK4C,GAA/D,MAAWD,GAAIC,EAAO,IAKtB,KAFAD,EAAIA,EAAEwG,MAAMlK,GACZ2D,EAAIA,EAAEuG,MAAMlK,GACN0D,EAAEzF,QAAW0F,EAAE1F,QAGjB,GAFA4L,EAAKnG,EAAEyG,QACPL,EAAKnG,EAAEwG,QACJN,IAAMC,EACL,MAAGhK,GAAGiB,KAAK8I,IAAQ/J,EAAGiB,KAAK+I,GAChBD,EAAG7I,QAAQf,EAAI,MAAQ6J,EAAG9I,QAAQf,EAAI,MAElC4J,EAAKC,EAAQ,IACpC,OAAOpG,GAAEzF,OAAS0F,EAAE1F,SAzCVD,MA2CdkC,EAAS,SAACkK,GACN,GAAAtM,GAAAuM,EAAAC,EAAA3J,CAAA2J,MACAD,IACA,KAAAvM,IAAAsM,GCsTAzJ,EAAIyJ,EAAMtM,GDrTNwM,EAAQ3J,GAAK7C,EACiC,gBAAL6C,KAAzC0J,EAAU1J,EAAE4J,eAAiBzM,EC0TnC,ODzTE,UAAC4F,EAAGC,GACA,MAAG,OAAA2G,EAAA5G,IAAgB,MAAA4G,EAAA3G,GAAiB2G,EAAQ5G,GAAK4G,EAAQ3G,GACjD,MAAA2G,EAAA5G,MACA,MAAA4G,EAAA3G,GAAiB,EACjB,MAAA0G,EAAA3G,IAAkB,MAAA2G,EAAA1G,GAAmB0G,EAAU3G,GAAK2G,EAAU1G,GAC9D,MAAA0G,EAAA3G,MACA,MAAA2G,EAAA1G,GAAmB,EACtBhE,EAAY+D,EAAEC,KAE3BnE,EAAU,SAAC0D,EAASZ,GAChB,GAAAmB,EAAA,IAAG,MAAAP,EACC,GAAGjE,EAAEuL,WAAWtH,IAEZ,GADAO,EAAOP,EAAQZ,GACArD,EAAEuL,WAAW/G,GAA5B,MAAOA,OACN,IAAG,MAAAP,EAAAZ,GACJ,MAAOY,GAAQZ,EACvB,OAAO3C,IAMLT,EAAA,WACW,QAAAA,GAACuL,EAAOxJ,GACjB,GAAAwB,GAAAU,EAAAC,EAAAsH,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CCwUQ,OAAR/J,IDzUiBA,MC4UrBjD,KAAKqH,cAAgBlH,EAAKH,KAAKqH,cAAerH,MAC9CA,KAAKiN,WAAa9M,EAAKH,KAAKiN,WAAYjN,MACxCA,KAAKkN,WAAa/M,EAAKH,KAAKkN,WAAYlN,MACxCA,KAAKmN,SAAWhN,EAAKH,KAAKmN,SAAUnN,MACpCA,KAAKoN,QAAUjN,EAAKH,KAAKoN,QAASpN,MD/U9BA,KAACyM,MAAQA,EACTzM,KAACqN,WAAD,OAAA5I,EAAAxB,EAAAoK,YAAA5I,EAAgCrD,EAAoBwC,UACpD5D,KAACsN,eAAD,OAAAnI,EAAAlC,EAAAqK,gBAAAnI,EAAwC,QACxCnF,KAACuN,SAAD,OAAAnI,EAAAnC,EAAAuK,MAAApI,KACApF,KAACyN,SAAD,OAAAf,EAAAzJ,EAAAyK,MAAAhB,KACA1M,KAAC2N,SAAD,OAAAhB,EAAA1J,EAAAuC,MAAAmH,KACA3M,KAACkF,QAAD,OAAA0H,EAAA3J,EAAAiC,SAAA0H,KACA5M,KAAC4N,SAAD,OAAAf,EAAA5J,EAAA2K,UAAAf,EAA4B,aAC5B7M,KAAC6N,SAAD,OAAAf,EAAA7J,EAAA4K,UAAAf,EAA4B,aAC5B9M,KAAC8N,kBAAD,OAAAf,EAAA9J,EAAA6K,mBAAAf,KACA/M,KAAC+N,OAAD,OAAAf,EAAA/J,EAAA8K,QAAAf,EAAwB,WCiV1B,ODjV8B,GAC5BhN,KAACgO,QACDhO,KAACiO,WACDjO,KAACkO,WACDlO,KAACmO,aACDnO,KAACoO,aACDpO,KAACqO,SAAWrO,KAACqN,WAAWrN,YACxBA,KAACsO,QAAS,EAGVpN,EAAUqN,cAAcvO,KAACyM,MAAOzM,KAAC8N,kBAAmB,SAAApC,GCiVtD,MDjVsD,UAAClH,GACjD,GAA0BkH,EAACqC,OAAOvJ,GCkVpC,MDlVEkH,GAAC8C,cAAchK,KADiCxE,OCyjB1D,MDrjBEkB,GAACqN,cAAgB,SAAC9B,EAAOqB,EAAmBvG,GACxC,GAAAkH,GAAAC,EAAA5O,EAAA6O,EAAAC,EAAA7O,EAAA8O,EAAArK,EAAAC,EAAAqK,EAAAC,EAAAC,CAQA,IAPIP,EADDxN,EAAEgO,cAAcnB,GACHvG,EAEA,SAAC/C,GACT,GAAAoK,GAAAnK,EAAAyK,CAAA,KAAAN,IAAAd,GCwVNoB,EAAIpB,EAAkBc,GDxVhBpK,EAAOoK,GAAP,OAAAnK,EAAAyK,EAAA1K,IAAAC,EAAwBD,EAAOoK,EC2VvC,OD1VQrH,GAAE/C,IAGPvD,EAAEuL,WAAWC,GC2VlB,MD1VMA,GAAMgC,EACL,IAAGxN,EAAEkO,QAAQ1C,GAAb,CACD,GAAGxL,EAAEkO,QAAQ1C,EAAM,IAAnB,CACIqC,IC2VR,KD3VQhP,IAAA2M,GC4VN,GAAKjM,EAAQkE,KAAK+H,EAAO3M,KACzB4O,EAAgBjC,EAAM3M,GD7VuBA,EAAI,GC8VjD,CD7VU0E,KACAC,EAAAgI,EAAA,EAAA,KAAAkC,IAAAlK,GCkWHjE,EAAQkE,KAAKD,EAAKkK,KACvBC,EAAInK,EAAIkK,GDnWAnK,EAAOoK,GAAKF,EAAcC,GCsWpCG,GAAQ7K,KDrWEwK,EAAUjK,ICuWtB,MAAOsK,GAGP,IDxWQC,KAAAhP,EAAA,EAAA8O,EAAApC,EAAAxM,OAAAF,EAAA8O,EAAA9O,ICyWNyE,EAASiI,EAAM1M,GACfgP,EAAS9K,KD1WHwK,EAAUjK,GC4WlB,OAAOuK,GD3WF,GAAGtC,YAAiBxL,GCkX3B,MDjXM+N,MACA/N,EAAE,kBAAmBwL,GAAO2C,KAAK,SAACtP,GC8WtC,MD9W4CkP,GAAQ/K,KAAKhD,EAAEjB,MAAMqP,UAC7DpO,EAAE,aAAcwL,GAAO2C,KAAK,SAACtP,GCoXjC,MDnXQ0E,MACAvD,EAAE,KAAMjB,MAAMoP,KAAK,SAACT,GCgX1B,MDhXgCnK,GAAOwK,EAAQL,IAAM1N,EAAEjB,MAAMqP,SACvDZ,EAAUjK,IAEd,MAAM,IAAI8K,OAAM,yBCsX1BpO,EAAUqO,UDpXRC,sBAAuB,SAACC,EAAUC,GCqXlC,MDpXIxO,GAAUqN,cAAcvO,KAACyM,MAAOzM,KAAC8N,kBAAmB,SAAApC,GCqXtD,MDrXsD,UAAClH,GACjD,GAAAoK,GAAAnK,EAAAyK,CAAA,IAAcxD,EAACqC,OAAOvJ,GAAtB,CACA,IAAAoK,IAAAa,GACI,GCwXNP,EAAIO,EAASb,GDxXGM,KAAK,OAAAzK,EAAAD,EAAAoK,IAAAnK,EAAa,QAA5B,MC6XR,OD5XIiL,GAASlL,MAJuCxE,QCqY1DkB,EAAUqO,UD/XRnC,QAAS,SAACuC,GACN,GAAAjK,GAAAkK,CCyYJ,ODzYIA,GAAA,WCiYF,GAAI7P,GAAG8O,EAAMC,CAEb,KDnYgBA,KAAA/O,EAAA,EAAA8O,EAAAc,EAAA1P,OAAAF,EAAA8O,EAAA9O,ICoYd2F,EAAIiK,EAAM5P,GACV+O,EAAQ7K,KDrYMzC,EAAQxB,KAACkF,QAASQ,GCuYlC,OAAOoJ,IACNpK,KAAK1E,MDvYJ,SAAC0F,EAAEC,GACC,GAAAkK,GAAA/P,EAAAmF,CAAA,KAAAnF,IAAA8P,GC0YJ,GAAKpP,EAAQkE,KAAKkL,EAAY9P,KAC9BmF,EAAS2K,EAAW9P,GD1YZ+P,EAAa5K,EAAOS,EAAE5F,GAAI6F,EAAE7F,IACO,IAAd+P,GAArB,MAAOA,EACX,OAAO,KCkZjB3O,EAAUqO,UDhZRpC,SAAU,WACN,GAAA+B,EAAA,KAAOlP,KAACsO,OAAR,CAGI,OAFAtO,KAACsO,QAAS,EACVY,EAAI,SAAAxD,GCkZR,MDlZQ,UAACoE,EAAEC,GCmZT,MDnZerE,GAACrE,cAAcyI,EAAEC,GAAG7L,UAA7BlE,MACGA,KAAC4N,UAAR,IACS,eAAqB5N,KAACiO,QAAQxI,KAAK,SAAAiG,GCuZ5C,MDvZ4C,UAAChG,EAAEC,GCwZ7C,MDxZoDhE,GAAYuN,EAAExJ,MAAOwJ,EAAEvJ,SAAjC3F,MAAnC,MADT,KAES,eAAoBA,KAACiO,QAAQxI,KAAK,SAAAiG,GC6Z3C,MD7Z2C,UAAChG,EAAEC,GC8Z5C,OD9ZmDhE,EAAYuN,EAAExJ,MAAOwJ,EAAEvJ,SAAjC3F,MAAlC,MAFT,SAGqBA,KAACiO,QAAQxI,KAAKzF,KAACoN,QAAQpN,KAACyN,WAC7C,OAAOzN,KAAC6N,UAAR,IACS,eCoaX,MDpagC7N,MAACkO,QAAQzI,KAAK,SAAAiG,GCqa5C,MDra4C,UAAChG,EAAEC,GCsa7C,MDtaoDhE,GAAYuN,KAAKxJ,GAAIwJ,KAAKvJ,MAApC3F,MAD5C,KAES,eCyaX,MDza+BA,MAACkO,QAAQzI,KAAK,SAAAiG,GC0a3C,MD1a2C,UAAChG,EAAEC,GC2a5C,OD3amDhE,EAAYuN,KAAKxJ,GAAIwJ,KAAKvJ,MAApC3F,MAF3C,SCibF,MD9auBA,MAACkO,QAAQzI,KAAKzF,KAACoN,QAAQpN,KAACuN,cCmbvDrM,EAAUqO,UDjbRrC,WAAY,WAER,MADAlN,MAACmN,WACMnN,KAACkO,SCobdhN,EAAUqO,UDlbRtC,WAAY,WAER,MADAjN,MAACmN,WACMnN,KAACiO,SCqbd/M,EAAUqO,UDnbRf,cAAe,SAAChK,GACZ,GAAAR,GAAAgM,EAAAC,EAAAlQ,EAAA8O,EAAAqB,EAAAlK,EAAAvB,EAAAU,EAAAC,EAAAsH,EAAA3I,EAAApB,CAEA,KAFAqB,KACAD,KACAU,EAAAzE,KAAAuN,SAAAxN,EAAA,EAAA8O,EAAApK,EAAAxE,OAAAF,EAAA8O,EAAA9O,ICsbF4C,EAAI8B,EAAI1E,GDtbNiE,EAAOC,KAAP,OAAAkB,EAAAX,EAAA7B,IAAAwC,EAAwB,OACxB,KAAAC,EAAApF,KAAAyN,SAAAzH,EAAA,EAAAkK,EAAA9K,EAAAnF,OAAA+F,EAAAkK,EAAAlK,IC0bFrD,EAAIyC,EAAKY,GD1bPjC,EAAOE,KAAP,OAAAyI,EAAAlI,EAAA7B,IAAA+J,EAAwB,OAkBxB,IAjBAuD,EAAalM,EAAO0D,KAAKwE,OAAOkE,aAAa,IAC7CH,EAAahM,EAAOyD,KAAKwE,OAAOkE,aAAa,IAE7CnQ,KAACqO,SAASpK,KAAKO,GAEK,IAAjBT,EAAO9D,SACCD,KAACmO,UAAU8B,KACdjQ,KAACiO,QAAQhK,KAAKF,GACd/D,KAACmO,UAAU8B,GAAcjQ,KAACqN,WAAWrN,KAAM+D,OAC/C/D,KAACmO,UAAU8B,GAAYhM,KAAKO,IAEZ,IAAjBR,EAAO/D,SACCD,KAACoO,UAAU4B,KACdhQ,KAACkO,QAAQjK,KAAKD,GACdhE,KAACoO,UAAU4B,GAAchQ,KAACqN,WAAWrN,QAAUgE,IACnDhE,KAACoO,UAAU4B,GAAY/L,KAAKO,IAEZ,IAAjBR,EAAO/D,QAAiC,IAAjB8D,EAAO9D,OCmcnC,MDlcaD,MAACgO,KAAKiC,KACTjQ,KAACgO,KAAKiC,OACHjQ,KAACgO,KAAKiC,GAAYD,KACrBhQ,KAACgO,KAAKiC,GAAYD,GAAchQ,KAACqN,WAAWrN,KAAM+D,EAAQC,IAC9DhE,KAACgO,KAAKiC,GAAYD,GAAY/L,KAAKO,ICkc7CtD,EAAUqO,UDhcRlI,cAAe,SAACtD,EAAQC,GACpB,GAAAoM,GAAAJ,EAAAC,CAUA,OAVAA,GAAalM,EAAO0D,KAAKwE,OAAOkE,aAAa,IAC7CH,EAAahM,EAAOyD,KAAKwE,OAAOkE,aAAa,IAEzCC,EADgB,IAAjBrM,EAAO9D,QAAiC,IAAjB+D,EAAO/D,OACvBD,KAACqO,SACc,IAAjBtK,EAAO9D,OACLD,KAACoO,UAAU4B,GACI,IAAjBhM,EAAO/D,OACLD,KAACmO,UAAU8B,GAEXjQ,KAACgO,KAAKiC,GAAYD,GAC5B,MAAAI,EAAOA,GAAOlM,MAAO,WCocrB,MDpcyB,OAAOC,OAAQ,WCucxC,MDvc2C,MC4c1CjD,KDzcTD,EAAEoP,gBAAkBjP,oBAAAA,EAAqBC,YAAAA,EAAaU,UAAAA,EAAWR,SAAAA,EAAUE,QAAAA,EACvEE,YAAAA,EAAaC,aAAAA,EAAcM,OAAAA,EAAQhB,UAAAA,GAMvCW,EAAqB,SAACyO,EAAWrN,GAE7B,GAAAoK,GAAA0C,EAAAxC,EAAAvJ,EAAAkK,EAAAhL,EAAAqN,EAAAzQ,EAAA6O,EAAAmB,EAAAtM,EAAAiK,EAAA1J,EAAAkK,EAAAuC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA/L,EAAArC,CAAAO,IACI8N,OACIC,cAAe,KACf9C,WAAW,EACXC,WAAW,GACfpE,eAAeS,OAAQ,WAE3BxH,EAAOhC,EAAEsC,QAAO,KAAUL,EAAUD,GAEpCsK,EAAW+C,EAAU/C,SACrBE,EAAW6C,EAAU7C,SACrBQ,EAAUqC,EAAUrD,aACpBiB,EAAUoC,EAAUpD,aAEjBjK,EAAK+N,MAAMC,gBACVV,EAAkB,SAACrM,EAAOgN,EAAWC,GACjC,GAAA7M,GAAA8M,EAAAtR,CAAAsR,KACA,KAAAtR,IAAAyN,GCudC/M,EAAQkE,KAAK6I,EAAUzN,KAC5BwE,EAAOiJ,EAASzN,GDxdkD,MAAAqR,EAAArR,KAA9DsR,EAAQ9M,GAAQ6M,EAAUrR,IAC1B,KAAAA,IAAA2N,GC6dCjN,EAAQkE,KAAK+I,EAAU3N,KAC5BwE,EAAOmJ,EAAS3N,GD9dkD,MAAAoR,EAAApR,KAA9DsR,EAAQ9M,GAAQ4M,EAAUpR,IAC1B,OAAO,UAACuR,GCmeZ,MDnekBpO,GAAK+N,MAAMC,cAAcI,EAAGnN,EAAOkN,EAASd,MAGlE9M,EAAS8N,SAASC,cAAc,SAChC/N,EAAOgO,UAAY,WAGnBhB,EAAW,SAACiB,EAAK3R,EAAG6O,GAChB,GAAA5O,GAAA2R,EAAA1L,EAAA2L,EAAAlN,EAAAU,EAAAyM,EAAAjP,CAAA,IAAQ,IAAL7C,EAAH,CAEI,IADA6R,GAAS,EACAhP,EAAA5C,EAAA,EAAA0E,EAAAkK,EAAA,GAAAlK,EAAA1E,GAAA0E,EAAA1E,GAAA0E,EAAA9B,EAAA,GAAA8B,IAAA1E,IAAAA,EACF0R,EAAI3R,EAAE,GAAG6C,KAAM8O,EAAI3R,GAAG6C,KACrBgP,GAAS,EACjB,IAAGA,EACD,SAEN,IADAD,EAAM,EACA5R,EAAE4R,EAAMD,EAAIxR,QAAlB,CAEI,IADA2R,GAAO,EACEjP,EAAAqD,EAAA,EAAAb,EAAAwJ,EAAA,GAAAxJ,EAAAa,GAAAb,EAAAa,GAAAb,EAAAxC,EAAA,GAAAwC,IAAAa,IAAAA,EACUyL,EAAI3R,GAAG6C,KAAM8O,EAAI3R,EAAE4R,GAAK/O,KAAvCiP,GAAO,EACX,IAASA,EAAT,KACAF,KACJ,MAAOA,IAGXd,EAAQU,SAASC,cAAc,QAC/B,KAAA5C,IAAApB,GC6eA,GAAK/M,EAAQkE,KAAK6I,EAAUoB,GAA5B,CACAoB,EAAIxC,EAASoB,GD7eTmC,EAAKQ,SAASC,cAAc,MACV,IAAfM,SAASlD,IAA+B,IAAnBlB,EAASxN,SAC7B0Q,EAAKW,SAASC,cAAc,MAC5BZ,EAAGmB,aAAa,UAAWrE,EAASxN,QACpC0Q,EAAGmB,aAAa,UAAWvE,EAAStN,QACpC6Q,EAAGiB,YAAYpB,IACnBA,EAAKW,SAASC,cAAc,MAC5BZ,EAAGa,UAAY,eACfb,EAAGqB,YAAcjC,EACjBe,EAAGiB,YAAYpB,EACf,KAAA7Q,IAAAoO,GCgfG1N,EAAQkE,KAAKwJ,EAASpO,KAC3BkE,EAASkK,EAAQpO,GDhfX6C,EAAI6N,EAAStC,EAAS2D,SAAS/R,GAAI+R,SAASlD,IACzChM,SACCgO,EAAKW,SAASC,cAAc,MAC5BZ,EAAGa,UAAY,cACfb,EAAGqB,YAAchO,EAAO2K,GACxBgC,EAAGmB,aAAa,UAAWnP,GACxBkP,SAASlD,KAAMpB,EAAStN,OAAO,GAAyB,IAAnBwN,EAASxN,QAC7C0Q,EAAGmB,aAAa,UAAW,GAC/BhB,EAAGiB,YAAYpB,IACL,KAAfkB,SAASlD,IAAW1L,EAAK+N,MAAM7C,YAC9BwC,EAAKW,SAASC,cAAc,MAC5BZ,EAAGa,UAAY,iCACfb,EAAGsB,UAAYhP,EAAK+G,cAAcS,OAClCkG,EAAGmB,aAAa,UAAWvE,EAAStN,QAA+B,IAAlBwN,EAASxN,OAAgB,EAAO,IACjF6Q,EAAGiB,YAAYpB,IACnBC,EAAMmB,YAAYjB,GAGtB,GAAqB,IAAlBrD,EAASxN,OAAZ,CACI6Q,EAAKQ,SAASC,cAAc,KAC5B,KAAAzR,IAAA2N,GCqfGjN,EAAQkE,KAAK+I,EAAU3N,KAC5BgQ,EAAIrC,EAAS3N,GDrfP6Q,EAAKW,SAASC,cAAc,MAC5BZ,EAAGa,UAAY,eACfb,EAAGqB,YAAclC,EACjBgB,EAAGiB,YAAYpB,GACnBA,GAAKW,SAASC,cAAc,MACP,IAAlBhE,EAAStN,SACR0Q,EAAGa,UAAY,iCACfb,EAAGsB,UAAYhP,EAAK+G,cAAcS,QACtCqG,EAAGiB,YAAYpB,GACfC,EAAMmB,YAAYjB,GACtBtN,EAAOuO,YAAYnB,GAGnBH,EAAQa,SAASC,cAAc,QAC/B,KAAAzR,IAAAmO,GCwfA,GAAKzN,EAAQkE,KAAKuJ,EAASnO,GAA3B,CACAiE,EAASkK,EAAQnO,GDxfbgR,EAAKQ,SAASC,cAAc,KAC5B,KAAA5C,IAAA5K,GC0fGvD,EAAQkE,KAAKX,EAAQ4K,KAC1BoC,EAAMhN,EAAO4K,GD1fPhM,EAAI6N,EAASvC,EAAS4D,SAAS/R,GAAI+R,SAASlD,IACzChM,SACCgO,EAAKW,SAASC,cAAc,MAC5BZ,EAAGa,UAAY,cACfb,EAAGqB,YAAcjB,EACjBJ,EAAGmB,aAAa,UAAWnP,GACxBkP,SAASlD,KAAMlB,EAASxN,OAAO,GAAwB,IAAlBsN,EAAStN,QAC7C0Q,EAAGmB,aAAa,UAAU,GAC9BhB,EAAGiB,YAAYpB,IACvB,KAAAhC,IAAAT,GC+fG1N,EAAQkE,KAAKwJ,EAASS,KAC3B3K,EAASkK,EAAQS,GD/fXtB,EAAaiD,EAAUjJ,cAActD,EAAQC,GAC7CgB,EAAMqI,EAAWnJ,QACjBwM,EAAKY,SAASC,cAAc,MAC5Bb,EAAGc,UAAY,aAAa1R,EAAE,OAAM6O,EACpC+B,EAAGsB,YAAc3E,EAAWlJ,OAAOa,GACnC0L,EAAGoB,aAAa,aAAc9M,GAC3B,MAAAuL,IACCG,EAAGwB,QAAU3B,EAAgBvL,EAAKjB,EAAQC,IAC9C8M,EAAGiB,YAAYrB,KAEhBzN,EAAK+N,MAAM7C,WAAgC,IAAnBZ,EAAStN,UAChC4Q,EAAkBP,EAAUjJ,cAActD,MAC1CiB,EAAM6L,EAAgB3M,QACtBwM,EAAKY,SAASC,cAAc,MAC5Bb,EAAGc,UAAY,oBACfd,EAAGsB,YAAcnB,EAAgB1M,OAAOa,GACxC0L,EAAGoB,aAAa,aAAc9M,GAC3B,MAAAuL,IACCG,EAAGwB,QAAU3B,EAAgBvL,EAAKjB,OACtC2M,EAAGoB,aAAa,WAAY,MAAMhS,GAClCgR,EAAGiB,YAAYrB,IACnBD,EAAMsB,YAAYjB,GAGtB,GAAG7N,EAAK+N,MAAM5C,WAAgC,IAAnBX,EAASxN,OAApC,CACI6Q,EAAKQ,SAASC,cAAc,OACzBtO,EAAK+N,MAAM5C,WAAgC,IAAnBX,EAASxN,UAChC0Q,EAAKW,SAASC,cAAc,MAC5BZ,EAAGa,UAAY,iCACfb,EAAGsB,UAAYhP,EAAK+G,cAAcS,OAClCkG,EAAGmB,aAAa,UAAWrE,EAASxN,QAAgC,IAAnBsN,EAAStN,OAAiB,EAAO,IAClF6Q,EAAGiB,YAAYpB,GACnB,KAAAhC,IAAAT,GCogBG1N,EAAQkE,KAAKwJ,EAASS,KAC3B3K,EAASkK,EAAQS,GDpgBXkC,EAAkBP,EAAUjJ,iBAAkBrD,GAC9CgB,EAAM6L,EAAgB3M,QACtBwM,EAAKY,SAASC,cAAc,MAC5Bb,EAAGc,UAAY,oBACfd,EAAGsB,YAAcnB,EAAgB1M,OAAOa,GACxC0L,EAAGoB,aAAa,aAAc9M,GAC3B,MAAAuL,IACCG,EAAGwB,QAAU3B,EAAgBvL,KAAShB,IAC1C0M,EAAGoB,aAAa,WAAY,MAAMnD,GAClCmC,EAAGiB,YAAYrB,KAChBzN,EAAK+N,MAAM7C,WAAgC,IAAnBZ,EAAStN,UAChC4Q,EAAkBP,EAAUjJ,qBAC5BrC,EAAM6L,EAAgB3M,QACtBwM,EAAKY,SAASC,cAAc,MAC5Bb,EAAGc,UAAY,gBACfd,EAAGsB,YAAcnB,EAAgB1M,OAAOa,GACxC0L,EAAGoB,aAAa,aAAc9M,GAC3B,MAAAuL,IACCG,EAAGwB,QAAU3B,EAAgBvL,UACjC8L,EAAGiB,YAAYrB,IACnBD,EAAMsB,YAAYjB,GAOtB,MANAtN,GAAOuO,YAAYtB,GAGnBjN,EAAOsO,aAAa,eAAgB7D,EAAQhO,QAC5CuD,EAAOsO,aAAa,eAAgB5D,EAAQjO,QAErCuD,GAMXvC,EAAEb,GAAG+R,MAAQ,SAAC1F,EAAO2F,EAAWC,GAC5B,GAAAnP,GAAAmO,EAAAiB,EAAAtI,EAAA/G,EAAAqN,EAAA9M,EAAAb,CCwgBY,OAAV0P,IDzgB0BA,EAAO,MACd,MAAA5Q,EAAA4Q,KAArBA,EAAS,MACTnP,GACIsK,QAAWE,QAAUlI,QACrBoI,SAAU,aAAcC,SAAU,aAClC0E,UAAWrR,EACX6M,OAAQ,WCihBV,ODjhBa,GACXV,WAAYjM,EAAoBwC,UAChC0J,eAAgB,QAChBpI,WACA4I,qBACA0E,SAAU3Q,GAEdmI,EAAgB/I,EAAEsC,QAAO,KAAU9B,EAAQsI,GAAGC,cAAevI,EAAQ4Q,GAAQrI,eAC7EsI,GACIG,iBAAkBzI,cAAAA,GAClBA,cAAeA,GAEnB/G,EAAOhC,EAAEsC,QAAO,KAAU+O,EAAgBrR,EAAEsC,UAAWL,EAAUkP,IAEjE5O,EAAS,IACT,KACI8M,EAAY,GAAIrN,GAAKsP,UAAU9F,EAAOxJ,EACtC,KACIO,EAASP,EAAKuP,SAASlC,EAAWrN,EAAKwP,iBAD3C,MAAAC,GAEMrB,EAAAqB,EACwB,mBAAAC,UAAA,OAAAA,SAA1BA,QAAQD,MAAMrB,EAAEuB,OAChBpP,EAASvC,EAAE,UAAU4R,KAAK5P,EAAK+G,cAAcC,cANrD,MAAAyI,GAOMrB,EAAAqB,EACwB,mBAAAC,UAAA,OAAAA,SAA1BA,QAAQD,MAAMrB,EAAEuB,OAChBpP,EAASvC,EAAE,UAAU4R,KAAK5P,EAAK+G,cAAcE,cAGtB,IAD3BvH,EAAI3C,KAAK,GACwB2C,EAAEmQ,iBAAnCnQ,EAAEoQ,YAAYpQ,EAAEqQ,UAChB,OAAOhT,MAACiT,OAAOzP,IAOnBvC,EAAEb,GAAG8S,QAAU,SAACzG,EAAO2F,EAAWe,EAAmBd,GACjD,GAAA3M,GAAA2H,EAAA/I,EAAA8O,EAAAC,EAAAtD,EAAAuD,EAAApQ,EAAAmO,EAAAkC,EAAAC,EAAA1T,EAAA2T,EAAA1T,EAAA8O,EAAAqB,EAAAwD,EAAApB,EAAAtI,EAAA2J,EAAA3N,EAAA4N,EAAA3Q,EAAA4Q,EAAAC,EAAAC,EAAAtP,EAAAU,EAAAC,EAAAsH,EAAAsH,EAAAC,EAAAzB,EAAA0B,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAAAjS,EC4hBe,OAAbwQ,ID7hB4BA,GAAY,GCgiB9B,MAAVd,IDhiB+CA,EAAO,MACnC,MAAA5Q,EAAA4Q,KAArBA,EAAS,MACTnP,GACI4K,qBACAzM,YAAaI,EAAQ4Q,GAAQhR,YAC7BU,UAAWN,EAAQ4Q,GAAQtQ,UAC3B8S,oBACAC,yBACAC,sBACAC,UAAW,IACXxH,QAAUE,QAAUlI,QACpBoI,SAAU,aAAcC,SAAU,aAClC0E,UAAWrR,EACX+T,cACAC,cACAC,oBAAqB,GACrBC,qBAAqB,EACrBC,UAAW,KACXC,QAAQ,EACRvH,OAAQ,WCwiBV,ODxiBa,GACX7I,YAEJ8E,EAAgB/I,EAAEsC,QAAO,KAAU9B,EAAQsI,GAAGC,cAAevI,EAAQ4Q,GAAQrI,eAC7EsI,GACIG,iBAAkBzI,cAAAA,GAClBA,cAAeA,GAEnBuJ,EAAevT,KAAC8D,KAAK,kBAEjBb,EADG,MAAAsQ,GAAiBJ,EACblS,EAAEsC,QAAO,KAAU+O,EAAgBrR,EAAEsC,UAAWL,EAAUkP,IAE1DmB,CAEX,KAGIF,KACAM,KACAI,EAAmB,EACnB7S,EAAUqN,cAAc9B,EAAOxJ,EAAK6K,kBAAmB,SAACtJ,GACpD,GAAAF,GAAAiR,EAAA9Q,EAAAP,CAAA,IAAcjB,EAAK8K,OAAOvJ,GAA1B,CACAmP,EAAkB1P,KAAKO,EACvB,KAAAF,IAAAE,GC6iBChE,EAAQkE,KAAKF,EAAQF,ID5iBX,MAAA+O,EAAA/O,KACH+O,EAAW/O,MACRyP,EAAmB,IAClBV,EAAW/O,GAAM,QAAUyP,GACvC,KAAAzP,IAAA+O,GACInP,EAAA,OAAAO,EAAAD,EAAAF,IAAAG,EAAuB,OCijBS,OAAnC8Q,EAAOlC,EAAW/O,IAAOJ,KAC5BqR,EDjjBuBrR,GAAU,GAC3BmP,EAAW/O,GAAMJ,ICojB3B,ODnjBM6P,QAGJU,EAAUxT,EAAE,WAAWuU,QAAS,UAASlR,KAAK,cAAe,GAG7D4P,EAAkBjT,EAAE,QAAQwU,SAAS,aAErCjD,EAAWvR,EAAE,YACRwU,SAAS,eACTC,SAASxB,GACT/T,KAAK,SAAU,WC+iBtB,MD/iByB6T,OACvBvP,EAAAxB,EAAAlB,SAAA,KAAAY,KAAA8B,GCkjBGjE,EAAQkE,KAAKD,EAAK9B,KDjjBjB1B,EAAE,YAAY+D,IAAIrC,IAAGkQ,KAAKlQ,IAAG+S,SAASlD,EAgB1C,IAZAkC,EAASzT,EAAE,QAAQwU,SAAS,wCAC5BrB,EAAA,WCijBF,GAAItF,EDjjBiBA,KCmjBrB,KDnjBqBpJ,IAAA2N,GAA2BzT,EAAA8E,KAASzB,EAAK4R,iBAAdnP,GAAA,GCqjB5CoJ,EAAQ7K,KDrjBSyB,ECwjBrB,OAAOoJ,MDvjBLuF,EAAA,WC0jBF,GAAItU,GAAG8O,EAAMC,CAEb,KD5jBwBA,KAAA/O,EAAA,EAAA8O,EAAAuF,EAAAnU,OAAAF,EAAA8O,EAAA9O,IC6jBtBgQ,EAAIqE,EAAgBrU,GD7jBkCH,EAAA8E,KAASzB,EAAK6R,sBAAd/E,GAAA,GC+jBpDjB,EAAQ7K,KD/jBY8L,ECkkBxB,OAAOjB,MDjkBLwF,EAAA,WCokBF,GAAIvU,GAAG8O,EAAMC,CAEb,KDtkBqBA,KAAA/O,EAAA,EAAA8O,EAAAuF,EAAAnU,OAAAF,EAAA8O,EAAA9O,ICukBnBgQ,EAAIqE,EAAgBrU,GDvkB+BH,EAAA8E,KAASzB,EAAK8R,mBAAdhF,GAAA,GCykBjDjB,EAAQ7K,KDzkBS8L,EC4kBrB,OAAOjB,MDzkBL8F,IAAkC,EAE9BD,EAD2B,SAA5B1R,EAAKkS,oBAC4B,IAEAtD,SAAS5O,EAAKkS,sBAE3C1R,MAAMkR,GAAb,CAEI,IADAvB,EAAa,EACbrT,EAAA,EAAA8O,EAAAyF,EAAArU,OAAAF,EAAA8O,EAAA9O,IC4kBJ2F,EAAI4O,EAAgBvU,GD5kBhBqT,GAAc1N,EAAEzF,MAChB2U,IAAkCxB,EAAauB,EAEhD1R,EAAKkS,uBAAuB,GAAQP,GACnCF,EAAOe,SAAS,eAEhBf,EAAOe,SAAS,gBCglBxBjC,ED7kBW,SAAClP,GACA,GAAAqR,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAhG,EAAAlK,EAAAmQ,EAAAhR,EAAAF,EAAAmR,EAAAlH,EAAAhL,EAAAmS,EAAAC,EAAAC,CAQA,IARAA,EAAA,WC+kBR,GAAIzH,ED/kBcA,KCilBlB,KDjlBkBI,IAAAmE,GAAA/O,GCklBhBwK,EAAQ7K,KDllBQiL,EColBlB,OAAOJ,MDnlBCoH,GAAkB,EAClBI,EAAYrV,EAAE,SAASwU,SAAS,gBAAgBe,OAEhDF,EAAUrD,OAAOhS,EAAE,QAAQgS,OACvBhS,EAAE,UAAUoO,KAAK/K,GACjBrD,EAAE,UAAUwU,SAAS,SAASpG,KAAK,IAAIkH,EAAOtW,OAAO,OAEtDsW,EAAOtW,OAASgD,EAAK+R,UACpBsB,EAAUrD,OAAOhS,EAAE,OAAO4R,KAAK5P,EAAK+G,cAAcM,cA6ClD,KA3CGiM,EAAOtW,OAAS,IACf6V,EAAW7U,EAAE,OAAOyU,SAASY,GAC7BrR,EAASzD,EAAQyB,EAAKiC,QAASZ,GAC/B6R,EAAclT,EAAK+G,cAAcO,cACjCtJ,EAAE,WAAY8F,KAAM,SAAS2O,SAASI,GACjCxR,MAAM6R,YAAaA,EAAaX,QAAO,cACvCrV,KAAK,QAAS,WACX,GAAAsW,GAAAC,EAAA3I,CCwmBpB,ODxmBoBA,GAAS9M,EAAEjB,MAAMgF,MAAMuH,cAAcoK,OACrCD,EAAa,SAACrT,EAAQuT,GCslBxC,MDtlBqD,UAAC1H,GAChC,GAAA2H,GAAA1R,CACA,OADA0R,GAAc9I,EAAO+I,UAAUzT,EAAOpD,QAAQ0W,OACT,IAAtBE,EAAY5W,SAC3BkF,EAAOE,KAAKuB,KAAK3B,EAAOiK,EAAE3C,cAAesK,IAAlCjX,EAAA8E,KAAmDkS,EAAnDzR,IAAA,KACXsR,EACoC,IAAxB1I,EAAOnO,QAAQ,MAAgB8W,EAAW,MAAO,EAAE,IAC3B,IAAxB3I,EAAOnO,QAAQ,MAAgB8W,EAAW,SAAU,IAC7B,IAAvB3I,EAAOnO,QAAQ,KAAgB8W,EAAW,KAAO,IAC1B,IAAvB3I,EAAOnO,QAAQ,KAAgB8W,EAAW,UACnB,IAAvB3I,EAAOnO,QAAQ,KAAgB,SAACsP,GAChC,MAAoD,KAArCnB,EAAO+I,UAAU,GAAGH,OAAO1W,QAC1CiP,EAAE3C,cAAcL,MAAM6B,EAAO+I,UAAU,KAC1C,SAAC5H,GCylB5B,MDzlBkCA,GAAE3C,cAAc3M,QAAQmO,SAExCuI,EAAUS,KAAK,yCAAyC3H,KAAK,WACzD,MAAGqH,GAAOxV,EAAEjB,MAAMqP,QACdpO,EAAEjB,MAAMgX,SAASA,SAASC,OAE1BhW,EAAEjB,MAAMgX,SAASA,SAASR,WAC1CV,EAAS7C,OAAOhS,EAAE,SAClBA,EAAE,YAAa8F,KAAK,WAAW2O,SAASI,GACnCjD,KAAK5P,EAAK+G,cAAcI,WACxBjK,KAAK,QAAS,WAGX,MAFAmW,GAAUS,KAAK,+BACVG,KAAK,WAAW,GAAMC,YAAY,YAChC,IACflW,EAAE,YAAa8F,KAAK,WAAW2O,SAASI,GACnCjD,KAAK5P,EAAK+G,cAAcK,YACxBlK,KAAK,QAAS,WAGX,MAFAmW,GAAUS,KAAK,yBACVG,KAAK,WAAW,GAAOC,YAAY,YACjC,KAEnBvB,EAAiB3U,EAAE,SAASwU,SAAS,qBAAqBC,SAASY,GAEnEnR,EAAAoR,EAAA9Q,KAAAjE,EAAAyB,EAAAiC,QAAAZ,IAAA0B,EAAA,EAAAkK,EAAA/K,EAAAlF,OAAA+F,EAAAkK,EAAAlK,IC6lBV9B,EAAQiB,EAAKa,GD5lBEqQ,EAAahD,EAAW/O,GAAMJ,GAC9B6R,EAAa9U,EAAE,WACf+U,GAAqB,EAClB/S,EAAKiS,WAAW5Q,GAChB0R,EAAsBpW,EAAA8E,KAAazB,EAAKiS,WAAW5Q,GAA7BJ,GAAA,EACjBjB,EAAKgS,WAAW3Q,KACrB0R,EAAsBpW,EAAA8E,KAASzB,EAAKgS,WAAW3Q,GAAzBJ,IAAA,GACzBgS,IAAAA,EAAoBF,GACpB/U,EAAE,WACEqD,KAAK,OAAQ,YAAYmR,SAAS,aAClCnR,KAAK,WAAY0R,GAAoBlS,KAAK,UAAWQ,EAAKJ,IAC1DwR,SAASK,GACT5V,KAAK,SAAU,WC2lBhC,MD3lBmCc,GAAEjB,MAAMmX,YAAY,aAC1CpB,EAAW9C,OAAOhS,EAAE,UAAUwU,SAAS,SAASpG,KAAKnL,IACrD6R,EAAW9C,OAAOhS,EAAE,UAAUwU,SAAS,SAASpG,KAAK,IAAIgH,EAAW,MACpET,EAAe3C,OAAOhS,EAAE,OAAOgS,OAAO8C,GCuoBzD,ODroBUF,GAAiB,WCqmBzB,MDpmBeS,GAAUS,KAAK,qBAAqB9W,OAChCqW,EAAUS,KAAK,6BAA6B9W,OAC3C0V,EAASF,SAAS,wBAElBE,EAASyB,YAAY,wBAEzBd,EAAUS,KAAK,cAAc/R,IAAI,IACjCsR,EAAUS,KAAK,wBAAwBE,OACvCX,EAAUE,QAElBP,EAAehV,EAAE,OAAOyU,SAASY,GAE9BC,EAAOtW,QAAUgD,EAAK+R,WACrB/T,EAAE,YAAa8F,KAAM,WAAWsI,KAAKpM,EAAK+G,cAAc1J,OACnDoV,SAASO,GAAc9V,KAAK,QAAS,WCgmBpD,MD/lBqBmW,GAAUS,KAAK,YAAYK,YAAY,WAAWnX,QACjD+T,IACJ6B,MAEZ5U,EAAE,YAAa8F,KAAM,WAAWsI,KAAKpM,EAAK+G,cAAcQ,QACnDkL,SAASO,GAAc9V,KAAK,QAAS,WCkmBlD,MDjmBgBmW,GAAUS,KAAK,oBACVK,YAAY,WAAWF,KAAK,WAAW,GAC5CZ,EAAUS,KAAK,0BACVK,YAAY,WAAWF,KAAK,WAAW,GAC5CrB,MAERO,EAAenV,EAAE,UAAUwU,SAAS,eAC/B5C,KAAK,aAAa1S,KAAK,QAAS,SAACkR,GAC9B,GAAAgG,GAAAjS,EAAAkS,CC8lBhB,OD9lBgBlS,GAAcnE,EAAEoQ,EAAEkG,eAAeC,WAAhCH,EAAAjS,EAAAiS,KAAMC,EAAAlS,EAAAkS,IACPhB,EAAUmB,KAAIJ,KAAMA,EAAK,GAAIC,IAAKA,EAAI,KAAIL,SAElDtB,EAAW1U,EAAE,QAAQwU,SAAS,QAAQ3V,GACjCmT,OAAOhS,EAAE,UAAUwU,SAAS,WAAWpG,KAAK/K,GAAMR,KAAK,WAAYQ,GAAM2O,OAAOmD,IAExCF,GAA7CP,EAASF,SAAS,wBAClBf,EAAOzB,OAAO0C,GAAU1C,OAAOqD,GA/GvC,KAAAxW,IAAAwU,GCktBG9T,EAAQkE,KAAK4P,EAAiBxU,KACnCwE,EAAOgQ,EAAgBxU,GACvB0T,EDntBUlP,GAgHRiQ,GAAMtT,EAAE,QAAQyU,SAASjB,GAIzBpH,EAAapM,EAAE,YAAYwU,SAAS,iBAC/BtV,KAAK,SAAU,WCkmBtB,MDlmByB6T,OACvB7O,EAAAlC,EAAA5B,WAAA,KAAAsB,KAAAwC,GCqmBG3E,EAAQkE,KAAKS,EAAMxC,KDpmBlB0K,EAAW4F,OAAOhS,EAAE,YAAY+D,IAAIrC,IAAGkQ,KAAKlQ,IAsDhD,KApDAkR,GACI6D,YAAeC,UAAW,SAAUC,UAAW,SAAUC,KAAM,gBAC/DC,cAAeH,UAAW,SAAUC,UAAW,SAAUC,KAAM,gBAC/DE,cAAeJ,UAAW,SAAUC,UAAW,SAAUC,KAAM,eAEnE1D,EAAgBlT,EAAE,OAAO+W,KAAM,WAAUvC,SAAS,eAC7C3R,KAAK,QAASb,EAAK2K,UAAUiF,KAAKgB,EAAS5Q,EAAK2K,UAAU+J,WAC1DxX,KAAK,QAAS,WConBrB,MDnnBUc,GAAEjB,MAAM8D,KAAK,QAAS+P,EAAS5S,EAAEjB,MAAM8D,KAAK,UAAU+T,MACtD5W,EAAEjB,MAAM6S,KAAKgB,EAAS5S,EAAEjB,MAAM8D,KAAK,UAAU6T,WAC7C3D,MAERV,EAAgBrS,EAAE,OAAO+W,KAAM,WAAUvC,SAAS,eAC7C3R,KAAK,QAASb,EAAK4K,UAAUgF,KAAKgB,EAAS5Q,EAAK4K,UAAU+J,WAC1DzX,KAAK,QAAS,WConBrB,MDnnBUc,GAAEjB,MAAM8D,KAAK,QAAS+P,EAAS5S,EAAEjB,MAAM8D,KAAK,UAAU+T,MACtD5W,EAAEjB,MAAM6S,KAAKgB,EAAS5S,EAAEjB,MAAM8D,KAAK,UAAU8T,WAC7C5D,MAER/S,EAAE,QAAQwU,SAAS,qBAChBC,SAASnB,GACTtB,OAAO5F,GACP4F,OAAOkB,GACPlB,OAAOK,GACPL,OAAOhS,EAAE,SAGZA,EAAE,QAAQwU,SAAS,mDAAmDC,SAASnB,GAE/EC,EAAMvT,EAAE,QAAQyU,SAASjB,GAGzBD,EAAIvB,OAAOhS,EAAE,QAAQwU,SAAS,sCAAsCnR,KAAK,SAAU,QAGnFwP,EAAa7S,EAAE,QACVqD,KAAK,SAAU,OACfmR,SAAS,mBACTC,SAASlB,GAGXvR,EAAKkS,uBAAuB,GAAQP,IACnCH,EAAQsC,KAAK,mBAAmBkB,QAAQ/D,GACxCO,EAAQsC,KAAK,mBAAmBkB,QAAQvD,IAExCD,EAAQwD,QAAQhX,EAAE,QAAQgS,OAAOiB,GAAiBjB,OAAOyB,IAG7D1U,KAAC6S,KAAK4B,GAINrP,EAAAnC,EAAAuK,KAAAxH,EAAA,EAAAkK,EAAA9K,EAAAnF,OAAA+F,EAAAkK,EAAAlK,IC8lBFrD,GAAIyC,EAAKY,GD7lBHhG,KAAC+W,KAAK,YAAY9D,OAAOjT,KAAC+W,KAAK,SAAS9V,EAAEiX,QAAQvV,GAAG2R,IACzD,KAAA5H,EAAAzJ,EAAAyK,KAAAkG,EAAA,EAAAF,EAAAhH,EAAAzM,OAAA2T,EAAAF,EAAAE,ICimBFjR,GAAI+J,EAAKkH,GDhmBH5T,KAAC+W,KAAK,YAAY9D,OAAOjT,KAAC+W,KAAK,SAAS9V,EAAEiX,QAAQvV,GAAG2R,IACtD,OAAArR,EAAAqK,gBACCtN,KAAC+W,KAAK,kBAAkB/R,IAAI/B,EAAKqK,gBAClC,MAAArK,EAAAkV,cACCnY,KAAC+W,KAAK,gBAAgB/R,IAAI/B,EAAKkV,cAEDlV,EAAKqS,QAAvCtV,KAAC+W,KAAK,cAAcP,OAEpB/C,GAAgB,EAGhBQ,EAAiB,SAAAvI,GCmmBnB,MDnmBmB,YACb,GAAAuJ,GAAAC,EAAAkD,EAAAC,EAAAC,EAAAC,EAAAC,EAAA7L,EAAAC,EAAA6L,EAAAC,EAAAC,EAAAC,EAAApT,CAmBA,IAnBAiT,GACI3K,kBAAmB7K,EAAK6K,kBACxB9D,cAAe/G,EAAK+G,cACpByI,gBAAiBxP,EAAKwP,gBACtBvN,QAASjC,EAAKiC,QACdsI,QAAUE,QACV6E,UAAWtP,EAAKsP,WAEpB+F,EAAA,OAAA3L,EAAA1J,EAAA5B,YAAAgM,EAAArI,aAAAL,WAAAgI,EAA0E,EAC1EnH,KACAkG,EAACqL,KAAK,4BAA4B3H,KAAK,WCsmBzC,MDtmB4CqJ,GAAQ/K,KAAKzJ,KAAKhD,EAAEjB,MAAM8D,KAAK,eACzE4H,EAACqL,KAAK,4BAA4B3H,KAAK,WCwmBzC,MDxmB4CqJ,GAAQjL,KAAKvJ,KAAKhD,EAAEjB,MAAM8D,KAAK,eACzE4H,EAACqL,KAAK,mCAAmC3H,KAAK,WAC1C,MAAyB,KAAtBkJ,EACCrX,EAAEjB,MAAM6Y,UAERP,IAC4C,KAAjBrX,EAAEjB,MAAMgF,MAAnCQ,EAAKvB,KAAKhD,EAAEjB,MAAMgF,OAAlB,UAEiB,IAAtBsT,EAEC,IADAE,EAAU9M,EAACqL,KAAK,YACPpU,GAAA+V,EAAA,EAAA9L,EAAA0L,EAAA,GAAA1L,EAAA8L,EAAA9L,EAAA8L,EAAA9L,EAAAjK,GAAA,GAAAiK,IAAA8L,IAAAA,EAAT,CAKI,IAJAL,EAAcpX,EAAE,YACXwU,SAAS,mBACTxC,OAAOhS,EAAE,aACTd,KAAK,SAAU,WC0mB1B,MD1mB6B6T,OACvB2E,EAAA,EAAAP,EAAA/D,EAAApU,OAAA0Y,EAAAP,EAAAO,IC4mBNrU,EAAO+P,EAAmBsE,GD3mBhBN,EAAYpF,OAAOhS,EAAE,YAAY+D,IAAIV,GAAM+K,KAAK/K,GACpDkU,GAAQvF,OAAOoF,GA+DvB,GA7DG5E,IACCjO,EAAOvC,EAAKuC,KACZ1F,EAAI,EACJ4L,EAACqL,KAAK,mCAAmC3H,KAAK,WCgnBlD,MD/mBQnO,GAAEjB,MAAMgF,IAAIQ,EAAK1F,IACjBA,MACJ2T,GAAgB,GAEpBgF,EAAQnL,eAAiBD,EAAWrI,MACpCyT,EAAQjT,KAAOA,EACfiT,EAAQpL,WAAapK,EAAK5B,YAAYgM,EAAWrI,OAAOQ,GACxDiT,EAAQjG,SAAWvP,EAAKlB,UAAUyQ,EAASxN,OAC3CyT,EAAQ7K,SAAWuG,EAAcrQ,KAAK,SACtC2U,EAAQ5K,SAAWyF,EAAcxP,KAAK,SAEtCmR,KACAvJ,EAACqL,KAAK,mBAAmB+B,IAAI,YAAY1J,KAAK,WAC1C,GAAArB,EACA,OADAA,GAAS9M,EAAEjB,MAAM8D,KAAK,UACnB,MAAAmR,EAAAlH,EAAA,IACCkH,EAAWlH,EAAO,IAAI9J,KAAM8J,EAAO,IAEnCkH,EAAWlH,EAAO,KAAQA,EAAO,MAEzCmH,KACAxJ,EAACqL,KAAK,2BAA2B3H,KAAK,WAClC,GAAArB,EACA,IADAA,EAAS9M,EAAEjB,MAAM8D,KAAK,UACnB,MAAAmR,EAAAlH,EAAA,IACC,MAAG,OAAAmH,EAAAnH,EAAA,IACCmH,EAAWnH,EAAO,IAAI9J,KAAM8J,EAAO,IAEnCmH,EAAWnH,EAAO,KAAQA,EAAO,MAE7C0K,EAAQ1K,OAAS,SAACvJ,GACd,GAAAuU,GAAAnK,EAAA/B,EAAAC,CAAA,KAAoB7J,EAAK8K,OAAOvJ,GAAhC,OAAO,CACP,KAAAoK,IAAAqG,GACI,GCsnBR8D,EAAgB9D,EAAWrG,GDtnBnB/B,EAAgB,IAAG,OAAAC,EAAAtI,EAAAoK,IAAA9B,EAAa,QAAhBlN,EAAA8E,KAA2BqU,EAA3BlM,IAAA,EAAhB,OAAO,CACX,QAAO,GAEXiH,EAAW3B,MAAMwB,EAAkB8E,GACnCF,EAAiBtX,EAAEsC,UAAWN,GAC1BuK,KAAMiL,EAAQjL,KACdE,KAAM+K,EAAQ/K,KACdG,SAAU4K,EAAQ5K,SAClBD,SAAU6K,EAAQ7K,SAClBpI,KAAMA,EACNyP,WAAYA,EACZC,WAAYA,EACZ8D,eAAgB9D,EAChB5H,eAAgBD,EAAWrI,MAC3BmT,aAAc3F,EAASxN,QAE3B0G,EAAC5H,KAAK,iBAAkByU,GAGrBtV,EAAKmS,sBACJwD,EAAuBlN,EAACqL,KAAK,iCAC7B9V,EAAE2X,GAAsBK,SAAS,MAC5BxT,KAAK,SAACC,EAAGC,GCwnBlB,MDxnBwBhE,GAAYV,EAAEyE,GAAG2J,OAAQpO,EAAE0E,GAAG0J,UAC7CqG,SAASkD,IAElB9E,EAAW2D,IAAI,UAAW,GACQ,MAAAxU,EAAAoS,UCynBpC,MDznBEpS,GAAKoS,UAAUkD,KA5FFvY,MA8FjBgU,EAAU,SAAAtI,GC4nBZ,MD5nBY,YC8nBV,MD7nBIoI,GAAW2D,IAAI,UAAW,IAC1ByB,WAAWjF,EAAgB,MAFrBjU,MAKVgU,IAEAhU,KAAC+W,KAAK,qBAAqBoC,UACnBC,OAAQ,SAAC/H,EAAGgI,GAAO,GAAiB,MAAAA,EAAAC,OC6nB1C,MD7nByBtF,MACnBuF,YAAavZ,KAAC+W,KAAK,qBACnByC,MAAO,KACPrD,YAAa,mBA9VzB,MAAAzD,IA+VMrB,EAAAqB,GACwB,mBAAAC,UAAA,OAAAA,SAA1BA,QAAQD,MAAMrB,EAAEuB,OAChB5S,KAAC6S,KAAK5P,EAAK+G,cAAcG,eAC7B,MAAOnK,OAMXiB,EAAEb,GAAGwJ,QAAU,SAAC6P,EAAmBxW,GAC/B,GAAAyW,GAAAC,EAAA7Z,EAAA6O,EAAA5O,EAAAiG,EAAA4T,EAAAC,EAAApV,EAAAU,EAAAC,CAwBA,QC6mBW,MAATqU,IDtoBUA,EAAQ,WACpBI,EAAU7Z,KAAC8D,KAAK,WAChB8V,EAAU5Z,KAAC8D,KAAK,WAIhB4V,EAAA,MAAAzW,GAAA,OAAAwB,EAAAxB,EAAA2G,SAAAnF,EAAqCiV,oBAAA,OCsoBZ,MAAvBA,IDroBFA,EAAuB,SAACnD,GACpB,GAAA7O,GAAAC,CAEA,OAFAA,GAAMtC,KAAKsC,IAALrH,MAAA+E,KAASkR,GACf7O,EAAMrC,KAAKqC,IAALpH,MAAA+E,KAASkR,GACR,SAAC5T,GACJ,GAAAmX,EACA,OADAA,GAAS,IAAMzU,KAAK0U,MAAM,KAAKpX,EAAEgF,IAAMD,EAAIC,IACpC,WAAWmS,EAAO,IAAGA,EAAO,OAE3CH,EAAa,SAAAjO,GC2oBb,MD3oBa,UAAC+N,GACV,GAAAO,GAAAC,EAAA1D,CC0pBF,OD1pBE0D,GAAc,SAAC1S,GC6oBf,MD5oBImE,GAACqL,KAAK0C,GAAOrK,KAAK,WACd,GAAAzM,EACA,IADAA,EAAI1B,EAAEjB,MAAM8D,KAAK,SACA,MAAAnB,GAAOe,SAASf,GC8oBrC,MD9oBI4E,GAAE5E,EAAG1B,EAAEjB,UAEfuW,KACA0D,EAAY,SAACtX,GCipBb,MDjpBmB4T,GAAOtS,KAAKtB,KAC/BqX,EAAaN,EAAoBnD,GACjC0D,EAAY,SAACtX,EAAGuX,GCmpBhB,MDnpByBA,GAAKzC,IAAI,mBAAoBuC,EAAWrX,QATxD3C,MAWNyZ,GAAP,IACS,UAAkBE,EAAW,UAA7B,MADT,KAES,aAAkB,IAAsC7Z,EAAAC,EAAA,EAAAoF,EAAA0U,EAAA,GAAA1U,EAAApF,EAAAoF,EAAApF,EAAAoF,EAAArF,EAAA,GAAAqF,IAAApF,IAAAA,EAAtC4Z,EAAW,cAAc7Z,EAA3C,MAFT,KAGS,aAAkB,IAAsC6O,EAAA3I,EAAA,EAAAZ,EAAAwU,EAAA,GAAAxU,EAAAY,EAAAZ,EAAAY,EAAAZ,EAAAuJ,EAAA,GAAAvJ,IAAAY,IAAAA,EAAtC2T,EAAW,cAAchL,GAKpD,MAHAgL,GAAW,sBACXA,EAAW,sBAEJ3Z,MAMXiB,EAAEb,GAAGsJ,SAAW,SAACzG,GACb,GAAAkX,GAAAra,EAAAC,EAAA6Z,EAAAC,EAAApV,CA8CA,KA9CAoV,EAAU7Z,KAAC8D,KAAK,WAChB8V,EAAU5Z,KAAC8D,KAAK,WAEhBqW,EAAa,SAAAzO,GC8pBb,MD9pBa,UAAC+N,GACV,GAAAQ,GAAAvS,EAAAC,EAAAyS,EAAAhX,EAAAmT,CCwrBF,ODxrBE0D,GAAc,SAAC1S,GCgqBf,MD/pBImE,GAACqL,KAAK0C,GAAOrK,KAAK,WACd,GAAAzM,EACA,IADAA,EAAI1B,EAAEjB,MAAM8D,KAAK,SACA,MAAAnB,GAAOe,SAASf,GCiqBrC,MDjqBI4E,GAAE5E,EAAG1B,EAAEjB,UAEfuW,KACA0D,EAAY,SAACtX,GCoqBb,MDpqBmB4T,GAAOtS,KAAKtB,KAC/B+E,EAAMrC,KAAKqC,IAALpH,MAAA+E,KAASkR,GACZ7O,EAAM,IACLA,EAAM,GACV0S,EAAQ1S,EACRC,EAAMtC,KAAKsC,IAALrH,MAAA+E,KAASkR,GACZ5O,EAAM,IACLyS,EAAQ1S,EAAMC,GAClBvE,EAAS,SAACT,GCwqBV,MDxqBgB,KAAIA,GAAG,IAAIyX,IAC3BH,EAAY,SAACtX,EAAGuX,GACZ,GAAAG,GAAAC,EAAAjL,EAAAkL,CCssBJ,ODtsBIlL,GAAO6K,EAAK7K,OACZkL,EAAUtZ,EAAE,SAASwW,KACjBD,SAAY,WACZgD,OAAU,SACdF,EAAU,OACVD,EAAQ,EACL1S,EAAM,IACL0S,EAAQjX,GAAQuE,IACjBhF,EAAI,IACH0X,GAASjX,EAAOT,GAChB2X,EAAU,UACV3X,GAAKA,GACT4X,EAAQtH,OAAOhS,EAAE,SAASwW,KACtBD,SAAY,WACZiD,OAAUJ,EAAQ,IAClBhD,KAAQ,EACRqD,MAAS,EACTF,OAAUpX,EAAOT,GAAK,IACtBgY,mBAAoBL,KACxBC,EAAQtH,OAAOhS,EAAE,SAASoO,KAAKA,GAAMoI,KACjCD,SAAW,WACXoD,eAAe,MACfC,gBAAgB,SAEpBX,EAAKzC,KAAIqD,QAAW,EAAEC,cAAe,MAAOC,aAAc,WAAUnI,KAAK0H,OAzCpEva,MA2CyBF,EAAAC,EAAA,EAAA0E,EAAAoV,EAAA,GAAApV,EAAA1E,EAAA0E,EAAA1E,EAAA0E,EAAA3E,EAAA,GAAA2E,IAAA1E,IAAAA,EAAtCoa,EAAW,cAAcra,EAGzB,OAFAqa,GAAW,sBAEJna,UCyrBZ0E,KAAK1E","file":"pivot.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 ###\n Utilities\n ###\n\n addSeparators = (nStr, thousandsSep, decimalSep) ->\n nStr += ''\n x = nStr.split('.')\n x1 = x[0]\n x2 = if x.length > 1 then decimalSep + x[1] else ''\n rgx = /(\\d+)(\\d{3})/\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2') while rgx.test(x1)\n return x1 + x2\n\n numberFormat = (opts) ->\n defaults =\n digitsAfterDecimal: 2, scaler: 1,\n thousandsSep: \",\", decimalSep: \".\"\n prefix: \"\", suffix: \"\"\n opts = $.extend({}, defaults, opts)\n (x) ->\n return \"\" if isNaN(x) or not isFinite(x)\n result = addSeparators (opts.scaler*x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep\n return \"\"+opts.prefix+result+opts.suffix\n\n #aggregator templates default to US number formatting but this is overrideable\n usFmt = numberFormat()\n usFmtInt = numberFormat(digitsAfterDecimal: 0)\n usFmtPct = numberFormat(digitsAfterDecimal:1, scaler: 100, suffix: \"%\")\n\n aggregatorTemplates =\n count: (formatter=usFmtInt) -> () -> (data, rowKey, colKey) ->\n count: 0\n push: -> @count++\n value: -> @count\n format: formatter\n\n uniques: (fn, formatter=usFmtInt) -> ([attr]) -> (data, rowKey, colKey) ->\n uniq: []\n push: (record) -> @uniq.push(record[attr]) if record[attr] not in @uniq\n value: -> fn(@uniq)\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sum: (formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n sum: 0\n push: (record) -> @sum += parseFloat(record[attr]) if not isNaN parseFloat(record[attr])\n value: -> @sum\n format: formatter\n numInputs: if attr? then 0 else 1\n\n extremes: (mode, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n val: null\n sorter: getSort(data?.sorters, attr)\n push: (record) ->\n x = record[attr]\n if mode in [\"min\", \"max\"]\n x = parseFloat(x)\n if not isNaN x then @val = Math[mode](x, @val ? x)\n if mode == \"first\" then @val = x if @sorter(x, @val ? x) <= 0\n if mode == \"last\" then @val = x if @sorter(x, @val ? x) >= 0\n value: -> @val\n format: (x) -> if isNaN(x) then x else formatter(x)\n numInputs: if attr? then 0 else 1\n\n quantile: (q, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n vals: []\n push: (record) ->\n x = parseFloat(record[attr])\n @vals.push(x) if not isNaN(x)\n value: ->\n return null if @vals.length == 0\n @vals.sort((a,b) -> a-b)\n i = (@vals.length-1)*q\n return (@vals[Math.floor(i)] + @vals[Math.ceil(i)])/2.0\n format: formatter\n numInputs: if attr? then 0 else 1\n\n runningStat: (mode=\"mean\", ddof=1, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n n: 0.0, m: 0.0, s: 0.0\n push: (record) ->\n x = parseFloat(record[attr])\n return if isNaN(x)\n @n += 1.0\n if @n == 1.0\n @m = x\n else\n m_new = @m + (x - @m)/@n\n @s = @s + (x - @m)*(x - m_new)\n @m = m_new\n value: ->\n if mode == \"mean\"\n return if @n == 0 then 0/0 else @m\n return 0 if @n <= ddof\n switch mode\n when \"var\" then @s/(@n-ddof)\n when \"stdev\" then Math.sqrt(@s/(@n-ddof))\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sumOverSum: (formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: -> @sumNum/@sumDenom\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n sumOverSumBound80: (upper=true, formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: ->\n sign = if upper then 1 else -1\n (0.821187207574908/@sumDenom + @sumNum/@sumDenom + 1.2815515655446004*sign*\n Math.sqrt(0.410593603787454/ (@sumDenom*@sumDenom) + (@sumNum*(1 - @sumNum/ @sumDenom))/ (@sumDenom*@sumDenom)))/\n (1 + 1.642374415149816/@sumDenom)\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n fractionOf: (wrapped, type=\"total\", formatter=usFmtPct) -> (x...) -> (data, rowKey, colKey) ->\n selector: {total:[[],[]],row:[rowKey,[]],col:[[],colKey]}[type]\n inner: wrapped(x...)(data, rowKey, colKey)\n push: (record) -> @inner.push record\n format: formatter\n value: -> @inner.value() / data.getAggregator(@selector...).inner.value()\n numInputs: wrapped(x...)().numInputs\n\n aggregatorTemplates.countUnique = (f) -> aggregatorTemplates.uniques(((x) -> x.length), f)\n aggregatorTemplates.listUnique = (s) -> aggregatorTemplates.uniques(((x) -> x.sort(naturalSort).join(s)), ((x)->x))\n aggregatorTemplates.max = (f) -> aggregatorTemplates.extremes('max', f)\n aggregatorTemplates.min = (f) -> aggregatorTemplates.extremes('min', f)\n aggregatorTemplates.first = (f) -> aggregatorTemplates.extremes('first', f)\n aggregatorTemplates.last = (f) -> aggregatorTemplates.extremes('last', f)\n aggregatorTemplates.median = (f) -> aggregatorTemplates.quantile(0.5, f)\n aggregatorTemplates.average = (f) -> aggregatorTemplates.runningStat(\"mean\", 1, f)\n aggregatorTemplates.var = (ddof, f) -> aggregatorTemplates.runningStat(\"var\", ddof, f)\n aggregatorTemplates.stdev = (ddof, f) -> aggregatorTemplates.runningStat(\"stdev\", ddof, f)\n\n #default aggregators & renderers use US naming and number formatting\n aggregators = do (tpl = aggregatorTemplates) ->\n \"Count\": tpl.count(usFmtInt)\n \"Count Unique Values\": tpl.countUnique(usFmtInt)\n \"List Unique Values\": tpl.listUnique(\", \")\n \"Sum\": tpl.sum(usFmt)\n \"Integer Sum\": tpl.sum(usFmtInt)\n \"Average\": tpl.average(usFmt)\n \"Median\": tpl.median(usFmt)\n \"Sample Variance\": tpl.var(1, usFmt)\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt)\n \"Minimum\": tpl.min(usFmt)\n \"Maximum\": tpl.max(usFmt)\n \"First\": tpl.first(usFmt)\n \"Last\": tpl.last(usFmt)\n \"Sum over Sum\": tpl.sumOverSum(usFmt)\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt)\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt)\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct)\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct)\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct)\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct)\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct)\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n\n renderers =\n \"Table\": (data, opts) -> pivotTableRenderer(data, opts)\n \"Table Barchart\": (data, opts) -> $(pivotTableRenderer(data, opts)).barchart()\n \"Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts)\n \"Row Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts)\n \"Col Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts)\n\n locales =\n en:\n aggregators: aggregators\n renderers: renderers\n localeStrings:\n renderError: \"An error occurred rendering the PivotTable results.\"\n computeError: \"An error occurred computing the PivotTable results.\"\n uiRenderError: \"An error occurred rendering the PivotTable UI.\"\n selectAll: \"Select All\"\n selectNone: \"Select None\"\n tooMany: \"(too many to list)\"\n filterResults: \"Filter values\"\n apply: \"Apply\"\n cancel: \"Cancel\"\n totals: \"Totals\" #for table renderer\n vs: \"vs\" #for gchart renderer\n by: \"by\" #for gchart renderer\n\n #dateFormat deriver l10n requires month and day names to be passed in directly\n mthNamesEn = [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]\n dayNamesEn = [\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]\n zeroPad = (number) -> (\"0\"+number).substr(-2,2)\n\n derivers =\n bin: (col, binWidth) -> (record) -> record[col] - record[col] % binWidth\n dateFormat: (col, formatString, utcOutput=false, mthNames=mthNamesEn, dayNames=dayNamesEn) ->\n utc = if utcOutput then \"UTC\" else \"\"\n (record) -> #thanks http://stackoverflow.com/a/12213072/112871\n date = new Date(Date.parse(record[col]))\n if isNaN(date) then return \"\"\n formatString.replace /%(.)/g, (m, p) ->\n switch p\n when \"y\" then date[\"get#{utc}FullYear\"]()\n when \"m\" then zeroPad(date[\"get#{utc}Month\"]()+1)\n when \"n\" then mthNames[date[\"get#{utc}Month\"]()]\n when \"d\" then zeroPad(date[\"get#{utc}Date\"]())\n when \"w\" then dayNames[date[\"get#{utc}Day\"]()]\n when \"x\" then date[\"get#{utc}Day\"]()\n when \"H\" then zeroPad(date[\"get#{utc}Hours\"]())\n when \"M\" then zeroPad(date[\"get#{utc}Minutes\"]())\n when \"S\" then zeroPad(date[\"get#{utc}Seconds\"]())\n else \"%\" + p\n\n rx = /(\\d+)|(\\D+)/g\n rd = /\\d/\n rz = /^0/\n naturalSort = (as, bs) =>\n #nulls first\n return -1 if bs? and not as?\n return 1 if as? and not bs?\n\n #then raw NaNs\n return -1 if typeof as == \"number\" and isNaN(as)\n return 1 if typeof bs == \"number\" and isNaN(bs)\n\n #numbers and numbery strings group together\n nas = +as\n nbs = +bs\n return -1 if nas < nbs\n return 1 if nas > nbs\n\n #within that, true numbers before numbery strings\n return -1 if typeof as == \"number\" and typeof bs != \"number\"\n return 1 if typeof bs == \"number\" and typeof as != \"number\"\n return 0 if typeof as == \"number\" and typeof bs == \"number\"\n\n # 'Infinity' is a textual number, so less than 'A'\n return -1 if isNaN(nbs) and not isNaN(nas)\n return 1 if isNaN(nas) and not isNaN(nbs)\n\n #finally, \"smart\" string sorting per http://stackoverflow.com/a/4373421/112871\n a = String(as)\n b = String(bs)\n return 0 if a == b\n return (if a > b then 1 else -1) unless rd.test(a) and rd.test(b)\n\n #special treatment for strings containing digits\n a = a.match(rx) #create digits vs non-digit chunks and iterate through\n b = b.match(rx)\n while a.length and b.length\n a1 = a.shift()\n b1 = b.shift()\n if a1 != b1\n if rd.test(a1) and rd.test(b1) #both are digit chunks\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\")\n else\n return (if a1 > b1 then 1 else -1)\n return a.length - b.length\n\n sortAs = (order) ->\n mapping = {}\n l_mapping = {} # sort lowercased keys similarly\n for i, x of order\n mapping[x] = i\n l_mapping[x.toLowerCase()] = i if typeof x == \"string\"\n (a, b) ->\n if mapping[a]? and mapping[b]? then mapping[a] - mapping[b]\n else if mapping[a]? then -1\n else if mapping[b]? then 1\n else if l_mapping[a]? and l_mapping[b]? then l_mapping[a] - l_mapping[b]\n else if l_mapping[a]? then -1\n else if l_mapping[b]? then 1\n else naturalSort(a,b)\n\n getSort = (sorters, attr) ->\n if sorters?\n if $.isFunction(sorters)\n sort = sorters(attr)\n return sort if $.isFunction(sort)\n else if sorters[attr]?\n return sorters[attr]\n return naturalSort\n\n ###\n Data Model class\n ###\n\n class PivotData\n constructor: (input, opts = {}) ->\n @input = input\n @aggregator = opts.aggregator ? aggregatorTemplates.count()()\n @aggregatorName = opts.aggregatorName ? \"Count\"\n @colAttrs = opts.cols ? []\n @rowAttrs = opts.rows ? []\n @valAttrs = opts.vals ? []\n @sorters = opts.sorters ? {}\n @rowOrder = opts.rowOrder ? \"key_a_to_z\"\n @colOrder = opts.colOrder ? \"key_a_to_z\"\n @derivedAttributes = opts.derivedAttributes ? {}\n @filter = opts.filter ? (-> true)\n @tree = {}\n @rowKeys = []\n @colKeys = []\n @rowTotals = {}\n @colTotals = {}\n @allTotal = @aggregator(this, [], [])\n @sorted = false\n\n # iterate through input, accumulating data for cells\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n @processRecord(record) if @filter(record)\n\n #can handle arrays or jQuery selections of tables\n @forEachRecord = (input, derivedAttributes, f) ->\n if $.isEmptyObject derivedAttributes\n addRecord = f\n else\n addRecord = (record) ->\n record[k] = v(record) ? record[k] for k, v of derivedAttributes\n f(record)\n\n #if it's a function, have it call us back\n if $.isFunction(input)\n input(addRecord)\n else if $.isArray(input)\n if $.isArray(input[0]) #array of arrays\n for own i, compactRecord of input when i > 0\n record = {}\n record[k] = compactRecord[j] for own j, k of input[0]\n addRecord(record)\n else #array of objects\n addRecord(record) for record in input\n else if input instanceof $\n tblCols = []\n $(\"thead > tr > th\", input).each (i) -> tblCols.push $(this).text()\n $(\"tbody > tr\", input).each (i) ->\n record = {}\n $(\"td\", this).each (j) -> record[tblCols[j]] = $(this).text()\n addRecord(record)\n else\n throw new Error(\"unknown input format\")\n\n forEachMatchingRecord: (criteria, callback) ->\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n return if not @filter(record)\n for k, v of criteria\n return if v != (record[k] ? \"null\")\n callback(record)\n\n arrSort: (attrs) =>\n sortersArr = (getSort(@sorters, a) for a in attrs)\n (a,b) ->\n for own i, sorter of sortersArr\n comparison = sorter(a[i], b[i])\n return comparison if comparison != 0\n return 0\n\n sortKeys: () =>\n if not @sorted\n @sorted = true\n v = (r,c) => @getAggregator(r,c).value()\n switch @rowOrder\n when \"value_a_to_z\" then @rowKeys.sort (a,b) => naturalSort v(a,[]), v(b,[])\n when \"value_z_to_a\" then @rowKeys.sort (a,b) => -naturalSort v(a,[]), v(b,[])\n else @rowKeys.sort @arrSort(@rowAttrs)\n switch @colOrder\n when \"value_a_to_z\" then @colKeys.sort (a,b) => naturalSort v([],a), v([],b)\n when \"value_z_to_a\" then @colKeys.sort (a,b) => -naturalSort v([],a), v([],b)\n else @colKeys.sort @arrSort(@colAttrs)\n\n getColKeys: () =>\n @sortKeys()\n return @colKeys\n\n getRowKeys: () =>\n @sortKeys()\n return @rowKeys\n\n processRecord: (record) -> #this code is called in a tight loop\n colKey = []\n rowKey = []\n colKey.push record[x] ? \"null\" for x in @colAttrs\n rowKey.push record[x] ? \"null\" for x in @rowAttrs\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n\n @allTotal.push record\n\n if rowKey.length != 0\n if not @rowTotals[flatRowKey]\n @rowKeys.push rowKey\n @rowTotals[flatRowKey] = @aggregator(this, rowKey, [])\n @rowTotals[flatRowKey].push record\n\n if colKey.length != 0\n if not @colTotals[flatColKey]\n @colKeys.push colKey\n @colTotals[flatColKey] = @aggregator(this, [], colKey)\n @colTotals[flatColKey].push record\n\n if colKey.length != 0 and rowKey.length != 0\n if not @tree[flatRowKey]\n @tree[flatRowKey] = {}\n if not @tree[flatRowKey][flatColKey]\n @tree[flatRowKey][flatColKey] = @aggregator(this, rowKey, colKey)\n @tree[flatRowKey][flatColKey].push record\n\n getAggregator: (rowKey, colKey) =>\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n if rowKey.length == 0 and colKey.length == 0\n agg = @allTotal\n else if rowKey.length == 0\n agg = @colTotals[flatColKey]\n else if colKey.length == 0\n agg = @rowTotals[flatRowKey]\n else\n agg = @tree[flatRowKey][flatColKey]\n return agg ? {value: (-> null), format: -> \"\"}\n\n #expose these to the outside world\n $.pivotUtilities = {aggregatorTemplates, aggregators, renderers, derivers, locales,\n naturalSort, numberFormat, sortAs, PivotData}\n\n ###\n Default Renderer for hierarchical table layout\n ###\n\n pivotTableRenderer = (pivotData, opts) ->\n\n defaults =\n table:\n clickCallback: null\n rowTotals: true\n colTotals: true\n localeStrings: totals: \"Totals\"\n\n opts = $.extend(true, {}, defaults, opts)\n\n colAttrs = pivotData.colAttrs\n rowAttrs = pivotData.rowAttrs\n rowKeys = pivotData.getRowKeys()\n colKeys = pivotData.getColKeys()\n\n if opts.table.clickCallback\n getClickHandler = (value, rowValues, colValues) ->\n filters = {}\n filters[attr] = colValues[i] for own i, attr of colAttrs when colValues[i]?\n filters[attr] = rowValues[i] for own i, attr of rowAttrs when rowValues[i]?\n return (e) -> opts.table.clickCallback(e, value, filters, pivotData)\n\n #now actually build the output\n result = document.createElement(\"table\")\n result.className = \"pvtTable\"\n\n #helper function for setting row/col-span in pivotTableRenderer\n spanSize = (arr, i, j) ->\n if i != 0\n noDraw = true\n for x in [0..j]\n if arr[i-1][x] != arr[i][x]\n noDraw = false\n if noDraw\n return -1 #do not draw cell\n len = 0\n while i+len < arr.length\n stop = false\n for x in [0..j]\n stop = true if arr[i][x] != arr[i+len][x]\n break if stop\n len++\n return len\n\n #the first few rows are for col headers\n thead = document.createElement(\"thead\")\n for own j, c of colAttrs\n tr = document.createElement(\"tr\")\n if parseInt(j) == 0 and rowAttrs.length != 0\n th = document.createElement(\"th\")\n th.setAttribute(\"colspan\", rowAttrs.length)\n th.setAttribute(\"rowspan\", colAttrs.length)\n tr.appendChild th\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = c\n tr.appendChild th\n for own i, colKey of colKeys\n x = spanSize(colKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtColLabel\"\n th.textContent = colKey[j]\n th.setAttribute(\"colspan\", x)\n if parseInt(j) == colAttrs.length-1 and rowAttrs.length != 0\n th.setAttribute(\"rowspan\", 2)\n tr.appendChild th\n if parseInt(j) == 0 && opts.table.rowTotals\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"rowspan\", colAttrs.length + (if rowAttrs.length ==0 then 0 else 1))\n tr.appendChild th\n thead.appendChild tr\n\n #then a row for row header headers\n if rowAttrs.length !=0\n tr = document.createElement(\"tr\")\n for own i, r of rowAttrs\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = r\n tr.appendChild th\n th = document.createElement(\"th\")\n if colAttrs.length ==0\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n tr.appendChild th\n thead.appendChild tr\n result.appendChild thead\n\n #now the actual data rows, with their row headers and totals\n tbody = document.createElement(\"tbody\")\n for own i, rowKey of rowKeys\n tr = document.createElement(\"tr\")\n for own j, txt of rowKey\n x = spanSize(rowKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtRowLabel\"\n th.textContent = txt\n th.setAttribute(\"rowspan\", x)\n if parseInt(j) == rowAttrs.length-1 and colAttrs.length !=0\n th.setAttribute(\"colspan\",2)\n tr.appendChild th\n for own j, colKey of colKeys #this is the tight loop\n aggregator = pivotData.getAggregator(rowKey, colKey)\n val = aggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtVal row#{i} col#{j}\"\n td.textContent = aggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, colKey)\n tr.appendChild td\n\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator(rowKey, [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal rowTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, [])\n td.setAttribute(\"data-for\", \"row\"+i)\n tr.appendChild td\n tbody.appendChild tr\n\n #finally, the row for col totals, and a grand total\n if opts.table.colTotals || rowAttrs.length == 0\n tr = document.createElement(\"tr\")\n if opts.table.colTotals || rowAttrs.length == 0\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtColTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"colspan\", rowAttrs.length + (if colAttrs.length == 0 then 0 else 1))\n tr.appendChild th\n for own j, colKey of colKeys\n totalAggregator = pivotData.getAggregator([], colKey)\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal colTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], colKey)\n td.setAttribute(\"data-for\", \"col\"+j)\n tr.appendChild td\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator([], [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtGrandTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], [])\n tr.appendChild td\n tbody.appendChild tr\n result.appendChild tbody\n\n #squirrel this away for later\n result.setAttribute(\"data-numrows\", rowKeys.length)\n result.setAttribute(\"data-numcols\", colKeys.length)\n\n return result\n\n ###\n Pivot Table core: create PivotData object and call Renderer on it\n ###\n\n $.fn.pivot = (input, inputOpts, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n cols : [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n filter: -> true\n aggregator: aggregatorTemplates.count()()\n aggregatorName: \"Count\"\n sorters: {}\n derivedAttributes: {}\n renderer: pivotTableRenderer\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n\n result = null\n try\n pivotData = new opts.dataClass(input, opts)\n try\n result = opts.renderer(pivotData, opts.rendererOptions)\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.renderError\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.computeError\n\n x = this[0]\n x.removeChild(x.lastChild) while x.hasChildNodes()\n return @append result\n\n\n ###\n Pivot Table UI: calls Pivot Table core above with options set by user\n ###\n\n $.fn.pivotUI = (input, inputOpts, overwrite = false, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n derivedAttributes: {}\n aggregators: locales[locale].aggregators\n renderers: locales[locale].renderers\n hiddenAttributes: []\n hiddenFromAggregators: []\n hiddenFromDragDrop: []\n menuLimit: 500\n cols: [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n exclusions: {}\n inclusions: {}\n unusedAttrsVertical: 85\n autoSortUnusedAttrs: false\n onRefresh: null\n showUI: true\n filter: -> true\n sorters: {}\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n existingOpts = @data \"pivotUIOptions\"\n if not existingOpts? or overwrite\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n else\n opts = existingOpts\n\n try\n # do a first pass on the data to cache a materialized copy of any\n # function-valued inputs and to compute dimension cardinalities\n attrValues = {}\n materializedInput = []\n recordsProcessed = 0\n PivotData.forEachRecord input, opts.derivedAttributes, (record) ->\n return unless opts.filter(record)\n materializedInput.push(record)\n for own attr of record\n if not attrValues[attr]?\n attrValues[attr] = {}\n if recordsProcessed > 0\n attrValues[attr][\"null\"] = recordsProcessed\n for attr of attrValues\n value = record[attr] ? \"null\"\n attrValues[attr][value] ?= 0\n attrValues[attr][value]++\n recordsProcessed++\n\n #start building the output\n uiTable = $(\"\", \"class\": \"pvtUi\").attr(\"cellpadding\", 5)\n\n #renderer control\n rendererControl = $(\"\").addClass(\"pvtUiCell\")\n\n renderer = $(\"\")\n .addClass('pvtRenderer')\n .appendTo(rendererControl)\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.renderers\n $(\"\").val(x).html(x).appendTo(renderer)\n\n\n #axis list, including the double-click menu\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell')\n shownAttributes = (a for a of attrValues when a not in opts.hiddenAttributes)\n shownInAggregators = (c for c in shownAttributes when c not in opts.hiddenFromAggregators)\n shownInDragDrop = (c for c in shownAttributes when c not in opts.hiddenFromDragDrop)\n\n\n unusedAttrsVerticalAutoOverride = false\n if opts.unusedAttrsVertical == \"auto\"\n unusedAttrsVerticalAutoCutoff = 120 # legacy support\n else\n unusedAttrsVerticalAutoCutoff = parseInt opts.unusedAttrsVertical\n\n if not isNaN(unusedAttrsVerticalAutoCutoff)\n attrLength = 0\n attrLength += a.length for a in shownInDragDrop\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff\n\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n unused.addClass('pvtVertList')\n else\n unused.addClass('pvtHorizList')\n\n for own i, attr of shownInDragDrop\n do (attr) ->\n values = (v for v of attrValues[attr])\n hasExcludedItem = false\n valueList = $(\"\").addClass('pvtFilterBox').hide()\n\n valueList.append $(\"\").append(\n $(\"\").text(attr),\n $(\"\").addClass(\"count\").text(\"(#{values.length})\"),\n )\n if values.length > opts.menuLimit\n valueList.append $(\"\").html(opts.localeStrings.tooMany)\n else\n if values.length > 5\n controls = $(\"\").appendTo(valueList)\n sorter = getSort(opts.sorters, attr)\n placeholder = opts.localeStrings.filterResults\n $(\"\", {type: \"text\"}).appendTo(controls)\n .attr({placeholder: placeholder, class: \"pvtSearch\"})\n .bind \"keyup\", ->\n filter = $(this).val().toLowerCase().trim()\n accept_gen = (prefix, accepted) -> (v) ->\n real_filter = filter.substring(prefix.length).trim()\n return true if real_filter.length == 0\n return Math.sign(sorter(v.toLowerCase(), real_filter)) in accepted\n accept =\n if filter.indexOf(\">=\") == 0 then accept_gen(\">=\", [1,0])\n else if filter.indexOf(\"<=\") == 0 then accept_gen(\"<=\", [-1,0])\n else if filter.indexOf(\">\") == 0 then accept_gen(\">\", [1])\n else if filter.indexOf(\"<\") == 0 then accept_gen(\"<\", [-1])\n else if filter.indexOf(\"~\") == 0 then (v) ->\n return true if filter.substring(1).trim().length == 0\n v.toLowerCase().match(filter.substring(1))\n else (v) -> v.toLowerCase().indexOf(filter) != -1\n\n valueList.find('.pvtCheckContainer p label span.value').each ->\n if accept($(this).text())\n $(this).parent().parent().show()\n else\n $(this).parent().parent().hide()\n controls.append $(\"\")\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectAll)\n .bind \"click\", ->\n valueList.find(\"input:visible:not(:checked)\")\n .prop(\"checked\", true).toggleClass(\"changed\")\n return false\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectNone)\n .bind \"click\", ->\n valueList.find(\"input:visible:checked\")\n .prop(\"checked\", false).toggleClass(\"changed\")\n return false\n\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList)\n\n for value in values.sort(getSort(opts.sorters, attr))\n valueCount = attrValues[attr][value]\n filterItem = $(\"\")\n filterItemExcluded = false\n if opts.inclusions[attr]\n filterItemExcluded = (value not in opts.inclusions[attr])\n else if opts.exclusions[attr]\n filterItemExcluded = (value in opts.exclusions[attr])\n hasExcludedItem ||= filterItemExcluded\n $(\"\")\n .attr(\"type\", \"checkbox\").addClass('pvtFilter')\n .attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr,value])\n .appendTo(filterItem)\n .bind \"change\", -> $(this).toggleClass(\"changed\")\n filterItem.append $(\"\").addClass(\"value\").text(value)\n filterItem.append $(\"\").addClass(\"count\").text(\"(\"+valueCount+\")\")\n checkContainer.append $(\"\").append(filterItem)\n\n closeFilterBox = ->\n if valueList.find(\"[type='checkbox']\").length >\n valueList.find(\"[type='checkbox']:checked\").length\n attrElem.addClass \"pvtFilteredAttribute\"\n else\n attrElem.removeClass \"pvtFilteredAttribute\"\n\n valueList.find('.pvtSearch').val('')\n valueList.find('.pvtCheckContainer p').show()\n valueList.hide()\n\n finalButtons = $(\"\").appendTo(valueList)\n\n if values.length <= opts.menuLimit\n $(\"\", {type: \"button\"}).text(opts.localeStrings.apply)\n .appendTo(finalButtons).bind \"click\", ->\n if valueList.find(\".changed\").removeClass(\"changed\").length\n refresh()\n closeFilterBox()\n\n $(\"\", {type: \"button\"}).text(opts.localeStrings.cancel)\n .appendTo(finalButtons).bind \"click\", ->\n valueList.find(\".changed:checked\")\n .removeClass(\"changed\").prop(\"checked\", false)\n valueList.find(\".changed:not(:checked)\")\n .removeClass(\"changed\").prop(\"checked\", true)\n closeFilterBox()\n\n triangleLink = $(\"\").addClass('pvtTriangle')\n .html(\" ▾\").bind \"click\", (e) ->\n {left, top} = $(e.currentTarget).position()\n valueList.css(left: left+10, top: top+10).show()\n\n attrElem = $(\"\").addClass(\"axis_#{i}\")\n .append $(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink)\n\n attrElem.addClass('pvtFilteredAttribute') if hasExcludedItem\n unused.append(attrElem).append(valueList)\n\n tr1 = $(\"\").appendTo(uiTable)\n\n #aggregator menu and value area\n\n aggregator = $(\"\").addClass('pvtAggregator')\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.aggregators\n aggregator.append $(\"\").val(x).html(x)\n\n ordering =\n key_a_to_z: {rowSymbol: \"↕\", colSymbol: \"↔\", next: \"value_a_to_z\"}\n value_a_to_z: {rowSymbol: \"↓\", colSymbol: \"→\", next: \"value_z_to_a\"}\n value_z_to_a: {rowSymbol: \"↑\", colSymbol: \"←\", next: \"key_a_to_z\"}\n\n rowOrderArrow = $(\"\", role: \"button\").addClass(\"pvtRowOrder\")\n .data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol)\n refresh()\n\n colOrderArrow = $(\"\", role: \"button\").addClass(\"pvtColOrder\")\n .data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].colSymbol)\n refresh()\n\n $(\"\").addClass('pvtVals pvtUiCell')\n .appendTo(tr1)\n .append(aggregator)\n .append(rowOrderArrow)\n .append(colOrderArrow)\n .append($(\"\"))\n\n #column axes\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1)\n\n tr2 = $(\"\").appendTo(uiTable)\n\n #row axes\n tr2.append $(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\")\n\n #the actual pivot table container\n pivotTable = $(\"\")\n .attr(\"valign\", \"top\")\n .addClass('pvtRendererArea')\n .appendTo(tr2)\n\n #finally the renderer dropdown and unused attribs are inserted at the requested location\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n uiTable.find('tr:nth-child(1)').prepend rendererControl\n uiTable.find('tr:nth-child(2)').prepend unused\n else\n uiTable.prepend $(\"\").append(rendererControl).append(unused)\n\n #render the UI in its default state\n @html uiTable\n\n #set up the UI initial state as requested by moving elements around\n\n for x in opts.cols\n @find(\".pvtCols\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n for x in opts.rows\n @find(\".pvtRows\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n if opts.aggregatorName?\n @find(\".pvtAggregator\").val opts.aggregatorName\n if opts.rendererName?\n @find(\".pvtRenderer\").val opts.rendererName\n\n @find(\".pvtUiCell\").hide() unless opts.showUI\n\n initialRender = true\n\n #set up for refreshing\n refreshDelayed = =>\n subopts =\n derivedAttributes: opts.derivedAttributes\n localeStrings: opts.localeStrings\n rendererOptions: opts.rendererOptions\n sorters: opts.sorters\n cols: [], rows: []\n dataClass: opts.dataClass\n\n numInputsToProcess = opts.aggregators[aggregator.val()]([])().numInputs ? 0\n vals = []\n @find(\".pvtRows li span.pvtAttr\").each -> subopts.rows.push $(this).data(\"attrName\")\n @find(\".pvtCols li span.pvtAttr\").each -> subopts.cols.push $(this).data(\"attrName\")\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n if numInputsToProcess == 0\n $(this).remove()\n else\n numInputsToProcess--\n vals.push $(this).val() if $(this).val() != \"\"\n\n if numInputsToProcess != 0\n pvtVals = @find(\".pvtVals\")\n for x in [0...numInputsToProcess]\n newDropdown = $(\"\")\n .addClass('pvtAttrDropdown')\n .append($(\"\"))\n .bind \"change\", -> refresh()\n for attr in shownInAggregators\n newDropdown.append($(\"\").val(attr).text(attr))\n pvtVals.append(newDropdown)\n\n if initialRender\n vals = opts.vals\n i = 0\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n $(this).val vals[i]\n i++\n initialRender = false\n\n subopts.aggregatorName = aggregator.val()\n subopts.vals = vals\n subopts.aggregator = opts.aggregators[aggregator.val()](vals)\n subopts.renderer = opts.renderers[renderer.val()]\n subopts.rowOrder = rowOrderArrow.data(\"order\")\n subopts.colOrder = colOrderArrow.data(\"order\")\n #construct filter here\n exclusions = {}\n @find('input.pvtFilter').not(':checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n exclusions[filter[0]].push( filter[1] )\n else\n exclusions[filter[0]] = [ filter[1] ]\n #include inclusions when exclusions present\n inclusions = {}\n @find('input.pvtFilter:checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n if inclusions[filter[0]]?\n inclusions[filter[0]].push( filter[1] )\n else\n inclusions[filter[0]] = [ filter[1] ]\n\n subopts.filter = (record) ->\n return false if not opts.filter(record)\n for k,excludedItems of exclusions\n return false if \"\"+(record[k] ? 'null') in excludedItems\n return true\n\n pivotTable.pivot(materializedInput,subopts)\n pivotUIOptions = $.extend {}, opts,\n cols: subopts.cols\n rows: subopts.rows\n colOrder: subopts.colOrder\n rowOrder: subopts.rowOrder\n vals: vals\n exclusions: exclusions\n inclusions: inclusions\n inclusionsInfo: inclusions #duplicated for backwards-compatibility\n aggregatorName: aggregator.val()\n rendererName: renderer.val()\n\n @data \"pivotUIOptions\", pivotUIOptions\n\n # if requested make sure unused columns are in alphabetical order\n if opts.autoSortUnusedAttrs\n unusedAttrsContainer = @find(\"td.pvtUnused.pvtAxisContainer\")\n $(unusedAttrsContainer).children(\"li\")\n .sort((a, b) => naturalSort($(a).text(), $(b).text()))\n .appendTo unusedAttrsContainer\n\n pivotTable.css(\"opacity\", 1)\n opts.onRefresh(pivotUIOptions) if opts.onRefresh?\n\n refresh = =>\n pivotTable.css(\"opacity\", 0.5)\n setTimeout refreshDelayed, 10\n\n #the very first refresh will actually display the table\n refresh()\n\n @find(\".pvtAxisContainer\").sortable\n update: (e, ui) -> refresh() if not ui.sender?\n connectWith: @find(\".pvtAxisContainer\")\n items: 'li'\n placeholder: 'pvtPlaceholder'\n catch e\n console.error(e.stack) if console?\n @html opts.localeStrings.uiRenderError\n return this\n\n ###\n Heatmap post-processing\n ###\n\n $.fn.heatmap = (scope = \"heatmap\", opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n # given a series of values\n # must return a function to map a given value to a CSS color\n colorScaleGenerator = opts?.heatmap?.colorScaleGenerator\n colorScaleGenerator ?= (values) ->\n min = Math.min(values...)\n max = Math.max(values...)\n return (x) ->\n nonRed = 255 - Math.round 255*(x-min)/(max-min)\n return \"rgb(255,#{nonRed},#{nonRed})\"\n\n heatmapper = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n colorScale = colorScaleGenerator(values)\n forEachCell (x, elem) -> elem.css \"background-color\", colorScale(x)\n\n switch scope\n when \"heatmap\" then heatmapper \".pvtVal\"\n when \"rowheatmap\" then heatmapper \".pvtVal.row#{i}\" for i in [0...numRows]\n when \"colheatmap\" then heatmapper \".pvtVal.col#{j}\" for j in [0...numCols]\n\n heatmapper \".pvtTotal.rowTotal\"\n heatmapper \".pvtTotal.colTotal\"\n\n return this\n\n ###\n Barchart post-processing\n ###\n\n $.fn.barchart = (opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n barcharter = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n max = Math.max(values...)\n if max < 0\n max = 0\n range = max;\n min = Math.min(values...)\n if min < 0\n range = max - min\n scaler = (x) -> 100*x/(1.4*range)\n forEachCell (x, elem) ->\n text = elem.text()\n wrapper = $(\"\").css\n \"position\": \"relative\"\n \"height\": \"55px\"\n bgColor = \"gray\"\n bBase = 0\n if min < 0\n bBase = scaler(-min)\n if x < 0\n bBase += scaler(x)\n bgColor = \"darkred\"\n x = -x\n wrapper.append $(\"\").css\n \"position\": \"absolute\"\n \"bottom\": bBase + \"%\"\n \"left\": 0\n \"right\": 0\n \"height\": scaler(x) + \"%\"\n \"background-color\": bgColor\n wrapper.append $(\"\").text(text).css\n \"position\":\"relative\"\n \"padding-left\":\"5px\"\n \"padding-right\":\"5px\"\n\n elem.css(\"padding\": 0,\"padding-top\": \"5px\", \"text-align\": \"center\").html wrapper\n\n barcharter \".pvtVal.row#{i}\" for i in [0...numRows]\n barcharter \".pvtTotal.colTotal\"\n\n return this\n","(function() {\n var callWithJQuery,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },\n slice = [].slice,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n hasProp = {}.hasOwnProperty;\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\n /*\n Utilities\n */\n var PivotData, addSeparators, aggregatorTemplates, aggregators, dayNamesEn, derivers, getSort, locales, mthNamesEn, naturalSort, numberFormat, pivotTableRenderer, rd, renderers, rx, rz, sortAs, usFmt, usFmtInt, usFmtPct, zeroPad;\n addSeparators = function(nStr, thousandsSep, decimalSep) {\n var rgx, x, x1, x2;\n nStr += '';\n x = nStr.split('.');\n x1 = x[0];\n x2 = x.length > 1 ? decimalSep + x[1] : '';\n rgx = /(\\d+)(\\d{3})/;\n while (rgx.test(x1)) {\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2');\n }\n return x1 + x2;\n };\n numberFormat = function(opts) {\n var defaults;\n defaults = {\n digitsAfterDecimal: 2,\n scaler: 1,\n thousandsSep: \",\",\n decimalSep: \".\",\n prefix: \"\",\n suffix: \"\"\n };\n opts = $.extend({}, defaults, opts);\n return function(x) {\n var result;\n if (isNaN(x) || !isFinite(x)) {\n return \"\";\n }\n result = addSeparators((opts.scaler * x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep);\n return \"\" + opts.prefix + result + opts.suffix;\n };\n };\n usFmt = numberFormat();\n usFmtInt = numberFormat({\n digitsAfterDecimal: 0\n });\n usFmtPct = numberFormat({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\"\n });\n aggregatorTemplates = {\n count: function(formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function() {\n return function(data, rowKey, colKey) {\n return {\n count: 0,\n push: function() {\n return this.count++;\n },\n value: function() {\n return this.count;\n },\n format: formatter\n };\n };\n };\n },\n uniques: function(fn, formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n uniq: [],\n push: function(record) {\n var ref;\n if (ref = record[attr], indexOf.call(this.uniq, ref) < 0) {\n return this.uniq.push(record[attr]);\n }\n },\n value: function() {\n return fn(this.uniq);\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n sum: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[attr]))) {\n return this.sum += parseFloat(record[attr]);\n }\n },\n value: function() {\n return this.sum;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n extremes: function(mode, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n val: null,\n sorter: getSort(data != null ? data.sorters : void 0, attr),\n push: function(record) {\n var ref, ref1, ref2, x;\n x = record[attr];\n if (mode === \"min\" || mode === \"max\") {\n x = parseFloat(x);\n if (!isNaN(x)) {\n this.val = Math[mode](x, (ref = this.val) != null ? ref : x);\n }\n }\n if (mode === \"first\") {\n if (this.sorter(x, (ref1 = this.val) != null ? ref1 : x) <= 0) {\n this.val = x;\n }\n }\n if (mode === \"last\") {\n if (this.sorter(x, (ref2 = this.val) != null ? ref2 : x) >= 0) {\n return this.val = x;\n }\n }\n },\n value: function() {\n return this.val;\n },\n format: function(x) {\n if (isNaN(x)) {\n return x;\n } else {\n return formatter(x);\n }\n },\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n quantile: function(q, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n vals: [],\n push: function(record) {\n var x;\n x = parseFloat(record[attr]);\n if (!isNaN(x)) {\n return this.vals.push(x);\n }\n },\n value: function() {\n var i;\n if (this.vals.length === 0) {\n return null;\n }\n this.vals.sort(function(a, b) {\n return a - b;\n });\n i = (this.vals.length - 1) * q;\n return (this.vals[Math.floor(i)] + this.vals[Math.ceil(i)]) / 2.0;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n runningStat: function(mode, ddof, formatter) {\n if (mode == null) {\n mode = \"mean\";\n }\n if (ddof == null) {\n ddof = 1;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n n: 0.0,\n m: 0.0,\n s: 0.0,\n push: function(record) {\n var m_new, x;\n x = parseFloat(record[attr]);\n if (isNaN(x)) {\n return;\n }\n this.n += 1.0;\n if (this.n === 1.0) {\n return this.m = x;\n } else {\n m_new = this.m + (x - this.m) / this.n;\n this.s = this.s + (x - this.m) * (x - m_new);\n return this.m = m_new;\n }\n },\n value: function() {\n if (mode === \"mean\") {\n if (this.n === 0) {\n return 0 / 0;\n } else {\n return this.m;\n }\n }\n if (this.n <= ddof) {\n return 0;\n }\n switch (mode) {\n case \"var\":\n return this.s / (this.n - ddof);\n case \"stdev\":\n return Math.sqrt(this.s / (this.n - ddof));\n }\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sumOverSum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n return this.sumNum / this.sumDenom;\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n sumOverSumBound80: function(upper, formatter) {\n if (upper == null) {\n upper = true;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n var sign;\n sign = upper ? 1 : -1;\n return (0.821187207574908 / this.sumDenom + this.sumNum / this.sumDenom + 1.2815515655446004 * sign * Math.sqrt(0.410593603787454 / (this.sumDenom * this.sumDenom) + (this.sumNum * (1 - this.sumNum / this.sumDenom)) / (this.sumDenom * this.sumDenom))) / (1 + 1.642374415149816 / this.sumDenom);\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n fractionOf: function(wrapped, type, formatter) {\n if (type == null) {\n type = \"total\";\n }\n if (formatter == null) {\n formatter = usFmtPct;\n }\n return function() {\n var x;\n x = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return function(data, rowKey, colKey) {\n return {\n selector: {\n total: [[], []],\n row: [rowKey, []],\n col: [[], colKey]\n }[type],\n inner: wrapped.apply(null, x)(data, rowKey, colKey),\n push: function(record) {\n return this.inner.push(record);\n },\n format: formatter,\n value: function() {\n return this.inner.value() / data.getAggregator.apply(data, this.selector).inner.value();\n },\n numInputs: wrapped.apply(null, x)().numInputs\n };\n };\n };\n }\n };\n aggregatorTemplates.countUnique = function(f) {\n return aggregatorTemplates.uniques((function(x) {\n return x.length;\n }), f);\n };\n aggregatorTemplates.listUnique = function(s) {\n return aggregatorTemplates.uniques((function(x) {\n return x.sort(naturalSort).join(s);\n }), (function(x) {\n return x;\n }));\n };\n aggregatorTemplates.max = function(f) {\n return aggregatorTemplates.extremes('max', f);\n };\n aggregatorTemplates.min = function(f) {\n return aggregatorTemplates.extremes('min', f);\n };\n aggregatorTemplates.first = function(f) {\n return aggregatorTemplates.extremes('first', f);\n };\n aggregatorTemplates.last = function(f) {\n return aggregatorTemplates.extremes('last', f);\n };\n aggregatorTemplates.median = function(f) {\n return aggregatorTemplates.quantile(0.5, f);\n };\n aggregatorTemplates.average = function(f) {\n return aggregatorTemplates.runningStat(\"mean\", 1, f);\n };\n aggregatorTemplates[\"var\"] = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"var\", ddof, f);\n };\n aggregatorTemplates.stdev = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"stdev\", ddof, f);\n };\n aggregators = (function(tpl) {\n return {\n \"Count\": tpl.count(usFmtInt),\n \"Count Unique Values\": tpl.countUnique(usFmtInt),\n \"List Unique Values\": tpl.listUnique(\", \"),\n \"Sum\": tpl.sum(usFmt),\n \"Integer Sum\": tpl.sum(usFmtInt),\n \"Average\": tpl.average(usFmt),\n \"Median\": tpl.median(usFmt),\n \"Sample Variance\": tpl[\"var\"](1, usFmt),\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt),\n \"Minimum\": tpl.min(usFmt),\n \"Maximum\": tpl.max(usFmt),\n \"First\": tpl.first(usFmt),\n \"Last\": tpl.last(usFmt),\n \"Sum over Sum\": tpl.sumOverSum(usFmt),\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt),\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt),\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct),\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct),\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct),\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct),\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct),\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n };\n })(aggregatorTemplates);\n renderers = {\n \"Table\": function(data, opts) {\n return pivotTableRenderer(data, opts);\n },\n \"Table Barchart\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).barchart();\n },\n \"Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts);\n },\n \"Row Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts);\n },\n \"Col Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts);\n }\n };\n locales = {\n en: {\n aggregators: aggregators,\n renderers: renderers,\n localeStrings: {\n renderError: \"An error occurred rendering the PivotTable results.\",\n computeError: \"An error occurred computing the PivotTable results.\",\n uiRenderError: \"An error occurred rendering the PivotTable UI.\",\n selectAll: \"Select All\",\n selectNone: \"Select None\",\n tooMany: \"(too many to list)\",\n filterResults: \"Filter values\",\n apply: \"Apply\",\n cancel: \"Cancel\",\n totals: \"Totals\",\n vs: \"vs\",\n by: \"by\"\n }\n }\n };\n mthNamesEn = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n dayNamesEn = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n zeroPad = function(number) {\n return (\"0\" + number).substr(-2, 2);\n };\n derivers = {\n bin: function(col, binWidth) {\n return function(record) {\n return record[col] - record[col] % binWidth;\n };\n },\n dateFormat: function(col, formatString, utcOutput, mthNames, dayNames) {\n var utc;\n if (utcOutput == null) {\n utcOutput = false;\n }\n if (mthNames == null) {\n mthNames = mthNamesEn;\n }\n if (dayNames == null) {\n dayNames = dayNamesEn;\n }\n utc = utcOutput ? \"UTC\" : \"\";\n return function(record) {\n var date;\n date = new Date(Date.parse(record[col]));\n if (isNaN(date)) {\n return \"\";\n }\n return formatString.replace(/%(.)/g, function(m, p) {\n switch (p) {\n case \"y\":\n return date[\"get\" + utc + \"FullYear\"]();\n case \"m\":\n return zeroPad(date[\"get\" + utc + \"Month\"]() + 1);\n case \"n\":\n return mthNames[date[\"get\" + utc + \"Month\"]()];\n case \"d\":\n return zeroPad(date[\"get\" + utc + \"Date\"]());\n case \"w\":\n return dayNames[date[\"get\" + utc + \"Day\"]()];\n case \"x\":\n return date[\"get\" + utc + \"Day\"]();\n case \"H\":\n return zeroPad(date[\"get\" + utc + \"Hours\"]());\n case \"M\":\n return zeroPad(date[\"get\" + utc + \"Minutes\"]());\n case \"S\":\n return zeroPad(date[\"get\" + utc + \"Seconds\"]());\n default:\n return \"%\" + p;\n }\n });\n };\n }\n };\n rx = /(\\d+)|(\\D+)/g;\n rd = /\\d/;\n rz = /^0/;\n naturalSort = (function(_this) {\n return function(as, bs) {\n var a, a1, b, b1, nas, nbs;\n if ((bs != null) && (as == null)) {\n return -1;\n }\n if ((as != null) && (bs == null)) {\n return 1;\n }\n if (typeof as === \"number\" && isNaN(as)) {\n return -1;\n }\n if (typeof bs === \"number\" && isNaN(bs)) {\n return 1;\n }\n nas = +as;\n nbs = +bs;\n if (nas < nbs) {\n return -1;\n }\n if (nas > nbs) {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs !== \"number\") {\n return -1;\n }\n if (typeof bs === \"number\" && typeof as !== \"number\") {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs === \"number\") {\n return 0;\n }\n if (isNaN(nbs) && !isNaN(nas)) {\n return -1;\n }\n if (isNaN(nas) && !isNaN(nbs)) {\n return 1;\n }\n a = String(as);\n b = String(bs);\n if (a === b) {\n return 0;\n }\n if (!(rd.test(a) && rd.test(b))) {\n return (a > b ? 1 : -1);\n }\n a = a.match(rx);\n b = b.match(rx);\n while (a.length && b.length) {\n a1 = a.shift();\n b1 = b.shift();\n if (a1 !== b1) {\n if (rd.test(a1) && rd.test(b1)) {\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\");\n } else {\n return (a1 > b1 ? 1 : -1);\n }\n }\n }\n return a.length - b.length;\n };\n })(this);\n sortAs = function(order) {\n var i, l_mapping, mapping, x;\n mapping = {};\n l_mapping = {};\n for (i in order) {\n x = order[i];\n mapping[x] = i;\n if (typeof x === \"string\") {\n l_mapping[x.toLowerCase()] = i;\n }\n }\n return function(a, b) {\n if ((mapping[a] != null) && (mapping[b] != null)) {\n return mapping[a] - mapping[b];\n } else if (mapping[a] != null) {\n return -1;\n } else if (mapping[b] != null) {\n return 1;\n } else if ((l_mapping[a] != null) && (l_mapping[b] != null)) {\n return l_mapping[a] - l_mapping[b];\n } else if (l_mapping[a] != null) {\n return -1;\n } else if (l_mapping[b] != null) {\n return 1;\n } else {\n return naturalSort(a, b);\n }\n };\n };\n getSort = function(sorters, attr) {\n var sort;\n if (sorters != null) {\n if ($.isFunction(sorters)) {\n sort = sorters(attr);\n if ($.isFunction(sort)) {\n return sort;\n }\n } else if (sorters[attr] != null) {\n return sorters[attr];\n }\n }\n return naturalSort;\n };\n\n /*\n Data Model class\n */\n PivotData = (function() {\n function PivotData(input, opts) {\n var ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9;\n if (opts == null) {\n opts = {};\n }\n this.getAggregator = bind(this.getAggregator, this);\n this.getRowKeys = bind(this.getRowKeys, this);\n this.getColKeys = bind(this.getColKeys, this);\n this.sortKeys = bind(this.sortKeys, this);\n this.arrSort = bind(this.arrSort, this);\n this.input = input;\n this.aggregator = (ref = opts.aggregator) != null ? ref : aggregatorTemplates.count()();\n this.aggregatorName = (ref1 = opts.aggregatorName) != null ? ref1 : \"Count\";\n this.colAttrs = (ref2 = opts.cols) != null ? ref2 : [];\n this.rowAttrs = (ref3 = opts.rows) != null ? ref3 : [];\n this.valAttrs = (ref4 = opts.vals) != null ? ref4 : [];\n this.sorters = (ref5 = opts.sorters) != null ? ref5 : {};\n this.rowOrder = (ref6 = opts.rowOrder) != null ? ref6 : \"key_a_to_z\";\n this.colOrder = (ref7 = opts.colOrder) != null ? ref7 : \"key_a_to_z\";\n this.derivedAttributes = (ref8 = opts.derivedAttributes) != null ? ref8 : {};\n this.filter = (ref9 = opts.filter) != null ? ref9 : (function() {\n return true;\n });\n this.tree = {};\n this.rowKeys = [];\n this.colKeys = [];\n this.rowTotals = {};\n this.colTotals = {};\n this.allTotal = this.aggregator(this, [], []);\n this.sorted = false;\n PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n if (_this.filter(record)) {\n return _this.processRecord(record);\n }\n };\n })(this));\n }\n\n PivotData.forEachRecord = function(input, derivedAttributes, f) {\n var addRecord, compactRecord, i, j, k, l, len1, record, ref, results, results1, tblCols;\n if ($.isEmptyObject(derivedAttributes)) {\n addRecord = f;\n } else {\n addRecord = function(record) {\n var k, ref, v;\n for (k in derivedAttributes) {\n v = derivedAttributes[k];\n record[k] = (ref = v(record)) != null ? ref : record[k];\n }\n return f(record);\n };\n }\n if ($.isFunction(input)) {\n return input(addRecord);\n } else if ($.isArray(input)) {\n if ($.isArray(input[0])) {\n results = [];\n for (i in input) {\n if (!hasProp.call(input, i)) continue;\n compactRecord = input[i];\n if (!(i > 0)) {\n continue;\n }\n record = {};\n ref = input[0];\n for (j in ref) {\n if (!hasProp.call(ref, j)) continue;\n k = ref[j];\n record[k] = compactRecord[j];\n }\n results.push(addRecord(record));\n }\n return results;\n } else {\n results1 = [];\n for (l = 0, len1 = input.length; l < len1; l++) {\n record = input[l];\n results1.push(addRecord(record));\n }\n return results1;\n }\n } else if (input instanceof $) {\n tblCols = [];\n $(\"thead > tr > th\", input).each(function(i) {\n return tblCols.push($(this).text());\n });\n return $(\"tbody > tr\", input).each(function(i) {\n record = {};\n $(\"td\", this).each(function(j) {\n return record[tblCols[j]] = $(this).text();\n });\n return addRecord(record);\n });\n } else {\n throw new Error(\"unknown input format\");\n }\n };\n\n PivotData.prototype.forEachMatchingRecord = function(criteria, callback) {\n return PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n var k, ref, v;\n if (!_this.filter(record)) {\n return;\n }\n for (k in criteria) {\n v = criteria[k];\n if (v !== ((ref = record[k]) != null ? ref : \"null\")) {\n return;\n }\n }\n return callback(record);\n };\n })(this));\n };\n\n PivotData.prototype.arrSort = function(attrs) {\n var a, sortersArr;\n sortersArr = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = attrs.length; l < len1; l++) {\n a = attrs[l];\n results.push(getSort(this.sorters, a));\n }\n return results;\n }).call(this);\n return function(a, b) {\n var comparison, i, sorter;\n for (i in sortersArr) {\n if (!hasProp.call(sortersArr, i)) continue;\n sorter = sortersArr[i];\n comparison = sorter(a[i], b[i]);\n if (comparison !== 0) {\n return comparison;\n }\n }\n return 0;\n };\n };\n\n PivotData.prototype.sortKeys = function() {\n var v;\n if (!this.sorted) {\n this.sorted = true;\n v = (function(_this) {\n return function(r, c) {\n return _this.getAggregator(r, c).value();\n };\n })(this);\n switch (this.rowOrder) {\n case \"value_a_to_z\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n case \"value_z_to_a\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n default:\n this.rowKeys.sort(this.arrSort(this.rowAttrs));\n }\n switch (this.colOrder) {\n case \"value_a_to_z\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v([], a), v([], b));\n };\n })(this));\n case \"value_z_to_a\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v([], a), v([], b));\n };\n })(this));\n default:\n return this.colKeys.sort(this.arrSort(this.colAttrs));\n }\n }\n };\n\n PivotData.prototype.getColKeys = function() {\n this.sortKeys();\n return this.colKeys;\n };\n\n PivotData.prototype.getRowKeys = function() {\n this.sortKeys();\n return this.rowKeys;\n };\n\n PivotData.prototype.processRecord = function(record) {\n var colKey, flatColKey, flatRowKey, l, len1, len2, n, ref, ref1, ref2, ref3, rowKey, x;\n colKey = [];\n rowKey = [];\n ref = this.colAttrs;\n for (l = 0, len1 = ref.length; l < len1; l++) {\n x = ref[l];\n colKey.push((ref1 = record[x]) != null ? ref1 : \"null\");\n }\n ref2 = this.rowAttrs;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n rowKey.push((ref3 = record[x]) != null ? ref3 : \"null\");\n }\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n this.allTotal.push(record);\n if (rowKey.length !== 0) {\n if (!this.rowTotals[flatRowKey]) {\n this.rowKeys.push(rowKey);\n this.rowTotals[flatRowKey] = this.aggregator(this, rowKey, []);\n }\n this.rowTotals[flatRowKey].push(record);\n }\n if (colKey.length !== 0) {\n if (!this.colTotals[flatColKey]) {\n this.colKeys.push(colKey);\n this.colTotals[flatColKey] = this.aggregator(this, [], colKey);\n }\n this.colTotals[flatColKey].push(record);\n }\n if (colKey.length !== 0 && rowKey.length !== 0) {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n if (!this.tree[flatRowKey][flatColKey]) {\n this.tree[flatRowKey][flatColKey] = this.aggregator(this, rowKey, colKey);\n }\n return this.tree[flatRowKey][flatColKey].push(record);\n }\n };\n\n PivotData.prototype.getAggregator = function(rowKey, colKey) {\n var agg, flatColKey, flatRowKey;\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n if (rowKey.length === 0 && colKey.length === 0) {\n agg = this.allTotal;\n } else if (rowKey.length === 0) {\n agg = this.colTotals[flatColKey];\n } else if (colKey.length === 0) {\n agg = this.rowTotals[flatRowKey];\n } else {\n agg = this.tree[flatRowKey][flatColKey];\n }\n return agg != null ? agg : {\n value: (function() {\n return null;\n }),\n format: function() {\n return \"\";\n }\n };\n };\n\n return PivotData;\n\n })();\n $.pivotUtilities = {\n aggregatorTemplates: aggregatorTemplates,\n aggregators: aggregators,\n renderers: renderers,\n derivers: derivers,\n locales: locales,\n naturalSort: naturalSort,\n numberFormat: numberFormat,\n sortAs: sortAs,\n PivotData: PivotData\n };\n\n /*\n Default Renderer for hierarchical table layout\n */\n pivotTableRenderer = function(pivotData, opts) {\n 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;\n defaults = {\n table: {\n clickCallback: null,\n rowTotals: true,\n colTotals: true\n },\n localeStrings: {\n totals: \"Totals\"\n }\n };\n opts = $.extend(true, {}, defaults, opts);\n colAttrs = pivotData.colAttrs;\n rowAttrs = pivotData.rowAttrs;\n rowKeys = pivotData.getRowKeys();\n colKeys = pivotData.getColKeys();\n if (opts.table.clickCallback) {\n getClickHandler = function(value, rowValues, colValues) {\n var attr, filters, i;\n filters = {};\n for (i in colAttrs) {\n if (!hasProp.call(colAttrs, i)) continue;\n attr = colAttrs[i];\n if (colValues[i] != null) {\n filters[attr] = colValues[i];\n }\n }\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n attr = rowAttrs[i];\n if (rowValues[i] != null) {\n filters[attr] = rowValues[i];\n }\n }\n return function(e) {\n return opts.table.clickCallback(e, value, filters, pivotData);\n };\n };\n }\n result = document.createElement(\"table\");\n result.className = \"pvtTable\";\n spanSize = function(arr, i, j) {\n var l, len, n, noDraw, ref, ref1, stop, x;\n if (i !== 0) {\n noDraw = true;\n for (x = l = 0, ref = j; 0 <= ref ? l <= ref : l >= ref; x = 0 <= ref ? ++l : --l) {\n if (arr[i - 1][x] !== arr[i][x]) {\n noDraw = false;\n }\n }\n if (noDraw) {\n return -1;\n }\n }\n len = 0;\n while (i + len < arr.length) {\n stop = false;\n for (x = n = 0, ref1 = j; 0 <= ref1 ? n <= ref1 : n >= ref1; x = 0 <= ref1 ? ++n : --n) {\n if (arr[i][x] !== arr[i + len][x]) {\n stop = true;\n }\n }\n if (stop) {\n break;\n }\n len++;\n }\n return len;\n };\n thead = document.createElement(\"thead\");\n for (j in colAttrs) {\n if (!hasProp.call(colAttrs, j)) continue;\n c = colAttrs[j];\n tr = document.createElement(\"tr\");\n if (parseInt(j) === 0 && rowAttrs.length !== 0) {\n th = document.createElement(\"th\");\n th.setAttribute(\"colspan\", rowAttrs.length);\n th.setAttribute(\"rowspan\", colAttrs.length);\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = c;\n tr.appendChild(th);\n for (i in colKeys) {\n if (!hasProp.call(colKeys, i)) continue;\n colKey = colKeys[i];\n x = spanSize(colKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtColLabel\";\n th.textContent = colKey[j];\n th.setAttribute(\"colspan\", x);\n if (parseInt(j) === colAttrs.length - 1 && rowAttrs.length !== 0) {\n th.setAttribute(\"rowspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n if (parseInt(j) === 0 && opts.table.rowTotals) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"rowspan\", colAttrs.length + (rowAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n thead.appendChild(tr);\n }\n if (rowAttrs.length !== 0) {\n tr = document.createElement(\"tr\");\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n r = rowAttrs[i];\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = r;\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n if (colAttrs.length === 0) {\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n }\n tr.appendChild(th);\n thead.appendChild(tr);\n }\n result.appendChild(thead);\n tbody = document.createElement(\"tbody\");\n for (i in rowKeys) {\n if (!hasProp.call(rowKeys, i)) continue;\n rowKey = rowKeys[i];\n tr = document.createElement(\"tr\");\n for (j in rowKey) {\n if (!hasProp.call(rowKey, j)) continue;\n txt = rowKey[j];\n x = spanSize(rowKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtRowLabel\";\n th.textContent = txt;\n th.setAttribute(\"rowspan\", x);\n if (parseInt(j) === rowAttrs.length - 1 && colAttrs.length !== 0) {\n th.setAttribute(\"colspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n aggregator = pivotData.getAggregator(rowKey, colKey);\n val = aggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtVal row\" + i + \" col\" + j;\n td.textContent = aggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, colKey);\n }\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator(rowKey, []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal rowTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, []);\n }\n td.setAttribute(\"data-for\", \"row\" + i);\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n if (opts.table.colTotals || rowAttrs.length === 0) {\n tr = document.createElement(\"tr\");\n if (opts.table.colTotals || rowAttrs.length === 0) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtColTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"colspan\", rowAttrs.length + (colAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n totalAggregator = pivotData.getAggregator([], colKey);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal colTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], colKey);\n }\n td.setAttribute(\"data-for\", \"col\" + j);\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator([], []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtGrandTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], []);\n }\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n result.appendChild(tbody);\n result.setAttribute(\"data-numrows\", rowKeys.length);\n result.setAttribute(\"data-numcols\", colKeys.length);\n return result;\n };\n\n /*\n Pivot Table core: create PivotData object and call Renderer on it\n */\n $.fn.pivot = function(input, inputOpts, locale) {\n var defaults, e, localeDefaults, localeStrings, opts, pivotData, result, x;\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n filter: function() {\n return true;\n },\n aggregator: aggregatorTemplates.count()(),\n aggregatorName: \"Count\",\n sorters: {},\n derivedAttributes: {},\n renderer: pivotTableRenderer\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n result = null;\n try {\n pivotData = new opts.dataClass(input, opts);\n try {\n result = opts.renderer(pivotData, opts.rendererOptions);\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.renderError);\n }\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.computeError);\n }\n x = this[0];\n while (x.hasChildNodes()) {\n x.removeChild(x.lastChild);\n }\n return this.append(result);\n };\n\n /*\n Pivot Table UI: calls Pivot Table core above with options set by user\n */\n $.fn.pivotUI = function(input, inputOpts, overwrite, locale) {\n 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;\n if (overwrite == null) {\n overwrite = false;\n }\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n derivedAttributes: {},\n aggregators: locales[locale].aggregators,\n renderers: locales[locale].renderers,\n hiddenAttributes: [],\n hiddenFromAggregators: [],\n hiddenFromDragDrop: [],\n menuLimit: 500,\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n exclusions: {},\n inclusions: {},\n unusedAttrsVertical: 85,\n autoSortUnusedAttrs: false,\n onRefresh: null,\n showUI: true,\n filter: function() {\n return true;\n },\n sorters: {}\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n existingOpts = this.data(\"pivotUIOptions\");\n if ((existingOpts == null) || overwrite) {\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n } else {\n opts = existingOpts;\n }\n try {\n attrValues = {};\n materializedInput = [];\n recordsProcessed = 0;\n PivotData.forEachRecord(input, opts.derivedAttributes, function(record) {\n var attr, base, ref, value;\n if (!opts.filter(record)) {\n return;\n }\n materializedInput.push(record);\n for (attr in record) {\n if (!hasProp.call(record, attr)) continue;\n if (attrValues[attr] == null) {\n attrValues[attr] = {};\n if (recordsProcessed > 0) {\n attrValues[attr][\"null\"] = recordsProcessed;\n }\n }\n }\n for (attr in attrValues) {\n value = (ref = record[attr]) != null ? ref : \"null\";\n if ((base = attrValues[attr])[value] == null) {\n base[value] = 0;\n }\n attrValues[attr][value]++;\n }\n return recordsProcessed++;\n });\n uiTable = $(\"\", {\n \"class\": \"pvtUi\"\n }).attr(\"cellpadding\", 5);\n rendererControl = $(\"\").addClass(\"pvtUiCell\");\n renderer = $(\"\").addClass('pvtRenderer').appendTo(rendererControl).bind(\"change\", function() {\n return refresh();\n });\n ref = opts.renderers;\n for (x in ref) {\n if (!hasProp.call(ref, x)) continue;\n $(\"\").val(x).html(x).appendTo(renderer);\n }\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell');\n shownAttributes = (function() {\n var results;\n results = [];\n for (a in attrValues) {\n if (indexOf.call(opts.hiddenAttributes, a) < 0) {\n results.push(a);\n }\n }\n return results;\n })();\n shownInAggregators = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromAggregators, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n shownInDragDrop = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromDragDrop, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n unusedAttrsVerticalAutoOverride = false;\n if (opts.unusedAttrsVertical === \"auto\") {\n unusedAttrsVerticalAutoCutoff = 120;\n } else {\n unusedAttrsVerticalAutoCutoff = parseInt(opts.unusedAttrsVertical);\n }\n if (!isNaN(unusedAttrsVerticalAutoCutoff)) {\n attrLength = 0;\n for (l = 0, len1 = shownInDragDrop.length; l < len1; l++) {\n a = shownInDragDrop[l];\n attrLength += a.length;\n }\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff;\n }\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n unused.addClass('pvtVertList');\n } else {\n unused.addClass('pvtHorizList');\n }\n fn1 = function(attr) {\n var attrElem, checkContainer, closeFilterBox, controls, filterItem, filterItemExcluded, finalButtons, hasExcludedItem, len2, n, placeholder, ref1, sorter, triangleLink, v, value, valueCount, valueList, values;\n values = (function() {\n var results;\n results = [];\n for (v in attrValues[attr]) {\n results.push(v);\n }\n return results;\n })();\n hasExcludedItem = false;\n valueList = $(\"\").addClass('pvtFilterBox').hide();\n valueList.append($(\"\").append($(\"\").text(attr), $(\"\").addClass(\"count\").text(\"(\" + values.length + \")\")));\n if (values.length > opts.menuLimit) {\n valueList.append($(\"\").html(opts.localeStrings.tooMany));\n } else {\n if (values.length > 5) {\n controls = $(\"\").appendTo(valueList);\n sorter = getSort(opts.sorters, attr);\n placeholder = opts.localeStrings.filterResults;\n $(\"\", {\n type: \"text\"\n }).appendTo(controls).attr({\n placeholder: placeholder,\n \"class\": \"pvtSearch\"\n }).bind(\"keyup\", function() {\n var accept, accept_gen, filter;\n filter = $(this).val().toLowerCase().trim();\n accept_gen = function(prefix, accepted) {\n return function(v) {\n var real_filter, ref1;\n real_filter = filter.substring(prefix.length).trim();\n if (real_filter.length === 0) {\n return true;\n }\n return ref1 = Math.sign(sorter(v.toLowerCase(), real_filter)), indexOf.call(accepted, ref1) >= 0;\n };\n };\n 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) {\n if (filter.substring(1).trim().length === 0) {\n return true;\n }\n return v.toLowerCase().match(filter.substring(1));\n } : function(v) {\n return v.toLowerCase().indexOf(filter) !== -1;\n };\n return valueList.find('.pvtCheckContainer p label span.value').each(function() {\n if (accept($(this).text())) {\n return $(this).parent().parent().show();\n } else {\n return $(this).parent().parent().hide();\n }\n });\n });\n controls.append($(\"\"));\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectAll).bind(\"click\", function() {\n valueList.find(\"input:visible:not(:checked)\").prop(\"checked\", true).toggleClass(\"changed\");\n return false;\n });\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectNone).bind(\"click\", function() {\n valueList.find(\"input:visible:checked\").prop(\"checked\", false).toggleClass(\"changed\");\n return false;\n });\n }\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList);\n ref1 = values.sort(getSort(opts.sorters, attr));\n for (n = 0, len2 = ref1.length; n < len2; n++) {\n value = ref1[n];\n valueCount = attrValues[attr][value];\n filterItem = $(\"\");\n filterItemExcluded = false;\n if (opts.inclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.inclusions[attr], value) < 0);\n } else if (opts.exclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.exclusions[attr], value) >= 0);\n }\n hasExcludedItem || (hasExcludedItem = filterItemExcluded);\n $(\"\").attr(\"type\", \"checkbox\").addClass('pvtFilter').attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr, value]).appendTo(filterItem).bind(\"change\", function() {\n return $(this).toggleClass(\"changed\");\n });\n filterItem.append($(\"\").addClass(\"value\").text(value));\n filterItem.append($(\"\").addClass(\"count\").text(\"(\" + valueCount + \")\"));\n checkContainer.append($(\"\").append(filterItem));\n }\n }\n closeFilterBox = function() {\n if (valueList.find(\"[type='checkbox']\").length > valueList.find(\"[type='checkbox']:checked\").length) {\n attrElem.addClass(\"pvtFilteredAttribute\");\n } else {\n attrElem.removeClass(\"pvtFilteredAttribute\");\n }\n valueList.find('.pvtSearch').val('');\n valueList.find('.pvtCheckContainer p').show();\n return valueList.hide();\n };\n finalButtons = $(\"\").appendTo(valueList);\n if (values.length <= opts.menuLimit) {\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.apply).appendTo(finalButtons).bind(\"click\", function() {\n if (valueList.find(\".changed\").removeClass(\"changed\").length) {\n refresh();\n }\n return closeFilterBox();\n });\n }\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.cancel).appendTo(finalButtons).bind(\"click\", function() {\n valueList.find(\".changed:checked\").removeClass(\"changed\").prop(\"checked\", false);\n valueList.find(\".changed:not(:checked)\").removeClass(\"changed\").prop(\"checked\", true);\n return closeFilterBox();\n });\n triangleLink = $(\"\").addClass('pvtTriangle').html(\" ▾\").bind(\"click\", function(e) {\n var left, ref2, top;\n ref2 = $(e.currentTarget).position(), left = ref2.left, top = ref2.top;\n return valueList.css({\n left: left + 10,\n top: top + 10\n }).show();\n });\n attrElem = $(\"\").addClass(\"axis_\" + i).append($(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink));\n if (hasExcludedItem) {\n attrElem.addClass('pvtFilteredAttribute');\n }\n return unused.append(attrElem).append(valueList);\n };\n for (i in shownInDragDrop) {\n if (!hasProp.call(shownInDragDrop, i)) continue;\n attr = shownInDragDrop[i];\n fn1(attr);\n }\n tr1 = $(\"\").appendTo(uiTable);\n aggregator = $(\"\").addClass('pvtAggregator').bind(\"change\", function() {\n return refresh();\n });\n ref1 = opts.aggregators;\n for (x in ref1) {\n if (!hasProp.call(ref1, x)) continue;\n aggregator.append($(\"\").val(x).html(x));\n }\n ordering = {\n key_a_to_z: {\n rowSymbol: \"↕\",\n colSymbol: \"↔\",\n next: \"value_a_to_z\"\n },\n value_a_to_z: {\n rowSymbol: \"↓\",\n colSymbol: \"→\",\n next: \"value_z_to_a\"\n },\n value_z_to_a: {\n rowSymbol: \"↑\",\n colSymbol: \"←\",\n next: \"key_a_to_z\"\n }\n };\n rowOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtRowOrder\").data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol);\n return refresh();\n });\n colOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtColOrder\").data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].colSymbol);\n return refresh();\n });\n $(\"\").addClass('pvtVals pvtUiCell').appendTo(tr1).append(aggregator).append(rowOrderArrow).append(colOrderArrow).append($(\"\"));\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1);\n tr2 = $(\"\").appendTo(uiTable);\n tr2.append($(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\"));\n pivotTable = $(\"\").attr(\"valign\", \"top\").addClass('pvtRendererArea').appendTo(tr2);\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n uiTable.find('tr:nth-child(1)').prepend(rendererControl);\n uiTable.find('tr:nth-child(2)').prepend(unused);\n } else {\n uiTable.prepend($(\"\").append(rendererControl).append(unused));\n }\n this.html(uiTable);\n ref2 = opts.cols;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n this.find(\".pvtCols\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n ref3 = opts.rows;\n for (o = 0, len3 = ref3.length; o < len3; o++) {\n x = ref3[o];\n this.find(\".pvtRows\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n if (opts.aggregatorName != null) {\n this.find(\".pvtAggregator\").val(opts.aggregatorName);\n }\n if (opts.rendererName != null) {\n this.find(\".pvtRenderer\").val(opts.rendererName);\n }\n if (!opts.showUI) {\n this.find(\".pvtUiCell\").hide();\n }\n initialRender = true;\n refreshDelayed = (function(_this) {\n return function() {\n var exclusions, inclusions, len4, newDropdown, numInputsToProcess, pivotUIOptions, pvtVals, ref4, ref5, subopts, t, u, unusedAttrsContainer, vals;\n subopts = {\n derivedAttributes: opts.derivedAttributes,\n localeStrings: opts.localeStrings,\n rendererOptions: opts.rendererOptions,\n sorters: opts.sorters,\n cols: [],\n rows: [],\n dataClass: opts.dataClass\n };\n numInputsToProcess = (ref4 = opts.aggregators[aggregator.val()]([])().numInputs) != null ? ref4 : 0;\n vals = [];\n _this.find(\".pvtRows li span.pvtAttr\").each(function() {\n return subopts.rows.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtCols li span.pvtAttr\").each(function() {\n return subopts.cols.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n if (numInputsToProcess === 0) {\n return $(this).remove();\n } else {\n numInputsToProcess--;\n if ($(this).val() !== \"\") {\n return vals.push($(this).val());\n }\n }\n });\n if (numInputsToProcess !== 0) {\n pvtVals = _this.find(\".pvtVals\");\n for (x = t = 0, ref5 = numInputsToProcess; 0 <= ref5 ? t < ref5 : t > ref5; x = 0 <= ref5 ? ++t : --t) {\n newDropdown = $(\"\").addClass('pvtAttrDropdown').append($(\"\")).bind(\"change\", function() {\n return refresh();\n });\n for (u = 0, len4 = shownInAggregators.length; u < len4; u++) {\n attr = shownInAggregators[u];\n newDropdown.append($(\"\").val(attr).text(attr));\n }\n pvtVals.append(newDropdown);\n }\n }\n if (initialRender) {\n vals = opts.vals;\n i = 0;\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n $(this).val(vals[i]);\n return i++;\n });\n initialRender = false;\n }\n subopts.aggregatorName = aggregator.val();\n subopts.vals = vals;\n subopts.aggregator = opts.aggregators[aggregator.val()](vals);\n subopts.renderer = opts.renderers[renderer.val()];\n subopts.rowOrder = rowOrderArrow.data(\"order\");\n subopts.colOrder = colOrderArrow.data(\"order\");\n exclusions = {};\n _this.find('input.pvtFilter').not(':checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n return exclusions[filter[0]].push(filter[1]);\n } else {\n return exclusions[filter[0]] = [filter[1]];\n }\n });\n inclusions = {};\n _this.find('input.pvtFilter:checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n if (inclusions[filter[0]] != null) {\n return inclusions[filter[0]].push(filter[1]);\n } else {\n return inclusions[filter[0]] = [filter[1]];\n }\n }\n });\n subopts.filter = function(record) {\n var excludedItems, k, ref6, ref7;\n if (!opts.filter(record)) {\n return false;\n }\n for (k in exclusions) {\n excludedItems = exclusions[k];\n if (ref6 = \"\" + ((ref7 = record[k]) != null ? ref7 : 'null'), indexOf.call(excludedItems, ref6) >= 0) {\n return false;\n }\n }\n return true;\n };\n pivotTable.pivot(materializedInput, subopts);\n pivotUIOptions = $.extend({}, opts, {\n cols: subopts.cols,\n rows: subopts.rows,\n colOrder: subopts.colOrder,\n rowOrder: subopts.rowOrder,\n vals: vals,\n exclusions: exclusions,\n inclusions: inclusions,\n inclusionsInfo: inclusions,\n aggregatorName: aggregator.val(),\n rendererName: renderer.val()\n });\n _this.data(\"pivotUIOptions\", pivotUIOptions);\n if (opts.autoSortUnusedAttrs) {\n unusedAttrsContainer = _this.find(\"td.pvtUnused.pvtAxisContainer\");\n $(unusedAttrsContainer).children(\"li\").sort(function(a, b) {\n return naturalSort($(a).text(), $(b).text());\n }).appendTo(unusedAttrsContainer);\n }\n pivotTable.css(\"opacity\", 1);\n if (opts.onRefresh != null) {\n return opts.onRefresh(pivotUIOptions);\n }\n };\n })(this);\n refresh = (function(_this) {\n return function() {\n pivotTable.css(\"opacity\", 0.5);\n return setTimeout(refreshDelayed, 10);\n };\n })(this);\n refresh();\n this.find(\".pvtAxisContainer\").sortable({\n update: function(e, ui) {\n if (ui.sender == null) {\n return refresh();\n }\n },\n connectWith: this.find(\".pvtAxisContainer\"),\n items: 'li',\n placeholder: 'pvtPlaceholder'\n });\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n this.html(opts.localeStrings.uiRenderError);\n }\n return this;\n };\n\n /*\n Heatmap post-processing\n */\n $.fn.heatmap = function(scope, opts) {\n var colorScaleGenerator, heatmapper, i, j, l, n, numCols, numRows, ref, ref1, ref2;\n if (scope == null) {\n scope = \"heatmap\";\n }\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n colorScaleGenerator = opts != null ? (ref = opts.heatmap) != null ? ref.colorScaleGenerator : void 0 : void 0;\n if (colorScaleGenerator == null) {\n colorScaleGenerator = function(values) {\n var max, min;\n min = Math.min.apply(Math, values);\n max = Math.max.apply(Math, values);\n return function(x) {\n var nonRed;\n nonRed = 255 - Math.round(255 * (x - min) / (max - min));\n return \"rgb(255,\" + nonRed + \",\" + nonRed + \")\";\n };\n };\n }\n heatmapper = (function(_this) {\n return function(scope) {\n var colorScale, forEachCell, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n colorScale = colorScaleGenerator(values);\n return forEachCell(function(x, elem) {\n return elem.css(\"background-color\", colorScale(x));\n });\n };\n })(this);\n switch (scope) {\n case \"heatmap\":\n heatmapper(\".pvtVal\");\n break;\n case \"rowheatmap\":\n for (i = l = 0, ref1 = numRows; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) {\n heatmapper(\".pvtVal.row\" + i);\n }\n break;\n case \"colheatmap\":\n for (j = n = 0, ref2 = numCols; 0 <= ref2 ? n < ref2 : n > ref2; j = 0 <= ref2 ? ++n : --n) {\n heatmapper(\".pvtVal.col\" + j);\n }\n }\n heatmapper(\".pvtTotal.rowTotal\");\n heatmapper(\".pvtTotal.colTotal\");\n return this;\n };\n\n /*\n Barchart post-processing\n */\n return $.fn.barchart = function(opts) {\n var barcharter, i, l, numCols, numRows, ref;\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n barcharter = (function(_this) {\n return function(scope) {\n var forEachCell, max, min, range, scaler, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n max = Math.max.apply(Math, values);\n if (max < 0) {\n max = 0;\n }\n range = max;\n min = Math.min.apply(Math, values);\n if (min < 0) {\n range = max - min;\n }\n scaler = function(x) {\n return 100 * x / (1.4 * range);\n };\n return forEachCell(function(x, elem) {\n var bBase, bgColor, text, wrapper;\n text = elem.text();\n wrapper = $(\"\").css({\n \"position\": \"relative\",\n \"height\": \"55px\"\n });\n bgColor = \"gray\";\n bBase = 0;\n if (min < 0) {\n bBase = scaler(-min);\n }\n if (x < 0) {\n bBase += scaler(x);\n bgColor = \"darkred\";\n x = -x;\n }\n wrapper.append($(\"\").css({\n \"position\": \"absolute\",\n \"bottom\": bBase + \"%\",\n \"left\": 0,\n \"right\": 0,\n \"height\": scaler(x) + \"%\",\n \"background-color\": bgColor\n }));\n wrapper.append($(\"\").text(text).css({\n \"position\": \"relative\",\n \"padding-left\": \"5px\",\n \"padding-right\": \"5px\"\n }));\n return elem.css({\n \"padding\": 0,\n \"padding-top\": \"5px\",\n \"text-align\": \"center\"\n }).html(wrapper);\n });\n };\n })(this);\n for (i = l = 0, ref = numRows; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) {\n barcharter(\".pvtVal.row\" + i);\n }\n barcharter(\".pvtTotal.colTotal\");\n return this;\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.js.map\n"]} \ No newline at end of file diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.js new file mode 100644 index 0000000..ca9a375 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js @@ -0,0 +1,80 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map new file mode 100644 index 0000000..b7c7760 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js index 9dc06ee..a3bcc04 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js @@ -1,2 +1,2 @@ -(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,n,o;return n=e.pivotUtilities.numberFormat,o=e.pivotUtilities.aggregatorTemplates,t=n({thousandsSep:" ",decimalSep:","}),r=n({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),i=n({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:o.count(r),"Aantal unieke waarden":o.countUnique(r),"Lijst unieke waarden":o.listUnique(", "),Som:o.sum(t),"Som van gehele getallen":o.sum(r),Gemiddelde:o.average(t),Minimum:o.min(t),Maximum:o.max(t),"Som over som":o.sumOverSum(t),"80% bovengrens":o.sumOverSumBound80(!0,t),"80% ondergrens":o.sumOverSumBound80(!1,t),"Som in verhouding tot het totaal":o.fractionOf(o.sum(),"total",i),"Som in verhouding tot de rij":o.fractionOf(o.sum(),"row",i),"Som in verhouding tot de kolom":o.fractionOf(o.sum(),"col",i),"Aantal in verhouding tot het totaal":o.fractionOf(o.count(),"total",i),"Aantal in verhouding tot de rij":o.fractionOf(o.count(),"row",i),"Aantal in verhouding tot de kolom":o.fractionOf(o.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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map new file mode 100644 index 0000000..b51dc51 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js b/inst/htmlwidgets/lib/pivottable/pivot.pl.js new file mode 100644 index 0000000..aa4b438 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js @@ -0,0 +1,82 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map new file mode 100644 index 0000000..3eefc10 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pivot.pl.js","sources":["pivot.pl.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 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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map new file mode 100644 index 0000000..14a4b8e --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.js new file mode 100644 index 0000000..b737243 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js @@ -0,0 +1,111 @@ +(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.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": tpl.count(frFmtInt), + "Contagem de Valores únicos": tpl.countUnique(frFmtInt), + "Lista de Valores únicos": tpl.listUnique(", "), + "Soma": tpl.sum(frFmt), + "Soma de Inteiros": tpl.sum(frFmtInt), + "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áximo": tpl.max(frFmt), + "Primeiro": tpl.first(frFmt), + "Último": tpl.last(frFmt), + "Soma sobre Soma": tpl.sumOverSum(frFmt), + "Limite Superior a 80%": tpl.sumOverSumBound80(true, frFmt), + "Limite Inferior a 80%": tpl.sumOverSumBound80(false, frFmt), + "Soma como Fração do Total": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Soma como Fração da Linha": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Soma como Fração da Coluna": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Contagem como Fração do Total": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Contagem como Fração da Linha": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Contagem como Fração da Coluna": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tabela": r["Table"], + "Tabela com Barras": r["Table Barchart"], + "Mapa de Calor": r["Heatmap"], + "Mapa de Calor por Linhas": r["Row Heatmap"], + "Mapa de Calor por Colunas": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.pt.gchart_renderers = { + "Gráfico de Linhas": gcr["Line Chart"], + "Gráfico de Barras": gcr["Bar Chart"], + "Gráfico de Barras Empilhadas": gcr["Stacked Bar Chart"], + "Gráfico de Área": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.pt.d3_renderers = { + "Mapa de Árvore": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.pt.c3_renderers = { + "Gráfico de Linhas": c3r["Line Chart"], + "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; + }); + +}).call(this); + +//# sourceMappingURL=pivot.pt.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map new file mode 100644 index 0000000..72cb981 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js index cf4f356..0f92ea7 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js @@ -1,2 +1,2 @@ -(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,l,n,c;return l=a.pivotUtilities.numberFormat,c=a.pivotUtilities.aggregatorTemplates,n=a.pivotUtilities.renderers,s=a.pivotUtilities.gchart_renderers,r=a.pivotUtilities.d3_renderers,e=a.pivotUtilities.c3_renderers,o=l({thousandsSep:".",decimalSep:","}),i=l({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),t=l({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),"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:n.Table,"Tabela com Barras":n["Table Barchart"],"Mapa de Calor":n.Heatmap,"Mapa de Calor por Linhas":n["Row Heatmap"],"Mapa de Calor por Colunas":n["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map new file mode 100644 index 0000000..cf067a6 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js b/inst/htmlwidgets/lib/pivottable/pivot.ru.js new file mode 100644 index 0000000..ebc556d --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map new file mode 100644 index 0000000..f7fe47f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map new file mode 100644 index 0000000..4ef0db3 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js b/inst/htmlwidgets/lib/pivottable/pivot.sq.js new file mode 100644 index 0000000..080b336 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map new file mode 100644 index 0000000..604860b --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map new file mode 100644 index 0000000..3f6df78 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js b/inst/htmlwidgets/lib/pivottable/pivot.tr.js new file mode 100644 index 0000000..1a95e56 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js @@ -0,0 +1,104 @@ +(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.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ı": tpl.count(frFmtInt), + "Benzersiz değerler sayısı": tpl.countUnique(frFmtInt), + "Benzersiz değerler listesi": tpl.listUnique(", "), + "Toplam": tpl.sum(frFmt), + "Toplam (tam sayı)": tpl.sum(frFmtInt), + "Ortalama": tpl.average(frFmt), + "Min": tpl.min(frFmt), + "Maks": tpl.max(frFmt), + "Miktarların toplamı": tpl.sumOverSum(frFmt), + "%80 daha yüksek": tpl.sumOverSumBound80(true, frFmt), + "%80 daha düşük": tpl.sumOverSumBound80(false, frFmt), + "Toplam oranı (toplam)": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Satır oranı (toplam)": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Sütunun oranı (toplam)": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Toplam oranı (sayı)": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Satır oranı (sayı)": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Sütunun oranı (sayı)": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tablo": r["Table"], + "Tablo (Çubuklar)": r["Table Barchart"], + "İlgi haritası": r["Heatmap"], + "Satır ilgi haritası": r["Row Heatmap"], + "Sütun ilgi haritası": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.tr.gchart_renderers = { + "Çizgi Grafiği": gcr["Line Chart"], + "Bar Grafiği": gcr["Bar Chart"], + "Yığılmış Çubuk Grafik ": gcr["Stacked Bar Chart"], + "Alan Grafiği": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.tr.d3_renderers = { + "Hiyerarşik Alan Grafiği (Treemap)": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.tr.c3_renderers = { + "Çizgi Grafiği": c3r["Line Chart"], + "Bar Grafiği": c3r["Bar Chart"], + "Yığılmış Çubuk Grafik ": c3r["Stacked Bar Chart"], + "Alan Grafiği": c3r["Area Chart"] + }; + } + return $.pivotUtilities.locales.tr; + }); + +}).call(this); + +//# sourceMappingURL=pivot.tr.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map new file mode 100644 index 0000000..3b5dbe0 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map new file mode 100644 index 0000000..90d8eb9 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.js new file mode 100644 index 0000000..5f30fb4 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js @@ -0,0 +1,113 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map new file mode 100644 index 0000000..6810c5f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js index 916fceb..2828cad 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js @@ -1,2 +1,2 @@ -(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,a,l,n,c;return l=e.pivotUtilities.numberFormat,c=e.pivotUtilities.aggregatorTemplates,n=e.pivotUtilities.renderers,a=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,t=e.pivotUtilities.c3_renderers,i=l({thousandsSep:",",decimalSep:"."}),o=l({digitsAfterDecimal:0,thousandsSep:",",decimalSep:"."}),s=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(o),"非重复值的个数":c.countUnique(o),"列出非重复值":c.listUnique(", "),"求和":c.sum(i),"求和后取整":c.sum(o),"平均值":c.average(i),"最小值":c.min(i),"最大值":c.max(i),"两和之比":c.sumOverSum(i),"二项分布:置信度为80%时的区间上限":c.sumOverSumBound80(!0,i),"二项分布:置信度为80%时的区间下限":c.sumOverSumBound80(!1,i),"和在总计中的比例":c.fractionOf(c.sum(),"total",s),"和在行合计中的比例":c.fractionOf(c.sum(),"row",s),"和在列合计中的比例":c.fractionOf(c.sum(),"col",s),"频数在总计中的比例":c.fractionOf(c.count(),"total",s),"频数在行合计中的比例":c.fractionOf(c.count(),"row",s),"频数在列合计中的比例":c.fractionOf(c.count(),"col",s)},renderers:{"表格":n.Table,"表格内柱状图":n["Table Barchart"],"热图":n.Heatmap,"行热图":n["Row Heatmap"],"列热图":n["Col Heatmap"]}},a&&(e.pivotUtilities.locales.zh.gchart_renderers={"折线图(g)":a["Line Chart"],"柱形图(g)":a["Bar Chart"],"堆栈柱形图(g)":a["Stacked Bar Chart"],"面积图(g)":a["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map new file mode 100644 index 0000000..8b30873 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot_spec.js b/inst/htmlwidgets/lib/pivottable/pivot_spec.js new file mode 100644 index 0000000..fadadce --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot_spec.js @@ -0,0 +1,614 @@ +(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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 $("").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 = $("").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 = $("\n \n
").html(M.localeStrings.tooMany));else for(S.length>5&&(i=t("
").appendTo(x),v=h(M.sorters,n),f=M.localeStrings.filterResults,t("",{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("")),t("",{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("",{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("").addClass("pvtCheckContainer").appendTo(x),g=S.sort(h(M.sorters,n)),p=0,d=g.length;p"),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("").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("").addClass("value").text(y)),l.append(t("").addClass("count").text("("+w+")")),a.append(t("").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("").appendTo(x),S.length<=M.menuLimit&&t("",{type:"button"}).text(M.localeStrings.apply).appendTo(u).bind("click",function(){return x.find(".changed").removeClass("changed").length&&V(),o()}),t("",{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("").addClass("pvtTriangle").html(" ▾").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("").addClass("axis_"+A).append(t("").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("").appendTo(Y),u=t("").addClass("pvtAggregator").bind("change",function(){return V()}),q=M.aggregators;for(et in q)a.call(q,et)&&u.append(t("").val(et).html(et));for(R={key_a_to_z:{rowSymbol:"↕",colSymbol:"↔",next:"value_a_to_z"},value_a_to_z:{rowSymbol:"↓",colSymbol:"→",next:"value_z_to_a"},value_z_to_a:{rowSymbol:"↑",colSymbol:"←",next:"key_a_to_z"}},P=t("",{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("",{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("").addClass("pvtVals").appendTo($).append(u).append(P).append(v).append(t("")),t("").addClass("pvtAxisContainer pvtHorizList pvtCols").appendTo($),Q=t("").appendTo(Y),Q.append(t("").addClass("pvtAxisContainer pvtRows").attr("valign","top")),L=t("").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("").append(B).append(X)),this.html(Y),z=M.cols,D=0,T=z.length;Dp;et=0<=p?++g:--g){for(i=t("").addClass("pvtAttrDropdown").append(t("")).bind("change",function(){return V()}),b=0,o=G.length;b").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},L.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)),L.css("opacity",1),null!=M.onRefresh)return M.onRefresh(s)}}(this),V=function(t){return function(){return L.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?ld;o=0<=d?++l:--l)a(".pvtVal.row"+o);break;case"colheatmap":for(i=s=0,p=u;0<=p?sp;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("").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("").css({position:"absolute",bottom:r+"%",left:0,right:0,height:l(e)+"%","background-color":a})),s.append(t("").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?al;r=0<=l?++a:--a)n(".pvtVal.row"+r);return n(".pvtTotal.colTotal"),this}})}).call(this); +(function(){var t,e=[].indexOf||function(t){for(var e=0,n=this.length;e1?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,il)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 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=l;c=0<=l?++r:--r)t[e-1][c]!==t[e][c]&&(i=!1);if(i)return-1}for(a=0;e+a=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("").html(c.localeStrings.renderError)}}catch(m){i=m,"undefined"!=typeof console&&null!==console&&console.error(i.stack),p=t("").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("",{"class":"pvtUi"}).attr("cellpadding",5),B=t("").addClass("pvtUiCell"),H=t("").addClass("pvtRenderer").appendTo(B).bind("change",function(){return V()}),U=M.renderers;for(et in U)a.call(U,et)&&t("").val(et).html(et).appendTo(H);if(X=t("").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;tZ}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("").addClass("pvtFilterBox").hide(),x.append(t("").append(t("").text(n),t("").addClass("count").text("("+S.length+")"))),S.length>M.menuLimit)x.append(t("").html(M.localeStrings.tooMany));else for(S.length>5&&(i=t("").appendTo(x),v=h(M.sorters,n),f=M.localeStrings.filterResults,t("",{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("")),t("",{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("",{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("").addClass("pvtCheckContainer").appendTo(x),g=S.sort(h(M.sorters,n)),p=0,d=g.length;p"),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("").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("").addClass("value").text(y)),l.append(t("").addClass("count").text("("+w+")")),a.append(t("").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("").appendTo(x),S.length<=M.menuLimit&&t("",{type:"button"}).text(M.localeStrings.apply).appendTo(u).bind("click",function(){return x.find(".changed").removeClass("changed").length&&V(),o()}),t("",{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("").addClass("pvtTriangle").html(" ▾").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("").addClass("axis_"+A).append(t("").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("").appendTo(Y),u=t("").addClass("pvtAggregator").bind("change",function(){return V()}),K=M.aggregators;for(et in K)a.call(K,et)&&u.append(t("").val(et).html(et));for(R={key_a_to_z:{rowSymbol:"↕",colSymbol:"↔",next:"value_a_to_z"},value_a_to_z:{rowSymbol:"↓",colSymbol:"→",next:"value_z_to_a"},value_z_to_a:{rowSymbol:"↑",colSymbol:"←",next:"key_a_to_z"}},P=t("",{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("",{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("").addClass("pvtVals pvtUiCell").appendTo($).append(u).append(P).append(v).append(t("")),t("").addClass("pvtAxisContainer pvtHorizList pvtCols pvtUiCell").appendTo($),Q=t("").appendTo(Y),Q.append(t("").addClass("pvtAxisContainer pvtRows pvtUiCell").attr("valign","top")),I=t("").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("").append(B).append(X)),this.html(Y),q=M.cols,D=0,T=q.length;Dp;et=0<=p?++g:--g){for(i=t("").addClass("pvtAttrDropdown").append(t("")).bind("change",function(){return V()}),b=0,o=G.length;b").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?ld;o=0<=d?++l:--l)a(".pvtVal.row"+o);break;case"colheatmap":for(i=s=0,p=u;0<=p?sp;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("").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("").css({position:"absolute",bottom:r+"%",left:0,right:0,height:l(e)+"%","background-color":a})),s.append(t("").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?al;r=0<=l?++a:--a)n(".pvtVal.row"+r);return n(".pvtTotal.colTotal"),this}})}).call(this); //# sourceMappingURL=pivot.min.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.min.js.map new file mode 100644 index 0000000..acf3957 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["pivot.coffee","pivot.min.js"],"names":["callWithJQuery","indexOf","item","i","l","this","length","slice","bind","fn","me","apply","arguments","hasProp","hasOwnProperty","pivotModule","exports","module","require","define","amd","jQuery","$","PivotData","addSeparators","aggregatorTemplates","aggregators","dayNamesEn","derivers","getSort","locales","mthNamesEn","naturalSort","numberFormat","pivotTableRenderer","rd","renderers","rx","rz","sortAs","usFmt","usFmtInt","usFmtPct","zeroPad","nStr","thousandsSep","decimalSep","rgx","x","x1","x2","split","test","replace","opts","defaults","digitsAfterDecimal","scaler","prefix","suffix","extend","result","isNaN","isFinite","toFixed","count","formatter","data","rowKey","colKey","push","value","format","uniques","arg","attr","uniq","record","ref","call","numInputs","sum","parseFloat","extremes","mode","val","sorter","sorters","ref1","ref2","Math","quantile","q","vals","sort","a","b","floor","ceil","runningStat","ddof","n","m","s","m_new","sqrt","sumOverSum","denom","num","sumNum","sumDenom","sumOverSumBound80","upper","sign","fractionOf","wrapped","type","selector","total","row","col","inner","getAggregator","countUnique","f","listUnique","join","max","min","first","last","median","average","stdev","tpl","Count","Count Unique Values","List Unique Values","Sum","Integer Sum","Average","Median","Sample Variance","Sample Standard Deviation","Minimum","Maximum","First","Last","Sum over Sum","80% Upper Bound","80% Lower Bound","Sum as Fraction of Total","Sum as Fraction of Rows","Sum as Fraction of Columns","Count as Fraction of Total","Count as Fraction of Rows","Count as Fraction of Columns","Table","Table Barchart","barchart","Heatmap","heatmap","Row Heatmap","Col Heatmap","en","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","cancel","totals","vs","by","number","substr","bin","binWidth","dateFormat","formatString","utcOutput","mthNames","dayNames","utc","date","Date","parse","p","_this","as","bs","a1","b1","nas","nbs","String","match","shift","order","l_mapping","mapping","toLowerCase","isFunction","input","ref3","ref4","ref5","ref6","ref7","ref8","ref9","getRowKeys","getColKeys","sortKeys","arrSort","aggregator","aggregatorName","colAttrs","cols","rowAttrs","rows","valAttrs","rowOrder","colOrder","derivedAttributes","filter","tree","rowKeys","colKeys","rowTotals","colTotals","allTotal","sorted","forEachRecord","processRecord","addRecord","compactRecord","j","k","len1","results","results1","tblCols","isEmptyObject","v","isArray","each","text","Error","prototype","forEachMatchingRecord","criteria","callback","attrs","sortersArr","comparison","r","c","flatColKey","flatRowKey","len2","fromCharCode","agg","pivotUtilities","pivotData","getClickHandler","spanSize","tbody","td","th","thead","totalAggregator","tr","txt","table","clickCallback","rowValues","colValues","filters","e","document","createElement","className","arr","len","noDraw","stop","parseInt","setAttribute","appendChild","textContent","innerHTML","onclick","pivot","inputOpts","locale","localeDefaults","dataClass","renderer","rendererOptions","error","console","stack","html","hasChildNodes","removeChild","lastChild","append","pivotUI","overwrite","attrLength","attrValues","colOrderArrow","existingOpts","fn1","initialRender","len3","materializedInput","o","ordering","pivotTable","recordsProcessed","refresh","refreshDelayed","rendererControl","rowOrderArrow","shownAttributes","shownInAggregators","shownInDragDrop","tr1","tr2","uiTable","unused","unusedAttrsVerticalAutoCutoff","unusedAttrsVerticalAutoOverride","hiddenAttributes","hiddenFromAggregators","hiddenFromDragDrop","menuLimit","exclusions","inclusions","unusedAttrsVertical","autoSortUnusedAttrs","onRefresh","showUI","base","class","addClass","appendTo","attrElem","checkContainer","closeFilterBox","controls","filterItem","filterItemExcluded","finalButtons","hasExcludedItem","placeholder","triangleLink","valueCount","valueList","values","hide","accept","accept_gen","trim","accepted","real_filter","substring","find","parent","show","prop","toggleClass","removeClass","left","top","currentTarget","position","css","key_a_to_z","rowSymbol","colSymbol","next","value_a_to_z","value_z_to_a","role","prepend","inArray","rendererName","len4","newDropdown","numInputsToProcess","pivotUIOptions","pvtVals","subopts","t","u","unusedAttrsContainer","remove","not","excludedItems","inclusionsInfo","children","setTimeout","sortable","update","ui","sender","connectWith","items","scope","colorScaleGenerator","heatmapper","numCols","numRows","nonRed","round","colorScale","forEachCell","elem","barcharter","range","bBase","bgColor","wrapper","height","bottom","right","background-color","padding-left","padding-right","padding","padding-top","text-align"],"mappings":"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","file":"pivot.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 ###\n Utilities\n ###\n\n addSeparators = (nStr, thousandsSep, decimalSep) ->\n nStr += ''\n x = nStr.split('.')\n x1 = x[0]\n x2 = if x.length > 1 then decimalSep + x[1] else ''\n rgx = /(\\d+)(\\d{3})/\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2') while rgx.test(x1)\n return x1 + x2\n\n numberFormat = (opts) ->\n defaults =\n digitsAfterDecimal: 2, scaler: 1,\n thousandsSep: \",\", decimalSep: \".\"\n prefix: \"\", suffix: \"\"\n opts = $.extend({}, defaults, opts)\n (x) ->\n return \"\" if isNaN(x) or not isFinite(x)\n result = addSeparators (opts.scaler*x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep\n return \"\"+opts.prefix+result+opts.suffix\n\n #aggregator templates default to US number formatting but this is overrideable\n usFmt = numberFormat()\n usFmtInt = numberFormat(digitsAfterDecimal: 0)\n usFmtPct = numberFormat(digitsAfterDecimal:1, scaler: 100, suffix: \"%\")\n\n aggregatorTemplates =\n count: (formatter=usFmtInt) -> () -> (data, rowKey, colKey) ->\n count: 0\n push: -> @count++\n value: -> @count\n format: formatter\n\n uniques: (fn, formatter=usFmtInt) -> ([attr]) -> (data, rowKey, colKey) ->\n uniq: []\n push: (record) -> @uniq.push(record[attr]) if record[attr] not in @uniq\n value: -> fn(@uniq)\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sum: (formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n sum: 0\n push: (record) -> @sum += parseFloat(record[attr]) if not isNaN parseFloat(record[attr])\n value: -> @sum\n format: formatter\n numInputs: if attr? then 0 else 1\n\n extremes: (mode, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n val: null\n sorter: getSort(data?.sorters, attr)\n push: (record) ->\n x = record[attr]\n if mode in [\"min\", \"max\"]\n x = parseFloat(x)\n if not isNaN x then @val = Math[mode](x, @val ? x)\n if mode == \"first\" then @val = x if @sorter(x, @val ? x) <= 0\n if mode == \"last\" then @val = x if @sorter(x, @val ? x) >= 0\n value: -> @val\n format: (x) -> if isNaN(x) then x else formatter(x)\n numInputs: if attr? then 0 else 1\n\n quantile: (q, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n vals: []\n push: (record) ->\n x = parseFloat(record[attr])\n @vals.push(x) if not isNaN(x)\n value: ->\n return null if @vals.length == 0\n @vals.sort((a,b) -> a-b)\n i = (@vals.length-1)*q\n return (@vals[Math.floor(i)] + @vals[Math.ceil(i)])/2.0\n format: formatter\n numInputs: if attr? then 0 else 1\n\n runningStat: (mode=\"mean\", ddof=1, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n n: 0.0, m: 0.0, s: 0.0\n push: (record) ->\n x = parseFloat(record[attr])\n return if isNaN(x)\n @n += 1.0\n if @n == 1.0\n @m = x\n else\n m_new = @m + (x - @m)/@n\n @s = @s + (x - @m)*(x - m_new)\n @m = m_new\n value: ->\n if mode == \"mean\"\n return if @n == 0 then 0/0 else @m\n return 0 if @n <= ddof\n switch mode\n when \"var\" then @s/(@n-ddof)\n when \"stdev\" then Math.sqrt(@s/(@n-ddof))\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sumOverSum: (formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: -> @sumNum/@sumDenom\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n sumOverSumBound80: (upper=true, formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: ->\n sign = if upper then 1 else -1\n (0.821187207574908/@sumDenom + @sumNum/@sumDenom + 1.2815515655446004*sign*\n Math.sqrt(0.410593603787454/ (@sumDenom*@sumDenom) + (@sumNum*(1 - @sumNum/ @sumDenom))/ (@sumDenom*@sumDenom)))/\n (1 + 1.642374415149816/@sumDenom)\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n fractionOf: (wrapped, type=\"total\", formatter=usFmtPct) -> (x...) -> (data, rowKey, colKey) ->\n selector: {total:[[],[]],row:[rowKey,[]],col:[[],colKey]}[type]\n inner: wrapped(x...)(data, rowKey, colKey)\n push: (record) -> @inner.push record\n format: formatter\n value: -> @inner.value() / data.getAggregator(@selector...).inner.value()\n numInputs: wrapped(x...)().numInputs\n\n aggregatorTemplates.countUnique = (f) -> aggregatorTemplates.uniques(((x) -> x.length), f)\n aggregatorTemplates.listUnique = (s) -> aggregatorTemplates.uniques(((x) -> x.sort(naturalSort).join(s)), ((x)->x))\n aggregatorTemplates.max = (f) -> aggregatorTemplates.extremes('max', f)\n aggregatorTemplates.min = (f) -> aggregatorTemplates.extremes('min', f)\n aggregatorTemplates.first = (f) -> aggregatorTemplates.extremes('first', f)\n aggregatorTemplates.last = (f) -> aggregatorTemplates.extremes('last', f)\n aggregatorTemplates.median = (f) -> aggregatorTemplates.quantile(0.5, f)\n aggregatorTemplates.average = (f) -> aggregatorTemplates.runningStat(\"mean\", 1, f)\n aggregatorTemplates.var = (ddof, f) -> aggregatorTemplates.runningStat(\"var\", ddof, f)\n aggregatorTemplates.stdev = (ddof, f) -> aggregatorTemplates.runningStat(\"stdev\", ddof, f)\n\n #default aggregators & renderers use US naming and number formatting\n aggregators = do (tpl = aggregatorTemplates) ->\n \"Count\": tpl.count(usFmtInt)\n \"Count Unique Values\": tpl.countUnique(usFmtInt)\n \"List Unique Values\": tpl.listUnique(\", \")\n \"Sum\": tpl.sum(usFmt)\n \"Integer Sum\": tpl.sum(usFmtInt)\n \"Average\": tpl.average(usFmt)\n \"Median\": tpl.median(usFmt)\n \"Sample Variance\": tpl.var(1, usFmt)\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt)\n \"Minimum\": tpl.min(usFmt)\n \"Maximum\": tpl.max(usFmt)\n \"First\": tpl.first(usFmt)\n \"Last\": tpl.last(usFmt)\n \"Sum over Sum\": tpl.sumOverSum(usFmt)\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt)\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt)\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct)\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct)\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct)\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct)\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct)\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n\n renderers =\n \"Table\": (data, opts) -> pivotTableRenderer(data, opts)\n \"Table Barchart\": (data, opts) -> $(pivotTableRenderer(data, opts)).barchart()\n \"Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts)\n \"Row Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts)\n \"Col Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts)\n\n locales =\n en:\n aggregators: aggregators\n renderers: renderers\n localeStrings:\n renderError: \"An error occurred rendering the PivotTable results.\"\n computeError: \"An error occurred computing the PivotTable results.\"\n uiRenderError: \"An error occurred rendering the PivotTable UI.\"\n selectAll: \"Select All\"\n selectNone: \"Select None\"\n tooMany: \"(too many to list)\"\n filterResults: \"Filter values\"\n apply: \"Apply\"\n cancel: \"Cancel\"\n totals: \"Totals\" #for table renderer\n vs: \"vs\" #for gchart renderer\n by: \"by\" #for gchart renderer\n\n #dateFormat deriver l10n requires month and day names to be passed in directly\n mthNamesEn = [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]\n dayNamesEn = [\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]\n zeroPad = (number) -> (\"0\"+number).substr(-2,2)\n\n derivers =\n bin: (col, binWidth) -> (record) -> record[col] - record[col] % binWidth\n dateFormat: (col, formatString, utcOutput=false, mthNames=mthNamesEn, dayNames=dayNamesEn) ->\n utc = if utcOutput then \"UTC\" else \"\"\n (record) -> #thanks http://stackoverflow.com/a/12213072/112871\n date = new Date(Date.parse(record[col]))\n if isNaN(date) then return \"\"\n formatString.replace /%(.)/g, (m, p) ->\n switch p\n when \"y\" then date[\"get#{utc}FullYear\"]()\n when \"m\" then zeroPad(date[\"get#{utc}Month\"]()+1)\n when \"n\" then mthNames[date[\"get#{utc}Month\"]()]\n when \"d\" then zeroPad(date[\"get#{utc}Date\"]())\n when \"w\" then dayNames[date[\"get#{utc}Day\"]()]\n when \"x\" then date[\"get#{utc}Day\"]()\n when \"H\" then zeroPad(date[\"get#{utc}Hours\"]())\n when \"M\" then zeroPad(date[\"get#{utc}Minutes\"]())\n when \"S\" then zeroPad(date[\"get#{utc}Seconds\"]())\n else \"%\" + p\n\n rx = /(\\d+)|(\\D+)/g\n rd = /\\d/\n rz = /^0/\n naturalSort = (as, bs) =>\n #nulls first\n return -1 if bs? and not as?\n return 1 if as? and not bs?\n\n #then raw NaNs\n return -1 if typeof as == \"number\" and isNaN(as)\n return 1 if typeof bs == \"number\" and isNaN(bs)\n\n #numbers and numbery strings group together\n nas = +as\n nbs = +bs\n return -1 if nas < nbs\n return 1 if nas > nbs\n\n #within that, true numbers before numbery strings\n return -1 if typeof as == \"number\" and typeof bs != \"number\"\n return 1 if typeof bs == \"number\" and typeof as != \"number\"\n return 0 if typeof as == \"number\" and typeof bs == \"number\"\n\n # 'Infinity' is a textual number, so less than 'A'\n return -1 if isNaN(nbs) and not isNaN(nas)\n return 1 if isNaN(nas) and not isNaN(nbs)\n\n #finally, \"smart\" string sorting per http://stackoverflow.com/a/4373421/112871\n a = String(as)\n b = String(bs)\n return 0 if a == b\n return (if a > b then 1 else -1) unless rd.test(a) and rd.test(b)\n\n #special treatment for strings containing digits\n a = a.match(rx) #create digits vs non-digit chunks and iterate through\n b = b.match(rx)\n while a.length and b.length\n a1 = a.shift()\n b1 = b.shift()\n if a1 != b1\n if rd.test(a1) and rd.test(b1) #both are digit chunks\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\")\n else\n return (if a1 > b1 then 1 else -1)\n return a.length - b.length\n\n sortAs = (order) ->\n mapping = {}\n l_mapping = {} # sort lowercased keys similarly\n for i, x of order\n mapping[x] = i\n l_mapping[x.toLowerCase()] = i if typeof x == \"string\"\n (a, b) ->\n if mapping[a]? and mapping[b]? then mapping[a] - mapping[b]\n else if mapping[a]? then -1\n else if mapping[b]? then 1\n else if l_mapping[a]? and l_mapping[b]? then l_mapping[a] - l_mapping[b]\n else if l_mapping[a]? then -1\n else if l_mapping[b]? then 1\n else naturalSort(a,b)\n\n getSort = (sorters, attr) ->\n if sorters?\n if $.isFunction(sorters)\n sort = sorters(attr)\n return sort if $.isFunction(sort)\n else if sorters[attr]?\n return sorters[attr]\n return naturalSort\n\n ###\n Data Model class\n ###\n\n class PivotData\n constructor: (input, opts = {}) ->\n @input = input\n @aggregator = opts.aggregator ? aggregatorTemplates.count()()\n @aggregatorName = opts.aggregatorName ? \"Count\"\n @colAttrs = opts.cols ? []\n @rowAttrs = opts.rows ? []\n @valAttrs = opts.vals ? []\n @sorters = opts.sorters ? {}\n @rowOrder = opts.rowOrder ? \"key_a_to_z\"\n @colOrder = opts.colOrder ? \"key_a_to_z\"\n @derivedAttributes = opts.derivedAttributes ? {}\n @filter = opts.filter ? (-> true)\n @tree = {}\n @rowKeys = []\n @colKeys = []\n @rowTotals = {}\n @colTotals = {}\n @allTotal = @aggregator(this, [], [])\n @sorted = false\n\n # iterate through input, accumulating data for cells\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n @processRecord(record) if @filter(record)\n\n #can handle arrays or jQuery selections of tables\n @forEachRecord = (input, derivedAttributes, f) ->\n if $.isEmptyObject derivedAttributes\n addRecord = f\n else\n addRecord = (record) ->\n record[k] = v(record) ? record[k] for k, v of derivedAttributes\n f(record)\n\n #if it's a function, have it call us back\n if $.isFunction(input)\n input(addRecord)\n else if $.isArray(input)\n if $.isArray(input[0]) #array of arrays\n for own i, compactRecord of input when i > 0\n record = {}\n record[k] = compactRecord[j] for own j, k of input[0]\n addRecord(record)\n else #array of objects\n addRecord(record) for record in input\n else if input instanceof $\n tblCols = []\n $(\"thead > tr > th\", input).each (i) -> tblCols.push $(this).text()\n $(\"tbody > tr\", input).each (i) ->\n record = {}\n $(\"td\", this).each (j) -> record[tblCols[j]] = $(this).text()\n addRecord(record)\n else\n throw new Error(\"unknown input format\")\n\n forEachMatchingRecord: (criteria, callback) ->\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n return if not @filter(record)\n for k, v of criteria\n return if v != (record[k] ? \"null\")\n callback(record)\n\n arrSort: (attrs) =>\n sortersArr = (getSort(@sorters, a) for a in attrs)\n (a,b) ->\n for own i, sorter of sortersArr\n comparison = sorter(a[i], b[i])\n return comparison if comparison != 0\n return 0\n\n sortKeys: () =>\n if not @sorted\n @sorted = true\n v = (r,c) => @getAggregator(r,c).value()\n switch @rowOrder\n when \"value_a_to_z\" then @rowKeys.sort (a,b) => naturalSort v(a,[]), v(b,[])\n when \"value_z_to_a\" then @rowKeys.sort (a,b) => -naturalSort v(a,[]), v(b,[])\n else @rowKeys.sort @arrSort(@rowAttrs)\n switch @colOrder\n when \"value_a_to_z\" then @colKeys.sort (a,b) => naturalSort v([],a), v([],b)\n when \"value_z_to_a\" then @colKeys.sort (a,b) => -naturalSort v([],a), v([],b)\n else @colKeys.sort @arrSort(@colAttrs)\n\n getColKeys: () =>\n @sortKeys()\n return @colKeys\n\n getRowKeys: () =>\n @sortKeys()\n return @rowKeys\n\n processRecord: (record) -> #this code is called in a tight loop\n colKey = []\n rowKey = []\n colKey.push record[x] ? \"null\" for x in @colAttrs\n rowKey.push record[x] ? \"null\" for x in @rowAttrs\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n\n @allTotal.push record\n\n if rowKey.length != 0\n if not @rowTotals[flatRowKey]\n @rowKeys.push rowKey\n @rowTotals[flatRowKey] = @aggregator(this, rowKey, [])\n @rowTotals[flatRowKey].push record\n\n if colKey.length != 0\n if not @colTotals[flatColKey]\n @colKeys.push colKey\n @colTotals[flatColKey] = @aggregator(this, [], colKey)\n @colTotals[flatColKey].push record\n\n if colKey.length != 0 and rowKey.length != 0\n if not @tree[flatRowKey]\n @tree[flatRowKey] = {}\n if not @tree[flatRowKey][flatColKey]\n @tree[flatRowKey][flatColKey] = @aggregator(this, rowKey, colKey)\n @tree[flatRowKey][flatColKey].push record\n\n getAggregator: (rowKey, colKey) =>\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n if rowKey.length == 0 and colKey.length == 0\n agg = @allTotal\n else if rowKey.length == 0\n agg = @colTotals[flatColKey]\n else if colKey.length == 0\n agg = @rowTotals[flatRowKey]\n else\n agg = @tree[flatRowKey][flatColKey]\n return agg ? {value: (-> null), format: -> \"\"}\n\n #expose these to the outside world\n $.pivotUtilities = {aggregatorTemplates, aggregators, renderers, derivers, locales,\n naturalSort, numberFormat, sortAs, PivotData}\n\n ###\n Default Renderer for hierarchical table layout\n ###\n\n pivotTableRenderer = (pivotData, opts) ->\n\n defaults =\n table:\n clickCallback: null\n rowTotals: true\n colTotals: true\n localeStrings: totals: \"Totals\"\n\n opts = $.extend(true, {}, defaults, opts)\n\n colAttrs = pivotData.colAttrs\n rowAttrs = pivotData.rowAttrs\n rowKeys = pivotData.getRowKeys()\n colKeys = pivotData.getColKeys()\n\n if opts.table.clickCallback\n getClickHandler = (value, rowValues, colValues) ->\n filters = {}\n filters[attr] = colValues[i] for own i, attr of colAttrs when colValues[i]?\n filters[attr] = rowValues[i] for own i, attr of rowAttrs when rowValues[i]?\n return (e) -> opts.table.clickCallback(e, value, filters, pivotData)\n\n #now actually build the output\n result = document.createElement(\"table\")\n result.className = \"pvtTable\"\n\n #helper function for setting row/col-span in pivotTableRenderer\n spanSize = (arr, i, j) ->\n if i != 0\n noDraw = true\n for x in [0..j]\n if arr[i-1][x] != arr[i][x]\n noDraw = false\n if noDraw\n return -1 #do not draw cell\n len = 0\n while i+len < arr.length\n stop = false\n for x in [0..j]\n stop = true if arr[i][x] != arr[i+len][x]\n break if stop\n len++\n return len\n\n #the first few rows are for col headers\n thead = document.createElement(\"thead\")\n for own j, c of colAttrs\n tr = document.createElement(\"tr\")\n if parseInt(j) == 0 and rowAttrs.length != 0\n th = document.createElement(\"th\")\n th.setAttribute(\"colspan\", rowAttrs.length)\n th.setAttribute(\"rowspan\", colAttrs.length)\n tr.appendChild th\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = c\n tr.appendChild th\n for own i, colKey of colKeys\n x = spanSize(colKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtColLabel\"\n th.textContent = colKey[j]\n th.setAttribute(\"colspan\", x)\n if parseInt(j) == colAttrs.length-1 and rowAttrs.length != 0\n th.setAttribute(\"rowspan\", 2)\n tr.appendChild th\n if parseInt(j) == 0 && opts.table.rowTotals\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"rowspan\", colAttrs.length + (if rowAttrs.length ==0 then 0 else 1))\n tr.appendChild th\n thead.appendChild tr\n\n #then a row for row header headers\n if rowAttrs.length !=0\n tr = document.createElement(\"tr\")\n for own i, r of rowAttrs\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = r\n tr.appendChild th\n th = document.createElement(\"th\")\n if colAttrs.length ==0\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n tr.appendChild th\n thead.appendChild tr\n result.appendChild thead\n\n #now the actual data rows, with their row headers and totals\n tbody = document.createElement(\"tbody\")\n for own i, rowKey of rowKeys\n tr = document.createElement(\"tr\")\n for own j, txt of rowKey\n x = spanSize(rowKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtRowLabel\"\n th.textContent = txt\n th.setAttribute(\"rowspan\", x)\n if parseInt(j) == rowAttrs.length-1 and colAttrs.length !=0\n th.setAttribute(\"colspan\",2)\n tr.appendChild th\n for own j, colKey of colKeys #this is the tight loop\n aggregator = pivotData.getAggregator(rowKey, colKey)\n val = aggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtVal row#{i} col#{j}\"\n td.textContent = aggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, colKey)\n tr.appendChild td\n\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator(rowKey, [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal rowTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, [])\n td.setAttribute(\"data-for\", \"row\"+i)\n tr.appendChild td\n tbody.appendChild tr\n\n #finally, the row for col totals, and a grand total\n if opts.table.colTotals || rowAttrs.length == 0\n tr = document.createElement(\"tr\")\n if opts.table.colTotals || rowAttrs.length == 0\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtColTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"colspan\", rowAttrs.length + (if colAttrs.length == 0 then 0 else 1))\n tr.appendChild th\n for own j, colKey of colKeys\n totalAggregator = pivotData.getAggregator([], colKey)\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal colTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], colKey)\n td.setAttribute(\"data-for\", \"col\"+j)\n tr.appendChild td\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator([], [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtGrandTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], [])\n tr.appendChild td\n tbody.appendChild tr\n result.appendChild tbody\n\n #squirrel this away for later\n result.setAttribute(\"data-numrows\", rowKeys.length)\n result.setAttribute(\"data-numcols\", colKeys.length)\n\n return result\n\n ###\n Pivot Table core: create PivotData object and call Renderer on it\n ###\n\n $.fn.pivot = (input, inputOpts, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n cols : [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n filter: -> true\n aggregator: aggregatorTemplates.count()()\n aggregatorName: \"Count\"\n sorters: {}\n derivedAttributes: {}\n renderer: pivotTableRenderer\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n\n result = null\n try\n pivotData = new opts.dataClass(input, opts)\n try\n result = opts.renderer(pivotData, opts.rendererOptions)\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.renderError\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.computeError\n\n x = this[0]\n x.removeChild(x.lastChild) while x.hasChildNodes()\n return @append result\n\n\n ###\n Pivot Table UI: calls Pivot Table core above with options set by user\n ###\n\n $.fn.pivotUI = (input, inputOpts, overwrite = false, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n derivedAttributes: {}\n aggregators: locales[locale].aggregators\n renderers: locales[locale].renderers\n hiddenAttributes: []\n hiddenFromAggregators: []\n hiddenFromDragDrop: []\n menuLimit: 500\n cols: [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n exclusions: {}\n inclusions: {}\n unusedAttrsVertical: 85\n autoSortUnusedAttrs: false\n onRefresh: null\n showUI: true\n filter: -> true\n sorters: {}\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n existingOpts = @data \"pivotUIOptions\"\n if not existingOpts? or overwrite\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n else\n opts = existingOpts\n\n try\n # do a first pass on the data to cache a materialized copy of any\n # function-valued inputs and to compute dimension cardinalities\n attrValues = {}\n materializedInput = []\n recordsProcessed = 0\n PivotData.forEachRecord input, opts.derivedAttributes, (record) ->\n return unless opts.filter(record)\n materializedInput.push(record)\n for own attr of record\n if not attrValues[attr]?\n attrValues[attr] = {}\n if recordsProcessed > 0\n attrValues[attr][\"null\"] = recordsProcessed\n for attr of attrValues\n value = record[attr] ? \"null\"\n attrValues[attr][value] ?= 0\n attrValues[attr][value]++\n recordsProcessed++\n\n #start building the output\n uiTable = $(\"\", \"class\": \"pvtUi\").attr(\"cellpadding\", 5)\n\n #renderer control\n rendererControl = $(\"\").addClass(\"pvtUiCell\")\n\n renderer = $(\"\")\n .addClass('pvtRenderer')\n .appendTo(rendererControl)\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.renderers\n $(\"\").val(x).html(x).appendTo(renderer)\n\n\n #axis list, including the double-click menu\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell')\n shownAttributes = (a for a of attrValues when a not in opts.hiddenAttributes)\n shownInAggregators = (c for c in shownAttributes when c not in opts.hiddenFromAggregators)\n shownInDragDrop = (c for c in shownAttributes when c not in opts.hiddenFromDragDrop)\n\n\n unusedAttrsVerticalAutoOverride = false\n if opts.unusedAttrsVertical == \"auto\"\n unusedAttrsVerticalAutoCutoff = 120 # legacy support\n else\n unusedAttrsVerticalAutoCutoff = parseInt opts.unusedAttrsVertical\n\n if not isNaN(unusedAttrsVerticalAutoCutoff)\n attrLength = 0\n attrLength += a.length for a in shownInDragDrop\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff\n\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n unused.addClass('pvtVertList')\n else\n unused.addClass('pvtHorizList')\n\n for own i, attr of shownInDragDrop\n do (attr) ->\n values = (v for v of attrValues[attr])\n hasExcludedItem = false\n valueList = $(\"\").addClass('pvtFilterBox').hide()\n\n valueList.append $(\"\").append(\n $(\"\").text(attr),\n $(\"\").addClass(\"count\").text(\"(#{values.length})\"),\n )\n if values.length > opts.menuLimit\n valueList.append $(\"\").html(opts.localeStrings.tooMany)\n else\n if values.length > 5\n controls = $(\"\").appendTo(valueList)\n sorter = getSort(opts.sorters, attr)\n placeholder = opts.localeStrings.filterResults\n $(\"\", {type: \"text\"}).appendTo(controls)\n .attr({placeholder: placeholder, class: \"pvtSearch\"})\n .bind \"keyup\", ->\n filter = $(this).val().toLowerCase().trim()\n accept_gen = (prefix, accepted) -> (v) ->\n real_filter = filter.substring(prefix.length).trim()\n return true if real_filter.length == 0\n return Math.sign(sorter(v.toLowerCase(), real_filter)) in accepted\n accept =\n if filter.indexOf(\">=\") == 0 then accept_gen(\">=\", [1,0])\n else if filter.indexOf(\"<=\") == 0 then accept_gen(\"<=\", [-1,0])\n else if filter.indexOf(\">\") == 0 then accept_gen(\">\", [1])\n else if filter.indexOf(\"<\") == 0 then accept_gen(\"<\", [-1])\n else if filter.indexOf(\"~\") == 0 then (v) ->\n return true if filter.substring(1).trim().length == 0\n v.toLowerCase().match(filter.substring(1))\n else (v) -> v.toLowerCase().indexOf(filter) != -1\n\n valueList.find('.pvtCheckContainer p label span.value').each ->\n if accept($(this).text())\n $(this).parent().parent().show()\n else\n $(this).parent().parent().hide()\n controls.append $(\"\")\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectAll)\n .bind \"click\", ->\n valueList.find(\"input:visible:not(:checked)\")\n .prop(\"checked\", true).toggleClass(\"changed\")\n return false\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectNone)\n .bind \"click\", ->\n valueList.find(\"input:visible:checked\")\n .prop(\"checked\", false).toggleClass(\"changed\")\n return false\n\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList)\n\n for value in values.sort(getSort(opts.sorters, attr))\n valueCount = attrValues[attr][value]\n filterItem = $(\"\")\n filterItemExcluded = false\n if opts.inclusions[attr]\n filterItemExcluded = (value not in opts.inclusions[attr])\n else if opts.exclusions[attr]\n filterItemExcluded = (value in opts.exclusions[attr])\n hasExcludedItem ||= filterItemExcluded\n $(\"\")\n .attr(\"type\", \"checkbox\").addClass('pvtFilter')\n .attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr,value])\n .appendTo(filterItem)\n .bind \"change\", -> $(this).toggleClass(\"changed\")\n filterItem.append $(\"\").addClass(\"value\").text(value)\n filterItem.append $(\"\").addClass(\"count\").text(\"(\"+valueCount+\")\")\n checkContainer.append $(\"\").append(filterItem)\n\n closeFilterBox = ->\n if valueList.find(\"[type='checkbox']\").length >\n valueList.find(\"[type='checkbox']:checked\").length\n attrElem.addClass \"pvtFilteredAttribute\"\n else\n attrElem.removeClass \"pvtFilteredAttribute\"\n\n valueList.find('.pvtSearch').val('')\n valueList.find('.pvtCheckContainer p').show()\n valueList.hide()\n\n finalButtons = $(\"\").appendTo(valueList)\n\n if values.length <= opts.menuLimit\n $(\"\", {type: \"button\"}).text(opts.localeStrings.apply)\n .appendTo(finalButtons).bind \"click\", ->\n if valueList.find(\".changed\").removeClass(\"changed\").length\n refresh()\n closeFilterBox()\n\n $(\"\", {type: \"button\"}).text(opts.localeStrings.cancel)\n .appendTo(finalButtons).bind \"click\", ->\n valueList.find(\".changed:checked\")\n .removeClass(\"changed\").prop(\"checked\", false)\n valueList.find(\".changed:not(:checked)\")\n .removeClass(\"changed\").prop(\"checked\", true)\n closeFilterBox()\n\n triangleLink = $(\"\").addClass('pvtTriangle')\n .html(\" ▾\").bind \"click\", (e) ->\n {left, top} = $(e.currentTarget).position()\n valueList.css(left: left+10, top: top+10).show()\n\n attrElem = $(\"\").addClass(\"axis_#{i}\")\n .append $(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink)\n\n attrElem.addClass('pvtFilteredAttribute') if hasExcludedItem\n unused.append(attrElem).append(valueList)\n\n tr1 = $(\"\").appendTo(uiTable)\n\n #aggregator menu and value area\n\n aggregator = $(\"\").addClass('pvtAggregator')\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.aggregators\n aggregator.append $(\"\").val(x).html(x)\n\n ordering =\n key_a_to_z: {rowSymbol: \"↕\", colSymbol: \"↔\", next: \"value_a_to_z\"}\n value_a_to_z: {rowSymbol: \"↓\", colSymbol: \"→\", next: \"value_z_to_a\"}\n value_z_to_a: {rowSymbol: \"↑\", colSymbol: \"←\", next: \"key_a_to_z\"}\n\n rowOrderArrow = $(\"\", role: \"button\").addClass(\"pvtRowOrder\")\n .data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol)\n refresh()\n\n colOrderArrow = $(\"\", role: \"button\").addClass(\"pvtColOrder\")\n .data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].colSymbol)\n refresh()\n\n $(\"\").addClass('pvtVals pvtUiCell')\n .appendTo(tr1)\n .append(aggregator)\n .append(rowOrderArrow)\n .append(colOrderArrow)\n .append($(\"\"))\n\n #column axes\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1)\n\n tr2 = $(\"\").appendTo(uiTable)\n\n #row axes\n tr2.append $(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\")\n\n #the actual pivot table container\n pivotTable = $(\"\")\n .attr(\"valign\", \"top\")\n .addClass('pvtRendererArea')\n .appendTo(tr2)\n\n #finally the renderer dropdown and unused attribs are inserted at the requested location\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n uiTable.find('tr:nth-child(1)').prepend rendererControl\n uiTable.find('tr:nth-child(2)').prepend unused\n else\n uiTable.prepend $(\"\").append(rendererControl).append(unused)\n\n #render the UI in its default state\n @html uiTable\n\n #set up the UI initial state as requested by moving elements around\n\n for x in opts.cols\n @find(\".pvtCols\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n for x in opts.rows\n @find(\".pvtRows\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n if opts.aggregatorName?\n @find(\".pvtAggregator\").val opts.aggregatorName\n if opts.rendererName?\n @find(\".pvtRenderer\").val opts.rendererName\n\n @find(\".pvtUiCell\").hide() unless opts.showUI\n\n initialRender = true\n\n #set up for refreshing\n refreshDelayed = =>\n subopts =\n derivedAttributes: opts.derivedAttributes\n localeStrings: opts.localeStrings\n rendererOptions: opts.rendererOptions\n sorters: opts.sorters\n cols: [], rows: []\n dataClass: opts.dataClass\n\n numInputsToProcess = opts.aggregators[aggregator.val()]([])().numInputs ? 0\n vals = []\n @find(\".pvtRows li span.pvtAttr\").each -> subopts.rows.push $(this).data(\"attrName\")\n @find(\".pvtCols li span.pvtAttr\").each -> subopts.cols.push $(this).data(\"attrName\")\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n if numInputsToProcess == 0\n $(this).remove()\n else\n numInputsToProcess--\n vals.push $(this).val() if $(this).val() != \"\"\n\n if numInputsToProcess != 0\n pvtVals = @find(\".pvtVals\")\n for x in [0...numInputsToProcess]\n newDropdown = $(\"\")\n .addClass('pvtAttrDropdown')\n .append($(\"\"))\n .bind \"change\", -> refresh()\n for attr in shownInAggregators\n newDropdown.append($(\"\").val(attr).text(attr))\n pvtVals.append(newDropdown)\n\n if initialRender\n vals = opts.vals\n i = 0\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n $(this).val vals[i]\n i++\n initialRender = false\n\n subopts.aggregatorName = aggregator.val()\n subopts.vals = vals\n subopts.aggregator = opts.aggregators[aggregator.val()](vals)\n subopts.renderer = opts.renderers[renderer.val()]\n subopts.rowOrder = rowOrderArrow.data(\"order\")\n subopts.colOrder = colOrderArrow.data(\"order\")\n #construct filter here\n exclusions = {}\n @find('input.pvtFilter').not(':checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n exclusions[filter[0]].push( filter[1] )\n else\n exclusions[filter[0]] = [ filter[1] ]\n #include inclusions when exclusions present\n inclusions = {}\n @find('input.pvtFilter:checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n if inclusions[filter[0]]?\n inclusions[filter[0]].push( filter[1] )\n else\n inclusions[filter[0]] = [ filter[1] ]\n\n subopts.filter = (record) ->\n return false if not opts.filter(record)\n for k,excludedItems of exclusions\n return false if \"\"+(record[k] ? 'null') in excludedItems\n return true\n\n pivotTable.pivot(materializedInput,subopts)\n pivotUIOptions = $.extend {}, opts,\n cols: subopts.cols\n rows: subopts.rows\n colOrder: subopts.colOrder\n rowOrder: subopts.rowOrder\n vals: vals\n exclusions: exclusions\n inclusions: inclusions\n inclusionsInfo: inclusions #duplicated for backwards-compatibility\n aggregatorName: aggregator.val()\n rendererName: renderer.val()\n\n @data \"pivotUIOptions\", pivotUIOptions\n\n # if requested make sure unused columns are in alphabetical order\n if opts.autoSortUnusedAttrs\n unusedAttrsContainer = @find(\"td.pvtUnused.pvtAxisContainer\")\n $(unusedAttrsContainer).children(\"li\")\n .sort((a, b) => naturalSort($(a).text(), $(b).text()))\n .appendTo unusedAttrsContainer\n\n pivotTable.css(\"opacity\", 1)\n opts.onRefresh(pivotUIOptions) if opts.onRefresh?\n\n refresh = =>\n pivotTable.css(\"opacity\", 0.5)\n setTimeout refreshDelayed, 10\n\n #the very first refresh will actually display the table\n refresh()\n\n @find(\".pvtAxisContainer\").sortable\n update: (e, ui) -> refresh() if not ui.sender?\n connectWith: @find(\".pvtAxisContainer\")\n items: 'li'\n placeholder: 'pvtPlaceholder'\n catch e\n console.error(e.stack) if console?\n @html opts.localeStrings.uiRenderError\n return this\n\n ###\n Heatmap post-processing\n ###\n\n $.fn.heatmap = (scope = \"heatmap\", opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n # given a series of values\n # must return a function to map a given value to a CSS color\n colorScaleGenerator = opts?.heatmap?.colorScaleGenerator\n colorScaleGenerator ?= (values) ->\n min = Math.min(values...)\n max = Math.max(values...)\n return (x) ->\n nonRed = 255 - Math.round 255*(x-min)/(max-min)\n return \"rgb(255,#{nonRed},#{nonRed})\"\n\n heatmapper = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n colorScale = colorScaleGenerator(values)\n forEachCell (x, elem) -> elem.css \"background-color\", colorScale(x)\n\n switch scope\n when \"heatmap\" then heatmapper \".pvtVal\"\n when \"rowheatmap\" then heatmapper \".pvtVal.row#{i}\" for i in [0...numRows]\n when \"colheatmap\" then heatmapper \".pvtVal.col#{j}\" for j in [0...numCols]\n\n heatmapper \".pvtTotal.rowTotal\"\n heatmapper \".pvtTotal.colTotal\"\n\n return this\n\n ###\n Barchart post-processing\n ###\n\n $.fn.barchart = (opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n barcharter = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n max = Math.max(values...)\n if max < 0\n max = 0\n range = max;\n min = Math.min(values...)\n if min < 0\n range = max - min\n scaler = (x) -> 100*x/(1.4*range)\n forEachCell (x, elem) ->\n text = elem.text()\n wrapper = $(\"\").css\n \"position\": \"relative\"\n \"height\": \"55px\"\n bgColor = \"gray\"\n bBase = 0\n if min < 0\n bBase = scaler(-min)\n if x < 0\n bBase += scaler(x)\n bgColor = \"darkred\"\n x = -x\n wrapper.append $(\"\").css\n \"position\": \"absolute\"\n \"bottom\": bBase + \"%\"\n \"left\": 0\n \"right\": 0\n \"height\": scaler(x) + \"%\"\n \"background-color\": bgColor\n wrapper.append $(\"\").text(text).css\n \"position\":\"relative\"\n \"padding-left\":\"5px\"\n \"padding-right\":\"5px\"\n\n elem.css(\"padding\": 0,\"padding-top\": \"5px\", \"text-align\": \"center\").html wrapper\n\n barcharter \".pvtVal.row#{i}\" for i in [0...numRows]\n barcharter \".pvtTotal.colTotal\"\n\n return this\n","(function() {\n var callWithJQuery,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },\n slice = [].slice,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n hasProp = {}.hasOwnProperty;\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\n /*\n Utilities\n */\n var PivotData, addSeparators, aggregatorTemplates, aggregators, dayNamesEn, derivers, getSort, locales, mthNamesEn, naturalSort, numberFormat, pivotTableRenderer, rd, renderers, rx, rz, sortAs, usFmt, usFmtInt, usFmtPct, zeroPad;\n addSeparators = function(nStr, thousandsSep, decimalSep) {\n var rgx, x, x1, x2;\n nStr += '';\n x = nStr.split('.');\n x1 = x[0];\n x2 = x.length > 1 ? decimalSep + x[1] : '';\n rgx = /(\\d+)(\\d{3})/;\n while (rgx.test(x1)) {\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2');\n }\n return x1 + x2;\n };\n numberFormat = function(opts) {\n var defaults;\n defaults = {\n digitsAfterDecimal: 2,\n scaler: 1,\n thousandsSep: \",\",\n decimalSep: \".\",\n prefix: \"\",\n suffix: \"\"\n };\n opts = $.extend({}, defaults, opts);\n return function(x) {\n var result;\n if (isNaN(x) || !isFinite(x)) {\n return \"\";\n }\n result = addSeparators((opts.scaler * x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep);\n return \"\" + opts.prefix + result + opts.suffix;\n };\n };\n usFmt = numberFormat();\n usFmtInt = numberFormat({\n digitsAfterDecimal: 0\n });\n usFmtPct = numberFormat({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\"\n });\n aggregatorTemplates = {\n count: function(formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function() {\n return function(data, rowKey, colKey) {\n return {\n count: 0,\n push: function() {\n return this.count++;\n },\n value: function() {\n return this.count;\n },\n format: formatter\n };\n };\n };\n },\n uniques: function(fn, formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n uniq: [],\n push: function(record) {\n var ref;\n if (ref = record[attr], indexOf.call(this.uniq, ref) < 0) {\n return this.uniq.push(record[attr]);\n }\n },\n value: function() {\n return fn(this.uniq);\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n sum: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[attr]))) {\n return this.sum += parseFloat(record[attr]);\n }\n },\n value: function() {\n return this.sum;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n extremes: function(mode, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n val: null,\n sorter: getSort(data != null ? data.sorters : void 0, attr),\n push: function(record) {\n var ref, ref1, ref2, x;\n x = record[attr];\n if (mode === \"min\" || mode === \"max\") {\n x = parseFloat(x);\n if (!isNaN(x)) {\n this.val = Math[mode](x, (ref = this.val) != null ? ref : x);\n }\n }\n if (mode === \"first\") {\n if (this.sorter(x, (ref1 = this.val) != null ? ref1 : x) <= 0) {\n this.val = x;\n }\n }\n if (mode === \"last\") {\n if (this.sorter(x, (ref2 = this.val) != null ? ref2 : x) >= 0) {\n return this.val = x;\n }\n }\n },\n value: function() {\n return this.val;\n },\n format: function(x) {\n if (isNaN(x)) {\n return x;\n } else {\n return formatter(x);\n }\n },\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n quantile: function(q, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n vals: [],\n push: function(record) {\n var x;\n x = parseFloat(record[attr]);\n if (!isNaN(x)) {\n return this.vals.push(x);\n }\n },\n value: function() {\n var i;\n if (this.vals.length === 0) {\n return null;\n }\n this.vals.sort(function(a, b) {\n return a - b;\n });\n i = (this.vals.length - 1) * q;\n return (this.vals[Math.floor(i)] + this.vals[Math.ceil(i)]) / 2.0;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n runningStat: function(mode, ddof, formatter) {\n if (mode == null) {\n mode = \"mean\";\n }\n if (ddof == null) {\n ddof = 1;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n n: 0.0,\n m: 0.0,\n s: 0.0,\n push: function(record) {\n var m_new, x;\n x = parseFloat(record[attr]);\n if (isNaN(x)) {\n return;\n }\n this.n += 1.0;\n if (this.n === 1.0) {\n return this.m = x;\n } else {\n m_new = this.m + (x - this.m) / this.n;\n this.s = this.s + (x - this.m) * (x - m_new);\n return this.m = m_new;\n }\n },\n value: function() {\n if (mode === \"mean\") {\n if (this.n === 0) {\n return 0 / 0;\n } else {\n return this.m;\n }\n }\n if (this.n <= ddof) {\n return 0;\n }\n switch (mode) {\n case \"var\":\n return this.s / (this.n - ddof);\n case \"stdev\":\n return Math.sqrt(this.s / (this.n - ddof));\n }\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sumOverSum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n return this.sumNum / this.sumDenom;\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n sumOverSumBound80: function(upper, formatter) {\n if (upper == null) {\n upper = true;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n var sign;\n sign = upper ? 1 : -1;\n return (0.821187207574908 / this.sumDenom + this.sumNum / this.sumDenom + 1.2815515655446004 * sign * Math.sqrt(0.410593603787454 / (this.sumDenom * this.sumDenom) + (this.sumNum * (1 - this.sumNum / this.sumDenom)) / (this.sumDenom * this.sumDenom))) / (1 + 1.642374415149816 / this.sumDenom);\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n fractionOf: function(wrapped, type, formatter) {\n if (type == null) {\n type = \"total\";\n }\n if (formatter == null) {\n formatter = usFmtPct;\n }\n return function() {\n var x;\n x = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return function(data, rowKey, colKey) {\n return {\n selector: {\n total: [[], []],\n row: [rowKey, []],\n col: [[], colKey]\n }[type],\n inner: wrapped.apply(null, x)(data, rowKey, colKey),\n push: function(record) {\n return this.inner.push(record);\n },\n format: formatter,\n value: function() {\n return this.inner.value() / data.getAggregator.apply(data, this.selector).inner.value();\n },\n numInputs: wrapped.apply(null, x)().numInputs\n };\n };\n };\n }\n };\n aggregatorTemplates.countUnique = function(f) {\n return aggregatorTemplates.uniques((function(x) {\n return x.length;\n }), f);\n };\n aggregatorTemplates.listUnique = function(s) {\n return aggregatorTemplates.uniques((function(x) {\n return x.sort(naturalSort).join(s);\n }), (function(x) {\n return x;\n }));\n };\n aggregatorTemplates.max = function(f) {\n return aggregatorTemplates.extremes('max', f);\n };\n aggregatorTemplates.min = function(f) {\n return aggregatorTemplates.extremes('min', f);\n };\n aggregatorTemplates.first = function(f) {\n return aggregatorTemplates.extremes('first', f);\n };\n aggregatorTemplates.last = function(f) {\n return aggregatorTemplates.extremes('last', f);\n };\n aggregatorTemplates.median = function(f) {\n return aggregatorTemplates.quantile(0.5, f);\n };\n aggregatorTemplates.average = function(f) {\n return aggregatorTemplates.runningStat(\"mean\", 1, f);\n };\n aggregatorTemplates[\"var\"] = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"var\", ddof, f);\n };\n aggregatorTemplates.stdev = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"stdev\", ddof, f);\n };\n aggregators = (function(tpl) {\n return {\n \"Count\": tpl.count(usFmtInt),\n \"Count Unique Values\": tpl.countUnique(usFmtInt),\n \"List Unique Values\": tpl.listUnique(\", \"),\n \"Sum\": tpl.sum(usFmt),\n \"Integer Sum\": tpl.sum(usFmtInt),\n \"Average\": tpl.average(usFmt),\n \"Median\": tpl.median(usFmt),\n \"Sample Variance\": tpl[\"var\"](1, usFmt),\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt),\n \"Minimum\": tpl.min(usFmt),\n \"Maximum\": tpl.max(usFmt),\n \"First\": tpl.first(usFmt),\n \"Last\": tpl.last(usFmt),\n \"Sum over Sum\": tpl.sumOverSum(usFmt),\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt),\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt),\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct),\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct),\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct),\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct),\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct),\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n };\n })(aggregatorTemplates);\n renderers = {\n \"Table\": function(data, opts) {\n return pivotTableRenderer(data, opts);\n },\n \"Table Barchart\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).barchart();\n },\n \"Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts);\n },\n \"Row Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts);\n },\n \"Col Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts);\n }\n };\n locales = {\n en: {\n aggregators: aggregators,\n renderers: renderers,\n localeStrings: {\n renderError: \"An error occurred rendering the PivotTable results.\",\n computeError: \"An error occurred computing the PivotTable results.\",\n uiRenderError: \"An error occurred rendering the PivotTable UI.\",\n selectAll: \"Select All\",\n selectNone: \"Select None\",\n tooMany: \"(too many to list)\",\n filterResults: \"Filter values\",\n apply: \"Apply\",\n cancel: \"Cancel\",\n totals: \"Totals\",\n vs: \"vs\",\n by: \"by\"\n }\n }\n };\n mthNamesEn = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n dayNamesEn = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n zeroPad = function(number) {\n return (\"0\" + number).substr(-2, 2);\n };\n derivers = {\n bin: function(col, binWidth) {\n return function(record) {\n return record[col] - record[col] % binWidth;\n };\n },\n dateFormat: function(col, formatString, utcOutput, mthNames, dayNames) {\n var utc;\n if (utcOutput == null) {\n utcOutput = false;\n }\n if (mthNames == null) {\n mthNames = mthNamesEn;\n }\n if (dayNames == null) {\n dayNames = dayNamesEn;\n }\n utc = utcOutput ? \"UTC\" : \"\";\n return function(record) {\n var date;\n date = new Date(Date.parse(record[col]));\n if (isNaN(date)) {\n return \"\";\n }\n return formatString.replace(/%(.)/g, function(m, p) {\n switch (p) {\n case \"y\":\n return date[\"get\" + utc + \"FullYear\"]();\n case \"m\":\n return zeroPad(date[\"get\" + utc + \"Month\"]() + 1);\n case \"n\":\n return mthNames[date[\"get\" + utc + \"Month\"]()];\n case \"d\":\n return zeroPad(date[\"get\" + utc + \"Date\"]());\n case \"w\":\n return dayNames[date[\"get\" + utc + \"Day\"]()];\n case \"x\":\n return date[\"get\" + utc + \"Day\"]();\n case \"H\":\n return zeroPad(date[\"get\" + utc + \"Hours\"]());\n case \"M\":\n return zeroPad(date[\"get\" + utc + \"Minutes\"]());\n case \"S\":\n return zeroPad(date[\"get\" + utc + \"Seconds\"]());\n default:\n return \"%\" + p;\n }\n });\n };\n }\n };\n rx = /(\\d+)|(\\D+)/g;\n rd = /\\d/;\n rz = /^0/;\n naturalSort = (function(_this) {\n return function(as, bs) {\n var a, a1, b, b1, nas, nbs;\n if ((bs != null) && (as == null)) {\n return -1;\n }\n if ((as != null) && (bs == null)) {\n return 1;\n }\n if (typeof as === \"number\" && isNaN(as)) {\n return -1;\n }\n if (typeof bs === \"number\" && isNaN(bs)) {\n return 1;\n }\n nas = +as;\n nbs = +bs;\n if (nas < nbs) {\n return -1;\n }\n if (nas > nbs) {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs !== \"number\") {\n return -1;\n }\n if (typeof bs === \"number\" && typeof as !== \"number\") {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs === \"number\") {\n return 0;\n }\n if (isNaN(nbs) && !isNaN(nas)) {\n return -1;\n }\n if (isNaN(nas) && !isNaN(nbs)) {\n return 1;\n }\n a = String(as);\n b = String(bs);\n if (a === b) {\n return 0;\n }\n if (!(rd.test(a) && rd.test(b))) {\n return (a > b ? 1 : -1);\n }\n a = a.match(rx);\n b = b.match(rx);\n while (a.length && b.length) {\n a1 = a.shift();\n b1 = b.shift();\n if (a1 !== b1) {\n if (rd.test(a1) && rd.test(b1)) {\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\");\n } else {\n return (a1 > b1 ? 1 : -1);\n }\n }\n }\n return a.length - b.length;\n };\n })(this);\n sortAs = function(order) {\n var i, l_mapping, mapping, x;\n mapping = {};\n l_mapping = {};\n for (i in order) {\n x = order[i];\n mapping[x] = i;\n if (typeof x === \"string\") {\n l_mapping[x.toLowerCase()] = i;\n }\n }\n return function(a, b) {\n if ((mapping[a] != null) && (mapping[b] != null)) {\n return mapping[a] - mapping[b];\n } else if (mapping[a] != null) {\n return -1;\n } else if (mapping[b] != null) {\n return 1;\n } else if ((l_mapping[a] != null) && (l_mapping[b] != null)) {\n return l_mapping[a] - l_mapping[b];\n } else if (l_mapping[a] != null) {\n return -1;\n } else if (l_mapping[b] != null) {\n return 1;\n } else {\n return naturalSort(a, b);\n }\n };\n };\n getSort = function(sorters, attr) {\n var sort;\n if (sorters != null) {\n if ($.isFunction(sorters)) {\n sort = sorters(attr);\n if ($.isFunction(sort)) {\n return sort;\n }\n } else if (sorters[attr] != null) {\n return sorters[attr];\n }\n }\n return naturalSort;\n };\n\n /*\n Data Model class\n */\n PivotData = (function() {\n function PivotData(input, opts) {\n var ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9;\n if (opts == null) {\n opts = {};\n }\n this.getAggregator = bind(this.getAggregator, this);\n this.getRowKeys = bind(this.getRowKeys, this);\n this.getColKeys = bind(this.getColKeys, this);\n this.sortKeys = bind(this.sortKeys, this);\n this.arrSort = bind(this.arrSort, this);\n this.input = input;\n this.aggregator = (ref = opts.aggregator) != null ? ref : aggregatorTemplates.count()();\n this.aggregatorName = (ref1 = opts.aggregatorName) != null ? ref1 : \"Count\";\n this.colAttrs = (ref2 = opts.cols) != null ? ref2 : [];\n this.rowAttrs = (ref3 = opts.rows) != null ? ref3 : [];\n this.valAttrs = (ref4 = opts.vals) != null ? ref4 : [];\n this.sorters = (ref5 = opts.sorters) != null ? ref5 : {};\n this.rowOrder = (ref6 = opts.rowOrder) != null ? ref6 : \"key_a_to_z\";\n this.colOrder = (ref7 = opts.colOrder) != null ? ref7 : \"key_a_to_z\";\n this.derivedAttributes = (ref8 = opts.derivedAttributes) != null ? ref8 : {};\n this.filter = (ref9 = opts.filter) != null ? ref9 : (function() {\n return true;\n });\n this.tree = {};\n this.rowKeys = [];\n this.colKeys = [];\n this.rowTotals = {};\n this.colTotals = {};\n this.allTotal = this.aggregator(this, [], []);\n this.sorted = false;\n PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n if (_this.filter(record)) {\n return _this.processRecord(record);\n }\n };\n })(this));\n }\n\n PivotData.forEachRecord = function(input, derivedAttributes, f) {\n var addRecord, compactRecord, i, j, k, l, len1, record, ref, results, results1, tblCols;\n if ($.isEmptyObject(derivedAttributes)) {\n addRecord = f;\n } else {\n addRecord = function(record) {\n var k, ref, v;\n for (k in derivedAttributes) {\n v = derivedAttributes[k];\n record[k] = (ref = v(record)) != null ? ref : record[k];\n }\n return f(record);\n };\n }\n if ($.isFunction(input)) {\n return input(addRecord);\n } else if ($.isArray(input)) {\n if ($.isArray(input[0])) {\n results = [];\n for (i in input) {\n if (!hasProp.call(input, i)) continue;\n compactRecord = input[i];\n if (!(i > 0)) {\n continue;\n }\n record = {};\n ref = input[0];\n for (j in ref) {\n if (!hasProp.call(ref, j)) continue;\n k = ref[j];\n record[k] = compactRecord[j];\n }\n results.push(addRecord(record));\n }\n return results;\n } else {\n results1 = [];\n for (l = 0, len1 = input.length; l < len1; l++) {\n record = input[l];\n results1.push(addRecord(record));\n }\n return results1;\n }\n } else if (input instanceof $) {\n tblCols = [];\n $(\"thead > tr > th\", input).each(function(i) {\n return tblCols.push($(this).text());\n });\n return $(\"tbody > tr\", input).each(function(i) {\n record = {};\n $(\"td\", this).each(function(j) {\n return record[tblCols[j]] = $(this).text();\n });\n return addRecord(record);\n });\n } else {\n throw new Error(\"unknown input format\");\n }\n };\n\n PivotData.prototype.forEachMatchingRecord = function(criteria, callback) {\n return PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n var k, ref, v;\n if (!_this.filter(record)) {\n return;\n }\n for (k in criteria) {\n v = criteria[k];\n if (v !== ((ref = record[k]) != null ? ref : \"null\")) {\n return;\n }\n }\n return callback(record);\n };\n })(this));\n };\n\n PivotData.prototype.arrSort = function(attrs) {\n var a, sortersArr;\n sortersArr = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = attrs.length; l < len1; l++) {\n a = attrs[l];\n results.push(getSort(this.sorters, a));\n }\n return results;\n }).call(this);\n return function(a, b) {\n var comparison, i, sorter;\n for (i in sortersArr) {\n if (!hasProp.call(sortersArr, i)) continue;\n sorter = sortersArr[i];\n comparison = sorter(a[i], b[i]);\n if (comparison !== 0) {\n return comparison;\n }\n }\n return 0;\n };\n };\n\n PivotData.prototype.sortKeys = function() {\n var v;\n if (!this.sorted) {\n this.sorted = true;\n v = (function(_this) {\n return function(r, c) {\n return _this.getAggregator(r, c).value();\n };\n })(this);\n switch (this.rowOrder) {\n case \"value_a_to_z\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n case \"value_z_to_a\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n default:\n this.rowKeys.sort(this.arrSort(this.rowAttrs));\n }\n switch (this.colOrder) {\n case \"value_a_to_z\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v([], a), v([], b));\n };\n })(this));\n case \"value_z_to_a\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v([], a), v([], b));\n };\n })(this));\n default:\n return this.colKeys.sort(this.arrSort(this.colAttrs));\n }\n }\n };\n\n PivotData.prototype.getColKeys = function() {\n this.sortKeys();\n return this.colKeys;\n };\n\n PivotData.prototype.getRowKeys = function() {\n this.sortKeys();\n return this.rowKeys;\n };\n\n PivotData.prototype.processRecord = function(record) {\n var colKey, flatColKey, flatRowKey, l, len1, len2, n, ref, ref1, ref2, ref3, rowKey, x;\n colKey = [];\n rowKey = [];\n ref = this.colAttrs;\n for (l = 0, len1 = ref.length; l < len1; l++) {\n x = ref[l];\n colKey.push((ref1 = record[x]) != null ? ref1 : \"null\");\n }\n ref2 = this.rowAttrs;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n rowKey.push((ref3 = record[x]) != null ? ref3 : \"null\");\n }\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n this.allTotal.push(record);\n if (rowKey.length !== 0) {\n if (!this.rowTotals[flatRowKey]) {\n this.rowKeys.push(rowKey);\n this.rowTotals[flatRowKey] = this.aggregator(this, rowKey, []);\n }\n this.rowTotals[flatRowKey].push(record);\n }\n if (colKey.length !== 0) {\n if (!this.colTotals[flatColKey]) {\n this.colKeys.push(colKey);\n this.colTotals[flatColKey] = this.aggregator(this, [], colKey);\n }\n this.colTotals[flatColKey].push(record);\n }\n if (colKey.length !== 0 && rowKey.length !== 0) {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n if (!this.tree[flatRowKey][flatColKey]) {\n this.tree[flatRowKey][flatColKey] = this.aggregator(this, rowKey, colKey);\n }\n return this.tree[flatRowKey][flatColKey].push(record);\n }\n };\n\n PivotData.prototype.getAggregator = function(rowKey, colKey) {\n var agg, flatColKey, flatRowKey;\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n if (rowKey.length === 0 && colKey.length === 0) {\n agg = this.allTotal;\n } else if (rowKey.length === 0) {\n agg = this.colTotals[flatColKey];\n } else if (colKey.length === 0) {\n agg = this.rowTotals[flatRowKey];\n } else {\n agg = this.tree[flatRowKey][flatColKey];\n }\n return agg != null ? agg : {\n value: (function() {\n return null;\n }),\n format: function() {\n return \"\";\n }\n };\n };\n\n return PivotData;\n\n })();\n $.pivotUtilities = {\n aggregatorTemplates: aggregatorTemplates,\n aggregators: aggregators,\n renderers: renderers,\n derivers: derivers,\n locales: locales,\n naturalSort: naturalSort,\n numberFormat: numberFormat,\n sortAs: sortAs,\n PivotData: PivotData\n };\n\n /*\n Default Renderer for hierarchical table layout\n */\n pivotTableRenderer = function(pivotData, opts) {\n 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;\n defaults = {\n table: {\n clickCallback: null,\n rowTotals: true,\n colTotals: true\n },\n localeStrings: {\n totals: \"Totals\"\n }\n };\n opts = $.extend(true, {}, defaults, opts);\n colAttrs = pivotData.colAttrs;\n rowAttrs = pivotData.rowAttrs;\n rowKeys = pivotData.getRowKeys();\n colKeys = pivotData.getColKeys();\n if (opts.table.clickCallback) {\n getClickHandler = function(value, rowValues, colValues) {\n var attr, filters, i;\n filters = {};\n for (i in colAttrs) {\n if (!hasProp.call(colAttrs, i)) continue;\n attr = colAttrs[i];\n if (colValues[i] != null) {\n filters[attr] = colValues[i];\n }\n }\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n attr = rowAttrs[i];\n if (rowValues[i] != null) {\n filters[attr] = rowValues[i];\n }\n }\n return function(e) {\n return opts.table.clickCallback(e, value, filters, pivotData);\n };\n };\n }\n result = document.createElement(\"table\");\n result.className = \"pvtTable\";\n spanSize = function(arr, i, j) {\n var l, len, n, noDraw, ref, ref1, stop, x;\n if (i !== 0) {\n noDraw = true;\n for (x = l = 0, ref = j; 0 <= ref ? l <= ref : l >= ref; x = 0 <= ref ? ++l : --l) {\n if (arr[i - 1][x] !== arr[i][x]) {\n noDraw = false;\n }\n }\n if (noDraw) {\n return -1;\n }\n }\n len = 0;\n while (i + len < arr.length) {\n stop = false;\n for (x = n = 0, ref1 = j; 0 <= ref1 ? n <= ref1 : n >= ref1; x = 0 <= ref1 ? ++n : --n) {\n if (arr[i][x] !== arr[i + len][x]) {\n stop = true;\n }\n }\n if (stop) {\n break;\n }\n len++;\n }\n return len;\n };\n thead = document.createElement(\"thead\");\n for (j in colAttrs) {\n if (!hasProp.call(colAttrs, j)) continue;\n c = colAttrs[j];\n tr = document.createElement(\"tr\");\n if (parseInt(j) === 0 && rowAttrs.length !== 0) {\n th = document.createElement(\"th\");\n th.setAttribute(\"colspan\", rowAttrs.length);\n th.setAttribute(\"rowspan\", colAttrs.length);\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = c;\n tr.appendChild(th);\n for (i in colKeys) {\n if (!hasProp.call(colKeys, i)) continue;\n colKey = colKeys[i];\n x = spanSize(colKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtColLabel\";\n th.textContent = colKey[j];\n th.setAttribute(\"colspan\", x);\n if (parseInt(j) === colAttrs.length - 1 && rowAttrs.length !== 0) {\n th.setAttribute(\"rowspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n if (parseInt(j) === 0 && opts.table.rowTotals) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"rowspan\", colAttrs.length + (rowAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n thead.appendChild(tr);\n }\n if (rowAttrs.length !== 0) {\n tr = document.createElement(\"tr\");\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n r = rowAttrs[i];\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = r;\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n if (colAttrs.length === 0) {\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n }\n tr.appendChild(th);\n thead.appendChild(tr);\n }\n result.appendChild(thead);\n tbody = document.createElement(\"tbody\");\n for (i in rowKeys) {\n if (!hasProp.call(rowKeys, i)) continue;\n rowKey = rowKeys[i];\n tr = document.createElement(\"tr\");\n for (j in rowKey) {\n if (!hasProp.call(rowKey, j)) continue;\n txt = rowKey[j];\n x = spanSize(rowKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtRowLabel\";\n th.textContent = txt;\n th.setAttribute(\"rowspan\", x);\n if (parseInt(j) === rowAttrs.length - 1 && colAttrs.length !== 0) {\n th.setAttribute(\"colspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n aggregator = pivotData.getAggregator(rowKey, colKey);\n val = aggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtVal row\" + i + \" col\" + j;\n td.textContent = aggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, colKey);\n }\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator(rowKey, []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal rowTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, []);\n }\n td.setAttribute(\"data-for\", \"row\" + i);\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n if (opts.table.colTotals || rowAttrs.length === 0) {\n tr = document.createElement(\"tr\");\n if (opts.table.colTotals || rowAttrs.length === 0) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtColTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"colspan\", rowAttrs.length + (colAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n totalAggregator = pivotData.getAggregator([], colKey);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal colTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], colKey);\n }\n td.setAttribute(\"data-for\", \"col\" + j);\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator([], []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtGrandTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], []);\n }\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n result.appendChild(tbody);\n result.setAttribute(\"data-numrows\", rowKeys.length);\n result.setAttribute(\"data-numcols\", colKeys.length);\n return result;\n };\n\n /*\n Pivot Table core: create PivotData object and call Renderer on it\n */\n $.fn.pivot = function(input, inputOpts, locale) {\n var defaults, e, localeDefaults, localeStrings, opts, pivotData, result, x;\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n filter: function() {\n return true;\n },\n aggregator: aggregatorTemplates.count()(),\n aggregatorName: \"Count\",\n sorters: {},\n derivedAttributes: {},\n renderer: pivotTableRenderer\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n result = null;\n try {\n pivotData = new opts.dataClass(input, opts);\n try {\n result = opts.renderer(pivotData, opts.rendererOptions);\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.renderError);\n }\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.computeError);\n }\n x = this[0];\n while (x.hasChildNodes()) {\n x.removeChild(x.lastChild);\n }\n return this.append(result);\n };\n\n /*\n Pivot Table UI: calls Pivot Table core above with options set by user\n */\n $.fn.pivotUI = function(input, inputOpts, overwrite, locale) {\n 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;\n if (overwrite == null) {\n overwrite = false;\n }\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n derivedAttributes: {},\n aggregators: locales[locale].aggregators,\n renderers: locales[locale].renderers,\n hiddenAttributes: [],\n hiddenFromAggregators: [],\n hiddenFromDragDrop: [],\n menuLimit: 500,\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n exclusions: {},\n inclusions: {},\n unusedAttrsVertical: 85,\n autoSortUnusedAttrs: false,\n onRefresh: null,\n showUI: true,\n filter: function() {\n return true;\n },\n sorters: {}\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n existingOpts = this.data(\"pivotUIOptions\");\n if ((existingOpts == null) || overwrite) {\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n } else {\n opts = existingOpts;\n }\n try {\n attrValues = {};\n materializedInput = [];\n recordsProcessed = 0;\n PivotData.forEachRecord(input, opts.derivedAttributes, function(record) {\n var attr, base, ref, value;\n if (!opts.filter(record)) {\n return;\n }\n materializedInput.push(record);\n for (attr in record) {\n if (!hasProp.call(record, attr)) continue;\n if (attrValues[attr] == null) {\n attrValues[attr] = {};\n if (recordsProcessed > 0) {\n attrValues[attr][\"null\"] = recordsProcessed;\n }\n }\n }\n for (attr in attrValues) {\n value = (ref = record[attr]) != null ? ref : \"null\";\n if ((base = attrValues[attr])[value] == null) {\n base[value] = 0;\n }\n attrValues[attr][value]++;\n }\n return recordsProcessed++;\n });\n uiTable = $(\"\", {\n \"class\": \"pvtUi\"\n }).attr(\"cellpadding\", 5);\n rendererControl = $(\"\").addClass(\"pvtUiCell\");\n renderer = $(\"\").addClass('pvtRenderer').appendTo(rendererControl).bind(\"change\", function() {\n return refresh();\n });\n ref = opts.renderers;\n for (x in ref) {\n if (!hasProp.call(ref, x)) continue;\n $(\"\").val(x).html(x).appendTo(renderer);\n }\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell');\n shownAttributes = (function() {\n var results;\n results = [];\n for (a in attrValues) {\n if (indexOf.call(opts.hiddenAttributes, a) < 0) {\n results.push(a);\n }\n }\n return results;\n })();\n shownInAggregators = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromAggregators, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n shownInDragDrop = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromDragDrop, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n unusedAttrsVerticalAutoOverride = false;\n if (opts.unusedAttrsVertical === \"auto\") {\n unusedAttrsVerticalAutoCutoff = 120;\n } else {\n unusedAttrsVerticalAutoCutoff = parseInt(opts.unusedAttrsVertical);\n }\n if (!isNaN(unusedAttrsVerticalAutoCutoff)) {\n attrLength = 0;\n for (l = 0, len1 = shownInDragDrop.length; l < len1; l++) {\n a = shownInDragDrop[l];\n attrLength += a.length;\n }\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff;\n }\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n unused.addClass('pvtVertList');\n } else {\n unused.addClass('pvtHorizList');\n }\n fn1 = function(attr) {\n var attrElem, checkContainer, closeFilterBox, controls, filterItem, filterItemExcluded, finalButtons, hasExcludedItem, len2, n, placeholder, ref1, sorter, triangleLink, v, value, valueCount, valueList, values;\n values = (function() {\n var results;\n results = [];\n for (v in attrValues[attr]) {\n results.push(v);\n }\n return results;\n })();\n hasExcludedItem = false;\n valueList = $(\"\").addClass('pvtFilterBox').hide();\n valueList.append($(\"\").append($(\"\").text(attr), $(\"\").addClass(\"count\").text(\"(\" + values.length + \")\")));\n if (values.length > opts.menuLimit) {\n valueList.append($(\"\").html(opts.localeStrings.tooMany));\n } else {\n if (values.length > 5) {\n controls = $(\"\").appendTo(valueList);\n sorter = getSort(opts.sorters, attr);\n placeholder = opts.localeStrings.filterResults;\n $(\"\", {\n type: \"text\"\n }).appendTo(controls).attr({\n placeholder: placeholder,\n \"class\": \"pvtSearch\"\n }).bind(\"keyup\", function() {\n var accept, accept_gen, filter;\n filter = $(this).val().toLowerCase().trim();\n accept_gen = function(prefix, accepted) {\n return function(v) {\n var real_filter, ref1;\n real_filter = filter.substring(prefix.length).trim();\n if (real_filter.length === 0) {\n return true;\n }\n return ref1 = Math.sign(sorter(v.toLowerCase(), real_filter)), indexOf.call(accepted, ref1) >= 0;\n };\n };\n 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) {\n if (filter.substring(1).trim().length === 0) {\n return true;\n }\n return v.toLowerCase().match(filter.substring(1));\n } : function(v) {\n return v.toLowerCase().indexOf(filter) !== -1;\n };\n return valueList.find('.pvtCheckContainer p label span.value').each(function() {\n if (accept($(this).text())) {\n return $(this).parent().parent().show();\n } else {\n return $(this).parent().parent().hide();\n }\n });\n });\n controls.append($(\"\"));\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectAll).bind(\"click\", function() {\n valueList.find(\"input:visible:not(:checked)\").prop(\"checked\", true).toggleClass(\"changed\");\n return false;\n });\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectNone).bind(\"click\", function() {\n valueList.find(\"input:visible:checked\").prop(\"checked\", false).toggleClass(\"changed\");\n return false;\n });\n }\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList);\n ref1 = values.sort(getSort(opts.sorters, attr));\n for (n = 0, len2 = ref1.length; n < len2; n++) {\n value = ref1[n];\n valueCount = attrValues[attr][value];\n filterItem = $(\"\");\n filterItemExcluded = false;\n if (opts.inclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.inclusions[attr], value) < 0);\n } else if (opts.exclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.exclusions[attr], value) >= 0);\n }\n hasExcludedItem || (hasExcludedItem = filterItemExcluded);\n $(\"\").attr(\"type\", \"checkbox\").addClass('pvtFilter').attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr, value]).appendTo(filterItem).bind(\"change\", function() {\n return $(this).toggleClass(\"changed\");\n });\n filterItem.append($(\"\").addClass(\"value\").text(value));\n filterItem.append($(\"\").addClass(\"count\").text(\"(\" + valueCount + \")\"));\n checkContainer.append($(\"\").append(filterItem));\n }\n }\n closeFilterBox = function() {\n if (valueList.find(\"[type='checkbox']\").length > valueList.find(\"[type='checkbox']:checked\").length) {\n attrElem.addClass(\"pvtFilteredAttribute\");\n } else {\n attrElem.removeClass(\"pvtFilteredAttribute\");\n }\n valueList.find('.pvtSearch').val('');\n valueList.find('.pvtCheckContainer p').show();\n return valueList.hide();\n };\n finalButtons = $(\"\").appendTo(valueList);\n if (values.length <= opts.menuLimit) {\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.apply).appendTo(finalButtons).bind(\"click\", function() {\n if (valueList.find(\".changed\").removeClass(\"changed\").length) {\n refresh();\n }\n return closeFilterBox();\n });\n }\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.cancel).appendTo(finalButtons).bind(\"click\", function() {\n valueList.find(\".changed:checked\").removeClass(\"changed\").prop(\"checked\", false);\n valueList.find(\".changed:not(:checked)\").removeClass(\"changed\").prop(\"checked\", true);\n return closeFilterBox();\n });\n triangleLink = $(\"\").addClass('pvtTriangle').html(\" ▾\").bind(\"click\", function(e) {\n var left, ref2, top;\n ref2 = $(e.currentTarget).position(), left = ref2.left, top = ref2.top;\n return valueList.css({\n left: left + 10,\n top: top + 10\n }).show();\n });\n attrElem = $(\"\").addClass(\"axis_\" + i).append($(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink));\n if (hasExcludedItem) {\n attrElem.addClass('pvtFilteredAttribute');\n }\n return unused.append(attrElem).append(valueList);\n };\n for (i in shownInDragDrop) {\n if (!hasProp.call(shownInDragDrop, i)) continue;\n attr = shownInDragDrop[i];\n fn1(attr);\n }\n tr1 = $(\"\").appendTo(uiTable);\n aggregator = $(\"\").addClass('pvtAggregator').bind(\"change\", function() {\n return refresh();\n });\n ref1 = opts.aggregators;\n for (x in ref1) {\n if (!hasProp.call(ref1, x)) continue;\n aggregator.append($(\"\").val(x).html(x));\n }\n ordering = {\n key_a_to_z: {\n rowSymbol: \"↕\",\n colSymbol: \"↔\",\n next: \"value_a_to_z\"\n },\n value_a_to_z: {\n rowSymbol: \"↓\",\n colSymbol: \"→\",\n next: \"value_z_to_a\"\n },\n value_z_to_a: {\n rowSymbol: \"↑\",\n colSymbol: \"←\",\n next: \"key_a_to_z\"\n }\n };\n rowOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtRowOrder\").data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol);\n return refresh();\n });\n colOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtColOrder\").data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].colSymbol);\n return refresh();\n });\n $(\"\").addClass('pvtVals pvtUiCell').appendTo(tr1).append(aggregator).append(rowOrderArrow).append(colOrderArrow).append($(\"\"));\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1);\n tr2 = $(\"\").appendTo(uiTable);\n tr2.append($(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\"));\n pivotTable = $(\"\").attr(\"valign\", \"top\").addClass('pvtRendererArea').appendTo(tr2);\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n uiTable.find('tr:nth-child(1)').prepend(rendererControl);\n uiTable.find('tr:nth-child(2)').prepend(unused);\n } else {\n uiTable.prepend($(\"\").append(rendererControl).append(unused));\n }\n this.html(uiTable);\n ref2 = opts.cols;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n this.find(\".pvtCols\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n ref3 = opts.rows;\n for (o = 0, len3 = ref3.length; o < len3; o++) {\n x = ref3[o];\n this.find(\".pvtRows\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n if (opts.aggregatorName != null) {\n this.find(\".pvtAggregator\").val(opts.aggregatorName);\n }\n if (opts.rendererName != null) {\n this.find(\".pvtRenderer\").val(opts.rendererName);\n }\n if (!opts.showUI) {\n this.find(\".pvtUiCell\").hide();\n }\n initialRender = true;\n refreshDelayed = (function(_this) {\n return function() {\n var exclusions, inclusions, len4, newDropdown, numInputsToProcess, pivotUIOptions, pvtVals, ref4, ref5, subopts, t, u, unusedAttrsContainer, vals;\n subopts = {\n derivedAttributes: opts.derivedAttributes,\n localeStrings: opts.localeStrings,\n rendererOptions: opts.rendererOptions,\n sorters: opts.sorters,\n cols: [],\n rows: [],\n dataClass: opts.dataClass\n };\n numInputsToProcess = (ref4 = opts.aggregators[aggregator.val()]([])().numInputs) != null ? ref4 : 0;\n vals = [];\n _this.find(\".pvtRows li span.pvtAttr\").each(function() {\n return subopts.rows.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtCols li span.pvtAttr\").each(function() {\n return subopts.cols.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n if (numInputsToProcess === 0) {\n return $(this).remove();\n } else {\n numInputsToProcess--;\n if ($(this).val() !== \"\") {\n return vals.push($(this).val());\n }\n }\n });\n if (numInputsToProcess !== 0) {\n pvtVals = _this.find(\".pvtVals\");\n for (x = t = 0, ref5 = numInputsToProcess; 0 <= ref5 ? t < ref5 : t > ref5; x = 0 <= ref5 ? ++t : --t) {\n newDropdown = $(\"\").addClass('pvtAttrDropdown').append($(\"\")).bind(\"change\", function() {\n return refresh();\n });\n for (u = 0, len4 = shownInAggregators.length; u < len4; u++) {\n attr = shownInAggregators[u];\n newDropdown.append($(\"\").val(attr).text(attr));\n }\n pvtVals.append(newDropdown);\n }\n }\n if (initialRender) {\n vals = opts.vals;\n i = 0;\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n $(this).val(vals[i]);\n return i++;\n });\n initialRender = false;\n }\n subopts.aggregatorName = aggregator.val();\n subopts.vals = vals;\n subopts.aggregator = opts.aggregators[aggregator.val()](vals);\n subopts.renderer = opts.renderers[renderer.val()];\n subopts.rowOrder = rowOrderArrow.data(\"order\");\n subopts.colOrder = colOrderArrow.data(\"order\");\n exclusions = {};\n _this.find('input.pvtFilter').not(':checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n return exclusions[filter[0]].push(filter[1]);\n } else {\n return exclusions[filter[0]] = [filter[1]];\n }\n });\n inclusions = {};\n _this.find('input.pvtFilter:checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n if (inclusions[filter[0]] != null) {\n return inclusions[filter[0]].push(filter[1]);\n } else {\n return inclusions[filter[0]] = [filter[1]];\n }\n }\n });\n subopts.filter = function(record) {\n var excludedItems, k, ref6, ref7;\n if (!opts.filter(record)) {\n return false;\n }\n for (k in exclusions) {\n excludedItems = exclusions[k];\n if (ref6 = \"\" + ((ref7 = record[k]) != null ? ref7 : 'null'), indexOf.call(excludedItems, ref6) >= 0) {\n return false;\n }\n }\n return true;\n };\n pivotTable.pivot(materializedInput, subopts);\n pivotUIOptions = $.extend({}, opts, {\n cols: subopts.cols,\n rows: subopts.rows,\n colOrder: subopts.colOrder,\n rowOrder: subopts.rowOrder,\n vals: vals,\n exclusions: exclusions,\n inclusions: inclusions,\n inclusionsInfo: inclusions,\n aggregatorName: aggregator.val(),\n rendererName: renderer.val()\n });\n _this.data(\"pivotUIOptions\", pivotUIOptions);\n if (opts.autoSortUnusedAttrs) {\n unusedAttrsContainer = _this.find(\"td.pvtUnused.pvtAxisContainer\");\n $(unusedAttrsContainer).children(\"li\").sort(function(a, b) {\n return naturalSort($(a).text(), $(b).text());\n }).appendTo(unusedAttrsContainer);\n }\n pivotTable.css(\"opacity\", 1);\n if (opts.onRefresh != null) {\n return opts.onRefresh(pivotUIOptions);\n }\n };\n })(this);\n refresh = (function(_this) {\n return function() {\n pivotTable.css(\"opacity\", 0.5);\n return setTimeout(refreshDelayed, 10);\n };\n })(this);\n refresh();\n this.find(\".pvtAxisContainer\").sortable({\n update: function(e, ui) {\n if (ui.sender == null) {\n return refresh();\n }\n },\n connectWith: this.find(\".pvtAxisContainer\"),\n items: 'li',\n placeholder: 'pvtPlaceholder'\n });\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n this.html(opts.localeStrings.uiRenderError);\n }\n return this;\n };\n\n /*\n Heatmap post-processing\n */\n $.fn.heatmap = function(scope, opts) {\n var colorScaleGenerator, heatmapper, i, j, l, n, numCols, numRows, ref, ref1, ref2;\n if (scope == null) {\n scope = \"heatmap\";\n }\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n colorScaleGenerator = opts != null ? (ref = opts.heatmap) != null ? ref.colorScaleGenerator : void 0 : void 0;\n if (colorScaleGenerator == null) {\n colorScaleGenerator = function(values) {\n var max, min;\n min = Math.min.apply(Math, values);\n max = Math.max.apply(Math, values);\n return function(x) {\n var nonRed;\n nonRed = 255 - Math.round(255 * (x - min) / (max - min));\n return \"rgb(255,\" + nonRed + \",\" + nonRed + \")\";\n };\n };\n }\n heatmapper = (function(_this) {\n return function(scope) {\n var colorScale, forEachCell, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n colorScale = colorScaleGenerator(values);\n return forEachCell(function(x, elem) {\n return elem.css(\"background-color\", colorScale(x));\n });\n };\n })(this);\n switch (scope) {\n case \"heatmap\":\n heatmapper(\".pvtVal\");\n break;\n case \"rowheatmap\":\n for (i = l = 0, ref1 = numRows; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) {\n heatmapper(\".pvtVal.row\" + i);\n }\n break;\n case \"colheatmap\":\n for (j = n = 0, ref2 = numCols; 0 <= ref2 ? n < ref2 : n > ref2; j = 0 <= ref2 ? ++n : --n) {\n heatmapper(\".pvtVal.col\" + j);\n }\n }\n heatmapper(\".pvtTotal.rowTotal\");\n heatmapper(\".pvtTotal.colTotal\");\n return this;\n };\n\n /*\n Barchart post-processing\n */\n return $.fn.barchart = function(opts) {\n var barcharter, i, l, numCols, numRows, ref;\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n barcharter = (function(_this) {\n return function(scope) {\n var forEachCell, max, min, range, scaler, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n max = Math.max.apply(Math, values);\n if (max < 0) {\n max = 0;\n }\n range = max;\n min = Math.min.apply(Math, values);\n if (min < 0) {\n range = max - min;\n }\n scaler = function(x) {\n return 100 * x / (1.4 * range);\n };\n return forEachCell(function(x, elem) {\n var bBase, bgColor, text, wrapper;\n text = elem.text();\n wrapper = $(\"\").css({\n \"position\": \"relative\",\n \"height\": \"55px\"\n });\n bgColor = \"gray\";\n bBase = 0;\n if (min < 0) {\n bBase = scaler(-min);\n }\n if (x < 0) {\n bBase += scaler(x);\n bgColor = \"darkred\";\n x = -x;\n }\n wrapper.append($(\"\").css({\n \"position\": \"absolute\",\n \"bottom\": bBase + \"%\",\n \"left\": 0,\n \"right\": 0,\n \"height\": scaler(x) + \"%\",\n \"background-color\": bgColor\n }));\n wrapper.append($(\"\").text(text).css({\n \"position\": \"relative\",\n \"padding-left\": \"5px\",\n \"padding-right\": \"5px\"\n }));\n return elem.css({\n \"padding\": 0,\n \"padding-top\": \"5px\",\n \"text-align\": \"center\"\n }).html(wrapper);\n });\n };\n })(this);\n for (i = l = 0, ref = numRows; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) {\n barcharter(\".pvtVal.row\" + i);\n }\n barcharter(\".pvtTotal.colTotal\");\n return this;\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.js.map\n"]} \ No newline at end of file diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.js new file mode 100644 index 0000000..ca9a375 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js @@ -0,0 +1,80 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map new file mode 100644 index 0000000..b7c7760 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js index 9dc06ee..a3bcc04 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js @@ -1,2 +1,2 @@ -(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,n,o;return n=e.pivotUtilities.numberFormat,o=e.pivotUtilities.aggregatorTemplates,t=n({thousandsSep:" ",decimalSep:","}),r=n({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),i=n({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:o.count(r),"Aantal unieke waarden":o.countUnique(r),"Lijst unieke waarden":o.listUnique(", "),Som:o.sum(t),"Som van gehele getallen":o.sum(r),Gemiddelde:o.average(t),Minimum:o.min(t),Maximum:o.max(t),"Som over som":o.sumOverSum(t),"80% bovengrens":o.sumOverSumBound80(!0,t),"80% ondergrens":o.sumOverSumBound80(!1,t),"Som in verhouding tot het totaal":o.fractionOf(o.sum(),"total",i),"Som in verhouding tot de rij":o.fractionOf(o.sum(),"row",i),"Som in verhouding tot de kolom":o.fractionOf(o.sum(),"col",i),"Aantal in verhouding tot het totaal":o.fractionOf(o.count(),"total",i),"Aantal in verhouding tot de rij":o.fractionOf(o.count(),"row",i),"Aantal in verhouding tot de kolom":o.fractionOf(o.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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map new file mode 100644 index 0000000..b51dc51 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js b/inst/htmlwidgets/lib/pivottable/pivot.pl.js new file mode 100644 index 0000000..aa4b438 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js @@ -0,0 +1,82 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map new file mode 100644 index 0000000..3eefc10 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pivot.pl.js","sources":["pivot.pl.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 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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map new file mode 100644 index 0000000..14a4b8e --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.js new file mode 100644 index 0000000..b737243 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js @@ -0,0 +1,111 @@ +(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.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": tpl.count(frFmtInt), + "Contagem de Valores únicos": tpl.countUnique(frFmtInt), + "Lista de Valores únicos": tpl.listUnique(", "), + "Soma": tpl.sum(frFmt), + "Soma de Inteiros": tpl.sum(frFmtInt), + "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áximo": tpl.max(frFmt), + "Primeiro": tpl.first(frFmt), + "Último": tpl.last(frFmt), + "Soma sobre Soma": tpl.sumOverSum(frFmt), + "Limite Superior a 80%": tpl.sumOverSumBound80(true, frFmt), + "Limite Inferior a 80%": tpl.sumOverSumBound80(false, frFmt), + "Soma como Fração do Total": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Soma como Fração da Linha": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Soma como Fração da Coluna": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Contagem como Fração do Total": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Contagem como Fração da Linha": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Contagem como Fração da Coluna": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tabela": r["Table"], + "Tabela com Barras": r["Table Barchart"], + "Mapa de Calor": r["Heatmap"], + "Mapa de Calor por Linhas": r["Row Heatmap"], + "Mapa de Calor por Colunas": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.pt.gchart_renderers = { + "Gráfico de Linhas": gcr["Line Chart"], + "Gráfico de Barras": gcr["Bar Chart"], + "Gráfico de Barras Empilhadas": gcr["Stacked Bar Chart"], + "Gráfico de Área": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.pt.d3_renderers = { + "Mapa de Árvore": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.pt.c3_renderers = { + "Gráfico de Linhas": c3r["Line Chart"], + "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; + }); + +}).call(this); + +//# sourceMappingURL=pivot.pt.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map new file mode 100644 index 0000000..72cb981 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js index cf4f356..0f92ea7 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js @@ -1,2 +1,2 @@ -(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,l,n,c;return l=a.pivotUtilities.numberFormat,c=a.pivotUtilities.aggregatorTemplates,n=a.pivotUtilities.renderers,s=a.pivotUtilities.gchart_renderers,r=a.pivotUtilities.d3_renderers,e=a.pivotUtilities.c3_renderers,o=l({thousandsSep:".",decimalSep:","}),i=l({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),t=l({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),"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:n.Table,"Tabela com Barras":n["Table Barchart"],"Mapa de Calor":n.Heatmap,"Mapa de Calor por Linhas":n["Row Heatmap"],"Mapa de Calor por Colunas":n["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map new file mode 100644 index 0000000..cf067a6 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js b/inst/htmlwidgets/lib/pivottable/pivot.ru.js new file mode 100644 index 0000000..ebc556d --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map new file mode 100644 index 0000000..f7fe47f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map new file mode 100644 index 0000000..4ef0db3 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js b/inst/htmlwidgets/lib/pivottable/pivot.sq.js new file mode 100644 index 0000000..080b336 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map new file mode 100644 index 0000000..604860b --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map new file mode 100644 index 0000000..3f6df78 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js b/inst/htmlwidgets/lib/pivottable/pivot.tr.js new file mode 100644 index 0000000..1a95e56 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js @@ -0,0 +1,104 @@ +(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.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ı": tpl.count(frFmtInt), + "Benzersiz değerler sayısı": tpl.countUnique(frFmtInt), + "Benzersiz değerler listesi": tpl.listUnique(", "), + "Toplam": tpl.sum(frFmt), + "Toplam (tam sayı)": tpl.sum(frFmtInt), + "Ortalama": tpl.average(frFmt), + "Min": tpl.min(frFmt), + "Maks": tpl.max(frFmt), + "Miktarların toplamı": tpl.sumOverSum(frFmt), + "%80 daha yüksek": tpl.sumOverSumBound80(true, frFmt), + "%80 daha düşük": tpl.sumOverSumBound80(false, frFmt), + "Toplam oranı (toplam)": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Satır oranı (toplam)": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Sütunun oranı (toplam)": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Toplam oranı (sayı)": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Satır oranı (sayı)": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Sütunun oranı (sayı)": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tablo": r["Table"], + "Tablo (Çubuklar)": r["Table Barchart"], + "İlgi haritası": r["Heatmap"], + "Satır ilgi haritası": r["Row Heatmap"], + "Sütun ilgi haritası": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.tr.gchart_renderers = { + "Çizgi Grafiği": gcr["Line Chart"], + "Bar Grafiği": gcr["Bar Chart"], + "Yığılmış Çubuk Grafik ": gcr["Stacked Bar Chart"], + "Alan Grafiği": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.tr.d3_renderers = { + "Hiyerarşik Alan Grafiği (Treemap)": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.tr.c3_renderers = { + "Çizgi Grafiği": c3r["Line Chart"], + "Bar Grafiği": c3r["Bar Chart"], + "Yığılmış Çubuk Grafik ": c3r["Stacked Bar Chart"], + "Alan Grafiği": c3r["Area Chart"] + }; + } + return $.pivotUtilities.locales.tr; + }); + +}).call(this); + +//# sourceMappingURL=pivot.tr.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map new file mode 100644 index 0000000..3b5dbe0 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map new file mode 100644 index 0000000..90d8eb9 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.js new file mode 100644 index 0000000..5f30fb4 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js @@ -0,0 +1,113 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map new file mode 100644 index 0000000..6810c5f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js index 916fceb..2828cad 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js @@ -1,2 +1,2 @@ -(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,a,l,n,c;return l=e.pivotUtilities.numberFormat,c=e.pivotUtilities.aggregatorTemplates,n=e.pivotUtilities.renderers,a=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,t=e.pivotUtilities.c3_renderers,i=l({thousandsSep:",",decimalSep:"."}),o=l({digitsAfterDecimal:0,thousandsSep:",",decimalSep:"."}),s=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(o),"非重复值的个数":c.countUnique(o),"列出非重复值":c.listUnique(", "),"求和":c.sum(i),"求和后取整":c.sum(o),"平均值":c.average(i),"最小值":c.min(i),"最大值":c.max(i),"两和之比":c.sumOverSum(i),"二项分布:置信度为80%时的区间上限":c.sumOverSumBound80(!0,i),"二项分布:置信度为80%时的区间下限":c.sumOverSumBound80(!1,i),"和在总计中的比例":c.fractionOf(c.sum(),"total",s),"和在行合计中的比例":c.fractionOf(c.sum(),"row",s),"和在列合计中的比例":c.fractionOf(c.sum(),"col",s),"频数在总计中的比例":c.fractionOf(c.count(),"total",s),"频数在行合计中的比例":c.fractionOf(c.count(),"row",s),"频数在列合计中的比例":c.fractionOf(c.count(),"col",s)},renderers:{"表格":n.Table,"表格内柱状图":n["Table Barchart"],"热图":n.Heatmap,"行热图":n["Row Heatmap"],"列热图":n["Col Heatmap"]}},a&&(e.pivotUtilities.locales.zh.gchart_renderers={"折线图(g)":a["Line Chart"],"柱形图(g)":a["Bar Chart"],"堆栈柱形图(g)":a["Stacked Bar Chart"],"面积图(g)":a["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map new file mode 100644 index 0000000..8b30873 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot_spec.js b/inst/htmlwidgets/lib/pivottable/pivot_spec.js new file mode 100644 index 0000000..fadadce --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot_spec.js @@ -0,0 +1,614 @@ +(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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 $("").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 = $("").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 = $("\n \n
").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("
").appendTo(x),S.length<=M.menuLimit&&t("",{type:"button"}).text(M.localeStrings.apply).appendTo(u).bind("click",function(){return x.find(".changed").removeClass("changed").length&&V(),o()}),t("",{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("").addClass("pvtTriangle").html(" ▾").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("").addClass("axis_"+A).append(t("").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("").appendTo(Y),u=t("").addClass("pvtAggregator").bind("change",function(){return V()}),q=M.aggregators;for(et in q)a.call(q,et)&&u.append(t("").val(et).html(et));for(R={key_a_to_z:{rowSymbol:"↕",colSymbol:"↔",next:"value_a_to_z"},value_a_to_z:{rowSymbol:"↓",colSymbol:"→",next:"value_z_to_a"},value_z_to_a:{rowSymbol:"↑",colSymbol:"←",next:"key_a_to_z"}},P=t("",{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("",{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("").addClass("pvtVals").appendTo($).append(u).append(P).append(v).append(t("")),t("").addClass("pvtAxisContainer pvtHorizList pvtCols").appendTo($),Q=t("").appendTo(Y),Q.append(t("").addClass("pvtAxisContainer pvtRows").attr("valign","top")),L=t("").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("").append(B).append(X)),this.html(Y),z=M.cols,D=0,T=z.length;Dp;et=0<=p?++g:--g){for(i=t("").addClass("pvtAttrDropdown").append(t("")).bind("change",function(){return V()}),b=0,o=G.length;b").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},L.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)),L.css("opacity",1),null!=M.onRefresh)return M.onRefresh(s)}}(this),V=function(t){return function(){return L.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?ld;o=0<=d?++l:--l)a(".pvtVal.row"+o);break;case"colheatmap":for(i=s=0,p=u;0<=p?sp;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("").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("").css({position:"absolute",bottom:r+"%",left:0,right:0,height:l(e)+"%","background-color":a})),s.append(t("").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?al;r=0<=l?++a:--a)n(".pvtVal.row"+r);return n(".pvtTotal.colTotal"),this}})}).call(this); +(function(){var t,e=[].indexOf||function(t){for(var e=0,n=this.length;e1?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,il)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 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=l;c=0<=l?++r:--r)t[e-1][c]!==t[e][c]&&(i=!1);if(i)return-1}for(a=0;e+a=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("").html(c.localeStrings.renderError)}}catch(m){i=m,"undefined"!=typeof console&&null!==console&&console.error(i.stack),p=t("").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("",{"class":"pvtUi"}).attr("cellpadding",5),B=t("").addClass("pvtUiCell"),H=t("").addClass("pvtRenderer").appendTo(B).bind("change",function(){return V()}),U=M.renderers;for(et in U)a.call(U,et)&&t("").val(et).html(et).appendTo(H);if(X=t("").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;tZ}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("").addClass("pvtFilterBox").hide(),x.append(t("").append(t("").text(n),t("").addClass("count").text("("+S.length+")"))),S.length>M.menuLimit)x.append(t("").html(M.localeStrings.tooMany));else for(S.length>5&&(i=t("").appendTo(x),v=h(M.sorters,n),f=M.localeStrings.filterResults,t("",{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("")),t("",{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("",{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("").addClass("pvtCheckContainer").appendTo(x),g=S.sort(h(M.sorters,n)),p=0,d=g.length;p"),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("").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("").addClass("value").text(y)),l.append(t("").addClass("count").text("("+w+")")),a.append(t("").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("").appendTo(x),S.length<=M.menuLimit&&t("",{type:"button"}).text(M.localeStrings.apply).appendTo(u).bind("click",function(){return x.find(".changed").removeClass("changed").length&&V(),o()}),t("",{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("").addClass("pvtTriangle").html(" ▾").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("").addClass("axis_"+A).append(t("").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("").appendTo(Y),u=t("").addClass("pvtAggregator").bind("change",function(){return V()}),K=M.aggregators;for(et in K)a.call(K,et)&&u.append(t("").val(et).html(et));for(R={key_a_to_z:{rowSymbol:"↕",colSymbol:"↔",next:"value_a_to_z"},value_a_to_z:{rowSymbol:"↓",colSymbol:"→",next:"value_z_to_a"},value_z_to_a:{rowSymbol:"↑",colSymbol:"←",next:"key_a_to_z"}},P=t("",{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("",{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("").addClass("pvtVals pvtUiCell").appendTo($).append(u).append(P).append(v).append(t("")),t("").addClass("pvtAxisContainer pvtHorizList pvtCols pvtUiCell").appendTo($),Q=t("").appendTo(Y),Q.append(t("").addClass("pvtAxisContainer pvtRows pvtUiCell").attr("valign","top")),I=t("").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("").append(B).append(X)),this.html(Y),q=M.cols,D=0,T=q.length;Dp;et=0<=p?++g:--g){for(i=t("").addClass("pvtAttrDropdown").append(t("")).bind("change",function(){return V()}),b=0,o=G.length;b").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?ld;o=0<=d?++l:--l)a(".pvtVal.row"+o);break;case"colheatmap":for(i=s=0,p=u;0<=p?sp;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("").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("").css({position:"absolute",bottom:r+"%",left:0,right:0,height:l(e)+"%","background-color":a})),s.append(t("").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?al;r=0<=l?++a:--a)n(".pvtVal.row"+r);return n(".pvtTotal.colTotal"),this}})}).call(this); //# sourceMappingURL=pivot.min.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.min.js.map new file mode 100644 index 0000000..acf3957 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["pivot.coffee","pivot.min.js"],"names":["callWithJQuery","indexOf","item","i","l","this","length","slice","bind","fn","me","apply","arguments","hasProp","hasOwnProperty","pivotModule","exports","module","require","define","amd","jQuery","$","PivotData","addSeparators","aggregatorTemplates","aggregators","dayNamesEn","derivers","getSort","locales","mthNamesEn","naturalSort","numberFormat","pivotTableRenderer","rd","renderers","rx","rz","sortAs","usFmt","usFmtInt","usFmtPct","zeroPad","nStr","thousandsSep","decimalSep","rgx","x","x1","x2","split","test","replace","opts","defaults","digitsAfterDecimal","scaler","prefix","suffix","extend","result","isNaN","isFinite","toFixed","count","formatter","data","rowKey","colKey","push","value","format","uniques","arg","attr","uniq","record","ref","call","numInputs","sum","parseFloat","extremes","mode","val","sorter","sorters","ref1","ref2","Math","quantile","q","vals","sort","a","b","floor","ceil","runningStat","ddof","n","m","s","m_new","sqrt","sumOverSum","denom","num","sumNum","sumDenom","sumOverSumBound80","upper","sign","fractionOf","wrapped","type","selector","total","row","col","inner","getAggregator","countUnique","f","listUnique","join","max","min","first","last","median","average","stdev","tpl","Count","Count Unique Values","List Unique Values","Sum","Integer Sum","Average","Median","Sample Variance","Sample Standard Deviation","Minimum","Maximum","First","Last","Sum over Sum","80% Upper Bound","80% Lower Bound","Sum as Fraction of Total","Sum as Fraction of Rows","Sum as Fraction of Columns","Count as Fraction of Total","Count as Fraction of Rows","Count as Fraction of Columns","Table","Table Barchart","barchart","Heatmap","heatmap","Row Heatmap","Col Heatmap","en","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","cancel","totals","vs","by","number","substr","bin","binWidth","dateFormat","formatString","utcOutput","mthNames","dayNames","utc","date","Date","parse","p","_this","as","bs","a1","b1","nas","nbs","String","match","shift","order","l_mapping","mapping","toLowerCase","isFunction","input","ref3","ref4","ref5","ref6","ref7","ref8","ref9","getRowKeys","getColKeys","sortKeys","arrSort","aggregator","aggregatorName","colAttrs","cols","rowAttrs","rows","valAttrs","rowOrder","colOrder","derivedAttributes","filter","tree","rowKeys","colKeys","rowTotals","colTotals","allTotal","sorted","forEachRecord","processRecord","addRecord","compactRecord","j","k","len1","results","results1","tblCols","isEmptyObject","v","isArray","each","text","Error","prototype","forEachMatchingRecord","criteria","callback","attrs","sortersArr","comparison","r","c","flatColKey","flatRowKey","len2","fromCharCode","agg","pivotUtilities","pivotData","getClickHandler","spanSize","tbody","td","th","thead","totalAggregator","tr","txt","table","clickCallback","rowValues","colValues","filters","e","document","createElement","className","arr","len","noDraw","stop","parseInt","setAttribute","appendChild","textContent","innerHTML","onclick","pivot","inputOpts","locale","localeDefaults","dataClass","renderer","rendererOptions","error","console","stack","html","hasChildNodes","removeChild","lastChild","append","pivotUI","overwrite","attrLength","attrValues","colOrderArrow","existingOpts","fn1","initialRender","len3","materializedInput","o","ordering","pivotTable","recordsProcessed","refresh","refreshDelayed","rendererControl","rowOrderArrow","shownAttributes","shownInAggregators","shownInDragDrop","tr1","tr2","uiTable","unused","unusedAttrsVerticalAutoCutoff","unusedAttrsVerticalAutoOverride","hiddenAttributes","hiddenFromAggregators","hiddenFromDragDrop","menuLimit","exclusions","inclusions","unusedAttrsVertical","autoSortUnusedAttrs","onRefresh","showUI","base","class","addClass","appendTo","attrElem","checkContainer","closeFilterBox","controls","filterItem","filterItemExcluded","finalButtons","hasExcludedItem","placeholder","triangleLink","valueCount","valueList","values","hide","accept","accept_gen","trim","accepted","real_filter","substring","find","parent","show","prop","toggleClass","removeClass","left","top","currentTarget","position","css","key_a_to_z","rowSymbol","colSymbol","next","value_a_to_z","value_z_to_a","role","prepend","inArray","rendererName","len4","newDropdown","numInputsToProcess","pivotUIOptions","pvtVals","subopts","t","u","unusedAttrsContainer","remove","not","excludedItems","inclusionsInfo","children","setTimeout","sortable","update","ui","sender","connectWith","items","scope","colorScaleGenerator","heatmapper","numCols","numRows","nonRed","round","colorScale","forEachCell","elem","barcharter","range","bBase","bgColor","wrapper","height","bottom","right","background-color","padding-left","padding-right","padding","padding-top","text-align"],"mappings":"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","file":"pivot.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 ###\n Utilities\n ###\n\n addSeparators = (nStr, thousandsSep, decimalSep) ->\n nStr += ''\n x = nStr.split('.')\n x1 = x[0]\n x2 = if x.length > 1 then decimalSep + x[1] else ''\n rgx = /(\\d+)(\\d{3})/\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2') while rgx.test(x1)\n return x1 + x2\n\n numberFormat = (opts) ->\n defaults =\n digitsAfterDecimal: 2, scaler: 1,\n thousandsSep: \",\", decimalSep: \".\"\n prefix: \"\", suffix: \"\"\n opts = $.extend({}, defaults, opts)\n (x) ->\n return \"\" if isNaN(x) or not isFinite(x)\n result = addSeparators (opts.scaler*x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep\n return \"\"+opts.prefix+result+opts.suffix\n\n #aggregator templates default to US number formatting but this is overrideable\n usFmt = numberFormat()\n usFmtInt = numberFormat(digitsAfterDecimal: 0)\n usFmtPct = numberFormat(digitsAfterDecimal:1, scaler: 100, suffix: \"%\")\n\n aggregatorTemplates =\n count: (formatter=usFmtInt) -> () -> (data, rowKey, colKey) ->\n count: 0\n push: -> @count++\n value: -> @count\n format: formatter\n\n uniques: (fn, formatter=usFmtInt) -> ([attr]) -> (data, rowKey, colKey) ->\n uniq: []\n push: (record) -> @uniq.push(record[attr]) if record[attr] not in @uniq\n value: -> fn(@uniq)\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sum: (formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n sum: 0\n push: (record) -> @sum += parseFloat(record[attr]) if not isNaN parseFloat(record[attr])\n value: -> @sum\n format: formatter\n numInputs: if attr? then 0 else 1\n\n extremes: (mode, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n val: null\n sorter: getSort(data?.sorters, attr)\n push: (record) ->\n x = record[attr]\n if mode in [\"min\", \"max\"]\n x = parseFloat(x)\n if not isNaN x then @val = Math[mode](x, @val ? x)\n if mode == \"first\" then @val = x if @sorter(x, @val ? x) <= 0\n if mode == \"last\" then @val = x if @sorter(x, @val ? x) >= 0\n value: -> @val\n format: (x) -> if isNaN(x) then x else formatter(x)\n numInputs: if attr? then 0 else 1\n\n quantile: (q, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n vals: []\n push: (record) ->\n x = parseFloat(record[attr])\n @vals.push(x) if not isNaN(x)\n value: ->\n return null if @vals.length == 0\n @vals.sort((a,b) -> a-b)\n i = (@vals.length-1)*q\n return (@vals[Math.floor(i)] + @vals[Math.ceil(i)])/2.0\n format: formatter\n numInputs: if attr? then 0 else 1\n\n runningStat: (mode=\"mean\", ddof=1, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n n: 0.0, m: 0.0, s: 0.0\n push: (record) ->\n x = parseFloat(record[attr])\n return if isNaN(x)\n @n += 1.0\n if @n == 1.0\n @m = x\n else\n m_new = @m + (x - @m)/@n\n @s = @s + (x - @m)*(x - m_new)\n @m = m_new\n value: ->\n if mode == \"mean\"\n return if @n == 0 then 0/0 else @m\n return 0 if @n <= ddof\n switch mode\n when \"var\" then @s/(@n-ddof)\n when \"stdev\" then Math.sqrt(@s/(@n-ddof))\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sumOverSum: (formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: -> @sumNum/@sumDenom\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n sumOverSumBound80: (upper=true, formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: ->\n sign = if upper then 1 else -1\n (0.821187207574908/@sumDenom + @sumNum/@sumDenom + 1.2815515655446004*sign*\n Math.sqrt(0.410593603787454/ (@sumDenom*@sumDenom) + (@sumNum*(1 - @sumNum/ @sumDenom))/ (@sumDenom*@sumDenom)))/\n (1 + 1.642374415149816/@sumDenom)\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n fractionOf: (wrapped, type=\"total\", formatter=usFmtPct) -> (x...) -> (data, rowKey, colKey) ->\n selector: {total:[[],[]],row:[rowKey,[]],col:[[],colKey]}[type]\n inner: wrapped(x...)(data, rowKey, colKey)\n push: (record) -> @inner.push record\n format: formatter\n value: -> @inner.value() / data.getAggregator(@selector...).inner.value()\n numInputs: wrapped(x...)().numInputs\n\n aggregatorTemplates.countUnique = (f) -> aggregatorTemplates.uniques(((x) -> x.length), f)\n aggregatorTemplates.listUnique = (s) -> aggregatorTemplates.uniques(((x) -> x.sort(naturalSort).join(s)), ((x)->x))\n aggregatorTemplates.max = (f) -> aggregatorTemplates.extremes('max', f)\n aggregatorTemplates.min = (f) -> aggregatorTemplates.extremes('min', f)\n aggregatorTemplates.first = (f) -> aggregatorTemplates.extremes('first', f)\n aggregatorTemplates.last = (f) -> aggregatorTemplates.extremes('last', f)\n aggregatorTemplates.median = (f) -> aggregatorTemplates.quantile(0.5, f)\n aggregatorTemplates.average = (f) -> aggregatorTemplates.runningStat(\"mean\", 1, f)\n aggregatorTemplates.var = (ddof, f) -> aggregatorTemplates.runningStat(\"var\", ddof, f)\n aggregatorTemplates.stdev = (ddof, f) -> aggregatorTemplates.runningStat(\"stdev\", ddof, f)\n\n #default aggregators & renderers use US naming and number formatting\n aggregators = do (tpl = aggregatorTemplates) ->\n \"Count\": tpl.count(usFmtInt)\n \"Count Unique Values\": tpl.countUnique(usFmtInt)\n \"List Unique Values\": tpl.listUnique(\", \")\n \"Sum\": tpl.sum(usFmt)\n \"Integer Sum\": tpl.sum(usFmtInt)\n \"Average\": tpl.average(usFmt)\n \"Median\": tpl.median(usFmt)\n \"Sample Variance\": tpl.var(1, usFmt)\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt)\n \"Minimum\": tpl.min(usFmt)\n \"Maximum\": tpl.max(usFmt)\n \"First\": tpl.first(usFmt)\n \"Last\": tpl.last(usFmt)\n \"Sum over Sum\": tpl.sumOverSum(usFmt)\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt)\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt)\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct)\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct)\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct)\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct)\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct)\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n\n renderers =\n \"Table\": (data, opts) -> pivotTableRenderer(data, opts)\n \"Table Barchart\": (data, opts) -> $(pivotTableRenderer(data, opts)).barchart()\n \"Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts)\n \"Row Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts)\n \"Col Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts)\n\n locales =\n en:\n aggregators: aggregators\n renderers: renderers\n localeStrings:\n renderError: \"An error occurred rendering the PivotTable results.\"\n computeError: \"An error occurred computing the PivotTable results.\"\n uiRenderError: \"An error occurred rendering the PivotTable UI.\"\n selectAll: \"Select All\"\n selectNone: \"Select None\"\n tooMany: \"(too many to list)\"\n filterResults: \"Filter values\"\n apply: \"Apply\"\n cancel: \"Cancel\"\n totals: \"Totals\" #for table renderer\n vs: \"vs\" #for gchart renderer\n by: \"by\" #for gchart renderer\n\n #dateFormat deriver l10n requires month and day names to be passed in directly\n mthNamesEn = [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]\n dayNamesEn = [\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]\n zeroPad = (number) -> (\"0\"+number).substr(-2,2)\n\n derivers =\n bin: (col, binWidth) -> (record) -> record[col] - record[col] % binWidth\n dateFormat: (col, formatString, utcOutput=false, mthNames=mthNamesEn, dayNames=dayNamesEn) ->\n utc = if utcOutput then \"UTC\" else \"\"\n (record) -> #thanks http://stackoverflow.com/a/12213072/112871\n date = new Date(Date.parse(record[col]))\n if isNaN(date) then return \"\"\n formatString.replace /%(.)/g, (m, p) ->\n switch p\n when \"y\" then date[\"get#{utc}FullYear\"]()\n when \"m\" then zeroPad(date[\"get#{utc}Month\"]()+1)\n when \"n\" then mthNames[date[\"get#{utc}Month\"]()]\n when \"d\" then zeroPad(date[\"get#{utc}Date\"]())\n when \"w\" then dayNames[date[\"get#{utc}Day\"]()]\n when \"x\" then date[\"get#{utc}Day\"]()\n when \"H\" then zeroPad(date[\"get#{utc}Hours\"]())\n when \"M\" then zeroPad(date[\"get#{utc}Minutes\"]())\n when \"S\" then zeroPad(date[\"get#{utc}Seconds\"]())\n else \"%\" + p\n\n rx = /(\\d+)|(\\D+)/g\n rd = /\\d/\n rz = /^0/\n naturalSort = (as, bs) =>\n #nulls first\n return -1 if bs? and not as?\n return 1 if as? and not bs?\n\n #then raw NaNs\n return -1 if typeof as == \"number\" and isNaN(as)\n return 1 if typeof bs == \"number\" and isNaN(bs)\n\n #numbers and numbery strings group together\n nas = +as\n nbs = +bs\n return -1 if nas < nbs\n return 1 if nas > nbs\n\n #within that, true numbers before numbery strings\n return -1 if typeof as == \"number\" and typeof bs != \"number\"\n return 1 if typeof bs == \"number\" and typeof as != \"number\"\n return 0 if typeof as == \"number\" and typeof bs == \"number\"\n\n # 'Infinity' is a textual number, so less than 'A'\n return -1 if isNaN(nbs) and not isNaN(nas)\n return 1 if isNaN(nas) and not isNaN(nbs)\n\n #finally, \"smart\" string sorting per http://stackoverflow.com/a/4373421/112871\n a = String(as)\n b = String(bs)\n return 0 if a == b\n return (if a > b then 1 else -1) unless rd.test(a) and rd.test(b)\n\n #special treatment for strings containing digits\n a = a.match(rx) #create digits vs non-digit chunks and iterate through\n b = b.match(rx)\n while a.length and b.length\n a1 = a.shift()\n b1 = b.shift()\n if a1 != b1\n if rd.test(a1) and rd.test(b1) #both are digit chunks\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\")\n else\n return (if a1 > b1 then 1 else -1)\n return a.length - b.length\n\n sortAs = (order) ->\n mapping = {}\n l_mapping = {} # sort lowercased keys similarly\n for i, x of order\n mapping[x] = i\n l_mapping[x.toLowerCase()] = i if typeof x == \"string\"\n (a, b) ->\n if mapping[a]? and mapping[b]? then mapping[a] - mapping[b]\n else if mapping[a]? then -1\n else if mapping[b]? then 1\n else if l_mapping[a]? and l_mapping[b]? then l_mapping[a] - l_mapping[b]\n else if l_mapping[a]? then -1\n else if l_mapping[b]? then 1\n else naturalSort(a,b)\n\n getSort = (sorters, attr) ->\n if sorters?\n if $.isFunction(sorters)\n sort = sorters(attr)\n return sort if $.isFunction(sort)\n else if sorters[attr]?\n return sorters[attr]\n return naturalSort\n\n ###\n Data Model class\n ###\n\n class PivotData\n constructor: (input, opts = {}) ->\n @input = input\n @aggregator = opts.aggregator ? aggregatorTemplates.count()()\n @aggregatorName = opts.aggregatorName ? \"Count\"\n @colAttrs = opts.cols ? []\n @rowAttrs = opts.rows ? []\n @valAttrs = opts.vals ? []\n @sorters = opts.sorters ? {}\n @rowOrder = opts.rowOrder ? \"key_a_to_z\"\n @colOrder = opts.colOrder ? \"key_a_to_z\"\n @derivedAttributes = opts.derivedAttributes ? {}\n @filter = opts.filter ? (-> true)\n @tree = {}\n @rowKeys = []\n @colKeys = []\n @rowTotals = {}\n @colTotals = {}\n @allTotal = @aggregator(this, [], [])\n @sorted = false\n\n # iterate through input, accumulating data for cells\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n @processRecord(record) if @filter(record)\n\n #can handle arrays or jQuery selections of tables\n @forEachRecord = (input, derivedAttributes, f) ->\n if $.isEmptyObject derivedAttributes\n addRecord = f\n else\n addRecord = (record) ->\n record[k] = v(record) ? record[k] for k, v of derivedAttributes\n f(record)\n\n #if it's a function, have it call us back\n if $.isFunction(input)\n input(addRecord)\n else if $.isArray(input)\n if $.isArray(input[0]) #array of arrays\n for own i, compactRecord of input when i > 0\n record = {}\n record[k] = compactRecord[j] for own j, k of input[0]\n addRecord(record)\n else #array of objects\n addRecord(record) for record in input\n else if input instanceof $\n tblCols = []\n $(\"thead > tr > th\", input).each (i) -> tblCols.push $(this).text()\n $(\"tbody > tr\", input).each (i) ->\n record = {}\n $(\"td\", this).each (j) -> record[tblCols[j]] = $(this).text()\n addRecord(record)\n else\n throw new Error(\"unknown input format\")\n\n forEachMatchingRecord: (criteria, callback) ->\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n return if not @filter(record)\n for k, v of criteria\n return if v != (record[k] ? \"null\")\n callback(record)\n\n arrSort: (attrs) =>\n sortersArr = (getSort(@sorters, a) for a in attrs)\n (a,b) ->\n for own i, sorter of sortersArr\n comparison = sorter(a[i], b[i])\n return comparison if comparison != 0\n return 0\n\n sortKeys: () =>\n if not @sorted\n @sorted = true\n v = (r,c) => @getAggregator(r,c).value()\n switch @rowOrder\n when \"value_a_to_z\" then @rowKeys.sort (a,b) => naturalSort v(a,[]), v(b,[])\n when \"value_z_to_a\" then @rowKeys.sort (a,b) => -naturalSort v(a,[]), v(b,[])\n else @rowKeys.sort @arrSort(@rowAttrs)\n switch @colOrder\n when \"value_a_to_z\" then @colKeys.sort (a,b) => naturalSort v([],a), v([],b)\n when \"value_z_to_a\" then @colKeys.sort (a,b) => -naturalSort v([],a), v([],b)\n else @colKeys.sort @arrSort(@colAttrs)\n\n getColKeys: () =>\n @sortKeys()\n return @colKeys\n\n getRowKeys: () =>\n @sortKeys()\n return @rowKeys\n\n processRecord: (record) -> #this code is called in a tight loop\n colKey = []\n rowKey = []\n colKey.push record[x] ? \"null\" for x in @colAttrs\n rowKey.push record[x] ? \"null\" for x in @rowAttrs\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n\n @allTotal.push record\n\n if rowKey.length != 0\n if not @rowTotals[flatRowKey]\n @rowKeys.push rowKey\n @rowTotals[flatRowKey] = @aggregator(this, rowKey, [])\n @rowTotals[flatRowKey].push record\n\n if colKey.length != 0\n if not @colTotals[flatColKey]\n @colKeys.push colKey\n @colTotals[flatColKey] = @aggregator(this, [], colKey)\n @colTotals[flatColKey].push record\n\n if colKey.length != 0 and rowKey.length != 0\n if not @tree[flatRowKey]\n @tree[flatRowKey] = {}\n if not @tree[flatRowKey][flatColKey]\n @tree[flatRowKey][flatColKey] = @aggregator(this, rowKey, colKey)\n @tree[flatRowKey][flatColKey].push record\n\n getAggregator: (rowKey, colKey) =>\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n if rowKey.length == 0 and colKey.length == 0\n agg = @allTotal\n else if rowKey.length == 0\n agg = @colTotals[flatColKey]\n else if colKey.length == 0\n agg = @rowTotals[flatRowKey]\n else\n agg = @tree[flatRowKey][flatColKey]\n return agg ? {value: (-> null), format: -> \"\"}\n\n #expose these to the outside world\n $.pivotUtilities = {aggregatorTemplates, aggregators, renderers, derivers, locales,\n naturalSort, numberFormat, sortAs, PivotData}\n\n ###\n Default Renderer for hierarchical table layout\n ###\n\n pivotTableRenderer = (pivotData, opts) ->\n\n defaults =\n table:\n clickCallback: null\n rowTotals: true\n colTotals: true\n localeStrings: totals: \"Totals\"\n\n opts = $.extend(true, {}, defaults, opts)\n\n colAttrs = pivotData.colAttrs\n rowAttrs = pivotData.rowAttrs\n rowKeys = pivotData.getRowKeys()\n colKeys = pivotData.getColKeys()\n\n if opts.table.clickCallback\n getClickHandler = (value, rowValues, colValues) ->\n filters = {}\n filters[attr] = colValues[i] for own i, attr of colAttrs when colValues[i]?\n filters[attr] = rowValues[i] for own i, attr of rowAttrs when rowValues[i]?\n return (e) -> opts.table.clickCallback(e, value, filters, pivotData)\n\n #now actually build the output\n result = document.createElement(\"table\")\n result.className = \"pvtTable\"\n\n #helper function for setting row/col-span in pivotTableRenderer\n spanSize = (arr, i, j) ->\n if i != 0\n noDraw = true\n for x in [0..j]\n if arr[i-1][x] != arr[i][x]\n noDraw = false\n if noDraw\n return -1 #do not draw cell\n len = 0\n while i+len < arr.length\n stop = false\n for x in [0..j]\n stop = true if arr[i][x] != arr[i+len][x]\n break if stop\n len++\n return len\n\n #the first few rows are for col headers\n thead = document.createElement(\"thead\")\n for own j, c of colAttrs\n tr = document.createElement(\"tr\")\n if parseInt(j) == 0 and rowAttrs.length != 0\n th = document.createElement(\"th\")\n th.setAttribute(\"colspan\", rowAttrs.length)\n th.setAttribute(\"rowspan\", colAttrs.length)\n tr.appendChild th\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = c\n tr.appendChild th\n for own i, colKey of colKeys\n x = spanSize(colKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtColLabel\"\n th.textContent = colKey[j]\n th.setAttribute(\"colspan\", x)\n if parseInt(j) == colAttrs.length-1 and rowAttrs.length != 0\n th.setAttribute(\"rowspan\", 2)\n tr.appendChild th\n if parseInt(j) == 0 && opts.table.rowTotals\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"rowspan\", colAttrs.length + (if rowAttrs.length ==0 then 0 else 1))\n tr.appendChild th\n thead.appendChild tr\n\n #then a row for row header headers\n if rowAttrs.length !=0\n tr = document.createElement(\"tr\")\n for own i, r of rowAttrs\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = r\n tr.appendChild th\n th = document.createElement(\"th\")\n if colAttrs.length ==0\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n tr.appendChild th\n thead.appendChild tr\n result.appendChild thead\n\n #now the actual data rows, with their row headers and totals\n tbody = document.createElement(\"tbody\")\n for own i, rowKey of rowKeys\n tr = document.createElement(\"tr\")\n for own j, txt of rowKey\n x = spanSize(rowKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtRowLabel\"\n th.textContent = txt\n th.setAttribute(\"rowspan\", x)\n if parseInt(j) == rowAttrs.length-1 and colAttrs.length !=0\n th.setAttribute(\"colspan\",2)\n tr.appendChild th\n for own j, colKey of colKeys #this is the tight loop\n aggregator = pivotData.getAggregator(rowKey, colKey)\n val = aggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtVal row#{i} col#{j}\"\n td.textContent = aggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, colKey)\n tr.appendChild td\n\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator(rowKey, [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal rowTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, [])\n td.setAttribute(\"data-for\", \"row\"+i)\n tr.appendChild td\n tbody.appendChild tr\n\n #finally, the row for col totals, and a grand total\n if opts.table.colTotals || rowAttrs.length == 0\n tr = document.createElement(\"tr\")\n if opts.table.colTotals || rowAttrs.length == 0\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtColTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"colspan\", rowAttrs.length + (if colAttrs.length == 0 then 0 else 1))\n tr.appendChild th\n for own j, colKey of colKeys\n totalAggregator = pivotData.getAggregator([], colKey)\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal colTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], colKey)\n td.setAttribute(\"data-for\", \"col\"+j)\n tr.appendChild td\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator([], [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtGrandTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], [])\n tr.appendChild td\n tbody.appendChild tr\n result.appendChild tbody\n\n #squirrel this away for later\n result.setAttribute(\"data-numrows\", rowKeys.length)\n result.setAttribute(\"data-numcols\", colKeys.length)\n\n return result\n\n ###\n Pivot Table core: create PivotData object and call Renderer on it\n ###\n\n $.fn.pivot = (input, inputOpts, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n cols : [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n filter: -> true\n aggregator: aggregatorTemplates.count()()\n aggregatorName: \"Count\"\n sorters: {}\n derivedAttributes: {}\n renderer: pivotTableRenderer\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n\n result = null\n try\n pivotData = new opts.dataClass(input, opts)\n try\n result = opts.renderer(pivotData, opts.rendererOptions)\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.renderError\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.computeError\n\n x = this[0]\n x.removeChild(x.lastChild) while x.hasChildNodes()\n return @append result\n\n\n ###\n Pivot Table UI: calls Pivot Table core above with options set by user\n ###\n\n $.fn.pivotUI = (input, inputOpts, overwrite = false, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n derivedAttributes: {}\n aggregators: locales[locale].aggregators\n renderers: locales[locale].renderers\n hiddenAttributes: []\n hiddenFromAggregators: []\n hiddenFromDragDrop: []\n menuLimit: 500\n cols: [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n exclusions: {}\n inclusions: {}\n unusedAttrsVertical: 85\n autoSortUnusedAttrs: false\n onRefresh: null\n showUI: true\n filter: -> true\n sorters: {}\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n existingOpts = @data \"pivotUIOptions\"\n if not existingOpts? or overwrite\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n else\n opts = existingOpts\n\n try\n # do a first pass on the data to cache a materialized copy of any\n # function-valued inputs and to compute dimension cardinalities\n attrValues = {}\n materializedInput = []\n recordsProcessed = 0\n PivotData.forEachRecord input, opts.derivedAttributes, (record) ->\n return unless opts.filter(record)\n materializedInput.push(record)\n for own attr of record\n if not attrValues[attr]?\n attrValues[attr] = {}\n if recordsProcessed > 0\n attrValues[attr][\"null\"] = recordsProcessed\n for attr of attrValues\n value = record[attr] ? \"null\"\n attrValues[attr][value] ?= 0\n attrValues[attr][value]++\n recordsProcessed++\n\n #start building the output\n uiTable = $(\"\", \"class\": \"pvtUi\").attr(\"cellpadding\", 5)\n\n #renderer control\n rendererControl = $(\"\").addClass(\"pvtUiCell\")\n\n renderer = $(\"\")\n .addClass('pvtRenderer')\n .appendTo(rendererControl)\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.renderers\n $(\"\").val(x).html(x).appendTo(renderer)\n\n\n #axis list, including the double-click menu\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell')\n shownAttributes = (a for a of attrValues when a not in opts.hiddenAttributes)\n shownInAggregators = (c for c in shownAttributes when c not in opts.hiddenFromAggregators)\n shownInDragDrop = (c for c in shownAttributes when c not in opts.hiddenFromDragDrop)\n\n\n unusedAttrsVerticalAutoOverride = false\n if opts.unusedAttrsVertical == \"auto\"\n unusedAttrsVerticalAutoCutoff = 120 # legacy support\n else\n unusedAttrsVerticalAutoCutoff = parseInt opts.unusedAttrsVertical\n\n if not isNaN(unusedAttrsVerticalAutoCutoff)\n attrLength = 0\n attrLength += a.length for a in shownInDragDrop\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff\n\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n unused.addClass('pvtVertList')\n else\n unused.addClass('pvtHorizList')\n\n for own i, attr of shownInDragDrop\n do (attr) ->\n values = (v for v of attrValues[attr])\n hasExcludedItem = false\n valueList = $(\"\").addClass('pvtFilterBox').hide()\n\n valueList.append $(\"\").append(\n $(\"\").text(attr),\n $(\"\").addClass(\"count\").text(\"(#{values.length})\"),\n )\n if values.length > opts.menuLimit\n valueList.append $(\"\").html(opts.localeStrings.tooMany)\n else\n if values.length > 5\n controls = $(\"\").appendTo(valueList)\n sorter = getSort(opts.sorters, attr)\n placeholder = opts.localeStrings.filterResults\n $(\"\", {type: \"text\"}).appendTo(controls)\n .attr({placeholder: placeholder, class: \"pvtSearch\"})\n .bind \"keyup\", ->\n filter = $(this).val().toLowerCase().trim()\n accept_gen = (prefix, accepted) -> (v) ->\n real_filter = filter.substring(prefix.length).trim()\n return true if real_filter.length == 0\n return Math.sign(sorter(v.toLowerCase(), real_filter)) in accepted\n accept =\n if filter.indexOf(\">=\") == 0 then accept_gen(\">=\", [1,0])\n else if filter.indexOf(\"<=\") == 0 then accept_gen(\"<=\", [-1,0])\n else if filter.indexOf(\">\") == 0 then accept_gen(\">\", [1])\n else if filter.indexOf(\"<\") == 0 then accept_gen(\"<\", [-1])\n else if filter.indexOf(\"~\") == 0 then (v) ->\n return true if filter.substring(1).trim().length == 0\n v.toLowerCase().match(filter.substring(1))\n else (v) -> v.toLowerCase().indexOf(filter) != -1\n\n valueList.find('.pvtCheckContainer p label span.value').each ->\n if accept($(this).text())\n $(this).parent().parent().show()\n else\n $(this).parent().parent().hide()\n controls.append $(\"\")\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectAll)\n .bind \"click\", ->\n valueList.find(\"input:visible:not(:checked)\")\n .prop(\"checked\", true).toggleClass(\"changed\")\n return false\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectNone)\n .bind \"click\", ->\n valueList.find(\"input:visible:checked\")\n .prop(\"checked\", false).toggleClass(\"changed\")\n return false\n\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList)\n\n for value in values.sort(getSort(opts.sorters, attr))\n valueCount = attrValues[attr][value]\n filterItem = $(\"\")\n filterItemExcluded = false\n if opts.inclusions[attr]\n filterItemExcluded = (value not in opts.inclusions[attr])\n else if opts.exclusions[attr]\n filterItemExcluded = (value in opts.exclusions[attr])\n hasExcludedItem ||= filterItemExcluded\n $(\"\")\n .attr(\"type\", \"checkbox\").addClass('pvtFilter')\n .attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr,value])\n .appendTo(filterItem)\n .bind \"change\", -> $(this).toggleClass(\"changed\")\n filterItem.append $(\"\").addClass(\"value\").text(value)\n filterItem.append $(\"\").addClass(\"count\").text(\"(\"+valueCount+\")\")\n checkContainer.append $(\"\").append(filterItem)\n\n closeFilterBox = ->\n if valueList.find(\"[type='checkbox']\").length >\n valueList.find(\"[type='checkbox']:checked\").length\n attrElem.addClass \"pvtFilteredAttribute\"\n else\n attrElem.removeClass \"pvtFilteredAttribute\"\n\n valueList.find('.pvtSearch').val('')\n valueList.find('.pvtCheckContainer p').show()\n valueList.hide()\n\n finalButtons = $(\"\").appendTo(valueList)\n\n if values.length <= opts.menuLimit\n $(\"\", {type: \"button\"}).text(opts.localeStrings.apply)\n .appendTo(finalButtons).bind \"click\", ->\n if valueList.find(\".changed\").removeClass(\"changed\").length\n refresh()\n closeFilterBox()\n\n $(\"\", {type: \"button\"}).text(opts.localeStrings.cancel)\n .appendTo(finalButtons).bind \"click\", ->\n valueList.find(\".changed:checked\")\n .removeClass(\"changed\").prop(\"checked\", false)\n valueList.find(\".changed:not(:checked)\")\n .removeClass(\"changed\").prop(\"checked\", true)\n closeFilterBox()\n\n triangleLink = $(\"\").addClass('pvtTriangle')\n .html(\" ▾\").bind \"click\", (e) ->\n {left, top} = $(e.currentTarget).position()\n valueList.css(left: left+10, top: top+10).show()\n\n attrElem = $(\"\").addClass(\"axis_#{i}\")\n .append $(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink)\n\n attrElem.addClass('pvtFilteredAttribute') if hasExcludedItem\n unused.append(attrElem).append(valueList)\n\n tr1 = $(\"\").appendTo(uiTable)\n\n #aggregator menu and value area\n\n aggregator = $(\"\").addClass('pvtAggregator')\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.aggregators\n aggregator.append $(\"\").val(x).html(x)\n\n ordering =\n key_a_to_z: {rowSymbol: \"↕\", colSymbol: \"↔\", next: \"value_a_to_z\"}\n value_a_to_z: {rowSymbol: \"↓\", colSymbol: \"→\", next: \"value_z_to_a\"}\n value_z_to_a: {rowSymbol: \"↑\", colSymbol: \"←\", next: \"key_a_to_z\"}\n\n rowOrderArrow = $(\"\", role: \"button\").addClass(\"pvtRowOrder\")\n .data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol)\n refresh()\n\n colOrderArrow = $(\"\", role: \"button\").addClass(\"pvtColOrder\")\n .data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].colSymbol)\n refresh()\n\n $(\"\").addClass('pvtVals pvtUiCell')\n .appendTo(tr1)\n .append(aggregator)\n .append(rowOrderArrow)\n .append(colOrderArrow)\n .append($(\"\"))\n\n #column axes\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1)\n\n tr2 = $(\"\").appendTo(uiTable)\n\n #row axes\n tr2.append $(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\")\n\n #the actual pivot table container\n pivotTable = $(\"\")\n .attr(\"valign\", \"top\")\n .addClass('pvtRendererArea')\n .appendTo(tr2)\n\n #finally the renderer dropdown and unused attribs are inserted at the requested location\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n uiTable.find('tr:nth-child(1)').prepend rendererControl\n uiTable.find('tr:nth-child(2)').prepend unused\n else\n uiTable.prepend $(\"\").append(rendererControl).append(unused)\n\n #render the UI in its default state\n @html uiTable\n\n #set up the UI initial state as requested by moving elements around\n\n for x in opts.cols\n @find(\".pvtCols\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n for x in opts.rows\n @find(\".pvtRows\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n if opts.aggregatorName?\n @find(\".pvtAggregator\").val opts.aggregatorName\n if opts.rendererName?\n @find(\".pvtRenderer\").val opts.rendererName\n\n @find(\".pvtUiCell\").hide() unless opts.showUI\n\n initialRender = true\n\n #set up for refreshing\n refreshDelayed = =>\n subopts =\n derivedAttributes: opts.derivedAttributes\n localeStrings: opts.localeStrings\n rendererOptions: opts.rendererOptions\n sorters: opts.sorters\n cols: [], rows: []\n dataClass: opts.dataClass\n\n numInputsToProcess = opts.aggregators[aggregator.val()]([])().numInputs ? 0\n vals = []\n @find(\".pvtRows li span.pvtAttr\").each -> subopts.rows.push $(this).data(\"attrName\")\n @find(\".pvtCols li span.pvtAttr\").each -> subopts.cols.push $(this).data(\"attrName\")\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n if numInputsToProcess == 0\n $(this).remove()\n else\n numInputsToProcess--\n vals.push $(this).val() if $(this).val() != \"\"\n\n if numInputsToProcess != 0\n pvtVals = @find(\".pvtVals\")\n for x in [0...numInputsToProcess]\n newDropdown = $(\"\")\n .addClass('pvtAttrDropdown')\n .append($(\"\"))\n .bind \"change\", -> refresh()\n for attr in shownInAggregators\n newDropdown.append($(\"\").val(attr).text(attr))\n pvtVals.append(newDropdown)\n\n if initialRender\n vals = opts.vals\n i = 0\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n $(this).val vals[i]\n i++\n initialRender = false\n\n subopts.aggregatorName = aggregator.val()\n subopts.vals = vals\n subopts.aggregator = opts.aggregators[aggregator.val()](vals)\n subopts.renderer = opts.renderers[renderer.val()]\n subopts.rowOrder = rowOrderArrow.data(\"order\")\n subopts.colOrder = colOrderArrow.data(\"order\")\n #construct filter here\n exclusions = {}\n @find('input.pvtFilter').not(':checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n exclusions[filter[0]].push( filter[1] )\n else\n exclusions[filter[0]] = [ filter[1] ]\n #include inclusions when exclusions present\n inclusions = {}\n @find('input.pvtFilter:checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n if inclusions[filter[0]]?\n inclusions[filter[0]].push( filter[1] )\n else\n inclusions[filter[0]] = [ filter[1] ]\n\n subopts.filter = (record) ->\n return false if not opts.filter(record)\n for k,excludedItems of exclusions\n return false if \"\"+(record[k] ? 'null') in excludedItems\n return true\n\n pivotTable.pivot(materializedInput,subopts)\n pivotUIOptions = $.extend {}, opts,\n cols: subopts.cols\n rows: subopts.rows\n colOrder: subopts.colOrder\n rowOrder: subopts.rowOrder\n vals: vals\n exclusions: exclusions\n inclusions: inclusions\n inclusionsInfo: inclusions #duplicated for backwards-compatibility\n aggregatorName: aggregator.val()\n rendererName: renderer.val()\n\n @data \"pivotUIOptions\", pivotUIOptions\n\n # if requested make sure unused columns are in alphabetical order\n if opts.autoSortUnusedAttrs\n unusedAttrsContainer = @find(\"td.pvtUnused.pvtAxisContainer\")\n $(unusedAttrsContainer).children(\"li\")\n .sort((a, b) => naturalSort($(a).text(), $(b).text()))\n .appendTo unusedAttrsContainer\n\n pivotTable.css(\"opacity\", 1)\n opts.onRefresh(pivotUIOptions) if opts.onRefresh?\n\n refresh = =>\n pivotTable.css(\"opacity\", 0.5)\n setTimeout refreshDelayed, 10\n\n #the very first refresh will actually display the table\n refresh()\n\n @find(\".pvtAxisContainer\").sortable\n update: (e, ui) -> refresh() if not ui.sender?\n connectWith: @find(\".pvtAxisContainer\")\n items: 'li'\n placeholder: 'pvtPlaceholder'\n catch e\n console.error(e.stack) if console?\n @html opts.localeStrings.uiRenderError\n return this\n\n ###\n Heatmap post-processing\n ###\n\n $.fn.heatmap = (scope = \"heatmap\", opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n # given a series of values\n # must return a function to map a given value to a CSS color\n colorScaleGenerator = opts?.heatmap?.colorScaleGenerator\n colorScaleGenerator ?= (values) ->\n min = Math.min(values...)\n max = Math.max(values...)\n return (x) ->\n nonRed = 255 - Math.round 255*(x-min)/(max-min)\n return \"rgb(255,#{nonRed},#{nonRed})\"\n\n heatmapper = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n colorScale = colorScaleGenerator(values)\n forEachCell (x, elem) -> elem.css \"background-color\", colorScale(x)\n\n switch scope\n when \"heatmap\" then heatmapper \".pvtVal\"\n when \"rowheatmap\" then heatmapper \".pvtVal.row#{i}\" for i in [0...numRows]\n when \"colheatmap\" then heatmapper \".pvtVal.col#{j}\" for j in [0...numCols]\n\n heatmapper \".pvtTotal.rowTotal\"\n heatmapper \".pvtTotal.colTotal\"\n\n return this\n\n ###\n Barchart post-processing\n ###\n\n $.fn.barchart = (opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n barcharter = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n max = Math.max(values...)\n if max < 0\n max = 0\n range = max;\n min = Math.min(values...)\n if min < 0\n range = max - min\n scaler = (x) -> 100*x/(1.4*range)\n forEachCell (x, elem) ->\n text = elem.text()\n wrapper = $(\"\").css\n \"position\": \"relative\"\n \"height\": \"55px\"\n bgColor = \"gray\"\n bBase = 0\n if min < 0\n bBase = scaler(-min)\n if x < 0\n bBase += scaler(x)\n bgColor = \"darkred\"\n x = -x\n wrapper.append $(\"\").css\n \"position\": \"absolute\"\n \"bottom\": bBase + \"%\"\n \"left\": 0\n \"right\": 0\n \"height\": scaler(x) + \"%\"\n \"background-color\": bgColor\n wrapper.append $(\"\").text(text).css\n \"position\":\"relative\"\n \"padding-left\":\"5px\"\n \"padding-right\":\"5px\"\n\n elem.css(\"padding\": 0,\"padding-top\": \"5px\", \"text-align\": \"center\").html wrapper\n\n barcharter \".pvtVal.row#{i}\" for i in [0...numRows]\n barcharter \".pvtTotal.colTotal\"\n\n return this\n","(function() {\n var callWithJQuery,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },\n slice = [].slice,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n hasProp = {}.hasOwnProperty;\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\n /*\n Utilities\n */\n var PivotData, addSeparators, aggregatorTemplates, aggregators, dayNamesEn, derivers, getSort, locales, mthNamesEn, naturalSort, numberFormat, pivotTableRenderer, rd, renderers, rx, rz, sortAs, usFmt, usFmtInt, usFmtPct, zeroPad;\n addSeparators = function(nStr, thousandsSep, decimalSep) {\n var rgx, x, x1, x2;\n nStr += '';\n x = nStr.split('.');\n x1 = x[0];\n x2 = x.length > 1 ? decimalSep + x[1] : '';\n rgx = /(\\d+)(\\d{3})/;\n while (rgx.test(x1)) {\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2');\n }\n return x1 + x2;\n };\n numberFormat = function(opts) {\n var defaults;\n defaults = {\n digitsAfterDecimal: 2,\n scaler: 1,\n thousandsSep: \",\",\n decimalSep: \".\",\n prefix: \"\",\n suffix: \"\"\n };\n opts = $.extend({}, defaults, opts);\n return function(x) {\n var result;\n if (isNaN(x) || !isFinite(x)) {\n return \"\";\n }\n result = addSeparators((opts.scaler * x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep);\n return \"\" + opts.prefix + result + opts.suffix;\n };\n };\n usFmt = numberFormat();\n usFmtInt = numberFormat({\n digitsAfterDecimal: 0\n });\n usFmtPct = numberFormat({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\"\n });\n aggregatorTemplates = {\n count: function(formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function() {\n return function(data, rowKey, colKey) {\n return {\n count: 0,\n push: function() {\n return this.count++;\n },\n value: function() {\n return this.count;\n },\n format: formatter\n };\n };\n };\n },\n uniques: function(fn, formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n uniq: [],\n push: function(record) {\n var ref;\n if (ref = record[attr], indexOf.call(this.uniq, ref) < 0) {\n return this.uniq.push(record[attr]);\n }\n },\n value: function() {\n return fn(this.uniq);\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n sum: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[attr]))) {\n return this.sum += parseFloat(record[attr]);\n }\n },\n value: function() {\n return this.sum;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n extremes: function(mode, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n val: null,\n sorter: getSort(data != null ? data.sorters : void 0, attr),\n push: function(record) {\n var ref, ref1, ref2, x;\n x = record[attr];\n if (mode === \"min\" || mode === \"max\") {\n x = parseFloat(x);\n if (!isNaN(x)) {\n this.val = Math[mode](x, (ref = this.val) != null ? ref : x);\n }\n }\n if (mode === \"first\") {\n if (this.sorter(x, (ref1 = this.val) != null ? ref1 : x) <= 0) {\n this.val = x;\n }\n }\n if (mode === \"last\") {\n if (this.sorter(x, (ref2 = this.val) != null ? ref2 : x) >= 0) {\n return this.val = x;\n }\n }\n },\n value: function() {\n return this.val;\n },\n format: function(x) {\n if (isNaN(x)) {\n return x;\n } else {\n return formatter(x);\n }\n },\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n quantile: function(q, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n vals: [],\n push: function(record) {\n var x;\n x = parseFloat(record[attr]);\n if (!isNaN(x)) {\n return this.vals.push(x);\n }\n },\n value: function() {\n var i;\n if (this.vals.length === 0) {\n return null;\n }\n this.vals.sort(function(a, b) {\n return a - b;\n });\n i = (this.vals.length - 1) * q;\n return (this.vals[Math.floor(i)] + this.vals[Math.ceil(i)]) / 2.0;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n runningStat: function(mode, ddof, formatter) {\n if (mode == null) {\n mode = \"mean\";\n }\n if (ddof == null) {\n ddof = 1;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n n: 0.0,\n m: 0.0,\n s: 0.0,\n push: function(record) {\n var m_new, x;\n x = parseFloat(record[attr]);\n if (isNaN(x)) {\n return;\n }\n this.n += 1.0;\n if (this.n === 1.0) {\n return this.m = x;\n } else {\n m_new = this.m + (x - this.m) / this.n;\n this.s = this.s + (x - this.m) * (x - m_new);\n return this.m = m_new;\n }\n },\n value: function() {\n if (mode === \"mean\") {\n if (this.n === 0) {\n return 0 / 0;\n } else {\n return this.m;\n }\n }\n if (this.n <= ddof) {\n return 0;\n }\n switch (mode) {\n case \"var\":\n return this.s / (this.n - ddof);\n case \"stdev\":\n return Math.sqrt(this.s / (this.n - ddof));\n }\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sumOverSum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n return this.sumNum / this.sumDenom;\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n sumOverSumBound80: function(upper, formatter) {\n if (upper == null) {\n upper = true;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n var sign;\n sign = upper ? 1 : -1;\n return (0.821187207574908 / this.sumDenom + this.sumNum / this.sumDenom + 1.2815515655446004 * sign * Math.sqrt(0.410593603787454 / (this.sumDenom * this.sumDenom) + (this.sumNum * (1 - this.sumNum / this.sumDenom)) / (this.sumDenom * this.sumDenom))) / (1 + 1.642374415149816 / this.sumDenom);\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n fractionOf: function(wrapped, type, formatter) {\n if (type == null) {\n type = \"total\";\n }\n if (formatter == null) {\n formatter = usFmtPct;\n }\n return function() {\n var x;\n x = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return function(data, rowKey, colKey) {\n return {\n selector: {\n total: [[], []],\n row: [rowKey, []],\n col: [[], colKey]\n }[type],\n inner: wrapped.apply(null, x)(data, rowKey, colKey),\n push: function(record) {\n return this.inner.push(record);\n },\n format: formatter,\n value: function() {\n return this.inner.value() / data.getAggregator.apply(data, this.selector).inner.value();\n },\n numInputs: wrapped.apply(null, x)().numInputs\n };\n };\n };\n }\n };\n aggregatorTemplates.countUnique = function(f) {\n return aggregatorTemplates.uniques((function(x) {\n return x.length;\n }), f);\n };\n aggregatorTemplates.listUnique = function(s) {\n return aggregatorTemplates.uniques((function(x) {\n return x.sort(naturalSort).join(s);\n }), (function(x) {\n return x;\n }));\n };\n aggregatorTemplates.max = function(f) {\n return aggregatorTemplates.extremes('max', f);\n };\n aggregatorTemplates.min = function(f) {\n return aggregatorTemplates.extremes('min', f);\n };\n aggregatorTemplates.first = function(f) {\n return aggregatorTemplates.extremes('first', f);\n };\n aggregatorTemplates.last = function(f) {\n return aggregatorTemplates.extremes('last', f);\n };\n aggregatorTemplates.median = function(f) {\n return aggregatorTemplates.quantile(0.5, f);\n };\n aggregatorTemplates.average = function(f) {\n return aggregatorTemplates.runningStat(\"mean\", 1, f);\n };\n aggregatorTemplates[\"var\"] = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"var\", ddof, f);\n };\n aggregatorTemplates.stdev = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"stdev\", ddof, f);\n };\n aggregators = (function(tpl) {\n return {\n \"Count\": tpl.count(usFmtInt),\n \"Count Unique Values\": tpl.countUnique(usFmtInt),\n \"List Unique Values\": tpl.listUnique(\", \"),\n \"Sum\": tpl.sum(usFmt),\n \"Integer Sum\": tpl.sum(usFmtInt),\n \"Average\": tpl.average(usFmt),\n \"Median\": tpl.median(usFmt),\n \"Sample Variance\": tpl[\"var\"](1, usFmt),\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt),\n \"Minimum\": tpl.min(usFmt),\n \"Maximum\": tpl.max(usFmt),\n \"First\": tpl.first(usFmt),\n \"Last\": tpl.last(usFmt),\n \"Sum over Sum\": tpl.sumOverSum(usFmt),\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt),\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt),\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct),\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct),\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct),\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct),\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct),\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n };\n })(aggregatorTemplates);\n renderers = {\n \"Table\": function(data, opts) {\n return pivotTableRenderer(data, opts);\n },\n \"Table Barchart\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).barchart();\n },\n \"Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts);\n },\n \"Row Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts);\n },\n \"Col Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts);\n }\n };\n locales = {\n en: {\n aggregators: aggregators,\n renderers: renderers,\n localeStrings: {\n renderError: \"An error occurred rendering the PivotTable results.\",\n computeError: \"An error occurred computing the PivotTable results.\",\n uiRenderError: \"An error occurred rendering the PivotTable UI.\",\n selectAll: \"Select All\",\n selectNone: \"Select None\",\n tooMany: \"(too many to list)\",\n filterResults: \"Filter values\",\n apply: \"Apply\",\n cancel: \"Cancel\",\n totals: \"Totals\",\n vs: \"vs\",\n by: \"by\"\n }\n }\n };\n mthNamesEn = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n dayNamesEn = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n zeroPad = function(number) {\n return (\"0\" + number).substr(-2, 2);\n };\n derivers = {\n bin: function(col, binWidth) {\n return function(record) {\n return record[col] - record[col] % binWidth;\n };\n },\n dateFormat: function(col, formatString, utcOutput, mthNames, dayNames) {\n var utc;\n if (utcOutput == null) {\n utcOutput = false;\n }\n if (mthNames == null) {\n mthNames = mthNamesEn;\n }\n if (dayNames == null) {\n dayNames = dayNamesEn;\n }\n utc = utcOutput ? \"UTC\" : \"\";\n return function(record) {\n var date;\n date = new Date(Date.parse(record[col]));\n if (isNaN(date)) {\n return \"\";\n }\n return formatString.replace(/%(.)/g, function(m, p) {\n switch (p) {\n case \"y\":\n return date[\"get\" + utc + \"FullYear\"]();\n case \"m\":\n return zeroPad(date[\"get\" + utc + \"Month\"]() + 1);\n case \"n\":\n return mthNames[date[\"get\" + utc + \"Month\"]()];\n case \"d\":\n return zeroPad(date[\"get\" + utc + \"Date\"]());\n case \"w\":\n return dayNames[date[\"get\" + utc + \"Day\"]()];\n case \"x\":\n return date[\"get\" + utc + \"Day\"]();\n case \"H\":\n return zeroPad(date[\"get\" + utc + \"Hours\"]());\n case \"M\":\n return zeroPad(date[\"get\" + utc + \"Minutes\"]());\n case \"S\":\n return zeroPad(date[\"get\" + utc + \"Seconds\"]());\n default:\n return \"%\" + p;\n }\n });\n };\n }\n };\n rx = /(\\d+)|(\\D+)/g;\n rd = /\\d/;\n rz = /^0/;\n naturalSort = (function(_this) {\n return function(as, bs) {\n var a, a1, b, b1, nas, nbs;\n if ((bs != null) && (as == null)) {\n return -1;\n }\n if ((as != null) && (bs == null)) {\n return 1;\n }\n if (typeof as === \"number\" && isNaN(as)) {\n return -1;\n }\n if (typeof bs === \"number\" && isNaN(bs)) {\n return 1;\n }\n nas = +as;\n nbs = +bs;\n if (nas < nbs) {\n return -1;\n }\n if (nas > nbs) {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs !== \"number\") {\n return -1;\n }\n if (typeof bs === \"number\" && typeof as !== \"number\") {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs === \"number\") {\n return 0;\n }\n if (isNaN(nbs) && !isNaN(nas)) {\n return -1;\n }\n if (isNaN(nas) && !isNaN(nbs)) {\n return 1;\n }\n a = String(as);\n b = String(bs);\n if (a === b) {\n return 0;\n }\n if (!(rd.test(a) && rd.test(b))) {\n return (a > b ? 1 : -1);\n }\n a = a.match(rx);\n b = b.match(rx);\n while (a.length && b.length) {\n a1 = a.shift();\n b1 = b.shift();\n if (a1 !== b1) {\n if (rd.test(a1) && rd.test(b1)) {\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\");\n } else {\n return (a1 > b1 ? 1 : -1);\n }\n }\n }\n return a.length - b.length;\n };\n })(this);\n sortAs = function(order) {\n var i, l_mapping, mapping, x;\n mapping = {};\n l_mapping = {};\n for (i in order) {\n x = order[i];\n mapping[x] = i;\n if (typeof x === \"string\") {\n l_mapping[x.toLowerCase()] = i;\n }\n }\n return function(a, b) {\n if ((mapping[a] != null) && (mapping[b] != null)) {\n return mapping[a] - mapping[b];\n } else if (mapping[a] != null) {\n return -1;\n } else if (mapping[b] != null) {\n return 1;\n } else if ((l_mapping[a] != null) && (l_mapping[b] != null)) {\n return l_mapping[a] - l_mapping[b];\n } else if (l_mapping[a] != null) {\n return -1;\n } else if (l_mapping[b] != null) {\n return 1;\n } else {\n return naturalSort(a, b);\n }\n };\n };\n getSort = function(sorters, attr) {\n var sort;\n if (sorters != null) {\n if ($.isFunction(sorters)) {\n sort = sorters(attr);\n if ($.isFunction(sort)) {\n return sort;\n }\n } else if (sorters[attr] != null) {\n return sorters[attr];\n }\n }\n return naturalSort;\n };\n\n /*\n Data Model class\n */\n PivotData = (function() {\n function PivotData(input, opts) {\n var ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9;\n if (opts == null) {\n opts = {};\n }\n this.getAggregator = bind(this.getAggregator, this);\n this.getRowKeys = bind(this.getRowKeys, this);\n this.getColKeys = bind(this.getColKeys, this);\n this.sortKeys = bind(this.sortKeys, this);\n this.arrSort = bind(this.arrSort, this);\n this.input = input;\n this.aggregator = (ref = opts.aggregator) != null ? ref : aggregatorTemplates.count()();\n this.aggregatorName = (ref1 = opts.aggregatorName) != null ? ref1 : \"Count\";\n this.colAttrs = (ref2 = opts.cols) != null ? ref2 : [];\n this.rowAttrs = (ref3 = opts.rows) != null ? ref3 : [];\n this.valAttrs = (ref4 = opts.vals) != null ? ref4 : [];\n this.sorters = (ref5 = opts.sorters) != null ? ref5 : {};\n this.rowOrder = (ref6 = opts.rowOrder) != null ? ref6 : \"key_a_to_z\";\n this.colOrder = (ref7 = opts.colOrder) != null ? ref7 : \"key_a_to_z\";\n this.derivedAttributes = (ref8 = opts.derivedAttributes) != null ? ref8 : {};\n this.filter = (ref9 = opts.filter) != null ? ref9 : (function() {\n return true;\n });\n this.tree = {};\n this.rowKeys = [];\n this.colKeys = [];\n this.rowTotals = {};\n this.colTotals = {};\n this.allTotal = this.aggregator(this, [], []);\n this.sorted = false;\n PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n if (_this.filter(record)) {\n return _this.processRecord(record);\n }\n };\n })(this));\n }\n\n PivotData.forEachRecord = function(input, derivedAttributes, f) {\n var addRecord, compactRecord, i, j, k, l, len1, record, ref, results, results1, tblCols;\n if ($.isEmptyObject(derivedAttributes)) {\n addRecord = f;\n } else {\n addRecord = function(record) {\n var k, ref, v;\n for (k in derivedAttributes) {\n v = derivedAttributes[k];\n record[k] = (ref = v(record)) != null ? ref : record[k];\n }\n return f(record);\n };\n }\n if ($.isFunction(input)) {\n return input(addRecord);\n } else if ($.isArray(input)) {\n if ($.isArray(input[0])) {\n results = [];\n for (i in input) {\n if (!hasProp.call(input, i)) continue;\n compactRecord = input[i];\n if (!(i > 0)) {\n continue;\n }\n record = {};\n ref = input[0];\n for (j in ref) {\n if (!hasProp.call(ref, j)) continue;\n k = ref[j];\n record[k] = compactRecord[j];\n }\n results.push(addRecord(record));\n }\n return results;\n } else {\n results1 = [];\n for (l = 0, len1 = input.length; l < len1; l++) {\n record = input[l];\n results1.push(addRecord(record));\n }\n return results1;\n }\n } else if (input instanceof $) {\n tblCols = [];\n $(\"thead > tr > th\", input).each(function(i) {\n return tblCols.push($(this).text());\n });\n return $(\"tbody > tr\", input).each(function(i) {\n record = {};\n $(\"td\", this).each(function(j) {\n return record[tblCols[j]] = $(this).text();\n });\n return addRecord(record);\n });\n } else {\n throw new Error(\"unknown input format\");\n }\n };\n\n PivotData.prototype.forEachMatchingRecord = function(criteria, callback) {\n return PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n var k, ref, v;\n if (!_this.filter(record)) {\n return;\n }\n for (k in criteria) {\n v = criteria[k];\n if (v !== ((ref = record[k]) != null ? ref : \"null\")) {\n return;\n }\n }\n return callback(record);\n };\n })(this));\n };\n\n PivotData.prototype.arrSort = function(attrs) {\n var a, sortersArr;\n sortersArr = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = attrs.length; l < len1; l++) {\n a = attrs[l];\n results.push(getSort(this.sorters, a));\n }\n return results;\n }).call(this);\n return function(a, b) {\n var comparison, i, sorter;\n for (i in sortersArr) {\n if (!hasProp.call(sortersArr, i)) continue;\n sorter = sortersArr[i];\n comparison = sorter(a[i], b[i]);\n if (comparison !== 0) {\n return comparison;\n }\n }\n return 0;\n };\n };\n\n PivotData.prototype.sortKeys = function() {\n var v;\n if (!this.sorted) {\n this.sorted = true;\n v = (function(_this) {\n return function(r, c) {\n return _this.getAggregator(r, c).value();\n };\n })(this);\n switch (this.rowOrder) {\n case \"value_a_to_z\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n case \"value_z_to_a\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n default:\n this.rowKeys.sort(this.arrSort(this.rowAttrs));\n }\n switch (this.colOrder) {\n case \"value_a_to_z\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v([], a), v([], b));\n };\n })(this));\n case \"value_z_to_a\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v([], a), v([], b));\n };\n })(this));\n default:\n return this.colKeys.sort(this.arrSort(this.colAttrs));\n }\n }\n };\n\n PivotData.prototype.getColKeys = function() {\n this.sortKeys();\n return this.colKeys;\n };\n\n PivotData.prototype.getRowKeys = function() {\n this.sortKeys();\n return this.rowKeys;\n };\n\n PivotData.prototype.processRecord = function(record) {\n var colKey, flatColKey, flatRowKey, l, len1, len2, n, ref, ref1, ref2, ref3, rowKey, x;\n colKey = [];\n rowKey = [];\n ref = this.colAttrs;\n for (l = 0, len1 = ref.length; l < len1; l++) {\n x = ref[l];\n colKey.push((ref1 = record[x]) != null ? ref1 : \"null\");\n }\n ref2 = this.rowAttrs;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n rowKey.push((ref3 = record[x]) != null ? ref3 : \"null\");\n }\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n this.allTotal.push(record);\n if (rowKey.length !== 0) {\n if (!this.rowTotals[flatRowKey]) {\n this.rowKeys.push(rowKey);\n this.rowTotals[flatRowKey] = this.aggregator(this, rowKey, []);\n }\n this.rowTotals[flatRowKey].push(record);\n }\n if (colKey.length !== 0) {\n if (!this.colTotals[flatColKey]) {\n this.colKeys.push(colKey);\n this.colTotals[flatColKey] = this.aggregator(this, [], colKey);\n }\n this.colTotals[flatColKey].push(record);\n }\n if (colKey.length !== 0 && rowKey.length !== 0) {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n if (!this.tree[flatRowKey][flatColKey]) {\n this.tree[flatRowKey][flatColKey] = this.aggregator(this, rowKey, colKey);\n }\n return this.tree[flatRowKey][flatColKey].push(record);\n }\n };\n\n PivotData.prototype.getAggregator = function(rowKey, colKey) {\n var agg, flatColKey, flatRowKey;\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n if (rowKey.length === 0 && colKey.length === 0) {\n agg = this.allTotal;\n } else if (rowKey.length === 0) {\n agg = this.colTotals[flatColKey];\n } else if (colKey.length === 0) {\n agg = this.rowTotals[flatRowKey];\n } else {\n agg = this.tree[flatRowKey][flatColKey];\n }\n return agg != null ? agg : {\n value: (function() {\n return null;\n }),\n format: function() {\n return \"\";\n }\n };\n };\n\n return PivotData;\n\n })();\n $.pivotUtilities = {\n aggregatorTemplates: aggregatorTemplates,\n aggregators: aggregators,\n renderers: renderers,\n derivers: derivers,\n locales: locales,\n naturalSort: naturalSort,\n numberFormat: numberFormat,\n sortAs: sortAs,\n PivotData: PivotData\n };\n\n /*\n Default Renderer for hierarchical table layout\n */\n pivotTableRenderer = function(pivotData, opts) {\n 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;\n defaults = {\n table: {\n clickCallback: null,\n rowTotals: true,\n colTotals: true\n },\n localeStrings: {\n totals: \"Totals\"\n }\n };\n opts = $.extend(true, {}, defaults, opts);\n colAttrs = pivotData.colAttrs;\n rowAttrs = pivotData.rowAttrs;\n rowKeys = pivotData.getRowKeys();\n colKeys = pivotData.getColKeys();\n if (opts.table.clickCallback) {\n getClickHandler = function(value, rowValues, colValues) {\n var attr, filters, i;\n filters = {};\n for (i in colAttrs) {\n if (!hasProp.call(colAttrs, i)) continue;\n attr = colAttrs[i];\n if (colValues[i] != null) {\n filters[attr] = colValues[i];\n }\n }\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n attr = rowAttrs[i];\n if (rowValues[i] != null) {\n filters[attr] = rowValues[i];\n }\n }\n return function(e) {\n return opts.table.clickCallback(e, value, filters, pivotData);\n };\n };\n }\n result = document.createElement(\"table\");\n result.className = \"pvtTable\";\n spanSize = function(arr, i, j) {\n var l, len, n, noDraw, ref, ref1, stop, x;\n if (i !== 0) {\n noDraw = true;\n for (x = l = 0, ref = j; 0 <= ref ? l <= ref : l >= ref; x = 0 <= ref ? ++l : --l) {\n if (arr[i - 1][x] !== arr[i][x]) {\n noDraw = false;\n }\n }\n if (noDraw) {\n return -1;\n }\n }\n len = 0;\n while (i + len < arr.length) {\n stop = false;\n for (x = n = 0, ref1 = j; 0 <= ref1 ? n <= ref1 : n >= ref1; x = 0 <= ref1 ? ++n : --n) {\n if (arr[i][x] !== arr[i + len][x]) {\n stop = true;\n }\n }\n if (stop) {\n break;\n }\n len++;\n }\n return len;\n };\n thead = document.createElement(\"thead\");\n for (j in colAttrs) {\n if (!hasProp.call(colAttrs, j)) continue;\n c = colAttrs[j];\n tr = document.createElement(\"tr\");\n if (parseInt(j) === 0 && rowAttrs.length !== 0) {\n th = document.createElement(\"th\");\n th.setAttribute(\"colspan\", rowAttrs.length);\n th.setAttribute(\"rowspan\", colAttrs.length);\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = c;\n tr.appendChild(th);\n for (i in colKeys) {\n if (!hasProp.call(colKeys, i)) continue;\n colKey = colKeys[i];\n x = spanSize(colKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtColLabel\";\n th.textContent = colKey[j];\n th.setAttribute(\"colspan\", x);\n if (parseInt(j) === colAttrs.length - 1 && rowAttrs.length !== 0) {\n th.setAttribute(\"rowspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n if (parseInt(j) === 0 && opts.table.rowTotals) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"rowspan\", colAttrs.length + (rowAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n thead.appendChild(tr);\n }\n if (rowAttrs.length !== 0) {\n tr = document.createElement(\"tr\");\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n r = rowAttrs[i];\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = r;\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n if (colAttrs.length === 0) {\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n }\n tr.appendChild(th);\n thead.appendChild(tr);\n }\n result.appendChild(thead);\n tbody = document.createElement(\"tbody\");\n for (i in rowKeys) {\n if (!hasProp.call(rowKeys, i)) continue;\n rowKey = rowKeys[i];\n tr = document.createElement(\"tr\");\n for (j in rowKey) {\n if (!hasProp.call(rowKey, j)) continue;\n txt = rowKey[j];\n x = spanSize(rowKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtRowLabel\";\n th.textContent = txt;\n th.setAttribute(\"rowspan\", x);\n if (parseInt(j) === rowAttrs.length - 1 && colAttrs.length !== 0) {\n th.setAttribute(\"colspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n aggregator = pivotData.getAggregator(rowKey, colKey);\n val = aggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtVal row\" + i + \" col\" + j;\n td.textContent = aggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, colKey);\n }\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator(rowKey, []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal rowTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, []);\n }\n td.setAttribute(\"data-for\", \"row\" + i);\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n if (opts.table.colTotals || rowAttrs.length === 0) {\n tr = document.createElement(\"tr\");\n if (opts.table.colTotals || rowAttrs.length === 0) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtColTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"colspan\", rowAttrs.length + (colAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n totalAggregator = pivotData.getAggregator([], colKey);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal colTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], colKey);\n }\n td.setAttribute(\"data-for\", \"col\" + j);\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator([], []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtGrandTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], []);\n }\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n result.appendChild(tbody);\n result.setAttribute(\"data-numrows\", rowKeys.length);\n result.setAttribute(\"data-numcols\", colKeys.length);\n return result;\n };\n\n /*\n Pivot Table core: create PivotData object and call Renderer on it\n */\n $.fn.pivot = function(input, inputOpts, locale) {\n var defaults, e, localeDefaults, localeStrings, opts, pivotData, result, x;\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n filter: function() {\n return true;\n },\n aggregator: aggregatorTemplates.count()(),\n aggregatorName: \"Count\",\n sorters: {},\n derivedAttributes: {},\n renderer: pivotTableRenderer\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n result = null;\n try {\n pivotData = new opts.dataClass(input, opts);\n try {\n result = opts.renderer(pivotData, opts.rendererOptions);\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.renderError);\n }\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.computeError);\n }\n x = this[0];\n while (x.hasChildNodes()) {\n x.removeChild(x.lastChild);\n }\n return this.append(result);\n };\n\n /*\n Pivot Table UI: calls Pivot Table core above with options set by user\n */\n $.fn.pivotUI = function(input, inputOpts, overwrite, locale) {\n 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;\n if (overwrite == null) {\n overwrite = false;\n }\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n derivedAttributes: {},\n aggregators: locales[locale].aggregators,\n renderers: locales[locale].renderers,\n hiddenAttributes: [],\n hiddenFromAggregators: [],\n hiddenFromDragDrop: [],\n menuLimit: 500,\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n exclusions: {},\n inclusions: {},\n unusedAttrsVertical: 85,\n autoSortUnusedAttrs: false,\n onRefresh: null,\n showUI: true,\n filter: function() {\n return true;\n },\n sorters: {}\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n existingOpts = this.data(\"pivotUIOptions\");\n if ((existingOpts == null) || overwrite) {\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n } else {\n opts = existingOpts;\n }\n try {\n attrValues = {};\n materializedInput = [];\n recordsProcessed = 0;\n PivotData.forEachRecord(input, opts.derivedAttributes, function(record) {\n var attr, base, ref, value;\n if (!opts.filter(record)) {\n return;\n }\n materializedInput.push(record);\n for (attr in record) {\n if (!hasProp.call(record, attr)) continue;\n if (attrValues[attr] == null) {\n attrValues[attr] = {};\n if (recordsProcessed > 0) {\n attrValues[attr][\"null\"] = recordsProcessed;\n }\n }\n }\n for (attr in attrValues) {\n value = (ref = record[attr]) != null ? ref : \"null\";\n if ((base = attrValues[attr])[value] == null) {\n base[value] = 0;\n }\n attrValues[attr][value]++;\n }\n return recordsProcessed++;\n });\n uiTable = $(\"\", {\n \"class\": \"pvtUi\"\n }).attr(\"cellpadding\", 5);\n rendererControl = $(\"\").addClass(\"pvtUiCell\");\n renderer = $(\"\").addClass('pvtRenderer').appendTo(rendererControl).bind(\"change\", function() {\n return refresh();\n });\n ref = opts.renderers;\n for (x in ref) {\n if (!hasProp.call(ref, x)) continue;\n $(\"\").val(x).html(x).appendTo(renderer);\n }\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell');\n shownAttributes = (function() {\n var results;\n results = [];\n for (a in attrValues) {\n if (indexOf.call(opts.hiddenAttributes, a) < 0) {\n results.push(a);\n }\n }\n return results;\n })();\n shownInAggregators = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromAggregators, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n shownInDragDrop = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromDragDrop, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n unusedAttrsVerticalAutoOverride = false;\n if (opts.unusedAttrsVertical === \"auto\") {\n unusedAttrsVerticalAutoCutoff = 120;\n } else {\n unusedAttrsVerticalAutoCutoff = parseInt(opts.unusedAttrsVertical);\n }\n if (!isNaN(unusedAttrsVerticalAutoCutoff)) {\n attrLength = 0;\n for (l = 0, len1 = shownInDragDrop.length; l < len1; l++) {\n a = shownInDragDrop[l];\n attrLength += a.length;\n }\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff;\n }\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n unused.addClass('pvtVertList');\n } else {\n unused.addClass('pvtHorizList');\n }\n fn1 = function(attr) {\n var attrElem, checkContainer, closeFilterBox, controls, filterItem, filterItemExcluded, finalButtons, hasExcludedItem, len2, n, placeholder, ref1, sorter, triangleLink, v, value, valueCount, valueList, values;\n values = (function() {\n var results;\n results = [];\n for (v in attrValues[attr]) {\n results.push(v);\n }\n return results;\n })();\n hasExcludedItem = false;\n valueList = $(\"\").addClass('pvtFilterBox').hide();\n valueList.append($(\"\").append($(\"\").text(attr), $(\"\").addClass(\"count\").text(\"(\" + values.length + \")\")));\n if (values.length > opts.menuLimit) {\n valueList.append($(\"\").html(opts.localeStrings.tooMany));\n } else {\n if (values.length > 5) {\n controls = $(\"\").appendTo(valueList);\n sorter = getSort(opts.sorters, attr);\n placeholder = opts.localeStrings.filterResults;\n $(\"\", {\n type: \"text\"\n }).appendTo(controls).attr({\n placeholder: placeholder,\n \"class\": \"pvtSearch\"\n }).bind(\"keyup\", function() {\n var accept, accept_gen, filter;\n filter = $(this).val().toLowerCase().trim();\n accept_gen = function(prefix, accepted) {\n return function(v) {\n var real_filter, ref1;\n real_filter = filter.substring(prefix.length).trim();\n if (real_filter.length === 0) {\n return true;\n }\n return ref1 = Math.sign(sorter(v.toLowerCase(), real_filter)), indexOf.call(accepted, ref1) >= 0;\n };\n };\n 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) {\n if (filter.substring(1).trim().length === 0) {\n return true;\n }\n return v.toLowerCase().match(filter.substring(1));\n } : function(v) {\n return v.toLowerCase().indexOf(filter) !== -1;\n };\n return valueList.find('.pvtCheckContainer p label span.value').each(function() {\n if (accept($(this).text())) {\n return $(this).parent().parent().show();\n } else {\n return $(this).parent().parent().hide();\n }\n });\n });\n controls.append($(\"\"));\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectAll).bind(\"click\", function() {\n valueList.find(\"input:visible:not(:checked)\").prop(\"checked\", true).toggleClass(\"changed\");\n return false;\n });\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectNone).bind(\"click\", function() {\n valueList.find(\"input:visible:checked\").prop(\"checked\", false).toggleClass(\"changed\");\n return false;\n });\n }\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList);\n ref1 = values.sort(getSort(opts.sorters, attr));\n for (n = 0, len2 = ref1.length; n < len2; n++) {\n value = ref1[n];\n valueCount = attrValues[attr][value];\n filterItem = $(\"\");\n filterItemExcluded = false;\n if (opts.inclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.inclusions[attr], value) < 0);\n } else if (opts.exclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.exclusions[attr], value) >= 0);\n }\n hasExcludedItem || (hasExcludedItem = filterItemExcluded);\n $(\"\").attr(\"type\", \"checkbox\").addClass('pvtFilter').attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr, value]).appendTo(filterItem).bind(\"change\", function() {\n return $(this).toggleClass(\"changed\");\n });\n filterItem.append($(\"\").addClass(\"value\").text(value));\n filterItem.append($(\"\").addClass(\"count\").text(\"(\" + valueCount + \")\"));\n checkContainer.append($(\"\").append(filterItem));\n }\n }\n closeFilterBox = function() {\n if (valueList.find(\"[type='checkbox']\").length > valueList.find(\"[type='checkbox']:checked\").length) {\n attrElem.addClass(\"pvtFilteredAttribute\");\n } else {\n attrElem.removeClass(\"pvtFilteredAttribute\");\n }\n valueList.find('.pvtSearch').val('');\n valueList.find('.pvtCheckContainer p').show();\n return valueList.hide();\n };\n finalButtons = $(\"\").appendTo(valueList);\n if (values.length <= opts.menuLimit) {\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.apply).appendTo(finalButtons).bind(\"click\", function() {\n if (valueList.find(\".changed\").removeClass(\"changed\").length) {\n refresh();\n }\n return closeFilterBox();\n });\n }\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.cancel).appendTo(finalButtons).bind(\"click\", function() {\n valueList.find(\".changed:checked\").removeClass(\"changed\").prop(\"checked\", false);\n valueList.find(\".changed:not(:checked)\").removeClass(\"changed\").prop(\"checked\", true);\n return closeFilterBox();\n });\n triangleLink = $(\"\").addClass('pvtTriangle').html(\" ▾\").bind(\"click\", function(e) {\n var left, ref2, top;\n ref2 = $(e.currentTarget).position(), left = ref2.left, top = ref2.top;\n return valueList.css({\n left: left + 10,\n top: top + 10\n }).show();\n });\n attrElem = $(\"\").addClass(\"axis_\" + i).append($(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink));\n if (hasExcludedItem) {\n attrElem.addClass('pvtFilteredAttribute');\n }\n return unused.append(attrElem).append(valueList);\n };\n for (i in shownInDragDrop) {\n if (!hasProp.call(shownInDragDrop, i)) continue;\n attr = shownInDragDrop[i];\n fn1(attr);\n }\n tr1 = $(\"\").appendTo(uiTable);\n aggregator = $(\"\").addClass('pvtAggregator').bind(\"change\", function() {\n return refresh();\n });\n ref1 = opts.aggregators;\n for (x in ref1) {\n if (!hasProp.call(ref1, x)) continue;\n aggregator.append($(\"\").val(x).html(x));\n }\n ordering = {\n key_a_to_z: {\n rowSymbol: \"↕\",\n colSymbol: \"↔\",\n next: \"value_a_to_z\"\n },\n value_a_to_z: {\n rowSymbol: \"↓\",\n colSymbol: \"→\",\n next: \"value_z_to_a\"\n },\n value_z_to_a: {\n rowSymbol: \"↑\",\n colSymbol: \"←\",\n next: \"key_a_to_z\"\n }\n };\n rowOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtRowOrder\").data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol);\n return refresh();\n });\n colOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtColOrder\").data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].colSymbol);\n return refresh();\n });\n $(\"\").addClass('pvtVals pvtUiCell').appendTo(tr1).append(aggregator).append(rowOrderArrow).append(colOrderArrow).append($(\"\"));\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1);\n tr2 = $(\"\").appendTo(uiTable);\n tr2.append($(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\"));\n pivotTable = $(\"\").attr(\"valign\", \"top\").addClass('pvtRendererArea').appendTo(tr2);\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n uiTable.find('tr:nth-child(1)').prepend(rendererControl);\n uiTable.find('tr:nth-child(2)').prepend(unused);\n } else {\n uiTable.prepend($(\"\").append(rendererControl).append(unused));\n }\n this.html(uiTable);\n ref2 = opts.cols;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n this.find(\".pvtCols\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n ref3 = opts.rows;\n for (o = 0, len3 = ref3.length; o < len3; o++) {\n x = ref3[o];\n this.find(\".pvtRows\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n if (opts.aggregatorName != null) {\n this.find(\".pvtAggregator\").val(opts.aggregatorName);\n }\n if (opts.rendererName != null) {\n this.find(\".pvtRenderer\").val(opts.rendererName);\n }\n if (!opts.showUI) {\n this.find(\".pvtUiCell\").hide();\n }\n initialRender = true;\n refreshDelayed = (function(_this) {\n return function() {\n var exclusions, inclusions, len4, newDropdown, numInputsToProcess, pivotUIOptions, pvtVals, ref4, ref5, subopts, t, u, unusedAttrsContainer, vals;\n subopts = {\n derivedAttributes: opts.derivedAttributes,\n localeStrings: opts.localeStrings,\n rendererOptions: opts.rendererOptions,\n sorters: opts.sorters,\n cols: [],\n rows: [],\n dataClass: opts.dataClass\n };\n numInputsToProcess = (ref4 = opts.aggregators[aggregator.val()]([])().numInputs) != null ? ref4 : 0;\n vals = [];\n _this.find(\".pvtRows li span.pvtAttr\").each(function() {\n return subopts.rows.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtCols li span.pvtAttr\").each(function() {\n return subopts.cols.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n if (numInputsToProcess === 0) {\n return $(this).remove();\n } else {\n numInputsToProcess--;\n if ($(this).val() !== \"\") {\n return vals.push($(this).val());\n }\n }\n });\n if (numInputsToProcess !== 0) {\n pvtVals = _this.find(\".pvtVals\");\n for (x = t = 0, ref5 = numInputsToProcess; 0 <= ref5 ? t < ref5 : t > ref5; x = 0 <= ref5 ? ++t : --t) {\n newDropdown = $(\"\").addClass('pvtAttrDropdown').append($(\"\")).bind(\"change\", function() {\n return refresh();\n });\n for (u = 0, len4 = shownInAggregators.length; u < len4; u++) {\n attr = shownInAggregators[u];\n newDropdown.append($(\"\").val(attr).text(attr));\n }\n pvtVals.append(newDropdown);\n }\n }\n if (initialRender) {\n vals = opts.vals;\n i = 0;\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n $(this).val(vals[i]);\n return i++;\n });\n initialRender = false;\n }\n subopts.aggregatorName = aggregator.val();\n subopts.vals = vals;\n subopts.aggregator = opts.aggregators[aggregator.val()](vals);\n subopts.renderer = opts.renderers[renderer.val()];\n subopts.rowOrder = rowOrderArrow.data(\"order\");\n subopts.colOrder = colOrderArrow.data(\"order\");\n exclusions = {};\n _this.find('input.pvtFilter').not(':checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n return exclusions[filter[0]].push(filter[1]);\n } else {\n return exclusions[filter[0]] = [filter[1]];\n }\n });\n inclusions = {};\n _this.find('input.pvtFilter:checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n if (inclusions[filter[0]] != null) {\n return inclusions[filter[0]].push(filter[1]);\n } else {\n return inclusions[filter[0]] = [filter[1]];\n }\n }\n });\n subopts.filter = function(record) {\n var excludedItems, k, ref6, ref7;\n if (!opts.filter(record)) {\n return false;\n }\n for (k in exclusions) {\n excludedItems = exclusions[k];\n if (ref6 = \"\" + ((ref7 = record[k]) != null ? ref7 : 'null'), indexOf.call(excludedItems, ref6) >= 0) {\n return false;\n }\n }\n return true;\n };\n pivotTable.pivot(materializedInput, subopts);\n pivotUIOptions = $.extend({}, opts, {\n cols: subopts.cols,\n rows: subopts.rows,\n colOrder: subopts.colOrder,\n rowOrder: subopts.rowOrder,\n vals: vals,\n exclusions: exclusions,\n inclusions: inclusions,\n inclusionsInfo: inclusions,\n aggregatorName: aggregator.val(),\n rendererName: renderer.val()\n });\n _this.data(\"pivotUIOptions\", pivotUIOptions);\n if (opts.autoSortUnusedAttrs) {\n unusedAttrsContainer = _this.find(\"td.pvtUnused.pvtAxisContainer\");\n $(unusedAttrsContainer).children(\"li\").sort(function(a, b) {\n return naturalSort($(a).text(), $(b).text());\n }).appendTo(unusedAttrsContainer);\n }\n pivotTable.css(\"opacity\", 1);\n if (opts.onRefresh != null) {\n return opts.onRefresh(pivotUIOptions);\n }\n };\n })(this);\n refresh = (function(_this) {\n return function() {\n pivotTable.css(\"opacity\", 0.5);\n return setTimeout(refreshDelayed, 10);\n };\n })(this);\n refresh();\n this.find(\".pvtAxisContainer\").sortable({\n update: function(e, ui) {\n if (ui.sender == null) {\n return refresh();\n }\n },\n connectWith: this.find(\".pvtAxisContainer\"),\n items: 'li',\n placeholder: 'pvtPlaceholder'\n });\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n this.html(opts.localeStrings.uiRenderError);\n }\n return this;\n };\n\n /*\n Heatmap post-processing\n */\n $.fn.heatmap = function(scope, opts) {\n var colorScaleGenerator, heatmapper, i, j, l, n, numCols, numRows, ref, ref1, ref2;\n if (scope == null) {\n scope = \"heatmap\";\n }\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n colorScaleGenerator = opts != null ? (ref = opts.heatmap) != null ? ref.colorScaleGenerator : void 0 : void 0;\n if (colorScaleGenerator == null) {\n colorScaleGenerator = function(values) {\n var max, min;\n min = Math.min.apply(Math, values);\n max = Math.max.apply(Math, values);\n return function(x) {\n var nonRed;\n nonRed = 255 - Math.round(255 * (x - min) / (max - min));\n return \"rgb(255,\" + nonRed + \",\" + nonRed + \")\";\n };\n };\n }\n heatmapper = (function(_this) {\n return function(scope) {\n var colorScale, forEachCell, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n colorScale = colorScaleGenerator(values);\n return forEachCell(function(x, elem) {\n return elem.css(\"background-color\", colorScale(x));\n });\n };\n })(this);\n switch (scope) {\n case \"heatmap\":\n heatmapper(\".pvtVal\");\n break;\n case \"rowheatmap\":\n for (i = l = 0, ref1 = numRows; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) {\n heatmapper(\".pvtVal.row\" + i);\n }\n break;\n case \"colheatmap\":\n for (j = n = 0, ref2 = numCols; 0 <= ref2 ? n < ref2 : n > ref2; j = 0 <= ref2 ? ++n : --n) {\n heatmapper(\".pvtVal.col\" + j);\n }\n }\n heatmapper(\".pvtTotal.rowTotal\");\n heatmapper(\".pvtTotal.colTotal\");\n return this;\n };\n\n /*\n Barchart post-processing\n */\n return $.fn.barchart = function(opts) {\n var barcharter, i, l, numCols, numRows, ref;\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n barcharter = (function(_this) {\n return function(scope) {\n var forEachCell, max, min, range, scaler, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n max = Math.max.apply(Math, values);\n if (max < 0) {\n max = 0;\n }\n range = max;\n min = Math.min.apply(Math, values);\n if (min < 0) {\n range = max - min;\n }\n scaler = function(x) {\n return 100 * x / (1.4 * range);\n };\n return forEachCell(function(x, elem) {\n var bBase, bgColor, text, wrapper;\n text = elem.text();\n wrapper = $(\"\").css({\n \"position\": \"relative\",\n \"height\": \"55px\"\n });\n bgColor = \"gray\";\n bBase = 0;\n if (min < 0) {\n bBase = scaler(-min);\n }\n if (x < 0) {\n bBase += scaler(x);\n bgColor = \"darkred\";\n x = -x;\n }\n wrapper.append($(\"\").css({\n \"position\": \"absolute\",\n \"bottom\": bBase + \"%\",\n \"left\": 0,\n \"right\": 0,\n \"height\": scaler(x) + \"%\",\n \"background-color\": bgColor\n }));\n wrapper.append($(\"\").text(text).css({\n \"position\": \"relative\",\n \"padding-left\": \"5px\",\n \"padding-right\": \"5px\"\n }));\n return elem.css({\n \"padding\": 0,\n \"padding-top\": \"5px\",\n \"text-align\": \"center\"\n }).html(wrapper);\n });\n };\n })(this);\n for (i = l = 0, ref = numRows; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) {\n barcharter(\".pvtVal.row\" + i);\n }\n barcharter(\".pvtTotal.colTotal\");\n return this;\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.js.map\n"]} \ No newline at end of file diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.js new file mode 100644 index 0000000..ca9a375 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js @@ -0,0 +1,80 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map new file mode 100644 index 0000000..b7c7760 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js index 9dc06ee..a3bcc04 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js @@ -1,2 +1,2 @@ -(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,n,o;return n=e.pivotUtilities.numberFormat,o=e.pivotUtilities.aggregatorTemplates,t=n({thousandsSep:" ",decimalSep:","}),r=n({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),i=n({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:o.count(r),"Aantal unieke waarden":o.countUnique(r),"Lijst unieke waarden":o.listUnique(", "),Som:o.sum(t),"Som van gehele getallen":o.sum(r),Gemiddelde:o.average(t),Minimum:o.min(t),Maximum:o.max(t),"Som over som":o.sumOverSum(t),"80% bovengrens":o.sumOverSumBound80(!0,t),"80% ondergrens":o.sumOverSumBound80(!1,t),"Som in verhouding tot het totaal":o.fractionOf(o.sum(),"total",i),"Som in verhouding tot de rij":o.fractionOf(o.sum(),"row",i),"Som in verhouding tot de kolom":o.fractionOf(o.sum(),"col",i),"Aantal in verhouding tot het totaal":o.fractionOf(o.count(),"total",i),"Aantal in verhouding tot de rij":o.fractionOf(o.count(),"row",i),"Aantal in verhouding tot de kolom":o.fractionOf(o.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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map new file mode 100644 index 0000000..b51dc51 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js b/inst/htmlwidgets/lib/pivottable/pivot.pl.js new file mode 100644 index 0000000..aa4b438 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js @@ -0,0 +1,82 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map new file mode 100644 index 0000000..3eefc10 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pivot.pl.js","sources":["pivot.pl.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 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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map new file mode 100644 index 0000000..14a4b8e --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.js new file mode 100644 index 0000000..b737243 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js @@ -0,0 +1,111 @@ +(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.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": tpl.count(frFmtInt), + "Contagem de Valores únicos": tpl.countUnique(frFmtInt), + "Lista de Valores únicos": tpl.listUnique(", "), + "Soma": tpl.sum(frFmt), + "Soma de Inteiros": tpl.sum(frFmtInt), + "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áximo": tpl.max(frFmt), + "Primeiro": tpl.first(frFmt), + "Último": tpl.last(frFmt), + "Soma sobre Soma": tpl.sumOverSum(frFmt), + "Limite Superior a 80%": tpl.sumOverSumBound80(true, frFmt), + "Limite Inferior a 80%": tpl.sumOverSumBound80(false, frFmt), + "Soma como Fração do Total": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Soma como Fração da Linha": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Soma como Fração da Coluna": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Contagem como Fração do Total": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Contagem como Fração da Linha": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Contagem como Fração da Coluna": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tabela": r["Table"], + "Tabela com Barras": r["Table Barchart"], + "Mapa de Calor": r["Heatmap"], + "Mapa de Calor por Linhas": r["Row Heatmap"], + "Mapa de Calor por Colunas": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.pt.gchart_renderers = { + "Gráfico de Linhas": gcr["Line Chart"], + "Gráfico de Barras": gcr["Bar Chart"], + "Gráfico de Barras Empilhadas": gcr["Stacked Bar Chart"], + "Gráfico de Área": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.pt.d3_renderers = { + "Mapa de Árvore": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.pt.c3_renderers = { + "Gráfico de Linhas": c3r["Line Chart"], + "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; + }); + +}).call(this); + +//# sourceMappingURL=pivot.pt.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map new file mode 100644 index 0000000..72cb981 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js index cf4f356..0f92ea7 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js @@ -1,2 +1,2 @@ -(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,l,n,c;return l=a.pivotUtilities.numberFormat,c=a.pivotUtilities.aggregatorTemplates,n=a.pivotUtilities.renderers,s=a.pivotUtilities.gchart_renderers,r=a.pivotUtilities.d3_renderers,e=a.pivotUtilities.c3_renderers,o=l({thousandsSep:".",decimalSep:","}),i=l({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),t=l({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),"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:n.Table,"Tabela com Barras":n["Table Barchart"],"Mapa de Calor":n.Heatmap,"Mapa de Calor por Linhas":n["Row Heatmap"],"Mapa de Calor por Colunas":n["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map new file mode 100644 index 0000000..cf067a6 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js b/inst/htmlwidgets/lib/pivottable/pivot.ru.js new file mode 100644 index 0000000..ebc556d --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map new file mode 100644 index 0000000..f7fe47f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map new file mode 100644 index 0000000..4ef0db3 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js b/inst/htmlwidgets/lib/pivottable/pivot.sq.js new file mode 100644 index 0000000..080b336 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map new file mode 100644 index 0000000..604860b --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map new file mode 100644 index 0000000..3f6df78 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js b/inst/htmlwidgets/lib/pivottable/pivot.tr.js new file mode 100644 index 0000000..1a95e56 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js @@ -0,0 +1,104 @@ +(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.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ı": tpl.count(frFmtInt), + "Benzersiz değerler sayısı": tpl.countUnique(frFmtInt), + "Benzersiz değerler listesi": tpl.listUnique(", "), + "Toplam": tpl.sum(frFmt), + "Toplam (tam sayı)": tpl.sum(frFmtInt), + "Ortalama": tpl.average(frFmt), + "Min": tpl.min(frFmt), + "Maks": tpl.max(frFmt), + "Miktarların toplamı": tpl.sumOverSum(frFmt), + "%80 daha yüksek": tpl.sumOverSumBound80(true, frFmt), + "%80 daha düşük": tpl.sumOverSumBound80(false, frFmt), + "Toplam oranı (toplam)": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Satır oranı (toplam)": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Sütunun oranı (toplam)": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Toplam oranı (sayı)": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Satır oranı (sayı)": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Sütunun oranı (sayı)": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tablo": r["Table"], + "Tablo (Çubuklar)": r["Table Barchart"], + "İlgi haritası": r["Heatmap"], + "Satır ilgi haritası": r["Row Heatmap"], + "Sütun ilgi haritası": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.tr.gchart_renderers = { + "Çizgi Grafiği": gcr["Line Chart"], + "Bar Grafiği": gcr["Bar Chart"], + "Yığılmış Çubuk Grafik ": gcr["Stacked Bar Chart"], + "Alan Grafiği": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.tr.d3_renderers = { + "Hiyerarşik Alan Grafiği (Treemap)": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.tr.c3_renderers = { + "Çizgi Grafiği": c3r["Line Chart"], + "Bar Grafiği": c3r["Bar Chart"], + "Yığılmış Çubuk Grafik ": c3r["Stacked Bar Chart"], + "Alan Grafiği": c3r["Area Chart"] + }; + } + return $.pivotUtilities.locales.tr; + }); + +}).call(this); + +//# sourceMappingURL=pivot.tr.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map new file mode 100644 index 0000000..3b5dbe0 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map new file mode 100644 index 0000000..90d8eb9 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.js new file mode 100644 index 0000000..5f30fb4 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js @@ -0,0 +1,113 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map new file mode 100644 index 0000000..6810c5f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js index 916fceb..2828cad 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js @@ -1,2 +1,2 @@ -(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,a,l,n,c;return l=e.pivotUtilities.numberFormat,c=e.pivotUtilities.aggregatorTemplates,n=e.pivotUtilities.renderers,a=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,t=e.pivotUtilities.c3_renderers,i=l({thousandsSep:",",decimalSep:"."}),o=l({digitsAfterDecimal:0,thousandsSep:",",decimalSep:"."}),s=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(o),"非重复值的个数":c.countUnique(o),"列出非重复值":c.listUnique(", "),"求和":c.sum(i),"求和后取整":c.sum(o),"平均值":c.average(i),"最小值":c.min(i),"最大值":c.max(i),"两和之比":c.sumOverSum(i),"二项分布:置信度为80%时的区间上限":c.sumOverSumBound80(!0,i),"二项分布:置信度为80%时的区间下限":c.sumOverSumBound80(!1,i),"和在总计中的比例":c.fractionOf(c.sum(),"total",s),"和在行合计中的比例":c.fractionOf(c.sum(),"row",s),"和在列合计中的比例":c.fractionOf(c.sum(),"col",s),"频数在总计中的比例":c.fractionOf(c.count(),"total",s),"频数在行合计中的比例":c.fractionOf(c.count(),"row",s),"频数在列合计中的比例":c.fractionOf(c.count(),"col",s)},renderers:{"表格":n.Table,"表格内柱状图":n["Table Barchart"],"热图":n.Heatmap,"行热图":n["Row Heatmap"],"列热图":n["Col Heatmap"]}},a&&(e.pivotUtilities.locales.zh.gchart_renderers={"折线图(g)":a["Line Chart"],"柱形图(g)":a["Bar Chart"],"堆栈柱形图(g)":a["Stacked Bar Chart"],"面积图(g)":a["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map new file mode 100644 index 0000000..8b30873 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot_spec.js b/inst/htmlwidgets/lib/pivottable/pivot_spec.js new file mode 100644 index 0000000..fadadce --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot_spec.js @@ -0,0 +1,614 @@ +(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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 $("").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 = $("").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 = $("\n \n
").appendTo(x),v=h(M.sorters,n),f=M.localeStrings.filterResults,t("",{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("")),t("",{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("",{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("").addClass("pvtCheckContainer").appendTo(x),g=S.sort(h(M.sorters,n)),p=0,d=g.length;p"),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("").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("").addClass("value").text(y)),l.append(t("").addClass("count").text("("+w+")")),a.append(t("").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("").appendTo(x),S.length<=M.menuLimit&&t("",{type:"button"}).text(M.localeStrings.apply).appendTo(u).bind("click",function(){return x.find(".changed").removeClass("changed").length&&V(),o()}),t("",{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("").addClass("pvtTriangle").html(" ▾").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("").addClass("axis_"+A).append(t("").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("").appendTo(Y),u=t("").addClass("pvtAggregator").bind("change",function(){return V()}),K=M.aggregators;for(et in K)a.call(K,et)&&u.append(t("").val(et).html(et));for(R={key_a_to_z:{rowSymbol:"↕",colSymbol:"↔",next:"value_a_to_z"},value_a_to_z:{rowSymbol:"↓",colSymbol:"→",next:"value_z_to_a"},value_z_to_a:{rowSymbol:"↑",colSymbol:"←",next:"key_a_to_z"}},P=t("",{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("",{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("").addClass("pvtVals pvtUiCell").appendTo($).append(u).append(P).append(v).append(t("")),t("").addClass("pvtAxisContainer pvtHorizList pvtCols pvtUiCell").appendTo($),Q=t("").appendTo(Y),Q.append(t("").addClass("pvtAxisContainer pvtRows pvtUiCell").attr("valign","top")),I=t("").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("").append(B).append(X)),this.html(Y),q=M.cols,D=0,T=q.length;Dp;et=0<=p?++g:--g){for(i=t("").addClass("pvtAttrDropdown").append(t("")).bind("change",function(){return V()}),b=0,o=G.length;b").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?ld;o=0<=d?++l:--l)a(".pvtVal.row"+o);break;case"colheatmap":for(i=s=0,p=u;0<=p?sp;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("").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("").css({position:"absolute",bottom:r+"%",left:0,right:0,height:l(e)+"%","background-color":a})),s.append(t("").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?al;r=0<=l?++a:--a)n(".pvtVal.row"+r);return n(".pvtTotal.colTotal"),this}})}).call(this); //# sourceMappingURL=pivot.min.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.min.js.map new file mode 100644 index 0000000..acf3957 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["pivot.coffee","pivot.min.js"],"names":["callWithJQuery","indexOf","item","i","l","this","length","slice","bind","fn","me","apply","arguments","hasProp","hasOwnProperty","pivotModule","exports","module","require","define","amd","jQuery","$","PivotData","addSeparators","aggregatorTemplates","aggregators","dayNamesEn","derivers","getSort","locales","mthNamesEn","naturalSort","numberFormat","pivotTableRenderer","rd","renderers","rx","rz","sortAs","usFmt","usFmtInt","usFmtPct","zeroPad","nStr","thousandsSep","decimalSep","rgx","x","x1","x2","split","test","replace","opts","defaults","digitsAfterDecimal","scaler","prefix","suffix","extend","result","isNaN","isFinite","toFixed","count","formatter","data","rowKey","colKey","push","value","format","uniques","arg","attr","uniq","record","ref","call","numInputs","sum","parseFloat","extremes","mode","val","sorter","sorters","ref1","ref2","Math","quantile","q","vals","sort","a","b","floor","ceil","runningStat","ddof","n","m","s","m_new","sqrt","sumOverSum","denom","num","sumNum","sumDenom","sumOverSumBound80","upper","sign","fractionOf","wrapped","type","selector","total","row","col","inner","getAggregator","countUnique","f","listUnique","join","max","min","first","last","median","average","stdev","tpl","Count","Count Unique Values","List Unique Values","Sum","Integer Sum","Average","Median","Sample Variance","Sample Standard Deviation","Minimum","Maximum","First","Last","Sum over Sum","80% Upper Bound","80% Lower Bound","Sum as Fraction of Total","Sum as Fraction of Rows","Sum as Fraction of Columns","Count as Fraction of Total","Count as Fraction of Rows","Count as Fraction of Columns","Table","Table Barchart","barchart","Heatmap","heatmap","Row Heatmap","Col Heatmap","en","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","cancel","totals","vs","by","number","substr","bin","binWidth","dateFormat","formatString","utcOutput","mthNames","dayNames","utc","date","Date","parse","p","_this","as","bs","a1","b1","nas","nbs","String","match","shift","order","l_mapping","mapping","toLowerCase","isFunction","input","ref3","ref4","ref5","ref6","ref7","ref8","ref9","getRowKeys","getColKeys","sortKeys","arrSort","aggregator","aggregatorName","colAttrs","cols","rowAttrs","rows","valAttrs","rowOrder","colOrder","derivedAttributes","filter","tree","rowKeys","colKeys","rowTotals","colTotals","allTotal","sorted","forEachRecord","processRecord","addRecord","compactRecord","j","k","len1","results","results1","tblCols","isEmptyObject","v","isArray","each","text","Error","prototype","forEachMatchingRecord","criteria","callback","attrs","sortersArr","comparison","r","c","flatColKey","flatRowKey","len2","fromCharCode","agg","pivotUtilities","pivotData","getClickHandler","spanSize","tbody","td","th","thead","totalAggregator","tr","txt","table","clickCallback","rowValues","colValues","filters","e","document","createElement","className","arr","len","noDraw","stop","parseInt","setAttribute","appendChild","textContent","innerHTML","onclick","pivot","inputOpts","locale","localeDefaults","dataClass","renderer","rendererOptions","error","console","stack","html","hasChildNodes","removeChild","lastChild","append","pivotUI","overwrite","attrLength","attrValues","colOrderArrow","existingOpts","fn1","initialRender","len3","materializedInput","o","ordering","pivotTable","recordsProcessed","refresh","refreshDelayed","rendererControl","rowOrderArrow","shownAttributes","shownInAggregators","shownInDragDrop","tr1","tr2","uiTable","unused","unusedAttrsVerticalAutoCutoff","unusedAttrsVerticalAutoOverride","hiddenAttributes","hiddenFromAggregators","hiddenFromDragDrop","menuLimit","exclusions","inclusions","unusedAttrsVertical","autoSortUnusedAttrs","onRefresh","showUI","base","class","addClass","appendTo","attrElem","checkContainer","closeFilterBox","controls","filterItem","filterItemExcluded","finalButtons","hasExcludedItem","placeholder","triangleLink","valueCount","valueList","values","hide","accept","accept_gen","trim","accepted","real_filter","substring","find","parent","show","prop","toggleClass","removeClass","left","top","currentTarget","position","css","key_a_to_z","rowSymbol","colSymbol","next","value_a_to_z","value_z_to_a","role","prepend","inArray","rendererName","len4","newDropdown","numInputsToProcess","pivotUIOptions","pvtVals","subopts","t","u","unusedAttrsContainer","remove","not","excludedItems","inclusionsInfo","children","setTimeout","sortable","update","ui","sender","connectWith","items","scope","colorScaleGenerator","heatmapper","numCols","numRows","nonRed","round","colorScale","forEachCell","elem","barcharter","range","bBase","bgColor","wrapper","height","bottom","right","background-color","padding-left","padding-right","padding","padding-top","text-align"],"mappings":"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","file":"pivot.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 ###\n Utilities\n ###\n\n addSeparators = (nStr, thousandsSep, decimalSep) ->\n nStr += ''\n x = nStr.split('.')\n x1 = x[0]\n x2 = if x.length > 1 then decimalSep + x[1] else ''\n rgx = /(\\d+)(\\d{3})/\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2') while rgx.test(x1)\n return x1 + x2\n\n numberFormat = (opts) ->\n defaults =\n digitsAfterDecimal: 2, scaler: 1,\n thousandsSep: \",\", decimalSep: \".\"\n prefix: \"\", suffix: \"\"\n opts = $.extend({}, defaults, opts)\n (x) ->\n return \"\" if isNaN(x) or not isFinite(x)\n result = addSeparators (opts.scaler*x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep\n return \"\"+opts.prefix+result+opts.suffix\n\n #aggregator templates default to US number formatting but this is overrideable\n usFmt = numberFormat()\n usFmtInt = numberFormat(digitsAfterDecimal: 0)\n usFmtPct = numberFormat(digitsAfterDecimal:1, scaler: 100, suffix: \"%\")\n\n aggregatorTemplates =\n count: (formatter=usFmtInt) -> () -> (data, rowKey, colKey) ->\n count: 0\n push: -> @count++\n value: -> @count\n format: formatter\n\n uniques: (fn, formatter=usFmtInt) -> ([attr]) -> (data, rowKey, colKey) ->\n uniq: []\n push: (record) -> @uniq.push(record[attr]) if record[attr] not in @uniq\n value: -> fn(@uniq)\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sum: (formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n sum: 0\n push: (record) -> @sum += parseFloat(record[attr]) if not isNaN parseFloat(record[attr])\n value: -> @sum\n format: formatter\n numInputs: if attr? then 0 else 1\n\n extremes: (mode, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n val: null\n sorter: getSort(data?.sorters, attr)\n push: (record) ->\n x = record[attr]\n if mode in [\"min\", \"max\"]\n x = parseFloat(x)\n if not isNaN x then @val = Math[mode](x, @val ? x)\n if mode == \"first\" then @val = x if @sorter(x, @val ? x) <= 0\n if mode == \"last\" then @val = x if @sorter(x, @val ? x) >= 0\n value: -> @val\n format: (x) -> if isNaN(x) then x else formatter(x)\n numInputs: if attr? then 0 else 1\n\n quantile: (q, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n vals: []\n push: (record) ->\n x = parseFloat(record[attr])\n @vals.push(x) if not isNaN(x)\n value: ->\n return null if @vals.length == 0\n @vals.sort((a,b) -> a-b)\n i = (@vals.length-1)*q\n return (@vals[Math.floor(i)] + @vals[Math.ceil(i)])/2.0\n format: formatter\n numInputs: if attr? then 0 else 1\n\n runningStat: (mode=\"mean\", ddof=1, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n n: 0.0, m: 0.0, s: 0.0\n push: (record) ->\n x = parseFloat(record[attr])\n return if isNaN(x)\n @n += 1.0\n if @n == 1.0\n @m = x\n else\n m_new = @m + (x - @m)/@n\n @s = @s + (x - @m)*(x - m_new)\n @m = m_new\n value: ->\n if mode == \"mean\"\n return if @n == 0 then 0/0 else @m\n return 0 if @n <= ddof\n switch mode\n when \"var\" then @s/(@n-ddof)\n when \"stdev\" then Math.sqrt(@s/(@n-ddof))\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sumOverSum: (formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: -> @sumNum/@sumDenom\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n sumOverSumBound80: (upper=true, formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: ->\n sign = if upper then 1 else -1\n (0.821187207574908/@sumDenom + @sumNum/@sumDenom + 1.2815515655446004*sign*\n Math.sqrt(0.410593603787454/ (@sumDenom*@sumDenom) + (@sumNum*(1 - @sumNum/ @sumDenom))/ (@sumDenom*@sumDenom)))/\n (1 + 1.642374415149816/@sumDenom)\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n fractionOf: (wrapped, type=\"total\", formatter=usFmtPct) -> (x...) -> (data, rowKey, colKey) ->\n selector: {total:[[],[]],row:[rowKey,[]],col:[[],colKey]}[type]\n inner: wrapped(x...)(data, rowKey, colKey)\n push: (record) -> @inner.push record\n format: formatter\n value: -> @inner.value() / data.getAggregator(@selector...).inner.value()\n numInputs: wrapped(x...)().numInputs\n\n aggregatorTemplates.countUnique = (f) -> aggregatorTemplates.uniques(((x) -> x.length), f)\n aggregatorTemplates.listUnique = (s) -> aggregatorTemplates.uniques(((x) -> x.sort(naturalSort).join(s)), ((x)->x))\n aggregatorTemplates.max = (f) -> aggregatorTemplates.extremes('max', f)\n aggregatorTemplates.min = (f) -> aggregatorTemplates.extremes('min', f)\n aggregatorTemplates.first = (f) -> aggregatorTemplates.extremes('first', f)\n aggregatorTemplates.last = (f) -> aggregatorTemplates.extremes('last', f)\n aggregatorTemplates.median = (f) -> aggregatorTemplates.quantile(0.5, f)\n aggregatorTemplates.average = (f) -> aggregatorTemplates.runningStat(\"mean\", 1, f)\n aggregatorTemplates.var = (ddof, f) -> aggregatorTemplates.runningStat(\"var\", ddof, f)\n aggregatorTemplates.stdev = (ddof, f) -> aggregatorTemplates.runningStat(\"stdev\", ddof, f)\n\n #default aggregators & renderers use US naming and number formatting\n aggregators = do (tpl = aggregatorTemplates) ->\n \"Count\": tpl.count(usFmtInt)\n \"Count Unique Values\": tpl.countUnique(usFmtInt)\n \"List Unique Values\": tpl.listUnique(\", \")\n \"Sum\": tpl.sum(usFmt)\n \"Integer Sum\": tpl.sum(usFmtInt)\n \"Average\": tpl.average(usFmt)\n \"Median\": tpl.median(usFmt)\n \"Sample Variance\": tpl.var(1, usFmt)\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt)\n \"Minimum\": tpl.min(usFmt)\n \"Maximum\": tpl.max(usFmt)\n \"First\": tpl.first(usFmt)\n \"Last\": tpl.last(usFmt)\n \"Sum over Sum\": tpl.sumOverSum(usFmt)\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt)\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt)\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct)\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct)\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct)\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct)\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct)\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n\n renderers =\n \"Table\": (data, opts) -> pivotTableRenderer(data, opts)\n \"Table Barchart\": (data, opts) -> $(pivotTableRenderer(data, opts)).barchart()\n \"Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts)\n \"Row Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts)\n \"Col Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts)\n\n locales =\n en:\n aggregators: aggregators\n renderers: renderers\n localeStrings:\n renderError: \"An error occurred rendering the PivotTable results.\"\n computeError: \"An error occurred computing the PivotTable results.\"\n uiRenderError: \"An error occurred rendering the PivotTable UI.\"\n selectAll: \"Select All\"\n selectNone: \"Select None\"\n tooMany: \"(too many to list)\"\n filterResults: \"Filter values\"\n apply: \"Apply\"\n cancel: \"Cancel\"\n totals: \"Totals\" #for table renderer\n vs: \"vs\" #for gchart renderer\n by: \"by\" #for gchart renderer\n\n #dateFormat deriver l10n requires month and day names to be passed in directly\n mthNamesEn = [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]\n dayNamesEn = [\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]\n zeroPad = (number) -> (\"0\"+number).substr(-2,2)\n\n derivers =\n bin: (col, binWidth) -> (record) -> record[col] - record[col] % binWidth\n dateFormat: (col, formatString, utcOutput=false, mthNames=mthNamesEn, dayNames=dayNamesEn) ->\n utc = if utcOutput then \"UTC\" else \"\"\n (record) -> #thanks http://stackoverflow.com/a/12213072/112871\n date = new Date(Date.parse(record[col]))\n if isNaN(date) then return \"\"\n formatString.replace /%(.)/g, (m, p) ->\n switch p\n when \"y\" then date[\"get#{utc}FullYear\"]()\n when \"m\" then zeroPad(date[\"get#{utc}Month\"]()+1)\n when \"n\" then mthNames[date[\"get#{utc}Month\"]()]\n when \"d\" then zeroPad(date[\"get#{utc}Date\"]())\n when \"w\" then dayNames[date[\"get#{utc}Day\"]()]\n when \"x\" then date[\"get#{utc}Day\"]()\n when \"H\" then zeroPad(date[\"get#{utc}Hours\"]())\n when \"M\" then zeroPad(date[\"get#{utc}Minutes\"]())\n when \"S\" then zeroPad(date[\"get#{utc}Seconds\"]())\n else \"%\" + p\n\n rx = /(\\d+)|(\\D+)/g\n rd = /\\d/\n rz = /^0/\n naturalSort = (as, bs) =>\n #nulls first\n return -1 if bs? and not as?\n return 1 if as? and not bs?\n\n #then raw NaNs\n return -1 if typeof as == \"number\" and isNaN(as)\n return 1 if typeof bs == \"number\" and isNaN(bs)\n\n #numbers and numbery strings group together\n nas = +as\n nbs = +bs\n return -1 if nas < nbs\n return 1 if nas > nbs\n\n #within that, true numbers before numbery strings\n return -1 if typeof as == \"number\" and typeof bs != \"number\"\n return 1 if typeof bs == \"number\" and typeof as != \"number\"\n return 0 if typeof as == \"number\" and typeof bs == \"number\"\n\n # 'Infinity' is a textual number, so less than 'A'\n return -1 if isNaN(nbs) and not isNaN(nas)\n return 1 if isNaN(nas) and not isNaN(nbs)\n\n #finally, \"smart\" string sorting per http://stackoverflow.com/a/4373421/112871\n a = String(as)\n b = String(bs)\n return 0 if a == b\n return (if a > b then 1 else -1) unless rd.test(a) and rd.test(b)\n\n #special treatment for strings containing digits\n a = a.match(rx) #create digits vs non-digit chunks and iterate through\n b = b.match(rx)\n while a.length and b.length\n a1 = a.shift()\n b1 = b.shift()\n if a1 != b1\n if rd.test(a1) and rd.test(b1) #both are digit chunks\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\")\n else\n return (if a1 > b1 then 1 else -1)\n return a.length - b.length\n\n sortAs = (order) ->\n mapping = {}\n l_mapping = {} # sort lowercased keys similarly\n for i, x of order\n mapping[x] = i\n l_mapping[x.toLowerCase()] = i if typeof x == \"string\"\n (a, b) ->\n if mapping[a]? and mapping[b]? then mapping[a] - mapping[b]\n else if mapping[a]? then -1\n else if mapping[b]? then 1\n else if l_mapping[a]? and l_mapping[b]? then l_mapping[a] - l_mapping[b]\n else if l_mapping[a]? then -1\n else if l_mapping[b]? then 1\n else naturalSort(a,b)\n\n getSort = (sorters, attr) ->\n if sorters?\n if $.isFunction(sorters)\n sort = sorters(attr)\n return sort if $.isFunction(sort)\n else if sorters[attr]?\n return sorters[attr]\n return naturalSort\n\n ###\n Data Model class\n ###\n\n class PivotData\n constructor: (input, opts = {}) ->\n @input = input\n @aggregator = opts.aggregator ? aggregatorTemplates.count()()\n @aggregatorName = opts.aggregatorName ? \"Count\"\n @colAttrs = opts.cols ? []\n @rowAttrs = opts.rows ? []\n @valAttrs = opts.vals ? []\n @sorters = opts.sorters ? {}\n @rowOrder = opts.rowOrder ? \"key_a_to_z\"\n @colOrder = opts.colOrder ? \"key_a_to_z\"\n @derivedAttributes = opts.derivedAttributes ? {}\n @filter = opts.filter ? (-> true)\n @tree = {}\n @rowKeys = []\n @colKeys = []\n @rowTotals = {}\n @colTotals = {}\n @allTotal = @aggregator(this, [], [])\n @sorted = false\n\n # iterate through input, accumulating data for cells\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n @processRecord(record) if @filter(record)\n\n #can handle arrays or jQuery selections of tables\n @forEachRecord = (input, derivedAttributes, f) ->\n if $.isEmptyObject derivedAttributes\n addRecord = f\n else\n addRecord = (record) ->\n record[k] = v(record) ? record[k] for k, v of derivedAttributes\n f(record)\n\n #if it's a function, have it call us back\n if $.isFunction(input)\n input(addRecord)\n else if $.isArray(input)\n if $.isArray(input[0]) #array of arrays\n for own i, compactRecord of input when i > 0\n record = {}\n record[k] = compactRecord[j] for own j, k of input[0]\n addRecord(record)\n else #array of objects\n addRecord(record) for record in input\n else if input instanceof $\n tblCols = []\n $(\"thead > tr > th\", input).each (i) -> tblCols.push $(this).text()\n $(\"tbody > tr\", input).each (i) ->\n record = {}\n $(\"td\", this).each (j) -> record[tblCols[j]] = $(this).text()\n addRecord(record)\n else\n throw new Error(\"unknown input format\")\n\n forEachMatchingRecord: (criteria, callback) ->\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n return if not @filter(record)\n for k, v of criteria\n return if v != (record[k] ? \"null\")\n callback(record)\n\n arrSort: (attrs) =>\n sortersArr = (getSort(@sorters, a) for a in attrs)\n (a,b) ->\n for own i, sorter of sortersArr\n comparison = sorter(a[i], b[i])\n return comparison if comparison != 0\n return 0\n\n sortKeys: () =>\n if not @sorted\n @sorted = true\n v = (r,c) => @getAggregator(r,c).value()\n switch @rowOrder\n when \"value_a_to_z\" then @rowKeys.sort (a,b) => naturalSort v(a,[]), v(b,[])\n when \"value_z_to_a\" then @rowKeys.sort (a,b) => -naturalSort v(a,[]), v(b,[])\n else @rowKeys.sort @arrSort(@rowAttrs)\n switch @colOrder\n when \"value_a_to_z\" then @colKeys.sort (a,b) => naturalSort v([],a), v([],b)\n when \"value_z_to_a\" then @colKeys.sort (a,b) => -naturalSort v([],a), v([],b)\n else @colKeys.sort @arrSort(@colAttrs)\n\n getColKeys: () =>\n @sortKeys()\n return @colKeys\n\n getRowKeys: () =>\n @sortKeys()\n return @rowKeys\n\n processRecord: (record) -> #this code is called in a tight loop\n colKey = []\n rowKey = []\n colKey.push record[x] ? \"null\" for x in @colAttrs\n rowKey.push record[x] ? \"null\" for x in @rowAttrs\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n\n @allTotal.push record\n\n if rowKey.length != 0\n if not @rowTotals[flatRowKey]\n @rowKeys.push rowKey\n @rowTotals[flatRowKey] = @aggregator(this, rowKey, [])\n @rowTotals[flatRowKey].push record\n\n if colKey.length != 0\n if not @colTotals[flatColKey]\n @colKeys.push colKey\n @colTotals[flatColKey] = @aggregator(this, [], colKey)\n @colTotals[flatColKey].push record\n\n if colKey.length != 0 and rowKey.length != 0\n if not @tree[flatRowKey]\n @tree[flatRowKey] = {}\n if not @tree[flatRowKey][flatColKey]\n @tree[flatRowKey][flatColKey] = @aggregator(this, rowKey, colKey)\n @tree[flatRowKey][flatColKey].push record\n\n getAggregator: (rowKey, colKey) =>\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n if rowKey.length == 0 and colKey.length == 0\n agg = @allTotal\n else if rowKey.length == 0\n agg = @colTotals[flatColKey]\n else if colKey.length == 0\n agg = @rowTotals[flatRowKey]\n else\n agg = @tree[flatRowKey][flatColKey]\n return agg ? {value: (-> null), format: -> \"\"}\n\n #expose these to the outside world\n $.pivotUtilities = {aggregatorTemplates, aggregators, renderers, derivers, locales,\n naturalSort, numberFormat, sortAs, PivotData}\n\n ###\n Default Renderer for hierarchical table layout\n ###\n\n pivotTableRenderer = (pivotData, opts) ->\n\n defaults =\n table:\n clickCallback: null\n rowTotals: true\n colTotals: true\n localeStrings: totals: \"Totals\"\n\n opts = $.extend(true, {}, defaults, opts)\n\n colAttrs = pivotData.colAttrs\n rowAttrs = pivotData.rowAttrs\n rowKeys = pivotData.getRowKeys()\n colKeys = pivotData.getColKeys()\n\n if opts.table.clickCallback\n getClickHandler = (value, rowValues, colValues) ->\n filters = {}\n filters[attr] = colValues[i] for own i, attr of colAttrs when colValues[i]?\n filters[attr] = rowValues[i] for own i, attr of rowAttrs when rowValues[i]?\n return (e) -> opts.table.clickCallback(e, value, filters, pivotData)\n\n #now actually build the output\n result = document.createElement(\"table\")\n result.className = \"pvtTable\"\n\n #helper function for setting row/col-span in pivotTableRenderer\n spanSize = (arr, i, j) ->\n if i != 0\n noDraw = true\n for x in [0..j]\n if arr[i-1][x] != arr[i][x]\n noDraw = false\n if noDraw\n return -1 #do not draw cell\n len = 0\n while i+len < arr.length\n stop = false\n for x in [0..j]\n stop = true if arr[i][x] != arr[i+len][x]\n break if stop\n len++\n return len\n\n #the first few rows are for col headers\n thead = document.createElement(\"thead\")\n for own j, c of colAttrs\n tr = document.createElement(\"tr\")\n if parseInt(j) == 0 and rowAttrs.length != 0\n th = document.createElement(\"th\")\n th.setAttribute(\"colspan\", rowAttrs.length)\n th.setAttribute(\"rowspan\", colAttrs.length)\n tr.appendChild th\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = c\n tr.appendChild th\n for own i, colKey of colKeys\n x = spanSize(colKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtColLabel\"\n th.textContent = colKey[j]\n th.setAttribute(\"colspan\", x)\n if parseInt(j) == colAttrs.length-1 and rowAttrs.length != 0\n th.setAttribute(\"rowspan\", 2)\n tr.appendChild th\n if parseInt(j) == 0 && opts.table.rowTotals\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"rowspan\", colAttrs.length + (if rowAttrs.length ==0 then 0 else 1))\n tr.appendChild th\n thead.appendChild tr\n\n #then a row for row header headers\n if rowAttrs.length !=0\n tr = document.createElement(\"tr\")\n for own i, r of rowAttrs\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = r\n tr.appendChild th\n th = document.createElement(\"th\")\n if colAttrs.length ==0\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n tr.appendChild th\n thead.appendChild tr\n result.appendChild thead\n\n #now the actual data rows, with their row headers and totals\n tbody = document.createElement(\"tbody\")\n for own i, rowKey of rowKeys\n tr = document.createElement(\"tr\")\n for own j, txt of rowKey\n x = spanSize(rowKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtRowLabel\"\n th.textContent = txt\n th.setAttribute(\"rowspan\", x)\n if parseInt(j) == rowAttrs.length-1 and colAttrs.length !=0\n th.setAttribute(\"colspan\",2)\n tr.appendChild th\n for own j, colKey of colKeys #this is the tight loop\n aggregator = pivotData.getAggregator(rowKey, colKey)\n val = aggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtVal row#{i} col#{j}\"\n td.textContent = aggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, colKey)\n tr.appendChild td\n\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator(rowKey, [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal rowTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, [])\n td.setAttribute(\"data-for\", \"row\"+i)\n tr.appendChild td\n tbody.appendChild tr\n\n #finally, the row for col totals, and a grand total\n if opts.table.colTotals || rowAttrs.length == 0\n tr = document.createElement(\"tr\")\n if opts.table.colTotals || rowAttrs.length == 0\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtColTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"colspan\", rowAttrs.length + (if colAttrs.length == 0 then 0 else 1))\n tr.appendChild th\n for own j, colKey of colKeys\n totalAggregator = pivotData.getAggregator([], colKey)\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal colTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], colKey)\n td.setAttribute(\"data-for\", \"col\"+j)\n tr.appendChild td\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator([], [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtGrandTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], [])\n tr.appendChild td\n tbody.appendChild tr\n result.appendChild tbody\n\n #squirrel this away for later\n result.setAttribute(\"data-numrows\", rowKeys.length)\n result.setAttribute(\"data-numcols\", colKeys.length)\n\n return result\n\n ###\n Pivot Table core: create PivotData object and call Renderer on it\n ###\n\n $.fn.pivot = (input, inputOpts, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n cols : [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n filter: -> true\n aggregator: aggregatorTemplates.count()()\n aggregatorName: \"Count\"\n sorters: {}\n derivedAttributes: {}\n renderer: pivotTableRenderer\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n\n result = null\n try\n pivotData = new opts.dataClass(input, opts)\n try\n result = opts.renderer(pivotData, opts.rendererOptions)\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.renderError\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.computeError\n\n x = this[0]\n x.removeChild(x.lastChild) while x.hasChildNodes()\n return @append result\n\n\n ###\n Pivot Table UI: calls Pivot Table core above with options set by user\n ###\n\n $.fn.pivotUI = (input, inputOpts, overwrite = false, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n derivedAttributes: {}\n aggregators: locales[locale].aggregators\n renderers: locales[locale].renderers\n hiddenAttributes: []\n hiddenFromAggregators: []\n hiddenFromDragDrop: []\n menuLimit: 500\n cols: [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n exclusions: {}\n inclusions: {}\n unusedAttrsVertical: 85\n autoSortUnusedAttrs: false\n onRefresh: null\n showUI: true\n filter: -> true\n sorters: {}\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n existingOpts = @data \"pivotUIOptions\"\n if not existingOpts? or overwrite\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n else\n opts = existingOpts\n\n try\n # do a first pass on the data to cache a materialized copy of any\n # function-valued inputs and to compute dimension cardinalities\n attrValues = {}\n materializedInput = []\n recordsProcessed = 0\n PivotData.forEachRecord input, opts.derivedAttributes, (record) ->\n return unless opts.filter(record)\n materializedInput.push(record)\n for own attr of record\n if not attrValues[attr]?\n attrValues[attr] = {}\n if recordsProcessed > 0\n attrValues[attr][\"null\"] = recordsProcessed\n for attr of attrValues\n value = record[attr] ? \"null\"\n attrValues[attr][value] ?= 0\n attrValues[attr][value]++\n recordsProcessed++\n\n #start building the output\n uiTable = $(\"\", \"class\": \"pvtUi\").attr(\"cellpadding\", 5)\n\n #renderer control\n rendererControl = $(\"\").addClass(\"pvtUiCell\")\n\n renderer = $(\"\")\n .addClass('pvtRenderer')\n .appendTo(rendererControl)\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.renderers\n $(\"\").val(x).html(x).appendTo(renderer)\n\n\n #axis list, including the double-click menu\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell')\n shownAttributes = (a for a of attrValues when a not in opts.hiddenAttributes)\n shownInAggregators = (c for c in shownAttributes when c not in opts.hiddenFromAggregators)\n shownInDragDrop = (c for c in shownAttributes when c not in opts.hiddenFromDragDrop)\n\n\n unusedAttrsVerticalAutoOverride = false\n if opts.unusedAttrsVertical == \"auto\"\n unusedAttrsVerticalAutoCutoff = 120 # legacy support\n else\n unusedAttrsVerticalAutoCutoff = parseInt opts.unusedAttrsVertical\n\n if not isNaN(unusedAttrsVerticalAutoCutoff)\n attrLength = 0\n attrLength += a.length for a in shownInDragDrop\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff\n\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n unused.addClass('pvtVertList')\n else\n unused.addClass('pvtHorizList')\n\n for own i, attr of shownInDragDrop\n do (attr) ->\n values = (v for v of attrValues[attr])\n hasExcludedItem = false\n valueList = $(\"\").addClass('pvtFilterBox').hide()\n\n valueList.append $(\"\").append(\n $(\"\").text(attr),\n $(\"\").addClass(\"count\").text(\"(#{values.length})\"),\n )\n if values.length > opts.menuLimit\n valueList.append $(\"\").html(opts.localeStrings.tooMany)\n else\n if values.length > 5\n controls = $(\"\").appendTo(valueList)\n sorter = getSort(opts.sorters, attr)\n placeholder = opts.localeStrings.filterResults\n $(\"\", {type: \"text\"}).appendTo(controls)\n .attr({placeholder: placeholder, class: \"pvtSearch\"})\n .bind \"keyup\", ->\n filter = $(this).val().toLowerCase().trim()\n accept_gen = (prefix, accepted) -> (v) ->\n real_filter = filter.substring(prefix.length).trim()\n return true if real_filter.length == 0\n return Math.sign(sorter(v.toLowerCase(), real_filter)) in accepted\n accept =\n if filter.indexOf(\">=\") == 0 then accept_gen(\">=\", [1,0])\n else if filter.indexOf(\"<=\") == 0 then accept_gen(\"<=\", [-1,0])\n else if filter.indexOf(\">\") == 0 then accept_gen(\">\", [1])\n else if filter.indexOf(\"<\") == 0 then accept_gen(\"<\", [-1])\n else if filter.indexOf(\"~\") == 0 then (v) ->\n return true if filter.substring(1).trim().length == 0\n v.toLowerCase().match(filter.substring(1))\n else (v) -> v.toLowerCase().indexOf(filter) != -1\n\n valueList.find('.pvtCheckContainer p label span.value').each ->\n if accept($(this).text())\n $(this).parent().parent().show()\n else\n $(this).parent().parent().hide()\n controls.append $(\"\")\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectAll)\n .bind \"click\", ->\n valueList.find(\"input:visible:not(:checked)\")\n .prop(\"checked\", true).toggleClass(\"changed\")\n return false\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectNone)\n .bind \"click\", ->\n valueList.find(\"input:visible:checked\")\n .prop(\"checked\", false).toggleClass(\"changed\")\n return false\n\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList)\n\n for value in values.sort(getSort(opts.sorters, attr))\n valueCount = attrValues[attr][value]\n filterItem = $(\"\")\n filterItemExcluded = false\n if opts.inclusions[attr]\n filterItemExcluded = (value not in opts.inclusions[attr])\n else if opts.exclusions[attr]\n filterItemExcluded = (value in opts.exclusions[attr])\n hasExcludedItem ||= filterItemExcluded\n $(\"\")\n .attr(\"type\", \"checkbox\").addClass('pvtFilter')\n .attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr,value])\n .appendTo(filterItem)\n .bind \"change\", -> $(this).toggleClass(\"changed\")\n filterItem.append $(\"\").addClass(\"value\").text(value)\n filterItem.append $(\"\").addClass(\"count\").text(\"(\"+valueCount+\")\")\n checkContainer.append $(\"\").append(filterItem)\n\n closeFilterBox = ->\n if valueList.find(\"[type='checkbox']\").length >\n valueList.find(\"[type='checkbox']:checked\").length\n attrElem.addClass \"pvtFilteredAttribute\"\n else\n attrElem.removeClass \"pvtFilteredAttribute\"\n\n valueList.find('.pvtSearch').val('')\n valueList.find('.pvtCheckContainer p').show()\n valueList.hide()\n\n finalButtons = $(\"\").appendTo(valueList)\n\n if values.length <= opts.menuLimit\n $(\"\", {type: \"button\"}).text(opts.localeStrings.apply)\n .appendTo(finalButtons).bind \"click\", ->\n if valueList.find(\".changed\").removeClass(\"changed\").length\n refresh()\n closeFilterBox()\n\n $(\"\", {type: \"button\"}).text(opts.localeStrings.cancel)\n .appendTo(finalButtons).bind \"click\", ->\n valueList.find(\".changed:checked\")\n .removeClass(\"changed\").prop(\"checked\", false)\n valueList.find(\".changed:not(:checked)\")\n .removeClass(\"changed\").prop(\"checked\", true)\n closeFilterBox()\n\n triangleLink = $(\"\").addClass('pvtTriangle')\n .html(\" ▾\").bind \"click\", (e) ->\n {left, top} = $(e.currentTarget).position()\n valueList.css(left: left+10, top: top+10).show()\n\n attrElem = $(\"\").addClass(\"axis_#{i}\")\n .append $(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink)\n\n attrElem.addClass('pvtFilteredAttribute') if hasExcludedItem\n unused.append(attrElem).append(valueList)\n\n tr1 = $(\"\").appendTo(uiTable)\n\n #aggregator menu and value area\n\n aggregator = $(\"\").addClass('pvtAggregator')\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.aggregators\n aggregator.append $(\"\").val(x).html(x)\n\n ordering =\n key_a_to_z: {rowSymbol: \"↕\", colSymbol: \"↔\", next: \"value_a_to_z\"}\n value_a_to_z: {rowSymbol: \"↓\", colSymbol: \"→\", next: \"value_z_to_a\"}\n value_z_to_a: {rowSymbol: \"↑\", colSymbol: \"←\", next: \"key_a_to_z\"}\n\n rowOrderArrow = $(\"\", role: \"button\").addClass(\"pvtRowOrder\")\n .data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol)\n refresh()\n\n colOrderArrow = $(\"\", role: \"button\").addClass(\"pvtColOrder\")\n .data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].colSymbol)\n refresh()\n\n $(\"\").addClass('pvtVals pvtUiCell')\n .appendTo(tr1)\n .append(aggregator)\n .append(rowOrderArrow)\n .append(colOrderArrow)\n .append($(\"\"))\n\n #column axes\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1)\n\n tr2 = $(\"\").appendTo(uiTable)\n\n #row axes\n tr2.append $(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\")\n\n #the actual pivot table container\n pivotTable = $(\"\")\n .attr(\"valign\", \"top\")\n .addClass('pvtRendererArea')\n .appendTo(tr2)\n\n #finally the renderer dropdown and unused attribs are inserted at the requested location\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n uiTable.find('tr:nth-child(1)').prepend rendererControl\n uiTable.find('tr:nth-child(2)').prepend unused\n else\n uiTable.prepend $(\"\").append(rendererControl).append(unused)\n\n #render the UI in its default state\n @html uiTable\n\n #set up the UI initial state as requested by moving elements around\n\n for x in opts.cols\n @find(\".pvtCols\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n for x in opts.rows\n @find(\".pvtRows\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n if opts.aggregatorName?\n @find(\".pvtAggregator\").val opts.aggregatorName\n if opts.rendererName?\n @find(\".pvtRenderer\").val opts.rendererName\n\n @find(\".pvtUiCell\").hide() unless opts.showUI\n\n initialRender = true\n\n #set up for refreshing\n refreshDelayed = =>\n subopts =\n derivedAttributes: opts.derivedAttributes\n localeStrings: opts.localeStrings\n rendererOptions: opts.rendererOptions\n sorters: opts.sorters\n cols: [], rows: []\n dataClass: opts.dataClass\n\n numInputsToProcess = opts.aggregators[aggregator.val()]([])().numInputs ? 0\n vals = []\n @find(\".pvtRows li span.pvtAttr\").each -> subopts.rows.push $(this).data(\"attrName\")\n @find(\".pvtCols li span.pvtAttr\").each -> subopts.cols.push $(this).data(\"attrName\")\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n if numInputsToProcess == 0\n $(this).remove()\n else\n numInputsToProcess--\n vals.push $(this).val() if $(this).val() != \"\"\n\n if numInputsToProcess != 0\n pvtVals = @find(\".pvtVals\")\n for x in [0...numInputsToProcess]\n newDropdown = $(\"\")\n .addClass('pvtAttrDropdown')\n .append($(\"\"))\n .bind \"change\", -> refresh()\n for attr in shownInAggregators\n newDropdown.append($(\"\").val(attr).text(attr))\n pvtVals.append(newDropdown)\n\n if initialRender\n vals = opts.vals\n i = 0\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n $(this).val vals[i]\n i++\n initialRender = false\n\n subopts.aggregatorName = aggregator.val()\n subopts.vals = vals\n subopts.aggregator = opts.aggregators[aggregator.val()](vals)\n subopts.renderer = opts.renderers[renderer.val()]\n subopts.rowOrder = rowOrderArrow.data(\"order\")\n subopts.colOrder = colOrderArrow.data(\"order\")\n #construct filter here\n exclusions = {}\n @find('input.pvtFilter').not(':checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n exclusions[filter[0]].push( filter[1] )\n else\n exclusions[filter[0]] = [ filter[1] ]\n #include inclusions when exclusions present\n inclusions = {}\n @find('input.pvtFilter:checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n if inclusions[filter[0]]?\n inclusions[filter[0]].push( filter[1] )\n else\n inclusions[filter[0]] = [ filter[1] ]\n\n subopts.filter = (record) ->\n return false if not opts.filter(record)\n for k,excludedItems of exclusions\n return false if \"\"+(record[k] ? 'null') in excludedItems\n return true\n\n pivotTable.pivot(materializedInput,subopts)\n pivotUIOptions = $.extend {}, opts,\n cols: subopts.cols\n rows: subopts.rows\n colOrder: subopts.colOrder\n rowOrder: subopts.rowOrder\n vals: vals\n exclusions: exclusions\n inclusions: inclusions\n inclusionsInfo: inclusions #duplicated for backwards-compatibility\n aggregatorName: aggregator.val()\n rendererName: renderer.val()\n\n @data \"pivotUIOptions\", pivotUIOptions\n\n # if requested make sure unused columns are in alphabetical order\n if opts.autoSortUnusedAttrs\n unusedAttrsContainer = @find(\"td.pvtUnused.pvtAxisContainer\")\n $(unusedAttrsContainer).children(\"li\")\n .sort((a, b) => naturalSort($(a).text(), $(b).text()))\n .appendTo unusedAttrsContainer\n\n pivotTable.css(\"opacity\", 1)\n opts.onRefresh(pivotUIOptions) if opts.onRefresh?\n\n refresh = =>\n pivotTable.css(\"opacity\", 0.5)\n setTimeout refreshDelayed, 10\n\n #the very first refresh will actually display the table\n refresh()\n\n @find(\".pvtAxisContainer\").sortable\n update: (e, ui) -> refresh() if not ui.sender?\n connectWith: @find(\".pvtAxisContainer\")\n items: 'li'\n placeholder: 'pvtPlaceholder'\n catch e\n console.error(e.stack) if console?\n @html opts.localeStrings.uiRenderError\n return this\n\n ###\n Heatmap post-processing\n ###\n\n $.fn.heatmap = (scope = \"heatmap\", opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n # given a series of values\n # must return a function to map a given value to a CSS color\n colorScaleGenerator = opts?.heatmap?.colorScaleGenerator\n colorScaleGenerator ?= (values) ->\n min = Math.min(values...)\n max = Math.max(values...)\n return (x) ->\n nonRed = 255 - Math.round 255*(x-min)/(max-min)\n return \"rgb(255,#{nonRed},#{nonRed})\"\n\n heatmapper = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n colorScale = colorScaleGenerator(values)\n forEachCell (x, elem) -> elem.css \"background-color\", colorScale(x)\n\n switch scope\n when \"heatmap\" then heatmapper \".pvtVal\"\n when \"rowheatmap\" then heatmapper \".pvtVal.row#{i}\" for i in [0...numRows]\n when \"colheatmap\" then heatmapper \".pvtVal.col#{j}\" for j in [0...numCols]\n\n heatmapper \".pvtTotal.rowTotal\"\n heatmapper \".pvtTotal.colTotal\"\n\n return this\n\n ###\n Barchart post-processing\n ###\n\n $.fn.barchart = (opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n barcharter = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n max = Math.max(values...)\n if max < 0\n max = 0\n range = max;\n min = Math.min(values...)\n if min < 0\n range = max - min\n scaler = (x) -> 100*x/(1.4*range)\n forEachCell (x, elem) ->\n text = elem.text()\n wrapper = $(\"\").css\n \"position\": \"relative\"\n \"height\": \"55px\"\n bgColor = \"gray\"\n bBase = 0\n if min < 0\n bBase = scaler(-min)\n if x < 0\n bBase += scaler(x)\n bgColor = \"darkred\"\n x = -x\n wrapper.append $(\"\").css\n \"position\": \"absolute\"\n \"bottom\": bBase + \"%\"\n \"left\": 0\n \"right\": 0\n \"height\": scaler(x) + \"%\"\n \"background-color\": bgColor\n wrapper.append $(\"\").text(text).css\n \"position\":\"relative\"\n \"padding-left\":\"5px\"\n \"padding-right\":\"5px\"\n\n elem.css(\"padding\": 0,\"padding-top\": \"5px\", \"text-align\": \"center\").html wrapper\n\n barcharter \".pvtVal.row#{i}\" for i in [0...numRows]\n barcharter \".pvtTotal.colTotal\"\n\n return this\n","(function() {\n var callWithJQuery,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },\n slice = [].slice,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n hasProp = {}.hasOwnProperty;\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\n /*\n Utilities\n */\n var PivotData, addSeparators, aggregatorTemplates, aggregators, dayNamesEn, derivers, getSort, locales, mthNamesEn, naturalSort, numberFormat, pivotTableRenderer, rd, renderers, rx, rz, sortAs, usFmt, usFmtInt, usFmtPct, zeroPad;\n addSeparators = function(nStr, thousandsSep, decimalSep) {\n var rgx, x, x1, x2;\n nStr += '';\n x = nStr.split('.');\n x1 = x[0];\n x2 = x.length > 1 ? decimalSep + x[1] : '';\n rgx = /(\\d+)(\\d{3})/;\n while (rgx.test(x1)) {\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2');\n }\n return x1 + x2;\n };\n numberFormat = function(opts) {\n var defaults;\n defaults = {\n digitsAfterDecimal: 2,\n scaler: 1,\n thousandsSep: \",\",\n decimalSep: \".\",\n prefix: \"\",\n suffix: \"\"\n };\n opts = $.extend({}, defaults, opts);\n return function(x) {\n var result;\n if (isNaN(x) || !isFinite(x)) {\n return \"\";\n }\n result = addSeparators((opts.scaler * x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep);\n return \"\" + opts.prefix + result + opts.suffix;\n };\n };\n usFmt = numberFormat();\n usFmtInt = numberFormat({\n digitsAfterDecimal: 0\n });\n usFmtPct = numberFormat({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\"\n });\n aggregatorTemplates = {\n count: function(formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function() {\n return function(data, rowKey, colKey) {\n return {\n count: 0,\n push: function() {\n return this.count++;\n },\n value: function() {\n return this.count;\n },\n format: formatter\n };\n };\n };\n },\n uniques: function(fn, formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n uniq: [],\n push: function(record) {\n var ref;\n if (ref = record[attr], indexOf.call(this.uniq, ref) < 0) {\n return this.uniq.push(record[attr]);\n }\n },\n value: function() {\n return fn(this.uniq);\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n sum: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[attr]))) {\n return this.sum += parseFloat(record[attr]);\n }\n },\n value: function() {\n return this.sum;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n extremes: function(mode, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n val: null,\n sorter: getSort(data != null ? data.sorters : void 0, attr),\n push: function(record) {\n var ref, ref1, ref2, x;\n x = record[attr];\n if (mode === \"min\" || mode === \"max\") {\n x = parseFloat(x);\n if (!isNaN(x)) {\n this.val = Math[mode](x, (ref = this.val) != null ? ref : x);\n }\n }\n if (mode === \"first\") {\n if (this.sorter(x, (ref1 = this.val) != null ? ref1 : x) <= 0) {\n this.val = x;\n }\n }\n if (mode === \"last\") {\n if (this.sorter(x, (ref2 = this.val) != null ? ref2 : x) >= 0) {\n return this.val = x;\n }\n }\n },\n value: function() {\n return this.val;\n },\n format: function(x) {\n if (isNaN(x)) {\n return x;\n } else {\n return formatter(x);\n }\n },\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n quantile: function(q, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n vals: [],\n push: function(record) {\n var x;\n x = parseFloat(record[attr]);\n if (!isNaN(x)) {\n return this.vals.push(x);\n }\n },\n value: function() {\n var i;\n if (this.vals.length === 0) {\n return null;\n }\n this.vals.sort(function(a, b) {\n return a - b;\n });\n i = (this.vals.length - 1) * q;\n return (this.vals[Math.floor(i)] + this.vals[Math.ceil(i)]) / 2.0;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n runningStat: function(mode, ddof, formatter) {\n if (mode == null) {\n mode = \"mean\";\n }\n if (ddof == null) {\n ddof = 1;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n n: 0.0,\n m: 0.0,\n s: 0.0,\n push: function(record) {\n var m_new, x;\n x = parseFloat(record[attr]);\n if (isNaN(x)) {\n return;\n }\n this.n += 1.0;\n if (this.n === 1.0) {\n return this.m = x;\n } else {\n m_new = this.m + (x - this.m) / this.n;\n this.s = this.s + (x - this.m) * (x - m_new);\n return this.m = m_new;\n }\n },\n value: function() {\n if (mode === \"mean\") {\n if (this.n === 0) {\n return 0 / 0;\n } else {\n return this.m;\n }\n }\n if (this.n <= ddof) {\n return 0;\n }\n switch (mode) {\n case \"var\":\n return this.s / (this.n - ddof);\n case \"stdev\":\n return Math.sqrt(this.s / (this.n - ddof));\n }\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sumOverSum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n return this.sumNum / this.sumDenom;\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n sumOverSumBound80: function(upper, formatter) {\n if (upper == null) {\n upper = true;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n var sign;\n sign = upper ? 1 : -1;\n return (0.821187207574908 / this.sumDenom + this.sumNum / this.sumDenom + 1.2815515655446004 * sign * Math.sqrt(0.410593603787454 / (this.sumDenom * this.sumDenom) + (this.sumNum * (1 - this.sumNum / this.sumDenom)) / (this.sumDenom * this.sumDenom))) / (1 + 1.642374415149816 / this.sumDenom);\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n fractionOf: function(wrapped, type, formatter) {\n if (type == null) {\n type = \"total\";\n }\n if (formatter == null) {\n formatter = usFmtPct;\n }\n return function() {\n var x;\n x = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return function(data, rowKey, colKey) {\n return {\n selector: {\n total: [[], []],\n row: [rowKey, []],\n col: [[], colKey]\n }[type],\n inner: wrapped.apply(null, x)(data, rowKey, colKey),\n push: function(record) {\n return this.inner.push(record);\n },\n format: formatter,\n value: function() {\n return this.inner.value() / data.getAggregator.apply(data, this.selector).inner.value();\n },\n numInputs: wrapped.apply(null, x)().numInputs\n };\n };\n };\n }\n };\n aggregatorTemplates.countUnique = function(f) {\n return aggregatorTemplates.uniques((function(x) {\n return x.length;\n }), f);\n };\n aggregatorTemplates.listUnique = function(s) {\n return aggregatorTemplates.uniques((function(x) {\n return x.sort(naturalSort).join(s);\n }), (function(x) {\n return x;\n }));\n };\n aggregatorTemplates.max = function(f) {\n return aggregatorTemplates.extremes('max', f);\n };\n aggregatorTemplates.min = function(f) {\n return aggregatorTemplates.extremes('min', f);\n };\n aggregatorTemplates.first = function(f) {\n return aggregatorTemplates.extremes('first', f);\n };\n aggregatorTemplates.last = function(f) {\n return aggregatorTemplates.extremes('last', f);\n };\n aggregatorTemplates.median = function(f) {\n return aggregatorTemplates.quantile(0.5, f);\n };\n aggregatorTemplates.average = function(f) {\n return aggregatorTemplates.runningStat(\"mean\", 1, f);\n };\n aggregatorTemplates[\"var\"] = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"var\", ddof, f);\n };\n aggregatorTemplates.stdev = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"stdev\", ddof, f);\n };\n aggregators = (function(tpl) {\n return {\n \"Count\": tpl.count(usFmtInt),\n \"Count Unique Values\": tpl.countUnique(usFmtInt),\n \"List Unique Values\": tpl.listUnique(\", \"),\n \"Sum\": tpl.sum(usFmt),\n \"Integer Sum\": tpl.sum(usFmtInt),\n \"Average\": tpl.average(usFmt),\n \"Median\": tpl.median(usFmt),\n \"Sample Variance\": tpl[\"var\"](1, usFmt),\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt),\n \"Minimum\": tpl.min(usFmt),\n \"Maximum\": tpl.max(usFmt),\n \"First\": tpl.first(usFmt),\n \"Last\": tpl.last(usFmt),\n \"Sum over Sum\": tpl.sumOverSum(usFmt),\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt),\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt),\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct),\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct),\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct),\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct),\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct),\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n };\n })(aggregatorTemplates);\n renderers = {\n \"Table\": function(data, opts) {\n return pivotTableRenderer(data, opts);\n },\n \"Table Barchart\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).barchart();\n },\n \"Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts);\n },\n \"Row Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts);\n },\n \"Col Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts);\n }\n };\n locales = {\n en: {\n aggregators: aggregators,\n renderers: renderers,\n localeStrings: {\n renderError: \"An error occurred rendering the PivotTable results.\",\n computeError: \"An error occurred computing the PivotTable results.\",\n uiRenderError: \"An error occurred rendering the PivotTable UI.\",\n selectAll: \"Select All\",\n selectNone: \"Select None\",\n tooMany: \"(too many to list)\",\n filterResults: \"Filter values\",\n apply: \"Apply\",\n cancel: \"Cancel\",\n totals: \"Totals\",\n vs: \"vs\",\n by: \"by\"\n }\n }\n };\n mthNamesEn = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n dayNamesEn = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n zeroPad = function(number) {\n return (\"0\" + number).substr(-2, 2);\n };\n derivers = {\n bin: function(col, binWidth) {\n return function(record) {\n return record[col] - record[col] % binWidth;\n };\n },\n dateFormat: function(col, formatString, utcOutput, mthNames, dayNames) {\n var utc;\n if (utcOutput == null) {\n utcOutput = false;\n }\n if (mthNames == null) {\n mthNames = mthNamesEn;\n }\n if (dayNames == null) {\n dayNames = dayNamesEn;\n }\n utc = utcOutput ? \"UTC\" : \"\";\n return function(record) {\n var date;\n date = new Date(Date.parse(record[col]));\n if (isNaN(date)) {\n return \"\";\n }\n return formatString.replace(/%(.)/g, function(m, p) {\n switch (p) {\n case \"y\":\n return date[\"get\" + utc + \"FullYear\"]();\n case \"m\":\n return zeroPad(date[\"get\" + utc + \"Month\"]() + 1);\n case \"n\":\n return mthNames[date[\"get\" + utc + \"Month\"]()];\n case \"d\":\n return zeroPad(date[\"get\" + utc + \"Date\"]());\n case \"w\":\n return dayNames[date[\"get\" + utc + \"Day\"]()];\n case \"x\":\n return date[\"get\" + utc + \"Day\"]();\n case \"H\":\n return zeroPad(date[\"get\" + utc + \"Hours\"]());\n case \"M\":\n return zeroPad(date[\"get\" + utc + \"Minutes\"]());\n case \"S\":\n return zeroPad(date[\"get\" + utc + \"Seconds\"]());\n default:\n return \"%\" + p;\n }\n });\n };\n }\n };\n rx = /(\\d+)|(\\D+)/g;\n rd = /\\d/;\n rz = /^0/;\n naturalSort = (function(_this) {\n return function(as, bs) {\n var a, a1, b, b1, nas, nbs;\n if ((bs != null) && (as == null)) {\n return -1;\n }\n if ((as != null) && (bs == null)) {\n return 1;\n }\n if (typeof as === \"number\" && isNaN(as)) {\n return -1;\n }\n if (typeof bs === \"number\" && isNaN(bs)) {\n return 1;\n }\n nas = +as;\n nbs = +bs;\n if (nas < nbs) {\n return -1;\n }\n if (nas > nbs) {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs !== \"number\") {\n return -1;\n }\n if (typeof bs === \"number\" && typeof as !== \"number\") {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs === \"number\") {\n return 0;\n }\n if (isNaN(nbs) && !isNaN(nas)) {\n return -1;\n }\n if (isNaN(nas) && !isNaN(nbs)) {\n return 1;\n }\n a = String(as);\n b = String(bs);\n if (a === b) {\n return 0;\n }\n if (!(rd.test(a) && rd.test(b))) {\n return (a > b ? 1 : -1);\n }\n a = a.match(rx);\n b = b.match(rx);\n while (a.length && b.length) {\n a1 = a.shift();\n b1 = b.shift();\n if (a1 !== b1) {\n if (rd.test(a1) && rd.test(b1)) {\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\");\n } else {\n return (a1 > b1 ? 1 : -1);\n }\n }\n }\n return a.length - b.length;\n };\n })(this);\n sortAs = function(order) {\n var i, l_mapping, mapping, x;\n mapping = {};\n l_mapping = {};\n for (i in order) {\n x = order[i];\n mapping[x] = i;\n if (typeof x === \"string\") {\n l_mapping[x.toLowerCase()] = i;\n }\n }\n return function(a, b) {\n if ((mapping[a] != null) && (mapping[b] != null)) {\n return mapping[a] - mapping[b];\n } else if (mapping[a] != null) {\n return -1;\n } else if (mapping[b] != null) {\n return 1;\n } else if ((l_mapping[a] != null) && (l_mapping[b] != null)) {\n return l_mapping[a] - l_mapping[b];\n } else if (l_mapping[a] != null) {\n return -1;\n } else if (l_mapping[b] != null) {\n return 1;\n } else {\n return naturalSort(a, b);\n }\n };\n };\n getSort = function(sorters, attr) {\n var sort;\n if (sorters != null) {\n if ($.isFunction(sorters)) {\n sort = sorters(attr);\n if ($.isFunction(sort)) {\n return sort;\n }\n } else if (sorters[attr] != null) {\n return sorters[attr];\n }\n }\n return naturalSort;\n };\n\n /*\n Data Model class\n */\n PivotData = (function() {\n function PivotData(input, opts) {\n var ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9;\n if (opts == null) {\n opts = {};\n }\n this.getAggregator = bind(this.getAggregator, this);\n this.getRowKeys = bind(this.getRowKeys, this);\n this.getColKeys = bind(this.getColKeys, this);\n this.sortKeys = bind(this.sortKeys, this);\n this.arrSort = bind(this.arrSort, this);\n this.input = input;\n this.aggregator = (ref = opts.aggregator) != null ? ref : aggregatorTemplates.count()();\n this.aggregatorName = (ref1 = opts.aggregatorName) != null ? ref1 : \"Count\";\n this.colAttrs = (ref2 = opts.cols) != null ? ref2 : [];\n this.rowAttrs = (ref3 = opts.rows) != null ? ref3 : [];\n this.valAttrs = (ref4 = opts.vals) != null ? ref4 : [];\n this.sorters = (ref5 = opts.sorters) != null ? ref5 : {};\n this.rowOrder = (ref6 = opts.rowOrder) != null ? ref6 : \"key_a_to_z\";\n this.colOrder = (ref7 = opts.colOrder) != null ? ref7 : \"key_a_to_z\";\n this.derivedAttributes = (ref8 = opts.derivedAttributes) != null ? ref8 : {};\n this.filter = (ref9 = opts.filter) != null ? ref9 : (function() {\n return true;\n });\n this.tree = {};\n this.rowKeys = [];\n this.colKeys = [];\n this.rowTotals = {};\n this.colTotals = {};\n this.allTotal = this.aggregator(this, [], []);\n this.sorted = false;\n PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n if (_this.filter(record)) {\n return _this.processRecord(record);\n }\n };\n })(this));\n }\n\n PivotData.forEachRecord = function(input, derivedAttributes, f) {\n var addRecord, compactRecord, i, j, k, l, len1, record, ref, results, results1, tblCols;\n if ($.isEmptyObject(derivedAttributes)) {\n addRecord = f;\n } else {\n addRecord = function(record) {\n var k, ref, v;\n for (k in derivedAttributes) {\n v = derivedAttributes[k];\n record[k] = (ref = v(record)) != null ? ref : record[k];\n }\n return f(record);\n };\n }\n if ($.isFunction(input)) {\n return input(addRecord);\n } else if ($.isArray(input)) {\n if ($.isArray(input[0])) {\n results = [];\n for (i in input) {\n if (!hasProp.call(input, i)) continue;\n compactRecord = input[i];\n if (!(i > 0)) {\n continue;\n }\n record = {};\n ref = input[0];\n for (j in ref) {\n if (!hasProp.call(ref, j)) continue;\n k = ref[j];\n record[k] = compactRecord[j];\n }\n results.push(addRecord(record));\n }\n return results;\n } else {\n results1 = [];\n for (l = 0, len1 = input.length; l < len1; l++) {\n record = input[l];\n results1.push(addRecord(record));\n }\n return results1;\n }\n } else if (input instanceof $) {\n tblCols = [];\n $(\"thead > tr > th\", input).each(function(i) {\n return tblCols.push($(this).text());\n });\n return $(\"tbody > tr\", input).each(function(i) {\n record = {};\n $(\"td\", this).each(function(j) {\n return record[tblCols[j]] = $(this).text();\n });\n return addRecord(record);\n });\n } else {\n throw new Error(\"unknown input format\");\n }\n };\n\n PivotData.prototype.forEachMatchingRecord = function(criteria, callback) {\n return PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n var k, ref, v;\n if (!_this.filter(record)) {\n return;\n }\n for (k in criteria) {\n v = criteria[k];\n if (v !== ((ref = record[k]) != null ? ref : \"null\")) {\n return;\n }\n }\n return callback(record);\n };\n })(this));\n };\n\n PivotData.prototype.arrSort = function(attrs) {\n var a, sortersArr;\n sortersArr = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = attrs.length; l < len1; l++) {\n a = attrs[l];\n results.push(getSort(this.sorters, a));\n }\n return results;\n }).call(this);\n return function(a, b) {\n var comparison, i, sorter;\n for (i in sortersArr) {\n if (!hasProp.call(sortersArr, i)) continue;\n sorter = sortersArr[i];\n comparison = sorter(a[i], b[i]);\n if (comparison !== 0) {\n return comparison;\n }\n }\n return 0;\n };\n };\n\n PivotData.prototype.sortKeys = function() {\n var v;\n if (!this.sorted) {\n this.sorted = true;\n v = (function(_this) {\n return function(r, c) {\n return _this.getAggregator(r, c).value();\n };\n })(this);\n switch (this.rowOrder) {\n case \"value_a_to_z\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n case \"value_z_to_a\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n default:\n this.rowKeys.sort(this.arrSort(this.rowAttrs));\n }\n switch (this.colOrder) {\n case \"value_a_to_z\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v([], a), v([], b));\n };\n })(this));\n case \"value_z_to_a\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v([], a), v([], b));\n };\n })(this));\n default:\n return this.colKeys.sort(this.arrSort(this.colAttrs));\n }\n }\n };\n\n PivotData.prototype.getColKeys = function() {\n this.sortKeys();\n return this.colKeys;\n };\n\n PivotData.prototype.getRowKeys = function() {\n this.sortKeys();\n return this.rowKeys;\n };\n\n PivotData.prototype.processRecord = function(record) {\n var colKey, flatColKey, flatRowKey, l, len1, len2, n, ref, ref1, ref2, ref3, rowKey, x;\n colKey = [];\n rowKey = [];\n ref = this.colAttrs;\n for (l = 0, len1 = ref.length; l < len1; l++) {\n x = ref[l];\n colKey.push((ref1 = record[x]) != null ? ref1 : \"null\");\n }\n ref2 = this.rowAttrs;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n rowKey.push((ref3 = record[x]) != null ? ref3 : \"null\");\n }\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n this.allTotal.push(record);\n if (rowKey.length !== 0) {\n if (!this.rowTotals[flatRowKey]) {\n this.rowKeys.push(rowKey);\n this.rowTotals[flatRowKey] = this.aggregator(this, rowKey, []);\n }\n this.rowTotals[flatRowKey].push(record);\n }\n if (colKey.length !== 0) {\n if (!this.colTotals[flatColKey]) {\n this.colKeys.push(colKey);\n this.colTotals[flatColKey] = this.aggregator(this, [], colKey);\n }\n this.colTotals[flatColKey].push(record);\n }\n if (colKey.length !== 0 && rowKey.length !== 0) {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n if (!this.tree[flatRowKey][flatColKey]) {\n this.tree[flatRowKey][flatColKey] = this.aggregator(this, rowKey, colKey);\n }\n return this.tree[flatRowKey][flatColKey].push(record);\n }\n };\n\n PivotData.prototype.getAggregator = function(rowKey, colKey) {\n var agg, flatColKey, flatRowKey;\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n if (rowKey.length === 0 && colKey.length === 0) {\n agg = this.allTotal;\n } else if (rowKey.length === 0) {\n agg = this.colTotals[flatColKey];\n } else if (colKey.length === 0) {\n agg = this.rowTotals[flatRowKey];\n } else {\n agg = this.tree[flatRowKey][flatColKey];\n }\n return agg != null ? agg : {\n value: (function() {\n return null;\n }),\n format: function() {\n return \"\";\n }\n };\n };\n\n return PivotData;\n\n })();\n $.pivotUtilities = {\n aggregatorTemplates: aggregatorTemplates,\n aggregators: aggregators,\n renderers: renderers,\n derivers: derivers,\n locales: locales,\n naturalSort: naturalSort,\n numberFormat: numberFormat,\n sortAs: sortAs,\n PivotData: PivotData\n };\n\n /*\n Default Renderer for hierarchical table layout\n */\n pivotTableRenderer = function(pivotData, opts) {\n 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;\n defaults = {\n table: {\n clickCallback: null,\n rowTotals: true,\n colTotals: true\n },\n localeStrings: {\n totals: \"Totals\"\n }\n };\n opts = $.extend(true, {}, defaults, opts);\n colAttrs = pivotData.colAttrs;\n rowAttrs = pivotData.rowAttrs;\n rowKeys = pivotData.getRowKeys();\n colKeys = pivotData.getColKeys();\n if (opts.table.clickCallback) {\n getClickHandler = function(value, rowValues, colValues) {\n var attr, filters, i;\n filters = {};\n for (i in colAttrs) {\n if (!hasProp.call(colAttrs, i)) continue;\n attr = colAttrs[i];\n if (colValues[i] != null) {\n filters[attr] = colValues[i];\n }\n }\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n attr = rowAttrs[i];\n if (rowValues[i] != null) {\n filters[attr] = rowValues[i];\n }\n }\n return function(e) {\n return opts.table.clickCallback(e, value, filters, pivotData);\n };\n };\n }\n result = document.createElement(\"table\");\n result.className = \"pvtTable\";\n spanSize = function(arr, i, j) {\n var l, len, n, noDraw, ref, ref1, stop, x;\n if (i !== 0) {\n noDraw = true;\n for (x = l = 0, ref = j; 0 <= ref ? l <= ref : l >= ref; x = 0 <= ref ? ++l : --l) {\n if (arr[i - 1][x] !== arr[i][x]) {\n noDraw = false;\n }\n }\n if (noDraw) {\n return -1;\n }\n }\n len = 0;\n while (i + len < arr.length) {\n stop = false;\n for (x = n = 0, ref1 = j; 0 <= ref1 ? n <= ref1 : n >= ref1; x = 0 <= ref1 ? ++n : --n) {\n if (arr[i][x] !== arr[i + len][x]) {\n stop = true;\n }\n }\n if (stop) {\n break;\n }\n len++;\n }\n return len;\n };\n thead = document.createElement(\"thead\");\n for (j in colAttrs) {\n if (!hasProp.call(colAttrs, j)) continue;\n c = colAttrs[j];\n tr = document.createElement(\"tr\");\n if (parseInt(j) === 0 && rowAttrs.length !== 0) {\n th = document.createElement(\"th\");\n th.setAttribute(\"colspan\", rowAttrs.length);\n th.setAttribute(\"rowspan\", colAttrs.length);\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = c;\n tr.appendChild(th);\n for (i in colKeys) {\n if (!hasProp.call(colKeys, i)) continue;\n colKey = colKeys[i];\n x = spanSize(colKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtColLabel\";\n th.textContent = colKey[j];\n th.setAttribute(\"colspan\", x);\n if (parseInt(j) === colAttrs.length - 1 && rowAttrs.length !== 0) {\n th.setAttribute(\"rowspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n if (parseInt(j) === 0 && opts.table.rowTotals) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"rowspan\", colAttrs.length + (rowAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n thead.appendChild(tr);\n }\n if (rowAttrs.length !== 0) {\n tr = document.createElement(\"tr\");\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n r = rowAttrs[i];\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = r;\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n if (colAttrs.length === 0) {\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n }\n tr.appendChild(th);\n thead.appendChild(tr);\n }\n result.appendChild(thead);\n tbody = document.createElement(\"tbody\");\n for (i in rowKeys) {\n if (!hasProp.call(rowKeys, i)) continue;\n rowKey = rowKeys[i];\n tr = document.createElement(\"tr\");\n for (j in rowKey) {\n if (!hasProp.call(rowKey, j)) continue;\n txt = rowKey[j];\n x = spanSize(rowKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtRowLabel\";\n th.textContent = txt;\n th.setAttribute(\"rowspan\", x);\n if (parseInt(j) === rowAttrs.length - 1 && colAttrs.length !== 0) {\n th.setAttribute(\"colspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n aggregator = pivotData.getAggregator(rowKey, colKey);\n val = aggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtVal row\" + i + \" col\" + j;\n td.textContent = aggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, colKey);\n }\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator(rowKey, []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal rowTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, []);\n }\n td.setAttribute(\"data-for\", \"row\" + i);\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n if (opts.table.colTotals || rowAttrs.length === 0) {\n tr = document.createElement(\"tr\");\n if (opts.table.colTotals || rowAttrs.length === 0) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtColTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"colspan\", rowAttrs.length + (colAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n totalAggregator = pivotData.getAggregator([], colKey);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal colTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], colKey);\n }\n td.setAttribute(\"data-for\", \"col\" + j);\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator([], []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtGrandTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], []);\n }\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n result.appendChild(tbody);\n result.setAttribute(\"data-numrows\", rowKeys.length);\n result.setAttribute(\"data-numcols\", colKeys.length);\n return result;\n };\n\n /*\n Pivot Table core: create PivotData object and call Renderer on it\n */\n $.fn.pivot = function(input, inputOpts, locale) {\n var defaults, e, localeDefaults, localeStrings, opts, pivotData, result, x;\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n filter: function() {\n return true;\n },\n aggregator: aggregatorTemplates.count()(),\n aggregatorName: \"Count\",\n sorters: {},\n derivedAttributes: {},\n renderer: pivotTableRenderer\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n result = null;\n try {\n pivotData = new opts.dataClass(input, opts);\n try {\n result = opts.renderer(pivotData, opts.rendererOptions);\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.renderError);\n }\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.computeError);\n }\n x = this[0];\n while (x.hasChildNodes()) {\n x.removeChild(x.lastChild);\n }\n return this.append(result);\n };\n\n /*\n Pivot Table UI: calls Pivot Table core above with options set by user\n */\n $.fn.pivotUI = function(input, inputOpts, overwrite, locale) {\n 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;\n if (overwrite == null) {\n overwrite = false;\n }\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n derivedAttributes: {},\n aggregators: locales[locale].aggregators,\n renderers: locales[locale].renderers,\n hiddenAttributes: [],\n hiddenFromAggregators: [],\n hiddenFromDragDrop: [],\n menuLimit: 500,\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n exclusions: {},\n inclusions: {},\n unusedAttrsVertical: 85,\n autoSortUnusedAttrs: false,\n onRefresh: null,\n showUI: true,\n filter: function() {\n return true;\n },\n sorters: {}\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n existingOpts = this.data(\"pivotUIOptions\");\n if ((existingOpts == null) || overwrite) {\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n } else {\n opts = existingOpts;\n }\n try {\n attrValues = {};\n materializedInput = [];\n recordsProcessed = 0;\n PivotData.forEachRecord(input, opts.derivedAttributes, function(record) {\n var attr, base, ref, value;\n if (!opts.filter(record)) {\n return;\n }\n materializedInput.push(record);\n for (attr in record) {\n if (!hasProp.call(record, attr)) continue;\n if (attrValues[attr] == null) {\n attrValues[attr] = {};\n if (recordsProcessed > 0) {\n attrValues[attr][\"null\"] = recordsProcessed;\n }\n }\n }\n for (attr in attrValues) {\n value = (ref = record[attr]) != null ? ref : \"null\";\n if ((base = attrValues[attr])[value] == null) {\n base[value] = 0;\n }\n attrValues[attr][value]++;\n }\n return recordsProcessed++;\n });\n uiTable = $(\"\", {\n \"class\": \"pvtUi\"\n }).attr(\"cellpadding\", 5);\n rendererControl = $(\"\").addClass(\"pvtUiCell\");\n renderer = $(\"\").addClass('pvtRenderer').appendTo(rendererControl).bind(\"change\", function() {\n return refresh();\n });\n ref = opts.renderers;\n for (x in ref) {\n if (!hasProp.call(ref, x)) continue;\n $(\"\").val(x).html(x).appendTo(renderer);\n }\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell');\n shownAttributes = (function() {\n var results;\n results = [];\n for (a in attrValues) {\n if (indexOf.call(opts.hiddenAttributes, a) < 0) {\n results.push(a);\n }\n }\n return results;\n })();\n shownInAggregators = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromAggregators, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n shownInDragDrop = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromDragDrop, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n unusedAttrsVerticalAutoOverride = false;\n if (opts.unusedAttrsVertical === \"auto\") {\n unusedAttrsVerticalAutoCutoff = 120;\n } else {\n unusedAttrsVerticalAutoCutoff = parseInt(opts.unusedAttrsVertical);\n }\n if (!isNaN(unusedAttrsVerticalAutoCutoff)) {\n attrLength = 0;\n for (l = 0, len1 = shownInDragDrop.length; l < len1; l++) {\n a = shownInDragDrop[l];\n attrLength += a.length;\n }\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff;\n }\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n unused.addClass('pvtVertList');\n } else {\n unused.addClass('pvtHorizList');\n }\n fn1 = function(attr) {\n var attrElem, checkContainer, closeFilterBox, controls, filterItem, filterItemExcluded, finalButtons, hasExcludedItem, len2, n, placeholder, ref1, sorter, triangleLink, v, value, valueCount, valueList, values;\n values = (function() {\n var results;\n results = [];\n for (v in attrValues[attr]) {\n results.push(v);\n }\n return results;\n })();\n hasExcludedItem = false;\n valueList = $(\"\").addClass('pvtFilterBox').hide();\n valueList.append($(\"\").append($(\"\").text(attr), $(\"\").addClass(\"count\").text(\"(\" + values.length + \")\")));\n if (values.length > opts.menuLimit) {\n valueList.append($(\"\").html(opts.localeStrings.tooMany));\n } else {\n if (values.length > 5) {\n controls = $(\"\").appendTo(valueList);\n sorter = getSort(opts.sorters, attr);\n placeholder = opts.localeStrings.filterResults;\n $(\"\", {\n type: \"text\"\n }).appendTo(controls).attr({\n placeholder: placeholder,\n \"class\": \"pvtSearch\"\n }).bind(\"keyup\", function() {\n var accept, accept_gen, filter;\n filter = $(this).val().toLowerCase().trim();\n accept_gen = function(prefix, accepted) {\n return function(v) {\n var real_filter, ref1;\n real_filter = filter.substring(prefix.length).trim();\n if (real_filter.length === 0) {\n return true;\n }\n return ref1 = Math.sign(sorter(v.toLowerCase(), real_filter)), indexOf.call(accepted, ref1) >= 0;\n };\n };\n 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) {\n if (filter.substring(1).trim().length === 0) {\n return true;\n }\n return v.toLowerCase().match(filter.substring(1));\n } : function(v) {\n return v.toLowerCase().indexOf(filter) !== -1;\n };\n return valueList.find('.pvtCheckContainer p label span.value').each(function() {\n if (accept($(this).text())) {\n return $(this).parent().parent().show();\n } else {\n return $(this).parent().parent().hide();\n }\n });\n });\n controls.append($(\"\"));\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectAll).bind(\"click\", function() {\n valueList.find(\"input:visible:not(:checked)\").prop(\"checked\", true).toggleClass(\"changed\");\n return false;\n });\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectNone).bind(\"click\", function() {\n valueList.find(\"input:visible:checked\").prop(\"checked\", false).toggleClass(\"changed\");\n return false;\n });\n }\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList);\n ref1 = values.sort(getSort(opts.sorters, attr));\n for (n = 0, len2 = ref1.length; n < len2; n++) {\n value = ref1[n];\n valueCount = attrValues[attr][value];\n filterItem = $(\"\");\n filterItemExcluded = false;\n if (opts.inclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.inclusions[attr], value) < 0);\n } else if (opts.exclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.exclusions[attr], value) >= 0);\n }\n hasExcludedItem || (hasExcludedItem = filterItemExcluded);\n $(\"\").attr(\"type\", \"checkbox\").addClass('pvtFilter').attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr, value]).appendTo(filterItem).bind(\"change\", function() {\n return $(this).toggleClass(\"changed\");\n });\n filterItem.append($(\"\").addClass(\"value\").text(value));\n filterItem.append($(\"\").addClass(\"count\").text(\"(\" + valueCount + \")\"));\n checkContainer.append($(\"\").append(filterItem));\n }\n }\n closeFilterBox = function() {\n if (valueList.find(\"[type='checkbox']\").length > valueList.find(\"[type='checkbox']:checked\").length) {\n attrElem.addClass(\"pvtFilteredAttribute\");\n } else {\n attrElem.removeClass(\"pvtFilteredAttribute\");\n }\n valueList.find('.pvtSearch').val('');\n valueList.find('.pvtCheckContainer p').show();\n return valueList.hide();\n };\n finalButtons = $(\"\").appendTo(valueList);\n if (values.length <= opts.menuLimit) {\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.apply).appendTo(finalButtons).bind(\"click\", function() {\n if (valueList.find(\".changed\").removeClass(\"changed\").length) {\n refresh();\n }\n return closeFilterBox();\n });\n }\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.cancel).appendTo(finalButtons).bind(\"click\", function() {\n valueList.find(\".changed:checked\").removeClass(\"changed\").prop(\"checked\", false);\n valueList.find(\".changed:not(:checked)\").removeClass(\"changed\").prop(\"checked\", true);\n return closeFilterBox();\n });\n triangleLink = $(\"\").addClass('pvtTriangle').html(\" ▾\").bind(\"click\", function(e) {\n var left, ref2, top;\n ref2 = $(e.currentTarget).position(), left = ref2.left, top = ref2.top;\n return valueList.css({\n left: left + 10,\n top: top + 10\n }).show();\n });\n attrElem = $(\"\").addClass(\"axis_\" + i).append($(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink));\n if (hasExcludedItem) {\n attrElem.addClass('pvtFilteredAttribute');\n }\n return unused.append(attrElem).append(valueList);\n };\n for (i in shownInDragDrop) {\n if (!hasProp.call(shownInDragDrop, i)) continue;\n attr = shownInDragDrop[i];\n fn1(attr);\n }\n tr1 = $(\"\").appendTo(uiTable);\n aggregator = $(\"\").addClass('pvtAggregator').bind(\"change\", function() {\n return refresh();\n });\n ref1 = opts.aggregators;\n for (x in ref1) {\n if (!hasProp.call(ref1, x)) continue;\n aggregator.append($(\"\").val(x).html(x));\n }\n ordering = {\n key_a_to_z: {\n rowSymbol: \"↕\",\n colSymbol: \"↔\",\n next: \"value_a_to_z\"\n },\n value_a_to_z: {\n rowSymbol: \"↓\",\n colSymbol: \"→\",\n next: \"value_z_to_a\"\n },\n value_z_to_a: {\n rowSymbol: \"↑\",\n colSymbol: \"←\",\n next: \"key_a_to_z\"\n }\n };\n rowOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtRowOrder\").data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol);\n return refresh();\n });\n colOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtColOrder\").data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].colSymbol);\n return refresh();\n });\n $(\"\").addClass('pvtVals pvtUiCell').appendTo(tr1).append(aggregator).append(rowOrderArrow).append(colOrderArrow).append($(\"\"));\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1);\n tr2 = $(\"\").appendTo(uiTable);\n tr2.append($(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\"));\n pivotTable = $(\"\").attr(\"valign\", \"top\").addClass('pvtRendererArea').appendTo(tr2);\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n uiTable.find('tr:nth-child(1)').prepend(rendererControl);\n uiTable.find('tr:nth-child(2)').prepend(unused);\n } else {\n uiTable.prepend($(\"\").append(rendererControl).append(unused));\n }\n this.html(uiTable);\n ref2 = opts.cols;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n this.find(\".pvtCols\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n ref3 = opts.rows;\n for (o = 0, len3 = ref3.length; o < len3; o++) {\n x = ref3[o];\n this.find(\".pvtRows\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n if (opts.aggregatorName != null) {\n this.find(\".pvtAggregator\").val(opts.aggregatorName);\n }\n if (opts.rendererName != null) {\n this.find(\".pvtRenderer\").val(opts.rendererName);\n }\n if (!opts.showUI) {\n this.find(\".pvtUiCell\").hide();\n }\n initialRender = true;\n refreshDelayed = (function(_this) {\n return function() {\n var exclusions, inclusions, len4, newDropdown, numInputsToProcess, pivotUIOptions, pvtVals, ref4, ref5, subopts, t, u, unusedAttrsContainer, vals;\n subopts = {\n derivedAttributes: opts.derivedAttributes,\n localeStrings: opts.localeStrings,\n rendererOptions: opts.rendererOptions,\n sorters: opts.sorters,\n cols: [],\n rows: [],\n dataClass: opts.dataClass\n };\n numInputsToProcess = (ref4 = opts.aggregators[aggregator.val()]([])().numInputs) != null ? ref4 : 0;\n vals = [];\n _this.find(\".pvtRows li span.pvtAttr\").each(function() {\n return subopts.rows.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtCols li span.pvtAttr\").each(function() {\n return subopts.cols.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n if (numInputsToProcess === 0) {\n return $(this).remove();\n } else {\n numInputsToProcess--;\n if ($(this).val() !== \"\") {\n return vals.push($(this).val());\n }\n }\n });\n if (numInputsToProcess !== 0) {\n pvtVals = _this.find(\".pvtVals\");\n for (x = t = 0, ref5 = numInputsToProcess; 0 <= ref5 ? t < ref5 : t > ref5; x = 0 <= ref5 ? ++t : --t) {\n newDropdown = $(\"\").addClass('pvtAttrDropdown').append($(\"\")).bind(\"change\", function() {\n return refresh();\n });\n for (u = 0, len4 = shownInAggregators.length; u < len4; u++) {\n attr = shownInAggregators[u];\n newDropdown.append($(\"\").val(attr).text(attr));\n }\n pvtVals.append(newDropdown);\n }\n }\n if (initialRender) {\n vals = opts.vals;\n i = 0;\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n $(this).val(vals[i]);\n return i++;\n });\n initialRender = false;\n }\n subopts.aggregatorName = aggregator.val();\n subopts.vals = vals;\n subopts.aggregator = opts.aggregators[aggregator.val()](vals);\n subopts.renderer = opts.renderers[renderer.val()];\n subopts.rowOrder = rowOrderArrow.data(\"order\");\n subopts.colOrder = colOrderArrow.data(\"order\");\n exclusions = {};\n _this.find('input.pvtFilter').not(':checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n return exclusions[filter[0]].push(filter[1]);\n } else {\n return exclusions[filter[0]] = [filter[1]];\n }\n });\n inclusions = {};\n _this.find('input.pvtFilter:checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n if (inclusions[filter[0]] != null) {\n return inclusions[filter[0]].push(filter[1]);\n } else {\n return inclusions[filter[0]] = [filter[1]];\n }\n }\n });\n subopts.filter = function(record) {\n var excludedItems, k, ref6, ref7;\n if (!opts.filter(record)) {\n return false;\n }\n for (k in exclusions) {\n excludedItems = exclusions[k];\n if (ref6 = \"\" + ((ref7 = record[k]) != null ? ref7 : 'null'), indexOf.call(excludedItems, ref6) >= 0) {\n return false;\n }\n }\n return true;\n };\n pivotTable.pivot(materializedInput, subopts);\n pivotUIOptions = $.extend({}, opts, {\n cols: subopts.cols,\n rows: subopts.rows,\n colOrder: subopts.colOrder,\n rowOrder: subopts.rowOrder,\n vals: vals,\n exclusions: exclusions,\n inclusions: inclusions,\n inclusionsInfo: inclusions,\n aggregatorName: aggregator.val(),\n rendererName: renderer.val()\n });\n _this.data(\"pivotUIOptions\", pivotUIOptions);\n if (opts.autoSortUnusedAttrs) {\n unusedAttrsContainer = _this.find(\"td.pvtUnused.pvtAxisContainer\");\n $(unusedAttrsContainer).children(\"li\").sort(function(a, b) {\n return naturalSort($(a).text(), $(b).text());\n }).appendTo(unusedAttrsContainer);\n }\n pivotTable.css(\"opacity\", 1);\n if (opts.onRefresh != null) {\n return opts.onRefresh(pivotUIOptions);\n }\n };\n })(this);\n refresh = (function(_this) {\n return function() {\n pivotTable.css(\"opacity\", 0.5);\n return setTimeout(refreshDelayed, 10);\n };\n })(this);\n refresh();\n this.find(\".pvtAxisContainer\").sortable({\n update: function(e, ui) {\n if (ui.sender == null) {\n return refresh();\n }\n },\n connectWith: this.find(\".pvtAxisContainer\"),\n items: 'li',\n placeholder: 'pvtPlaceholder'\n });\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n this.html(opts.localeStrings.uiRenderError);\n }\n return this;\n };\n\n /*\n Heatmap post-processing\n */\n $.fn.heatmap = function(scope, opts) {\n var colorScaleGenerator, heatmapper, i, j, l, n, numCols, numRows, ref, ref1, ref2;\n if (scope == null) {\n scope = \"heatmap\";\n }\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n colorScaleGenerator = opts != null ? (ref = opts.heatmap) != null ? ref.colorScaleGenerator : void 0 : void 0;\n if (colorScaleGenerator == null) {\n colorScaleGenerator = function(values) {\n var max, min;\n min = Math.min.apply(Math, values);\n max = Math.max.apply(Math, values);\n return function(x) {\n var nonRed;\n nonRed = 255 - Math.round(255 * (x - min) / (max - min));\n return \"rgb(255,\" + nonRed + \",\" + nonRed + \")\";\n };\n };\n }\n heatmapper = (function(_this) {\n return function(scope) {\n var colorScale, forEachCell, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n colorScale = colorScaleGenerator(values);\n return forEachCell(function(x, elem) {\n return elem.css(\"background-color\", colorScale(x));\n });\n };\n })(this);\n switch (scope) {\n case \"heatmap\":\n heatmapper(\".pvtVal\");\n break;\n case \"rowheatmap\":\n for (i = l = 0, ref1 = numRows; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) {\n heatmapper(\".pvtVal.row\" + i);\n }\n break;\n case \"colheatmap\":\n for (j = n = 0, ref2 = numCols; 0 <= ref2 ? n < ref2 : n > ref2; j = 0 <= ref2 ? ++n : --n) {\n heatmapper(\".pvtVal.col\" + j);\n }\n }\n heatmapper(\".pvtTotal.rowTotal\");\n heatmapper(\".pvtTotal.colTotal\");\n return this;\n };\n\n /*\n Barchart post-processing\n */\n return $.fn.barchart = function(opts) {\n var barcharter, i, l, numCols, numRows, ref;\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n barcharter = (function(_this) {\n return function(scope) {\n var forEachCell, max, min, range, scaler, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n max = Math.max.apply(Math, values);\n if (max < 0) {\n max = 0;\n }\n range = max;\n min = Math.min.apply(Math, values);\n if (min < 0) {\n range = max - min;\n }\n scaler = function(x) {\n return 100 * x / (1.4 * range);\n };\n return forEachCell(function(x, elem) {\n var bBase, bgColor, text, wrapper;\n text = elem.text();\n wrapper = $(\"\").css({\n \"position\": \"relative\",\n \"height\": \"55px\"\n });\n bgColor = \"gray\";\n bBase = 0;\n if (min < 0) {\n bBase = scaler(-min);\n }\n if (x < 0) {\n bBase += scaler(x);\n bgColor = \"darkred\";\n x = -x;\n }\n wrapper.append($(\"\").css({\n \"position\": \"absolute\",\n \"bottom\": bBase + \"%\",\n \"left\": 0,\n \"right\": 0,\n \"height\": scaler(x) + \"%\",\n \"background-color\": bgColor\n }));\n wrapper.append($(\"\").text(text).css({\n \"position\": \"relative\",\n \"padding-left\": \"5px\",\n \"padding-right\": \"5px\"\n }));\n return elem.css({\n \"padding\": 0,\n \"padding-top\": \"5px\",\n \"text-align\": \"center\"\n }).html(wrapper);\n });\n };\n })(this);\n for (i = l = 0, ref = numRows; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) {\n barcharter(\".pvtVal.row\" + i);\n }\n barcharter(\".pvtTotal.colTotal\");\n return this;\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.js.map\n"]} \ No newline at end of file diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.js new file mode 100644 index 0000000..ca9a375 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js @@ -0,0 +1,80 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map new file mode 100644 index 0000000..b7c7760 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js index 9dc06ee..a3bcc04 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js @@ -1,2 +1,2 @@ -(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,n,o;return n=e.pivotUtilities.numberFormat,o=e.pivotUtilities.aggregatorTemplates,t=n({thousandsSep:" ",decimalSep:","}),r=n({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),i=n({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:o.count(r),"Aantal unieke waarden":o.countUnique(r),"Lijst unieke waarden":o.listUnique(", "),Som:o.sum(t),"Som van gehele getallen":o.sum(r),Gemiddelde:o.average(t),Minimum:o.min(t),Maximum:o.max(t),"Som over som":o.sumOverSum(t),"80% bovengrens":o.sumOverSumBound80(!0,t),"80% ondergrens":o.sumOverSumBound80(!1,t),"Som in verhouding tot het totaal":o.fractionOf(o.sum(),"total",i),"Som in verhouding tot de rij":o.fractionOf(o.sum(),"row",i),"Som in verhouding tot de kolom":o.fractionOf(o.sum(),"col",i),"Aantal in verhouding tot het totaal":o.fractionOf(o.count(),"total",i),"Aantal in verhouding tot de rij":o.fractionOf(o.count(),"row",i),"Aantal in verhouding tot de kolom":o.fractionOf(o.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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map new file mode 100644 index 0000000..b51dc51 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js b/inst/htmlwidgets/lib/pivottable/pivot.pl.js new file mode 100644 index 0000000..aa4b438 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js @@ -0,0 +1,82 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map new file mode 100644 index 0000000..3eefc10 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pivot.pl.js","sources":["pivot.pl.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 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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map new file mode 100644 index 0000000..14a4b8e --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.js new file mode 100644 index 0000000..b737243 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js @@ -0,0 +1,111 @@ +(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.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": tpl.count(frFmtInt), + "Contagem de Valores únicos": tpl.countUnique(frFmtInt), + "Lista de Valores únicos": tpl.listUnique(", "), + "Soma": tpl.sum(frFmt), + "Soma de Inteiros": tpl.sum(frFmtInt), + "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áximo": tpl.max(frFmt), + "Primeiro": tpl.first(frFmt), + "Último": tpl.last(frFmt), + "Soma sobre Soma": tpl.sumOverSum(frFmt), + "Limite Superior a 80%": tpl.sumOverSumBound80(true, frFmt), + "Limite Inferior a 80%": tpl.sumOverSumBound80(false, frFmt), + "Soma como Fração do Total": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Soma como Fração da Linha": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Soma como Fração da Coluna": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Contagem como Fração do Total": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Contagem como Fração da Linha": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Contagem como Fração da Coluna": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tabela": r["Table"], + "Tabela com Barras": r["Table Barchart"], + "Mapa de Calor": r["Heatmap"], + "Mapa de Calor por Linhas": r["Row Heatmap"], + "Mapa de Calor por Colunas": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.pt.gchart_renderers = { + "Gráfico de Linhas": gcr["Line Chart"], + "Gráfico de Barras": gcr["Bar Chart"], + "Gráfico de Barras Empilhadas": gcr["Stacked Bar Chart"], + "Gráfico de Área": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.pt.d3_renderers = { + "Mapa de Árvore": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.pt.c3_renderers = { + "Gráfico de Linhas": c3r["Line Chart"], + "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; + }); + +}).call(this); + +//# sourceMappingURL=pivot.pt.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map new file mode 100644 index 0000000..72cb981 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js index cf4f356..0f92ea7 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js @@ -1,2 +1,2 @@ -(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,l,n,c;return l=a.pivotUtilities.numberFormat,c=a.pivotUtilities.aggregatorTemplates,n=a.pivotUtilities.renderers,s=a.pivotUtilities.gchart_renderers,r=a.pivotUtilities.d3_renderers,e=a.pivotUtilities.c3_renderers,o=l({thousandsSep:".",decimalSep:","}),i=l({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),t=l({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),"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:n.Table,"Tabela com Barras":n["Table Barchart"],"Mapa de Calor":n.Heatmap,"Mapa de Calor por Linhas":n["Row Heatmap"],"Mapa de Calor por Colunas":n["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map new file mode 100644 index 0000000..cf067a6 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js b/inst/htmlwidgets/lib/pivottable/pivot.ru.js new file mode 100644 index 0000000..ebc556d --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map new file mode 100644 index 0000000..f7fe47f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map new file mode 100644 index 0000000..4ef0db3 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js b/inst/htmlwidgets/lib/pivottable/pivot.sq.js new file mode 100644 index 0000000..080b336 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map new file mode 100644 index 0000000..604860b --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map new file mode 100644 index 0000000..3f6df78 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js b/inst/htmlwidgets/lib/pivottable/pivot.tr.js new file mode 100644 index 0000000..1a95e56 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js @@ -0,0 +1,104 @@ +(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.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ı": tpl.count(frFmtInt), + "Benzersiz değerler sayısı": tpl.countUnique(frFmtInt), + "Benzersiz değerler listesi": tpl.listUnique(", "), + "Toplam": tpl.sum(frFmt), + "Toplam (tam sayı)": tpl.sum(frFmtInt), + "Ortalama": tpl.average(frFmt), + "Min": tpl.min(frFmt), + "Maks": tpl.max(frFmt), + "Miktarların toplamı": tpl.sumOverSum(frFmt), + "%80 daha yüksek": tpl.sumOverSumBound80(true, frFmt), + "%80 daha düşük": tpl.sumOverSumBound80(false, frFmt), + "Toplam oranı (toplam)": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Satır oranı (toplam)": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Sütunun oranı (toplam)": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Toplam oranı (sayı)": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Satır oranı (sayı)": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Sütunun oranı (sayı)": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tablo": r["Table"], + "Tablo (Çubuklar)": r["Table Barchart"], + "İlgi haritası": r["Heatmap"], + "Satır ilgi haritası": r["Row Heatmap"], + "Sütun ilgi haritası": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.tr.gchart_renderers = { + "Çizgi Grafiği": gcr["Line Chart"], + "Bar Grafiği": gcr["Bar Chart"], + "Yığılmış Çubuk Grafik ": gcr["Stacked Bar Chart"], + "Alan Grafiği": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.tr.d3_renderers = { + "Hiyerarşik Alan Grafiği (Treemap)": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.tr.c3_renderers = { + "Çizgi Grafiği": c3r["Line Chart"], + "Bar Grafiği": c3r["Bar Chart"], + "Yığılmış Çubuk Grafik ": c3r["Stacked Bar Chart"], + "Alan Grafiği": c3r["Area Chart"] + }; + } + return $.pivotUtilities.locales.tr; + }); + +}).call(this); + +//# sourceMappingURL=pivot.tr.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map new file mode 100644 index 0000000..3b5dbe0 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map new file mode 100644 index 0000000..90d8eb9 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.js new file mode 100644 index 0000000..5f30fb4 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js @@ -0,0 +1,113 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map new file mode 100644 index 0000000..6810c5f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js index 916fceb..2828cad 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js @@ -1,2 +1,2 @@ -(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,a,l,n,c;return l=e.pivotUtilities.numberFormat,c=e.pivotUtilities.aggregatorTemplates,n=e.pivotUtilities.renderers,a=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,t=e.pivotUtilities.c3_renderers,i=l({thousandsSep:",",decimalSep:"."}),o=l({digitsAfterDecimal:0,thousandsSep:",",decimalSep:"."}),s=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(o),"非重复值的个数":c.countUnique(o),"列出非重复值":c.listUnique(", "),"求和":c.sum(i),"求和后取整":c.sum(o),"平均值":c.average(i),"最小值":c.min(i),"最大值":c.max(i),"两和之比":c.sumOverSum(i),"二项分布:置信度为80%时的区间上限":c.sumOverSumBound80(!0,i),"二项分布:置信度为80%时的区间下限":c.sumOverSumBound80(!1,i),"和在总计中的比例":c.fractionOf(c.sum(),"total",s),"和在行合计中的比例":c.fractionOf(c.sum(),"row",s),"和在列合计中的比例":c.fractionOf(c.sum(),"col",s),"频数在总计中的比例":c.fractionOf(c.count(),"total",s),"频数在行合计中的比例":c.fractionOf(c.count(),"row",s),"频数在列合计中的比例":c.fractionOf(c.count(),"col",s)},renderers:{"表格":n.Table,"表格内柱状图":n["Table Barchart"],"热图":n.Heatmap,"行热图":n["Row Heatmap"],"列热图":n["Col Heatmap"]}},a&&(e.pivotUtilities.locales.zh.gchart_renderers={"折线图(g)":a["Line Chart"],"柱形图(g)":a["Bar Chart"],"堆栈柱形图(g)":a["Stacked Bar Chart"],"面积图(g)":a["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map new file mode 100644 index 0000000..8b30873 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot_spec.js b/inst/htmlwidgets/lib/pivottable/pivot_spec.js new file mode 100644 index 0000000..fadadce --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot_spec.js @@ -0,0 +1,614 @@ +(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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 $("").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 = $("").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 = $("\n \n
").appendTo(x),S.length<=M.menuLimit&&t("",{type:"button"}).text(M.localeStrings.apply).appendTo(u).bind("click",function(){return x.find(".changed").removeClass("changed").length&&V(),o()}),t("",{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("").addClass("pvtTriangle").html(" ▾").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("").addClass("axis_"+A).append(t("").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("").appendTo(Y),u=t("").addClass("pvtAggregator").bind("change",function(){return V()}),K=M.aggregators;for(et in K)a.call(K,et)&&u.append(t("").val(et).html(et));for(R={key_a_to_z:{rowSymbol:"↕",colSymbol:"↔",next:"value_a_to_z"},value_a_to_z:{rowSymbol:"↓",colSymbol:"→",next:"value_z_to_a"},value_z_to_a:{rowSymbol:"↑",colSymbol:"←",next:"key_a_to_z"}},P=t("",{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("",{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("").addClass("pvtVals pvtUiCell").appendTo($).append(u).append(P).append(v).append(t("")),t("").addClass("pvtAxisContainer pvtHorizList pvtCols pvtUiCell").appendTo($),Q=t("").appendTo(Y),Q.append(t("").addClass("pvtAxisContainer pvtRows pvtUiCell").attr("valign","top")),I=t("").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("").append(B).append(X)),this.html(Y),q=M.cols,D=0,T=q.length;Dp;et=0<=p?++g:--g){for(i=t("").addClass("pvtAttrDropdown").append(t("")).bind("change",function(){return V()}),b=0,o=G.length;b").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?ld;o=0<=d?++l:--l)a(".pvtVal.row"+o);break;case"colheatmap":for(i=s=0,p=u;0<=p?sp;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("").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("").css({position:"absolute",bottom:r+"%",left:0,right:0,height:l(e)+"%","background-color":a})),s.append(t("").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?al;r=0<=l?++a:--a)n(".pvtVal.row"+r);return n(".pvtTotal.colTotal"),this}})}).call(this); //# sourceMappingURL=pivot.min.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.min.js.map new file mode 100644 index 0000000..acf3957 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["pivot.coffee","pivot.min.js"],"names":["callWithJQuery","indexOf","item","i","l","this","length","slice","bind","fn","me","apply","arguments","hasProp","hasOwnProperty","pivotModule","exports","module","require","define","amd","jQuery","$","PivotData","addSeparators","aggregatorTemplates","aggregators","dayNamesEn","derivers","getSort","locales","mthNamesEn","naturalSort","numberFormat","pivotTableRenderer","rd","renderers","rx","rz","sortAs","usFmt","usFmtInt","usFmtPct","zeroPad","nStr","thousandsSep","decimalSep","rgx","x","x1","x2","split","test","replace","opts","defaults","digitsAfterDecimal","scaler","prefix","suffix","extend","result","isNaN","isFinite","toFixed","count","formatter","data","rowKey","colKey","push","value","format","uniques","arg","attr","uniq","record","ref","call","numInputs","sum","parseFloat","extremes","mode","val","sorter","sorters","ref1","ref2","Math","quantile","q","vals","sort","a","b","floor","ceil","runningStat","ddof","n","m","s","m_new","sqrt","sumOverSum","denom","num","sumNum","sumDenom","sumOverSumBound80","upper","sign","fractionOf","wrapped","type","selector","total","row","col","inner","getAggregator","countUnique","f","listUnique","join","max","min","first","last","median","average","stdev","tpl","Count","Count Unique Values","List Unique Values","Sum","Integer Sum","Average","Median","Sample Variance","Sample Standard Deviation","Minimum","Maximum","First","Last","Sum over Sum","80% Upper Bound","80% Lower Bound","Sum as Fraction of Total","Sum as Fraction of Rows","Sum as Fraction of Columns","Count as Fraction of Total","Count as Fraction of Rows","Count as Fraction of Columns","Table","Table Barchart","barchart","Heatmap","heatmap","Row Heatmap","Col Heatmap","en","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","cancel","totals","vs","by","number","substr","bin","binWidth","dateFormat","formatString","utcOutput","mthNames","dayNames","utc","date","Date","parse","p","_this","as","bs","a1","b1","nas","nbs","String","match","shift","order","l_mapping","mapping","toLowerCase","isFunction","input","ref3","ref4","ref5","ref6","ref7","ref8","ref9","getRowKeys","getColKeys","sortKeys","arrSort","aggregator","aggregatorName","colAttrs","cols","rowAttrs","rows","valAttrs","rowOrder","colOrder","derivedAttributes","filter","tree","rowKeys","colKeys","rowTotals","colTotals","allTotal","sorted","forEachRecord","processRecord","addRecord","compactRecord","j","k","len1","results","results1","tblCols","isEmptyObject","v","isArray","each","text","Error","prototype","forEachMatchingRecord","criteria","callback","attrs","sortersArr","comparison","r","c","flatColKey","flatRowKey","len2","fromCharCode","agg","pivotUtilities","pivotData","getClickHandler","spanSize","tbody","td","th","thead","totalAggregator","tr","txt","table","clickCallback","rowValues","colValues","filters","e","document","createElement","className","arr","len","noDraw","stop","parseInt","setAttribute","appendChild","textContent","innerHTML","onclick","pivot","inputOpts","locale","localeDefaults","dataClass","renderer","rendererOptions","error","console","stack","html","hasChildNodes","removeChild","lastChild","append","pivotUI","overwrite","attrLength","attrValues","colOrderArrow","existingOpts","fn1","initialRender","len3","materializedInput","o","ordering","pivotTable","recordsProcessed","refresh","refreshDelayed","rendererControl","rowOrderArrow","shownAttributes","shownInAggregators","shownInDragDrop","tr1","tr2","uiTable","unused","unusedAttrsVerticalAutoCutoff","unusedAttrsVerticalAutoOverride","hiddenAttributes","hiddenFromAggregators","hiddenFromDragDrop","menuLimit","exclusions","inclusions","unusedAttrsVertical","autoSortUnusedAttrs","onRefresh","showUI","base","class","addClass","appendTo","attrElem","checkContainer","closeFilterBox","controls","filterItem","filterItemExcluded","finalButtons","hasExcludedItem","placeholder","triangleLink","valueCount","valueList","values","hide","accept","accept_gen","trim","accepted","real_filter","substring","find","parent","show","prop","toggleClass","removeClass","left","top","currentTarget","position","css","key_a_to_z","rowSymbol","colSymbol","next","value_a_to_z","value_z_to_a","role","prepend","inArray","rendererName","len4","newDropdown","numInputsToProcess","pivotUIOptions","pvtVals","subopts","t","u","unusedAttrsContainer","remove","not","excludedItems","inclusionsInfo","children","setTimeout","sortable","update","ui","sender","connectWith","items","scope","colorScaleGenerator","heatmapper","numCols","numRows","nonRed","round","colorScale","forEachCell","elem","barcharter","range","bBase","bgColor","wrapper","height","bottom","right","background-color","padding-left","padding-right","padding","padding-top","text-align"],"mappings":"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","file":"pivot.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 ###\n Utilities\n ###\n\n addSeparators = (nStr, thousandsSep, decimalSep) ->\n nStr += ''\n x = nStr.split('.')\n x1 = x[0]\n x2 = if x.length > 1 then decimalSep + x[1] else ''\n rgx = /(\\d+)(\\d{3})/\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2') while rgx.test(x1)\n return x1 + x2\n\n numberFormat = (opts) ->\n defaults =\n digitsAfterDecimal: 2, scaler: 1,\n thousandsSep: \",\", decimalSep: \".\"\n prefix: \"\", suffix: \"\"\n opts = $.extend({}, defaults, opts)\n (x) ->\n return \"\" if isNaN(x) or not isFinite(x)\n result = addSeparators (opts.scaler*x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep\n return \"\"+opts.prefix+result+opts.suffix\n\n #aggregator templates default to US number formatting but this is overrideable\n usFmt = numberFormat()\n usFmtInt = numberFormat(digitsAfterDecimal: 0)\n usFmtPct = numberFormat(digitsAfterDecimal:1, scaler: 100, suffix: \"%\")\n\n aggregatorTemplates =\n count: (formatter=usFmtInt) -> () -> (data, rowKey, colKey) ->\n count: 0\n push: -> @count++\n value: -> @count\n format: formatter\n\n uniques: (fn, formatter=usFmtInt) -> ([attr]) -> (data, rowKey, colKey) ->\n uniq: []\n push: (record) -> @uniq.push(record[attr]) if record[attr] not in @uniq\n value: -> fn(@uniq)\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sum: (formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n sum: 0\n push: (record) -> @sum += parseFloat(record[attr]) if not isNaN parseFloat(record[attr])\n value: -> @sum\n format: formatter\n numInputs: if attr? then 0 else 1\n\n extremes: (mode, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n val: null\n sorter: getSort(data?.sorters, attr)\n push: (record) ->\n x = record[attr]\n if mode in [\"min\", \"max\"]\n x = parseFloat(x)\n if not isNaN x then @val = Math[mode](x, @val ? x)\n if mode == \"first\" then @val = x if @sorter(x, @val ? x) <= 0\n if mode == \"last\" then @val = x if @sorter(x, @val ? x) >= 0\n value: -> @val\n format: (x) -> if isNaN(x) then x else formatter(x)\n numInputs: if attr? then 0 else 1\n\n quantile: (q, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n vals: []\n push: (record) ->\n x = parseFloat(record[attr])\n @vals.push(x) if not isNaN(x)\n value: ->\n return null if @vals.length == 0\n @vals.sort((a,b) -> a-b)\n i = (@vals.length-1)*q\n return (@vals[Math.floor(i)] + @vals[Math.ceil(i)])/2.0\n format: formatter\n numInputs: if attr? then 0 else 1\n\n runningStat: (mode=\"mean\", ddof=1, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n n: 0.0, m: 0.0, s: 0.0\n push: (record) ->\n x = parseFloat(record[attr])\n return if isNaN(x)\n @n += 1.0\n if @n == 1.0\n @m = x\n else\n m_new = @m + (x - @m)/@n\n @s = @s + (x - @m)*(x - m_new)\n @m = m_new\n value: ->\n if mode == \"mean\"\n return if @n == 0 then 0/0 else @m\n return 0 if @n <= ddof\n switch mode\n when \"var\" then @s/(@n-ddof)\n when \"stdev\" then Math.sqrt(@s/(@n-ddof))\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sumOverSum: (formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: -> @sumNum/@sumDenom\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n sumOverSumBound80: (upper=true, formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: ->\n sign = if upper then 1 else -1\n (0.821187207574908/@sumDenom + @sumNum/@sumDenom + 1.2815515655446004*sign*\n Math.sqrt(0.410593603787454/ (@sumDenom*@sumDenom) + (@sumNum*(1 - @sumNum/ @sumDenom))/ (@sumDenom*@sumDenom)))/\n (1 + 1.642374415149816/@sumDenom)\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n fractionOf: (wrapped, type=\"total\", formatter=usFmtPct) -> (x...) -> (data, rowKey, colKey) ->\n selector: {total:[[],[]],row:[rowKey,[]],col:[[],colKey]}[type]\n inner: wrapped(x...)(data, rowKey, colKey)\n push: (record) -> @inner.push record\n format: formatter\n value: -> @inner.value() / data.getAggregator(@selector...).inner.value()\n numInputs: wrapped(x...)().numInputs\n\n aggregatorTemplates.countUnique = (f) -> aggregatorTemplates.uniques(((x) -> x.length), f)\n aggregatorTemplates.listUnique = (s) -> aggregatorTemplates.uniques(((x) -> x.sort(naturalSort).join(s)), ((x)->x))\n aggregatorTemplates.max = (f) -> aggregatorTemplates.extremes('max', f)\n aggregatorTemplates.min = (f) -> aggregatorTemplates.extremes('min', f)\n aggregatorTemplates.first = (f) -> aggregatorTemplates.extremes('first', f)\n aggregatorTemplates.last = (f) -> aggregatorTemplates.extremes('last', f)\n aggregatorTemplates.median = (f) -> aggregatorTemplates.quantile(0.5, f)\n aggregatorTemplates.average = (f) -> aggregatorTemplates.runningStat(\"mean\", 1, f)\n aggregatorTemplates.var = (ddof, f) -> aggregatorTemplates.runningStat(\"var\", ddof, f)\n aggregatorTemplates.stdev = (ddof, f) -> aggregatorTemplates.runningStat(\"stdev\", ddof, f)\n\n #default aggregators & renderers use US naming and number formatting\n aggregators = do (tpl = aggregatorTemplates) ->\n \"Count\": tpl.count(usFmtInt)\n \"Count Unique Values\": tpl.countUnique(usFmtInt)\n \"List Unique Values\": tpl.listUnique(\", \")\n \"Sum\": tpl.sum(usFmt)\n \"Integer Sum\": tpl.sum(usFmtInt)\n \"Average\": tpl.average(usFmt)\n \"Median\": tpl.median(usFmt)\n \"Sample Variance\": tpl.var(1, usFmt)\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt)\n \"Minimum\": tpl.min(usFmt)\n \"Maximum\": tpl.max(usFmt)\n \"First\": tpl.first(usFmt)\n \"Last\": tpl.last(usFmt)\n \"Sum over Sum\": tpl.sumOverSum(usFmt)\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt)\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt)\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct)\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct)\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct)\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct)\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct)\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n\n renderers =\n \"Table\": (data, opts) -> pivotTableRenderer(data, opts)\n \"Table Barchart\": (data, opts) -> $(pivotTableRenderer(data, opts)).barchart()\n \"Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts)\n \"Row Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts)\n \"Col Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts)\n\n locales =\n en:\n aggregators: aggregators\n renderers: renderers\n localeStrings:\n renderError: \"An error occurred rendering the PivotTable results.\"\n computeError: \"An error occurred computing the PivotTable results.\"\n uiRenderError: \"An error occurred rendering the PivotTable UI.\"\n selectAll: \"Select All\"\n selectNone: \"Select None\"\n tooMany: \"(too many to list)\"\n filterResults: \"Filter values\"\n apply: \"Apply\"\n cancel: \"Cancel\"\n totals: \"Totals\" #for table renderer\n vs: \"vs\" #for gchart renderer\n by: \"by\" #for gchart renderer\n\n #dateFormat deriver l10n requires month and day names to be passed in directly\n mthNamesEn = [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]\n dayNamesEn = [\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]\n zeroPad = (number) -> (\"0\"+number).substr(-2,2)\n\n derivers =\n bin: (col, binWidth) -> (record) -> record[col] - record[col] % binWidth\n dateFormat: (col, formatString, utcOutput=false, mthNames=mthNamesEn, dayNames=dayNamesEn) ->\n utc = if utcOutput then \"UTC\" else \"\"\n (record) -> #thanks http://stackoverflow.com/a/12213072/112871\n date = new Date(Date.parse(record[col]))\n if isNaN(date) then return \"\"\n formatString.replace /%(.)/g, (m, p) ->\n switch p\n when \"y\" then date[\"get#{utc}FullYear\"]()\n when \"m\" then zeroPad(date[\"get#{utc}Month\"]()+1)\n when \"n\" then mthNames[date[\"get#{utc}Month\"]()]\n when \"d\" then zeroPad(date[\"get#{utc}Date\"]())\n when \"w\" then dayNames[date[\"get#{utc}Day\"]()]\n when \"x\" then date[\"get#{utc}Day\"]()\n when \"H\" then zeroPad(date[\"get#{utc}Hours\"]())\n when \"M\" then zeroPad(date[\"get#{utc}Minutes\"]())\n when \"S\" then zeroPad(date[\"get#{utc}Seconds\"]())\n else \"%\" + p\n\n rx = /(\\d+)|(\\D+)/g\n rd = /\\d/\n rz = /^0/\n naturalSort = (as, bs) =>\n #nulls first\n return -1 if bs? and not as?\n return 1 if as? and not bs?\n\n #then raw NaNs\n return -1 if typeof as == \"number\" and isNaN(as)\n return 1 if typeof bs == \"number\" and isNaN(bs)\n\n #numbers and numbery strings group together\n nas = +as\n nbs = +bs\n return -1 if nas < nbs\n return 1 if nas > nbs\n\n #within that, true numbers before numbery strings\n return -1 if typeof as == \"number\" and typeof bs != \"number\"\n return 1 if typeof bs == \"number\" and typeof as != \"number\"\n return 0 if typeof as == \"number\" and typeof bs == \"number\"\n\n # 'Infinity' is a textual number, so less than 'A'\n return -1 if isNaN(nbs) and not isNaN(nas)\n return 1 if isNaN(nas) and not isNaN(nbs)\n\n #finally, \"smart\" string sorting per http://stackoverflow.com/a/4373421/112871\n a = String(as)\n b = String(bs)\n return 0 if a == b\n return (if a > b then 1 else -1) unless rd.test(a) and rd.test(b)\n\n #special treatment for strings containing digits\n a = a.match(rx) #create digits vs non-digit chunks and iterate through\n b = b.match(rx)\n while a.length and b.length\n a1 = a.shift()\n b1 = b.shift()\n if a1 != b1\n if rd.test(a1) and rd.test(b1) #both are digit chunks\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\")\n else\n return (if a1 > b1 then 1 else -1)\n return a.length - b.length\n\n sortAs = (order) ->\n mapping = {}\n l_mapping = {} # sort lowercased keys similarly\n for i, x of order\n mapping[x] = i\n l_mapping[x.toLowerCase()] = i if typeof x == \"string\"\n (a, b) ->\n if mapping[a]? and mapping[b]? then mapping[a] - mapping[b]\n else if mapping[a]? then -1\n else if mapping[b]? then 1\n else if l_mapping[a]? and l_mapping[b]? then l_mapping[a] - l_mapping[b]\n else if l_mapping[a]? then -1\n else if l_mapping[b]? then 1\n else naturalSort(a,b)\n\n getSort = (sorters, attr) ->\n if sorters?\n if $.isFunction(sorters)\n sort = sorters(attr)\n return sort if $.isFunction(sort)\n else if sorters[attr]?\n return sorters[attr]\n return naturalSort\n\n ###\n Data Model class\n ###\n\n class PivotData\n constructor: (input, opts = {}) ->\n @input = input\n @aggregator = opts.aggregator ? aggregatorTemplates.count()()\n @aggregatorName = opts.aggregatorName ? \"Count\"\n @colAttrs = opts.cols ? []\n @rowAttrs = opts.rows ? []\n @valAttrs = opts.vals ? []\n @sorters = opts.sorters ? {}\n @rowOrder = opts.rowOrder ? \"key_a_to_z\"\n @colOrder = opts.colOrder ? \"key_a_to_z\"\n @derivedAttributes = opts.derivedAttributes ? {}\n @filter = opts.filter ? (-> true)\n @tree = {}\n @rowKeys = []\n @colKeys = []\n @rowTotals = {}\n @colTotals = {}\n @allTotal = @aggregator(this, [], [])\n @sorted = false\n\n # iterate through input, accumulating data for cells\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n @processRecord(record) if @filter(record)\n\n #can handle arrays or jQuery selections of tables\n @forEachRecord = (input, derivedAttributes, f) ->\n if $.isEmptyObject derivedAttributes\n addRecord = f\n else\n addRecord = (record) ->\n record[k] = v(record) ? record[k] for k, v of derivedAttributes\n f(record)\n\n #if it's a function, have it call us back\n if $.isFunction(input)\n input(addRecord)\n else if $.isArray(input)\n if $.isArray(input[0]) #array of arrays\n for own i, compactRecord of input when i > 0\n record = {}\n record[k] = compactRecord[j] for own j, k of input[0]\n addRecord(record)\n else #array of objects\n addRecord(record) for record in input\n else if input instanceof $\n tblCols = []\n $(\"thead > tr > th\", input).each (i) -> tblCols.push $(this).text()\n $(\"tbody > tr\", input).each (i) ->\n record = {}\n $(\"td\", this).each (j) -> record[tblCols[j]] = $(this).text()\n addRecord(record)\n else\n throw new Error(\"unknown input format\")\n\n forEachMatchingRecord: (criteria, callback) ->\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n return if not @filter(record)\n for k, v of criteria\n return if v != (record[k] ? \"null\")\n callback(record)\n\n arrSort: (attrs) =>\n sortersArr = (getSort(@sorters, a) for a in attrs)\n (a,b) ->\n for own i, sorter of sortersArr\n comparison = sorter(a[i], b[i])\n return comparison if comparison != 0\n return 0\n\n sortKeys: () =>\n if not @sorted\n @sorted = true\n v = (r,c) => @getAggregator(r,c).value()\n switch @rowOrder\n when \"value_a_to_z\" then @rowKeys.sort (a,b) => naturalSort v(a,[]), v(b,[])\n when \"value_z_to_a\" then @rowKeys.sort (a,b) => -naturalSort v(a,[]), v(b,[])\n else @rowKeys.sort @arrSort(@rowAttrs)\n switch @colOrder\n when \"value_a_to_z\" then @colKeys.sort (a,b) => naturalSort v([],a), v([],b)\n when \"value_z_to_a\" then @colKeys.sort (a,b) => -naturalSort v([],a), v([],b)\n else @colKeys.sort @arrSort(@colAttrs)\n\n getColKeys: () =>\n @sortKeys()\n return @colKeys\n\n getRowKeys: () =>\n @sortKeys()\n return @rowKeys\n\n processRecord: (record) -> #this code is called in a tight loop\n colKey = []\n rowKey = []\n colKey.push record[x] ? \"null\" for x in @colAttrs\n rowKey.push record[x] ? \"null\" for x in @rowAttrs\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n\n @allTotal.push record\n\n if rowKey.length != 0\n if not @rowTotals[flatRowKey]\n @rowKeys.push rowKey\n @rowTotals[flatRowKey] = @aggregator(this, rowKey, [])\n @rowTotals[flatRowKey].push record\n\n if colKey.length != 0\n if not @colTotals[flatColKey]\n @colKeys.push colKey\n @colTotals[flatColKey] = @aggregator(this, [], colKey)\n @colTotals[flatColKey].push record\n\n if colKey.length != 0 and rowKey.length != 0\n if not @tree[flatRowKey]\n @tree[flatRowKey] = {}\n if not @tree[flatRowKey][flatColKey]\n @tree[flatRowKey][flatColKey] = @aggregator(this, rowKey, colKey)\n @tree[flatRowKey][flatColKey].push record\n\n getAggregator: (rowKey, colKey) =>\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n if rowKey.length == 0 and colKey.length == 0\n agg = @allTotal\n else if rowKey.length == 0\n agg = @colTotals[flatColKey]\n else if colKey.length == 0\n agg = @rowTotals[flatRowKey]\n else\n agg = @tree[flatRowKey][flatColKey]\n return agg ? {value: (-> null), format: -> \"\"}\n\n #expose these to the outside world\n $.pivotUtilities = {aggregatorTemplates, aggregators, renderers, derivers, locales,\n naturalSort, numberFormat, sortAs, PivotData}\n\n ###\n Default Renderer for hierarchical table layout\n ###\n\n pivotTableRenderer = (pivotData, opts) ->\n\n defaults =\n table:\n clickCallback: null\n rowTotals: true\n colTotals: true\n localeStrings: totals: \"Totals\"\n\n opts = $.extend(true, {}, defaults, opts)\n\n colAttrs = pivotData.colAttrs\n rowAttrs = pivotData.rowAttrs\n rowKeys = pivotData.getRowKeys()\n colKeys = pivotData.getColKeys()\n\n if opts.table.clickCallback\n getClickHandler = (value, rowValues, colValues) ->\n filters = {}\n filters[attr] = colValues[i] for own i, attr of colAttrs when colValues[i]?\n filters[attr] = rowValues[i] for own i, attr of rowAttrs when rowValues[i]?\n return (e) -> opts.table.clickCallback(e, value, filters, pivotData)\n\n #now actually build the output\n result = document.createElement(\"table\")\n result.className = \"pvtTable\"\n\n #helper function for setting row/col-span in pivotTableRenderer\n spanSize = (arr, i, j) ->\n if i != 0\n noDraw = true\n for x in [0..j]\n if arr[i-1][x] != arr[i][x]\n noDraw = false\n if noDraw\n return -1 #do not draw cell\n len = 0\n while i+len < arr.length\n stop = false\n for x in [0..j]\n stop = true if arr[i][x] != arr[i+len][x]\n break if stop\n len++\n return len\n\n #the first few rows are for col headers\n thead = document.createElement(\"thead\")\n for own j, c of colAttrs\n tr = document.createElement(\"tr\")\n if parseInt(j) == 0 and rowAttrs.length != 0\n th = document.createElement(\"th\")\n th.setAttribute(\"colspan\", rowAttrs.length)\n th.setAttribute(\"rowspan\", colAttrs.length)\n tr.appendChild th\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = c\n tr.appendChild th\n for own i, colKey of colKeys\n x = spanSize(colKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtColLabel\"\n th.textContent = colKey[j]\n th.setAttribute(\"colspan\", x)\n if parseInt(j) == colAttrs.length-1 and rowAttrs.length != 0\n th.setAttribute(\"rowspan\", 2)\n tr.appendChild th\n if parseInt(j) == 0 && opts.table.rowTotals\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"rowspan\", colAttrs.length + (if rowAttrs.length ==0 then 0 else 1))\n tr.appendChild th\n thead.appendChild tr\n\n #then a row for row header headers\n if rowAttrs.length !=0\n tr = document.createElement(\"tr\")\n for own i, r of rowAttrs\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = r\n tr.appendChild th\n th = document.createElement(\"th\")\n if colAttrs.length ==0\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n tr.appendChild th\n thead.appendChild tr\n result.appendChild thead\n\n #now the actual data rows, with their row headers and totals\n tbody = document.createElement(\"tbody\")\n for own i, rowKey of rowKeys\n tr = document.createElement(\"tr\")\n for own j, txt of rowKey\n x = spanSize(rowKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtRowLabel\"\n th.textContent = txt\n th.setAttribute(\"rowspan\", x)\n if parseInt(j) == rowAttrs.length-1 and colAttrs.length !=0\n th.setAttribute(\"colspan\",2)\n tr.appendChild th\n for own j, colKey of colKeys #this is the tight loop\n aggregator = pivotData.getAggregator(rowKey, colKey)\n val = aggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtVal row#{i} col#{j}\"\n td.textContent = aggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, colKey)\n tr.appendChild td\n\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator(rowKey, [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal rowTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, [])\n td.setAttribute(\"data-for\", \"row\"+i)\n tr.appendChild td\n tbody.appendChild tr\n\n #finally, the row for col totals, and a grand total\n if opts.table.colTotals || rowAttrs.length == 0\n tr = document.createElement(\"tr\")\n if opts.table.colTotals || rowAttrs.length == 0\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtColTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"colspan\", rowAttrs.length + (if colAttrs.length == 0 then 0 else 1))\n tr.appendChild th\n for own j, colKey of colKeys\n totalAggregator = pivotData.getAggregator([], colKey)\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal colTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], colKey)\n td.setAttribute(\"data-for\", \"col\"+j)\n tr.appendChild td\n if opts.table.rowTotals || colAttrs.length == 0\n totalAggregator = pivotData.getAggregator([], [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtGrandTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], [])\n tr.appendChild td\n tbody.appendChild tr\n result.appendChild tbody\n\n #squirrel this away for later\n result.setAttribute(\"data-numrows\", rowKeys.length)\n result.setAttribute(\"data-numcols\", colKeys.length)\n\n return result\n\n ###\n Pivot Table core: create PivotData object and call Renderer on it\n ###\n\n $.fn.pivot = (input, inputOpts, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n cols : [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n filter: -> true\n aggregator: aggregatorTemplates.count()()\n aggregatorName: \"Count\"\n sorters: {}\n derivedAttributes: {}\n renderer: pivotTableRenderer\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n\n result = null\n try\n pivotData = new opts.dataClass(input, opts)\n try\n result = opts.renderer(pivotData, opts.rendererOptions)\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.renderError\n catch e\n console.error(e.stack) if console?\n result = $(\"\").html opts.localeStrings.computeError\n\n x = this[0]\n x.removeChild(x.lastChild) while x.hasChildNodes()\n return @append result\n\n\n ###\n Pivot Table UI: calls Pivot Table core above with options set by user\n ###\n\n $.fn.pivotUI = (input, inputOpts, overwrite = false, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n derivedAttributes: {}\n aggregators: locales[locale].aggregators\n renderers: locales[locale].renderers\n hiddenAttributes: []\n hiddenFromAggregators: []\n hiddenFromDragDrop: []\n menuLimit: 500\n cols: [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n exclusions: {}\n inclusions: {}\n unusedAttrsVertical: 85\n autoSortUnusedAttrs: false\n onRefresh: null\n showUI: true\n filter: -> true\n sorters: {}\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n existingOpts = @data \"pivotUIOptions\"\n if not existingOpts? or overwrite\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n else\n opts = existingOpts\n\n try\n # do a first pass on the data to cache a materialized copy of any\n # function-valued inputs and to compute dimension cardinalities\n attrValues = {}\n materializedInput = []\n recordsProcessed = 0\n PivotData.forEachRecord input, opts.derivedAttributes, (record) ->\n return unless opts.filter(record)\n materializedInput.push(record)\n for own attr of record\n if not attrValues[attr]?\n attrValues[attr] = {}\n if recordsProcessed > 0\n attrValues[attr][\"null\"] = recordsProcessed\n for attr of attrValues\n value = record[attr] ? \"null\"\n attrValues[attr][value] ?= 0\n attrValues[attr][value]++\n recordsProcessed++\n\n #start building the output\n uiTable = $(\"\", \"class\": \"pvtUi\").attr(\"cellpadding\", 5)\n\n #renderer control\n rendererControl = $(\"\").addClass(\"pvtUiCell\")\n\n renderer = $(\"\")\n .addClass('pvtRenderer')\n .appendTo(rendererControl)\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.renderers\n $(\"\").val(x).html(x).appendTo(renderer)\n\n\n #axis list, including the double-click menu\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell')\n shownAttributes = (a for a of attrValues when a not in opts.hiddenAttributes)\n shownInAggregators = (c for c in shownAttributes when c not in opts.hiddenFromAggregators)\n shownInDragDrop = (c for c in shownAttributes when c not in opts.hiddenFromDragDrop)\n\n\n unusedAttrsVerticalAutoOverride = false\n if opts.unusedAttrsVertical == \"auto\"\n unusedAttrsVerticalAutoCutoff = 120 # legacy support\n else\n unusedAttrsVerticalAutoCutoff = parseInt opts.unusedAttrsVertical\n\n if not isNaN(unusedAttrsVerticalAutoCutoff)\n attrLength = 0\n attrLength += a.length for a in shownInDragDrop\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff\n\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n unused.addClass('pvtVertList')\n else\n unused.addClass('pvtHorizList')\n\n for own i, attr of shownInDragDrop\n do (attr) ->\n values = (v for v of attrValues[attr])\n hasExcludedItem = false\n valueList = $(\"\").addClass('pvtFilterBox').hide()\n\n valueList.append $(\"\").append(\n $(\"\").text(attr),\n $(\"\").addClass(\"count\").text(\"(#{values.length})\"),\n )\n if values.length > opts.menuLimit\n valueList.append $(\"\").html(opts.localeStrings.tooMany)\n else\n if values.length > 5\n controls = $(\"\").appendTo(valueList)\n sorter = getSort(opts.sorters, attr)\n placeholder = opts.localeStrings.filterResults\n $(\"\", {type: \"text\"}).appendTo(controls)\n .attr({placeholder: placeholder, class: \"pvtSearch\"})\n .bind \"keyup\", ->\n filter = $(this).val().toLowerCase().trim()\n accept_gen = (prefix, accepted) -> (v) ->\n real_filter = filter.substring(prefix.length).trim()\n return true if real_filter.length == 0\n return Math.sign(sorter(v.toLowerCase(), real_filter)) in accepted\n accept =\n if filter.indexOf(\">=\") == 0 then accept_gen(\">=\", [1,0])\n else if filter.indexOf(\"<=\") == 0 then accept_gen(\"<=\", [-1,0])\n else if filter.indexOf(\">\") == 0 then accept_gen(\">\", [1])\n else if filter.indexOf(\"<\") == 0 then accept_gen(\"<\", [-1])\n else if filter.indexOf(\"~\") == 0 then (v) ->\n return true if filter.substring(1).trim().length == 0\n v.toLowerCase().match(filter.substring(1))\n else (v) -> v.toLowerCase().indexOf(filter) != -1\n\n valueList.find('.pvtCheckContainer p label span.value').each ->\n if accept($(this).text())\n $(this).parent().parent().show()\n else\n $(this).parent().parent().hide()\n controls.append $(\"\")\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectAll)\n .bind \"click\", ->\n valueList.find(\"input:visible:not(:checked)\")\n .prop(\"checked\", true).toggleClass(\"changed\")\n return false\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectNone)\n .bind \"click\", ->\n valueList.find(\"input:visible:checked\")\n .prop(\"checked\", false).toggleClass(\"changed\")\n return false\n\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList)\n\n for value in values.sort(getSort(opts.sorters, attr))\n valueCount = attrValues[attr][value]\n filterItem = $(\"\")\n filterItemExcluded = false\n if opts.inclusions[attr]\n filterItemExcluded = (value not in opts.inclusions[attr])\n else if opts.exclusions[attr]\n filterItemExcluded = (value in opts.exclusions[attr])\n hasExcludedItem ||= filterItemExcluded\n $(\"\")\n .attr(\"type\", \"checkbox\").addClass('pvtFilter')\n .attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr,value])\n .appendTo(filterItem)\n .bind \"change\", -> $(this).toggleClass(\"changed\")\n filterItem.append $(\"\").addClass(\"value\").text(value)\n filterItem.append $(\"\").addClass(\"count\").text(\"(\"+valueCount+\")\")\n checkContainer.append $(\"\").append(filterItem)\n\n closeFilterBox = ->\n if valueList.find(\"[type='checkbox']\").length >\n valueList.find(\"[type='checkbox']:checked\").length\n attrElem.addClass \"pvtFilteredAttribute\"\n else\n attrElem.removeClass \"pvtFilteredAttribute\"\n\n valueList.find('.pvtSearch').val('')\n valueList.find('.pvtCheckContainer p').show()\n valueList.hide()\n\n finalButtons = $(\"\").appendTo(valueList)\n\n if values.length <= opts.menuLimit\n $(\"\", {type: \"button\"}).text(opts.localeStrings.apply)\n .appendTo(finalButtons).bind \"click\", ->\n if valueList.find(\".changed\").removeClass(\"changed\").length\n refresh()\n closeFilterBox()\n\n $(\"\", {type: \"button\"}).text(opts.localeStrings.cancel)\n .appendTo(finalButtons).bind \"click\", ->\n valueList.find(\".changed:checked\")\n .removeClass(\"changed\").prop(\"checked\", false)\n valueList.find(\".changed:not(:checked)\")\n .removeClass(\"changed\").prop(\"checked\", true)\n closeFilterBox()\n\n triangleLink = $(\"\").addClass('pvtTriangle')\n .html(\" ▾\").bind \"click\", (e) ->\n {left, top} = $(e.currentTarget).position()\n valueList.css(left: left+10, top: top+10).show()\n\n attrElem = $(\"\").addClass(\"axis_#{i}\")\n .append $(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink)\n\n attrElem.addClass('pvtFilteredAttribute') if hasExcludedItem\n unused.append(attrElem).append(valueList)\n\n tr1 = $(\"\").appendTo(uiTable)\n\n #aggregator menu and value area\n\n aggregator = $(\"\").addClass('pvtAggregator')\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.aggregators\n aggregator.append $(\"\").val(x).html(x)\n\n ordering =\n key_a_to_z: {rowSymbol: \"↕\", colSymbol: \"↔\", next: \"value_a_to_z\"}\n value_a_to_z: {rowSymbol: \"↓\", colSymbol: \"→\", next: \"value_z_to_a\"}\n value_z_to_a: {rowSymbol: \"↑\", colSymbol: \"←\", next: \"key_a_to_z\"}\n\n rowOrderArrow = $(\"\", role: \"button\").addClass(\"pvtRowOrder\")\n .data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol)\n refresh()\n\n colOrderArrow = $(\"\", role: \"button\").addClass(\"pvtColOrder\")\n .data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].colSymbol)\n refresh()\n\n $(\"\").addClass('pvtVals pvtUiCell')\n .appendTo(tr1)\n .append(aggregator)\n .append(rowOrderArrow)\n .append(colOrderArrow)\n .append($(\"\"))\n\n #column axes\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1)\n\n tr2 = $(\"\").appendTo(uiTable)\n\n #row axes\n tr2.append $(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\")\n\n #the actual pivot table container\n pivotTable = $(\"\")\n .attr(\"valign\", \"top\")\n .addClass('pvtRendererArea')\n .appendTo(tr2)\n\n #finally the renderer dropdown and unused attribs are inserted at the requested location\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n uiTable.find('tr:nth-child(1)').prepend rendererControl\n uiTable.find('tr:nth-child(2)').prepend unused\n else\n uiTable.prepend $(\"\").append(rendererControl).append(unused)\n\n #render the UI in its default state\n @html uiTable\n\n #set up the UI initial state as requested by moving elements around\n\n for x in opts.cols\n @find(\".pvtCols\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n for x in opts.rows\n @find(\".pvtRows\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n if opts.aggregatorName?\n @find(\".pvtAggregator\").val opts.aggregatorName\n if opts.rendererName?\n @find(\".pvtRenderer\").val opts.rendererName\n\n @find(\".pvtUiCell\").hide() unless opts.showUI\n\n initialRender = true\n\n #set up for refreshing\n refreshDelayed = =>\n subopts =\n derivedAttributes: opts.derivedAttributes\n localeStrings: opts.localeStrings\n rendererOptions: opts.rendererOptions\n sorters: opts.sorters\n cols: [], rows: []\n dataClass: opts.dataClass\n\n numInputsToProcess = opts.aggregators[aggregator.val()]([])().numInputs ? 0\n vals = []\n @find(\".pvtRows li span.pvtAttr\").each -> subopts.rows.push $(this).data(\"attrName\")\n @find(\".pvtCols li span.pvtAttr\").each -> subopts.cols.push $(this).data(\"attrName\")\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n if numInputsToProcess == 0\n $(this).remove()\n else\n numInputsToProcess--\n vals.push $(this).val() if $(this).val() != \"\"\n\n if numInputsToProcess != 0\n pvtVals = @find(\".pvtVals\")\n for x in [0...numInputsToProcess]\n newDropdown = $(\"\")\n .addClass('pvtAttrDropdown')\n .append($(\"\"))\n .bind \"change\", -> refresh()\n for attr in shownInAggregators\n newDropdown.append($(\"\").val(attr).text(attr))\n pvtVals.append(newDropdown)\n\n if initialRender\n vals = opts.vals\n i = 0\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n $(this).val vals[i]\n i++\n initialRender = false\n\n subopts.aggregatorName = aggregator.val()\n subopts.vals = vals\n subopts.aggregator = opts.aggregators[aggregator.val()](vals)\n subopts.renderer = opts.renderers[renderer.val()]\n subopts.rowOrder = rowOrderArrow.data(\"order\")\n subopts.colOrder = colOrderArrow.data(\"order\")\n #construct filter here\n exclusions = {}\n @find('input.pvtFilter').not(':checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n exclusions[filter[0]].push( filter[1] )\n else\n exclusions[filter[0]] = [ filter[1] ]\n #include inclusions when exclusions present\n inclusions = {}\n @find('input.pvtFilter:checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n if inclusions[filter[0]]?\n inclusions[filter[0]].push( filter[1] )\n else\n inclusions[filter[0]] = [ filter[1] ]\n\n subopts.filter = (record) ->\n return false if not opts.filter(record)\n for k,excludedItems of exclusions\n return false if \"\"+(record[k] ? 'null') in excludedItems\n return true\n\n pivotTable.pivot(materializedInput,subopts)\n pivotUIOptions = $.extend {}, opts,\n cols: subopts.cols\n rows: subopts.rows\n colOrder: subopts.colOrder\n rowOrder: subopts.rowOrder\n vals: vals\n exclusions: exclusions\n inclusions: inclusions\n inclusionsInfo: inclusions #duplicated for backwards-compatibility\n aggregatorName: aggregator.val()\n rendererName: renderer.val()\n\n @data \"pivotUIOptions\", pivotUIOptions\n\n # if requested make sure unused columns are in alphabetical order\n if opts.autoSortUnusedAttrs\n unusedAttrsContainer = @find(\"td.pvtUnused.pvtAxisContainer\")\n $(unusedAttrsContainer).children(\"li\")\n .sort((a, b) => naturalSort($(a).text(), $(b).text()))\n .appendTo unusedAttrsContainer\n\n pivotTable.css(\"opacity\", 1)\n opts.onRefresh(pivotUIOptions) if opts.onRefresh?\n\n refresh = =>\n pivotTable.css(\"opacity\", 0.5)\n setTimeout refreshDelayed, 10\n\n #the very first refresh will actually display the table\n refresh()\n\n @find(\".pvtAxisContainer\").sortable\n update: (e, ui) -> refresh() if not ui.sender?\n connectWith: @find(\".pvtAxisContainer\")\n items: 'li'\n placeholder: 'pvtPlaceholder'\n catch e\n console.error(e.stack) if console?\n @html opts.localeStrings.uiRenderError\n return this\n\n ###\n Heatmap post-processing\n ###\n\n $.fn.heatmap = (scope = \"heatmap\", opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n # given a series of values\n # must return a function to map a given value to a CSS color\n colorScaleGenerator = opts?.heatmap?.colorScaleGenerator\n colorScaleGenerator ?= (values) ->\n min = Math.min(values...)\n max = Math.max(values...)\n return (x) ->\n nonRed = 255 - Math.round 255*(x-min)/(max-min)\n return \"rgb(255,#{nonRed},#{nonRed})\"\n\n heatmapper = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n colorScale = colorScaleGenerator(values)\n forEachCell (x, elem) -> elem.css \"background-color\", colorScale(x)\n\n switch scope\n when \"heatmap\" then heatmapper \".pvtVal\"\n when \"rowheatmap\" then heatmapper \".pvtVal.row#{i}\" for i in [0...numRows]\n when \"colheatmap\" then heatmapper \".pvtVal.col#{j}\" for j in [0...numCols]\n\n heatmapper \".pvtTotal.rowTotal\"\n heatmapper \".pvtTotal.colTotal\"\n\n return this\n\n ###\n Barchart post-processing\n ###\n\n $.fn.barchart = (opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n barcharter = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n max = Math.max(values...)\n if max < 0\n max = 0\n range = max;\n min = Math.min(values...)\n if min < 0\n range = max - min\n scaler = (x) -> 100*x/(1.4*range)\n forEachCell (x, elem) ->\n text = elem.text()\n wrapper = $(\"\").css\n \"position\": \"relative\"\n \"height\": \"55px\"\n bgColor = \"gray\"\n bBase = 0\n if min < 0\n bBase = scaler(-min)\n if x < 0\n bBase += scaler(x)\n bgColor = \"darkred\"\n x = -x\n wrapper.append $(\"\").css\n \"position\": \"absolute\"\n \"bottom\": bBase + \"%\"\n \"left\": 0\n \"right\": 0\n \"height\": scaler(x) + \"%\"\n \"background-color\": bgColor\n wrapper.append $(\"\").text(text).css\n \"position\":\"relative\"\n \"padding-left\":\"5px\"\n \"padding-right\":\"5px\"\n\n elem.css(\"padding\": 0,\"padding-top\": \"5px\", \"text-align\": \"center\").html wrapper\n\n barcharter \".pvtVal.row#{i}\" for i in [0...numRows]\n barcharter \".pvtTotal.colTotal\"\n\n return this\n","(function() {\n var callWithJQuery,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },\n slice = [].slice,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n hasProp = {}.hasOwnProperty;\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\n /*\n Utilities\n */\n var PivotData, addSeparators, aggregatorTemplates, aggregators, dayNamesEn, derivers, getSort, locales, mthNamesEn, naturalSort, numberFormat, pivotTableRenderer, rd, renderers, rx, rz, sortAs, usFmt, usFmtInt, usFmtPct, zeroPad;\n addSeparators = function(nStr, thousandsSep, decimalSep) {\n var rgx, x, x1, x2;\n nStr += '';\n x = nStr.split('.');\n x1 = x[0];\n x2 = x.length > 1 ? decimalSep + x[1] : '';\n rgx = /(\\d+)(\\d{3})/;\n while (rgx.test(x1)) {\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2');\n }\n return x1 + x2;\n };\n numberFormat = function(opts) {\n var defaults;\n defaults = {\n digitsAfterDecimal: 2,\n scaler: 1,\n thousandsSep: \",\",\n decimalSep: \".\",\n prefix: \"\",\n suffix: \"\"\n };\n opts = $.extend({}, defaults, opts);\n return function(x) {\n var result;\n if (isNaN(x) || !isFinite(x)) {\n return \"\";\n }\n result = addSeparators((opts.scaler * x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep);\n return \"\" + opts.prefix + result + opts.suffix;\n };\n };\n usFmt = numberFormat();\n usFmtInt = numberFormat({\n digitsAfterDecimal: 0\n });\n usFmtPct = numberFormat({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\"\n });\n aggregatorTemplates = {\n count: function(formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function() {\n return function(data, rowKey, colKey) {\n return {\n count: 0,\n push: function() {\n return this.count++;\n },\n value: function() {\n return this.count;\n },\n format: formatter\n };\n };\n };\n },\n uniques: function(fn, formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n uniq: [],\n push: function(record) {\n var ref;\n if (ref = record[attr], indexOf.call(this.uniq, ref) < 0) {\n return this.uniq.push(record[attr]);\n }\n },\n value: function() {\n return fn(this.uniq);\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n sum: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[attr]))) {\n return this.sum += parseFloat(record[attr]);\n }\n },\n value: function() {\n return this.sum;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n extremes: function(mode, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n val: null,\n sorter: getSort(data != null ? data.sorters : void 0, attr),\n push: function(record) {\n var ref, ref1, ref2, x;\n x = record[attr];\n if (mode === \"min\" || mode === \"max\") {\n x = parseFloat(x);\n if (!isNaN(x)) {\n this.val = Math[mode](x, (ref = this.val) != null ? ref : x);\n }\n }\n if (mode === \"first\") {\n if (this.sorter(x, (ref1 = this.val) != null ? ref1 : x) <= 0) {\n this.val = x;\n }\n }\n if (mode === \"last\") {\n if (this.sorter(x, (ref2 = this.val) != null ? ref2 : x) >= 0) {\n return this.val = x;\n }\n }\n },\n value: function() {\n return this.val;\n },\n format: function(x) {\n if (isNaN(x)) {\n return x;\n } else {\n return formatter(x);\n }\n },\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n quantile: function(q, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n vals: [],\n push: function(record) {\n var x;\n x = parseFloat(record[attr]);\n if (!isNaN(x)) {\n return this.vals.push(x);\n }\n },\n value: function() {\n var i;\n if (this.vals.length === 0) {\n return null;\n }\n this.vals.sort(function(a, b) {\n return a - b;\n });\n i = (this.vals.length - 1) * q;\n return (this.vals[Math.floor(i)] + this.vals[Math.ceil(i)]) / 2.0;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n runningStat: function(mode, ddof, formatter) {\n if (mode == null) {\n mode = \"mean\";\n }\n if (ddof == null) {\n ddof = 1;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n n: 0.0,\n m: 0.0,\n s: 0.0,\n push: function(record) {\n var m_new, x;\n x = parseFloat(record[attr]);\n if (isNaN(x)) {\n return;\n }\n this.n += 1.0;\n if (this.n === 1.0) {\n return this.m = x;\n } else {\n m_new = this.m + (x - this.m) / this.n;\n this.s = this.s + (x - this.m) * (x - m_new);\n return this.m = m_new;\n }\n },\n value: function() {\n if (mode === \"mean\") {\n if (this.n === 0) {\n return 0 / 0;\n } else {\n return this.m;\n }\n }\n if (this.n <= ddof) {\n return 0;\n }\n switch (mode) {\n case \"var\":\n return this.s / (this.n - ddof);\n case \"stdev\":\n return Math.sqrt(this.s / (this.n - ddof));\n }\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sumOverSum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n return this.sumNum / this.sumDenom;\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n sumOverSumBound80: function(upper, formatter) {\n if (upper == null) {\n upper = true;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n var sign;\n sign = upper ? 1 : -1;\n return (0.821187207574908 / this.sumDenom + this.sumNum / this.sumDenom + 1.2815515655446004 * sign * Math.sqrt(0.410593603787454 / (this.sumDenom * this.sumDenom) + (this.sumNum * (1 - this.sumNum / this.sumDenom)) / (this.sumDenom * this.sumDenom))) / (1 + 1.642374415149816 / this.sumDenom);\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n fractionOf: function(wrapped, type, formatter) {\n if (type == null) {\n type = \"total\";\n }\n if (formatter == null) {\n formatter = usFmtPct;\n }\n return function() {\n var x;\n x = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return function(data, rowKey, colKey) {\n return {\n selector: {\n total: [[], []],\n row: [rowKey, []],\n col: [[], colKey]\n }[type],\n inner: wrapped.apply(null, x)(data, rowKey, colKey),\n push: function(record) {\n return this.inner.push(record);\n },\n format: formatter,\n value: function() {\n return this.inner.value() / data.getAggregator.apply(data, this.selector).inner.value();\n },\n numInputs: wrapped.apply(null, x)().numInputs\n };\n };\n };\n }\n };\n aggregatorTemplates.countUnique = function(f) {\n return aggregatorTemplates.uniques((function(x) {\n return x.length;\n }), f);\n };\n aggregatorTemplates.listUnique = function(s) {\n return aggregatorTemplates.uniques((function(x) {\n return x.sort(naturalSort).join(s);\n }), (function(x) {\n return x;\n }));\n };\n aggregatorTemplates.max = function(f) {\n return aggregatorTemplates.extremes('max', f);\n };\n aggregatorTemplates.min = function(f) {\n return aggregatorTemplates.extremes('min', f);\n };\n aggregatorTemplates.first = function(f) {\n return aggregatorTemplates.extremes('first', f);\n };\n aggregatorTemplates.last = function(f) {\n return aggregatorTemplates.extremes('last', f);\n };\n aggregatorTemplates.median = function(f) {\n return aggregatorTemplates.quantile(0.5, f);\n };\n aggregatorTemplates.average = function(f) {\n return aggregatorTemplates.runningStat(\"mean\", 1, f);\n };\n aggregatorTemplates[\"var\"] = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"var\", ddof, f);\n };\n aggregatorTemplates.stdev = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"stdev\", ddof, f);\n };\n aggregators = (function(tpl) {\n return {\n \"Count\": tpl.count(usFmtInt),\n \"Count Unique Values\": tpl.countUnique(usFmtInt),\n \"List Unique Values\": tpl.listUnique(\", \"),\n \"Sum\": tpl.sum(usFmt),\n \"Integer Sum\": tpl.sum(usFmtInt),\n \"Average\": tpl.average(usFmt),\n \"Median\": tpl.median(usFmt),\n \"Sample Variance\": tpl[\"var\"](1, usFmt),\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt),\n \"Minimum\": tpl.min(usFmt),\n \"Maximum\": tpl.max(usFmt),\n \"First\": tpl.first(usFmt),\n \"Last\": tpl.last(usFmt),\n \"Sum over Sum\": tpl.sumOverSum(usFmt),\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt),\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt),\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct),\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct),\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct),\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct),\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct),\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n };\n })(aggregatorTemplates);\n renderers = {\n \"Table\": function(data, opts) {\n return pivotTableRenderer(data, opts);\n },\n \"Table Barchart\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).barchart();\n },\n \"Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts);\n },\n \"Row Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts);\n },\n \"Col Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts);\n }\n };\n locales = {\n en: {\n aggregators: aggregators,\n renderers: renderers,\n localeStrings: {\n renderError: \"An error occurred rendering the PivotTable results.\",\n computeError: \"An error occurred computing the PivotTable results.\",\n uiRenderError: \"An error occurred rendering the PivotTable UI.\",\n selectAll: \"Select All\",\n selectNone: \"Select None\",\n tooMany: \"(too many to list)\",\n filterResults: \"Filter values\",\n apply: \"Apply\",\n cancel: \"Cancel\",\n totals: \"Totals\",\n vs: \"vs\",\n by: \"by\"\n }\n }\n };\n mthNamesEn = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n dayNamesEn = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n zeroPad = function(number) {\n return (\"0\" + number).substr(-2, 2);\n };\n derivers = {\n bin: function(col, binWidth) {\n return function(record) {\n return record[col] - record[col] % binWidth;\n };\n },\n dateFormat: function(col, formatString, utcOutput, mthNames, dayNames) {\n var utc;\n if (utcOutput == null) {\n utcOutput = false;\n }\n if (mthNames == null) {\n mthNames = mthNamesEn;\n }\n if (dayNames == null) {\n dayNames = dayNamesEn;\n }\n utc = utcOutput ? \"UTC\" : \"\";\n return function(record) {\n var date;\n date = new Date(Date.parse(record[col]));\n if (isNaN(date)) {\n return \"\";\n }\n return formatString.replace(/%(.)/g, function(m, p) {\n switch (p) {\n case \"y\":\n return date[\"get\" + utc + \"FullYear\"]();\n case \"m\":\n return zeroPad(date[\"get\" + utc + \"Month\"]() + 1);\n case \"n\":\n return mthNames[date[\"get\" + utc + \"Month\"]()];\n case \"d\":\n return zeroPad(date[\"get\" + utc + \"Date\"]());\n case \"w\":\n return dayNames[date[\"get\" + utc + \"Day\"]()];\n case \"x\":\n return date[\"get\" + utc + \"Day\"]();\n case \"H\":\n return zeroPad(date[\"get\" + utc + \"Hours\"]());\n case \"M\":\n return zeroPad(date[\"get\" + utc + \"Minutes\"]());\n case \"S\":\n return zeroPad(date[\"get\" + utc + \"Seconds\"]());\n default:\n return \"%\" + p;\n }\n });\n };\n }\n };\n rx = /(\\d+)|(\\D+)/g;\n rd = /\\d/;\n rz = /^0/;\n naturalSort = (function(_this) {\n return function(as, bs) {\n var a, a1, b, b1, nas, nbs;\n if ((bs != null) && (as == null)) {\n return -1;\n }\n if ((as != null) && (bs == null)) {\n return 1;\n }\n if (typeof as === \"number\" && isNaN(as)) {\n return -1;\n }\n if (typeof bs === \"number\" && isNaN(bs)) {\n return 1;\n }\n nas = +as;\n nbs = +bs;\n if (nas < nbs) {\n return -1;\n }\n if (nas > nbs) {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs !== \"number\") {\n return -1;\n }\n if (typeof bs === \"number\" && typeof as !== \"number\") {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs === \"number\") {\n return 0;\n }\n if (isNaN(nbs) && !isNaN(nas)) {\n return -1;\n }\n if (isNaN(nas) && !isNaN(nbs)) {\n return 1;\n }\n a = String(as);\n b = String(bs);\n if (a === b) {\n return 0;\n }\n if (!(rd.test(a) && rd.test(b))) {\n return (a > b ? 1 : -1);\n }\n a = a.match(rx);\n b = b.match(rx);\n while (a.length && b.length) {\n a1 = a.shift();\n b1 = b.shift();\n if (a1 !== b1) {\n if (rd.test(a1) && rd.test(b1)) {\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\");\n } else {\n return (a1 > b1 ? 1 : -1);\n }\n }\n }\n return a.length - b.length;\n };\n })(this);\n sortAs = function(order) {\n var i, l_mapping, mapping, x;\n mapping = {};\n l_mapping = {};\n for (i in order) {\n x = order[i];\n mapping[x] = i;\n if (typeof x === \"string\") {\n l_mapping[x.toLowerCase()] = i;\n }\n }\n return function(a, b) {\n if ((mapping[a] != null) && (mapping[b] != null)) {\n return mapping[a] - mapping[b];\n } else if (mapping[a] != null) {\n return -1;\n } else if (mapping[b] != null) {\n return 1;\n } else if ((l_mapping[a] != null) && (l_mapping[b] != null)) {\n return l_mapping[a] - l_mapping[b];\n } else if (l_mapping[a] != null) {\n return -1;\n } else if (l_mapping[b] != null) {\n return 1;\n } else {\n return naturalSort(a, b);\n }\n };\n };\n getSort = function(sorters, attr) {\n var sort;\n if (sorters != null) {\n if ($.isFunction(sorters)) {\n sort = sorters(attr);\n if ($.isFunction(sort)) {\n return sort;\n }\n } else if (sorters[attr] != null) {\n return sorters[attr];\n }\n }\n return naturalSort;\n };\n\n /*\n Data Model class\n */\n PivotData = (function() {\n function PivotData(input, opts) {\n var ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9;\n if (opts == null) {\n opts = {};\n }\n this.getAggregator = bind(this.getAggregator, this);\n this.getRowKeys = bind(this.getRowKeys, this);\n this.getColKeys = bind(this.getColKeys, this);\n this.sortKeys = bind(this.sortKeys, this);\n this.arrSort = bind(this.arrSort, this);\n this.input = input;\n this.aggregator = (ref = opts.aggregator) != null ? ref : aggregatorTemplates.count()();\n this.aggregatorName = (ref1 = opts.aggregatorName) != null ? ref1 : \"Count\";\n this.colAttrs = (ref2 = opts.cols) != null ? ref2 : [];\n this.rowAttrs = (ref3 = opts.rows) != null ? ref3 : [];\n this.valAttrs = (ref4 = opts.vals) != null ? ref4 : [];\n this.sorters = (ref5 = opts.sorters) != null ? ref5 : {};\n this.rowOrder = (ref6 = opts.rowOrder) != null ? ref6 : \"key_a_to_z\";\n this.colOrder = (ref7 = opts.colOrder) != null ? ref7 : \"key_a_to_z\";\n this.derivedAttributes = (ref8 = opts.derivedAttributes) != null ? ref8 : {};\n this.filter = (ref9 = opts.filter) != null ? ref9 : (function() {\n return true;\n });\n this.tree = {};\n this.rowKeys = [];\n this.colKeys = [];\n this.rowTotals = {};\n this.colTotals = {};\n this.allTotal = this.aggregator(this, [], []);\n this.sorted = false;\n PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n if (_this.filter(record)) {\n return _this.processRecord(record);\n }\n };\n })(this));\n }\n\n PivotData.forEachRecord = function(input, derivedAttributes, f) {\n var addRecord, compactRecord, i, j, k, l, len1, record, ref, results, results1, tblCols;\n if ($.isEmptyObject(derivedAttributes)) {\n addRecord = f;\n } else {\n addRecord = function(record) {\n var k, ref, v;\n for (k in derivedAttributes) {\n v = derivedAttributes[k];\n record[k] = (ref = v(record)) != null ? ref : record[k];\n }\n return f(record);\n };\n }\n if ($.isFunction(input)) {\n return input(addRecord);\n } else if ($.isArray(input)) {\n if ($.isArray(input[0])) {\n results = [];\n for (i in input) {\n if (!hasProp.call(input, i)) continue;\n compactRecord = input[i];\n if (!(i > 0)) {\n continue;\n }\n record = {};\n ref = input[0];\n for (j in ref) {\n if (!hasProp.call(ref, j)) continue;\n k = ref[j];\n record[k] = compactRecord[j];\n }\n results.push(addRecord(record));\n }\n return results;\n } else {\n results1 = [];\n for (l = 0, len1 = input.length; l < len1; l++) {\n record = input[l];\n results1.push(addRecord(record));\n }\n return results1;\n }\n } else if (input instanceof $) {\n tblCols = [];\n $(\"thead > tr > th\", input).each(function(i) {\n return tblCols.push($(this).text());\n });\n return $(\"tbody > tr\", input).each(function(i) {\n record = {};\n $(\"td\", this).each(function(j) {\n return record[tblCols[j]] = $(this).text();\n });\n return addRecord(record);\n });\n } else {\n throw new Error(\"unknown input format\");\n }\n };\n\n PivotData.prototype.forEachMatchingRecord = function(criteria, callback) {\n return PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n var k, ref, v;\n if (!_this.filter(record)) {\n return;\n }\n for (k in criteria) {\n v = criteria[k];\n if (v !== ((ref = record[k]) != null ? ref : \"null\")) {\n return;\n }\n }\n return callback(record);\n };\n })(this));\n };\n\n PivotData.prototype.arrSort = function(attrs) {\n var a, sortersArr;\n sortersArr = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = attrs.length; l < len1; l++) {\n a = attrs[l];\n results.push(getSort(this.sorters, a));\n }\n return results;\n }).call(this);\n return function(a, b) {\n var comparison, i, sorter;\n for (i in sortersArr) {\n if (!hasProp.call(sortersArr, i)) continue;\n sorter = sortersArr[i];\n comparison = sorter(a[i], b[i]);\n if (comparison !== 0) {\n return comparison;\n }\n }\n return 0;\n };\n };\n\n PivotData.prototype.sortKeys = function() {\n var v;\n if (!this.sorted) {\n this.sorted = true;\n v = (function(_this) {\n return function(r, c) {\n return _this.getAggregator(r, c).value();\n };\n })(this);\n switch (this.rowOrder) {\n case \"value_a_to_z\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n case \"value_z_to_a\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n default:\n this.rowKeys.sort(this.arrSort(this.rowAttrs));\n }\n switch (this.colOrder) {\n case \"value_a_to_z\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v([], a), v([], b));\n };\n })(this));\n case \"value_z_to_a\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v([], a), v([], b));\n };\n })(this));\n default:\n return this.colKeys.sort(this.arrSort(this.colAttrs));\n }\n }\n };\n\n PivotData.prototype.getColKeys = function() {\n this.sortKeys();\n return this.colKeys;\n };\n\n PivotData.prototype.getRowKeys = function() {\n this.sortKeys();\n return this.rowKeys;\n };\n\n PivotData.prototype.processRecord = function(record) {\n var colKey, flatColKey, flatRowKey, l, len1, len2, n, ref, ref1, ref2, ref3, rowKey, x;\n colKey = [];\n rowKey = [];\n ref = this.colAttrs;\n for (l = 0, len1 = ref.length; l < len1; l++) {\n x = ref[l];\n colKey.push((ref1 = record[x]) != null ? ref1 : \"null\");\n }\n ref2 = this.rowAttrs;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n rowKey.push((ref3 = record[x]) != null ? ref3 : \"null\");\n }\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n this.allTotal.push(record);\n if (rowKey.length !== 0) {\n if (!this.rowTotals[flatRowKey]) {\n this.rowKeys.push(rowKey);\n this.rowTotals[flatRowKey] = this.aggregator(this, rowKey, []);\n }\n this.rowTotals[flatRowKey].push(record);\n }\n if (colKey.length !== 0) {\n if (!this.colTotals[flatColKey]) {\n this.colKeys.push(colKey);\n this.colTotals[flatColKey] = this.aggregator(this, [], colKey);\n }\n this.colTotals[flatColKey].push(record);\n }\n if (colKey.length !== 0 && rowKey.length !== 0) {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n if (!this.tree[flatRowKey][flatColKey]) {\n this.tree[flatRowKey][flatColKey] = this.aggregator(this, rowKey, colKey);\n }\n return this.tree[flatRowKey][flatColKey].push(record);\n }\n };\n\n PivotData.prototype.getAggregator = function(rowKey, colKey) {\n var agg, flatColKey, flatRowKey;\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n if (rowKey.length === 0 && colKey.length === 0) {\n agg = this.allTotal;\n } else if (rowKey.length === 0) {\n agg = this.colTotals[flatColKey];\n } else if (colKey.length === 0) {\n agg = this.rowTotals[flatRowKey];\n } else {\n agg = this.tree[flatRowKey][flatColKey];\n }\n return agg != null ? agg : {\n value: (function() {\n return null;\n }),\n format: function() {\n return \"\";\n }\n };\n };\n\n return PivotData;\n\n })();\n $.pivotUtilities = {\n aggregatorTemplates: aggregatorTemplates,\n aggregators: aggregators,\n renderers: renderers,\n derivers: derivers,\n locales: locales,\n naturalSort: naturalSort,\n numberFormat: numberFormat,\n sortAs: sortAs,\n PivotData: PivotData\n };\n\n /*\n Default Renderer for hierarchical table layout\n */\n pivotTableRenderer = function(pivotData, opts) {\n 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;\n defaults = {\n table: {\n clickCallback: null,\n rowTotals: true,\n colTotals: true\n },\n localeStrings: {\n totals: \"Totals\"\n }\n };\n opts = $.extend(true, {}, defaults, opts);\n colAttrs = pivotData.colAttrs;\n rowAttrs = pivotData.rowAttrs;\n rowKeys = pivotData.getRowKeys();\n colKeys = pivotData.getColKeys();\n if (opts.table.clickCallback) {\n getClickHandler = function(value, rowValues, colValues) {\n var attr, filters, i;\n filters = {};\n for (i in colAttrs) {\n if (!hasProp.call(colAttrs, i)) continue;\n attr = colAttrs[i];\n if (colValues[i] != null) {\n filters[attr] = colValues[i];\n }\n }\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n attr = rowAttrs[i];\n if (rowValues[i] != null) {\n filters[attr] = rowValues[i];\n }\n }\n return function(e) {\n return opts.table.clickCallback(e, value, filters, pivotData);\n };\n };\n }\n result = document.createElement(\"table\");\n result.className = \"pvtTable\";\n spanSize = function(arr, i, j) {\n var l, len, n, noDraw, ref, ref1, stop, x;\n if (i !== 0) {\n noDraw = true;\n for (x = l = 0, ref = j; 0 <= ref ? l <= ref : l >= ref; x = 0 <= ref ? ++l : --l) {\n if (arr[i - 1][x] !== arr[i][x]) {\n noDraw = false;\n }\n }\n if (noDraw) {\n return -1;\n }\n }\n len = 0;\n while (i + len < arr.length) {\n stop = false;\n for (x = n = 0, ref1 = j; 0 <= ref1 ? n <= ref1 : n >= ref1; x = 0 <= ref1 ? ++n : --n) {\n if (arr[i][x] !== arr[i + len][x]) {\n stop = true;\n }\n }\n if (stop) {\n break;\n }\n len++;\n }\n return len;\n };\n thead = document.createElement(\"thead\");\n for (j in colAttrs) {\n if (!hasProp.call(colAttrs, j)) continue;\n c = colAttrs[j];\n tr = document.createElement(\"tr\");\n if (parseInt(j) === 0 && rowAttrs.length !== 0) {\n th = document.createElement(\"th\");\n th.setAttribute(\"colspan\", rowAttrs.length);\n th.setAttribute(\"rowspan\", colAttrs.length);\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = c;\n tr.appendChild(th);\n for (i in colKeys) {\n if (!hasProp.call(colKeys, i)) continue;\n colKey = colKeys[i];\n x = spanSize(colKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtColLabel\";\n th.textContent = colKey[j];\n th.setAttribute(\"colspan\", x);\n if (parseInt(j) === colAttrs.length - 1 && rowAttrs.length !== 0) {\n th.setAttribute(\"rowspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n if (parseInt(j) === 0 && opts.table.rowTotals) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"rowspan\", colAttrs.length + (rowAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n thead.appendChild(tr);\n }\n if (rowAttrs.length !== 0) {\n tr = document.createElement(\"tr\");\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n r = rowAttrs[i];\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = r;\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n if (colAttrs.length === 0) {\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n }\n tr.appendChild(th);\n thead.appendChild(tr);\n }\n result.appendChild(thead);\n tbody = document.createElement(\"tbody\");\n for (i in rowKeys) {\n if (!hasProp.call(rowKeys, i)) continue;\n rowKey = rowKeys[i];\n tr = document.createElement(\"tr\");\n for (j in rowKey) {\n if (!hasProp.call(rowKey, j)) continue;\n txt = rowKey[j];\n x = spanSize(rowKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtRowLabel\";\n th.textContent = txt;\n th.setAttribute(\"rowspan\", x);\n if (parseInt(j) === rowAttrs.length - 1 && colAttrs.length !== 0) {\n th.setAttribute(\"colspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n aggregator = pivotData.getAggregator(rowKey, colKey);\n val = aggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtVal row\" + i + \" col\" + j;\n td.textContent = aggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, colKey);\n }\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator(rowKey, []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal rowTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, []);\n }\n td.setAttribute(\"data-for\", \"row\" + i);\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n if (opts.table.colTotals || rowAttrs.length === 0) {\n tr = document.createElement(\"tr\");\n if (opts.table.colTotals || rowAttrs.length === 0) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtColTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"colspan\", rowAttrs.length + (colAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n totalAggregator = pivotData.getAggregator([], colKey);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal colTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], colKey);\n }\n td.setAttribute(\"data-for\", \"col\" + j);\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator([], []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtGrandTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], []);\n }\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n result.appendChild(tbody);\n result.setAttribute(\"data-numrows\", rowKeys.length);\n result.setAttribute(\"data-numcols\", colKeys.length);\n return result;\n };\n\n /*\n Pivot Table core: create PivotData object and call Renderer on it\n */\n $.fn.pivot = function(input, inputOpts, locale) {\n var defaults, e, localeDefaults, localeStrings, opts, pivotData, result, x;\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n filter: function() {\n return true;\n },\n aggregator: aggregatorTemplates.count()(),\n aggregatorName: \"Count\",\n sorters: {},\n derivedAttributes: {},\n renderer: pivotTableRenderer\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n result = null;\n try {\n pivotData = new opts.dataClass(input, opts);\n try {\n result = opts.renderer(pivotData, opts.rendererOptions);\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.renderError);\n }\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.computeError);\n }\n x = this[0];\n while (x.hasChildNodes()) {\n x.removeChild(x.lastChild);\n }\n return this.append(result);\n };\n\n /*\n Pivot Table UI: calls Pivot Table core above with options set by user\n */\n $.fn.pivotUI = function(input, inputOpts, overwrite, locale) {\n 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;\n if (overwrite == null) {\n overwrite = false;\n }\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n derivedAttributes: {},\n aggregators: locales[locale].aggregators,\n renderers: locales[locale].renderers,\n hiddenAttributes: [],\n hiddenFromAggregators: [],\n hiddenFromDragDrop: [],\n menuLimit: 500,\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n exclusions: {},\n inclusions: {},\n unusedAttrsVertical: 85,\n autoSortUnusedAttrs: false,\n onRefresh: null,\n showUI: true,\n filter: function() {\n return true;\n },\n sorters: {}\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n existingOpts = this.data(\"pivotUIOptions\");\n if ((existingOpts == null) || overwrite) {\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n } else {\n opts = existingOpts;\n }\n try {\n attrValues = {};\n materializedInput = [];\n recordsProcessed = 0;\n PivotData.forEachRecord(input, opts.derivedAttributes, function(record) {\n var attr, base, ref, value;\n if (!opts.filter(record)) {\n return;\n }\n materializedInput.push(record);\n for (attr in record) {\n if (!hasProp.call(record, attr)) continue;\n if (attrValues[attr] == null) {\n attrValues[attr] = {};\n if (recordsProcessed > 0) {\n attrValues[attr][\"null\"] = recordsProcessed;\n }\n }\n }\n for (attr in attrValues) {\n value = (ref = record[attr]) != null ? ref : \"null\";\n if ((base = attrValues[attr])[value] == null) {\n base[value] = 0;\n }\n attrValues[attr][value]++;\n }\n return recordsProcessed++;\n });\n uiTable = $(\"\", {\n \"class\": \"pvtUi\"\n }).attr(\"cellpadding\", 5);\n rendererControl = $(\"\").addClass(\"pvtUiCell\");\n renderer = $(\"\").addClass('pvtRenderer').appendTo(rendererControl).bind(\"change\", function() {\n return refresh();\n });\n ref = opts.renderers;\n for (x in ref) {\n if (!hasProp.call(ref, x)) continue;\n $(\"\").val(x).html(x).appendTo(renderer);\n }\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell');\n shownAttributes = (function() {\n var results;\n results = [];\n for (a in attrValues) {\n if (indexOf.call(opts.hiddenAttributes, a) < 0) {\n results.push(a);\n }\n }\n return results;\n })();\n shownInAggregators = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromAggregators, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n shownInDragDrop = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromDragDrop, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n unusedAttrsVerticalAutoOverride = false;\n if (opts.unusedAttrsVertical === \"auto\") {\n unusedAttrsVerticalAutoCutoff = 120;\n } else {\n unusedAttrsVerticalAutoCutoff = parseInt(opts.unusedAttrsVertical);\n }\n if (!isNaN(unusedAttrsVerticalAutoCutoff)) {\n attrLength = 0;\n for (l = 0, len1 = shownInDragDrop.length; l < len1; l++) {\n a = shownInDragDrop[l];\n attrLength += a.length;\n }\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff;\n }\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n unused.addClass('pvtVertList');\n } else {\n unused.addClass('pvtHorizList');\n }\n fn1 = function(attr) {\n var attrElem, checkContainer, closeFilterBox, controls, filterItem, filterItemExcluded, finalButtons, hasExcludedItem, len2, n, placeholder, ref1, sorter, triangleLink, v, value, valueCount, valueList, values;\n values = (function() {\n var results;\n results = [];\n for (v in attrValues[attr]) {\n results.push(v);\n }\n return results;\n })();\n hasExcludedItem = false;\n valueList = $(\"\").addClass('pvtFilterBox').hide();\n valueList.append($(\"\").append($(\"\").text(attr), $(\"\").addClass(\"count\").text(\"(\" + values.length + \")\")));\n if (values.length > opts.menuLimit) {\n valueList.append($(\"\").html(opts.localeStrings.tooMany));\n } else {\n if (values.length > 5) {\n controls = $(\"\").appendTo(valueList);\n sorter = getSort(opts.sorters, attr);\n placeholder = opts.localeStrings.filterResults;\n $(\"\", {\n type: \"text\"\n }).appendTo(controls).attr({\n placeholder: placeholder,\n \"class\": \"pvtSearch\"\n }).bind(\"keyup\", function() {\n var accept, accept_gen, filter;\n filter = $(this).val().toLowerCase().trim();\n accept_gen = function(prefix, accepted) {\n return function(v) {\n var real_filter, ref1;\n real_filter = filter.substring(prefix.length).trim();\n if (real_filter.length === 0) {\n return true;\n }\n return ref1 = Math.sign(sorter(v.toLowerCase(), real_filter)), indexOf.call(accepted, ref1) >= 0;\n };\n };\n 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) {\n if (filter.substring(1).trim().length === 0) {\n return true;\n }\n return v.toLowerCase().match(filter.substring(1));\n } : function(v) {\n return v.toLowerCase().indexOf(filter) !== -1;\n };\n return valueList.find('.pvtCheckContainer p label span.value').each(function() {\n if (accept($(this).text())) {\n return $(this).parent().parent().show();\n } else {\n return $(this).parent().parent().hide();\n }\n });\n });\n controls.append($(\"\"));\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectAll).bind(\"click\", function() {\n valueList.find(\"input:visible:not(:checked)\").prop(\"checked\", true).toggleClass(\"changed\");\n return false;\n });\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectNone).bind(\"click\", function() {\n valueList.find(\"input:visible:checked\").prop(\"checked\", false).toggleClass(\"changed\");\n return false;\n });\n }\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList);\n ref1 = values.sort(getSort(opts.sorters, attr));\n for (n = 0, len2 = ref1.length; n < len2; n++) {\n value = ref1[n];\n valueCount = attrValues[attr][value];\n filterItem = $(\"\");\n filterItemExcluded = false;\n if (opts.inclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.inclusions[attr], value) < 0);\n } else if (opts.exclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.exclusions[attr], value) >= 0);\n }\n hasExcludedItem || (hasExcludedItem = filterItemExcluded);\n $(\"\").attr(\"type\", \"checkbox\").addClass('pvtFilter').attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr, value]).appendTo(filterItem).bind(\"change\", function() {\n return $(this).toggleClass(\"changed\");\n });\n filterItem.append($(\"\").addClass(\"value\").text(value));\n filterItem.append($(\"\").addClass(\"count\").text(\"(\" + valueCount + \")\"));\n checkContainer.append($(\"\").append(filterItem));\n }\n }\n closeFilterBox = function() {\n if (valueList.find(\"[type='checkbox']\").length > valueList.find(\"[type='checkbox']:checked\").length) {\n attrElem.addClass(\"pvtFilteredAttribute\");\n } else {\n attrElem.removeClass(\"pvtFilteredAttribute\");\n }\n valueList.find('.pvtSearch').val('');\n valueList.find('.pvtCheckContainer p').show();\n return valueList.hide();\n };\n finalButtons = $(\"\").appendTo(valueList);\n if (values.length <= opts.menuLimit) {\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.apply).appendTo(finalButtons).bind(\"click\", function() {\n if (valueList.find(\".changed\").removeClass(\"changed\").length) {\n refresh();\n }\n return closeFilterBox();\n });\n }\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.cancel).appendTo(finalButtons).bind(\"click\", function() {\n valueList.find(\".changed:checked\").removeClass(\"changed\").prop(\"checked\", false);\n valueList.find(\".changed:not(:checked)\").removeClass(\"changed\").prop(\"checked\", true);\n return closeFilterBox();\n });\n triangleLink = $(\"\").addClass('pvtTriangle').html(\" ▾\").bind(\"click\", function(e) {\n var left, ref2, top;\n ref2 = $(e.currentTarget).position(), left = ref2.left, top = ref2.top;\n return valueList.css({\n left: left + 10,\n top: top + 10\n }).show();\n });\n attrElem = $(\"\").addClass(\"axis_\" + i).append($(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink));\n if (hasExcludedItem) {\n attrElem.addClass('pvtFilteredAttribute');\n }\n return unused.append(attrElem).append(valueList);\n };\n for (i in shownInDragDrop) {\n if (!hasProp.call(shownInDragDrop, i)) continue;\n attr = shownInDragDrop[i];\n fn1(attr);\n }\n tr1 = $(\"\").appendTo(uiTable);\n aggregator = $(\"\").addClass('pvtAggregator').bind(\"change\", function() {\n return refresh();\n });\n ref1 = opts.aggregators;\n for (x in ref1) {\n if (!hasProp.call(ref1, x)) continue;\n aggregator.append($(\"\").val(x).html(x));\n }\n ordering = {\n key_a_to_z: {\n rowSymbol: \"↕\",\n colSymbol: \"↔\",\n next: \"value_a_to_z\"\n },\n value_a_to_z: {\n rowSymbol: \"↓\",\n colSymbol: \"→\",\n next: \"value_z_to_a\"\n },\n value_z_to_a: {\n rowSymbol: \"↑\",\n colSymbol: \"←\",\n next: \"key_a_to_z\"\n }\n };\n rowOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtRowOrder\").data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol);\n return refresh();\n });\n colOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtColOrder\").data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].colSymbol);\n return refresh();\n });\n $(\"\").addClass('pvtVals pvtUiCell').appendTo(tr1).append(aggregator).append(rowOrderArrow).append(colOrderArrow).append($(\"\"));\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1);\n tr2 = $(\"\").appendTo(uiTable);\n tr2.append($(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\"));\n pivotTable = $(\"\").attr(\"valign\", \"top\").addClass('pvtRendererArea').appendTo(tr2);\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n uiTable.find('tr:nth-child(1)').prepend(rendererControl);\n uiTable.find('tr:nth-child(2)').prepend(unused);\n } else {\n uiTable.prepend($(\"\").append(rendererControl).append(unused));\n }\n this.html(uiTable);\n ref2 = opts.cols;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n this.find(\".pvtCols\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n ref3 = opts.rows;\n for (o = 0, len3 = ref3.length; o < len3; o++) {\n x = ref3[o];\n this.find(\".pvtRows\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n if (opts.aggregatorName != null) {\n this.find(\".pvtAggregator\").val(opts.aggregatorName);\n }\n if (opts.rendererName != null) {\n this.find(\".pvtRenderer\").val(opts.rendererName);\n }\n if (!opts.showUI) {\n this.find(\".pvtUiCell\").hide();\n }\n initialRender = true;\n refreshDelayed = (function(_this) {\n return function() {\n var exclusions, inclusions, len4, newDropdown, numInputsToProcess, pivotUIOptions, pvtVals, ref4, ref5, subopts, t, u, unusedAttrsContainer, vals;\n subopts = {\n derivedAttributes: opts.derivedAttributes,\n localeStrings: opts.localeStrings,\n rendererOptions: opts.rendererOptions,\n sorters: opts.sorters,\n cols: [],\n rows: [],\n dataClass: opts.dataClass\n };\n numInputsToProcess = (ref4 = opts.aggregators[aggregator.val()]([])().numInputs) != null ? ref4 : 0;\n vals = [];\n _this.find(\".pvtRows li span.pvtAttr\").each(function() {\n return subopts.rows.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtCols li span.pvtAttr\").each(function() {\n return subopts.cols.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n if (numInputsToProcess === 0) {\n return $(this).remove();\n } else {\n numInputsToProcess--;\n if ($(this).val() !== \"\") {\n return vals.push($(this).val());\n }\n }\n });\n if (numInputsToProcess !== 0) {\n pvtVals = _this.find(\".pvtVals\");\n for (x = t = 0, ref5 = numInputsToProcess; 0 <= ref5 ? t < ref5 : t > ref5; x = 0 <= ref5 ? ++t : --t) {\n newDropdown = $(\"\").addClass('pvtAttrDropdown').append($(\"\")).bind(\"change\", function() {\n return refresh();\n });\n for (u = 0, len4 = shownInAggregators.length; u < len4; u++) {\n attr = shownInAggregators[u];\n newDropdown.append($(\"\").val(attr).text(attr));\n }\n pvtVals.append(newDropdown);\n }\n }\n if (initialRender) {\n vals = opts.vals;\n i = 0;\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n $(this).val(vals[i]);\n return i++;\n });\n initialRender = false;\n }\n subopts.aggregatorName = aggregator.val();\n subopts.vals = vals;\n subopts.aggregator = opts.aggregators[aggregator.val()](vals);\n subopts.renderer = opts.renderers[renderer.val()];\n subopts.rowOrder = rowOrderArrow.data(\"order\");\n subopts.colOrder = colOrderArrow.data(\"order\");\n exclusions = {};\n _this.find('input.pvtFilter').not(':checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n return exclusions[filter[0]].push(filter[1]);\n } else {\n return exclusions[filter[0]] = [filter[1]];\n }\n });\n inclusions = {};\n _this.find('input.pvtFilter:checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n if (inclusions[filter[0]] != null) {\n return inclusions[filter[0]].push(filter[1]);\n } else {\n return inclusions[filter[0]] = [filter[1]];\n }\n }\n });\n subopts.filter = function(record) {\n var excludedItems, k, ref6, ref7;\n if (!opts.filter(record)) {\n return false;\n }\n for (k in exclusions) {\n excludedItems = exclusions[k];\n if (ref6 = \"\" + ((ref7 = record[k]) != null ? ref7 : 'null'), indexOf.call(excludedItems, ref6) >= 0) {\n return false;\n }\n }\n return true;\n };\n pivotTable.pivot(materializedInput, subopts);\n pivotUIOptions = $.extend({}, opts, {\n cols: subopts.cols,\n rows: subopts.rows,\n colOrder: subopts.colOrder,\n rowOrder: subopts.rowOrder,\n vals: vals,\n exclusions: exclusions,\n inclusions: inclusions,\n inclusionsInfo: inclusions,\n aggregatorName: aggregator.val(),\n rendererName: renderer.val()\n });\n _this.data(\"pivotUIOptions\", pivotUIOptions);\n if (opts.autoSortUnusedAttrs) {\n unusedAttrsContainer = _this.find(\"td.pvtUnused.pvtAxisContainer\");\n $(unusedAttrsContainer).children(\"li\").sort(function(a, b) {\n return naturalSort($(a).text(), $(b).text());\n }).appendTo(unusedAttrsContainer);\n }\n pivotTable.css(\"opacity\", 1);\n if (opts.onRefresh != null) {\n return opts.onRefresh(pivotUIOptions);\n }\n };\n })(this);\n refresh = (function(_this) {\n return function() {\n pivotTable.css(\"opacity\", 0.5);\n return setTimeout(refreshDelayed, 10);\n };\n })(this);\n refresh();\n this.find(\".pvtAxisContainer\").sortable({\n update: function(e, ui) {\n if (ui.sender == null) {\n return refresh();\n }\n },\n connectWith: this.find(\".pvtAxisContainer\"),\n items: 'li',\n placeholder: 'pvtPlaceholder'\n });\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n this.html(opts.localeStrings.uiRenderError);\n }\n return this;\n };\n\n /*\n Heatmap post-processing\n */\n $.fn.heatmap = function(scope, opts) {\n var colorScaleGenerator, heatmapper, i, j, l, n, numCols, numRows, ref, ref1, ref2;\n if (scope == null) {\n scope = \"heatmap\";\n }\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n colorScaleGenerator = opts != null ? (ref = opts.heatmap) != null ? ref.colorScaleGenerator : void 0 : void 0;\n if (colorScaleGenerator == null) {\n colorScaleGenerator = function(values) {\n var max, min;\n min = Math.min.apply(Math, values);\n max = Math.max.apply(Math, values);\n return function(x) {\n var nonRed;\n nonRed = 255 - Math.round(255 * (x - min) / (max - min));\n return \"rgb(255,\" + nonRed + \",\" + nonRed + \")\";\n };\n };\n }\n heatmapper = (function(_this) {\n return function(scope) {\n var colorScale, forEachCell, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n colorScale = colorScaleGenerator(values);\n return forEachCell(function(x, elem) {\n return elem.css(\"background-color\", colorScale(x));\n });\n };\n })(this);\n switch (scope) {\n case \"heatmap\":\n heatmapper(\".pvtVal\");\n break;\n case \"rowheatmap\":\n for (i = l = 0, ref1 = numRows; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) {\n heatmapper(\".pvtVal.row\" + i);\n }\n break;\n case \"colheatmap\":\n for (j = n = 0, ref2 = numCols; 0 <= ref2 ? n < ref2 : n > ref2; j = 0 <= ref2 ? ++n : --n) {\n heatmapper(\".pvtVal.col\" + j);\n }\n }\n heatmapper(\".pvtTotal.rowTotal\");\n heatmapper(\".pvtTotal.colTotal\");\n return this;\n };\n\n /*\n Barchart post-processing\n */\n return $.fn.barchart = function(opts) {\n var barcharter, i, l, numCols, numRows, ref;\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n barcharter = (function(_this) {\n return function(scope) {\n var forEachCell, max, min, range, scaler, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n max = Math.max.apply(Math, values);\n if (max < 0) {\n max = 0;\n }\n range = max;\n min = Math.min.apply(Math, values);\n if (min < 0) {\n range = max - min;\n }\n scaler = function(x) {\n return 100 * x / (1.4 * range);\n };\n return forEachCell(function(x, elem) {\n var bBase, bgColor, text, wrapper;\n text = elem.text();\n wrapper = $(\"\").css({\n \"position\": \"relative\",\n \"height\": \"55px\"\n });\n bgColor = \"gray\";\n bBase = 0;\n if (min < 0) {\n bBase = scaler(-min);\n }\n if (x < 0) {\n bBase += scaler(x);\n bgColor = \"darkred\";\n x = -x;\n }\n wrapper.append($(\"\").css({\n \"position\": \"absolute\",\n \"bottom\": bBase + \"%\",\n \"left\": 0,\n \"right\": 0,\n \"height\": scaler(x) + \"%\",\n \"background-color\": bgColor\n }));\n wrapper.append($(\"\").text(text).css({\n \"position\": \"relative\",\n \"padding-left\": \"5px\",\n \"padding-right\": \"5px\"\n }));\n return elem.css({\n \"padding\": 0,\n \"padding-top\": \"5px\",\n \"text-align\": \"center\"\n }).html(wrapper);\n });\n };\n })(this);\n for (i = l = 0, ref = numRows; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) {\n barcharter(\".pvtVal.row\" + i);\n }\n barcharter(\".pvtTotal.colTotal\");\n return this;\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.js.map\n"]} \ No newline at end of file diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.js new file mode 100644 index 0000000..ca9a375 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js @@ -0,0 +1,80 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map new file mode 100644 index 0000000..b7c7760 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pivot.nl.js","sources":["pivot.nl.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,+DAAb;QACA,YAAA,EAAc,gEADd;QAEA,aAAA,EAAe,+EAFf;QAGA,SAAA,EAAW,kBAHX;QAIA,UAAA,EAAY,kBAJZ;QAKA,OAAA,EAAS,oCALT;QAMA,aAAA,EAAe,mBANf;QAOA,MAAA,EAAQ,QAPR;QAQA,EAAA,EAAI,QARJ;QASA,EAAA,EAAI,KATJ;OADJ;MAYA,WAAA,EACI;QAAA,QAAA,EAAuC,GAAG,CAAC,KAAJ,CAAU,QAAV,CAAvC;QACA,uBAAA,EAAuC,GAAG,CAAC,WAAJ,CAAgB,QAAhB,CADvC;QAEA,sBAAA,EAAuC,GAAG,CAAC,UAAJ,CAAe,IAAf,CAFvC;QAGA,KAAA,EAAuC,GAAG,CAAC,GAAJ,CAAQ,KAAR,CAHvC;QAIA,yBAAA,EAAuC,GAAG,CAAC,GAAJ,CAAQ,QAAR,CAJvC;QAKA,YAAA,EAAuC,GAAG,CAAC,OAAJ,CAAY,KAAZ,CALvC;QAMA,SAAA,EAAuC,GAAG,CAAC,GAAJ,CAAQ,KAAR,CANvC;QAOA,SAAA,EAAuC,GAAG,CAAC,GAAJ,CAAQ,KAAR,CAPvC;QAQA,QAAA,EAAuC,GAAG,CAAC,KAAJ,CAAU,KAAV,CARvC;QASA,SAAA,EAAuC,GAAG,CAAC,IAAJ,CAAS,KAAT,CATvC;QAUA,cAAA,EAAuC,GAAG,CAAC,UAAJ,CAAe,KAAf,CAVvC;QAWA,gBAAA,EAAuC,GAAG,CAAC,iBAAJ,CAAsB,IAAtB,EAA4B,KAA5B,CAXvC;QAYA,gBAAA,EAA+B,GAAG,CAAC,iBAAJ,CAAsB,KAAtB,EAA6B,KAA7B,CAZ/B;QAaA,kCAAA,EAAuC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAA4B,OAA5B,EAAqC,QAArC,CAbvC;QAcA,8BAAA,EAAuC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CAdvC;QAeA,gCAAA,EAAuC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CAfvC;QAgBA,qCAAA,EAAuC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,OAA5B,EAAqC,QAArC,CAhBvC;QAiBA,iCAAA,EAAuC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CAjBvC;QAkBA,mCAAA,EAAuC,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CAlBvC;OAbJ;MAiCA,SAAA,EACI;QAAA,OAAA,EAAmC,CAAC,CAAC,cAAc,CAAC,SAAU,CAAA,OAAA,CAA9D;QACA,2BAAA,EAA2C,CAAC,CAAC,cAAc,CAAC,SAAU,CAAA,gBAAA,CADtE;QAEA,aAAA,EAAmC,CAAC,CAAC,cAAc,CAAC,SAAU,CAAA,SAAA,CAF9D;QAGA,qBAAA,EAAmC,CAAC,CAAC,cAAc,CAAC,SAAU,CAAA,aAAA,CAH9D;QAIA,uBAAA,EAAmC,CAAC,CAAC,cAAc,CAAC,SAAU,CAAA,aAAA,CAJ9D;OAlCJ;;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 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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js index 9dc06ee..a3bcc04 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js @@ -1,2 +1,2 @@ -(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,n,o;return n=e.pivotUtilities.numberFormat,o=e.pivotUtilities.aggregatorTemplates,t=n({thousandsSep:" ",decimalSep:","}),r=n({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),i=n({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:o.count(r),"Aantal unieke waarden":o.countUnique(r),"Lijst unieke waarden":o.listUnique(", "),Som:o.sum(t),"Som van gehele getallen":o.sum(r),Gemiddelde:o.average(t),Minimum:o.min(t),Maximum:o.max(t),"Som over som":o.sumOverSum(t),"80% bovengrens":o.sumOverSumBound80(!0,t),"80% ondergrens":o.sumOverSumBound80(!1,t),"Som in verhouding tot het totaal":o.fractionOf(o.sum(),"total",i),"Som in verhouding tot de rij":o.fractionOf(o.sum(),"row",i),"Som in verhouding tot de kolom":o.fractionOf(o.sum(),"col",i),"Aantal in verhouding tot het totaal":o.fractionOf(o.count(),"total",i),"Aantal in verhouding tot de rij":o.fractionOf(o.count(),"row",i),"Aantal in verhouding tot de kolom":o.fractionOf(o.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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map new file mode 100644 index 0000000..b51dc51 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js b/inst/htmlwidgets/lib/pivottable/pivot.pl.js new file mode 100644 index 0000000..aa4b438 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js @@ -0,0 +1,82 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map new file mode 100644 index 0000000..3eefc10 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pivot.pl.js","sources":["pivot.pl.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 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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map new file mode 100644 index 0000000..14a4b8e --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.js new file mode 100644 index 0000000..b737243 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js @@ -0,0 +1,111 @@ +(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.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": tpl.count(frFmtInt), + "Contagem de Valores únicos": tpl.countUnique(frFmtInt), + "Lista de Valores únicos": tpl.listUnique(", "), + "Soma": tpl.sum(frFmt), + "Soma de Inteiros": tpl.sum(frFmtInt), + "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áximo": tpl.max(frFmt), + "Primeiro": tpl.first(frFmt), + "Último": tpl.last(frFmt), + "Soma sobre Soma": tpl.sumOverSum(frFmt), + "Limite Superior a 80%": tpl.sumOverSumBound80(true, frFmt), + "Limite Inferior a 80%": tpl.sumOverSumBound80(false, frFmt), + "Soma como Fração do Total": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Soma como Fração da Linha": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Soma como Fração da Coluna": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Contagem como Fração do Total": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Contagem como Fração da Linha": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Contagem como Fração da Coluna": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tabela": r["Table"], + "Tabela com Barras": r["Table Barchart"], + "Mapa de Calor": r["Heatmap"], + "Mapa de Calor por Linhas": r["Row Heatmap"], + "Mapa de Calor por Colunas": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.pt.gchart_renderers = { + "Gráfico de Linhas": gcr["Line Chart"], + "Gráfico de Barras": gcr["Bar Chart"], + "Gráfico de Barras Empilhadas": gcr["Stacked Bar Chart"], + "Gráfico de Área": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.pt.d3_renderers = { + "Mapa de Árvore": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.pt.c3_renderers = { + "Gráfico de Linhas": c3r["Line Chart"], + "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; + }); + +}).call(this); + +//# sourceMappingURL=pivot.pt.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map new file mode 100644 index 0000000..72cb981 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js index cf4f356..0f92ea7 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js @@ -1,2 +1,2 @@ -(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,l,n,c;return l=a.pivotUtilities.numberFormat,c=a.pivotUtilities.aggregatorTemplates,n=a.pivotUtilities.renderers,s=a.pivotUtilities.gchart_renderers,r=a.pivotUtilities.d3_renderers,e=a.pivotUtilities.c3_renderers,o=l({thousandsSep:".",decimalSep:","}),i=l({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),t=l({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),"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:n.Table,"Tabela com Barras":n["Table Barchart"],"Mapa de Calor":n.Heatmap,"Mapa de Calor por Linhas":n["Row Heatmap"],"Mapa de Calor por Colunas":n["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map new file mode 100644 index 0000000..cf067a6 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js b/inst/htmlwidgets/lib/pivottable/pivot.ru.js new file mode 100644 index 0000000..ebc556d --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map new file mode 100644 index 0000000..f7fe47f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map new file mode 100644 index 0000000..4ef0db3 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js b/inst/htmlwidgets/lib/pivottable/pivot.sq.js new file mode 100644 index 0000000..080b336 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map new file mode 100644 index 0000000..604860b --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map new file mode 100644 index 0000000..3f6df78 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js b/inst/htmlwidgets/lib/pivottable/pivot.tr.js new file mode 100644 index 0000000..1a95e56 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js @@ -0,0 +1,104 @@ +(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.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ı": tpl.count(frFmtInt), + "Benzersiz değerler sayısı": tpl.countUnique(frFmtInt), + "Benzersiz değerler listesi": tpl.listUnique(", "), + "Toplam": tpl.sum(frFmt), + "Toplam (tam sayı)": tpl.sum(frFmtInt), + "Ortalama": tpl.average(frFmt), + "Min": tpl.min(frFmt), + "Maks": tpl.max(frFmt), + "Miktarların toplamı": tpl.sumOverSum(frFmt), + "%80 daha yüksek": tpl.sumOverSumBound80(true, frFmt), + "%80 daha düşük": tpl.sumOverSumBound80(false, frFmt), + "Toplam oranı (toplam)": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Satır oranı (toplam)": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Sütunun oranı (toplam)": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Toplam oranı (sayı)": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Satır oranı (sayı)": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Sütunun oranı (sayı)": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tablo": r["Table"], + "Tablo (Çubuklar)": r["Table Barchart"], + "İlgi haritası": r["Heatmap"], + "Satır ilgi haritası": r["Row Heatmap"], + "Sütun ilgi haritası": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.tr.gchart_renderers = { + "Çizgi Grafiği": gcr["Line Chart"], + "Bar Grafiği": gcr["Bar Chart"], + "Yığılmış Çubuk Grafik ": gcr["Stacked Bar Chart"], + "Alan Grafiği": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.tr.d3_renderers = { + "Hiyerarşik Alan Grafiği (Treemap)": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.tr.c3_renderers = { + "Çizgi Grafiği": c3r["Line Chart"], + "Bar Grafiği": c3r["Bar Chart"], + "Yığılmış Çubuk Grafik ": c3r["Stacked Bar Chart"], + "Alan Grafiği": c3r["Area Chart"] + }; + } + return $.pivotUtilities.locales.tr; + }); + +}).call(this); + +//# sourceMappingURL=pivot.tr.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map new file mode 100644 index 0000000..3b5dbe0 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map new file mode 100644 index 0000000..90d8eb9 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.js new file mode 100644 index 0000000..5f30fb4 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js @@ -0,0 +1,113 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map new file mode 100644 index 0000000..6810c5f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js index 916fceb..2828cad 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js @@ -1,2 +1,2 @@ -(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,a,l,n,c;return l=e.pivotUtilities.numberFormat,c=e.pivotUtilities.aggregatorTemplates,n=e.pivotUtilities.renderers,a=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,t=e.pivotUtilities.c3_renderers,i=l({thousandsSep:",",decimalSep:"."}),o=l({digitsAfterDecimal:0,thousandsSep:",",decimalSep:"."}),s=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(o),"非重复值的个数":c.countUnique(o),"列出非重复值":c.listUnique(", "),"求和":c.sum(i),"求和后取整":c.sum(o),"平均值":c.average(i),"最小值":c.min(i),"最大值":c.max(i),"两和之比":c.sumOverSum(i),"二项分布:置信度为80%时的区间上限":c.sumOverSumBound80(!0,i),"二项分布:置信度为80%时的区间下限":c.sumOverSumBound80(!1,i),"和在总计中的比例":c.fractionOf(c.sum(),"total",s),"和在行合计中的比例":c.fractionOf(c.sum(),"row",s),"和在列合计中的比例":c.fractionOf(c.sum(),"col",s),"频数在总计中的比例":c.fractionOf(c.count(),"total",s),"频数在行合计中的比例":c.fractionOf(c.count(),"row",s),"频数在列合计中的比例":c.fractionOf(c.count(),"col",s)},renderers:{"表格":n.Table,"表格内柱状图":n["Table Barchart"],"热图":n.Heatmap,"行热图":n["Row Heatmap"],"列热图":n["Col Heatmap"]}},a&&(e.pivotUtilities.locales.zh.gchart_renderers={"折线图(g)":a["Line Chart"],"柱形图(g)":a["Bar Chart"],"堆栈柱形图(g)":a["Stacked Bar Chart"],"面积图(g)":a["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map new file mode 100644 index 0000000..8b30873 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot_spec.js b/inst/htmlwidgets/lib/pivottable/pivot_spec.js new file mode 100644 index 0000000..fadadce --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot_spec.js @@ -0,0 +1,614 @@ +(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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 $("").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 = $("").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 = $("\n \n
\").appendTo(valueList)\n sorter = getSort(opts.sorters, attr)\n placeholder = opts.localeStrings.filterResults\n $(\"\", {type: \"text\"}).appendTo(controls)\n .attr({placeholder: placeholder, class: \"pvtSearch\"})\n .bind \"keyup\", ->\n filter = $(this).val().toLowerCase().trim()\n accept_gen = (prefix, accepted) -> (v) ->\n real_filter = filter.substring(prefix.length).trim()\n return true if real_filter.length == 0\n return Math.sign(sorter(v.toLowerCase(), real_filter)) in accepted\n accept =\n if filter.indexOf(\">=\") == 0 then accept_gen(\">=\", [1,0])\n else if filter.indexOf(\"<=\") == 0 then accept_gen(\"<=\", [-1,0])\n else if filter.indexOf(\">\") == 0 then accept_gen(\">\", [1])\n else if filter.indexOf(\"<\") == 0 then accept_gen(\"<\", [-1])\n else if filter.indexOf(\"~\") == 0 then (v) ->\n return true if filter.substring(1).trim().length == 0\n v.toLowerCase().match(filter.substring(1))\n else (v) -> v.toLowerCase().indexOf(filter) != -1\n\n valueList.find('.pvtCheckContainer p label span.value').each ->\n if accept($(this).text())\n $(this).parent().parent().show()\n else\n $(this).parent().parent().hide()\n controls.append $(\"\")\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectAll)\n .bind \"click\", ->\n valueList.find(\"input:visible:not(:checked)\")\n .prop(\"checked\", true).toggleClass(\"changed\")\n return false\n $(\"\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectNone)\n .bind \"click\", ->\n valueList.find(\"input:visible:checked\")\n .prop(\"checked\", false).toggleClass(\"changed\")\n return false\n\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList)\n\n for value in values.sort(getSort(opts.sorters, attr))\n valueCount = attrValues[attr][value]\n filterItem = $(\"\")\n filterItemExcluded = false\n if opts.inclusions[attr]\n filterItemExcluded = (value not in opts.inclusions[attr])\n else if opts.exclusions[attr]\n filterItemExcluded = (value in opts.exclusions[attr])\n hasExcludedItem ||= filterItemExcluded\n $(\"\")\n .attr(\"type\", \"checkbox\").addClass('pvtFilter')\n .attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr,value])\n .appendTo(filterItem)\n .bind \"change\", -> $(this).toggleClass(\"changed\")\n filterItem.append $(\"\").addClass(\"value\").text(value)\n filterItem.append $(\"\").addClass(\"count\").text(\"(\"+valueCount+\")\")\n checkContainer.append $(\"\").append(filterItem)\n\n closeFilterBox = ->\n if valueList.find(\"[type='checkbox']\").length >\n valueList.find(\"[type='checkbox']:checked\").length\n attrElem.addClass \"pvtFilteredAttribute\"\n else\n attrElem.removeClass \"pvtFilteredAttribute\"\n\n valueList.find('.pvtSearch').val('')\n valueList.find('.pvtCheckContainer p').show()\n valueList.hide()\n\n finalButtons = $(\"\").appendTo(valueList)\n\n if values.length <= opts.menuLimit\n $(\"\", {type: \"button\"}).text(opts.localeStrings.apply)\n .appendTo(finalButtons).bind \"click\", ->\n if valueList.find(\".changed\").removeClass(\"changed\").length\n refresh()\n closeFilterBox()\n\n $(\"\", {type: \"button\"}).text(opts.localeStrings.cancel)\n .appendTo(finalButtons).bind \"click\", ->\n valueList.find(\".changed:checked\")\n .removeClass(\"changed\").prop(\"checked\", false)\n valueList.find(\".changed:not(:checked)\")\n .removeClass(\"changed\").prop(\"checked\", true)\n closeFilterBox()\n\n triangleLink = $(\"\").addClass('pvtTriangle')\n .html(\" ▾\").bind \"click\", (e) ->\n {left, top} = $(e.currentTarget).position()\n valueList.css(left: left+10, top: top+10).show()\n\n attrElem = $(\"\").addClass(\"axis_#{i}\")\n .append $(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink)\n\n attrElem.addClass('pvtFilteredAttribute') if hasExcludedItem\n unused.append(attrElem).append(valueList)\n\n tr1 = $(\"\").appendTo(uiTable)\n\n #aggregator menu and value area\n\n aggregator = $(\"\").addClass('pvtAggregator')\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.aggregators\n aggregator.append $(\"\").val(x).html(x)\n\n ordering =\n key_a_to_z: {rowSymbol: \"↕\", colSymbol: \"↔\", next: \"value_a_to_z\"}\n value_a_to_z: {rowSymbol: \"↓\", colSymbol: \"→\", next: \"value_z_to_a\"}\n value_z_to_a: {rowSymbol: \"↑\", colSymbol: \"←\", next: \"key_a_to_z\"}\n\n rowOrderArrow = $(\"\", role: \"button\").addClass(\"pvtRowOrder\")\n .data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol)\n refresh()\n\n colOrderArrow = $(\"\", role: \"button\").addClass(\"pvtColOrder\")\n .data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].colSymbol)\n refresh()\n\n $(\"\").addClass('pvtVals pvtUiCell')\n .appendTo(tr1)\n .append(aggregator)\n .append(rowOrderArrow)\n .append(colOrderArrow)\n .append($(\"\"))\n\n #column axes\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1)\n\n tr2 = $(\"\").appendTo(uiTable)\n\n #row axes\n tr2.append $(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\")\n\n #the actual pivot table container\n pivotTable = $(\"\")\n .attr(\"valign\", \"top\")\n .addClass('pvtRendererArea')\n .appendTo(tr2)\n\n #finally the renderer dropdown and unused attribs are inserted at the requested location\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n uiTable.find('tr:nth-child(1)').prepend rendererControl\n uiTable.find('tr:nth-child(2)').prepend unused\n else\n uiTable.prepend $(\"\").append(rendererControl).append(unused)\n\n #render the UI in its default state\n @html uiTable\n\n #set up the UI initial state as requested by moving elements around\n\n for x in opts.cols\n @find(\".pvtCols\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n for x in opts.rows\n @find(\".pvtRows\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n if opts.aggregatorName?\n @find(\".pvtAggregator\").val opts.aggregatorName\n if opts.rendererName?\n @find(\".pvtRenderer\").val opts.rendererName\n\n @find(\".pvtUiCell\").hide() unless opts.showUI\n\n initialRender = true\n\n #set up for refreshing\n refreshDelayed = =>\n subopts =\n derivedAttributes: opts.derivedAttributes\n localeStrings: opts.localeStrings\n rendererOptions: opts.rendererOptions\n sorters: opts.sorters\n cols: [], rows: []\n dataClass: opts.dataClass\n\n numInputsToProcess = opts.aggregators[aggregator.val()]([])().numInputs ? 0\n vals = []\n @find(\".pvtRows li span.pvtAttr\").each -> subopts.rows.push $(this).data(\"attrName\")\n @find(\".pvtCols li span.pvtAttr\").each -> subopts.cols.push $(this).data(\"attrName\")\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n if numInputsToProcess == 0\n $(this).remove()\n else\n numInputsToProcess--\n vals.push $(this).val() if $(this).val() != \"\"\n\n if numInputsToProcess != 0\n pvtVals = @find(\".pvtVals\")\n for x in [0...numInputsToProcess]\n newDropdown = $(\"\")\n .addClass('pvtAttrDropdown')\n .append($(\"\"))\n .bind \"change\", -> refresh()\n for attr in shownInAggregators\n newDropdown.append($(\"\").val(attr).text(attr))\n pvtVals.append(newDropdown)\n\n if initialRender\n vals = opts.vals\n i = 0\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n $(this).val vals[i]\n i++\n initialRender = false\n\n subopts.aggregatorName = aggregator.val()\n subopts.vals = vals\n subopts.aggregator = opts.aggregators[aggregator.val()](vals)\n subopts.renderer = opts.renderers[renderer.val()]\n subopts.rowOrder = rowOrderArrow.data(\"order\")\n subopts.colOrder = colOrderArrow.data(\"order\")\n #construct filter here\n exclusions = {}\n @find('input.pvtFilter').not(':checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n exclusions[filter[0]].push( filter[1] )\n else\n exclusions[filter[0]] = [ filter[1] ]\n #include inclusions when exclusions present\n inclusions = {}\n @find('input.pvtFilter:checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n if inclusions[filter[0]]?\n inclusions[filter[0]].push( filter[1] )\n else\n inclusions[filter[0]] = [ filter[1] ]\n\n subopts.filter = (record) ->\n return false if not opts.filter(record)\n for k,excludedItems of exclusions\n return false if \"\"+(record[k] ? 'null') in excludedItems\n return true\n\n pivotTable.pivot(materializedInput,subopts)\n pivotUIOptions = $.extend {}, opts,\n cols: subopts.cols\n rows: subopts.rows\n colOrder: subopts.colOrder\n rowOrder: subopts.rowOrder\n vals: vals\n exclusions: exclusions\n inclusions: inclusions\n inclusionsInfo: inclusions #duplicated for backwards-compatibility\n aggregatorName: aggregator.val()\n rendererName: renderer.val()\n\n @data \"pivotUIOptions\", pivotUIOptions\n\n # if requested make sure unused columns are in alphabetical order\n if opts.autoSortUnusedAttrs\n unusedAttrsContainer = @find(\"td.pvtUnused.pvtAxisContainer\")\n $(unusedAttrsContainer).children(\"li\")\n .sort((a, b) => naturalSort($(a).text(), $(b).text()))\n .appendTo unusedAttrsContainer\n\n pivotTable.css(\"opacity\", 1)\n opts.onRefresh(pivotUIOptions) if opts.onRefresh?\n\n refresh = =>\n pivotTable.css(\"opacity\", 0.5)\n setTimeout refreshDelayed, 10\n\n #the very first refresh will actually display the table\n refresh()\n\n @find(\".pvtAxisContainer\").sortable\n update: (e, ui) -> refresh() if not ui.sender?\n connectWith: @find(\".pvtAxisContainer\")\n items: 'li'\n placeholder: 'pvtPlaceholder'\n catch e\n console.error(e.stack) if console?\n @html opts.localeStrings.uiRenderError\n return this\n\n ###\n Heatmap post-processing\n ###\n\n $.fn.heatmap = (scope = \"heatmap\", opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n # given a series of values\n # must return a function to map a given value to a CSS color\n colorScaleGenerator = opts?.heatmap?.colorScaleGenerator\n colorScaleGenerator ?= (values) ->\n min = Math.min(values...)\n max = Math.max(values...)\n return (x) ->\n nonRed = 255 - Math.round 255*(x-min)/(max-min)\n return \"rgb(255,#{nonRed},#{nonRed})\"\n\n heatmapper = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n colorScale = colorScaleGenerator(values)\n forEachCell (x, elem) -> elem.css \"background-color\", colorScale(x)\n\n switch scope\n when \"heatmap\" then heatmapper \".pvtVal\"\n when \"rowheatmap\" then heatmapper \".pvtVal.row#{i}\" for i in [0...numRows]\n when \"colheatmap\" then heatmapper \".pvtVal.col#{j}\" for j in [0...numCols]\n\n heatmapper \".pvtTotal.rowTotal\"\n heatmapper \".pvtTotal.colTotal\"\n\n return this\n\n ###\n Barchart post-processing\n ###\n\n $.fn.barchart = (opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n barcharter = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n max = Math.max(values...)\n if max < 0\n max = 0\n range = max;\n min = Math.min(values...)\n if min < 0\n range = max - min\n scaler = (x) -> 100*x/(1.4*range)\n forEachCell (x, elem) ->\n text = elem.text()\n wrapper = $(\"\").css\n \"position\": \"relative\"\n \"height\": \"55px\"\n bgColor = \"gray\"\n bBase = 0\n if min < 0\n bBase = scaler(-min)\n if x < 0\n bBase += scaler(x)\n bgColor = \"darkred\"\n x = -x\n wrapper.append $(\"\").css\n \"position\": \"absolute\"\n \"bottom\": bBase + \"%\"\n \"left\": 0\n \"right\": 0\n \"height\": scaler(x) + \"%\"\n \"background-color\": bgColor\n wrapper.append $(\"\").text(text).css\n \"position\":\"relative\"\n \"padding-left\":\"5px\"\n \"padding-right\":\"5px\"\n\n elem.css(\"padding\": 0,\"padding-top\": \"5px\", \"text-align\": \"center\").html wrapper\n\n barcharter \".pvtVal.row#{i}\" for i in [0...numRows]\n barcharter \".pvtTotal.colTotal\"\n\n return this\n","(function() {\n var callWithJQuery,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },\n slice = [].slice,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n hasProp = {}.hasOwnProperty;\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\n /*\n Utilities\n */\n var PivotData, addSeparators, aggregatorTemplates, aggregators, dayNamesEn, derivers, getSort, locales, mthNamesEn, naturalSort, numberFormat, pivotTableRenderer, rd, renderers, rx, rz, sortAs, usFmt, usFmtInt, usFmtPct, zeroPad;\n addSeparators = function(nStr, thousandsSep, decimalSep) {\n var rgx, x, x1, x2;\n nStr += '';\n x = nStr.split('.');\n x1 = x[0];\n x2 = x.length > 1 ? decimalSep + x[1] : '';\n rgx = /(\\d+)(\\d{3})/;\n while (rgx.test(x1)) {\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2');\n }\n return x1 + x2;\n };\n numberFormat = function(opts) {\n var defaults;\n defaults = {\n digitsAfterDecimal: 2,\n scaler: 1,\n thousandsSep: \",\",\n decimalSep: \".\",\n prefix: \"\",\n suffix: \"\"\n };\n opts = $.extend({}, defaults, opts);\n return function(x) {\n var result;\n if (isNaN(x) || !isFinite(x)) {\n return \"\";\n }\n result = addSeparators((opts.scaler * x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep);\n return \"\" + opts.prefix + result + opts.suffix;\n };\n };\n usFmt = numberFormat();\n usFmtInt = numberFormat({\n digitsAfterDecimal: 0\n });\n usFmtPct = numberFormat({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\"\n });\n aggregatorTemplates = {\n count: function(formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function() {\n return function(data, rowKey, colKey) {\n return {\n count: 0,\n push: function() {\n return this.count++;\n },\n value: function() {\n return this.count;\n },\n format: formatter\n };\n };\n };\n },\n uniques: function(fn, formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n uniq: [],\n push: function(record) {\n var ref;\n if (ref = record[attr], indexOf.call(this.uniq, ref) < 0) {\n return this.uniq.push(record[attr]);\n }\n },\n value: function() {\n return fn(this.uniq);\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n sum: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[attr]))) {\n return this.sum += parseFloat(record[attr]);\n }\n },\n value: function() {\n return this.sum;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n extremes: function(mode, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n val: null,\n sorter: getSort(data != null ? data.sorters : void 0, attr),\n push: function(record) {\n var ref, ref1, ref2, x;\n x = record[attr];\n if (mode === \"min\" || mode === \"max\") {\n x = parseFloat(x);\n if (!isNaN(x)) {\n this.val = Math[mode](x, (ref = this.val) != null ? ref : x);\n }\n }\n if (mode === \"first\") {\n if (this.sorter(x, (ref1 = this.val) != null ? ref1 : x) <= 0) {\n this.val = x;\n }\n }\n if (mode === \"last\") {\n if (this.sorter(x, (ref2 = this.val) != null ? ref2 : x) >= 0) {\n return this.val = x;\n }\n }\n },\n value: function() {\n return this.val;\n },\n format: function(x) {\n if (isNaN(x)) {\n return x;\n } else {\n return formatter(x);\n }\n },\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n quantile: function(q, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n vals: [],\n push: function(record) {\n var x;\n x = parseFloat(record[attr]);\n if (!isNaN(x)) {\n return this.vals.push(x);\n }\n },\n value: function() {\n var i;\n if (this.vals.length === 0) {\n return null;\n }\n this.vals.sort(function(a, b) {\n return a - b;\n });\n i = (this.vals.length - 1) * q;\n return (this.vals[Math.floor(i)] + this.vals[Math.ceil(i)]) / 2.0;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n runningStat: function(mode, ddof, formatter) {\n if (mode == null) {\n mode = \"mean\";\n }\n if (ddof == null) {\n ddof = 1;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n n: 0.0,\n m: 0.0,\n s: 0.0,\n push: function(record) {\n var m_new, x;\n x = parseFloat(record[attr]);\n if (isNaN(x)) {\n return;\n }\n this.n += 1.0;\n if (this.n === 1.0) {\n return this.m = x;\n } else {\n m_new = this.m + (x - this.m) / this.n;\n this.s = this.s + (x - this.m) * (x - m_new);\n return this.m = m_new;\n }\n },\n value: function() {\n if (mode === \"mean\") {\n if (this.n === 0) {\n return 0 / 0;\n } else {\n return this.m;\n }\n }\n if (this.n <= ddof) {\n return 0;\n }\n switch (mode) {\n case \"var\":\n return this.s / (this.n - ddof);\n case \"stdev\":\n return Math.sqrt(this.s / (this.n - ddof));\n }\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sumOverSum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n return this.sumNum / this.sumDenom;\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n sumOverSumBound80: function(upper, formatter) {\n if (upper == null) {\n upper = true;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n var sign;\n sign = upper ? 1 : -1;\n return (0.821187207574908 / this.sumDenom + this.sumNum / this.sumDenom + 1.2815515655446004 * sign * Math.sqrt(0.410593603787454 / (this.sumDenom * this.sumDenom) + (this.sumNum * (1 - this.sumNum / this.sumDenom)) / (this.sumDenom * this.sumDenom))) / (1 + 1.642374415149816 / this.sumDenom);\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n fractionOf: function(wrapped, type, formatter) {\n if (type == null) {\n type = \"total\";\n }\n if (formatter == null) {\n formatter = usFmtPct;\n }\n return function() {\n var x;\n x = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return function(data, rowKey, colKey) {\n return {\n selector: {\n total: [[], []],\n row: [rowKey, []],\n col: [[], colKey]\n }[type],\n inner: wrapped.apply(null, x)(data, rowKey, colKey),\n push: function(record) {\n return this.inner.push(record);\n },\n format: formatter,\n value: function() {\n return this.inner.value() / data.getAggregator.apply(data, this.selector).inner.value();\n },\n numInputs: wrapped.apply(null, x)().numInputs\n };\n };\n };\n }\n };\n aggregatorTemplates.countUnique = function(f) {\n return aggregatorTemplates.uniques((function(x) {\n return x.length;\n }), f);\n };\n aggregatorTemplates.listUnique = function(s) {\n return aggregatorTemplates.uniques((function(x) {\n return x.sort(naturalSort).join(s);\n }), (function(x) {\n return x;\n }));\n };\n aggregatorTemplates.max = function(f) {\n return aggregatorTemplates.extremes('max', f);\n };\n aggregatorTemplates.min = function(f) {\n return aggregatorTemplates.extremes('min', f);\n };\n aggregatorTemplates.first = function(f) {\n return aggregatorTemplates.extremes('first', f);\n };\n aggregatorTemplates.last = function(f) {\n return aggregatorTemplates.extremes('last', f);\n };\n aggregatorTemplates.median = function(f) {\n return aggregatorTemplates.quantile(0.5, f);\n };\n aggregatorTemplates.average = function(f) {\n return aggregatorTemplates.runningStat(\"mean\", 1, f);\n };\n aggregatorTemplates[\"var\"] = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"var\", ddof, f);\n };\n aggregatorTemplates.stdev = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"stdev\", ddof, f);\n };\n aggregators = (function(tpl) {\n return {\n \"Count\": tpl.count(usFmtInt),\n \"Count Unique Values\": tpl.countUnique(usFmtInt),\n \"List Unique Values\": tpl.listUnique(\", \"),\n \"Sum\": tpl.sum(usFmt),\n \"Integer Sum\": tpl.sum(usFmtInt),\n \"Average\": tpl.average(usFmt),\n \"Median\": tpl.median(usFmt),\n \"Sample Variance\": tpl[\"var\"](1, usFmt),\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt),\n \"Minimum\": tpl.min(usFmt),\n \"Maximum\": tpl.max(usFmt),\n \"First\": tpl.first(usFmt),\n \"Last\": tpl.last(usFmt),\n \"Sum over Sum\": tpl.sumOverSum(usFmt),\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt),\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt),\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct),\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct),\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct),\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct),\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct),\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n };\n })(aggregatorTemplates);\n renderers = {\n \"Table\": function(data, opts) {\n return pivotTableRenderer(data, opts);\n },\n \"Table Barchart\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).barchart();\n },\n \"Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts);\n },\n \"Row Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts);\n },\n \"Col Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts);\n }\n };\n locales = {\n en: {\n aggregators: aggregators,\n renderers: renderers,\n localeStrings: {\n renderError: \"An error occurred rendering the PivotTable results.\",\n computeError: \"An error occurred computing the PivotTable results.\",\n uiRenderError: \"An error occurred rendering the PivotTable UI.\",\n selectAll: \"Select All\",\n selectNone: \"Select None\",\n tooMany: \"(too many to list)\",\n filterResults: \"Filter values\",\n apply: \"Apply\",\n cancel: \"Cancel\",\n totals: \"Totals\",\n vs: \"vs\",\n by: \"by\"\n }\n }\n };\n mthNamesEn = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n dayNamesEn = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n zeroPad = function(number) {\n return (\"0\" + number).substr(-2, 2);\n };\n derivers = {\n bin: function(col, binWidth) {\n return function(record) {\n return record[col] - record[col] % binWidth;\n };\n },\n dateFormat: function(col, formatString, utcOutput, mthNames, dayNames) {\n var utc;\n if (utcOutput == null) {\n utcOutput = false;\n }\n if (mthNames == null) {\n mthNames = mthNamesEn;\n }\n if (dayNames == null) {\n dayNames = dayNamesEn;\n }\n utc = utcOutput ? \"UTC\" : \"\";\n return function(record) {\n var date;\n date = new Date(Date.parse(record[col]));\n if (isNaN(date)) {\n return \"\";\n }\n return formatString.replace(/%(.)/g, function(m, p) {\n switch (p) {\n case \"y\":\n return date[\"get\" + utc + \"FullYear\"]();\n case \"m\":\n return zeroPad(date[\"get\" + utc + \"Month\"]() + 1);\n case \"n\":\n return mthNames[date[\"get\" + utc + \"Month\"]()];\n case \"d\":\n return zeroPad(date[\"get\" + utc + \"Date\"]());\n case \"w\":\n return dayNames[date[\"get\" + utc + \"Day\"]()];\n case \"x\":\n return date[\"get\" + utc + \"Day\"]();\n case \"H\":\n return zeroPad(date[\"get\" + utc + \"Hours\"]());\n case \"M\":\n return zeroPad(date[\"get\" + utc + \"Minutes\"]());\n case \"S\":\n return zeroPad(date[\"get\" + utc + \"Seconds\"]());\n default:\n return \"%\" + p;\n }\n });\n };\n }\n };\n rx = /(\\d+)|(\\D+)/g;\n rd = /\\d/;\n rz = /^0/;\n naturalSort = (function(_this) {\n return function(as, bs) {\n var a, a1, b, b1, nas, nbs;\n if ((bs != null) && (as == null)) {\n return -1;\n }\n if ((as != null) && (bs == null)) {\n return 1;\n }\n if (typeof as === \"number\" && isNaN(as)) {\n return -1;\n }\n if (typeof bs === \"number\" && isNaN(bs)) {\n return 1;\n }\n nas = +as;\n nbs = +bs;\n if (nas < nbs) {\n return -1;\n }\n if (nas > nbs) {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs !== \"number\") {\n return -1;\n }\n if (typeof bs === \"number\" && typeof as !== \"number\") {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs === \"number\") {\n return 0;\n }\n if (isNaN(nbs) && !isNaN(nas)) {\n return -1;\n }\n if (isNaN(nas) && !isNaN(nbs)) {\n return 1;\n }\n a = String(as);\n b = String(bs);\n if (a === b) {\n return 0;\n }\n if (!(rd.test(a) && rd.test(b))) {\n return (a > b ? 1 : -1);\n }\n a = a.match(rx);\n b = b.match(rx);\n while (a.length && b.length) {\n a1 = a.shift();\n b1 = b.shift();\n if (a1 !== b1) {\n if (rd.test(a1) && rd.test(b1)) {\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\");\n } else {\n return (a1 > b1 ? 1 : -1);\n }\n }\n }\n return a.length - b.length;\n };\n })(this);\n sortAs = function(order) {\n var i, l_mapping, mapping, x;\n mapping = {};\n l_mapping = {};\n for (i in order) {\n x = order[i];\n mapping[x] = i;\n if (typeof x === \"string\") {\n l_mapping[x.toLowerCase()] = i;\n }\n }\n return function(a, b) {\n if ((mapping[a] != null) && (mapping[b] != null)) {\n return mapping[a] - mapping[b];\n } else if (mapping[a] != null) {\n return -1;\n } else if (mapping[b] != null) {\n return 1;\n } else if ((l_mapping[a] != null) && (l_mapping[b] != null)) {\n return l_mapping[a] - l_mapping[b];\n } else if (l_mapping[a] != null) {\n return -1;\n } else if (l_mapping[b] != null) {\n return 1;\n } else {\n return naturalSort(a, b);\n }\n };\n };\n getSort = function(sorters, attr) {\n var sort;\n if (sorters != null) {\n if ($.isFunction(sorters)) {\n sort = sorters(attr);\n if ($.isFunction(sort)) {\n return sort;\n }\n } else if (sorters[attr] != null) {\n return sorters[attr];\n }\n }\n return naturalSort;\n };\n\n /*\n Data Model class\n */\n PivotData = (function() {\n function PivotData(input, opts) {\n var ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9;\n if (opts == null) {\n opts = {};\n }\n this.getAggregator = bind(this.getAggregator, this);\n this.getRowKeys = bind(this.getRowKeys, this);\n this.getColKeys = bind(this.getColKeys, this);\n this.sortKeys = bind(this.sortKeys, this);\n this.arrSort = bind(this.arrSort, this);\n this.input = input;\n this.aggregator = (ref = opts.aggregator) != null ? ref : aggregatorTemplates.count()();\n this.aggregatorName = (ref1 = opts.aggregatorName) != null ? ref1 : \"Count\";\n this.colAttrs = (ref2 = opts.cols) != null ? ref2 : [];\n this.rowAttrs = (ref3 = opts.rows) != null ? ref3 : [];\n this.valAttrs = (ref4 = opts.vals) != null ? ref4 : [];\n this.sorters = (ref5 = opts.sorters) != null ? ref5 : {};\n this.rowOrder = (ref6 = opts.rowOrder) != null ? ref6 : \"key_a_to_z\";\n this.colOrder = (ref7 = opts.colOrder) != null ? ref7 : \"key_a_to_z\";\n this.derivedAttributes = (ref8 = opts.derivedAttributes) != null ? ref8 : {};\n this.filter = (ref9 = opts.filter) != null ? ref9 : (function() {\n return true;\n });\n this.tree = {};\n this.rowKeys = [];\n this.colKeys = [];\n this.rowTotals = {};\n this.colTotals = {};\n this.allTotal = this.aggregator(this, [], []);\n this.sorted = false;\n PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n if (_this.filter(record)) {\n return _this.processRecord(record);\n }\n };\n })(this));\n }\n\n PivotData.forEachRecord = function(input, derivedAttributes, f) {\n var addRecord, compactRecord, i, j, k, l, len1, record, ref, results, results1, tblCols;\n if ($.isEmptyObject(derivedAttributes)) {\n addRecord = f;\n } else {\n addRecord = function(record) {\n var k, ref, v;\n for (k in derivedAttributes) {\n v = derivedAttributes[k];\n record[k] = (ref = v(record)) != null ? ref : record[k];\n }\n return f(record);\n };\n }\n if ($.isFunction(input)) {\n return input(addRecord);\n } else if ($.isArray(input)) {\n if ($.isArray(input[0])) {\n results = [];\n for (i in input) {\n if (!hasProp.call(input, i)) continue;\n compactRecord = input[i];\n if (!(i > 0)) {\n continue;\n }\n record = {};\n ref = input[0];\n for (j in ref) {\n if (!hasProp.call(ref, j)) continue;\n k = ref[j];\n record[k] = compactRecord[j];\n }\n results.push(addRecord(record));\n }\n return results;\n } else {\n results1 = [];\n for (l = 0, len1 = input.length; l < len1; l++) {\n record = input[l];\n results1.push(addRecord(record));\n }\n return results1;\n }\n } else if (input instanceof $) {\n tblCols = [];\n $(\"thead > tr > th\", input).each(function(i) {\n return tblCols.push($(this).text());\n });\n return $(\"tbody > tr\", input).each(function(i) {\n record = {};\n $(\"td\", this).each(function(j) {\n return record[tblCols[j]] = $(this).text();\n });\n return addRecord(record);\n });\n } else {\n throw new Error(\"unknown input format\");\n }\n };\n\n PivotData.prototype.forEachMatchingRecord = function(criteria, callback) {\n return PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n var k, ref, v;\n if (!_this.filter(record)) {\n return;\n }\n for (k in criteria) {\n v = criteria[k];\n if (v !== ((ref = record[k]) != null ? ref : \"null\")) {\n return;\n }\n }\n return callback(record);\n };\n })(this));\n };\n\n PivotData.prototype.arrSort = function(attrs) {\n var a, sortersArr;\n sortersArr = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = attrs.length; l < len1; l++) {\n a = attrs[l];\n results.push(getSort(this.sorters, a));\n }\n return results;\n }).call(this);\n return function(a, b) {\n var comparison, i, sorter;\n for (i in sortersArr) {\n if (!hasProp.call(sortersArr, i)) continue;\n sorter = sortersArr[i];\n comparison = sorter(a[i], b[i]);\n if (comparison !== 0) {\n return comparison;\n }\n }\n return 0;\n };\n };\n\n PivotData.prototype.sortKeys = function() {\n var v;\n if (!this.sorted) {\n this.sorted = true;\n v = (function(_this) {\n return function(r, c) {\n return _this.getAggregator(r, c).value();\n };\n })(this);\n switch (this.rowOrder) {\n case \"value_a_to_z\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n case \"value_z_to_a\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n default:\n this.rowKeys.sort(this.arrSort(this.rowAttrs));\n }\n switch (this.colOrder) {\n case \"value_a_to_z\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v([], a), v([], b));\n };\n })(this));\n case \"value_z_to_a\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v([], a), v([], b));\n };\n })(this));\n default:\n return this.colKeys.sort(this.arrSort(this.colAttrs));\n }\n }\n };\n\n PivotData.prototype.getColKeys = function() {\n this.sortKeys();\n return this.colKeys;\n };\n\n PivotData.prototype.getRowKeys = function() {\n this.sortKeys();\n return this.rowKeys;\n };\n\n PivotData.prototype.processRecord = function(record) {\n var colKey, flatColKey, flatRowKey, l, len1, len2, n, ref, ref1, ref2, ref3, rowKey, x;\n colKey = [];\n rowKey = [];\n ref = this.colAttrs;\n for (l = 0, len1 = ref.length; l < len1; l++) {\n x = ref[l];\n colKey.push((ref1 = record[x]) != null ? ref1 : \"null\");\n }\n ref2 = this.rowAttrs;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n rowKey.push((ref3 = record[x]) != null ? ref3 : \"null\");\n }\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n this.allTotal.push(record);\n if (rowKey.length !== 0) {\n if (!this.rowTotals[flatRowKey]) {\n this.rowKeys.push(rowKey);\n this.rowTotals[flatRowKey] = this.aggregator(this, rowKey, []);\n }\n this.rowTotals[flatRowKey].push(record);\n }\n if (colKey.length !== 0) {\n if (!this.colTotals[flatColKey]) {\n this.colKeys.push(colKey);\n this.colTotals[flatColKey] = this.aggregator(this, [], colKey);\n }\n this.colTotals[flatColKey].push(record);\n }\n if (colKey.length !== 0 && rowKey.length !== 0) {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n if (!this.tree[flatRowKey][flatColKey]) {\n this.tree[flatRowKey][flatColKey] = this.aggregator(this, rowKey, colKey);\n }\n return this.tree[flatRowKey][flatColKey].push(record);\n }\n };\n\n PivotData.prototype.getAggregator = function(rowKey, colKey) {\n var agg, flatColKey, flatRowKey;\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n if (rowKey.length === 0 && colKey.length === 0) {\n agg = this.allTotal;\n } else if (rowKey.length === 0) {\n agg = this.colTotals[flatColKey];\n } else if (colKey.length === 0) {\n agg = this.rowTotals[flatRowKey];\n } else {\n agg = this.tree[flatRowKey][flatColKey];\n }\n return agg != null ? agg : {\n value: (function() {\n return null;\n }),\n format: function() {\n return \"\";\n }\n };\n };\n\n return PivotData;\n\n })();\n $.pivotUtilities = {\n aggregatorTemplates: aggregatorTemplates,\n aggregators: aggregators,\n renderers: renderers,\n derivers: derivers,\n locales: locales,\n naturalSort: naturalSort,\n numberFormat: numberFormat,\n sortAs: sortAs,\n PivotData: PivotData\n };\n\n /*\n Default Renderer for hierarchical table layout\n */\n pivotTableRenderer = function(pivotData, opts) {\n 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;\n defaults = {\n table: {\n clickCallback: null,\n rowTotals: true,\n colTotals: true\n },\n localeStrings: {\n totals: \"Totals\"\n }\n };\n opts = $.extend(true, {}, defaults, opts);\n colAttrs = pivotData.colAttrs;\n rowAttrs = pivotData.rowAttrs;\n rowKeys = pivotData.getRowKeys();\n colKeys = pivotData.getColKeys();\n if (opts.table.clickCallback) {\n getClickHandler = function(value, rowValues, colValues) {\n var attr, filters, i;\n filters = {};\n for (i in colAttrs) {\n if (!hasProp.call(colAttrs, i)) continue;\n attr = colAttrs[i];\n if (colValues[i] != null) {\n filters[attr] = colValues[i];\n }\n }\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n attr = rowAttrs[i];\n if (rowValues[i] != null) {\n filters[attr] = rowValues[i];\n }\n }\n return function(e) {\n return opts.table.clickCallback(e, value, filters, pivotData);\n };\n };\n }\n result = document.createElement(\"table\");\n result.className = \"pvtTable\";\n spanSize = function(arr, i, j) {\n var l, len, n, noDraw, ref, ref1, stop, x;\n if (i !== 0) {\n noDraw = true;\n for (x = l = 0, ref = j; 0 <= ref ? l <= ref : l >= ref; x = 0 <= ref ? ++l : --l) {\n if (arr[i - 1][x] !== arr[i][x]) {\n noDraw = false;\n }\n }\n if (noDraw) {\n return -1;\n }\n }\n len = 0;\n while (i + len < arr.length) {\n stop = false;\n for (x = n = 0, ref1 = j; 0 <= ref1 ? n <= ref1 : n >= ref1; x = 0 <= ref1 ? ++n : --n) {\n if (arr[i][x] !== arr[i + len][x]) {\n stop = true;\n }\n }\n if (stop) {\n break;\n }\n len++;\n }\n return len;\n };\n thead = document.createElement(\"thead\");\n for (j in colAttrs) {\n if (!hasProp.call(colAttrs, j)) continue;\n c = colAttrs[j];\n tr = document.createElement(\"tr\");\n if (parseInt(j) === 0 && rowAttrs.length !== 0) {\n th = document.createElement(\"th\");\n th.setAttribute(\"colspan\", rowAttrs.length);\n th.setAttribute(\"rowspan\", colAttrs.length);\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = c;\n tr.appendChild(th);\n for (i in colKeys) {\n if (!hasProp.call(colKeys, i)) continue;\n colKey = colKeys[i];\n x = spanSize(colKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtColLabel\";\n th.textContent = colKey[j];\n th.setAttribute(\"colspan\", x);\n if (parseInt(j) === colAttrs.length - 1 && rowAttrs.length !== 0) {\n th.setAttribute(\"rowspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n if (parseInt(j) === 0 && opts.table.rowTotals) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"rowspan\", colAttrs.length + (rowAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n thead.appendChild(tr);\n }\n if (rowAttrs.length !== 0) {\n tr = document.createElement(\"tr\");\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n r = rowAttrs[i];\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = r;\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n if (colAttrs.length === 0) {\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n }\n tr.appendChild(th);\n thead.appendChild(tr);\n }\n result.appendChild(thead);\n tbody = document.createElement(\"tbody\");\n for (i in rowKeys) {\n if (!hasProp.call(rowKeys, i)) continue;\n rowKey = rowKeys[i];\n tr = document.createElement(\"tr\");\n for (j in rowKey) {\n if (!hasProp.call(rowKey, j)) continue;\n txt = rowKey[j];\n x = spanSize(rowKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtRowLabel\";\n th.textContent = txt;\n th.setAttribute(\"rowspan\", x);\n if (parseInt(j) === rowAttrs.length - 1 && colAttrs.length !== 0) {\n th.setAttribute(\"colspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n aggregator = pivotData.getAggregator(rowKey, colKey);\n val = aggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtVal row\" + i + \" col\" + j;\n td.textContent = aggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, colKey);\n }\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator(rowKey, []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal rowTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, []);\n }\n td.setAttribute(\"data-for\", \"row\" + i);\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n if (opts.table.colTotals || rowAttrs.length === 0) {\n tr = document.createElement(\"tr\");\n if (opts.table.colTotals || rowAttrs.length === 0) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtColTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"colspan\", rowAttrs.length + (colAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n totalAggregator = pivotData.getAggregator([], colKey);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal colTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], colKey);\n }\n td.setAttribute(\"data-for\", \"col\" + j);\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator([], []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtGrandTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], []);\n }\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n result.appendChild(tbody);\n result.setAttribute(\"data-numrows\", rowKeys.length);\n result.setAttribute(\"data-numcols\", colKeys.length);\n return result;\n };\n\n /*\n Pivot Table core: create PivotData object and call Renderer on it\n */\n $.fn.pivot = function(input, inputOpts, locale) {\n var defaults, e, localeDefaults, localeStrings, opts, pivotData, result, x;\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n filter: function() {\n return true;\n },\n aggregator: aggregatorTemplates.count()(),\n aggregatorName: \"Count\",\n sorters: {},\n derivedAttributes: {},\n renderer: pivotTableRenderer\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n result = null;\n try {\n pivotData = new opts.dataClass(input, opts);\n try {\n result = opts.renderer(pivotData, opts.rendererOptions);\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.renderError);\n }\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.computeError);\n }\n x = this[0];\n while (x.hasChildNodes()) {\n x.removeChild(x.lastChild);\n }\n return this.append(result);\n };\n\n /*\n Pivot Table UI: calls Pivot Table core above with options set by user\n */\n $.fn.pivotUI = function(input, inputOpts, overwrite, locale) {\n 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;\n if (overwrite == null) {\n overwrite = false;\n }\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n derivedAttributes: {},\n aggregators: locales[locale].aggregators,\n renderers: locales[locale].renderers,\n hiddenAttributes: [],\n hiddenFromAggregators: [],\n hiddenFromDragDrop: [],\n menuLimit: 500,\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n exclusions: {},\n inclusions: {},\n unusedAttrsVertical: 85,\n autoSortUnusedAttrs: false,\n onRefresh: null,\n showUI: true,\n filter: function() {\n return true;\n },\n sorters: {}\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n existingOpts = this.data(\"pivotUIOptions\");\n if ((existingOpts == null) || overwrite) {\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n } else {\n opts = existingOpts;\n }\n try {\n attrValues = {};\n materializedInput = [];\n recordsProcessed = 0;\n PivotData.forEachRecord(input, opts.derivedAttributes, function(record) {\n var attr, base, ref, value;\n if (!opts.filter(record)) {\n return;\n }\n materializedInput.push(record);\n for (attr in record) {\n if (!hasProp.call(record, attr)) continue;\n if (attrValues[attr] == null) {\n attrValues[attr] = {};\n if (recordsProcessed > 0) {\n attrValues[attr][\"null\"] = recordsProcessed;\n }\n }\n }\n for (attr in attrValues) {\n value = (ref = record[attr]) != null ? ref : \"null\";\n if ((base = attrValues[attr])[value] == null) {\n base[value] = 0;\n }\n attrValues[attr][value]++;\n }\n return recordsProcessed++;\n });\n uiTable = $(\"\", {\n \"class\": \"pvtUi\"\n }).attr(\"cellpadding\", 5);\n rendererControl = $(\"\").addClass(\"pvtUiCell\");\n renderer = $(\"\").addClass('pvtRenderer').appendTo(rendererControl).bind(\"change\", function() {\n return refresh();\n });\n ref = opts.renderers;\n for (x in ref) {\n if (!hasProp.call(ref, x)) continue;\n $(\"\").val(x).html(x).appendTo(renderer);\n }\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell');\n shownAttributes = (function() {\n var results;\n results = [];\n for (a in attrValues) {\n if (indexOf.call(opts.hiddenAttributes, a) < 0) {\n results.push(a);\n }\n }\n return results;\n })();\n shownInAggregators = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromAggregators, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n shownInDragDrop = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromDragDrop, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n unusedAttrsVerticalAutoOverride = false;\n if (opts.unusedAttrsVertical === \"auto\") {\n unusedAttrsVerticalAutoCutoff = 120;\n } else {\n unusedAttrsVerticalAutoCutoff = parseInt(opts.unusedAttrsVertical);\n }\n if (!isNaN(unusedAttrsVerticalAutoCutoff)) {\n attrLength = 0;\n for (l = 0, len1 = shownInDragDrop.length; l < len1; l++) {\n a = shownInDragDrop[l];\n attrLength += a.length;\n }\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff;\n }\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n unused.addClass('pvtVertList');\n } else {\n unused.addClass('pvtHorizList');\n }\n fn1 = function(attr) {\n var attrElem, checkContainer, closeFilterBox, controls, filterItem, filterItemExcluded, finalButtons, hasExcludedItem, len2, n, placeholder, ref1, sorter, triangleLink, v, value, valueCount, valueList, values;\n values = (function() {\n var results;\n results = [];\n for (v in attrValues[attr]) {\n results.push(v);\n }\n return results;\n })();\n hasExcludedItem = false;\n valueList = $(\"\").addClass('pvtFilterBox').hide();\n valueList.append($(\"\").append($(\"\").text(attr), $(\"\").addClass(\"count\").text(\"(\" + values.length + \")\")));\n if (values.length > opts.menuLimit) {\n valueList.append($(\"\").html(opts.localeStrings.tooMany));\n } else {\n if (values.length > 5) {\n controls = $(\"\").appendTo(valueList);\n sorter = getSort(opts.sorters, attr);\n placeholder = opts.localeStrings.filterResults;\n $(\"\", {\n type: \"text\"\n }).appendTo(controls).attr({\n placeholder: placeholder,\n \"class\": \"pvtSearch\"\n }).bind(\"keyup\", function() {\n var accept, accept_gen, filter;\n filter = $(this).val().toLowerCase().trim();\n accept_gen = function(prefix, accepted) {\n return function(v) {\n var real_filter, ref1;\n real_filter = filter.substring(prefix.length).trim();\n if (real_filter.length === 0) {\n return true;\n }\n return ref1 = Math.sign(sorter(v.toLowerCase(), real_filter)), indexOf.call(accepted, ref1) >= 0;\n };\n };\n 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) {\n if (filter.substring(1).trim().length === 0) {\n return true;\n }\n return v.toLowerCase().match(filter.substring(1));\n } : function(v) {\n return v.toLowerCase().indexOf(filter) !== -1;\n };\n return valueList.find('.pvtCheckContainer p label span.value').each(function() {\n if (accept($(this).text())) {\n return $(this).parent().parent().show();\n } else {\n return $(this).parent().parent().hide();\n }\n });\n });\n controls.append($(\"\"));\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectAll).bind(\"click\", function() {\n valueList.find(\"input:visible:not(:checked)\").prop(\"checked\", true).toggleClass(\"changed\");\n return false;\n });\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectNone).bind(\"click\", function() {\n valueList.find(\"input:visible:checked\").prop(\"checked\", false).toggleClass(\"changed\");\n return false;\n });\n }\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList);\n ref1 = values.sort(getSort(opts.sorters, attr));\n for (n = 0, len2 = ref1.length; n < len2; n++) {\n value = ref1[n];\n valueCount = attrValues[attr][value];\n filterItem = $(\"\");\n filterItemExcluded = false;\n if (opts.inclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.inclusions[attr], value) < 0);\n } else if (opts.exclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.exclusions[attr], value) >= 0);\n }\n hasExcludedItem || (hasExcludedItem = filterItemExcluded);\n $(\"\").attr(\"type\", \"checkbox\").addClass('pvtFilter').attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr, value]).appendTo(filterItem).bind(\"change\", function() {\n return $(this).toggleClass(\"changed\");\n });\n filterItem.append($(\"\").addClass(\"value\").text(value));\n filterItem.append($(\"\").addClass(\"count\").text(\"(\" + valueCount + \")\"));\n checkContainer.append($(\"\").append(filterItem));\n }\n }\n closeFilterBox = function() {\n if (valueList.find(\"[type='checkbox']\").length > valueList.find(\"[type='checkbox']:checked\").length) {\n attrElem.addClass(\"pvtFilteredAttribute\");\n } else {\n attrElem.removeClass(\"pvtFilteredAttribute\");\n }\n valueList.find('.pvtSearch').val('');\n valueList.find('.pvtCheckContainer p').show();\n return valueList.hide();\n };\n finalButtons = $(\"\").appendTo(valueList);\n if (values.length <= opts.menuLimit) {\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.apply).appendTo(finalButtons).bind(\"click\", function() {\n if (valueList.find(\".changed\").removeClass(\"changed\").length) {\n refresh();\n }\n return closeFilterBox();\n });\n }\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.cancel).appendTo(finalButtons).bind(\"click\", function() {\n valueList.find(\".changed:checked\").removeClass(\"changed\").prop(\"checked\", false);\n valueList.find(\".changed:not(:checked)\").removeClass(\"changed\").prop(\"checked\", true);\n return closeFilterBox();\n });\n triangleLink = $(\"\").addClass('pvtTriangle').html(\" ▾\").bind(\"click\", function(e) {\n var left, ref2, top;\n ref2 = $(e.currentTarget).position(), left = ref2.left, top = ref2.top;\n return valueList.css({\n left: left + 10,\n top: top + 10\n }).show();\n });\n attrElem = $(\"\").addClass(\"axis_\" + i).append($(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink));\n if (hasExcludedItem) {\n attrElem.addClass('pvtFilteredAttribute');\n }\n return unused.append(attrElem).append(valueList);\n };\n for (i in shownInDragDrop) {\n if (!hasProp.call(shownInDragDrop, i)) continue;\n attr = shownInDragDrop[i];\n fn1(attr);\n }\n tr1 = $(\"\").appendTo(uiTable);\n aggregator = $(\"\").addClass('pvtAggregator').bind(\"change\", function() {\n return refresh();\n });\n ref1 = opts.aggregators;\n for (x in ref1) {\n if (!hasProp.call(ref1, x)) continue;\n aggregator.append($(\"\").val(x).html(x));\n }\n ordering = {\n key_a_to_z: {\n rowSymbol: \"↕\",\n colSymbol: \"↔\",\n next: \"value_a_to_z\"\n },\n value_a_to_z: {\n rowSymbol: \"↓\",\n colSymbol: \"→\",\n next: \"value_z_to_a\"\n },\n value_z_to_a: {\n rowSymbol: \"↑\",\n colSymbol: \"←\",\n next: \"key_a_to_z\"\n }\n };\n rowOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtRowOrder\").data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol);\n return refresh();\n });\n colOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtColOrder\").data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].colSymbol);\n return refresh();\n });\n $(\"\").addClass('pvtVals pvtUiCell').appendTo(tr1).append(aggregator).append(rowOrderArrow).append(colOrderArrow).append($(\"\"));\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1);\n tr2 = $(\"\").appendTo(uiTable);\n tr2.append($(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\"));\n pivotTable = $(\"\").attr(\"valign\", \"top\").addClass('pvtRendererArea').appendTo(tr2);\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n uiTable.find('tr:nth-child(1)').prepend(rendererControl);\n uiTable.find('tr:nth-child(2)').prepend(unused);\n } else {\n uiTable.prepend($(\"\").append(rendererControl).append(unused));\n }\n this.html(uiTable);\n ref2 = opts.cols;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n this.find(\".pvtCols\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n ref3 = opts.rows;\n for (o = 0, len3 = ref3.length; o < len3; o++) {\n x = ref3[o];\n this.find(\".pvtRows\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n if (opts.aggregatorName != null) {\n this.find(\".pvtAggregator\").val(opts.aggregatorName);\n }\n if (opts.rendererName != null) {\n this.find(\".pvtRenderer\").val(opts.rendererName);\n }\n if (!opts.showUI) {\n this.find(\".pvtUiCell\").hide();\n }\n initialRender = true;\n refreshDelayed = (function(_this) {\n return function() {\n var exclusions, inclusions, len4, newDropdown, numInputsToProcess, pivotUIOptions, pvtVals, ref4, ref5, subopts, t, u, unusedAttrsContainer, vals;\n subopts = {\n derivedAttributes: opts.derivedAttributes,\n localeStrings: opts.localeStrings,\n rendererOptions: opts.rendererOptions,\n sorters: opts.sorters,\n cols: [],\n rows: [],\n dataClass: opts.dataClass\n };\n numInputsToProcess = (ref4 = opts.aggregators[aggregator.val()]([])().numInputs) != null ? ref4 : 0;\n vals = [];\n _this.find(\".pvtRows li span.pvtAttr\").each(function() {\n return subopts.rows.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtCols li span.pvtAttr\").each(function() {\n return subopts.cols.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n if (numInputsToProcess === 0) {\n return $(this).remove();\n } else {\n numInputsToProcess--;\n if ($(this).val() !== \"\") {\n return vals.push($(this).val());\n }\n }\n });\n if (numInputsToProcess !== 0) {\n pvtVals = _this.find(\".pvtVals\");\n for (x = t = 0, ref5 = numInputsToProcess; 0 <= ref5 ? t < ref5 : t > ref5; x = 0 <= ref5 ? ++t : --t) {\n newDropdown = $(\"\").addClass('pvtAttrDropdown').append($(\"\")).bind(\"change\", function() {\n return refresh();\n });\n for (u = 0, len4 = shownInAggregators.length; u < len4; u++) {\n attr = shownInAggregators[u];\n newDropdown.append($(\"\").val(attr).text(attr));\n }\n pvtVals.append(newDropdown);\n }\n }\n if (initialRender) {\n vals = opts.vals;\n i = 0;\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n $(this).val(vals[i]);\n return i++;\n });\n initialRender = false;\n }\n subopts.aggregatorName = aggregator.val();\n subopts.vals = vals;\n subopts.aggregator = opts.aggregators[aggregator.val()](vals);\n subopts.renderer = opts.renderers[renderer.val()];\n subopts.rowOrder = rowOrderArrow.data(\"order\");\n subopts.colOrder = colOrderArrow.data(\"order\");\n exclusions = {};\n _this.find('input.pvtFilter').not(':checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n return exclusions[filter[0]].push(filter[1]);\n } else {\n return exclusions[filter[0]] = [filter[1]];\n }\n });\n inclusions = {};\n _this.find('input.pvtFilter:checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n if (inclusions[filter[0]] != null) {\n return inclusions[filter[0]].push(filter[1]);\n } else {\n return inclusions[filter[0]] = [filter[1]];\n }\n }\n });\n subopts.filter = function(record) {\n var excludedItems, k, ref6, ref7;\n if (!opts.filter(record)) {\n return false;\n }\n for (k in exclusions) {\n excludedItems = exclusions[k];\n if (ref6 = \"\" + ((ref7 = record[k]) != null ? ref7 : 'null'), indexOf.call(excludedItems, ref6) >= 0) {\n return false;\n }\n }\n return true;\n };\n pivotTable.pivot(materializedInput, subopts);\n pivotUIOptions = $.extend({}, opts, {\n cols: subopts.cols,\n rows: subopts.rows,\n colOrder: subopts.colOrder,\n rowOrder: subopts.rowOrder,\n vals: vals,\n exclusions: exclusions,\n inclusions: inclusions,\n inclusionsInfo: inclusions,\n aggregatorName: aggregator.val(),\n rendererName: renderer.val()\n });\n _this.data(\"pivotUIOptions\", pivotUIOptions);\n if (opts.autoSortUnusedAttrs) {\n unusedAttrsContainer = _this.find(\"td.pvtUnused.pvtAxisContainer\");\n $(unusedAttrsContainer).children(\"li\").sort(function(a, b) {\n return naturalSort($(a).text(), $(b).text());\n }).appendTo(unusedAttrsContainer);\n }\n pivotTable.css(\"opacity\", 1);\n if (opts.onRefresh != null) {\n return opts.onRefresh(pivotUIOptions);\n }\n };\n })(this);\n refresh = (function(_this) {\n return function() {\n pivotTable.css(\"opacity\", 0.5);\n return setTimeout(refreshDelayed, 10);\n };\n })(this);\n refresh();\n this.find(\".pvtAxisContainer\").sortable({\n update: function(e, ui) {\n if (ui.sender == null) {\n return refresh();\n }\n },\n connectWith: this.find(\".pvtAxisContainer\"),\n items: 'li',\n placeholder: 'pvtPlaceholder'\n });\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n this.html(opts.localeStrings.uiRenderError);\n }\n return this;\n };\n\n /*\n Heatmap post-processing\n */\n $.fn.heatmap = function(scope, opts) {\n var colorScaleGenerator, heatmapper, i, j, l, n, numCols, numRows, ref, ref1, ref2;\n if (scope == null) {\n scope = \"heatmap\";\n }\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n colorScaleGenerator = opts != null ? (ref = opts.heatmap) != null ? ref.colorScaleGenerator : void 0 : void 0;\n if (colorScaleGenerator == null) {\n colorScaleGenerator = function(values) {\n var max, min;\n min = Math.min.apply(Math, values);\n max = Math.max.apply(Math, values);\n return function(x) {\n var nonRed;\n nonRed = 255 - Math.round(255 * (x - min) / (max - min));\n return \"rgb(255,\" + nonRed + \",\" + nonRed + \")\";\n };\n };\n }\n heatmapper = (function(_this) {\n return function(scope) {\n var colorScale, forEachCell, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n colorScale = colorScaleGenerator(values);\n return forEachCell(function(x, elem) {\n return elem.css(\"background-color\", colorScale(x));\n });\n };\n })(this);\n switch (scope) {\n case \"heatmap\":\n heatmapper(\".pvtVal\");\n break;\n case \"rowheatmap\":\n for (i = l = 0, ref1 = numRows; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) {\n heatmapper(\".pvtVal.row\" + i);\n }\n break;\n case \"colheatmap\":\n for (j = n = 0, ref2 = numCols; 0 <= ref2 ? n < ref2 : n > ref2; j = 0 <= ref2 ? ++n : --n) {\n heatmapper(\".pvtVal.col\" + j);\n }\n }\n heatmapper(\".pvtTotal.rowTotal\");\n heatmapper(\".pvtTotal.colTotal\");\n return this;\n };\n\n /*\n Barchart post-processing\n */\n return $.fn.barchart = function(opts) {\n var barcharter, i, l, numCols, numRows, ref;\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n barcharter = (function(_this) {\n return function(scope) {\n var forEachCell, max, min, range, scaler, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n max = Math.max.apply(Math, values);\n if (max < 0) {\n max = 0;\n }\n range = max;\n min = Math.min.apply(Math, values);\n if (min < 0) {\n range = max - min;\n }\n scaler = function(x) {\n return 100 * x / (1.4 * range);\n };\n return forEachCell(function(x, elem) {\n var bBase, bgColor, text, wrapper;\n text = elem.text();\n wrapper = $(\"\").css({\n \"position\": \"relative\",\n \"height\": \"55px\"\n });\n bgColor = \"gray\";\n bBase = 0;\n if (min < 0) {\n bBase = scaler(-min);\n }\n if (x < 0) {\n bBase += scaler(x);\n bgColor = \"darkred\";\n x = -x;\n }\n wrapper.append($(\"\").css({\n \"position\": \"absolute\",\n \"bottom\": bBase + \"%\",\n \"left\": 0,\n \"right\": 0,\n \"height\": scaler(x) + \"%\",\n \"background-color\": bgColor\n }));\n wrapper.append($(\"\").text(text).css({\n \"position\": \"relative\",\n \"padding-left\": \"5px\",\n \"padding-right\": \"5px\"\n }));\n return elem.css({\n \"padding\": 0,\n \"padding-top\": \"5px\",\n \"text-align\": \"center\"\n }).html(wrapper);\n });\n };\n })(this);\n for (i = l = 0, ref = numRows; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) {\n barcharter(\".pvtVal.row\" + i);\n }\n barcharter(\".pvtTotal.colTotal\");\n return this;\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.js.map\n"]} \ No newline at end of file diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.js new file mode 100644 index 0000000..ca9a375 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js @@ -0,0 +1,80 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map new file mode 100644 index 0000000..b7c7760 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js index 9dc06ee..a3bcc04 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js @@ -1,2 +1,2 @@ -(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,n,o;return n=e.pivotUtilities.numberFormat,o=e.pivotUtilities.aggregatorTemplates,t=n({thousandsSep:" ",decimalSep:","}),r=n({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),i=n({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:o.count(r),"Aantal unieke waarden":o.countUnique(r),"Lijst unieke waarden":o.listUnique(", "),Som:o.sum(t),"Som van gehele getallen":o.sum(r),Gemiddelde:o.average(t),Minimum:o.min(t),Maximum:o.max(t),"Som over som":o.sumOverSum(t),"80% bovengrens":o.sumOverSumBound80(!0,t),"80% ondergrens":o.sumOverSumBound80(!1,t),"Som in verhouding tot het totaal":o.fractionOf(o.sum(),"total",i),"Som in verhouding tot de rij":o.fractionOf(o.sum(),"row",i),"Som in verhouding tot de kolom":o.fractionOf(o.sum(),"col",i),"Aantal in verhouding tot het totaal":o.fractionOf(o.count(),"total",i),"Aantal in verhouding tot de rij":o.fractionOf(o.count(),"row",i),"Aantal in verhouding tot de kolom":o.fractionOf(o.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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map new file mode 100644 index 0000000..b51dc51 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js b/inst/htmlwidgets/lib/pivottable/pivot.pl.js new file mode 100644 index 0000000..aa4b438 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js @@ -0,0 +1,82 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map new file mode 100644 index 0000000..3eefc10 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pivot.pl.js","sources":["pivot.pl.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 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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map new file mode 100644 index 0000000..14a4b8e --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.js new file mode 100644 index 0000000..b737243 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js @@ -0,0 +1,111 @@ +(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.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": tpl.count(frFmtInt), + "Contagem de Valores únicos": tpl.countUnique(frFmtInt), + "Lista de Valores únicos": tpl.listUnique(", "), + "Soma": tpl.sum(frFmt), + "Soma de Inteiros": tpl.sum(frFmtInt), + "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áximo": tpl.max(frFmt), + "Primeiro": tpl.first(frFmt), + "Último": tpl.last(frFmt), + "Soma sobre Soma": tpl.sumOverSum(frFmt), + "Limite Superior a 80%": tpl.sumOverSumBound80(true, frFmt), + "Limite Inferior a 80%": tpl.sumOverSumBound80(false, frFmt), + "Soma como Fração do Total": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Soma como Fração da Linha": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Soma como Fração da Coluna": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Contagem como Fração do Total": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Contagem como Fração da Linha": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Contagem como Fração da Coluna": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tabela": r["Table"], + "Tabela com Barras": r["Table Barchart"], + "Mapa de Calor": r["Heatmap"], + "Mapa de Calor por Linhas": r["Row Heatmap"], + "Mapa de Calor por Colunas": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.pt.gchart_renderers = { + "Gráfico de Linhas": gcr["Line Chart"], + "Gráfico de Barras": gcr["Bar Chart"], + "Gráfico de Barras Empilhadas": gcr["Stacked Bar Chart"], + "Gráfico de Área": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.pt.d3_renderers = { + "Mapa de Árvore": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.pt.c3_renderers = { + "Gráfico de Linhas": c3r["Line Chart"], + "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; + }); + +}).call(this); + +//# sourceMappingURL=pivot.pt.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map new file mode 100644 index 0000000..72cb981 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js index cf4f356..0f92ea7 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js @@ -1,2 +1,2 @@ -(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,l,n,c;return l=a.pivotUtilities.numberFormat,c=a.pivotUtilities.aggregatorTemplates,n=a.pivotUtilities.renderers,s=a.pivotUtilities.gchart_renderers,r=a.pivotUtilities.d3_renderers,e=a.pivotUtilities.c3_renderers,o=l({thousandsSep:".",decimalSep:","}),i=l({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),t=l({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),"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:n.Table,"Tabela com Barras":n["Table Barchart"],"Mapa de Calor":n.Heatmap,"Mapa de Calor por Linhas":n["Row Heatmap"],"Mapa de Calor por Colunas":n["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map new file mode 100644 index 0000000..cf067a6 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js b/inst/htmlwidgets/lib/pivottable/pivot.ru.js new file mode 100644 index 0000000..ebc556d --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map new file mode 100644 index 0000000..f7fe47f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map new file mode 100644 index 0000000..4ef0db3 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js b/inst/htmlwidgets/lib/pivottable/pivot.sq.js new file mode 100644 index 0000000..080b336 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map new file mode 100644 index 0000000..604860b --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map new file mode 100644 index 0000000..3f6df78 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js b/inst/htmlwidgets/lib/pivottable/pivot.tr.js new file mode 100644 index 0000000..1a95e56 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js @@ -0,0 +1,104 @@ +(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.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ı": tpl.count(frFmtInt), + "Benzersiz değerler sayısı": tpl.countUnique(frFmtInt), + "Benzersiz değerler listesi": tpl.listUnique(", "), + "Toplam": tpl.sum(frFmt), + "Toplam (tam sayı)": tpl.sum(frFmtInt), + "Ortalama": tpl.average(frFmt), + "Min": tpl.min(frFmt), + "Maks": tpl.max(frFmt), + "Miktarların toplamı": tpl.sumOverSum(frFmt), + "%80 daha yüksek": tpl.sumOverSumBound80(true, frFmt), + "%80 daha düşük": tpl.sumOverSumBound80(false, frFmt), + "Toplam oranı (toplam)": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Satır oranı (toplam)": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Sütunun oranı (toplam)": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Toplam oranı (sayı)": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Satır oranı (sayı)": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Sütunun oranı (sayı)": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tablo": r["Table"], + "Tablo (Çubuklar)": r["Table Barchart"], + "İlgi haritası": r["Heatmap"], + "Satır ilgi haritası": r["Row Heatmap"], + "Sütun ilgi haritası": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.tr.gchart_renderers = { + "Çizgi Grafiği": gcr["Line Chart"], + "Bar Grafiği": gcr["Bar Chart"], + "Yığılmış Çubuk Grafik ": gcr["Stacked Bar Chart"], + "Alan Grafiği": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.tr.d3_renderers = { + "Hiyerarşik Alan Grafiği (Treemap)": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.tr.c3_renderers = { + "Çizgi Grafiği": c3r["Line Chart"], + "Bar Grafiği": c3r["Bar Chart"], + "Yığılmış Çubuk Grafik ": c3r["Stacked Bar Chart"], + "Alan Grafiği": c3r["Area Chart"] + }; + } + return $.pivotUtilities.locales.tr; + }); + +}).call(this); + +//# sourceMappingURL=pivot.tr.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map new file mode 100644 index 0000000..3b5dbe0 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map new file mode 100644 index 0000000..90d8eb9 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.js new file mode 100644 index 0000000..5f30fb4 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js @@ -0,0 +1,113 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map new file mode 100644 index 0000000..6810c5f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js index 916fceb..2828cad 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js @@ -1,2 +1,2 @@ -(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,a,l,n,c;return l=e.pivotUtilities.numberFormat,c=e.pivotUtilities.aggregatorTemplates,n=e.pivotUtilities.renderers,a=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,t=e.pivotUtilities.c3_renderers,i=l({thousandsSep:",",decimalSep:"."}),o=l({digitsAfterDecimal:0,thousandsSep:",",decimalSep:"."}),s=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(o),"非重复值的个数":c.countUnique(o),"列出非重复值":c.listUnique(", "),"求和":c.sum(i),"求和后取整":c.sum(o),"平均值":c.average(i),"最小值":c.min(i),"最大值":c.max(i),"两和之比":c.sumOverSum(i),"二项分布:置信度为80%时的区间上限":c.sumOverSumBound80(!0,i),"二项分布:置信度为80%时的区间下限":c.sumOverSumBound80(!1,i),"和在总计中的比例":c.fractionOf(c.sum(),"total",s),"和在行合计中的比例":c.fractionOf(c.sum(),"row",s),"和在列合计中的比例":c.fractionOf(c.sum(),"col",s),"频数在总计中的比例":c.fractionOf(c.count(),"total",s),"频数在行合计中的比例":c.fractionOf(c.count(),"row",s),"频数在列合计中的比例":c.fractionOf(c.count(),"col",s)},renderers:{"表格":n.Table,"表格内柱状图":n["Table Barchart"],"热图":n.Heatmap,"行热图":n["Row Heatmap"],"列热图":n["Col Heatmap"]}},a&&(e.pivotUtilities.locales.zh.gchart_renderers={"折线图(g)":a["Line Chart"],"柱形图(g)":a["Bar Chart"],"堆栈柱形图(g)":a["Stacked Bar Chart"],"面积图(g)":a["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map new file mode 100644 index 0000000..8b30873 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot_spec.js b/inst/htmlwidgets/lib/pivottable/pivot_spec.js new file mode 100644 index 0000000..fadadce --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot_spec.js @@ -0,0 +1,614 @@ +(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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 $("").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 = $("").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 = $("\n \n
\").appendTo(valueList)\n\n if values.length <= opts.menuLimit\n $(\"\", {type: \"button\"}).text(opts.localeStrings.apply)\n .appendTo(finalButtons).bind \"click\", ->\n if valueList.find(\".changed\").removeClass(\"changed\").length\n refresh()\n closeFilterBox()\n\n $(\"\", {type: \"button\"}).text(opts.localeStrings.cancel)\n .appendTo(finalButtons).bind \"click\", ->\n valueList.find(\".changed:checked\")\n .removeClass(\"changed\").prop(\"checked\", false)\n valueList.find(\".changed:not(:checked)\")\n .removeClass(\"changed\").prop(\"checked\", true)\n closeFilterBox()\n\n triangleLink = $(\"\").addClass('pvtTriangle')\n .html(\" ▾\").bind \"click\", (e) ->\n {left, top} = $(e.currentTarget).position()\n valueList.css(left: left+10, top: top+10).show()\n\n attrElem = $(\"\").addClass(\"axis_#{i}\")\n .append $(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink)\n\n attrElem.addClass('pvtFilteredAttribute') if hasExcludedItem\n unused.append(attrElem).append(valueList)\n\n tr1 = $(\"\").appendTo(uiTable)\n\n #aggregator menu and value area\n\n aggregator = $(\"\").addClass('pvtAggregator')\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.aggregators\n aggregator.append $(\"\").val(x).html(x)\n\n ordering =\n key_a_to_z: {rowSymbol: \"↕\", colSymbol: \"↔\", next: \"value_a_to_z\"}\n value_a_to_z: {rowSymbol: \"↓\", colSymbol: \"→\", next: \"value_z_to_a\"}\n value_z_to_a: {rowSymbol: \"↑\", colSymbol: \"←\", next: \"key_a_to_z\"}\n\n rowOrderArrow = $(\"\", role: \"button\").addClass(\"pvtRowOrder\")\n .data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol)\n refresh()\n\n colOrderArrow = $(\"\", role: \"button\").addClass(\"pvtColOrder\")\n .data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].colSymbol)\n refresh()\n\n $(\"\").addClass('pvtVals pvtUiCell')\n .appendTo(tr1)\n .append(aggregator)\n .append(rowOrderArrow)\n .append(colOrderArrow)\n .append($(\"\"))\n\n #column axes\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1)\n\n tr2 = $(\"\").appendTo(uiTable)\n\n #row axes\n tr2.append $(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\")\n\n #the actual pivot table container\n pivotTable = $(\"\")\n .attr(\"valign\", \"top\")\n .addClass('pvtRendererArea')\n .appendTo(tr2)\n\n #finally the renderer dropdown and unused attribs are inserted at the requested location\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n uiTable.find('tr:nth-child(1)').prepend rendererControl\n uiTable.find('tr:nth-child(2)').prepend unused\n else\n uiTable.prepend $(\"\").append(rendererControl).append(unused)\n\n #render the UI in its default state\n @html uiTable\n\n #set up the UI initial state as requested by moving elements around\n\n for x in opts.cols\n @find(\".pvtCols\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n for x in opts.rows\n @find(\".pvtRows\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n if opts.aggregatorName?\n @find(\".pvtAggregator\").val opts.aggregatorName\n if opts.rendererName?\n @find(\".pvtRenderer\").val opts.rendererName\n\n @find(\".pvtUiCell\").hide() unless opts.showUI\n\n initialRender = true\n\n #set up for refreshing\n refreshDelayed = =>\n subopts =\n derivedAttributes: opts.derivedAttributes\n localeStrings: opts.localeStrings\n rendererOptions: opts.rendererOptions\n sorters: opts.sorters\n cols: [], rows: []\n dataClass: opts.dataClass\n\n numInputsToProcess = opts.aggregators[aggregator.val()]([])().numInputs ? 0\n vals = []\n @find(\".pvtRows li span.pvtAttr\").each -> subopts.rows.push $(this).data(\"attrName\")\n @find(\".pvtCols li span.pvtAttr\").each -> subopts.cols.push $(this).data(\"attrName\")\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n if numInputsToProcess == 0\n $(this).remove()\n else\n numInputsToProcess--\n vals.push $(this).val() if $(this).val() != \"\"\n\n if numInputsToProcess != 0\n pvtVals = @find(\".pvtVals\")\n for x in [0...numInputsToProcess]\n newDropdown = $(\"\")\n .addClass('pvtAttrDropdown')\n .append($(\"\"))\n .bind \"change\", -> refresh()\n for attr in shownInAggregators\n newDropdown.append($(\"\").val(attr).text(attr))\n pvtVals.append(newDropdown)\n\n if initialRender\n vals = opts.vals\n i = 0\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n $(this).val vals[i]\n i++\n initialRender = false\n\n subopts.aggregatorName = aggregator.val()\n subopts.vals = vals\n subopts.aggregator = opts.aggregators[aggregator.val()](vals)\n subopts.renderer = opts.renderers[renderer.val()]\n subopts.rowOrder = rowOrderArrow.data(\"order\")\n subopts.colOrder = colOrderArrow.data(\"order\")\n #construct filter here\n exclusions = {}\n @find('input.pvtFilter').not(':checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n exclusions[filter[0]].push( filter[1] )\n else\n exclusions[filter[0]] = [ filter[1] ]\n #include inclusions when exclusions present\n inclusions = {}\n @find('input.pvtFilter:checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n if inclusions[filter[0]]?\n inclusions[filter[0]].push( filter[1] )\n else\n inclusions[filter[0]] = [ filter[1] ]\n\n subopts.filter = (record) ->\n return false if not opts.filter(record)\n for k,excludedItems of exclusions\n return false if \"\"+(record[k] ? 'null') in excludedItems\n return true\n\n pivotTable.pivot(materializedInput,subopts)\n pivotUIOptions = $.extend {}, opts,\n cols: subopts.cols\n rows: subopts.rows\n colOrder: subopts.colOrder\n rowOrder: subopts.rowOrder\n vals: vals\n exclusions: exclusions\n inclusions: inclusions\n inclusionsInfo: inclusions #duplicated for backwards-compatibility\n aggregatorName: aggregator.val()\n rendererName: renderer.val()\n\n @data \"pivotUIOptions\", pivotUIOptions\n\n # if requested make sure unused columns are in alphabetical order\n if opts.autoSortUnusedAttrs\n unusedAttrsContainer = @find(\"td.pvtUnused.pvtAxisContainer\")\n $(unusedAttrsContainer).children(\"li\")\n .sort((a, b) => naturalSort($(a).text(), $(b).text()))\n .appendTo unusedAttrsContainer\n\n pivotTable.css(\"opacity\", 1)\n opts.onRefresh(pivotUIOptions) if opts.onRefresh?\n\n refresh = =>\n pivotTable.css(\"opacity\", 0.5)\n setTimeout refreshDelayed, 10\n\n #the very first refresh will actually display the table\n refresh()\n\n @find(\".pvtAxisContainer\").sortable\n update: (e, ui) -> refresh() if not ui.sender?\n connectWith: @find(\".pvtAxisContainer\")\n items: 'li'\n placeholder: 'pvtPlaceholder'\n catch e\n console.error(e.stack) if console?\n @html opts.localeStrings.uiRenderError\n return this\n\n ###\n Heatmap post-processing\n ###\n\n $.fn.heatmap = (scope = \"heatmap\", opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n # given a series of values\n # must return a function to map a given value to a CSS color\n colorScaleGenerator = opts?.heatmap?.colorScaleGenerator\n colorScaleGenerator ?= (values) ->\n min = Math.min(values...)\n max = Math.max(values...)\n return (x) ->\n nonRed = 255 - Math.round 255*(x-min)/(max-min)\n return \"rgb(255,#{nonRed},#{nonRed})\"\n\n heatmapper = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n colorScale = colorScaleGenerator(values)\n forEachCell (x, elem) -> elem.css \"background-color\", colorScale(x)\n\n switch scope\n when \"heatmap\" then heatmapper \".pvtVal\"\n when \"rowheatmap\" then heatmapper \".pvtVal.row#{i}\" for i in [0...numRows]\n when \"colheatmap\" then heatmapper \".pvtVal.col#{j}\" for j in [0...numCols]\n\n heatmapper \".pvtTotal.rowTotal\"\n heatmapper \".pvtTotal.colTotal\"\n\n return this\n\n ###\n Barchart post-processing\n ###\n\n $.fn.barchart = (opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n barcharter = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n max = Math.max(values...)\n if max < 0\n max = 0\n range = max;\n min = Math.min(values...)\n if min < 0\n range = max - min\n scaler = (x) -> 100*x/(1.4*range)\n forEachCell (x, elem) ->\n text = elem.text()\n wrapper = $(\"\").css\n \"position\": \"relative\"\n \"height\": \"55px\"\n bgColor = \"gray\"\n bBase = 0\n if min < 0\n bBase = scaler(-min)\n if x < 0\n bBase += scaler(x)\n bgColor = \"darkred\"\n x = -x\n wrapper.append $(\"\").css\n \"position\": \"absolute\"\n \"bottom\": bBase + \"%\"\n \"left\": 0\n \"right\": 0\n \"height\": scaler(x) + \"%\"\n \"background-color\": bgColor\n wrapper.append $(\"\").text(text).css\n \"position\":\"relative\"\n \"padding-left\":\"5px\"\n \"padding-right\":\"5px\"\n\n elem.css(\"padding\": 0,\"padding-top\": \"5px\", \"text-align\": \"center\").html wrapper\n\n barcharter \".pvtVal.row#{i}\" for i in [0...numRows]\n barcharter \".pvtTotal.colTotal\"\n\n return this\n","(function() {\n var callWithJQuery,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },\n slice = [].slice,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n hasProp = {}.hasOwnProperty;\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\n /*\n Utilities\n */\n var PivotData, addSeparators, aggregatorTemplates, aggregators, dayNamesEn, derivers, getSort, locales, mthNamesEn, naturalSort, numberFormat, pivotTableRenderer, rd, renderers, rx, rz, sortAs, usFmt, usFmtInt, usFmtPct, zeroPad;\n addSeparators = function(nStr, thousandsSep, decimalSep) {\n var rgx, x, x1, x2;\n nStr += '';\n x = nStr.split('.');\n x1 = x[0];\n x2 = x.length > 1 ? decimalSep + x[1] : '';\n rgx = /(\\d+)(\\d{3})/;\n while (rgx.test(x1)) {\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2');\n }\n return x1 + x2;\n };\n numberFormat = function(opts) {\n var defaults;\n defaults = {\n digitsAfterDecimal: 2,\n scaler: 1,\n thousandsSep: \",\",\n decimalSep: \".\",\n prefix: \"\",\n suffix: \"\"\n };\n opts = $.extend({}, defaults, opts);\n return function(x) {\n var result;\n if (isNaN(x) || !isFinite(x)) {\n return \"\";\n }\n result = addSeparators((opts.scaler * x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep);\n return \"\" + opts.prefix + result + opts.suffix;\n };\n };\n usFmt = numberFormat();\n usFmtInt = numberFormat({\n digitsAfterDecimal: 0\n });\n usFmtPct = numberFormat({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\"\n });\n aggregatorTemplates = {\n count: function(formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function() {\n return function(data, rowKey, colKey) {\n return {\n count: 0,\n push: function() {\n return this.count++;\n },\n value: function() {\n return this.count;\n },\n format: formatter\n };\n };\n };\n },\n uniques: function(fn, formatter) {\n if (formatter == null) {\n formatter = usFmtInt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n uniq: [],\n push: function(record) {\n var ref;\n if (ref = record[attr], indexOf.call(this.uniq, ref) < 0) {\n return this.uniq.push(record[attr]);\n }\n },\n value: function() {\n return fn(this.uniq);\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n sum: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[attr]))) {\n return this.sum += parseFloat(record[attr]);\n }\n },\n value: function() {\n return this.sum;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n extremes: function(mode, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n val: null,\n sorter: getSort(data != null ? data.sorters : void 0, attr),\n push: function(record) {\n var ref, ref1, ref2, x;\n x = record[attr];\n if (mode === \"min\" || mode === \"max\") {\n x = parseFloat(x);\n if (!isNaN(x)) {\n this.val = Math[mode](x, (ref = this.val) != null ? ref : x);\n }\n }\n if (mode === \"first\") {\n if (this.sorter(x, (ref1 = this.val) != null ? ref1 : x) <= 0) {\n this.val = x;\n }\n }\n if (mode === \"last\") {\n if (this.sorter(x, (ref2 = this.val) != null ? ref2 : x) >= 0) {\n return this.val = x;\n }\n }\n },\n value: function() {\n return this.val;\n },\n format: function(x) {\n if (isNaN(x)) {\n return x;\n } else {\n return formatter(x);\n }\n },\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n quantile: function(q, formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n vals: [],\n push: function(record) {\n var x;\n x = parseFloat(record[attr]);\n if (!isNaN(x)) {\n return this.vals.push(x);\n }\n },\n value: function() {\n var i;\n if (this.vals.length === 0) {\n return null;\n }\n this.vals.sort(function(a, b) {\n return a - b;\n });\n i = (this.vals.length - 1) * q;\n return (this.vals[Math.floor(i)] + this.vals[Math.ceil(i)]) / 2.0;\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n runningStat: function(mode, ddof, formatter) {\n if (mode == null) {\n mode = \"mean\";\n }\n if (ddof == null) {\n ddof = 1;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var attr;\n attr = arg[0];\n return function(data, rowKey, colKey) {\n return {\n n: 0.0,\n m: 0.0,\n s: 0.0,\n push: function(record) {\n var m_new, x;\n x = parseFloat(record[attr]);\n if (isNaN(x)) {\n return;\n }\n this.n += 1.0;\n if (this.n === 1.0) {\n return this.m = x;\n } else {\n m_new = this.m + (x - this.m) / this.n;\n this.s = this.s + (x - this.m) * (x - m_new);\n return this.m = m_new;\n }\n },\n value: function() {\n if (mode === \"mean\") {\n if (this.n === 0) {\n return 0 / 0;\n } else {\n return this.m;\n }\n }\n if (this.n <= ddof) {\n return 0;\n }\n switch (mode) {\n case \"var\":\n return this.s / (this.n - ddof);\n case \"stdev\":\n return Math.sqrt(this.s / (this.n - ddof));\n }\n },\n format: formatter,\n numInputs: attr != null ? 0 : 1\n };\n };\n };\n },\n sumOverSum: function(formatter) {\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n return this.sumNum / this.sumDenom;\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n sumOverSumBound80: function(upper, formatter) {\n if (upper == null) {\n upper = true;\n }\n if (formatter == null) {\n formatter = usFmt;\n }\n return function(arg) {\n var denom, num;\n num = arg[0], denom = arg[1];\n return function(data, rowKey, colKey) {\n return {\n sumNum: 0,\n sumDenom: 0,\n push: function(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n return this.sumDenom += parseFloat(record[denom]);\n }\n },\n value: function() {\n var sign;\n sign = upper ? 1 : -1;\n return (0.821187207574908 / this.sumDenom + this.sumNum / this.sumDenom + 1.2815515655446004 * sign * Math.sqrt(0.410593603787454 / (this.sumDenom * this.sumDenom) + (this.sumNum * (1 - this.sumNum / this.sumDenom)) / (this.sumDenom * this.sumDenom))) / (1 + 1.642374415149816 / this.sumDenom);\n },\n format: formatter,\n numInputs: (num != null) && (denom != null) ? 0 : 2\n };\n };\n };\n },\n fractionOf: function(wrapped, type, formatter) {\n if (type == null) {\n type = \"total\";\n }\n if (formatter == null) {\n formatter = usFmtPct;\n }\n return function() {\n var x;\n x = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return function(data, rowKey, colKey) {\n return {\n selector: {\n total: [[], []],\n row: [rowKey, []],\n col: [[], colKey]\n }[type],\n inner: wrapped.apply(null, x)(data, rowKey, colKey),\n push: function(record) {\n return this.inner.push(record);\n },\n format: formatter,\n value: function() {\n return this.inner.value() / data.getAggregator.apply(data, this.selector).inner.value();\n },\n numInputs: wrapped.apply(null, x)().numInputs\n };\n };\n };\n }\n };\n aggregatorTemplates.countUnique = function(f) {\n return aggregatorTemplates.uniques((function(x) {\n return x.length;\n }), f);\n };\n aggregatorTemplates.listUnique = function(s) {\n return aggregatorTemplates.uniques((function(x) {\n return x.sort(naturalSort).join(s);\n }), (function(x) {\n return x;\n }));\n };\n aggregatorTemplates.max = function(f) {\n return aggregatorTemplates.extremes('max', f);\n };\n aggregatorTemplates.min = function(f) {\n return aggregatorTemplates.extremes('min', f);\n };\n aggregatorTemplates.first = function(f) {\n return aggregatorTemplates.extremes('first', f);\n };\n aggregatorTemplates.last = function(f) {\n return aggregatorTemplates.extremes('last', f);\n };\n aggregatorTemplates.median = function(f) {\n return aggregatorTemplates.quantile(0.5, f);\n };\n aggregatorTemplates.average = function(f) {\n return aggregatorTemplates.runningStat(\"mean\", 1, f);\n };\n aggregatorTemplates[\"var\"] = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"var\", ddof, f);\n };\n aggregatorTemplates.stdev = function(ddof, f) {\n return aggregatorTemplates.runningStat(\"stdev\", ddof, f);\n };\n aggregators = (function(tpl) {\n return {\n \"Count\": tpl.count(usFmtInt),\n \"Count Unique Values\": tpl.countUnique(usFmtInt),\n \"List Unique Values\": tpl.listUnique(\", \"),\n \"Sum\": tpl.sum(usFmt),\n \"Integer Sum\": tpl.sum(usFmtInt),\n \"Average\": tpl.average(usFmt),\n \"Median\": tpl.median(usFmt),\n \"Sample Variance\": tpl[\"var\"](1, usFmt),\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt),\n \"Minimum\": tpl.min(usFmt),\n \"Maximum\": tpl.max(usFmt),\n \"First\": tpl.first(usFmt),\n \"Last\": tpl.last(usFmt),\n \"Sum over Sum\": tpl.sumOverSum(usFmt),\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt),\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt),\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct),\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct),\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct),\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct),\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct),\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n };\n })(aggregatorTemplates);\n renderers = {\n \"Table\": function(data, opts) {\n return pivotTableRenderer(data, opts);\n },\n \"Table Barchart\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).barchart();\n },\n \"Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts);\n },\n \"Row Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts);\n },\n \"Col Heatmap\": function(data, opts) {\n return $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts);\n }\n };\n locales = {\n en: {\n aggregators: aggregators,\n renderers: renderers,\n localeStrings: {\n renderError: \"An error occurred rendering the PivotTable results.\",\n computeError: \"An error occurred computing the PivotTable results.\",\n uiRenderError: \"An error occurred rendering the PivotTable UI.\",\n selectAll: \"Select All\",\n selectNone: \"Select None\",\n tooMany: \"(too many to list)\",\n filterResults: \"Filter values\",\n apply: \"Apply\",\n cancel: \"Cancel\",\n totals: \"Totals\",\n vs: \"vs\",\n by: \"by\"\n }\n }\n };\n mthNamesEn = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n dayNamesEn = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n zeroPad = function(number) {\n return (\"0\" + number).substr(-2, 2);\n };\n derivers = {\n bin: function(col, binWidth) {\n return function(record) {\n return record[col] - record[col] % binWidth;\n };\n },\n dateFormat: function(col, formatString, utcOutput, mthNames, dayNames) {\n var utc;\n if (utcOutput == null) {\n utcOutput = false;\n }\n if (mthNames == null) {\n mthNames = mthNamesEn;\n }\n if (dayNames == null) {\n dayNames = dayNamesEn;\n }\n utc = utcOutput ? \"UTC\" : \"\";\n return function(record) {\n var date;\n date = new Date(Date.parse(record[col]));\n if (isNaN(date)) {\n return \"\";\n }\n return formatString.replace(/%(.)/g, function(m, p) {\n switch (p) {\n case \"y\":\n return date[\"get\" + utc + \"FullYear\"]();\n case \"m\":\n return zeroPad(date[\"get\" + utc + \"Month\"]() + 1);\n case \"n\":\n return mthNames[date[\"get\" + utc + \"Month\"]()];\n case \"d\":\n return zeroPad(date[\"get\" + utc + \"Date\"]());\n case \"w\":\n return dayNames[date[\"get\" + utc + \"Day\"]()];\n case \"x\":\n return date[\"get\" + utc + \"Day\"]();\n case \"H\":\n return zeroPad(date[\"get\" + utc + \"Hours\"]());\n case \"M\":\n return zeroPad(date[\"get\" + utc + \"Minutes\"]());\n case \"S\":\n return zeroPad(date[\"get\" + utc + \"Seconds\"]());\n default:\n return \"%\" + p;\n }\n });\n };\n }\n };\n rx = /(\\d+)|(\\D+)/g;\n rd = /\\d/;\n rz = /^0/;\n naturalSort = (function(_this) {\n return function(as, bs) {\n var a, a1, b, b1, nas, nbs;\n if ((bs != null) && (as == null)) {\n return -1;\n }\n if ((as != null) && (bs == null)) {\n return 1;\n }\n if (typeof as === \"number\" && isNaN(as)) {\n return -1;\n }\n if (typeof bs === \"number\" && isNaN(bs)) {\n return 1;\n }\n nas = +as;\n nbs = +bs;\n if (nas < nbs) {\n return -1;\n }\n if (nas > nbs) {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs !== \"number\") {\n return -1;\n }\n if (typeof bs === \"number\" && typeof as !== \"number\") {\n return 1;\n }\n if (typeof as === \"number\" && typeof bs === \"number\") {\n return 0;\n }\n if (isNaN(nbs) && !isNaN(nas)) {\n return -1;\n }\n if (isNaN(nas) && !isNaN(nbs)) {\n return 1;\n }\n a = String(as);\n b = String(bs);\n if (a === b) {\n return 0;\n }\n if (!(rd.test(a) && rd.test(b))) {\n return (a > b ? 1 : -1);\n }\n a = a.match(rx);\n b = b.match(rx);\n while (a.length && b.length) {\n a1 = a.shift();\n b1 = b.shift();\n if (a1 !== b1) {\n if (rd.test(a1) && rd.test(b1)) {\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\");\n } else {\n return (a1 > b1 ? 1 : -1);\n }\n }\n }\n return a.length - b.length;\n };\n })(this);\n sortAs = function(order) {\n var i, l_mapping, mapping, x;\n mapping = {};\n l_mapping = {};\n for (i in order) {\n x = order[i];\n mapping[x] = i;\n if (typeof x === \"string\") {\n l_mapping[x.toLowerCase()] = i;\n }\n }\n return function(a, b) {\n if ((mapping[a] != null) && (mapping[b] != null)) {\n return mapping[a] - mapping[b];\n } else if (mapping[a] != null) {\n return -1;\n } else if (mapping[b] != null) {\n return 1;\n } else if ((l_mapping[a] != null) && (l_mapping[b] != null)) {\n return l_mapping[a] - l_mapping[b];\n } else if (l_mapping[a] != null) {\n return -1;\n } else if (l_mapping[b] != null) {\n return 1;\n } else {\n return naturalSort(a, b);\n }\n };\n };\n getSort = function(sorters, attr) {\n var sort;\n if (sorters != null) {\n if ($.isFunction(sorters)) {\n sort = sorters(attr);\n if ($.isFunction(sort)) {\n return sort;\n }\n } else if (sorters[attr] != null) {\n return sorters[attr];\n }\n }\n return naturalSort;\n };\n\n /*\n Data Model class\n */\n PivotData = (function() {\n function PivotData(input, opts) {\n var ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9;\n if (opts == null) {\n opts = {};\n }\n this.getAggregator = bind(this.getAggregator, this);\n this.getRowKeys = bind(this.getRowKeys, this);\n this.getColKeys = bind(this.getColKeys, this);\n this.sortKeys = bind(this.sortKeys, this);\n this.arrSort = bind(this.arrSort, this);\n this.input = input;\n this.aggregator = (ref = opts.aggregator) != null ? ref : aggregatorTemplates.count()();\n this.aggregatorName = (ref1 = opts.aggregatorName) != null ? ref1 : \"Count\";\n this.colAttrs = (ref2 = opts.cols) != null ? ref2 : [];\n this.rowAttrs = (ref3 = opts.rows) != null ? ref3 : [];\n this.valAttrs = (ref4 = opts.vals) != null ? ref4 : [];\n this.sorters = (ref5 = opts.sorters) != null ? ref5 : {};\n this.rowOrder = (ref6 = opts.rowOrder) != null ? ref6 : \"key_a_to_z\";\n this.colOrder = (ref7 = opts.colOrder) != null ? ref7 : \"key_a_to_z\";\n this.derivedAttributes = (ref8 = opts.derivedAttributes) != null ? ref8 : {};\n this.filter = (ref9 = opts.filter) != null ? ref9 : (function() {\n return true;\n });\n this.tree = {};\n this.rowKeys = [];\n this.colKeys = [];\n this.rowTotals = {};\n this.colTotals = {};\n this.allTotal = this.aggregator(this, [], []);\n this.sorted = false;\n PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n if (_this.filter(record)) {\n return _this.processRecord(record);\n }\n };\n })(this));\n }\n\n PivotData.forEachRecord = function(input, derivedAttributes, f) {\n var addRecord, compactRecord, i, j, k, l, len1, record, ref, results, results1, tblCols;\n if ($.isEmptyObject(derivedAttributes)) {\n addRecord = f;\n } else {\n addRecord = function(record) {\n var k, ref, v;\n for (k in derivedAttributes) {\n v = derivedAttributes[k];\n record[k] = (ref = v(record)) != null ? ref : record[k];\n }\n return f(record);\n };\n }\n if ($.isFunction(input)) {\n return input(addRecord);\n } else if ($.isArray(input)) {\n if ($.isArray(input[0])) {\n results = [];\n for (i in input) {\n if (!hasProp.call(input, i)) continue;\n compactRecord = input[i];\n if (!(i > 0)) {\n continue;\n }\n record = {};\n ref = input[0];\n for (j in ref) {\n if (!hasProp.call(ref, j)) continue;\n k = ref[j];\n record[k] = compactRecord[j];\n }\n results.push(addRecord(record));\n }\n return results;\n } else {\n results1 = [];\n for (l = 0, len1 = input.length; l < len1; l++) {\n record = input[l];\n results1.push(addRecord(record));\n }\n return results1;\n }\n } else if (input instanceof $) {\n tblCols = [];\n $(\"thead > tr > th\", input).each(function(i) {\n return tblCols.push($(this).text());\n });\n return $(\"tbody > tr\", input).each(function(i) {\n record = {};\n $(\"td\", this).each(function(j) {\n return record[tblCols[j]] = $(this).text();\n });\n return addRecord(record);\n });\n } else {\n throw new Error(\"unknown input format\");\n }\n };\n\n PivotData.prototype.forEachMatchingRecord = function(criteria, callback) {\n return PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {\n return function(record) {\n var k, ref, v;\n if (!_this.filter(record)) {\n return;\n }\n for (k in criteria) {\n v = criteria[k];\n if (v !== ((ref = record[k]) != null ? ref : \"null\")) {\n return;\n }\n }\n return callback(record);\n };\n })(this));\n };\n\n PivotData.prototype.arrSort = function(attrs) {\n var a, sortersArr;\n sortersArr = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = attrs.length; l < len1; l++) {\n a = attrs[l];\n results.push(getSort(this.sorters, a));\n }\n return results;\n }).call(this);\n return function(a, b) {\n var comparison, i, sorter;\n for (i in sortersArr) {\n if (!hasProp.call(sortersArr, i)) continue;\n sorter = sortersArr[i];\n comparison = sorter(a[i], b[i]);\n if (comparison !== 0) {\n return comparison;\n }\n }\n return 0;\n };\n };\n\n PivotData.prototype.sortKeys = function() {\n var v;\n if (!this.sorted) {\n this.sorted = true;\n v = (function(_this) {\n return function(r, c) {\n return _this.getAggregator(r, c).value();\n };\n })(this);\n switch (this.rowOrder) {\n case \"value_a_to_z\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n case \"value_z_to_a\":\n this.rowKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v(a, []), v(b, []));\n };\n })(this));\n break;\n default:\n this.rowKeys.sort(this.arrSort(this.rowAttrs));\n }\n switch (this.colOrder) {\n case \"value_a_to_z\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return naturalSort(v([], a), v([], b));\n };\n })(this));\n case \"value_z_to_a\":\n return this.colKeys.sort((function(_this) {\n return function(a, b) {\n return -naturalSort(v([], a), v([], b));\n };\n })(this));\n default:\n return this.colKeys.sort(this.arrSort(this.colAttrs));\n }\n }\n };\n\n PivotData.prototype.getColKeys = function() {\n this.sortKeys();\n return this.colKeys;\n };\n\n PivotData.prototype.getRowKeys = function() {\n this.sortKeys();\n return this.rowKeys;\n };\n\n PivotData.prototype.processRecord = function(record) {\n var colKey, flatColKey, flatRowKey, l, len1, len2, n, ref, ref1, ref2, ref3, rowKey, x;\n colKey = [];\n rowKey = [];\n ref = this.colAttrs;\n for (l = 0, len1 = ref.length; l < len1; l++) {\n x = ref[l];\n colKey.push((ref1 = record[x]) != null ? ref1 : \"null\");\n }\n ref2 = this.rowAttrs;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n rowKey.push((ref3 = record[x]) != null ? ref3 : \"null\");\n }\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n this.allTotal.push(record);\n if (rowKey.length !== 0) {\n if (!this.rowTotals[flatRowKey]) {\n this.rowKeys.push(rowKey);\n this.rowTotals[flatRowKey] = this.aggregator(this, rowKey, []);\n }\n this.rowTotals[flatRowKey].push(record);\n }\n if (colKey.length !== 0) {\n if (!this.colTotals[flatColKey]) {\n this.colKeys.push(colKey);\n this.colTotals[flatColKey] = this.aggregator(this, [], colKey);\n }\n this.colTotals[flatColKey].push(record);\n }\n if (colKey.length !== 0 && rowKey.length !== 0) {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n if (!this.tree[flatRowKey][flatColKey]) {\n this.tree[flatRowKey][flatColKey] = this.aggregator(this, rowKey, colKey);\n }\n return this.tree[flatRowKey][flatColKey].push(record);\n }\n };\n\n PivotData.prototype.getAggregator = function(rowKey, colKey) {\n var agg, flatColKey, flatRowKey;\n flatRowKey = rowKey.join(String.fromCharCode(0));\n flatColKey = colKey.join(String.fromCharCode(0));\n if (rowKey.length === 0 && colKey.length === 0) {\n agg = this.allTotal;\n } else if (rowKey.length === 0) {\n agg = this.colTotals[flatColKey];\n } else if (colKey.length === 0) {\n agg = this.rowTotals[flatRowKey];\n } else {\n agg = this.tree[flatRowKey][flatColKey];\n }\n return agg != null ? agg : {\n value: (function() {\n return null;\n }),\n format: function() {\n return \"\";\n }\n };\n };\n\n return PivotData;\n\n })();\n $.pivotUtilities = {\n aggregatorTemplates: aggregatorTemplates,\n aggregators: aggregators,\n renderers: renderers,\n derivers: derivers,\n locales: locales,\n naturalSort: naturalSort,\n numberFormat: numberFormat,\n sortAs: sortAs,\n PivotData: PivotData\n };\n\n /*\n Default Renderer for hierarchical table layout\n */\n pivotTableRenderer = function(pivotData, opts) {\n 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;\n defaults = {\n table: {\n clickCallback: null,\n rowTotals: true,\n colTotals: true\n },\n localeStrings: {\n totals: \"Totals\"\n }\n };\n opts = $.extend(true, {}, defaults, opts);\n colAttrs = pivotData.colAttrs;\n rowAttrs = pivotData.rowAttrs;\n rowKeys = pivotData.getRowKeys();\n colKeys = pivotData.getColKeys();\n if (opts.table.clickCallback) {\n getClickHandler = function(value, rowValues, colValues) {\n var attr, filters, i;\n filters = {};\n for (i in colAttrs) {\n if (!hasProp.call(colAttrs, i)) continue;\n attr = colAttrs[i];\n if (colValues[i] != null) {\n filters[attr] = colValues[i];\n }\n }\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n attr = rowAttrs[i];\n if (rowValues[i] != null) {\n filters[attr] = rowValues[i];\n }\n }\n return function(e) {\n return opts.table.clickCallback(e, value, filters, pivotData);\n };\n };\n }\n result = document.createElement(\"table\");\n result.className = \"pvtTable\";\n spanSize = function(arr, i, j) {\n var l, len, n, noDraw, ref, ref1, stop, x;\n if (i !== 0) {\n noDraw = true;\n for (x = l = 0, ref = j; 0 <= ref ? l <= ref : l >= ref; x = 0 <= ref ? ++l : --l) {\n if (arr[i - 1][x] !== arr[i][x]) {\n noDraw = false;\n }\n }\n if (noDraw) {\n return -1;\n }\n }\n len = 0;\n while (i + len < arr.length) {\n stop = false;\n for (x = n = 0, ref1 = j; 0 <= ref1 ? n <= ref1 : n >= ref1; x = 0 <= ref1 ? ++n : --n) {\n if (arr[i][x] !== arr[i + len][x]) {\n stop = true;\n }\n }\n if (stop) {\n break;\n }\n len++;\n }\n return len;\n };\n thead = document.createElement(\"thead\");\n for (j in colAttrs) {\n if (!hasProp.call(colAttrs, j)) continue;\n c = colAttrs[j];\n tr = document.createElement(\"tr\");\n if (parseInt(j) === 0 && rowAttrs.length !== 0) {\n th = document.createElement(\"th\");\n th.setAttribute(\"colspan\", rowAttrs.length);\n th.setAttribute(\"rowspan\", colAttrs.length);\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = c;\n tr.appendChild(th);\n for (i in colKeys) {\n if (!hasProp.call(colKeys, i)) continue;\n colKey = colKeys[i];\n x = spanSize(colKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtColLabel\";\n th.textContent = colKey[j];\n th.setAttribute(\"colspan\", x);\n if (parseInt(j) === colAttrs.length - 1 && rowAttrs.length !== 0) {\n th.setAttribute(\"rowspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n if (parseInt(j) === 0 && opts.table.rowTotals) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"rowspan\", colAttrs.length + (rowAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n thead.appendChild(tr);\n }\n if (rowAttrs.length !== 0) {\n tr = document.createElement(\"tr\");\n for (i in rowAttrs) {\n if (!hasProp.call(rowAttrs, i)) continue;\n r = rowAttrs[i];\n th = document.createElement(\"th\");\n th.className = \"pvtAxisLabel\";\n th.textContent = r;\n tr.appendChild(th);\n }\n th = document.createElement(\"th\");\n if (colAttrs.length === 0) {\n th.className = \"pvtTotalLabel pvtRowTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n }\n tr.appendChild(th);\n thead.appendChild(tr);\n }\n result.appendChild(thead);\n tbody = document.createElement(\"tbody\");\n for (i in rowKeys) {\n if (!hasProp.call(rowKeys, i)) continue;\n rowKey = rowKeys[i];\n tr = document.createElement(\"tr\");\n for (j in rowKey) {\n if (!hasProp.call(rowKey, j)) continue;\n txt = rowKey[j];\n x = spanSize(rowKeys, parseInt(i), parseInt(j));\n if (x !== -1) {\n th = document.createElement(\"th\");\n th.className = \"pvtRowLabel\";\n th.textContent = txt;\n th.setAttribute(\"rowspan\", x);\n if (parseInt(j) === rowAttrs.length - 1 && colAttrs.length !== 0) {\n th.setAttribute(\"colspan\", 2);\n }\n tr.appendChild(th);\n }\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n aggregator = pivotData.getAggregator(rowKey, colKey);\n val = aggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtVal row\" + i + \" col\" + j;\n td.textContent = aggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, colKey);\n }\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator(rowKey, []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal rowTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, rowKey, []);\n }\n td.setAttribute(\"data-for\", \"row\" + i);\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n if (opts.table.colTotals || rowAttrs.length === 0) {\n tr = document.createElement(\"tr\");\n if (opts.table.colTotals || rowAttrs.length === 0) {\n th = document.createElement(\"th\");\n th.className = \"pvtTotalLabel pvtColTotalLabel\";\n th.innerHTML = opts.localeStrings.totals;\n th.setAttribute(\"colspan\", rowAttrs.length + (colAttrs.length === 0 ? 0 : 1));\n tr.appendChild(th);\n }\n for (j in colKeys) {\n if (!hasProp.call(colKeys, j)) continue;\n colKey = colKeys[j];\n totalAggregator = pivotData.getAggregator([], colKey);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtTotal colTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], colKey);\n }\n td.setAttribute(\"data-for\", \"col\" + j);\n tr.appendChild(td);\n }\n if (opts.table.rowTotals || colAttrs.length === 0) {\n totalAggregator = pivotData.getAggregator([], []);\n val = totalAggregator.value();\n td = document.createElement(\"td\");\n td.className = \"pvtGrandTotal\";\n td.textContent = totalAggregator.format(val);\n td.setAttribute(\"data-value\", val);\n if (getClickHandler != null) {\n td.onclick = getClickHandler(val, [], []);\n }\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n result.appendChild(tbody);\n result.setAttribute(\"data-numrows\", rowKeys.length);\n result.setAttribute(\"data-numcols\", colKeys.length);\n return result;\n };\n\n /*\n Pivot Table core: create PivotData object and call Renderer on it\n */\n $.fn.pivot = function(input, inputOpts, locale) {\n var defaults, e, localeDefaults, localeStrings, opts, pivotData, result, x;\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n filter: function() {\n return true;\n },\n aggregator: aggregatorTemplates.count()(),\n aggregatorName: \"Count\",\n sorters: {},\n derivedAttributes: {},\n renderer: pivotTableRenderer\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n result = null;\n try {\n pivotData = new opts.dataClass(input, opts);\n try {\n result = opts.renderer(pivotData, opts.rendererOptions);\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.renderError);\n }\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n result = $(\"\").html(opts.localeStrings.computeError);\n }\n x = this[0];\n while (x.hasChildNodes()) {\n x.removeChild(x.lastChild);\n }\n return this.append(result);\n };\n\n /*\n Pivot Table UI: calls Pivot Table core above with options set by user\n */\n $.fn.pivotUI = function(input, inputOpts, overwrite, locale) {\n 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;\n if (overwrite == null) {\n overwrite = false;\n }\n if (locale == null) {\n locale = \"en\";\n }\n if (locales[locale] == null) {\n locale = \"en\";\n }\n defaults = {\n derivedAttributes: {},\n aggregators: locales[locale].aggregators,\n renderers: locales[locale].renderers,\n hiddenAttributes: [],\n hiddenFromAggregators: [],\n hiddenFromDragDrop: [],\n menuLimit: 500,\n cols: [],\n rows: [],\n vals: [],\n rowOrder: \"key_a_to_z\",\n colOrder: \"key_a_to_z\",\n dataClass: PivotData,\n exclusions: {},\n inclusions: {},\n unusedAttrsVertical: 85,\n autoSortUnusedAttrs: false,\n onRefresh: null,\n showUI: true,\n filter: function() {\n return true;\n },\n sorters: {}\n };\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);\n localeDefaults = {\n rendererOptions: {\n localeStrings: localeStrings\n },\n localeStrings: localeStrings\n };\n existingOpts = this.data(\"pivotUIOptions\");\n if ((existingOpts == null) || overwrite) {\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));\n } else {\n opts = existingOpts;\n }\n try {\n attrValues = {};\n materializedInput = [];\n recordsProcessed = 0;\n PivotData.forEachRecord(input, opts.derivedAttributes, function(record) {\n var attr, base, ref, value;\n if (!opts.filter(record)) {\n return;\n }\n materializedInput.push(record);\n for (attr in record) {\n if (!hasProp.call(record, attr)) continue;\n if (attrValues[attr] == null) {\n attrValues[attr] = {};\n if (recordsProcessed > 0) {\n attrValues[attr][\"null\"] = recordsProcessed;\n }\n }\n }\n for (attr in attrValues) {\n value = (ref = record[attr]) != null ? ref : \"null\";\n if ((base = attrValues[attr])[value] == null) {\n base[value] = 0;\n }\n attrValues[attr][value]++;\n }\n return recordsProcessed++;\n });\n uiTable = $(\"\", {\n \"class\": \"pvtUi\"\n }).attr(\"cellpadding\", 5);\n rendererControl = $(\"\").addClass(\"pvtUiCell\");\n renderer = $(\"\").addClass('pvtRenderer').appendTo(rendererControl).bind(\"change\", function() {\n return refresh();\n });\n ref = opts.renderers;\n for (x in ref) {\n if (!hasProp.call(ref, x)) continue;\n $(\"\").val(x).html(x).appendTo(renderer);\n }\n unused = $(\"\").addClass('pvtAxisContainer pvtUnused pvtUiCell');\n shownAttributes = (function() {\n var results;\n results = [];\n for (a in attrValues) {\n if (indexOf.call(opts.hiddenAttributes, a) < 0) {\n results.push(a);\n }\n }\n return results;\n })();\n shownInAggregators = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromAggregators, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n shownInDragDrop = (function() {\n var l, len1, results;\n results = [];\n for (l = 0, len1 = shownAttributes.length; l < len1; l++) {\n c = shownAttributes[l];\n if (indexOf.call(opts.hiddenFromDragDrop, c) < 0) {\n results.push(c);\n }\n }\n return results;\n })();\n unusedAttrsVerticalAutoOverride = false;\n if (opts.unusedAttrsVertical === \"auto\") {\n unusedAttrsVerticalAutoCutoff = 120;\n } else {\n unusedAttrsVerticalAutoCutoff = parseInt(opts.unusedAttrsVertical);\n }\n if (!isNaN(unusedAttrsVerticalAutoCutoff)) {\n attrLength = 0;\n for (l = 0, len1 = shownInDragDrop.length; l < len1; l++) {\n a = shownInDragDrop[l];\n attrLength += a.length;\n }\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff;\n }\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n unused.addClass('pvtVertList');\n } else {\n unused.addClass('pvtHorizList');\n }\n fn1 = function(attr) {\n var attrElem, checkContainer, closeFilterBox, controls, filterItem, filterItemExcluded, finalButtons, hasExcludedItem, len2, n, placeholder, ref1, sorter, triangleLink, v, value, valueCount, valueList, values;\n values = (function() {\n var results;\n results = [];\n for (v in attrValues[attr]) {\n results.push(v);\n }\n return results;\n })();\n hasExcludedItem = false;\n valueList = $(\"\").addClass('pvtFilterBox').hide();\n valueList.append($(\"\").append($(\"\").text(attr), $(\"\").addClass(\"count\").text(\"(\" + values.length + \")\")));\n if (values.length > opts.menuLimit) {\n valueList.append($(\"\").html(opts.localeStrings.tooMany));\n } else {\n if (values.length > 5) {\n controls = $(\"\").appendTo(valueList);\n sorter = getSort(opts.sorters, attr);\n placeholder = opts.localeStrings.filterResults;\n $(\"\", {\n type: \"text\"\n }).appendTo(controls).attr({\n placeholder: placeholder,\n \"class\": \"pvtSearch\"\n }).bind(\"keyup\", function() {\n var accept, accept_gen, filter;\n filter = $(this).val().toLowerCase().trim();\n accept_gen = function(prefix, accepted) {\n return function(v) {\n var real_filter, ref1;\n real_filter = filter.substring(prefix.length).trim();\n if (real_filter.length === 0) {\n return true;\n }\n return ref1 = Math.sign(sorter(v.toLowerCase(), real_filter)), indexOf.call(accepted, ref1) >= 0;\n };\n };\n 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) {\n if (filter.substring(1).trim().length === 0) {\n return true;\n }\n return v.toLowerCase().match(filter.substring(1));\n } : function(v) {\n return v.toLowerCase().indexOf(filter) !== -1;\n };\n return valueList.find('.pvtCheckContainer p label span.value').each(function() {\n if (accept($(this).text())) {\n return $(this).parent().parent().show();\n } else {\n return $(this).parent().parent().hide();\n }\n });\n });\n controls.append($(\"\"));\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectAll).bind(\"click\", function() {\n valueList.find(\"input:visible:not(:checked)\").prop(\"checked\", true).toggleClass(\"changed\");\n return false;\n });\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectNone).bind(\"click\", function() {\n valueList.find(\"input:visible:checked\").prop(\"checked\", false).toggleClass(\"changed\");\n return false;\n });\n }\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList);\n ref1 = values.sort(getSort(opts.sorters, attr));\n for (n = 0, len2 = ref1.length; n < len2; n++) {\n value = ref1[n];\n valueCount = attrValues[attr][value];\n filterItem = $(\"\");\n filterItemExcluded = false;\n if (opts.inclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.inclusions[attr], value) < 0);\n } else if (opts.exclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.exclusions[attr], value) >= 0);\n }\n hasExcludedItem || (hasExcludedItem = filterItemExcluded);\n $(\"\").attr(\"type\", \"checkbox\").addClass('pvtFilter').attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr, value]).appendTo(filterItem).bind(\"change\", function() {\n return $(this).toggleClass(\"changed\");\n });\n filterItem.append($(\"\").addClass(\"value\").text(value));\n filterItem.append($(\"\").addClass(\"count\").text(\"(\" + valueCount + \")\"));\n checkContainer.append($(\"\").append(filterItem));\n }\n }\n closeFilterBox = function() {\n if (valueList.find(\"[type='checkbox']\").length > valueList.find(\"[type='checkbox']:checked\").length) {\n attrElem.addClass(\"pvtFilteredAttribute\");\n } else {\n attrElem.removeClass(\"pvtFilteredAttribute\");\n }\n valueList.find('.pvtSearch').val('');\n valueList.find('.pvtCheckContainer p').show();\n return valueList.hide();\n };\n finalButtons = $(\"\").appendTo(valueList);\n if (values.length <= opts.menuLimit) {\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.apply).appendTo(finalButtons).bind(\"click\", function() {\n if (valueList.find(\".changed\").removeClass(\"changed\").length) {\n refresh();\n }\n return closeFilterBox();\n });\n }\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.cancel).appendTo(finalButtons).bind(\"click\", function() {\n valueList.find(\".changed:checked\").removeClass(\"changed\").prop(\"checked\", false);\n valueList.find(\".changed:not(:checked)\").removeClass(\"changed\").prop(\"checked\", true);\n return closeFilterBox();\n });\n triangleLink = $(\"\").addClass('pvtTriangle').html(\" ▾\").bind(\"click\", function(e) {\n var left, ref2, top;\n ref2 = $(e.currentTarget).position(), left = ref2.left, top = ref2.top;\n return valueList.css({\n left: left + 10,\n top: top + 10\n }).show();\n });\n attrElem = $(\"\").addClass(\"axis_\" + i).append($(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink));\n if (hasExcludedItem) {\n attrElem.addClass('pvtFilteredAttribute');\n }\n return unused.append(attrElem).append(valueList);\n };\n for (i in shownInDragDrop) {\n if (!hasProp.call(shownInDragDrop, i)) continue;\n attr = shownInDragDrop[i];\n fn1(attr);\n }\n tr1 = $(\"\").appendTo(uiTable);\n aggregator = $(\"\").addClass('pvtAggregator').bind(\"change\", function() {\n return refresh();\n });\n ref1 = opts.aggregators;\n for (x in ref1) {\n if (!hasProp.call(ref1, x)) continue;\n aggregator.append($(\"\").val(x).html(x));\n }\n ordering = {\n key_a_to_z: {\n rowSymbol: \"↕\",\n colSymbol: \"↔\",\n next: \"value_a_to_z\"\n },\n value_a_to_z: {\n rowSymbol: \"↓\",\n colSymbol: \"→\",\n next: \"value_z_to_a\"\n },\n value_z_to_a: {\n rowSymbol: \"↑\",\n colSymbol: \"←\",\n next: \"key_a_to_z\"\n }\n };\n rowOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtRowOrder\").data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol);\n return refresh();\n });\n colOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtColOrder\").data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].colSymbol);\n return refresh();\n });\n $(\"\").addClass('pvtVals pvtUiCell').appendTo(tr1).append(aggregator).append(rowOrderArrow).append(colOrderArrow).append($(\"\"));\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1);\n tr2 = $(\"\").appendTo(uiTable);\n tr2.append($(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\"));\n pivotTable = $(\"\").attr(\"valign\", \"top\").addClass('pvtRendererArea').appendTo(tr2);\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n uiTable.find('tr:nth-child(1)').prepend(rendererControl);\n uiTable.find('tr:nth-child(2)').prepend(unused);\n } else {\n uiTable.prepend($(\"\").append(rendererControl).append(unused));\n }\n this.html(uiTable);\n ref2 = opts.cols;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n this.find(\".pvtCols\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n ref3 = opts.rows;\n for (o = 0, len3 = ref3.length; o < len3; o++) {\n x = ref3[o];\n this.find(\".pvtRows\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n if (opts.aggregatorName != null) {\n this.find(\".pvtAggregator\").val(opts.aggregatorName);\n }\n if (opts.rendererName != null) {\n this.find(\".pvtRenderer\").val(opts.rendererName);\n }\n if (!opts.showUI) {\n this.find(\".pvtUiCell\").hide();\n }\n initialRender = true;\n refreshDelayed = (function(_this) {\n return function() {\n var exclusions, inclusions, len4, newDropdown, numInputsToProcess, pivotUIOptions, pvtVals, ref4, ref5, subopts, t, u, unusedAttrsContainer, vals;\n subopts = {\n derivedAttributes: opts.derivedAttributes,\n localeStrings: opts.localeStrings,\n rendererOptions: opts.rendererOptions,\n sorters: opts.sorters,\n cols: [],\n rows: [],\n dataClass: opts.dataClass\n };\n numInputsToProcess = (ref4 = opts.aggregators[aggregator.val()]([])().numInputs) != null ? ref4 : 0;\n vals = [];\n _this.find(\".pvtRows li span.pvtAttr\").each(function() {\n return subopts.rows.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtCols li span.pvtAttr\").each(function() {\n return subopts.cols.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n if (numInputsToProcess === 0) {\n return $(this).remove();\n } else {\n numInputsToProcess--;\n if ($(this).val() !== \"\") {\n return vals.push($(this).val());\n }\n }\n });\n if (numInputsToProcess !== 0) {\n pvtVals = _this.find(\".pvtVals\");\n for (x = t = 0, ref5 = numInputsToProcess; 0 <= ref5 ? t < ref5 : t > ref5; x = 0 <= ref5 ? ++t : --t) {\n newDropdown = $(\"\").addClass('pvtAttrDropdown').append($(\"\")).bind(\"change\", function() {\n return refresh();\n });\n for (u = 0, len4 = shownInAggregators.length; u < len4; u++) {\n attr = shownInAggregators[u];\n newDropdown.append($(\"\").val(attr).text(attr));\n }\n pvtVals.append(newDropdown);\n }\n }\n if (initialRender) {\n vals = opts.vals;\n i = 0;\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n $(this).val(vals[i]);\n return i++;\n });\n initialRender = false;\n }\n subopts.aggregatorName = aggregator.val();\n subopts.vals = vals;\n subopts.aggregator = opts.aggregators[aggregator.val()](vals);\n subopts.renderer = opts.renderers[renderer.val()];\n subopts.rowOrder = rowOrderArrow.data(\"order\");\n subopts.colOrder = colOrderArrow.data(\"order\");\n exclusions = {};\n _this.find('input.pvtFilter').not(':checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n return exclusions[filter[0]].push(filter[1]);\n } else {\n return exclusions[filter[0]] = [filter[1]];\n }\n });\n inclusions = {};\n _this.find('input.pvtFilter:checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n if (inclusions[filter[0]] != null) {\n return inclusions[filter[0]].push(filter[1]);\n } else {\n return inclusions[filter[0]] = [filter[1]];\n }\n }\n });\n subopts.filter = function(record) {\n var excludedItems, k, ref6, ref7;\n if (!opts.filter(record)) {\n return false;\n }\n for (k in exclusions) {\n excludedItems = exclusions[k];\n if (ref6 = \"\" + ((ref7 = record[k]) != null ? ref7 : 'null'), indexOf.call(excludedItems, ref6) >= 0) {\n return false;\n }\n }\n return true;\n };\n pivotTable.pivot(materializedInput, subopts);\n pivotUIOptions = $.extend({}, opts, {\n cols: subopts.cols,\n rows: subopts.rows,\n colOrder: subopts.colOrder,\n rowOrder: subopts.rowOrder,\n vals: vals,\n exclusions: exclusions,\n inclusions: inclusions,\n inclusionsInfo: inclusions,\n aggregatorName: aggregator.val(),\n rendererName: renderer.val()\n });\n _this.data(\"pivotUIOptions\", pivotUIOptions);\n if (opts.autoSortUnusedAttrs) {\n unusedAttrsContainer = _this.find(\"td.pvtUnused.pvtAxisContainer\");\n $(unusedAttrsContainer).children(\"li\").sort(function(a, b) {\n return naturalSort($(a).text(), $(b).text());\n }).appendTo(unusedAttrsContainer);\n }\n pivotTable.css(\"opacity\", 1);\n if (opts.onRefresh != null) {\n return opts.onRefresh(pivotUIOptions);\n }\n };\n })(this);\n refresh = (function(_this) {\n return function() {\n pivotTable.css(\"opacity\", 0.5);\n return setTimeout(refreshDelayed, 10);\n };\n })(this);\n refresh();\n this.find(\".pvtAxisContainer\").sortable({\n update: function(e, ui) {\n if (ui.sender == null) {\n return refresh();\n }\n },\n connectWith: this.find(\".pvtAxisContainer\"),\n items: 'li',\n placeholder: 'pvtPlaceholder'\n });\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n this.html(opts.localeStrings.uiRenderError);\n }\n return this;\n };\n\n /*\n Heatmap post-processing\n */\n $.fn.heatmap = function(scope, opts) {\n var colorScaleGenerator, heatmapper, i, j, l, n, numCols, numRows, ref, ref1, ref2;\n if (scope == null) {\n scope = \"heatmap\";\n }\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n colorScaleGenerator = opts != null ? (ref = opts.heatmap) != null ? ref.colorScaleGenerator : void 0 : void 0;\n if (colorScaleGenerator == null) {\n colorScaleGenerator = function(values) {\n var max, min;\n min = Math.min.apply(Math, values);\n max = Math.max.apply(Math, values);\n return function(x) {\n var nonRed;\n nonRed = 255 - Math.round(255 * (x - min) / (max - min));\n return \"rgb(255,\" + nonRed + \",\" + nonRed + \")\";\n };\n };\n }\n heatmapper = (function(_this) {\n return function(scope) {\n var colorScale, forEachCell, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n colorScale = colorScaleGenerator(values);\n return forEachCell(function(x, elem) {\n return elem.css(\"background-color\", colorScale(x));\n });\n };\n })(this);\n switch (scope) {\n case \"heatmap\":\n heatmapper(\".pvtVal\");\n break;\n case \"rowheatmap\":\n for (i = l = 0, ref1 = numRows; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) {\n heatmapper(\".pvtVal.row\" + i);\n }\n break;\n case \"colheatmap\":\n for (j = n = 0, ref2 = numCols; 0 <= ref2 ? n < ref2 : n > ref2; j = 0 <= ref2 ? ++n : --n) {\n heatmapper(\".pvtVal.col\" + j);\n }\n }\n heatmapper(\".pvtTotal.rowTotal\");\n heatmapper(\".pvtTotal.colTotal\");\n return this;\n };\n\n /*\n Barchart post-processing\n */\n return $.fn.barchart = function(opts) {\n var barcharter, i, l, numCols, numRows, ref;\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n barcharter = (function(_this) {\n return function(scope) {\n var forEachCell, max, min, range, scaler, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n max = Math.max.apply(Math, values);\n if (max < 0) {\n max = 0;\n }\n range = max;\n min = Math.min.apply(Math, values);\n if (min < 0) {\n range = max - min;\n }\n scaler = function(x) {\n return 100 * x / (1.4 * range);\n };\n return forEachCell(function(x, elem) {\n var bBase, bgColor, text, wrapper;\n text = elem.text();\n wrapper = $(\"\").css({\n \"position\": \"relative\",\n \"height\": \"55px\"\n });\n bgColor = \"gray\";\n bBase = 0;\n if (min < 0) {\n bBase = scaler(-min);\n }\n if (x < 0) {\n bBase += scaler(x);\n bgColor = \"darkred\";\n x = -x;\n }\n wrapper.append($(\"\").css({\n \"position\": \"absolute\",\n \"bottom\": bBase + \"%\",\n \"left\": 0,\n \"right\": 0,\n \"height\": scaler(x) + \"%\",\n \"background-color\": bgColor\n }));\n wrapper.append($(\"\").text(text).css({\n \"position\": \"relative\",\n \"padding-left\": \"5px\",\n \"padding-right\": \"5px\"\n }));\n return elem.css({\n \"padding\": 0,\n \"padding-top\": \"5px\",\n \"text-align\": \"center\"\n }).html(wrapper);\n });\n };\n })(this);\n for (i = l = 0, ref = numRows; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) {\n barcharter(\".pvtVal.row\" + i);\n }\n barcharter(\".pvtTotal.colTotal\");\n return this;\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.js.map\n"]} \ No newline at end of file diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.js new file mode 100644 index 0000000..ca9a375 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js @@ -0,0 +1,80 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map new file mode 100644 index 0000000..b7c7760 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js index 9dc06ee..a3bcc04 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js @@ -1,2 +1,2 @@ -(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,n,o;return n=e.pivotUtilities.numberFormat,o=e.pivotUtilities.aggregatorTemplates,t=n({thousandsSep:" ",decimalSep:","}),r=n({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),i=n({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:o.count(r),"Aantal unieke waarden":o.countUnique(r),"Lijst unieke waarden":o.listUnique(", "),Som:o.sum(t),"Som van gehele getallen":o.sum(r),Gemiddelde:o.average(t),Minimum:o.min(t),Maximum:o.max(t),"Som over som":o.sumOverSum(t),"80% bovengrens":o.sumOverSumBound80(!0,t),"80% ondergrens":o.sumOverSumBound80(!1,t),"Som in verhouding tot het totaal":o.fractionOf(o.sum(),"total",i),"Som in verhouding tot de rij":o.fractionOf(o.sum(),"row",i),"Som in verhouding tot de kolom":o.fractionOf(o.sum(),"col",i),"Aantal in verhouding tot het totaal":o.fractionOf(o.count(),"total",i),"Aantal in verhouding tot de rij":o.fractionOf(o.count(),"row",i),"Aantal in verhouding tot de kolom":o.fractionOf(o.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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map new file mode 100644 index 0000000..b51dc51 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js b/inst/htmlwidgets/lib/pivottable/pivot.pl.js new file mode 100644 index 0000000..aa4b438 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js @@ -0,0 +1,82 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map new file mode 100644 index 0000000..3eefc10 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pivot.pl.js","sources":["pivot.pl.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 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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map new file mode 100644 index 0000000..14a4b8e --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.js new file mode 100644 index 0000000..b737243 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js @@ -0,0 +1,111 @@ +(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.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": tpl.count(frFmtInt), + "Contagem de Valores únicos": tpl.countUnique(frFmtInt), + "Lista de Valores únicos": tpl.listUnique(", "), + "Soma": tpl.sum(frFmt), + "Soma de Inteiros": tpl.sum(frFmtInt), + "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áximo": tpl.max(frFmt), + "Primeiro": tpl.first(frFmt), + "Último": tpl.last(frFmt), + "Soma sobre Soma": tpl.sumOverSum(frFmt), + "Limite Superior a 80%": tpl.sumOverSumBound80(true, frFmt), + "Limite Inferior a 80%": tpl.sumOverSumBound80(false, frFmt), + "Soma como Fração do Total": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Soma como Fração da Linha": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Soma como Fração da Coluna": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Contagem como Fração do Total": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Contagem como Fração da Linha": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Contagem como Fração da Coluna": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tabela": r["Table"], + "Tabela com Barras": r["Table Barchart"], + "Mapa de Calor": r["Heatmap"], + "Mapa de Calor por Linhas": r["Row Heatmap"], + "Mapa de Calor por Colunas": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.pt.gchart_renderers = { + "Gráfico de Linhas": gcr["Line Chart"], + "Gráfico de Barras": gcr["Bar Chart"], + "Gráfico de Barras Empilhadas": gcr["Stacked Bar Chart"], + "Gráfico de Área": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.pt.d3_renderers = { + "Mapa de Árvore": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.pt.c3_renderers = { + "Gráfico de Linhas": c3r["Line Chart"], + "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; + }); + +}).call(this); + +//# sourceMappingURL=pivot.pt.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map new file mode 100644 index 0000000..72cb981 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js index cf4f356..0f92ea7 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js @@ -1,2 +1,2 @@ -(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,l,n,c;return l=a.pivotUtilities.numberFormat,c=a.pivotUtilities.aggregatorTemplates,n=a.pivotUtilities.renderers,s=a.pivotUtilities.gchart_renderers,r=a.pivotUtilities.d3_renderers,e=a.pivotUtilities.c3_renderers,o=l({thousandsSep:".",decimalSep:","}),i=l({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),t=l({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),"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:n.Table,"Tabela com Barras":n["Table Barchart"],"Mapa de Calor":n.Heatmap,"Mapa de Calor por Linhas":n["Row Heatmap"],"Mapa de Calor por Colunas":n["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map new file mode 100644 index 0000000..cf067a6 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js b/inst/htmlwidgets/lib/pivottable/pivot.ru.js new file mode 100644 index 0000000..ebc556d --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map new file mode 100644 index 0000000..f7fe47f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map new file mode 100644 index 0000000..4ef0db3 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js b/inst/htmlwidgets/lib/pivottable/pivot.sq.js new file mode 100644 index 0000000..080b336 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map new file mode 100644 index 0000000..604860b --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map new file mode 100644 index 0000000..3f6df78 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js b/inst/htmlwidgets/lib/pivottable/pivot.tr.js new file mode 100644 index 0000000..1a95e56 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js @@ -0,0 +1,104 @@ +(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.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ı": tpl.count(frFmtInt), + "Benzersiz değerler sayısı": tpl.countUnique(frFmtInt), + "Benzersiz değerler listesi": tpl.listUnique(", "), + "Toplam": tpl.sum(frFmt), + "Toplam (tam sayı)": tpl.sum(frFmtInt), + "Ortalama": tpl.average(frFmt), + "Min": tpl.min(frFmt), + "Maks": tpl.max(frFmt), + "Miktarların toplamı": tpl.sumOverSum(frFmt), + "%80 daha yüksek": tpl.sumOverSumBound80(true, frFmt), + "%80 daha düşük": tpl.sumOverSumBound80(false, frFmt), + "Toplam oranı (toplam)": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Satır oranı (toplam)": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Sütunun oranı (toplam)": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Toplam oranı (sayı)": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Satır oranı (sayı)": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Sütunun oranı (sayı)": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tablo": r["Table"], + "Tablo (Çubuklar)": r["Table Barchart"], + "İlgi haritası": r["Heatmap"], + "Satır ilgi haritası": r["Row Heatmap"], + "Sütun ilgi haritası": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.tr.gchart_renderers = { + "Çizgi Grafiği": gcr["Line Chart"], + "Bar Grafiği": gcr["Bar Chart"], + "Yığılmış Çubuk Grafik ": gcr["Stacked Bar Chart"], + "Alan Grafiği": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.tr.d3_renderers = { + "Hiyerarşik Alan Grafiği (Treemap)": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.tr.c3_renderers = { + "Çizgi Grafiği": c3r["Line Chart"], + "Bar Grafiği": c3r["Bar Chart"], + "Yığılmış Çubuk Grafik ": c3r["Stacked Bar Chart"], + "Alan Grafiği": c3r["Area Chart"] + }; + } + return $.pivotUtilities.locales.tr; + }); + +}).call(this); + +//# sourceMappingURL=pivot.tr.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map new file mode 100644 index 0000000..3b5dbe0 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map new file mode 100644 index 0000000..90d8eb9 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.js new file mode 100644 index 0000000..5f30fb4 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js @@ -0,0 +1,113 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map new file mode 100644 index 0000000..6810c5f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js index 916fceb..2828cad 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js @@ -1,2 +1,2 @@ -(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,a,l,n,c;return l=e.pivotUtilities.numberFormat,c=e.pivotUtilities.aggregatorTemplates,n=e.pivotUtilities.renderers,a=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,t=e.pivotUtilities.c3_renderers,i=l({thousandsSep:",",decimalSep:"."}),o=l({digitsAfterDecimal:0,thousandsSep:",",decimalSep:"."}),s=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(o),"非重复值的个数":c.countUnique(o),"列出非重复值":c.listUnique(", "),"求和":c.sum(i),"求和后取整":c.sum(o),"平均值":c.average(i),"最小值":c.min(i),"最大值":c.max(i),"两和之比":c.sumOverSum(i),"二项分布:置信度为80%时的区间上限":c.sumOverSumBound80(!0,i),"二项分布:置信度为80%时的区间下限":c.sumOverSumBound80(!1,i),"和在总计中的比例":c.fractionOf(c.sum(),"total",s),"和在行合计中的比例":c.fractionOf(c.sum(),"row",s),"和在列合计中的比例":c.fractionOf(c.sum(),"col",s),"频数在总计中的比例":c.fractionOf(c.count(),"total",s),"频数在行合计中的比例":c.fractionOf(c.count(),"row",s),"频数在列合计中的比例":c.fractionOf(c.count(),"col",s)},renderers:{"表格":n.Table,"表格内柱状图":n["Table Barchart"],"热图":n.Heatmap,"行热图":n["Row Heatmap"],"列热图":n["Col Heatmap"]}},a&&(e.pivotUtilities.locales.zh.gchart_renderers={"折线图(g)":a["Line Chart"],"柱形图(g)":a["Bar Chart"],"堆栈柱形图(g)":a["Stacked Bar Chart"],"面积图(g)":a["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map new file mode 100644 index 0000000..8b30873 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot_spec.js b/inst/htmlwidgets/lib/pivottable/pivot_spec.js new file mode 100644 index 0000000..fadadce --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot_spec.js @@ -0,0 +1,614 @@ +(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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 $("").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 = $("").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 = $("\n \n
\").html(opts.localeStrings.tooMany));\n } else {\n if (values.length > 5) {\n controls = $(\"
\").appendTo(valueList);\n sorter = getSort(opts.sorters, attr);\n placeholder = opts.localeStrings.filterResults;\n $(\"\", {\n type: \"text\"\n }).appendTo(controls).attr({\n placeholder: placeholder,\n \"class\": \"pvtSearch\"\n }).bind(\"keyup\", function() {\n var accept, accept_gen, filter;\n filter = $(this).val().toLowerCase().trim();\n accept_gen = function(prefix, accepted) {\n return function(v) {\n var real_filter, ref1;\n real_filter = filter.substring(prefix.length).trim();\n if (real_filter.length === 0) {\n return true;\n }\n return ref1 = Math.sign(sorter(v.toLowerCase(), real_filter)), indexOf.call(accepted, ref1) >= 0;\n };\n };\n 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) {\n if (filter.substring(1).trim().length === 0) {\n return true;\n }\n return v.toLowerCase().match(filter.substring(1));\n } : function(v) {\n return v.toLowerCase().indexOf(filter) !== -1;\n };\n return valueList.find('.pvtCheckContainer p label span.value').each(function() {\n if (accept($(this).text())) {\n return $(this).parent().parent().show();\n } else {\n return $(this).parent().parent().hide();\n }\n });\n });\n controls.append($(\"\"));\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectAll).bind(\"click\", function() {\n valueList.find(\"input:visible:not(:checked)\").prop(\"checked\", true).toggleClass(\"changed\");\n return false;\n });\n $(\"\", {\n type: \"button\"\n }).appendTo(controls).html(opts.localeStrings.selectNone).bind(\"click\", function() {\n valueList.find(\"input:visible:checked\").prop(\"checked\", false).toggleClass(\"changed\");\n return false;\n });\n }\n checkContainer = $(\"\").addClass(\"pvtCheckContainer\").appendTo(valueList);\n ref1 = values.sort(getSort(opts.sorters, attr));\n for (n = 0, len2 = ref1.length; n < len2; n++) {\n value = ref1[n];\n valueCount = attrValues[attr][value];\n filterItem = $(\"\");\n filterItemExcluded = false;\n if (opts.inclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.inclusions[attr], value) < 0);\n } else if (opts.exclusions[attr]) {\n filterItemExcluded = (indexOf.call(opts.exclusions[attr], value) >= 0);\n }\n hasExcludedItem || (hasExcludedItem = filterItemExcluded);\n $(\"\").attr(\"type\", \"checkbox\").addClass('pvtFilter').attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr, value]).appendTo(filterItem).bind(\"change\", function() {\n return $(this).toggleClass(\"changed\");\n });\n filterItem.append($(\"\").addClass(\"value\").text(value));\n filterItem.append($(\"\").addClass(\"count\").text(\"(\" + valueCount + \")\"));\n checkContainer.append($(\"\").append(filterItem));\n }\n }\n closeFilterBox = function() {\n if (valueList.find(\"[type='checkbox']\").length > valueList.find(\"[type='checkbox']:checked\").length) {\n attrElem.addClass(\"pvtFilteredAttribute\");\n } else {\n attrElem.removeClass(\"pvtFilteredAttribute\");\n }\n valueList.find('.pvtSearch').val('');\n valueList.find('.pvtCheckContainer p').show();\n return valueList.hide();\n };\n finalButtons = $(\"\").appendTo(valueList);\n if (values.length <= opts.menuLimit) {\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.apply).appendTo(finalButtons).bind(\"click\", function() {\n if (valueList.find(\".changed\").removeClass(\"changed\").length) {\n refresh();\n }\n return closeFilterBox();\n });\n }\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.cancel).appendTo(finalButtons).bind(\"click\", function() {\n valueList.find(\".changed:checked\").removeClass(\"changed\").prop(\"checked\", false);\n valueList.find(\".changed:not(:checked)\").removeClass(\"changed\").prop(\"checked\", true);\n return closeFilterBox();\n });\n triangleLink = $(\"\").addClass('pvtTriangle').html(\" ▾\").bind(\"click\", function(e) {\n var left, ref2, top;\n ref2 = $(e.currentTarget).position(), left = ref2.left, top = ref2.top;\n return valueList.css({\n left: left + 10,\n top: top + 10\n }).show();\n });\n attrElem = $(\"\").addClass(\"axis_\" + i).append($(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink));\n if (hasExcludedItem) {\n attrElem.addClass('pvtFilteredAttribute');\n }\n return unused.append(attrElem).append(valueList);\n };\n for (i in shownInDragDrop) {\n if (!hasProp.call(shownInDragDrop, i)) continue;\n attr = shownInDragDrop[i];\n fn1(attr);\n }\n tr1 = $(\"\").appendTo(uiTable);\n aggregator = $(\"\").addClass('pvtAggregator').bind(\"change\", function() {\n return refresh();\n });\n ref1 = opts.aggregators;\n for (x in ref1) {\n if (!hasProp.call(ref1, x)) continue;\n aggregator.append($(\"\").val(x).html(x));\n }\n ordering = {\n key_a_to_z: {\n rowSymbol: \"↕\",\n colSymbol: \"↔\",\n next: \"value_a_to_z\"\n },\n value_a_to_z: {\n rowSymbol: \"↓\",\n colSymbol: \"→\",\n next: \"value_z_to_a\"\n },\n value_z_to_a: {\n rowSymbol: \"↑\",\n colSymbol: \"←\",\n next: \"key_a_to_z\"\n }\n };\n rowOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtRowOrder\").data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol);\n return refresh();\n });\n colOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtColOrder\").data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].colSymbol);\n return refresh();\n });\n $(\"\").addClass('pvtVals pvtUiCell').appendTo(tr1).append(aggregator).append(rowOrderArrow).append(colOrderArrow).append($(\"\"));\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1);\n tr2 = $(\"\").appendTo(uiTable);\n tr2.append($(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\"));\n pivotTable = $(\"\").attr(\"valign\", \"top\").addClass('pvtRendererArea').appendTo(tr2);\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n uiTable.find('tr:nth-child(1)').prepend(rendererControl);\n uiTable.find('tr:nth-child(2)').prepend(unused);\n } else {\n uiTable.prepend($(\"\").append(rendererControl).append(unused));\n }\n this.html(uiTable);\n ref2 = opts.cols;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n this.find(\".pvtCols\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n ref3 = opts.rows;\n for (o = 0, len3 = ref3.length; o < len3; o++) {\n x = ref3[o];\n this.find(\".pvtRows\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n if (opts.aggregatorName != null) {\n this.find(\".pvtAggregator\").val(opts.aggregatorName);\n }\n if (opts.rendererName != null) {\n this.find(\".pvtRenderer\").val(opts.rendererName);\n }\n if (!opts.showUI) {\n this.find(\".pvtUiCell\").hide();\n }\n initialRender = true;\n refreshDelayed = (function(_this) {\n return function() {\n var exclusions, inclusions, len4, newDropdown, numInputsToProcess, pivotUIOptions, pvtVals, ref4, ref5, subopts, t, u, unusedAttrsContainer, vals;\n subopts = {\n derivedAttributes: opts.derivedAttributes,\n localeStrings: opts.localeStrings,\n rendererOptions: opts.rendererOptions,\n sorters: opts.sorters,\n cols: [],\n rows: [],\n dataClass: opts.dataClass\n };\n numInputsToProcess = (ref4 = opts.aggregators[aggregator.val()]([])().numInputs) != null ? ref4 : 0;\n vals = [];\n _this.find(\".pvtRows li span.pvtAttr\").each(function() {\n return subopts.rows.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtCols li span.pvtAttr\").each(function() {\n return subopts.cols.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n if (numInputsToProcess === 0) {\n return $(this).remove();\n } else {\n numInputsToProcess--;\n if ($(this).val() !== \"\") {\n return vals.push($(this).val());\n }\n }\n });\n if (numInputsToProcess !== 0) {\n pvtVals = _this.find(\".pvtVals\");\n for (x = t = 0, ref5 = numInputsToProcess; 0 <= ref5 ? t < ref5 : t > ref5; x = 0 <= ref5 ? ++t : --t) {\n newDropdown = $(\"\").addClass('pvtAttrDropdown').append($(\"\")).bind(\"change\", function() {\n return refresh();\n });\n for (u = 0, len4 = shownInAggregators.length; u < len4; u++) {\n attr = shownInAggregators[u];\n newDropdown.append($(\"\").val(attr).text(attr));\n }\n pvtVals.append(newDropdown);\n }\n }\n if (initialRender) {\n vals = opts.vals;\n i = 0;\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n $(this).val(vals[i]);\n return i++;\n });\n initialRender = false;\n }\n subopts.aggregatorName = aggregator.val();\n subopts.vals = vals;\n subopts.aggregator = opts.aggregators[aggregator.val()](vals);\n subopts.renderer = opts.renderers[renderer.val()];\n subopts.rowOrder = rowOrderArrow.data(\"order\");\n subopts.colOrder = colOrderArrow.data(\"order\");\n exclusions = {};\n _this.find('input.pvtFilter').not(':checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n return exclusions[filter[0]].push(filter[1]);\n } else {\n return exclusions[filter[0]] = [filter[1]];\n }\n });\n inclusions = {};\n _this.find('input.pvtFilter:checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n if (inclusions[filter[0]] != null) {\n return inclusions[filter[0]].push(filter[1]);\n } else {\n return inclusions[filter[0]] = [filter[1]];\n }\n }\n });\n subopts.filter = function(record) {\n var excludedItems, k, ref6, ref7;\n if (!opts.filter(record)) {\n return false;\n }\n for (k in exclusions) {\n excludedItems = exclusions[k];\n if (ref6 = \"\" + ((ref7 = record[k]) != null ? ref7 : 'null'), indexOf.call(excludedItems, ref6) >= 0) {\n return false;\n }\n }\n return true;\n };\n pivotTable.pivot(materializedInput, subopts);\n pivotUIOptions = $.extend({}, opts, {\n cols: subopts.cols,\n rows: subopts.rows,\n colOrder: subopts.colOrder,\n rowOrder: subopts.rowOrder,\n vals: vals,\n exclusions: exclusions,\n inclusions: inclusions,\n inclusionsInfo: inclusions,\n aggregatorName: aggregator.val(),\n rendererName: renderer.val()\n });\n _this.data(\"pivotUIOptions\", pivotUIOptions);\n if (opts.autoSortUnusedAttrs) {\n unusedAttrsContainer = _this.find(\"td.pvtUnused.pvtAxisContainer\");\n $(unusedAttrsContainer).children(\"li\").sort(function(a, b) {\n return naturalSort($(a).text(), $(b).text());\n }).appendTo(unusedAttrsContainer);\n }\n pivotTable.css(\"opacity\", 1);\n if (opts.onRefresh != null) {\n return opts.onRefresh(pivotUIOptions);\n }\n };\n })(this);\n refresh = (function(_this) {\n return function() {\n pivotTable.css(\"opacity\", 0.5);\n return setTimeout(refreshDelayed, 10);\n };\n })(this);\n refresh();\n this.find(\".pvtAxisContainer\").sortable({\n update: function(e, ui) {\n if (ui.sender == null) {\n return refresh();\n }\n },\n connectWith: this.find(\".pvtAxisContainer\"),\n items: 'li',\n placeholder: 'pvtPlaceholder'\n });\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n this.html(opts.localeStrings.uiRenderError);\n }\n return this;\n };\n\n /*\n Heatmap post-processing\n */\n $.fn.heatmap = function(scope, opts) {\n var colorScaleGenerator, heatmapper, i, j, l, n, numCols, numRows, ref, ref1, ref2;\n if (scope == null) {\n scope = \"heatmap\";\n }\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n colorScaleGenerator = opts != null ? (ref = opts.heatmap) != null ? ref.colorScaleGenerator : void 0 : void 0;\n if (colorScaleGenerator == null) {\n colorScaleGenerator = function(values) {\n var max, min;\n min = Math.min.apply(Math, values);\n max = Math.max.apply(Math, values);\n return function(x) {\n var nonRed;\n nonRed = 255 - Math.round(255 * (x - min) / (max - min));\n return \"rgb(255,\" + nonRed + \",\" + nonRed + \")\";\n };\n };\n }\n heatmapper = (function(_this) {\n return function(scope) {\n var colorScale, forEachCell, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n colorScale = colorScaleGenerator(values);\n return forEachCell(function(x, elem) {\n return elem.css(\"background-color\", colorScale(x));\n });\n };\n })(this);\n switch (scope) {\n case \"heatmap\":\n heatmapper(\".pvtVal\");\n break;\n case \"rowheatmap\":\n for (i = l = 0, ref1 = numRows; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) {\n heatmapper(\".pvtVal.row\" + i);\n }\n break;\n case \"colheatmap\":\n for (j = n = 0, ref2 = numCols; 0 <= ref2 ? n < ref2 : n > ref2; j = 0 <= ref2 ? ++n : --n) {\n heatmapper(\".pvtVal.col\" + j);\n }\n }\n heatmapper(\".pvtTotal.rowTotal\");\n heatmapper(\".pvtTotal.colTotal\");\n return this;\n };\n\n /*\n Barchart post-processing\n */\n return $.fn.barchart = function(opts) {\n var barcharter, i, l, numCols, numRows, ref;\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n barcharter = (function(_this) {\n return function(scope) {\n var forEachCell, max, min, range, scaler, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n max = Math.max.apply(Math, values);\n if (max < 0) {\n max = 0;\n }\n range = max;\n min = Math.min.apply(Math, values);\n if (min < 0) {\n range = max - min;\n }\n scaler = function(x) {\n return 100 * x / (1.4 * range);\n };\n return forEachCell(function(x, elem) {\n var bBase, bgColor, text, wrapper;\n text = elem.text();\n wrapper = $(\"\").css({\n \"position\": \"relative\",\n \"height\": \"55px\"\n });\n bgColor = \"gray\";\n bBase = 0;\n if (min < 0) {\n bBase = scaler(-min);\n }\n if (x < 0) {\n bBase += scaler(x);\n bgColor = \"darkred\";\n x = -x;\n }\n wrapper.append($(\"\").css({\n \"position\": \"absolute\",\n \"bottom\": bBase + \"%\",\n \"left\": 0,\n \"right\": 0,\n \"height\": scaler(x) + \"%\",\n \"background-color\": bgColor\n }));\n wrapper.append($(\"\").text(text).css({\n \"position\": \"relative\",\n \"padding-left\": \"5px\",\n \"padding-right\": \"5px\"\n }));\n return elem.css({\n \"padding\": 0,\n \"padding-top\": \"5px\",\n \"text-align\": \"center\"\n }).html(wrapper);\n });\n };\n })(this);\n for (i = l = 0, ref = numRows; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) {\n barcharter(\".pvtVal.row\" + i);\n }\n barcharter(\".pvtTotal.colTotal\");\n return this;\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.js.map\n"]} \ No newline at end of file diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.js new file mode 100644 index 0000000..ca9a375 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js @@ -0,0 +1,80 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map new file mode 100644 index 0000000..b7c7760 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js index 9dc06ee..a3bcc04 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js @@ -1,2 +1,2 @@ -(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,n,o;return n=e.pivotUtilities.numberFormat,o=e.pivotUtilities.aggregatorTemplates,t=n({thousandsSep:" ",decimalSep:","}),r=n({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),i=n({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:o.count(r),"Aantal unieke waarden":o.countUnique(r),"Lijst unieke waarden":o.listUnique(", "),Som:o.sum(t),"Som van gehele getallen":o.sum(r),Gemiddelde:o.average(t),Minimum:o.min(t),Maximum:o.max(t),"Som over som":o.sumOverSum(t),"80% bovengrens":o.sumOverSumBound80(!0,t),"80% ondergrens":o.sumOverSumBound80(!1,t),"Som in verhouding tot het totaal":o.fractionOf(o.sum(),"total",i),"Som in verhouding tot de rij":o.fractionOf(o.sum(),"row",i),"Som in verhouding tot de kolom":o.fractionOf(o.sum(),"col",i),"Aantal in verhouding tot het totaal":o.fractionOf(o.count(),"total",i),"Aantal in verhouding tot de rij":o.fractionOf(o.count(),"row",i),"Aantal in verhouding tot de kolom":o.fractionOf(o.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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map new file mode 100644 index 0000000..b51dc51 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js b/inst/htmlwidgets/lib/pivottable/pivot.pl.js new file mode 100644 index 0000000..aa4b438 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js @@ -0,0 +1,82 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map new file mode 100644 index 0000000..3eefc10 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map new file mode 100644 index 0000000..14a4b8e --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.js new file mode 100644 index 0000000..b737243 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js @@ -0,0 +1,111 @@ +(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.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": tpl.count(frFmtInt), + "Contagem de Valores únicos": tpl.countUnique(frFmtInt), + "Lista de Valores únicos": tpl.listUnique(", "), + "Soma": tpl.sum(frFmt), + "Soma de Inteiros": tpl.sum(frFmtInt), + "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áximo": tpl.max(frFmt), + "Primeiro": tpl.first(frFmt), + "Último": tpl.last(frFmt), + "Soma sobre Soma": tpl.sumOverSum(frFmt), + "Limite Superior a 80%": tpl.sumOverSumBound80(true, frFmt), + "Limite Inferior a 80%": tpl.sumOverSumBound80(false, frFmt), + "Soma como Fração do Total": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Soma como Fração da Linha": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Soma como Fração da Coluna": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Contagem como Fração do Total": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Contagem como Fração da Linha": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Contagem como Fração da Coluna": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tabela": r["Table"], + "Tabela com Barras": r["Table Barchart"], + "Mapa de Calor": r["Heatmap"], + "Mapa de Calor por Linhas": r["Row Heatmap"], + "Mapa de Calor por Colunas": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.pt.gchart_renderers = { + "Gráfico de Linhas": gcr["Line Chart"], + "Gráfico de Barras": gcr["Bar Chart"], + "Gráfico de Barras Empilhadas": gcr["Stacked Bar Chart"], + "Gráfico de Área": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.pt.d3_renderers = { + "Mapa de Árvore": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.pt.c3_renderers = { + "Gráfico de Linhas": c3r["Line Chart"], + "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; + }); + +}).call(this); + +//# sourceMappingURL=pivot.pt.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map new file mode 100644 index 0000000..72cb981 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js index cf4f356..0f92ea7 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js @@ -1,2 +1,2 @@ -(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,l,n,c;return l=a.pivotUtilities.numberFormat,c=a.pivotUtilities.aggregatorTemplates,n=a.pivotUtilities.renderers,s=a.pivotUtilities.gchart_renderers,r=a.pivotUtilities.d3_renderers,e=a.pivotUtilities.c3_renderers,o=l({thousandsSep:".",decimalSep:","}),i=l({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),t=l({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),"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:n.Table,"Tabela com Barras":n["Table Barchart"],"Mapa de Calor":n.Heatmap,"Mapa de Calor por Linhas":n["Row Heatmap"],"Mapa de Calor por Colunas":n["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map new file mode 100644 index 0000000..cf067a6 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js b/inst/htmlwidgets/lib/pivottable/pivot.ru.js new file mode 100644 index 0000000..ebc556d --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map new file mode 100644 index 0000000..f7fe47f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map new file mode 100644 index 0000000..4ef0db3 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js b/inst/htmlwidgets/lib/pivottable/pivot.sq.js new file mode 100644 index 0000000..080b336 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map new file mode 100644 index 0000000..604860b --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map new file mode 100644 index 0000000..3f6df78 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js b/inst/htmlwidgets/lib/pivottable/pivot.tr.js new file mode 100644 index 0000000..1a95e56 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js @@ -0,0 +1,104 @@ +(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.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ı": tpl.count(frFmtInt), + "Benzersiz değerler sayısı": tpl.countUnique(frFmtInt), + "Benzersiz değerler listesi": tpl.listUnique(", "), + "Toplam": tpl.sum(frFmt), + "Toplam (tam sayı)": tpl.sum(frFmtInt), + "Ortalama": tpl.average(frFmt), + "Min": tpl.min(frFmt), + "Maks": tpl.max(frFmt), + "Miktarların toplamı": tpl.sumOverSum(frFmt), + "%80 daha yüksek": tpl.sumOverSumBound80(true, frFmt), + "%80 daha düşük": tpl.sumOverSumBound80(false, frFmt), + "Toplam oranı (toplam)": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Satır oranı (toplam)": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Sütunun oranı (toplam)": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Toplam oranı (sayı)": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Satır oranı (sayı)": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Sütunun oranı (sayı)": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tablo": r["Table"], + "Tablo (Çubuklar)": r["Table Barchart"], + "İlgi haritası": r["Heatmap"], + "Satır ilgi haritası": r["Row Heatmap"], + "Sütun ilgi haritası": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.tr.gchart_renderers = { + "Çizgi Grafiği": gcr["Line Chart"], + "Bar Grafiği": gcr["Bar Chart"], + "Yığılmış Çubuk Grafik ": gcr["Stacked Bar Chart"], + "Alan Grafiği": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.tr.d3_renderers = { + "Hiyerarşik Alan Grafiği (Treemap)": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.tr.c3_renderers = { + "Çizgi Grafiği": c3r["Line Chart"], + "Bar Grafiği": c3r["Bar Chart"], + "Yığılmış Çubuk Grafik ": c3r["Stacked Bar Chart"], + "Alan Grafiği": c3r["Area Chart"] + }; + } + return $.pivotUtilities.locales.tr; + }); + +}).call(this); + +//# sourceMappingURL=pivot.tr.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map new file mode 100644 index 0000000..3b5dbe0 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map new file mode 100644 index 0000000..90d8eb9 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.js new file mode 100644 index 0000000..5f30fb4 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js @@ -0,0 +1,113 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map new file mode 100644 index 0000000..6810c5f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js index 916fceb..2828cad 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js @@ -1,2 +1,2 @@ -(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,a,l,n,c;return l=e.pivotUtilities.numberFormat,c=e.pivotUtilities.aggregatorTemplates,n=e.pivotUtilities.renderers,a=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,t=e.pivotUtilities.c3_renderers,i=l({thousandsSep:",",decimalSep:"."}),o=l({digitsAfterDecimal:0,thousandsSep:",",decimalSep:"."}),s=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(o),"非重复值的个数":c.countUnique(o),"列出非重复值":c.listUnique(", "),"求和":c.sum(i),"求和后取整":c.sum(o),"平均值":c.average(i),"最小值":c.min(i),"最大值":c.max(i),"两和之比":c.sumOverSum(i),"二项分布:置信度为80%时的区间上限":c.sumOverSumBound80(!0,i),"二项分布:置信度为80%时的区间下限":c.sumOverSumBound80(!1,i),"和在总计中的比例":c.fractionOf(c.sum(),"total",s),"和在行合计中的比例":c.fractionOf(c.sum(),"row",s),"和在列合计中的比例":c.fractionOf(c.sum(),"col",s),"频数在总计中的比例":c.fractionOf(c.count(),"total",s),"频数在行合计中的比例":c.fractionOf(c.count(),"row",s),"频数在列合计中的比例":c.fractionOf(c.count(),"col",s)},renderers:{"表格":n.Table,"表格内柱状图":n["Table Barchart"],"热图":n.Heatmap,"行热图":n["Row Heatmap"],"列热图":n["Col Heatmap"]}},a&&(e.pivotUtilities.locales.zh.gchart_renderers={"折线图(g)":a["Line Chart"],"柱形图(g)":a["Bar Chart"],"堆栈柱形图(g)":a["Stacked Bar Chart"],"面积图(g)":a["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map new file mode 100644 index 0000000..8b30873 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot_spec.js b/inst/htmlwidgets/lib/pivottable/pivot_spec.js new file mode 100644 index 0000000..fadadce --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot_spec.js @@ -0,0 +1,614 @@ +(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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 $("").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 = $("").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 = $("\n \n
\").append(filterItem));\n }\n }\n closeFilterBox = function() {\n if (valueList.find(\"[type='checkbox']\").length > valueList.find(\"[type='checkbox']:checked\").length) {\n attrElem.addClass(\"pvtFilteredAttribute\");\n } else {\n attrElem.removeClass(\"pvtFilteredAttribute\");\n }\n valueList.find('.pvtSearch').val('');\n valueList.find('.pvtCheckContainer p').show();\n return valueList.hide();\n };\n finalButtons = $(\"
\").appendTo(valueList);\n if (values.length <= opts.menuLimit) {\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.apply).appendTo(finalButtons).bind(\"click\", function() {\n if (valueList.find(\".changed\").removeClass(\"changed\").length) {\n refresh();\n }\n return closeFilterBox();\n });\n }\n $(\"\", {\n type: \"button\"\n }).text(opts.localeStrings.cancel).appendTo(finalButtons).bind(\"click\", function() {\n valueList.find(\".changed:checked\").removeClass(\"changed\").prop(\"checked\", false);\n valueList.find(\".changed:not(:checked)\").removeClass(\"changed\").prop(\"checked\", true);\n return closeFilterBox();\n });\n triangleLink = $(\"\").addClass('pvtTriangle').html(\" ▾\").bind(\"click\", function(e) {\n var left, ref2, top;\n ref2 = $(e.currentTarget).position(), left = ref2.left, top = ref2.top;\n return valueList.css({\n left: left + 10,\n top: top + 10\n }).show();\n });\n attrElem = $(\"\").addClass(\"axis_\" + i).append($(\"\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink));\n if (hasExcludedItem) {\n attrElem.addClass('pvtFilteredAttribute');\n }\n return unused.append(attrElem).append(valueList);\n };\n for (i in shownInDragDrop) {\n if (!hasProp.call(shownInDragDrop, i)) continue;\n attr = shownInDragDrop[i];\n fn1(attr);\n }\n tr1 = $(\"\").appendTo(uiTable);\n aggregator = $(\"\").addClass('pvtAggregator').bind(\"change\", function() {\n return refresh();\n });\n ref1 = opts.aggregators;\n for (x in ref1) {\n if (!hasProp.call(ref1, x)) continue;\n aggregator.append($(\"\").val(x).html(x));\n }\n ordering = {\n key_a_to_z: {\n rowSymbol: \"↕\",\n colSymbol: \"↔\",\n next: \"value_a_to_z\"\n },\n value_a_to_z: {\n rowSymbol: \"↓\",\n colSymbol: \"→\",\n next: \"value_z_to_a\"\n },\n value_z_to_a: {\n rowSymbol: \"↑\",\n colSymbol: \"←\",\n next: \"key_a_to_z\"\n }\n };\n rowOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtRowOrder\").data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol);\n return refresh();\n });\n colOrderArrow = $(\"\", {\n role: \"button\"\n }).addClass(\"pvtColOrder\").data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol).bind(\"click\", function() {\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next);\n $(this).html(ordering[$(this).data(\"order\")].colSymbol);\n return refresh();\n });\n $(\"\").addClass('pvtVals pvtUiCell').appendTo(tr1).append(aggregator).append(rowOrderArrow).append(colOrderArrow).append($(\"\"));\n $(\"\").addClass('pvtAxisContainer pvtHorizList pvtCols pvtUiCell').appendTo(tr1);\n tr2 = $(\"\").appendTo(uiTable);\n tr2.append($(\"\").addClass('pvtAxisContainer pvtRows pvtUiCell').attr(\"valign\", \"top\"));\n pivotTable = $(\"\").attr(\"valign\", \"top\").addClass('pvtRendererArea').appendTo(tr2);\n if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {\n uiTable.find('tr:nth-child(1)').prepend(rendererControl);\n uiTable.find('tr:nth-child(2)').prepend(unused);\n } else {\n uiTable.prepend($(\"\").append(rendererControl).append(unused));\n }\n this.html(uiTable);\n ref2 = opts.cols;\n for (n = 0, len2 = ref2.length; n < len2; n++) {\n x = ref2[n];\n this.find(\".pvtCols\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n ref3 = opts.rows;\n for (o = 0, len3 = ref3.length; o < len3; o++) {\n x = ref3[o];\n this.find(\".pvtRows\").append(this.find(\".axis_\" + ($.inArray(x, shownInDragDrop))));\n }\n if (opts.aggregatorName != null) {\n this.find(\".pvtAggregator\").val(opts.aggregatorName);\n }\n if (opts.rendererName != null) {\n this.find(\".pvtRenderer\").val(opts.rendererName);\n }\n if (!opts.showUI) {\n this.find(\".pvtUiCell\").hide();\n }\n initialRender = true;\n refreshDelayed = (function(_this) {\n return function() {\n var exclusions, inclusions, len4, newDropdown, numInputsToProcess, pivotUIOptions, pvtVals, ref4, ref5, subopts, t, u, unusedAttrsContainer, vals;\n subopts = {\n derivedAttributes: opts.derivedAttributes,\n localeStrings: opts.localeStrings,\n rendererOptions: opts.rendererOptions,\n sorters: opts.sorters,\n cols: [],\n rows: [],\n dataClass: opts.dataClass\n };\n numInputsToProcess = (ref4 = opts.aggregators[aggregator.val()]([])().numInputs) != null ? ref4 : 0;\n vals = [];\n _this.find(\".pvtRows li span.pvtAttr\").each(function() {\n return subopts.rows.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtCols li span.pvtAttr\").each(function() {\n return subopts.cols.push($(this).data(\"attrName\"));\n });\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n if (numInputsToProcess === 0) {\n return $(this).remove();\n } else {\n numInputsToProcess--;\n if ($(this).val() !== \"\") {\n return vals.push($(this).val());\n }\n }\n });\n if (numInputsToProcess !== 0) {\n pvtVals = _this.find(\".pvtVals\");\n for (x = t = 0, ref5 = numInputsToProcess; 0 <= ref5 ? t < ref5 : t > ref5; x = 0 <= ref5 ? ++t : --t) {\n newDropdown = $(\"\").addClass('pvtAttrDropdown').append($(\"\")).bind(\"change\", function() {\n return refresh();\n });\n for (u = 0, len4 = shownInAggregators.length; u < len4; u++) {\n attr = shownInAggregators[u];\n newDropdown.append($(\"\").val(attr).text(attr));\n }\n pvtVals.append(newDropdown);\n }\n }\n if (initialRender) {\n vals = opts.vals;\n i = 0;\n _this.find(\".pvtVals select.pvtAttrDropdown\").each(function() {\n $(this).val(vals[i]);\n return i++;\n });\n initialRender = false;\n }\n subopts.aggregatorName = aggregator.val();\n subopts.vals = vals;\n subopts.aggregator = opts.aggregators[aggregator.val()](vals);\n subopts.renderer = opts.renderers[renderer.val()];\n subopts.rowOrder = rowOrderArrow.data(\"order\");\n subopts.colOrder = colOrderArrow.data(\"order\");\n exclusions = {};\n _this.find('input.pvtFilter').not(':checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n return exclusions[filter[0]].push(filter[1]);\n } else {\n return exclusions[filter[0]] = [filter[1]];\n }\n });\n inclusions = {};\n _this.find('input.pvtFilter:checked').each(function() {\n var filter;\n filter = $(this).data(\"filter\");\n if (exclusions[filter[0]] != null) {\n if (inclusions[filter[0]] != null) {\n return inclusions[filter[0]].push(filter[1]);\n } else {\n return inclusions[filter[0]] = [filter[1]];\n }\n }\n });\n subopts.filter = function(record) {\n var excludedItems, k, ref6, ref7;\n if (!opts.filter(record)) {\n return false;\n }\n for (k in exclusions) {\n excludedItems = exclusions[k];\n if (ref6 = \"\" + ((ref7 = record[k]) != null ? ref7 : 'null'), indexOf.call(excludedItems, ref6) >= 0) {\n return false;\n }\n }\n return true;\n };\n pivotTable.pivot(materializedInput, subopts);\n pivotUIOptions = $.extend({}, opts, {\n cols: subopts.cols,\n rows: subopts.rows,\n colOrder: subopts.colOrder,\n rowOrder: subopts.rowOrder,\n vals: vals,\n exclusions: exclusions,\n inclusions: inclusions,\n inclusionsInfo: inclusions,\n aggregatorName: aggregator.val(),\n rendererName: renderer.val()\n });\n _this.data(\"pivotUIOptions\", pivotUIOptions);\n if (opts.autoSortUnusedAttrs) {\n unusedAttrsContainer = _this.find(\"td.pvtUnused.pvtAxisContainer\");\n $(unusedAttrsContainer).children(\"li\").sort(function(a, b) {\n return naturalSort($(a).text(), $(b).text());\n }).appendTo(unusedAttrsContainer);\n }\n pivotTable.css(\"opacity\", 1);\n if (opts.onRefresh != null) {\n return opts.onRefresh(pivotUIOptions);\n }\n };\n })(this);\n refresh = (function(_this) {\n return function() {\n pivotTable.css(\"opacity\", 0.5);\n return setTimeout(refreshDelayed, 10);\n };\n })(this);\n refresh();\n this.find(\".pvtAxisContainer\").sortable({\n update: function(e, ui) {\n if (ui.sender == null) {\n return refresh();\n }\n },\n connectWith: this.find(\".pvtAxisContainer\"),\n items: 'li',\n placeholder: 'pvtPlaceholder'\n });\n } catch (error) {\n e = error;\n if (typeof console !== \"undefined\" && console !== null) {\n console.error(e.stack);\n }\n this.html(opts.localeStrings.uiRenderError);\n }\n return this;\n };\n\n /*\n Heatmap post-processing\n */\n $.fn.heatmap = function(scope, opts) {\n var colorScaleGenerator, heatmapper, i, j, l, n, numCols, numRows, ref, ref1, ref2;\n if (scope == null) {\n scope = \"heatmap\";\n }\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n colorScaleGenerator = opts != null ? (ref = opts.heatmap) != null ? ref.colorScaleGenerator : void 0 : void 0;\n if (colorScaleGenerator == null) {\n colorScaleGenerator = function(values) {\n var max, min;\n min = Math.min.apply(Math, values);\n max = Math.max.apply(Math, values);\n return function(x) {\n var nonRed;\n nonRed = 255 - Math.round(255 * (x - min) / (max - min));\n return \"rgb(255,\" + nonRed + \",\" + nonRed + \")\";\n };\n };\n }\n heatmapper = (function(_this) {\n return function(scope) {\n var colorScale, forEachCell, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n colorScale = colorScaleGenerator(values);\n return forEachCell(function(x, elem) {\n return elem.css(\"background-color\", colorScale(x));\n });\n };\n })(this);\n switch (scope) {\n case \"heatmap\":\n heatmapper(\".pvtVal\");\n break;\n case \"rowheatmap\":\n for (i = l = 0, ref1 = numRows; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) {\n heatmapper(\".pvtVal.row\" + i);\n }\n break;\n case \"colheatmap\":\n for (j = n = 0, ref2 = numCols; 0 <= ref2 ? n < ref2 : n > ref2; j = 0 <= ref2 ? ++n : --n) {\n heatmapper(\".pvtVal.col\" + j);\n }\n }\n heatmapper(\".pvtTotal.rowTotal\");\n heatmapper(\".pvtTotal.colTotal\");\n return this;\n };\n\n /*\n Barchart post-processing\n */\n return $.fn.barchart = function(opts) {\n var barcharter, i, l, numCols, numRows, ref;\n numRows = this.data(\"numrows\");\n numCols = this.data(\"numcols\");\n barcharter = (function(_this) {\n return function(scope) {\n var forEachCell, max, min, range, scaler, values;\n forEachCell = function(f) {\n return _this.find(scope).each(function() {\n var x;\n x = $(this).data(\"value\");\n if ((x != null) && isFinite(x)) {\n return f(x, $(this));\n }\n });\n };\n values = [];\n forEachCell(function(x) {\n return values.push(x);\n });\n max = Math.max.apply(Math, values);\n if (max < 0) {\n max = 0;\n }\n range = max;\n min = Math.min.apply(Math, values);\n if (min < 0) {\n range = max - min;\n }\n scaler = function(x) {\n return 100 * x / (1.4 * range);\n };\n return forEachCell(function(x, elem) {\n var bBase, bgColor, text, wrapper;\n text = elem.text();\n wrapper = $(\"\").css({\n \"position\": \"relative\",\n \"height\": \"55px\"\n });\n bgColor = \"gray\";\n bBase = 0;\n if (min < 0) {\n bBase = scaler(-min);\n }\n if (x < 0) {\n bBase += scaler(x);\n bgColor = \"darkred\";\n x = -x;\n }\n wrapper.append($(\"\").css({\n \"position\": \"absolute\",\n \"bottom\": bBase + \"%\",\n \"left\": 0,\n \"right\": 0,\n \"height\": scaler(x) + \"%\",\n \"background-color\": bgColor\n }));\n wrapper.append($(\"\").text(text).css({\n \"position\": \"relative\",\n \"padding-left\": \"5px\",\n \"padding-right\": \"5px\"\n }));\n return elem.css({\n \"padding\": 0,\n \"padding-top\": \"5px\",\n \"text-align\": \"center\"\n }).html(wrapper);\n });\n };\n })(this);\n for (i = l = 0, ref = numRows; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) {\n barcharter(\".pvtVal.row\" + i);\n }\n barcharter(\".pvtTotal.colTotal\");\n return this;\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.js.map\n"]} \ No newline at end of file diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.js new file mode 100644 index 0000000..ca9a375 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js @@ -0,0 +1,80 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map new file mode 100644 index 0000000..b7c7760 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js index 9dc06ee..a3bcc04 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js @@ -1,2 +1,2 @@ -(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,n,o;return n=e.pivotUtilities.numberFormat,o=e.pivotUtilities.aggregatorTemplates,t=n({thousandsSep:" ",decimalSep:","}),r=n({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),i=n({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:o.count(r),"Aantal unieke waarden":o.countUnique(r),"Lijst unieke waarden":o.listUnique(", "),Som:o.sum(t),"Som van gehele getallen":o.sum(r),Gemiddelde:o.average(t),Minimum:o.min(t),Maximum:o.max(t),"Som over som":o.sumOverSum(t),"80% bovengrens":o.sumOverSumBound80(!0,t),"80% ondergrens":o.sumOverSumBound80(!1,t),"Som in verhouding tot het totaal":o.fractionOf(o.sum(),"total",i),"Som in verhouding tot de rij":o.fractionOf(o.sum(),"row",i),"Som in verhouding tot de kolom":o.fractionOf(o.sum(),"col",i),"Aantal in verhouding tot het totaal":o.fractionOf(o.count(),"total",i),"Aantal in verhouding tot de rij":o.fractionOf(o.count(),"row",i),"Aantal in verhouding tot de kolom":o.fractionOf(o.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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map new file mode 100644 index 0000000..b51dc51 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.nl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js b/inst/htmlwidgets/lib/pivottable/pivot.pl.js new file mode 100644 index 0000000..aa4b438 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js @@ -0,0 +1,82 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map new file mode 100644 index 0000000..3eefc10 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pivot.pl.js","sources":["pivot.pl.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 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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map new file mode 100644 index 0000000..14a4b8e --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pl.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.js new file mode 100644 index 0000000..b737243 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js @@ -0,0 +1,111 @@ +(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.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": tpl.count(frFmtInt), + "Contagem de Valores únicos": tpl.countUnique(frFmtInt), + "Lista de Valores únicos": tpl.listUnique(", "), + "Soma": tpl.sum(frFmt), + "Soma de Inteiros": tpl.sum(frFmtInt), + "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áximo": tpl.max(frFmt), + "Primeiro": tpl.first(frFmt), + "Último": tpl.last(frFmt), + "Soma sobre Soma": tpl.sumOverSum(frFmt), + "Limite Superior a 80%": tpl.sumOverSumBound80(true, frFmt), + "Limite Inferior a 80%": tpl.sumOverSumBound80(false, frFmt), + "Soma como Fração do Total": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Soma como Fração da Linha": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Soma como Fração da Coluna": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Contagem como Fração do Total": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Contagem como Fração da Linha": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Contagem como Fração da Coluna": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tabela": r["Table"], + "Tabela com Barras": r["Table Barchart"], + "Mapa de Calor": r["Heatmap"], + "Mapa de Calor por Linhas": r["Row Heatmap"], + "Mapa de Calor por Colunas": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.pt.gchart_renderers = { + "Gráfico de Linhas": gcr["Line Chart"], + "Gráfico de Barras": gcr["Bar Chart"], + "Gráfico de Barras Empilhadas": gcr["Stacked Bar Chart"], + "Gráfico de Área": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.pt.d3_renderers = { + "Mapa de Árvore": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.pt.c3_renderers = { + "Gráfico de Linhas": c3r["Line Chart"], + "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; + }); + +}).call(this); + +//# sourceMappingURL=pivot.pt.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map new file mode 100644 index 0000000..72cb981 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js index cf4f356..0f92ea7 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js @@ -1,2 +1,2 @@ -(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,l,n,c;return l=a.pivotUtilities.numberFormat,c=a.pivotUtilities.aggregatorTemplates,n=a.pivotUtilities.renderers,s=a.pivotUtilities.gchart_renderers,r=a.pivotUtilities.d3_renderers,e=a.pivotUtilities.c3_renderers,o=l({thousandsSep:".",decimalSep:","}),i=l({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),t=l({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),"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:n.Table,"Tabela com Barras":n["Table Barchart"],"Mapa de Calor":n.Heatmap,"Mapa de Calor por Linhas":n["Row Heatmap"],"Mapa de Calor por Colunas":n["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map new file mode 100644 index 0000000..cf067a6 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.pt.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js b/inst/htmlwidgets/lib/pivottable/pivot.ru.js new file mode 100644 index 0000000..ebc556d --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map new file mode 100644 index 0000000..f7fe47f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map new file mode 100644 index 0000000..4ef0db3 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.ru.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js b/inst/htmlwidgets/lib/pivottable/pivot.sq.js new file mode 100644 index 0000000..080b336 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js @@ -0,0 +1,78 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map new file mode 100644 index 0000000..604860b --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map new file mode 100644 index 0000000..3f6df78 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.sq.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js b/inst/htmlwidgets/lib/pivottable/pivot.tr.js new file mode 100644 index 0000000..1a95e56 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js @@ -0,0 +1,104 @@ +(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.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ı": tpl.count(frFmtInt), + "Benzersiz değerler sayısı": tpl.countUnique(frFmtInt), + "Benzersiz değerler listesi": tpl.listUnique(", "), + "Toplam": tpl.sum(frFmt), + "Toplam (tam sayı)": tpl.sum(frFmtInt), + "Ortalama": tpl.average(frFmt), + "Min": tpl.min(frFmt), + "Maks": tpl.max(frFmt), + "Miktarların toplamı": tpl.sumOverSum(frFmt), + "%80 daha yüksek": tpl.sumOverSumBound80(true, frFmt), + "%80 daha düşük": tpl.sumOverSumBound80(false, frFmt), + "Toplam oranı (toplam)": tpl.fractionOf(tpl.sum(), "total", frFmtPct), + "Satır oranı (toplam)": tpl.fractionOf(tpl.sum(), "row", frFmtPct), + "Sütunun oranı (toplam)": tpl.fractionOf(tpl.sum(), "col", frFmtPct), + "Toplam oranı (sayı)": tpl.fractionOf(tpl.count(), "total", frFmtPct), + "Satır oranı (sayı)": tpl.fractionOf(tpl.count(), "row", frFmtPct), + "Sütunun oranı (sayı)": tpl.fractionOf(tpl.count(), "col", frFmtPct) + }, + renderers: { + "Tablo": r["Table"], + "Tablo (Çubuklar)": r["Table Barchart"], + "İlgi haritası": r["Heatmap"], + "Satır ilgi haritası": r["Row Heatmap"], + "Sütun ilgi haritası": r["Col Heatmap"] + } + }; + if (gcr) { + $.pivotUtilities.locales.tr.gchart_renderers = { + "Çizgi Grafiği": gcr["Line Chart"], + "Bar Grafiği": gcr["Bar Chart"], + "Yığılmış Çubuk Grafik ": gcr["Stacked Bar Chart"], + "Alan Grafiği": gcr["Area Chart"] + }; + } + if (d3r) { + $.pivotUtilities.locales.tr.d3_renderers = { + "Hiyerarşik Alan Grafiği (Treemap)": d3r["Treemap"] + }; + } + if (c3r) { + $.pivotUtilities.locales.tr.c3_renderers = { + "Çizgi Grafiği": c3r["Line Chart"], + "Bar Grafiği": c3r["Bar Chart"], + "Yığılmış Çubuk Grafik ": c3r["Stacked Bar Chart"], + "Alan Grafiği": c3r["Area Chart"] + }; + } + return $.pivotUtilities.locales.tr; + }); + +}).call(this); + +//# sourceMappingURL=pivot.tr.js.map diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map new file mode 100644 index 0000000..3b5dbe0 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map new file mode 100644 index 0000000..90d8eb9 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.tr.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.js new file mode 100644 index 0000000..5f30fb4 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js @@ -0,0 +1,113 @@ +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map new file mode 100644 index 0000000..6810c5f --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js index 916fceb..2828cad 100644 --- a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js @@ -1,2 +1,2 @@ -(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,a,l,n,c;return l=e.pivotUtilities.numberFormat,c=e.pivotUtilities.aggregatorTemplates,n=e.pivotUtilities.renderers,a=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,t=e.pivotUtilities.c3_renderers,i=l({thousandsSep:",",decimalSep:"."}),o=l({digitsAfterDecimal:0,thousandsSep:",",decimalSep:"."}),s=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(o),"非重复值的个数":c.countUnique(o),"列出非重复值":c.listUnique(", "),"求和":c.sum(i),"求和后取整":c.sum(o),"平均值":c.average(i),"最小值":c.min(i),"最大值":c.max(i),"两和之比":c.sumOverSum(i),"二项分布:置信度为80%时的区间上限":c.sumOverSumBound80(!0,i),"二项分布:置信度为80%时的区间下限":c.sumOverSumBound80(!1,i),"和在总计中的比例":c.fractionOf(c.sum(),"total",s),"和在行合计中的比例":c.fractionOf(c.sum(),"row",s),"和在列合计中的比例":c.fractionOf(c.sum(),"col",s),"频数在总计中的比例":c.fractionOf(c.count(),"total",s),"频数在行合计中的比例":c.fractionOf(c.count(),"row",s),"频数在列合计中的比例":c.fractionOf(c.count(),"col",s)},renderers:{"表格":n.Table,"表格内柱状图":n["Table Barchart"],"热图":n.Heatmap,"行热图":n["Row Heatmap"],"列热图":n["Col Heatmap"]}},a&&(e.pivotUtilities.locales.zh.gchart_renderers={"折线图(g)":a["Line Chart"],"柱形图(g)":a["Bar Chart"],"堆栈柱形图(g)":a["Stacked Bar Chart"],"面积图(g)":a["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); +(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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map new file mode 100644 index 0000000..8b30873 --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot.zh.min.js.map @@ -0,0 +1 @@ +{"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 diff --git a/inst/htmlwidgets/lib/pivottable/pivot_spec.js b/inst/htmlwidgets/lib/pivottable/pivot_spec.js new file mode 100644 index 0000000..fadadce --- /dev/null +++ b/inst/htmlwidgets/lib/pivottable/pivot_spec.js @@ -0,0 +1,614 @@ +(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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 = $("").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 $("").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 = $("").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 = $("\n \n