@syncfusion/ej2-pivotview 20.2.36 → 20.2.43

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 (73) hide show
  1. package/CHANGELOG.md +32 -1
  2. package/dist/ej2-pivotview.umd.min.js +2 -2
  3. package/dist/ej2-pivotview.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-pivotview.es2015.js +383 -294
  5. package/dist/es6/ej2-pivotview.es2015.js.map +1 -1
  6. package/dist/es6/ej2-pivotview.es5.js +397 -306
  7. package/dist/es6/ej2-pivotview.es5.js.map +1 -1
  8. package/dist/global/ej2-pivotview.min.js +2 -2
  9. package/dist/global/ej2-pivotview.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +22 -22
  12. package/src/base/engine.js +11 -9
  13. package/src/base/olap/engine.js +2 -2
  14. package/src/common/base/constant.d.ts +10 -0
  15. package/src/common/base/constant.js +10 -0
  16. package/src/common/base/css-constant.d.ts +2 -4
  17. package/src/common/base/css-constant.js +3 -5
  18. package/src/common/base/interface.d.ts +11 -0
  19. package/src/common/calculatedfield/calculated-field.d.ts +3 -1
  20. package/src/common/calculatedfield/calculated-field.js +163 -168
  21. package/src/common/conditionalformatting/conditional-formatting.js +4 -3
  22. package/src/common/popups/grouping.js +2 -2
  23. package/src/common/popups/toolbar.js +6 -6
  24. package/src/pivotchart/base/pivotchart.js +32 -18
  25. package/src/pivotfieldlist/base/field-list.js +6 -6
  26. package/src/pivotview/actions/drill-through.js +1 -1
  27. package/src/pivotview/actions/excel-export.d.ts +1 -1
  28. package/src/pivotview/actions/excel-export.js +13 -4
  29. package/src/pivotview/actions/keyboard.js +6 -6
  30. package/src/pivotview/actions/pdf-export.d.ts +1 -1
  31. package/src/pivotview/actions/pdf-export.js +13 -2
  32. package/src/pivotview/actions/virtualscroll.d.ts +1 -0
  33. package/src/pivotview/actions/virtualscroll.js +61 -32
  34. package/src/pivotview/base/pivotview-model.d.ts +7 -2
  35. package/src/pivotview/base/pivotview.d.ts +6 -2
  36. package/src/pivotview/base/pivotview.js +41 -27
  37. package/src/pivotview/renderer/render.js +25 -15
  38. package/styles/bootstrap-dark.css +23 -21
  39. package/styles/bootstrap.css +23 -21
  40. package/styles/bootstrap4.css +23 -21
  41. package/styles/bootstrap5-dark.css +23 -21
  42. package/styles/bootstrap5.css +23 -21
  43. package/styles/fabric-dark.css +23 -21
  44. package/styles/fabric.css +23 -21
  45. package/styles/fluent-dark.css +24 -22
  46. package/styles/fluent.css +24 -22
  47. package/styles/highcontrast-light.css +23 -21
  48. package/styles/highcontrast.css +23 -21
  49. package/styles/material-dark.css +23 -21
  50. package/styles/material.css +23 -21
  51. package/styles/pivotfieldlist/_fluent-definition.scss +1 -1
  52. package/styles/pivotfieldlist/_fusionnew-definition.scss +1 -1
  53. package/styles/pivotfieldlist/_layout.scss +14 -10
  54. package/styles/pivotfieldlist/_material3-definition.scss +2 -1
  55. package/styles/pivotfieldlist/_tailwind-definition.scss +1 -1
  56. package/styles/pivotfieldlist/_theme.scss +1 -2
  57. package/styles/pivotfieldlist/bootstrap-dark.css +23 -21
  58. package/styles/pivotfieldlist/bootstrap.css +23 -21
  59. package/styles/pivotfieldlist/bootstrap4.css +23 -21
  60. package/styles/pivotfieldlist/bootstrap5-dark.css +23 -21
  61. package/styles/pivotfieldlist/bootstrap5.css +23 -21
  62. package/styles/pivotfieldlist/fabric-dark.css +23 -21
  63. package/styles/pivotfieldlist/fabric.css +23 -21
  64. package/styles/pivotfieldlist/fluent-dark.css +24 -22
  65. package/styles/pivotfieldlist/fluent.css +24 -22
  66. package/styles/pivotfieldlist/highcontrast-light.css +23 -21
  67. package/styles/pivotfieldlist/highcontrast.css +23 -21
  68. package/styles/pivotfieldlist/material-dark.css +23 -21
  69. package/styles/pivotfieldlist/material.css +23 -21
  70. package/styles/pivotfieldlist/tailwind-dark.css +24 -22
  71. package/styles/pivotfieldlist/tailwind.css +24 -22
  72. package/styles/tailwind-dark.css +24 -22
  73. package/styles/tailwind.css +24 -22
@@ -1217,10 +1217,10 @@ var PivotView = /** @class */ (function (_super) {
1217
1217
  this.cellTemplateFn = this.templateParser(this.cellTemplate);
1218
1218
  this.tooltipTemplateFn = this.templateParser(this.tooltipTemplate);
1219
1219
  if (this.spinnerTemplate) {
1220
- createSpinner({ target: this.element, template: this.spinnerTemplate }, this.createElement);
1220
+ createSpinner({ target: this.element, template: this.spinnerTemplate, cssClass: this.cssClass ? this.cssClass : undefined }, this.createElement);
1221
1221
  }
1222
1222
  else {
1223
- createSpinner({ target: this.element }, this.createElement);
1223
+ createSpinner({ target: this.element, cssClass: this.cssClass ? this.cssClass : undefined }, this.createElement);
1224
1224
  }
1225
1225
  var loadArgs = {
1226
1226
  dataSourceSettings: this.dataSourceSettings,
@@ -1890,7 +1890,7 @@ var PivotView = /** @class */ (function (_super) {
1890
1890
  }
1891
1891
  }
1892
1892
  else {
1893
- pivot.olapEngineModule.renderEngine(pivot.dataSourceSettings, customProperties, pivot.getHeaderSortInfo.bind(pivot));
1893
+ pivot.olapEngineModule.renderEngine(pivot.dataSourceSettings, customProperties, pivot.onHeadersSort ? pivot.getHeaderSortInfo.bind(pivot) : undefined);
1894
1894
  }
1895
1895
  pivot.allowServerDataBinding = false;
1896
1896
  pivot.setProperties({ pivotValues: pivot.olapEngineModule.pivotValues }, true);
@@ -1931,7 +1931,7 @@ var PivotView = /** @class */ (function (_super) {
1931
1931
  pivot.lastFilterInfo = {};
1932
1932
  }
1933
1933
  else {
1934
- pivot.engineModule.renderEngine(pivot.dataSourceSettings, customProperties, pivot.getValueCellInfo.bind(pivot), pivot.getHeaderSortInfo.bind(pivot));
1934
+ pivot.engineModule.renderEngine(pivot.dataSourceSettings, customProperties, pivot.aggregateCellInfo ? pivot.getValueCellInfo.bind(pivot) : undefined, pivot.onHeadersSort ? pivot.getHeaderSortInfo.bind(pivot) : undefined);
1935
1935
  pivot.allowServerDataBinding = false;
1936
1936
  pivot.setProperties({ pivotValues: pivot.engineModule.pivotValues }, true);
1937
1937
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
@@ -1954,7 +1954,7 @@ var PivotView = /** @class */ (function (_super) {
1954
1954
  */
1955
1955
  PivotView.prototype.excelExport = function (excelExportProperties, isMultipleExport, workbook, isBlob) {
1956
1956
  if (this.enableVirtualization && this.dataSourceSettings.mode !== 'Server') {
1957
- this.excelExportModule.exportToExcel('Excel', excelExportProperties);
1957
+ this.excelExportModule.exportToExcel('Excel', excelExportProperties, isBlob);
1958
1958
  }
1959
1959
  else {
1960
1960
  this.exportType = 'Excel';
@@ -1979,7 +1979,7 @@ var PivotView = /** @class */ (function (_super) {
1979
1979
  */
1980
1980
  PivotView.prototype.csvExport = function (excelExportProperties, isMultipleExport, workbook, isBlob) {
1981
1981
  if (this.enableVirtualization && this.dataSourceSettings.mode !== 'Server') {
1982
- this.excelExportModule.exportToExcel('CSV', excelExportProperties);
1982
+ this.excelExportModule.exportToExcel('CSV', excelExportProperties, isBlob);
1983
1983
  }
1984
1984
  else {
1985
1985
  this.exportType = 'CSV';
@@ -2004,7 +2004,7 @@ var PivotView = /** @class */ (function (_super) {
2004
2004
  */
2005
2005
  PivotView.prototype.pdfExport = function (pdfExportProperties, isMultipleExport, pdfDoc, isBlob) {
2006
2006
  if (this.enableVirtualization && this.dataSourceSettings.mode !== 'Server') {
2007
- this.pdfExportModule.exportToPDF(pdfExportProperties);
2007
+ this.pdfExportModule.exportToPDF(pdfExportProperties, isBlob);
2008
2008
  }
2009
2009
  else {
2010
2010
  this.grid.pdfExport(pdfExportProperties, isMultipleExport, pdfDoc, isBlob);
@@ -2070,7 +2070,7 @@ var PivotView = /** @class */ (function (_super) {
2070
2070
  }
2071
2071
  if (this.dataType === 'pivot') {
2072
2072
  var clonedDrillMembers_1 = PivotUtil.cloneDrillMemberSettings(this.dataSourceSettings.drilledMembers);
2073
- var colIndex = axis === 'row' ? Number(closest(target, 'td').getAttribute('aria-colindex')) : Number(closest(target, 'th').getAttribute('aria-colindex'));
2073
+ var colIndex = axis === 'row' ? Number(closest(target, 'td').getAttribute('data-colindex')) : Number(closest(target, 'th').getAttribute('data-colindex'));
2074
2074
  var rowIndex = axis === 'row' ? Number(closest(target, 'td').getAttribute('index')) : Number(closest(target, 'th').getAttribute('index'));
2075
2075
  var currentCell = chartDrillInfo ? chartDrillInfo.cell :
2076
2076
  this.engineModule.pivotValues[rowIndex][colIndex];
@@ -2178,7 +2178,7 @@ var PivotView = /** @class */ (function (_super) {
2178
2178
  currentCell = chartDrillInfo.cell;
2179
2179
  }
2180
2180
  else {
2181
- var colIndex = axis === 'row' ? Number(closest(target, 'td').getAttribute('aria-colindex')) : Number(closest(target, 'th').getAttribute('aria-colindex'));
2181
+ var colIndex = axis === 'row' ? Number(closest(target, 'td').getAttribute('data-colindex')) : Number(closest(target, 'th').getAttribute('data-colindex'));
2182
2182
  var rowIndex = axis === 'row' ? Number(closest(target, 'td').getAttribute('index')) : Number(closest(target, 'th').getAttribute('index'));
2183
2183
  currentCell = this.olapEngineModule.pivotValues[rowIndex][colIndex];
2184
2184
  }
@@ -2481,6 +2481,10 @@ var PivotView = /** @class */ (function (_super) {
2481
2481
  (mCntVScrollPos === mCntScrollPos ? (mCntScrollPos - hScrollPos) :
2482
2482
  (mCntScrollPos < mCntVScrollPos && (hScrollPos === mCntVScrollPos || hScrollPos > mCntScrollPos) ?
2483
2483
  -(mCntVScrollPos - mCntScrollPos) : 0)));
2484
+ if (this.actionObj.actionName === 'Sort value' || this.actionObj.actionName === 'Sort field') {
2485
+ var excessMove = -this.scrollPosObject.horizontalSection;
2486
+ this.scrollPosObject.horizontalSection = this.scrollPosObject.horizontalSection + excessMove;
2487
+ }
2484
2488
  horiOffset = (ele.scrollLeft > this.scrollerBrowserLimit) ?
2485
2489
  (mCnt.querySelector('.' + cls.TABLE).style.transform.split(',')[0].trim() + ',') :
2486
2490
  'translate(' + -(((ele.scrollLeft * this.horizontalScrollScale) -
@@ -2523,7 +2527,7 @@ var PivotView = /** @class */ (function (_super) {
2523
2527
  }
2524
2528
  };
2525
2529
  PivotView.prototype.setToolTip = function (args) {
2526
- var colIndex = Number(args.target.getAttribute('aria-colindex'));
2530
+ var colIndex = Number(args.target.getAttribute('data-colindex'));
2527
2531
  var rowIndex = Number(args.target.getAttribute('index'));
2528
2532
  var cell = (this.dataSourceSettings.values.length > 0 && this.pivotValues &&
2529
2533
  this.pivotValues[rowIndex] && this.pivotValues[rowIndex][colIndex]) ?
@@ -2720,7 +2724,7 @@ var PivotView = /** @class */ (function (_super) {
2720
2724
  var ele_1 = e.target;
2721
2725
  var axis = (ele_1.parentElement.classList.contains(cls.ROWSHEADER) || ele_1.classList.contains(cls.ROWSHEADER)) ? 'row' : 'column';
2722
2726
  ele_1 = axis === 'column' ? closest(ele_1, 'th') : closest(ele_1, 'td');
2723
- var colIndex = Number(ele_1.getAttribute('aria-colindex'));
2727
+ var colIndex = Number(ele_1.getAttribute('data-colindex'));
2724
2728
  var rowIndex = Number(ele_1.getAttribute('index'));
2725
2729
  var selectArgs = {
2726
2730
  cancel: false,
@@ -2774,6 +2778,9 @@ var PivotView = /** @class */ (function (_super) {
2774
2778
  this.lastCellClicked = e.target;
2775
2779
  }
2776
2780
  var target = e.target;
2781
+ if (closest(target, '.' + cls.PIVOT_BUTTON_CLASS)) {
2782
+ return;
2783
+ }
2777
2784
  var ele = null;
2778
2785
  var axis = (target.parentElement.classList.contains(cls.ROWSHEADER) || target.classList.contains(cls.ROWSHEADER)) ? 'row' : 'column';
2779
2786
  ele = axis === 'column' ? closest(target, 'th') : closest(target, 'td');
@@ -2794,7 +2801,7 @@ var PivotView = /** @class */ (function (_super) {
2794
2801
  if (this.actionBeginMethod()) {
2795
2802
  return;
2796
2803
  }
2797
- var colIndex = Number(ele.getAttribute('aria-colindex'));
2804
+ var colIndex = Number(ele.getAttribute('data-colindex'));
2798
2805
  var rowIndex = Number(ele.getAttribute('index'));
2799
2806
  if (this.dataSourceSettings.valueAxis === 'row' && (this.dataSourceSettings.values.length > 1 || this.dataSourceSettings.alwaysShowValueHeader)) {
2800
2807
  var header = this.pivotValues[rowIndex][colIndex];
@@ -2808,13 +2815,13 @@ var PivotView = /** @class */ (function (_super) {
2808
2815
  }
2809
2816
  }
2810
2817
  else if (this.dataSourceSettings.valueAxis === 'column' && (this.dataSourceSettings.values.length > 1 || this.dataSourceSettings.alwaysShowValueHeader)) {
2811
- colIndex = (Number(ele.getAttribute('aria-colindex')) + Number(ele.getAttribute('aria-colspan')) - 1);
2818
+ colIndex = (Number(ele.getAttribute('data-colindex')) + Number(ele.getAttribute('aria-colspan')) - 1);
2812
2819
  rowIndex = this.engineModule.headerContent.length - 1;
2813
2820
  }
2814
2821
  this.setProperties({
2815
2822
  dataSourceSettings: {
2816
2823
  valueSortSettings: {
2817
- columnIndex: (Number(ele.getAttribute('aria-colindex')) +
2824
+ columnIndex: (Number(ele.getAttribute('data-colindex')) +
2818
2825
  Number(ele.getAttribute('aria-colspan')) - 1),
2819
2826
  sortOrder: this.dataSourceSettings.valueSortSettings.sortOrder === 'Descending' ? 'Ascending' : 'Descending',
2820
2827
  headerText: this.pivotValues[rowIndex][colIndex].valueSort.levelName,
@@ -3163,7 +3170,7 @@ var PivotView = /** @class */ (function (_super) {
3163
3170
  }
3164
3171
  /* eslint-disable */
3165
3172
  if (ele && !isNullOrUndefined(this.pivotValues) && this.pivotValues.length > 0) {
3166
- var colIndex_1 = Number(ele.getAttribute('aria-colindex'));
3173
+ var colIndex_1 = Number(ele.getAttribute('data-colindex'));
3167
3174
  var rowIndex_1 = Number(ele.getAttribute('index'));
3168
3175
  var colSpan_1 = Number(ele.getAttribute('aria-colspan'));
3169
3176
  var selectArgs = {
@@ -3207,6 +3214,9 @@ var PivotView = /** @class */ (function (_super) {
3207
3214
  _this_1.getSelectedCellsPos();
3208
3215
  });
3209
3216
  }
3217
+ else {
3218
+ this.clearSelection(null, e, null, null);
3219
+ }
3210
3220
  };
3211
3221
  PivotView.prototype.rowDeselect = function (ele, e, rowIndex, mode, observedArgs) {
3212
3222
  if (!e.shiftKey && !e.ctrlKey && this.gridSettings.selectionSettings.mode !== 'Both' || this.gridSettings.selectionSettings.type === 'Single') {
@@ -3252,7 +3262,7 @@ var PivotView = /** @class */ (function (_super) {
3252
3262
  PivotView.prototype.clearSelection = function (ele, e, colIndex, rowIndex) {
3253
3263
  if ((!e.shiftKey && !e.ctrlKey) || this.gridSettings.selectionSettings.type === 'Single') {
3254
3264
  if (this.gridSettings.selectionSettings.mode === 'Cell') {
3255
- if (ele.classList.contains(cls.COLUMNSHEADER)) {
3265
+ if (ele && ele.classList.contains(cls.COLUMNSHEADER)) {
3256
3266
  removeClass(this.element.querySelectorAll(('.' + cls.ROW_CELL_CLASS + '.') + cls.CELL_SELECTED_BGCOLOR), cls.CELL_SELECTED_BGCOLOR);
3257
3267
  }
3258
3268
  else {
@@ -3260,7 +3270,7 @@ var PivotView = /** @class */ (function (_super) {
3260
3270
  }
3261
3271
  }
3262
3272
  else if (this.gridSettings.selectionSettings.mode === 'Both') {
3263
- if (ele.classList.contains(cls.ROW_CELL_CLASS)) {
3273
+ if (ele && ele.classList.contains(cls.ROW_CELL_CLASS)) {
3264
3274
  for (var _i = 0, _a = [].slice.call(this.element.querySelectorAll('.' + cls.SELECTED_BGCOLOR + ', .' + cls.CELL_SELECTED_BGCOLOR)); _i < _a.length; _i++) {
3265
3275
  var ele_2 = _a[_i];
3266
3276
  // if (Number((ele as HTMLElement).getAttribute('index')) !== rowIndex) {
@@ -3330,10 +3340,10 @@ var PivotView = /** @class */ (function (_super) {
3330
3340
  for (var _i = 0, _a = [].slice.call(this.element.querySelectorAll('.' + cls.CELL_ACTIVE_BGCOLOR)); _i < _a.length; _i++) {
3331
3341
  var ele = _a[_i];
3332
3342
  removeClass([ele], [cls.CELL_ACTIVE_BGCOLOR, cls.SELECTED_BGCOLOR]);
3333
- if (activeColumns.indexOf(ele.getAttribute('aria-colindex')) === -1) {
3343
+ if (activeColumns.indexOf(ele.getAttribute('data-colindex')) === -1) {
3334
3344
  isToggle = false;
3335
3345
  }
3336
- var colIndex = Number(ele.getAttribute('aria-colindex'));
3346
+ var colIndex = Number(ele.getAttribute('data-colindex'));
3337
3347
  actColPos[colIndex] = colIndex;
3338
3348
  }
3339
3349
  activeColumns = Object.keys(actColPos).length > 0 ? Object.keys(actColPos).sort(function (a, b) {
@@ -3365,7 +3375,7 @@ var PivotView = /** @class */ (function (_super) {
3365
3375
  }
3366
3376
  var count = colStart;
3367
3377
  while (count <= colEnd) {
3368
- queryStringArray.push('[aria-colindex="' + count + '"]' + (this.gridSettings.selectionSettings.mode === 'Cell' ?
3378
+ queryStringArray.push('[data-colindex="' + count + '"]' + (this.gridSettings.selectionSettings.mode === 'Cell' ?
3369
3379
  '[index="' + rowStart + '"]' : "") + '');
3370
3380
  count++;
3371
3381
  }
@@ -3393,23 +3403,23 @@ var PivotView = /** @class */ (function (_super) {
3393
3403
  control.cellSelectionPos = [];
3394
3404
  for (var _i = 0, _a = [].slice.call(this.element.querySelectorAll('.' + cls.SELECTED_BGCOLOR)); _i < _a.length; _i++) {
3395
3405
  var ele = _a[_i];
3396
- control.savedSelectedCellsPos.push({ rowIndex: ele.getAttribute('index'), colIndex: ele.getAttribute('aria-colindex') });
3406
+ control.savedSelectedCellsPos.push({ rowIndex: ele.getAttribute('index'), colIndex: ele.getAttribute('data-colindex') });
3397
3407
  }
3398
3408
  for (var _b = 0, _c = [].slice.call(this.element.querySelectorAll('.' + cls.CELL_SELECTED_BGCOLOR)); _b < _c.length; _b++) {
3399
3409
  var ele = _c[_b];
3400
- control.cellSelectionPos.push({ rowIndex: ele.getAttribute('index'), colIndex: ele.getAttribute('aria-colindex') });
3410
+ control.cellSelectionPos.push({ rowIndex: ele.getAttribute('index'), colIndex: ele.getAttribute('data-colindex') });
3401
3411
  }
3402
3412
  };
3403
3413
  PivotView.prototype.setSavedSelectedCells = function () {
3404
3414
  var control = this;
3405
3415
  for (var _i = 0, _a = [].slice.call(this.savedSelectedCellsPos); _i < _a.length; _i++) {
3406
3416
  var item = _a[_i];
3407
- var query = '[aria-colindex="' + item.colIndex + '"][index="' + item.rowIndex + '"]';
3417
+ var query = '[data-colindex="' + item.colIndex + '"][index="' + item.rowIndex + '"]';
3408
3418
  addClass([control.element.querySelector(query)], [cls.CELL_ACTIVE_BGCOLOR, cls.SELECTED_BGCOLOR]);
3409
3419
  }
3410
3420
  for (var _b = 0, _c = [].slice.call(this.cellSelectionPos); _b < _c.length; _b++) {
3411
3421
  var item = _c[_b];
3412
- var query = '[aria-colindex="' + item.colIndex + '"][index="' + item.rowIndex + '"]';
3422
+ var query = '[data-colindex="' + item.colIndex + '"][index="' + item.rowIndex + '"]';
3413
3423
  addClass([control.element.querySelector(query)], [cls.CELL_SELECTED_BGCOLOR]);
3414
3424
  }
3415
3425
  };
@@ -3498,7 +3508,7 @@ var PivotView = /** @class */ (function (_super) {
3498
3508
  _this_1.clonedReport = _this_1.clonedReport ? _this_1.clonedReport : dataSourceSettings;
3499
3509
  }
3500
3510
  if (_this_1.dataSourceSettings.mode !== 'Server') {
3501
- _this_1.engineModule.renderEngine(_this_1.dataSourceSettings, customProperties, _this_1.getValueCellInfo.bind(_this_1), _this_1.getHeaderSortInfo.bind(_this_1));
3511
+ _this_1.engineModule.renderEngine(_this_1.dataSourceSettings, customProperties, _this_1.aggregateCellInfo ? _this_1.getValueCellInfo.bind(_this_1) : undefined, _this_1.onHeadersSort ? _this_1.getHeaderSortInfo.bind(_this_1) : undefined);
3502
3512
  }
3503
3513
  _this_1.allowServerDataBinding = false;
3504
3514
  _this_1.setProperties({ pivotValues: _this_1.engineModule.pivotValues }, true);
@@ -3509,7 +3519,7 @@ var PivotView = /** @class */ (function (_super) {
3509
3519
  else if (_this_1.dataSourceSettings.providerType === 'SSAS' && _this_1.dataType === 'olap') {
3510
3520
  customProperties.savedFieldList = _this_1.olapEngineModule.fieldList;
3511
3521
  customProperties.savedFieldListData = _this_1.olapEngineModule.fieldListData;
3512
- _this_1.olapEngineModule.renderEngine(_this_1.dataSourceSettings, customProperties, _this_1.getHeaderSortInfo.bind(_this_1));
3522
+ _this_1.olapEngineModule.renderEngine(_this_1.dataSourceSettings, customProperties, _this_1.onHeadersSort ? _this_1.getHeaderSortInfo.bind(_this_1) : undefined);
3513
3523
  _this_1.allowServerDataBinding = false;
3514
3524
  _this_1.setProperties({ pivotValues: _this_1.olapEngineModule.pivotValues }, true);
3515
3525
  delete _this_1.bulkChanges.pivotValues;
@@ -3990,7 +4000,8 @@ var PivotView = /** @class */ (function (_super) {
3990
4000
  : this.actionObj.actionName == events.removeRecord ? events.recordRemoved : (this.actionObj.actionName == events.pngExport) ? events.pngExported : (this.actionObj.actionName == events.jpegExport) ? events.jpegExported
3991
4001
  : (this.actionObj.actionName == events.svgExport) ? events.svgExported : (this.actionObj.actionName == events.pdfExport) ? events.pdfExported : (this.actionObj.actionName == events.csvExport) ? events.csvExported : (this.actionObj.actionName == events.excelExport) ? events.excelExported : this.actionObj.actionName == events.windowResize ? events.windowResized
3992
4002
  : this.actionObj.actionName == events.saveCurrentReport ? events.reportSaved : (this.actionObj.actionName == events.addNewReport) ? events.newReportAdded : (this.actionObj.actionName == events.saveAsCurrentReport) ? events.reportReSaved
3993
- : (this.actionObj.actionName == events.renameCurrentReport) ? events.reportRenamed : this.actionObj.actionName;
4003
+ : (this.actionObj.actionName == events.renameCurrentReport) ? events.reportRenamed : (this.actionObj.actionName == events.renameCurrentReport) ? events.reportRenamed : (this.actionObj.actionName == events.horizontalScroll) ? events.horizontalScrolled
4004
+ : (this.actionObj.actionName == events.verticalScroll) ? events.verticalScrolled : this.actionObj.actionName;
3994
4005
  return actionName;
3995
4006
  };
3996
4007
  /* eslint-disable-next-line */
@@ -4442,6 +4453,9 @@ var PivotView = /** @class */ (function (_super) {
4442
4453
  __decorate([
4443
4454
  Event()
4444
4455
  ], PivotView.prototype, "beforeExport", void 0);
4456
+ __decorate([
4457
+ Event()
4458
+ ], PivotView.prototype, "exportComplete", void 0);
4445
4459
  __decorate([
4446
4460
  Event()
4447
4461
  ], PivotView.prototype, "conditionalFormatting", void 0);
@@ -283,12 +283,22 @@ var Render = /** @class */ (function () {
283
283
  this.parent.lastColumn.width = 'auto';
284
284
  this.parent.lastColumn = undefined;
285
285
  }
286
+ var exportCompleteEventArgs = {
287
+ type: 'PDF',
288
+ promise: args.promise
289
+ };
290
+ this.parent.trigger(events.exportComplete, exportCompleteEventArgs);
286
291
  };
287
292
  Render.prototype.excelExportComplete = function (args) {
288
293
  if (this.parent.lastColumn !== undefined && this.parent.lastColumn.width !== 'auto') {
289
294
  this.parent.lastColumn.width = 'auto';
290
295
  this.parent.lastColumn = undefined;
291
296
  }
297
+ var exportCompleteEventArgs = {
298
+ type: 'Excel/CSV',
299
+ promise: args.promise
300
+ };
301
+ this.parent.trigger(events.exportComplete, exportCompleteEventArgs);
292
302
  };
293
303
  /* eslint-enable */
294
304
  Render.prototype.dataBound = function (args) {
@@ -380,7 +390,7 @@ var Render = /** @class */ (function () {
380
390
  isGroupElement = true;
381
391
  }
382
392
  var rowIndex = Number(elem.getAttribute('index'));
383
- var colIndex = Number(elem.getAttribute('aria-colindex'));
393
+ var colIndex = Number(elem.getAttribute('data-colindex'));
384
394
  var pivotValue1 = this_1.parent.pivotValues[rowIndex][colIndex];
385
395
  var selectedID = item.id;
386
396
  switch (selectedID) {
@@ -452,7 +462,7 @@ var Render = /** @class */ (function () {
452
462
  if (groupField && groupField.type === 'Custom' || (this_1.parent.engineModule.fieldList[fieldName].isCustomField && fieldName.indexOf('_custom_group') > -1)) {
453
463
  groupField = PivotUtil.getFieldByName(fieldName.replace('_custom_group', ''), this_1.parent.dataSourceSettings.groupSettings);
454
464
  if (groupField) {
455
- var cell = this_1.parent.engineModule.pivotValues[Number(elem.getAttribute('index'))][Number(elem.getAttribute('aria-colindex'))];
465
+ var cell = this_1.parent.engineModule.pivotValues[Number(elem.getAttribute('index'))][Number(elem.getAttribute('data-colindex'))];
456
466
  var selectedCellsInfo = this_1.parent.groupingModule.getSelectedCells(cell.axis, fieldName, cell.actualText.toString());
457
467
  selectedCellsInfo.push({ axis: cell.axis, fieldName: fieldName, name: cell.actualText.toString(), cellInfo: cell });
458
468
  var selectedOptions = this_1.parent.groupingModule.getSelectedOptions(selectedCellsInfo);
@@ -661,7 +671,7 @@ var Render = /** @class */ (function () {
661
671
  ele = target.parentElement.parentElement;
662
672
  }
663
673
  var rowIndx = Number(ele.getAttribute('index'));
664
- var colIndx = Number(ele.getAttribute('aria-colindex'));
674
+ var colIndx = Number(ele.getAttribute('data-colindex'));
665
675
  var pivotValue = this.parent.pivotValues[rowIndx][colIndx];
666
676
  var aggregateType;
667
677
  if (args.item.id.indexOf(this.parent.element.id + '_Agg') > -1) {
@@ -805,7 +815,7 @@ var Render = /** @class */ (function () {
805
815
  var fieldName = target.getAttribute('fieldName');
806
816
  if (!fieldName || fieldName == '') {
807
817
  var rowIndx = Number(target.getAttribute('index'));
808
- var colIndx = Number(target.getAttribute('aria-colindex'));
818
+ var colIndx = Number(target.getAttribute('data-colindex'));
809
819
  fieldName = this.engine.pivotValues[rowIndx][colIndx].actualText;
810
820
  }
811
821
  var valuefields = this.parent.dataSourceSettings.values;
@@ -993,7 +1003,7 @@ var Render = /** @class */ (function () {
993
1003
  var selectedElements = this.parent.element.querySelectorAll('.' + cls.CELL_SELECTED_BGCOLOR + ',.' + cls.SELECTED_BGCOLOR);
994
1004
  for (var _i = 0, selectedElements_1 = selectedElements; _i < selectedElements_1.length; _i++) {
995
1005
  var element = selectedElements_1[_i];
996
- var colIndex = Number(element.getAttribute('aria-colindex'));
1006
+ var colIndex = Number(element.getAttribute('data-colindex'));
997
1007
  var rowIndex = Number(element.getAttribute('index'));
998
1008
  var cell = this.engine.pivotValues[rowIndex][colIndex];
999
1009
  if (cell) {
@@ -1036,7 +1046,7 @@ var Render = /** @class */ (function () {
1036
1046
  var isRowFieldsAvail = cell.valueSort && cell.valueSort.levelName === (this.parent.dataSourceSettings.rows.length === 0 && this.parent.dataSourceSettings.valueAxis === 'row' &&
1037
1047
  this.parent.localeObj.getConstant('grandTotal') + (this.parent.dataSourceSettings.valueSortSettings.headerDelimiter) + (cell.formattedText));
1038
1048
  tCell.setAttribute('index', cell.rowIndex ? cell.rowIndex.toString() : '0');
1039
- if (tCell.getAttribute('aria-colindex') === '0') {
1049
+ if (tCell.getAttribute('data-colindex') === '0') {
1040
1050
  if (this.parent.dataType === 'pivot') {
1041
1051
  var isValueCell = cell.type && cell.type === 'value';
1042
1052
  tCell.innerText = '';
@@ -1140,18 +1150,18 @@ var Render = /** @class */ (function () {
1140
1150
  var innerText = tCell.innerText;
1141
1151
  tCell.innerText = '';
1142
1152
  tCell.classList.add(cls.VALUESCONTENT);
1143
- cell = args.data[Number(tCell.getAttribute('aria-colindex'))];
1153
+ cell = args.data[Number(tCell.getAttribute('data-colindex'))];
1144
1154
  cell = isNullOrUndefined(cell) ? args.column.customAttributes.cell : cell;
1145
1155
  cell.isGrandSum = isRowFieldsAvail ? true : cell.isGrandSum;
1146
1156
  if (cell.isSum) {
1147
1157
  tCell.classList.add(cls.SUMMARY);
1148
1158
  }
1149
1159
  var isGrandSum = (isNullOrUndefined(cell.isGrandSum) && (!isNullOrUndefined(this.parent.olapEngineModule) && this.parent.olapEngineModule.olapValueAxis === 'column') && this.parent.dataType === 'olap' &&
1150
- ((this.colGrandPos - this.parent.dataSourceSettings.values.length) < Number(tCell.getAttribute('aria-colindex'))));
1151
- if (cell.isGrandSum || (isGrandSum || this.colGrandPos === Number(tCell.getAttribute('aria-colindex'))) || this.rowGrandPos === Number(tCell.getAttribute('index'))) {
1160
+ ((this.colGrandPos - this.parent.dataSourceSettings.values.length) < Number(tCell.getAttribute('data-colindex'))));
1161
+ if (cell.isGrandSum || (isGrandSum || this.colGrandPos === Number(tCell.getAttribute('data-colindex'))) || this.rowGrandPos === Number(tCell.getAttribute('index'))) {
1152
1162
  tCell.classList.add('e-gtot');
1153
1163
  }
1154
- else if (this.parent.dataType === 'olap' ? cell.isSum : this.validateColumnTotalcell(!isNullOrUndefined(cell.value) ? cell.colIndex : cell.colIndex - 1)) {
1164
+ else if (this.parent.dataType === 'olap' ? cell.isSum : this.validateColumnTotalcell(cell.colIndex)) {
1155
1165
  tCell.classList.add('e-colstot');
1156
1166
  }
1157
1167
  if (cell.cssClass) {
@@ -1164,12 +1174,12 @@ var Render = /** @class */ (function () {
1164
1174
  '<a data-url="' + innerText + '" class="e-hyperlinkcell ' + customClass + '">' + innerText + '</a>' : innerText)
1165
1175
  }));
1166
1176
  if (this.parent.gridSettings.allowReordering && !this.parent.showGroupingBar) {
1167
- tCell.setAttribute('aria-colindex', args.column.customAttributes.cell.colIndex.toString());
1177
+ tCell.setAttribute('data-colindex', args.column.customAttributes.cell.colIndex.toString());
1168
1178
  }
1169
1179
  }
1170
1180
  if (this.parent.cellTemplate) {
1171
1181
  var index = tCell.getAttribute('index');
1172
- var colindex = tCell.getAttribute('aria-colindex');
1182
+ var colindex = tCell.getAttribute('data-colindex');
1173
1183
  var templateID = index + '_' + colindex;
1174
1184
  /* eslint-disable-next-line */
1175
1185
  var element = this.parent.getCellTemplate()({ targetCell: tCell, cellInfo: cell }, this.parent, 'cellTemplate', this.parent.element.id + '_cellTemplate', null, null, tCell);
@@ -1340,7 +1350,7 @@ var Render = /** @class */ (function () {
1340
1350
  args.node.style.borderBottomWidth = '0px';
1341
1351
  }
1342
1352
  }
1343
- args.node.setAttribute('aria-colindex', cell.colIndex.toString());
1353
+ args.node.setAttribute('data-colindex', cell.colIndex.toString());
1344
1354
  args.node.setAttribute('index', cell.rowIndex.toString());
1345
1355
  var fieldName = void 0;
1346
1356
  if (this.parent.dataType === 'pivot') {
@@ -1431,7 +1441,7 @@ var Render = /** @class */ (function () {
1431
1441
  tCell = this.appendValueSortIcon(cell, tCell, cell.rowIndex, cell.colIndex);
1432
1442
  if (this.parent.cellTemplate) {
1433
1443
  var index = tCell.getAttribute('index');
1434
- var colindex = tCell.getAttribute('aria-colindex');
1444
+ var colindex = tCell.getAttribute('data-colindex');
1435
1445
  var templateID = index + '_' + colindex;
1436
1446
  this.parent.gridHeaderCellInfo.push({ targetCell: tCell });
1437
1447
  }
@@ -1515,7 +1525,7 @@ var Render = /** @class */ (function () {
1515
1525
  cell = (cell.className.indexOf('e-headercelldiv') > -1 ? cell.parentElement : cell);
1516
1526
  var args = {
1517
1527
  currentCell: cell,
1518
- data: this.engine.pivotValues[Number(cell.getAttribute('index'))][Number(cell.getAttribute('aria-colindex'))],
1528
+ data: this.engine.pivotValues[Number(cell.getAttribute('index'))][Number(cell.getAttribute('data-colindex'))],
1519
1529
  cancel: true,
1520
1530
  nativeEvent: e
1521
1531
  };
@@ -2513,7 +2513,7 @@
2513
2513
  }
2514
2514
 
2515
2515
  .e-pivot-calc-dialog-div {
2516
- max-height: 550px !important;
2516
+ max-height: 600px !important;
2517
2517
  min-width: 290px;
2518
2518
  }
2519
2519
  .e-pivot-calc-dialog-div .e-dlg-header-content,
@@ -2523,11 +2523,14 @@
2523
2523
  .e-pivot-calc-dialog-div .e-dlg-content {
2524
2524
  padding-bottom: 15px;
2525
2525
  }
2526
+ .e-pivot-calc-dialog-div .e-dlg-content .e-pivot-calc-custom-format-div {
2527
+ margin-top: 15px;
2528
+ }
2526
2529
  .e-pivot-calc-dialog-div .e-pivot-all-field-title,
2527
2530
  .e-pivot-calc-dialog-div .e-pivot-field-name-title,
2528
2531
  .e-pivot-calc-dialog-div .e-pivot-formula-title,
2529
2532
  .e-pivot-calc-dialog-div .e-olap-hierarchy-title,
2530
- .e-pivot-calc-dialog-div .e-olap-format-title,
2533
+ .e-pivot-calc-dialog-div .e-pivot-format-title,
2531
2534
  .e-pivot-calc-dialog-div .e-olap-member-title {
2532
2535
  color: #f0f0f0;
2533
2536
  font-size: 13px;
@@ -2717,7 +2720,7 @@
2717
2720
  display: inline-block;
2718
2721
  height: 437px;
2719
2722
  overflow: auto;
2720
- width: 310px;
2723
+ width: 100% !important;
2721
2724
  }
2722
2725
  .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-olap-field-tree-div .e-pivot-treeview-outer .e-treeview {
2723
2726
  display: inline-table;
@@ -2805,26 +2808,26 @@
2805
2808
  .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-olap-field-tree-div .e-pivot-treeview-outer .e-pivot-all-field-title-container .e-info:hover {
2806
2809
  color: #0070f0;
2807
2810
  }
2808
- .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-olap-calculated-div {
2811
+ .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-pivot-calculated-div {
2809
2812
  -ms-flex: auto;
2810
2813
  flex: auto;
2811
2814
  margin-left: 18px;
2812
2815
  }
2813
- .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-olap-calculated-div .e-pivot-formula {
2816
+ .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-pivot-calculated-div .e-pivot-formula {
2814
2817
  height: 100px;
2815
2818
  }
2816
- .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-olap-calculated-div .e-olap-calc-custom-format-div {
2819
+ .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-pivot-calculated-div .e-pivot-calc-custom-format-div {
2817
2820
  margin-top: 15px;
2818
2821
  }
2819
- .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-olap-calculated-div .e-pivot-formula-title,
2820
- .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-olap-calculated-div .e-pivot-field-name-title,
2821
- .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-olap-calculated-div .e-olap-hierarchy-title,
2822
- .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-olap-calculated-div .e-olap-format-title,
2823
- .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-olap-calculated-div .e-olap-member-title {
2822
+ .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-pivot-calculated-div .e-pivot-formula-title,
2823
+ .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-pivot-calculated-div .e-pivot-field-name-title,
2824
+ .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-pivot-calculated-div .e-olap-hierarchy-title,
2825
+ .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-pivot-calculated-div .e-pivot-format-title,
2826
+ .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-pivot-calculated-div .e-olap-member-title {
2824
2827
  padding-left: 0;
2825
2828
  padding-right: 0;
2826
2829
  }
2827
- .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-olap-calculated-div .e-pivot-field-name-title {
2830
+ .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-pivot-calculated-div .e-pivot-field-name-title {
2828
2831
  margin-top: 0;
2829
2832
  padding-top: 0;
2830
2833
  }
@@ -2835,7 +2838,7 @@
2835
2838
  float: left;
2836
2839
  margin: 0;
2837
2840
  }
2838
- .e-pivot-calc-dialog-div.e-olap-calc-dialog-div.e-rtl .e-pivot-calc-outer-div .e-olap-calculated-div {
2841
+ .e-pivot-calc-dialog-div.e-olap-calc-dialog-div.e-rtl .e-pivot-calc-outer-div .e-pivot-calculated-div {
2839
2842
  margin-left: 0;
2840
2843
  margin-right: 18px;
2841
2844
  }
@@ -2852,13 +2855,13 @@
2852
2855
  .e-bigger.e-pivot-calc-dialog-div .e-pivot-field-name-title,
2853
2856
  .e-bigger.e-pivot-calc-dialog-div .e-pivot-formula-title,
2854
2857
  .e-bigger.e-pivot-calc-dialog-div .e-olap-hierarchy-title,
2855
- .e-bigger.e-pivot-calc-dialog-div .e-olap-format-title,
2858
+ .e-bigger.e-pivot-calc-dialog-div .e-pivot-format-title,
2856
2859
  .e-bigger.e-pivot-calc-dialog-div .e-olap-member-title,
2857
2860
  .e-bigger .e-pivot-calc-dialog-div .e-pivot-all-field-title,
2858
2861
  .e-bigger .e-pivot-calc-dialog-div .e-pivot-field-name-title,
2859
2862
  .e-bigger .e-pivot-calc-dialog-div .e-pivot-formula-title,
2860
2863
  .e-bigger .e-pivot-calc-dialog-div .e-olap-hierarchy-title,
2861
- .e-bigger .e-pivot-calc-dialog-div .e-olap-format-title,
2864
+ .e-bigger .e-pivot-calc-dialog-div .e-pivot-format-title,
2862
2865
  .e-bigger .e-pivot-calc-dialog-div .e-olap-member-title {
2863
2866
  font-size: 14px;
2864
2867
  padding: 6px 0;
@@ -2912,12 +2915,12 @@
2912
2915
  .e-bigger .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-olap-field-tree-div .e-pivot-treeview-outer .e-treeview ul .e-list-icon {
2913
2916
  font-size: 16px;
2914
2917
  }
2915
- .e-bigger.e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-olap-calculated-div,
2916
- .e-bigger .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-olap-calculated-div {
2918
+ .e-bigger.e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-pivot-calculated-div,
2919
+ .e-bigger .e-pivot-calc-dialog-div.e-olap-calc-dialog-div .e-pivot-calc-outer-div .e-pivot-calculated-div {
2917
2920
  margin-left: 24px;
2918
2921
  }
2919
- .e-bigger.e-pivot-calc-dialog-div.e-olap-calc-dialog-div.e-rtl .e-pivot-calc-outer-div .e-olap-calculated-div,
2920
- .e-bigger .e-pivot-calc-dialog-div.e-olap-calc-dialog-div.e-rtl .e-pivot-calc-outer-div .e-olap-calculated-div {
2922
+ .e-bigger.e-pivot-calc-dialog-div.e-olap-calc-dialog-div.e-rtl .e-pivot-calc-outer-div .e-pivot-calculated-div,
2923
+ .e-bigger .e-pivot-calc-dialog-div.e-olap-calc-dialog-div.e-rtl .e-pivot-calc-outer-div .e-pivot-calculated-div {
2921
2924
  margin-left: 0;
2922
2925
  margin-right: 24px;
2923
2926
  }
@@ -4797,8 +4800,7 @@
4797
4800
  }
4798
4801
  .e-pivotfieldlist-container.e-device .e-adaptive-container .e-content .e-pivot-calc-outer-div .e-pivot-calc-input-div,
4799
4802
  .e-pivotfieldlist-container.e-device .e-adaptive-container .e-content .e-pivot-calc-outer-div .e-member-options,
4800
- .e-pivotfieldlist-container.e-device .e-adaptive-container .e-content .e-pivot-calc-outer-div .e-pivot-calc-custom-format-div,
4801
- .e-pivotfieldlist-container.e-device .e-adaptive-container .e-content .e-pivot-calc-outer-div .e-olap-calc-custom-format-div {
4803
+ .e-pivotfieldlist-container.e-device .e-adaptive-container .e-content .e-pivot-calc-outer-div .e-pivot-calc-custom-format-div {
4802
4804
  margin-left: 20px;
4803
4805
  margin-right: 20px;
4804
4806
  margin-top: 20px;