@syncfusion/ej2-pivotview 19.3.57 → 19.4.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/.github/PULL_REQUEST_TEMPLATE/Bug.md +76 -0
  2. package/.github/PULL_REQUEST_TEMPLATE/Feature.md +56 -0
  3. package/CHANGELOG.md +40 -27
  4. package/README.md +1 -1
  5. package/dist/ej2-pivotview.umd.min.js +2 -2
  6. package/dist/ej2-pivotview.umd.min.js.map +1 -1
  7. package/dist/es6/ej2-pivotview.es2015.js +2052 -1101
  8. package/dist/es6/ej2-pivotview.es2015.js.map +1 -1
  9. package/dist/es6/ej2-pivotview.es5.js +2068 -1111
  10. package/dist/es6/ej2-pivotview.es5.js.map +1 -1
  11. package/dist/global/ej2-pivotview.min.js +2 -2
  12. package/dist/global/ej2-pivotview.min.js.map +1 -1
  13. package/dist/global/index.d.ts +1 -1
  14. package/package.json +22 -22
  15. package/src/base/engine.d.ts +17 -1
  16. package/src/base/engine.js +78 -27
  17. package/src/base/export-util.d.ts +17 -0
  18. package/src/base/export-util.js +245 -0
  19. package/src/base/olap/engine.d.ts +7 -0
  20. package/src/base/olap/engine.js +138 -35
  21. package/src/base/util.d.ts +0 -9
  22. package/src/base/util.js +2 -215
  23. package/src/common/actions/field-list.js +1 -1
  24. package/src/common/actions/pivot-button.d.ts +5 -8
  25. package/src/common/actions/pivot-button.js +188 -171
  26. package/src/common/base/constant.d.ts +186 -0
  27. package/src/common/base/constant.js +186 -0
  28. package/src/common/base/css-constant.d.ts +2 -0
  29. package/src/common/base/css-constant.js +2 -0
  30. package/src/common/base/enum.d.ts +11 -0
  31. package/src/common/base/interface.d.ts +272 -2
  32. package/src/common/calculatedfield/calculated-field.js +108 -93
  33. package/src/common/conditionalformatting/conditional-formatting.js +8 -2
  34. package/src/common/grouping-bar/grouping-bar.js +1 -1
  35. package/src/common/popups/aggregate-menu.js +57 -35
  36. package/src/common/popups/drillthrough-dialog.js +187 -139
  37. package/src/common/popups/filter-dialog.d.ts +1 -0
  38. package/src/common/popups/filter-dialog.js +22 -1
  39. package/src/common/popups/formatting-dialog.js +4 -0
  40. package/src/common/popups/grouping.js +2 -1
  41. package/src/common/popups/toolbar.js +305 -203
  42. package/src/pivotchart/base/pivotchart.js +36 -15
  43. package/src/pivotfieldlist/base/field-list-model.d.ts +49 -1
  44. package/src/pivotfieldlist/base/field-list.d.ts +55 -1
  45. package/src/pivotfieldlist/base/field-list.js +68 -1
  46. package/src/pivotfieldlist/renderer/dialog-renderer.js +38 -15
  47. package/src/pivotfieldlist/renderer/tree-renderer.js +35 -22
  48. package/src/pivotview/actions/drill-through.js +1 -1
  49. package/src/pivotview/actions/excel-export.js +10 -11
  50. package/src/pivotview/actions/pdf-export.js +13 -6
  51. package/src/pivotview/actions/virtualscroll.d.ts +1 -0
  52. package/src/pivotview/actions/virtualscroll.js +6 -2
  53. package/src/pivotview/base/pivotview-model.d.ts +46 -1
  54. package/src/pivotview/base/pivotview.d.ts +56 -2
  55. package/src/pivotview/base/pivotview.js +288 -107
  56. package/src/pivotview/model/chartsettings-model.d.ts +2 -2
  57. package/src/pivotview/model/chartsettings.d.ts +2 -2
  58. package/src/pivotview/model/chartsettings.js +2 -2
  59. package/src/pivotview/model/datasourcesettings-model.d.ts +8 -1
  60. package/src/pivotview/model/datasourcesettings.d.ts +7 -0
  61. package/src/pivotview/model/datasourcesettings.js +3 -0
  62. package/src/pivotview/renderer/render.d.ts +2 -1
  63. package/src/pivotview/renderer/render.js +39 -6
  64. package/styles/bootstrap-dark.css +145 -118
  65. package/styles/bootstrap.css +145 -118
  66. package/styles/bootstrap4.css +144 -95
  67. package/styles/bootstrap5-dark.css +250 -182
  68. package/styles/bootstrap5.css +245 -175
  69. package/styles/fabric-dark.css +147 -117
  70. package/styles/fabric.css +145 -116
  71. package/styles/highcontrast-light.css +146 -116
  72. package/styles/highcontrast.css +148 -118
  73. package/styles/material-dark.css +138 -111
  74. package/styles/material.css +138 -111
  75. package/styles/pivotfieldlist/_bootstrap-dark-definition.scss +1 -4
  76. package/styles/pivotfieldlist/_bootstrap-definition.scss +1 -4
  77. package/styles/pivotfieldlist/_bootstrap4-definition.scss +1 -4
  78. package/styles/pivotfieldlist/_bootstrap5-definition.scss +8 -11
  79. package/styles/pivotfieldlist/_fabric-dark-definition.scss +1 -4
  80. package/styles/pivotfieldlist/_fabric-definition.scss +1 -4
  81. package/styles/pivotfieldlist/_fluent-definition.scss +177 -0
  82. package/styles/pivotfieldlist/_highcontrast-definition.scss +1 -4
  83. package/styles/pivotfieldlist/_highcontrast-light-definition.scss +1 -4
  84. package/styles/pivotfieldlist/_layout.scss +199 -109
  85. package/styles/pivotfieldlist/_material-dark-definition.scss +1 -4
  86. package/styles/pivotfieldlist/_material-definition.scss +1 -4
  87. package/styles/pivotfieldlist/_tailwind-definition.scss +6 -9
  88. package/styles/pivotfieldlist/_theme.scss +213 -47
  89. package/styles/pivotfieldlist/bootstrap-dark.css +79 -72
  90. package/styles/pivotfieldlist/bootstrap.css +79 -72
  91. package/styles/pivotfieldlist/bootstrap4.css +74 -53
  92. package/styles/pivotfieldlist/bootstrap5-dark.css +145 -103
  93. package/styles/pivotfieldlist/bootstrap5.css +145 -103
  94. package/styles/pivotfieldlist/fabric-dark.css +79 -72
  95. package/styles/pivotfieldlist/fabric.css +79 -72
  96. package/styles/pivotfieldlist/highcontrast-light.css +79 -72
  97. package/styles/pivotfieldlist/highcontrast.css +79 -72
  98. package/styles/pivotfieldlist/icons/_bootstrap5.scss +2 -2
  99. package/styles/pivotfieldlist/icons/_fluent.scss +352 -0
  100. package/styles/pivotfieldlist/icons/_tailwind.scss +2 -2
  101. package/styles/pivotfieldlist/material-dark.css +74 -67
  102. package/styles/pivotfieldlist/material.css +74 -67
  103. package/styles/pivotfieldlist/tailwind-dark.css +168 -95
  104. package/styles/pivotfieldlist/tailwind.css +170 -97
  105. package/styles/pivotview/_bootstrap-dark-definition.scss +9 -6
  106. package/styles/pivotview/_bootstrap-definition.scss +9 -6
  107. package/styles/pivotview/_bootstrap4-definition.scss +10 -7
  108. package/styles/pivotview/_bootstrap5-definition.scss +12 -9
  109. package/styles/pivotview/_fabric-dark-definition.scss +8 -5
  110. package/styles/pivotview/_fabric-definition.scss +7 -4
  111. package/styles/pivotview/_fluent-definition.scss +126 -0
  112. package/styles/pivotview/_highcontrast-definition.scss +8 -5
  113. package/styles/pivotview/_highcontrast-light-definition.scss +7 -4
  114. package/styles/pivotview/_layout.scss +119 -64
  115. package/styles/pivotview/_material-dark-definition.scss +7 -4
  116. package/styles/pivotview/_material-definition.scss +8 -4
  117. package/styles/pivotview/_tailwind-definition.scss +8 -5
  118. package/styles/pivotview/_theme.scss +124 -70
  119. package/styles/pivotview/bootstrap-dark.css +66 -46
  120. package/styles/pivotview/bootstrap.css +66 -46
  121. package/styles/pivotview/bootstrap4.css +70 -42
  122. package/styles/pivotview/bootstrap5-dark.css +99 -73
  123. package/styles/pivotview/bootstrap5-dark.scss +0 -1
  124. package/styles/pivotview/bootstrap5.css +100 -72
  125. package/styles/pivotview/fabric-dark.css +68 -45
  126. package/styles/pivotview/fabric.css +66 -44
  127. package/styles/pivotview/highcontrast-light.css +67 -44
  128. package/styles/pivotview/highcontrast.css +69 -46
  129. package/styles/pivotview/icons/_bootstrap4.scss +1 -1
  130. package/styles/pivotview/icons/_bootstrap5.scss +1 -1
  131. package/styles/pivotview/icons/_fluent.scss +183 -0
  132. package/styles/pivotview/icons/_tailwind.scss +1 -1
  133. package/styles/pivotview/material-dark.css +64 -44
  134. package/styles/pivotview/material.css +64 -44
  135. package/styles/pivotview/tailwind-dark.css +106 -58
  136. package/styles/pivotview/tailwind-dark.scss +0 -1
  137. package/styles/pivotview/tailwind.css +107 -57
  138. package/styles/tailwind-dark.css +280 -159
  139. package/styles/tailwind.css +277 -154
@@ -226,12 +226,22 @@ var Toolbar = /** @class */ (function () {
226
226
  };
227
227
  /* eslint-enable */
228
228
  Toolbar.prototype.reportChange = function (args) {
229
- this.dropArgs = args;
230
- if (this.parent.isModified && this.currentReport !== '') {
231
- this.createConfirmDialog(this.parent.localeObj.getConstant('alert'), this.parent.localeObj.getConstant('newReportConfirm'));
229
+ this.parent.actionObj.actionName = events.reportChange;
230
+ if (this.parent.actionBeginMethod()) {
231
+ args.cancel = true;
232
+ return;
232
233
  }
233
- else {
234
- this.reportLoad(args);
234
+ try {
235
+ this.dropArgs = args;
236
+ if (this.parent.isModified && this.currentReport !== '') {
237
+ this.createConfirmDialog(this.parent.localeObj.getConstant('alert'), this.parent.localeObj.getConstant('newReportConfirm'));
238
+ }
239
+ else {
240
+ this.reportLoad(args);
241
+ }
242
+ }
243
+ catch (execption) {
244
+ this.parent.actionFailureMethod(execption);
235
245
  }
236
246
  };
237
247
  Toolbar.prototype.reportLoad = function (args) {
@@ -240,6 +250,10 @@ var Toolbar = /** @class */ (function () {
240
250
  var loadArgs = {
241
251
  reportName: args.itemData.value
242
252
  };
253
+ var actionInfo = {
254
+ reportName: args.itemData.value
255
+ };
256
+ this.parent.actionObj.actionInfo = actionInfo;
243
257
  this.parent.trigger(events.loadReport, loadArgs, function (observedArgs) {
244
258
  _this_1.currentReport = observedArgs.reportName;
245
259
  _this_1.parent.isModified = false;
@@ -252,7 +266,15 @@ var Toolbar = /** @class */ (function () {
252
266
  report: this.parent.getPersistData(),
253
267
  reportName: this.currentReport
254
268
  };
269
+ this.parent.actionObj.actionName = this.parent.getActionCompleteName();
270
+ var actionInfo = {
271
+ reportName: this.currentReport
272
+ };
273
+ this.parent.actionObj.actionInfo = actionInfo;
255
274
  this.parent.trigger(events.saveReport, saveArgs);
275
+ if (this.parent.actionObj.actionName) {
276
+ this.parent.actionCompleteMethod();
277
+ }
256
278
  this.parent.isModified = false;
257
279
  }
258
280
  else if (this.currentReport === '' && (args.item.id === (this.parent.element.id + 'save') || args.item.id === (this.parent.element.id + 'saveas'))) {
@@ -316,54 +338,67 @@ var Toolbar = /** @class */ (function () {
316
338
  }
317
339
  };
318
340
  Toolbar.prototype.actionClick = function (args) {
319
- switch (args.item.id) {
320
- case (this.parent.element.id + 'save'):
321
- case (this.parent.element.id + 'saveas'):
322
- this.saveReport(args);
323
- break;
324
- case (this.parent.element.id + 'remove'):
325
- this.action = 'Remove';
326
- if (this.currentReport && this.currentReport !== '') {
327
- this.createConfirmDialog(this.parent.localeObj.getConstant('alert'), this.parent.localeObj.getConstant('removeConfirm'));
328
- }
329
- else {
330
- this.parent.pivotCommon.errorDialog.createErrorDialog(this.parent.localeObj.getConstant('error'), this.parent.localeObj.getConstant('emptyReport'));
331
- }
332
- return;
333
- case (this.parent.element.id + 'rename'):
334
- this.renameReport(args);
335
- break;
336
- case (this.parent.element.id + 'new'):
337
- this.action = 'New';
338
- this.newArgs = args;
339
- if (this.parent.isModified && this.currentReport && this.currentReport !== '') {
340
- this.createConfirmDialog(this.parent.localeObj.getConstant('alert'), this.parent.localeObj.getConstant('newReportConfirm'));
341
- }
342
- else {
343
- this.createNewReport(args);
344
- }
345
- break;
346
- case (this.parent.element.id + 'load'):
347
- this.action = 'Load';
348
- break;
349
- case (this.parent.element.id + 'fieldlist'):
350
- if (this.parent.pivotFieldListModule && this.parent.pivotFieldListModule.dialogRenderer) {
351
- this.parent.pivotFieldListModule.dialogRenderer.fieldListDialog.show();
352
- }
353
- break;
354
- case (this.parent.element.id + 'formatting'):
355
- if (this.parent.conditionalFormattingModule) {
356
- this.parent.conditionalFormattingModule.showConditionalFormattingDialog();
357
- }
358
- break;
359
- case (this.parent.element.id + 'mdxQuery'):
360
- this.mdxQueryDialog(args);
361
- break;
362
- case (this.parent.element.id + 'numberFormatting'):
363
- if (this.parent.numberFormattingModule) {
364
- this.parent.numberFormattingModule.showNumberFormattingDialog();
365
- }
366
- break;
341
+ var actionName = (args.item.id == "PivotViewnew") ? events.addNewReport : (args.item.id == "PivotViewsave") ? events.saveCurrentReport : (args.item.id == "PivotViewsaveas") ? events.saveAsCurrentReport
342
+ : (args.item.id == "PivotViewrename") ? events.renameCurrentReport : (args.item.id == "PivotViewremove") ? events.removeCurrentReport : (args.item.id == "PivotViewload") ? events.loadReports
343
+ : (args.item.id == "PivotViewformatting") ? events.openConditionalFormatting : (args.item.id == "PivotViewnumberFormatting") ? events.openNumberFormatting
344
+ : (args.item.id == "PivotViewmdxQuery") ? events.MdxQuery : (args.item.id == "PivotViewfieldlist") ? events.showFieldList : '';
345
+ this.parent.actionObj.actionName = actionName;
346
+ if (this.parent.actionBeginMethod()) {
347
+ return;
348
+ }
349
+ try {
350
+ switch (args.item.id) {
351
+ case (this.parent.element.id + 'save'):
352
+ case (this.parent.element.id + 'saveas'):
353
+ this.saveReport(args);
354
+ break;
355
+ case (this.parent.element.id + 'remove'):
356
+ this.action = 'Remove';
357
+ if (this.currentReport && this.currentReport !== '') {
358
+ this.createConfirmDialog(this.parent.localeObj.getConstant('alert'), this.parent.localeObj.getConstant('removeConfirm'));
359
+ }
360
+ else {
361
+ this.parent.pivotCommon.errorDialog.createErrorDialog(this.parent.localeObj.getConstant('error'), this.parent.localeObj.getConstant('emptyReport'));
362
+ }
363
+ return;
364
+ case (this.parent.element.id + 'rename'):
365
+ this.renameReport(args);
366
+ break;
367
+ case (this.parent.element.id + 'new'):
368
+ this.action = 'New';
369
+ this.newArgs = args;
370
+ if (this.parent.isModified && this.currentReport && this.currentReport !== '') {
371
+ this.createConfirmDialog(this.parent.localeObj.getConstant('alert'), this.parent.localeObj.getConstant('newReportConfirm'));
372
+ }
373
+ else {
374
+ this.createNewReport(args);
375
+ }
376
+ break;
377
+ case (this.parent.element.id + 'load'):
378
+ this.action = 'Load';
379
+ break;
380
+ case (this.parent.element.id + 'fieldlist'):
381
+ if (this.parent.pivotFieldListModule && this.parent.pivotFieldListModule.dialogRenderer) {
382
+ this.parent.pivotFieldListModule.dialogRenderer.fieldListDialog.show();
383
+ }
384
+ break;
385
+ case (this.parent.element.id + 'formatting'):
386
+ if (this.parent.conditionalFormattingModule) {
387
+ this.parent.conditionalFormattingModule.showConditionalFormattingDialog();
388
+ }
389
+ break;
390
+ case (this.parent.element.id + 'mdxQuery'):
391
+ this.mdxQueryDialog(args);
392
+ break;
393
+ case (this.parent.element.id + 'numberFormatting'):
394
+ if (this.parent.numberFormattingModule) {
395
+ this.parent.numberFormattingModule.showNumberFormattingDialog();
396
+ }
397
+ break;
398
+ }
399
+ }
400
+ catch (execption) {
401
+ this.parent.actionFailureMethod(execption);
367
402
  }
368
403
  };
369
404
  Toolbar.prototype.renderDialog = function () {
@@ -455,6 +490,7 @@ var Toolbar = /** @class */ (function () {
455
490
  return;
456
491
  };
457
492
  Toolbar.prototype.okBtnClick = function () {
493
+ var _this_1 = this;
458
494
  var reportInput = this.dialog.element.querySelector('.' + cls.GRID_REPORT_INPUT);
459
495
  if (reportInput && reportInput.value === '') {
460
496
  reportInput.focus();
@@ -486,6 +522,10 @@ var Toolbar = /** @class */ (function () {
486
522
  report: _this_2.parent.getPersistData(),
487
523
  reportName: reportInput.value
488
524
  };
525
+ var actionInfo = {
526
+ reportName: reportInput.value
527
+ };
528
+ _this_1.parent.actionObj.actionInfo = actionInfo;
489
529
  _this_2.parent.trigger(events.saveReport, saveArgs);
490
530
  _this_2.parent.isModified = false;
491
531
  _this_2.updateReportList();
@@ -518,6 +558,10 @@ var Toolbar = /** @class */ (function () {
518
558
  report: _this_3.parent.getPersistData(),
519
559
  reportName: reportInput.value
520
560
  };
561
+ var actionInfo = {
562
+ reportName: reportInput.value
563
+ };
564
+ _this_1.parent.actionObj.actionInfo = actionInfo;
521
565
  _this_3.parent.trigger(events.saveReport, saveArgs);
522
566
  _this_3.parent.isModified = false;
523
567
  _this_3.updateReportList();
@@ -552,12 +596,20 @@ var Toolbar = /** @class */ (function () {
552
596
  reportName: _this_4.currentReport,
553
597
  rename: reportInput.value
554
598
  };
599
+ var actionInfo = {
600
+ reportName: { oldName: _this_4.currentReport, newName: reportInput.value }
601
+ };
602
+ _this_1.parent.actionObj.actionInfo = actionInfo;
555
603
  _this_4.parent.trigger(events.renameReport, renameArgs);
556
604
  _this_4.currentReport = reportInput.value;
557
605
  _this_4.updateReportList();
558
606
  _this_4.dialog.hide();
559
607
  });
560
608
  }
609
+ this.parent.actionObj.actionName = this.parent.getActionCompleteName();
610
+ if (this.parent.actionObj.actionName) {
611
+ this.parent.actionCompleteMethod();
612
+ }
561
613
  };
562
614
  Toolbar.prototype.createNewReport = function (args) {
563
615
  this.dialogShow(args);
@@ -616,6 +668,10 @@ var Toolbar = /** @class */ (function () {
616
668
  var removeArgs = {
617
669
  reportName: this.currentReport
618
670
  };
671
+ var actionInfo = {
672
+ reportName: this.currentReport
673
+ };
674
+ this.parent.actionObj.actionInfo = actionInfo;
619
675
  this.parent.trigger(events.removeReport, removeArgs);
620
676
  var reports = this.fetchReports();
621
677
  if (reports.reportName && reports.reportName.length > 0) {
@@ -634,6 +690,10 @@ var Toolbar = /** @class */ (function () {
634
690
  this.action = '';
635
691
  }
636
692
  this.updateReportList();
693
+ this.parent.actionObj.actionName = events.reportRemoved;
694
+ if (this.parent.actionObj.actionName) {
695
+ this.parent.actionCompleteMethod();
696
+ }
637
697
  }
638
698
  else if (this.action === 'New' || (this.action !== 'Save' && this.action !== 'Rename' && this.action !== 'New')) {
639
699
  if (this.currentReport && this.currentReport !== '' && this.parent.isModified) {
@@ -641,12 +701,22 @@ var Toolbar = /** @class */ (function () {
641
701
  report: this.parent.getPersistData(),
642
702
  reportName: this.currentReport
643
703
  };
704
+ var actionInfo = {
705
+ reportName: this.currentReport
706
+ };
707
+ this.parent.actionObj.actionInfo = actionInfo;
708
+ this.parent.actionObj.actionName = events.reportSaved;
709
+ if (this.parent.actionObj.actionName) {
710
+ this.parent.actionCompleteMethod();
711
+ }
644
712
  this.parent.trigger(events.saveReport, saveArgs);
645
713
  this.parent.isModified = false;
646
714
  if (this.action === 'New') {
715
+ this.parent.actionObj.actionName = events.addNewReport;
647
716
  this.createNewReport(this.newArgs);
648
717
  }
649
718
  else {
719
+ this.parent.actionObj.actionName = events.reportChange;
650
720
  this.reportLoad(this.dropArgs);
651
721
  }
652
722
  }
@@ -752,6 +822,7 @@ var Toolbar = /** @class */ (function () {
752
822
  this.chartMenu = new Menu({
753
823
  items: menu, enableRtl: this.parent.enableRtl,
754
824
  locale: this.parent.locale,
825
+ cssClass: cls.TOOLBAR_MENU,
755
826
  select: this.menuItemClick.bind(this),
756
827
  beforeOpen: this.whitespaceRemove.bind(this),
757
828
  onClose: function (args) {
@@ -808,6 +879,7 @@ var Toolbar = /** @class */ (function () {
808
879
  this.exportMenu = new Menu({
809
880
  items: menu, enableRtl: this.parent.enableRtl,
810
881
  locale: this.parent.locale,
882
+ cssClass: cls.TOOLBAR_MENU,
811
883
  select: this.menuItemClick.bind(this), beforeOpen: this.updateExportMenu.bind(this),
812
884
  onClose: function (args) {
813
885
  _this_1.focusToolBar();
@@ -845,6 +917,7 @@ var Toolbar = /** @class */ (function () {
845
917
  this.subTotalMenu = new Menu({
846
918
  items: menu, enableRtl: this.parent.enableRtl,
847
919
  locale: this.parent.locale,
920
+ cssClass: cls.TOOLBAR_MENU,
848
921
  select: this.menuItemClick.bind(this), beforeOpen: this.updateSubtotalSelection.bind(this),
849
922
  onClose: function (args) {
850
923
  _this_1.focusToolBar();
@@ -882,6 +955,7 @@ var Toolbar = /** @class */ (function () {
882
955
  this.grandTotalMenu = new Menu({
883
956
  items: menu, enableRtl: this.parent.enableRtl,
884
957
  locale: this.parent.locale,
958
+ cssClass: cls.TOOLBAR_MENU,
885
959
  select: this.menuItemClick.bind(this), beforeOpen: this.updateGrandtotalSelection.bind(this),
886
960
  onClose: function (args) {
887
961
  _this_1.focusToolBar();
@@ -909,6 +983,7 @@ var Toolbar = /** @class */ (function () {
909
983
  this.formattingMenu = new Menu({
910
984
  items: menu, enableRtl: this.parent.enableRtl,
911
985
  locale: this.parent.locale,
986
+ cssClass: cls.TOOLBAR_MENU,
912
987
  select: this.menuItemClick.bind(this)
913
988
  });
914
989
  this.formattingMenu.isStringTemplate = true;
@@ -1108,181 +1183,202 @@ var Toolbar = /** @class */ (function () {
1108
1183
  var _this_1 = this;
1109
1184
  var exportArgs = {};
1110
1185
  var type;
1186
+ var actionName = (args.item.id == "PivotViewgrid") ? events.tableView : (args.item.id == "PivotView_Column") ? events.chartView : (args.item.id == "PivotView_Bar") ? events.chartView : (args.item.id == "PivotView_Line") ? events.chartView
1187
+ : (args.item.id == "PivotView_Area") ? events.chartView : (args.item.id == "PivotView_Scatter") ? events.chartView : (args.item.id == "PivotView_Polar") ? events.chartView : (args.item.id == "PivotView_ChartMoreOption") ? events.chartView
1188
+ : (args.item.id == "PivotView_multipleAxes") ? events.multipleAxis : (args.item.id == "PivotView_showLegend") ? events.showLegend : (args.item.id == "PivotViewpdf") ? events.pdfExport : (args.item.id == "PivotViewpng") ? events.pngExport
1189
+ : (args.item.id == "PivotViewexcel") ? events.excelExport : (args.item.id == "PivotViewcsv") ? events.csvExport : (args.item.id == "PivotViewjpeg") ? events.jpegExport : (args.item.id == "PivotViewsvg") ? events.svgExport
1190
+ : (args.item.id == "PivotViewnotsubtotal") ? events.hideSubTotals : (args.item.id == "PivotViewsubtotalrow") ? events.subTotalsRow : (args.item.id == "PivotViewsubtotalcolumn") ? events.subTotalsColumn
1191
+ : (args.item.id == "PivotViewsubtotal") ? events.showSubTotals : (args.item.id == "PivotViewnotgrandtotal") ? events.hideGrandTotals : (args.item.id == "PivotViewgrandtotalrow") ? events.grandTotalsRow
1192
+ : (args.item.id == "PivotViewgrandtotalcolumn") ? events.grandTotalsColumn : (args.item.id == "PivotViewgrandtotal") ? events.showGrandTotals
1193
+ : (args.item.id == "PivotViewnumberFormattingMenu") ? events.numberFormattingMenu : (args.item.id == "PivotViewconditionalFormattingMenu") ? events.conditionalFormattingMenu : '';
1194
+ this.parent.actionObj.actionName = actionName;
1195
+ if (this.parent.actionBeginMethod()) {
1196
+ return;
1197
+ }
1111
1198
  if (this.getAllChartItems().indexOf(args.item.id.split(this.parent.element.id + '_')[1]) > -1 ||
1112
1199
  (args.item.id.split(this.parent.element.id + '_')[1] === 'ChartMoreOption') ||
1113
1200
  (args.item.id.split(this.parent.element.id + '_')[1] === 'multipleAxes') ||
1114
1201
  (args.item.id.split(this.parent.element.id + '_')[1] === 'showLegend')) {
1115
1202
  type = args.item.id.split(this.parent.element.id + '_')[1];
1116
1203
  }
1117
- switch (args.item.id) {
1118
- case (this.parent.element.id + 'grid'):
1119
- if (this.parent.grid && this.parent.chart) {
1120
- this.parent.grid.element.style.display = '';
1121
- this.parent.chart.element.style.display = 'none';
1122
- if (this.parent.chartSettings.enableMultipleAxis && this.parent.chartSettings.enableScrollOnMultiAxis) {
1123
- this.parent.element.querySelector('.e-pivotchart').style.display = 'none';
1204
+ try {
1205
+ switch (args.item.id) {
1206
+ case (this.parent.element.id + 'grid'):
1207
+ if (this.parent.grid && this.parent.chart) {
1208
+ this.parent.grid.element.style.display = '';
1209
+ this.parent.chart.element.style.display = 'none';
1210
+ if (this.parent.chartSettings.enableMultipleAxis && this.parent.chartSettings.enableScrollOnMultiAxis) {
1211
+ this.parent.element.querySelector('.e-pivotchart').style.display = 'none';
1212
+ }
1213
+ this.parent.currentView = 'Table';
1214
+ this.parent.setProperties({ displayOption: { primary: 'Table' } }, true);
1215
+ if (this.parent.showGroupingBar && this.parent.groupingBarModule) {
1216
+ this.parent.element.querySelector('.e-pivot-grouping-bar').style.display = '';
1217
+ this.parent.element.querySelector('.e-chart-grouping-bar').style.display = 'none';
1218
+ }
1219
+ var actionInfo = {
1220
+ toolbarInfo: { displayOption: this.parent.displayOption, gridSettings: this.parent.gridSettings }
1221
+ };
1222
+ this.parent.actionObj.actionInfo = actionInfo;
1223
+ this.parent.layoutRefresh();
1124
1224
  }
1125
- this.parent.currentView = 'Table';
1126
- this.parent.setProperties({ displayOption: { primary: 'Table' } }, true);
1127
- if (this.parent.showGroupingBar && this.parent.groupingBarModule) {
1128
- this.parent.element.querySelector('.e-pivot-grouping-bar').style.display = '';
1129
- this.parent.element.querySelector('.e-chart-grouping-bar').style.display = 'none';
1225
+ break;
1226
+ case (this.parent.element.id + 'pdf'):
1227
+ if (this.parent.currentView === 'Table') {
1228
+ exportArgs = {
1229
+ pdfExportProperties: { fileName: 'Export.pdf' },
1230
+ pdfDoc: undefined,
1231
+ isBlob: false,
1232
+ isMultipleExport: false
1233
+ };
1234
+ this.parent.trigger(events.beforeExport, exportArgs, function (observedArgs) {
1235
+ _this_1.parent.pdfExport(observedArgs.pdfExportProperties, observedArgs.isMultipleExport, observedArgs.pdfDoc, observedArgs.isBlob);
1236
+ });
1130
1237
  }
1131
- this.parent.layoutRefresh();
1132
- }
1133
- break;
1134
- case (this.parent.element.id + 'pdf'):
1135
- if (this.parent.currentView === 'Table') {
1238
+ else {
1239
+ exportArgs = {
1240
+ width: undefined,
1241
+ height: undefined,
1242
+ orientation: PdfPageOrientation.Landscape,
1243
+ type: 'PDF',
1244
+ fileName: 'result',
1245
+ };
1246
+ this.parent.trigger(events.beforeExport, exportArgs, function (observedArgs) {
1247
+ _this_1.parent.chartExport(observedArgs.type, observedArgs.fileName, observedArgs.orientation, observedArgs.width, observedArgs.height);
1248
+ });
1249
+ }
1250
+ break;
1251
+ case (this.parent.element.id + 'excel'):
1252
+ exportArgs = {
1253
+ excelExportProperties: { fileName: 'Export.xlsx' },
1254
+ isBlob: undefined,
1255
+ isMultipleExport: undefined,
1256
+ workbook: undefined
1257
+ };
1258
+ this.parent.trigger(events.beforeExport, exportArgs, function (observedArgs) {
1259
+ _this_1.parent.excelExport(observedArgs.excelExportProperties, observedArgs.isMultipleExport, observedArgs.workbook, observedArgs.isBlob);
1260
+ });
1261
+ break;
1262
+ case (this.parent.element.id + 'csv'):
1136
1263
  exportArgs = {
1137
- pdfExportProperties: { fileName: 'Export.pdf' },
1138
- pdfDoc: undefined,
1264
+ excelExportProperties: { fileName: 'Export.csv' },
1139
1265
  isBlob: false,
1140
- isMultipleExport: false
1266
+ isMultipleExport: false,
1267
+ workbook: undefined
1141
1268
  };
1142
1269
  this.parent.trigger(events.beforeExport, exportArgs, function (observedArgs) {
1143
- _this_1.parent.pdfExport(observedArgs.pdfExportProperties, observedArgs.isMultipleExport, observedArgs.pdfDoc, observedArgs.isBlob);
1270
+ _this_1.parent.csvExport(observedArgs.excelExportProperties, observedArgs.isMultipleExport, observedArgs.workbook, observedArgs.isBlob);
1144
1271
  });
1145
- }
1146
- else {
1272
+ break;
1273
+ case (this.parent.element.id + 'png'):
1147
1274
  exportArgs = {
1275
+ type: 'PNG',
1148
1276
  width: undefined,
1149
1277
  height: undefined,
1278
+ fileName: 'result',
1150
1279
  orientation: PdfPageOrientation.Landscape,
1151
- type: 'PDF',
1280
+ };
1281
+ this.parent.trigger(events.beforeExport, exportArgs, function (observedArgs) {
1282
+ _this_1.parent.chartExport(observedArgs.type, observedArgs.fileName, observedArgs.orientation, observedArgs.width, observedArgs.height);
1283
+ });
1284
+ break;
1285
+ case (this.parent.element.id + 'jpeg'):
1286
+ exportArgs = {
1287
+ type: 'JPEG',
1152
1288
  fileName: 'result',
1289
+ orientation: PdfPageOrientation.Landscape,
1290
+ width: undefined,
1291
+ height: undefined,
1153
1292
  };
1154
1293
  this.parent.trigger(events.beforeExport, exportArgs, function (observedArgs) {
1155
1294
  _this_1.parent.chartExport(observedArgs.type, observedArgs.fileName, observedArgs.orientation, observedArgs.width, observedArgs.height);
1156
1295
  });
1157
- }
1158
- break;
1159
- case (this.parent.element.id + 'excel'):
1160
- exportArgs = {
1161
- excelExportProperties: { fileName: 'Export.xlsx' },
1162
- isBlob: undefined,
1163
- isMultipleExport: undefined,
1164
- workbook: undefined
1165
- };
1166
- this.parent.trigger(events.beforeExport, exportArgs, function (observedArgs) {
1167
- _this_1.parent.excelExport(observedArgs.excelExportProperties, observedArgs.isMultipleExport, observedArgs.workbook, observedArgs.isBlob);
1168
- });
1169
- break;
1170
- case (this.parent.element.id + 'csv'):
1171
- exportArgs = {
1172
- excelExportProperties: { fileName: 'Export.csv' },
1173
- isBlob: false,
1174
- isMultipleExport: false,
1175
- workbook: undefined
1176
- };
1177
- this.parent.trigger(events.beforeExport, exportArgs, function (observedArgs) {
1178
- _this_1.parent.csvExport(observedArgs.excelExportProperties, observedArgs.isMultipleExport, observedArgs.workbook, observedArgs.isBlob);
1179
- });
1180
- break;
1181
- case (this.parent.element.id + 'png'):
1182
- exportArgs = {
1183
- type: 'PNG',
1184
- width: undefined,
1185
- height: undefined,
1186
- fileName: 'result',
1187
- orientation: PdfPageOrientation.Landscape,
1188
- };
1189
- this.parent.trigger(events.beforeExport, exportArgs, function (observedArgs) {
1190
- _this_1.parent.chartExport(observedArgs.type, observedArgs.fileName, observedArgs.orientation, observedArgs.width, observedArgs.height);
1191
- });
1192
- break;
1193
- case (this.parent.element.id + 'jpeg'):
1194
- exportArgs = {
1195
- type: 'JPEG',
1196
- fileName: 'result',
1197
- orientation: PdfPageOrientation.Landscape,
1198
- width: undefined,
1199
- height: undefined,
1200
- };
1201
- this.parent.trigger(events.beforeExport, exportArgs, function (observedArgs) {
1202
- _this_1.parent.chartExport(observedArgs.type, observedArgs.fileName, observedArgs.orientation, observedArgs.width, observedArgs.height);
1203
- });
1204
- break;
1205
- case (this.parent.element.id + 'svg'):
1206
- exportArgs = {
1207
- width: undefined,
1208
- height: undefined,
1209
- type: 'SVG',
1210
- fileName: 'result',
1211
- orientation: PdfPageOrientation.Landscape,
1212
- };
1213
- this.parent.trigger(events.beforeExport, exportArgs, function (observedArgs) {
1214
- _this_1.parent.chartExport(observedArgs.type, observedArgs.fileName, observedArgs.orientation, observedArgs.width, observedArgs.height);
1215
- });
1216
- break;
1217
- case (this.parent.element.id + 'notsubtotal'):
1218
- this.parent.setProperties({ dataSourceSettings: { showSubTotals: false, showColumnSubTotals: false, showRowSubTotals: false } }, true);
1219
- this.parent.refreshData();
1220
- break;
1221
- case (this.parent.element.id + 'subtotalrow'):
1222
- this.parent.setProperties({ dataSourceSettings: { showSubTotals: true, showColumnSubTotals: false, showRowSubTotals: true } }, true);
1223
- this.parent.refreshData();
1224
- break;
1225
- case (this.parent.element.id + 'subtotalcolumn'):
1226
- this.parent.setProperties({ dataSourceSettings: { showSubTotals: true, showColumnSubTotals: true, showRowSubTotals: false } }, true);
1227
- this.parent.refreshData();
1228
- break;
1229
- case (this.parent.element.id + 'subtotal'):
1230
- this.parent.setProperties({ dataSourceSettings: { showSubTotals: true, showColumnSubTotals: true, showRowSubTotals: true } }, true);
1231
- this.parent.refreshData();
1232
- break;
1233
- case (this.parent.element.id + 'notgrandtotal'):
1234
- this.parent.setProperties({ dataSourceSettings: { showGrandTotals: false, showColumnGrandTotals: false, showRowGrandTotals: false } }, true);
1235
- this.parent.refreshData();
1236
- break;
1237
- case (this.parent.element.id + 'grandtotalrow'):
1238
- this.parent.setProperties({ dataSourceSettings: { showGrandTotals: true, showColumnGrandTotals: false, showRowGrandTotals: true } }, true);
1239
- this.parent.refreshData();
1240
- break;
1241
- case (this.parent.element.id + 'grandtotalcolumn'):
1242
- this.parent.setProperties({ dataSourceSettings: { showGrandTotals: true, showColumnGrandTotals: true, showRowGrandTotals: false } }, true);
1243
- this.parent.refreshData();
1244
- break;
1245
- case (this.parent.element.id + 'grandtotal'):
1246
- this.parent.setProperties({ dataSourceSettings: { showGrandTotals: true, showColumnGrandTotals: true, showRowGrandTotals: true } }, true);
1247
- this.parent.refreshData();
1248
- break;
1249
- case (this.parent.element.id + 'numberFormattingMenu'):
1250
- if (this.parent.numberFormattingModule) {
1251
- this.parent.numberFormattingModule.showNumberFormattingDialog();
1252
- }
1253
- break;
1254
- case (this.parent.element.id + 'conditionalFormattingMenu'):
1255
- if (this.parent.conditionalFormattingModule) {
1256
- this.parent.conditionalFormattingModule.showConditionalFormattingDialog();
1257
- }
1258
- break;
1259
- case (this.parent.element.id + '_' + type):
1260
- if (args.item && args.item.text) {
1261
- if (type === 'ChartMoreOption') {
1262
- this.createChartTypeDialog();
1263
- }
1264
- else if (type === 'multipleAxes') {
1265
- if (this.parent.chartSettings.enableScrollOnMultiAxis) {
1266
- this.isMultiAxisChange = true;
1267
- }
1268
- this.parent.chartSettings.enableMultipleAxis = !this.parent.chartSettings.enableMultipleAxis;
1269
- this.updateChartType(this.parent.chartSettings.chartSeries.type, true);
1296
+ break;
1297
+ case (this.parent.element.id + 'svg'):
1298
+ exportArgs = {
1299
+ width: undefined,
1300
+ height: undefined,
1301
+ type: 'SVG',
1302
+ fileName: 'result',
1303
+ orientation: PdfPageOrientation.Landscape,
1304
+ };
1305
+ this.parent.trigger(events.beforeExport, exportArgs, function (observedArgs) {
1306
+ _this_1.parent.chartExport(observedArgs.type, observedArgs.fileName, observedArgs.orientation, observedArgs.width, observedArgs.height);
1307
+ });
1308
+ break;
1309
+ case (this.parent.element.id + 'notsubtotal'):
1310
+ this.parent.setProperties({ dataSourceSettings: { showSubTotals: false, showColumnSubTotals: false, showRowSubTotals: false } }, true);
1311
+ this.parent.refreshData();
1312
+ break;
1313
+ case (this.parent.element.id + 'subtotalrow'):
1314
+ this.parent.setProperties({ dataSourceSettings: { showSubTotals: true, showColumnSubTotals: false, showRowSubTotals: true } }, true);
1315
+ this.parent.refreshData();
1316
+ break;
1317
+ case (this.parent.element.id + 'subtotalcolumn'):
1318
+ this.parent.setProperties({ dataSourceSettings: { showSubTotals: true, showColumnSubTotals: true, showRowSubTotals: false } }, true);
1319
+ this.parent.refreshData();
1320
+ break;
1321
+ case (this.parent.element.id + 'subtotal'):
1322
+ this.parent.setProperties({ dataSourceSettings: { showSubTotals: true, showColumnSubTotals: true, showRowSubTotals: true } }, true);
1323
+ this.parent.refreshData();
1324
+ break;
1325
+ case (this.parent.element.id + 'notgrandtotal'):
1326
+ this.parent.setProperties({ dataSourceSettings: { showGrandTotals: false, showColumnGrandTotals: false, showRowGrandTotals: false } }, true);
1327
+ this.parent.refreshData();
1328
+ break;
1329
+ case (this.parent.element.id + 'grandtotalrow'):
1330
+ this.parent.setProperties({ dataSourceSettings: { showGrandTotals: true, showColumnGrandTotals: false, showRowGrandTotals: true } }, true);
1331
+ this.parent.refreshData();
1332
+ break;
1333
+ case (this.parent.element.id + 'grandtotalcolumn'):
1334
+ this.parent.setProperties({ dataSourceSettings: { showGrandTotals: true, showColumnGrandTotals: true, showRowGrandTotals: false } }, true);
1335
+ this.parent.refreshData();
1336
+ break;
1337
+ case (this.parent.element.id + 'grandtotal'):
1338
+ this.parent.setProperties({ dataSourceSettings: { showGrandTotals: true, showColumnGrandTotals: true, showRowGrandTotals: true } }, true);
1339
+ this.parent.refreshData();
1340
+ break;
1341
+ case (this.parent.element.id + 'numberFormattingMenu'):
1342
+ if (this.parent.numberFormattingModule) {
1343
+ this.parent.numberFormattingModule.showNumberFormattingDialog();
1270
1344
  }
1271
- else if (this.getAllChartItems().indexOf(type) > -1) {
1272
- this.updateChartType(type, false);
1345
+ break;
1346
+ case (this.parent.element.id + 'conditionalFormattingMenu'):
1347
+ if (this.parent.conditionalFormattingModule) {
1348
+ this.parent.conditionalFormattingModule.showConditionalFormattingDialog();
1273
1349
  }
1274
- else if (type === 'showLegend') {
1275
- this.parent.chart.legendSettings.visible = !this.showLableState;
1276
- if (this.parent.chartSettings.legendSettings) {
1277
- this.parent.chartSettings.legendSettings.visible = !this.showLableState;
1350
+ break;
1351
+ case (this.parent.element.id + '_' + type):
1352
+ if (args.item && args.item.text) {
1353
+ if (type === 'ChartMoreOption') {
1354
+ this.createChartTypeDialog();
1278
1355
  }
1279
- else {
1280
- this.parent.setProperties({ chartSettings: { legendSettings: { visible: !this.showLableState } } }, true);
1356
+ else if (type === 'multipleAxes') {
1357
+ if (this.parent.chartSettings.enableScrollOnMultiAxis) {
1358
+ this.isMultiAxisChange = true;
1359
+ }
1360
+ this.parent.chartSettings.enableMultipleAxis = !this.parent.chartSettings.enableMultipleAxis;
1361
+ this.updateChartType(this.parent.chartSettings.chartSeries.type, true);
1362
+ }
1363
+ else if (this.getAllChartItems().indexOf(type) > -1) {
1364
+ this.updateChartType(type, false);
1365
+ }
1366
+ else if (type === 'showLegend') {
1367
+ this.parent.chart.legendSettings.visible = !this.showLableState;
1368
+ if (this.parent.chartSettings.legendSettings) {
1369
+ this.parent.chartSettings.legendSettings.visible = !this.showLableState;
1370
+ }
1371
+ else {
1372
+ this.parent.setProperties({ chartSettings: { legendSettings: { visible: !this.showLableState } } }, true);
1373
+ }
1374
+ this.updateChartType(this.parent.chartSettings.chartSeries.type, true);
1281
1375
  }
1282
- this.updateChartType(this.parent.chartSettings.chartSeries.type, true);
1283
1376
  }
1284
- }
1285
- break;
1377
+ break;
1378
+ }
1379
+ }
1380
+ catch (execption) {
1381
+ this.parent.actionFailureMethod(execption);
1286
1382
  }
1287
1383
  /* eslint-enable max-len */
1288
1384
  };
@@ -1374,14 +1470,20 @@ var Toolbar = /** @class */ (function () {
1374
1470
  if (this.parent.chart) {
1375
1471
  this.parent.currentView = 'Chart';
1376
1472
  this.parent.setProperties({ displayOption: { primary: 'Chart' } }, true);
1377
- this.parent.chart.element.style.width = formatUnit(this.parent.grid ? this.parent.getGridWidthAsNumber() : this.parent.getWidthAsNumber()); /* eslint-disable-line */
1473
+ if (this.parent.chartSettings.enableScrollOnMultiAxis && this.parent.chartSettings.enableMultipleAxis) {
1474
+ this.parent.element.querySelector('.' + cls.PIVOTCHART).style.width = formatUnit(this.parent.grid ? this.parent.getGridWidthAsNumber() : this.parent.getWidthAsNumber()); /* eslint-disable-line */
1475
+ }
1378
1476
  this.parent.chart.setProperties({ width: formatUnit(this.parent.grid ? this.parent.getGridWidthAsNumber() : this.parent.getWidthAsNumber()) }, true); /* eslint-disable-line */
1379
1477
  if (this.parent.chartSettings.chartSeries.type === type && !isMultiAxis) {
1380
- this.parent.chartModule.updateView();
1478
+ this.parent.pivotChartModule.updateView();
1381
1479
  }
1382
1480
  else {
1383
1481
  this.parent.chartSettings.chartSeries.type = type;
1384
1482
  }
1483
+ var actionInfo = {
1484
+ toolbarInfo: { displayOption: this.parent.displayOption, chartSettings: this.parent.chartSettings }
1485
+ };
1486
+ this.parent.actionObj.actionInfo = actionInfo;
1385
1487
  }
1386
1488
  }
1387
1489
  };