@revolist/revogrid 4.24.1 → 4.24.3
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.
- package/dist/cjs/{cell-renderer-DfUCisis.js → cell-renderer-DnOCJ9ge.js} +58 -4
- package/dist/cjs/{column.drag.plugin-Cz-T4y3M.js → column.drag.plugin-0qtjk7uW.js} +38 -18
- package/dist/cjs/{column.service-BNWNiJW3.js → column.service-CD70rNL2.js} +8 -5
- package/dist/cjs/{dimension.helpers-B9HgANnM.js → dimension.helpers-CB5sNw5J.js} +2 -1
- package/dist/cjs/{edit.utils-pKeiYFLJ.js → edit.utils-DDxnq9lw.js} +1 -1
- package/dist/cjs/{header-cell-renderer-DyjOxArm.js → header-cell-renderer-JXYFwayd.js} +1 -1
- package/dist/cjs/{index-DxaSE5uZ.js → index-BF6JDcMr.js} +1 -1
- package/dist/cjs/index.cjs.js +10 -9
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/revo-grid.cjs.entry.js +12 -8
- package/dist/cjs/revo-grid.cjs.js +1 -1
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +5 -5
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +4 -4
- package/dist/cjs/revogr-data_4.cjs.entry.js +6 -4
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +16 -3
- package/dist/cjs/{text-editor-B4W-m-r-.js → text-editor-CvgloQdG.js} +2 -2
- package/dist/cjs/{viewport.store-BscUCiUk.js → viewport.store-Ci8H1bI9.js} +1 -1
- package/dist/collection/components/data/revogr-data.js +2 -0
- package/dist/collection/components/revoGrid/revo-grid.js +1 -1
- package/dist/collection/plugins/filter/filter.panel.js +36 -3
- package/dist/collection/plugins/filter/filter.plugin.js +21 -6
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +12 -7
- package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +59 -3
- package/dist/collection/plugins/groupingRow/grouping.service.js +7 -4
- package/dist/collection/services/data.provider.js +6 -2
- package/dist/collection/store/dataSource/data.store.js +2 -1
- package/dist/{revo-grid/cell-renderer-CLTRlCa5.js → esm/cell-renderer-BQjko1zB.js} +58 -5
- package/dist/esm/{column.drag.plugin-DKkf7Zqb.js → column.drag.plugin-K0lXn2G3.js} +38 -18
- package/dist/esm/{column.service-C6hByxPy.js → column.service-BnFqXqQG.js} +8 -5
- package/dist/{revo-grid/dimension.helpers-CGKwSvw6.js → esm/dimension.helpers-CXrsUc6f.js} +2 -1
- package/dist/esm/{edit.utils-Dnnbd0xG.js → edit.utils-CXmmCnxE.js} +1 -1
- package/dist/{revo-grid/header-cell-renderer-BMmXRsd_.js → esm/header-cell-renderer-B3mYpZD3.js} +1 -1
- package/dist/{revo-grid/index-Db3qZoW5.js → esm/index-DBqlJITb.js} +1 -1
- package/dist/esm/index.js +10 -10
- package/dist/esm/loader.js +1 -1
- package/dist/esm/revo-grid.entry.js +12 -8
- package/dist/esm/revo-grid.js +1 -1
- package/dist/esm/revogr-attribution_7.entry.js +5 -5
- package/dist/esm/revogr-clipboard_3.entry.js +4 -4
- package/dist/esm/revogr-data_4.entry.js +6 -4
- package/dist/esm/revogr-filter-panel.entry.js +16 -3
- package/dist/{revo-grid/text-editor-C3RUSwH5.js → esm/text-editor-DQtz2Y7B.js} +2 -2
- package/dist/{revo-grid/viewport.store-_c579YyM.js → esm/viewport.store-D5jEuhLq.js} +1 -1
- package/dist/{esm/cell-renderer-CLTRlCa5.js → revo-grid/cell-renderer-BQjko1zB.js} +58 -5
- package/dist/revo-grid/{column.drag.plugin-DKkf7Zqb.js → column.drag.plugin-K0lXn2G3.js} +38 -18
- package/dist/revo-grid/{column.service-C6hByxPy.js → column.service-BnFqXqQG.js} +8 -5
- package/dist/{esm/dimension.helpers-CGKwSvw6.js → revo-grid/dimension.helpers-CXrsUc6f.js} +2 -1
- package/dist/revo-grid/{edit.utils-Dnnbd0xG.js → edit.utils-CXmmCnxE.js} +1 -1
- package/dist/{esm/header-cell-renderer-BMmXRsd_.js → revo-grid/header-cell-renderer-B3mYpZD3.js} +1 -1
- package/dist/{esm/index-Db3qZoW5.js → revo-grid/index-DBqlJITb.js} +1 -1
- package/dist/revo-grid/index.esm.js +10 -10
- package/dist/revo-grid/revo-grid.entry.js +12 -8
- package/dist/revo-grid/revo-grid.esm.js +1 -1
- package/dist/revo-grid/revogr-attribution_7.entry.js +5 -5
- package/dist/revo-grid/revogr-clipboard_3.entry.js +4 -4
- package/dist/revo-grid/revogr-data_4.entry.js +6 -4
- package/dist/revo-grid/revogr-filter-panel.entry.js +16 -3
- package/dist/{esm/text-editor-C3RUSwH5.js → revo-grid/text-editor-DQtz2Y7B.js} +2 -2
- package/dist/{esm/viewport.store-_c579YyM.js → revo-grid/viewport.store-D5jEuhLq.js} +1 -1
- package/dist/types/components.d.ts +11 -0
- package/dist/types/plugins/filter/filter.panel.d.ts +4 -0
- package/dist/types/plugins/filter/filter.plugin.d.ts +1 -0
- package/dist/types/plugins/filter/filter.types.d.ts +5 -0
- package/dist/types/plugins/groupingRow/grouping.row.renderer.d.ts +6 -1
- package/dist/types/plugins/groupingRow/grouping.row.types.d.ts +47 -1
- package/dist/types/plugins/groupingRow/grouping.service.d.ts +1 -1
- package/dist/types/services/data.provider.d.ts +5 -2
- package/dist/types/store/dataSource/data.store.d.ts +3 -1
- package/hydrate/index.js +122 -25
- package/hydrate/index.mjs +122 -25
- package/package.json +1 -1
- package/standalone/column.service.js +1 -1
- package/standalone/data.store.js +1 -1
- package/standalone/index.js +1 -1
- package/standalone/revo-grid.js +1 -1
- package/standalone/revogr-data2.js +1 -1
- package/standalone/revogr-filter-panel.js +1 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { J as reduce, g as getRange, K as baseEach, C as getColumnType, c as columnTypes, L as toInteger, u as isGrouping, t as getGroupingName, r as rowTypes, B as getCellDataParsed, A as getCellRaw, j as GROUP_COLUMN_PROP, I as getColumnByProp, h as GROUP_EXPANDED, x as getParsedGroup, y as isSameGroup, G as GROUP_DEPTH, e as PSEUDO_GROUP_ITEM_VALUE, d as PSEUDO_GROUP_ITEM_ID, o as GROUPING_ROW_TYPE, p as getSource, f as PSEUDO_GROUP_COLUMN, s as gatherGrouping, m as GROUP_EXPAND_EVENT, v as isGroupingColumn, q as getExpanded, E as isColGrouping } from './column.service-
|
|
5
|
-
import { K as createStore, l as setStore, i as calculateDimensionData, L as identity, N as isArray, b as getSourceItem, g as getPhysical, e as setItems, j as getItemByPosition } from './dimension.helpers-
|
|
6
|
-
import { j as calculateRowHeaderSize } from './viewport.store-
|
|
7
|
-
import { g as getScrollbarSize, t as timeout } from './index-
|
|
4
|
+
import { J as reduce, g as getRange, K as baseEach, C as getColumnType, c as columnTypes, L as toInteger, u as isGrouping, t as getGroupingName, r as rowTypes, B as getCellDataParsed, A as getCellRaw, j as GROUP_COLUMN_PROP, I as getColumnByProp, h as GROUP_EXPANDED, x as getParsedGroup, y as isSameGroup, G as GROUP_DEPTH, e as PSEUDO_GROUP_ITEM_VALUE, d as PSEUDO_GROUP_ITEM_ID, o as GROUPING_ROW_TYPE, p as getSource, f as PSEUDO_GROUP_COLUMN, s as gatherGrouping, m as GROUP_EXPAND_EVENT, v as isGroupingColumn, q as getExpanded, E as isColGrouping } from './column.service-BnFqXqQG.js';
|
|
5
|
+
import { K as createStore, l as setStore, i as calculateDimensionData, L as identity, N as isArray, b as getSourceItem, g as getPhysical, e as setItems, j as getItemByPosition } from './dimension.helpers-CXrsUc6f.js';
|
|
6
|
+
import { j as calculateRowHeaderSize } from './viewport.store-D5jEuhLq.js';
|
|
7
|
+
import { g as getScrollbarSize, t as timeout } from './index-DBqlJITb.js';
|
|
8
8
|
import { h } from './index-Chp_81rd.js';
|
|
9
9
|
import { b as FILTER_PROP, i as isFilterBtn } from './filter.button-B-RBiF67.js';
|
|
10
10
|
import { d as debounce } from './debounce-PCRWZliA.js';
|
|
11
|
-
import { O as ON_COLUMN_CLICK, d as dispatch } from './header-cell-renderer-
|
|
11
|
+
import { O as ON_COLUMN_CLICK, d as dispatch } from './header-cell-renderer-B3mYpZD3.js';
|
|
12
12
|
|
|
13
13
|
function calculateRealSize({ count, originItemSize, sizes, }) {
|
|
14
14
|
const safeCount = Math.max(0, count);
|
|
@@ -1274,13 +1274,14 @@ class FilterPlugin extends BasePlugin {
|
|
|
1274
1274
|
this.filterNameIndexByType = Object.assign({}, filterNames);
|
|
1275
1275
|
this.filterFunctionsIndexedByType = Object.assign({}, filterCoreFunctionsIndexedByType);
|
|
1276
1276
|
this.filterProp = FILTER_PROP;
|
|
1277
|
+
this.allowDuplicateOperators = true;
|
|
1277
1278
|
if (config) {
|
|
1278
1279
|
this.initConfig(config);
|
|
1279
1280
|
}
|
|
1280
1281
|
const existingNodes = this.revogrid.registerVNode.filter(n => typeof n === 'object' && n.$tag$ !== FILTE_PANEL);
|
|
1281
1282
|
this.revogrid.registerVNode = [
|
|
1282
1283
|
...existingNodes,
|
|
1283
|
-
h("revogr-filter-panel", { filterNames: this.filterNameIndexByType, filterEntities: this.filterFunctionsIndexedByType, 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), onResetChange: e => this.onFilterReset(e.detail), disableDynamicFiltering: config === null || config === void 0 ? void 0 : config.disableDynamicFiltering, closeOnOutsideClick: config === null || config === void 0 ? void 0 : config.closeFilterPanelOnOutsideClick, ref: e => (this.pop = e) }, ' ', this.extraContent()),
|
|
1284
|
+
h("revogr-filter-panel", { filterNames: this.filterNameIndexByType, filterEntities: this.filterFunctionsIndexedByType, 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), onResetChange: e => this.onFilterReset(e.detail), disableDynamicFiltering: config === null || config === void 0 ? void 0 : config.disableDynamicFiltering, closeOnOutsideClick: config === null || config === void 0 ? void 0 : config.closeFilterPanelOnOutsideClick, allowDuplicateOperators: this.allowDuplicateOperators, ref: e => (this.pop = e) }, ' ', this.extraContent()),
|
|
1284
1285
|
];
|
|
1285
1286
|
const aftersourceset = async () => {
|
|
1286
1287
|
const filterCollectionProps = Object.keys(this.filterCollection);
|
|
@@ -1307,15 +1308,24 @@ class FilterPlugin extends BasePlugin {
|
|
|
1307
1308
|
};
|
|
1308
1309
|
this.addEventListener('headerclick', e => this.headerclick(e));
|
|
1309
1310
|
this.addEventListener(FILTER_CONFIG_CHANGED_EVENT, ({ detail }) => {
|
|
1310
|
-
if (!detail
|
|
1311
|
-
(typeof detail === 'object' &&
|
|
1312
|
-
(!detail.multiFilterItems ||
|
|
1313
|
-
!Object.keys(detail.multiFilterItems).length))) {
|
|
1311
|
+
if (!detail) {
|
|
1314
1312
|
this.clearFiltering();
|
|
1315
1313
|
return;
|
|
1316
1314
|
}
|
|
1317
1315
|
if (typeof detail === 'object') {
|
|
1318
|
-
|
|
1316
|
+
const detailKeys = Object.keys(detail);
|
|
1317
|
+
const preserveCurrentFilters = !detailKeys.includes('multiFilterItems') &&
|
|
1318
|
+
detailKeys.includes('allowDuplicateOperators');
|
|
1319
|
+
this.initConfig(preserveCurrentFilters
|
|
1320
|
+
? Object.assign(Object.assign({}, detail), { multiFilterItems: this.multiFilterItems }) : detail);
|
|
1321
|
+
if (!detail.multiFilterItems || !Object.keys(detail.multiFilterItems).length) {
|
|
1322
|
+
if (preserveCurrentFilters) {
|
|
1323
|
+
aftersourceset();
|
|
1324
|
+
return;
|
|
1325
|
+
}
|
|
1326
|
+
this.clearFiltering();
|
|
1327
|
+
return;
|
|
1328
|
+
}
|
|
1319
1329
|
}
|
|
1320
1330
|
aftersourceset();
|
|
1321
1331
|
});
|
|
@@ -1329,6 +1339,11 @@ class FilterPlugin extends BasePlugin {
|
|
|
1329
1339
|
return null;
|
|
1330
1340
|
}
|
|
1331
1341
|
initConfig(config) {
|
|
1342
|
+
var _a;
|
|
1343
|
+
this.allowDuplicateOperators = (_a = config.allowDuplicateOperators) !== null && _a !== void 0 ? _a : true;
|
|
1344
|
+
if (this.pop) {
|
|
1345
|
+
this.pop.allowDuplicateOperators = this.allowDuplicateOperators;
|
|
1346
|
+
}
|
|
1332
1347
|
if (config.multiFilterItems) {
|
|
1333
1348
|
this.multiFilterItems = Object.assign({}, config.multiFilterItems);
|
|
1334
1349
|
}
|
|
@@ -2452,7 +2467,7 @@ class GroupingRowPlugin extends BasePlugin {
|
|
|
2452
2467
|
* Initiated when need to reapply grouping
|
|
2453
2468
|
*/
|
|
2454
2469
|
doSourceUpdate(options) {
|
|
2455
|
-
var _a;
|
|
2470
|
+
var _a, _b;
|
|
2456
2471
|
/**
|
|
2457
2472
|
* Get source without grouping
|
|
2458
2473
|
* @param newOldIndexMap - provides us mapping with new indexes vs old indexes, we would use it for trimmed mapping
|
|
@@ -2464,10 +2479,11 @@ class GroupingRowPlugin extends BasePlugin {
|
|
|
2464
2479
|
* Group again
|
|
2465
2480
|
* @param oldNewIndexMap - provides us mapping with new indexes vs old indexes
|
|
2466
2481
|
*/
|
|
2467
|
-
const { sourceWithGroups, depth, trimmed, oldNewIndexMap, } = gatherGrouping(source, ((_a = this.options) === null || _a === void 0 ? void 0 : _a.props)
|
|
2482
|
+
const { sourceWithGroups, depth, trimmed, oldNewIndexMap, } = gatherGrouping(source, (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.props) !== null && _b !== void 0 ? _b : [], expanded);
|
|
2468
2483
|
const customRenderer = options === null || options === void 0 ? void 0 : options.groupLabelTemplate;
|
|
2484
|
+
const cellRenderer = options === null || options === void 0 ? void 0 : options.groupCellTemplate;
|
|
2469
2485
|
// setup source
|
|
2470
|
-
this.providers.data.setData(sourceWithGroups, GROUPING_ROW_TYPE, this.revogrid.disableVirtualY, { depth, customRenderer }, true);
|
|
2486
|
+
this.providers.data.setData(sourceWithGroups, GROUPING_ROW_TYPE, this.revogrid.disableVirtualY, { depth, customRenderer, cellRenderer }, true);
|
|
2471
2487
|
this.updateTrimmed(trimmed, oldNewIndexes !== null && oldNewIndexes !== void 0 ? oldNewIndexes : {}, oldNewIndexMap, sourceWithGroups);
|
|
2472
2488
|
}
|
|
2473
2489
|
/**
|
|
@@ -2476,17 +2492,21 @@ class GroupingRowPlugin extends BasePlugin {
|
|
|
2476
2492
|
* If source came from other plugin
|
|
2477
2493
|
*/
|
|
2478
2494
|
onDataSet(data) {
|
|
2479
|
-
var _a, _b;
|
|
2495
|
+
var _a, _b, _c;
|
|
2480
2496
|
let preservedExpanded = {};
|
|
2481
2497
|
if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.preserveGroupingOnUpdate) !== false) {
|
|
2482
2498
|
let { prevExpanded } = getSource(this.getStore().get('source'), this.getStore().get('proxyItems'), true);
|
|
2483
2499
|
preservedExpanded = prevExpanded;
|
|
2484
2500
|
}
|
|
2485
2501
|
const source = data.source.filter(s => !isGrouping(s));
|
|
2486
|
-
const options = Object.assign(Object.assign({},
|
|
2487
|
-
const { sourceWithGroups, depth, trimmed, oldNewIndexMap, } = gatherGrouping(source, ((_b = this.options) === null || _b === void 0 ? void 0 : _b.props)
|
|
2502
|
+
const options = Object.assign(Object.assign({}, this.options), { prevExpanded: preservedExpanded });
|
|
2503
|
+
const { sourceWithGroups, depth, trimmed, oldNewIndexMap, } = gatherGrouping(source, (_c = (_b = this.options) === null || _b === void 0 ? void 0 : _b.props) !== null && _c !== void 0 ? _c : [], options);
|
|
2488
2504
|
data.source = sourceWithGroups;
|
|
2489
|
-
this.providers.data.setGrouping({
|
|
2505
|
+
this.providers.data.setGrouping({
|
|
2506
|
+
depth,
|
|
2507
|
+
customRenderer: options.groupLabelTemplate,
|
|
2508
|
+
cellRenderer: options.groupCellTemplate,
|
|
2509
|
+
});
|
|
2490
2510
|
this.updateTrimmed(trimmed, oldNewIndexMap, undefined, sourceWithGroups);
|
|
2491
2511
|
}
|
|
2492
2512
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { Q as toFinite, U as keys, V as isArrayLike, W as baseIteratee, N as isArray, G as GRID_INTERNALS, X as isIterateeCall, a as getVisibleSourceItem, o as DISABLED_CLASS, C as CELL_CLASS, b as getSourceItem } from './dimension.helpers-
|
|
4
|
+
import { Q as toFinite, U as keys, V as isArrayLike, W as baseIteratee, N as isArray, G as GRID_INTERNALS, X as isIterateeCall, a as getVisibleSourceItem, o as DISABLED_CLASS, C as CELL_CLASS, b as getSourceItem } from './dimension.helpers-CXrsUc6f.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Converts `value` to an integer.
|
|
@@ -434,8 +434,9 @@ const GROUP_EXPAND_BTN = `group-expand`;
|
|
|
434
434
|
const GROUP_EXPAND_EVENT = `groupexpandclick`;
|
|
435
435
|
const GROUPING_ROW_TYPE = 'rgRow';
|
|
436
436
|
|
|
437
|
-
function getGroupValueDefault(item, prop) {
|
|
438
|
-
|
|
437
|
+
function getGroupValueDefault(item, prop, emptyGroupValue) {
|
|
438
|
+
var _a;
|
|
439
|
+
return (_a = item[prop]) !== null && _a !== void 0 ? _a : emptyGroupValue;
|
|
439
440
|
}
|
|
440
441
|
function isDataRow(item) {
|
|
441
442
|
return item != null;
|
|
@@ -541,13 +542,15 @@ function flattenGroupMaps({ groupedValues, parentIds, isExpanded, itemIndex, exp
|
|
|
541
542
|
* @param columnProps - ids of groups
|
|
542
543
|
* @param expanded - potentially expanded items if present
|
|
543
544
|
*/
|
|
544
|
-
function gatherGrouping(array, columnProps, { prevExpanded = {}, expandedAll = false, getGroupValue =
|
|
545
|
+
function gatherGrouping(array, columnProps, { prevExpanded = {}, expandedAll = false, getGroupValue, emptyGroupValue = '', }) {
|
|
545
546
|
const groupedItems = new Map();
|
|
546
547
|
array.forEach((item, originalIndex) => {
|
|
547
548
|
if (!isDataRow(item)) {
|
|
548
549
|
return;
|
|
549
550
|
}
|
|
550
|
-
const groupLevelValues = columnProps.map(groupId => getGroupValue
|
|
551
|
+
const groupLevelValues = columnProps.map(groupId => getGroupValue
|
|
552
|
+
? getGroupValue(item, groupId)
|
|
553
|
+
: getGroupValueDefault(item, groupId, emptyGroupValue));
|
|
551
554
|
const lastLevelValue = groupLevelValues.pop();
|
|
552
555
|
let currentGroupLevel = groupedItems;
|
|
553
556
|
groupLevelValues.forEach(value => {
|
|
@@ -3141,7 +3141,7 @@ class DataStore {
|
|
|
3141
3141
|
return this.dataStore;
|
|
3142
3142
|
}
|
|
3143
3143
|
constructor(type, storeData) {
|
|
3144
|
-
const store = (this.dataStore = createStore(Object.assign({ items: [], proxyItems: [], source: [], groupingDepth: 0, groups: {}, type, trimmed: {}, groupingCustomRenderer: undefined }, storeData)));
|
|
3144
|
+
const store = (this.dataStore = createStore(Object.assign({ items: [], proxyItems: [], source: [], groupingDepth: 0, groups: {}, type, trimmed: {}, groupingCustomRenderer: undefined, groupingCellRenderer: undefined }, storeData)));
|
|
3145
3145
|
store.use(proxyPlugin(store));
|
|
3146
3146
|
store.use(trimmedPlugin(store));
|
|
3147
3147
|
}
|
|
@@ -3181,6 +3181,7 @@ class DataStore {
|
|
|
3181
3181
|
// if groups are not provided, we will consider that there is only one group with all items
|
|
3182
3182
|
groups: grouping.groups,
|
|
3183
3183
|
groupingCustomRenderer: grouping.customRenderer,
|
|
3184
|
+
groupingCellRenderer: grouping.cellRenderer,
|
|
3184
3185
|
});
|
|
3185
3186
|
}
|
|
3186
3187
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { O as KeyCodesEnum, P as OsPlatform, I as codesLetter, J as keyValues, E as EDIT_INPUT_WR } from './dimension.helpers-
|
|
4
|
+
import { O as KeyCodesEnum, P as OsPlatform, I as codesLetter, J as keyValues, E as EDIT_INPUT_WR } from './dimension.helpers-CXrsUc6f.js';
|
|
5
5
|
|
|
6
6
|
function isMetaKey(code) {
|
|
7
7
|
const keys = [
|
package/dist/{esm/header-cell-renderer-BMmXRsd_.js → revo-grid/header-cell-renderer-B3mYpZD3.js}
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { h } from './index-Chp_81rd.js';
|
|
5
|
-
import { Q as doPropMerge } from './column.service-
|
|
5
|
+
import { Q as doPropMerge } from './column.service-BnFqXqQG.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Dispatches a custom event to a specified target element.
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
export { 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, H as gatherGroup, s as gatherGrouping, z as getCellData, B as getCellDataParsed, A as getCellRaw, I as getColumnByProp, D as getColumnSizes, C as getColumnType, F as getColumns, q as getExpanded, t as getGroupingName, x as getParsedGroup, g as getRange, p as getSource, E 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-
|
|
5
|
-
import { B as BasePlugin } from './column.drag.plugin-
|
|
6
|
-
export { A as AutoSizeColumnPlugin, n as BEFORE_COLUMN_DRAG_END_EVENT, m as COLUMN_DRAG_END_EVENT, l as COLUMN_DRAG_MOVE_EVENT, o as COLUMN_DRAG_START_EVENT, C as ColumnAutoSizeMode, p as ColumnMovePlugin, D as DimensionStore, b as ExportCsv, E as ExportFilePlugin, c as FILTER_CONFIG_CHANGED_EVENT, F as FILTER_TRIMMED_TYPE, d as FILTE_PANEL, e as FilterPlugin, G as GroupingRowPlugin, S as SelectionStore, s as SortingPlugin, a as StretchColumn, w as defaultCellCompare, x as descCellCompare, j as doCollapse, k as doExpand, f as filterCoreFunctionsIndexedByType, h as filterNames, g as filterTypes, r as getColumnDragPosition, z as getComparer, q as getLeftRelative, y as getNextOrder, u as getSortingIndex, t as hasActiveSorting, i as isStretchPlugin, v as sortIndexByItems } from './column.drag.plugin-
|
|
7
|
-
export { d as dispatch, a as dispatchByEvent } from './header-cell-renderer-
|
|
8
|
-
export { C as CellRenderer, G as GroupingRowRenderer, S as SortingSign, e as expandEvent, a as expandSvgIconVNode } from './cell-renderer-
|
|
9
|
-
export { a as applyMixins, f as findPositionInArray, g as getScrollbarSize, m as mergeSortedArray, p as pushSorted, r as range, s as scaleValue, t as timeout } from './index-
|
|
10
|
-
export { T as TextEditor } from './text-editor-
|
|
11
|
-
export { k as isAll, c as isClear, h as isCopy, a as isCtrlKey, b as isCtrlMetaKey, g as isCut, m as isEditInput, n as isEditorCtrConstructible, f as isEnterKeyValue, i as isMetaKey, j as isPaste, l as isShortcutModifier, d as isTab, e as isTabKeyValue } from './edit.utils-
|
|
4
|
+
export { 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, H as gatherGroup, s as gatherGrouping, z as getCellData, B as getCellDataParsed, A as getCellRaw, I as getColumnByProp, D as getColumnSizes, C as getColumnType, F as getColumns, q as getExpanded, t as getGroupingName, x as getParsedGroup, g as getRange, p as getSource, E 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-BnFqXqQG.js';
|
|
5
|
+
import { B as BasePlugin } from './column.drag.plugin-K0lXn2G3.js';
|
|
6
|
+
export { A as AutoSizeColumnPlugin, n as BEFORE_COLUMN_DRAG_END_EVENT, m as COLUMN_DRAG_END_EVENT, l as COLUMN_DRAG_MOVE_EVENT, o as COLUMN_DRAG_START_EVENT, C as ColumnAutoSizeMode, p as ColumnMovePlugin, D as DimensionStore, b as ExportCsv, E as ExportFilePlugin, c as FILTER_CONFIG_CHANGED_EVENT, F as FILTER_TRIMMED_TYPE, d as FILTE_PANEL, e as FilterPlugin, G as GroupingRowPlugin, S as SelectionStore, s as SortingPlugin, a as StretchColumn, w as defaultCellCompare, x as descCellCompare, j as doCollapse, k as doExpand, f as filterCoreFunctionsIndexedByType, h as filterNames, g as filterTypes, r as getColumnDragPosition, z as getComparer, q as getLeftRelative, y as getNextOrder, u as getSortingIndex, t as hasActiveSorting, i as isStretchPlugin, v as sortIndexByItems } from './column.drag.plugin-K0lXn2G3.js';
|
|
7
|
+
export { d as dispatch, a as dispatchByEvent } from './header-cell-renderer-B3mYpZD3.js';
|
|
8
|
+
export { C as CellRenderer, G as GroupingRowRenderer, S as SortingSign, e as expandEvent, a as expandSvgIconVNode, r as renderGroupCells } from './cell-renderer-BQjko1zB.js';
|
|
9
|
+
export { a as applyMixins, f as findPositionInArray, g as getScrollbarSize, m as mergeSortedArray, p as pushSorted, r as range, s as scaleValue, t as timeout } from './index-DBqlJITb.js';
|
|
10
|
+
export { T as TextEditor } from './text-editor-DQtz2Y7B.js';
|
|
11
|
+
export { k as isAll, c as isClear, h as isCopy, a as isCtrlKey, b as isCtrlMetaKey, g as isCut, m as isEditInput, n as isEditorCtrConstructible, f as isEnterKeyValue, i as isMetaKey, j as isPaste, l as isShortcutModifier, d as isTab, e as isTabKeyValue } from './edit.utils-CXmmCnxE.js';
|
|
12
12
|
export { h } from './index-Chp_81rd.js';
|
|
13
|
-
export { C as CELL_CLASS, z as CELL_HANDLER_CLASS, m as DATA_COL, n as DATA_ROW, o as DISABLED_CLASS, x as DRAGGABLE_CLASS, A as DRAGG_TEXT, w as DRAG_ICON_CLASS, D as DataStore, E as EDIT_INPUT_WR, F as FOCUS_CLASS, G as GRID_INTERNALS, v as HEADER_ACTUAL_ROW_CLASS, H as HEADER_CLASS, u as HEADER_ROW_CLASS, r as HEADER_SORTABLE_CLASS, M as MIN_COL_SIZE, y as MOBILE_CLASS, R as RESIZE_INTERVAL, B as ROW_FOCUSED_CLASS, q as ROW_HEADER_TYPE, S as SELECTION_BORDER_CLASS, T as TMP_SELECTION_BG_CLASS, i as calculateDimensionData, I as codesLetter, h as gatherTrimmedItems, k as getItemByIndex, j as getItemByPosition, g as getPhysical, b as getSourceItem, f as getSourceItemVirtualIndexByProp, c as getSourcePhysicalIndex, a as getVisibleSourceItem, J as keyValues, p as proxyPlugin, e as setItems, d as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, l as setStore, t as trimmedPlugin } from './dimension.helpers-
|
|
14
|
-
export { V as ViewportStore, b as addMissingItems, j as calculateRowHeaderSize, c as clampViewportCoordinate, f as getFirstItem, d as getItems, h as getLastItem, a as getUpdatedItemsByPosition, g as getViewportMaxCoordinate, i as isActiveRange, e as isActiveRangeOutsideLastItem, r as recombineByOffset, s as setItemSizes, u as updateMissingAndRange } from './viewport.store-
|
|
13
|
+
export { C as CELL_CLASS, z as CELL_HANDLER_CLASS, m as DATA_COL, n as DATA_ROW, o as DISABLED_CLASS, x as DRAGGABLE_CLASS, A as DRAGG_TEXT, w as DRAG_ICON_CLASS, D as DataStore, E as EDIT_INPUT_WR, F as FOCUS_CLASS, G as GRID_INTERNALS, v as HEADER_ACTUAL_ROW_CLASS, H as HEADER_CLASS, u as HEADER_ROW_CLASS, r as HEADER_SORTABLE_CLASS, M as MIN_COL_SIZE, y as MOBILE_CLASS, R as RESIZE_INTERVAL, B as ROW_FOCUSED_CLASS, q as ROW_HEADER_TYPE, S as SELECTION_BORDER_CLASS, T as TMP_SELECTION_BG_CLASS, i as calculateDimensionData, I as codesLetter, h as gatherTrimmedItems, k as getItemByIndex, j as getItemByPosition, g as getPhysical, b as getSourceItem, f as getSourceItemVirtualIndexByProp, c as getSourcePhysicalIndex, a as getVisibleSourceItem, J as keyValues, p as proxyPlugin, e as setItems, d as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, l as setStore, t as trimmedPlugin } from './dimension.helpers-CXrsUc6f.js';
|
|
14
|
+
export { V as ViewportStore, b as addMissingItems, j as calculateRowHeaderSize, c as clampViewportCoordinate, f as getFirstItem, d as getItems, h as getLastItem, a as getUpdatedItemsByPosition, g as getViewportMaxCoordinate, i as isActiveRange, e as isActiveRangeOutsideLastItem, r as recombineByOffset, s as setItemSizes, u as updateMissingAndRange } from './viewport.store-D5jEuhLq.js';
|
|
15
15
|
export { A as AND_OR_BUTTON, e as AndOrButton, a as FILTER_BUTTON_ACTIVE, F as FILTER_BUTTON_CLASS, b as FILTER_PROP, c as FilterButton, R as REORDER_BUTTON, f as ReorderButton, T as TRASH_BUTTON, d as TrashButton, i as isFilterBtn } from './filter.button-B-RBiF67.js';
|
|
16
16
|
import './debounce-PCRWZliA.js';
|
|
17
17
|
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { h, r as registerInstance, d as createEvent, e as Host, g as getElement } from './index-Chp_81rd.js';
|
|
5
|
-
import { c as columnTypes, J as reduce, C as getColumnType, r as rowTypes, i as isRowType, D as getColumnSizes, a as cropCellToMax, n as nextCell, I as getColumnByProp, F as getColumns } from './column.service-
|
|
6
|
-
import { D as DataStore, b as getSourceItem, f as getSourceItemVirtualIndexByProp, d as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, a as getVisibleSourceItem, h as gatherTrimmedItems, k as getItemByIndex, R as RESIZE_INTERVAL } from './dimension.helpers-
|
|
5
|
+
import { c as columnTypes, J as reduce, C as getColumnType, r as rowTypes, i as isRowType, D as getColumnSizes, a as cropCellToMax, n as nextCell, I as getColumnByProp, F as getColumns } from './column.service-BnFqXqQG.js';
|
|
6
|
+
import { D as DataStore, b as getSourceItem, f as getSourceItemVirtualIndexByProp, d as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, a as getVisibleSourceItem, h as gatherTrimmedItems, k as getItemByIndex, R as RESIZE_INTERVAL } from './dimension.helpers-CXrsUc6f.js';
|
|
7
7
|
import { d as debounce } from './debounce-PCRWZliA.js';
|
|
8
8
|
import { g as getScrollDimension, v as viewportDataPartition, F as FOOTER_SLOT, C as CONTENT_SLOT, H as HEADER_SLOT, D as DATA_SLOT } from './viewport.helpers-CoCAvmZs.js';
|
|
9
|
-
import { D as DimensionStore, S as SelectionStore, B as BasePlugin, G as GroupingRowPlugin, a as StretchColumn, i as isStretchPlugin, A as AutoSizeColumnPlugin, e as FilterPlugin, E as ExportFilePlugin, s as SortingPlugin, p as ColumnMovePlugin } from './column.drag.plugin-
|
|
10
|
-
import { V as ViewportStore } from './viewport.store-
|
|
9
|
+
import { D as DimensionStore, S as SelectionStore, B as BasePlugin, G as GroupingRowPlugin, a as StretchColumn, i as isStretchPlugin, A as AutoSizeColumnPlugin, e as FilterPlugin, E as ExportFilePlugin, s as SortingPlugin, p as ColumnMovePlugin } from './column.drag.plugin-K0lXn2G3.js';
|
|
10
|
+
import { V as ViewportStore } from './viewport.store-D5jEuhLq.js';
|
|
11
11
|
import { T as ThemeService } from './theme.service-BmnDvr6P.js';
|
|
12
|
-
import { t as timeout } from './index-
|
|
12
|
+
import { t as timeout } from './index-DBqlJITb.js';
|
|
13
13
|
import { g as getPropertyFromEvent } from './events-BvSmBueA.js';
|
|
14
14
|
import './filter.button-B-RBiF67.js';
|
|
15
|
-
import './header-cell-renderer-
|
|
15
|
+
import './header-cell-renderer-B3mYpZD3.js';
|
|
16
16
|
|
|
17
17
|
class ColumnDataProvider {
|
|
18
18
|
get stores() {
|
|
@@ -217,8 +217,12 @@ class DataProvider {
|
|
|
217
217
|
const items = this.stores[type].store.get('items');
|
|
218
218
|
this.stores[type].setData({ items: [...items] });
|
|
219
219
|
}
|
|
220
|
-
setGrouping({ depth }, type = 'rgRow') {
|
|
221
|
-
this.stores[type].setData({
|
|
220
|
+
setGrouping({ depth, customRenderer, cellRenderer, }, type = 'rgRow') {
|
|
221
|
+
this.stores[type].setData({
|
|
222
|
+
groupingDepth: depth,
|
|
223
|
+
groupingCustomRenderer: customRenderer,
|
|
224
|
+
groupingCellRenderer: cellRenderer,
|
|
225
|
+
});
|
|
222
226
|
}
|
|
223
227
|
setTrimmed(trimmed, type = 'rgRow') {
|
|
224
228
|
const store = this.stores[type];
|
|
@@ -48,5 +48,5 @@ var patchCloneNodeFix = (HTMLElementPrototype) => {
|
|
|
48
48
|
|
|
49
49
|
patchBrowser().then(async (options) => {
|
|
50
50
|
await globalScripts();
|
|
51
|
-
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],"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],"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}],"theme":[{"themeChanged":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}],"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"],"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);
|
|
51
|
+
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],"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],"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}],"theme":[{"themeChanged":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}],"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);
|
|
52
52
|
});
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, h, e as Host, d as createEvent, g as getElement } from './index-Chp_81rd.js';
|
|
5
|
-
import { k as getItemByIndex, b as getSourceItem, j as getItemByPosition, F as FOCUS_CLASS, I as codesLetter, R as RESIZE_INTERVAL, y as MOBILE_CLASS, z as CELL_HANDLER_CLASS, S as SELECTION_BORDER_CLASS, D as DataStore, q as ROW_HEADER_TYPE, T as TMP_SELECTION_BG_CLASS } from './dimension.helpers-
|
|
5
|
+
import { k as getItemByIndex, b as getSourceItem, j as getItemByPosition, F as FOCUS_CLASS, I as codesLetter, R as RESIZE_INTERVAL, y as MOBILE_CLASS, z as CELL_HANDLER_CLASS, S as SELECTION_BORDER_CLASS, D as DataStore, q as ROW_HEADER_TYPE, T as TMP_SELECTION_BG_CLASS } from './dimension.helpers-CXrsUc6f.js';
|
|
6
6
|
import { g as getPropertyFromEvent, v as verifyTouchTarget } from './events-BvSmBueA.js';
|
|
7
|
-
import { g as getRange, M as ColumnService, z as getCellData, N as getCellEditor, b as isRangeSingleCell } from './column.service-
|
|
8
|
-
import { l as isShortcutModifier, m as isEditInput, c as isClear, d as isTab, f as isEnterKeyValue, h as isCopy, g as isCut, j as isPaste, k as isAll } from './edit.utils-
|
|
9
|
-
import { t as timeout, g as getScrollbarSize } from './index-
|
|
7
|
+
import { g as getRange, M as ColumnService, z as getCellData, N as getCellEditor, b as isRangeSingleCell } from './column.service-BnFqXqQG.js';
|
|
8
|
+
import { l as isShortcutModifier, m as isEditInput, c as isClear, d as isTab, f as isEnterKeyValue, h as isCopy, g as isCut, j as isPaste, k as isAll } from './edit.utils-CXmmCnxE.js';
|
|
9
|
+
import { t as timeout, g as getScrollbarSize } from './index-DBqlJITb.js';
|
|
10
10
|
import { d as debounce } from './debounce-PCRWZliA.js';
|
|
11
|
-
import { V as ViewportStore, j as calculateRowHeaderSize } from './viewport.store-
|
|
11
|
+
import { V as ViewportStore, j as calculateRowHeaderSize } from './viewport.store-D5jEuhLq.js';
|
|
12
12
|
import { H as HEADER_SLOT } from './viewport.helpers-CoCAvmZs.js';
|
|
13
13
|
import { L as LocalScrollTimer, a as LocalScrollService, g as getContentSize, t as throttle } from './throttle-Cpk1LoGk.js';
|
|
14
14
|
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, d as createEvent, h, e as Host, g as getElement } from './index-Chp_81rd.js';
|
|
5
|
-
import { E as EDIT_INPUT_WR, j as getItemByPosition, b as getSourceItem, A as DRAGG_TEXT } from './dimension.helpers-
|
|
6
|
-
import { T as TextEditor } from './text-editor-
|
|
7
|
-
import { n as isEditorCtrConstructible } from './edit.utils-
|
|
5
|
+
import { E as EDIT_INPUT_WR, j as getItemByPosition, b as getSourceItem, A as DRAGG_TEXT } from './dimension.helpers-CXrsUc6f.js';
|
|
6
|
+
import { T as TextEditor } from './text-editor-DQtz2Y7B.js';
|
|
7
|
+
import { n as isEditorCtrConstructible } from './edit.utils-CXmmCnxE.js';
|
|
8
8
|
import { d as debounce } from './debounce-PCRWZliA.js';
|
|
9
|
-
import './index-
|
|
9
|
+
import './index-DBqlJITb.js';
|
|
10
10
|
|
|
11
11
|
const Clipboard = class {
|
|
12
12
|
constructor(hostRef) {
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, d as createEvent, h, e as Host, g as getElement } from './index-Chp_81rd.js';
|
|
5
|
-
import { M as ColumnService, u as isGrouping } from './column.service-
|
|
6
|
-
import { B as ROW_FOCUSED_CLASS, b as getSourceItem, n as DATA_ROW, m as DATA_COL, M as MIN_COL_SIZE, r as HEADER_SORTABLE_CLASS, H as HEADER_CLASS, F as FOCUS_CLASS, k as getItemByIndex, u as HEADER_ROW_CLASS, v as HEADER_ACTUAL_ROW_CLASS } from './dimension.helpers-
|
|
7
|
-
import { G as GroupingRowRenderer, C as CellRenderer, R as RowRenderer, P as PADDING_DEPTH, S as SortingSign } from './cell-renderer-
|
|
5
|
+
import { M as ColumnService, u as isGrouping } from './column.service-BnFqXqQG.js';
|
|
6
|
+
import { B as ROW_FOCUSED_CLASS, b as getSourceItem, n as DATA_ROW, m as DATA_COL, M as MIN_COL_SIZE, r as HEADER_SORTABLE_CLASS, H as HEADER_CLASS, F as FOCUS_CLASS, k as getItemByIndex, u as HEADER_ROW_CLASS, v as HEADER_ACTUAL_ROW_CLASS } from './dimension.helpers-CXrsUc6f.js';
|
|
7
|
+
import { G as GroupingRowRenderer, C as CellRenderer, R as RowRenderer, P as PADDING_DEPTH, S as SortingSign } from './cell-renderer-BQjko1zB.js';
|
|
8
8
|
import { c as FilterButton } from './filter.button-B-RBiF67.js';
|
|
9
|
-
import { H as HeaderCellRenderer } from './header-cell-renderer-
|
|
9
|
+
import { H as HeaderCellRenderer } from './header-cell-renderer-B3mYpZD3.js';
|
|
10
10
|
import { t as throttle, L as LocalScrollTimer, a as LocalScrollService, g as getContentSize } from './throttle-Cpk1LoGk.js';
|
|
11
11
|
import { H as HEADER_SLOT, C as CONTENT_SLOT, F as FOOTER_SLOT } from './viewport.helpers-CoCAvmZs.js';
|
|
12
12
|
import './debounce-PCRWZliA.js';
|
|
@@ -167,6 +167,7 @@ const RevogrData = class {
|
|
|
167
167
|
const rowsEls = [];
|
|
168
168
|
const depth = this.dataStore.get('groupingDepth');
|
|
169
169
|
const groupingCustomRenderer = this.dataStore.get('groupingCustomRenderer');
|
|
170
|
+
const groupingCellRenderer = this.dataStore.get('groupingCellRenderer');
|
|
170
171
|
const groupDepth = this.columnService.hasGrouping ? depth : 0;
|
|
171
172
|
const rowRenderOffset = this.viewportRow.get('renderOffset') || 0;
|
|
172
173
|
const colRenderOffset = this.viewportCol.get('renderOffset') || 0;
|
|
@@ -175,6 +176,7 @@ const RevogrData = class {
|
|
|
175
176
|
// #region Grouping
|
|
176
177
|
if (isGrouping(dataItem)) {
|
|
177
178
|
const gmodel = Object.assign(Object.assign({}, rgRow), { start: rgRow.start - rowRenderOffset, index: rgRow.itemIndex, model: dataItem, groupingCustomRenderer,
|
|
179
|
+
groupingCellRenderer, additionalData: this.additionalData,
|
|
178
180
|
// Only show expand button if grouping is enabled and not in row headers
|
|
179
181
|
hasExpand: this.columnService.hasGrouping && this.colType !== 'rowHeaders', columnItems: cols, providers: this.providers });
|
|
180
182
|
rowsEls.push(h(GroupingRowRenderer, Object.assign({}, gmodel)));
|
|
@@ -108,6 +108,10 @@ const FilterPanel = class {
|
|
|
108
108
|
* If true, closes the filter panel when clicking outside
|
|
109
109
|
*/
|
|
110
110
|
this.closeOnOutsideClick = true;
|
|
111
|
+
/**
|
|
112
|
+
* Whether the filter panel allows the same operator more than once per column.
|
|
113
|
+
*/
|
|
114
|
+
this.allowDuplicateOperators = true;
|
|
111
115
|
this.debouncedApplyFilter = debounce(() => {
|
|
112
116
|
this.filterChange.emit(this.filterItems);
|
|
113
117
|
}, 400);
|
|
@@ -421,11 +425,15 @@ const FilterPanel = class {
|
|
|
421
425
|
}
|
|
422
426
|
}
|
|
423
427
|
renderSelectOptions(type, isDefaultTypeRemoved = false) {
|
|
428
|
+
var _a;
|
|
424
429
|
if (!this.changes) {
|
|
425
430
|
return;
|
|
426
431
|
}
|
|
427
432
|
const options = [];
|
|
428
433
|
const prop = this.changes.prop;
|
|
434
|
+
if (prop === undefined) {
|
|
435
|
+
return;
|
|
436
|
+
}
|
|
429
437
|
const hidden = new Set();
|
|
430
438
|
Object.keys(this.filterItems).forEach((prop) => {
|
|
431
439
|
const values = this.filterItems[prop];
|
|
@@ -435,6 +443,9 @@ const FilterPanel = class {
|
|
|
435
443
|
}
|
|
436
444
|
});
|
|
437
445
|
});
|
|
446
|
+
const selectedTypes = new Set(((_a = this.filterItems[prop]) !== null && _a !== void 0 ? _a : [])
|
|
447
|
+
.filter(filter => !filter.hidden)
|
|
448
|
+
.map(filter => filter.type));
|
|
438
449
|
if (!isDefaultTypeRemoved) {
|
|
439
450
|
const capts = Object.assign(Object.assign({}, this.filterCaptionsInternal), this.filterCaptions);
|
|
440
451
|
options.push(h("option", { selected: this.currentFilterType === defaultType, value: defaultType }, prop && this.filterItems[prop] && this.filterItems[prop].length > 0
|
|
@@ -442,7 +453,9 @@ const FilterPanel = class {
|
|
|
442
453
|
: this.filterNames[defaultType]));
|
|
443
454
|
}
|
|
444
455
|
for (let gIndex in this.changes.filterTypes) {
|
|
445
|
-
const group = this.changes.filterTypes[gIndex].filter(k => !hidden.has(k)
|
|
456
|
+
const group = this.changes.filterTypes[gIndex].filter(k => !hidden.has(k) && (this.allowDuplicateOperators ||
|
|
457
|
+
!selectedTypes.has(k) ||
|
|
458
|
+
(isDefaultTypeRemoved && type === k)));
|
|
446
459
|
if (group.length) {
|
|
447
460
|
options.push(...group.map(k => (h("option", { value: k, selected: type === k }, this.filterNames[k]))));
|
|
448
461
|
options.push(h("option", { disabled: true }));
|
|
@@ -537,7 +550,7 @@ const FilterPanel = class {
|
|
|
537
550
|
top: `${(_d = (_c = this.changes) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : 0}px`,
|
|
538
551
|
};
|
|
539
552
|
const capts = Object.assign(Object.assign({}, this.filterCaptionsInternal), this.filterCaptions);
|
|
540
|
-
return (h(Host, { key: '
|
|
553
|
+
return (h(Host, { key: '8859c452eb08838f65f18efecbdde7f65fda2b49' }, h("dialog", { key: 'f603067ff0986a9f344cbbf816388d2bbac198bb', class: "filter-panel-dialog", style: style, ref: el => (this.dialog = el), onCancel: e => {
|
|
541
554
|
e.preventDefault();
|
|
542
555
|
this.onCancel();
|
|
543
556
|
} }, this.changes && [
|
|
@@ -546,7 +559,7 @@ const FilterPanel = class {
|
|
|
546
559
|
((_g = this.changes) === null || _g === void 0 ? void 0 : _g.hideDefaultFilters) !== true && [
|
|
547
560
|
h("label", { key: "filter-title" }, capts.title),
|
|
548
561
|
h("div", { key: "filter-holder", class: "filter-holder" }, this.getFilterItemsList()),
|
|
549
|
-
h("div", { key: "add-filter", class: "add-filter" }, h("select", { key: '
|
|
562
|
+
h("div", { key: "add-filter", class: "add-filter" }, h("select", { key: '2ec0a66918edf91bdde3962b6ec84c89f6f1c8f1', id: FILTER_ID, class: "select-css", onChange: e => this.onAddNewFilter(e) }, this.renderSelectOptions(this.currentFilterType))),
|
|
550
563
|
],
|
|
551
564
|
h("slot", { key: "default-slot" }),
|
|
552
565
|
((_j = (_h = this.changes).extraBottomContent) === null || _j === void 0 ? void 0 : _j.call(_h, this.changes)) || '',
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { d as isTab, f as isEnterKeyValue } from './edit.utils-
|
|
5
|
-
import { t as timeout } from './index-
|
|
4
|
+
import { d as isTab, f as isEnterKeyValue } from './edit.utils-CXmmCnxE.js';
|
|
5
|
+
import { t as timeout } from './index-DBqlJITb.js';
|
|
6
6
|
|
|
7
7
|
class TextEditor {
|
|
8
8
|
constructor(data, saveCallback) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { j as getItemByPosition, K as createStore, l as setStore } from './dimension.helpers-
|
|
4
|
+
import { j as getItemByPosition, K as createStore, l as setStore } from './dimension.helpers-CXrsUc6f.js';
|
|
5
5
|
|
|
6
6
|
const LETTER_BLOCK_SIZE = 10;
|
|
7
7
|
const calculateRowHeaderSize = (itemsLength, rowHeaderColumn, minWidth = 50) => {
|
|
@@ -494,6 +494,11 @@ export namespace Components {
|
|
|
494
494
|
"refresh": () => Promise<void>;
|
|
495
495
|
}
|
|
496
496
|
interface RevogrFilterPanel {
|
|
497
|
+
/**
|
|
498
|
+
* Whether the filter panel allows the same operator more than once per column.
|
|
499
|
+
* @default true
|
|
500
|
+
*/
|
|
501
|
+
"allowDuplicateOperators": boolean;
|
|
497
502
|
/**
|
|
498
503
|
* If true, closes the filter panel when clicking outside
|
|
499
504
|
* @default true
|
|
@@ -1989,6 +1994,11 @@ declare namespace LocalJSX {
|
|
|
1989
1994
|
)[];
|
|
1990
1995
|
}
|
|
1991
1996
|
interface RevogrFilterPanel {
|
|
1997
|
+
/**
|
|
1998
|
+
* Whether the filter panel allows the same operator more than once per column.
|
|
1999
|
+
* @default true
|
|
2000
|
+
*/
|
|
2001
|
+
"allowDuplicateOperators"?: boolean;
|
|
1992
2002
|
/**
|
|
1993
2003
|
* If true, closes the filter panel when clicking outside
|
|
1994
2004
|
* @default true
|
|
@@ -2547,6 +2557,7 @@ declare namespace LocalJSX {
|
|
|
2547
2557
|
interface RevogrFilterPanelAttributes {
|
|
2548
2558
|
"disableDynamicFiltering": boolean;
|
|
2549
2559
|
"closeOnOutsideClick": boolean;
|
|
2560
|
+
"allowDuplicateOperators": boolean;
|
|
2550
2561
|
}
|
|
2551
2562
|
interface RevogrFocusAttributes {
|
|
2552
2563
|
"colType": DimensionCols;
|
|
@@ -32,6 +32,10 @@ export declare class FilterPanel {
|
|
|
32
32
|
* If true, closes the filter panel when clicking outside
|
|
33
33
|
*/
|
|
34
34
|
closeOnOutsideClick: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Whether the filter panel allows the same operator more than once per column.
|
|
37
|
+
*/
|
|
38
|
+
allowDuplicateOperators: boolean;
|
|
35
39
|
filterChange: EventEmitter<MultiFilterItem>;
|
|
36
40
|
resetChange: EventEmitter<ColumnProp>;
|
|
37
41
|
onMouseDown(e: MouseEvent): void;
|
|
@@ -46,6 +46,7 @@ export declare class FilterPlugin extends BasePlugin {
|
|
|
46
46
|
filterNameIndexByType: Record<string, string>;
|
|
47
47
|
filterFunctionsIndexedByType: Record<string, LogicFunction>;
|
|
48
48
|
filterProp: string;
|
|
49
|
+
private allowDuplicateOperators;
|
|
49
50
|
extraHyperContent?: (data: ShowData) => VNode | VNode[];
|
|
50
51
|
extraBottomHyperContent?: (data: ShowData) => VNode | VNode[];
|
|
51
52
|
constructor(revogrid: HTMLRevoGridElement, providers: PluginProviders, config?: ColumnFilterConfig | undefined);
|
|
@@ -86,6 +86,11 @@ export interface ColumnFilterConfig {
|
|
|
86
86
|
* Whether or not to close the filter panel when clicking outside
|
|
87
87
|
*/
|
|
88
88
|
closeFilterPanelOnOutsideClick?: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Whether the filter panel allows the same operator more than once per column.
|
|
91
|
+
* Defaults to true to preserve support for repeated conditions in multi-filter expressions.
|
|
92
|
+
*/
|
|
93
|
+
allowDuplicateOperators?: boolean;
|
|
89
94
|
}
|
|
90
95
|
export type FilterCollectionItem = {
|
|
91
96
|
type: FilterType;
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { RowGroupingProps } from './grouping.row.types';
|
|
2
|
-
import type { DataType } from "../../types/index";
|
|
2
|
+
import type { DataType, VNodeResponse } from "../../types/index";
|
|
3
3
|
export declare function expandEvent(e: MouseEvent, model: DataType, virtualIndex: number): void;
|
|
4
|
+
export declare function renderGroupCells(props: RowGroupingProps, { name, expanded, depth, }: {
|
|
5
|
+
name: string;
|
|
6
|
+
expanded: boolean;
|
|
7
|
+
depth: number;
|
|
8
|
+
}): VNodeResponse[];
|
|
4
9
|
export declare const GroupingRowRenderer: (props: RowGroupingProps) => any;
|
|
5
10
|
export declare const expandSvgIconVNode: (expanded?: boolean) => any;
|
|
6
11
|
export default GroupingRowRenderer;
|