@syncfusion/ej2-pivotview 20.2.39 → 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 (64) hide show
  1. package/CHANGELOG.md +14 -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 +274 -237
  5. package/dist/es6/ej2-pivotview.es2015.js.map +1 -1
  6. package/dist/es6/ej2-pivotview.es5.js +278 -241
  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/common/base/constant.d.ts +2 -0
  13. package/src/common/base/constant.js +2 -0
  14. package/src/common/base/css-constant.d.ts +2 -4
  15. package/src/common/base/css-constant.js +3 -5
  16. package/src/common/base/interface.d.ts +11 -0
  17. package/src/common/calculatedfield/calculated-field.d.ts +3 -1
  18. package/src/common/calculatedfield/calculated-field.js +163 -168
  19. package/src/common/conditionalformatting/conditional-formatting.js +4 -3
  20. package/src/common/popups/grouping.js +2 -2
  21. package/src/common/popups/toolbar.js +6 -6
  22. package/src/pivotchart/base/pivotchart.js +16 -12
  23. package/src/pivotview/actions/drill-through.js +1 -1
  24. package/src/pivotview/actions/excel-export.d.ts +1 -1
  25. package/src/pivotview/actions/excel-export.js +13 -4
  26. package/src/pivotview/actions/keyboard.js +6 -6
  27. package/src/pivotview/actions/pdf-export.d.ts +1 -1
  28. package/src/pivotview/actions/pdf-export.js +13 -2
  29. package/src/pivotview/base/pivotview-model.d.ts +7 -2
  30. package/src/pivotview/base/pivotview.d.ts +6 -2
  31. package/src/pivotview/base/pivotview.js +25 -18
  32. package/src/pivotview/renderer/render.js +24 -14
  33. package/styles/bootstrap-dark.css +22 -20
  34. package/styles/bootstrap.css +22 -20
  35. package/styles/bootstrap4.css +22 -20
  36. package/styles/bootstrap5-dark.css +22 -20
  37. package/styles/bootstrap5.css +22 -20
  38. package/styles/fabric-dark.css +22 -20
  39. package/styles/fabric.css +22 -20
  40. package/styles/fluent-dark.css +22 -20
  41. package/styles/fluent.css +22 -20
  42. package/styles/highcontrast-light.css +22 -20
  43. package/styles/highcontrast.css +22 -20
  44. package/styles/material-dark.css +22 -20
  45. package/styles/material.css +22 -20
  46. package/styles/pivotfieldlist/_layout.scss +13 -9
  47. package/styles/pivotfieldlist/_theme.scss +1 -2
  48. package/styles/pivotfieldlist/bootstrap-dark.css +22 -20
  49. package/styles/pivotfieldlist/bootstrap.css +22 -20
  50. package/styles/pivotfieldlist/bootstrap4.css +22 -20
  51. package/styles/pivotfieldlist/bootstrap5-dark.css +22 -20
  52. package/styles/pivotfieldlist/bootstrap5.css +22 -20
  53. package/styles/pivotfieldlist/fabric-dark.css +22 -20
  54. package/styles/pivotfieldlist/fabric.css +22 -20
  55. package/styles/pivotfieldlist/fluent-dark.css +22 -20
  56. package/styles/pivotfieldlist/fluent.css +22 -20
  57. package/styles/pivotfieldlist/highcontrast-light.css +22 -20
  58. package/styles/pivotfieldlist/highcontrast.css +22 -20
  59. package/styles/pivotfieldlist/material-dark.css +22 -20
  60. package/styles/pivotfieldlist/material.css +22 -20
  61. package/styles/pivotfieldlist/tailwind-dark.css +22 -20
  62. package/styles/pivotfieldlist/tailwind.css +22 -20
  63. package/styles/tailwind-dark.css +22 -20
  64. package/styles/tailwind.css +22 -20
@@ -5845,6 +5845,8 @@ const afterPivotTableRender = 'afterPivotTableRender';
5845
5845
  /** @hidden */
5846
5846
  const beforeExport = 'beforeExport';
5847
5847
  /** @hidden */
5848
+ const exportComplete = 'exportComplete';
5849
+ /** @hidden */
5848
5850
  const excelHeaderQueryCellInfo = 'excelHeaderQueryCellInfo';
5849
5851
  /** @hidden */
5850
5852
  const pdfHeaderQueryCellInfo = 'pdfHeaderQueryCellInfo';
@@ -6521,13 +6523,11 @@ const CALC_FORMAT_INPUT = 'e-custom-format-input';
6521
6523
  /** @hidden */
6522
6524
  const CALCINPUTDIV = 'e-pivot-calc-input-div';
6523
6525
  /** @hidden */
6524
- const CALC_CUSTOM_FORMAT_INPUTDIV = 'e-pivot-calc-custom-format-div';
6525
- /** @hidden */
6526
- const OLAP_CALC_CUSTOM_FORMAT_INPUTDIV = 'e-olap-calc-custom-format-div';
6526
+ const PIVOT_CALC_CUSTOM_FORMAT_INPUTDIV = 'e-pivot-calc-custom-format-div';
6527
6527
  /** @hidden */
6528
6528
  const CALC_HIERARCHY_LIST_DIV = 'e-olap-calc-hierarchy-list-div';
6529
6529
  /** @hidden */
6530
- const CALC_FORMAT_TYPE_DIV = 'e-olap-calc-format-type-div';
6530
+ const CALC_FORMAT_TYPE_DIV = 'e-pivot-calc-format-type-div';
6531
6531
  /** @hidden */
6532
6532
  const CALC_MEMBER_TYPE_DIV = 'e-olap-calc-member-type-div';
6533
6533
  /** @hidden */
@@ -6597,7 +6597,7 @@ const PIVOT_FORMULA_TITLE_CLASS = 'e-pivot-formula-title';
6597
6597
  /** @hidden */
6598
6598
  const OLAP_HIERARCHY_TITLE_CLASS = 'e-olap-hierarchy-title';
6599
6599
  /** @hidden */
6600
- const OLAP_FORMAT_TITLE_CLASS = 'e-olap-format-title';
6600
+ const PIVOT_FORMAT_TITLE_CLASS = 'e-pivot-format-title';
6601
6601
  /** @hidden */
6602
6602
  const OLAP_MEMBER_TITLE_CLASS = 'e-olap-member-title';
6603
6603
  /** @hidden */
@@ -7607,12 +7607,22 @@ class Render {
7607
7607
  this.parent.lastColumn.width = 'auto';
7608
7608
  this.parent.lastColumn = undefined;
7609
7609
  }
7610
+ let exportCompleteEventArgs = {
7611
+ type: 'PDF',
7612
+ promise: args.promise
7613
+ };
7614
+ this.parent.trigger(exportComplete, exportCompleteEventArgs);
7610
7615
  }
7611
7616
  excelExportComplete(args) {
7612
7617
  if (this.parent.lastColumn !== undefined && this.parent.lastColumn.width !== 'auto') {
7613
7618
  this.parent.lastColumn.width = 'auto';
7614
7619
  this.parent.lastColumn = undefined;
7615
7620
  }
7621
+ let exportCompleteEventArgs = {
7622
+ type: 'Excel/CSV',
7623
+ promise: args.promise
7624
+ };
7625
+ this.parent.trigger(exportComplete, exportCompleteEventArgs);
7616
7626
  }
7617
7627
  /* eslint-enable */
7618
7628
  dataBound(args) {
@@ -7702,7 +7712,7 @@ class Render {
7702
7712
  isGroupElement = true;
7703
7713
  }
7704
7714
  let rowIndex = Number(elem.getAttribute('index'));
7705
- let colIndex = Number(elem.getAttribute('aria-colindex'));
7715
+ let colIndex = Number(elem.getAttribute('data-colindex'));
7706
7716
  let pivotValue1 = this.parent.pivotValues[rowIndex][colIndex];
7707
7717
  let selectedID = item.id;
7708
7718
  switch (selectedID) {
@@ -7774,7 +7784,7 @@ class Render {
7774
7784
  if (groupField && groupField.type === 'Custom' || (this.parent.engineModule.fieldList[fieldName].isCustomField && fieldName.indexOf('_custom_group') > -1)) {
7775
7785
  groupField = PivotUtil.getFieldByName(fieldName.replace('_custom_group', ''), this.parent.dataSourceSettings.groupSettings);
7776
7786
  if (groupField) {
7777
- let cell = this.parent.engineModule.pivotValues[Number(elem.getAttribute('index'))][Number(elem.getAttribute('aria-colindex'))];
7787
+ let cell = this.parent.engineModule.pivotValues[Number(elem.getAttribute('index'))][Number(elem.getAttribute('data-colindex'))];
7778
7788
  let selectedCellsInfo = this.parent.groupingModule.getSelectedCells(cell.axis, fieldName, cell.actualText.toString());
7779
7789
  selectedCellsInfo.push({ axis: cell.axis, fieldName: fieldName, name: cell.actualText.toString(), cellInfo: cell });
7780
7790
  let selectedOptions = this.parent.groupingModule.getSelectedOptions(selectedCellsInfo);
@@ -7974,7 +7984,7 @@ class Render {
7974
7984
  ele = target.parentElement.parentElement;
7975
7985
  }
7976
7986
  let rowIndx = Number(ele.getAttribute('index'));
7977
- let colIndx = Number(ele.getAttribute('aria-colindex'));
7987
+ let colIndx = Number(ele.getAttribute('data-colindex'));
7978
7988
  let pivotValue = this.parent.pivotValues[rowIndx][colIndx];
7979
7989
  let aggregateType;
7980
7990
  if (args.item.id.indexOf(this.parent.element.id + '_Agg') > -1) {
@@ -8118,7 +8128,7 @@ class Render {
8118
8128
  let fieldName = target.getAttribute('fieldName');
8119
8129
  if (!fieldName || fieldName == '') {
8120
8130
  let rowIndx = Number(target.getAttribute('index'));
8121
- let colIndx = Number(target.getAttribute('aria-colindex'));
8131
+ let colIndx = Number(target.getAttribute('data-colindex'));
8122
8132
  fieldName = this.engine.pivotValues[rowIndx][colIndx].actualText;
8123
8133
  }
8124
8134
  let valuefields = this.parent.dataSourceSettings.values;
@@ -8305,7 +8315,7 @@ class Render {
8305
8315
  /* eslint-disable-next-line */
8306
8316
  let selectedElements = this.parent.element.querySelectorAll('.' + CELL_SELECTED_BGCOLOR + ',.' + SELECTED_BGCOLOR);
8307
8317
  for (let element of selectedElements) {
8308
- let colIndex = Number(element.getAttribute('aria-colindex'));
8318
+ let colIndex = Number(element.getAttribute('data-colindex'));
8309
8319
  let rowIndex = Number(element.getAttribute('index'));
8310
8320
  let cell = this.engine.pivotValues[rowIndex][colIndex];
8311
8321
  if (cell) {
@@ -8348,7 +8358,7 @@ class Render {
8348
8358
  let isRowFieldsAvail = cell.valueSort && cell.valueSort.levelName === (this.parent.dataSourceSettings.rows.length === 0 && this.parent.dataSourceSettings.valueAxis === 'row' &&
8349
8359
  this.parent.localeObj.getConstant('grandTotal') + (this.parent.dataSourceSettings.valueSortSettings.headerDelimiter) + (cell.formattedText));
8350
8360
  tCell.setAttribute('index', cell.rowIndex ? cell.rowIndex.toString() : '0');
8351
- if (tCell.getAttribute('aria-colindex') === '0') {
8361
+ if (tCell.getAttribute('data-colindex') === '0') {
8352
8362
  if (this.parent.dataType === 'pivot') {
8353
8363
  let isValueCell = cell.type && cell.type === 'value';
8354
8364
  tCell.innerText = '';
@@ -8451,15 +8461,15 @@ class Render {
8451
8461
  let innerText = tCell.innerText;
8452
8462
  tCell.innerText = '';
8453
8463
  tCell.classList.add(VALUESCONTENT);
8454
- cell = args.data[Number(tCell.getAttribute('aria-colindex'))];
8464
+ cell = args.data[Number(tCell.getAttribute('data-colindex'))];
8455
8465
  cell = isNullOrUndefined(cell) ? args.column.customAttributes.cell : cell;
8456
8466
  cell.isGrandSum = isRowFieldsAvail ? true : cell.isGrandSum;
8457
8467
  if (cell.isSum) {
8458
8468
  tCell.classList.add(SUMMARY);
8459
8469
  }
8460
8470
  let isGrandSum = (isNullOrUndefined(cell.isGrandSum) && (!isNullOrUndefined(this.parent.olapEngineModule) && this.parent.olapEngineModule.olapValueAxis === 'column') && this.parent.dataType === 'olap' &&
8461
- ((this.colGrandPos - this.parent.dataSourceSettings.values.length) < Number(tCell.getAttribute('aria-colindex'))));
8462
- if (cell.isGrandSum || (isGrandSum || this.colGrandPos === Number(tCell.getAttribute('aria-colindex'))) || this.rowGrandPos === Number(tCell.getAttribute('index'))) {
8471
+ ((this.colGrandPos - this.parent.dataSourceSettings.values.length) < Number(tCell.getAttribute('data-colindex'))));
8472
+ if (cell.isGrandSum || (isGrandSum || this.colGrandPos === Number(tCell.getAttribute('data-colindex'))) || this.rowGrandPos === Number(tCell.getAttribute('index'))) {
8463
8473
  tCell.classList.add('e-gtot');
8464
8474
  }
8465
8475
  else if (this.parent.dataType === 'olap' ? cell.isSum : this.validateColumnTotalcell(cell.colIndex)) {
@@ -8475,12 +8485,12 @@ class Render {
8475
8485
  '<a data-url="' + innerText + '" class="e-hyperlinkcell ' + customClass + '">' + innerText + '</a>' : innerText)
8476
8486
  }));
8477
8487
  if (this.parent.gridSettings.allowReordering && !this.parent.showGroupingBar) {
8478
- tCell.setAttribute('aria-colindex', args.column.customAttributes.cell.colIndex.toString());
8488
+ tCell.setAttribute('data-colindex', args.column.customAttributes.cell.colIndex.toString());
8479
8489
  }
8480
8490
  }
8481
8491
  if (this.parent.cellTemplate) {
8482
8492
  let index = tCell.getAttribute('index');
8483
- let colindex = tCell.getAttribute('aria-colindex');
8493
+ let colindex = tCell.getAttribute('data-colindex');
8484
8494
  let element = this.parent.getCellTemplate()({ targetCell: tCell, cellInfo: cell }, this.parent, 'cellTemplate', this.parent.element.id + '_cellTemplate', null, null, tCell);
8485
8495
  if (element && element !== '' && element.length > 0) {
8486
8496
  if (this.parent.enableHtmlSanitizer) {
@@ -8648,7 +8658,7 @@ class Render {
8648
8658
  args.node.style.borderBottomWidth = '0px';
8649
8659
  }
8650
8660
  }
8651
- args.node.setAttribute('aria-colindex', cell.colIndex.toString());
8661
+ args.node.setAttribute('data-colindex', cell.colIndex.toString());
8652
8662
  args.node.setAttribute('index', cell.rowIndex.toString());
8653
8663
  let fieldName;
8654
8664
  if (this.parent.dataType === 'pivot') {
@@ -8739,7 +8749,7 @@ class Render {
8739
8749
  tCell = this.appendValueSortIcon(cell, tCell, cell.rowIndex, cell.colIndex);
8740
8750
  if (this.parent.cellTemplate) {
8741
8751
  let index = tCell.getAttribute('index');
8742
- let colindex = tCell.getAttribute('aria-colindex');
8752
+ let colindex = tCell.getAttribute('data-colindex');
8743
8753
  this.parent.gridHeaderCellInfo.push({ targetCell: tCell });
8744
8754
  }
8745
8755
  let len = this.parent.dataSourceSettings.values.length;
@@ -8822,7 +8832,7 @@ class Render {
8822
8832
  cell = (cell.className.indexOf('e-headercelldiv') > -1 ? cell.parentElement : cell);
8823
8833
  let args = {
8824
8834
  currentCell: cell,
8825
- data: this.engine.pivotValues[Number(cell.getAttribute('index'))][Number(cell.getAttribute('aria-colindex'))],
8835
+ data: this.engine.pivotValues[Number(cell.getAttribute('index'))][Number(cell.getAttribute('data-colindex'))],
8826
8836
  cancel: true,
8827
8837
  nativeEvent: e
8828
8838
  };
@@ -13092,7 +13102,7 @@ class KeyboardInteraction {
13092
13102
  if (this.parent.grid && this.parent.gridSettings.allowSelection && this.parent.gridSettings.selectionSettings.mode !== 'Row' &&
13093
13103
  !target.classList.contains('e-numerictextbox')) {
13094
13104
  let control = this.parent;
13095
- let colIndex = Number(e.target.getAttribute('aria-colIndex'));
13105
+ let colIndex = Number(e.target.getAttribute('data-colindex'));
13096
13106
  let rowIndex = Number(e.target.getAttribute('index'));
13097
13107
  let ele;
13098
13108
  /* eslint-disable */
@@ -13102,7 +13112,7 @@ class KeyboardInteraction {
13102
13112
  control.renderModule.rowStartPos !== rowIndex)) ? null : this.getParentElement(control, ele, colIndex, rowIndex - 1);
13103
13113
  }
13104
13114
  else if (e.action === 'shiftDown' || e.action === 'downArrow') {
13105
- ele = control.element.querySelector('th[aria-colindex="' + colIndex + '"][index="' + (rowIndex + 1) + '"]');
13115
+ ele = control.element.querySelector('th[data-colindex="' + colIndex + '"][index="' + (rowIndex + 1) + '"]');
13106
13116
  }
13107
13117
  else if (e.action === 'shiftLeft' || e.action === 'leftArrow') {
13108
13118
  ele = e.target.previousSibling;
@@ -13113,7 +13123,7 @@ class KeyboardInteraction {
13113
13123
  }
13114
13124
  if (!isNullOrUndefined(ele)) {
13115
13125
  if (control.gridSettings.selectionSettings.mode === 'Both' ? !ele.classList.contains(ROW_CELL_CLASS) : true) {
13116
- colIndex = Number(ele.getAttribute('aria-colindex'));
13126
+ colIndex = Number(ele.getAttribute('data-colindex'));
13117
13127
  rowIndex = Number(ele.getAttribute('index'));
13118
13128
  let colSpan = Number(ele.getAttribute('aria-colspan'));
13119
13129
  control.clearSelection(ele, e, colIndex, rowIndex);
@@ -13135,11 +13145,11 @@ class KeyboardInteraction {
13135
13145
  }
13136
13146
  else {
13137
13147
  if (e.action === 'upArrow') {
13138
- ele = control.element.querySelector('[aria-colindex="' + colIndex + '"][index="' + (rowIndex - 1) + '"]');
13148
+ ele = control.element.querySelector('[data-colindex="' + colIndex + '"][index="' + (rowIndex - 1) + '"]');
13139
13149
  rowIndex--;
13140
13150
  }
13141
13151
  else if (e.action === 'downArrow') {
13142
- ele = control.element.querySelector('[aria-colindex="' + colIndex + '"][index="' + (rowIndex + 1) + '"]');
13152
+ ele = control.element.querySelector('[data-colindex="' + colIndex + '"][index="' + (rowIndex + 1) + '"]');
13143
13153
  rowIndex++;
13144
13154
  }
13145
13155
  if (!isNullOrUndefined(ele)) {
@@ -13169,7 +13179,7 @@ class KeyboardInteraction {
13169
13179
  }
13170
13180
  getParentElement(control, ele, colIndex, rowIndex) {
13171
13181
  while (!ele) {
13172
- ele = control.element.querySelector('[aria-colindex="' + colIndex + '"][index="' + rowIndex + '"]');
13182
+ ele = control.element.querySelector('[data-colindex="' + colIndex + '"][index="' + rowIndex + '"]');
13173
13183
  colIndex--;
13174
13184
  }
13175
13185
  return ele;
@@ -14380,7 +14390,7 @@ class DrillThrough {
14380
14390
  }
14381
14391
  if (ele) {
14382
14392
  if (this.parent.allowDrillThrough && ele.classList.contains('e-valuescontent') || this.parent.editSettings.allowEditing) {
14383
- let colIndex = Number(ele.getAttribute('aria-colindex'));
14393
+ let colIndex = Number(ele.getAttribute('data-colindex'));
14384
14394
  let rowIndex = Number(ele.getAttribute('index'));
14385
14395
  this.executeDrillThrough(this.parent.pivotValues[rowIndex][colIndex], rowIndex, colIndex, ele);
14386
14396
  }
@@ -14571,7 +14581,7 @@ class PivotChart {
14571
14581
  if (!this.parent.chart && (this.parent.element.querySelector('.e-chart') || this.parent.element.querySelector('.e-accumulationchart'))) {
14572
14582
  remove(select('#' + this.parent.element.id + '_chart', this.parent.element));
14573
14583
  }
14574
- if (this.chartSettings.enableMultipleAxis && this.accumulationType.indexOf(chartSettings.chartSeries.type) < 0) {
14584
+ if (this.chartSettings.enableMultipleAxis && this.accumulationType.indexOf(chartSettings.chartSeries.type) < 0 && this.chartSettings.chartSeries.type !== 'Pareto') {
14575
14585
  this.measureList = this.dataSourceSettings.values.map((item) => { return item.name; });
14576
14586
  }
14577
14587
  else {
@@ -14650,7 +14660,7 @@ class PivotChart {
14650
14660
  this.columnGroupObject = {};
14651
14661
  this.accEmptyPoint = false;
14652
14662
  let pivotValues = this.engineModule.pivotValues;
14653
- this.currentMeasure = (chartSettings.enableMultipleAxis && this.accumulationType.indexOf(chartSettings.chartSeries.type) < 0) ? this.measureList[0] :
14663
+ this.currentMeasure = (chartSettings.enableMultipleAxis && this.accumulationType.indexOf(chartSettings.chartSeries.type) < 0 && this.chartSettings.chartSeries.type !== 'Pareto') ? this.measureList[0] :
14654
14664
  (((chartSettings.value === '' || this.dataSourceSettings.values.filter((item) => {
14655
14665
  return item.name === chartSettings.value;
14656
14666
  }).length === 0) && this.dataSourceSettings.values.length > 0) ? this.dataSourceSettings.values[0].name : chartSettings.value);
@@ -14692,7 +14702,7 @@ class PivotChart {
14692
14702
  header.valueSort.levelName.toString().split(this.parent.dataSourceSettings.valueSortSettings.headerDelimiter) : undefined;
14693
14703
  isValidHeader = false;
14694
14704
  if (valueSort && valueSort[0] !== 'Grand Total') {
14695
- if ((chartSettings.enableMultipleAxis && this.accumulationType.indexOf(chartSettings.chartSeries.type) < 0) ||
14705
+ if ((chartSettings.enableMultipleAxis && this.accumulationType.indexOf(chartSettings.chartSeries.type) < 0 && this.chartSettings.chartSeries.type !== 'Pareto') ||
14696
14706
  valueSort.indexOf(measureNames[this.currentMeasure]) > -1) {
14697
14707
  isValidHeader = true;
14698
14708
  }
@@ -14816,7 +14826,7 @@ class PivotChart {
14816
14826
  let actualText = (this.parent.dataType === 'olap' && tupInfo && tupInfo.measureName) ?
14817
14827
  tupInfo.measureName : cell.actualText;
14818
14828
  if (!(this.parent.dataType === 'olap' && cell.isGrandSum) && !totColIndex[cell.colIndex] && cell.axis === 'value' && firstRowCell.type !== 'header' &&
14819
- actualText !== '' && ((chartSettings.enableMultipleAxis && this.accumulationType.indexOf(chartSettings.chartSeries.type) < 0) ? true : actualText === this.currentMeasure)) {
14829
+ actualText !== '' && ((chartSettings.enableMultipleAxis && this.accumulationType.indexOf(chartSettings.chartSeries.type) < 0 && this.chartSettings.chartSeries.type !== 'Pareto') ? true : actualText === this.currentMeasure)) {
14820
14830
  if (isNullOrUndefined(firstRowCell.members)) {
14821
14831
  firstRowCell.members = [];
14822
14832
  }
@@ -15015,7 +15025,7 @@ class PivotChart {
15015
15025
  className: PIVOTCHART, id: this.parent.element.id + '_chart'
15016
15026
  }));
15017
15027
  }
15018
- if (!this.chartElement && this.parent.chartSettings.enableScrollOnMultiAxis && this.parent.chartSettings.enableMultipleAxis) {
15028
+ if (!this.chartElement && this.parent.chartSettings.enableScrollOnMultiAxis && this.parent.chartSettings.enableMultipleAxis && this.chartSettings.chartSeries.type !== 'Pareto') {
15019
15029
  this.parent.element.querySelector('.' + PIVOTCHART).innerHTML = '';
15020
15030
  this.chartElement = this.parent.element.querySelector('.' + PIVOTCHART).appendChild(createElement('div', {
15021
15031
  className: PIVOTCHART_INNER, id: this.parent.element.id + '_chartInner',
@@ -15036,7 +15046,7 @@ class PivotChart {
15036
15046
  }
15037
15047
  let height = this.getChartHeight();
15038
15048
  if (this.parent.chartSettings.enableScrollOnMultiAxis && this.parent.chartSettings.enableMultipleAxis &&
15039
- this.accumulationType.indexOf(type) < 0) {
15049
+ this.accumulationType.indexOf(type) < 0 && this.chartSettings.chartSeries.type !== 'Pareto') {
15040
15050
  this.parent.element.querySelector('.' + PIVOTCHART).style.height =
15041
15051
  (height === 'auto' ? this.getChartAutoHeight() : height) + 'px';
15042
15052
  this.parent.element.querySelector('.' + PIVOTCHART).style.width = width + 'px';
@@ -15047,7 +15057,7 @@ class PivotChart {
15047
15057
  }
15048
15058
  if (this.parent.chart && ((this.parent.chart.getModuleName() === 'accumulationchart' &&
15049
15059
  this.accumulationType.indexOf(type) < 0) || (this.parent.chart.getModuleName() === 'chart' &&
15050
- this.accumulationType.indexOf(type) > -1))) {
15060
+ this.accumulationType.indexOf(type) > -1 && this.chartSettings.chartSeries.type !== 'Pareto'))) {
15051
15061
  this.parent.chart.destroy();
15052
15062
  if (select('#' + this.parent.element.id + '_chart', this.parent.element)) {
15053
15063
  select('#' + this.parent.element.id + '_chart', this.parent.element).innerHTML = '';
@@ -15126,7 +15136,7 @@ class PivotChart {
15126
15136
  zoomSettings: currentZoomSettings,
15127
15137
  axes: (type === 'Polar' || type === 'Radar') ? [] : axesWithRows.axes,
15128
15138
  rows: (type === 'Polar' || type === 'Radar') ? [{}] :
15129
- (type === 'Bar' || type === 'StackingBar' || type === 'StackingBar100' &&
15139
+ (type === 'Bar' || type === 'StackingBar' || type === 'StackingBar100' || type === 'Pareto' &&
15130
15140
  this.chartSettings.enableMultipleAxis) ? [{ height: '100%' }] : axesWithRows.rows,
15131
15141
  columns: (type === 'Polar' || type === 'Radar') ? [{}] :
15132
15142
  (type === 'Bar' || type === 'StackingBar' || type === 'StackingBar100' &&
@@ -15136,7 +15146,7 @@ class PivotChart {
15136
15146
  width: width,
15137
15147
  height: (this.parent.chartSettings.chartSeries.type !== 'Polar' &&
15138
15148
  this.parent.chartSettings.chartSeries.type !== 'Radar' && this.parent.chartSettings.enableScrollOnMultiAxis &&
15139
- this.parent.chartSettings.enableMultipleAxis && this.parent.dataSourceSettings.values.length > 0) ?
15149
+ this.parent.chartSettings.enableMultipleAxis && this.parent.chartSettings.chartSeries.type !== 'Pareto' && this.parent.dataSourceSettings.values.length > 0) ?
15140
15150
  Number(height) > (this.parent.dataSourceSettings.values.length * 235) + 100 ? isNaN(Number(height)) ?
15141
15151
  height.toString() : (Number(height) - 5).toString() :
15142
15152
  (!isNaN(Number(height)) || this.parent.dataSourceSettings.values.length > 1) ?
@@ -15237,6 +15247,10 @@ class PivotChart {
15237
15247
  this.parent.chart.rows = [{ height: '100%' }];
15238
15248
  this.parent.chart.columns = axesWithRows.columns;
15239
15249
  }
15250
+ else if (type === 'Pareto' && this.chartSettings.enableMultipleAxis) {
15251
+ this.parent.chart.rows = [{ height: '100%' }];
15252
+ this.parent.chart.columns = [{ width: '100%' }];
15253
+ }
15240
15254
  else {
15241
15255
  this.parent.chart.rows = axesWithRows.rows;
15242
15256
  this.parent.chart.columns = [{ width: '100%' }];
@@ -15631,7 +15645,7 @@ class PivotChart {
15631
15645
  }
15632
15646
  tooltipRender(args) {
15633
15647
  let measure = args.series.yAxisName ? (args.series.yAxisName.split('_CumulativeAxis')[0]) :
15634
- ((this.chartSettings.enableMultipleAxis && this.accumulationType.indexOf(this.chartSettings.chartSeries.type) < 0) ?
15648
+ ((this.chartSettings.enableMultipleAxis && this.accumulationType.indexOf(this.chartSettings.chartSeries.type) < 0 && this.chartSettings.chartSeries.type !== 'Pareto') ?
15635
15649
  args.series.name ? args.series.name.split(' | ')[1] : args.data.seriesName ?
15636
15650
  args.data.seriesName.split(' | ')[1] : this.currentMeasure : this.measuresNames[this.currentMeasure] ?
15637
15651
  this.measuresNames[this.currentMeasure] : this.currentMeasure);
@@ -15703,7 +15717,7 @@ class PivotChart {
15703
15717
  }
15704
15718
  }
15705
15719
  if (this.parent.chartSettings.enableScrollOnMultiAxis && this.parent.chartSettings.enableMultipleAxis) {
15706
- if (['Pie', 'Funnel', 'Pyramid', 'Doughnut', 'Radar', 'Polar'].indexOf(this.parent.chartSettings.chartSeries.type) >= 0) {
15720
+ if (['Pie', 'Funnel', 'Pyramid', 'Doughnut', 'Radar', 'Polar', 'Pareto'].indexOf(this.parent.chartSettings.chartSeries.type) >= 0) {
15707
15721
  this.parent.element.querySelector('.' + PIVOTCHART).style.overflow = 'visible';
15708
15722
  }
15709
15723
  else {
@@ -16135,7 +16149,7 @@ class PivotChart {
16135
16149
  /* eslint-disable */
16136
16150
  /** @hidden */
16137
16151
  getResizedChartHeight() {
16138
- let height = ['Pie', 'Funnel', 'Pyramid', 'Doughnut', 'Radar', 'Polar'].indexOf(this.parent.chartSettings.chartSeries.type) < 0 &&
16152
+ let height = ['Pie', 'Funnel', 'Pyramid', 'Doughnut', 'Radar', 'Polar', 'Pareto'].indexOf(this.parent.chartSettings.chartSeries.type) < 0 &&
16139
16153
  this.parent.chartSettings.enableScrollOnMultiAxis && this.parent.chartSettings.enableMultipleAxis &&
16140
16154
  this.parent.dataSourceSettings.values.length > 0 ? Number(this.parent.chart.height) > (this.parent.dataSourceSettings.values.length * 235) + 100 ? /* eslint-disable-line */
16141
16155
  isNaN(Number(this.getChartHeight())) ? this.getChartHeight().toString() : (Number(this.getChartHeight()) - 5).toString() :
@@ -24155,7 +24169,7 @@ let PivotView = class PivotView extends Component {
24155
24169
  */
24156
24170
  excelExport(excelExportProperties, isMultipleExport, workbook, isBlob) {
24157
24171
  if (this.enableVirtualization && this.dataSourceSettings.mode !== 'Server') {
24158
- this.excelExportModule.exportToExcel('Excel', excelExportProperties);
24172
+ this.excelExportModule.exportToExcel('Excel', excelExportProperties, isBlob);
24159
24173
  }
24160
24174
  else {
24161
24175
  this.exportType = 'Excel';
@@ -24180,7 +24194,7 @@ let PivotView = class PivotView extends Component {
24180
24194
  */
24181
24195
  csvExport(excelExportProperties, isMultipleExport, workbook, isBlob) {
24182
24196
  if (this.enableVirtualization && this.dataSourceSettings.mode !== 'Server') {
24183
- this.excelExportModule.exportToExcel('CSV', excelExportProperties);
24197
+ this.excelExportModule.exportToExcel('CSV', excelExportProperties, isBlob);
24184
24198
  }
24185
24199
  else {
24186
24200
  this.exportType = 'CSV';
@@ -24205,7 +24219,7 @@ let PivotView = class PivotView extends Component {
24205
24219
  */
24206
24220
  pdfExport(pdfExportProperties, isMultipleExport, pdfDoc, isBlob) {
24207
24221
  if (this.enableVirtualization && this.dataSourceSettings.mode !== 'Server') {
24208
- this.pdfExportModule.exportToPDF(pdfExportProperties);
24222
+ this.pdfExportModule.exportToPDF(pdfExportProperties, isBlob);
24209
24223
  }
24210
24224
  else {
24211
24225
  this.grid.pdfExport(pdfExportProperties, isMultipleExport, pdfDoc, isBlob);
@@ -24270,7 +24284,7 @@ let PivotView = class PivotView extends Component {
24270
24284
  }
24271
24285
  if (this.dataType === 'pivot') {
24272
24286
  let clonedDrillMembers = PivotUtil.cloneDrillMemberSettings(this.dataSourceSettings.drilledMembers);
24273
- let colIndex = axis === 'row' ? Number(closest(target, 'td').getAttribute('aria-colindex')) : Number(closest(target, 'th').getAttribute('aria-colindex'));
24287
+ let colIndex = axis === 'row' ? Number(closest(target, 'td').getAttribute('data-colindex')) : Number(closest(target, 'th').getAttribute('data-colindex'));
24274
24288
  let rowIndex = axis === 'row' ? Number(closest(target, 'td').getAttribute('index')) : Number(closest(target, 'th').getAttribute('index'));
24275
24289
  let currentCell = chartDrillInfo ? chartDrillInfo.cell :
24276
24290
  this.engineModule.pivotValues[rowIndex][colIndex];
@@ -24377,7 +24391,7 @@ let PivotView = class PivotView extends Component {
24377
24391
  currentCell = chartDrillInfo.cell;
24378
24392
  }
24379
24393
  else {
24380
- let colIndex = axis === 'row' ? Number(closest(target, 'td').getAttribute('aria-colindex')) : Number(closest(target, 'th').getAttribute('aria-colindex'));
24394
+ let colIndex = axis === 'row' ? Number(closest(target, 'td').getAttribute('data-colindex')) : Number(closest(target, 'th').getAttribute('data-colindex'));
24381
24395
  let rowIndex = axis === 'row' ? Number(closest(target, 'td').getAttribute('index')) : Number(closest(target, 'th').getAttribute('index'));
24382
24396
  currentCell = this.olapEngineModule.pivotValues[rowIndex][colIndex];
24383
24397
  }
@@ -24676,6 +24690,10 @@ let PivotView = class PivotView extends Component {
24676
24690
  (mCntVScrollPos === mCntScrollPos ? (mCntScrollPos - hScrollPos) :
24677
24691
  (mCntScrollPos < mCntVScrollPos && (hScrollPos === mCntVScrollPos || hScrollPos > mCntScrollPos) ?
24678
24692
  -(mCntVScrollPos - mCntScrollPos) : 0)));
24693
+ if (this.actionObj.actionName === 'Sort value' || this.actionObj.actionName === 'Sort field') {
24694
+ let excessMove = -this.scrollPosObject.horizontalSection;
24695
+ this.scrollPosObject.horizontalSection = this.scrollPosObject.horizontalSection + excessMove;
24696
+ }
24679
24697
  horiOffset = (ele.scrollLeft > this.scrollerBrowserLimit) ?
24680
24698
  (mCnt.querySelector('.' + TABLE).style.transform.split(',')[0].trim() + ',') :
24681
24699
  'translate(' + -(((ele.scrollLeft * this.horizontalScrollScale) -
@@ -24718,7 +24736,7 @@ let PivotView = class PivotView extends Component {
24718
24736
  }
24719
24737
  }
24720
24738
  setToolTip(args) {
24721
- let colIndex = Number(args.target.getAttribute('aria-colindex'));
24739
+ let colIndex = Number(args.target.getAttribute('data-colindex'));
24722
24740
  let rowIndex = Number(args.target.getAttribute('index'));
24723
24741
  let cell = (this.dataSourceSettings.values.length > 0 && this.pivotValues &&
24724
24742
  this.pivotValues[rowIndex] && this.pivotValues[rowIndex][colIndex]) ?
@@ -24914,7 +24932,7 @@ let PivotView = class PivotView extends Component {
24914
24932
  let ele = e.target;
24915
24933
  let axis = (ele.parentElement.classList.contains(ROWSHEADER) || ele.classList.contains(ROWSHEADER)) ? 'row' : 'column';
24916
24934
  ele = axis === 'column' ? closest(ele, 'th') : closest(ele, 'td');
24917
- let colIndex = Number(ele.getAttribute('aria-colindex'));
24935
+ let colIndex = Number(ele.getAttribute('data-colindex'));
24918
24936
  let rowIndex = Number(ele.getAttribute('index'));
24919
24937
  let selectArgs = {
24920
24938
  cancel: false,
@@ -24991,7 +25009,7 @@ let PivotView = class PivotView extends Component {
24991
25009
  if (this.actionBeginMethod()) {
24992
25010
  return;
24993
25011
  }
24994
- let colIndex = Number(ele.getAttribute('aria-colindex'));
25012
+ let colIndex = Number(ele.getAttribute('data-colindex'));
24995
25013
  let rowIndex = Number(ele.getAttribute('index'));
24996
25014
  if (this.dataSourceSettings.valueAxis === 'row' && (this.dataSourceSettings.values.length > 1 || this.dataSourceSettings.alwaysShowValueHeader)) {
24997
25015
  let header = this.pivotValues[rowIndex][colIndex];
@@ -25005,13 +25023,13 @@ let PivotView = class PivotView extends Component {
25005
25023
  }
25006
25024
  }
25007
25025
  else if (this.dataSourceSettings.valueAxis === 'column' && (this.dataSourceSettings.values.length > 1 || this.dataSourceSettings.alwaysShowValueHeader)) {
25008
- colIndex = (Number(ele.getAttribute('aria-colindex')) + Number(ele.getAttribute('aria-colspan')) - 1);
25026
+ colIndex = (Number(ele.getAttribute('data-colindex')) + Number(ele.getAttribute('aria-colspan')) - 1);
25009
25027
  rowIndex = this.engineModule.headerContent.length - 1;
25010
25028
  }
25011
25029
  this.setProperties({
25012
25030
  dataSourceSettings: {
25013
25031
  valueSortSettings: {
25014
- columnIndex: (Number(ele.getAttribute('aria-colindex')) +
25032
+ columnIndex: (Number(ele.getAttribute('data-colindex')) +
25015
25033
  Number(ele.getAttribute('aria-colspan')) - 1),
25016
25034
  sortOrder: this.dataSourceSettings.valueSortSettings.sortOrder === 'Descending' ? 'Ascending' : 'Descending',
25017
25035
  headerText: this.pivotValues[rowIndex][colIndex].valueSort.levelName,
@@ -25353,7 +25371,7 @@ let PivotView = class PivotView extends Component {
25353
25371
  }
25354
25372
  /* eslint-disable */
25355
25373
  if (ele && !isNullOrUndefined(this.pivotValues) && this.pivotValues.length > 0) {
25356
- let colIndex = Number(ele.getAttribute('aria-colindex'));
25374
+ let colIndex = Number(ele.getAttribute('data-colindex'));
25357
25375
  let rowIndex = Number(ele.getAttribute('index'));
25358
25376
  let colSpan = Number(ele.getAttribute('aria-colspan'));
25359
25377
  let selectArgs = {
@@ -25521,10 +25539,10 @@ let PivotView = class PivotView extends Component {
25521
25539
  if (!isCtrl || type === 'Single') {
25522
25540
  for (let ele of [].slice.call(this.element.querySelectorAll('.' + CELL_ACTIVE_BGCOLOR))) {
25523
25541
  removeClass([ele], [CELL_ACTIVE_BGCOLOR, SELECTED_BGCOLOR]);
25524
- if (activeColumns.indexOf(ele.getAttribute('aria-colindex')) === -1) {
25542
+ if (activeColumns.indexOf(ele.getAttribute('data-colindex')) === -1) {
25525
25543
  isToggle = false;
25526
25544
  }
25527
- let colIndex = Number(ele.getAttribute('aria-colindex'));
25545
+ let colIndex = Number(ele.getAttribute('data-colindex'));
25528
25546
  actColPos[colIndex] = colIndex;
25529
25547
  }
25530
25548
  activeColumns = Object.keys(actColPos).length > 0 ? Object.keys(actColPos).sort(function (a, b) {
@@ -25555,7 +25573,7 @@ let PivotView = class PivotView extends Component {
25555
25573
  }
25556
25574
  let count = colStart;
25557
25575
  while (count <= colEnd) {
25558
- queryStringArray.push('[aria-colindex="' + count + '"]' + (this.gridSettings.selectionSettings.mode === 'Cell' ?
25576
+ queryStringArray.push('[data-colindex="' + count + '"]' + (this.gridSettings.selectionSettings.mode === 'Cell' ?
25559
25577
  '[index="' + rowStart + '"]' : "") + '');
25560
25578
  count++;
25561
25579
  }
@@ -25581,20 +25599,20 @@ let PivotView = class PivotView extends Component {
25581
25599
  control.savedSelectedCellsPos = [];
25582
25600
  control.cellSelectionPos = [];
25583
25601
  for (let ele of [].slice.call(this.element.querySelectorAll('.' + SELECTED_BGCOLOR))) {
25584
- control.savedSelectedCellsPos.push({ rowIndex: ele.getAttribute('index'), colIndex: ele.getAttribute('aria-colindex') });
25602
+ control.savedSelectedCellsPos.push({ rowIndex: ele.getAttribute('index'), colIndex: ele.getAttribute('data-colindex') });
25585
25603
  }
25586
25604
  for (let ele of [].slice.call(this.element.querySelectorAll('.' + CELL_SELECTED_BGCOLOR))) {
25587
- control.cellSelectionPos.push({ rowIndex: ele.getAttribute('index'), colIndex: ele.getAttribute('aria-colindex') });
25605
+ control.cellSelectionPos.push({ rowIndex: ele.getAttribute('index'), colIndex: ele.getAttribute('data-colindex') });
25588
25606
  }
25589
25607
  }
25590
25608
  setSavedSelectedCells() {
25591
25609
  let control = this;
25592
25610
  for (let item of [].slice.call(this.savedSelectedCellsPos)) {
25593
- let query = '[aria-colindex="' + item.colIndex + '"][index="' + item.rowIndex + '"]';
25611
+ let query = '[data-colindex="' + item.colIndex + '"][index="' + item.rowIndex + '"]';
25594
25612
  addClass([control.element.querySelector(query)], [CELL_ACTIVE_BGCOLOR, SELECTED_BGCOLOR]);
25595
25613
  }
25596
25614
  for (let item of [].slice.call(this.cellSelectionPos)) {
25597
- let query = '[aria-colindex="' + item.colIndex + '"][index="' + item.rowIndex + '"]';
25615
+ let query = '[data-colindex="' + item.colIndex + '"][index="' + item.rowIndex + '"]';
25598
25616
  addClass([control.element.querySelector(query)], [CELL_SELECTED_BGCOLOR]);
25599
25617
  }
25600
25618
  }
@@ -26625,6 +26643,9 @@ __decorate([
26625
26643
  __decorate([
26626
26644
  Event()
26627
26645
  ], PivotView.prototype, "beforeExport", void 0);
26646
+ __decorate([
26647
+ Event()
26648
+ ], PivotView.prototype, "exportComplete", void 0);
26628
26649
  __decorate([
26629
26650
  Event()
26630
26651
  ], PivotView.prototype, "conditionalFormatting", void 0);
@@ -27005,7 +27026,7 @@ class ExcelExport$1 {
27005
27026
  * Method to perform excel export.
27006
27027
  * @hidden
27007
27028
  */
27008
- exportToExcel(type, exportProperties) {
27029
+ exportToExcel(type, exportProperties, isBlob) {
27009
27030
  this.rows = [];
27010
27031
  this.actualrCnt = 0;
27011
27032
  let isHeaderSet = !isNullOrUndefined(exportProperties) && !isNullOrUndefined(exportProperties.header);
@@ -27192,12 +27213,21 @@ class ExcelExport$1 {
27192
27213
  workSheets.push({ columns: columns, rows: this.rows });
27193
27214
  }
27194
27215
  let book = new Workbook({ worksheets: workSheets }, type === 'Excel' ? 'xlsx' : 'csv', undefined, this.parent.currencyCode);
27195
- if ('.xlsx' === fileName.substring(fileName.length - 5, fileName.length) || '.csv' === fileName.substring(fileName.length - 4, fileName.length)) {
27196
- book.save(fileName);
27216
+ let fileExtension = fileName.split(".").pop();
27217
+ let blobData;
27218
+ if (!isBlob) {
27219
+ book.save(fileExtension === "xlsx" || fileExtension === "csv" ?
27220
+ fileName : (fileName + (type === 'Excel' ? '.xlsx' : '.csv')));
27197
27221
  }
27198
27222
  else {
27199
- book.save(fileName + (type === 'Excel' ? '.xlsx' : '.csv'));
27223
+ blobData = book.saveAsBlob(fileExtension === "xlsx" || type === 'Excel' ?
27224
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' : 'text/csv');
27200
27225
  }
27226
+ let exportCompleteEventArgs = {
27227
+ type: type,
27228
+ promise: isBlob ? blobData : null
27229
+ };
27230
+ this.parent.trigger(exportComplete, exportCompleteEventArgs);
27201
27231
  }
27202
27232
  /**
27203
27233
  * To destroy the excel export module
@@ -27376,7 +27406,7 @@ class PDFExport {
27376
27406
  * @hidden
27377
27407
  */
27378
27408
  /* eslint-disable */
27379
- exportToPDF(pdfExportProperties) {
27409
+ exportToPDF(pdfExportProperties, isBlob) {
27380
27410
  this.engine = this.parent.dataType === 'olap' ? this.parent.olapEngineModule : this.parent.engineModule;
27381
27411
  let eventParams = this.applyEvent();
27382
27412
  let headerStyle = this.getStyle();
@@ -27567,7 +27597,18 @@ class PDFExport {
27567
27597
  integratedCnt = 0;
27568
27598
  }
27569
27599
  } while (integratedCnt < colLength);
27570
- eventParams.document.save(eventParams.args.fileName + '.pdf');
27600
+ let blobData;
27601
+ if (!isBlob) {
27602
+ eventParams.document.save(eventParams.args.fileName + '.pdf');
27603
+ }
27604
+ else {
27605
+ blobData = eventParams.document.save();
27606
+ }
27607
+ let exportCompleteEventArgs = {
27608
+ type: 'PDF',
27609
+ promise: isBlob ? blobData : null
27610
+ };
27611
+ this.parent.trigger(exportComplete, exportCompleteEventArgs);
27571
27612
  eventParams.document.destroy();
27572
27613
  }
27573
27614
  applyStyle(pdfGridRow, pivotCell, localCnt) {
@@ -32471,6 +32512,7 @@ class CalculatedField {
32471
32512
  this.isFormula = false;
32472
32513
  /** @hidden */
32473
32514
  this.isRequireUpdate = false;
32515
+ this.formatTypes = ['Standard', 'Currency', 'Percent', 'Custom', 'None'];
32474
32516
  this.parent = parent;
32475
32517
  this.existingReport = null;
32476
32518
  this.parent.calculatedFieldModule = this;
@@ -32576,7 +32618,7 @@ class CalculatedField {
32576
32618
  this.fieldText = node.getAttribute('data-caption');
32577
32619
  this.formulaText = node.getAttribute('data-formula');
32578
32620
  this.formatType = node.getAttribute('data-formatString');
32579
- this.formatText = this.formatType === 'Custom' ? node.getAttribute('data-customString') : null;
32621
+ this.formatText = this.formatType === 'Custom' ? node.getAttribute('data-customformatstring') : null;
32580
32622
  this.fieldType = node.getAttribute('data-membertype');
32581
32623
  this.parentHierarchy = this.fieldType === 'Dimension' ? node.getAttribute('data-hierarchy') : null;
32582
32624
  addClass([node.querySelector('.e-list-edit-icon')], CALC_EDITED);
@@ -32606,11 +32648,19 @@ class CalculatedField {
32606
32648
  closest(e.originalEvent.target, '.e-acrdn-header-icon')) {
32607
32649
  let node = closest(e.originalEvent.target, '.e-acrdn-header').querySelector('.' + CALCCHECK);
32608
32650
  let fieldName = node.getAttribute('data-field');
32651
+ let captionName = node.getAttribute('data-caption');
32609
32652
  let formatObj = PivotUtil.getFieldByName(fieldName, this.parent.dataSourceSettings.formatSettings);
32610
32653
  let optionElement = closest(e.originalEvent.target, '.e-acrdn-header-icon');
32654
+ if (formatObj) {
32655
+ let pivotFormat = this.getFormat(formatObj.format);
32656
+ let formatString = (pivotFormat ? this.formatTypes.indexOf(pivotFormat) > -1 ?
32657
+ formatObj.format : 'Custom' : 'None');
32658
+ this.formatType = formatString;
32659
+ }
32611
32660
  if (optionElement.querySelector('.' + CALC_EDIT) && e.originalEvent.target.classList.contains(CALC_EDIT)) {
32612
32661
  this.isEdit = true;
32613
- this.currentFieldName = this.fieldText = fieldName;
32662
+ this.currentFieldName = fieldName;
32663
+ this.fieldText = captionName ? captionName : fieldName;
32614
32664
  this.formulaText = this.parent.engineModule.fieldList[fieldName].formula;
32615
32665
  this.formatText = formatObj ? formatObj.format : '';
32616
32666
  addClass([optionElement.querySelector('.e-list-icon')], CALC_EDITED);
@@ -32679,16 +32729,16 @@ class CalculatedField {
32679
32729
  this.inputObj.dataBind();
32680
32730
  let formatString = node.getAttribute('data-formatString');
32681
32731
  let dialogElement = this.dialog.element;
32732
+ let ddlFormatTypes = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
32682
32733
  let customFormat = getInstance(select('#' + this.parentID + 'Custom_Format_Element', dialogElement), MaskedTextBox);
32734
+ let customFormatString = node.getAttribute('data-customformatstring');
32683
32735
  if (this.parent.dataType === 'olap') {
32684
32736
  let memberType = node.getAttribute('data-membertype');
32685
32737
  let parentHierarchy = node.getAttribute('data-hierarchy');
32686
32738
  let expression = node.getAttribute('data-formula');
32687
- let customString = node.getAttribute('data-customString');
32688
32739
  let fieldTitle = select('#' + this.parentID + '_' + 'FieldNameTitle', dialogElement);
32689
32740
  let memberTypeDrop = getInstance(select('#' + this.parentID + 'Member_Type_Div', dialogElement), DropDownList);
32690
32741
  let hierarchyDrop = getInstance(select('#' + this.parentID + 'Hierarchy_List_Div', dialogElement), DropDownList);
32691
- let formatDrop = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
32692
32742
  /* eslint-enable max-len */
32693
32743
  fieldTitle.innerHTML = this.parent.localeObj.getConstant('caption');
32694
32744
  select('#' + this.parentID + 'droppable', document).value = expression;
@@ -32698,14 +32748,8 @@ class CalculatedField {
32698
32748
  if (memberType === 'Dimension') {
32699
32749
  hierarchyDrop.value = parentHierarchy;
32700
32750
  }
32701
- if (formatString !== '') {
32702
- formatDrop.value = formatString;
32703
- formatDrop.dataBind();
32704
- }
32705
- customFormat.value = customString;
32706
32751
  }
32707
32752
  else {
32708
- customFormat.value = formatString;
32709
32753
  addClass(this.treeObj.element.querySelectorAll('.' + CALC_EDITED), CALC_EDIT);
32710
32754
  removeClass(this.treeObj.element.querySelectorAll('.' + CALC_EDITED), CALC_EDITED);
32711
32755
  addClass([node.querySelector('.e-list-icon')], CALC_EDITED);
@@ -32713,6 +32757,11 @@ class CalculatedField {
32713
32757
  node.querySelector('.' + CALC_EDITED).setAttribute('title', this.parent.localeObj.getConstant('clearCalculatedField'));
32714
32758
  select('#' + this.parentID + 'droppable', document).value = node.getAttribute('data-uid');
32715
32759
  }
32760
+ if (formatString !== '') {
32761
+ ddlFormatTypes.value = formatString;
32762
+ ddlFormatTypes.dataBind();
32763
+ }
32764
+ customFormat.value = customFormatString;
32716
32765
  customFormat.dataBind();
32717
32766
  }
32718
32767
  else if (node.tagName === 'LI' && (node.querySelector('.' + CALC_EDITED) &&
@@ -32727,15 +32776,15 @@ class CalculatedField {
32727
32776
  customFormat.dataBind();
32728
32777
  if (this.parent.dataType === 'olap') {
32729
32778
  let hierarchyDrop = getInstance(select('#' + this.parentID + 'Hierarchy_List_Div', dialogElement), DropDownList);
32730
- let formatDrop = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
32779
+ let ddlFormatTypes = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
32731
32780
  let memberTypeDrop = getInstance(select('#' + this.parentID + 'Member_Type_Div', dialogElement), DropDownList);
32732
32781
  let fieldTitle = select('#' + this.parentID + '_' + 'FieldNameTitle', dialogElement);
32733
32782
  /* eslint-enable max-len */
32734
32783
  fieldTitle.innerHTML = this.parent.localeObj.getConstant('fieldTitle');
32735
32784
  hierarchyDrop.index = 0;
32736
32785
  hierarchyDrop.dataBind();
32737
- formatDrop.index = 0;
32738
- formatDrop.dataBind();
32786
+ ddlFormatTypes.index = 0;
32787
+ ddlFormatTypes.dataBind();
32739
32788
  memberTypeDrop.index = 0;
32740
32789
  memberTypeDrop.readonly = false;
32741
32790
  memberTypeDrop.dataBind();
@@ -33120,18 +33169,15 @@ class CalculatedField {
33120
33169
  caption: this.inputObj.value,
33121
33170
  formula: dropField.value
33122
33171
  };
33172
+ let ddlFormatTypes = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
33173
+ field.formatString = (ddlFormatTypes.value === 'Custom' ? customFormat.value : (ddlFormatTypes.value === 'None' ? null : ddlFormatTypes.value));
33123
33174
  if (this.parent.dataType === 'olap') {
33124
- let formatDrop = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
33125
33175
  let memberTypeDrop = getInstance(select('#' + this.parentID + 'Member_Type_Div', dialogElement), DropDownList);
33126
33176
  let hierarchyDrop = getInstance(select('#' + this.parentID + 'Hierarchy_List_Div', dialogElement), DropDownList);
33127
- field.formatString = (formatDrop.value === 'Custom' ? customFormat.value : (formatDrop.value === 'None' ? null : formatDrop.value));
33128
33177
  if (memberTypeDrop.value === 'Dimension') {
33129
33178
  field.hierarchyUniqueName = hierarchyDrop.value;
33130
33179
  }
33131
33180
  }
33132
- else {
33133
- field.formatString = customFormat.value;
33134
- }
33135
33181
  return field;
33136
33182
  }
33137
33183
  /* eslint-enable max-len */
@@ -33212,21 +33258,21 @@ class CalculatedField {
33212
33258
  select('#' + this.parentID + 'droppable', this.parent.dialogRenderer.parentElement).value = '';
33213
33259
  select('#' + this.parentID + 'Custom_Format_Element', this.parent.dialogRenderer.parentElement).value = '';
33214
33260
  if (this.parent.dataType === 'olap') {
33215
- let customFormat = getInstance(select('#' + this.parentID + 'Custom_Format_Element', dialogElement), MaskedTextBox);
33216
- let formatDrop = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
33217
33261
  let memberTypeDrop = getInstance(select('#' + this.parentID + 'Member_Type_Div', dialogElement), DropDownList);
33218
33262
  let hierarchyDrop = getInstance(select('#' + this.parentID + 'Hierarchy_List_Div', dialogElement), DropDownList);
33219
- formatDrop.index = 0;
33220
- formatDrop.dataBind();
33221
33263
  memberTypeDrop.index = 0;
33222
33264
  memberTypeDrop.readonly = false;
33223
33265
  memberTypeDrop.dataBind();
33224
33266
  hierarchyDrop.index = 0;
33225
33267
  hierarchyDrop.enabled = false;
33226
33268
  hierarchyDrop.dataBind();
33227
- customFormat.enabled = false;
33228
- customFormat.dataBind();
33229
33269
  }
33270
+ let customFormat = getInstance(select('#' + this.parentID + 'Custom_Format_Element', dialogElement), MaskedTextBox);
33271
+ let ddlFormatTypes = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
33272
+ ddlFormatTypes.index = this.parent.dataType === 'olap' ? 0 : 4;
33273
+ ddlFormatTypes.dataBind();
33274
+ customFormat.enabled = false;
33275
+ customFormat.dataBind();
33230
33276
  /* eslint-enable max-len */
33231
33277
  }
33232
33278
  }
@@ -33515,7 +33561,7 @@ class CalculatedField {
33515
33561
  className: (this.parent.dataType === 'olap' ? OLAP_CALCOUTERDIV + ' ' : '') + CALCOUTERDIV
33516
33562
  });
33517
33563
  let olapFieldTreeDiv = createElement('div', { id: this.parentID + 'Olap_Tree_Div', className: 'e-olap-field-tree-div' });
33518
- let olapCalcDiv = createElement('div', { id: this.parentID + 'Olap_Calc_Div', className: 'e-olap-calculated-div' });
33564
+ let pivotCalcDiv = createElement('div', { id: this.parentID + 'Pivot_Calc_Div', className: 'e-pivot-calculated-div' });
33519
33565
  if (this.parent.getModuleName() === 'pivotfieldlist' && this.parent.
33520
33566
  dialogRenderer.parentElement.querySelector('.' + FORMULA) !== null && this.parent.isAdaptive) {
33521
33567
  let accordDiv = createElement('div', { id: this.parentID + 'accordDiv', className: CALCACCORD });
@@ -33539,7 +33585,7 @@ class CalculatedField {
33539
33585
  className: PIVOT_FIELD_TITLE_CLASS, id: this.parentID + '_' + 'FieldNameTitle',
33540
33586
  innerHTML: this.parent.localeObj.getConstant('fieldTitle')
33541
33587
  });
33542
- olapCalcDiv.appendChild(formulaTitle);
33588
+ pivotCalcDiv.appendChild(formulaTitle);
33543
33589
  }
33544
33590
  let inputDiv = createElement('div', { id: this.parentID + 'outerDiv', className: CALCINPUTDIV });
33545
33591
  let inputObj = createElement('input', {
@@ -33548,7 +33594,7 @@ class CalculatedField {
33548
33594
  className: CALCINPUT
33549
33595
  });
33550
33596
  inputDiv.appendChild(inputObj);
33551
- (this.parent.dataType === 'olap' && !this.parent.isAdaptive ? olapCalcDiv.appendChild(inputDiv) : outerDiv.appendChild(inputDiv));
33597
+ (this.parent.dataType === 'olap' && !this.parent.isAdaptive ? pivotCalcDiv.appendChild(inputDiv) : outerDiv.appendChild(inputDiv));
33552
33598
  let wrapDiv = createElement('div', { id: this.parentID + 'control_container', className: TREEVIEWOUTER });
33553
33599
  if (!this.parent.isAdaptive) {
33554
33600
  let fieldTitle = createElement('div', {
@@ -33595,7 +33641,7 @@ class CalculatedField {
33595
33641
  innerHTML: (this.parent.dataType === 'olap' ? this.parent.localeObj.getConstant('expressionField') :
33596
33642
  this.parent.localeObj.getConstant('formula'))
33597
33643
  });
33598
- (this.parent.dataType === 'olap' ? olapCalcDiv.appendChild(formulaTitle) : outerDiv.appendChild(formulaTitle));
33644
+ (this.parent.dataType === 'olap' ? pivotCalcDiv.appendChild(formulaTitle) : outerDiv.appendChild(formulaTitle));
33599
33645
  }
33600
33646
  let dropDiv = createElement('textarea', {
33601
33647
  id: this.parentID + 'droppable',
@@ -33606,7 +33652,7 @@ class CalculatedField {
33606
33652
  this.parent.localeObj.getConstant('dropText'))
33607
33653
  }
33608
33654
  });
33609
- (this.parent.dataType === 'olap' && !this.parent.isAdaptive ? olapCalcDiv.appendChild(dropDiv) : outerDiv.appendChild(dropDiv));
33655
+ (this.parent.dataType === 'olap' && !this.parent.isAdaptive ? pivotCalcDiv.appendChild(dropDiv) : outerDiv.appendChild(dropDiv));
33610
33656
  if (this.parent.isAdaptive) {
33611
33657
  let buttonDiv = createElement('div', { id: this.parentID + 'buttonDiv', className: CALCBUTTONDIV });
33612
33658
  let okBtn = createElement('button', {
@@ -33622,63 +33668,51 @@ class CalculatedField {
33622
33668
  className: OLAP_MEMBER_TITLE_CLASS,
33623
33669
  innerHTML: this.parent.localeObj.getConstant('memberType')
33624
33670
  });
33625
- olapCalcDiv.appendChild(memberTypeTitle);
33671
+ pivotCalcDiv.appendChild(memberTypeTitle);
33626
33672
  }
33627
33673
  let memberTypeDrop = createElement('div', { id: this.parentID + 'Member_Type_Div', className: CALC_MEMBER_TYPE_DIV });
33628
- (this.parent.isAdaptive ? outerDiv.appendChild(memberTypeDrop) : olapCalcDiv.appendChild(memberTypeDrop));
33674
+ (this.parent.isAdaptive ? outerDiv.appendChild(memberTypeDrop) : pivotCalcDiv.appendChild(memberTypeDrop));
33629
33675
  if (!this.parent.isAdaptive) {
33630
33676
  let hierarchyTitle = createElement('div', {
33631
33677
  className: OLAP_HIERARCHY_TITLE_CLASS,
33632
33678
  innerHTML: this.parent.localeObj.getConstant('selectedHierarchy')
33633
33679
  });
33634
- olapCalcDiv.appendChild(hierarchyTitle);
33680
+ pivotCalcDiv.appendChild(hierarchyTitle);
33635
33681
  }
33636
33682
  let hierarchyDrop = createElement('div', { id: this.parentID + 'Hierarchy_List_Div', className: CALC_HIERARCHY_LIST_DIV });
33637
- (this.parent.isAdaptive ? outerDiv.appendChild(hierarchyDrop) : olapCalcDiv.appendChild(hierarchyDrop));
33638
- if (!this.parent.isAdaptive) {
33639
- let formatTitle = createElement('div', {
33640
- className: OLAP_FORMAT_TITLE_CLASS,
33641
- innerHTML: this.parent.localeObj.getConstant('formatString')
33642
- });
33643
- olapCalcDiv.appendChild(formatTitle);
33644
- }
33645
- let formatDrop = createElement('div', { id: this.parentID + 'Format_Div', className: CALC_FORMAT_TYPE_DIV });
33646
- (this.parent.isAdaptive ? outerDiv.appendChild(formatDrop) : olapCalcDiv.appendChild(formatDrop));
33647
- let customFormatDiv = createElement('div', { id: this.parentID + 'custom_Format_Div', className: OLAP_CALC_CUSTOM_FORMAT_INPUTDIV });
33648
- let customFormatObj = createElement('input', {
33649
- id: this.parentID + 'Custom_Format_Element',
33650
- attrs: { 'type': 'text' },
33651
- className: CALC_FORMAT_INPUT
33683
+ (this.parent.isAdaptive ? outerDiv.appendChild(hierarchyDrop) : pivotCalcDiv.appendChild(hierarchyDrop));
33684
+ }
33685
+ if (!this.parent.isAdaptive) {
33686
+ let formatTitle = createElement('div', {
33687
+ className: PIVOT_FORMAT_TITLE_CLASS,
33688
+ innerHTML: this.parent.localeObj.getConstant('formatString')
33652
33689
  });
33653
- customFormatDiv.appendChild(customFormatObj);
33654
- olapCalcDiv.appendChild(customFormatDiv);
33655
- (this.parent.isAdaptive ? outerDiv.appendChild(customFormatDiv) : olapCalcDiv.appendChild(customFormatDiv));
33656
- if (this.parent.getModuleName() === 'pivotfieldlist' && this.parent.
33657
- dialogRenderer.parentElement.querySelector('.' + FORMULA) === null && this.parent.isAdaptive) {
33658
- let okBtn = outerDiv.querySelector('.' + CALCOKBTN);
33659
- outerDiv.appendChild(okBtn);
33660
- }
33661
- else {
33662
- outerDiv.appendChild(olapFieldTreeDiv);
33663
- outerDiv.appendChild(olapCalcDiv);
33664
- }
33690
+ pivotCalcDiv.appendChild(formatTitle);
33691
+ }
33692
+ let ddlFormatTypes = createElement('div', { id: this.parentID + 'Format_Div', className: CALC_FORMAT_TYPE_DIV });
33693
+ (this.parent.isAdaptive ? outerDiv.appendChild(ddlFormatTypes) : pivotCalcDiv.appendChild(ddlFormatTypes));
33694
+ let customFormatDiv = createElement('div', {
33695
+ id: this.parentID + 'custom_Format_Div',
33696
+ className: PIVOT_CALC_CUSTOM_FORMAT_INPUTDIV
33697
+ });
33698
+ let customFormatObj = createElement('input', {
33699
+ id: this.parentID + 'Custom_Format_Element',
33700
+ attrs: { 'type': 'text' },
33701
+ className: CALC_FORMAT_INPUT
33702
+ });
33703
+ customFormatDiv.appendChild(customFormatObj);
33704
+ pivotCalcDiv.appendChild(customFormatDiv);
33705
+ (this.parent.isAdaptive ? outerDiv.appendChild(customFormatDiv) : pivotCalcDiv.appendChild(customFormatDiv));
33706
+ if (this.parent.getModuleName() === 'pivotfieldlist' && this.parent.
33707
+ dialogRenderer.parentElement.querySelector('.' + FORMULA) === null && this.parent.isAdaptive) {
33708
+ let okBtn = outerDiv.querySelector('.' + CALCOKBTN);
33709
+ outerDiv.appendChild(okBtn);
33665
33710
  }
33666
33711
  else {
33667
- let customFormatDiv = createElement('div', { id: this.parentID + 'custom_Format_Div', className: CALC_CUSTOM_FORMAT_INPUTDIV });
33668
- if (!this.parent.isAdaptive) {
33669
- let formatTitle = createElement('div', {
33670
- className: OLAP_FORMAT_TITLE_CLASS,
33671
- innerHTML: this.parent.localeObj.getConstant('formatString')
33672
- });
33673
- customFormatDiv.appendChild(formatTitle);
33712
+ if (this.parent.dataType === 'olap') {
33713
+ outerDiv.appendChild(olapFieldTreeDiv);
33674
33714
  }
33675
- let customFormatObj = createElement('input', {
33676
- id: this.parentID + 'Custom_Format_Element',
33677
- attrs: { 'type': 'text' },
33678
- className: CALC_FORMAT_INPUT
33679
- });
33680
- customFormatDiv.appendChild(customFormatObj);
33681
- (this.parent.isAdaptive ? outerDiv.insertBefore(customFormatDiv, select('#' + this.parentID + 'buttonDiv', outerDiv)) : outerDiv.appendChild(customFormatDiv));
33715
+ outerDiv.appendChild(pivotCalcDiv);
33682
33716
  }
33683
33717
  }
33684
33718
  return outerDiv;
@@ -33703,12 +33737,12 @@ class CalculatedField {
33703
33737
  this.parentHierarchy = this.fieldType === 'Dimension' ? hierarchyDrop.value : null;
33704
33738
  }
33705
33739
  if (dialogElement.element.querySelector('.' + CALC_FORMAT_TYPE_DIV)) {
33706
- let formatDrop = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement.element), DropDownList);
33707
- this.formatType = formatDrop.value;
33740
+ let ddlFormatTypes = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement.element), DropDownList);
33741
+ this.formatType = ddlFormatTypes.value;
33708
33742
  }
33709
33743
  if (dialogElement.element.querySelector('.' + CALC_FORMAT_INPUT)) {
33710
33744
  let customFormat = getInstance(select('#' + this.parentID + 'Custom_Format_Element', dialogElement.element), MaskedTextBox);
33711
- this.formatText = this.parent.dataType === 'olap' ? this.formatType === 'Custom' ? customFormat.value : null : customFormat.value;
33745
+ this.formatText = (this.parent.dataType === 'olap' ? this.formatType : this.getFormat(this.formatType)) === 'Custom' ? customFormat.value : null;
33712
33746
  }
33713
33747
  }
33714
33748
  else {
@@ -33754,9 +33788,8 @@ class CalculatedField {
33754
33788
  hierarchyDrop.dataBind();
33755
33789
  }
33756
33790
  if (dialogElement.querySelector('.' + CALC_FORMAT_TYPE_DIV)) {
33757
- let formatStringData = ['Standard', 'Currency', 'Percent', 'None'];
33758
- let formatDrop = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
33759
- this.formatType = formatDrop.value = (formatStringData.indexOf(calcInfo.formatString) > -1 ? calcInfo.formatString : 'Custom');
33791
+ let ddlFormatTypes = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
33792
+ this.formatType = ddlFormatTypes.value = (this.formatTypes.indexOf(calcInfo.formatString) > -1 ? calcInfo.formatString : 'Custom');
33760
33793
  }
33761
33794
  if (dialogElement.querySelector('.' + CALC_FORMAT_INPUT)) {
33762
33795
  let customFormat = getInstance(select('#' + this.parentID + 'Custom_Format_Element', dialogElement), MaskedTextBox);
@@ -33775,63 +33808,65 @@ class CalculatedField {
33775
33808
  * To create treeview.
33776
33809
  * @returns {void}
33777
33810
  */
33778
- createOlapDropElements() {
33811
+ createDropElements() {
33779
33812
  let dialogElement = (this.parent.isAdaptive ?
33780
33813
  this.parent.dialogRenderer.parentElement : this.dialog.element);
33781
- let mData = [];
33782
33814
  let fData = [];
33783
33815
  let fieldData = [];
33784
- let memberTypeData = ['Measure', 'Dimension'];
33785
- let formatStringData = ['Standard', 'Currency', 'Percent', 'Custom', 'None'];
33786
- for (let type of memberTypeData) {
33787
- mData.push({ value: type, text: this.parent.localeObj.getConstant(type) });
33788
- }
33789
- for (let format of formatStringData) {
33790
- fData.push({ value: format, text: this.parent.localeObj.getConstant(format) });
33791
- }
33792
- let fields = PivotUtil.getClonedData(this.parent.olapEngineModule.fieldListData);
33793
- for (let item of fields) {
33794
- if (item.spriteCssClass &&
33795
- (item.spriteCssClass.indexOf('e-attributeCDB-icon') > -1 ||
33796
- item.spriteCssClass.indexOf('e-hierarchyCDB-icon') > -1)) {
33797
- fieldData.push({ value: item.id, text: item.caption });
33798
- }
33816
+ for (let format of this.formatTypes) {
33817
+ fData.push({ value: (this.parent.dataType === 'pivot' ? this.getFormat(format) : format), text: this.parent.localeObj.getConstant(format) });
33799
33818
  }
33800
- let memberTypeObj = new DropDownList({
33801
- dataSource: mData, enableRtl: this.parent.enableRtl, locale: this.parent.locale,
33802
- fields: { value: 'value', text: 'text' },
33803
- value: this.fieldType !== null ? this.fieldType : mData[0].value,
33804
- readonly: this.isEdit,
33805
- cssClass: MEMBER_OPTIONS_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), width: '100%',
33806
- change: (args) => {
33807
- hierarchyListObj.enabled = args.value === 'Dimension' ? true : false;
33808
- this.fieldType = args.value;
33809
- this.formulaText = select('#' + this.parentID + 'droppable', document).value;
33810
- hierarchyListObj.dataBind();
33819
+ if (this.parent.dataType === 'olap') {
33820
+ let mData = [];
33821
+ let memberTypeData = ['Measure', 'Dimension'];
33822
+ for (let type of memberTypeData) {
33823
+ mData.push({ value: type, text: this.parent.localeObj.getConstant(type) });
33811
33824
  }
33812
- });
33813
- memberTypeObj.isStringTemplate = true;
33814
- memberTypeObj.appendTo(select('#' + this.parentID + 'Member_Type_Div', dialogElement));
33815
- let hierarchyListObj = new DropDownList({
33816
- dataSource: fieldData, enableRtl: this.parent.enableRtl, locale: this.parent.locale,
33817
- allowFiltering: true,
33818
- enabled: memberTypeObj.value === 'Dimension' ? true : false,
33819
- filterBarPlaceholder: this.parent.localeObj.getConstant('example') + ' ' + fieldData[0].text.toString(),
33820
- fields: { value: 'value', text: 'text' },
33821
- value: this.parentHierarchy !== null && memberTypeObj.value === 'Dimension' ?
33822
- this.parentHierarchy : fieldData[0].value,
33823
- cssClass: MEMBER_OPTIONS_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), width: '100%',
33824
- change: (args) => {
33825
- this.parentHierarchy = args.value;
33826
- this.formulaText = select('#' + this.parentID + 'droppable', document).value;
33825
+ let fields = PivotUtil.getClonedData(this.parent.olapEngineModule.fieldListData);
33826
+ for (let item of fields) {
33827
+ if (item.spriteCssClass &&
33828
+ (item.spriteCssClass.indexOf('e-attributeCDB-icon') > -1 ||
33829
+ item.spriteCssClass.indexOf('e-hierarchyCDB-icon') > -1)) {
33830
+ fieldData.push({ value: item.id, text: item.caption });
33831
+ }
33827
33832
  }
33828
- });
33829
- hierarchyListObj.isStringTemplate = true;
33830
- hierarchyListObj.appendTo(select('#' + this.parentID + 'Hierarchy_List_Div', dialogElement));
33833
+ let memberTypeObj = new DropDownList({
33834
+ dataSource: mData, enableRtl: this.parent.enableRtl, locale: this.parent.locale,
33835
+ fields: { value: 'value', text: 'text' },
33836
+ value: this.fieldType !== null ? this.fieldType : mData[0].value,
33837
+ readonly: this.isEdit,
33838
+ cssClass: MEMBER_OPTIONS_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), width: '100%',
33839
+ change: (args) => {
33840
+ hierarchyListObj.enabled = args.value === 'Dimension' ? true : false;
33841
+ this.fieldType = args.value;
33842
+ this.formulaText = select('#' + this.parentID + 'droppable', document).value;
33843
+ hierarchyListObj.dataBind();
33844
+ }
33845
+ });
33846
+ memberTypeObj.isStringTemplate = true;
33847
+ memberTypeObj.appendTo(select('#' + this.parentID + 'Member_Type_Div', dialogElement));
33848
+ let hierarchyListObj = new DropDownList({
33849
+ dataSource: fieldData, enableRtl: this.parent.enableRtl, locale: this.parent.locale,
33850
+ allowFiltering: true,
33851
+ enabled: memberTypeObj.value === 'Dimension' ? true : false,
33852
+ filterBarPlaceholder: this.parent.localeObj.getConstant('example') + ' ' + fieldData[0].text.toString(),
33853
+ fields: { value: 'value', text: 'text' },
33854
+ value: this.parentHierarchy !== null && memberTypeObj.value === 'Dimension' ?
33855
+ this.parentHierarchy : fieldData[0].value,
33856
+ cssClass: MEMBER_OPTIONS_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), width: '100%',
33857
+ change: (args) => {
33858
+ this.parentHierarchy = args.value;
33859
+ this.formulaText = select('#' + this.parentID + 'droppable', document).value;
33860
+ }
33861
+ });
33862
+ hierarchyListObj.isStringTemplate = true;
33863
+ hierarchyListObj.appendTo(select('#' + this.parentID + 'Hierarchy_List_Div', dialogElement));
33864
+ }
33831
33865
  let formatStringObj = new DropDownList({
33832
33866
  dataSource: fData, enableRtl: this.parent.enableRtl, locale: this.parent.locale,
33833
33867
  fields: { value: 'value', text: 'text' },
33834
- value: this.formatType !== null ? this.formatType : fData[0].value,
33868
+ value: this.parent.isAdaptive && this.formatType !== null ? this.formatType
33869
+ : this.parent.dataType === 'olap' ? fData[0].value : fData[4].value,
33835
33870
  cssClass: MEMBER_OPTIONS_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), width: '100%',
33836
33871
  change: (args) => {
33837
33872
  customerFormatObj.enabled = args.value === 'Custom' ? true : false;
@@ -33856,6 +33891,30 @@ class CalculatedField {
33856
33891
  customerFormatObj.isStringTemplate = true;
33857
33892
  customerFormatObj.appendTo('#' + this.parentID + 'Custom_Format_Element');
33858
33893
  }
33894
+ getFormat(pivotFormat) {
33895
+ let format = pivotFormat;
33896
+ switch (format) {
33897
+ case 'Standard':
33898
+ format = 'N';
33899
+ break;
33900
+ case 'Currency':
33901
+ format = 'C';
33902
+ break;
33903
+ case 'Percent':
33904
+ format = 'P';
33905
+ break;
33906
+ case 'N':
33907
+ format = 'Standard';
33908
+ break;
33909
+ case 'C':
33910
+ format = 'Currency';
33911
+ break;
33912
+ case 'P':
33913
+ format = 'Percent';
33914
+ break;
33915
+ }
33916
+ return format;
33917
+ }
33859
33918
  /**
33860
33919
  * To create treeview.
33861
33920
  * @returns {void}
@@ -34008,12 +34067,11 @@ class CalculatedField {
34008
34067
  args.node.setAttribute('data-membertype', field.fieldType);
34009
34068
  args.node.setAttribute('data-hierarchy', field.parentHierarchy ? field.parentHierarchy : '');
34010
34069
  args.node.setAttribute('data-formula', field.formula);
34011
- let formatStringData = ['Standard', 'Currency', 'Percent', 'None'];
34012
34070
  let formatString;
34013
- formatString = (field.formatString ? formatStringData.indexOf(field.formatString) > -1 ?
34071
+ formatString = (field.formatString ? this.formatTypes.indexOf(field.formatString) > -1 ?
34014
34072
  field.formatString : 'Custom' : 'None');
34015
34073
  args.node.setAttribute('data-formatString', formatString);
34016
- args.node.setAttribute('data-customString', (formatString === 'Custom' ? field.formatString : ''));
34074
+ args.node.setAttribute('data-customformatstring', (formatString === 'Custom' ? field.formatString : ''));
34017
34075
  let removeElement = createElement('span', {
34018
34076
  className: GRID_REMOVE + ' e-icons e-list-icon'
34019
34077
  });
@@ -34053,6 +34111,13 @@ class CalculatedField {
34053
34111
  args.node.setAttribute('data-type', args.nodeData.type);
34054
34112
  let formatObj = PivotUtil.getFieldByName(field, this.parent.dataSourceSettings.formatSettings);
34055
34113
  args.node.setAttribute('data-formatString', formatObj ? formatObj.format : '');
34114
+ if (formatObj) {
34115
+ let pivotFormat = this.getFormat(formatObj.format);
34116
+ let formatString = (pivotFormat ? this.formatTypes.indexOf(pivotFormat) > -1 ?
34117
+ formatObj.format : 'Custom' : 'None');
34118
+ args.node.setAttribute('data-customformatstring', (formatString === 'Custom' ? pivotFormat : ''));
34119
+ args.node.setAttribute('data-formatString', formatObj ? formatString : '');
34120
+ }
34056
34121
  let dragElement = createElement('span', {
34057
34122
  attrs: { 'tabindex': '-1', 'aria-disabled': 'false', 'title': this.parent.localeObj.getConstant('dragField') },
34058
34123
  className: ICON + ' e-drag'
@@ -34131,7 +34196,7 @@ class CalculatedField {
34131
34196
  let key = keys[index];
34132
34197
  data.push({
34133
34198
  header: '<input id=' + this.parentID + '_' + index + ' class=' + CALCCHECK + ' type="checkbox" data-field=' +
34134
- key + ' data-caption=' + this.parent.engineModule.fieldList[key].caption + ' data-type=' +
34199
+ key + ' data-caption="' + this.parent.engineModule.fieldList[key].caption + '" data-type=' +
34135
34200
  this.parent.engineModule.fieldList[key].type + '/>',
34136
34201
  content: (this.parent.engineModule.fieldList[key].aggregateType === CALC ||
34137
34202
  (this.getMenuItems(this.parent.engineModule.fieldList[key].type).length < 1)) ? '' :
@@ -34150,9 +34215,9 @@ class CalculatedField {
34150
34215
  renderMobileLayout(tabObj) {
34151
34216
  tabObj.items[4].content = this.renderDialogElements().outerHTML;
34152
34217
  tabObj.dataBind();
34153
- if (this.parent.dataType === 'olap' && this.parent.isAdaptive && this.parent.
34218
+ if (this.parent.isAdaptive && this.parent.
34154
34219
  dialogRenderer.parentElement.querySelector('.' + FORMULA) !== null) {
34155
- this.createOlapDropElements();
34220
+ this.createDropElements();
34156
34221
  }
34157
34222
  let cancelBtn = new Button({ cssClass: FLAT + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), isPrimary: true, locale: this.parent.locale, enableRtl: this.parent.enableRtl });
34158
34223
  cancelBtn.isStringTemplate = true;
@@ -34176,25 +34241,6 @@ class CalculatedField {
34176
34241
  });
34177
34242
  this.inputObj.isStringTemplate = true;
34178
34243
  this.inputObj.appendTo('#' + this.parentID + 'ddlelement');
34179
- if (this.parent.dataType === 'pivot') {
34180
- let formatInputObj = new MaskedTextBox({
34181
- locale: this.parent.locale, enableRtl: this.parent.enableRtl,
34182
- placeholder: this.parent.localeObj.getConstant('numberFormatString'),
34183
- change: (args) => {
34184
- this.formatText = args.value;
34185
- this.formulaText = select('#' + this.parentID + 'droppable', document).value;
34186
- },
34187
- cssClass: this.parent.cssClass
34188
- });
34189
- formatInputObj.isStringTemplate = true;
34190
- formatInputObj.appendTo('#' + this.parentID + 'Custom_Format_Element');
34191
- if (this.formatText !== null && this.parent.
34192
- dialogRenderer.parentElement.querySelector('.' + CALC_FORMAT_INPUT) !== null) {
34193
- this.parent.
34194
- dialogRenderer.parentElement.querySelector('.' + CALC_FORMAT_INPUT).value = this.formatText;
34195
- formatInputObj.value = this.formatText;
34196
- }
34197
- }
34198
34244
  if (this.formulaText !== null && select('#' + this.parentID + 'droppable', this.parent.dialogRenderer.parentElement) !== null) {
34199
34245
  let drop = select('#' + this.parentID + 'droppable', this.parent.dialogRenderer.parentElement);
34200
34246
  drop.value = this.formulaText;
@@ -34406,18 +34452,7 @@ class CalculatedField {
34406
34452
  });
34407
34453
  this.inputObj.isStringTemplate = true;
34408
34454
  this.inputObj.appendTo('#' + this.parentID + 'ddlelement');
34409
- if (this.parent.dataType === 'pivot') {
34410
- let customerFormatObj = new MaskedTextBox({
34411
- placeholder: this.parent.localeObj.getConstant('numberFormatString'),
34412
- locale: this.parent.locale, enableRtl: this.parent.enableRtl,
34413
- cssClass: this.parent.cssClass
34414
- });
34415
- customerFormatObj.isStringTemplate = true;
34416
- customerFormatObj.appendTo('#' + this.parentID + 'Custom_Format_Element');
34417
- }
34418
- if (this.parent.dataType === 'olap' && !this.parent.isAdaptive) {
34419
- this.createOlapDropElements();
34420
- }
34455
+ this.createDropElements();
34421
34456
  this.createTreeView();
34422
34457
  this.droppable = new Droppable(select('#' + this.parentID + 'droppable'));
34423
34458
  this.keyboardEvents = new KeyboardEvents(this.parent.calculatedFieldModule.dialog.element, {
@@ -34542,6 +34577,7 @@ class CalculatedField {
34542
34577
  */
34543
34578
  destroy() {
34544
34579
  this.removeEventListener();
34580
+ this.formatTypes = null;
34545
34581
  }
34546
34582
  }
34547
34583
 
@@ -35362,7 +35398,8 @@ class ConditionalFormatting {
35362
35398
  remove(select('#' + this.parentID + 'conditionalformatting', document));
35363
35399
  }
35364
35400
  this.parent.element.appendChild(createElement('div', {
35365
- id: this.parentID + 'conditionalformatting'
35401
+ id: this.parentID + 'conditionalformatting',
35402
+ className: FORMAT_DIALOG
35366
35403
  }));
35367
35404
  let buttonModel = [
35368
35405
  {
@@ -35397,14 +35434,14 @@ class ConditionalFormatting {
35397
35434
  showCloseIcon: false, closeOnEscape: false, enableRtl: this.parent.enableRtl, locale: this.parent.locale,
35398
35435
  position: { X: 'center', Y: 'center' }, allowDragging: true, buttons: buttonModel,
35399
35436
  beforeOpen: this.beforeOpen.bind(this), close: this.removeDialog.bind(this),
35400
- cssClass: FORMAT_DIALOG + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), header: this.parent.localeObj.getConstant('conditionalFormating'), target: document.body
35437
+ cssClass: this.parent.cssClass, header: this.parent.localeObj.getConstant('conditionalFormating'), target: document.body
35401
35438
  });
35402
35439
  }
35403
35440
  else {
35404
35441
  this.dialog = new Dialog({
35405
35442
  allowDragging: true, position: { X: 'center', Y: this.parent.element.offsetTop }, buttons: buttonModel,
35406
35443
  beforeOpen: this.beforeOpen.bind(this), close: this.removeDialog.bind(this),
35407
- cssClass: FORMAT_DIALOG + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), isModal: false, closeOnEscape: true, enableRtl: this.parent.enableRtl, locale: this.parent.locale,
35444
+ cssClass: this.parent.cssClass, isModal: false, closeOnEscape: true, enableRtl: this.parent.enableRtl, locale: this.parent.locale,
35408
35445
  showCloseIcon: true, header: this.parent.localeObj.getConstant('conditionalFormating'), target: this.parent.element
35409
35446
  });
35410
35447
  }
@@ -36998,12 +37035,12 @@ class Toolbar$2 {
36998
37035
  });
36999
37036
  args.element.innerText = '';
37000
37037
  checkbox.appendTo('#' + this.parent.element.id + '_' + 'checkBox');
37001
- if ((['Pie', 'Funnel', 'Pyramid', 'Doughnut'].indexOf(this.parent.chartSettings.chartSeries.type) > -1) &&
37038
+ if ((['Pie', 'Funnel', 'Pyramid', 'Doughnut', 'Pareto'].indexOf(this.parent.chartSettings.chartSeries.type) > -1) &&
37002
37039
  !args.element.classList.contains(MENU_DISABLE)) {
37003
37040
  args.element.classList.add(MENU_DISABLE);
37004
37041
  checkbox.disabled = true;
37005
37042
  }
37006
- else if ((['Pie', 'Funnel', 'Pyramid', 'Doughnut'].indexOf(this.parent.chartSettings.chartSeries.type) < 0) &&
37043
+ else if ((['Pie', 'Funnel', 'Pyramid', 'Doughnut', 'Pareto'].indexOf(this.parent.chartSettings.chartSeries.type) < 0) &&
37007
37044
  args.element.classList.contains(MENU_DISABLE)) {
37008
37045
  args.element.classList.remove(MENU_DISABLE);
37009
37046
  checkbox.disabled = false;
@@ -37039,7 +37076,7 @@ class Toolbar$2 {
37039
37076
  this.showLableState = chartSettings.legendSettings.visible;
37040
37077
  }
37041
37078
  else {
37042
- this.showLableState = ['Pie', 'Funnel', 'Pyramid', 'Doughnut'].indexOf(this.parent.chartSettings.chartSeries.type) > -1 ?
37079
+ this.showLableState = ['Pie', 'Funnel', 'Pyramid', 'Doughnut', 'Pareto'].indexOf(this.parent.chartSettings.chartSeries.type) > -1 ?
37043
37080
  false : true;
37044
37081
  }
37045
37082
  return this.showLableState;
@@ -37520,11 +37557,11 @@ class Toolbar$2 {
37520
37557
  changeDropDown(args) {
37521
37558
  let chartSettings = JSON.parse(this.parent.getPersistData()).chartSettings;
37522
37559
  if (!(chartSettings && chartSettings.legendSettings && chartSettings.legendSettings.visible !== undefined)) {
37523
- let checked = ['Pie', 'Funnel', 'Pyramid', 'Doughnut'].indexOf(args.value.toString()) > -1 ?
37560
+ let checked = ['Pie', 'Funnel', 'Pyramid', 'Doughnut', 'Pareto'].indexOf(args.value.toString()) > -1 ?
37524
37561
  false : true;
37525
37562
  getInstance(select('#' + this.parent.element.id + '_DialogShowLabel'), CheckBox).checked = checked;
37526
37563
  }
37527
- if (['Pie', 'Funnel', 'Pyramid', 'Doughnut'].indexOf(args.value.toString()) > -1) {
37564
+ if (['Pie', 'Funnel', 'Pyramid', 'Doughnut', 'Pareto'].indexOf(args.value.toString()) > -1) {
37528
37565
  getInstance(select('#' + this.parent.element.id + '_DialogMultipleAxis'), CheckBox).disabled = true;
37529
37566
  getInstance(select('#' + this.parent.element.id + '_AxisModeOption'), DropDownList).enabled = false;
37530
37567
  }
@@ -37555,7 +37592,7 @@ class Toolbar$2 {
37555
37592
  });
37556
37593
  checkbox1.appendTo(select('#' + this.parent.element.id + '_DialogShowLabel', this.chartTypesDialog.element));
37557
37594
  checkbox.appendTo(select('#' + this.parent.element.id + '_DialogMultipleAxis', this.chartTypesDialog.element));
37558
- if (['Pie', 'Funnel', 'Pyramid', 'Doughnut'].indexOf(this.parent.chartSettings.chartSeries.type) > -1) {
37595
+ if (['Pie', 'Funnel', 'Pyramid', 'Doughnut', 'Pareto'].indexOf(this.parent.chartSettings.chartSeries.type) > -1) {
37559
37596
  checkbox.disabled = true;
37560
37597
  getInstance(select('#' + this.parent.element.id + '_AxisModeOption'), DropDownList).enabled = false;
37561
37598
  }
@@ -38121,7 +38158,7 @@ class Grouping {
38121
38158
  this.parentElement = parentElement;
38122
38159
  this.selectedCellsInfo = [];
38123
38160
  this.isUpdate = false;
38124
- let colIndex = Number(target.getAttribute('aria-colindex'));
38161
+ let colIndex = Number(target.getAttribute('data-colindex'));
38125
38162
  let rowIndex = Number(target.getAttribute('index'));
38126
38163
  let cell = this.parent.engineModule.pivotValues[rowIndex][colIndex];
38127
38164
  let fieldName = cell.valueSort.axis.toString();
@@ -38313,7 +38350,7 @@ class Grouping {
38313
38350
  let selectedElements = this.parent.element.querySelectorAll('.' + CELL_SELECTED_BGCOLOR + ',.' + SELECTED_BGCOLOR);
38314
38351
  /* eslint-enable */
38315
38352
  for (let element of selectedElements) {
38316
- let colIndex = Number(element.getAttribute('aria-colindex'));
38353
+ let colIndex = Number(element.getAttribute('data-colindex'));
38317
38354
  let rowIndex = Number(element.getAttribute('index'));
38318
38355
  let cell = this.parent.engineModule.pivotValues[rowIndex][colIndex];
38319
38356
  if (cell && (cell.axis === axis) && !(cell.type === 'grand sum' || cell.type === 'sum') &&
@@ -38937,5 +38974,5 @@ class Grouping {
38937
38974
  * Export PivotGrid components
38938
38975
  */
38939
38976
 
38940
- export { GroupingBarSettings, CellEditSettings, ConditionalSettings, HyperlinkSettings, DisplayOption, PivotView, Render, ExcelExport$1 as ExcelExport, PDFExport, KeyboardInteraction, VirtualScroll$1 as VirtualScroll, DrillThrough, PivotChart, PivotFieldList, TreeViewRenderer, AxisFieldRenderer, AxisTableRenderer, DialogRenderer, EventBase, NodeStateModified, DataSourceUpdate, FieldList, CommonKeyboardInteraction, Common, GroupingBar, CalculatedField, ConditionalFormatting, PivotCommon, load, enginePopulating, enginePopulated, onFieldDropped, fieldDrop, beforePivotTableRender, afterPivotTableRender, beforeExport, excelHeaderQueryCellInfo, pdfHeaderQueryCellInfo, excelQueryCellInfo, pdfQueryCellInfo, onPdfCellRender, dataBound, queryCellInfo, headerCellInfo, hyperlinkCellClick, resizing, resizeStop, cellClick, drillThrough, beforeColumnsRender, selected, cellSelecting, drill, cellSelected, cellDeselected, rowSelected, rowDeselected, beginDrillThrough, editCompleted, multiLevelLabelClick, saveReport, fetchReport, loadReport, renameReport, removeReport, newReport, toolbarRender, toolbarClick, chartTooltipRender, chartLoaded, chartLoad, chartResized, chartAxisLabelRender, chartSeriesCreated, aggregateCellInfo, onHeadersSort, contextMenuClick, contextMenuOpen, fieldListRefreshed, conditionalFormatting, beforePdfExport, beforeExcelExport, memberFiltering, calculatedFieldCreate, memberEditorOpen, fieldRemove, numberFormatting, aggregateMenuOpen, fieldDragStart, chartPointClick, beforeServiceInvoke, actionBegin, actionComplete, actionFailure, initialLoad, uiUpdate, scroll, verticalScroll, horizontalScroll, contentReady, dataReady, initSubComponent, treeViewUpdate, pivotButtonUpdate, initCalculatedField, click, initToolbar, initFormatting, initGrouping, sortValue, drillUp, drillDown, addNewReport, saveCurrentReport, saveAsCurrentReport, renameCurrentReport, removeCurrentReport, loadReports, openConditionalFormatting, openNumberFormatting, MdxQuery, showFieldList, tableView, chartView, multipleAxis, showLegend, pdfExport, pngExport, excelExport, csvExport, jpegExport, svgExport, hideSubTotals, subTotalsRow, subTotalsColumn, showSubTotals, hideGrandTotals, grandTotalsRow, grandTotalsColumn, showGrandTotals, numberFormattingMenu, conditionalFormattingMenu, reportChange, sortFieldTree, editCalculatedField, sortField, filterField, removeField, openCalculatedField, editRecord, saveEditedRecords, addNewRecord, removeRecord, aggregateField, contextMenuCalculatedField, windowResize, calculatedFieldApplied, editedRecordsSaved, newRecordAdded, recordRemoved, closeFieldlist, fieldTreeSorted, reportSaved, newReportAdded, reportReSaved, reportRenamed, reportRemoved, excelExported, csvExported, pdfExported, pngExported, jpegExported, svgExported, conditionallyFormatted, numberFormatted, tableViewed, chartViewed, subTotalsHidden, subTotalsRowShown, subTotalsColumnShown, subTotalsShown, grandTotalsHidden, grandTotalsRowShown, grandTotalsColumnShown, grandTotalsShown, valueSorted, calculatedFieldEdited, fieldSorted, fieldFiltered, fieldRemoved, fieldAggregated, recordEdited, reportChanged, windowResized, recordUpdated, drillThroughClosed, verticalScrolled, horizontalScrolled, Theme, ErrorDialog, FilterDialog, PivotContextMenu, AggregateMenu, Toolbar$2 as Toolbar, NumberFormatting, Grouping, PivotEngine, PivotUtil, OlapEngine, MDXQuery };
38977
+ export { GroupingBarSettings, CellEditSettings, ConditionalSettings, HyperlinkSettings, DisplayOption, PivotView, Render, ExcelExport$1 as ExcelExport, PDFExport, KeyboardInteraction, VirtualScroll$1 as VirtualScroll, DrillThrough, PivotChart, PivotFieldList, TreeViewRenderer, AxisFieldRenderer, AxisTableRenderer, DialogRenderer, EventBase, NodeStateModified, DataSourceUpdate, FieldList, CommonKeyboardInteraction, Common, GroupingBar, CalculatedField, ConditionalFormatting, PivotCommon, load, enginePopulating, enginePopulated, onFieldDropped, fieldDrop, beforePivotTableRender, afterPivotTableRender, beforeExport, exportComplete, excelHeaderQueryCellInfo, pdfHeaderQueryCellInfo, excelQueryCellInfo, pdfQueryCellInfo, onPdfCellRender, dataBound, queryCellInfo, headerCellInfo, hyperlinkCellClick, resizing, resizeStop, cellClick, drillThrough, beforeColumnsRender, selected, cellSelecting, drill, cellSelected, cellDeselected, rowSelected, rowDeselected, beginDrillThrough, editCompleted, multiLevelLabelClick, saveReport, fetchReport, loadReport, renameReport, removeReport, newReport, toolbarRender, toolbarClick, chartTooltipRender, chartLoaded, chartLoad, chartResized, chartAxisLabelRender, chartSeriesCreated, aggregateCellInfo, onHeadersSort, contextMenuClick, contextMenuOpen, fieldListRefreshed, conditionalFormatting, beforePdfExport, beforeExcelExport, memberFiltering, calculatedFieldCreate, memberEditorOpen, fieldRemove, numberFormatting, aggregateMenuOpen, fieldDragStart, chartPointClick, beforeServiceInvoke, actionBegin, actionComplete, actionFailure, initialLoad, uiUpdate, scroll, verticalScroll, horizontalScroll, contentReady, dataReady, initSubComponent, treeViewUpdate, pivotButtonUpdate, initCalculatedField, click, initToolbar, initFormatting, initGrouping, sortValue, drillUp, drillDown, addNewReport, saveCurrentReport, saveAsCurrentReport, renameCurrentReport, removeCurrentReport, loadReports, openConditionalFormatting, openNumberFormatting, MdxQuery, showFieldList, tableView, chartView, multipleAxis, showLegend, pdfExport, pngExport, excelExport, csvExport, jpegExport, svgExport, hideSubTotals, subTotalsRow, subTotalsColumn, showSubTotals, hideGrandTotals, grandTotalsRow, grandTotalsColumn, showGrandTotals, numberFormattingMenu, conditionalFormattingMenu, reportChange, sortFieldTree, editCalculatedField, sortField, filterField, removeField, openCalculatedField, editRecord, saveEditedRecords, addNewRecord, removeRecord, aggregateField, contextMenuCalculatedField, windowResize, calculatedFieldApplied, editedRecordsSaved, newRecordAdded, recordRemoved, closeFieldlist, fieldTreeSorted, reportSaved, newReportAdded, reportReSaved, reportRenamed, reportRemoved, excelExported, csvExported, pdfExported, pngExported, jpegExported, svgExported, conditionallyFormatted, numberFormatted, tableViewed, chartViewed, subTotalsHidden, subTotalsRowShown, subTotalsColumnShown, subTotalsShown, grandTotalsHidden, grandTotalsRowShown, grandTotalsColumnShown, grandTotalsShown, valueSorted, calculatedFieldEdited, fieldSorted, fieldFiltered, fieldRemoved, fieldAggregated, recordEdited, reportChanged, windowResized, recordUpdated, drillThroughClosed, verticalScrolled, horizontalScrolled, Theme, ErrorDialog, FilterDialog, PivotContextMenu, AggregateMenu, Toolbar$2 as Toolbar, NumberFormatting, Grouping, PivotEngine, PivotUtil, OlapEngine, MDXQuery };
38941
38978
  //# sourceMappingURL=ej2-pivotview.es2015.js.map