@toolbox-web/grid-angular 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/toolbox-web-grid-angular-features-master-detail.mjs +12 -6
- package/fesm2022/toolbox-web-grid-angular-features-master-detail.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-responsive.mjs +12 -5
- package/fesm2022/toolbox-web-grid-angular-features-responsive.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular.mjs +70 -1
- package/fesm2022/toolbox-web-grid-angular.mjs.map +1 -1
- package/package.json +1 -1
- package/types/toolbox-web-grid-angular.d.ts +99 -2
- package/types/toolbox-web-grid-angular.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -35,6 +35,7 @@ export { PluginFactory, clearFeatureRegistry, createPluginFromFeature, getFeatur
|
|
|
35
35
|
* column = input<unknown>();
|
|
36
36
|
* }
|
|
37
37
|
* ```
|
|
38
|
+
* @since 0.11.0
|
|
38
39
|
*/
|
|
39
40
|
interface CellRenderer<TRow = unknown, TValue = unknown> {
|
|
40
41
|
/** The cell value - use `input<TValue>()` or `input.required<TValue>()` */
|
|
@@ -78,6 +79,7 @@ interface CellRenderer<TRow = unknown, TValue = unknown> {
|
|
|
78
79
|
* cancel = output<void>();
|
|
79
80
|
* }
|
|
80
81
|
* ```
|
|
82
|
+
* @since 0.11.0
|
|
81
83
|
*/
|
|
82
84
|
interface CellEditor<TRow = unknown, TValue = unknown> extends CellRenderer<TRow, TValue> {
|
|
83
85
|
/** Emit to commit the new value - use `output<TValue>()` */
|
|
@@ -120,6 +122,7 @@ interface CellEditor<TRow = unknown, TValue = unknown> extends CellRenderer<TRow
|
|
|
120
122
|
* params = input.required<FilterPanelParams>();
|
|
121
123
|
* }
|
|
122
124
|
* ```
|
|
125
|
+
* @since 0.12.0
|
|
123
126
|
*/
|
|
124
127
|
interface FilterPanel {
|
|
125
128
|
/** The filter panel parameters — use `input.required<FilterPanelParams>()` */
|
|
@@ -148,6 +151,7 @@ interface FilterPanel {
|
|
|
148
151
|
* }
|
|
149
152
|
* };
|
|
150
153
|
* ```
|
|
154
|
+
* @since 0.10.0
|
|
151
155
|
*/
|
|
152
156
|
interface TypeDefault<TRow = unknown> {
|
|
153
157
|
/** Format function for cell display */
|
|
@@ -198,6 +202,7 @@ interface TypeDefault<TRow = unknown> {
|
|
|
198
202
|
* },
|
|
199
203
|
* ];
|
|
200
204
|
* ```
|
|
205
|
+
* @since 0.3.0
|
|
201
206
|
*/
|
|
202
207
|
interface ColumnConfig<TRow = unknown> extends Omit<ColumnConfig$1<TRow>, 'renderer' | 'editor' | 'headerRenderer' | 'headerLabelRenderer'> {
|
|
203
208
|
/**
|
|
@@ -240,8 +245,9 @@ interface ColumnConfig<TRow = unknown> extends Omit<ColumnConfig$1<TRow>, 'rende
|
|
|
240
245
|
* plugins: [...],
|
|
241
246
|
* };
|
|
242
247
|
* ```
|
|
248
|
+
* @since 0.3.0
|
|
243
249
|
*/
|
|
244
|
-
interface GridConfig<TRow = unknown> extends Omit<GridConfig$1<TRow>, 'columns' | 'typeDefaults' | 'loadingRenderer'> {
|
|
250
|
+
interface GridConfig<TRow = unknown> extends Omit<GridConfig$1<TRow>, 'columns' | 'typeDefaults' | 'loadingRenderer' | 'emptyRenderer'> {
|
|
245
251
|
columns?: ColumnConfig<TRow>[];
|
|
246
252
|
/** Type-level defaults that can use Angular component classes */
|
|
247
253
|
typeDefaults?: Record<string, TypeDefault<TRow>>;
|
|
@@ -251,6 +257,15 @@ interface GridConfig<TRow = unknown> extends Omit<GridConfig$1<TRow>, 'columns'
|
|
|
251
257
|
* - An Angular component class with a `size` input
|
|
252
258
|
*/
|
|
253
259
|
loadingRenderer?: GridConfig$1<TRow>['loadingRenderer'] | Type<unknown>;
|
|
260
|
+
/**
|
|
261
|
+
* Custom empty-state renderer shown when the grid has no rows and is not
|
|
262
|
+
* loading. Can be:
|
|
263
|
+
* - A function `(ctx: EmptyContext) => HTMLElement | string`
|
|
264
|
+
* - An Angular component class with `sourceRowCount` and `filteredOut` inputs
|
|
265
|
+
*
|
|
266
|
+
* Set explicitly to `null` to suppress the built-in default message.
|
|
267
|
+
*/
|
|
268
|
+
emptyRenderer?: GridConfig$1<TRow>['emptyRenderer'] | Type<unknown>;
|
|
254
269
|
}
|
|
255
270
|
/**
|
|
256
271
|
* Type guard to check if a value is an Angular component class.
|
|
@@ -261,6 +276,7 @@ interface GridConfig<TRow = unknown> extends Omit<GridConfig$1<TRow>, 'columns'
|
|
|
261
276
|
*
|
|
262
277
|
* Also checks if it's an ES6 class (vs function) by inspecting the
|
|
263
278
|
* string representation.
|
|
279
|
+
* @since 0.3.0
|
|
264
280
|
*/
|
|
265
281
|
declare function isComponentClass(value: unknown): value is Type<unknown>;
|
|
266
282
|
|
|
@@ -281,6 +297,7 @@ declare function isComponentClass(value: unknown): value is Type<unknown>;
|
|
|
281
297
|
/**
|
|
282
298
|
* Hook called when an editor host is mounted. Returning a function
|
|
283
299
|
* registers a teardown that runs when the editor is released.
|
|
300
|
+
* @since 1.4.0
|
|
284
301
|
*/
|
|
285
302
|
type EditorMountHook = (ctx: {
|
|
286
303
|
container: HTMLElement;
|
|
@@ -291,6 +308,7 @@ type EditorMountHook = (ctx: {
|
|
|
291
308
|
* (e.g. `features/editing`) on import.
|
|
292
309
|
*
|
|
293
310
|
* @internal Plugin API
|
|
311
|
+
* @since 1.4.0
|
|
294
312
|
*/
|
|
295
313
|
declare function registerEditorMountHook(hook: EditorMountHook): void;
|
|
296
314
|
/**
|
|
@@ -300,6 +318,7 @@ declare function registerEditorMountHook(hook: EditorMountHook): void;
|
|
|
300
318
|
* `(blur)` flush their pending value before the cell DOM is torn down by Tab /
|
|
301
319
|
* programmatic row exit.
|
|
302
320
|
* @internal
|
|
321
|
+
* @since 1.4.0
|
|
303
322
|
*/
|
|
304
323
|
declare function makeFlushFocusedInput(host: HTMLElement): () => void;
|
|
305
324
|
|
|
@@ -325,6 +344,7 @@ declare function makeFlushFocusedInput(host: HTMLElement): () => void;
|
|
|
325
344
|
* the adapter should expose, or undefined if no Angular template is registered
|
|
326
345
|
* for that grid. Used by `features/master-detail` and `features/responsive`.
|
|
327
346
|
* @internal
|
|
347
|
+
* @since 1.4.0
|
|
328
348
|
*/
|
|
329
349
|
type RowRendererBridge = <TRow = unknown>(gridElement: HTMLElement, adapter: GridAdapter) => ((row: TRow, rowIndex: number) => HTMLElement) | undefined;
|
|
330
350
|
/**
|
|
@@ -333,18 +353,21 @@ type RowRendererBridge = <TRow = unknown>(gridElement: HTMLElement, adapter: Gri
|
|
|
333
353
|
* (so the adapter does not depend on filtering types) and returns the
|
|
334
354
|
* imperative `(container, params) => void` form required by core.
|
|
335
355
|
* @internal
|
|
356
|
+
* @since 1.4.0
|
|
336
357
|
*/
|
|
337
358
|
type FilterPanelTypeDefaultBridge = (rendererValue: unknown, adapter: GridAdapter) => NonNullable<TypeDefault$1['filterPanelRenderer']> | undefined;
|
|
338
359
|
/**
|
|
339
360
|
* Install the master-detail row-renderer bridge. Called once on import by
|
|
340
361
|
* `@toolbox-web/grid-angular/features/master-detail`.
|
|
341
362
|
* @internal Plugin API
|
|
363
|
+
* @since 1.4.0
|
|
342
364
|
*/
|
|
343
365
|
declare function registerDetailRendererBridge(bridge: RowRendererBridge): void;
|
|
344
366
|
/**
|
|
345
367
|
* Install the responsive-card row-renderer bridge. Called once on import by
|
|
346
368
|
* `@toolbox-web/grid-angular/features/responsive`.
|
|
347
369
|
* @internal Plugin API
|
|
370
|
+
* @since 1.4.0
|
|
348
371
|
*/
|
|
349
372
|
declare function registerResponsiveCardRendererBridge(bridge: RowRendererBridge): void;
|
|
350
373
|
/**
|
|
@@ -353,9 +376,11 @@ declare function registerResponsiveCardRendererBridge(bridge: RowRendererBridge)
|
|
|
353
376
|
* type-default and grid-config-level component-class filterPanelRenderers are
|
|
354
377
|
* silently dropped — same precondition as the FilteringPlugin (TBW031).
|
|
355
378
|
* @internal Plugin API
|
|
379
|
+
* @since 1.4.0
|
|
356
380
|
*/
|
|
357
381
|
declare function registerFilterPanelTypeDefaultBridge(bridge: FilterPanelTypeDefaultBridge): void;
|
|
358
382
|
|
|
383
|
+
/** @since 0.11.0 */
|
|
359
384
|
declare class GridAdapter implements FrameworkAdapter {
|
|
360
385
|
private injector;
|
|
361
386
|
private appRef;
|
|
@@ -569,6 +594,13 @@ declare class GridAdapter implements FrameworkAdapter {
|
|
|
569
594
|
* @internal
|
|
570
595
|
*/
|
|
571
596
|
private createComponentLoadingRenderer;
|
|
597
|
+
/**
|
|
598
|
+
* Creates an empty-state renderer function from an Angular component class.
|
|
599
|
+
*
|
|
600
|
+
* The component receives `sourceRowCount` and `filteredOut` inputs.
|
|
601
|
+
* @internal
|
|
602
|
+
*/
|
|
603
|
+
private createComponentEmptyRenderer;
|
|
572
604
|
/**
|
|
573
605
|
* Create an embedded view from a `TemplateRef` and append-track it on the
|
|
574
606
|
* adapter's view-ref pool so it is cleaned up on `destroy()` / `unmount()`.
|
|
@@ -664,6 +696,7 @@ declare class GridAdapter implements FrameworkAdapter {
|
|
|
664
696
|
* },
|
|
665
697
|
* };
|
|
666
698
|
* ```
|
|
699
|
+
* @since 0.11.0
|
|
667
700
|
*/
|
|
668
701
|
interface TypeDefaultRegistration<TRow = unknown> {
|
|
669
702
|
/** Angular component class for rendering cells of this type */
|
|
@@ -683,6 +716,7 @@ interface TypeDefaultRegistration<TRow = unknown> {
|
|
|
683
716
|
}
|
|
684
717
|
/**
|
|
685
718
|
* Injection token for providing type defaults at app level.
|
|
719
|
+
* @since 0.3.0
|
|
686
720
|
*/
|
|
687
721
|
declare const GRID_TYPE_DEFAULTS: InjectionToken<Record<string, TypeDefaultRegistration<unknown>>>;
|
|
688
722
|
/**
|
|
@@ -720,6 +754,7 @@ declare const GRID_TYPE_DEFAULTS: InjectionToken<Record<string, TypeDefaultRegis
|
|
|
720
754
|
* }
|
|
721
755
|
* }
|
|
722
756
|
* ```
|
|
757
|
+
* @since 0.3.0
|
|
723
758
|
*/
|
|
724
759
|
declare class GridTypeRegistry {
|
|
725
760
|
private readonly defaults;
|
|
@@ -776,6 +811,7 @@ declare class GridTypeRegistry {
|
|
|
776
811
|
* ]
|
|
777
812
|
* };
|
|
778
813
|
* ```
|
|
814
|
+
* @since 0.3.0
|
|
779
815
|
*/
|
|
780
816
|
declare function provideGridTypeDefaults(defaults: Record<string, TypeDefaultRegistration>): EnvironmentProviders;
|
|
781
817
|
|
|
@@ -788,6 +824,7 @@ declare function provideGridTypeDefaults(defaults: Record<string, TypeDefaultReg
|
|
|
788
824
|
|
|
789
825
|
/**
|
|
790
826
|
* Injection token for providing icon overrides at app level.
|
|
827
|
+
* @since 0.8.0
|
|
791
828
|
*/
|
|
792
829
|
declare const GRID_ICONS: InjectionToken<Partial<GridIcons>>;
|
|
793
830
|
/**
|
|
@@ -820,6 +857,7 @@ declare const GRID_ICONS: InjectionToken<Partial<GridIcons>>;
|
|
|
820
857
|
* }
|
|
821
858
|
* }
|
|
822
859
|
* ```
|
|
860
|
+
* @since 0.8.0
|
|
823
861
|
*/
|
|
824
862
|
declare class GridIconRegistry {
|
|
825
863
|
private readonly icons;
|
|
@@ -890,11 +928,13 @@ declare class GridIconRegistry {
|
|
|
890
928
|
* ]
|
|
891
929
|
* };
|
|
892
930
|
* ```
|
|
931
|
+
* @since 0.8.0
|
|
893
932
|
*/
|
|
894
933
|
declare function provideGridIcons(icons: Partial<GridIcons>): EnvironmentProviders;
|
|
895
934
|
|
|
896
935
|
/**
|
|
897
936
|
* Return type for injectGrid function.
|
|
937
|
+
* @since 0.6.0
|
|
898
938
|
*/
|
|
899
939
|
interface InjectGridReturn<TRow = unknown> {
|
|
900
940
|
/** Direct access to the typed grid element */
|
|
@@ -965,6 +1005,7 @@ interface InjectGridReturn<TRow = unknown> {
|
|
|
965
1005
|
* Defaults to `'tbw-grid'` (first grid in the component). Use when the
|
|
966
1006
|
* component contains multiple grids, e.g. `'tbw-grid.primary'` or `'#my-grid'`.
|
|
967
1007
|
* @returns Object with grid access methods and state signals
|
|
1008
|
+
* @since 0.6.0
|
|
968
1009
|
*/
|
|
969
1010
|
declare function injectGrid<TRow = unknown>(selector?: string): InjectGridReturn<TRow>;
|
|
970
1011
|
|
|
@@ -988,6 +1029,7 @@ declare function injectGrid<TRow = unknown>(selector?: string): InjectGridReturn
|
|
|
988
1029
|
|
|
989
1030
|
/**
|
|
990
1031
|
* Feature names supported by the Grid directive.
|
|
1032
|
+
* @since 0.6.0
|
|
991
1033
|
*/
|
|
992
1034
|
type FeatureName = 'selection' | 'editing' | 'clipboard' | 'contextMenu' | 'multiSort' | 'filtering' | 'reorderColumns' | 'visibility' | 'pinnedColumns' | 'groupingColumns' | 'columnVirtualization' | 'reorderRows' | 'rowDragDrop' | 'groupingRows' | 'pinnedRows' | 'tree' | 'masterDetail' | 'responsive' | 'undoRedo' | 'export' | 'print' | 'pivot' | 'serverSide' | 'tooltip';
|
|
993
1035
|
|
|
@@ -1040,6 +1082,7 @@ type FeatureName = 'selection' | 'editing' | 'clipboard' | 'contextMenu' | 'mult
|
|
|
1040
1082
|
* `@toolbox-web/grid-angular/features/filtering` in v2.0.0; the deprecated
|
|
1041
1083
|
* re-export from the main `@toolbox-web/grid-angular` entry will be removed at
|
|
1042
1084
|
* the same time. Consumers should already be importing from the feature entry.
|
|
1085
|
+
* @since 0.13.0
|
|
1043
1086
|
*/
|
|
1044
1087
|
declare abstract class BaseFilterPanel implements FilterPanel {
|
|
1045
1088
|
/**
|
|
@@ -1153,6 +1196,7 @@ declare abstract class BaseFilterPanel implements FilterPanel {
|
|
|
1153
1196
|
* `@toolbox-web/grid-angular/features/editing` in v2.0.0; the deprecated
|
|
1154
1197
|
* re-export from the main `@toolbox-web/grid-angular` entry will be removed at
|
|
1155
1198
|
* the same time. Consumers should already be importing from the feature entry.
|
|
1199
|
+
* @since 0.5.0
|
|
1156
1200
|
*/
|
|
1157
1201
|
declare abstract class BaseGridEditor<TRow = unknown, TValue = unknown> {
|
|
1158
1202
|
protected readonly elementRef: ElementRef<any>;
|
|
@@ -1344,6 +1388,7 @@ declare abstract class BaseGridEditor<TRow = unknown, TValue = unknown> {
|
|
|
1344
1388
|
* `@toolbox-web/grid-angular/features/editing` in v2.0.0; the deprecated
|
|
1345
1389
|
* re-export from the main `@toolbox-web/grid-angular` entry will be removed at
|
|
1346
1390
|
* the same time. Consumers should already be importing from the feature entry.
|
|
1391
|
+
* @since 0.13.0
|
|
1347
1392
|
*/
|
|
1348
1393
|
declare abstract class BaseGridEditorCVA<TRow = unknown, TValue = unknown> extends BaseGridEditor<TRow, TValue> implements ControlValueAccessor {
|
|
1349
1394
|
/** Internal onChange callback registered by the form control. */
|
|
@@ -1410,6 +1455,7 @@ declare abstract class BaseGridEditorCVA<TRow = unknown, TValue = unknown> exten
|
|
|
1410
1455
|
* - `'below-right'` — panel appears below the cell, right-aligned
|
|
1411
1456
|
* - `'over-top-left'` — panel top-left corner aligns with cell top-left corner (opens downward)
|
|
1412
1457
|
* - `'over-bottom-left'` — panel bottom-left corner aligns with cell bottom-left corner (opens upward)
|
|
1458
|
+
* @since 0.13.0
|
|
1413
1459
|
*/
|
|
1414
1460
|
type OverlayPosition = 'below' | 'above' | 'below-right' | 'over-top-left' | 'over-bottom-left';
|
|
1415
1461
|
/**
|
|
@@ -1513,6 +1559,7 @@ type OverlayPosition = 'below' | 'above' | 'below-right' | 'over-top-left' | 'ov
|
|
|
1513
1559
|
* the deprecated re-export from the main `@toolbox-web/grid-angular` entry
|
|
1514
1560
|
* will be removed at the same time. Consumers should already be importing
|
|
1515
1561
|
* from the feature entry.
|
|
1562
|
+
* @since 0.13.0
|
|
1516
1563
|
*/
|
|
1517
1564
|
declare abstract class BaseOverlayEditor<TRow = unknown, TValue = unknown> extends BaseGridEditor<TRow, TValue> {
|
|
1518
1565
|
private readonly _elementRef;
|
|
@@ -1675,6 +1722,7 @@ declare abstract class BaseOverlayEditor<TRow = unknown, TValue = unknown> exten
|
|
|
1675
1722
|
/**
|
|
1676
1723
|
* Context object passed to the cell editor template.
|
|
1677
1724
|
* Contains the cell value, row data, column configuration, and commit/cancel functions.
|
|
1725
|
+
* @since 0.1.0
|
|
1678
1726
|
*/
|
|
1679
1727
|
interface GridEditorContext<TValue = unknown, TRow = unknown> {
|
|
1680
1728
|
/** The cell value for this column */
|
|
@@ -1778,6 +1826,7 @@ interface GridEditorContext<TValue = unknown, TRow = unknown> {
|
|
|
1778
1826
|
* re-exports from the main `@toolbox-web/grid-angular` entry will be removed
|
|
1779
1827
|
* at the same time. Consumers should already be importing from the feature
|
|
1780
1828
|
* entry.
|
|
1829
|
+
* @since 0.1.0
|
|
1781
1830
|
*/
|
|
1782
1831
|
declare class GridColumnEditor {
|
|
1783
1832
|
private elementRef;
|
|
@@ -1799,6 +1848,7 @@ declare class GridColumnEditor {
|
|
|
1799
1848
|
/**
|
|
1800
1849
|
* Context object passed to the cell renderer template.
|
|
1801
1850
|
* Contains the cell value, row data, and column configuration.
|
|
1851
|
+
* @since 0.1.0
|
|
1802
1852
|
*/
|
|
1803
1853
|
interface GridCellContext<TValue = unknown, TRow = unknown> {
|
|
1804
1854
|
/** The cell value for this column */
|
|
@@ -1845,6 +1895,7 @@ interface GridCellContext<TValue = unknown, TRow = unknown> {
|
|
|
1845
1895
|
* ```
|
|
1846
1896
|
*
|
|
1847
1897
|
* @category Directive
|
|
1898
|
+
* @since 0.1.0
|
|
1848
1899
|
*/
|
|
1849
1900
|
declare class GridColumnView {
|
|
1850
1901
|
private elementRef;
|
|
@@ -1892,6 +1943,7 @@ declare class GridColumnView {
|
|
|
1892
1943
|
* ```
|
|
1893
1944
|
*
|
|
1894
1945
|
* @category Directive
|
|
1946
|
+
* @since 0.13.0
|
|
1895
1947
|
*/
|
|
1896
1948
|
declare class TbwGridColumn {
|
|
1897
1949
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TbwGridColumn, never>;
|
|
@@ -1901,6 +1953,7 @@ declare class TbwGridColumn {
|
|
|
1901
1953
|
/**
|
|
1902
1954
|
* Context object passed to the detail renderer template.
|
|
1903
1955
|
* Contains the row data for the expanded detail view.
|
|
1956
|
+
* @since 0.1.0
|
|
1904
1957
|
*/
|
|
1905
1958
|
interface GridDetailContext<TRow = unknown> {
|
|
1906
1959
|
/** The row data (implicit binding for let-row) */
|
|
@@ -1911,6 +1964,7 @@ interface GridDetailContext<TRow = unknown> {
|
|
|
1911
1964
|
/**
|
|
1912
1965
|
* Gets the detail template registered for a given grid element.
|
|
1913
1966
|
* Used by AngularGridAdapter to retrieve templates at render time.
|
|
1967
|
+
* @since 0.1.0
|
|
1914
1968
|
*/
|
|
1915
1969
|
declare function getDetailTemplate(gridElement: HTMLElement): TemplateRef<GridDetailContext> | undefined;
|
|
1916
1970
|
/**
|
|
@@ -1961,6 +2015,7 @@ declare function getDetailTemplate(gridElement: HTMLElement): TemplateRef<GridDe
|
|
|
1961
2015
|
* ```
|
|
1962
2016
|
*
|
|
1963
2017
|
* @category Directive
|
|
2018
|
+
* @since 0.1.0
|
|
1964
2019
|
*/
|
|
1965
2020
|
declare class GridDetailView {
|
|
1966
2021
|
private elementRef;
|
|
@@ -1986,6 +2041,7 @@ declare class GridDetailView {
|
|
|
1986
2041
|
/**
|
|
1987
2042
|
* Context provided to the grid containing form-related information.
|
|
1988
2043
|
* This can be accessed by other directives to get form controls.
|
|
2044
|
+
* @since 0.5.0
|
|
1989
2045
|
*/
|
|
1990
2046
|
interface FormArrayContext {
|
|
1991
2047
|
/** Get the row data at a specific index */
|
|
@@ -2052,6 +2108,7 @@ interface FormArrayContext {
|
|
|
2052
2108
|
/**
|
|
2053
2109
|
* Gets the FormArrayContext from a grid element, if present.
|
|
2054
2110
|
* @internal
|
|
2111
|
+
* @since 0.5.0
|
|
2055
2112
|
*/
|
|
2056
2113
|
declare function getFormArrayContext(gridElement: HTMLElement): FormArrayContext | undefined;
|
|
2057
2114
|
/**
|
|
@@ -2120,6 +2177,7 @@ declare function getFormArrayContext(gridElement: HTMLElement): FormArrayContext
|
|
|
2120
2177
|
* re-exports from the main `@toolbox-web/grid-angular` entry will be removed
|
|
2121
2178
|
* at the same time. Consumers should already be importing from the feature
|
|
2122
2179
|
* entry.
|
|
2180
|
+
* @since 0.5.0
|
|
2123
2181
|
*/
|
|
2124
2182
|
declare class GridFormArray implements OnInit, OnDestroy {
|
|
2125
2183
|
#private;
|
|
@@ -2184,6 +2242,7 @@ declare class GridFormArray implements OnInit, OnDestroy {
|
|
|
2184
2242
|
* ```
|
|
2185
2243
|
*
|
|
2186
2244
|
* @category Directive
|
|
2245
|
+
* @since 0.13.0
|
|
2187
2246
|
*/
|
|
2188
2247
|
declare class TbwGridHeader {
|
|
2189
2248
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TbwGridHeader, never>;
|
|
@@ -2193,6 +2252,7 @@ declare class TbwGridHeader {
|
|
|
2193
2252
|
/**
|
|
2194
2253
|
* Gets the FormArrayContext from a grid element, if present.
|
|
2195
2254
|
* @internal
|
|
2255
|
+
* @since 0.11.0
|
|
2196
2256
|
*/
|
|
2197
2257
|
declare function getLazyFormContext(gridElement: HTMLElement): FormArrayContext | undefined;
|
|
2198
2258
|
/**
|
|
@@ -2203,10 +2263,12 @@ declare function getLazyFormContext(gridElement: HTMLElement): FormArrayContext
|
|
|
2203
2263
|
* @param row The row data object
|
|
2204
2264
|
* @param rowIndex The row index in the grid
|
|
2205
2265
|
* @returns A FormGroup for the row (only include editable fields)
|
|
2266
|
+
* @since 0.11.0
|
|
2206
2267
|
*/
|
|
2207
2268
|
type LazyFormFactory<TRow = unknown> = (row: TRow, rowIndex: number) => FormGroup;
|
|
2208
2269
|
/**
|
|
2209
2270
|
* Event emitted when a row's form values have changed.
|
|
2271
|
+
* @since 0.11.0
|
|
2210
2272
|
*/
|
|
2211
2273
|
interface RowFormChangeEvent<TRow = unknown> {
|
|
2212
2274
|
/** The row index */
|
|
@@ -2306,6 +2368,7 @@ interface RowFormChangeEvent<TRow = unknown> {
|
|
|
2306
2368
|
* re-exports from the main `@toolbox-web/grid-angular` entry will be removed
|
|
2307
2369
|
* at the same time. Consumers should already be importing from the feature
|
|
2308
2370
|
* entry.
|
|
2371
|
+
* @since 0.11.0
|
|
2309
2372
|
*/
|
|
2310
2373
|
declare class GridLazyForm<TRow = unknown> implements OnInit, OnDestroy {
|
|
2311
2374
|
#private;
|
|
@@ -2403,6 +2466,7 @@ declare class GridLazyForm<TRow = unknown> implements OnInit, OnDestroy {
|
|
|
2403
2466
|
* </ng-template>
|
|
2404
2467
|
* </tbw-grid-responsive-card>
|
|
2405
2468
|
* ```
|
|
2469
|
+
* @since 0.4.0
|
|
2406
2470
|
*/
|
|
2407
2471
|
interface GridResponsiveCardContext<TRow = unknown> {
|
|
2408
2472
|
/**
|
|
@@ -2423,6 +2487,7 @@ interface GridResponsiveCardContext<TRow = unknown> {
|
|
|
2423
2487
|
*
|
|
2424
2488
|
* @param gridElement - The grid element to look up
|
|
2425
2489
|
* @returns The template reference or undefined if not found
|
|
2490
|
+
* @since 0.4.0
|
|
2426
2491
|
*/
|
|
2427
2492
|
declare function getResponsiveCardTemplate(gridElement: HTMLElement): TemplateRef<GridResponsiveCardContext> | undefined;
|
|
2428
2493
|
/**
|
|
@@ -2457,6 +2522,7 @@ declare function getResponsiveCardTemplate(gridElement: HTMLElement): TemplateRe
|
|
|
2457
2522
|
*
|
|
2458
2523
|
* @see ResponsivePlugin
|
|
2459
2524
|
* @category Directive
|
|
2525
|
+
* @since 0.4.0
|
|
2460
2526
|
*/
|
|
2461
2527
|
declare class GridResponsiveCard<TRow = unknown> {
|
|
2462
2528
|
private elementRef;
|
|
@@ -2517,6 +2583,7 @@ declare class GridResponsiveCard<TRow = unknown> {
|
|
|
2517
2583
|
* ```
|
|
2518
2584
|
*
|
|
2519
2585
|
* @category Directive
|
|
2586
|
+
* @since 0.13.0
|
|
2520
2587
|
*/
|
|
2521
2588
|
declare class TbwGridToolButtons {
|
|
2522
2589
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TbwGridToolButtons, never>;
|
|
@@ -2526,6 +2593,7 @@ declare class TbwGridToolButtons {
|
|
|
2526
2593
|
/**
|
|
2527
2594
|
* Context object passed to the tool panel template.
|
|
2528
2595
|
* Provides access to grid-related information for the panel content.
|
|
2596
|
+
* @since 0.1.0
|
|
2529
2597
|
*/
|
|
2530
2598
|
interface GridToolPanelContext {
|
|
2531
2599
|
/** The grid element (implicit binding) */
|
|
@@ -2591,6 +2659,7 @@ interface GridToolPanelContext {
|
|
|
2591
2659
|
* ```
|
|
2592
2660
|
*
|
|
2593
2661
|
* @category Directive
|
|
2662
|
+
* @since 0.1.0
|
|
2594
2663
|
*/
|
|
2595
2664
|
declare class GridToolPanel {
|
|
2596
2665
|
private elementRef;
|
|
@@ -2647,6 +2716,7 @@ declare class GridToolPanel {
|
|
|
2647
2716
|
* const cols2 = ['id:number', 'name:string', 'email'];
|
|
2648
2717
|
* const cols3 = [{ field: 'id' }, { field: 'name' }, { field: 'email' }];
|
|
2649
2718
|
* ```
|
|
2719
|
+
* @since 1.4.0
|
|
2650
2720
|
*/
|
|
2651
2721
|
type ColumnShorthand<TRow = unknown> = string | ColumnConfig$1<TRow>;
|
|
2652
2722
|
/**
|
|
@@ -2658,6 +2728,7 @@ type ColumnShorthand<TRow = unknown> = string | ColumnConfig$1<TRow>;
|
|
|
2658
2728
|
*
|
|
2659
2729
|
* @param shorthand - The shorthand string (e.g., 'name', 'salary:number')
|
|
2660
2730
|
* @returns A ColumnConfig object
|
|
2731
|
+
* @since 1.4.0
|
|
2661
2732
|
*/
|
|
2662
2733
|
declare function parseColumnShorthand<TRow = unknown>(shorthand: string): ColumnConfig$1<TRow>;
|
|
2663
2734
|
/**
|
|
@@ -2665,18 +2736,22 @@ declare function parseColumnShorthand<TRow = unknown>(shorthand: string): Column
|
|
|
2665
2736
|
*
|
|
2666
2737
|
* @param columns - Array of column shorthands (strings or ColumnConfig objects)
|
|
2667
2738
|
* @returns Array of ColumnConfig objects
|
|
2739
|
+
* @since 1.4.0
|
|
2668
2740
|
*/
|
|
2669
2741
|
declare function normalizeColumns<TRow = unknown>(columns: ColumnShorthand<TRow>[]): ColumnConfig$1<TRow>[];
|
|
2670
2742
|
/**
|
|
2671
2743
|
* Apply column defaults to a list of columns. Individual column properties
|
|
2672
2744
|
* override defaults.
|
|
2745
|
+
* @since 1.4.0
|
|
2673
2746
|
*/
|
|
2674
2747
|
declare function applyColumnDefaults<TRow = unknown>(columns: ColumnConfig$1<TRow>[], defaults: Partial<ColumnConfig$1<TRow>> | undefined): ColumnConfig$1<TRow>[];
|
|
2675
|
-
/** Check if an array of columns contains any shorthand strings.
|
|
2748
|
+
/** Check if an array of columns contains any shorthand strings. * @since 1.4.0
|
|
2749
|
+
*/
|
|
2676
2750
|
declare function hasColumnShorthands<TRow>(columns: ColumnShorthand<TRow>[]): boolean;
|
|
2677
2751
|
|
|
2678
2752
|
/**
|
|
2679
2753
|
* Event detail for cell commit events.
|
|
2754
|
+
* @since 0.1.1
|
|
2680
2755
|
*/
|
|
2681
2756
|
interface CellCommitEvent<TRow = unknown, TValue = unknown> {
|
|
2682
2757
|
/** The row data object */
|
|
@@ -2696,6 +2771,7 @@ interface CellCommitEvent<TRow = unknown, TValue = unknown> {
|
|
|
2696
2771
|
}
|
|
2697
2772
|
/**
|
|
2698
2773
|
* Event detail for row commit events (bulk editing).
|
|
2774
|
+
* @since 0.1.1
|
|
2699
2775
|
*/
|
|
2700
2776
|
interface RowCommitEvent<TRow = unknown> {
|
|
2701
2777
|
/** The row data object */
|
|
@@ -2744,6 +2820,7 @@ interface RowCommitEvent<TRow = unknown> {
|
|
|
2744
2820
|
* - Handles cleanup on destruction
|
|
2745
2821
|
*
|
|
2746
2822
|
* @category Directive
|
|
2823
|
+
* @since 0.1.0
|
|
2747
2824
|
*/
|
|
2748
2825
|
declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
2749
2826
|
private elementRef;
|
|
@@ -3907,6 +3984,7 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3907
3984
|
* This provides better ergonomics in templates without requiring explicit type annotations.
|
|
3908
3985
|
*
|
|
3909
3986
|
* @internal Use `GridCellContext` in application code for stricter typing.
|
|
3987
|
+
* @since 0.1.1
|
|
3910
3988
|
*/
|
|
3911
3989
|
interface StructuralCellContext<TValue = any, TRow = any> {
|
|
3912
3990
|
/** The cell value for this column */
|
|
@@ -3923,6 +4001,7 @@ interface StructuralCellContext<TValue = any, TRow = any> {
|
|
|
3923
4001
|
* This provides better ergonomics in templates without requiring explicit type annotations.
|
|
3924
4002
|
*
|
|
3925
4003
|
* @internal Use `GridEditorContext` in application code for stricter typing.
|
|
4004
|
+
* @since 0.1.1
|
|
3926
4005
|
*/
|
|
3927
4006
|
interface StructuralEditorContext<TValue = any, TRow = any> {
|
|
3928
4007
|
/** The cell value for this column */
|
|
@@ -4001,6 +4080,7 @@ interface StructuralEditorContext<TValue = any, TRow = any> {
|
|
|
4001
4080
|
* ```
|
|
4002
4081
|
*
|
|
4003
4082
|
* @category Directive
|
|
4083
|
+
* @since 0.1.1
|
|
4004
4084
|
*/
|
|
4005
4085
|
declare class TbwRenderer implements OnDestroy {
|
|
4006
4086
|
private template;
|
|
@@ -4076,6 +4156,7 @@ declare class TbwRenderer implements OnDestroy {
|
|
|
4076
4156
|
* will be removed at the same time. Consumers should already be importing
|
|
4077
4157
|
* from the feature entry. (`TbwRenderer` stays in the main entry — it is
|
|
4078
4158
|
* editor-agnostic.)
|
|
4159
|
+
* @since 0.1.1
|
|
4079
4160
|
*/
|
|
4080
4161
|
declare class TbwEditor implements OnDestroy {
|
|
4081
4162
|
private template;
|
|
@@ -4123,6 +4204,7 @@ declare class TbwEditor implements OnDestroy {
|
|
|
4123
4204
|
|
|
4124
4205
|
/**
|
|
4125
4206
|
* Options for {@link provideGrid}.
|
|
4207
|
+
* @since 1.4.0
|
|
4126
4208
|
*/
|
|
4127
4209
|
interface ProvideGridOptions {
|
|
4128
4210
|
/** Type defaults to register globally. Equivalent to `provideGridTypeDefaults`. */
|
|
@@ -4139,6 +4221,7 @@ interface ProvideGridOptions {
|
|
|
4139
4221
|
*
|
|
4140
4222
|
* Equivalent to calling `provideGridTypeDefaults(options.typeDefaults)` and
|
|
4141
4223
|
* `provideGridIcons(options.icons)` separately.
|
|
4224
|
+
* @since 1.4.0
|
|
4142
4225
|
*/
|
|
4143
4226
|
declare function provideGrid(options?: ProvideGridOptions): EnvironmentProviders;
|
|
4144
4227
|
|
|
@@ -4169,6 +4252,7 @@ declare function provideGrid(options?: ProvideGridOptions): EnvironmentProviders
|
|
|
4169
4252
|
* Context passed to template bridges.
|
|
4170
4253
|
*
|
|
4171
4254
|
* @internal
|
|
4255
|
+
* @since 1.4.0
|
|
4172
4256
|
*/
|
|
4173
4257
|
interface TemplateBridgeContext {
|
|
4174
4258
|
/** The `<tbw-grid>` element this directive is attached to. */
|
|
@@ -4183,6 +4267,7 @@ interface TemplateBridgeContext {
|
|
|
4183
4267
|
* sequentially — they run concurrently.
|
|
4184
4268
|
*
|
|
4185
4269
|
* @internal
|
|
4270
|
+
* @since 1.4.0
|
|
4186
4271
|
*/
|
|
4187
4272
|
type TemplateBridge = (ctx: TemplateBridgeContext) => void | Promise<void>;
|
|
4188
4273
|
/**
|
|
@@ -4194,6 +4279,7 @@ type TemplateBridge = (ctx: TemplateBridgeContext) => void | Promise<void>;
|
|
|
4194
4279
|
* by the JS loader.
|
|
4195
4280
|
*
|
|
4196
4281
|
* @internal
|
|
4282
|
+
* @since 1.4.0
|
|
4197
4283
|
*/
|
|
4198
4284
|
declare function registerTemplateBridge(bridge: TemplateBridge): void;
|
|
4199
4285
|
/**
|
|
@@ -4202,6 +4288,7 @@ declare function registerTemplateBridge(bridge: TemplateBridge): void;
|
|
|
4202
4288
|
* errors thrown by one bridge do not stop the others.
|
|
4203
4289
|
*
|
|
4204
4290
|
* @internal
|
|
4291
|
+
* @since 1.4.0
|
|
4205
4292
|
*/
|
|
4206
4293
|
declare function runTemplateBridges(ctx: TemplateBridgeContext): void;
|
|
4207
4294
|
/**
|
|
@@ -4215,6 +4302,7 @@ declare function runTemplateBridges(ctx: TemplateBridgeContext): void;
|
|
|
4215
4302
|
* reference is fine — preprocessors typically clone-and-augment.
|
|
4216
4303
|
*
|
|
4217
4304
|
* @internal
|
|
4305
|
+
* @since 1.4.0
|
|
4218
4306
|
*/
|
|
4219
4307
|
type FeatureConfigPreprocessor = (config: unknown, adapter: GridAdapter) => unknown;
|
|
4220
4308
|
/**
|
|
@@ -4223,12 +4311,14 @@ type FeatureConfigPreprocessor = (config: unknown, adapter: GridAdapter) => unkn
|
|
|
4223
4311
|
* a no-op).
|
|
4224
4312
|
*
|
|
4225
4313
|
* @internal
|
|
4314
|
+
* @since 1.4.0
|
|
4226
4315
|
*/
|
|
4227
4316
|
declare function registerFeatureConfigPreprocessor(name: FeatureName, fn: FeatureConfigPreprocessor): void;
|
|
4228
4317
|
/**
|
|
4229
4318
|
* Look up the preprocessor for a feature, if any.
|
|
4230
4319
|
*
|
|
4231
4320
|
* @internal
|
|
4321
|
+
* @since 1.4.0
|
|
4232
4322
|
*/
|
|
4233
4323
|
declare function getFeatureConfigPreprocessor(name: FeatureName): FeatureConfigPreprocessor | undefined;
|
|
4234
4324
|
|
|
@@ -4268,6 +4358,7 @@ type ClaimableEventName = keyof DataGridEventMap<unknown>;
|
|
|
4268
4358
|
* signal inside it establishes reactive dependency tracking — the effect
|
|
4269
4359
|
* re-runs when the directive's input changes.
|
|
4270
4360
|
* @internal
|
|
4361
|
+
* @since 1.4.0
|
|
4271
4362
|
*/
|
|
4272
4363
|
type FeatureConfigGetter = () => unknown;
|
|
4273
4364
|
/**
|
|
@@ -4275,12 +4366,14 @@ type FeatureConfigGetter = () => unknown;
|
|
|
4275
4366
|
* the {@link Grid} directive will then use {@link getFeatureClaim} during
|
|
4276
4367
|
* plugin creation instead of reading its own deprecated input.
|
|
4277
4368
|
* @internal
|
|
4369
|
+
* @since 1.4.0
|
|
4278
4370
|
*/
|
|
4279
4371
|
declare function registerFeatureClaim(grid: HTMLElement, name: FeatureName, getConfig: FeatureConfigGetter): void;
|
|
4280
4372
|
/**
|
|
4281
4373
|
* Look up a feature claim. Returns the registered config getter, or
|
|
4282
4374
|
* `undefined` if no directive owns this feature on this element.
|
|
4283
4375
|
* @internal
|
|
4376
|
+
* @since 1.4.0
|
|
4284
4377
|
*/
|
|
4285
4378
|
declare function getFeatureClaim(grid: HTMLElement, name: FeatureName): FeatureConfigGetter | undefined;
|
|
4286
4379
|
/**
|
|
@@ -4288,6 +4381,7 @@ declare function getFeatureClaim(grid: HTMLElement, name: FeatureName): FeatureC
|
|
|
4288
4381
|
* that, if the directive is removed (e.g. via `*ngIf`) but the host
|
|
4289
4382
|
* `<tbw-grid>` survives, {@link Grid}'s deprecated input takes back over.
|
|
4290
4383
|
* @internal
|
|
4384
|
+
* @since 1.4.0
|
|
4291
4385
|
*/
|
|
4292
4386
|
declare function unregisterFeatureClaim(grid: HTMLElement, name: FeatureName): void;
|
|
4293
4387
|
/**
|
|
@@ -4295,17 +4389,20 @@ declare function unregisterFeatureClaim(grid: HTMLElement, name: FeatureName): v
|
|
|
4295
4389
|
* `setupEventListeners` skips wiring its own deprecated `output()` for any
|
|
4296
4390
|
* claimed event — the directive owns the listener and the emit.
|
|
4297
4391
|
* @internal
|
|
4392
|
+
* @since 1.4.0
|
|
4298
4393
|
*/
|
|
4299
4394
|
declare function claimEvent(grid: HTMLElement, eventName: ClaimableEventName): void;
|
|
4300
4395
|
/**
|
|
4301
4396
|
* Returns true if a directive has claimed this event on this grid element.
|
|
4302
4397
|
* @internal
|
|
4398
|
+
* @since 1.4.0
|
|
4303
4399
|
*/
|
|
4304
4400
|
declare function isEventClaimed(grid: HTMLElement, eventName: ClaimableEventName): boolean;
|
|
4305
4401
|
/**
|
|
4306
4402
|
* Drop an event claim. Pair with {@link claimEvent} in a directive's
|
|
4307
4403
|
* `ngOnDestroy`.
|
|
4308
4404
|
* @internal
|
|
4405
|
+
* @since 1.4.0
|
|
4309
4406
|
*/
|
|
4310
4407
|
declare function unclaimEvent(grid: HTMLElement, eventName: ClaimableEventName): void;
|
|
4311
4408
|
|