@revolist/revogrid 3.1.1 → 3.1.8

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.
@@ -5535,7 +5535,7 @@ class FilterPlugin extends BasePlugin {
5535
5535
  this.addEventListener('headerclick', headerclick);
5536
5536
  this.addEventListener('aftersourceset', aftersourceset);
5537
5537
  this.revogrid.registerVNode([
5538
- h("revogr-filter-panel", { uuid: `filter-${uiid}`, filterItems: this.multiFilterItems, filterNames: this.possibleFilterNames, filterEntities: this.possibleFilterEntities, filterCaptions: (_a = config === null || config === void 0 ? void 0 : config.localization) === null || _a === void 0 ? void 0 : _a.captions, onFilterChange: e => this.onFilterChange(e.detail), ref: e => (this.pop = e) }),
5538
+ h("revogr-filter-panel", { uuid: `filter-${uiid}`, filterItems: this.multiFilterItems, filterNames: this.possibleFilterNames, filterEntities: this.possibleFilterEntities, filterCaptions: (_a = config === null || config === void 0 ? void 0 : config.localization) === null || _a === void 0 ? void 0 : _a.captions, onFilterChange: e => this.onFilterChange(e.detail), disableDynamicFiltering: config === null || config === void 0 ? void 0 : config.disableDynamicFiltering, ref: e => (this.pop = e) }),
5539
5539
  ]);
5540
5540
  }
5541
5541
  initConfig(config) {
@@ -6072,6 +6072,9 @@ class SortingPlugin extends BasePlugin {
6072
6072
  let sorted = 0;
6073
6073
  for (let prop in sortingFunc) {
6074
6074
  const cmp = sortingFunc[prop];
6075
+ if (!cmp) {
6076
+ continue;
6077
+ }
6075
6078
  sorted = cmp(prop, a, b);
6076
6079
  if (sorted) {
6077
6080
  break;
@@ -25430,6 +25433,9 @@ const RevoGridComponent = class extends HTMLElement {
25430
25433
  grPlugin.setGrouping(newVal || {});
25431
25434
  }
25432
25435
  applyStretch(isStretch) {
25436
+ if (isStretch === 'false') {
25437
+ isStretch = false;
25438
+ }
25433
25439
  let stretch = this.internalPlugins.filter(p => isStretchPlugin(p))[0];
25434
25440
  if (isStretch) {
25435
25441
  if (!stretch) {
@@ -26575,6 +26581,7 @@ const FilterPanel = class extends HTMLElement {
26575
26581
  this.filterTypes = {};
26576
26582
  this.filterNames = {};
26577
26583
  this.filterEntities = {};
26584
+ this.disableDynamicFiltering = false;
26578
26585
  this.debouncedApplyFilter = debounce_1(() => {
26579
26586
  this.filterChange.emit(this.filterItems);
26580
26587
  }, 400);
@@ -26652,7 +26659,8 @@ const FilterPanel = class extends HTMLElement {
26652
26659
  top: `${this.changes.y}px`,
26653
26660
  };
26654
26661
  const capts = Object.assign(this.filterCaptionsInternal, this.filterCaptions);
26655
- return (h(Host, { style: style }, h("label", null, capts.title), h("div", { class: "filter-holder" }, this.getFilterItemsList()), h("div", { class: "add-filter" }, h("select", { id: "add-filter", class: "select-css", onChange: e => this.onAddNewFilter(e) }, this.renderSelectOptions(this.currentFilterType))), h("div", { class: "filter-actions" }, h(RevoButton, { class: { red: true }, onClick: () => this.onReset() }, capts.reset), h(RevoButton, { class: { light: true }, onClick: () => this.onCancel() }, capts.cancel))));
26662
+ return (h(Host, { style: style }, h("label", null, capts.title), h("div", { class: "filter-holder" }, this.getFilterItemsList()), h("div", { class: "add-filter" }, h("select", { id: "add-filter", class: "select-css", onChange: e => this.onAddNewFilter(e) }, this.renderSelectOptions(this.currentFilterType))), h("div", { class: "filter-actions" }, this.disableDynamicFiltering &&
26663
+ h(RevoButton, { class: { red: true, save: true }, onClick: () => this.onSave() }, capts.save), h(RevoButton, { class: { red: true, reset: true }, onClick: () => this.onReset() }, capts.reset), h(RevoButton, { class: { light: true, cancel: true }, onClick: () => this.onCancel() }, capts.cancel))));
26656
26664
  }
26657
26665
  onFilterTypeChange(e, prop, index) {
26658
26666
  const el = e.target;
@@ -26666,7 +26674,8 @@ const FilterPanel = class extends HTMLElement {
26666
26674
  if (input)
26667
26675
  input.focus();
26668
26676
  }, 0);
26669
- this.debouncedApplyFilter();
26677
+ if (!this.disableDynamicFiltering)
26678
+ this.debouncedApplyFilter();
26670
26679
  }
26671
26680
  onAddNewFilter(e) {
26672
26681
  const el = e.target;
@@ -26679,7 +26688,8 @@ const FilterPanel = class extends HTMLElement {
26679
26688
  select.value = defaultType;
26680
26689
  this.currentFilterType = defaultType;
26681
26690
  }
26682
- this.debouncedApplyFilter();
26691
+ if (!this.disableDynamicFiltering)
26692
+ this.debouncedApplyFilter();
26683
26693
  }
26684
26694
  addNewFilterToProp() {
26685
26695
  var _a;
@@ -26709,7 +26719,8 @@ const FilterPanel = class extends HTMLElement {
26709
26719
  onUserInput(index, prop, event) {
26710
26720
  // update the value of the filter item
26711
26721
  this.filterItems[prop][index].value = event.target.value;
26712
- this.debouncedApplyFilter();
26722
+ if (!this.disableDynamicFiltering)
26723
+ this.debouncedApplyFilter();
26713
26724
  }
26714
26725
  onKeyDown(e) {
26715
26726
  if (e.key.toLowerCase() === 'enter') {
@@ -26725,6 +26736,9 @@ const FilterPanel = class extends HTMLElement {
26725
26736
  // keep event local, don't escalate farther to dom
26726
26737
  e.stopPropagation();
26727
26738
  }
26739
+ onSave() {
26740
+ this.filterChange.emit(this.filterItems);
26741
+ }
26728
26742
  onCancel() {
26729
26743
  this.changes = undefined;
26730
26744
  }
@@ -26750,7 +26764,8 @@ const FilterPanel = class extends HTMLElement {
26750
26764
  // let's remove the prop if no more filters so the filter icon will be removed
26751
26765
  if (items.length === 0)
26752
26766
  delete this.filterItems[prop];
26753
- this.debouncedApplyFilter();
26767
+ if (!this.disableDynamicFiltering)
26768
+ this.debouncedApplyFilter();
26754
26769
  }
26755
26770
  toggleFilterAndOr(id) {
26756
26771
  this.assertChanges();
@@ -26764,7 +26779,8 @@ const FilterPanel = class extends HTMLElement {
26764
26779
  if (index === -1)
26765
26780
  return;
26766
26781
  items[index].relation = items[index].relation === 'and' ? 'or' : 'and';
26767
- this.debouncedApplyFilter();
26782
+ if (!this.disableDynamicFiltering)
26783
+ this.debouncedApplyFilter();
26768
26784
  }
26769
26785
  assertChanges() {
26770
26786
  if (!this.changes) {
@@ -28923,7 +28939,7 @@ const RevoGrid = /*@__PURE__*/proxyCustomElement(RevoGridComponent, [0,"revo-gri
28923
28939
  const RevogrClipboard = /*@__PURE__*/proxyCustomElement(Clipboard, [0,"revogr-clipboard",null,[[4,"paste","onPaste"],[4,"copy","copyStarted"]]]);
28924
28940
  const RevogrData = /*@__PURE__*/proxyCustomElement(RevogrData$1, [0,"revogr-data",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"rowClass":[1,"row-class"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16]}]);
28925
28941
  const RevogrEdit = /*@__PURE__*/proxyCustomElement(Edit, [0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16]}]);
28926
- const RevogrFilterPanel = /*@__PURE__*/proxyCustomElement(FilterPanel, [0,"revogr-filter-panel",{"uuid":[1537],"filterItems":[16],"filterTypes":[16],"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32]},[[5,"mousedown","onMouseDown"]]]);
28942
+ const RevogrFilterPanel = /*@__PURE__*/proxyCustomElement(FilterPanel, [0,"revogr-filter-panel",{"uuid":[1537],"filterItems":[16],"filterTypes":[16],"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"disableDynamicFiltering":[4,"disable-dynamic-filtering"],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32]},[[5,"mousedown","onMouseDown"]]]);
28927
28943
  const RevogrFocus = /*@__PURE__*/proxyCustomElement(RevogrFocus$2, [0,"revogr-focus",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}]);
28928
28944
  const RevogrHeader = /*@__PURE__*/proxyCustomElement(RevogrHeaderComponent, [0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"parent":[1],"groups":[16],"groupingDepth":[2,"grouping-depth"],"canResize":[4,"can-resize"],"colData":[16],"columnFilter":[4,"column-filter"]}]);
28929
28945
  const RevogrOrderEditor = /*@__PURE__*/proxyCustomElement(OrderEditor, [0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16]},[[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"]]]);
@@ -28,7 +28,7 @@ const patchEsm = () => {
28
28
  const defineCustomElements = (win, options) => {
29
29
  if (typeof window === 'undefined') return Promise.resolve();
30
30
  return patchEsm().then(() => {
31
- return index.bootstrapLazy([["revogr-clipboard.cjs",[[0,"revogr-clipboard",{"doCopy":[64]},[[4,"paste","onPaste"],[4,"copy","copyStarted"]]]]],["revogr-filter-panel.cjs",[[0,"revogr-filter-panel",{"uuid":[1537],"filterItems":[16],"filterTypes":[16],"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revo-grid_11.cjs",[[0,"revo-grid",{"rowHeaders":[4,"row-headers"],"frameSize":[2,"frame-size"],"rowSize":[2,"row-size"],"colSize":[2,"col-size"],"range":[4],"readonly":[4],"resize":[4],"canFocus":[4,"can-focus"],"useClipboard":[4,"use-clipboard"],"columns":[16],"source":[16],"pinnedTopSource":[16],"pinnedBottomSource":[16],"rowDefinitions":[16],"editors":[16],"plugins":[16],"columnTypes":[16],"theme":[1537],"rowClass":[513,"row-class"],"autoSizeColumn":[4,"auto-size-column"],"filter":[4],"trimmedRows":[16],"exporting":[4],"grouping":[16],"stretch":[8],"extraElements":[32],"refresh":[64],"scrollToRow":[64],"scrollToColumnIndex":[64],"scrollToColumnProp":[64],"updateColumns":[64],"addTrimmed":[64],"scrollToCoordinate":[64],"setCellEdit":[64],"registerVNode":[64],"getSource":[64],"getVisibleSource":[64],"getSourceStore":[64],"getColumnStore":[64],"updateColumnSorting":[64],"clearSorting":[64],"getColumns":[64],"clearFocus":[64],"getPlugins":[64],"getFocused":[64],"getSelectedRange":[64]},[[0,"internalRowDragStart","onRowDragStarted"],[0,"internalRowDragEnd","onRowDragEnd"],[0,"internalRowDrag","onRowDrag"],[0,"internalRowMouseMove","onRowMouseMove"],[0,"internalCellEdit","onBeforeEdit"],[0,"internalRangeDataApply","onBeforeRangeEdit"],[0,"internalSelectionChanged","onRangeChanged"],[0,"initialRowDropped","onRowDropped"],[0,"initialHeaderClick","onHeaderClick"],[0,"internalFocusCell","onCellFocus"]]],[0,"revogr-row-headers",{"height":[2],"dataPorts":[16],"headerProp":[16],"uiid":[1],"resize":[4],"rowHeaderColumn":[16]}],[4,"revogr-overlay-selection",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"useClipboard":[4,"use-clipboard"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"lastCell":[16],"editors":[16]},[[5,"mousemove","onMouseMove"],[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"],[0,"dragStartCell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]]],[0,"revogr-focus",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-scroll-virtual",{"dimension":[1],"viewportStore":[16],"dimensionStore":[16],"setScroll":[64],"changeScroll":[64]}],[0,"revogr-temp-range",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-data",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"rowClass":[1,"row-class"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16]}],[0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16]}],[0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"parent":[1],"groups":[16],"groupingDepth":[2,"grouping-depth"],"canResize":[4,"can-resize"],"colData":[16],"columnFilter":[4,"column-filter"]}],[0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"dragStart":[64],"endOrder":[64],"clearOrder":[64]},[[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"]]],[4,"revogr-viewport-scroll",{"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"],"setScroll":[64],"changeScroll":[64]}]]]], options);
31
+ return index.bootstrapLazy([["revogr-clipboard.cjs",[[0,"revogr-clipboard",{"doCopy":[64]},[[4,"paste","onPaste"],[4,"copy","copyStarted"]]]]],["revogr-filter-panel.cjs",[[0,"revogr-filter-panel",{"uuid":[1537],"filterItems":[16],"filterTypes":[16],"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"disableDynamicFiltering":[4,"disable-dynamic-filtering"],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revo-grid_11.cjs",[[0,"revo-grid",{"rowHeaders":[4,"row-headers"],"frameSize":[2,"frame-size"],"rowSize":[2,"row-size"],"colSize":[2,"col-size"],"range":[4],"readonly":[4],"resize":[4],"canFocus":[4,"can-focus"],"useClipboard":[4,"use-clipboard"],"columns":[16],"source":[16],"pinnedTopSource":[16],"pinnedBottomSource":[16],"rowDefinitions":[16],"editors":[16],"plugins":[16],"columnTypes":[16],"theme":[1537],"rowClass":[513,"row-class"],"autoSizeColumn":[4,"auto-size-column"],"filter":[4],"trimmedRows":[16],"exporting":[4],"grouping":[16],"stretch":[8],"extraElements":[32],"refresh":[64],"scrollToRow":[64],"scrollToColumnIndex":[64],"scrollToColumnProp":[64],"updateColumns":[64],"addTrimmed":[64],"scrollToCoordinate":[64],"setCellEdit":[64],"registerVNode":[64],"getSource":[64],"getVisibleSource":[64],"getSourceStore":[64],"getColumnStore":[64],"updateColumnSorting":[64],"clearSorting":[64],"getColumns":[64],"clearFocus":[64],"getPlugins":[64],"getFocused":[64],"getSelectedRange":[64]},[[0,"internalRowDragStart","onRowDragStarted"],[0,"internalRowDragEnd","onRowDragEnd"],[0,"internalRowDrag","onRowDrag"],[0,"internalRowMouseMove","onRowMouseMove"],[0,"internalCellEdit","onBeforeEdit"],[0,"internalRangeDataApply","onBeforeRangeEdit"],[0,"internalSelectionChanged","onRangeChanged"],[0,"initialRowDropped","onRowDropped"],[0,"initialHeaderClick","onHeaderClick"],[0,"internalFocusCell","onCellFocus"]]],[0,"revogr-row-headers",{"height":[2],"dataPorts":[16],"headerProp":[16],"uiid":[1],"resize":[4],"rowHeaderColumn":[16]}],[4,"revogr-overlay-selection",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"useClipboard":[4,"use-clipboard"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"lastCell":[16],"editors":[16]},[[5,"mousemove","onMouseMove"],[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"],[0,"dragStartCell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]]],[0,"revogr-focus",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-scroll-virtual",{"dimension":[1],"viewportStore":[16],"dimensionStore":[16],"setScroll":[64],"changeScroll":[64]}],[0,"revogr-temp-range",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-data",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"rowClass":[1,"row-class"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16]}],[0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16]}],[0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"parent":[1],"groups":[16],"groupingDepth":[2,"grouping-depth"],"canResize":[4,"can-resize"],"colData":[16],"columnFilter":[4,"column-filter"]}],[0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"dragStart":[64],"endOrder":[64],"clearOrder":[64]},[[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"]]],[4,"revogr-viewport-scroll",{"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"],"setScroll":[64],"changeScroll":[64]}]]]], options);
32
32
  });
33
33
  };
34
34
 
@@ -69,5 +69,5 @@ const patchDynamicImport = (base, orgScriptElm) => {
69
69
  };
70
70
 
71
71
  patchBrowser().then(options => {
72
- return index.bootstrapLazy([["revogr-clipboard.cjs",[[0,"revogr-clipboard",{"doCopy":[64]},[[4,"paste","onPaste"],[4,"copy","copyStarted"]]]]],["revogr-filter-panel.cjs",[[0,"revogr-filter-panel",{"uuid":[1537],"filterItems":[16],"filterTypes":[16],"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revo-grid_11.cjs",[[0,"revo-grid",{"rowHeaders":[4,"row-headers"],"frameSize":[2,"frame-size"],"rowSize":[2,"row-size"],"colSize":[2,"col-size"],"range":[4],"readonly":[4],"resize":[4],"canFocus":[4,"can-focus"],"useClipboard":[4,"use-clipboard"],"columns":[16],"source":[16],"pinnedTopSource":[16],"pinnedBottomSource":[16],"rowDefinitions":[16],"editors":[16],"plugins":[16],"columnTypes":[16],"theme":[1537],"rowClass":[513,"row-class"],"autoSizeColumn":[4,"auto-size-column"],"filter":[4],"trimmedRows":[16],"exporting":[4],"grouping":[16],"stretch":[8],"extraElements":[32],"refresh":[64],"scrollToRow":[64],"scrollToColumnIndex":[64],"scrollToColumnProp":[64],"updateColumns":[64],"addTrimmed":[64],"scrollToCoordinate":[64],"setCellEdit":[64],"registerVNode":[64],"getSource":[64],"getVisibleSource":[64],"getSourceStore":[64],"getColumnStore":[64],"updateColumnSorting":[64],"clearSorting":[64],"getColumns":[64],"clearFocus":[64],"getPlugins":[64],"getFocused":[64],"getSelectedRange":[64]},[[0,"internalRowDragStart","onRowDragStarted"],[0,"internalRowDragEnd","onRowDragEnd"],[0,"internalRowDrag","onRowDrag"],[0,"internalRowMouseMove","onRowMouseMove"],[0,"internalCellEdit","onBeforeEdit"],[0,"internalRangeDataApply","onBeforeRangeEdit"],[0,"internalSelectionChanged","onRangeChanged"],[0,"initialRowDropped","onRowDropped"],[0,"initialHeaderClick","onHeaderClick"],[0,"internalFocusCell","onCellFocus"]]],[0,"revogr-row-headers",{"height":[2],"dataPorts":[16],"headerProp":[16],"uiid":[1],"resize":[4],"rowHeaderColumn":[16]}],[4,"revogr-overlay-selection",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"useClipboard":[4,"use-clipboard"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"lastCell":[16],"editors":[16]},[[5,"mousemove","onMouseMove"],[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"],[0,"dragStartCell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]]],[0,"revogr-focus",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-scroll-virtual",{"dimension":[1],"viewportStore":[16],"dimensionStore":[16],"setScroll":[64],"changeScroll":[64]}],[0,"revogr-temp-range",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-data",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"rowClass":[1,"row-class"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16]}],[0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16]}],[0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"parent":[1],"groups":[16],"groupingDepth":[2,"grouping-depth"],"canResize":[4,"can-resize"],"colData":[16],"columnFilter":[4,"column-filter"]}],[0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"dragStart":[64],"endOrder":[64],"clearOrder":[64]},[[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"]]],[4,"revogr-viewport-scroll",{"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"],"setScroll":[64],"changeScroll":[64]}]]]], options);
72
+ return index.bootstrapLazy([["revogr-clipboard.cjs",[[0,"revogr-clipboard",{"doCopy":[64]},[[4,"paste","onPaste"],[4,"copy","copyStarted"]]]]],["revogr-filter-panel.cjs",[[0,"revogr-filter-panel",{"uuid":[1537],"filterItems":[16],"filterTypes":[16],"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"disableDynamicFiltering":[4,"disable-dynamic-filtering"],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revo-grid_11.cjs",[[0,"revo-grid",{"rowHeaders":[4,"row-headers"],"frameSize":[2,"frame-size"],"rowSize":[2,"row-size"],"colSize":[2,"col-size"],"range":[4],"readonly":[4],"resize":[4],"canFocus":[4,"can-focus"],"useClipboard":[4,"use-clipboard"],"columns":[16],"source":[16],"pinnedTopSource":[16],"pinnedBottomSource":[16],"rowDefinitions":[16],"editors":[16],"plugins":[16],"columnTypes":[16],"theme":[1537],"rowClass":[513,"row-class"],"autoSizeColumn":[4,"auto-size-column"],"filter":[4],"trimmedRows":[16],"exporting":[4],"grouping":[16],"stretch":[8],"extraElements":[32],"refresh":[64],"scrollToRow":[64],"scrollToColumnIndex":[64],"scrollToColumnProp":[64],"updateColumns":[64],"addTrimmed":[64],"scrollToCoordinate":[64],"setCellEdit":[64],"registerVNode":[64],"getSource":[64],"getVisibleSource":[64],"getSourceStore":[64],"getColumnStore":[64],"updateColumnSorting":[64],"clearSorting":[64],"getColumns":[64],"clearFocus":[64],"getPlugins":[64],"getFocused":[64],"getSelectedRange":[64]},[[0,"internalRowDragStart","onRowDragStarted"],[0,"internalRowDragEnd","onRowDragEnd"],[0,"internalRowDrag","onRowDrag"],[0,"internalRowMouseMove","onRowMouseMove"],[0,"internalCellEdit","onBeforeEdit"],[0,"internalRangeDataApply","onBeforeRangeEdit"],[0,"internalSelectionChanged","onRangeChanged"],[0,"initialRowDropped","onRowDropped"],[0,"initialHeaderClick","onHeaderClick"],[0,"internalFocusCell","onCellFocus"]]],[0,"revogr-row-headers",{"height":[2],"dataPorts":[16],"headerProp":[16],"uiid":[1],"resize":[4],"rowHeaderColumn":[16]}],[4,"revogr-overlay-selection",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"useClipboard":[4,"use-clipboard"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"lastCell":[16],"editors":[16]},[[5,"mousemove","onMouseMove"],[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"],[0,"dragStartCell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]]],[0,"revogr-focus",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-scroll-virtual",{"dimension":[1],"viewportStore":[16],"dimensionStore":[16],"setScroll":[64],"changeScroll":[64]}],[0,"revogr-temp-range",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-data",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"rowClass":[1,"row-class"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16]}],[0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16]}],[0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"parent":[1],"groups":[16],"groupingDepth":[2,"grouping-depth"],"canResize":[4,"can-resize"],"colData":[16],"columnFilter":[4,"column-filter"]}],[0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"dragStart":[64],"endOrder":[64],"clearOrder":[64]},[[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"]]],[4,"revogr-viewport-scroll",{"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"],"setScroll":[64],"changeScroll":[64]}]]]], options);
73
73
  });
@@ -5182,7 +5182,7 @@ class FilterPlugin extends BasePlugin {
5182
5182
  this.addEventListener('headerclick', headerclick);
5183
5183
  this.addEventListener('aftersourceset', aftersourceset);
5184
5184
  this.revogrid.registerVNode([
5185
- index.h("revogr-filter-panel", { uuid: `filter-${uiid}`, filterItems: this.multiFilterItems, filterNames: this.possibleFilterNames, filterEntities: this.possibleFilterEntities, filterCaptions: (_a = config === null || config === void 0 ? void 0 : config.localization) === null || _a === void 0 ? void 0 : _a.captions, onFilterChange: e => this.onFilterChange(e.detail), ref: e => (this.pop = e) }),
5185
+ index.h("revogr-filter-panel", { uuid: `filter-${uiid}`, filterItems: this.multiFilterItems, filterNames: this.possibleFilterNames, filterEntities: this.possibleFilterEntities, filterCaptions: (_a = config === null || config === void 0 ? void 0 : config.localization) === null || _a === void 0 ? void 0 : _a.captions, onFilterChange: e => this.onFilterChange(e.detail), disableDynamicFiltering: config === null || config === void 0 ? void 0 : config.disableDynamicFiltering, ref: e => (this.pop = e) }),
5186
5186
  ]);
5187
5187
  }
5188
5188
  initConfig(config) {
@@ -5719,6 +5719,9 @@ class SortingPlugin extends BasePlugin {
5719
5719
  let sorted = 0;
5720
5720
  for (let prop in sortingFunc) {
5721
5721
  const cmp = sortingFunc[prop];
5722
+ if (!cmp) {
5723
+ continue;
5724
+ }
5722
5725
  sorted = cmp(prop, a, b);
5723
5726
  if (sorted) {
5724
5727
  break;
@@ -25076,6 +25079,9 @@ const RevoGridComponent = class {
25076
25079
  grPlugin.setGrouping(newVal || {});
25077
25080
  }
25078
25081
  applyStretch(isStretch) {
25082
+ if (isStretch === 'false') {
25083
+ isStretch = false;
25084
+ }
25079
25085
  let stretch = this.internalPlugins.filter(p => isStretchPlugin(p))[0];
25080
25086
  if (isStretch) {
25081
25087
  if (!stretch) {
@@ -51,6 +51,7 @@ const FilterPanel = class {
51
51
  this.filterTypes = {};
52
52
  this.filterNames = {};
53
53
  this.filterEntities = {};
54
+ this.disableDynamicFiltering = false;
54
55
  this.debouncedApplyFilter = debounce.debounce_1(() => {
55
56
  this.filterChange.emit(this.filterItems);
56
57
  }, 400);
@@ -128,7 +129,8 @@ const FilterPanel = class {
128
129
  top: `${this.changes.y}px`,
129
130
  };
130
131
  const capts = Object.assign(this.filterCaptionsInternal, this.filterCaptions);
131
- return (index.h(index.Host, { style: style }, index.h("label", null, capts.title), index.h("div", { class: "filter-holder" }, this.getFilterItemsList()), index.h("div", { class: "add-filter" }, index.h("select", { id: "add-filter", class: "select-css", onChange: e => this.onAddNewFilter(e) }, this.renderSelectOptions(this.currentFilterType))), index.h("div", { class: "filter-actions" }, index.h(RevoButton, { class: { red: true }, onClick: () => this.onReset() }, capts.reset), index.h(RevoButton, { class: { light: true }, onClick: () => this.onCancel() }, capts.cancel))));
132
+ return (index.h(index.Host, { style: style }, index.h("label", null, capts.title), index.h("div", { class: "filter-holder" }, this.getFilterItemsList()), index.h("div", { class: "add-filter" }, index.h("select", { id: "add-filter", class: "select-css", onChange: e => this.onAddNewFilter(e) }, this.renderSelectOptions(this.currentFilterType))), index.h("div", { class: "filter-actions" }, this.disableDynamicFiltering &&
133
+ index.h(RevoButton, { class: { red: true, save: true }, onClick: () => this.onSave() }, capts.save), index.h(RevoButton, { class: { red: true, reset: true }, onClick: () => this.onReset() }, capts.reset), index.h(RevoButton, { class: { light: true, cancel: true }, onClick: () => this.onCancel() }, capts.cancel))));
132
134
  }
133
135
  onFilterTypeChange(e, prop, index) {
134
136
  const el = e.target;
@@ -142,7 +144,8 @@ const FilterPanel = class {
142
144
  if (input)
143
145
  input.focus();
144
146
  }, 0);
145
- this.debouncedApplyFilter();
147
+ if (!this.disableDynamicFiltering)
148
+ this.debouncedApplyFilter();
146
149
  }
147
150
  onAddNewFilter(e) {
148
151
  const el = e.target;
@@ -155,7 +158,8 @@ const FilterPanel = class {
155
158
  select.value = defaultType;
156
159
  this.currentFilterType = defaultType;
157
160
  }
158
- this.debouncedApplyFilter();
161
+ if (!this.disableDynamicFiltering)
162
+ this.debouncedApplyFilter();
159
163
  }
160
164
  addNewFilterToProp() {
161
165
  var _a;
@@ -185,7 +189,8 @@ const FilterPanel = class {
185
189
  onUserInput(index, prop, event) {
186
190
  // update the value of the filter item
187
191
  this.filterItems[prop][index].value = event.target.value;
188
- this.debouncedApplyFilter();
192
+ if (!this.disableDynamicFiltering)
193
+ this.debouncedApplyFilter();
189
194
  }
190
195
  onKeyDown(e) {
191
196
  if (e.key.toLowerCase() === 'enter') {
@@ -201,6 +206,9 @@ const FilterPanel = class {
201
206
  // keep event local, don't escalate farther to dom
202
207
  e.stopPropagation();
203
208
  }
209
+ onSave() {
210
+ this.filterChange.emit(this.filterItems);
211
+ }
204
212
  onCancel() {
205
213
  this.changes = undefined;
206
214
  }
@@ -226,7 +234,8 @@ const FilterPanel = class {
226
234
  // let's remove the prop if no more filters so the filter icon will be removed
227
235
  if (items.length === 0)
228
236
  delete this.filterItems[prop];
229
- this.debouncedApplyFilter();
237
+ if (!this.disableDynamicFiltering)
238
+ this.debouncedApplyFilter();
230
239
  }
231
240
  toggleFilterAndOr(id) {
232
241
  this.assertChanges();
@@ -240,7 +249,8 @@ const FilterPanel = class {
240
249
  if (index === -1)
241
250
  return;
242
251
  items[index].relation = items[index].relation === 'and' ? 'or' : 'and';
243
- this.debouncedApplyFilter();
252
+ if (!this.disableDynamicFiltering)
253
+ this.debouncedApplyFilter();
244
254
  }
245
255
  assertChanges() {
246
256
  if (!this.changes) {
@@ -456,6 +456,9 @@ export class RevoGridComponent {
456
456
  grPlugin.setGrouping(newVal || {});
457
457
  }
458
458
  applyStretch(isStretch) {
459
+ if (isStretch === 'false') {
460
+ isStretch = false;
461
+ }
459
462
  let stretch = this.internalPlugins.filter(p => isStretchPlugin(p))[0];
460
463
  if (isStretch) {
461
464
  if (!stretch) {
@@ -972,7 +975,7 @@ export class RevoGridComponent {
972
975
  "mutable": false,
973
976
  "complexType": {
974
977
  "original": "boolean | ColumnFilterConfig",
975
- "resolved": "boolean | { collection?: FilterCollection; include?: string[]; customFilters?: Record<string, CustomFilter>; localization?: FilterLocalization; multiFilterItems?: MultiFilterItem; }",
978
+ "resolved": "boolean | { collection?: FilterCollection; include?: string[]; customFilters?: Record<string, CustomFilter>; localization?: FilterLocalization; multiFilterItems?: MultiFilterItem; disableDynamicFiltering?: boolean; }",
976
979
  "references": {
977
980
  "ColumnFilterConfig": {
978
981
  "location": "import",
@@ -1055,7 +1058,7 @@ export class RevoGridComponent {
1055
1058
  "type": "any",
1056
1059
  "mutable": false,
1057
1060
  "complexType": {
1058
- "original": "boolean|string",
1061
+ "original": "boolean | string",
1059
1062
  "resolved": "boolean | string",
1060
1063
  "references": {}
1061
1064
  },
@@ -39,7 +39,7 @@ export default class FilterPlugin extends BasePlugin {
39
39
  this.addEventListener('headerclick', headerclick);
40
40
  this.addEventListener('aftersourceset', aftersourceset);
41
41
  this.revogrid.registerVNode([
42
- h("revogr-filter-panel", { uuid: `filter-${uiid}`, filterItems: this.multiFilterItems, filterNames: this.possibleFilterNames, filterEntities: this.possibleFilterEntities, filterCaptions: (_a = config === null || config === void 0 ? void 0 : config.localization) === null || _a === void 0 ? void 0 : _a.captions, onFilterChange: e => this.onFilterChange(e.detail), ref: e => (this.pop = e) }),
42
+ h("revogr-filter-panel", { uuid: `filter-${uiid}`, filterItems: this.multiFilterItems, filterNames: this.possibleFilterNames, filterEntities: this.possibleFilterEntities, filterCaptions: (_a = config === null || config === void 0 ? void 0 : config.localization) === null || _a === void 0 ? void 0 : _a.captions, onFilterChange: e => this.onFilterChange(e.detail), disableDynamicFiltering: config === null || config === void 0 ? void 0 : config.disableDynamicFiltering, ref: e => (this.pop = e) }),
43
43
  ]);
44
44
  }
45
45
  initConfig(config) {
@@ -22,6 +22,7 @@ export class FilterPanel {
22
22
  this.filterTypes = {};
23
23
  this.filterNames = {};
24
24
  this.filterEntities = {};
25
+ this.disableDynamicFiltering = false;
25
26
  this.debouncedApplyFilter = debounce(() => {
26
27
  this.filterChange.emit(this.filterItems);
27
28
  }, 400);
@@ -114,8 +115,10 @@ export class FilterPanel {
114
115
  h("div", { class: "add-filter" },
115
116
  h("select", { id: "add-filter", class: "select-css", onChange: e => this.onAddNewFilter(e) }, this.renderSelectOptions(this.currentFilterType))),
116
117
  h("div", { class: "filter-actions" },
117
- h(RevoButton, { class: { red: true }, onClick: () => this.onReset() }, capts.reset),
118
- h(RevoButton, { class: { light: true }, onClick: () => this.onCancel() }, capts.cancel))));
118
+ this.disableDynamicFiltering &&
119
+ h(RevoButton, { class: { red: true, save: true }, onClick: () => this.onSave() }, capts.save),
120
+ h(RevoButton, { class: { red: true, reset: true }, onClick: () => this.onReset() }, capts.reset),
121
+ h(RevoButton, { class: { light: true, cancel: true }, onClick: () => this.onCancel() }, capts.cancel))));
119
122
  }
120
123
  onFilterTypeChange(e, prop, index) {
121
124
  const el = e.target;
@@ -129,7 +132,8 @@ export class FilterPanel {
129
132
  if (input)
130
133
  input.focus();
131
134
  }, 0);
132
- this.debouncedApplyFilter();
135
+ if (!this.disableDynamicFiltering)
136
+ this.debouncedApplyFilter();
133
137
  }
134
138
  onAddNewFilter(e) {
135
139
  const el = e.target;
@@ -142,7 +146,8 @@ export class FilterPanel {
142
146
  select.value = defaultType;
143
147
  this.currentFilterType = defaultType;
144
148
  }
145
- this.debouncedApplyFilter();
149
+ if (!this.disableDynamicFiltering)
150
+ this.debouncedApplyFilter();
146
151
  }
147
152
  addNewFilterToProp() {
148
153
  var _a;
@@ -172,7 +177,8 @@ export class FilterPanel {
172
177
  onUserInput(index, prop, event) {
173
178
  // update the value of the filter item
174
179
  this.filterItems[prop][index].value = event.target.value;
175
- this.debouncedApplyFilter();
180
+ if (!this.disableDynamicFiltering)
181
+ this.debouncedApplyFilter();
176
182
  }
177
183
  onKeyDown(e) {
178
184
  if (e.key.toLowerCase() === 'enter') {
@@ -188,6 +194,9 @@ export class FilterPanel {
188
194
  // keep event local, don't escalate farther to dom
189
195
  e.stopPropagation();
190
196
  }
197
+ onSave() {
198
+ this.filterChange.emit(this.filterItems);
199
+ }
191
200
  onCancel() {
192
201
  this.changes = undefined;
193
202
  }
@@ -213,7 +222,8 @@ export class FilterPanel {
213
222
  // let's remove the prop if no more filters so the filter icon will be removed
214
223
  if (items.length === 0)
215
224
  delete this.filterItems[prop];
216
- this.debouncedApplyFilter();
225
+ if (!this.disableDynamicFiltering)
226
+ this.debouncedApplyFilter();
217
227
  }
218
228
  toggleFilterAndOr(id) {
219
229
  this.assertChanges();
@@ -227,7 +237,8 @@ export class FilterPanel {
227
237
  if (index === -1)
228
238
  return;
229
239
  items[index].relation = items[index].relation === 'and' ? 'or' : 'and';
230
- this.debouncedApplyFilter();
240
+ if (!this.disableDynamicFiltering)
241
+ this.debouncedApplyFilter();
231
242
  }
232
243
  assertChanges() {
233
244
  if (!this.changes) {
@@ -374,6 +385,24 @@ export class FilterPanel {
374
385
  "tags": [],
375
386
  "text": ""
376
387
  }
388
+ },
389
+ "disableDynamicFiltering": {
390
+ "type": "boolean",
391
+ "mutable": false,
392
+ "complexType": {
393
+ "original": "boolean",
394
+ "resolved": "boolean",
395
+ "references": {}
396
+ },
397
+ "required": false,
398
+ "optional": false,
399
+ "docs": {
400
+ "tags": [],
401
+ "text": ""
402
+ },
403
+ "attribute": "disable-dynamic-filtering",
404
+ "reflect": false,
405
+ "defaultValue": "false"
377
406
  }
378
407
  }; }
379
408
  static get states() { return {
@@ -157,6 +157,9 @@ export default class SortingPlugin extends BasePlugin {
157
157
  let sorted = 0;
158
158
  for (let prop in sortingFunc) {
159
159
  const cmp = sortingFunc[prop];
160
+ if (!cmp) {
161
+ continue;
162
+ }
160
163
  sorted = cmp(prop, a, b);
161
164
  if (sorted) {
162
165
  break;
@@ -90,7 +90,7 @@ export function generateFakeDataObject(config = {}) {
90
90
  }
91
91
  // apply config
92
92
  if (rgCol === order) {
93
- columns[rgCol].order = 'asc';
93
+ columns[rgCol].order = 'desc';
94
94
  }
95
95
  }
96
96
  // apply config
@@ -24,7 +24,7 @@ const patchEsm = () => {
24
24
  const defineCustomElements = (win, options) => {
25
25
  if (typeof window === 'undefined') return Promise.resolve();
26
26
  return patchEsm().then(() => {
27
- return bootstrapLazy([["revogr-clipboard",[[0,"revogr-clipboard",{"doCopy":[64]},[[4,"paste","onPaste"],[4,"copy","copyStarted"]]]]],["revogr-filter-panel",[[0,"revogr-filter-panel",{"uuid":[1537],"filterItems":[16],"filterTypes":[16],"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revo-grid_11",[[0,"revo-grid",{"rowHeaders":[4,"row-headers"],"frameSize":[2,"frame-size"],"rowSize":[2,"row-size"],"colSize":[2,"col-size"],"range":[4],"readonly":[4],"resize":[4],"canFocus":[4,"can-focus"],"useClipboard":[4,"use-clipboard"],"columns":[16],"source":[16],"pinnedTopSource":[16],"pinnedBottomSource":[16],"rowDefinitions":[16],"editors":[16],"plugins":[16],"columnTypes":[16],"theme":[1537],"rowClass":[513,"row-class"],"autoSizeColumn":[4,"auto-size-column"],"filter":[4],"trimmedRows":[16],"exporting":[4],"grouping":[16],"stretch":[8],"extraElements":[32],"refresh":[64],"scrollToRow":[64],"scrollToColumnIndex":[64],"scrollToColumnProp":[64],"updateColumns":[64],"addTrimmed":[64],"scrollToCoordinate":[64],"setCellEdit":[64],"registerVNode":[64],"getSource":[64],"getVisibleSource":[64],"getSourceStore":[64],"getColumnStore":[64],"updateColumnSorting":[64],"clearSorting":[64],"getColumns":[64],"clearFocus":[64],"getPlugins":[64],"getFocused":[64],"getSelectedRange":[64]},[[0,"internalRowDragStart","onRowDragStarted"],[0,"internalRowDragEnd","onRowDragEnd"],[0,"internalRowDrag","onRowDrag"],[0,"internalRowMouseMove","onRowMouseMove"],[0,"internalCellEdit","onBeforeEdit"],[0,"internalRangeDataApply","onBeforeRangeEdit"],[0,"internalSelectionChanged","onRangeChanged"],[0,"initialRowDropped","onRowDropped"],[0,"initialHeaderClick","onHeaderClick"],[0,"internalFocusCell","onCellFocus"]]],[0,"revogr-row-headers",{"height":[2],"dataPorts":[16],"headerProp":[16],"uiid":[1],"resize":[4],"rowHeaderColumn":[16]}],[4,"revogr-overlay-selection",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"useClipboard":[4,"use-clipboard"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"lastCell":[16],"editors":[16]},[[5,"mousemove","onMouseMove"],[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"],[0,"dragStartCell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]]],[0,"revogr-focus",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-scroll-virtual",{"dimension":[1],"viewportStore":[16],"dimensionStore":[16],"setScroll":[64],"changeScroll":[64]}],[0,"revogr-temp-range",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-data",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"rowClass":[1,"row-class"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16]}],[0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16]}],[0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"parent":[1],"groups":[16],"groupingDepth":[2,"grouping-depth"],"canResize":[4,"can-resize"],"colData":[16],"columnFilter":[4,"column-filter"]}],[0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"dragStart":[64],"endOrder":[64],"clearOrder":[64]},[[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"]]],[4,"revogr-viewport-scroll",{"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"],"setScroll":[64],"changeScroll":[64]}]]]], options);
27
+ return bootstrapLazy([["revogr-clipboard",[[0,"revogr-clipboard",{"doCopy":[64]},[[4,"paste","onPaste"],[4,"copy","copyStarted"]]]]],["revogr-filter-panel",[[0,"revogr-filter-panel",{"uuid":[1537],"filterItems":[16],"filterTypes":[16],"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"disableDynamicFiltering":[4,"disable-dynamic-filtering"],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revo-grid_11",[[0,"revo-grid",{"rowHeaders":[4,"row-headers"],"frameSize":[2,"frame-size"],"rowSize":[2,"row-size"],"colSize":[2,"col-size"],"range":[4],"readonly":[4],"resize":[4],"canFocus":[4,"can-focus"],"useClipboard":[4,"use-clipboard"],"columns":[16],"source":[16],"pinnedTopSource":[16],"pinnedBottomSource":[16],"rowDefinitions":[16],"editors":[16],"plugins":[16],"columnTypes":[16],"theme":[1537],"rowClass":[513,"row-class"],"autoSizeColumn":[4,"auto-size-column"],"filter":[4],"trimmedRows":[16],"exporting":[4],"grouping":[16],"stretch":[8],"extraElements":[32],"refresh":[64],"scrollToRow":[64],"scrollToColumnIndex":[64],"scrollToColumnProp":[64],"updateColumns":[64],"addTrimmed":[64],"scrollToCoordinate":[64],"setCellEdit":[64],"registerVNode":[64],"getSource":[64],"getVisibleSource":[64],"getSourceStore":[64],"getColumnStore":[64],"updateColumnSorting":[64],"clearSorting":[64],"getColumns":[64],"clearFocus":[64],"getPlugins":[64],"getFocused":[64],"getSelectedRange":[64]},[[0,"internalRowDragStart","onRowDragStarted"],[0,"internalRowDragEnd","onRowDragEnd"],[0,"internalRowDrag","onRowDrag"],[0,"internalRowMouseMove","onRowMouseMove"],[0,"internalCellEdit","onBeforeEdit"],[0,"internalRangeDataApply","onBeforeRangeEdit"],[0,"internalSelectionChanged","onRangeChanged"],[0,"initialRowDropped","onRowDropped"],[0,"initialHeaderClick","onHeaderClick"],[0,"internalFocusCell","onCellFocus"]]],[0,"revogr-row-headers",{"height":[2],"dataPorts":[16],"headerProp":[16],"uiid":[1],"resize":[4],"rowHeaderColumn":[16]}],[4,"revogr-overlay-selection",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"useClipboard":[4,"use-clipboard"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"lastCell":[16],"editors":[16]},[[5,"mousemove","onMouseMove"],[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"],[0,"dragStartCell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]]],[0,"revogr-focus",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-scroll-virtual",{"dimension":[1],"viewportStore":[16],"dimensionStore":[16],"setScroll":[64],"changeScroll":[64]}],[0,"revogr-temp-range",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-data",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"rowClass":[1,"row-class"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16]}],[0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16]}],[0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"parent":[1],"groups":[16],"groupingDepth":[2,"grouping-depth"],"canResize":[4,"can-resize"],"colData":[16],"columnFilter":[4,"column-filter"]}],[0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"dragStart":[64],"endOrder":[64],"clearOrder":[64]},[[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"]]],[4,"revogr-viewport-scroll",{"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"],"setScroll":[64],"changeScroll":[64]}]]]], options);
28
28
  });
29
29
  };
30
30
 
@@ -67,5 +67,5 @@ const patchDynamicImport = (base, orgScriptElm) => {
67
67
  };
68
68
 
69
69
  patchBrowser().then(options => {
70
- return bootstrapLazy([["revogr-clipboard",[[0,"revogr-clipboard",{"doCopy":[64]},[[4,"paste","onPaste"],[4,"copy","copyStarted"]]]]],["revogr-filter-panel",[[0,"revogr-filter-panel",{"uuid":[1537],"filterItems":[16],"filterTypes":[16],"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revo-grid_11",[[0,"revo-grid",{"rowHeaders":[4,"row-headers"],"frameSize":[2,"frame-size"],"rowSize":[2,"row-size"],"colSize":[2,"col-size"],"range":[4],"readonly":[4],"resize":[4],"canFocus":[4,"can-focus"],"useClipboard":[4,"use-clipboard"],"columns":[16],"source":[16],"pinnedTopSource":[16],"pinnedBottomSource":[16],"rowDefinitions":[16],"editors":[16],"plugins":[16],"columnTypes":[16],"theme":[1537],"rowClass":[513,"row-class"],"autoSizeColumn":[4,"auto-size-column"],"filter":[4],"trimmedRows":[16],"exporting":[4],"grouping":[16],"stretch":[8],"extraElements":[32],"refresh":[64],"scrollToRow":[64],"scrollToColumnIndex":[64],"scrollToColumnProp":[64],"updateColumns":[64],"addTrimmed":[64],"scrollToCoordinate":[64],"setCellEdit":[64],"registerVNode":[64],"getSource":[64],"getVisibleSource":[64],"getSourceStore":[64],"getColumnStore":[64],"updateColumnSorting":[64],"clearSorting":[64],"getColumns":[64],"clearFocus":[64],"getPlugins":[64],"getFocused":[64],"getSelectedRange":[64]},[[0,"internalRowDragStart","onRowDragStarted"],[0,"internalRowDragEnd","onRowDragEnd"],[0,"internalRowDrag","onRowDrag"],[0,"internalRowMouseMove","onRowMouseMove"],[0,"internalCellEdit","onBeforeEdit"],[0,"internalRangeDataApply","onBeforeRangeEdit"],[0,"internalSelectionChanged","onRangeChanged"],[0,"initialRowDropped","onRowDropped"],[0,"initialHeaderClick","onHeaderClick"],[0,"internalFocusCell","onCellFocus"]]],[0,"revogr-row-headers",{"height":[2],"dataPorts":[16],"headerProp":[16],"uiid":[1],"resize":[4],"rowHeaderColumn":[16]}],[4,"revogr-overlay-selection",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"useClipboard":[4,"use-clipboard"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"lastCell":[16],"editors":[16]},[[5,"mousemove","onMouseMove"],[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"],[0,"dragStartCell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]]],[0,"revogr-focus",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-scroll-virtual",{"dimension":[1],"viewportStore":[16],"dimensionStore":[16],"setScroll":[64],"changeScroll":[64]}],[0,"revogr-temp-range",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-data",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"rowClass":[1,"row-class"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16]}],[0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16]}],[0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"parent":[1],"groups":[16],"groupingDepth":[2,"grouping-depth"],"canResize":[4,"can-resize"],"colData":[16],"columnFilter":[4,"column-filter"]}],[0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"dragStart":[64],"endOrder":[64],"clearOrder":[64]},[[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"]]],[4,"revogr-viewport-scroll",{"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"],"setScroll":[64],"changeScroll":[64]}]]]], options);
70
+ return bootstrapLazy([["revogr-clipboard",[[0,"revogr-clipboard",{"doCopy":[64]},[[4,"paste","onPaste"],[4,"copy","copyStarted"]]]]],["revogr-filter-panel",[[0,"revogr-filter-panel",{"uuid":[1537],"filterItems":[16],"filterTypes":[16],"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"disableDynamicFiltering":[4,"disable-dynamic-filtering"],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revo-grid_11",[[0,"revo-grid",{"rowHeaders":[4,"row-headers"],"frameSize":[2,"frame-size"],"rowSize":[2,"row-size"],"colSize":[2,"col-size"],"range":[4],"readonly":[4],"resize":[4],"canFocus":[4,"can-focus"],"useClipboard":[4,"use-clipboard"],"columns":[16],"source":[16],"pinnedTopSource":[16],"pinnedBottomSource":[16],"rowDefinitions":[16],"editors":[16],"plugins":[16],"columnTypes":[16],"theme":[1537],"rowClass":[513,"row-class"],"autoSizeColumn":[4,"auto-size-column"],"filter":[4],"trimmedRows":[16],"exporting":[4],"grouping":[16],"stretch":[8],"extraElements":[32],"refresh":[64],"scrollToRow":[64],"scrollToColumnIndex":[64],"scrollToColumnProp":[64],"updateColumns":[64],"addTrimmed":[64],"scrollToCoordinate":[64],"setCellEdit":[64],"registerVNode":[64],"getSource":[64],"getVisibleSource":[64],"getSourceStore":[64],"getColumnStore":[64],"updateColumnSorting":[64],"clearSorting":[64],"getColumns":[64],"clearFocus":[64],"getPlugins":[64],"getFocused":[64],"getSelectedRange":[64]},[[0,"internalRowDragStart","onRowDragStarted"],[0,"internalRowDragEnd","onRowDragEnd"],[0,"internalRowDrag","onRowDrag"],[0,"internalRowMouseMove","onRowMouseMove"],[0,"internalCellEdit","onBeforeEdit"],[0,"internalRangeDataApply","onBeforeRangeEdit"],[0,"internalSelectionChanged","onRangeChanged"],[0,"initialRowDropped","onRowDropped"],[0,"initialHeaderClick","onHeaderClick"],[0,"internalFocusCell","onCellFocus"]]],[0,"revogr-row-headers",{"height":[2],"dataPorts":[16],"headerProp":[16],"uiid":[1],"resize":[4],"rowHeaderColumn":[16]}],[4,"revogr-overlay-selection",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"useClipboard":[4,"use-clipboard"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"lastCell":[16],"editors":[16]},[[5,"mousemove","onMouseMove"],[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"],[0,"dragStartCell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]]],[0,"revogr-focus",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-scroll-virtual",{"dimension":[1],"viewportStore":[16],"dimensionStore":[16],"setScroll":[64],"changeScroll":[64]}],[0,"revogr-temp-range",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-data",{"readonly":[4],"range":[4],"canDrag":[4,"can-drag"],"rowClass":[1,"row-class"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16]}],[0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16]}],[0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"parent":[1],"groups":[16],"groupingDepth":[2,"grouping-depth"],"canResize":[4,"can-resize"],"colData":[16],"columnFilter":[4,"column-filter"]}],[0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"dragStart":[64],"endOrder":[64],"clearOrder":[64]},[[5,"mouseleave","onMouseOut"],[5,"mouseup","onMouseUp"]]],[4,"revogr-viewport-scroll",{"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"],"setScroll":[64],"changeScroll":[64]}]]]], options);
71
71
  });
@@ -5178,7 +5178,7 @@ class FilterPlugin extends BasePlugin {
5178
5178
  this.addEventListener('headerclick', headerclick);
5179
5179
  this.addEventListener('aftersourceset', aftersourceset);
5180
5180
  this.revogrid.registerVNode([
5181
- h("revogr-filter-panel", { uuid: `filter-${uiid}`, filterItems: this.multiFilterItems, filterNames: this.possibleFilterNames, filterEntities: this.possibleFilterEntities, filterCaptions: (_a = config === null || config === void 0 ? void 0 : config.localization) === null || _a === void 0 ? void 0 : _a.captions, onFilterChange: e => this.onFilterChange(e.detail), ref: e => (this.pop = e) }),
5181
+ h("revogr-filter-panel", { uuid: `filter-${uiid}`, filterItems: this.multiFilterItems, filterNames: this.possibleFilterNames, filterEntities: this.possibleFilterEntities, filterCaptions: (_a = config === null || config === void 0 ? void 0 : config.localization) === null || _a === void 0 ? void 0 : _a.captions, onFilterChange: e => this.onFilterChange(e.detail), disableDynamicFiltering: config === null || config === void 0 ? void 0 : config.disableDynamicFiltering, ref: e => (this.pop = e) }),
5182
5182
  ]);
5183
5183
  }
5184
5184
  initConfig(config) {
@@ -5715,6 +5715,9 @@ class SortingPlugin extends BasePlugin {
5715
5715
  let sorted = 0;
5716
5716
  for (let prop in sortingFunc) {
5717
5717
  const cmp = sortingFunc[prop];
5718
+ if (!cmp) {
5719
+ continue;
5720
+ }
5718
5721
  sorted = cmp(prop, a, b);
5719
5722
  if (sorted) {
5720
5723
  break;
@@ -25072,6 +25075,9 @@ const RevoGridComponent = class {
25072
25075
  grPlugin.setGrouping(newVal || {});
25073
25076
  }
25074
25077
  applyStretch(isStretch) {
25078
+ if (isStretch === 'false') {
25079
+ isStretch = false;
25080
+ }
25075
25081
  let stretch = this.internalPlugins.filter(p => isStretchPlugin(p))[0];
25076
25082
  if (isStretch) {
25077
25083
  if (!stretch) {
@@ -47,6 +47,7 @@ const FilterPanel = class {
47
47
  this.filterTypes = {};
48
48
  this.filterNames = {};
49
49
  this.filterEntities = {};
50
+ this.disableDynamicFiltering = false;
50
51
  this.debouncedApplyFilter = debounce_1(() => {
51
52
  this.filterChange.emit(this.filterItems);
52
53
  }, 400);
@@ -124,7 +125,8 @@ const FilterPanel = class {
124
125
  top: `${this.changes.y}px`,
125
126
  };
126
127
  const capts = Object.assign(this.filterCaptionsInternal, this.filterCaptions);
127
- return (h(Host, { style: style }, h("label", null, capts.title), h("div", { class: "filter-holder" }, this.getFilterItemsList()), h("div", { class: "add-filter" }, h("select", { id: "add-filter", class: "select-css", onChange: e => this.onAddNewFilter(e) }, this.renderSelectOptions(this.currentFilterType))), h("div", { class: "filter-actions" }, h(RevoButton, { class: { red: true }, onClick: () => this.onReset() }, capts.reset), h(RevoButton, { class: { light: true }, onClick: () => this.onCancel() }, capts.cancel))));
128
+ return (h(Host, { style: style }, h("label", null, capts.title), h("div", { class: "filter-holder" }, this.getFilterItemsList()), h("div", { class: "add-filter" }, h("select", { id: "add-filter", class: "select-css", onChange: e => this.onAddNewFilter(e) }, this.renderSelectOptions(this.currentFilterType))), h("div", { class: "filter-actions" }, this.disableDynamicFiltering &&
129
+ h(RevoButton, { class: { red: true, save: true }, onClick: () => this.onSave() }, capts.save), h(RevoButton, { class: { red: true, reset: true }, onClick: () => this.onReset() }, capts.reset), h(RevoButton, { class: { light: true, cancel: true }, onClick: () => this.onCancel() }, capts.cancel))));
128
130
  }
129
131
  onFilterTypeChange(e, prop, index) {
130
132
  const el = e.target;
@@ -138,7 +140,8 @@ const FilterPanel = class {
138
140
  if (input)
139
141
  input.focus();
140
142
  }, 0);
141
- this.debouncedApplyFilter();
143
+ if (!this.disableDynamicFiltering)
144
+ this.debouncedApplyFilter();
142
145
  }
143
146
  onAddNewFilter(e) {
144
147
  const el = e.target;
@@ -151,7 +154,8 @@ const FilterPanel = class {
151
154
  select.value = defaultType;
152
155
  this.currentFilterType = defaultType;
153
156
  }
154
- this.debouncedApplyFilter();
157
+ if (!this.disableDynamicFiltering)
158
+ this.debouncedApplyFilter();
155
159
  }
156
160
  addNewFilterToProp() {
157
161
  var _a;
@@ -181,7 +185,8 @@ const FilterPanel = class {
181
185
  onUserInput(index, prop, event) {
182
186
  // update the value of the filter item
183
187
  this.filterItems[prop][index].value = event.target.value;
184
- this.debouncedApplyFilter();
188
+ if (!this.disableDynamicFiltering)
189
+ this.debouncedApplyFilter();
185
190
  }
186
191
  onKeyDown(e) {
187
192
  if (e.key.toLowerCase() === 'enter') {
@@ -197,6 +202,9 @@ const FilterPanel = class {
197
202
  // keep event local, don't escalate farther to dom
198
203
  e.stopPropagation();
199
204
  }
205
+ onSave() {
206
+ this.filterChange.emit(this.filterItems);
207
+ }
200
208
  onCancel() {
201
209
  this.changes = undefined;
202
210
  }
@@ -222,7 +230,8 @@ const FilterPanel = class {
222
230
  // let's remove the prop if no more filters so the filter icon will be removed
223
231
  if (items.length === 0)
224
232
  delete this.filterItems[prop];
225
- this.debouncedApplyFilter();
233
+ if (!this.disableDynamicFiltering)
234
+ this.debouncedApplyFilter();
226
235
  }
227
236
  toggleFilterAndOr(id) {
228
237
  this.assertChanges();
@@ -236,7 +245,8 @@ const FilterPanel = class {
236
245
  if (index === -1)
237
246
  return;
238
247
  items[index].relation = items[index].relation === 'and' ? 'or' : 'and';
239
- this.debouncedApplyFilter();
248
+ if (!this.disableDynamicFiltering)
249
+ this.debouncedApplyFilter();
240
250
  }
241
251
  assertChanges() {
242
252
  if (!this.changes) {