SHARE
TWEET

Untitled

a guest Oct 21st, 2019 82 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (function() {
  2.   var callWithJQuery;
  3.  
  4.   callWithJQuery = function(pivotModule) {
  5.     if (typeof exports === "object" && typeof module === "object") {
  6.       return pivotModule(require("jquery"));
  7.     } else if (typeof define === "function" && define.amd) {
  8.       return define(["jquery"], pivotModule);
  9.     } else {
  10.       return pivotModule(jQuery);
  11.     }
  12.   };
  13.  
  14.   callWithJQuery(function($){
  15.     return $.pivotUtilities.export_renderer_csv = {
  16.       "CSV Export": function(pivotData, opts) {
  17.         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;
  18.         defaults = {
  19.           localeStrings: {}
  20.         };
  21.         console.log(pivotData);
  22.         opts = $.extend(true, {}, defaults, opts);
  23.         rowKeys = pivotData.getRowKeys();
  24.         if (rowKeys.length === 0) {
  25.           rowKeys.push([]);
  26.         }
  27.         colKeys = pivotData.getColKeys();
  28.         if (colKeys.length === 0) {
  29.           colKeys.push([]);
  30.         }
  31.         rowAttrs = pivotData.rowAttrs;
  32.         colAttrs = pivotData.colAttrs;
  33.         result = [];
  34.         row = [];
  35.         for (i = 0, len = rowAttrs.length; i < len; i++) {
  36.           rowAttr = rowAttrs[i];
  37.           row.push(rowAttr);
  38.         }
  39.         if (colKeys.length === 1 && colKeys[0].length === 0) {
  40.           row.push(pivotData.aggregatorName);
  41.         } else {
  42.           for (j = 0, len1 = colKeys.length; j < len1; j++) {
  43.             colKey = colKeys[j];
  44.             row.push(colKey.join("-"));
  45.           }
  46.         }
  47.  
  48.         result.push(row);
  49.         for (k = 0, len2 = rowKeys.length; k < len2; k++) {
  50.           rowKey = rowKeys[k];
  51.           row = [];
  52.           for (l = 0, len3 = rowKey.length; l < len3; l++) {
  53.             r = rowKey[l];
  54.             row.push(r);
  55.           }
  56.           for (m = 0, len4 = colKeys.length; m < len4; m++) {
  57.             colKey = colKeys[m];
  58.             agg = pivotData.getAggregator(rowKey, colKey);
  59.            
  60.             if (agg.value() != null) {
  61.               row.push(agg.value());
  62.             } else {
  63.               row.push("");
  64.             }
  65.           }
  66.           result.push(row);
  67.         }
  68.         text = "";
  69.         for (n = 0, len5 = result.length; n < len5; n++) {
  70.           r = result[n];
  71.           text += r.join(",") + "\n";
  72.         }
  73.  
  74.         function exportCSVFIle(items, fileName) {
  75.           var link = document.createElement('a');
  76.           link.setAttribute('href', 'data:text/csv;charset=utf-8,' + items);
  77.           link.setAttribute('download', fileName);
  78.           link.style.visibility = "hidden";
  79.           document.body.appendChild(link);
  80.           link.click();
  81.           document.body.removeChild(link);
  82.         }
  83.  
  84.         exportCSVFIle(text, 'pivotData.csv');
  85.         return $("<textarea>").text(text).css({
  86.           width: ($(window).width() / 2) + "px",
  87.           height: ($(window).height() / 2) + "px"
  88.         });
  89.       }
  90.     };
  91.   });
  92. }).call(this);
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top