@revolist/revogrid 4.9.3 → 4.9.5

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 (124) hide show
  1. package/dist/cjs/{column.service-01f4a6c7.js → column.service-08df359f.js} +3 -3
  2. package/dist/cjs/{column.service-01f4a6c7.js.map → column.service-08df359f.js.map} +1 -1
  3. package/dist/cjs/{base.plugin-bf5f43a0.js → column.utils-0f0f4dc4.js} +127 -2
  4. package/dist/cjs/column.utils-0f0f4dc4.js.map +1 -0
  5. package/dist/cjs/{dimension.helpers-a6788214.js → dimension.helpers-85294778.js} +1 -2
  6. package/dist/cjs/dimension.helpers-85294778.js.map +1 -0
  7. package/dist/cjs/{header-cell-renderer-3bc70679.js → header-cell-renderer-fb2f9a2d.js} +2 -2
  8. package/dist/cjs/{header-cell-renderer-3bc70679.js.map → header-cell-renderer-fb2f9a2d.js.map} +1 -1
  9. package/dist/cjs/index.cjs.js +15 -9
  10. package/dist/cjs/index.cjs.js.map +1 -1
  11. package/dist/cjs/revo-grid.cjs.entry.js +80 -250
  12. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  13. package/dist/cjs/revogr-attribution_6.cjs.entry.js +8 -7
  14. package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
  15. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +3 -3
  16. package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
  17. package/dist/cjs/revogr-data_4.cjs.entry.js +4 -4
  18. package/dist/cjs/{selection.helpers-1a8c8d49.js → selection.helpers-371a38aa.js} +2 -2
  19. package/dist/cjs/{selection.helpers-1a8c8d49.js.map → selection.helpers-371a38aa.js.map} +1 -1
  20. package/dist/cjs/{viewport.store-35a3e7ee.js → viewport.store-300977e4.js} +2 -2
  21. package/dist/cjs/{viewport.store-35a3e7ee.js.map → viewport.store-300977e4.js.map} +1 -1
  22. package/dist/collection/components/clipboard/revogr-clipboard.js +2 -2
  23. package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -1
  24. package/dist/collection/components/editors/revogr-edit.js +1 -1
  25. package/dist/collection/components/overlay/revogr-overlay-selection.js +19 -8
  26. package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
  27. package/dist/collection/components/overlay/selection.utils.js.map +1 -1
  28. package/dist/collection/components/revoGrid/revo-grid.js +12 -11
  29. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  30. package/dist/collection/index.js +1 -0
  31. package/dist/collection/index.js.map +1 -1
  32. package/dist/collection/plugins/base.plugin.js.map +1 -1
  33. package/dist/collection/plugins/column.auto-size.plugin.js +2 -2
  34. package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -1
  35. package/dist/collection/plugins/column.stretch.plugin.js.map +1 -1
  36. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -1
  37. package/dist/collection/plugins/moveColumn/column.drag.plugin.js +1 -1
  38. package/dist/collection/plugins/moveColumn/column.drag.plugin.js.map +1 -1
  39. package/dist/collection/plugins/sorting/sorting.plugin.js +2 -2
  40. package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
  41. package/dist/collection/services/column.data.provider.js +32 -88
  42. package/dist/collection/services/column.data.provider.js.map +1 -1
  43. package/dist/collection/services/dimension.provider.js +2 -2
  44. package/dist/collection/services/dimension.provider.js.map +1 -1
  45. package/dist/collection/types/interfaces.js.map +1 -1
  46. package/dist/collection/utils/column.utils.js +124 -0
  47. package/dist/collection/utils/column.utils.js.map +1 -0
  48. package/dist/esm/{column.service-5d14e7e9.js → column.service-cfc1149b.js} +3 -3
  49. package/dist/esm/{column.service-5d14e7e9.js.map → column.service-cfc1149b.js.map} +1 -1
  50. package/dist/esm/{base.plugin-5e7a3c51.js → column.utils-f6300fb5.js} +122 -3
  51. package/dist/esm/column.utils-f6300fb5.js.map +1 -0
  52. package/dist/esm/{dimension.helpers-56298828.js → dimension.helpers-938ea850.js} +2 -2
  53. package/dist/esm/dimension.helpers-938ea850.js.map +1 -0
  54. package/dist/esm/{header-cell-renderer-fc999784.js → header-cell-renderer-6f8eb067.js} +2 -2
  55. package/dist/esm/{header-cell-renderer-fc999784.js.map → header-cell-renderer-6f8eb067.js.map} +1 -1
  56. package/dist/esm/index.js +4 -4
  57. package/dist/esm/revo-grid.entry.js +49 -219
  58. package/dist/esm/revo-grid.entry.js.map +1 -1
  59. package/dist/esm/revogr-attribution_6.entry.js +8 -7
  60. package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
  61. package/dist/esm/revogr-clipboard_3.entry.js +3 -3
  62. package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
  63. package/dist/esm/revogr-data_4.entry.js +4 -4
  64. package/dist/esm/{selection.helpers-accaad4a.js → selection.helpers-a49a3d09.js} +2 -2
  65. package/dist/esm/{selection.helpers-accaad4a.js.map → selection.helpers-a49a3d09.js.map} +1 -1
  66. package/dist/esm/{viewport.store-d8e03528.js → viewport.store-a690096b.js} +2 -2
  67. package/dist/esm/{viewport.store-d8e03528.js.map → viewport.store-a690096b.js.map} +1 -1
  68. package/dist/revo-grid/{column.service-5d14e7e9.js → column.service-cfc1149b.js} +2 -2
  69. package/dist/revo-grid/column.utils-f6300fb5.js +5 -0
  70. package/dist/revo-grid/column.utils-f6300fb5.js.map +1 -0
  71. package/dist/revo-grid/{dimension.helpers-56298828.js → dimension.helpers-938ea850.js} +2 -2
  72. package/dist/revo-grid/{header-cell-renderer-fc999784.js → header-cell-renderer-6f8eb067.js} +2 -2
  73. package/dist/revo-grid/index.esm.js +1 -1
  74. package/dist/revo-grid/revo-grid.entry.js +1 -1
  75. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  76. package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
  77. package/dist/revo-grid/revogr-attribution_6.entry.js.map +1 -1
  78. package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
  79. package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -1
  80. package/dist/revo-grid/revogr-data_4.entry.js +1 -1
  81. package/dist/revo-grid/{selection.helpers-accaad4a.js → selection.helpers-a49a3d09.js} +2 -2
  82. package/dist/revo-grid/{viewport.store-d8e03528.js → viewport.store-a690096b.js} +2 -2
  83. package/dist/types/components/overlay/revogr-overlay-selection.d.ts +6 -2
  84. package/dist/types/components/overlay/selection.utils.d.ts +2 -1
  85. package/dist/types/components/revoGrid/revo-grid.d.ts +2 -1
  86. package/dist/types/components.d.ts +8 -6
  87. package/dist/types/index.d.ts +1 -0
  88. package/dist/types/plugins/base.plugin.d.ts +1 -1
  89. package/dist/types/plugins/column.auto-size.plugin.d.ts +1 -2
  90. package/dist/types/plugins/column.stretch.plugin.d.ts +2 -4
  91. package/dist/types/services/column.data.provider.d.ts +2 -13
  92. package/dist/types/services/dimension.provider.d.ts +0 -1
  93. package/dist/types/types/interfaces.d.ts +11 -11
  94. package/dist/types/utils/column.utils.d.ts +46 -0
  95. package/hydrate/index.js +304 -354
  96. package/hydrate/index.mjs +304 -354
  97. package/package.json +1 -1
  98. package/standalone/column.service.js +1 -1
  99. package/standalone/data.store.js +1 -1
  100. package/standalone/data.store.js.map +1 -1
  101. package/standalone/dimension.helpers.js +1 -1
  102. package/standalone/index.js +1 -1
  103. package/standalone/revo-grid.js +165 -216
  104. package/standalone/revo-grid.js.map +1 -1
  105. package/standalone/revogr-clipboard2.js +2 -2
  106. package/standalone/revogr-clipboard2.js.map +1 -1
  107. package/standalone/revogr-header2.js +1 -1
  108. package/standalone/revogr-overlay-selection2.js +4 -3
  109. package/standalone/revogr-overlay-selection2.js.map +1 -1
  110. package/standalone/selection.utils.js.map +1 -1
  111. package/dist/cjs/base.plugin-bf5f43a0.js.map +0 -1
  112. package/dist/cjs/dimension.helpers-a6788214.js.map +0 -1
  113. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js +0 -43
  114. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js.map +0 -1
  115. package/dist/esm/base.plugin-5e7a3c51.js.map +0 -1
  116. package/dist/esm/dimension.helpers-56298828.js.map +0 -1
  117. package/dist/revo-grid/base.plugin-5e7a3c51.js +0 -5
  118. package/dist/revo-grid/base.plugin-5e7a3c51.js.map +0 -1
  119. package/dist/types/plugins/groupingColumn/grouping.col.plugin.d.ts +0 -17
  120. /package/dist/revo-grid/{column.service-5d14e7e9.js.map → column.service-cfc1149b.js.map} +0 -0
  121. /package/dist/revo-grid/{dimension.helpers-56298828.js.map → dimension.helpers-938ea850.js.map} +0 -0
  122. /package/dist/revo-grid/{header-cell-renderer-fc999784.js.map → header-cell-renderer-6f8eb067.js.map} +0 -0
  123. /package/dist/revo-grid/{selection.helpers-accaad4a.js.map → selection.helpers-a49a3d09.js.map} +0 -0
  124. /package/dist/revo-grid/{viewport.store-d8e03528.js.map → viewport.store-a690096b.js.map} +0 -0
@@ -6,18 +6,18 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index$1 = require('./index-10d10c55.js');
9
- const dimension_helpers = require('./dimension.helpers-a6788214.js');
10
- const base_plugin = require('./base.plugin-bf5f43a0.js');
9
+ const dimension_helpers = require('./dimension.helpers-85294778.js');
10
+ const column_utils = require('./column.utils-0f0f4dc4.js');
11
11
  const toNumber = require('./toNumber-838e6ff5.js');
12
- const selection_helpers = require('./selection.helpers-1a8c8d49.js');
12
+ const selection_helpers = require('./selection.helpers-371a38aa.js');
13
13
  const debounce = require('./debounce-e2b7c6fb.js');
14
14
  const index = require('./index-2410bbd9.js');
15
- const viewport_store = require('./viewport.store-35a3e7ee.js');
15
+ const viewport_store = require('./viewport.store-300977e4.js');
16
16
  const filter_button = require('./filter.button-afb16244.js');
17
- const column_service = require('./column.service-01f4a6c7.js');
17
+ const column_service = require('./column.service-08df359f.js');
18
18
  const events = require('./events-b28cc194.js');
19
19
  const dispatcher = require('./dispatcher-998aa470.js');
20
- const headerCellRenderer = require('./header-cell-renderer-3bc70679.js');
20
+ const headerCellRenderer = require('./header-cell-renderer-fb2f9a2d.js');
21
21
 
22
22
  class ThemeCompact {
23
23
  constructor() {
@@ -84,8 +84,8 @@ class ThemeService {
84
84
  }
85
85
  }
86
86
 
87
- var baseIteratee$1 = dimension_helpers._baseIteratee,
88
- isArrayLike$2 = dimension_helpers.isArrayLike_1,
87
+ var baseIteratee = dimension_helpers._baseIteratee,
88
+ isArrayLike$1 = dimension_helpers.isArrayLike_1,
89
89
  keys = dimension_helpers.keys_1;
90
90
 
91
91
  /**
@@ -98,8 +98,8 @@ var baseIteratee$1 = dimension_helpers._baseIteratee,
98
98
  function createFind$1(findIndexFunc) {
99
99
  return function(collection, predicate, fromIndex) {
100
100
  var iterable = Object(collection);
101
- if (!isArrayLike$2(collection)) {
102
- var iteratee = baseIteratee$1(predicate);
101
+ if (!isArrayLike$1(collection)) {
102
+ var iteratee = baseIteratee(predicate);
103
103
  collection = keys(collection);
104
104
  predicate = function(key) { return iteratee(iterable[key], key, iterable); };
105
105
  }
@@ -153,133 +153,23 @@ var find = createFind(findIndex);
153
153
 
154
154
  var find_1 = find;
155
155
 
156
- var baseEach = dimension_helpers._baseEach,
157
- isArrayLike$1 = dimension_helpers.isArrayLike_1;
158
-
159
- /**
160
- * The base implementation of `_.map` without support for iteratee shorthands.
161
- *
162
- * @private
163
- * @param {Array|Object} collection The collection to iterate over.
164
- * @param {Function} iteratee The function invoked per iteration.
165
- * @returns {Array} Returns the new mapped array.
166
- */
167
- function baseMap$1(collection, iteratee) {
168
- var index = -1,
169
- result = isArrayLike$1(collection) ? Array(collection.length) : [];
170
-
171
- baseEach(collection, function(value, key, collection) {
172
- result[++index] = iteratee(value, key, collection);
173
- });
174
- return result;
175
- }
176
-
177
- var _baseMap = baseMap$1;
178
-
179
- var arrayMap = dimension_helpers._arrayMap,
180
- baseIteratee = dimension_helpers._baseIteratee,
181
- baseMap = _baseMap,
182
- isArray$1 = dimension_helpers.isArray_1;
183
-
184
- /**
185
- * Creates an array of values by running each element in `collection` thru
186
- * `iteratee`. The iteratee is invoked with three arguments:
187
- * (value, index|key, collection).
188
- *
189
- * Many lodash methods are guarded to work as iteratees for methods like
190
- * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.
191
- *
192
- * The guarded methods are:
193
- * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,
194
- * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,
195
- * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,
196
- * `template`, `trim`, `trimEnd`, `trimStart`, and `words`
197
- *
198
- * @static
199
- * @memberOf _
200
- * @since 0.1.0
201
- * @category Collection
202
- * @param {Array|Object} collection The collection to iterate over.
203
- * @param {Function} [iteratee=_.identity] The function invoked per iteration.
204
- * @returns {Array} Returns the new mapped array.
205
- * @example
206
- *
207
- * function square(n) {
208
- * return n * n;
209
- * }
210
- *
211
- * _.map([4, 8], square);
212
- * // => [16, 64]
213
- *
214
- * _.map({ 'a': 4, 'b': 8 }, square);
215
- * // => [16, 64] (iteration order is not guaranteed)
216
- *
217
- * var users = [
218
- * { 'user': 'barney' },
219
- * { 'user': 'fred' }
220
- * ];
221
- *
222
- * // The `_.property` iteratee shorthand.
223
- * _.map(users, 'user');
224
- * // => ['barney', 'fred']
225
- */
226
- function map(collection, iteratee) {
227
- var func = isArray$1(collection) ? arrayMap : baseMap;
228
- return func(collection, baseIteratee(iteratee));
229
- }
230
-
231
- var map_1 = map;
232
-
233
- class GroupingColumnPlugin extends base_plugin.BasePlugin {
234
- static gatherGroup(res, colData, collection, level = 0) {
235
- // group template
236
- const group = Object.assign(Object.assign({}, colData), { level, ids: [] });
237
- // check columns for update
238
- for (let k in collection.columns) {
239
- const key = k;
240
- const resultItem = res.columns[key];
241
- const collectionItem = collection.columns[key];
242
- // if column data
243
- if (dimension_helpers.isArray_1(resultItem) && dimension_helpers.isArray_1(collectionItem)) {
244
- // fill columns
245
- resultItem.push(...collectionItem);
246
- // fill grouping
247
- if (collectionItem.length) {
248
- res.columnGrouping[key].push(Object.assign(Object.assign({}, group), { ids: map_1(collectionItem, 'prop') }));
249
- }
250
- }
251
- }
252
- // merge column groupings
253
- for (let k in collection.columnGrouping) {
254
- const key = k;
255
- const collectionItem = collection.columnGrouping[key];
256
- res.columnGrouping[key].push(...collectionItem);
257
- }
258
- res.maxLevel = Math.max(res.maxLevel, collection.maxLevel);
259
- res.sort = Object.assign(Object.assign({}, res.sort), collection.sort);
260
- return res;
261
- }
262
- }
263
- /**
264
- * Check if column is grouping column
265
- */
266
- function isColGrouping(colData) {
267
- return !!colData.children;
268
- }
269
-
270
156
  class ColumnDataProvider {
271
157
  get order() {
272
- return dimension_helpers.reduce_1(this.sorting, (r, c, prop) => {
273
- r[prop] = c.order;
274
- return r;
275
- }, {});
158
+ const order = {};
159
+ const sorting = this.sorting;
160
+ if (sorting) {
161
+ Object.keys(sorting).forEach((prop) => {
162
+ order[prop] = sorting[prop].order;
163
+ });
164
+ }
165
+ return order;
276
166
  }
277
167
  get stores() {
278
168
  return this.dataSources;
279
169
  }
280
170
  constructor() {
281
171
  this.sorting = null;
282
- this.dataSources = dimension_helpers.reduce_1(base_plugin.columnTypes, (sources, k) => {
172
+ this.dataSources = column_utils.columnTypes.reduce((sources, k) => {
283
173
  sources[k] = new dimension_helpers.DataStore(k);
284
174
  return sources;
285
175
  }, {});
@@ -304,7 +194,7 @@ class ColumnDataProvider {
304
194
  if (type !== 'all') {
305
195
  return this.dataSources[type].store.get('source');
306
196
  }
307
- return base_plugin.columnTypes.reduce((r, t) => {
197
+ return column_utils.columnTypes.reduce((r, t) => {
308
198
  r.push(...this.dataSources[t].store.get('source'));
309
199
  return r;
310
200
  }, []);
@@ -320,7 +210,7 @@ class ColumnDataProvider {
320
210
  this.dataSources[type].refresh();
321
211
  }
322
212
  setColumns(data) {
323
- base_plugin.columnTypes.forEach(k => {
213
+ column_utils.columnTypes.forEach(k => {
324
214
  // set columns data
325
215
  this.dataSources[k].updateData(data.columns[k], {
326
216
  // max depth level
@@ -341,7 +231,7 @@ class ColumnDataProvider {
341
231
  updateColumns(cols) {
342
232
  // collect column by type and propert
343
233
  const columnByKey = cols.reduce((res, c) => {
344
- const type = ColumnDataProvider.getColumnType(c);
234
+ const type = column_utils.getColumnType(c);
345
235
  if (!res[type]) {
346
236
  res[type] = {};
347
237
  }
@@ -350,20 +240,32 @@ class ColumnDataProvider {
350
240
  }, {});
351
241
  // find indexes in source
352
242
  const colByIndex = {};
353
- dimension_helpers.each(columnByKey, (colsToUpdate, type) => {
243
+ for (const t in columnByKey) {
244
+ if (!columnByKey.hasOwnProperty(t)) {
245
+ continue;
246
+ }
247
+ const type = t;
248
+ const colsToUpdate = columnByKey[type];
354
249
  const items = this.dataSources[type].store.get('source');
355
- colByIndex[type] = items.reduce((result, rgCol, index) => {
250
+ colByIndex[type] = {};
251
+ for (let i = 0; i < items.length; i++) {
252
+ const rgCol = items[i];
356
253
  const colToUpdateIfExists = colsToUpdate === null || colsToUpdate === void 0 ? void 0 : colsToUpdate[rgCol.prop];
357
254
  if (colToUpdateIfExists) {
358
- result[index] = colToUpdateIfExists;
255
+ colByIndex[type][i] = colToUpdateIfExists;
359
256
  }
360
- return result;
361
- }, {});
362
- });
363
- dimension_helpers.each(colByIndex, (colsToUpdate, type) => dimension_helpers.setSourceByVirtualIndex(this.dataSources[type].store, colsToUpdate || {}));
257
+ }
258
+ }
259
+ for (const t in colByIndex) {
260
+ if (!colByIndex.hasOwnProperty(t)) {
261
+ continue;
262
+ }
263
+ const type = t;
264
+ dimension_helpers.setSourceByVirtualIndex(this.dataSources[type].store, colByIndex[type] || {});
265
+ }
364
266
  }
365
267
  updateColumn(column, index) {
366
- const type = ColumnDataProvider.getColumnType(column);
268
+ const type = column_utils.getColumnType(column);
367
269
  dimension_helpers.setSourceByVirtualIndex(this.dataSources[type].store, { [index]: column });
368
270
  }
369
271
  updateColumnSorting(column, index, sorting, additive) {
@@ -380,7 +282,7 @@ class ColumnDataProvider {
380
282
  }
381
283
  clearSorting() {
382
284
  const types = dimension_helpers.reduce_1(this.sorting, (r, c) => {
383
- const k = ColumnDataProvider.getColumnType(c);
285
+ const k = column_utils.getColumnType(c);
384
286
  r[k] = true;
385
287
  return r;
386
288
  }, {});
@@ -391,78 +293,6 @@ class ColumnDataProvider {
391
293
  });
392
294
  this.sorting = {};
393
295
  }
394
- static getSizes(cols) {
395
- return dimension_helpers.reduce_1(cols, (res, c, i) => {
396
- if (c.size) {
397
- res[i] = c.size;
398
- }
399
- return res;
400
- }, {});
401
- }
402
- static getColumnByProp(columns, prop) {
403
- return find_1(columns, c => {
404
- if (isColGrouping(c)) {
405
- return ColumnDataProvider.getColumnByProp(c.children, prop);
406
- }
407
- return c.prop === prop;
408
- });
409
- }
410
- // columns processing
411
- static getColumns(columns, level = 0, types) {
412
- const collection = {
413
- // columns as they are in stores per type
414
- columns: {
415
- rgCol: [],
416
- colPinStart: [],
417
- colPinEnd: [],
418
- },
419
- // columns grouped by prop for quick access
420
- columnByProp: {},
421
- // column grouping
422
- columnGrouping: {
423
- rgCol: [],
424
- colPinStart: [],
425
- colPinEnd: [],
426
- },
427
- // max depth level for column grouping
428
- maxLevel: level,
429
- // sorting
430
- sort: {},
431
- };
432
- return dimension_helpers.reduce_1(columns, (res, colData) => {
433
- // Grouped column
434
- if (isColGrouping(colData)) {
435
- return GroupingColumnPlugin.gatherGroup(res, colData, ColumnDataProvider.getColumns(colData.children, level + 1, types), level);
436
- }
437
- // Regular column
438
- const regularColumn = Object.assign(Object.assign({}, (colData.columnType && types && types[colData.columnType])), colData);
439
- // Regular column, no Pin
440
- if (!regularColumn.pin) {
441
- res.columns.rgCol.push(regularColumn);
442
- // Pin
443
- }
444
- else {
445
- res.columns[regularColumn.pin].push(regularColumn);
446
- }
447
- if (regularColumn.order) {
448
- res.sort[regularColumn.prop] = regularColumn;
449
- }
450
- // technically it's possible that some columns have same prop, but better to avoid it
451
- if (!res.columnByProp[regularColumn.prop]) {
452
- res.columnByProp[regularColumn.prop] = [];
453
- }
454
- res.columnByProp[regularColumn.prop].push(regularColumn);
455
- // trigger setup hook if present
456
- regularColumn.beforeSetup && regularColumn.beforeSetup(regularColumn);
457
- return res;
458
- }, collection);
459
- }
460
- static getColumnType(rgCol) {
461
- if (rgCol.pin) {
462
- return rgCol.pin;
463
- }
464
- return 'rgCol';
465
- }
466
296
  }
467
297
 
468
298
  /**
@@ -471,7 +301,7 @@ class ColumnDataProvider {
471
301
  class DataProvider {
472
302
  constructor(dimensionProvider) {
473
303
  this.dimensionProvider = dimensionProvider;
474
- this.stores = dimension_helpers.reduce_1(base_plugin.rowTypes, (sources, k) => {
304
+ this.stores = dimension_helpers.reduce_1(column_utils.rowTypes, (sources, k) => {
475
305
  sources[k] = new dimension_helpers.DataStore(k);
476
306
  return sources;
477
307
  }, {});
@@ -509,10 +339,10 @@ class DataProvider {
509
339
  dimension_helpers.setSourceByVirtualIndex(this.stores[type].store, items);
510
340
  }
511
341
  refresh(type = 'all') {
512
- if (base_plugin.isRowType(type)) {
342
+ if (column_utils.isRowType(type)) {
513
343
  this.refreshItems(type);
514
344
  }
515
- base_plugin.rowTypes.forEach((t) => this.refreshItems(t));
345
+ column_utils.rowTypes.forEach((t) => this.refreshItems(t));
516
346
  }
517
347
  refreshItems(type = 'rgRow') {
518
348
  const items = this.stores[type].store.get('items');
@@ -539,8 +369,8 @@ class DimensionProvider {
539
369
  constructor(viewports, config) {
540
370
  this.viewports = viewports;
541
371
  const sizeChanged = debounce.debounce_1((k) => config.realSizeChanged(k), index.RESIZE_INTERVAL);
542
- this.stores = dimension_helpers.reduce_1([...base_plugin.rowTypes, ...base_plugin.columnTypes], (sources, k) => {
543
- sources[k] = new base_plugin.DimensionStore();
372
+ this.stores = dimension_helpers.reduce_1([...column_utils.rowTypes, ...column_utils.columnTypes], (sources, k) => {
373
+ sources[k] = new column_utils.DimensionStore();
544
374
  sources[k].store.onChange('realSize', () => sizeChanged(k));
545
375
  return sources;
546
376
  }, {});
@@ -604,7 +434,7 @@ class DimensionProvider {
604
434
  this.updateViewport(type);
605
435
  }
606
436
  applyNewColumns(columns, disableVirtualX) {
607
- for (let type of base_plugin.columnTypes) {
437
+ for (let type of column_utils.columnTypes) {
608
438
  // clear existing data
609
439
  this.stores[type].drop();
610
440
  const items = columns[type];
@@ -613,7 +443,7 @@ class DimensionProvider {
613
443
  // setItemCount
614
444
  this.stores[type].setStore({ count: items.length });
615
445
  // setCustomSizes
616
- const newSizes = ColumnDataProvider.getSizes(items);
446
+ const newSizes = column_utils.getColumnSizes(items);
617
447
  this.stores[type].setDimensionSize(newSizes);
618
448
  const vpUpdate = {
619
449
  // this triggers drop on realCount change
@@ -634,10 +464,10 @@ class DimensionProvider {
634
464
  var _a, _b;
635
465
  let x = 0;
636
466
  let y = 0;
637
- for (let type of base_plugin.columnTypes) {
467
+ for (let type of column_utils.columnTypes) {
638
468
  x += ((_a = this.stores[type]) === null || _a === void 0 ? void 0 : _a.store.get('realSize')) || 0;
639
469
  }
640
- for (let type of base_plugin.rowTypes) {
470
+ for (let type of column_utils.rowTypes) {
641
471
  y += ((_b = this.stores[type]) === null || _b === void 0 ? void 0 : _b.store.get('realSize')) || 0;
642
472
  }
643
473
  return { y, x };
@@ -662,10 +492,10 @@ class DimensionProvider {
662
492
  let stores = [];
663
493
  switch (dimensionType) {
664
494
  case 'rgCol':
665
- stores = base_plugin.columnTypes;
495
+ stores = column_utils.columnTypes;
666
496
  break;
667
497
  case 'rgRow':
668
- stores = base_plugin.rowTypes;
498
+ stores = column_utils.rowTypes;
669
499
  break;
670
500
  }
671
501
  for (let s of stores) {
@@ -676,7 +506,7 @@ class DimensionProvider {
676
506
 
677
507
  class ViewportProvider {
678
508
  constructor() {
679
- this.stores = dimension_helpers.reduce_1([...base_plugin.rowTypes, ...base_plugin.columnTypes], (sources, k) => {
509
+ this.stores = dimension_helpers.reduce_1([...column_utils.rowTypes, ...column_utils.columnTypes], (sources, k) => {
680
510
  sources[k] = new viewport_store.ViewportStore(k);
681
511
  return sources;
682
512
  }, {});
@@ -700,7 +530,7 @@ var ColumnAutoSizeMode;
700
530
  // increases and decreases column width based on all items sizes, worst for performance
701
531
  ColumnAutoSizeMode["autoSizeAll"] = "autoSizeAll";
702
532
  })(ColumnAutoSizeMode || (ColumnAutoSizeMode = {}));
703
- class AutoSizeColumnPlugin extends base_plugin.BasePlugin {
533
+ class AutoSizeColumnPlugin extends column_utils.BasePlugin {
704
534
  constructor(revogrid, providers, config) {
705
535
  super(revogrid, providers);
706
536
  this.providers = providers;
@@ -728,7 +558,7 @@ class AutoSizeColumnPlugin extends base_plugin.BasePlugin {
728
558
  this.columnSet(columns);
729
559
  };
730
560
  const headerDblClick = ({ detail }) => {
731
- const type = ColumnDataProvider.getColumnType(detail.column);
561
+ const type = column_utils.getColumnType(detail.column);
732
562
  const size = this.getColumnSize(detail.index, type);
733
563
  if (size) {
734
564
  this.providers.dimension.setCustomSizes(type, {
@@ -862,7 +692,7 @@ class AutoSizeColumnPlugin extends base_plugin.BasePlugin {
862
692
  }
863
693
  columnSet(columns) {
864
694
  var _a;
865
- for (let t of base_plugin.columnTypes) {
695
+ for (let t of column_utils.columnTypes) {
866
696
  const type = t;
867
697
  const cols = columns[type];
868
698
  for (let i in cols) {
@@ -1043,7 +873,7 @@ const filterTypes = {
1043
873
 
1044
874
  const FILTER_TRIMMED_TYPE = 'filter';
1045
875
  const FILTER_CONFIG_CHANGED_EVENT = 'filterconfigchanged';
1046
- class FilterPlugin extends base_plugin.BasePlugin {
876
+ class FilterPlugin extends column_utils.BasePlugin {
1047
877
  constructor(revogrid, providers, config) {
1048
878
  var _a;
1049
879
  super(revogrid, providers);
@@ -1525,7 +1355,7 @@ var size_1 = size;
1525
1355
  *
1526
1356
  * Note: If you prevent an event, it will not proceed to the subsequent steps.
1527
1357
  */
1528
- class SortingPlugin extends base_plugin.BasePlugin {
1358
+ class SortingPlugin extends column_utils.BasePlugin {
1529
1359
  async runSorting(order, comparison) {
1530
1360
  var _a;
1531
1361
  await this.sort(order, comparison);
@@ -1551,7 +1381,7 @@ class SortingPlugin extends base_plugin.BasePlugin {
1551
1381
  const columns = (await this.revogrid.getColumns());
1552
1382
  const sortingFunc = {};
1553
1383
  for (let prop in order) {
1554
- const cmp = this.getComparer(ColumnDataProvider.getColumnByProp(columns, prop), order[prop]);
1384
+ const cmp = this.getComparer(column_utils.getColumnByProp(columns, prop), order[prop]);
1555
1385
  sortingFunc[prop] = cmp;
1556
1386
  }
1557
1387
  this.runSorting(order, sortingFunc);
@@ -1951,7 +1781,7 @@ var ExportTypes;
1951
1781
  (function (ExportTypes) {
1952
1782
  ExportTypes["csv"] = "csv";
1953
1783
  })(ExportTypes || (ExportTypes = {}));
1954
- class ExportFilePlugin extends base_plugin.BasePlugin {
1784
+ class ExportFilePlugin extends column_utils.BasePlugin {
1955
1785
  /** Exports string */
1956
1786
  async exportString(options = {}, t = ExportTypes.csv) {
1957
1787
  const data = await this.beforeexport();
@@ -2009,7 +1839,7 @@ class ExportFilePlugin extends base_plugin.BasePlugin {
2009
1839
  const data = await this.getSource();
2010
1840
  const colSource = [];
2011
1841
  const colPromises = [];
2012
- base_plugin.columnTypes.forEach((t, i) => {
1842
+ column_utils.columnTypes.forEach((t, i) => {
2013
1843
  colPromises.push(this.getColPerSource(t).then(s => (colSource[i] = s)));
2014
1844
  });
2015
1845
  await Promise.all(colPromises);
@@ -2085,7 +1915,7 @@ class ExportFilePlugin extends base_plugin.BasePlugin {
2085
1915
  async getSource() {
2086
1916
  const data = [];
2087
1917
  const promisesData = [];
2088
- base_plugin.rowTypes.forEach(t => {
1918
+ column_utils.rowTypes.forEach(t => {
2089
1919
  const dataPart = [];
2090
1920
  data.push(dataPart);
2091
1921
  const promise = this.revogrid.getVisibleSource(t).then((d) => dataPart.push(...d));
@@ -2227,7 +2057,7 @@ function processDoubleConversionTrimmed(initiallyTrimed, firstLevelMap, secondLe
2227
2057
  return trimemedOptionsToUpgrade;
2228
2058
  }
2229
2059
 
2230
- class GroupingRowPlugin extends base_plugin.BasePlugin {
2060
+ class GroupingRowPlugin extends column_utils.BasePlugin {
2231
2061
  get hasProps() {
2232
2062
  var _a, _b, _c;
2233
2063
  return ((_a = this.options) === null || _a === void 0 ? void 0 : _a.props) && ((_c = (_b = this.options) === null || _b === void 0 ? void 0 : _b.props) === null || _c === void 0 ? void 0 : _c.length);
@@ -2314,7 +2144,7 @@ class GroupingRowPlugin extends base_plugin.BasePlugin {
2314
2144
  return false;
2315
2145
  }
2316
2146
  setColumns({ columns }) {
2317
- for (let type of base_plugin.columnTypes) {
2147
+ for (let type of column_utils.columnTypes) {
2318
2148
  if (this.setColumnGrouping(columns[type])) {
2319
2149
  break;
2320
2150
  }
@@ -2433,7 +2263,7 @@ class GroupingRowPlugin extends base_plugin.BasePlugin {
2433
2263
  this.doSourceUpdate(Object.assign({}, options));
2434
2264
  }
2435
2265
  // props exist and columns inited
2436
- for (let t of base_plugin.columnTypes) {
2266
+ for (let t of column_utils.columnTypes) {
2437
2267
  if (this.setColumnGrouping(this.providers.column.getColumns(t))) {
2438
2268
  this.providers.column.refreshByType(t);
2439
2269
  break;
@@ -2445,7 +2275,7 @@ class GroupingRowPlugin extends base_plugin.BasePlugin {
2445
2275
  // clear grouping
2446
2276
  clearGrouping() {
2447
2277
  // clear columns
2448
- base_plugin.columnTypes.forEach(t => {
2278
+ column_utils.columnTypes.forEach(t => {
2449
2279
  const cols = this.providers.column.getColumns(t);
2450
2280
  let deleted = false;
2451
2281
  cols.forEach(c => {
@@ -2516,7 +2346,7 @@ class ViewportService {
2516
2346
  // Transform data from stores and apply it to different components
2517
2347
  const columns = [];
2518
2348
  let x = 0; // we increase x only if column present
2519
- base_plugin.columnTypes.forEach(val => {
2349
+ column_utils.columnTypes.forEach(val => {
2520
2350
  const colStore = config.columnProvider.stores[val].store;
2521
2351
  // only columns that have data show
2522
2352
  if (!colStore.get('items').length) {
@@ -2609,7 +2439,7 @@ class ViewportService {
2609
2439
  };
2610
2440
  // y position for selection
2611
2441
  let y = 0;
2612
- return base_plugin.rowTypes.reduce((result, type) => {
2442
+ return column_utils.rowTypes.reduce((result, type) => {
2613
2443
  // filter out empty sources, we still need to return source to keep slot working
2614
2444
  const isPresent = data.viewports[type].store.get('realCount') || type === 'rgRow';
2615
2445
  const rgCol = Object.assign(Object.assign({}, data), { position: Object.assign(Object.assign({}, data.position), { y: isPresent ? y : selection_helpers.EMPTY_INDEX }) });
@@ -2739,9 +2569,9 @@ class GridScrollingService {
2739
2569
  if (elKey === key) {
2740
2570
  continue;
2741
2571
  }
2742
- if (base_plugin.columnTypes.includes(key) &&
2572
+ if (column_utils.columnTypes.includes(key) &&
2743
2573
  (elKey === 'headerRow' ||
2744
- base_plugin.columnTypes.includes(elKey))) {
2574
+ column_utils.columnTypes.includes(elKey))) {
2745
2575
  for (let el of this.elements[elKey]) {
2746
2576
  await ((_a = el.changeScroll) === null || _a === void 0 ? void 0 : _a.call(el, e, true));
2747
2577
  }
@@ -2827,7 +2657,7 @@ const OrderRenderer = ({ ref }) => {
2827
2657
  index$1.h("div", { class: "drag-position", ref: e => (service.rgRow = e) })));
2828
2658
  };
2829
2659
 
2830
- class StretchColumn extends base_plugin.BasePlugin {
2660
+ class StretchColumn extends column_utils.BasePlugin {
2831
2661
  constructor(revogrid, providers) {
2832
2662
  super(revogrid, providers);
2833
2663
  this.providers = providers;
@@ -3021,7 +2851,7 @@ const DRAG_END = 'columndragend';
3021
2851
  const BEFORE_DRAG_END = 'beforecolumndragend';
3022
2852
  // use this event subscription to drop D&D for particular columns
3023
2853
  const DRAG_START = 'columndragstart';
3024
- class ColumnPlugin extends base_plugin.BasePlugin {
2854
+ class ColumnPlugin extends column_utils.BasePlugin {
3025
2855
  constructor(revogrid, providers) {
3026
2856
  super(revogrid, providers);
3027
2857
  this.revogrid = revogrid;
@@ -3067,7 +2897,7 @@ class ColumnPlugin extends base_plugin.BasePlugin {
3067
2897
  return;
3068
2898
  }
3069
2899
  // no grouping drag and no row header column drag
3070
- if (isColGrouping(data) || data.providers.type === 'rowHeaders') {
2900
+ if (column_utils.isColGrouping(data) || data.providers.type === 'rowHeaders') {
3071
2901
  return;
3072
2902
  }
3073
2903
  const cols = this.getDimension(data.pin || 'rgCol');
@@ -3339,7 +3169,7 @@ const RevoGridComponent = class {
3339
3169
  /** Open editor for cell. */
3340
3170
  async setCellEdit(rgRow, prop, rowSource = 'rgRow') {
3341
3171
  var _a;
3342
- const rgCol = ColumnDataProvider.getColumnByProp(this.columns, prop);
3172
+ const rgCol = column_utils.getColumnByProp(this.columns, prop);
3343
3173
  if (!rgCol) {
3344
3174
  return;
3345
3175
  }
@@ -3563,7 +3393,7 @@ const RevoGridComponent = class {
3563
3393
  this.columnChanged(this.columns);
3564
3394
  }
3565
3395
  columnChanged(newVal = []) {
3566
- const columnGather = ColumnDataProvider.getColumns(newVal, 0, this.columnTypes);
3396
+ const columnGather = column_utils.getColumns(newVal, 0, this.columnTypes);
3567
3397
  this.beforecolumnsset.emit(columnGather);
3568
3398
  this.dimensionProvider.applyNewColumns(columnGather.columns, this.disableVirtualX);
3569
3399
  this.beforecolumnapplied.emit(columnGather);
@@ -3873,7 +3703,7 @@ const RevoGridComponent = class {
3873
3703
  const headerProperties = Object.assign(Object.assign({}, view.headerProp), { type: view.type, additionalData: this.additionalData, viewportCol: view.viewportCol, selectionStore: view.columnSelectionStore, canResize: this.resize, readonly: this.readonly, columnFilter: !!this.filter });
3874
3704
  // Column headers
3875
3705
  const dataViews = [
3876
- index$1.h("revogr-header", Object.assign({ key: 'b08c837765cf20c88cb5b253a876f0f442c31628' }, headerProperties, { slot: column_service.HEADER_SLOT })),
3706
+ index$1.h("revogr-header", Object.assign({ key: 'bada77126c317da09a9826312186c16617c7b0af' }, headerProperties, { slot: column_service.HEADER_SLOT })),
3877
3707
  ];
3878
3708
  // Render viewport data (vertical sections)
3879
3709
  view.dataPorts.forEach(data => {
@@ -3895,12 +3725,12 @@ const RevoGridComponent = class {
3895
3725
  const typeCol = 'rgCol';
3896
3726
  const viewports = this.viewportProvider.stores;
3897
3727
  const dimensions = this.dimensionProvider.stores;
3898
- return (index$1.h(index$1.Host, { key: '057a2cf1a64aaeec12d2aca17b09316fb3cbfde6' }, this.hideAttribution ? null : (index$1.h("revogr-attribution", { class: "attribution" })), index$1.h("div", { key: 'e89e3d136d756f80421f42f47e09583985edb1bc', class: "main-viewport", onClick: (e) => {
3728
+ return (index$1.h(index$1.Host, { key: '9b95aef4de8af770036a733986e7e0fe2dd3ffda' }, this.hideAttribution ? null : (index$1.h("revogr-attribution", { class: "attribution" })), index$1.h("div", { key: '68dbc0fca826a0089402157d301c49a0776e9007', class: "main-viewport", onClick: (e) => {
3899
3729
  var _a;
3900
3730
  if (e.currentTarget === e.target) {
3901
3731
  (_a = this.viewport) === null || _a === void 0 ? void 0 : _a.clearEdit();
3902
3732
  }
3903
- } }, index$1.h("div", { key: '177db78970907d36b8d56549386a18a683573944', class: "viewports" }, index$1.h("slot", { key: '481d830a232b1969fcaa2519a5306fafaff58fb4', name: "viewport" }), viewportSections, index$1.h("revogr-scroll-virtual", { key: '6a123b2e84bec95d7a63a73322fe167248e8415e', class: "vertical", dimension: typeRow, viewportStore: viewports[typeRow].store, dimensionStore: dimensions[typeRow].store, ref: el => this.scrollingService.registerElement(el, 'rowScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), index$1.h(OrderRenderer, { key: 'fea1be24668f2039746fff93d0ab5e76d932a166', ref: e => (this.orderService = e) }))), index$1.h("revogr-scroll-virtual", { key: '74c6e05c81b2782320755c910b098edf8858d6db', class: "horizontal", dimension: typeCol, viewportStore: viewports[typeCol].store, dimensionStore: dimensions[typeCol].store, ref: el => this.scrollingService.registerElement(el, 'colScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), this.extraElements));
3733
+ } }, index$1.h("div", { key: '6f927e04dd8c7e542a87fdc0a4f6d74248c65ccb', class: "viewports" }, index$1.h("slot", { key: 'b6d421fa412b34ce9821cd1fa30a80ae37282f37', name: "viewport" }), viewportSections, index$1.h("revogr-scroll-virtual", { key: '4ce3045201685f6c6c617c84fddc5a3d531034bd', class: "vertical", dimension: typeRow, viewportStore: viewports[typeRow].store, dimensionStore: dimensions[typeRow].store, ref: el => this.scrollingService.registerElement(el, 'rowScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), index$1.h(OrderRenderer, { key: 'e5bd92c37bdc31f0601a4d4cf4a62026e0e25406', ref: e => (this.orderService = e) }))), index$1.h("revogr-scroll-virtual", { key: 'dbda0fb90cf6a9eb6ac66ca16bcff30cf254b1e1', class: "horizontal", dimension: typeCol, viewportStore: viewports[typeCol].store, dimensionStore: dimensions[typeCol].store, ref: el => this.scrollingService.registerElement(el, 'colScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), this.extraElements));
3904
3734
  }
3905
3735
  disconnectedCallback() {
3906
3736
  // Remove all plugins, to avoid memory leaks and unexpected behaviour when the component is removed