@revolist/revogrid 4.27.4 → 4.27.6

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 (32) hide show
  1. package/dist/cjs/index.cjs.js +1 -2
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/revo-grid.cjs.entry.js +2 -2
  4. package/dist/cjs/revo-grid.cjs.js +1 -1
  5. package/dist/cjs/revogr-filter-panel.cjs.entry.js +31 -140
  6. package/dist/cjs/{row-resize.plugin-C4YOF1lN.js → row-resize.plugin-jaZje3kL.js} +4 -53
  7. package/dist/collection/components/revoGrid/revo-grid-style.css +10 -0
  8. package/dist/collection/plugins/filter/filter.indexed.js +0 -5
  9. package/dist/collection/plugins/filter/filter.panel.js +31 -141
  10. package/dist/collection/plugins/filter/filter.plugin.js +5 -48
  11. package/dist/esm/index.js +2 -2
  12. package/dist/esm/loader.js +1 -1
  13. package/dist/esm/revo-grid.entry.js +2 -2
  14. package/dist/esm/revo-grid.js +1 -1
  15. package/dist/esm/revogr-filter-panel.entry.js +31 -140
  16. package/dist/esm/{row-resize.plugin-Beu0pMds.js → row-resize.plugin-Dzn9bTOr.js} +5 -53
  17. package/dist/revo-grid/index.esm.js +2 -2
  18. package/dist/revo-grid/revo-grid.entry.js +2 -2
  19. package/dist/revo-grid/revo-grid.esm.js +1 -1
  20. package/dist/revo-grid/revogr-filter-panel.entry.js +31 -140
  21. package/dist/revo-grid/{row-resize.plugin-Beu0pMds.js → row-resize.plugin-Dzn9bTOr.js} +5 -53
  22. package/dist/types/plugins/filter/filter.indexed.d.ts +0 -2
  23. package/dist/types/plugins/filter/filter.panel.d.ts +2 -9
  24. package/dist/types/plugins/filter/filter.plugin.d.ts +1 -8
  25. package/dist/types/plugins/filter/filter.types.d.ts +0 -8
  26. package/dist/types/types/interfaces.d.ts +1 -13
  27. package/hydrate/index.js +36 -194
  28. package/hydrate/index.mjs +36 -194
  29. package/package.json +1 -1
  30. package/standalone/index.js +1 -1
  31. package/standalone/revo-grid.js +1 -1
  32. package/standalone/revogr-filter-panel.js +1 -1
@@ -20,7 +20,6 @@ const VIEWPORT_PADDING = 8;
20
20
  */
21
21
  export class FilterPanel {
22
22
  constructor() {
23
- this.hasChanges = false;
24
23
  this.filterCaptionsInternal = {
25
24
  title: 'Filter by',
26
25
  ok: 'Close',
@@ -56,7 +55,7 @@ export class FilterPanel {
56
55
  */
57
56
  this.allowDuplicateOperators = true;
58
57
  this.debouncedApplyFilter = debounce(() => {
59
- this.emitFilterChange();
58
+ this.filterChange.emit(this.filterItems);
60
59
  }, 400);
61
60
  }
62
61
  onMouseDown(e) {
@@ -86,28 +85,10 @@ export class FilterPanel {
86
85
  }
87
86
  }
88
87
  async show(newEntity) {
89
- this.debouncedApplyFilter.flush();
90
- this.hasChanges = false;
91
88
  this.changes = newEntity;
92
- this.filterItems = this.cloneFilterItems((newEntity === null || newEntity === void 0 ? void 0 : newEntity.filterItems) || {});
93
- this.draftFilter = undefined;
89
+ this.filterItems = (newEntity === null || newEntity === void 0 ? void 0 : newEntity.filterItems) || {};
94
90
  if (this.changes) {
95
91
  this.changes.type = this.changes.type || defaultType;
96
- const prop = this.changes.prop;
97
- const propFilters = prop === undefined ? undefined : this.filterItems[prop];
98
- if (!(propFilters === null || propFilters === void 0 ? void 0 : propFilters.length) &&
99
- this.changes.showDefaultFilter !== false &&
100
- this.changes.hideDefaultFilters !== true) {
101
- const type = this.resolveDraftFilterType(this.changes.defaultFilterType);
102
- if (type) {
103
- this.draftFilter = {
104
- id: ++this.filterId,
105
- type,
106
- value: '',
107
- relation: 'and',
108
- };
109
- }
110
- }
111
92
  }
112
93
  }
113
94
  async getChanges() {
@@ -128,42 +109,29 @@ export class FilterPanel {
128
109
  const prop = (_a = this.changes) === null || _a === void 0 ? void 0 : _a.prop;
129
110
  if (prop === undefined)
130
111
  return '';
131
- const propFilters = ((_b = this.filterItems[prop]) !== null && _b !== void 0 ? _b : []).map((filter, index) => ({
132
- filter,
133
- index,
134
- isDraft: false,
135
- }));
136
- if (this.draftFilter) {
137
- propFilters.push({
138
- filter: this.draftFilter,
139
- index: propFilters.length,
140
- isDraft: true,
141
- });
142
- }
143
- const visibleFilters = propFilters.filter(({ filter }) => !filter.hidden);
144
- const visibleFilterCount = visibleFilters.length;
112
+ const propFilters = (_b = this.filterItems[prop]) !== null && _b !== void 0 ? _b : [];
113
+ const visibleFilterCount = propFilters.filter(filter => !filter.hidden).length;
145
114
  const capts = Object.assign(Object.assign({}, this.filterCaptionsInternal), this.filterCaptions);
146
- return (h("div", { key: this.filterId }, h("ul", { class: "multi-filter-list-container" }, propFilters.map(({ filter, index, isDraft }) => {
147
- var _a;
115
+ return (h("div", { key: this.filterId }, h("ul", { class: "multi-filter-list-container" }, propFilters.map((filter, index) => {
148
116
  let andOrButton;
149
117
  if (filter.hidden) {
150
118
  return;
151
119
  }
152
120
  // hide toggle button if there is only one filter and the last one
153
- if (((_a = visibleFilters[visibleFilterCount - 1]) === null || _a === void 0 ? void 0 : _a.filter.id) !== filter.id) {
121
+ if (index !== this.filterItems[prop].length - 1) {
154
122
  andOrButton = (h(AndOrButton, { text: filter.relation === 'and' ? capts.and : capts.or, onClick: () => this.toggleFilterAndOr(filter.id) }));
155
123
  }
156
- const extra = this.renderExtra(prop, index, isDraft);
124
+ const extra = this.renderExtra(prop, index);
157
125
  const isDragging = this.draggedFilterId === filter.id;
158
126
  const isDragOver = this.dragOverFilterId === filter.id && !isDragging;
159
- const canReorder = visibleFilterCount > 1 && !isDraft;
127
+ const canReorder = visibleFilterCount > 1;
160
128
  return (h("li", { key: filter.id, class: FILTER_LIST_CLASS, "aria-label": `${capts.filterCondition} ${index + 1}` }, h("div", { class: {
161
129
  'multi-filter-list-row': true,
162
130
  'filter-row-drop-active': this.draggedFilterId !== undefined && !isDragging,
163
131
  'filter-row-dragging': isDragging,
164
132
  'filter-row-drag-over': isDragOver,
165
- } }, canReorder ? (h("button", { type: "button", class: "filter-row-drop-target", tabIndex: -1, "aria-label": `${capts.filterCondition} ${index + 1}`, onDragOver: e => this.onFilterDragOver(e, filter.id), onDragLeave: () => this.onFilterDragLeave(filter.id), onDrop: e => this.onFilterDrop(e, prop, filter.id) })) : '', canReorder ? (h(ReorderButton, { ariaLabel: capts.reorderFilter, dragging: isDragging, dragOver: isDragOver, onDragStart: e => this.onFilterDragStart(e, filter.id), onDragEnd: () => this.onFilterDragEnd(), onKeyDown: e => this.onFilterReorderKeyDown(e, prop, filter.id) })) : '', h("div", { class: { 'select-input': true } }, h("select", { class: "select-css select-filter", onChange: e => this.onFilterTypeChange(e, prop, index, isDraft) }, this.renderSelectOptions(filter.type, true)), extra ? h("div", { class: "filter-extra" }, extra) : ''), h("div", { class: FILTER_LIST_CLASS_ACTION }, andOrButton, h(TrashButton, { ariaLabel: capts.removeFilter, onClick: () => this.onRemoveFilter(filter.id) })))));
166
- })), visibleFilterCount ? h("div", { class: "add-filter-divider" }) : ''));
133
+ } }, canReorder ? (h("button", { type: "button", class: "filter-row-drop-target", tabIndex: -1, "aria-label": `${capts.filterCondition} ${index + 1}`, onDragOver: e => this.onFilterDragOver(e, filter.id), onDragLeave: () => this.onFilterDragLeave(filter.id), onDrop: e => this.onFilterDrop(e, prop, filter.id) })) : '', canReorder ? (h(ReorderButton, { ariaLabel: capts.reorderFilter, dragging: isDragging, dragOver: isDragOver, onDragStart: e => this.onFilterDragStart(e, filter.id), onDragEnd: () => this.onFilterDragEnd(), onKeyDown: e => this.onFilterReorderKeyDown(e, prop, filter.id) })) : '', h("div", { class: { 'select-input': true } }, h("select", { class: "select-css select-filter", onChange: e => this.onFilterTypeChange(e, prop, index) }, this.renderSelectOptions(this.filterItems[prop][index].type, true)), extra ? h("div", { class: "filter-extra" }, extra) : ''), h("div", { class: FILTER_LIST_CLASS_ACTION }, andOrButton, h(TrashButton, { ariaLabel: capts.removeFilter, onClick: () => this.onRemoveFilter(filter.id) })))));
134
+ })), propFilters.some(f => !f.hidden) ? h("div", { class: "add-filter-divider" }) : ''));
167
135
  }
168
136
  componentDidRender() {
169
137
  this.syncDialog();
@@ -212,24 +180,16 @@ export class FilterPanel {
212
180
  el.style.left = `${left}px`;
213
181
  el.style.top = `${top}px`;
214
182
  }
215
- onFilterTypeChange(e, prop, index, isDraft = false) {
183
+ onFilterTypeChange(e, prop, index) {
216
184
  if (!(e.target instanceof HTMLSelectElement)) {
217
185
  return;
218
186
  }
219
- const type = e.target.value;
220
- const filter = isDraft
221
- ? this.promoteDraft(prop, type)
222
- : this.filterItems[prop][index];
223
- if (!filter) {
224
- return;
225
- }
226
- filter.type = type;
227
- this.hasChanges = true;
187
+ this.filterItems[prop][index].type = e.target.value;
228
188
  // this re-renders the input to know if we need extra input
229
189
  this.filterId++;
230
190
  // adding setTimeout will wait for the next tick DOM update then focus on input
231
191
  setTimeout(() => {
232
- const input = document.getElementById('filter-input-' + filter.id);
192
+ const input = document.getElementById('filter-input-' + this.filterItems[prop][index].id);
233
193
  if (input instanceof HTMLInputElement) {
234
194
  input.focus();
235
195
  }
@@ -264,20 +224,12 @@ export class FilterPanel {
264
224
  return;
265
225
  this.filterId++;
266
226
  this.currentFilterId = this.filterId;
267
- if (this.draftFilter) {
268
- this.draftFilter.id = this.currentFilterId;
269
- this.draftFilter.type = this.currentFilterType;
270
- this.promoteDraft(prop);
271
- }
272
- else {
273
- this.filterItems[prop].push({
274
- id: this.currentFilterId,
275
- type: this.currentFilterType,
276
- value: '',
277
- relation: 'and',
278
- });
279
- this.hasChanges = true;
280
- }
227
+ this.filterItems[prop].push({
228
+ id: this.currentFilterId,
229
+ type: this.currentFilterType,
230
+ value: '',
231
+ relation: 'and',
232
+ });
281
233
  // adding setTimeout will wait for the next tick DOM update then focus on input
282
234
  setTimeout(() => {
283
235
  const input = document.getElementById('filter-input-' + this.currentFilterId);
@@ -286,9 +238,7 @@ export class FilterPanel {
286
238
  }, 0);
287
239
  }
288
240
  onSave() {
289
- if (this.hasChanges) {
290
- this.emitFilterChange();
291
- }
241
+ this.filterChange.emit(this.filterItems);
292
242
  }
293
243
  onCancel() {
294
244
  this.changes = undefined;
@@ -296,25 +246,16 @@ export class FilterPanel {
296
246
  onReset() {
297
247
  var _a;
298
248
  this.assertChanges();
299
- this.draftFilter = undefined;
300
- const prop = (_a = this.changes) === null || _a === void 0 ? void 0 : _a.prop;
301
- if (prop !== undefined) {
302
- delete this.filterItems[prop];
303
- }
304
- this.resetChange.emit(prop);
249
+ this.resetChange.emit((_a = this.changes) === null || _a === void 0 ? void 0 : _a.prop);
305
250
  // this updates the DOM which is used by getFilterItemsList() key
306
251
  this.filterId++;
307
252
  }
308
253
  onRemoveFilter(id) {
309
- var _a, _b;
254
+ var _a;
310
255
  this.assertChanges();
311
256
  // this is for reactivity issues for getFilterItemsList()
312
257
  this.filterId++;
313
258
  const prop = (_a = this.changes) === null || _a === void 0 ? void 0 : _a.prop;
314
- if (((_b = this.draftFilter) === null || _b === void 0 ? void 0 : _b.id) === id) {
315
- this.draftFilter = undefined;
316
- return;
317
- }
318
259
  const items = this.filterItems[prop !== null && prop !== void 0 ? prop : ''];
319
260
  if (!items)
320
261
  return;
@@ -322,7 +263,6 @@ export class FilterPanel {
322
263
  if (index === -1)
323
264
  return;
324
265
  items.splice(index, 1);
325
- this.hasChanges = true;
326
266
  // let's remove the prop if no more filters so the filter icon will be removed
327
267
  if (items.length === 0)
328
268
  delete this.filterItems[prop !== null && prop !== void 0 ? prop : ''];
@@ -364,7 +304,6 @@ export class FilterPanel {
364
304
  if (!moveFilterItem(items, sourceId, targetId)) {
365
305
  return;
366
306
  }
367
- this.hasChanges = true;
368
307
  this.filterId++;
369
308
  if (!this.disableDynamicFiltering) {
370
309
  this.debouncedApplyFilter();
@@ -400,7 +339,6 @@ export class FilterPanel {
400
339
  if (!target || !moveFilterItem(items, sourceId, target.id)) {
401
340
  return;
402
341
  }
403
- this.hasChanges = true;
404
342
  this.filterId++;
405
343
  if (!this.disableDynamicFiltering) {
406
344
  this.debouncedApplyFilter();
@@ -419,7 +357,6 @@ export class FilterPanel {
419
357
  if (index === -1)
420
358
  return;
421
359
  items[index].relation = items[index].relation === 'and' ? 'or' : 'and';
422
- this.hasChanges = true;
423
360
  if (!this.disableDynamicFiltering) {
424
361
  this.debouncedApplyFilter();
425
362
  }
@@ -468,22 +405,12 @@ export class FilterPanel {
468
405
  }
469
406
  return options;
470
407
  }
471
- renderExtra(prop, index, isDraft = false) {
472
- var _a, _b;
473
- const currentFilter = isDraft
474
- ? this.draftFilter
475
- : (_a = this.filterItems[prop]) === null || _a === void 0 ? void 0 : _a[index];
408
+ renderExtra(prop, index) {
409
+ const currentFilter = this.filterItems[prop];
476
410
  if (!currentFilter)
477
411
  return '';
478
412
  const applyFilter = (value) => {
479
- currentFilter.value = value;
480
- if (isDraft && !this.isMeaningfulDraftValue(value)) {
481
- return;
482
- }
483
- if (isDraft && !this.promoteDraft(prop)) {
484
- return;
485
- }
486
- this.hasChanges = true;
413
+ this.filterItems[prop][index].value = value;
487
414
  if (!this.disableDynamicFiltering) {
488
415
  this.debouncedApplyFilter();
489
416
  }
@@ -498,11 +425,11 @@ export class FilterPanel {
498
425
  }
499
426
  };
500
427
  const capts = Object.assign(Object.assign({}, this.filterCaptionsInternal), this.filterCaptions);
501
- const extra = (_b = this.filterEntities[currentFilter.type]) === null || _b === void 0 ? void 0 : _b.extra;
428
+ const extra = this.filterEntities[currentFilter[index].type].extra;
502
429
  if (typeof extra === 'function') {
503
430
  return extra(h, {
504
- value: currentFilter.value,
505
- filter: currentFilter,
431
+ value: currentFilter[index].value,
432
+ filter: currentFilter[index],
506
433
  prop,
507
434
  index,
508
435
  placeholder: capts.placeholder,
@@ -517,7 +444,7 @@ export class FilterPanel {
517
444
  if (extra !== 'input' && extra !== 'datepicker') {
518
445
  return '';
519
446
  }
520
- return (h("input", { id: `filter-input-${currentFilter.id}`, placeholder: capts.placeholder, type: extra === 'datepicker' ? 'date' : 'text', value: currentFilter.value, onInput: (e) => {
447
+ return (h("input", { id: `filter-input-${currentFilter[index].id}`, placeholder: capts.placeholder, type: extra === 'datepicker' ? 'date' : 'text', value: currentFilter[index].value, onInput: (e) => {
521
448
  if (e.target instanceof HTMLInputElement) {
522
449
  applyFilter(e.target.value);
523
450
  }
@@ -533,42 +460,6 @@ export class FilterPanel {
533
460
  e.stopPropagation();
534
461
  } }));
535
462
  }
536
- resolveDraftFilterType(preferred) {
537
- var _a, _b;
538
- const available = Object.values((_b = (_a = this.changes) === null || _a === void 0 ? void 0 : _a.filterTypes) !== null && _b !== void 0 ? _b : {}).flat();
539
- const type = preferred && available.includes(preferred)
540
- ? preferred
541
- : available[0];
542
- return type;
543
- }
544
- promoteDraft(prop, type) {
545
- if (!this.draftFilter) {
546
- return;
547
- }
548
- if (!this.filterItems[prop]) {
549
- this.filterItems[prop] = [];
550
- }
551
- if (type) {
552
- this.draftFilter.type = type;
553
- }
554
- const filter = this.draftFilter;
555
- this.filterItems[prop].push(filter);
556
- this.draftFilter = undefined;
557
- this.hasChanges = true;
558
- return filter;
559
- }
560
- isMeaningfulDraftValue(value) {
561
- return value !== '' && value !== undefined && value !== null;
562
- }
563
- emitFilterChange() {
564
- this.filterChange.emit(this.cloneFilterItems(this.filterItems));
565
- }
566
- cloneFilterItems(filterItems) {
567
- return Object.fromEntries(Object.entries(filterItems).map(([prop, filters]) => [
568
- prop,
569
- filters.map(filter => (Object.assign({}, filter))),
570
- ]));
571
- }
572
463
  getAddFilterSelect() {
573
464
  return this.element.querySelector(`#${FILTER_ID}`);
574
465
  }
@@ -601,7 +492,7 @@ export class FilterPanel {
601
492
  top: `${(_d = (_c = this.changes) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : 0}px`,
602
493
  };
603
494
  const capts = Object.assign(Object.assign({}, this.filterCaptionsInternal), this.filterCaptions);
604
- return (h(Host, { key: 'd0207c7c243134808f89dc0f024d4b46e18fb3d9' }, h("dialog", { key: '1466680fc6bf4c4464600122bd16a7627131745f', class: "filter-panel-dialog", style: style, ref: el => (this.dialog = el), onCancel: e => {
495
+ return (h(Host, { key: 'd0e4ebb408750b11b3965da6a25e581733c968e3' }, h("dialog", { key: '3df36777c931ec1063e8574169ca880a99dbfe41', class: "filter-panel-dialog", style: style, ref: el => (this.dialog = el), onCancel: e => {
605
496
  e.preventDefault();
606
497
  this.onCancel();
607
498
  } }, this.changes && [
@@ -610,7 +501,7 @@ export class FilterPanel {
610
501
  ((_g = this.changes) === null || _g === void 0 ? void 0 : _g.hideDefaultFilters) !== true && [
611
502
  h("label", { key: "filter-title" }, capts.title),
612
503
  h("div", { key: "filter-holder", class: "filter-holder" }, this.getFilterItemsList()),
613
- h("div", { key: "add-filter", class: "add-filter" }, h("select", { key: 'c924b40863671e714e67eef2b6465b861805bac2', id: FILTER_ID, class: "select-css", onChange: e => this.onAddNewFilter(e) }, this.renderSelectOptions(this.currentFilterType))),
504
+ h("div", { key: "add-filter", class: "add-filter" }, h("select", { key: 'e2a8bd29f2090d3e6c933795427b71ca190b82aa', id: FILTER_ID, class: "select-css", onChange: e => this.onAddNewFilter(e) }, this.renderSelectOptions(this.currentFilterType))),
614
505
  ],
615
506
  h("slot", { key: "default-slot" }),
616
507
  ((_j = (_h = this.changes).extraBottomContent) === null || _j === void 0 ? void 0 : _j.call(_h, this.changes)) || '',
@@ -787,7 +678,6 @@ export class FilterPanel {
787
678
  "currentFilterType": {},
788
679
  "changes": {},
789
680
  "filterItems": {},
790
- "draftFilter": {},
791
681
  "draggedFilterId": {},
792
682
  "dragOverFilterId": {}
793
683
  };
@@ -5,7 +5,7 @@
5
5
  import { h } from "@stencil/core";
6
6
  import { BasePlugin } from "../base.plugin";
7
7
  import { FILTER_PROP, isFilterBtn } from "./filter.button";
8
- import { filterCoreFunctionsIndexedByType, filterNames, filterTypeDefaults, filterTypes, } from "./filter.indexed";
8
+ import { filterCoreFunctionsIndexedByType, filterNames, filterTypes, } from "./filter.indexed";
9
9
  import { resolveBlankSemantics } from "./filter.blank";
10
10
  import { timeout } from "../../utils";
11
11
  import { ASYNC_FILTER_ROW_THRESHOLD, FILTER_CHUNK_SIZE, FILTER_TIME_BUDGET_MS, } from "./filter.constants";
@@ -30,8 +30,6 @@ export const FILTE_PANEL = 'revogr-filter-panel';
30
30
  *
31
31
  * @property {FilterLocalization|undefined} localization - translation for filter popup captions.
32
32
  *
33
- * @property {boolean|undefined} defaultFilter - creates a draft condition when an empty filter panel opens. Defaults to true.
34
- *
35
33
  * @property {boolean|undefined} disableDynamicFiltering - disables dynamic filtering. A way to apply filters on Save only.
36
34
  */
37
35
  /**
@@ -53,7 +51,7 @@ export class FilterPlugin extends BasePlugin {
53
51
  * number: ['eqN', 'neqN', 'gt']
54
52
  * }
55
53
  */
56
- this.filterByType = Object.fromEntries(Object.entries(filterTypes).map(([type, filters]) => [type, [...filters]]));
54
+ this.filterByType = Object.assign({}, filterTypes);
57
55
  this.filterNameIndexByType = Object.assign({}, filterNames);
58
56
  this.filterFunctionsIndexedByType = Object.assign({}, filterCoreFunctionsIndexedByType);
59
57
  this.filterProp = FILTER_PROP;
@@ -137,16 +135,11 @@ export class FilterPlugin extends BasePlugin {
137
135
  return null;
138
136
  }
139
137
  initConfig(config) {
140
- var _a, _b, _c, _d;
138
+ var _a;
141
139
  this.config = config;
142
140
  this.allowDuplicateOperators = (_a = config.allowDuplicateOperators) !== null && _a !== void 0 ? _a : true;
143
141
  if (this.pop) {
144
142
  this.pop.allowDuplicateOperators = this.allowDuplicateOperators;
145
- this.pop.disableDynamicFiltering =
146
- (_b = config.disableDynamicFiltering) !== null && _b !== void 0 ? _b : false;
147
- this.pop.closeOnOutsideClick =
148
- (_c = config.closeFilterPanelOnOutsideClick) !== null && _c !== void 0 ? _c : true;
149
- this.pop.filterCaptions = (_d = config.localization) === null || _d === void 0 ? void 0 : _d.captions;
150
143
  }
151
144
  if (config.multiFilterItems) {
152
145
  this.multiFilterItems = Object.assign({}, config.multiFilterItems);
@@ -235,12 +228,11 @@ export class FilterPlugin extends BasePlugin {
235
228
  }
236
229
  // filter button clicked, open filter dialog
237
230
  const buttonPos = (filterButton instanceof HTMLElement ? filterButton : el).getBoundingClientRect();
238
- const data = Object.assign(Object.assign(Object.assign({}, e.detail), this.filterCollection[prop]), { x: buttonPos.x, y: buttonPos.y + buttonPos.height, anchorY: buttonPos.y, autoCorrect: true, filterTypes: this.getColumnFilter(e.detail.filter), defaultFilterType: this.getDefaultFilter(e.detail.filter), showDefaultFilter: this.shouldShowDefaultFilter(e.detail.filter), filterItems: this.multiFilterItems, extraContent: this.extraHyperContent, extraBottomContent: this.extraBottomHyperContent });
231
+ const data = Object.assign(Object.assign(Object.assign({}, e.detail), this.filterCollection[prop]), { x: buttonPos.x, y: buttonPos.y + buttonPos.height, anchorY: buttonPos.y, autoCorrect: true, filterTypes: this.getColumnFilter(e.detail.filter), filterItems: this.multiFilterItems, extraContent: this.extraHyperContent, extraBottomContent: this.extraBottomHyperContent });
239
232
  (_b = this.beforeshow) === null || _b === void 0 ? void 0 : _b.call(this, data);
240
233
  this.pop.show(data);
241
234
  }
242
- getColumnFilter(config) {
243
- const type = this.isColumnFilterOption(config) ? config.type : config;
235
+ getColumnFilter(type) {
244
236
  let filterType = 'string';
245
237
  if (!type) {
246
238
  return { [filterType]: this.filterByType[filterType] };
@@ -260,41 +252,6 @@ export class FilterPlugin extends BasePlugin {
260
252
  }
261
253
  return { [filterType]: this.filterByType[filterType] };
262
254
  }
263
- /** Resolve the preferred operator against the column's available filters. */
264
- getDefaultFilter(config) {
265
- var _a;
266
- const filters = this.getColumnFilter(config);
267
- const availableFilters = Object.values(filters).flat();
268
- const columnDefault = this.isColumnFilterOption(config)
269
- ? config.default
270
- : undefined;
271
- if (typeof columnDefault === 'string' &&
272
- availableFilters.includes(columnDefault)) {
273
- return columnDefault;
274
- }
275
- const firstFamily = Object.keys(filters)[0];
276
- const familyDefault = filterTypeDefaults[firstFamily];
277
- if (familyDefault && ((_a = filters[firstFamily]) === null || _a === void 0 ? void 0 : _a.includes(familyDefault))) {
278
- return familyDefault;
279
- }
280
- return availableFilters[0];
281
- }
282
- /** Resolve grid and column-level draft opt-outs. */
283
- shouldShowDefaultFilter(config) {
284
- var _a;
285
- if (this.isColumnFilterOption(config)) {
286
- if (config.default === false) {
287
- return false;
288
- }
289
- if (typeof config.default === 'string') {
290
- return true;
291
- }
292
- }
293
- return ((_a = this.config) === null || _a === void 0 ? void 0 : _a.defaultFilter) !== false;
294
- }
295
- isColumnFilterOption(value) {
296
- return !!value && typeof value === 'object' && !Array.isArray(value);
297
- }
298
255
  isValidType(type) {
299
256
  return !!(typeof type === 'string' && this.filterByType[type]);
300
257
  }
package/dist/esm/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import { d as defineTheme, B as BasePlugin } from './row-resize.plugin-Beu0pMds.js';
5
- export { H as AFTER_ROW_RESIZE_EVENT, A as AutoSizeColumnPlugin, s as BEFORE_COLUMN_DRAG_END_EVENT, y as BEFORE_ROW_RESIZE_EVENT, q as COLUMN_DRAG_END_EVENT, p as COLUMN_DRAG_MOVE_EVENT, u as COLUMN_DRAG_START_EVENT, C as ColumnAutoSizeMode, v as ColumnMovePlugin, l as DEFAULT_BLANK_SEMANTICS, K as DEFAULT_MIN_ROW_HEIGHT, D as DimensionStore, b as ExportCsv, E as ExportFilePlugin, c as FILTER_CONFIG_CHANGED_EVENT, F as FILTER_TRIMMED_TYPE, e as FILTE_PANEL, f as FilterPlugin, G as GroupingRowPlugin, I as ROW_RESIZE_CANCEL_EVENT, z as ROW_RESIZE_EVENT, R as ROW_RESIZE_HANDLE_CLASS, J as RowResizePlugin, S as SelectionStore, Q as SortingPlugin, a as StretchColumn, M as clampRowResizeHeight, O as createRowResizePatch, W as defaultCellCompare, X as descCellCompare, n as doCollapse, o as doExpand, g as filterCoreFunctionsIndexedByType, k as filterNames, j as filterTypeDefaults, h as filterTypes, x as getColumnDragPosition, Z as getComparer, w as getLeftRelative, Y as getNextOrder, N as getRowResizeIndexes, U as getSortingIndex, T as hasActiveSorting, m as isBlankValue, i as isStretchPlugin, P as mergeRowResizeDefinitions, r as resolveBlankSemantics, L as resolveRowResizeConfig, V as sortIndexByItems, t as themeTokenCssVariables } from './row-resize.plugin-Beu0pMds.js';
4
+ import { d as defineTheme, B as BasePlugin } from './row-resize.plugin-Dzn9bTOr.js';
5
+ export { z as AFTER_ROW_RESIZE_EVENT, A as AutoSizeColumnPlugin, q as BEFORE_COLUMN_DRAG_END_EVENT, x as BEFORE_ROW_RESIZE_EVENT, p as COLUMN_DRAG_END_EVENT, o as COLUMN_DRAG_MOVE_EVENT, s as COLUMN_DRAG_START_EVENT, C as ColumnAutoSizeMode, u as ColumnMovePlugin, k as DEFAULT_BLANK_SEMANTICS, J as DEFAULT_MIN_ROW_HEIGHT, D as DimensionStore, b as ExportCsv, E as ExportFilePlugin, c as FILTER_CONFIG_CHANGED_EVENT, F as FILTER_TRIMMED_TYPE, e as FILTE_PANEL, f as FilterPlugin, G as GroupingRowPlugin, H as ROW_RESIZE_CANCEL_EVENT, y as ROW_RESIZE_EVENT, R as ROW_RESIZE_HANDLE_CLASS, I as RowResizePlugin, S as SelectionStore, P as SortingPlugin, a as StretchColumn, L as clampRowResizeHeight, N as createRowResizePatch, V as defaultCellCompare, W as descCellCompare, m as doCollapse, n as doExpand, g as filterCoreFunctionsIndexedByType, j as filterNames, h as filterTypes, w as getColumnDragPosition, Y as getComparer, v as getLeftRelative, X as getNextOrder, M as getRowResizeIndexes, T as getSortingIndex, Q as hasActiveSorting, l as isBlankValue, i as isStretchPlugin, O as mergeRowResizeDefinitions, r as resolveBlankSemantics, K as resolveRowResizeConfig, U as sortIndexByItems, t as themeTokenCssVariables } from './row-resize.plugin-Dzn9bTOr.js';
6
6
  export { B as BEFORE_GROUPING_APPLY_EVENT, o as GROUPING_ROW_TYPE, j as GROUP_COLUMN_PROP, G as GROUP_DEPTH, h as GROUP_EXPANDED, l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, k as GROUP_ORIGINAL_INDEX, f as PSEUDO_GROUP_COLUMN, P as PSEUDO_GROUP_ITEM, d as PSEUDO_GROUP_ITEM_ID, e as PSEUDO_GROUP_ITEM_VALUE, c as columnTypes, a as cropCellToMax, I as gatherGroup, s as gatherGrouping, z as getCellData, C as getCellDataParsed, A as getCellRaw, J as getColumnByProp, E as getColumnSizes, D as getColumnType, H as getColumns, q as getExpanded, t as getGroupingName, x as getParsedGroup, g as getRange, p as getSource, F as isColGrouping, u as isGrouping, v as isGroupingColumn, b as isRangeSingleCell, i as isRowType, y as isSameGroup, w as measureEqualDepth, n as nextCell, r as rowTypes } from './column.service-pu_fdQ0S.js';
7
7
  export { d as dispatch, a as dispatchByEvent } from './header-cell-renderer-YCiVIQ2E.js';
8
8
  export { C as CellRenderer, G as GroupingRowRenderer, S as SortingSign, e as expandEvent, a as expandSvgIconVNode, r as renderGroupCells } from './cell-renderer-D9ze8OJw.js';
@@ -8,7 +8,7 @@ import { g as globalScripts } from './app-globals-CA4dvSNd.js';
8
8
  const defineCustomElements = async (win, options) => {
9
9
  if (typeof window === 'undefined') return undefined;
10
10
  await globalScripts();
11
- return bootstrapLazy([["revo-grid",[[260,"revo-grid",{"rowHeaders":[4,"row-headers"],"frameSize":[2,"frame-size"],"rowSize":[2,"row-size"],"colSize":[2,"col-size"],"range":[4],"readonly":[4],"resize":[4],"resizeRow":[4,"resize-row"],"noHorizontalScrollTransfer":[4,"no-horizontal-scroll-transfer"],"canFocus":[4,"can-focus"],"useClipboard":[4,"use-clipboard"],"columns":[16],"source":[16],"pinnedTopSource":[16],"pinnedBottomSource":[16],"rowDefinitions":[16],"editors":[16],"applyOnClose":[4,"apply-on-close"],"plugins":[16],"columnTypes":[16],"theme":[1537],"themeDefinitions":[16],"rowClass":[513,"row-class"],"autoSizeColumn":[4,"auto-size-column"],"filter":[4],"sorting":[16],"focusTemplate":[16],"canMoveColumns":[4,"can-move-columns"],"trimmedRows":[16],"exporting":[4],"grouping":[16],"stretch":[8],"additionalData":[16],"disableVirtualX":[4,"disable-virtual-x"],"virtualX":[16],"disableVirtualY":[4,"disable-virtual-y"],"hideAttribution":[4,"hide-attribution"],"jobsBeforeRender":[16],"registerVNode":[16],"accessible":[4],"rtl":[4],"canDrag":[4,"can-drag"],"refresh":[64],"setDataAt":[64],"scrollToRow":[64],"scrollToColumnIndex":[64],"scrollToColumnProp":[64],"updateColumns":[64],"addTrimmed":[64],"scrollToCoordinate":[64],"setCellEdit":[64],"setCellsFocus":[64],"getSource":[64],"getVisibleSource":[64],"getSourceStore":[64],"getColumnStore":[64],"updateColumnSorting":[64],"clearSorting":[64],"getColumns":[64],"clearFocus":[64],"getPlugins":[64],"getFocused":[64],"getContentSize":[64],"getSelectedRange":[64],"refreshExtraElements":[64],"getProviders":[64]},[[5,"touchstart","mousedownHandle"],[5,"mousedown","mousedownHandle"],[5,"touchend","mouseupHandle"],[5,"mouseup","mouseupHandle"],[0,"rowdragstartinit","onRowDragStarted"],[0,"rowdragendinit","onRowDragEnd"],[0,"roworderchange","onRowOrderChange"],[0,"rowdragmoveinit","onRowDrag"],[0,"rowdragmousemove","onRowMouseMove"],[0,"celleditapply","onCellEdit"],[0,"rangeeditapply","onRangeEdit"],[0,"selectionchangeinit","onRangeChanged"],[0,"rowdropinit","onRowDropped"],[0,"beforeheaderclick","onHeaderClick"],[0,"beforecellfocusinit","onCellFocus"]],{"columnTypes":[{"columnTypesChanged":0}],"columns":[{"columnChanged":0}],"disableVirtualX":[{"disableVirtualXChanged":0}],"virtualX":[{"virtualXChanged":0}],"rowSize":[{"rowSizeChanged":0}],"colSize":[{"colSizeChanged":0}],"theme":[{"themeChanged":0}],"themeDefinitions":[{"themeDefinitionsChanged":0}],"source":[{"dataSourceChanged":0}],"pinnedBottomSource":[{"dataSourceChanged":0}],"pinnedTopSource":[{"dataSourceChanged":0}],"disableVirtualY":[{"disableVirtualYChanged":0}],"rowDefinitions":[{"rowDefChanged":0}],"trimmedRows":[{"trimmedRowsChanged":0}],"grouping":[{"groupingChanged":0}],"stretch":[{"applyStretch":0}],"filter":[{"applyFilter":0}],"sorting":[{"applySorting":0}],"rowHeaders":[{"rowHeadersChange":0}],"resizeRow":[{"resizeRowChanged":0}],"registerVNode":[{"registerOutsideVNodes":0}],"additionalData":[{"additionalDataChanged":0}],"rtl":[{"rtlChanged":0}],"plugins":[{"pluginsChanged":0}]}]]],["revogr-filter-panel",[[260,"revogr-filter-panel",{"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"disableDynamicFiltering":[4,"disable-dynamic-filtering"],"closeOnOutsideClick":[4,"close-on-outside-click"],"allowDuplicateOperators":[4,"allow-duplicate-operators"],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32],"filterItems":[32],"draftFilter":[32],"draggedFilterId":[32],"dragOverFilterId":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revogr-clipboard_3",[[0,"revogr-clipboard",{"readonly":[4],"doCopy":[64]},[[4,"paste","onPaste"],[4,"copy","copyStarted"],[4,"cut","cutStarted"]]],[0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16],"saveOnClose":[4,"save-on-close"],"additionalData":[8,"additional-data"],"cancelChanges":[64],"beforeDisconnect":[64]}],[0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"rowType":[1,"row-type"],"dragStart":[64],"endOrder":[64],"clearOrder":[64]}]]],["revogr-data_4",[[260,"revogr-data",{"readonly":[4],"range":[4],"rowClass":[1,"row-class"],"additionalData":[8,"additional-data"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16],"type":[513],"colType":[513,"col-type"],"jobsBeforeRender":[16],"providers":[32],"updateCell":[64]},null,{"dataStore":[{"onDataStoreChange":0}],"colData":[{"onColDataChange":0}]}],[0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"groups":[16],"groupingDepth":[2,"grouping-depth"],"readonly":[4],"canResize":[4,"can-resize"],"resizeHandler":[16],"colData":[16],"columnFilter":[4,"column-filter"],"type":[1],"additionalData":[8,"additional-data"]}],[260,"revogr-viewport-scroll",{"rowHeader":[4,"row-header"],"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"],"colType":[1,"col-type"],"noHorizontalScrollTransfer":[4,"no-horizontal-scroll-transfer"],"setScroll":[64],"changeScroll":[64],"applyScroll":[64]},[[0,"mousewheel-vertical","mousewheelVertical"],[0,"mousewheel-horizontal","mousewheelHorizontal"],[0,"scroll-coordinate","scrollApply"]]],[0,"vnode-html",{"redraw":[16]}]]],["revogr-attribution_7",[[0,"revogr-row-headers",{"height":[2],"dataPorts":[16],"headerProp":[16],"rowClass":[1,"row-class"],"resize":[4],"rowHeaderColumn":[16],"additionalData":[8,"additional-data"],"jobsBeforeRender":[16]}],[260,"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],"applyChangesOnClose":[4,"apply-changes-on-close"],"additionalData":[8,"additional-data"],"isMobileDevice":[4,"is-mobile-device"]},[[5,"touchmove","onMouseMove"],[5,"mousemove","onMouseMove"],[5,"touchend","onMouseUp"],[5,"mouseup","onMouseUp"],[5,"mouseleave","onMouseUp"],[0,"dragstartcell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]],{"selectionStore":[{"selectionServiceSet":0}],"dimensionRow":[{"createAutoFillService":0}],"dimensionCol":[{"createAutoFillService":0}],"dataStore":[{"columnServiceSet":0}],"colData":[{"columnServiceSet":0}]}],[0,"revogr-attribution"],[260,"revogr-focus",{"colType":[1,"col-type"],"rowType":[1,"row-type"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"focusTemplate":[16]}],[0,"revogr-scroll-virtual",{"dimension":[1],"realSize":[2,"real-size"],"virtualSize":[2,"virtual-size"],"clientSize":[2,"client-size"],"setScroll":[64],"changeScroll":[64]}],[0,"revogr-temp-range",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-extra",{"nodes":[16],"update":[32],"refresh":[64]}]]]], options);
11
+ return bootstrapLazy([["revo-grid",[[260,"revo-grid",{"rowHeaders":[4,"row-headers"],"frameSize":[2,"frame-size"],"rowSize":[2,"row-size"],"colSize":[2,"col-size"],"range":[4],"readonly":[4],"resize":[4],"resizeRow":[4,"resize-row"],"noHorizontalScrollTransfer":[4,"no-horizontal-scroll-transfer"],"canFocus":[4,"can-focus"],"useClipboard":[4,"use-clipboard"],"columns":[16],"source":[16],"pinnedTopSource":[16],"pinnedBottomSource":[16],"rowDefinitions":[16],"editors":[16],"applyOnClose":[4,"apply-on-close"],"plugins":[16],"columnTypes":[16],"theme":[1537],"themeDefinitions":[16],"rowClass":[513,"row-class"],"autoSizeColumn":[4,"auto-size-column"],"filter":[4],"sorting":[16],"focusTemplate":[16],"canMoveColumns":[4,"can-move-columns"],"trimmedRows":[16],"exporting":[4],"grouping":[16],"stretch":[8],"additionalData":[16],"disableVirtualX":[4,"disable-virtual-x"],"virtualX":[16],"disableVirtualY":[4,"disable-virtual-y"],"hideAttribution":[4,"hide-attribution"],"jobsBeforeRender":[16],"registerVNode":[16],"accessible":[4],"rtl":[4],"canDrag":[4,"can-drag"],"refresh":[64],"setDataAt":[64],"scrollToRow":[64],"scrollToColumnIndex":[64],"scrollToColumnProp":[64],"updateColumns":[64],"addTrimmed":[64],"scrollToCoordinate":[64],"setCellEdit":[64],"setCellsFocus":[64],"getSource":[64],"getVisibleSource":[64],"getSourceStore":[64],"getColumnStore":[64],"updateColumnSorting":[64],"clearSorting":[64],"getColumns":[64],"clearFocus":[64],"getPlugins":[64],"getFocused":[64],"getContentSize":[64],"getSelectedRange":[64],"refreshExtraElements":[64],"getProviders":[64]},[[5,"touchstart","mousedownHandle"],[5,"mousedown","mousedownHandle"],[5,"touchend","mouseupHandle"],[5,"mouseup","mouseupHandle"],[0,"rowdragstartinit","onRowDragStarted"],[0,"rowdragendinit","onRowDragEnd"],[0,"roworderchange","onRowOrderChange"],[0,"rowdragmoveinit","onRowDrag"],[0,"rowdragmousemove","onRowMouseMove"],[0,"celleditapply","onCellEdit"],[0,"rangeeditapply","onRangeEdit"],[0,"selectionchangeinit","onRangeChanged"],[0,"rowdropinit","onRowDropped"],[0,"beforeheaderclick","onHeaderClick"],[0,"beforecellfocusinit","onCellFocus"]],{"columnTypes":[{"columnTypesChanged":0}],"columns":[{"columnChanged":0}],"disableVirtualX":[{"disableVirtualXChanged":0}],"virtualX":[{"virtualXChanged":0}],"rowSize":[{"rowSizeChanged":0}],"colSize":[{"colSizeChanged":0}],"theme":[{"themeChanged":0}],"themeDefinitions":[{"themeDefinitionsChanged":0}],"source":[{"dataSourceChanged":0}],"pinnedBottomSource":[{"dataSourceChanged":0}],"pinnedTopSource":[{"dataSourceChanged":0}],"disableVirtualY":[{"disableVirtualYChanged":0}],"rowDefinitions":[{"rowDefChanged":0}],"trimmedRows":[{"trimmedRowsChanged":0}],"grouping":[{"groupingChanged":0}],"stretch":[{"applyStretch":0}],"filter":[{"applyFilter":0}],"sorting":[{"applySorting":0}],"rowHeaders":[{"rowHeadersChange":0}],"resizeRow":[{"resizeRowChanged":0}],"registerVNode":[{"registerOutsideVNodes":0}],"additionalData":[{"additionalDataChanged":0}],"rtl":[{"rtlChanged":0}],"plugins":[{"pluginsChanged":0}]}]]],["revogr-filter-panel",[[260,"revogr-filter-panel",{"filterNames":[16],"filterEntities":[16],"filterCaptions":[16],"disableDynamicFiltering":[4,"disable-dynamic-filtering"],"closeOnOutsideClick":[4,"close-on-outside-click"],"allowDuplicateOperators":[4,"allow-duplicate-operators"],"isFilterIdSet":[32],"filterId":[32],"currentFilterId":[32],"currentFilterType":[32],"changes":[32],"filterItems":[32],"draggedFilterId":[32],"dragOverFilterId":[32],"show":[64],"getChanges":[64]},[[5,"mousedown","onMouseDown"]]]]],["revogr-clipboard_3",[[0,"revogr-clipboard",{"readonly":[4],"doCopy":[64]},[[4,"paste","onPaste"],[4,"copy","copyStarted"],[4,"cut","cutStarted"]]],[0,"revogr-edit",{"editCell":[16],"column":[16],"editor":[16],"saveOnClose":[4,"save-on-close"],"additionalData":[8,"additional-data"],"cancelChanges":[64],"beforeDisconnect":[64]}],[0,"revogr-order-editor",{"parent":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"rowType":[1,"row-type"],"dragStart":[64],"endOrder":[64],"clearOrder":[64]}]]],["revogr-data_4",[[260,"revogr-data",{"readonly":[4],"range":[4],"rowClass":[1,"row-class"],"additionalData":[8,"additional-data"],"rowSelectionStore":[16],"viewportRow":[16],"viewportCol":[16],"dimensionRow":[16],"colData":[16],"dataStore":[16],"type":[513],"colType":[513,"col-type"],"jobsBeforeRender":[16],"providers":[32],"updateCell":[64]},null,{"dataStore":[{"onDataStoreChange":0}],"colData":[{"onColDataChange":0}]}],[0,"revogr-header",{"viewportCol":[16],"dimensionCol":[16],"selectionStore":[16],"groups":[16],"groupingDepth":[2,"grouping-depth"],"readonly":[4],"canResize":[4,"can-resize"],"resizeHandler":[16],"colData":[16],"columnFilter":[4,"column-filter"],"type":[1],"additionalData":[8,"additional-data"]}],[260,"revogr-viewport-scroll",{"rowHeader":[4,"row-header"],"contentWidth":[2,"content-width"],"contentHeight":[2,"content-height"],"colType":[1,"col-type"],"noHorizontalScrollTransfer":[4,"no-horizontal-scroll-transfer"],"setScroll":[64],"changeScroll":[64],"applyScroll":[64]},[[0,"mousewheel-vertical","mousewheelVertical"],[0,"mousewheel-horizontal","mousewheelHorizontal"],[0,"scroll-coordinate","scrollApply"]]],[0,"vnode-html",{"redraw":[16]}]]],["revogr-attribution_7",[[0,"revogr-row-headers",{"height":[2],"dataPorts":[16],"headerProp":[16],"rowClass":[1,"row-class"],"resize":[4],"rowHeaderColumn":[16],"additionalData":[8,"additional-data"],"jobsBeforeRender":[16]}],[260,"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],"applyChangesOnClose":[4,"apply-changes-on-close"],"additionalData":[8,"additional-data"],"isMobileDevice":[4,"is-mobile-device"]},[[5,"touchmove","onMouseMove"],[5,"mousemove","onMouseMove"],[5,"touchend","onMouseUp"],[5,"mouseup","onMouseUp"],[5,"mouseleave","onMouseUp"],[0,"dragstartcell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]],{"selectionStore":[{"selectionServiceSet":0}],"dimensionRow":[{"createAutoFillService":0}],"dimensionCol":[{"createAutoFillService":0}],"dataStore":[{"columnServiceSet":0}],"colData":[{"columnServiceSet":0}]}],[0,"revogr-attribution"],[260,"revogr-focus",{"colType":[1,"col-type"],"rowType":[1,"row-type"],"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16],"dataStore":[16],"colData":[16],"focusTemplate":[16]}],[0,"revogr-scroll-virtual",{"dimension":[1],"realSize":[2,"real-size"],"virtualSize":[2,"virtual-size"],"clientSize":[2,"client-size"],"setScroll":[64],"changeScroll":[64]}],[0,"revogr-temp-range",{"selectionStore":[16],"dimensionRow":[16],"dimensionCol":[16]}],[0,"revogr-extra",{"nodes":[16],"update":[32],"refresh":[64]}]]]], options);
12
12
  };
13
13
 
14
14
  export { defineCustomElements };