@revolist/revogrid 4.14.1 → 4.14.2

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 (37) hide show
  1. package/dist/cjs/{column.drag.plugin-c61efe93.js → column.drag.plugin-911acec7.js} +52 -28
  2. package/dist/cjs/column.drag.plugin-911acec7.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +1 -1
  4. package/dist/cjs/revo-grid.cjs.entry.js +20 -50
  5. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  6. package/dist/collection/components/revoGrid/revo-grid.js +42 -42
  7. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  8. package/dist/collection/plugins/sorting/sorting.plugin.js +52 -27
  9. package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
  10. package/dist/collection/plugins/sorting/sorting.types.js.map +1 -1
  11. package/dist/collection/serve/controller.js +12 -0
  12. package/dist/collection/services/column.data.provider.js +0 -38
  13. package/dist/collection/services/column.data.provider.js.map +1 -1
  14. package/dist/esm/{column.drag.plugin-eb8f7e38.js → column.drag.plugin-a111b876.js} +53 -28
  15. package/dist/esm/column.drag.plugin-a111b876.js.map +1 -0
  16. package/dist/esm/index.js +2 -2
  17. package/dist/esm/revo-grid.entry.js +20 -50
  18. package/dist/esm/revo-grid.entry.js.map +1 -1
  19. package/dist/revo-grid/{column.drag.plugin-eb8f7e38.js → column.drag.plugin-a111b876.js} +53 -28
  20. package/dist/revo-grid/column.drag.plugin-a111b876.js.map +1 -0
  21. package/dist/revo-grid/index.esm.js +2 -2
  22. package/dist/revo-grid/revo-grid.entry.js +20 -50
  23. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  24. package/dist/types/components/revoGrid/revo-grid.d.ts +10 -7
  25. package/dist/types/components.d.ts +11 -12
  26. package/dist/types/plugins/sorting/sorting.plugin.d.ts +12 -4
  27. package/dist/types/plugins/sorting/sorting.types.d.ts +1 -0
  28. package/dist/types/services/column.data.provider.d.ts +0 -7
  29. package/hydrate/index.js +137 -142
  30. package/hydrate/index.mjs +137 -142
  31. package/package.json +1 -1
  32. package/readme.md +6 -0
  33. package/standalone/revo-grid.js +70 -75
  34. package/standalone/revo-grid.js.map +1 -1
  35. package/dist/cjs/column.drag.plugin-c61efe93.js.map +0 -1
  36. package/dist/esm/column.drag.plugin-eb8f7e38.js.map +0 -1
  37. package/dist/revo-grid/column.drag.plugin-eb8f7e38.js.map +0 -1
@@ -8,8 +8,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
8
8
  const index = require('./index-8006d065.js');
9
9
  const column_service = require('./column.service-d572cdcf.js');
10
10
  const dimension_helpers = require('./dimension.helpers-29797371.js');
11
- const column_drag_plugin = require('./column.drag.plugin-c61efe93.js');
12
11
  const debounce = require('./debounce-ec7a04b4.js');
12
+ const column_drag_plugin = require('./column.drag.plugin-911acec7.js');
13
13
  const viewport_store = require('./viewport.store-7f0d0f80.js');
14
14
  const viewport_helpers = require('./viewport.helpers-e59a544e.js');
15
15
  const events = require('./events-af8f6914.js');
@@ -82,21 +82,10 @@ function getTheme(theme) {
82
82
  }
83
83
 
84
84
  class ColumnDataProvider {
85
- get order() {
86
- const order = {};
87
- const sorting = this.sorting;
88
- if (sorting) {
89
- Object.keys(sorting).forEach(prop => {
90
- order[prop] = sorting[prop].order;
91
- });
92
- }
93
- return order;
94
- }
95
85
  get stores() {
96
86
  return this.dataSources;
97
87
  }
98
88
  constructor() {
99
- this.sorting = null;
100
89
  this.collection = null;
101
90
  this.dataSources = column_service.columnTypes.reduce((sources, k) => {
102
91
  sources[k] = new dimension_helpers.DataStore(k);
@@ -155,7 +144,6 @@ class ColumnDataProvider {
155
144
  }, {}),
156
145
  });
157
146
  });
158
- this.sorting = data.sort;
159
147
  this.collection = data;
160
148
  return data;
161
149
  }
@@ -204,31 +192,6 @@ class ColumnDataProvider {
204
192
  const type = column_service.getColumnType(column);
205
193
  dimension_helpers.setSourceByVirtualIndex(this.dataSources[type].store, { [index]: column });
206
194
  }
207
- updateColumnSorting(column, index, sorting, additive) {
208
- if (!additive) {
209
- this.clearSorting();
210
- }
211
- column.order = sorting;
212
- if (!this.sorting) {
213
- this.sorting = {};
214
- }
215
- this.sorting[column.prop] = column;
216
- this.updateColumn(column, index);
217
- return column;
218
- }
219
- clearSorting() {
220
- const types = column_service.reduce(this.sorting, (r, c) => {
221
- const k = column_service.getColumnType(c);
222
- r[k] = true;
223
- return r;
224
- }, {});
225
- column_drag_plugin.forEach(types, (_, type) => {
226
- const cols = this.dataSources[type].store.get('source');
227
- column_drag_plugin.forEach(cols, (c) => (c.order = undefined));
228
- this.dataSources[type].setData({ source: [...cols] });
229
- });
230
- this.sorting = {};
231
- }
232
195
  }
233
196
 
234
197
  /**
@@ -1314,25 +1277,29 @@ const RevoGridComponent = class {
1314
1277
  }
1315
1278
  /**
1316
1279
  * Update column sorting
1317
- * @param column - full column details to update
1318
- * @param index - virtual column index
1280
+ * @param column - column prop and cellCompare
1319
1281
  * @param order - order to apply
1320
1282
  * @param additive - if false will replace current order
1283
+ *
1284
+ * later passed to SortingPlugin
1321
1285
  */
1322
- async updateColumnSorting(column, index, order, additive) {
1323
- if (!this.columnProvider) {
1324
- throw new Error('Not connected');
1325
- }
1326
- return this.columnProvider.updateColumnSorting(column, index, order, additive);
1286
+ async updateColumnSorting(column, order, additive) {
1287
+ this.sortingconfigchanged.emit({
1288
+ columns: [{
1289
+ prop: column.prop,
1290
+ order,
1291
+ cellCompare: column.cellCompare,
1292
+ }],
1293
+ additive,
1294
+ });
1327
1295
  }
1328
1296
  /**
1329
1297
  * Clears column sorting
1330
1298
  */
1331
1299
  async clearSorting() {
1332
- if (!this.columnProvider) {
1333
- throw new Error('Not connected');
1334
- }
1335
- this.columnProvider.clearSorting();
1300
+ this.sortingconfigchanged.emit({
1301
+ columns: [],
1302
+ });
1336
1303
  }
1337
1304
  /**
1338
1305
  * Receive all columns in data source
@@ -1540,7 +1507,10 @@ const RevoGridComponent = class {
1540
1507
  const columns = this.columnProvider.setColumns(beforeApplyEvent.detail);
1541
1508
  this.aftercolumnsset.emit({
1542
1509
  columns,
1543
- order: this.columnProvider.order,
1510
+ order: Object.entries(beforeApplyEvent.detail.sort).reduce((acc, [prop, column]) => {
1511
+ acc[prop] = column.order;
1512
+ return acc;
1513
+ }, {}),
1544
1514
  });
1545
1515
  }
1546
1516
  disableVirtualXChanged(newVal = false, prevVal = false) {