@toolbox-web/grid 0.4.0 → 0.4.1

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 (71) hide show
  1. package/all.js +46 -22
  2. package/all.js.map +1 -1
  3. package/index.js +516 -451
  4. package/index.js.map +1 -1
  5. package/lib/core/internal/editing.d.ts +76 -0
  6. package/lib/core/internal/editing.d.ts.map +1 -0
  7. package/lib/core/internal/validate-config.d.ts +14 -0
  8. package/lib/core/internal/validate-config.d.ts.map +1 -1
  9. package/lib/core/plugin/base-plugin.d.ts +48 -0
  10. package/lib/core/plugin/base-plugin.d.ts.map +1 -1
  11. package/lib/core/plugin/index.d.ts +1 -0
  12. package/lib/core/plugin/index.d.ts.map +1 -1
  13. package/lib/core/plugin/plugin-manager.d.ts +1 -1
  14. package/lib/core/plugin/plugin-manager.d.ts.map +1 -1
  15. package/lib/plugins/clipboard/ClipboardPlugin.d.ts +7 -1
  16. package/lib/plugins/clipboard/ClipboardPlugin.d.ts.map +1 -1
  17. package/lib/plugins/clipboard/index.js +28 -4
  18. package/lib/plugins/clipboard/index.js.map +1 -1
  19. package/lib/plugins/column-virtualization/index.js +20 -4
  20. package/lib/plugins/column-virtualization/index.js.map +1 -1
  21. package/lib/plugins/context-menu/index.js +30 -14
  22. package/lib/plugins/context-menu/index.js.map +1 -1
  23. package/lib/plugins/editing/index.js +24 -8
  24. package/lib/plugins/editing/index.js.map +1 -1
  25. package/lib/plugins/export/index.js +44 -28
  26. package/lib/plugins/export/index.js.map +1 -1
  27. package/lib/plugins/filtering/index.js +16 -0
  28. package/lib/plugins/filtering/index.js.map +1 -1
  29. package/lib/plugins/grouping-columns/index.js +22 -6
  30. package/lib/plugins/grouping-columns/index.js.map +1 -1
  31. package/lib/plugins/grouping-rows/index.js +16 -0
  32. package/lib/plugins/grouping-rows/index.js.map +1 -1
  33. package/lib/plugins/master-detail/index.js +16 -0
  34. package/lib/plugins/master-detail/index.js.map +1 -1
  35. package/lib/plugins/multi-sort/index.js +16 -0
  36. package/lib/plugins/multi-sort/index.js.map +1 -1
  37. package/lib/plugins/pinned-columns/index.js +16 -0
  38. package/lib/plugins/pinned-columns/index.js.map +1 -1
  39. package/lib/plugins/pinned-rows/index.js +16 -0
  40. package/lib/plugins/pinned-rows/index.js.map +1 -1
  41. package/lib/plugins/pivot/index.js +16 -0
  42. package/lib/plugins/pivot/index.js.map +1 -1
  43. package/lib/plugins/reorder/index.js +16 -0
  44. package/lib/plugins/reorder/index.js.map +1 -1
  45. package/lib/plugins/selection/index.js +16 -0
  46. package/lib/plugins/selection/index.js.map +1 -1
  47. package/lib/plugins/server-side/index.js +20 -4
  48. package/lib/plugins/server-side/index.js.map +1 -1
  49. package/lib/plugins/tree/index.js +16 -0
  50. package/lib/plugins/tree/index.js.map +1 -1
  51. package/lib/plugins/undo-redo/UndoRedoPlugin.d.ts +7 -1
  52. package/lib/plugins/undo-redo/UndoRedoPlugin.d.ts.map +1 -1
  53. package/lib/plugins/undo-redo/index.js +29 -5
  54. package/lib/plugins/undo-redo/index.js.map +1 -1
  55. package/lib/plugins/visibility/VisibilityPlugin.d.ts +7 -1
  56. package/lib/plugins/visibility/VisibilityPlugin.d.ts.map +1 -1
  57. package/lib/plugins/visibility/index.js +24 -0
  58. package/lib/plugins/visibility/index.js.map +1 -1
  59. package/package.json +1 -1
  60. package/umd/grid.all.umd.js +23 -17
  61. package/umd/grid.all.umd.js.map +1 -1
  62. package/umd/grid.umd.js +14 -8
  63. package/umd/grid.umd.js.map +1 -1
  64. package/umd/plugins/clipboard.umd.js +1 -1
  65. package/umd/plugins/clipboard.umd.js.map +1 -1
  66. package/umd/plugins/editing.umd.js +1 -1
  67. package/umd/plugins/editing.umd.js.map +1 -1
  68. package/umd/plugins/undo-redo.umd.js +1 -1
  69. package/umd/plugins/undo-redo.umd.js.map +1 -1
  70. package/umd/plugins/visibility.umd.js +1 -1
  71. package/umd/plugins/visibility.umd.js.map +1 -1
@@ -0,0 +1,76 @@
1
+ import { ColumnConfig, InternalGrid, RowElementInternal } from '../types';
2
+ /**
3
+ * CSS selector for focusable editor elements within a cell.
4
+ * Used by multiple modules to find and focus the active editor.
5
+ */
6
+ export declare const FOCUSABLE_EDITOR_SELECTOR = "input,select,textarea,[contenteditable=\"true\"],[contenteditable=\"\"],[tabindex]:not([tabindex=\"-1\"])";
7
+ /**
8
+ * Check if a row element has any cells in editing mode.
9
+ * Uses a cached count on the row element for O(1) lookup instead of querySelector.
10
+ */
11
+ export declare function hasEditingCells(rowEl: RowElementInternal): boolean;
12
+ /**
13
+ * Clear all editing state from a row element.
14
+ * Called when the row is recycled or fully re-rendered.
15
+ */
16
+ export declare function clearEditingState(rowEl: RowElementInternal): void;
17
+ /**
18
+ * Snapshot original row data and mark the row as actively being edited.
19
+ */
20
+ export declare function startRowEdit(grid: InternalGrid, rowIndex: number, rowData: any): void;
21
+ /**
22
+ * Finish editing for a row. If `revert` is true restore original snapshot and clear change marks.
23
+ * Otherwise emit a row-commit event describing change status.
24
+ */
25
+ export declare function exitRowEdit(grid: InternalGrid, rowIndex: number, revert: boolean): void;
26
+ /**
27
+ * Commit a single cell value change, updating the row object, marking the row as changed (first-time flag),
28
+ * and emitting a `cell-commit` event with row + field metadata.
29
+ */
30
+ export declare function commitCellValue(grid: InternalGrid, rowIndex: number, column: ColumnConfig<any>, newValue: any, rowData: any): void;
31
+ /**
32
+ * Replace a cell's content with an editor resolved from column configuration (custom editor, template, external
33
+ * mount spec or default editor by type). Manages commit / cancel lifecycle and value restoration.
34
+ *
35
+ * @param skipFocus - When true, don't auto-focus the editor. Used when creating multiple editors
36
+ * at once (e.g., beginBulkEdit) so the caller can control focus.
37
+ */
38
+ export declare function inlineEnterEdit(grid: InternalGrid, rowData: any, rowIndex: number, column: ColumnConfig<any>, cell: HTMLElement, skipFocus?: boolean): void;
39
+ /**
40
+ * Get all changed rows from the grid.
41
+ * @param grid - The grid instance
42
+ * @returns Array of changed row data objects
43
+ */
44
+ export declare function getChangedRows<T>(grid: InternalGrid<T>): T[];
45
+ /**
46
+ * Get indices of all changed rows.
47
+ * @param grid - The grid instance
48
+ * @returns Array of row indices that have been modified
49
+ */
50
+ export declare function getChangedRowIndices(grid: InternalGrid): number[];
51
+ /**
52
+ * Reset all changed row markers.
53
+ * @param grid - The grid instance
54
+ * @param silent - If true, don't emit the reset event
55
+ */
56
+ export declare function resetChangedRows<T>(grid: InternalGrid<T>, silent?: boolean): void;
57
+ /**
58
+ * Begin bulk editing for a row. Enters edit mode on all editable cells.
59
+ * @param grid - The grid instance
60
+ * @param rowIndex - The row index to start editing
61
+ * @param callbacks - Grid callbacks for finding row elements
62
+ */
63
+ export declare function beginBulkEdit<T>(grid: InternalGrid<T>, rowIndex: number, callbacks: {
64
+ findRenderedRowElement: (rowIndex: number) => HTMLElement | null;
65
+ }): void;
66
+ /**
67
+ * Commit the currently active row edit.
68
+ * @param grid - The grid instance
69
+ */
70
+ export declare function commitActiveRowEdit(grid: InternalGrid): void;
71
+ /**
72
+ * Cancel the currently active row edit, reverting to original values.
73
+ * @param grid - The grid instance
74
+ */
75
+ export declare function cancelActiveRowEdit(grid: InternalGrid): void;
76
+ //# sourceMappingURL=editing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editing.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/core/internal/editing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAkB,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAI/F;;;GAGG;AACH,eAAO,MAAM,yBAAyB,8GACiE,CAAC;AAWxG;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAElE;AAwBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAGjE;AAqDD;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CAKrF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAyFvF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,EACzB,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,GAAG,GACX,IAAI,CAuBN;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,GAAG,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,EACzB,IAAI,EAAE,WAAW,EACjB,SAAS,UAAQ,GAChB,IAAI,CA0KN;AAeD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CASjF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE;IAAE,sBAAsB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,WAAW,GAAG,IAAI,CAAA;CAAE,GAC9E,IAAI,CA6CN;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAI5D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAI5D"}
@@ -8,4 +8,18 @@ import { GridConfig } from '../types';
8
8
  * @throws Error if a plugin-owned property is used without the plugin
9
9
  */
10
10
  export declare function validatePluginProperties<T>(config: GridConfig<T>, plugins: readonly BaseGridPlugin[]): void;
11
+ /**
12
+ * Validate plugin-to-plugin dependencies.
13
+ * Called by PluginManager when attaching a new plugin.
14
+ *
15
+ * Dependencies are read from the plugin's static `dependencies` property.
16
+ *
17
+ * For hard dependencies (required: true), throws an error if the dependency is not loaded.
18
+ * For soft dependencies (required: false), logs an info message but continues.
19
+ *
20
+ * @param plugin - The plugin instance being attached
21
+ * @param loadedPlugins - The array of already-loaded plugins
22
+ * @throws Error if a required dependency is missing
23
+ */
24
+ export declare function validatePluginDependencies(plugin: BaseGridPlugin, loadedPlugins: readonly BaseGridPlugin[]): void;
11
25
  //# sourceMappingURL=validate-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-config.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/core/internal/validate-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAgB,UAAU,EAAE,MAAM,UAAU,CAAC;AA6FzD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,cAAc,EAAE,GAAG,IAAI,CAiF3G"}
1
+ {"version":3,"file":"validate-config.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/core/internal/validate-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAgB,UAAU,EAAE,MAAM,UAAU,CAAC;AAwGzD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,cAAc,EAAE,GAAG,IAAI,CAiF3G;AAyCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,cAAc,EAAE,GAAG,IAAI,CAmCjH"}
@@ -26,6 +26,38 @@ export interface PluginHeaderRenderContext {
26
26
  /** Column index */
27
27
  colIndex: number;
28
28
  }
29
+ /**
30
+ * Declares a dependency on another plugin.
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * export class UndoRedoPlugin extends BaseGridPlugin {
35
+ * static readonly dependencies: PluginDependency[] = [
36
+ * { name: 'editing', required: true },
37
+ * ];
38
+ * }
39
+ * ```
40
+ */
41
+ export interface PluginDependency {
42
+ /**
43
+ * The name of the required plugin (matches the plugin's `name` property).
44
+ * Use string names for loose coupling - avoids static imports.
45
+ */
46
+ name: string;
47
+ /**
48
+ * Whether this dependency is required (hard) or optional (soft).
49
+ * - `true`: Plugin cannot function without it. Throws error if missing.
50
+ * - `false`: Plugin works with reduced functionality. Logs info if missing.
51
+ * @default true
52
+ */
53
+ required?: boolean;
54
+ /**
55
+ * Human-readable reason for this dependency.
56
+ * Shown in error/info messages to help users understand why.
57
+ * @example "UndoRedoPlugin needs EditingPlugin to track cell edits"
58
+ */
59
+ reason?: string;
60
+ }
29
61
  /**
30
62
  * Abstract base class for all grid plugins.
31
63
  *
@@ -33,6 +65,22 @@ export interface PluginHeaderRenderContext {
33
65
  */
34
66
  export declare abstract class BaseGridPlugin<TConfig = unknown> implements GridPlugin {
35
67
  #private;
68
+ /**
69
+ * Plugin dependencies - declare other plugins this one requires.
70
+ *
71
+ * Dependencies are validated when the plugin is attached.
72
+ * Required dependencies throw an error if missing.
73
+ * Optional dependencies log an info message if missing.
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * static readonly dependencies: PluginDependency[] = [
78
+ * { name: 'editing', required: true, reason: 'Tracks cell edits for undo/redo' },
79
+ * { name: 'selection', required: false, reason: 'Enables selection-based undo' },
80
+ * ];
81
+ * ```
82
+ */
83
+ static readonly dependencies?: PluginDependency[];
36
84
  /** Unique plugin identifier (derived from class name by default) */
37
85
  abstract readonly name: string;
38
86
  /** Plugin version - override in subclass if needed */
@@ -1 +1 @@
1
- {"version":3,"file":"base-plugin.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/core/plugin/base-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,uBAAuB,EACvB,SAAS,EACT,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG9C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,YAAY,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,SAAS,CAAC,CAAC,SAAS,cAAc,EAAE,WAAW,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC3F,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAC1D;;;;;OAKG;IACH,cAAc,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,2BAA2B;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,8BAAsB,cAAc,CAAC,OAAO,GAAG,OAAO,CAAE,YAAW,UAAU;;IAC3E,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAW;IAEnC,sDAAsD;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,+CAA+C;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEtD,iDAAiD;IACjD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAE1D,6CAA6C;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAElD,mDAAmD;IACnD,SAAS,CAAC,IAAI,EAAG,WAAW,CAAC;IAE7B,8DAA8D;IAC9D,SAAS,CAAC,MAAM,EAAG,OAAO,CAAC;IAE3B,mDAAmD;IACnD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAShD;;;;OAIG;IACH,SAAS,KAAK,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAE9C;gBAEW,MAAM,GAAE,OAAO,CAAC,OAAO,CAAM;IAIzC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAW/B;;;;;;;;;;;;OAYG;IACH,MAAM,IAAI,IAAI;IAQd;;;;;;;;;;;;;;;;OAgBG;IACH,gBAAgB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;IAE7D;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAErC;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,cAAc,EAAE,WAAW,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS;IAIpG;;OAEG;IACH,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI;IAIrD;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,IAAI;IAI/B;;;OAGG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAIpC;;OAEG;IACH,SAAS,KAAK,IAAI,IAAI,GAAG,EAAE,CAE1B;IAED;;;OAGG;IACH,SAAS,KAAK,UAAU,IAAI,GAAG,EAAE,CAEhC;IAED;;OAEG;IACH,SAAS,KAAK,OAAO,IAAI,YAAY,EAAE,CAEtC;IAED;;;OAGG;IACH,SAAS,KAAK,cAAc,IAAI,YAAY,EAAE,CAE7C;IAED;;OAEG;IACH,SAAS,KAAK,UAAU,IAAI,UAAU,GAAG,IAAI,CAE5C;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,KAAK,gBAAgB,IAAI,WAAW,CAI5C;IAED;;;OAGG;IACH,SAAS,KAAK,SAAS,IAAI,OAAO,kBAAkB,CAGnD;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,OAAO,kBAAkB,EAAE,cAAc,CAAC,EAAE,SAAS,GAAG,SAAS;IAStG;;;;;;OAMG;IACH,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAS9D;;OAEG;IACH,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMrC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,WAAW,CAAC,CAAC,IAAI,EAAE,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE;IAEzC;;;;;;;;;;;;;;;;;;OAkBG;IACH,cAAc,CAAC,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,YAAY,EAAE;IAEjE;;;;;;;;;;OAUG;IACH,YAAY,CAAC,IAAI,IAAI;IAErB;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,IAAI,IAAI;IAEpB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,IAAI,IAAI;IAEvB;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,IAAI,MAAM;IAEzB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,oBAAoB,CAAC,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAErD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,kBAAkB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAEhF;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAM1E;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,aAAa,CAAC,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAM3C;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,GAAG,IAAI;IAEhD;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,GAAG,IAAI;IAEnD;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,GAAG,IAAI;IAEjD;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CAAC,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,GAAG,IAAI;IAEvD;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAEnC;;;;;;;;;;;;;;;;OAgBG;IACH,eAAe,CAAC,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,GAAG,IAAI;IAEvD;;;;;;;;;;;;;;;;OAgBG;IACH,eAAe,CAAC,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,GAAG,IAAI;IAEvD;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CAAC,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,GAAG,IAAI;IASrD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS;IAEhE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI;IAM1D;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,0BAA0B,CAAC,CACzB,KAAK,CAAC,EAAE,WAAW,EACnB,WAAW,CAAC,EAAE,WAAW,GACxB;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS;IAMpE;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,YAAY,CAAC,IAAI,mBAAmB,GAAG,SAAS;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,gBAAgB,CAAC,IAAI,uBAAuB,GAAG,SAAS;CAGzD"}
1
+ {"version":3,"file":"base-plugin.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/core/plugin/base-plugin.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,6 @@
7
7
  export { BaseGridPlugin, PLUGIN_QUERIES } from './base-plugin';
8
8
  export type { CellClickEvent, CellCoords, CellEditor, CellMouseEvent, CellRenderer, ContextMenuItem, ContextMenuParams, GridElement, HeaderClickEvent, HeaderRenderer, KeyboardModifiers, PluginCellRenderContext, PluginHeaderRenderContext, PluginQuery, RowClickEvent, ScrollEvent, } from './base-plugin';
9
9
  export { PluginManager } from './plugin-manager';
10
+ export type { PluginDependency } from './base-plugin';
10
11
  export type { ColumnConfig } from '../types';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/core/plugin/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/core/plugin/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAItD,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
@@ -27,7 +27,7 @@ export declare class PluginManager {
27
27
  attachAll(plugins: BaseGridPlugin[]): void;
28
28
  /**
29
29
  * Attach a plugin to this grid.
30
- * Notifies other plugins of the new attachment via onPluginAttached hook.
30
+ * Validates dependencies and notifies other plugins of the new attachment.
31
31
  */
32
32
  attach(plugin: BaseGridPlugin): void;
33
33
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-manager.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/core/plugin/plugin-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-manager.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/core/plugin/plugin-manager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { BaseGridPlugin } from '../../core/plugin/base-plugin';
1
+ import { BaseGridPlugin, PluginDependency } from '../../core/plugin/base-plugin';
2
2
  import { ClipboardConfig } from './types';
3
3
  /**
4
4
  * Clipboard Plugin for tbw-grid
@@ -10,6 +10,12 @@ import { ClipboardConfig } from './types';
10
10
  */
11
11
  export declare class ClipboardPlugin extends BaseGridPlugin<ClipboardConfig> {
12
12
  #private;
13
+ /**
14
+ * Plugin dependencies - ClipboardPlugin requires SelectionPlugin to know what to copy.
15
+ *
16
+ * The SelectionPlugin must be loaded BEFORE this plugin in the plugins array.
17
+ */
18
+ static readonly dependencies: PluginDependency[];
13
19
  readonly name = "clipboard";
14
20
  readonly version = "1.0.0";
15
21
  protected get defaultConfig(): Partial<ClipboardConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"ClipboardPlugin.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/plugins/clipboard/ClipboardPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,OAAO,KAAK,EAAE,eAAe,EAA2B,MAAM,SAAS,CAAC;AAExE;;;;;;;GAOG;AACH,qBAAa,eAAgB,SAAQ,cAAc,CAAC,eAAe,CAAC;;IAClE,QAAQ,CAAC,IAAI,eAAe;IAC5B,SAAkB,OAAO,WAAW;IAEpC,cAAuB,aAAa,IAAI,OAAO,CAAC,eAAe,CAAC,CAO/D;IAGD,qDAAqD;IACrD,OAAO,CAAC,UAAU,CAAoD;IAK7D,MAAM,IAAI,IAAI;IAOd,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAkOjD;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAgB7B;;;;OAIG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAalD;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC;IAMzC;;;OAGG;IACH,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAI5D;AAoBD,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"ClipboardPlugin.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/plugins/clipboard/ClipboardPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtF,OAAO,KAAK,EAAE,eAAe,EAA2B,MAAM,SAAS,CAAC;AAExE;;;;;;;GAOG;AACH,qBAAa,eAAgB,SAAQ,cAAc,CAAC,eAAe,CAAC;;IAClE;;;;OAIG;IACH,gBAAyB,YAAY,EAAE,gBAAgB,EAAE,CAEvD;IAEF,QAAQ,CAAC,IAAI,eAAe;IAC5B,SAAkB,OAAO,WAAW;IAEpC,cAAuB,aAAa,IAAI,OAAO,CAAC,eAAe,CAAC,CAO/D;IAGD,qDAAqD;IACrD,OAAO,CAAC,UAAU,CAAoD;IAK7D,MAAM,IAAI,IAAI;IAOd,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAkOjD;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAgB7B;;;;OAIG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAalD;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC;IAMzC;;;OAGG;IACH,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAI5D;AAoBD,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
@@ -9,6 +9,22 @@ const R = {
9
9
  toolPanel: "☰"
10
10
  };
11
11
  class I {
12
+ /**
13
+ * Plugin dependencies - declare other plugins this one requires.
14
+ *
15
+ * Dependencies are validated when the plugin is attached.
16
+ * Required dependencies throw an error if missing.
17
+ * Optional dependencies log an info message if missing.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * static readonly dependencies: PluginDependency[] = [
22
+ * { name: 'editing', required: true, reason: 'Tracks cell edits for undo/redo' },
23
+ * { name: 'selection', required: false, reason: 'Enables selection-based undo' },
24
+ * ];
25
+ * ```
26
+ */
27
+ static dependencies;
12
28
  /** Plugin version - override in subclass if needed */
13
29
  version = "1.0.0";
14
30
  /** CSS styles to inject into the grid's shadow DOM */
@@ -199,7 +215,7 @@ class I {
199
215
  }
200
216
  // #endregion
201
217
  }
202
- function T(h, e, t, n) {
218
+ function P(h, e, t, n) {
203
219
  if (n.processCell)
204
220
  return n.processCell(h, e, t);
205
221
  if (h == null) return "";
@@ -224,7 +240,7 @@ function p(h) {
224
240
  const d = e[s];
225
241
  if (!d) continue;
226
242
  const f = r.map(
227
- (g) => T(d[g.field], g.field, d, i)
243
+ (g) => P(d[g.field], g.field, d, i)
228
244
  );
229
245
  c.push(f.join(l));
230
246
  }
@@ -259,7 +275,15 @@ async function x() {
259
275
  return "";
260
276
  }
261
277
  }
262
- class D extends I {
278
+ class T extends I {
279
+ /**
280
+ * Plugin dependencies - ClipboardPlugin requires SelectionPlugin to know what to copy.
281
+ *
282
+ * The SelectionPlugin must be loaded BEFORE this plugin in the plugins array.
283
+ */
284
+ static dependencies = [
285
+ { name: "selection", required: !0, reason: "ClipboardPlugin needs selection to determine what cells to copy" }
286
+ ];
263
287
  name = "clipboard";
264
288
  version = "1.0.0";
265
289
  get defaultConfig() {
@@ -455,6 +479,6 @@ class D extends I {
455
479
  // #endregion
456
480
  }
457
481
  export {
458
- D as ClipboardPlugin
482
+ T as ClipboardPlugin
459
483
  };
460
484
  //# sourceMappingURL=index.js.map