Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.90 KB | None | 0 0
  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);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement