@syncfusion/ej2-pivotview 20.1.61 → 20.2.36

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 (137) hide show
  1. package/CHANGELOG.md +12 -0
  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 +281 -99
  5. package/dist/es6/ej2-pivotview.es2015.js.map +1 -1
  6. package/dist/es6/ej2-pivotview.es5.js +283 -100
  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/helpers/e2e/index.js +9 -7
  12. package/helpers/e2e/pivotfieldlist.js +47 -31
  13. package/helpers/e2e/pivotview.js +68 -52
  14. package/package.json +22 -22
  15. package/src/base/engine.js +2 -2
  16. package/src/base/olap/engine.js +12 -0
  17. package/src/base/olap/mdx-query.js +1 -1
  18. package/src/common/actions/event-base.d.ts +4 -2
  19. package/src/common/actions/event-base.js +18 -10
  20. package/src/common/actions/field-list.js +2 -1
  21. package/src/common/actions/pivot-button.js +4 -4
  22. package/src/common/base/css-constant.d.ts +16 -0
  23. package/src/common/base/css-constant.js +16 -0
  24. package/src/common/calculatedfield/calculated-field.js +24 -15
  25. package/src/common/conditionalformatting/conditional-formatting.js +5 -5
  26. package/src/common/grouping-bar/grouping-bar.js +1 -1
  27. package/src/common/popups/aggregate-menu.js +4 -3
  28. package/src/common/popups/drillthrough-dialog.js +5 -4
  29. package/src/common/popups/error-dialog.js +1 -1
  30. package/src/common/popups/filter-dialog.js +25 -14
  31. package/src/common/popups/formatting-dialog.js +2 -2
  32. package/src/common/popups/grouping.js +14 -7
  33. package/src/common/popups/toolbar.js +11 -10
  34. package/src/pivotfieldlist/base/field-list-model.d.ts +5 -0
  35. package/src/pivotfieldlist/base/field-list.d.ts +4 -0
  36. package/src/pivotfieldlist/base/field-list.js +5 -0
  37. package/src/pivotfieldlist/renderer/dialog-renderer.js +17 -9
  38. package/src/pivotfieldlist/renderer/tree-renderer.d.ts +4 -0
  39. package/src/pivotfieldlist/renderer/tree-renderer.js +102 -8
  40. package/src/pivotview/base/pivotview-model.d.ts +7 -0
  41. package/src/pivotview/base/pivotview.d.ts +6 -0
  42. package/src/pivotview/base/pivotview.js +9 -3
  43. package/src/pivotview/renderer/render.js +3 -0
  44. package/styles/bootstrap-dark.css +165 -32
  45. package/styles/bootstrap.css +165 -32
  46. package/styles/bootstrap4.css +166 -36
  47. package/styles/bootstrap5-dark.css +209 -45
  48. package/styles/bootstrap5.css +209 -45
  49. package/styles/fabric-dark.css +165 -32
  50. package/styles/fabric.css +165 -32
  51. package/styles/fluent-dark.css +183 -49
  52. package/styles/fluent.css +183 -49
  53. package/styles/highcontrast-light.css +165 -32
  54. package/styles/highcontrast.css +165 -32
  55. package/styles/material-dark.css +165 -32
  56. package/styles/material.css +165 -32
  57. package/styles/pivotfieldlist/_bootstrap-dark-definition.scss +10 -0
  58. package/styles/pivotfieldlist/_bootstrap-definition.scss +10 -0
  59. package/styles/pivotfieldlist/_bootstrap4-definition.scss +11 -1
  60. package/styles/pivotfieldlist/_bootstrap5-definition.scss +15 -6
  61. package/styles/pivotfieldlist/_fabric-dark-definition.scss +10 -1
  62. package/styles/pivotfieldlist/_fabric-definition.scss +10 -0
  63. package/styles/pivotfieldlist/_fluent-definition.scss +18 -8
  64. package/styles/pivotfieldlist/_fusionnew-definition.scss +189 -0
  65. package/styles/pivotfieldlist/_highcontrast-definition.scss +10 -0
  66. package/styles/pivotfieldlist/_highcontrast-light-definition.scss +10 -0
  67. package/styles/pivotfieldlist/_layout.scss +30 -14
  68. package/styles/pivotfieldlist/_material-dark-definition.scss +10 -0
  69. package/styles/pivotfieldlist/_material-definition.scss +10 -0
  70. package/styles/pivotfieldlist/_material3-definition.scss +189 -0
  71. package/styles/pivotfieldlist/_tailwind-definition.scss +19 -10
  72. package/styles/pivotfieldlist/_theme.scss +142 -7
  73. package/styles/pivotfieldlist/bootstrap-dark.css +146 -10
  74. package/styles/pivotfieldlist/bootstrap.css +146 -10
  75. package/styles/pivotfieldlist/bootstrap4.css +147 -11
  76. package/styles/pivotfieldlist/bootstrap5-dark.css +151 -15
  77. package/styles/pivotfieldlist/bootstrap5.css +151 -15
  78. package/styles/pivotfieldlist/fabric-dark.css +146 -10
  79. package/styles/pivotfieldlist/fabric.css +146 -10
  80. package/styles/pivotfieldlist/fluent-dark.css +154 -18
  81. package/styles/pivotfieldlist/fluent.css +154 -18
  82. package/styles/pivotfieldlist/highcontrast-light.css +146 -10
  83. package/styles/pivotfieldlist/highcontrast.css +146 -10
  84. package/styles/pivotfieldlist/icons/_bootstrap-dark.scss +5 -0
  85. package/styles/pivotfieldlist/icons/_bootstrap.scss +5 -0
  86. package/styles/pivotfieldlist/icons/_bootstrap4.scss +5 -0
  87. package/styles/pivotfieldlist/icons/_bootstrap5.scss +5 -0
  88. package/styles/pivotfieldlist/icons/_fabric-dark.scss +5 -0
  89. package/styles/pivotfieldlist/icons/_fabric.scss +5 -0
  90. package/styles/pivotfieldlist/icons/_fluent.scss +5 -0
  91. package/styles/pivotfieldlist/icons/_fusionnew.scss +352 -0
  92. package/styles/pivotfieldlist/icons/_highcontrast-light.scss +5 -0
  93. package/styles/pivotfieldlist/icons/_highcontrast.scss +5 -0
  94. package/styles/pivotfieldlist/icons/_material-dark.scss +5 -0
  95. package/styles/pivotfieldlist/icons/_material.scss +4 -0
  96. package/styles/pivotfieldlist/icons/_material3.scss +352 -0
  97. package/styles/pivotfieldlist/icons/_tailwind-dark.scss +4 -0
  98. package/styles/pivotfieldlist/icons/_tailwind.scss +4 -0
  99. package/styles/pivotfieldlist/material-dark.css +146 -10
  100. package/styles/pivotfieldlist/material.css +146 -10
  101. package/styles/pivotfieldlist/tailwind-dark.css +155 -21
  102. package/styles/pivotfieldlist/tailwind.css +156 -21
  103. package/styles/pivotview/_bootstrap-dark-definition.scss +4 -2
  104. package/styles/pivotview/_bootstrap-definition.scss +4 -2
  105. package/styles/pivotview/_bootstrap4-definition.scss +4 -2
  106. package/styles/pivotview/_bootstrap5-definition.scss +9 -8
  107. package/styles/pivotview/_fabric-dark-definition.scss +4 -1
  108. package/styles/pivotview/_fabric-definition.scss +4 -2
  109. package/styles/pivotview/_fluent-definition.scss +11 -9
  110. package/styles/pivotview/_fusionnew-definition.scss +131 -0
  111. package/styles/pivotview/_highcontrast-definition.scss +4 -2
  112. package/styles/pivotview/_highcontrast-light-definition.scss +4 -2
  113. package/styles/pivotview/_layout.scss +3 -17
  114. package/styles/pivotview/_material-dark-definition.scss +4 -1
  115. package/styles/pivotview/_material-definition.scss +4 -2
  116. package/styles/pivotview/_material3-definition.scss +131 -0
  117. package/styles/pivotview/_tailwind-definition.scss +8 -5
  118. package/styles/pivotview/_theme.scss +47 -27
  119. package/styles/pivotview/bootstrap-dark.css +19 -22
  120. package/styles/pivotview/bootstrap.css +19 -22
  121. package/styles/pivotview/bootstrap4.css +19 -25
  122. package/styles/pivotview/bootstrap5-dark.css +58 -30
  123. package/styles/pivotview/bootstrap5.css +58 -30
  124. package/styles/pivotview/fabric-dark.css +19 -22
  125. package/styles/pivotview/fabric.css +19 -22
  126. package/styles/pivotview/fluent-dark.css +29 -31
  127. package/styles/pivotview/fluent.css +29 -31
  128. package/styles/pivotview/highcontrast-light.css +19 -22
  129. package/styles/pivotview/highcontrast.css +19 -22
  130. package/styles/pivotview/icons/_fusionnew.scss +183 -0
  131. package/styles/pivotview/icons/_material3.scss +183 -0
  132. package/styles/pivotview/material-dark.css +19 -22
  133. package/styles/pivotview/material.css +19 -22
  134. package/styles/pivotview/tailwind-dark.css +27 -31
  135. package/styles/pivotview/tailwind.css +27 -31
  136. package/styles/tailwind-dark.css +182 -52
  137. package/styles/tailwind.css +183 -52
@@ -3,7 +3,7 @@ import { DataManager, Deferred, Query } from '@syncfusion/ej2-data';
3
3
  import { Dialog, Tooltip, createSpinner, hideSpinner, showSpinner } from '@syncfusion/ej2-popups';
4
4
  import { ColumnChooser, CommandColumn, ContextMenu, Edit, ExcelExport, Freeze, Grid, Page, PdfExport, Reorder, Resize, Selection, Toolbar, VirtualScroll, getObject, headerRefreshed, setStyleAndAttributes } from '@syncfusion/ej2-grids';
5
5
  import { Accordion, ContextMenu as ContextMenu$1, Menu, Tab, Toolbar as Toolbar$1, TreeView } from '@syncfusion/ej2-navigations';
6
- import { ColorPicker, MaskedTextBox, NumericTextBox } from '@syncfusion/ej2-inputs';
6
+ import { ColorPicker, MaskedTextBox, NumericTextBox, TextBox } from '@syncfusion/ej2-inputs';
7
7
  import { CheckBoxSelection, DropDownList, MultiSelect } from '@syncfusion/ej2-dropdowns';
8
8
  import { DateTimePicker } from '@syncfusion/ej2-calendars';
9
9
  import { DropDownButton } from '@syncfusion/ej2-splitbuttons';
@@ -3967,7 +3967,7 @@ class PivotEngine {
3967
3967
  this.columnCount -= (!(this.showSubTotals && this.showColumnSubTotals && field.showSubTotals) && axis === 'column') ?
3968
3968
  this.colValuesLength : 0;
3969
3969
  let filterPosition = hierarchy[iln].index;
3970
- hierarchy[iln].members = this.getIndexedHeaders(keys, data, keyInd + 1, (filterPosition === undefined ? [] : filterPosition), axis, parentMember);
3970
+ hierarchy[iln].members = this.getIndexedHeaders(keys, data, keyInd + 1, (filterPosition === undefined ? [] : filterPosition), axis, parentMember, valueFil);
3971
3971
  if (this.frameHeaderObjectsCollection) {
3972
3972
  this.headerObjectsCollection[parentMember] = hierarchy[iln].members;
3973
3973
  }
@@ -3977,7 +3977,7 @@ class PivotEngine {
3977
3977
  if (this.enableSort) {
3978
3978
  // return new DataManager(hierarchy as JSON[]).executeLocal(new Query().sortBy('actualText', childrens.sort.toLowerCase()));
3979
3979
  if (isDateType) {
3980
- return this.sortHeaders(fieldName, childrens, hierarchy, childrens.sort, childrens.type);
3980
+ return this.sortHeaders(fieldName, childrens, hierarchy, childrens.sort, 'date');
3981
3981
  }
3982
3982
  else {
3983
3983
  if (childrens.type === 'number' && hierarchy.length > 0 && (typeof (hierarchy[0].actualText) === 'string')) {
@@ -6213,12 +6213,26 @@ const OLAP_FIELD_LIST_CLASS = 'e-olap-field-list-tree';
6213
6213
  /** @hidden */
6214
6214
  const FIELD_LIST_TREE_CLASS = 'e-field-list-tree';
6215
6215
  /** @hidden */
6216
+ const FIELD_LIST_TREE_OUTER_DIV_CLASS = 'e-field-list-tree-outer-div';
6217
+ /** @hidden */
6218
+ const FIELD_LIST_TREE_OUTER_DIV_SEARCH_CLASS = 'e-field-list-tree-outer-div-searchMode';
6219
+ /** @hidden */
6220
+ const FIELD_LIST_SEARCH_MODE_CLASS = 'e-search-mode';
6221
+ /** @hidden */
6216
6222
  const FIELD_HEADER_CLASS = 'e-field-header';
6217
6223
  /** @hidden */
6224
+ const FIELD_HEADER_CONTAINER_CLASS = 'e-field-header-container';
6225
+ /** @hidden */
6218
6226
  const FIELD_LIST_TITLE_CLASS = 'e-field-list-title';
6219
6227
  /** @hidden */
6220
6228
  const FIELD_LIST_TITLE_CONTENT_CLASS = 'e-title-content';
6221
6229
  /** @hidden */
6230
+ const FIELD_LIST_SEARCH_CLASS = 'e-field-list-search';
6231
+ /** @hidden */
6232
+ const FIELD_LIST_SEARCH_INPUT_CLASS = 'e-field-list-search-input';
6233
+ /** @hidden */
6234
+ const FIELD_LIST_SEARCH_ICON_CLASS = 'e-field-list-search-icon';
6235
+ /** @hidden */
6222
6236
  const FIELD_LIST_FOOTER_CLASS = 'e-field-list-footer';
6223
6237
  /** @hidden */
6224
6238
  const CALCULATED_FIELD_CLASS = 'e-calculated-field';
@@ -6529,6 +6543,8 @@ const TREEVIEW = 'e-pivot-treeview';
6529
6543
  /** @hidden */
6530
6544
  const TREEVIEWOUTER = 'e-pivot-treeview-outer';
6531
6545
  /** @hidden */
6546
+ const TREE_CONTAINER = 'e-treeContainer';
6547
+ /** @hidden */
6532
6548
  const CALCCANCELBTN = 'e-pivot-cancel-button';
6533
6549
  /** @hidden */
6534
6550
  const CALCADDBTN = 'e-pivot-add-button';
@@ -7006,13 +7022,13 @@ class AggregateMenu {
7006
7022
  buttons: [
7007
7023
  {
7008
7024
  click: this.updateValueSettings.bind(this),
7009
- buttonModel: { cssClass: OK_BUTTON_CLASS, content: this.parent.localeObj.getConstant('ok'), isPrimary: true }
7025
+ buttonModel: { cssClass: OK_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), content: this.parent.localeObj.getConstant('ok'), isPrimary: true }
7010
7026
  },
7011
7027
  {
7012
7028
  click: () => {
7013
7029
  this.valueDialog.hide();
7014
7030
  },
7015
- buttonModel: { cssClass: CANCEL_BUTTON_CLASS, content: this.parent.localeObj.getConstant('cancel') }
7031
+ buttonModel: { cssClass: CANCEL_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), content: this.parent.localeObj.getConstant('cancel') }
7016
7032
  }
7017
7033
  ],
7018
7034
  closeOnEscape: (this.parent.getModuleName() === 'pivotfieldlist' && this.parent.renderMode === 'Popup') ? false : true,
@@ -7169,7 +7185,8 @@ class AggregateMenu {
7169
7185
  // floatLabelType: 'Auto',
7170
7186
  enableRtl: this.parent.enableRtl,
7171
7187
  locale: this.parent.locale,
7172
- value: fieldCaption, width: '100%'
7188
+ value: fieldCaption, width: '100%',
7189
+ cssClass: this.parent.cssClass
7173
7190
  });
7174
7191
  inputObj1.isStringTemplate = true;
7175
7192
  inputObj1.appendTo(inputField1);
@@ -7645,6 +7662,9 @@ class Render {
7645
7662
  }
7646
7663
  /* eslint-disable */
7647
7664
  contextMenuOpen(args) {
7665
+ if (args.element && this.parent.cssClass) {
7666
+ addClass([args.element.parentElement], this.parent.cssClass);
7667
+ }
7648
7668
  for (let item of args.items) {
7649
7669
  let cellTarget = this.parent.lastCellClicked;
7650
7670
  let elem = null;
@@ -9554,6 +9574,8 @@ class EventBase {
9554
9574
  * @hidden
9555
9575
  */
9556
9576
  constructor(parent) {
9577
+ /** @hidden */
9578
+ this.searchListItem = [];
9557
9579
  this.parent = parent;
9558
9580
  }
9559
9581
  /**
@@ -9737,15 +9759,20 @@ class EventBase {
9737
9759
  let isItemAvail = false;
9738
9760
  let filterTypes = ['Include', 'Exclude'];
9739
9761
  if (filterObj && filterTypes.indexOf(filterObj.type) >= 0) {
9740
- let engineModule = this.parent.engineModule;
9741
- let field = engineModule.fieldList[fieldName];
9742
- let members = (engineModule.formatFields[fieldName] &&
9743
- (['date', 'dateTime', 'time'].indexOf(engineModule.formatFields[fieldName].type) > -1)) ?
9744
- field.formattedMembers : field.members;
9745
- for (let item of filterObj.items) {
9746
- if (members[item]) {
9747
- isItemAvail = true;
9748
- break;
9762
+ if (filterObj.type === 'Include' && filterObj.items.length === 0) {
9763
+ isItemAvail = true;
9764
+ }
9765
+ else {
9766
+ let engineModule = this.parent.engineModule;
9767
+ let field = engineModule.fieldList[fieldName];
9768
+ let members = (engineModule.formatFields[fieldName] &&
9769
+ (['date', 'dateTime', 'time'].indexOf(engineModule.formatFields[fieldName].type) > -1)) ?
9770
+ field.formattedMembers : field.members;
9771
+ for (let item of filterObj.items) {
9772
+ if (members[item]) {
9773
+ isItemAvail = true;
9774
+ break;
9775
+ }
9749
9776
  }
9750
9777
  }
9751
9778
  }
@@ -9985,6 +10012,7 @@ class EventBase {
9985
10012
  else {
9986
10013
  treeObj.expandAll(undefined, undefined, true);
9987
10014
  }
10015
+ this.searchListItem = searchList;
9988
10016
  }
9989
10017
  else {
9990
10018
  this.parent.searchTreeItems = [];
@@ -10657,7 +10685,7 @@ class ErrorDialog {
10657
10685
  buttons: [
10658
10686
  {
10659
10687
  click: this.closeErrorDialog.bind(this),
10660
- buttonModel: { cssClass: OK_BUTTON_CLASS, content: this.parent.localeObj.getConstant('ok'), isPrimary: true }
10688
+ buttonModel: { cssClass: OK_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), content: this.parent.localeObj.getConstant('ok'), isPrimary: true }
10661
10689
  }
10662
10690
  ],
10663
10691
  cssClass: this.parent.cssClass,
@@ -10731,19 +10759,19 @@ class FilterDialog {
10731
10759
  buttons: [
10732
10760
  {
10733
10761
  buttonModel: {
10734
- cssClass: 'e-clear-filter-button' + (this.allowExcelLikeFilter ? '' : ' ' + ICON_DISABLE),
10762
+ cssClass: 'e-clear-filter-button' + (this.allowExcelLikeFilter ? '' : ' ' + ICON_DISABLE) + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
10735
10763
  iconCss: 'e-icons e-clear-filter-icon', enableRtl: this.parent.enableRtl,
10736
10764
  content: this.parent.localeObj.getConstant('clearFilter'), disabled: (this.filterObject ? false : true)
10737
10765
  }
10738
10766
  },
10739
10767
  {
10740
10768
  buttonModel: {
10741
- cssClass: OK_BUTTON_CLASS, content: this.parent.localeObj.getConstant('ok'), isPrimary: true
10769
+ cssClass: OK_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), content: this.parent.localeObj.getConstant('ok'), isPrimary: true
10742
10770
  }
10743
10771
  },
10744
10772
  {
10745
10773
  click: this.closeFilterDialog.bind(this),
10746
- buttonModel: { cssClass: CANCEL_BUTTON_CLASS, content: this.parent.localeObj.getConstant('cancel') }
10774
+ buttonModel: { cssClass: CANCEL_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), content: this.parent.localeObj.getConstant('cancel') }
10747
10775
  }
10748
10776
  ],
10749
10777
  closeOnEscape: this.parent.renderMode === 'Popup' ? false : true,
@@ -10844,7 +10872,7 @@ class FilterDialog {
10844
10872
  this.editorSearch = new MaskedTextBox({
10845
10873
  placeholder: this.parent.localeObj.getConstant('search') + ' ' + '&#8220' + filterCaption + '&#8220',
10846
10874
  enableRtl: this.parent.enableRtl,
10847
- cssClass: EDITOR_SEARCH_CLASS,
10875
+ cssClass: EDITOR_SEARCH_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
10848
10876
  showClearButton: true,
10849
10877
  change: (e) => {
10850
10878
  if (this.parent.dataType === 'olap') {
@@ -10882,7 +10910,8 @@ class FilterDialog {
10882
10910
  nodeSelected: (args) => {
10883
10911
  removeClass([args.node], 'e-active');
10884
10912
  args.cancel = true;
10885
- }
10913
+ },
10914
+ cssClass: this.parent.cssClass
10886
10915
  });
10887
10916
  this.allMemberSelect.isStringTemplate = true;
10888
10917
  if (!isNullOrUndefined(this.parent.currentTreeItems)) {
@@ -10907,7 +10936,8 @@ class FilterDialog {
10907
10936
  removeClass([args.node], 'e-active');
10908
10937
  args.cancel = true;
10909
10938
  },
10910
- expandOn: 'None'
10939
+ expandOn: 'None',
10940
+ cssClass: this.parent.cssClass
10911
10941
  });
10912
10942
  this.memberTreeView.isStringTemplate = true;
10913
10943
  this.memberTreeView.appendTo(treeViewContainer);
@@ -10918,7 +10948,7 @@ class FilterDialog {
10918
10948
  if (this.parent.dataType === 'pivot' && treeData && treeData.length > 0) {
10919
10949
  let sortOrder = this.parent.engineModule.fieldList[fieldName].sort;
10920
10950
  let sortWrapper = createElement('div', {
10921
- className: FILTER_SORT_CLASS + ' e-btn-group' + (this.parent.enableRtl ? ' ' + RTL : ''),
10951
+ className: FILTER_SORT_CLASS + ' e-btn-group' + (this.parent.enableRtl ? ' ' + RTL : '') + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
10922
10952
  id: this.parent.element.id + '_Member_Sort'
10923
10953
  });
10924
10954
  this.parent.element.appendChild(sortWrapper);
@@ -10931,11 +10961,11 @@ class FilterDialog {
10931
10961
  id: this.parent.element.id + '_Sort_Descend', attrs: { 'type': 'button' }
10932
10962
  });
10933
10963
  let sortBtnElement = new Button({
10934
- iconCss: ICON + ' ' + SORT_ASCEND_ICON_CLASS, enableRtl: this.parent.enableRtl
10964
+ iconCss: ICON + ' ' + SORT_ASCEND_ICON_CLASS, enableRtl: this.parent.enableRtl, cssClass: this.parent.cssClass
10935
10965
  });
10936
10966
  sortBtnElement.appendTo(sortAscendElement);
10937
10967
  sortBtnElement = new Button({
10938
- iconCss: ICON + ' ' + SORT_DESCEND_ICON_CLASS, enableRtl: this.parent.enableRtl
10968
+ iconCss: ICON + ' ' + SORT_DESCEND_ICON_CLASS, enableRtl: this.parent.enableRtl, cssClass: this.parent.cssClass
10939
10969
  });
10940
10970
  sortBtnElement.appendTo(sortDescendElement);
10941
10971
  sortWrapper.appendChild(sortAscendElement);
@@ -11278,7 +11308,8 @@ class FilterDialog {
11278
11308
  items: items,
11279
11309
  height: '100%',
11280
11310
  selectedItem: selectedIndex,
11281
- enableRtl: this.parent.enableRtl
11311
+ enableRtl: this.parent.enableRtl,
11312
+ cssClass: this.parent.cssClass
11282
11313
  });
11283
11314
  this.tabObj.isStringTemplate = true;
11284
11315
  this.tabObj.appendTo(wrapper);
@@ -11595,7 +11626,9 @@ class FilterDialog {
11595
11626
  else {
11596
11627
  return;
11597
11628
  }
11598
- }, width: '100%'
11629
+ },
11630
+ width: '100%',
11631
+ cssClass: this.parent.cssClass
11599
11632
  });
11600
11633
  let inputObj2 = new NumericTextBox({
11601
11634
  placeholder: this.parent.localeObj.getConstant('enterValue'),
@@ -11614,7 +11647,9 @@ class FilterDialog {
11614
11647
  else {
11615
11648
  return;
11616
11649
  }
11617
- }, width: '100%'
11650
+ },
11651
+ width: '100%',
11652
+ cssClass: this.parent.cssClass
11618
11653
  });
11619
11654
  inputObj1.isStringTemplate = true;
11620
11655
  inputObj1.appendTo(inputDiv1);
@@ -11635,7 +11670,9 @@ class FilterDialog {
11635
11670
  else {
11636
11671
  return;
11637
11672
  }
11638
- }, width: '100%'
11673
+ },
11674
+ width: '100%',
11675
+ cssClass: this.parent.cssClass
11639
11676
  });
11640
11677
  let inputObj2 = new MaskedTextBox({
11641
11678
  placeholder: this.parent.localeObj.getConstant('enterValue'),
@@ -11650,7 +11687,9 @@ class FilterDialog {
11650
11687
  else {
11651
11688
  return;
11652
11689
  }
11653
- }, width: '100%'
11690
+ },
11691
+ width: '100%',
11692
+ cssClass: this.parent.cssClass
11654
11693
  });
11655
11694
  inputObj1.isStringTemplate = true;
11656
11695
  inputObj1.appendTo(inputDiv1);
@@ -13888,6 +13927,7 @@ class DrillThroughDialog {
13888
13927
  enabled: true,
13889
13928
  format: '####.##',
13890
13929
  locale: this.parent.locale,
13930
+ cssClass: this.parent.cssClass,
13891
13931
  change: () => {
13892
13932
  let textBoxValue = this.numericTextBox.value;
13893
13933
  let indexValue = eventArgs.currentCell.indexObject[indexObject];
@@ -14058,10 +14098,10 @@ class DrillThroughDialog {
14058
14098
  this.drillThroughGrid.columns.push({
14059
14099
  headerText: this.parent.localeObj.getConstant('manageRecords'), width: 160, showInColumnChooser: false,
14060
14100
  commands: [
14061
- { type: 'Edit', buttonOption: { iconCss: ' e-icons e-edit', cssClass: 'e-flat' } },
14062
- { type: 'Delete', buttonOption: { iconCss: 'e-icons e-delete', cssClass: 'e-flat' } },
14063
- { type: 'Save', buttonOption: { iconCss: 'e-icons e-update', cssClass: 'e-flat' } },
14064
- { type: 'Cancel', buttonOption: { iconCss: 'e-icons e-cancel-icon', cssClass: 'e-flat' } }
14101
+ { type: 'Edit', buttonOption: { iconCss: ' e-icons e-edit', cssClass: 'e-flat' + (this.parent.cssClass ? (' ' + this.parent.cssClass) : '') } },
14102
+ { type: 'Delete', buttonOption: { iconCss: 'e-icons e-delete', cssClass: 'e-flat' + (this.parent.cssClass ? (' ' + this.parent.cssClass) : '') } },
14103
+ { type: 'Save', buttonOption: { iconCss: 'e-icons e-update', cssClass: 'e-flat' + (this.parent.cssClass ? (' ' + this.parent.cssClass) : '') } },
14104
+ { type: 'Cancel', buttonOption: { iconCss: 'e-icons e-cancel-icon', cssClass: 'e-flat' + (this.parent.cssClass ? (' ' + this.parent.cssClass) : '') } }
14065
14105
  ]
14066
14106
  });
14067
14107
  }
@@ -18361,7 +18401,7 @@ class MDXQuery {
18361
18401
  query = '((' + name + ').levels(0).AllMembers)';
18362
18402
  }
18363
18403
  else {
18364
- query = (dimension.isNamedSet ? '{' + name + '}' : this.isPaging ? name + '.CHILDREN' :
18404
+ query = (dimension.isNamedSet || dimension.isCalculatedField ? '{' + name + '}' : this.isPaging ? name + '.CHILDREN' :
18365
18405
  'DrilldownLevel({' + name + '}' + ((axis === 'rows' || axis === 'columns') ? ',,,INCLUDE_CALC_MEMBERS' : '') + ')');
18366
18406
  }
18367
18407
  return query;
@@ -19371,7 +19411,9 @@ class OlapEngine {
19371
19411
  let lastAllStartPos;
19372
19412
  let lastAllCount;
19373
19413
  let availAllMember = false;
19414
+ let withoutAllEndPos = -1;
19374
19415
  let isGrandtoalDataAdd = false;
19416
+ let prevTupInfo;
19375
19417
  let isGrandTotalTop = false;
19376
19418
  while (tupPos < tuples.length && !isGrandtoalDataAdd) {
19377
19419
  let members = tuples[this.customArgs.action === 'down' ?
@@ -19380,11 +19422,21 @@ class OlapEngine {
19380
19422
  let allStartPos = this.tupRowInfo[tupPos].allStartPos;
19381
19423
  let measure = this.tupRowInfo[tupPos].measure;
19382
19424
  let typeColl = this.tupRowInfo[tupPos].typeCollection;
19425
+ let drillStartPos = this.tupRowInfo[tupPos].drillStartPos;
19426
+ let startDrillUniquename = this.tupRowInfo[tupPos].startDrillUniquename;
19383
19427
  if (tupPos === 0 && (members.length > (allCount + (measure ? 1 : 0)) || (members.length === 1 && measure))) {
19384
19428
  gTotals.pop();
19385
19429
  }
19386
19430
  if ((tupPos === 0 && this.isPaging) ? gTotals.length === 0 :
19387
19431
  (!availAllMember || allCount === lastAllCount || allStartPos !== lastAllStartPos || (members.length === 1 && measure))) {
19432
+ let attrDrill = this.checkAttributeDrill(this.tupRowInfo[tupPos].drillInfo, 'rows');
19433
+ let drillAllow = drillStartPos > -1 ? (allCount > 0 ? (attrDrill || allStartPos > drillStartPos) : true) : true;
19434
+ drillAllow = (prevTupInfo && drillAllow && drillStartPos > -1) ?
19435
+ (prevTupInfo.startDrillUniquename !== startDrillUniquename ? true :
19436
+ ((withoutAllEndPos > prevTupInfo.measurePosition ? false :
19437
+ prevTupInfo.measureName !== this.tupRowInfo[tupPos].measureName) &&
19438
+ (allStartPos === (drillStartPos + 1) || this.tupRowInfo[tupPos].measurePosition === (drillStartPos + 1))))
19439
+ : drillAllow;
19388
19440
  if (members.length === allCount + (measure ? 1 : 0) && measure && !isGrandTotalTop) {
19389
19441
  let levelName = 'Grand Total.' + members[measurePos].querySelector('Caption').textContent;
19390
19442
  let formattedText = (typeColl[measurePos] === '3' && this.dataFields[this.getUniqueName(members[measurePos].querySelector('UName').textContent)] &&
@@ -22799,8 +22851,8 @@ let PivotView = class PivotView extends Component {
22799
22851
  if (this.showTooltip) {
22800
22852
  if (this.tooltipTemplate) {
22801
22853
  this.tooltip = new Tooltip({
22802
- target: 'td.e-valuescontent' + (this.cssClass ? (' ' + this.cssClass) : ''),
22803
- cssClass: 'e-pivottooltiptemplate',
22854
+ target: 'td.e-valuescontent',
22855
+ cssClass: 'e-pivottooltiptemplate' + (this.cssClass ? (' ' + this.cssClass) : ''),
22804
22856
  showTipPointer: false,
22805
22857
  position: 'BottomRight',
22806
22858
  mouseTrail: true,
@@ -22812,7 +22864,8 @@ let PivotView = class PivotView extends Component {
22812
22864
  }
22813
22865
  else {
22814
22866
  this.tooltip = new Tooltip({
22815
- target: 'td.e-valuescontent' + (this.cssClass ? (' ' + this.cssClass) : ''),
22867
+ target: 'td.e-valuescontent',
22868
+ cssClass: this.cssClass,
22816
22869
  showTipPointer: false,
22817
22870
  position: 'BottomRight',
22818
22871
  mouseTrail: true,
@@ -23735,6 +23788,8 @@ let PivotView = class PivotView extends Component {
23735
23788
  this.pivotFieldListModule.axisFieldModule.render();
23736
23789
  }
23737
23790
  break;
23791
+ case 'enableFieldSearching':
23792
+ this.pivotFieldListModule.enableFieldSearching = this.enableFieldSearching;
23738
23793
  }
23739
23794
  }
23740
23795
  }
@@ -26305,6 +26360,9 @@ __decorate([
26305
26360
  __decorate([
26306
26361
  Property(false)
26307
26362
  ], PivotView.prototype, "allowCalculatedField", void 0);
26363
+ __decorate([
26364
+ Property(false)
26365
+ ], PivotView.prototype, "enableFieldSearching", void 0);
26308
26366
  __decorate([
26309
26367
  Property(false)
26310
26368
  ], PivotView.prototype, "enableValueSorting", void 0);
@@ -27628,6 +27686,12 @@ class DialogRenderer {
27628
27686
  if (this.parent.cssClass) {
27629
27687
  addClass([fieldListWrappper], this.parent.cssClass);
27630
27688
  }
27689
+ if (this.parent.enableFieldSearching) {
27690
+ addClass([fieldListWrappper], FIELD_LIST_SEARCH_MODE_CLASS);
27691
+ }
27692
+ else {
27693
+ removeClass([fieldListWrappper], FIELD_LIST_SEARCH_MODE_CLASS);
27694
+ }
27631
27695
  this.parentElement = createElement('div', { className: CONTAINER_CLASS });
27632
27696
  this.parent.element.appendChild(fieldListWrappper);
27633
27697
  if (this.parent.isAdaptive) {
@@ -27672,13 +27736,14 @@ class DialogRenderer {
27672
27736
  checked: true,
27673
27737
  enableRtl: this.parent.enableRtl,
27674
27738
  locale: this.parent.locale,
27675
- change: this.onCheckChange.bind(this)
27739
+ change: this.onCheckChange.bind(this),
27740
+ cssClass: this.parent.cssClass
27676
27741
  });
27677
27742
  this.deferUpdateCheckBox.isStringTemplate = true;
27678
27743
  this.deferUpdateCheckBox.appendTo('#' + this.parent.element.id + 'DeferUpdateCheckBox');
27679
27744
  this.deferUpdateApplyButton = new Button({
27680
27745
  cssClass: DEFER_APPLY_BUTTON + ' ' + DEFER_UPDATE_BUTTON + (this.parent.renderMode === 'Popup' ?
27681
- (' ' + BUTTON_FLAT_CLASS) : ''),
27746
+ (' ' + BUTTON_FLAT_CLASS) : '') + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
27682
27747
  content: this.parent.localeObj.getConstant('apply'),
27683
27748
  enableRtl: this.parent.enableRtl,
27684
27749
  locale: this.parent.locale,
@@ -27691,7 +27756,7 @@ class DialogRenderer {
27691
27756
  }
27692
27757
  this.deferUpdateCancelButton = new Button({
27693
27758
  cssClass: DEFER_CANCEL_BUTTON + ' ' + CANCEL_BUTTON_CLASS + (this.parent.renderMode === 'Popup' ?
27694
- (' ' + BUTTON_FLAT_CLASS) : ''),
27759
+ (' ' + BUTTON_FLAT_CLASS) : '') + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
27695
27760
  content: this.parent.allowDeferLayoutUpdate ? this.parent.localeObj.getConstant('cancel') :
27696
27761
  this.parent.localeObj.getConstant('close'),
27697
27762
  enableRtl: this.parent.enableRtl, isPrimary: !this.parent.allowDeferLayoutUpdate, locale: this.parent.locale
@@ -27808,7 +27873,7 @@ class DialogRenderer {
27808
27873
  let buttons = [{
27809
27874
  click: this.showFieldListDialog.bind(this),
27810
27875
  buttonModel: {
27811
- cssClass: ADAPTIVE_FIELD_LIST_BUTTON_CLASS + ' ' + BUTTON_SMALL_CLASS + ' ' + BUTTON_ROUND_CLASS,
27876
+ cssClass: ADAPTIVE_FIELD_LIST_BUTTON_CLASS + ' ' + BUTTON_SMALL_CLASS + ' ' + BUTTON_ROUND_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
27812
27877
  iconCss: ICON + ' ' + ADD_ICON_CLASS,
27813
27878
  isPrimary: true
27814
27879
  }
@@ -27816,7 +27881,7 @@ class DialogRenderer {
27816
27881
  click: this.showCalculatedField.bind(this),
27817
27882
  buttonModel: {
27818
27883
  cssClass: ADAPTIVE_CALCULATED_FIELD_BUTTON_CLASS +
27819
- ' ' + BUTTON_SMALL_CLASS + ' ' + BUTTON_ROUND_CLASS + ' ' + ICON_DISABLE,
27884
+ ' ' + BUTTON_SMALL_CLASS + ' ' + BUTTON_ROUND_CLASS + ' ' + ICON_DISABLE + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
27820
27885
  iconCss: ICON + ' ' + ADD_ICON_CLASS, enableRtl: this.parent.enableRtl,
27821
27886
  isPrimary: true
27822
27887
  }
@@ -27953,7 +28018,8 @@ class DialogRenderer {
27953
28018
  height: '100%',
27954
28019
  enableRtl: this.parent.enableRtl,
27955
28020
  locale: this.parent.locale,
27956
- selected: this.tabSelect.bind(this)
28021
+ selected: this.tabSelect.bind(this),
28022
+ cssClass: this.parent.cssClass
27957
28023
  });
27958
28024
  if (this.parent.renderMode === 'Fixed') {
27959
28025
  layoutFooter.appendChild(this.createAddButton());
@@ -27999,7 +28065,7 @@ class DialogRenderer {
27999
28065
  }
28000
28066
  });
28001
28067
  let calculateField = new Button({
28002
- cssClass: CALCULATED_FIELD_CLASS + ' ' + ICON_DISABLE,
28068
+ cssClass: CALCULATED_FIELD_CLASS + ' ' + ICON_DISABLE + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
28003
28069
  content: this.parent.localeObj.getConstant('CalculatedField'),
28004
28070
  enableRtl: this.parent.enableRtl, locale: this.parent.locale
28005
28071
  });
@@ -28019,12 +28085,12 @@ class DialogRenderer {
28019
28085
  let calculatedButton = createElement('div', {});
28020
28086
  let calculateField = new Button({
28021
28087
  cssClass: ADAPTIVE_CALCULATED_FIELD_BUTTON_CLASS +
28022
- ' ' + BUTTON_SMALL_CLASS + ' ' + BUTTON_ROUND_CLASS + ' ' + ICON_DISABLE,
28088
+ ' ' + BUTTON_SMALL_CLASS + ' ' + BUTTON_ROUND_CLASS + ' ' + ICON_DISABLE + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
28023
28089
  iconCss: ICON + ' ' + ADD_ICON_CLASS,
28024
28090
  enableRtl: this.parent.enableRtl, locale: this.parent.locale
28025
28091
  });
28026
28092
  let fieldList = new Button({
28027
- cssClass: ADAPTIVE_FIELD_LIST_BUTTON_CLASS + ' ' + BUTTON_SMALL_CLASS + ' ' + BUTTON_ROUND_CLASS,
28093
+ cssClass: ADAPTIVE_FIELD_LIST_BUTTON_CLASS + ' ' + BUTTON_SMALL_CLASS + ' ' + BUTTON_ROUND_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
28028
28094
  iconCss: ICON + ' ' + ADD_ICON_CLASS,
28029
28095
  enableRtl: this.parent.enableRtl, locale: this.parent.locale
28030
28096
  });
@@ -28214,6 +28280,8 @@ class TreeViewRenderer {
28214
28280
  */
28215
28281
  constructor(parent) {
28216
28282
  this.selectedNodes = [];
28283
+ this.isSearching = false;
28284
+ this.parentIDs = [];
28217
28285
  this.parent = parent;
28218
28286
  this.addEventListener();
28219
28287
  }
@@ -28234,15 +28302,42 @@ class TreeViewRenderer {
28234
28302
  className: FIELD_HEADER_CLASS,
28235
28303
  innerHTML: this.parent.localeObj.getConstant('allFields')
28236
28304
  });
28237
- let treeOuterDiv = createElement('div', { className: FIELD_LIST_TREE_CLASS + '-outer-div' });
28305
+ let searchWrapper = createElement('div', {
28306
+ id: this.parent.element.id + '_SearchDiv', attrs: { 'tabindex': '-1' },
28307
+ className: FIELD_LIST_SEARCH_CLASS
28308
+ });
28309
+ let searchInput = createElement('input', { attrs: { 'type': 'text' } });
28310
+ searchWrapper.appendChild(searchInput);
28311
+ this.fieldSearch = new TextBox({
28312
+ placeholder: this.parent.localeObj.getConstant('search'),
28313
+ enableRtl: this.parent.enableRtl,
28314
+ locale: this.parent.locale,
28315
+ cssClass: FIELD_LIST_SEARCH_INPUT_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
28316
+ input: this.textChange.bind(this),
28317
+ showClearButton: true
28318
+ });
28319
+ this.fieldSearch.isStringTemplate = true;
28320
+ this.fieldSearch.appendTo(searchInput);
28321
+ this.fieldSearch.addIcon('append', FIELD_LIST_SEARCH_ICON_CLASS + ' ' + ICON);
28322
+ let promptDiv = createElement('div', {
28323
+ className: EMPTY_MEMBER_CLASS + ' ' + ICON_DISABLE,
28324
+ innerHTML: this.parent.localeObj.getConstant('noMatches')
28325
+ });
28326
+ let treeOuterDiv = createElement('div', {
28327
+ className: FIELD_LIST_TREE_OUTER_DIV_CLASS + ' ' + TREE_CONTAINER
28328
+ });
28238
28329
  this.treeViewElement = createElement('div', {
28239
28330
  id: this.parent.element.id + '_TreeView',
28240
28331
  className: FIELD_LIST_CLASS + ' ' + (this.parent.dataType === 'olap' ? OLAP_FIELD_LIST_CLASS : '')
28241
28332
  });
28242
- let fieldHeaderWrappper = createElement('div', { className: 'e-field-header-container' });
28333
+ let fieldHeaderWrappper = createElement('div', { className: FIELD_HEADER_CONTAINER_CLASS });
28243
28334
  fieldHeaderWrappper.appendChild(treeHeader);
28244
28335
  fieldTable.appendChild(fieldHeaderWrappper);
28245
28336
  this.updateSortElements(fieldHeaderWrappper);
28337
+ if (this.parent.enableFieldSearching) {
28338
+ fieldTable.appendChild(searchWrapper);
28339
+ fieldTable.appendChild(promptDiv);
28340
+ }
28246
28341
  treeOuterDiv.appendChild(this.treeViewElement);
28247
28342
  fieldTable.appendChild(treeOuterDiv);
28248
28343
  this.parentElement.appendChild(fieldTable);
@@ -28365,6 +28460,39 @@ class TreeViewRenderer {
28365
28460
  if (args.node.querySelector('.' + NODE_CHECK_CLASS)) {
28366
28461
  addClass([args.node.querySelector('.' + LIST_TEXT_CLASS)], LIST_SELECT_CLASS);
28367
28462
  }
28463
+ if (this.parent.enableFieldSearching && this.isSearching) {
28464
+ let liElement = args.node;
28465
+ if (this.parent.dataType === 'olap') {
28466
+ let id = liElement.getAttribute('data-uid');
28467
+ let searchItem = this.parent.pivotCommon.eventBase.searchListItem;
28468
+ for (let i = 0; i < this.parentIDs.length; i++) {
28469
+ if (id === this.parentIDs[i]) {
28470
+ addClass([liElement], ICON_DISABLE);
28471
+ }
28472
+ for (let li2 of searchItem) {
28473
+ let parentID = this.parent.pivotCommon.eventBase.getParentIDs(this.fieldTable, li2.getAttribute('data-uid'), []);
28474
+ if (PivotUtil.inArray(id, parentID) > -1) {
28475
+ removeClass([liElement], ICON_DISABLE);
28476
+ break;
28477
+ }
28478
+ }
28479
+ }
28480
+ }
28481
+ else {
28482
+ for (let i = 0; i < this.nonSearchList.length; i++) {
28483
+ if (liElement.textContent === this.nonSearchList[i].textContent) {
28484
+ addClass([liElement], ICON_DISABLE);
28485
+ break;
28486
+ }
28487
+ else {
28488
+ if (liElement.innerText === this.nonSearchList[i].textContent) {
28489
+ addClass([liElement], ICON_DISABLE);
28490
+ break;
28491
+ }
28492
+ }
28493
+ }
28494
+ }
28495
+ }
28368
28496
  }
28369
28497
  updateOlapTreeNode(args) {
28370
28498
  let allowDrag = false;
@@ -28420,12 +28548,12 @@ class TreeViewRenderer {
28420
28548
  buttons: [{
28421
28549
  click: this.closeTreeDialog.bind(this),
28422
28550
  buttonModel: {
28423
- cssClass: CANCEL_BUTTON_CLASS, content: this.parent.localeObj.getConstant('cancel')
28551
+ cssClass: CANCEL_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), content: this.parent.localeObj.getConstant('cancel')
28424
28552
  }
28425
28553
  }, {
28426
28554
  click: this.onFieldAdd.bind(this),
28427
28555
  buttonModel: {
28428
- cssClass: OK_BUTTON_CLASS, content: this.parent.localeObj.getConstant('add'),
28556
+ cssClass: OK_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), content: this.parent.localeObj.getConstant('add'),
28429
28557
  isPrimary: true
28430
28558
  }
28431
28559
  }],
@@ -28454,7 +28582,7 @@ class TreeViewRenderer {
28454
28582
  });
28455
28583
  let editorSearch = createElement('input', { attrs: { 'type': 'text' } });
28456
28584
  searchWrapper.appendChild(editorSearch);
28457
- let treeOuterDiv = createElement('div', { className: EDITOR_TREE_CONTAINER_CLASS + '-outer-div' });
28585
+ let treeOuterDiv = createElement('div', { className: FIELD_LIST_TREE_OUTER_DIV_CLASS });
28458
28586
  let treeViewContainer = createElement('div', {
28459
28587
  className: EDITOR_TREE_CONTAINER_CLASS + ' ' + (this.parent.dataType === 'olap' ? 'e-olap-field-list-tree' : '')
28460
28588
  });
@@ -28464,7 +28592,7 @@ class TreeViewRenderer {
28464
28592
  placeholder: this.parent.localeObj.getConstant('search'),
28465
28593
  enableRtl: this.parent.enableRtl,
28466
28594
  locale: this.parent.locale,
28467
- cssClass: EDITOR_SEARCH_CLASS,
28595
+ cssClass: EDITOR_SEARCH_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
28468
28596
  change: this.textChange.bind(this)
28469
28597
  });
28470
28598
  this.editorSearch.isStringTemplate = true;
@@ -28500,14 +28628,41 @@ class TreeViewRenderer {
28500
28628
  }
28501
28629
  textChange(e) {
28502
28630
  this.parent.pivotCommon.eventBase.searchTreeNodes(e, this.fieldTable, true);
28503
- let promptDiv = this.fieldDialog.element.querySelector('.' + EMPTY_MEMBER_CLASS);
28631
+ let promptDiv;
28632
+ let treeOuterDiv;
28633
+ if (this.parent.isAdaptive) {
28634
+ promptDiv = this.fieldDialog.element.querySelector('.' + EMPTY_MEMBER_CLASS);
28635
+ }
28636
+ else {
28637
+ promptDiv = this.parentElement.querySelector('.' + EMPTY_MEMBER_CLASS);
28638
+ treeOuterDiv = this.parentElement.querySelector('.' + TREE_CONTAINER);
28639
+ }
28504
28640
  let liList = [].slice.call(this.fieldTable.element.querySelectorAll('li'));
28505
28641
  let disabledList = [].slice.call(this.fieldTable.element.querySelectorAll('li.' + ICON_DISABLE));
28506
28642
  if (liList.length === disabledList.length) {
28507
28643
  removeClass([promptDiv], ICON_DISABLE);
28644
+ if (!this.parent.isAdaptive) {
28645
+ addClass([treeOuterDiv], ICON_DISABLE);
28646
+ removeClass([treeOuterDiv], FIELD_LIST_TREE_OUTER_DIV_SEARCH_CLASS);
28647
+ }
28508
28648
  }
28509
28649
  else {
28510
28650
  addClass([promptDiv], ICON_DISABLE);
28651
+ if (!this.parent.isAdaptive) {
28652
+ removeClass([treeOuterDiv], ICON_DISABLE);
28653
+ addClass([treeOuterDiv], FIELD_LIST_TREE_OUTER_DIV_SEARCH_CLASS);
28654
+ }
28655
+ }
28656
+ this.isSearching = disabledList.length > 0 ? true : false;
28657
+ this.nonSearchList = disabledList;
28658
+ if (this.parent.dataType === 'olap') {
28659
+ this.parentIDs = [];
28660
+ for (let i = 0; i < liList.length; i++) {
28661
+ if (liList[i].classList.contains("e-level-1")) {
28662
+ let id = liList[i].getAttribute('data-uid');
28663
+ this.parentIDs.push(id);
28664
+ }
28665
+ }
28511
28666
  }
28512
28667
  }
28513
28668
  dragStart(args) {
@@ -29150,6 +29305,10 @@ class TreeViewRenderer {
29150
29305
  this.editorSearch.destroy();
29151
29306
  this.editorSearch = null;
29152
29307
  }
29308
+ if (this.fieldSearch && !this.fieldSearch.isDestroyed) {
29309
+ this.fieldSearch.destroy();
29310
+ this.fieldSearch = null;
29311
+ }
29153
29312
  }
29154
29313
  }
29155
29314
 
@@ -29453,7 +29612,7 @@ class PivotButton {
29453
29612
  buttonWrapper.appendChild(buttonElement);
29454
29613
  }
29455
29614
  element.appendChild(buttonWrapper);
29456
- let pivotButton = new Button({ enableRtl: this.parent.enableRtl, locale: this.parent.locale });
29615
+ let pivotButton = new Button({ enableRtl: this.parent.enableRtl, locale: this.parent.locale, cssClass: this.parent.cssClass });
29457
29616
  pivotButton.isStringTemplate = true;
29458
29617
  pivotButton.appendTo(buttonElement);
29459
29618
  this.unWireEvent(buttonWrapper, i === valuePos && axis !== 'all-fields' ? 'values' : axis, isMeasureAvail);
@@ -30264,7 +30423,7 @@ class PivotButton {
30264
30423
  return [
30265
30424
  {
30266
30425
  buttonModel: {
30267
- cssClass: 'e-clear-filter-button' + (this.parent.pivotCommon.filterDialog.allowExcelLikeFilter ? '' : ' ' + ICON_DISABLE),
30426
+ cssClass: 'e-clear-filter-button' + (this.parent.pivotCommon.filterDialog.allowExcelLikeFilter ? '' : ' ' + ICON_DISABLE) + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
30268
30427
  iconCss: 'e-icons e-clear-filter-icon', enableRtl: this.parent.enableRtl,
30269
30428
  content: this.parent.localeObj.getConstant('clearFilter'), disabled: (this.parent.pivotCommon.filterDialog.filterObject ? false : true)
30270
30429
  },
@@ -30272,13 +30431,13 @@ class PivotButton {
30272
30431
  },
30273
30432
  {
30274
30433
  buttonModel: {
30275
- cssClass: OK_BUTTON_CLASS, content: this.parent.localeObj.getConstant('ok'), isPrimary: true
30434
+ cssClass: OK_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), content: this.parent.localeObj.getConstant('ok'), isPrimary: true
30276
30435
  },
30277
30436
  click: (this.index === 0 ? this.updateFilterState.bind(this, this.fieldName) : this.updateCustomFilter.bind(this))
30278
30437
  },
30279
30438
  {
30280
30439
  click: this.parent.pivotCommon.filterDialog.closeFilterDialog.bind(this.parent.pivotCommon.filterDialog),
30281
- buttonModel: { cssClass: CANCEL_BUTTON_CLASS, content: this.parent.localeObj.getConstant('cancel') }
30440
+ buttonModel: { cssClass: CANCEL_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), content: this.parent.localeObj.getConstant('cancel') }
30282
30441
  }
30283
30442
  ];
30284
30443
  }
@@ -31484,6 +31643,8 @@ let PivotFieldList = class PivotFieldList extends Component {
31484
31643
  }
31485
31644
  requireRefresh = true;
31486
31645
  break;
31646
+ case 'enableFieldSearching':
31647
+ this.refresh();
31487
31648
  }
31488
31649
  if (requireRefresh) {
31489
31650
  this.fieldListRender();
@@ -32127,6 +32288,9 @@ __decorate$4([
32127
32288
  __decorate$4([
32128
32289
  Property(false)
32129
32290
  ], PivotFieldList.prototype, "allowCalculatedField", void 0);
32291
+ __decorate$4([
32292
+ Property(false)
32293
+ ], PivotFieldList.prototype, "enableFieldSearching", void 0);
32130
32294
  __decorate$4([
32131
32295
  Property(false)
32132
32296
  ], PivotFieldList.prototype, "showValuesButton", void 0);
@@ -33189,13 +33353,15 @@ class CalculatedField {
33189
33353
  click: this.applyFormula.bind(this),
33190
33354
  buttonModel: {
33191
33355
  content: this.parent.localeObj.getConstant('ok'),
33192
- isPrimary: true
33356
+ isPrimary: true,
33357
+ cssClass: this.parent.cssClass
33193
33358
  }
33194
33359
  },
33195
33360
  {
33196
33361
  click: this.cancelClick.bind(this),
33197
33362
  buttonModel: {
33198
- content: this.parent.localeObj.getConstant('cancel')
33363
+ content: this.parent.localeObj.getConstant('cancel'),
33364
+ cssClass: this.parent.cssClass
33199
33365
  }
33200
33366
  }
33201
33367
  ];
@@ -33203,7 +33369,7 @@ class CalculatedField {
33203
33369
  let clearButton = {
33204
33370
  click: this.clearFormula.bind(this),
33205
33371
  buttonModel: {
33206
- cssClass: 'e-calc-clear-btn',
33372
+ cssClass: 'e-calc-clear-btn' + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
33207
33373
  content: this.parent.localeObj.getConstant('clear'),
33208
33374
  }
33209
33375
  };
@@ -33632,7 +33798,8 @@ class CalculatedField {
33632
33798
  change: (args) => {
33633
33799
  this.formatText = args.value;
33634
33800
  this.formulaText = select('#' + this.parentID + 'droppable', document).value;
33635
- }
33801
+ },
33802
+ cssClass: this.parent.cssClass
33636
33803
  });
33637
33804
  customerFormatObj.isStringTemplate = true;
33638
33805
  customerFormatObj.appendTo('#' + this.parentID + 'Custom_Format_Element');
@@ -33935,7 +34102,7 @@ class CalculatedField {
33935
34102
  dialogRenderer.parentElement.querySelector('.' + FORMULA) !== null) {
33936
34103
  this.createOlapDropElements();
33937
34104
  }
33938
- let cancelBtn = new Button({ cssClass: FLAT, isPrimary: true, locale: this.parent.locale, enableRtl: this.parent.enableRtl });
34105
+ let cancelBtn = new Button({ cssClass: FLAT + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), isPrimary: true, locale: this.parent.locale, enableRtl: this.parent.enableRtl });
33939
34106
  cancelBtn.isStringTemplate = true;
33940
34107
  cancelBtn.appendTo('#' + this.parentID + 'cancelBtn');
33941
34108
  if (cancelBtn.element) {
@@ -33943,7 +34110,7 @@ class CalculatedField {
33943
34110
  }
33944
34111
  if (this.parent.
33945
34112
  dialogRenderer.parentElement.querySelector('.' + FORMULA) !== null && this.parent.isAdaptive) {
33946
- let okBtn = new Button({ cssClass: FLAT + ' ' + OUTLINE_CLASS, isPrimary: true, locale: this.parent.locale, enableRtl: this.parent.enableRtl });
34113
+ let okBtn = new Button({ cssClass: FLAT + ' ' + OUTLINE_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), isPrimary: true, locale: this.parent.locale, enableRtl: this.parent.enableRtl });
33947
34114
  okBtn.isStringTemplate = true;
33948
34115
  okBtn.appendTo('#' + this.parentID + 'okBtn');
33949
34116
  this.inputObj = new MaskedTextBox({
@@ -33952,7 +34119,8 @@ class CalculatedField {
33952
34119
  change: (args) => {
33953
34120
  this.fieldText = args.value;
33954
34121
  this.formulaText = select('#' + this.parentID + 'droppable', document).value;
33955
- }
34122
+ },
34123
+ cssClass: this.parent.cssClass
33956
34124
  });
33957
34125
  this.inputObj.isStringTemplate = true;
33958
34126
  this.inputObj.appendTo('#' + this.parentID + 'ddlelement');
@@ -33963,7 +34131,8 @@ class CalculatedField {
33963
34131
  change: (args) => {
33964
34132
  this.formatText = args.value;
33965
34133
  this.formulaText = select('#' + this.parentID + 'droppable', document).value;
33966
- }
34134
+ },
34135
+ cssClass: this.parent.cssClass
33967
34136
  });
33968
34137
  formatInputObj.isStringTemplate = true;
33969
34138
  formatInputObj.appendTo('#' + this.parentID + 'Custom_Format_Element');
@@ -33989,7 +34158,7 @@ class CalculatedField {
33989
34158
  }
33990
34159
  }
33991
34160
  else if (this.parent.isAdaptive) {
33992
- let addBtn = new Button({ cssClass: FLAT, isPrimary: true, locale: this.parent.locale, enableRtl: this.parent.enableRtl });
34161
+ let addBtn = new Button({ cssClass: FLAT + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), isPrimary: true, locale: this.parent.locale, enableRtl: this.parent.enableRtl });
33993
34162
  addBtn.isStringTemplate = true;
33994
34163
  addBtn.appendTo('#' + this.parentID + 'addBtn');
33995
34164
  if (this.parent.dataType === 'olap') {
@@ -34046,7 +34215,8 @@ class CalculatedField {
34046
34215
  name: AGRTYPE + key,
34047
34216
  checked: args.element.querySelector('[data-type').getAttribute('data-type') === type[i],
34048
34217
  change: this.onChange.bind(this),
34049
- locale: this.parent.locale, enableRtl: this.parent.enableRtl
34218
+ locale: this.parent.locale, enableRtl: this.parent.enableRtl,
34219
+ cssClass: this.parent.cssClass
34050
34220
  });
34051
34221
  radiobutton.isStringTemplate = true;
34052
34222
  radiobutton.appendTo('#' + this.parentID + 'radio' + key + type[i]);
@@ -34083,7 +34253,8 @@ class CalculatedField {
34083
34253
  }
34084
34254
  let checkbox = new CheckBox({
34085
34255
  label: this.parent.engineModule.fieldList[key].caption + ' (' + this.parent.localeObj.getConstant(type) + ')',
34086
- locale: this.parent.locale, enableRtl: this.parent.enableRtl
34256
+ locale: this.parent.locale, enableRtl: this.parent.enableRtl,
34257
+ cssClass: this.parent.cssClass
34087
34258
  });
34088
34259
  checkbox.isStringTemplate = true;
34089
34260
  checkbox.appendTo('#' + this.parentID + '_' + index);
@@ -34178,14 +34349,16 @@ class CalculatedField {
34178
34349
  this.dialog.refresh();
34179
34350
  this.inputObj = new MaskedTextBox({
34180
34351
  placeholder: this.parent.localeObj.getConstant('fieldName'),
34181
- locale: this.parent.locale, enableRtl: this.parent.enableRtl
34352
+ locale: this.parent.locale, enableRtl: this.parent.enableRtl,
34353
+ cssClass: this.parent.cssClass
34182
34354
  });
34183
34355
  this.inputObj.isStringTemplate = true;
34184
34356
  this.inputObj.appendTo('#' + this.parentID + 'ddlelement');
34185
34357
  if (this.parent.dataType === 'pivot') {
34186
34358
  let customerFormatObj = new MaskedTextBox({
34187
34359
  placeholder: this.parent.localeObj.getConstant('numberFormatString'),
34188
- locale: this.parent.locale, enableRtl: this.parent.enableRtl
34360
+ locale: this.parent.locale, enableRtl: this.parent.enableRtl,
34361
+ cssClass: this.parent.cssClass
34189
34362
  });
34190
34363
  customerFormatObj.isStringTemplate = true;
34191
34364
  customerFormatObj.appendTo('#' + this.parentID + 'Custom_Format_Element');
@@ -34226,14 +34399,14 @@ class CalculatedField {
34226
34399
  {
34227
34400
  click: isRemove ? this.removeCalcField.bind(this, node) : this.replaceFormula.bind(this, calcInfo),
34228
34401
  buttonModel: {
34229
- cssClass: OK_BUTTON_CLASS + ' ' + FLAT_CLASS,
34402
+ cssClass: OK_BUTTON_CLASS + ' ' + FLAT_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
34230
34403
  content: isRemove ? this.parent.localeObj.getConstant('yes') : this.parent.localeObj.getConstant('ok'), isPrimary: true
34231
34404
  }
34232
34405
  },
34233
34406
  {
34234
34407
  click: this.removeErrorDialog.bind(this),
34235
34408
  buttonModel: {
34236
- cssClass: CANCEL_BUTTON_CLASS,
34409
+ cssClass: CANCEL_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
34237
34410
  content: isRemove ? this.parent.localeObj.getConstant('no') : this.parent.localeObj.getConstant('cancel'), isPrimary: true
34238
34411
  }
34239
34412
  }
@@ -34377,7 +34550,8 @@ class FieldList {
34377
34550
  maxNodeLimitInMemberEditor: this.parent.maxNodeLimitInMemberEditor,
34378
34551
  aggregateCellInfo: this.parent.bindTriggerEvents.bind(this.parent),
34379
34552
  onHeadersSort: this.parent.bindTriggerEvents.bind(this.parent),
34380
- cssClass: this.parent.cssClass
34553
+ cssClass: this.parent.cssClass,
34554
+ enableFieldSearching: this.parent.enableFieldSearching
34381
34555
  });
34382
34556
  this.parent.pivotFieldListModule.isPopupView = true;
34383
34557
  this.parent.pivotFieldListModule.pivotGridModule = this.parent;
@@ -35043,7 +35217,7 @@ class GroupingBar {
35043
35217
  }
35044
35218
  element.prepend(createElement('div', { id: this.parent.element.id + '_AllFields' }));
35045
35219
  let toolbarObj = new Toolbar$1({
35046
- cssClass: ALL_FIELDS_PANEL_CLASS,
35220
+ cssClass: ALL_FIELDS_PANEL_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
35047
35221
  enableRtl: this.parent.enableRtl,
35048
35222
  items: [{ template: '<div class=' + GROUP_ALL_FIELDS_CLASS + '></div>' }],
35049
35223
  allowKeyboard: false,
@@ -35142,8 +35316,8 @@ class ConditionalFormatting {
35142
35316
  {
35143
35317
  click: this.addButtonClick.bind(this),
35144
35318
  buttonModel: {
35145
- cssClass: this.parent.isAdaptive ? (FORMAT_ROUND_BUTTON + ' ' + FORMAT_CONDITION_BUTTON) :
35146
- FORMAT_CONDITION_BUTTON,
35319
+ cssClass: (this.parent.isAdaptive ? (FORMAT_ROUND_BUTTON + ' ' + FORMAT_CONDITION_BUTTON) :
35320
+ FORMAT_CONDITION_BUTTON) + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
35147
35321
  iconCss: ICON + ' ' + ADD_ICON_CLASS,
35148
35322
  content: this.parent.isAdaptive ? '' : this.parent.localeObj.getConstant('condition')
35149
35323
  }
@@ -35152,7 +35326,7 @@ class ConditionalFormatting {
35152
35326
  click: this.applyButtonClick.bind(this),
35153
35327
  isFlat: true,
35154
35328
  buttonModel: {
35155
- isPrimary: true, cssClass: FORMAT_APPLY_BUTTON,
35329
+ isPrimary: true, cssClass: FORMAT_APPLY_BUTTON + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
35156
35330
  content: this.parent.localeObj.getConstant('apply')
35157
35331
  }
35158
35332
  },
@@ -35160,7 +35334,7 @@ class ConditionalFormatting {
35160
35334
  click: this.cancelButtonClick.bind(this),
35161
35335
  isFlat: true,
35162
35336
  buttonModel: {
35163
- cssClass: FORMAT_CANCEL_BUTTON,
35337
+ cssClass: FORMAT_CANCEL_BUTTON + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
35164
35338
  content: this.parent.localeObj.getConstant('cancel')
35165
35339
  }
35166
35340
  }
@@ -35527,7 +35701,7 @@ class ConditionalFormatting {
35527
35701
  addClass([this.backgroundColor[i].element.nextElementSibling.querySelector('.e-selected-color')], ICON);
35528
35702
  let toggleBtn = new Button({
35529
35703
  iconCss: ICON + ' ' + FORMAT_DELETE_ICON,
35530
- cssClass: FLAT, locale: this.parent.locale, enableRtl: this.parent.enableRtl
35704
+ cssClass: FLAT + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), locale: this.parent.locale, enableRtl: this.parent.enableRtl
35531
35705
  });
35532
35706
  toggleBtn.isStringTemplate = true;
35533
35707
  toggleBtn.appendTo('#' + this.parentID + 'removeButton' + i);
@@ -35748,6 +35922,7 @@ class Toolbar$2 {
35748
35922
  locale: this.parent.locale,
35749
35923
  items: this.getItems(),
35750
35924
  allowKeyboard: false,
35925
+ cssClass: this.parent.cssClass,
35751
35926
  width: !this.parent.gridSettings.allowAutoResizing ? (this.parent.grid ? (this.parent.getGridWidthAsNumber() - 2) : (this.parent.getWidthAsNumber() - 2)) : 'auto'
35752
35927
  });
35753
35928
  this.toolbar.isStringTemplate = true;
@@ -35837,7 +36012,7 @@ class Toolbar$2 {
35837
36012
  let toDisable = this.parent.displayOption.view === 'Chart';
35838
36013
  items.push({
35839
36014
  prefixIcon: TOOLBAR_GRID + ' ' + ICON, tooltipText: this.parent.localeObj.getConstant('grid'),
35840
- id: this.parent.element.id + 'grid', cssClass: toDisable ? MENU_DISABLE : '',
36015
+ id: this.parent.element.id + 'grid', cssClass: (toDisable ? MENU_DISABLE : '') + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
35841
36016
  click: this.menuItemClick.bind(this)
35842
36017
  });
35843
36018
  break;
@@ -35845,7 +36020,7 @@ class Toolbar$2 {
35845
36020
  let validTypes = (this.parent.displayOption.view === 'Table');
35846
36021
  items.push({
35847
36022
  template: '<ul id="' + this.parent.element.id + 'chart_menu"></ul>',
35848
- id: this.parent.element.id + 'chartmenu', cssClass: validTypes ? MENU_DISABLE : ''
36023
+ id: this.parent.element.id + 'chartmenu', cssClass: (validTypes ? MENU_DISABLE : '') + (this.parent.cssClass ? (' ' + this.parent.cssClass) : '')
35849
36024
  });
35850
36025
  break;
35851
36026
  case 'MDX':
@@ -36337,14 +36512,14 @@ class Toolbar$2 {
36337
36512
  {
36338
36513
  buttonModel: {
36339
36514
  content: this.parent.localeObj.getConstant('yes'), isPrimary: true,
36340
- cssClass: OK_BUTTON_CLASS
36515
+ cssClass: OK_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : '')
36341
36516
  },
36342
36517
  click: this.okButtonClick.bind(this)
36343
36518
  },
36344
36519
  {
36345
36520
  buttonModel: {
36346
36521
  content: this.parent.localeObj.getConstant('no'),
36347
- cssClass: CANCEL_BUTTON_CLASS
36522
+ cssClass: CANCEL_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : '')
36348
36523
  },
36349
36524
  click: this.cancelButtonClick.bind(this)
36350
36525
  }
@@ -36761,7 +36936,7 @@ class Toolbar$2 {
36761
36936
  this.parent.element.appendChild(inputCheckbox);
36762
36937
  let checkbox = new CheckBox({
36763
36938
  label: this.parent.localeObj.getConstant('multipleAxes'),
36764
- cssClass: 'e-multipleAxes',
36939
+ cssClass: 'e-multipleAxes' + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
36765
36940
  checked: this.parent.chartSettings.enableMultipleAxis,
36766
36941
  change: (args) => {
36767
36942
  document.getElementById(this.parent.element.id + '_' + 'multipleAxes').click();
@@ -36793,7 +36968,7 @@ class Toolbar$2 {
36793
36968
  let checkbox = new CheckBox({
36794
36969
  label: this.parent.localeObj.getConstant('showLegend'),
36795
36970
  checked: this.getLableState(this.parent.chartSettings.chartSeries.type),
36796
- cssClass: 'e-showLegend',
36971
+ cssClass: 'e-showLegend' + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
36797
36972
  change: (args) => {
36798
36973
  document.getElementById(this.parent.element.id + '_' + 'showLegend').click();
36799
36974
  },
@@ -37165,11 +37340,11 @@ class Toolbar$2 {
37165
37340
  buttons: [
37166
37341
  {
37167
37342
  click: () => { this.chartTypeDialogUpdate(); },
37168
- buttonModel: { cssClass: OK_BUTTON_CLASS, content: this.parent.localeObj.getConstant('ok'), isPrimary: true },
37343
+ buttonModel: { cssClass: OK_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), content: this.parent.localeObj.getConstant('ok'), isPrimary: true },
37169
37344
  },
37170
37345
  {
37171
37346
  click: () => { this.removeDialog(); },
37172
- buttonModel: { cssClass: CANCEL_BUTTON_CLASS, content: this.parent.localeObj.getConstant('cancel') }
37347
+ buttonModel: { cssClass: CANCEL_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), content: this.parent.localeObj.getConstant('cancel') }
37173
37348
  }
37174
37349
  ],
37175
37350
  closeOnEscape: true,
@@ -37310,7 +37485,7 @@ class Toolbar$2 {
37310
37485
  beforeOpen() {
37311
37486
  let checkbox = new CheckBox({
37312
37487
  label: this.parent.localeObj.getConstant('multipleAxes'),
37313
- cssClass: 'e-dialog-multiple-axis',
37488
+ cssClass: 'e-dialog-multiple-axis' + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
37314
37489
  checked: this.parent.chartSettings.enableMultipleAxis ? this.parent.chartSettings.enableMultipleAxis : false,
37315
37490
  change: (args) => {
37316
37491
  getInstance(select('#' + this.parent.element.id + '_AxisModeOption'), DropDownList).enabled = args.checked;
@@ -37322,7 +37497,7 @@ class Toolbar$2 {
37322
37497
  label: this.parent.localeObj.getConstant('showLegend'),
37323
37498
  checked: this.getLableState(this.parent.chartSettings.chartSeries.type),
37324
37499
  change: () => { this.chartLableState = true; },
37325
- cssClass: 'e-dialog-show-legend',
37500
+ cssClass: 'e-dialog-show-legend' + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''),
37326
37501
  enableRtl: this.parent.enableRtl,
37327
37502
  locale: this.parent.locale
37328
37503
  });
@@ -37455,13 +37630,13 @@ class NumberFormatting {
37455
37630
  buttons: [
37456
37631
  {
37457
37632
  click: this.updateFormatting.bind(this),
37458
- buttonModel: { cssClass: OK_BUTTON_CLASS, content: this.parent.localeObj.getConstant('apply'), isPrimary: true }
37633
+ buttonModel: { cssClass: OK_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), content: this.parent.localeObj.getConstant('apply'), isPrimary: true }
37459
37634
  },
37460
37635
  {
37461
37636
  click: () => {
37462
37637
  this.dialog.hide();
37463
37638
  },
37464
- buttonModel: { cssClass: CANCEL_BUTTON_CLASS, content: this.parent.localeObj.getConstant('cancel') }
37639
+ buttonModel: { cssClass: CANCEL_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), content: this.parent.localeObj.getConstant('cancel') }
37465
37640
  }
37466
37641
  ],
37467
37642
  closeOnEscape: true,
@@ -38124,13 +38299,13 @@ class Grouping {
38124
38299
  buttons: [
38125
38300
  {
38126
38301
  click: this.updateGroupSettings.bind(this),
38127
- buttonModel: { cssClass: OK_BUTTON_CLASS, content: this.parent.localeObj.getConstant('ok'), isPrimary: true }
38302
+ buttonModel: { cssClass: OK_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), content: this.parent.localeObj.getConstant('ok'), isPrimary: true }
38128
38303
  },
38129
38304
  {
38130
38305
  click: () => {
38131
38306
  this.groupDialog.hide();
38132
38307
  },
38133
- buttonModel: { cssClass: CANCEL_BUTTON_CLASS, content: this.parent.localeObj.getConstant('cancel') }
38308
+ buttonModel: { cssClass: CANCEL_BUTTON_CLASS + (this.parent.cssClass ? (' ' + this.parent.cssClass) : ''), content: this.parent.localeObj.getConstant('cancel') }
38134
38309
  }
38135
38310
  ],
38136
38311
  overlayClick: () => {
@@ -38198,7 +38373,8 @@ class Grouping {
38198
38373
  placeholder: this.parent.localeObj.getConstant('captionName'),
38199
38374
  enableRtl: this.parent.enableRtl,
38200
38375
  locale: this.parent.locale,
38201
- value: caption, width: '100%'
38376
+ value: caption, width: '100%',
38377
+ cssClass: this.parent.cssClass
38202
38378
  });
38203
38379
  captionInputObj1.isStringTemplate = true;
38204
38380
  captionInputObj1.appendTo(captionInputField1);
@@ -38206,7 +38382,8 @@ class Grouping {
38206
38382
  placeholder: this.parent.localeObj.getConstant('groupName'),
38207
38383
  enableRtl: this.parent.enableRtl,
38208
38384
  locale: this.parent.locale,
38209
- width: '100%'
38385
+ width: '100%',
38386
+ cssClass: this.parent.cssClass
38210
38387
  });
38211
38388
  inputObj1.isStringTemplate = true;
38212
38389
  inputObj1.appendTo(inputField1);
@@ -38354,7 +38531,8 @@ class Grouping {
38354
38531
  format: '###',
38355
38532
  value: startAt === undefined ? undefined : parseInt(startAt, 10),
38356
38533
  enabled: !(startAt === undefined),
38357
- width: '100%'
38534
+ width: '100%',
38535
+ cssClass: this.parent.cssClass
38358
38536
  });
38359
38537
  startAtInputObj.isStringTemplate = true;
38360
38538
  startAtInputObj.appendTo(startAtInputField1);
@@ -38366,7 +38544,8 @@ class Grouping {
38366
38544
  format: '###',
38367
38545
  value: endAt === undefined ? undefined : parseInt(endAt, 10),
38368
38546
  enabled: !(endAt === undefined),
38369
- width: '100%'
38547
+ width: '100%',
38548
+ cssClass: this.parent.cssClass
38370
38549
  });
38371
38550
  endAtInputObj.isStringTemplate = true;
38372
38551
  endAtInputObj.appendTo(endAtInputField1);
@@ -38378,7 +38557,8 @@ class Grouping {
38378
38557
  format: '###',
38379
38558
  min: 1,
38380
38559
  value: selectedInterval,
38381
- width: '100%'
38560
+ width: '100%',
38561
+ cssClass: this.parent.cssClass
38382
38562
  });
38383
38563
  intervalObj.isStringTemplate = true;
38384
38564
  intervalObj.appendTo(intervalInputField1);
@@ -38388,6 +38568,7 @@ class Grouping {
38388
38568
  checked: !(startAt === undefined),
38389
38569
  enableRtl: this.parent.enableRtl,
38390
38570
  locale: this.parent.locale,
38571
+ cssClass: this.parent.cssClass,
38391
38572
  change: (args) => {
38392
38573
  let startAtObj = (type === 'date' ?
38393
38574
  getInstance(select('#' + this.parentElement.id + 'group_start_input'), DateTimePicker) :
@@ -38403,6 +38584,7 @@ class Grouping {
38403
38584
  checked: !(endAt === undefined),
38404
38585
  enableRtl: this.parent.enableRtl,
38405
38586
  locale: this.parent.locale,
38587
+ cssClass: this.parent.cssClass,
38406
38588
  change: (args) => {
38407
38589
  let endAtObj = (type === 'date' ?
38408
38590
  getInstance(select('#' + this.parentElement.id + 'group_end_input'), DateTimePicker) :