photon-grid-core 1.0.0 → 1.0.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 (42) hide show
  1. package/README.md +1 -1
  2. package/core/column-model.d.ts +31 -0
  3. package/core/column-model.d.ts.map +1 -1
  4. package/core/column-model.js +76 -0
  5. package/core/column-model.js.map +1 -1
  6. package/core/grid-api.d.ts +142 -0
  7. package/core/grid-api.d.ts.map +1 -1
  8. package/core/grid-api.js +311 -0
  9. package/core/grid-api.js.map +1 -1
  10. package/core/row-model.d.ts +22 -0
  11. package/core/row-model.d.ts.map +1 -1
  12. package/core/row-model.js +58 -0
  13. package/core/row-model.js.map +1 -1
  14. package/engines/selection/row-selection-engine.d.ts +9 -0
  15. package/engines/selection/row-selection-engine.d.ts.map +1 -1
  16. package/engines/selection/row-selection-engine.js +24 -0
  17. package/engines/selection/row-selection-engine.js.map +1 -1
  18. package/engines/undo-redo/undo-redo-engine.d.ts +4 -0
  19. package/engines/undo-redo/undo-redo-engine.d.ts.map +1 -1
  20. package/engines/undo-redo/undo-redo-engine.js +8 -0
  21. package/engines/undo-redo/undo-redo-engine.js.map +1 -1
  22. package/package.json +1 -1
  23. package/renderer/body-renderer.js +3 -3
  24. package/renderer/body-renderer.js.map +1 -1
  25. package/renderer/grid-renderer.d.ts +18 -0
  26. package/renderer/grid-renderer.d.ts.map +1 -1
  27. package/renderer/grid-renderer.js +83 -4
  28. package/renderer/grid-renderer.js.map +1 -1
  29. package/renderer/header-renderer.d.ts.map +1 -1
  30. package/renderer/header-renderer.js +16 -4
  31. package/renderer/header-renderer.js.map +1 -1
  32. package/renderer/row-animator.js +3 -3
  33. package/styles/base/cells.css.d.ts +1 -1
  34. package/styles/base/cells.css.d.ts.map +1 -1
  35. package/styles/base/cells.css.js +19 -0
  36. package/styles/base/cells.css.js.map +1 -1
  37. package/styles/base/header.css.d.ts +1 -1
  38. package/styles/base/header.css.d.ts.map +1 -1
  39. package/styles/base/header.css.js +6 -0
  40. package/styles/base/header.css.js.map +1 -1
  41. package/types/grid.types.d.ts +56 -0
  42. package/types/grid.types.d.ts.map +1 -1
package/core/grid-api.js CHANGED
@@ -4,6 +4,10 @@ export class GridApi {
4
4
  this.ctx = ctx;
5
5
  this._columnGroupModel = null;
6
6
  this._groupStateManager = null;
7
+ /** Buffered transactions awaiting the next animation-frame flush (see {@link applyTransactionAsync}). */
8
+ this._pendingTransactions = [];
9
+ /** Handle for the pending `requestAnimationFrame` flush, or `null` when none is scheduled. */
10
+ this._txnFlushHandle = null;
7
11
  // Wire the filter panel so the renderer can read/write filter state and
8
12
  // trigger the sort/filter pipeline after each user interaction.
9
13
  this.ctx.renderer.setFilterEngine(this.ctx.filterEngine);
@@ -569,6 +573,10 @@ export class GridApi {
569
573
  this.ctx.renderer.forceRender();
570
574
  }
571
575
  destroy() {
576
+ if (this._txnFlushHandle !== null) {
577
+ cancelAnimationFrame(this._txnFlushHandle);
578
+ this._txnFlushHandle = null;
579
+ }
572
580
  this.ctx.renderer.destroy();
573
581
  this.ctx.chartEngine.destroyAll();
574
582
  this.ctx.cellSelectionEngine.detach();
@@ -606,5 +614,308 @@ export class GridApi {
606
614
  }
607
615
  this.ctx.store.set('visibleRows', rows);
608
616
  }
617
+ undo() {
618
+ this.ctx.undoRedoEngine.undo();
619
+ this.refresh();
620
+ }
621
+ redo() {
622
+ this.ctx.undoRedoEngine.redo();
623
+ this.refresh();
624
+ }
625
+ getUndoSize() {
626
+ return this.ctx.undoRedoEngine.getUndoSize();
627
+ }
628
+ getRedoSize() {
629
+ return this.ctx.undoRedoEngine.getRedoSize();
630
+ }
631
+ // ──────────────────── Transactions ────────────────────
632
+ /**
633
+ * Applies an add / update / remove {@link RowTransaction} as a surgical delta
634
+ * against the current data set, then runs the render pipeline once. Unlike
635
+ * {@link setData}, undo history is preserved.
636
+ *
637
+ * Updates are matched to existing rows by `nodeId` (the row's id field), so an
638
+ * update object must carry that identifier to take effect.
639
+ *
640
+ * @param txn - The batch of row mutations to apply.
641
+ * @returns The nodes that were added or updated (removed nodes are detached).
642
+ */
643
+ applyTransaction(txn) {
644
+ const result = this.ctx.rowModel.applyTransaction(txn);
645
+ this.refresh();
646
+ return [...result.add, ...result.update];
647
+ }
648
+ /**
649
+ * Queues a {@link RowTransaction} and flushes all queued transactions together
650
+ * on the next animation frame, coalescing many rapid mutations into a single
651
+ * pipeline run and render — ideal for high-frequency streaming updates.
652
+ *
653
+ * @param txn - The batch of row mutations to enqueue.
654
+ */
655
+ applyTransactionAsync(txn) {
656
+ this._pendingTransactions.push(txn);
657
+ if (this._txnFlushHandle !== null)
658
+ return;
659
+ this._txnFlushHandle = requestAnimationFrame(() => {
660
+ this._txnFlushHandle = null;
661
+ const merged = this.mergeTransactions(this._pendingTransactions);
662
+ this._pendingTransactions = [];
663
+ this.ctx.rowModel.applyTransaction(merged);
664
+ this.refresh();
665
+ });
666
+ }
667
+ /** Concatenates several transactions into one, preserving operation order. */
668
+ mergeTransactions(txns) {
669
+ const add = [];
670
+ const update = [];
671
+ const remove = [];
672
+ for (const txn of txns) {
673
+ if (txn.add)
674
+ add.push(...txn.add);
675
+ if (txn.update)
676
+ update.push(...txn.update);
677
+ if (txn.remove)
678
+ remove.push(...txn.remove);
679
+ }
680
+ return { add, update, remove };
681
+ }
682
+ // ──────────────────── Node Iteration ────────────────────
683
+ /** Invokes `callback` for every row node in the underlying data set (unfiltered, unsorted). */
684
+ forEachNode(callback) {
685
+ const rows = this.getAllRows();
686
+ for (let i = 0; i < rows.length; i++)
687
+ callback(rows[i], i);
688
+ }
689
+ /** Invokes `callback` for every row that passes the current filter model, in data order. */
690
+ forEachNodeAfterFilter(callback) {
691
+ const columns = this.ctx.columnModel.getAllColumns();
692
+ const filtered = this.ctx.filterEngine.applyFilters(this.getAllRows(), columns);
693
+ for (let i = 0; i < filtered.length; i++)
694
+ callback(filtered[i], i);
695
+ }
696
+ /** Invokes `callback` for every row after the current filter and sort are applied (before grouping/pagination). */
697
+ forEachNodeAfterFilterAndSort(callback) {
698
+ const columns = this.ctx.columnModel.getAllColumns();
699
+ let rows = this.ctx.filterEngine.applyFilters(this.getAllRows(), columns);
700
+ rows = this.ctx.sortEngine.applySorting(rows, columns);
701
+ for (let i = 0; i < rows.length; i++)
702
+ callback(rows[i], i);
703
+ }
704
+ /** The number of rows currently displayed (post filter/sort/group/pagination). */
705
+ getDisplayedRowCount() {
706
+ return this.getVisibleRows().length;
707
+ }
708
+ // ──────────────────── Cell Refresh & Flash ────────────────────
709
+ /**
710
+ * Repaints displayed rows from the data model — use after mutating row data
711
+ * in place, where the `visibleRows` reference is unchanged but cell content
712
+ * must be rebuilt.
713
+ *
714
+ * `colIds` is advisory (the renderer repaints whole rows). Passing `force`, or
715
+ * omitting `rowNodes`, clears the entire render cache.
716
+ *
717
+ * @param params - Which rows to repaint and whether to force a full clear.
718
+ */
719
+ refreshCells(params = {}) {
720
+ const { rowNodes, force } = params;
721
+ if (force || !rowNodes || rowNodes.length === 0) {
722
+ this.ctx.renderer.invalidateBodyRows();
723
+ return;
724
+ }
725
+ this.ctx.renderer.invalidateBodyRowsByIds(new Set(rowNodes.map((r) => r.nodeId)));
726
+ }
727
+ /**
728
+ * Briefly flashes a highlight over the given cells to draw the user's eye to a
729
+ * change. A purely visual effect — it never mutates data.
730
+ *
731
+ * @param params - Rows/columns to flash and how long the highlight lasts.
732
+ */
733
+ flashCells(params = {}) {
734
+ const { rowNodes, colIds, flashDelay = 700 } = params;
735
+ const nodes = rowNodes ?? this.getVisibleRows();
736
+ if (nodes.length === 0)
737
+ return;
738
+ const idSet = new Set(nodes.map((n) => n.nodeId));
739
+ const colSet = colIds && colIds.length > 0 ? new Set(colIds) : null;
740
+ const cells = [];
741
+ // Query by attribute presence and match ids in JS to avoid selector-injection
742
+ // issues with data-derived node ids that may contain quotes or brackets.
743
+ for (const rowEl of this.ctx.containerEl.querySelectorAll('[data-node-id]')) {
744
+ if (!idSet.has(rowEl.getAttribute('data-node-id') ?? ''))
745
+ continue;
746
+ for (const cell of rowEl.querySelectorAll('[data-col-id]')) {
747
+ const cid = cell.getAttribute('data-col-id');
748
+ if (colSet && (!cid || !colSet.has(cid)))
749
+ continue;
750
+ cells.push(cell);
751
+ }
752
+ }
753
+ for (const el of cells) {
754
+ el.classList.remove('pg-cell--flash');
755
+ void el.offsetWidth; // force reflow so the animation restarts if re-triggered
756
+ el.classList.add('pg-cell--flash');
757
+ }
758
+ if (cells.length > 0) {
759
+ setTimeout(() => {
760
+ for (const el of cells)
761
+ el.classList.remove('pg-cell--flash');
762
+ }, flashDelay);
763
+ }
764
+ }
765
+ // ──────────────────── Column Sizing & Layout ────────────────────
766
+ /**
767
+ * Resizes all visible columns to exactly fill the available width, clamped to
768
+ * each column's min/max. Defaults to the grid container's current width.
769
+ *
770
+ * @param containerWidth - Target width in pixels; defaults to the container width.
771
+ */
772
+ sizeColumnsToFit(containerWidth) {
773
+ const width = containerWidth ?? this.ctx.containerEl.clientWidth;
774
+ this.ctx.columnModel.sizeColumnsToFit(width);
775
+ this.refresh();
776
+ }
777
+ /** Restores columns (width, visibility, pin, sort, order) to their initial state. */
778
+ resetColumnState() {
779
+ this.ctx.columnModel.resetColumnState();
780
+ this.refresh();
781
+ }
782
+ /**
783
+ * Shows or hides several columns in one call.
784
+ *
785
+ * @param colIds - Ids of the columns to update.
786
+ * @param visible - `true` to show, `false` to hide.
787
+ */
788
+ setColumnsVisible(colIds, visible) {
789
+ for (const colId of colIds)
790
+ this.ctx.columnModel.setColumnVisible(colId, visible);
791
+ this.refresh();
792
+ }
793
+ /**
794
+ * Moves a block of columns so they sit consecutively at `toIndex` within the
795
+ * visible-column order. The batch counterpart to {@link moveColumn}.
796
+ *
797
+ * @param colIds - Ids of the columns to move, in target order.
798
+ * @param toIndex - Insertion index among the remaining visible columns.
799
+ */
800
+ moveColumns(colIds, toIndex) {
801
+ this.ctx.columnModel.moveColumns(colIds, toIndex);
802
+ this.refresh();
803
+ }
804
+ // ──────────────────── Multi-Sort ────────────────────
805
+ /**
806
+ * Applies a multi-column sort, replacing any existing sort configuration.
807
+ *
808
+ * @param configs - Ordered sort descriptors (primary → secondary → …).
809
+ */
810
+ multiSort(configs) {
811
+ this.ctx.sortEngine.multiSort(configs);
812
+ this.refresh();
813
+ }
814
+ // ──────────────────── Focused Cell ────────────────────
815
+ /**
816
+ * Focuses (and starts a single-cell selection at) the cell at `rowIndex` in
817
+ * the given column, scrolling it into view. A no-op if the column is hidden
818
+ * or unknown.
819
+ *
820
+ * @param rowIndex - Index into the current `visibleRows`.
821
+ * @param colId - Id of the target column.
822
+ */
823
+ setFocusedCell(rowIndex, colId) {
824
+ const colIndex = this.ctx.columnModel.getVisibleColumns().findIndex((c) => c.colId === colId);
825
+ if (colIndex < 0)
826
+ return;
827
+ this.ctx.cellSelectionEngine.startSelection(rowIndex, colIndex);
828
+ }
829
+ /** The currently focused cell as `{ rowIndex, colId }`, or `null` when none is focused. */
830
+ getFocusedCell() {
831
+ const active = this.ctx.store.get('activeCell');
832
+ if (!active)
833
+ return null;
834
+ const col = this.ctx.columnModel.getVisibleColumns()[active.colIndex];
835
+ if (!col)
836
+ return null;
837
+ return { rowIndex: active.rowIndex, colId: col.colId };
838
+ }
839
+ // ──────────────────── Ensure Visible ────────────────────
840
+ /**
841
+ * Scrolls the row with `nodeId` into view. A no-op if the row is not currently
842
+ * displayed (e.g. filtered out or on another page).
843
+ *
844
+ * @param nodeId - The row's node id.
845
+ * @param position - Where to place the row; omit for the minimal scroll.
846
+ */
847
+ ensureNodeVisible(nodeId, position) {
848
+ const rowIndex = this.getVisibleRows().findIndex((r) => r.nodeId === nodeId);
849
+ if (rowIndex < 0)
850
+ return;
851
+ this.ctx.renderer.ensureRowVisible(rowIndex, position);
852
+ }
853
+ /** Scrolls the given center column horizontally into view (pinned columns are always visible). */
854
+ ensureColumnVisible(colId) {
855
+ this.ctx.renderer.ensureColumnVisible(colId);
856
+ }
857
+ // ──────────────────── Filter State ────────────────────
858
+ /** Whether any column filter or the quick filter is currently active. */
859
+ isAnyFilterActive() {
860
+ return this.ctx.filterEngine.hasActiveFilters();
861
+ }
862
+ /** Whether the given column has an active filter. */
863
+ isColumnFilterActive(colId) {
864
+ return this.ctx.filterEngine.isColumnFiltered(colId);
865
+ }
866
+ // ──────────────────── Batch Selection ────────────────────
867
+ /** Selects several rows in one operation (single `ROW_SELECTED` emission). */
868
+ selectRows(nodeIds) {
869
+ this.ctx.rowSelectionEngine.selectRows(nodeIds, this.getVisibleRows());
870
+ }
871
+ /** Deselects several rows in one operation (single `ROW_DESELECTED` emission). */
872
+ deselectRows(nodeIds) {
873
+ this.ctx.rowSelectionEngine.deselectRows(nodeIds, this.getVisibleRows());
874
+ }
875
+ /**
876
+ * Selects every data row for which `predicate` returns `true`. The predicate
877
+ * is evaluated against all rows, so rows outside the current page/filter can
878
+ * still be selected.
879
+ *
880
+ * @param predicate - Returns `true` for rows that should be selected.
881
+ */
882
+ selectRowsByFilter(predicate) {
883
+ const nodeIds = this.getAllRows()
884
+ .filter((r) => r.type === 'data' && predicate(r))
885
+ .map((r) => r.nodeId);
886
+ this.ctx.rowSelectionEngine.selectRows(nodeIds, this.getVisibleRows());
887
+ }
888
+ // ──────────────────── Row Grouping ────────────────────
889
+ /**
890
+ * Sets the exact set (and order) of row-group columns, replacing any existing
891
+ * grouping.
892
+ *
893
+ * @param colIds - Column ids to group by, outermost first. Empty clears grouping.
894
+ */
895
+ setRowGroupColumns(colIds) {
896
+ this.ctx.groupingEngine.reorderGroupColumns(colIds);
897
+ this.refresh();
898
+ }
899
+ /** Whether the group with the given key is currently expanded. */
900
+ isGroupExpanded(groupKey) {
901
+ return this.ctx.groupingEngine.isGroupExpanded(groupKey);
902
+ }
903
+ // ──────────────────── Grid State Reset ────────────────────
904
+ /**
905
+ * Resets the grid to its initial state: clears sort, filters, grouping, row
906
+ * and cell selection, returns to the first page, and restores the original
907
+ * column layout. Row data itself is left untouched.
908
+ */
909
+ resetGridState() {
910
+ this.ctx.sortEngine.clearSort();
911
+ this.ctx.columnModel.clearAllSort();
912
+ this.ctx.filterEngine.clearAllFilters();
913
+ this.ctx.groupingEngine.clearGrouping();
914
+ this.ctx.rowSelectionEngine.deselectAll(this.getVisibleRows());
915
+ this.ctx.cellSelectionEngine.clearSelection();
916
+ this.ctx.paginationEngine.goToPage(1);
917
+ this.ctx.columnModel.resetColumnState();
918
+ this.refresh();
919
+ }
609
920
  }
610
921
  //# sourceMappingURL=grid-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid-api.js","sourceRoot":"","sources":["../../src/core/grid-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grid-api.js","sourceRoot":"","sources":["../../src/core/grid-api.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { RowNode } from '../types/row.types';
2
+ import type { RowTransaction, RowTransactionResult } from '../types/grid.types';
2
3
  import type { GridStore } from './grid-store';
3
4
  import type { EventBus } from '../event-bus/event-bus';
4
5
  export declare class RowModel {
@@ -26,6 +27,27 @@ export declare class RowModel {
26
27
  */
27
28
  createDetailNode(parentRow: RowNode, detail: Record<string, unknown>, height?: number): RowNode;
28
29
  getRawData(): Record<string, unknown>[];
30
+ /**
31
+ * Applies an add / update / remove {@link RowTransaction} against `allRows`
32
+ * in a single pass, re-lays-out the surviving rows, and returns the exact
33
+ * nodes affected. Unlike {@link setRowData}, undo history is preserved — a
34
+ * transaction is a surgical delta, not a full data swap.
35
+ *
36
+ * Semantics:
37
+ * - **remove** first (by `nodeId`), so an updated-then-removed row nets out.
38
+ * - **update** merges each object's fields into the matching node's `data`
39
+ * (matched by `nodeId`, i.e. the row's id field). Objects with no matching
40
+ * node are ignored.
41
+ * - **add** appends freshly built nodes; their `selected` flag is seeded from
42
+ * the current selection set, exactly like {@link setRowData}.
43
+ *
44
+ * The caller is responsible for invoking the render pipeline afterward — the
45
+ * model only mutates the data store, never the DOM.
46
+ *
47
+ * @param txn - The batch of mutations to apply.
48
+ * @returns The `{ add, update, remove }` nodes that were actually affected.
49
+ */
50
+ applyTransaction(txn: RowTransaction): RowTransactionResult;
29
51
  private buildRowNodes;
30
52
  private layoutNodes;
31
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"row-model.d.ts","sourceRoot":"","sources":["../../src/core/row-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AASvD,qBAAa,QAAQ;IAMjB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,QAAQ;IANlB,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,gBAAgB,CAAM;gBAGpB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,QAAQ;IAG5B,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,SAAK,GAAG,IAAI;IAajE,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI;IAapD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI;IAQ1E,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAQnC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI/C,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIjD,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI;IAKtC,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI;IAIvC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWlD,oBAAoB,CAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO;IAqBV;;;;;OAKG;IACH,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,SAAM,GAAG,OAAO;IAmB5F,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAIvC,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,WAAW;CAQpB"}
1
+ {"version":3,"file":"row-model.d.ts","sourceRoot":"","sources":["../../src/core/row-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AASvD,qBAAa,QAAQ;IAMjB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,QAAQ;IANlB,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,gBAAgB,CAAM;gBAGpB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,QAAQ;IAG5B,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,SAAK,GAAG,IAAI;IAajE,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI;IAapD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI;IAQ1E,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAQnC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI/C,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIjD,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI;IAKtC,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI;IAIvC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWlD,oBAAoB,CAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO;IAqBV;;;;;OAKG;IACH,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,SAAM,GAAG,OAAO;IAmB5F,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAIvC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,CAAC,GAAG,EAAE,cAAc,GAAG,oBAAoB;IA6C3D,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,WAAW;CAQpB"}
package/core/row-model.js CHANGED
@@ -122,6 +122,64 @@ export class RowModel {
122
122
  getRawData() {
123
123
  return this.rawData;
124
124
  }
125
+ /**
126
+ * Applies an add / update / remove {@link RowTransaction} against `allRows`
127
+ * in a single pass, re-lays-out the surviving rows, and returns the exact
128
+ * nodes affected. Unlike {@link setRowData}, undo history is preserved — a
129
+ * transaction is a surgical delta, not a full data swap.
130
+ *
131
+ * Semantics:
132
+ * - **remove** first (by `nodeId`), so an updated-then-removed row nets out.
133
+ * - **update** merges each object's fields into the matching node's `data`
134
+ * (matched by `nodeId`, i.e. the row's id field). Objects with no matching
135
+ * node are ignored.
136
+ * - **add** appends freshly built nodes; their `selected` flag is seeded from
137
+ * the current selection set, exactly like {@link setRowData}.
138
+ *
139
+ * The caller is responsible for invoking the render pipeline afterward — the
140
+ * model only mutates the data store, never the DOM.
141
+ *
142
+ * @param txn - The batch of mutations to apply.
143
+ * @returns The `{ add, update, remove }` nodes that were actually affected.
144
+ */
145
+ applyTransaction(txn) {
146
+ const rows = this.store.get('allRows');
147
+ const byId = new Map(rows.map((r) => [r.nodeId, r]));
148
+ const removed = [];
149
+ if (txn.remove?.length) {
150
+ for (const id of txn.remove) {
151
+ const node = byId.get(id);
152
+ if (node) {
153
+ removed.push(node);
154
+ byId.delete(id);
155
+ }
156
+ }
157
+ }
158
+ const updated = [];
159
+ if (txn.update?.length) {
160
+ for (const item of txn.update) {
161
+ const id = item[this.idField];
162
+ const node = id !== undefined ? byId.get(id) : undefined;
163
+ if (node) {
164
+ node.data = { ...node.data, ...item };
165
+ updated.push(node);
166
+ }
167
+ }
168
+ }
169
+ // Rebuild the row list: survivors in original order, then appended adds.
170
+ let next = removed.length > 0 ? rows.filter((r) => byId.has(r.nodeId)) : rows.slice();
171
+ const added = [];
172
+ if (txn.add?.length) {
173
+ const addedNodes = this.buildRowNodes(txn.add);
174
+ added.push(...addedNodes);
175
+ next = next.concat(addedNodes);
176
+ }
177
+ this.layoutNodes(next);
178
+ this.rawData = next.map((n) => n.data);
179
+ this.store.set('allRows', next);
180
+ this.store.set('totalRowCount', next.length);
181
+ return { add: added, update: updated, remove: removed };
182
+ }
125
183
  buildRowNodes(data, startIndex = 0) {
126
184
  return data.map((row, i) => ({
127
185
  nodeId: row[this.idField] ?? generateNodeId(),
@@ -1 +1 @@
1
- {"version":3,"file":"row-model.js","sourceRoot":"","sources":["../../src/core/row-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"row-model.js","sourceRoot":"","sources":["../../src/core/row-model.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,15 @@ export declare class RowSelectionEngine {
12
12
  deselectRow(nodeId: string, rows: RowNode[]): void;
13
13
  toggleRowSelection(nodeId: string, rows: RowNode[]): void;
14
14
  selectRows(nodeIds: string[], rows: RowNode[]): void;
15
+ /**
16
+ * Deselects several rows in one operation, emitting a single
17
+ * `ROW_DESELECTED` event rather than one per id. Mirrors {@link selectRows}.
18
+ * Honors `suppressRowDeselection`.
19
+ *
20
+ * @param nodeIds - Node ids to remove from the selection.
21
+ * @param rows - The current row set used to recompute selection flags/state.
22
+ */
23
+ deselectRows(nodeIds: string[], rows: RowNode[]): void;
15
24
  selectAll(rows: RowNode[]): void;
16
25
  deselectAll(rows: RowNode[]): void;
17
26
  selectRange(fromIndex: number, toIndex: number, rows: RowNode[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"row-selection-engine.d.ts","sourceRoot":"","sources":["../../../src/engines/selection/row-selection-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAG1D,qBAAa,kBAAkB;IAU3B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,QAAQ;IAVlB,OAAO,CAAC,MAAM,CAMZ;gBAGQ,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,QAAQ;IAG5B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAIjD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAwBhD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAkBlD,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IASzD,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAkBpD,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAiBhC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAclC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAUtE,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAItC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;IAK3C,gBAAgB,IAAI,MAAM;IAI1B,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIrC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,oBAAoB;CAK7B"}
1
+ {"version":3,"file":"row-selection-engine.d.ts","sourceRoot":"","sources":["../../../src/engines/selection/row-selection-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAG1D,qBAAa,kBAAkB;IAU3B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,QAAQ;IAVlB,OAAO,CAAC,MAAM,CAMZ;gBAGQ,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,QAAQ;IAG5B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAIjD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAwBhD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAkBlD,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IASzD,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAkBpD;;;;;;;OAOG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAkBtD,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAiBhC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAclC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAUtE,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAItC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;IAK3C,gBAAgB,IAAI,MAAM;IAI1B,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIrC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,oBAAoB;CAK7B"}
@@ -75,6 +75,30 @@ export class RowSelectionEngine {
75
75
  isAllSelected: this.isAllSelected(rows, selectedIds),
76
76
  });
77
77
  }
78
+ /**
79
+ * Deselects several rows in one operation, emitting a single
80
+ * `ROW_DESELECTED` event rather than one per id. Mirrors {@link selectRows}.
81
+ * Honors `suppressRowDeselection`.
82
+ *
83
+ * @param nodeIds - Node ids to remove from the selection.
84
+ * @param rows - The current row set used to recompute selection flags/state.
85
+ */
86
+ deselectRows(nodeIds, rows) {
87
+ if (this.config.suppressRowDeselection)
88
+ return;
89
+ const selectedIds = new Set(this.store.get('selectedRowIds'));
90
+ for (const id of nodeIds)
91
+ selectedIds.delete(id);
92
+ this.applySelectionToRows(rows, selectedIds);
93
+ this.store.set('selectedRowIds', selectedIds);
94
+ this.updateSelectionState(rows, selectedIds);
95
+ const selectedRows = rows.filter((r) => selectedIds.has(r.nodeId));
96
+ this.eventBus.emit(GridEventType.ROW_DESELECTED, {
97
+ rows: selectedRows,
98
+ selectedCount: selectedIds.size,
99
+ isAllSelected: false,
100
+ });
101
+ }
78
102
  selectAll(rows) {
79
103
  if (this.config.mode !== 'multiple')
80
104
  return;