@toolbox-web/grid 1.9.0 → 1.9.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.
- package/all.js +712 -692
- package/all.js.map +1 -1
- package/index.js +321 -300
- package/index.js.map +1 -1
- package/lib/core/grid.d.ts +9 -0
- package/lib/core/grid.d.ts.map +1 -1
- package/lib/core/plugin/base-plugin.d.ts +11 -0
- package/lib/core/plugin/base-plugin.d.ts.map +1 -1
- package/lib/plugins/clipboard/index.js +9 -0
- package/lib/plugins/clipboard/index.js.map +1 -1
- package/lib/plugins/column-virtualization/ColumnVirtualizationPlugin.d.ts +3 -0
- package/lib/plugins/column-virtualization/ColumnVirtualizationPlugin.d.ts.map +1 -1
- package/lib/plugins/column-virtualization/index.js +90 -57
- package/lib/plugins/column-virtualization/index.js.map +1 -1
- package/lib/plugins/context-menu/index.js +9 -0
- package/lib/plugins/context-menu/index.js.map +1 -1
- package/lib/plugins/editing/index.js +9 -0
- package/lib/plugins/editing/index.js.map +1 -1
- package/lib/plugins/export/index.js +38 -29
- package/lib/plugins/export/index.js.map +1 -1
- package/lib/plugins/filtering/index.js +14 -5
- package/lib/plugins/filtering/index.js.map +1 -1
- package/lib/plugins/grouping-columns/index.js +9 -0
- package/lib/plugins/grouping-columns/index.js.map +1 -1
- package/lib/plugins/grouping-rows/index.js +63 -54
- package/lib/plugins/grouping-rows/index.js.map +1 -1
- package/lib/plugins/master-detail/index.js +25 -16
- package/lib/plugins/master-detail/index.js.map +1 -1
- package/lib/plugins/multi-sort/index.js +13 -4
- package/lib/plugins/multi-sort/index.js.map +1 -1
- package/lib/plugins/pinned-columns/index.js +13 -4
- package/lib/plugins/pinned-columns/index.js.map +1 -1
- package/lib/plugins/pinned-rows/index.js +9 -0
- package/lib/plugins/pinned-rows/index.js.map +1 -1
- package/lib/plugins/pivot/index.js +13 -4
- package/lib/plugins/pivot/index.js.map +1 -1
- package/lib/plugins/print/index.js +9 -0
- package/lib/plugins/print/index.js.map +1 -1
- package/lib/plugins/reorder/index.js +13 -4
- package/lib/plugins/reorder/index.js.map +1 -1
- package/lib/plugins/responsive/index.js +42 -33
- package/lib/plugins/responsive/index.js.map +1 -1
- package/lib/plugins/row-reorder/index.js +10 -1
- package/lib/plugins/row-reorder/index.js.map +1 -1
- package/lib/plugins/selection/index.js +10 -1
- package/lib/plugins/selection/index.js.map +1 -1
- package/lib/plugins/server-side/index.js +29 -20
- package/lib/plugins/server-side/index.js.map +1 -1
- package/lib/plugins/tree/index.js +20 -11
- package/lib/plugins/tree/index.js.map +1 -1
- package/lib/plugins/undo-redo/index.js +15 -6
- package/lib/plugins/undo-redo/index.js.map +1 -1
- package/lib/plugins/visibility/index.js +9 -0
- package/lib/plugins/visibility/index.js.map +1 -1
- package/package.json +1 -1
- package/umd/grid.all.umd.js +14 -14
- package/umd/grid.all.umd.js.map +1 -1
- package/umd/grid.umd.js +14 -14
- package/umd/grid.umd.js.map +1 -1
- package/umd/plugins/column-virtualization.umd.js +1 -1
- package/umd/plugins/column-virtualization.umd.js.map +1 -1
- package/umd/plugins/row-reorder.umd.js +1 -1
- package/umd/plugins/row-reorder.umd.js.map +1 -1
- package/umd/plugins/selection.umd.js +1 -1
- package/umd/plugins/selection.umd.js.map +1 -1
|
@@ -208,10 +208,19 @@ class u {
|
|
|
208
208
|
}
|
|
209
209
|
/**
|
|
210
210
|
* Request a re-render of the grid.
|
|
211
|
+
* Uses ROWS phase - does NOT trigger processColumns hooks.
|
|
211
212
|
*/
|
|
212
213
|
requestRender() {
|
|
213
214
|
this.grid?.requestRender?.();
|
|
214
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* Request a columns re-render of the grid.
|
|
218
|
+
* Uses COLUMNS phase - triggers processColumns hooks.
|
|
219
|
+
* Use this when your plugin needs to reprocess column configuration.
|
|
220
|
+
*/
|
|
221
|
+
requestColumnsRender() {
|
|
222
|
+
this.grid?.requestColumnsRender?.();
|
|
223
|
+
}
|
|
215
224
|
/**
|
|
216
225
|
* Request a re-render and restore focus styling afterward.
|
|
217
226
|
* Use this when a plugin action (like expand/collapse) triggers a render
|
|
@@ -368,35 +377,35 @@ class u {
|
|
|
368
377
|
}
|
|
369
378
|
// #endregion
|
|
370
379
|
}
|
|
371
|
-
function l(
|
|
372
|
-
return Math.floor(
|
|
380
|
+
function l(s, e) {
|
|
381
|
+
return Math.floor(s / e);
|
|
373
382
|
}
|
|
374
|
-
function h(
|
|
383
|
+
function h(s, e) {
|
|
375
384
|
return {
|
|
376
|
-
start:
|
|
377
|
-
end: (
|
|
385
|
+
start: s * e,
|
|
386
|
+
end: (s + 1) * e
|
|
378
387
|
};
|
|
379
388
|
}
|
|
380
|
-
function g(
|
|
381
|
-
const o = l(
|
|
389
|
+
function g(s, e, t) {
|
|
390
|
+
const o = l(s, t), r = l(e - 1, t), i = [];
|
|
382
391
|
for (let n = o; n <= r; n++)
|
|
383
|
-
|
|
384
|
-
return
|
|
392
|
+
i.push(n);
|
|
393
|
+
return i;
|
|
385
394
|
}
|
|
386
|
-
async function a(
|
|
395
|
+
async function a(s, e, t, o) {
|
|
387
396
|
const r = h(e, t);
|
|
388
|
-
return
|
|
397
|
+
return s.getRows({
|
|
389
398
|
startRow: r.start,
|
|
390
399
|
endRow: r.end,
|
|
391
400
|
sortModel: o.sortModel,
|
|
392
401
|
filterModel: o.filterModel
|
|
393
402
|
});
|
|
394
403
|
}
|
|
395
|
-
function f(
|
|
396
|
-
const o = l(
|
|
404
|
+
function f(s, e, t) {
|
|
405
|
+
const o = l(s, e), r = t.get(o);
|
|
397
406
|
if (!r) return;
|
|
398
|
-
const
|
|
399
|
-
return r[
|
|
407
|
+
const i = s % e;
|
|
408
|
+
return r[i];
|
|
400
409
|
}
|
|
401
410
|
const R = 100;
|
|
402
411
|
class m extends u {
|
|
@@ -431,14 +440,14 @@ class m extends u {
|
|
|
431
440
|
loadRequiredBlocks() {
|
|
432
441
|
if (!this.dataSource) return;
|
|
433
442
|
const e = this.grid, t = this.config.cacheBlockSize ?? 100, o = { startRow: e._virtualization.start, endRow: e._virtualization.end }, r = g(o.startRow, o.endRow, t);
|
|
434
|
-
for (const
|
|
435
|
-
if (!(this.loadedBlocks.has(
|
|
443
|
+
for (const i of r)
|
|
444
|
+
if (!(this.loadedBlocks.has(i) || this.loadingBlocks.has(i))) {
|
|
436
445
|
if (this.loadingBlocks.size >= (this.config.maxConcurrentRequests ?? 2))
|
|
437
446
|
break;
|
|
438
|
-
this.loadingBlocks.add(
|
|
439
|
-
this.loadedBlocks.set(
|
|
447
|
+
this.loadingBlocks.add(i), a(this.dataSource, i, t, {}).then((n) => {
|
|
448
|
+
this.loadedBlocks.set(i, n.rows), this.totalRowCount = n.totalRowCount, this.loadingBlocks.delete(i), this.requestRender(), this.loadRequiredBlocks();
|
|
440
449
|
}).catch(() => {
|
|
441
|
-
this.loadingBlocks.delete(
|
|
450
|
+
this.loadingBlocks.delete(i);
|
|
442
451
|
});
|
|
443
452
|
}
|
|
444
453
|
}
|