UNPKG

pivottable

Version:

Javascript Pivot Table (aka Pivot Grid, Pivot Chart, Cross-Tab) implementation with drag'n'drop

81 lines (76 loc) 2.53 kB
(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($) { return $.pivotUtilities.export_renderers = { "TSV Export": function(pivotData, opts) { var agg, colAttrs, colKey, colKeys, defaults, i, j, k, l, len, len1, len2, len3, len4, len5, m, n, r, result, row, rowAttr, rowAttrs, rowKey, rowKeys, text; defaults = { localeStrings: {} }; opts = $.extend(true, {}, defaults, opts); rowKeys = pivotData.getRowKeys(); if (rowKeys.length === 0) { rowKeys.push([]); } colKeys = pivotData.getColKeys(); if (colKeys.length === 0) { colKeys.push([]); } rowAttrs = pivotData.rowAttrs; colAttrs = pivotData.colAttrs; result = []; row = []; for (i = 0, len = rowAttrs.length; i < len; i++) { rowAttr = rowAttrs[i]; row.push(rowAttr); } if (colKeys.length === 1 && colKeys[0].length === 0) { row.push(pivotData.aggregatorName); } else { for (j = 0, len1 = colKeys.length; j < len1; j++) { colKey = colKeys[j]; row.push(colKey.join("-")); } } result.push(row); for (k = 0, len2 = rowKeys.length; k < len2; k++) { rowKey = rowKeys[k]; row = []; for (l = 0, len3 = rowKey.length; l < len3; l++) { r = rowKey[l]; row.push(r); } for (m = 0, len4 = colKeys.length; m < len4; m++) { colKey = colKeys[m]; agg = pivotData.getAggregator(rowKey, colKey); if (agg.value() != null) { row.push(agg.value()); } else { row.push(""); } } result.push(row); } text = ""; for (n = 0, len5 = result.length; n < len5; n++) { r = result[n]; text += r.join("\t") + "\n"; } return $("<textarea>").text(text).css({ width: ($(window).width() / 2) + "px", height: ($(window).height() / 2) + "px" }); } }; }); }).call(this); //# sourceMappingURL=export_renderers.js.map