@syncfusion/ej2-pivotview 20.2.38 → 20.2.45

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 (84) hide show
  1. package/CHANGELOG.md +31 -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 +302 -254
  5. package/dist/es6/ej2-pivotview.es2015.js.map +1 -1
  6. package/dist/es6/ej2-pivotview.es5.js +306 -258
  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 +7 -5
  13. package/src/common/base/constant.d.ts +2 -0
  14. package/src/common/base/constant.js +2 -0
  15. package/src/common/base/css-constant.d.ts +2 -4
  16. package/src/common/base/css-constant.js +3 -5
  17. package/src/common/base/interface.d.ts +11 -0
  18. package/src/common/calculatedfield/calculated-field.d.ts +3 -1
  19. package/src/common/calculatedfield/calculated-field.js +163 -168
  20. package/src/common/conditionalformatting/conditional-formatting.js +4 -3
  21. package/src/common/popups/grouping.js +2 -2
  22. package/src/common/popups/toolbar.js +6 -6
  23. package/src/pivotchart/base/pivotchart.js +32 -18
  24. package/src/pivotview/actions/drill-through.js +1 -1
  25. package/src/pivotview/actions/excel-export.d.ts +1 -1
  26. package/src/pivotview/actions/excel-export.js +13 -4
  27. package/src/pivotview/actions/keyboard.js +6 -6
  28. package/src/pivotview/actions/pdf-export.d.ts +1 -1
  29. package/src/pivotview/actions/pdf-export.js +13 -2
  30. package/src/pivotview/actions/virtualscroll.js +2 -2
  31. package/src/pivotview/base/pivotview-model.d.ts +7 -2
  32. package/src/pivotview/base/pivotview.d.ts +6 -2
  33. package/src/pivotview/base/pivotview.js +26 -20
  34. package/src/pivotview/renderer/render.js +26 -16
  35. package/styles/bootstrap-dark.css +26 -24
  36. package/styles/bootstrap.css +26 -24
  37. package/styles/bootstrap4.css +26 -24
  38. package/styles/bootstrap5-dark.css +26 -24
  39. package/styles/bootstrap5.css +26 -24
  40. package/styles/fabric-dark.css +26 -24
  41. package/styles/fabric.css +26 -24
  42. package/styles/fluent-dark.css +27 -25
  43. package/styles/fluent.css +27 -25
  44. package/styles/highcontrast-light.css +26 -24
  45. package/styles/highcontrast.css +26 -24
  46. package/styles/material-dark.css +26 -24
  47. package/styles/material.css +26 -24
  48. package/styles/pivotfieldlist/_fluent-definition.scss +1 -1
  49. package/styles/pivotfieldlist/_layout.scss +14 -10
  50. package/styles/pivotfieldlist/_tailwind-definition.scss +1 -1
  51. package/styles/pivotfieldlist/_theme.scss +1 -2
  52. package/styles/pivotfieldlist/bootstrap-dark.css +23 -21
  53. package/styles/pivotfieldlist/bootstrap.css +23 -21
  54. package/styles/pivotfieldlist/bootstrap4.css +23 -21
  55. package/styles/pivotfieldlist/bootstrap5-dark.css +23 -21
  56. package/styles/pivotfieldlist/bootstrap5.css +23 -21
  57. package/styles/pivotfieldlist/fabric-dark.css +23 -21
  58. package/styles/pivotfieldlist/fabric.css +23 -21
  59. package/styles/pivotfieldlist/fluent-dark.css +24 -22
  60. package/styles/pivotfieldlist/fluent.css +24 -22
  61. package/styles/pivotfieldlist/highcontrast-light.css +23 -21
  62. package/styles/pivotfieldlist/highcontrast.css +23 -21
  63. package/styles/pivotfieldlist/material-dark.css +23 -21
  64. package/styles/pivotfieldlist/material.css +23 -21
  65. package/styles/pivotfieldlist/tailwind-dark.css +24 -22
  66. package/styles/pivotfieldlist/tailwind.css +24 -22
  67. package/styles/pivotview/_theme.scss +3 -3
  68. package/styles/pivotview/bootstrap-dark.css +3 -3
  69. package/styles/pivotview/bootstrap.css +3 -3
  70. package/styles/pivotview/bootstrap4.css +3 -3
  71. package/styles/pivotview/bootstrap5-dark.css +3 -3
  72. package/styles/pivotview/bootstrap5.css +3 -3
  73. package/styles/pivotview/fabric-dark.css +3 -3
  74. package/styles/pivotview/fabric.css +3 -3
  75. package/styles/pivotview/fluent-dark.css +3 -3
  76. package/styles/pivotview/fluent.css +3 -3
  77. package/styles/pivotview/highcontrast-light.css +3 -3
  78. package/styles/pivotview/highcontrast.css +3 -3
  79. package/styles/pivotview/material-dark.css +3 -3
  80. package/styles/pivotview/material.css +3 -3
  81. package/styles/pivotview/tailwind-dark.css +3 -3
  82. package/styles/pivotview/tailwind.css +3 -3
  83. package/styles/tailwind-dark.css +27 -25
  84. package/styles/tailwind.css +27 -25
@@ -1326,7 +1326,7 @@ class PivotEngine {
1326
1326
  if (this.fields.indexOf(newFieldName) === -1) {
1327
1327
  this.fields.push(newFieldName);
1328
1328
  }
1329
- item[this.fieldKeys[newFieldName]] = (isInRangeAvail ? undefined : new Date(newDate.setMonth(date.getMonth(), newDate.getDate())).toString());
1329
+ item[this.fieldKeys[newFieldName]] = (isInRangeAvail ? undefined : new Date(newDate.setMonth(date.getMonth(), 1)).toString());
1330
1330
  }
1331
1331
  break;
1332
1332
  case 'Days':
@@ -4784,8 +4784,9 @@ class PivotEngine {
4784
4784
  }
4785
4785
  for (let index of indexCollection) {
4786
4786
  let currentSet = data[index[0]][index[1]];
4787
+ let actualValue = isNullOrUndefined(selectedRowValues[index[1]].actualValue) ? 0 : selectedRowValues[index[1]].actualValue;
4787
4788
  // let cVal: number = currentSet.value - (selectedRowValues[index[1]] as IAxisSet).value;
4788
- let cVal = currentSet.actualValue - selectedRowValues[index[1]].actualValue;
4789
+ let cVal = (isNullOrUndefined(currentSet.actualValue) ? 0 : currentSet.actualValue) - actualValue;
4789
4790
  cVal = isNaN(cVal) ? 0 : (currentSet.value === 0 && selectedRowValues[index[1]].value === 0) ? 0 : cVal;
4790
4791
  if (!this.aggregatedValueMatrix[index[0]]) {
4791
4792
  this.aggregatedValueMatrix[index[0]] = [];
@@ -4797,8 +4798,7 @@ class PivotEngine {
4797
4798
  else {
4798
4799
  // cVal = ((selectedRowValues[index[1]] as IAxisSet).value === 0 ?
4799
4800
  // 0 : (cVal / (selectedRowValues[index[1]] as IAxisSet).value));
4800
- cVal = (selectedRowValues[index[1]].actualValue === 0 ?
4801
- 0 : (cVal / selectedRowValues[index[1]].actualValue));
4801
+ cVal = (actualValue === 0 ? 0 : (cVal / actualValue));
4802
4802
  this.aggregatedValueMatrix[index[0]][index[1]] = cVal;
4803
4803
  currentSet.formattedText = currentSet.showSubTotals ? (cVal !== 0 ? this.globalize.formatNumber(cVal, { format: 'P', maximumFractionDigits: this.getPercentFormat(this.formatFields, currentSet.actualText) }) : this.emptyCellTextContent) : currentSet.formattedText;
4804
4804
  }
@@ -5021,7 +5021,9 @@ class PivotEngine {
5021
5021
  activeColumn[cln].valueSort[item.valueSort.levelName] &&
5022
5022
  currentSet.axis === 'value' && currentSet.actualText === name) {
5023
5023
  if (activeColumn[cln].type !== 'grand sum') {
5024
- cVal += currentSet.value;
5024
+ if (!isNullOrUndefined(currentSet.value)) {
5025
+ cVal += currentSet.value;
5026
+ }
5025
5027
  currentSet.formattedText = subTotal ? '' : this.getFormattedValue(cVal, name).formattedText;
5026
5028
  if (!this.aggregatedValueMatrix[rln]) {
5027
5029
  this.aggregatedValueMatrix[rln] = [];
@@ -5843,6 +5845,8 @@ const afterPivotTableRender = 'afterPivotTableRender';
5843
5845
  /** @hidden */
5844
5846
  const beforeExport = 'beforeExport';
5845
5847
  /** @hidden */
5848
+ const exportComplete = 'exportComplete';
5849
+ /** @hidden */
5846
5850
  const excelHeaderQueryCellInfo = 'excelHeaderQueryCellInfo';
5847
5851
  /** @hidden */
5848
5852
  const pdfHeaderQueryCellInfo = 'pdfHeaderQueryCellInfo';
@@ -6519,13 +6523,11 @@ const CALC_FORMAT_INPUT = 'e-custom-format-input';
6519
6523
  /** @hidden */
6520
6524
  const CALCINPUTDIV = 'e-pivot-calc-input-div';
6521
6525
  /** @hidden */
6522
- const CALC_CUSTOM_FORMAT_INPUTDIV = 'e-pivot-calc-custom-format-div';
6523
- /** @hidden */
6524
- 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';
6525
6527
  /** @hidden */
6526
6528
  const CALC_HIERARCHY_LIST_DIV = 'e-olap-calc-hierarchy-list-div';
6527
6529
  /** @hidden */
6528
- const CALC_FORMAT_TYPE_DIV = 'e-olap-calc-format-type-div';
6530
+ const CALC_FORMAT_TYPE_DIV = 'e-pivot-calc-format-type-div';
6529
6531
  /** @hidden */
6530
6532
  const CALC_MEMBER_TYPE_DIV = 'e-olap-calc-member-type-div';
6531
6533
  /** @hidden */
@@ -6595,7 +6597,7 @@ const PIVOT_FORMULA_TITLE_CLASS = 'e-pivot-formula-title';
6595
6597
  /** @hidden */
6596
6598
  const OLAP_HIERARCHY_TITLE_CLASS = 'e-olap-hierarchy-title';
6597
6599
  /** @hidden */
6598
- const OLAP_FORMAT_TITLE_CLASS = 'e-olap-format-title';
6600
+ const PIVOT_FORMAT_TITLE_CLASS = 'e-pivot-format-title';
6599
6601
  /** @hidden */
6600
6602
  const OLAP_MEMBER_TITLE_CLASS = 'e-olap-member-title';
6601
6603
  /** @hidden */
@@ -7605,12 +7607,22 @@ class Render {
7605
7607
  this.parent.lastColumn.width = 'auto';
7606
7608
  this.parent.lastColumn = undefined;
7607
7609
  }
7610
+ let exportCompleteEventArgs = {
7611
+ type: 'PDF',
7612
+ promise: args.promise
7613
+ };
7614
+ this.parent.trigger(exportComplete, exportCompleteEventArgs);
7608
7615
  }
7609
7616
  excelExportComplete(args) {
7610
7617
  if (this.parent.lastColumn !== undefined && this.parent.lastColumn.width !== 'auto') {
7611
7618
  this.parent.lastColumn.width = 'auto';
7612
7619
  this.parent.lastColumn = undefined;
7613
7620
  }
7621
+ let exportCompleteEventArgs = {
7622
+ type: 'Excel/CSV',
7623
+ promise: args.promise
7624
+ };
7625
+ this.parent.trigger(exportComplete, exportCompleteEventArgs);
7614
7626
  }
7615
7627
  /* eslint-enable */
7616
7628
  dataBound(args) {
@@ -7700,7 +7712,7 @@ class Render {
7700
7712
  isGroupElement = true;
7701
7713
  }
7702
7714
  let rowIndex = Number(elem.getAttribute('index'));
7703
- let colIndex = Number(elem.getAttribute('aria-colindex'));
7715
+ let colIndex = Number(elem.getAttribute('data-colindex'));
7704
7716
  let pivotValue1 = this.parent.pivotValues[rowIndex][colIndex];
7705
7717
  let selectedID = item.id;
7706
7718
  switch (selectedID) {
@@ -7772,7 +7784,7 @@ class Render {
7772
7784
  if (groupField && groupField.type === 'Custom' || (this.parent.engineModule.fieldList[fieldName].isCustomField && fieldName.indexOf('_custom_group') > -1)) {
7773
7785
  groupField = PivotUtil.getFieldByName(fieldName.replace('_custom_group', ''), this.parent.dataSourceSettings.groupSettings);
7774
7786
  if (groupField) {
7775
- 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'))];
7776
7788
  let selectedCellsInfo = this.parent.groupingModule.getSelectedCells(cell.axis, fieldName, cell.actualText.toString());
7777
7789
  selectedCellsInfo.push({ axis: cell.axis, fieldName: fieldName, name: cell.actualText.toString(), cellInfo: cell });
7778
7790
  let selectedOptions = this.parent.groupingModule.getSelectedOptions(selectedCellsInfo);
@@ -7972,7 +7984,7 @@ class Render {
7972
7984
  ele = target.parentElement.parentElement;
7973
7985
  }
7974
7986
  let rowIndx = Number(ele.getAttribute('index'));
7975
- let colIndx = Number(ele.getAttribute('aria-colindex'));
7987
+ let colIndx = Number(ele.getAttribute('data-colindex'));
7976
7988
  let pivotValue = this.parent.pivotValues[rowIndx][colIndx];
7977
7989
  let aggregateType;
7978
7990
  if (args.item.id.indexOf(this.parent.element.id + '_Agg') > -1) {
@@ -8116,7 +8128,7 @@ class Render {
8116
8128
  let fieldName = target.getAttribute('fieldName');
8117
8129
  if (!fieldName || fieldName == '') {
8118
8130
  let rowIndx = Number(target.getAttribute('index'));
8119
- let colIndx = Number(target.getAttribute('aria-colindex'));
8131
+ let colIndx = Number(target.getAttribute('data-colindex'));
8120
8132
  fieldName = this.engine.pivotValues[rowIndx][colIndx].actualText;
8121
8133
  }
8122
8134
  let valuefields = this.parent.dataSourceSettings.values;
@@ -8303,7 +8315,7 @@ class Render {
8303
8315
  /* eslint-disable-next-line */
8304
8316
  let selectedElements = this.parent.element.querySelectorAll('.' + CELL_SELECTED_BGCOLOR + ',.' + SELECTED_BGCOLOR);
8305
8317
  for (let element of selectedElements) {
8306
- let colIndex = Number(element.getAttribute('aria-colindex'));
8318
+ let colIndex = Number(element.getAttribute('data-colindex'));
8307
8319
  let rowIndex = Number(element.getAttribute('index'));
8308
8320
  let cell = this.engine.pivotValues[rowIndex][colIndex];
8309
8321
  if (cell) {
@@ -8346,7 +8358,7 @@ class Render {
8346
8358
  let isRowFieldsAvail = cell.valueSort && cell.valueSort.levelName === (this.parent.dataSourceSettings.rows.length === 0 && this.parent.dataSourceSettings.valueAxis === 'row' &&
8347
8359
  this.parent.localeObj.getConstant('grandTotal') + (this.parent.dataSourceSettings.valueSortSettings.headerDelimiter) + (cell.formattedText));
8348
8360
  tCell.setAttribute('index', cell.rowIndex ? cell.rowIndex.toString() : '0');
8349
- if (tCell.getAttribute('aria-colindex') === '0') {
8361
+ if (tCell.getAttribute('data-colindex') === '0') {
8350
8362
  if (this.parent.dataType === 'pivot') {
8351
8363
  let isValueCell = cell.type && cell.type === 'value';
8352
8364
  tCell.innerText = '';
@@ -8449,18 +8461,18 @@ class Render {
8449
8461
  let innerText = tCell.innerText;
8450
8462
  tCell.innerText = '';
8451
8463
  tCell.classList.add(VALUESCONTENT);
8452
- cell = args.data[Number(tCell.getAttribute('aria-colindex'))];
8464
+ cell = args.data[Number(tCell.getAttribute('data-colindex'))];
8453
8465
  cell = isNullOrUndefined(cell) ? args.column.customAttributes.cell : cell;
8454
8466
  cell.isGrandSum = isRowFieldsAvail ? true : cell.isGrandSum;
8455
8467
  if (cell.isSum) {
8456
8468
  tCell.classList.add(SUMMARY);
8457
8469
  }
8458
8470
  let isGrandSum = (isNullOrUndefined(cell.isGrandSum) && (!isNullOrUndefined(this.parent.olapEngineModule) && this.parent.olapEngineModule.olapValueAxis === 'column') && this.parent.dataType === 'olap' &&
8459
- ((this.colGrandPos - this.parent.dataSourceSettings.values.length) < Number(tCell.getAttribute('aria-colindex'))));
8460
- 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'))) {
8461
8473
  tCell.classList.add('e-gtot');
8462
8474
  }
8463
- else if (this.parent.dataType === 'olap' ? cell.isSum : this.validateColumnTotalcell(!isNullOrUndefined(cell.value) ? cell.colIndex : cell.colIndex - 1)) {
8475
+ else if (this.parent.dataType === 'olap' ? cell.isSum : this.validateColumnTotalcell(cell.colIndex)) {
8464
8476
  tCell.classList.add('e-colstot');
8465
8477
  }
8466
8478
  if (cell.cssClass) {
@@ -8473,12 +8485,12 @@ class Render {
8473
8485
  '<a data-url="' + innerText + '" class="e-hyperlinkcell ' + customClass + '">' + innerText + '</a>' : innerText)
8474
8486
  }));
8475
8487
  if (this.parent.gridSettings.allowReordering && !this.parent.showGroupingBar) {
8476
- tCell.setAttribute('aria-colindex', args.column.customAttributes.cell.colIndex.toString());
8488
+ tCell.setAttribute('data-colindex', args.column.customAttributes.cell.colIndex.toString());
8477
8489
  }
8478
8490
  }
8479
8491
  if (this.parent.cellTemplate) {
8480
8492
  let index = tCell.getAttribute('index');
8481
- let colindex = tCell.getAttribute('aria-colindex');
8493
+ let colindex = tCell.getAttribute('data-colindex');
8482
8494
  let element = this.parent.getCellTemplate()({ targetCell: tCell, cellInfo: cell }, this.parent, 'cellTemplate', this.parent.element.id + '_cellTemplate', null, null, tCell);
8483
8495
  if (element && element !== '' && element.length > 0) {
8484
8496
  if (this.parent.enableHtmlSanitizer) {
@@ -8646,7 +8658,7 @@ class Render {
8646
8658
  args.node.style.borderBottomWidth = '0px';
8647
8659
  }
8648
8660
  }
8649
- args.node.setAttribute('aria-colindex', cell.colIndex.toString());
8661
+ args.node.setAttribute('data-colindex', cell.colIndex.toString());
8650
8662
  args.node.setAttribute('index', cell.rowIndex.toString());
8651
8663
  let fieldName;
8652
8664
  if (this.parent.dataType === 'pivot') {
@@ -8716,7 +8728,7 @@ class Render {
8716
8728
  tCell.children[0].style.display = 'table';
8717
8729
  }
8718
8730
  else {
8719
- tCell.children[0].style.display = 'block';
8731
+ tCell.children[0].style.display = this.gridSettings.allowTextWrap ? 'inline' : 'block';
8720
8732
  }
8721
8733
  if (tCell.children[0].classList.contains('e-stackedheadercelldiv')) {
8722
8734
  let span = createElement('span', {
@@ -8737,7 +8749,7 @@ class Render {
8737
8749
  tCell = this.appendValueSortIcon(cell, tCell, cell.rowIndex, cell.colIndex);
8738
8750
  if (this.parent.cellTemplate) {
8739
8751
  let index = tCell.getAttribute('index');
8740
- let colindex = tCell.getAttribute('aria-colindex');
8752
+ let colindex = tCell.getAttribute('data-colindex');
8741
8753
  this.parent.gridHeaderCellInfo.push({ targetCell: tCell });
8742
8754
  }
8743
8755
  let len = this.parent.dataSourceSettings.values.length;
@@ -8820,7 +8832,7 @@ class Render {
8820
8832
  cell = (cell.className.indexOf('e-headercelldiv') > -1 ? cell.parentElement : cell);
8821
8833
  let args = {
8822
8834
  currentCell: cell,
8823
- 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'))],
8824
8836
  cancel: true,
8825
8837
  nativeEvent: e
8826
8838
  };
@@ -13090,7 +13102,7 @@ class KeyboardInteraction {
13090
13102
  if (this.parent.grid && this.parent.gridSettings.allowSelection && this.parent.gridSettings.selectionSettings.mode !== 'Row' &&
13091
13103
  !target.classList.contains('e-numerictextbox')) {
13092
13104
  let control = this.parent;
13093
- let colIndex = Number(e.target.getAttribute('aria-colIndex'));
13105
+ let colIndex = Number(e.target.getAttribute('data-colindex'));
13094
13106
  let rowIndex = Number(e.target.getAttribute('index'));
13095
13107
  let ele;
13096
13108
  /* eslint-disable */
@@ -13100,7 +13112,7 @@ class KeyboardInteraction {
13100
13112
  control.renderModule.rowStartPos !== rowIndex)) ? null : this.getParentElement(control, ele, colIndex, rowIndex - 1);
13101
13113
  }
13102
13114
  else if (e.action === 'shiftDown' || e.action === 'downArrow') {
13103
- ele = control.element.querySelector('th[aria-colindex="' + colIndex + '"][index="' + (rowIndex + 1) + '"]');
13115
+ ele = control.element.querySelector('th[data-colindex="' + colIndex + '"][index="' + (rowIndex + 1) + '"]');
13104
13116
  }
13105
13117
  else if (e.action === 'shiftLeft' || e.action === 'leftArrow') {
13106
13118
  ele = e.target.previousSibling;
@@ -13111,7 +13123,7 @@ class KeyboardInteraction {
13111
13123
  }
13112
13124
  if (!isNullOrUndefined(ele)) {
13113
13125
  if (control.gridSettings.selectionSettings.mode === 'Both' ? !ele.classList.contains(ROW_CELL_CLASS) : true) {
13114
- colIndex = Number(ele.getAttribute('aria-colindex'));
13126
+ colIndex = Number(ele.getAttribute('data-colindex'));
13115
13127
  rowIndex = Number(ele.getAttribute('index'));
13116
13128
  let colSpan = Number(ele.getAttribute('aria-colspan'));
13117
13129
  control.clearSelection(ele, e, colIndex, rowIndex);
@@ -13133,11 +13145,11 @@ class KeyboardInteraction {
13133
13145
  }
13134
13146
  else {
13135
13147
  if (e.action === 'upArrow') {
13136
- ele = control.element.querySelector('[aria-colindex="' + colIndex + '"][index="' + (rowIndex - 1) + '"]');
13148
+ ele = control.element.querySelector('[data-colindex="' + colIndex + '"][index="' + (rowIndex - 1) + '"]');
13137
13149
  rowIndex--;
13138
13150
  }
13139
13151
  else if (e.action === 'downArrow') {
13140
- ele = control.element.querySelector('[aria-colindex="' + colIndex + '"][index="' + (rowIndex + 1) + '"]');
13152
+ ele = control.element.querySelector('[data-colindex="' + colIndex + '"][index="' + (rowIndex + 1) + '"]');
13141
13153
  rowIndex++;
13142
13154
  }
13143
13155
  if (!isNullOrUndefined(ele)) {
@@ -13167,7 +13179,7 @@ class KeyboardInteraction {
13167
13179
  }
13168
13180
  getParentElement(control, ele, colIndex, rowIndex) {
13169
13181
  while (!ele) {
13170
- ele = control.element.querySelector('[aria-colindex="' + colIndex + '"][index="' + rowIndex + '"]');
13182
+ ele = control.element.querySelector('[data-colindex="' + colIndex + '"][index="' + rowIndex + '"]');
13171
13183
  colIndex--;
13172
13184
  }
13173
13185
  return ele;
@@ -13469,7 +13481,7 @@ class VirtualScroll$1 {
13469
13481
  this.parent.actionBeginMethod();
13470
13482
  this.parent.showWaitingPopup();
13471
13483
  this.parent.scrollPosObject.vertical = section;
13472
- engine.pageSettings.rowCurrentPage = section > 1 ? section : 1;
13484
+ this.parent.pageSettings.rowCurrentPage = engine.pageSettings.rowCurrentPage = section > 1 ? section : 1;
13473
13485
  let rowStartPos = 0;
13474
13486
  this.parent.trigger(enginePopulating, args, (observedArgs) => {
13475
13487
  if (this.parent.dataType === 'pivot') {
@@ -13507,7 +13519,7 @@ class VirtualScroll$1 {
13507
13519
  this.parent.showWaitingPopup();
13508
13520
  let pivot = this.parent;
13509
13521
  pivot.scrollPosObject.horizontal = section;
13510
- engine.pageSettings.columnCurrentPage = section > 1 ? section : 1;
13522
+ this.parent.pageSettings.columnCurrentPage = engine.pageSettings.columnCurrentPage = section > 1 ? section : 1;
13511
13523
  let colStartPos = 0;
13512
13524
  this.parent.trigger(enginePopulating, args, (observedArgs) => {
13513
13525
  if (pivot.dataType === 'pivot') {
@@ -14378,7 +14390,7 @@ class DrillThrough {
14378
14390
  }
14379
14391
  if (ele) {
14380
14392
  if (this.parent.allowDrillThrough && ele.classList.contains('e-valuescontent') || this.parent.editSettings.allowEditing) {
14381
- let colIndex = Number(ele.getAttribute('aria-colindex'));
14393
+ let colIndex = Number(ele.getAttribute('data-colindex'));
14382
14394
  let rowIndex = Number(ele.getAttribute('index'));
14383
14395
  this.executeDrillThrough(this.parent.pivotValues[rowIndex][colIndex], rowIndex, colIndex, ele);
14384
14396
  }
@@ -14569,7 +14581,7 @@ class PivotChart {
14569
14581
  if (!this.parent.chart && (this.parent.element.querySelector('.e-chart') || this.parent.element.querySelector('.e-accumulationchart'))) {
14570
14582
  remove(select('#' + this.parent.element.id + '_chart', this.parent.element));
14571
14583
  }
14572
- 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') {
14573
14585
  this.measureList = this.dataSourceSettings.values.map((item) => { return item.name; });
14574
14586
  }
14575
14587
  else {
@@ -14648,7 +14660,7 @@ class PivotChart {
14648
14660
  this.columnGroupObject = {};
14649
14661
  this.accEmptyPoint = false;
14650
14662
  let pivotValues = this.engineModule.pivotValues;
14651
- 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] :
14652
14664
  (((chartSettings.value === '' || this.dataSourceSettings.values.filter((item) => {
14653
14665
  return item.name === chartSettings.value;
14654
14666
  }).length === 0) && this.dataSourceSettings.values.length > 0) ? this.dataSourceSettings.values[0].name : chartSettings.value);
@@ -14690,7 +14702,7 @@ class PivotChart {
14690
14702
  header.valueSort.levelName.toString().split(this.parent.dataSourceSettings.valueSortSettings.headerDelimiter) : undefined;
14691
14703
  isValidHeader = false;
14692
14704
  if (valueSort && valueSort[0] !== 'Grand Total') {
14693
- 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') ||
14694
14706
  valueSort.indexOf(measureNames[this.currentMeasure]) > -1) {
14695
14707
  isValidHeader = true;
14696
14708
  }
@@ -14814,7 +14826,7 @@ class PivotChart {
14814
14826
  let actualText = (this.parent.dataType === 'olap' && tupInfo && tupInfo.measureName) ?
14815
14827
  tupInfo.measureName : cell.actualText;
14816
14828
  if (!(this.parent.dataType === 'olap' && cell.isGrandSum) && !totColIndex[cell.colIndex] && cell.axis === 'value' && firstRowCell.type !== 'header' &&
14817
- 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)) {
14818
14830
  if (isNullOrUndefined(firstRowCell.members)) {
14819
14831
  firstRowCell.members = [];
14820
14832
  }
@@ -15013,7 +15025,7 @@ class PivotChart {
15013
15025
  className: PIVOTCHART, id: this.parent.element.id + '_chart'
15014
15026
  }));
15015
15027
  }
15016
- 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') {
15017
15029
  this.parent.element.querySelector('.' + PIVOTCHART).innerHTML = '';
15018
15030
  this.chartElement = this.parent.element.querySelector('.' + PIVOTCHART).appendChild(createElement('div', {
15019
15031
  className: PIVOTCHART_INNER, id: this.parent.element.id + '_chartInner',
@@ -15034,7 +15046,7 @@ class PivotChart {
15034
15046
  }
15035
15047
  let height = this.getChartHeight();
15036
15048
  if (this.parent.chartSettings.enableScrollOnMultiAxis && this.parent.chartSettings.enableMultipleAxis &&
15037
- this.accumulationType.indexOf(type) < 0) {
15049
+ this.accumulationType.indexOf(type) < 0 && this.chartSettings.chartSeries.type !== 'Pareto') {
15038
15050
  this.parent.element.querySelector('.' + PIVOTCHART).style.height =
15039
15051
  (height === 'auto' ? this.getChartAutoHeight() : height) + 'px';
15040
15052
  this.parent.element.querySelector('.' + PIVOTCHART).style.width = width + 'px';
@@ -15045,7 +15057,7 @@ class PivotChart {
15045
15057
  }
15046
15058
  if (this.parent.chart && ((this.parent.chart.getModuleName() === 'accumulationchart' &&
15047
15059
  this.accumulationType.indexOf(type) < 0) || (this.parent.chart.getModuleName() === 'chart' &&
15048
- this.accumulationType.indexOf(type) > -1))) {
15060
+ this.accumulationType.indexOf(type) > -1 && this.chartSettings.chartSeries.type !== 'Pareto'))) {
15049
15061
  this.parent.chart.destroy();
15050
15062
  if (select('#' + this.parent.element.id + '_chart', this.parent.element)) {
15051
15063
  select('#' + this.parent.element.id + '_chart', this.parent.element).innerHTML = '';
@@ -15124,7 +15136,7 @@ class PivotChart {
15124
15136
  zoomSettings: currentZoomSettings,
15125
15137
  axes: (type === 'Polar' || type === 'Radar') ? [] : axesWithRows.axes,
15126
15138
  rows: (type === 'Polar' || type === 'Radar') ? [{}] :
15127
- (type === 'Bar' || type === 'StackingBar' || type === 'StackingBar100' &&
15139
+ (type === 'Bar' || type === 'StackingBar' || type === 'StackingBar100' || type === 'Pareto' &&
15128
15140
  this.chartSettings.enableMultipleAxis) ? [{ height: '100%' }] : axesWithRows.rows,
15129
15141
  columns: (type === 'Polar' || type === 'Radar') ? [{}] :
15130
15142
  (type === 'Bar' || type === 'StackingBar' || type === 'StackingBar100' &&
@@ -15134,7 +15146,7 @@ class PivotChart {
15134
15146
  width: width,
15135
15147
  height: (this.parent.chartSettings.chartSeries.type !== 'Polar' &&
15136
15148
  this.parent.chartSettings.chartSeries.type !== 'Radar' && this.parent.chartSettings.enableScrollOnMultiAxis &&
15137
- 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) ?
15138
15150
  Number(height) > (this.parent.dataSourceSettings.values.length * 235) + 100 ? isNaN(Number(height)) ?
15139
15151
  height.toString() : (Number(height) - 5).toString() :
15140
15152
  (!isNaN(Number(height)) || this.parent.dataSourceSettings.values.length > 1) ?
@@ -15235,6 +15247,10 @@ class PivotChart {
15235
15247
  this.parent.chart.rows = [{ height: '100%' }];
15236
15248
  this.parent.chart.columns = axesWithRows.columns;
15237
15249
  }
15250
+ else if (type === 'Pareto' && this.chartSettings.enableMultipleAxis) {
15251
+ this.parent.chart.rows = [{ height: '100%' }];
15252
+ this.parent.chart.columns = [{ width: '100%' }];
15253
+ }
15238
15254
  else {
15239
15255
  this.parent.chart.rows = axesWithRows.rows;
15240
15256
  this.parent.chart.columns = [{ width: '100%' }];
@@ -15629,7 +15645,7 @@ class PivotChart {
15629
15645
  }
15630
15646
  tooltipRender(args) {
15631
15647
  let measure = args.series.yAxisName ? (args.series.yAxisName.split('_CumulativeAxis')[0]) :
15632
- ((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') ?
15633
15649
  args.series.name ? args.series.name.split(' | ')[1] : args.data.seriesName ?
15634
15650
  args.data.seriesName.split(' | ')[1] : this.currentMeasure : this.measuresNames[this.currentMeasure] ?
15635
15651
  this.measuresNames[this.currentMeasure] : this.currentMeasure);
@@ -15641,14 +15657,14 @@ class PivotChart {
15641
15657
  let aggregateType = this.parent.dataType === 'olap' ? '' : this.parent.localeObj.getConstant(measureField.aggregateType);
15642
15658
  let measureAggregatedName = (this.parent.dataType === 'olap' ? '' : aggregateType + ' ' +
15643
15659
  this.parent.localeObj.getConstant('of') + ' ') + measureField.caption;
15644
- let formattedText = this.accumulationType.indexOf(this.parent.chartSettings.chartSeries.type) < 0 ?
15645
- args.text.split('<b>')[1].split('</b>')[0] : this.engineModule.pivotValues[rowIndex][colIndex].formattedText;
15660
+ let formattedText = this.engineModule.pivotValues[rowIndex][colIndex].formattedText;
15646
15661
  let formatField = this.engineModule.formatFields[measureField.id];
15647
- let formattedValue = ((formatField && formatField.format && formatField.format.toLowerCase().match(/n|p|c/) !== null &&
15662
+ let valueFormat = this.engineModule.getFormattedValue(args.point.y, measureField.id, formattedText);
15663
+ let formattedValue = (formatField && formatField.format && formatField.format.toLowerCase().match(/n|p|c/) !== null &&
15648
15664
  this.chartSettings.useGroupingSeparator) ? this.parent.dataType === 'olap' ?
15649
- this.engineModule.getFormattedValue(args.point.y, measureField.id, formattedText) :
15650
- this.parent.engineModule.getFormattedValue(args.point.y, measureField.id).formattedText :
15651
- formattedText);
15665
+ valueFormat.toString() :
15666
+ valueFormat.formattedText :
15667
+ formattedText;
15652
15668
  let columnText = (args.series.name ? args.series.name.split(' | ')[0] : args.data.seriesName.split(' | ')[0]);
15653
15669
  let rowText = args.point.x;
15654
15670
  if (this.parent.tooltipTemplate && this.parent.getTooltipTemplate() !== undefined || this.chartSettings.tooltip.template) {
@@ -15701,7 +15717,7 @@ class PivotChart {
15701
15717
  }
15702
15718
  }
15703
15719
  if (this.parent.chartSettings.enableScrollOnMultiAxis && this.parent.chartSettings.enableMultipleAxis) {
15704
- 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) {
15705
15721
  this.parent.element.querySelector('.' + PIVOTCHART).style.overflow = 'visible';
15706
15722
  }
15707
15723
  else {
@@ -15977,6 +15993,16 @@ class PivotChart {
15977
15993
  args.text = '';
15978
15994
  }
15979
15995
  }
15996
+ if (args.axis.name !== 'primaryXAxis') {
15997
+ let formatField = this.engineModule.formatFields[args.axis.name];
15998
+ let valueFormat = this.engineModule.getFormattedValue(args.value, args.axis.name, args.text);
15999
+ let formattedValue = ((formatField && formatField.format && formatField.format.toLowerCase().match(/n|p|c/) !== null &&
16000
+ this.chartSettings.useGroupingSeparator) ? this.parent.dataType === 'olap' ?
16001
+ valueFormat.toString() :
16002
+ valueFormat.formattedText :
16003
+ args.value.toString());
16004
+ args.text = formattedValue;
16005
+ }
15980
16006
  this.parent.trigger(chartAxisLabelRender, args);
15981
16007
  }
15982
16008
  multiLevelLabelClick(args) {
@@ -16123,7 +16149,7 @@ class PivotChart {
16123
16149
  /* eslint-disable */
16124
16150
  /** @hidden */
16125
16151
  getResizedChartHeight() {
16126
- 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 &&
16127
16153
  this.parent.chartSettings.enableScrollOnMultiAxis && this.parent.chartSettings.enableMultipleAxis &&
16128
16154
  this.parent.dataSourceSettings.values.length > 0 ? Number(this.parent.chart.height) > (this.parent.dataSourceSettings.values.length * 235) + 100 ? /* eslint-disable-line */
16129
16155
  isNaN(Number(this.getChartHeight())) ? this.getChartHeight().toString() : (Number(this.getChartHeight()) - 5).toString() :
@@ -24143,7 +24169,7 @@ let PivotView = class PivotView extends Component {
24143
24169
  */
24144
24170
  excelExport(excelExportProperties, isMultipleExport, workbook, isBlob) {
24145
24171
  if (this.enableVirtualization && this.dataSourceSettings.mode !== 'Server') {
24146
- this.excelExportModule.exportToExcel('Excel', excelExportProperties);
24172
+ this.excelExportModule.exportToExcel('Excel', excelExportProperties, isBlob);
24147
24173
  }
24148
24174
  else {
24149
24175
  this.exportType = 'Excel';
@@ -24168,7 +24194,7 @@ let PivotView = class PivotView extends Component {
24168
24194
  */
24169
24195
  csvExport(excelExportProperties, isMultipleExport, workbook, isBlob) {
24170
24196
  if (this.enableVirtualization && this.dataSourceSettings.mode !== 'Server') {
24171
- this.excelExportModule.exportToExcel('CSV', excelExportProperties);
24197
+ this.excelExportModule.exportToExcel('CSV', excelExportProperties, isBlob);
24172
24198
  }
24173
24199
  else {
24174
24200
  this.exportType = 'CSV';
@@ -24193,7 +24219,7 @@ let PivotView = class PivotView extends Component {
24193
24219
  */
24194
24220
  pdfExport(pdfExportProperties, isMultipleExport, pdfDoc, isBlob) {
24195
24221
  if (this.enableVirtualization && this.dataSourceSettings.mode !== 'Server') {
24196
- this.pdfExportModule.exportToPDF(pdfExportProperties);
24222
+ this.pdfExportModule.exportToPDF(pdfExportProperties, isBlob);
24197
24223
  }
24198
24224
  else {
24199
24225
  this.grid.pdfExport(pdfExportProperties, isMultipleExport, pdfDoc, isBlob);
@@ -24258,7 +24284,7 @@ let PivotView = class PivotView extends Component {
24258
24284
  }
24259
24285
  if (this.dataType === 'pivot') {
24260
24286
  let clonedDrillMembers = PivotUtil.cloneDrillMemberSettings(this.dataSourceSettings.drilledMembers);
24261
- 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'));
24262
24288
  let rowIndex = axis === 'row' ? Number(closest(target, 'td').getAttribute('index')) : Number(closest(target, 'th').getAttribute('index'));
24263
24289
  let currentCell = chartDrillInfo ? chartDrillInfo.cell :
24264
24290
  this.engineModule.pivotValues[rowIndex][colIndex];
@@ -24365,7 +24391,7 @@ let PivotView = class PivotView extends Component {
24365
24391
  currentCell = chartDrillInfo.cell;
24366
24392
  }
24367
24393
  else {
24368
- 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'));
24369
24395
  let rowIndex = axis === 'row' ? Number(closest(target, 'td').getAttribute('index')) : Number(closest(target, 'th').getAttribute('index'));
24370
24396
  currentCell = this.olapEngineModule.pivotValues[rowIndex][colIndex];
24371
24397
  }
@@ -24664,6 +24690,10 @@ let PivotView = class PivotView extends Component {
24664
24690
  (mCntVScrollPos === mCntScrollPos ? (mCntScrollPos - hScrollPos) :
24665
24691
  (mCntScrollPos < mCntVScrollPos && (hScrollPos === mCntVScrollPos || hScrollPos > mCntScrollPos) ?
24666
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
+ }
24667
24697
  horiOffset = (ele.scrollLeft > this.scrollerBrowserLimit) ?
24668
24698
  (mCnt.querySelector('.' + TABLE).style.transform.split(',')[0].trim() + ',') :
24669
24699
  'translate(' + -(((ele.scrollLeft * this.horizontalScrollScale) -
@@ -24706,7 +24736,7 @@ let PivotView = class PivotView extends Component {
24706
24736
  }
24707
24737
  }
24708
24738
  setToolTip(args) {
24709
- let colIndex = Number(args.target.getAttribute('aria-colindex'));
24739
+ let colIndex = Number(args.target.getAttribute('data-colindex'));
24710
24740
  let rowIndex = Number(args.target.getAttribute('index'));
24711
24741
  let cell = (this.dataSourceSettings.values.length > 0 && this.pivotValues &&
24712
24742
  this.pivotValues[rowIndex] && this.pivotValues[rowIndex][colIndex]) ?
@@ -24902,7 +24932,7 @@ let PivotView = class PivotView extends Component {
24902
24932
  let ele = e.target;
24903
24933
  let axis = (ele.parentElement.classList.contains(ROWSHEADER) || ele.classList.contains(ROWSHEADER)) ? 'row' : 'column';
24904
24934
  ele = axis === 'column' ? closest(ele, 'th') : closest(ele, 'td');
24905
- let colIndex = Number(ele.getAttribute('aria-colindex'));
24935
+ let colIndex = Number(ele.getAttribute('data-colindex'));
24906
24936
  let rowIndex = Number(ele.getAttribute('index'));
24907
24937
  let selectArgs = {
24908
24938
  cancel: false,
@@ -24979,7 +25009,7 @@ let PivotView = class PivotView extends Component {
24979
25009
  if (this.actionBeginMethod()) {
24980
25010
  return;
24981
25011
  }
24982
- let colIndex = Number(ele.getAttribute('aria-colindex'));
25012
+ let colIndex = Number(ele.getAttribute('data-colindex'));
24983
25013
  let rowIndex = Number(ele.getAttribute('index'));
24984
25014
  if (this.dataSourceSettings.valueAxis === 'row' && (this.dataSourceSettings.values.length > 1 || this.dataSourceSettings.alwaysShowValueHeader)) {
24985
25015
  let header = this.pivotValues[rowIndex][colIndex];
@@ -24993,13 +25023,13 @@ let PivotView = class PivotView extends Component {
24993
25023
  }
24994
25024
  }
24995
25025
  else if (this.dataSourceSettings.valueAxis === 'column' && (this.dataSourceSettings.values.length > 1 || this.dataSourceSettings.alwaysShowValueHeader)) {
24996
- 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);
24997
25027
  rowIndex = this.engineModule.headerContent.length - 1;
24998
25028
  }
24999
25029
  this.setProperties({
25000
25030
  dataSourceSettings: {
25001
25031
  valueSortSettings: {
25002
- columnIndex: (Number(ele.getAttribute('aria-colindex')) +
25032
+ columnIndex: (Number(ele.getAttribute('data-colindex')) +
25003
25033
  Number(ele.getAttribute('aria-colspan')) - 1),
25004
25034
  sortOrder: this.dataSourceSettings.valueSortSettings.sortOrder === 'Descending' ? 'Ascending' : 'Descending',
25005
25035
  headerText: this.pivotValues[rowIndex][colIndex].valueSort.levelName,
@@ -25341,7 +25371,7 @@ let PivotView = class PivotView extends Component {
25341
25371
  }
25342
25372
  /* eslint-disable */
25343
25373
  if (ele && !isNullOrUndefined(this.pivotValues) && this.pivotValues.length > 0) {
25344
- let colIndex = Number(ele.getAttribute('aria-colindex'));
25374
+ let colIndex = Number(ele.getAttribute('data-colindex'));
25345
25375
  let rowIndex = Number(ele.getAttribute('index'));
25346
25376
  let colSpan = Number(ele.getAttribute('aria-colspan'));
25347
25377
  let selectArgs = {
@@ -25509,10 +25539,10 @@ let PivotView = class PivotView extends Component {
25509
25539
  if (!isCtrl || type === 'Single') {
25510
25540
  for (let ele of [].slice.call(this.element.querySelectorAll('.' + CELL_ACTIVE_BGCOLOR))) {
25511
25541
  removeClass([ele], [CELL_ACTIVE_BGCOLOR, SELECTED_BGCOLOR]);
25512
- if (activeColumns.indexOf(ele.getAttribute('aria-colindex')) === -1) {
25542
+ if (activeColumns.indexOf(ele.getAttribute('data-colindex')) === -1) {
25513
25543
  isToggle = false;
25514
25544
  }
25515
- let colIndex = Number(ele.getAttribute('aria-colindex'));
25545
+ let colIndex = Number(ele.getAttribute('data-colindex'));
25516
25546
  actColPos[colIndex] = colIndex;
25517
25547
  }
25518
25548
  activeColumns = Object.keys(actColPos).length > 0 ? Object.keys(actColPos).sort(function (a, b) {
@@ -25543,7 +25573,7 @@ let PivotView = class PivotView extends Component {
25543
25573
  }
25544
25574
  let count = colStart;
25545
25575
  while (count <= colEnd) {
25546
- queryStringArray.push('[aria-colindex="' + count + '"]' + (this.gridSettings.selectionSettings.mode === 'Cell' ?
25576
+ queryStringArray.push('[data-colindex="' + count + '"]' + (this.gridSettings.selectionSettings.mode === 'Cell' ?
25547
25577
  '[index="' + rowStart + '"]' : "") + '');
25548
25578
  count++;
25549
25579
  }
@@ -25569,20 +25599,20 @@ let PivotView = class PivotView extends Component {
25569
25599
  control.savedSelectedCellsPos = [];
25570
25600
  control.cellSelectionPos = [];
25571
25601
  for (let ele of [].slice.call(this.element.querySelectorAll('.' + SELECTED_BGCOLOR))) {
25572
- 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') });
25573
25603
  }
25574
25604
  for (let ele of [].slice.call(this.element.querySelectorAll('.' + CELL_SELECTED_BGCOLOR))) {
25575
- 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') });
25576
25606
  }
25577
25607
  }
25578
25608
  setSavedSelectedCells() {
25579
25609
  let control = this;
25580
25610
  for (let item of [].slice.call(this.savedSelectedCellsPos)) {
25581
- let query = '[aria-colindex="' + item.colIndex + '"][index="' + item.rowIndex + '"]';
25611
+ let query = '[data-colindex="' + item.colIndex + '"][index="' + item.rowIndex + '"]';
25582
25612
  addClass([control.element.querySelector(query)], [CELL_ACTIVE_BGCOLOR, SELECTED_BGCOLOR]);
25583
25613
  }
25584
25614
  for (let item of [].slice.call(this.cellSelectionPos)) {
25585
- let query = '[aria-colindex="' + item.colIndex + '"][index="' + item.rowIndex + '"]';
25615
+ let query = '[data-colindex="' + item.colIndex + '"][index="' + item.rowIndex + '"]';
25586
25616
  addClass([control.element.querySelector(query)], [CELL_SELECTED_BGCOLOR]);
25587
25617
  }
25588
25618
  }
@@ -26160,8 +26190,7 @@ let PivotView = class PivotView extends Component {
26160
26190
  : this.actionObj.actionName == removeRecord ? recordRemoved : (this.actionObj.actionName == pngExport) ? pngExported : (this.actionObj.actionName == jpegExport) ? jpegExported
26161
26191
  : (this.actionObj.actionName == svgExport) ? svgExported : (this.actionObj.actionName == pdfExport) ? pdfExported : (this.actionObj.actionName == csvExport) ? csvExported : (this.actionObj.actionName == excelExport) ? excelExported : this.actionObj.actionName == windowResize ? windowResized
26162
26192
  : this.actionObj.actionName == saveCurrentReport ? reportSaved : (this.actionObj.actionName == addNewReport) ? newReportAdded : (this.actionObj.actionName == saveAsCurrentReport) ? reportReSaved
26163
- : (this.actionObj.actionName == renameCurrentReport) ? reportRenamed : (this.actionObj.actionName == renameCurrentReport) ? reportRenamed : (this.actionObj.actionName == horizontalScroll) ? horizontalScrolled
26164
- : (this.actionObj.actionName == verticalScroll) ? verticalScrolled : this.actionObj.actionName;
26193
+ : (this.actionObj.actionName == renameCurrentReport) ? reportRenamed : (this.actionObj.actionName == horizontalScroll) ? horizontalScrolled : (this.actionObj.actionName == verticalScroll) ? verticalScrolled : this.actionObj.actionName;
26165
26194
  return actionName;
26166
26195
  }
26167
26196
  /* eslint-disable-next-line */
@@ -26613,6 +26642,9 @@ __decorate([
26613
26642
  __decorate([
26614
26643
  Event()
26615
26644
  ], PivotView.prototype, "beforeExport", void 0);
26645
+ __decorate([
26646
+ Event()
26647
+ ], PivotView.prototype, "exportComplete", void 0);
26616
26648
  __decorate([
26617
26649
  Event()
26618
26650
  ], PivotView.prototype, "conditionalFormatting", void 0);
@@ -26993,7 +27025,7 @@ class ExcelExport$1 {
26993
27025
  * Method to perform excel export.
26994
27026
  * @hidden
26995
27027
  */
26996
- exportToExcel(type, exportProperties) {
27028
+ exportToExcel(type, exportProperties, isBlob) {
26997
27029
  this.rows = [];
26998
27030
  this.actualrCnt = 0;
26999
27031
  let isHeaderSet = !isNullOrUndefined(exportProperties) && !isNullOrUndefined(exportProperties.header);
@@ -27180,12 +27212,21 @@ class ExcelExport$1 {
27180
27212
  workSheets.push({ columns: columns, rows: this.rows });
27181
27213
  }
27182
27214
  let book = new Workbook({ worksheets: workSheets }, type === 'Excel' ? 'xlsx' : 'csv', undefined, this.parent.currencyCode);
27183
- if ('.xlsx' === fileName.substring(fileName.length - 5, fileName.length) || '.csv' === fileName.substring(fileName.length - 4, fileName.length)) {
27184
- book.save(fileName);
27215
+ let fileExtension = fileName.split(".").pop();
27216
+ let blobData;
27217
+ if (!isBlob) {
27218
+ book.save(fileExtension === "xlsx" || fileExtension === "csv" ?
27219
+ fileName : (fileName + (type === 'Excel' ? '.xlsx' : '.csv')));
27185
27220
  }
27186
27221
  else {
27187
- book.save(fileName + (type === 'Excel' ? '.xlsx' : '.csv'));
27222
+ blobData = book.saveAsBlob(fileExtension === "xlsx" || type === 'Excel' ?
27223
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' : 'text/csv');
27188
27224
  }
27225
+ let exportCompleteEventArgs = {
27226
+ type: type,
27227
+ promise: isBlob ? blobData : null
27228
+ };
27229
+ this.parent.trigger(exportComplete, exportCompleteEventArgs);
27189
27230
  }
27190
27231
  /**
27191
27232
  * To destroy the excel export module
@@ -27364,7 +27405,7 @@ class PDFExport {
27364
27405
  * @hidden
27365
27406
  */
27366
27407
  /* eslint-disable */
27367
- exportToPDF(pdfExportProperties) {
27408
+ exportToPDF(pdfExportProperties, isBlob) {
27368
27409
  this.engine = this.parent.dataType === 'olap' ? this.parent.olapEngineModule : this.parent.engineModule;
27369
27410
  let eventParams = this.applyEvent();
27370
27411
  let headerStyle = this.getStyle();
@@ -27555,7 +27596,18 @@ class PDFExport {
27555
27596
  integratedCnt = 0;
27556
27597
  }
27557
27598
  } while (integratedCnt < colLength);
27558
- eventParams.document.save(eventParams.args.fileName + '.pdf');
27599
+ let blobData;
27600
+ if (!isBlob) {
27601
+ eventParams.document.save(eventParams.args.fileName + '.pdf');
27602
+ }
27603
+ else {
27604
+ blobData = eventParams.document.save();
27605
+ }
27606
+ let exportCompleteEventArgs = {
27607
+ type: 'PDF',
27608
+ promise: isBlob ? blobData : null
27609
+ };
27610
+ this.parent.trigger(exportComplete, exportCompleteEventArgs);
27559
27611
  eventParams.document.destroy();
27560
27612
  }
27561
27613
  applyStyle(pdfGridRow, pivotCell, localCnt) {
@@ -32459,6 +32511,7 @@ class CalculatedField {
32459
32511
  this.isFormula = false;
32460
32512
  /** @hidden */
32461
32513
  this.isRequireUpdate = false;
32514
+ this.formatTypes = ['Standard', 'Currency', 'Percent', 'Custom', 'None'];
32462
32515
  this.parent = parent;
32463
32516
  this.existingReport = null;
32464
32517
  this.parent.calculatedFieldModule = this;
@@ -32564,7 +32617,7 @@ class CalculatedField {
32564
32617
  this.fieldText = node.getAttribute('data-caption');
32565
32618
  this.formulaText = node.getAttribute('data-formula');
32566
32619
  this.formatType = node.getAttribute('data-formatString');
32567
- this.formatText = this.formatType === 'Custom' ? node.getAttribute('data-customString') : null;
32620
+ this.formatText = this.formatType === 'Custom' ? node.getAttribute('data-customformatstring') : null;
32568
32621
  this.fieldType = node.getAttribute('data-membertype');
32569
32622
  this.parentHierarchy = this.fieldType === 'Dimension' ? node.getAttribute('data-hierarchy') : null;
32570
32623
  addClass([node.querySelector('.e-list-edit-icon')], CALC_EDITED);
@@ -32594,11 +32647,19 @@ class CalculatedField {
32594
32647
  closest(e.originalEvent.target, '.e-acrdn-header-icon')) {
32595
32648
  let node = closest(e.originalEvent.target, '.e-acrdn-header').querySelector('.' + CALCCHECK);
32596
32649
  let fieldName = node.getAttribute('data-field');
32650
+ let captionName = node.getAttribute('data-caption');
32597
32651
  let formatObj = PivotUtil.getFieldByName(fieldName, this.parent.dataSourceSettings.formatSettings);
32598
32652
  let optionElement = closest(e.originalEvent.target, '.e-acrdn-header-icon');
32653
+ if (formatObj) {
32654
+ let pivotFormat = this.getFormat(formatObj.format);
32655
+ let formatString = (pivotFormat ? this.formatTypes.indexOf(pivotFormat) > -1 ?
32656
+ formatObj.format : 'Custom' : 'None');
32657
+ this.formatType = formatString;
32658
+ }
32599
32659
  if (optionElement.querySelector('.' + CALC_EDIT) && e.originalEvent.target.classList.contains(CALC_EDIT)) {
32600
32660
  this.isEdit = true;
32601
- this.currentFieldName = this.fieldText = fieldName;
32661
+ this.currentFieldName = fieldName;
32662
+ this.fieldText = captionName ? captionName : fieldName;
32602
32663
  this.formulaText = this.parent.engineModule.fieldList[fieldName].formula;
32603
32664
  this.formatText = formatObj ? formatObj.format : '';
32604
32665
  addClass([optionElement.querySelector('.e-list-icon')], CALC_EDITED);
@@ -32667,16 +32728,16 @@ class CalculatedField {
32667
32728
  this.inputObj.dataBind();
32668
32729
  let formatString = node.getAttribute('data-formatString');
32669
32730
  let dialogElement = this.dialog.element;
32731
+ let ddlFormatTypes = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
32670
32732
  let customFormat = getInstance(select('#' + this.parentID + 'Custom_Format_Element', dialogElement), MaskedTextBox);
32733
+ let customFormatString = node.getAttribute('data-customformatstring');
32671
32734
  if (this.parent.dataType === 'olap') {
32672
32735
  let memberType = node.getAttribute('data-membertype');
32673
32736
  let parentHierarchy = node.getAttribute('data-hierarchy');
32674
32737
  let expression = node.getAttribute('data-formula');
32675
- let customString = node.getAttribute('data-customString');
32676
32738
  let fieldTitle = select('#' + this.parentID + '_' + 'FieldNameTitle', dialogElement);
32677
32739
  let memberTypeDrop = getInstance(select('#' + this.parentID + 'Member_Type_Div', dialogElement), DropDownList);
32678
32740
  let hierarchyDrop = getInstance(select('#' + this.parentID + 'Hierarchy_List_Div', dialogElement), DropDownList);
32679
- let formatDrop = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
32680
32741
  /* eslint-enable max-len */
32681
32742
  fieldTitle.innerHTML = this.parent.localeObj.getConstant('caption');
32682
32743
  select('#' + this.parentID + 'droppable', document).value = expression;
@@ -32686,14 +32747,8 @@ class CalculatedField {
32686
32747
  if (memberType === 'Dimension') {
32687
32748
  hierarchyDrop.value = parentHierarchy;
32688
32749
  }
32689
- if (formatString !== '') {
32690
- formatDrop.value = formatString;
32691
- formatDrop.dataBind();
32692
- }
32693
- customFormat.value = customString;
32694
32750
  }
32695
32751
  else {
32696
- customFormat.value = formatString;
32697
32752
  addClass(this.treeObj.element.querySelectorAll('.' + CALC_EDITED), CALC_EDIT);
32698
32753
  removeClass(this.treeObj.element.querySelectorAll('.' + CALC_EDITED), CALC_EDITED);
32699
32754
  addClass([node.querySelector('.e-list-icon')], CALC_EDITED);
@@ -32701,6 +32756,11 @@ class CalculatedField {
32701
32756
  node.querySelector('.' + CALC_EDITED).setAttribute('title', this.parent.localeObj.getConstant('clearCalculatedField'));
32702
32757
  select('#' + this.parentID + 'droppable', document).value = node.getAttribute('data-uid');
32703
32758
  }
32759
+ if (formatString !== '') {
32760
+ ddlFormatTypes.value = formatString;
32761
+ ddlFormatTypes.dataBind();
32762
+ }
32763
+ customFormat.value = customFormatString;
32704
32764
  customFormat.dataBind();
32705
32765
  }
32706
32766
  else if (node.tagName === 'LI' && (node.querySelector('.' + CALC_EDITED) &&
@@ -32715,15 +32775,15 @@ class CalculatedField {
32715
32775
  customFormat.dataBind();
32716
32776
  if (this.parent.dataType === 'olap') {
32717
32777
  let hierarchyDrop = getInstance(select('#' + this.parentID + 'Hierarchy_List_Div', dialogElement), DropDownList);
32718
- let formatDrop = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
32778
+ let ddlFormatTypes = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
32719
32779
  let memberTypeDrop = getInstance(select('#' + this.parentID + 'Member_Type_Div', dialogElement), DropDownList);
32720
32780
  let fieldTitle = select('#' + this.parentID + '_' + 'FieldNameTitle', dialogElement);
32721
32781
  /* eslint-enable max-len */
32722
32782
  fieldTitle.innerHTML = this.parent.localeObj.getConstant('fieldTitle');
32723
32783
  hierarchyDrop.index = 0;
32724
32784
  hierarchyDrop.dataBind();
32725
- formatDrop.index = 0;
32726
- formatDrop.dataBind();
32785
+ ddlFormatTypes.index = 0;
32786
+ ddlFormatTypes.dataBind();
32727
32787
  memberTypeDrop.index = 0;
32728
32788
  memberTypeDrop.readonly = false;
32729
32789
  memberTypeDrop.dataBind();
@@ -33108,18 +33168,15 @@ class CalculatedField {
33108
33168
  caption: this.inputObj.value,
33109
33169
  formula: dropField.value
33110
33170
  };
33171
+ let ddlFormatTypes = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
33172
+ field.formatString = (ddlFormatTypes.value === 'Custom' ? customFormat.value : (ddlFormatTypes.value === 'None' ? null : ddlFormatTypes.value));
33111
33173
  if (this.parent.dataType === 'olap') {
33112
- let formatDrop = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
33113
33174
  let memberTypeDrop = getInstance(select('#' + this.parentID + 'Member_Type_Div', dialogElement), DropDownList);
33114
33175
  let hierarchyDrop = getInstance(select('#' + this.parentID + 'Hierarchy_List_Div', dialogElement), DropDownList);
33115
- field.formatString = (formatDrop.value === 'Custom' ? customFormat.value : (formatDrop.value === 'None' ? null : formatDrop.value));
33116
33176
  if (memberTypeDrop.value === 'Dimension') {
33117
33177
  field.hierarchyUniqueName = hierarchyDrop.value;
33118
33178
  }
33119
33179
  }
33120
- else {
33121
- field.formatString = customFormat.value;
33122
- }
33123
33180
  return field;
33124
33181
  }
33125
33182
  /* eslint-enable max-len */
@@ -33200,21 +33257,21 @@ class CalculatedField {
33200
33257
  select('#' + this.parentID + 'droppable', this.parent.dialogRenderer.parentElement).value = '';
33201
33258
  select('#' + this.parentID + 'Custom_Format_Element', this.parent.dialogRenderer.parentElement).value = '';
33202
33259
  if (this.parent.dataType === 'olap') {
33203
- let customFormat = getInstance(select('#' + this.parentID + 'Custom_Format_Element', dialogElement), MaskedTextBox);
33204
- let formatDrop = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
33205
33260
  let memberTypeDrop = getInstance(select('#' + this.parentID + 'Member_Type_Div', dialogElement), DropDownList);
33206
33261
  let hierarchyDrop = getInstance(select('#' + this.parentID + 'Hierarchy_List_Div', dialogElement), DropDownList);
33207
- formatDrop.index = 0;
33208
- formatDrop.dataBind();
33209
33262
  memberTypeDrop.index = 0;
33210
33263
  memberTypeDrop.readonly = false;
33211
33264
  memberTypeDrop.dataBind();
33212
33265
  hierarchyDrop.index = 0;
33213
33266
  hierarchyDrop.enabled = false;
33214
33267
  hierarchyDrop.dataBind();
33215
- customFormat.enabled = false;
33216
- customFormat.dataBind();
33217
33268
  }
33269
+ let customFormat = getInstance(select('#' + this.parentID + 'Custom_Format_Element', dialogElement), MaskedTextBox);
33270
+ let ddlFormatTypes = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
33271
+ ddlFormatTypes.index = this.parent.dataType === 'olap' ? 0 : 4;
33272
+ ddlFormatTypes.dataBind();
33273
+ customFormat.enabled = false;
33274
+ customFormat.dataBind();
33218
33275
  /* eslint-enable max-len */
33219
33276
  }
33220
33277
  }
@@ -33503,7 +33560,7 @@ class CalculatedField {
33503
33560
  className: (this.parent.dataType === 'olap' ? OLAP_CALCOUTERDIV + ' ' : '') + CALCOUTERDIV
33504
33561
  });
33505
33562
  let olapFieldTreeDiv = createElement('div', { id: this.parentID + 'Olap_Tree_Div', className: 'e-olap-field-tree-div' });
33506
- let olapCalcDiv = createElement('div', { id: this.parentID + 'Olap_Calc_Div', className: 'e-olap-calculated-div' });
33563
+ let pivotCalcDiv = createElement('div', { id: this.parentID + 'Pivot_Calc_Div', className: 'e-pivot-calculated-div' });
33507
33564
  if (this.parent.getModuleName() === 'pivotfieldlist' && this.parent.
33508
33565
  dialogRenderer.parentElement.querySelector('.' + FORMULA) !== null && this.parent.isAdaptive) {
33509
33566
  let accordDiv = createElement('div', { id: this.parentID + 'accordDiv', className: CALCACCORD });
@@ -33527,7 +33584,7 @@ class CalculatedField {
33527
33584
  className: PIVOT_FIELD_TITLE_CLASS, id: this.parentID + '_' + 'FieldNameTitle',
33528
33585
  innerHTML: this.parent.localeObj.getConstant('fieldTitle')
33529
33586
  });
33530
- olapCalcDiv.appendChild(formulaTitle);
33587
+ pivotCalcDiv.appendChild(formulaTitle);
33531
33588
  }
33532
33589
  let inputDiv = createElement('div', { id: this.parentID + 'outerDiv', className: CALCINPUTDIV });
33533
33590
  let inputObj = createElement('input', {
@@ -33536,7 +33593,7 @@ class CalculatedField {
33536
33593
  className: CALCINPUT
33537
33594
  });
33538
33595
  inputDiv.appendChild(inputObj);
33539
- (this.parent.dataType === 'olap' && !this.parent.isAdaptive ? olapCalcDiv.appendChild(inputDiv) : outerDiv.appendChild(inputDiv));
33596
+ (this.parent.dataType === 'olap' && !this.parent.isAdaptive ? pivotCalcDiv.appendChild(inputDiv) : outerDiv.appendChild(inputDiv));
33540
33597
  let wrapDiv = createElement('div', { id: this.parentID + 'control_container', className: TREEVIEWOUTER });
33541
33598
  if (!this.parent.isAdaptive) {
33542
33599
  let fieldTitle = createElement('div', {
@@ -33583,7 +33640,7 @@ class CalculatedField {
33583
33640
  innerHTML: (this.parent.dataType === 'olap' ? this.parent.localeObj.getConstant('expressionField') :
33584
33641
  this.parent.localeObj.getConstant('formula'))
33585
33642
  });
33586
- (this.parent.dataType === 'olap' ? olapCalcDiv.appendChild(formulaTitle) : outerDiv.appendChild(formulaTitle));
33643
+ (this.parent.dataType === 'olap' ? pivotCalcDiv.appendChild(formulaTitle) : outerDiv.appendChild(formulaTitle));
33587
33644
  }
33588
33645
  let dropDiv = createElement('textarea', {
33589
33646
  id: this.parentID + 'droppable',
@@ -33594,7 +33651,7 @@ class CalculatedField {
33594
33651
  this.parent.localeObj.getConstant('dropText'))
33595
33652
  }
33596
33653
  });
33597
- (this.parent.dataType === 'olap' && !this.parent.isAdaptive ? olapCalcDiv.appendChild(dropDiv) : outerDiv.appendChild(dropDiv));
33654
+ (this.parent.dataType === 'olap' && !this.parent.isAdaptive ? pivotCalcDiv.appendChild(dropDiv) : outerDiv.appendChild(dropDiv));
33598
33655
  if (this.parent.isAdaptive) {
33599
33656
  let buttonDiv = createElement('div', { id: this.parentID + 'buttonDiv', className: CALCBUTTONDIV });
33600
33657
  let okBtn = createElement('button', {
@@ -33610,63 +33667,51 @@ class CalculatedField {
33610
33667
  className: OLAP_MEMBER_TITLE_CLASS,
33611
33668
  innerHTML: this.parent.localeObj.getConstant('memberType')
33612
33669
  });
33613
- olapCalcDiv.appendChild(memberTypeTitle);
33670
+ pivotCalcDiv.appendChild(memberTypeTitle);
33614
33671
  }
33615
33672
  let memberTypeDrop = createElement('div', { id: this.parentID + 'Member_Type_Div', className: CALC_MEMBER_TYPE_DIV });
33616
- (this.parent.isAdaptive ? outerDiv.appendChild(memberTypeDrop) : olapCalcDiv.appendChild(memberTypeDrop));
33673
+ (this.parent.isAdaptive ? outerDiv.appendChild(memberTypeDrop) : pivotCalcDiv.appendChild(memberTypeDrop));
33617
33674
  if (!this.parent.isAdaptive) {
33618
33675
  let hierarchyTitle = createElement('div', {
33619
33676
  className: OLAP_HIERARCHY_TITLE_CLASS,
33620
33677
  innerHTML: this.parent.localeObj.getConstant('selectedHierarchy')
33621
33678
  });
33622
- olapCalcDiv.appendChild(hierarchyTitle);
33679
+ pivotCalcDiv.appendChild(hierarchyTitle);
33623
33680
  }
33624
33681
  let hierarchyDrop = createElement('div', { id: this.parentID + 'Hierarchy_List_Div', className: CALC_HIERARCHY_LIST_DIV });
33625
- (this.parent.isAdaptive ? outerDiv.appendChild(hierarchyDrop) : olapCalcDiv.appendChild(hierarchyDrop));
33626
- if (!this.parent.isAdaptive) {
33627
- let formatTitle = createElement('div', {
33628
- className: OLAP_FORMAT_TITLE_CLASS,
33629
- innerHTML: this.parent.localeObj.getConstant('formatString')
33630
- });
33631
- olapCalcDiv.appendChild(formatTitle);
33632
- }
33633
- let formatDrop = createElement('div', { id: this.parentID + 'Format_Div', className: CALC_FORMAT_TYPE_DIV });
33634
- (this.parent.isAdaptive ? outerDiv.appendChild(formatDrop) : olapCalcDiv.appendChild(formatDrop));
33635
- let customFormatDiv = createElement('div', { id: this.parentID + 'custom_Format_Div', className: OLAP_CALC_CUSTOM_FORMAT_INPUTDIV });
33636
- let customFormatObj = createElement('input', {
33637
- id: this.parentID + 'Custom_Format_Element',
33638
- attrs: { 'type': 'text' },
33639
- className: CALC_FORMAT_INPUT
33682
+ (this.parent.isAdaptive ? outerDiv.appendChild(hierarchyDrop) : pivotCalcDiv.appendChild(hierarchyDrop));
33683
+ }
33684
+ if (!this.parent.isAdaptive) {
33685
+ let formatTitle = createElement('div', {
33686
+ className: PIVOT_FORMAT_TITLE_CLASS,
33687
+ innerHTML: this.parent.localeObj.getConstant('formatString')
33640
33688
  });
33641
- customFormatDiv.appendChild(customFormatObj);
33642
- olapCalcDiv.appendChild(customFormatDiv);
33643
- (this.parent.isAdaptive ? outerDiv.appendChild(customFormatDiv) : olapCalcDiv.appendChild(customFormatDiv));
33644
- if (this.parent.getModuleName() === 'pivotfieldlist' && this.parent.
33645
- dialogRenderer.parentElement.querySelector('.' + FORMULA) === null && this.parent.isAdaptive) {
33646
- let okBtn = outerDiv.querySelector('.' + CALCOKBTN);
33647
- outerDiv.appendChild(okBtn);
33648
- }
33649
- else {
33650
- outerDiv.appendChild(olapFieldTreeDiv);
33651
- outerDiv.appendChild(olapCalcDiv);
33652
- }
33689
+ pivotCalcDiv.appendChild(formatTitle);
33690
+ }
33691
+ let ddlFormatTypes = createElement('div', { id: this.parentID + 'Format_Div', className: CALC_FORMAT_TYPE_DIV });
33692
+ (this.parent.isAdaptive ? outerDiv.appendChild(ddlFormatTypes) : pivotCalcDiv.appendChild(ddlFormatTypes));
33693
+ let customFormatDiv = createElement('div', {
33694
+ id: this.parentID + 'custom_Format_Div',
33695
+ className: PIVOT_CALC_CUSTOM_FORMAT_INPUTDIV
33696
+ });
33697
+ let customFormatObj = createElement('input', {
33698
+ id: this.parentID + 'Custom_Format_Element',
33699
+ attrs: { 'type': 'text' },
33700
+ className: CALC_FORMAT_INPUT
33701
+ });
33702
+ customFormatDiv.appendChild(customFormatObj);
33703
+ pivotCalcDiv.appendChild(customFormatDiv);
33704
+ (this.parent.isAdaptive ? outerDiv.appendChild(customFormatDiv) : pivotCalcDiv.appendChild(customFormatDiv));
33705
+ if (this.parent.getModuleName() === 'pivotfieldlist' && this.parent.
33706
+ dialogRenderer.parentElement.querySelector('.' + FORMULA) === null && this.parent.isAdaptive) {
33707
+ let okBtn = outerDiv.querySelector('.' + CALCOKBTN);
33708
+ outerDiv.appendChild(okBtn);
33653
33709
  }
33654
33710
  else {
33655
- let customFormatDiv = createElement('div', { id: this.parentID + 'custom_Format_Div', className: CALC_CUSTOM_FORMAT_INPUTDIV });
33656
- if (!this.parent.isAdaptive) {
33657
- let formatTitle = createElement('div', {
33658
- className: OLAP_FORMAT_TITLE_CLASS,
33659
- innerHTML: this.parent.localeObj.getConstant('formatString')
33660
- });
33661
- customFormatDiv.appendChild(formatTitle);
33711
+ if (this.parent.dataType === 'olap') {
33712
+ outerDiv.appendChild(olapFieldTreeDiv);
33662
33713
  }
33663
- let customFormatObj = createElement('input', {
33664
- id: this.parentID + 'Custom_Format_Element',
33665
- attrs: { 'type': 'text' },
33666
- className: CALC_FORMAT_INPUT
33667
- });
33668
- customFormatDiv.appendChild(customFormatObj);
33669
- (this.parent.isAdaptive ? outerDiv.insertBefore(customFormatDiv, select('#' + this.parentID + 'buttonDiv', outerDiv)) : outerDiv.appendChild(customFormatDiv));
33714
+ outerDiv.appendChild(pivotCalcDiv);
33670
33715
  }
33671
33716
  }
33672
33717
  return outerDiv;
@@ -33691,12 +33736,12 @@ class CalculatedField {
33691
33736
  this.parentHierarchy = this.fieldType === 'Dimension' ? hierarchyDrop.value : null;
33692
33737
  }
33693
33738
  if (dialogElement.element.querySelector('.' + CALC_FORMAT_TYPE_DIV)) {
33694
- let formatDrop = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement.element), DropDownList);
33695
- this.formatType = formatDrop.value;
33739
+ let ddlFormatTypes = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement.element), DropDownList);
33740
+ this.formatType = ddlFormatTypes.value;
33696
33741
  }
33697
33742
  if (dialogElement.element.querySelector('.' + CALC_FORMAT_INPUT)) {
33698
33743
  let customFormat = getInstance(select('#' + this.parentID + 'Custom_Format_Element', dialogElement.element), MaskedTextBox);
33699
- this.formatText = this.parent.dataType === 'olap' ? this.formatType === 'Custom' ? customFormat.value : null : customFormat.value;
33744
+ this.formatText = (this.parent.dataType === 'olap' ? this.formatType : this.getFormat(this.formatType)) === 'Custom' ? customFormat.value : null;
33700
33745
  }
33701
33746
  }
33702
33747
  else {
@@ -33742,9 +33787,8 @@ class CalculatedField {
33742
33787
  hierarchyDrop.dataBind();
33743
33788
  }
33744
33789
  if (dialogElement.querySelector('.' + CALC_FORMAT_TYPE_DIV)) {
33745
- let formatStringData = ['Standard', 'Currency', 'Percent', 'None'];
33746
- let formatDrop = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
33747
- this.formatType = formatDrop.value = (formatStringData.indexOf(calcInfo.formatString) > -1 ? calcInfo.formatString : 'Custom');
33790
+ let ddlFormatTypes = getInstance(select('#' + this.parentID + 'Format_Div', dialogElement), DropDownList);
33791
+ this.formatType = ddlFormatTypes.value = (this.formatTypes.indexOf(calcInfo.formatString) > -1 ? calcInfo.formatString : 'Custom');
33748
33792
  }
33749
33793
  if (dialogElement.querySelector('.' + CALC_FORMAT_INPUT)) {
33750
33794
  let customFormat = getInstance(select('#' + this.parentID + 'Custom_Format_Element', dialogElement), MaskedTextBox);
@@ -33763,63 +33807,65 @@ class CalculatedField {
33763
33807
  * To create treeview.
33764
33808
  * @returns {void}
33765
33809
  */
33766
- createOlapDropElements() {
33810
+ createDropElements() {
33767
33811
  let dialogElement = (this.parent.isAdaptive ?
33768
33812
  this.parent.dialogRenderer.parentElement : this.dialog.element);
33769
- let mData = [];
33770
33813
  let fData = [];
33771
33814
  let fieldData = [];
33772
- let memberTypeData = ['Measure', 'Dimension'];
33773
- let formatStringData = ['Standard', 'Currency', 'Percent', 'Custom', 'None'];
33774
- for (let type of memberTypeData) {
33775
- mData.push({ value: type, text: this.parent.localeObj.getConstant(type) });
33776
- }
33777
- for (let format of formatStringData) {
33778
- fData.push({ value: format, text: this.parent.localeObj.getConstant(format) });
33779
- }
33780
- let fields = PivotUtil.getClonedData(this.parent.olapEngineModule.fieldListData);
33781
- for (let item of fields) {
33782
- if (item.spriteCssClass &&
33783
- (item.spriteCssClass.indexOf('e-attributeCDB-icon') > -1 ||
33784
- item.spriteCssClass.indexOf('e-hierarchyCDB-icon') > -1)) {
33785
- fieldData.push({ value: item.id, text: item.caption });
33786
- }
33815
+ for (let format of this.formatTypes) {
33816
+ fData.push({ value: (this.parent.dataType === 'pivot' ? this.getFormat(format) : format), text: this.parent.localeObj.getConstant(format) });
33787
33817
  }
33788
- let memberTypeObj = new DropDownList({
33789
- dataSource: mData, enableRtl: this.parent.enableRtl, locale: this.parent.locale,
33790
- fields: { value: 'value', text: 'text' },
33791
- value: this.fieldType !== null ? this.fieldType : mData[0].value,
33792
- readonly: this.isEdit,
33793
- cssClass: MEMBER_OPTIONS_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), width: '100%',
33794
- change: (args) => {
33795
- hierarchyListObj.enabled = args.value === 'Dimension' ? true : false;
33796
- this.fieldType = args.value;
33797
- this.formulaText = select('#' + this.parentID + 'droppable', document).value;
33798
- hierarchyListObj.dataBind();
33818
+ if (this.parent.dataType === 'olap') {
33819
+ let mData = [];
33820
+ let memberTypeData = ['Measure', 'Dimension'];
33821
+ for (let type of memberTypeData) {
33822
+ mData.push({ value: type, text: this.parent.localeObj.getConstant(type) });
33799
33823
  }
33800
- });
33801
- memberTypeObj.isStringTemplate = true;
33802
- memberTypeObj.appendTo(select('#' + this.parentID + 'Member_Type_Div', dialogElement));
33803
- let hierarchyListObj = new DropDownList({
33804
- dataSource: fieldData, enableRtl: this.parent.enableRtl, locale: this.parent.locale,
33805
- allowFiltering: true,
33806
- enabled: memberTypeObj.value === 'Dimension' ? true : false,
33807
- filterBarPlaceholder: this.parent.localeObj.getConstant('example') + ' ' + fieldData[0].text.toString(),
33808
- fields: { value: 'value', text: 'text' },
33809
- value: this.parentHierarchy !== null && memberTypeObj.value === 'Dimension' ?
33810
- this.parentHierarchy : fieldData[0].value,
33811
- cssClass: MEMBER_OPTIONS_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), width: '100%',
33812
- change: (args) => {
33813
- this.parentHierarchy = args.value;
33814
- this.formulaText = select('#' + this.parentID + 'droppable', document).value;
33824
+ let fields = PivotUtil.getClonedData(this.parent.olapEngineModule.fieldListData);
33825
+ for (let item of fields) {
33826
+ if (item.spriteCssClass &&
33827
+ (item.spriteCssClass.indexOf('e-attributeCDB-icon') > -1 ||
33828
+ item.spriteCssClass.indexOf('e-hierarchyCDB-icon') > -1)) {
33829
+ fieldData.push({ value: item.id, text: item.caption });
33830
+ }
33815
33831
  }
33816
- });
33817
- hierarchyListObj.isStringTemplate = true;
33818
- hierarchyListObj.appendTo(select('#' + this.parentID + 'Hierarchy_List_Div', dialogElement));
33832
+ let memberTypeObj = new DropDownList({
33833
+ dataSource: mData, enableRtl: this.parent.enableRtl, locale: this.parent.locale,
33834
+ fields: { value: 'value', text: 'text' },
33835
+ value: this.fieldType !== null ? this.fieldType : mData[0].value,
33836
+ readonly: this.isEdit,
33837
+ cssClass: MEMBER_OPTIONS_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), width: '100%',
33838
+ change: (args) => {
33839
+ hierarchyListObj.enabled = args.value === 'Dimension' ? true : false;
33840
+ this.fieldType = args.value;
33841
+ this.formulaText = select('#' + this.parentID + 'droppable', document).value;
33842
+ hierarchyListObj.dataBind();
33843
+ }
33844
+ });
33845
+ memberTypeObj.isStringTemplate = true;
33846
+ memberTypeObj.appendTo(select('#' + this.parentID + 'Member_Type_Div', dialogElement));
33847
+ let hierarchyListObj = new DropDownList({
33848
+ dataSource: fieldData, enableRtl: this.parent.enableRtl, locale: this.parent.locale,
33849
+ allowFiltering: true,
33850
+ enabled: memberTypeObj.value === 'Dimension' ? true : false,
33851
+ filterBarPlaceholder: this.parent.localeObj.getConstant('example') + ' ' + fieldData[0].text.toString(),
33852
+ fields: { value: 'value', text: 'text' },
33853
+ value: this.parentHierarchy !== null && memberTypeObj.value === 'Dimension' ?
33854
+ this.parentHierarchy : fieldData[0].value,
33855
+ cssClass: MEMBER_OPTIONS_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), width: '100%',
33856
+ change: (args) => {
33857
+ this.parentHierarchy = args.value;
33858
+ this.formulaText = select('#' + this.parentID + 'droppable', document).value;
33859
+ }
33860
+ });
33861
+ hierarchyListObj.isStringTemplate = true;
33862
+ hierarchyListObj.appendTo(select('#' + this.parentID + 'Hierarchy_List_Div', dialogElement));
33863
+ }
33819
33864
  let formatStringObj = new DropDownList({
33820
33865
  dataSource: fData, enableRtl: this.parent.enableRtl, locale: this.parent.locale,
33821
33866
  fields: { value: 'value', text: 'text' },
33822
- value: this.formatType !== null ? this.formatType : fData[0].value,
33867
+ value: this.parent.isAdaptive && this.formatType !== null ? this.formatType
33868
+ : this.parent.dataType === 'olap' ? fData[0].value : fData[4].value,
33823
33869
  cssClass: MEMBER_OPTIONS_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), width: '100%',
33824
33870
  change: (args) => {
33825
33871
  customerFormatObj.enabled = args.value === 'Custom' ? true : false;
@@ -33844,6 +33890,30 @@ class CalculatedField {
33844
33890
  customerFormatObj.isStringTemplate = true;
33845
33891
  customerFormatObj.appendTo('#' + this.parentID + 'Custom_Format_Element');
33846
33892
  }
33893
+ getFormat(pivotFormat) {
33894
+ let format = pivotFormat;
33895
+ switch (format) {
33896
+ case 'Standard':
33897
+ format = 'N';
33898
+ break;
33899
+ case 'Currency':
33900
+ format = 'C';
33901
+ break;
33902
+ case 'Percent':
33903
+ format = 'P';
33904
+ break;
33905
+ case 'N':
33906
+ format = 'Standard';
33907
+ break;
33908
+ case 'C':
33909
+ format = 'Currency';
33910
+ break;
33911
+ case 'P':
33912
+ format = 'Percent';
33913
+ break;
33914
+ }
33915
+ return format;
33916
+ }
33847
33917
  /**
33848
33918
  * To create treeview.
33849
33919
  * @returns {void}
@@ -33996,12 +34066,11 @@ class CalculatedField {
33996
34066
  args.node.setAttribute('data-membertype', field.fieldType);
33997
34067
  args.node.setAttribute('data-hierarchy', field.parentHierarchy ? field.parentHierarchy : '');
33998
34068
  args.node.setAttribute('data-formula', field.formula);
33999
- let formatStringData = ['Standard', 'Currency', 'Percent', 'None'];
34000
34069
  let formatString;
34001
- formatString = (field.formatString ? formatStringData.indexOf(field.formatString) > -1 ?
34070
+ formatString = (field.formatString ? this.formatTypes.indexOf(field.formatString) > -1 ?
34002
34071
  field.formatString : 'Custom' : 'None');
34003
34072
  args.node.setAttribute('data-formatString', formatString);
34004
- args.node.setAttribute('data-customString', (formatString === 'Custom' ? field.formatString : ''));
34073
+ args.node.setAttribute('data-customformatstring', (formatString === 'Custom' ? field.formatString : ''));
34005
34074
  let removeElement = createElement('span', {
34006
34075
  className: GRID_REMOVE + ' e-icons e-list-icon'
34007
34076
  });
@@ -34041,6 +34110,13 @@ class CalculatedField {
34041
34110
  args.node.setAttribute('data-type', args.nodeData.type);
34042
34111
  let formatObj = PivotUtil.getFieldByName(field, this.parent.dataSourceSettings.formatSettings);
34043
34112
  args.node.setAttribute('data-formatString', formatObj ? formatObj.format : '');
34113
+ if (formatObj) {
34114
+ let pivotFormat = this.getFormat(formatObj.format);
34115
+ let formatString = (pivotFormat ? this.formatTypes.indexOf(pivotFormat) > -1 ?
34116
+ formatObj.format : 'Custom' : 'None');
34117
+ args.node.setAttribute('data-customformatstring', (formatString === 'Custom' ? pivotFormat : ''));
34118
+ args.node.setAttribute('data-formatString', formatObj ? formatString : '');
34119
+ }
34044
34120
  let dragElement = createElement('span', {
34045
34121
  attrs: { 'tabindex': '-1', 'aria-disabled': 'false', 'title': this.parent.localeObj.getConstant('dragField') },
34046
34122
  className: ICON + ' e-drag'
@@ -34119,7 +34195,7 @@ class CalculatedField {
34119
34195
  let key = keys[index];
34120
34196
  data.push({
34121
34197
  header: '<input id=' + this.parentID + '_' + index + ' class=' + CALCCHECK + ' type="checkbox" data-field=' +
34122
- key + ' data-caption=' + this.parent.engineModule.fieldList[key].caption + ' data-type=' +
34198
+ key + ' data-caption="' + this.parent.engineModule.fieldList[key].caption + '" data-type=' +
34123
34199
  this.parent.engineModule.fieldList[key].type + '/>',
34124
34200
  content: (this.parent.engineModule.fieldList[key].aggregateType === CALC ||
34125
34201
  (this.getMenuItems(this.parent.engineModule.fieldList[key].type).length < 1)) ? '' :
@@ -34138,9 +34214,9 @@ class CalculatedField {
34138
34214
  renderMobileLayout(tabObj) {
34139
34215
  tabObj.items[4].content = this.renderDialogElements().outerHTML;
34140
34216
  tabObj.dataBind();
34141
- if (this.parent.dataType === 'olap' && this.parent.isAdaptive && this.parent.
34217
+ if (this.parent.isAdaptive && this.parent.
34142
34218
  dialogRenderer.parentElement.querySelector('.' + FORMULA) !== null) {
34143
- this.createOlapDropElements();
34219
+ this.createDropElements();
34144
34220
  }
34145
34221
  let cancelBtn = new Button({ cssClass: FLAT + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), isPrimary: true, locale: this.parent.locale, enableRtl: this.parent.enableRtl });
34146
34222
  cancelBtn.isStringTemplate = true;
@@ -34164,25 +34240,6 @@ class CalculatedField {
34164
34240
  });
34165
34241
  this.inputObj.isStringTemplate = true;
34166
34242
  this.inputObj.appendTo('#' + this.parentID + 'ddlelement');
34167
- if (this.parent.dataType === 'pivot') {
34168
- let formatInputObj = new MaskedTextBox({
34169
- locale: this.parent.locale, enableRtl: this.parent.enableRtl,
34170
- placeholder: this.parent.localeObj.getConstant('numberFormatString'),
34171
- change: (args) => {
34172
- this.formatText = args.value;
34173
- this.formulaText = select('#' + this.parentID + 'droppable', document).value;
34174
- },
34175
- cssClass: this.parent.cssClass
34176
- });
34177
- formatInputObj.isStringTemplate = true;
34178
- formatInputObj.appendTo('#' + this.parentID + 'Custom_Format_Element');
34179
- if (this.formatText !== null && this.parent.
34180
- dialogRenderer.parentElement.querySelector('.' + CALC_FORMAT_INPUT) !== null) {
34181
- this.parent.
34182
- dialogRenderer.parentElement.querySelector('.' + CALC_FORMAT_INPUT).value = this.formatText;
34183
- formatInputObj.value = this.formatText;
34184
- }
34185
- }
34186
34243
  if (this.formulaText !== null && select('#' + this.parentID + 'droppable', this.parent.dialogRenderer.parentElement) !== null) {
34187
34244
  let drop = select('#' + this.parentID + 'droppable', this.parent.dialogRenderer.parentElement);
34188
34245
  drop.value = this.formulaText;
@@ -34394,18 +34451,7 @@ class CalculatedField {
34394
34451
  });
34395
34452
  this.inputObj.isStringTemplate = true;
34396
34453
  this.inputObj.appendTo('#' + this.parentID + 'ddlelement');
34397
- if (this.parent.dataType === 'pivot') {
34398
- let customerFormatObj = new MaskedTextBox({
34399
- placeholder: this.parent.localeObj.getConstant('numberFormatString'),
34400
- locale: this.parent.locale, enableRtl: this.parent.enableRtl,
34401
- cssClass: this.parent.cssClass
34402
- });
34403
- customerFormatObj.isStringTemplate = true;
34404
- customerFormatObj.appendTo('#' + this.parentID + 'Custom_Format_Element');
34405
- }
34406
- if (this.parent.dataType === 'olap' && !this.parent.isAdaptive) {
34407
- this.createOlapDropElements();
34408
- }
34454
+ this.createDropElements();
34409
34455
  this.createTreeView();
34410
34456
  this.droppable = new Droppable(select('#' + this.parentID + 'droppable'));
34411
34457
  this.keyboardEvents = new KeyboardEvents(this.parent.calculatedFieldModule.dialog.element, {
@@ -34530,6 +34576,7 @@ class CalculatedField {
34530
34576
  */
34531
34577
  destroy() {
34532
34578
  this.removeEventListener();
34579
+ this.formatTypes = null;
34533
34580
  }
34534
34581
  }
34535
34582
 
@@ -35350,7 +35397,8 @@ class ConditionalFormatting {
35350
35397
  remove(select('#' + this.parentID + 'conditionalformatting', document));
35351
35398
  }
35352
35399
  this.parent.element.appendChild(createElement('div', {
35353
- id: this.parentID + 'conditionalformatting'
35400
+ id: this.parentID + 'conditionalformatting',
35401
+ className: FORMAT_DIALOG
35354
35402
  }));
35355
35403
  let buttonModel = [
35356
35404
  {
@@ -35385,14 +35433,14 @@ class ConditionalFormatting {
35385
35433
  showCloseIcon: false, closeOnEscape: false, enableRtl: this.parent.enableRtl, locale: this.parent.locale,
35386
35434
  position: { X: 'center', Y: 'center' }, allowDragging: true, buttons: buttonModel,
35387
35435
  beforeOpen: this.beforeOpen.bind(this), close: this.removeDialog.bind(this),
35388
- cssClass: FORMAT_DIALOG + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), header: this.parent.localeObj.getConstant('conditionalFormating'), target: document.body
35436
+ cssClass: this.parent.cssClass, header: this.parent.localeObj.getConstant('conditionalFormating'), target: document.body
35389
35437
  });
35390
35438
  }
35391
35439
  else {
35392
35440
  this.dialog = new Dialog({
35393
35441
  allowDragging: true, position: { X: 'center', Y: this.parent.element.offsetTop }, buttons: buttonModel,
35394
35442
  beforeOpen: this.beforeOpen.bind(this), close: this.removeDialog.bind(this),
35395
- cssClass: FORMAT_DIALOG + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), isModal: false, closeOnEscape: true, enableRtl: this.parent.enableRtl, locale: this.parent.locale,
35443
+ cssClass: this.parent.cssClass, isModal: false, closeOnEscape: true, enableRtl: this.parent.enableRtl, locale: this.parent.locale,
35396
35444
  showCloseIcon: true, header: this.parent.localeObj.getConstant('conditionalFormating'), target: this.parent.element
35397
35445
  });
35398
35446
  }
@@ -36986,12 +37034,12 @@ class Toolbar$2 {
36986
37034
  });
36987
37035
  args.element.innerText = '';
36988
37036
  checkbox.appendTo('#' + this.parent.element.id + '_' + 'checkBox');
36989
- if ((['Pie', 'Funnel', 'Pyramid', 'Doughnut'].indexOf(this.parent.chartSettings.chartSeries.type) > -1) &&
37037
+ if ((['Pie', 'Funnel', 'Pyramid', 'Doughnut', 'Pareto'].indexOf(this.parent.chartSettings.chartSeries.type) > -1) &&
36990
37038
  !args.element.classList.contains(MENU_DISABLE)) {
36991
37039
  args.element.classList.add(MENU_DISABLE);
36992
37040
  checkbox.disabled = true;
36993
37041
  }
36994
- else if ((['Pie', 'Funnel', 'Pyramid', 'Doughnut'].indexOf(this.parent.chartSettings.chartSeries.type) < 0) &&
37042
+ else if ((['Pie', 'Funnel', 'Pyramid', 'Doughnut', 'Pareto'].indexOf(this.parent.chartSettings.chartSeries.type) < 0) &&
36995
37043
  args.element.classList.contains(MENU_DISABLE)) {
36996
37044
  args.element.classList.remove(MENU_DISABLE);
36997
37045
  checkbox.disabled = false;
@@ -37027,7 +37075,7 @@ class Toolbar$2 {
37027
37075
  this.showLableState = chartSettings.legendSettings.visible;
37028
37076
  }
37029
37077
  else {
37030
- this.showLableState = ['Pie', 'Funnel', 'Pyramid', 'Doughnut'].indexOf(this.parent.chartSettings.chartSeries.type) > -1 ?
37078
+ this.showLableState = ['Pie', 'Funnel', 'Pyramid', 'Doughnut', 'Pareto'].indexOf(this.parent.chartSettings.chartSeries.type) > -1 ?
37031
37079
  false : true;
37032
37080
  }
37033
37081
  return this.showLableState;
@@ -37508,11 +37556,11 @@ class Toolbar$2 {
37508
37556
  changeDropDown(args) {
37509
37557
  let chartSettings = JSON.parse(this.parent.getPersistData()).chartSettings;
37510
37558
  if (!(chartSettings && chartSettings.legendSettings && chartSettings.legendSettings.visible !== undefined)) {
37511
- let checked = ['Pie', 'Funnel', 'Pyramid', 'Doughnut'].indexOf(args.value.toString()) > -1 ?
37559
+ let checked = ['Pie', 'Funnel', 'Pyramid', 'Doughnut', 'Pareto'].indexOf(args.value.toString()) > -1 ?
37512
37560
  false : true;
37513
37561
  getInstance(select('#' + this.parent.element.id + '_DialogShowLabel'), CheckBox).checked = checked;
37514
37562
  }
37515
- if (['Pie', 'Funnel', 'Pyramid', 'Doughnut'].indexOf(args.value.toString()) > -1) {
37563
+ if (['Pie', 'Funnel', 'Pyramid', 'Doughnut', 'Pareto'].indexOf(args.value.toString()) > -1) {
37516
37564
  getInstance(select('#' + this.parent.element.id + '_DialogMultipleAxis'), CheckBox).disabled = true;
37517
37565
  getInstance(select('#' + this.parent.element.id + '_AxisModeOption'), DropDownList).enabled = false;
37518
37566
  }
@@ -37543,7 +37591,7 @@ class Toolbar$2 {
37543
37591
  });
37544
37592
  checkbox1.appendTo(select('#' + this.parent.element.id + '_DialogShowLabel', this.chartTypesDialog.element));
37545
37593
  checkbox.appendTo(select('#' + this.parent.element.id + '_DialogMultipleAxis', this.chartTypesDialog.element));
37546
- if (['Pie', 'Funnel', 'Pyramid', 'Doughnut'].indexOf(this.parent.chartSettings.chartSeries.type) > -1) {
37594
+ if (['Pie', 'Funnel', 'Pyramid', 'Doughnut', 'Pareto'].indexOf(this.parent.chartSettings.chartSeries.type) > -1) {
37547
37595
  checkbox.disabled = true;
37548
37596
  getInstance(select('#' + this.parent.element.id + '_AxisModeOption'), DropDownList).enabled = false;
37549
37597
  }
@@ -38109,7 +38157,7 @@ class Grouping {
38109
38157
  this.parentElement = parentElement;
38110
38158
  this.selectedCellsInfo = [];
38111
38159
  this.isUpdate = false;
38112
- let colIndex = Number(target.getAttribute('aria-colindex'));
38160
+ let colIndex = Number(target.getAttribute('data-colindex'));
38113
38161
  let rowIndex = Number(target.getAttribute('index'));
38114
38162
  let cell = this.parent.engineModule.pivotValues[rowIndex][colIndex];
38115
38163
  let fieldName = cell.valueSort.axis.toString();
@@ -38301,7 +38349,7 @@ class Grouping {
38301
38349
  let selectedElements = this.parent.element.querySelectorAll('.' + CELL_SELECTED_BGCOLOR + ',.' + SELECTED_BGCOLOR);
38302
38350
  /* eslint-enable */
38303
38351
  for (let element of selectedElements) {
38304
- let colIndex = Number(element.getAttribute('aria-colindex'));
38352
+ let colIndex = Number(element.getAttribute('data-colindex'));
38305
38353
  let rowIndex = Number(element.getAttribute('index'));
38306
38354
  let cell = this.parent.engineModule.pivotValues[rowIndex][colIndex];
38307
38355
  if (cell && (cell.axis === axis) && !(cell.type === 'grand sum' || cell.type === 'sum') &&
@@ -38925,5 +38973,5 @@ class Grouping {
38925
38973
  * Export PivotGrid components
38926
38974
  */
38927
38975
 
38928
- 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 };
38976
+ 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 };
38929
38977
  //# sourceMappingURL=ej2-pivotview.es2015.js.map