@toolbox-web/grid-angular 0.7.0 → 0.7.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 (210) hide show
  1. package/fesm2022/toolbox-web-grid-angular-features-clipboard.mjs +30 -0
  2. package/fesm2022/toolbox-web-grid-angular-features-clipboard.mjs.map +1 -0
  3. package/fesm2022/toolbox-web-grid-angular-features-column-virtualization.mjs +28 -0
  4. package/fesm2022/toolbox-web-grid-angular-features-column-virtualization.mjs.map +1 -0
  5. package/fesm2022/toolbox-web-grid-angular-features-context-menu.mjs +28 -0
  6. package/fesm2022/toolbox-web-grid-angular-features-context-menu.mjs.map +1 -0
  7. package/fesm2022/toolbox-web-grid-angular-features-editing.mjs +33 -0
  8. package/fesm2022/toolbox-web-grid-angular-features-editing.mjs.map +1 -0
  9. package/fesm2022/toolbox-web-grid-angular-features-export.mjs +29 -0
  10. package/fesm2022/toolbox-web-grid-angular-features-export.mjs.map +1 -0
  11. package/fesm2022/toolbox-web-grid-angular-features-filtering.mjs +29 -0
  12. package/fesm2022/toolbox-web-grid-angular-features-filtering.mjs.map +1 -0
  13. package/fesm2022/toolbox-web-grid-angular-features-grouping-columns.mjs +28 -0
  14. package/fesm2022/toolbox-web-grid-angular-features-grouping-columns.mjs.map +1 -0
  15. package/fesm2022/toolbox-web-grid-angular-features-grouping-rows.mjs +25 -0
  16. package/fesm2022/toolbox-web-grid-angular-features-grouping-rows.mjs.map +1 -0
  17. package/fesm2022/toolbox-web-grid-angular-features-master-detail.mjs +25 -0
  18. package/fesm2022/toolbox-web-grid-angular-features-master-detail.mjs.map +1 -0
  19. package/fesm2022/toolbox-web-grid-angular-features-multi-sort.mjs +40 -0
  20. package/fesm2022/toolbox-web-grid-angular-features-multi-sort.mjs.map +1 -0
  21. package/{features/pinned-columns.d.ts → fesm2022/toolbox-web-grid-angular-features-pinned-columns.mjs} +11 -2
  22. package/fesm2022/toolbox-web-grid-angular-features-pinned-columns.mjs.map +1 -0
  23. package/fesm2022/toolbox-web-grid-angular-features-pinned-rows.mjs +28 -0
  24. package/fesm2022/toolbox-web-grid-angular-features-pinned-rows.mjs.map +1 -0
  25. package/fesm2022/toolbox-web-grid-angular-features-pivot.mjs +25 -0
  26. package/fesm2022/toolbox-web-grid-angular-features-pivot.mjs.map +1 -0
  27. package/fesm2022/toolbox-web-grid-angular-features-print.mjs +28 -0
  28. package/fesm2022/toolbox-web-grid-angular-features-print.mjs.map +1 -0
  29. package/fesm2022/toolbox-web-grid-angular-features-reorder.mjs +28 -0
  30. package/fesm2022/toolbox-web-grid-angular-features-reorder.mjs.map +1 -0
  31. package/fesm2022/toolbox-web-grid-angular-features-responsive.mjs +28 -0
  32. package/fesm2022/toolbox-web-grid-angular-features-responsive.mjs.map +1 -0
  33. package/fesm2022/toolbox-web-grid-angular-features-row-reorder.mjs +28 -0
  34. package/fesm2022/toolbox-web-grid-angular-features-row-reorder.mjs.map +1 -0
  35. package/fesm2022/toolbox-web-grid-angular-features-selection.mjs +30 -0
  36. package/fesm2022/toolbox-web-grid-angular-features-selection.mjs.map +1 -0
  37. package/fesm2022/toolbox-web-grid-angular-features-server-side.mjs +25 -0
  38. package/fesm2022/toolbox-web-grid-angular-features-server-side.mjs.map +1 -0
  39. package/fesm2022/toolbox-web-grid-angular-features-sorting.mjs +25 -0
  40. package/fesm2022/toolbox-web-grid-angular-features-sorting.mjs.map +1 -0
  41. package/fesm2022/toolbox-web-grid-angular-features-tree.mjs +28 -0
  42. package/fesm2022/toolbox-web-grid-angular-features-tree.mjs.map +1 -0
  43. package/fesm2022/toolbox-web-grid-angular-features-undo-redo.mjs +30 -0
  44. package/fesm2022/toolbox-web-grid-angular-features-undo-redo.mjs.map +1 -0
  45. package/fesm2022/toolbox-web-grid-angular-features-visibility.mjs +28 -0
  46. package/fesm2022/toolbox-web-grid-angular-features-visibility.mjs.map +1 -0
  47. package/fesm2022/toolbox-web-grid-angular.mjs +3189 -0
  48. package/fesm2022/toolbox-web-grid-angular.mjs.map +1 -0
  49. package/package.json +109 -35
  50. package/types/toolbox-web-grid-angular-features-clipboard.d.ts +3 -0
  51. package/types/toolbox-web-grid-angular-features-clipboard.d.ts.map +1 -0
  52. package/types/toolbox-web-grid-angular-features-column-virtualization.d.ts +3 -0
  53. package/types/toolbox-web-grid-angular-features-column-virtualization.d.ts.map +1 -0
  54. package/types/toolbox-web-grid-angular-features-context-menu.d.ts +3 -0
  55. package/types/toolbox-web-grid-angular-features-context-menu.d.ts.map +1 -0
  56. package/types/toolbox-web-grid-angular-features-editing.d.ts +3 -0
  57. package/types/toolbox-web-grid-angular-features-editing.d.ts.map +1 -0
  58. package/types/toolbox-web-grid-angular-features-export.d.ts +3 -0
  59. package/types/toolbox-web-grid-angular-features-export.d.ts.map +1 -0
  60. package/types/toolbox-web-grid-angular-features-filtering.d.ts +3 -0
  61. package/types/toolbox-web-grid-angular-features-filtering.d.ts.map +1 -0
  62. package/types/toolbox-web-grid-angular-features-grouping-columns.d.ts +3 -0
  63. package/types/toolbox-web-grid-angular-features-grouping-columns.d.ts.map +1 -0
  64. package/types/toolbox-web-grid-angular-features-grouping-rows.d.ts +3 -0
  65. package/types/toolbox-web-grid-angular-features-grouping-rows.d.ts.map +1 -0
  66. package/types/toolbox-web-grid-angular-features-master-detail.d.ts +3 -0
  67. package/types/toolbox-web-grid-angular-features-master-detail.d.ts.map +1 -0
  68. package/types/toolbox-web-grid-angular-features-multi-sort.d.ts +3 -0
  69. package/types/toolbox-web-grid-angular-features-multi-sort.d.ts.map +1 -0
  70. package/types/toolbox-web-grid-angular-features-pinned-columns.d.ts +3 -0
  71. package/types/toolbox-web-grid-angular-features-pinned-columns.d.ts.map +1 -0
  72. package/types/toolbox-web-grid-angular-features-pinned-rows.d.ts +3 -0
  73. package/types/toolbox-web-grid-angular-features-pinned-rows.d.ts.map +1 -0
  74. package/types/toolbox-web-grid-angular-features-pivot.d.ts +3 -0
  75. package/types/toolbox-web-grid-angular-features-pivot.d.ts.map +1 -0
  76. package/types/toolbox-web-grid-angular-features-print.d.ts +3 -0
  77. package/types/toolbox-web-grid-angular-features-print.d.ts.map +1 -0
  78. package/types/toolbox-web-grid-angular-features-reorder.d.ts +3 -0
  79. package/types/toolbox-web-grid-angular-features-reorder.d.ts.map +1 -0
  80. package/types/toolbox-web-grid-angular-features-responsive.d.ts +3 -0
  81. package/types/toolbox-web-grid-angular-features-responsive.d.ts.map +1 -0
  82. package/types/toolbox-web-grid-angular-features-row-reorder.d.ts +3 -0
  83. package/types/toolbox-web-grid-angular-features-row-reorder.d.ts.map +1 -0
  84. package/types/toolbox-web-grid-angular-features-selection.d.ts +3 -0
  85. package/types/toolbox-web-grid-angular-features-selection.d.ts.map +1 -0
  86. package/types/toolbox-web-grid-angular-features-server-side.d.ts +3 -0
  87. package/types/toolbox-web-grid-angular-features-server-side.d.ts.map +1 -0
  88. package/types/toolbox-web-grid-angular-features-sorting.d.ts +3 -0
  89. package/types/toolbox-web-grid-angular-features-sorting.d.ts.map +1 -0
  90. package/types/toolbox-web-grid-angular-features-tree.d.ts +3 -0
  91. package/types/toolbox-web-grid-angular-features-tree.d.ts.map +1 -0
  92. package/types/toolbox-web-grid-angular-features-undo-redo.d.ts +3 -0
  93. package/types/toolbox-web-grid-angular-features-undo-redo.d.ts.map +1 -0
  94. package/types/toolbox-web-grid-angular-features-visibility.d.ts +3 -0
  95. package/types/toolbox-web-grid-angular-features-visibility.d.ts.map +1 -0
  96. package/types/toolbox-web-grid-angular.d.ts +2325 -0
  97. package/types/toolbox-web-grid-angular.d.ts.map +1 -0
  98. package/feature-registry-C-cKloXB.js +0 -45
  99. package/features/clipboard.d.ts +0 -18
  100. package/features/clipboard.d.ts.map +0 -1
  101. package/features/clipboard.js +0 -3
  102. package/features/column-virtualization.d.ts +0 -16
  103. package/features/column-virtualization.d.ts.map +0 -1
  104. package/features/column-virtualization.js +0 -3
  105. package/features/context-menu.d.ts +0 -16
  106. package/features/context-menu.d.ts.map +0 -1
  107. package/features/context-menu.js +0 -3
  108. package/features/editing.d.ts +0 -16
  109. package/features/editing.d.ts.map +0 -1
  110. package/features/editing.js +0 -3
  111. package/features/export.d.ts +0 -17
  112. package/features/export.d.ts.map +0 -1
  113. package/features/export.js +0 -3
  114. package/features/filtering.d.ts +0 -17
  115. package/features/filtering.d.ts.map +0 -1
  116. package/features/filtering.js +0 -3
  117. package/features/grouping-columns.d.ts +0 -16
  118. package/features/grouping-columns.d.ts.map +0 -1
  119. package/features/grouping-columns.js +0 -3
  120. package/features/grouping-rows.d.ts +0 -16
  121. package/features/grouping-rows.d.ts.map +0 -1
  122. package/features/grouping-rows.js +0 -3
  123. package/features/index.d.ts +0 -1
  124. package/features/index.d.ts.map +0 -1
  125. package/features/index.js +0 -22
  126. package/features/master-detail.d.ts +0 -16
  127. package/features/master-detail.d.ts.map +0 -1
  128. package/features/master-detail.js +0 -3
  129. package/features/multi-sort.d.ts +0 -22
  130. package/features/multi-sort.d.ts.map +0 -1
  131. package/features/pinned-columns.d.ts.map +0 -1
  132. package/features/pinned-columns.js +0 -3
  133. package/features/pinned-rows.d.ts +0 -16
  134. package/features/pinned-rows.d.ts.map +0 -1
  135. package/features/pinned-rows.js +0 -3
  136. package/features/pivot.d.ts +0 -16
  137. package/features/pivot.d.ts.map +0 -1
  138. package/features/pivot.js +0 -3
  139. package/features/print.d.ts +0 -16
  140. package/features/print.d.ts.map +0 -1
  141. package/features/print.js +0 -3
  142. package/features/reorder.d.ts +0 -16
  143. package/features/reorder.d.ts.map +0 -1
  144. package/features/reorder.js +0 -3
  145. package/features/responsive.d.ts +0 -16
  146. package/features/responsive.d.ts.map +0 -1
  147. package/features/responsive.js +0 -3
  148. package/features/row-reorder.d.ts +0 -16
  149. package/features/row-reorder.d.ts.map +0 -1
  150. package/features/row-reorder.js +0 -3
  151. package/features/selection.d.ts +0 -16
  152. package/features/selection.d.ts.map +0 -1
  153. package/features/selection.js +0 -3
  154. package/features/server-side.d.ts +0 -16
  155. package/features/server-side.d.ts.map +0 -1
  156. package/features/server-side.js +0 -3
  157. package/features/sorting.d.ts +0 -1
  158. package/features/sorting.d.ts.map +0 -1
  159. package/features/sorting.js +0 -1
  160. package/features/tree.d.ts +0 -16
  161. package/features/tree.d.ts.map +0 -1
  162. package/features/tree.js +0 -3
  163. package/features/undo-redo.d.ts +0 -18
  164. package/features/undo-redo.d.ts.map +0 -1
  165. package/features/undo-redo.js +0 -3
  166. package/features/visibility.d.ts +0 -16
  167. package/features/visibility.d.ts.map +0 -1
  168. package/features/visibility.js +0 -3
  169. package/index.d.ts +0 -34
  170. package/index.d.ts.map +0 -1
  171. package/index.js +0 -1916
  172. package/lib/angular-column-config.d.ts +0 -140
  173. package/lib/angular-column-config.d.ts.map +0 -1
  174. package/lib/angular-grid-adapter.d.ts +0 -220
  175. package/lib/angular-grid-adapter.d.ts.map +0 -1
  176. package/lib/base-grid-editor.d.ts +0 -145
  177. package/lib/base-grid-editor.d.ts.map +0 -1
  178. package/lib/component-registry.d.ts +0 -63
  179. package/lib/component-registry.d.ts.map +0 -1
  180. package/lib/directives/grid-column-editor.directive.d.ts +0 -113
  181. package/lib/directives/grid-column-editor.directive.d.ts.map +0 -1
  182. package/lib/directives/grid-column-view.directive.d.ts +0 -69
  183. package/lib/directives/grid-column-view.directive.d.ts.map +0 -1
  184. package/lib/directives/grid-detail-view.directive.d.ts +0 -75
  185. package/lib/directives/grid-detail-view.directive.d.ts.map +0 -1
  186. package/lib/directives/grid-form-array.directive.d.ts +0 -141
  187. package/lib/directives/grid-form-array.directive.d.ts.map +0 -1
  188. package/lib/directives/grid-responsive-card.directive.d.ts +0 -92
  189. package/lib/directives/grid-responsive-card.directive.d.ts.map +0 -1
  190. package/lib/directives/grid-tool-panel.directive.d.ts +0 -91
  191. package/lib/directives/grid-tool-panel.directive.d.ts.map +0 -1
  192. package/lib/directives/grid.directive.d.ts +0 -808
  193. package/lib/directives/grid.directive.d.ts.map +0 -1
  194. package/lib/directives/index.d.ts +0 -9
  195. package/lib/directives/index.d.ts.map +0 -1
  196. package/lib/directives/structural-directives.d.ts +0 -174
  197. package/lib/directives/structural-directives.d.ts.map +0 -1
  198. package/lib/feature-registry.d.ts +0 -72
  199. package/lib/feature-registry.d.ts.map +0 -1
  200. package/lib/grid-type-registry.d.ts +0 -110
  201. package/lib/grid-type-registry.d.ts.map +0 -1
  202. package/lib/inject-grid.d.ts +0 -109
  203. package/lib/inject-grid.d.ts.map +0 -1
  204. package/lib/interfaces/grid-cell-editor.d.ts +0 -85
  205. package/lib/interfaces/grid-cell-editor.d.ts.map +0 -1
  206. package/lib/interfaces/grid-cell-renderer.d.ts +0 -63
  207. package/lib/interfaces/grid-cell-renderer.d.ts.map +0 -1
  208. package/lib/interfaces/index.d.ts +0 -5
  209. package/lib/interfaces/index.d.ts.map +0 -1
  210. package/multi-sort-DPbW58yz.js +0 -3
@@ -1,808 +0,0 @@
1
- import { AfterContentInit, OnDestroy, OnInit } from '@angular/core';
2
- import { CellActivateDetail, CellChangeDetail, CellClickDetail, ChangedRowsResetDetail, ColumnResizeDetail, GridColumnState, RowClickDetail, SortChangeDetail } from '@toolbox-web/grid';
3
- import { ClipboardConfig, ColumnMoveDetail, ColumnVirtualizationConfig, ColumnVisibilityDetail, ContextMenuConfig, CopyDetail, DetailExpandDetail, ExportCompleteDetail, ExportConfig, FilterChangeDetail, FilterConfig, GroupingColumnsConfig, GroupingRowsConfig, GroupToggleDetail, MasterDetailConfig, MultiSortConfig, PasteDetail, PinnedRowsConfig, PivotConfig, PrintCompleteDetail, PrintConfig, PrintStartDetail, ReorderConfig, ResponsiveChangeDetail, ResponsivePluginConfig, RowMoveDetail, RowReorderConfig, SelectionChangeDetail, SelectionConfig, ServerSideConfig, TreeConfig, TreeExpandDetail, UndoRedoConfig, UndoRedoDetail, VisibilityConfig } from '@toolbox-web/grid/all';
4
- import { AngularGridConfig } from '../angular-column-config';
5
- /**
6
- * Event detail for cell commit events.
7
- */
8
- export interface CellCommitEvent<TRow = unknown, TValue = unknown> {
9
- /** The row data object */
10
- row: TRow;
11
- /** The field name of the edited column */
12
- field: string;
13
- /** The new value after edit */
14
- value: TValue;
15
- /** The row index in the data array */
16
- rowIndex: number;
17
- /** Array of all rows that have been modified */
18
- changedRows: TRow[];
19
- /** Set of row indices that have been modified */
20
- changedRowIndices: Set<number>;
21
- /** Whether this is the first modification to this row */
22
- firstTimeForRow: boolean;
23
- }
24
- /**
25
- * Event detail for row commit events (bulk editing).
26
- */
27
- export interface RowCommitEvent<TRow = unknown> {
28
- /** The row data object */
29
- row: TRow;
30
- /** The row index in the data array */
31
- rowIndex: number;
32
- /** Array of all rows that have been modified */
33
- changedRows: TRow[];
34
- /** Set of row indices that have been modified */
35
- changedRowIndices: Set<number>;
36
- /** Whether this is the first modification to this row */
37
- firstTimeForRow: boolean;
38
- }
39
- /**
40
- * Directive that automatically registers the Angular adapter with tbw-grid elements.
41
- *
42
- * This directive eliminates the need to manually register the adapter in your component
43
- * constructor. Simply import this directive and it will handle adapter registration.
44
- *
45
- * ## Usage
46
- *
47
- * ```typescript
48
- * import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
49
- * import { Grid } from '@toolbox-web/grid-angular';
50
- *
51
- * @Component({
52
- * selector: 'app-root',
53
- * imports: [Grid],
54
- * schemas: [CUSTOM_ELEMENTS_SCHEMA],
55
- * template: `
56
- * <tbw-grid [rows]="rows" [gridConfig]="config" [customStyles]="myStyles">
57
- * <!-- column templates -->
58
- * </tbw-grid>
59
- * `
60
- * })
61
- * export class AppComponent {
62
- * rows = [...];
63
- * config = {...};
64
- * myStyles = `.my-class { color: red; }`;
65
- * }
66
- * ```
67
- *
68
- * The directive automatically:
69
- * - Creates an AngularGridAdapter instance
70
- * - Registers it with the GridElement
71
- * - Injects custom styles into the grid
72
- * - Handles cleanup on destruction
73
- */
74
- export declare class Grid implements OnInit, AfterContentInit, OnDestroy {
75
- private elementRef;
76
- private injector;
77
- private appRef;
78
- private viewContainerRef;
79
- private adapter;
80
- constructor();
81
- /**
82
- * Custom CSS styles to inject into the grid.
83
- * Use this to style custom cell renderers, editors, or detail panels.
84
- *
85
- * @example
86
- * ```typescript
87
- * // In your component
88
- * customStyles = `
89
- * .my-detail-panel { padding: 16px; }
90
- * .my-status-badge { border-radius: 4px; }
91
- * `;
92
- * ```
93
- *
94
- * ```html
95
- * <tbw-grid [customStyles]="customStyles">...</tbw-grid>
96
- * ```
97
- */
98
- customStyles: import('@angular/core').InputSignal<string | undefined>;
99
- /**
100
- * Grid-wide sorting toggle.
101
- * When false, disables sorting for all columns regardless of their individual `sortable` setting.
102
- * When true (default), columns with `sortable: true` can be sorted.
103
- *
104
- * This is a core grid config property, not a plugin feature.
105
- * For multi-column sorting, also add the `[multiSort]` feature.
106
- *
107
- * @default true
108
- *
109
- * @example
110
- * ```html
111
- * <!-- Disable all sorting -->
112
- * <tbw-grid [sortable]="false" />
113
- *
114
- * <!-- Enable sorting (default) - columns still need sortable: true -->
115
- * <tbw-grid [sortable]="true" />
116
- *
117
- * <!-- Enable multi-column sorting -->
118
- * <tbw-grid [sortable]="true" [multiSort]="true" />
119
- * ```
120
- */
121
- sortable: import('@angular/core').InputSignal<boolean | undefined>;
122
- /**
123
- * Grid-wide filtering toggle.
124
- * When false, disables filtering for all columns regardless of their individual `filterable` setting.
125
- * When true (default), columns with `filterable: true` can be filtered.
126
- *
127
- * Requires the FilteringPlugin to be loaded.
128
- *
129
- * @default true
130
- *
131
- * @example
132
- * ```html
133
- * <!-- Disable all filtering -->
134
- * <tbw-grid [filterable]="false" [filtering]="true" />
135
- *
136
- * <!-- Enable filtering (default) -->
137
- * <tbw-grid [filterable]="true" [filtering]="true" />
138
- * ```
139
- */
140
- filterable: import('@angular/core').InputSignal<boolean | undefined>;
141
- /**
142
- * Grid-wide selection toggle.
143
- * When false, disables selection for all rows/cells.
144
- * When true (default), selection is enabled based on plugin mode.
145
- *
146
- * Requires the SelectionPlugin to be loaded.
147
- *
148
- * @default true
149
- *
150
- * @example
151
- * ```html
152
- * <!-- Disable all selection -->
153
- * <tbw-grid [selectable]="false" [selection]="'range'" />
154
- *
155
- * <!-- Enable selection (default) -->
156
- * <tbw-grid [selectable]="true" [selection]="'range'" />
157
- * ```
158
- */
159
- selectable: import('@angular/core').InputSignal<boolean | undefined>;
160
- /**
161
- * Angular-specific grid configuration that supports component classes for renderers/editors.
162
- *
163
- * Use this input when you want to specify Angular component classes directly in column configs.
164
- * Components must implement the appropriate interfaces:
165
- * - Renderers: `AngularCellRenderer<TRow, TValue>` - requires `value()` and `row()` signal inputs
166
- * - Editors: `AngularCellEditor<TRow, TValue>` - adds `commit` and `cancel` outputs
167
- *
168
- * The directive automatically processes component classes and converts them to grid-compatible
169
- * renderer/editor functions before applying to the grid.
170
- *
171
- * @example
172
- * ```typescript
173
- * // Component that implements AngularCellEditor
174
- * @Component({...})
175
- * export class BonusEditorComponent implements AngularCellEditor<Employee, number> {
176
- * value = input.required<number>();
177
- * row = input.required<Employee>();
178
- * commit = output<number>();
179
- * cancel = output<void>();
180
- * }
181
- *
182
- * // In your grid config
183
- * config: AngularGridConfig<Employee> = {
184
- * columns: [
185
- * { field: 'name', header: 'Name' },
186
- * { field: 'bonus', header: 'Bonus', editable: true, editor: BonusEditorComponent }
187
- * ]
188
- * };
189
- * ```
190
- *
191
- * ```html
192
- * <tbw-grid [angularConfig]="config" [rows]="employees"></tbw-grid>
193
- * ```
194
- */
195
- angularConfig: import('@angular/core').InputSignal<AngularGridConfig<any> | undefined>;
196
- /**
197
- * Enable cell/row/range selection.
198
- *
199
- * **Requires feature import:**
200
- * ```typescript
201
- * import '@toolbox-web/grid-angular/features/selection';
202
- * ```
203
- *
204
- * @example
205
- * ```html
206
- * <!-- Shorthand - just the mode -->
207
- * <tbw-grid [selection]="'range'" />
208
- *
209
- * <!-- Full config object -->
210
- * <tbw-grid [selection]="{ mode: 'range', checkbox: true }" />
211
- * ```
212
- */
213
- selection: import('@angular/core').InputSignal<"row" | "range" | "cell" | SelectionConfig<any> | undefined>;
214
- /**
215
- * Enable inline cell editing.
216
- *
217
- * **Requires feature import:**
218
- * ```typescript
219
- * import '@toolbox-web/grid-angular/features/editing';
220
- * ```
221
- *
222
- * @example
223
- * ```html
224
- * <!-- Enable with default trigger (dblclick) -->
225
- * <tbw-grid [editing]="true" />
226
- *
227
- * <!-- Specify trigger -->
228
- * <tbw-grid [editing]="'click'" />
229
- * <tbw-grid [editing]="'dblclick'" />
230
- * <tbw-grid [editing]="'manual'" />
231
- * ```
232
- */
233
- editing: import('@angular/core').InputSignal<boolean | "click" | "dblclick" | "manual" | undefined>;
234
- /**
235
- * Enable clipboard copy/paste. Requires selection to be enabled.
236
- *
237
- * **Requires feature import:**
238
- * ```typescript
239
- * import '@toolbox-web/grid-angular/features/clipboard';
240
- * ```
241
- *
242
- * @example
243
- * ```html
244
- * <tbw-grid [selection]="'range'" [clipboard]="true" />
245
- * ```
246
- */
247
- clipboard: import('@angular/core').InputSignal<boolean | ClipboardConfig | undefined>;
248
- /**
249
- * Enable right-click context menu.
250
- *
251
- * **Requires feature import:**
252
- * ```typescript
253
- * import '@toolbox-web/grid-angular/features/context-menu';
254
- * ```
255
- *
256
- * @example
257
- * ```html
258
- * <tbw-grid [contextMenu]="true" />
259
- * ```
260
- */
261
- contextMenu: import('@angular/core').InputSignal<boolean | ContextMenuConfig | undefined>;
262
- /**
263
- * Enable multi-column sorting.
264
- *
265
- * Multi-sort allows users to sort by multiple columns simultaneously.
266
- * For basic single-column sorting, columns with `sortable: true` work without this plugin.
267
- *
268
- * **Requires feature import:**
269
- * ```typescript
270
- * import '@toolbox-web/grid-angular/features/multi-sort';
271
- * ```
272
- *
273
- * @example
274
- * ```html
275
- * <!-- Enable multi-column sorting -->
276
- * <tbw-grid [multiSort]="true" />
277
- *
278
- * <!-- Limit to single column (uses plugin but restricts to 1 column) -->
279
- * <tbw-grid [multiSort]="'single'" />
280
- *
281
- * <!-- Full config -->
282
- * <tbw-grid [multiSort]="{ maxSortColumns: 3 }" />
283
- * ```
284
- */
285
- multiSort: import('@angular/core').InputSignal<boolean | "multi" | MultiSortConfig | "single" | undefined>;
286
- /**
287
- * @deprecated Use `[multiSort]` instead. Will be removed in a future version.
288
- *
289
- * Enable column sorting. This is an alias for `[multiSort]`.
290
- *
291
- * **Requires feature import:**
292
- * ```typescript
293
- * import '@toolbox-web/grid-angular/features/multi-sort';
294
- * ```
295
- */
296
- sorting: import('@angular/core').InputSignal<boolean | "multi" | MultiSortConfig | "single" | undefined>;
297
- /**
298
- * Enable column filtering.
299
- *
300
- * **Requires feature import:**
301
- * ```typescript
302
- * import '@toolbox-web/grid-angular/features/filtering';
303
- * ```
304
- *
305
- * @example
306
- * ```html
307
- * <tbw-grid [filtering]="true" />
308
- * <tbw-grid [filtering]="{ debounceMs: 200 }" />
309
- * ```
310
- */
311
- filtering: import('@angular/core').InputSignal<boolean | FilterConfig<any> | undefined>;
312
- /**
313
- * Enable column drag-to-reorder.
314
- *
315
- * **Requires feature import:**
316
- * ```typescript
317
- * import '@toolbox-web/grid-angular/features/reorder';
318
- * ```
319
- *
320
- * @example
321
- * ```html
322
- * <tbw-grid [reorder]="true" />
323
- * ```
324
- */
325
- reorder: import('@angular/core').InputSignal<boolean | ReorderConfig | undefined>;
326
- /**
327
- * Enable column visibility toggle panel.
328
- *
329
- * **Requires feature import:**
330
- * ```typescript
331
- * import '@toolbox-web/grid-angular/features/visibility';
332
- * ```
333
- *
334
- * @example
335
- * ```html
336
- * <tbw-grid [visibility]="true" />
337
- * ```
338
- */
339
- visibility: import('@angular/core').InputSignal<boolean | VisibilityConfig | undefined>;
340
- /**
341
- * Enable pinned/sticky columns.
342
- * Columns are pinned via the `sticky` column property.
343
- *
344
- * **Requires feature import:**
345
- * ```typescript
346
- * import '@toolbox-web/grid-angular/features/pinned-columns';
347
- * ```
348
- *
349
- * @example
350
- * ```html
351
- * <tbw-grid [pinnedColumns]="true" [columns]="[
352
- * { field: 'id', sticky: 'left' },
353
- * { field: 'name' },
354
- * { field: 'actions', sticky: 'right' }
355
- * ]" />
356
- * ```
357
- */
358
- pinnedColumns: import('@angular/core').InputSignal<boolean | undefined>;
359
- /**
360
- * Enable multi-level column headers (column groups).
361
- *
362
- * **Requires feature import:**
363
- * ```typescript
364
- * import '@toolbox-web/grid-angular/features/grouping-columns';
365
- * ```
366
- *
367
- * @example
368
- * ```html
369
- * <tbw-grid [groupingColumns]="{ columnGroups: [...] }" />
370
- * ```
371
- */
372
- groupingColumns: import('@angular/core').InputSignal<boolean | GroupingColumnsConfig | undefined>;
373
- /**
374
- * Enable horizontal column virtualization for wide grids.
375
- *
376
- * **Requires feature import:**
377
- * ```typescript
378
- * import '@toolbox-web/grid-angular/features/column-virtualization';
379
- * ```
380
- *
381
- * @example
382
- * ```html
383
- * <tbw-grid [columnVirtualization]="true" />
384
- * ```
385
- */
386
- columnVirtualization: import('@angular/core').InputSignal<boolean | ColumnVirtualizationConfig | undefined>;
387
- /**
388
- * Enable row drag-to-reorder.
389
- *
390
- * **Requires feature import:**
391
- * ```typescript
392
- * import '@toolbox-web/grid-angular/features/row-reorder';
393
- * ```
394
- *
395
- * @example
396
- * ```html
397
- * <tbw-grid [rowReorder]="true" />
398
- * ```
399
- */
400
- rowReorder: import('@angular/core').InputSignal<boolean | RowReorderConfig | undefined>;
401
- /**
402
- * Enable row grouping by field values.
403
- *
404
- * **Requires feature import:**
405
- * ```typescript
406
- * import '@toolbox-web/grid-angular/features/grouping-rows';
407
- * ```
408
- *
409
- * @example
410
- * ```html
411
- * <tbw-grid [groupingRows]="{ groupBy: ['department'] }" />
412
- * ```
413
- */
414
- groupingRows: import('@angular/core').InputSignal<GroupingRowsConfig | undefined>;
415
- /**
416
- * Enable pinned rows (aggregation/status bar).
417
- *
418
- * **Requires feature import:**
419
- * ```typescript
420
- * import '@toolbox-web/grid-angular/features/pinned-rows';
421
- * ```
422
- *
423
- * @example
424
- * ```html
425
- * <tbw-grid [pinnedRows]="{ bottom: [{ type: 'aggregation' }] }" />
426
- * ```
427
- */
428
- pinnedRows: import('@angular/core').InputSignal<boolean | PinnedRowsConfig | undefined>;
429
- /**
430
- * Enable hierarchical tree view.
431
- *
432
- * **Requires feature import:**
433
- * ```typescript
434
- * import '@toolbox-web/grid-angular/features/tree';
435
- * ```
436
- *
437
- * @example
438
- * ```html
439
- * <tbw-grid [tree]="{ childrenField: 'children' }" />
440
- * ```
441
- */
442
- tree: import('@angular/core').InputSignal<boolean | TreeConfig | undefined>;
443
- /**
444
- * Enable master-detail expandable rows.
445
- *
446
- * **Requires feature import:**
447
- * ```typescript
448
- * import '@toolbox-web/grid-angular/features/master-detail';
449
- * ```
450
- *
451
- * @example
452
- * ```html
453
- * <tbw-grid [masterDetail]="{ detailRenderer: detailFn }" />
454
- * ```
455
- */
456
- masterDetail: import('@angular/core').InputSignal<MasterDetailConfig | undefined>;
457
- /**
458
- * Enable responsive card layout for narrow viewports.
459
- *
460
- * **Requires feature import:**
461
- * ```typescript
462
- * import '@toolbox-web/grid-angular/features/responsive';
463
- * ```
464
- *
465
- * @example
466
- * ```html
467
- * <tbw-grid [responsive]="{ breakpoint: 768 }" />
468
- * ```
469
- */
470
- responsive: import('@angular/core').InputSignal<boolean | ResponsivePluginConfig<unknown> | undefined>;
471
- /**
472
- * Enable undo/redo for cell edits. Requires editing to be enabled.
473
- *
474
- * **Requires feature import:**
475
- * ```typescript
476
- * import '@toolbox-web/grid-angular/features/undo-redo';
477
- * ```
478
- *
479
- * @example
480
- * ```html
481
- * <tbw-grid [editing]="'dblclick'" [undoRedo]="true" />
482
- * ```
483
- */
484
- undoRedo: import('@angular/core').InputSignal<boolean | UndoRedoConfig | undefined>;
485
- /**
486
- * Enable CSV/JSON export functionality.
487
- *
488
- * **Requires feature import:**
489
- * ```typescript
490
- * import '@toolbox-web/grid-angular/features/export';
491
- * ```
492
- *
493
- * @example
494
- * ```html
495
- * <tbw-grid [export]="true" />
496
- * <tbw-grid [export]="{ filename: 'data.csv' }" />
497
- * ```
498
- */
499
- exportFeature: import('@angular/core').InputSignal<boolean | ExportConfig | undefined>;
500
- /**
501
- * Enable print functionality.
502
- *
503
- * **Requires feature import:**
504
- * ```typescript
505
- * import '@toolbox-web/grid-angular/features/print';
506
- * ```
507
- *
508
- * @example
509
- * ```html
510
- * <tbw-grid [print]="true" />
511
- * ```
512
- */
513
- print: import('@angular/core').InputSignal<boolean | PrintConfig | undefined>;
514
- /**
515
- * Enable pivot table functionality.
516
- *
517
- * **Requires feature import:**
518
- * ```typescript
519
- * import '@toolbox-web/grid-angular/features/pivot';
520
- * ```
521
- *
522
- * @example
523
- * ```html
524
- * <tbw-grid [pivot]="{ rowFields: ['category'], valueField: 'sales' }" />
525
- * ```
526
- */
527
- pivot: import('@angular/core').InputSignal<PivotConfig | undefined>;
528
- /**
529
- * Enable server-side data operations.
530
- *
531
- * **Requires feature import:**
532
- * ```typescript
533
- * import '@toolbox-web/grid-angular/features/server-side';
534
- * ```
535
- *
536
- * @example
537
- * ```html
538
- * <tbw-grid [serverSide]="{ dataSource: fetchDataFn }" />
539
- * ```
540
- */
541
- serverSide: import('@angular/core').InputSignal<ServerSideConfig | undefined>;
542
- /**
543
- * Emitted when a cell is clicked.
544
- *
545
- * @example
546
- * ```html
547
- * <tbw-grid (cellClick)="onCellClick($event)">...</tbw-grid>
548
- * ```
549
- */
550
- cellClick: import('@angular/core').OutputEmitterRef<CellClickDetail<any>>;
551
- /**
552
- * Emitted when a row is clicked.
553
- *
554
- * @example
555
- * ```html
556
- * <tbw-grid (rowClick)="onRowClick($event)">...</tbw-grid>
557
- * ```
558
- */
559
- rowClick: import('@angular/core').OutputEmitterRef<RowClickDetail<any>>;
560
- /**
561
- * Emitted when a cell is activated (Enter key or double-click).
562
- *
563
- * @example
564
- * ```html
565
- * <tbw-grid (cellActivate)="onCellActivate($event)">...</tbw-grid>
566
- * ```
567
- */
568
- cellActivate: import('@angular/core').OutputEmitterRef<CellActivateDetail<any>>;
569
- /**
570
- * Emitted when a cell value changes (before commit).
571
- *
572
- * @example
573
- * ```html
574
- * <tbw-grid (cellChange)="onCellChange($event)">...</tbw-grid>
575
- * ```
576
- */
577
- cellChange: import('@angular/core').OutputEmitterRef<CellChangeDetail<any>>;
578
- /**
579
- * Emitted when a cell value is committed (inline editing).
580
- * Provides the row, field, new value, and change tracking information.
581
- *
582
- * @example
583
- * ```html
584
- * <tbw-grid (cellCommit)="onCellCommit($event)">...</tbw-grid>
585
- * ```
586
- *
587
- * ```typescript
588
- * onCellCommit(event: CellCommitEvent) {
589
- * console.log(`Changed ${event.field} to ${event.value} in row ${event.rowIndex}`);
590
- * }
591
- * ```
592
- */
593
- cellCommit: import('@angular/core').OutputEmitterRef<CellCommitEvent<unknown, unknown>>;
594
- /**
595
- * Emitted when a row's values are committed (bulk/row editing).
596
- * Provides the row data and change tracking information.
597
- *
598
- * @example
599
- * ```html
600
- * <tbw-grid (rowCommit)="onRowCommit($event)">...</tbw-grid>
601
- * ```
602
- */
603
- rowCommit: import('@angular/core').OutputEmitterRef<RowCommitEvent<unknown>>;
604
- /**
605
- * Emitted when the changed rows are reset.
606
- *
607
- * @example
608
- * ```html
609
- * <tbw-grid (changedRowsReset)="onChangedRowsReset($event)">...</tbw-grid>
610
- * ```
611
- */
612
- changedRowsReset: import('@angular/core').OutputEmitterRef<ChangedRowsResetDetail<unknown>>;
613
- /**
614
- * Emitted when sort state changes.
615
- *
616
- * @example
617
- * ```html
618
- * <tbw-grid (sortChange)="onSortChange($event)">...</tbw-grid>
619
- * ```
620
- */
621
- sortChange: import('@angular/core').OutputEmitterRef<SortChangeDetail>;
622
- /**
623
- * Emitted when filter values change.
624
- *
625
- * @example
626
- * ```html
627
- * <tbw-grid (filterChange)="onFilterChange($event)">...</tbw-grid>
628
- * ```
629
- */
630
- filterChange: import('@angular/core').OutputEmitterRef<FilterChangeDetail>;
631
- /**
632
- * Emitted when a column is resized.
633
- *
634
- * @example
635
- * ```html
636
- * <tbw-grid (columnResize)="onColumnResize($event)">...</tbw-grid>
637
- * ```
638
- */
639
- columnResize: import('@angular/core').OutputEmitterRef<ColumnResizeDetail>;
640
- /**
641
- * Emitted when a column is moved via drag-and-drop.
642
- *
643
- * @example
644
- * ```html
645
- * <tbw-grid (columnMove)="onColumnMove($event)">...</tbw-grid>
646
- * ```
647
- */
648
- columnMove: import('@angular/core').OutputEmitterRef<ColumnMoveDetail>;
649
- /**
650
- * Emitted when column visibility changes.
651
- *
652
- * @example
653
- * ```html
654
- * <tbw-grid (columnVisibility)="onColumnVisibility($event)">...</tbw-grid>
655
- * ```
656
- */
657
- columnVisibility: import('@angular/core').OutputEmitterRef<ColumnVisibilityDetail>;
658
- /**
659
- * Emitted when column state changes (resize, reorder, visibility).
660
- *
661
- * @example
662
- * ```html
663
- * <tbw-grid (columnStateChange)="onColumnStateChange($event)">...</tbw-grid>
664
- * ```
665
- */
666
- columnStateChange: import('@angular/core').OutputEmitterRef<GridColumnState>;
667
- /**
668
- * Emitted when selection changes.
669
- *
670
- * @example
671
- * ```html
672
- * <tbw-grid (selectionChange)="onSelectionChange($event)">...</tbw-grid>
673
- * ```
674
- */
675
- selectionChange: import('@angular/core').OutputEmitterRef<SelectionChangeDetail>;
676
- /**
677
- * Emitted when a row is moved via drag-and-drop.
678
- *
679
- * @example
680
- * ```html
681
- * <tbw-grid (rowMove)="onRowMove($event)">...</tbw-grid>
682
- * ```
683
- */
684
- rowMove: import('@angular/core').OutputEmitterRef<RowMoveDetail<any>>;
685
- /**
686
- * Emitted when a group is expanded or collapsed.
687
- *
688
- * @example
689
- * ```html
690
- * <tbw-grid (groupToggle)="onGroupToggle($event)">...</tbw-grid>
691
- * ```
692
- */
693
- groupToggle: import('@angular/core').OutputEmitterRef<GroupToggleDetail>;
694
- /**
695
- * Emitted when a tree node is expanded.
696
- *
697
- * @example
698
- * ```html
699
- * <tbw-grid (treeExpand)="onTreeExpand($event)">...</tbw-grid>
700
- * ```
701
- */
702
- treeExpand: import('@angular/core').OutputEmitterRef<TreeExpandDetail<any>>;
703
- /**
704
- * Emitted when a detail panel is expanded or collapsed.
705
- *
706
- * @example
707
- * ```html
708
- * <tbw-grid (detailExpand)="onDetailExpand($event)">...</tbw-grid>
709
- * ```
710
- */
711
- detailExpand: import('@angular/core').OutputEmitterRef<DetailExpandDetail>;
712
- /**
713
- * Emitted when responsive mode changes (table ↔ card).
714
- *
715
- * @example
716
- * ```html
717
- * <tbw-grid (responsiveChange)="onResponsiveChange($event)">...</tbw-grid>
718
- * ```
719
- */
720
- responsiveChange: import('@angular/core').OutputEmitterRef<ResponsiveChangeDetail>;
721
- /**
722
- * Emitted when cells are copied to clipboard.
723
- *
724
- * @example
725
- * ```html
726
- * <tbw-grid (copy)="onCopy($event)">...</tbw-grid>
727
- * ```
728
- */
729
- copy: import('@angular/core').OutputEmitterRef<CopyDetail>;
730
- /**
731
- * Emitted when cells are pasted from clipboard.
732
- *
733
- * @example
734
- * ```html
735
- * <tbw-grid (paste)="onPaste($event)">...</tbw-grid>
736
- * ```
737
- */
738
- paste: import('@angular/core').OutputEmitterRef<PasteDetail>;
739
- /**
740
- * Emitted when undo/redo is performed.
741
- *
742
- * @example
743
- * ```html
744
- * <tbw-grid (undoRedoAction)="onUndoRedo($event)">...</tbw-grid>
745
- * ```
746
- */
747
- undoRedoAction: import('@angular/core').OutputEmitterRef<UndoRedoDetail>;
748
- /**
749
- * Emitted when export completes.
750
- *
751
- * @example
752
- * ```html
753
- * <tbw-grid (exportComplete)="onExportComplete($event)">...</tbw-grid>
754
- * ```
755
- */
756
- exportComplete: import('@angular/core').OutputEmitterRef<ExportCompleteDetail>;
757
- /**
758
- * Emitted when print starts.
759
- *
760
- * @example
761
- * ```html
762
- * <tbw-grid (printStart)="onPrintStart($event)">...</tbw-grid>
763
- * ```
764
- */
765
- printStart: import('@angular/core').OutputEmitterRef<PrintStartDetail>;
766
- /**
767
- * Emitted when print completes.
768
- *
769
- * @example
770
- * ```html
771
- * <tbw-grid (printComplete)="onPrintComplete($event)">...</tbw-grid>
772
- * ```
773
- */
774
- printComplete: import('@angular/core').OutputEmitterRef<PrintCompleteDetail>;
775
- private readonly eventOutputMap;
776
- private eventListeners;
777
- ngOnInit(): void;
778
- /**
779
- * Sets up event listeners for all outputs using the eventOutputMap.
780
- */
781
- private setupEventListeners;
782
- /**
783
- * Creates plugins from feature inputs.
784
- * Uses the feature registry to allow tree-shaking - only imported features are bundled.
785
- * Returns the array of created plugins (doesn't modify grid).
786
- */
787
- private createFeaturePlugins;
788
- ngAfterContentInit(): void;
789
- /**
790
- * Registers custom styles into the grid.
791
- * Uses the grid's registerStyles() API for clean encapsulation.
792
- */
793
- private registerCustomStyles;
794
- /**
795
- * Configures the MasterDetailPlugin after Angular templates are registered.
796
- * - If plugin exists: refresh its detail renderer
797
- * - If plugin doesn't exist but <tbw-grid-detail> is present: dynamically import and add the plugin
798
- */
799
- private configureMasterDetail;
800
- /**
801
- * Configures the ResponsivePlugin with Angular template-based card renderer.
802
- * - If plugin exists: updates its cardRenderer configuration
803
- * - If plugin doesn't exist but <tbw-grid-responsive-card> is present: logs a warning
804
- */
805
- private configureResponsiveCard;
806
- ngOnDestroy(): void;
807
- }
808
- //# sourceMappingURL=grid.directive.d.ts.map