@toolbox-web/grid-angular 1.3.1 → 1.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.
- package/README.md +146 -54
- package/fesm2022/toolbox-web-grid-angular-features-clipboard.mjs +58 -0
- package/fesm2022/toolbox-web-grid-angular-features-clipboard.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-column-virtualization.mjs +37 -0
- package/fesm2022/toolbox-web-grid-angular-features-column-virtualization.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-context-menu.mjs +51 -0
- package/fesm2022/toolbox-web-grid-angular-features-context-menu.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-editing.mjs +115 -1
- package/fesm2022/toolbox-web-grid-angular-features-editing.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-export.mjs +55 -2
- package/fesm2022/toolbox-web-grid-angular-features-export.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-filtering.mjs +159 -5
- package/fesm2022/toolbox-web-grid-angular-features-filtering.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-grouping-columns.mjs +83 -0
- package/fesm2022/toolbox-web-grid-angular-features-grouping-columns.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-grouping-rows.mjs +82 -0
- package/fesm2022/toolbox-web-grid-angular-features-grouping-rows.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-master-detail.mjs +115 -2
- package/fesm2022/toolbox-web-grid-angular-features-master-detail.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-multi-sort.mjs +38 -0
- package/fesm2022/toolbox-web-grid-angular-features-multi-sort.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-pinned-columns.mjs +37 -0
- package/fesm2022/toolbox-web-grid-angular-features-pinned-columns.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-pinned-rows.mjs +103 -0
- package/fesm2022/toolbox-web-grid-angular-features-pinned-rows.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-pivot.mjs +36 -0
- package/fesm2022/toolbox-web-grid-angular-features-pivot.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-print.mjs +58 -2
- package/fesm2022/toolbox-web-grid-angular-features-print.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-reorder-columns.mjs +52 -0
- package/fesm2022/toolbox-web-grid-angular-features-reorder-columns.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-reorder-rows.mjs +41 -0
- package/fesm2022/toolbox-web-grid-angular-features-reorder-rows.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-responsive.mjs +112 -2
- package/fesm2022/toolbox-web-grid-angular-features-responsive.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-row-drag-drop.mjs +77 -0
- package/fesm2022/toolbox-web-grid-angular-features-row-drag-drop.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-selection.mjs +52 -2
- package/fesm2022/toolbox-web-grid-angular-features-selection.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-server-side.mjs +36 -0
- package/fesm2022/toolbox-web-grid-angular-features-server-side.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-tooltip.mjs +36 -0
- package/fesm2022/toolbox-web-grid-angular-features-tooltip.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-tree.mjs +53 -0
- package/fesm2022/toolbox-web-grid-angular-features-tree.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-undo-redo.mjs +57 -2
- package/fesm2022/toolbox-web-grid-angular-features-undo-redo.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-visibility.mjs +53 -0
- package/fesm2022/toolbox-web-grid-angular-features-visibility.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular.mjs +1274 -727
- package/fesm2022/toolbox-web-grid-angular.mjs.map +1 -1
- package/package.json +1 -1
- package/types/toolbox-web-grid-angular-features-clipboard.d.ts +23 -0
- package/types/toolbox-web-grid-angular-features-clipboard.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-column-virtualization.d.ts +19 -0
- package/types/toolbox-web-grid-angular-features-column-virtualization.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-context-menu.d.ts +22 -0
- package/types/toolbox-web-grid-angular-features-context-menu.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-editing.d.ts +32 -0
- package/types/toolbox-web-grid-angular-features-editing.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-export.d.ts +21 -3
- package/types/toolbox-web-grid-angular-features-export.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-filtering.d.ts +67 -6
- package/types/toolbox-web-grid-angular-features-filtering.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-grouping-columns.d.ts +19 -0
- package/types/toolbox-web-grid-angular-features-grouping-columns.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-grouping-rows.d.ts +25 -0
- package/types/toolbox-web-grid-angular-features-grouping-rows.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-master-detail.d.ts +23 -0
- package/types/toolbox-web-grid-angular-features-master-detail.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-multi-sort.d.ts +19 -0
- package/types/toolbox-web-grid-angular-features-multi-sort.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-pinned-columns.d.ts +18 -0
- package/types/toolbox-web-grid-angular-features-pinned-columns.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-pinned-rows.d.ts +19 -0
- package/types/toolbox-web-grid-angular-features-pinned-rows.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-pivot.d.ts +19 -0
- package/types/toolbox-web-grid-angular-features-pivot.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-print.d.ts +22 -3
- package/types/toolbox-web-grid-angular-features-print.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-reorder-columns.d.ts +22 -0
- package/types/toolbox-web-grid-angular-features-reorder-columns.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-reorder-rows.d.ts +19 -0
- package/types/toolbox-web-grid-angular-features-reorder-rows.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-responsive.d.ts +22 -0
- package/types/toolbox-web-grid-angular-features-responsive.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-row-drag-drop.d.ts +27 -0
- package/types/toolbox-web-grid-angular-features-row-drag-drop.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-selection.d.ts +21 -3
- package/types/toolbox-web-grid-angular-features-selection.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-server-side.d.ts +19 -0
- package/types/toolbox-web-grid-angular-features-server-side.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-tooltip.d.ts +19 -0
- package/types/toolbox-web-grid-angular-features-tooltip.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-tree.d.ts +22 -0
- package/types/toolbox-web-grid-angular-features-tree.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-undo-redo.d.ts +22 -3
- package/types/toolbox-web-grid-angular-features-undo-redo.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-visibility.d.ts +22 -0
- package/types/toolbox-web-grid-angular-features-visibility.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular.d.ts +939 -128
- package/types/toolbox-web-grid-angular.d.ts.map +1 -1
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { Type, EnvironmentInjector, ApplicationRef, ViewContainerRef, InjectionToken, EnvironmentProviders, Signal, ElementRef,
|
|
3
|
-
import { GridConfig as GridConfig$1, ColumnConfig as ColumnConfig$1,
|
|
4
|
-
import { GroupingColumnsConfig } from '@toolbox-web/grid/plugins/grouping-columns';
|
|
5
|
-
import { GroupingRowsConfig } from '@toolbox-web/grid/plugins/grouping-rows';
|
|
6
|
-
import { PinnedRowsConfig } from '@toolbox-web/grid/plugins/pinned-rows';
|
|
2
|
+
import { Type, EnvironmentInjector, ApplicationRef, ViewContainerRef, ComponentRef, TemplateRef, EmbeddedViewRef, InjectionToken, EnvironmentProviders, Signal, ElementRef, OnInit, OnDestroy, AfterContentInit } from '@angular/core';
|
|
3
|
+
import { GridConfig as GridConfig$1, ColumnConfig as ColumnConfig$1, TypeDefault as TypeDefault$1, FrameworkAdapter, ColumnViewRenderer, ColumnEditorSpec, GridIcons, DataGridElement, ExpandCollapseAnimation, FitMode, CellClickDetail, RowClickDetail, CellActivateDetail, CellChangeDetail, SortChangeDetail, ColumnResizeDetail, GridColumnState, TbwScrollDetail, DataGridEventMap } from '@toolbox-web/grid';
|
|
7
4
|
import { FilterPanelRenderer, FilterPanelParams } from '@toolbox-web/grid/plugins/filtering';
|
|
8
|
-
import { AbstractControl, ControlValueAccessor,
|
|
9
|
-
import { EditingConfig, ChangedRowsResetDetail } from '@toolbox-web/grid/plugins/editing';
|
|
10
|
-
import { SelectionConfig, ClipboardConfig, ContextMenuConfig, MultiSortConfig, FilterConfig, ReorderConfig, VisibilityConfig, GroupingColumnsConfig
|
|
5
|
+
import { AbstractControl, ControlValueAccessor, FormArray, FormGroup } from '@angular/forms';
|
|
6
|
+
import { EditingConfig, CellCancelDetail, EditOpenDetail, BeforeEditCloseDetail, EditCloseDetail, DirtyChangeDetail, ChangedRowsResetDetail } from '@toolbox-web/grid/plugins/editing';
|
|
7
|
+
import { SelectionConfig, ClipboardConfig, ContextMenuConfig, MultiSortConfig, FilterConfig, ReorderConfig, VisibilityConfig, GroupingColumnsConfig, ColumnVirtualizationConfig, RowReorderConfig, RowDragDropConfig, GroupingRowsConfig, PinnedRowsConfig, TreeConfig, MasterDetailConfig, ResponsivePluginConfig, UndoRedoConfig, ExportConfig, PrintConfig, PivotConfig, ServerSideConfig, TooltipConfig, DataChangeDetail, FilterChangeDetail, ColumnResizeResetDetail, ColumnMoveDetail, ColumnVisibilityDetail, SelectionChangeDetail, RowMoveDetail, RowDragStartDetail, RowDragEndDetail, RowDropDetail, RowTransferDetail, GroupToggleDetail, GroupExpandDetail, GroupCollapseDetail, TreeExpandDetail, DetailExpandDetail, ResponsiveChangeDetail, ContextMenuOpenDetail, CopyDetail, PasteDetail, UndoRedoDetail, ExportCompleteDetail, PrintStartDetail, PrintCompleteDetail } from '@toolbox-web/grid/all';
|
|
11
8
|
export { PluginFactory, clearFeatureRegistry, createPluginFromFeature, getFeatureFactory, getRegisteredFeatures, isFeatureRegistered, registerFeature } from '@toolbox-web/grid/features/registry';
|
|
12
9
|
|
|
13
10
|
/**
|
|
@@ -38,6 +35,7 @@ export { PluginFactory, clearFeatureRegistry, createPluginFromFeature, getFeatur
|
|
|
38
35
|
* column = input<unknown>();
|
|
39
36
|
* }
|
|
40
37
|
* ```
|
|
38
|
+
* @since 0.11.0
|
|
41
39
|
*/
|
|
42
40
|
interface CellRenderer<TRow = unknown, TValue = unknown> {
|
|
43
41
|
/** The cell value - use `input<TValue>()` or `input.required<TValue>()` */
|
|
@@ -81,6 +79,7 @@ interface CellRenderer<TRow = unknown, TValue = unknown> {
|
|
|
81
79
|
* cancel = output<void>();
|
|
82
80
|
* }
|
|
83
81
|
* ```
|
|
82
|
+
* @since 0.11.0
|
|
84
83
|
*/
|
|
85
84
|
interface CellEditor<TRow = unknown, TValue = unknown> extends CellRenderer<TRow, TValue> {
|
|
86
85
|
/** Emit to commit the new value - use `output<TValue>()` */
|
|
@@ -123,6 +122,7 @@ interface CellEditor<TRow = unknown, TValue = unknown> extends CellRenderer<TRow
|
|
|
123
122
|
* params = input.required<FilterPanelParams>();
|
|
124
123
|
* }
|
|
125
124
|
* ```
|
|
125
|
+
* @since 0.12.0
|
|
126
126
|
*/
|
|
127
127
|
interface FilterPanel {
|
|
128
128
|
/** The filter panel parameters — use `input.required<FilterPanelParams>()` */
|
|
@@ -151,6 +151,7 @@ interface FilterPanel {
|
|
|
151
151
|
* }
|
|
152
152
|
* };
|
|
153
153
|
* ```
|
|
154
|
+
* @since 0.10.0
|
|
154
155
|
*/
|
|
155
156
|
interface TypeDefault<TRow = unknown> {
|
|
156
157
|
/** Format function for cell display */
|
|
@@ -201,6 +202,7 @@ interface TypeDefault<TRow = unknown> {
|
|
|
201
202
|
* },
|
|
202
203
|
* ];
|
|
203
204
|
* ```
|
|
205
|
+
* @since 0.3.0
|
|
204
206
|
*/
|
|
205
207
|
interface ColumnConfig<TRow = unknown> extends Omit<ColumnConfig$1<TRow>, 'renderer' | 'editor' | 'headerRenderer' | 'headerLabelRenderer'> {
|
|
206
208
|
/**
|
|
@@ -243,6 +245,7 @@ interface ColumnConfig<TRow = unknown> extends Omit<ColumnConfig$1<TRow>, 'rende
|
|
|
243
245
|
* plugins: [...],
|
|
244
246
|
* };
|
|
245
247
|
* ```
|
|
248
|
+
* @since 0.3.0
|
|
246
249
|
*/
|
|
247
250
|
interface GridConfig<TRow = unknown> extends Omit<GridConfig$1<TRow>, 'columns' | 'typeDefaults' | 'loadingRenderer'> {
|
|
248
251
|
columns?: ColumnConfig<TRow>[];
|
|
@@ -264,9 +267,111 @@ interface GridConfig<TRow = unknown> extends Omit<GridConfig$1<TRow>, 'columns'
|
|
|
264
267
|
*
|
|
265
268
|
* Also checks if it's an ES6 class (vs function) by inspecting the
|
|
266
269
|
* string representation.
|
|
270
|
+
* @since 0.3.0
|
|
267
271
|
*/
|
|
268
272
|
declare function isComponentClass(value: unknown): value is Type<unknown>;
|
|
269
273
|
|
|
274
|
+
/**
|
|
275
|
+
* Editor mount hook registry — append-only hooks called when an Angular-managed
|
|
276
|
+
* editor host is mounted into the DOM with a known owner grid.
|
|
277
|
+
*
|
|
278
|
+
* This is the augmentation point that lets feature secondary entries
|
|
279
|
+
* (e.g. `@toolbox-web/grid-angular/features/editing`) install per-editor
|
|
280
|
+
* lifecycle behaviour (such as the `before-edit-close` blur bridge)
|
|
281
|
+
* without coupling the central adapter file to the editing feature.
|
|
282
|
+
* Mirrors React's and Vue's `editor-mount-hooks` and how core grid plugins
|
|
283
|
+
* augment the grid via `registerPlugin()`.
|
|
284
|
+
*
|
|
285
|
+
* @packageDocumentation
|
|
286
|
+
* @internal
|
|
287
|
+
*/
|
|
288
|
+
/**
|
|
289
|
+
* Hook called when an editor host is mounted. Returning a function
|
|
290
|
+
* registers a teardown that runs when the editor is released.
|
|
291
|
+
* @since 1.4.0
|
|
292
|
+
*/
|
|
293
|
+
type EditorMountHook = (ctx: {
|
|
294
|
+
container: HTMLElement;
|
|
295
|
+
gridEl: HTMLElement;
|
|
296
|
+
}) => (() => void) | void;
|
|
297
|
+
/**
|
|
298
|
+
* Install an editor-mount hook. Called by feature secondary entries
|
|
299
|
+
* (e.g. `features/editing`) on import.
|
|
300
|
+
*
|
|
301
|
+
* @internal Plugin API
|
|
302
|
+
* @since 1.4.0
|
|
303
|
+
*/
|
|
304
|
+
declare function registerEditorMountHook(hook: EditorMountHook): void;
|
|
305
|
+
/**
|
|
306
|
+
* Returns a function that, when invoked, blurs the focused input/textarea/select
|
|
307
|
+
* inside `host` (if any). Used by the `before-edit-close` bridge installed by
|
|
308
|
+
* `@toolbox-web/grid-angular/features/editing` so editors that commit on
|
|
309
|
+
* `(blur)` flush their pending value before the cell DOM is torn down by Tab /
|
|
310
|
+
* programmatic row exit.
|
|
311
|
+
* @internal
|
|
312
|
+
* @since 1.4.0
|
|
313
|
+
*/
|
|
314
|
+
declare function makeFlushFocusedInput(host: HTMLElement): () => void;
|
|
315
|
+
|
|
316
|
+
/**
|
|
317
|
+
* Append-only bridge registries used by `@toolbox-web/grid-angular`.
|
|
318
|
+
*
|
|
319
|
+
* These let feature secondary entries plug into the central `GridAdapter`
|
|
320
|
+
* without the adapter needing to know about them. Mirrors React's and Vue's
|
|
321
|
+
* `register*Bridge` modules and how core grid plugins augment the grid via
|
|
322
|
+
* `registerPlugin()`.
|
|
323
|
+
*
|
|
324
|
+
* This module is deliberately framework-free: it holds plain module-level
|
|
325
|
+
* `let` state and never imports from `@angular/core` or from
|
|
326
|
+
* `@toolbox-web/grid/plugins/...`. Feature subpaths import the setters via
|
|
327
|
+
* the `@toolbox-web/grid-angular` package barrel (relative imports outside
|
|
328
|
+
* a secondary entry's `rootDir` are forbidden by ng-packagr).
|
|
329
|
+
*
|
|
330
|
+
* @internal
|
|
331
|
+
*/
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* Installer signature: given a grid element + adapter, returns the row-renderer
|
|
335
|
+
* the adapter should expose, or undefined if no Angular template is registered
|
|
336
|
+
* for that grid. Used by `features/master-detail` and `features/responsive`.
|
|
337
|
+
* @internal
|
|
338
|
+
* @since 1.4.0
|
|
339
|
+
*/
|
|
340
|
+
type RowRendererBridge = <TRow = unknown>(gridElement: HTMLElement, adapter: GridAdapter) => ((row: TRow, rowIndex: number) => HTMLElement) | undefined;
|
|
341
|
+
/**
|
|
342
|
+
* Installer signature for the type-default `filterPanelRenderer` wrapper.
|
|
343
|
+
* Receives the user-supplied component class loosely typed as `unknown`
|
|
344
|
+
* (so the adapter does not depend on filtering types) and returns the
|
|
345
|
+
* imperative `(container, params) => void` form required by core.
|
|
346
|
+
* @internal
|
|
347
|
+
* @since 1.4.0
|
|
348
|
+
*/
|
|
349
|
+
type FilterPanelTypeDefaultBridge = (rendererValue: unknown, adapter: GridAdapter) => NonNullable<TypeDefault$1['filterPanelRenderer']> | undefined;
|
|
350
|
+
/**
|
|
351
|
+
* Install the master-detail row-renderer bridge. Called once on import by
|
|
352
|
+
* `@toolbox-web/grid-angular/features/master-detail`.
|
|
353
|
+
* @internal Plugin API
|
|
354
|
+
* @since 1.4.0
|
|
355
|
+
*/
|
|
356
|
+
declare function registerDetailRendererBridge(bridge: RowRendererBridge): void;
|
|
357
|
+
/**
|
|
358
|
+
* Install the responsive-card row-renderer bridge. Called once on import by
|
|
359
|
+
* `@toolbox-web/grid-angular/features/responsive`.
|
|
360
|
+
* @internal Plugin API
|
|
361
|
+
* @since 1.4.0
|
|
362
|
+
*/
|
|
363
|
+
declare function registerResponsiveCardRendererBridge(bridge: RowRendererBridge): void;
|
|
364
|
+
/**
|
|
365
|
+
* Install the type-default `filterPanelRenderer` wrapper. Called once on import
|
|
366
|
+
* by `@toolbox-web/grid-angular/features/filtering`. Without this bridge,
|
|
367
|
+
* type-default and grid-config-level component-class filterPanelRenderers are
|
|
368
|
+
* silently dropped — same precondition as the FilteringPlugin (TBW031).
|
|
369
|
+
* @internal Plugin API
|
|
370
|
+
* @since 1.4.0
|
|
371
|
+
*/
|
|
372
|
+
declare function registerFilterPanelTypeDefaultBridge(bridge: FilterPanelTypeDefaultBridge): void;
|
|
373
|
+
|
|
374
|
+
/** @since 0.11.0 */
|
|
270
375
|
declare class GridAdapter implements FrameworkAdapter {
|
|
271
376
|
private injector;
|
|
272
377
|
private appRef;
|
|
@@ -278,20 +383,16 @@ declare class GridAdapter implements FrameworkAdapter {
|
|
|
278
383
|
/** Editor-specific component refs tracked separately for per-cell cleanup via releaseCell. */
|
|
279
384
|
private editorComponentRefs;
|
|
280
385
|
/**
|
|
281
|
-
* Per-editor
|
|
282
|
-
* editor host element.
|
|
283
|
-
*
|
|
284
|
-
* The grid's editing plugin emits `before-edit-close` on the host
|
|
285
|
-
* `<tbw-grid>` before tearing down a row's managed editors. Angular
|
|
286
|
-
* editors that commit on `(blur)` rely on the focused input firing `blur`
|
|
287
|
-
* naturally, but Tab / programmatic row exit rebuilds the cell DOM
|
|
288
|
-
* synchronously without giving the focused input a chance to blur first
|
|
289
|
-
* — pending input is silently discarded.
|
|
386
|
+
* Per-editor mount-hook teardown functions, keyed by editor host element.
|
|
290
387
|
*
|
|
291
|
-
*
|
|
292
|
-
*
|
|
388
|
+
* Populated by {@link runEditorMountHooks} (which invokes
|
|
389
|
+
* {@link notifyEditorMounted}) and torn down per-cell from
|
|
390
|
+
* {@link releaseCell}, with full sweep on {@link destroy}. The actual
|
|
391
|
+
* lifecycle behaviour is supplied by feature secondary entries (e.g.
|
|
392
|
+
* `@toolbox-web/grid-angular/features/editing` installs the
|
|
393
|
+
* `before-edit-close` blur bridge).
|
|
293
394
|
*/
|
|
294
|
-
private
|
|
395
|
+
private editorMountTeardowns;
|
|
295
396
|
private typeRegistry;
|
|
296
397
|
constructor(injector: EnvironmentInjector, appRef: ApplicationRef, viewContainerRef: ViewContainerRef);
|
|
297
398
|
/**
|
|
@@ -375,32 +476,25 @@ declare class GridAdapter implements FrameworkAdapter {
|
|
|
375
476
|
*/
|
|
376
477
|
createEditor<TRow = unknown, TValue = unknown>(element: HTMLElement): ColumnEditorSpec<TRow, TValue> | undefined;
|
|
377
478
|
/**
|
|
378
|
-
* Creates a detail renderer function for MasterDetailPlugin.
|
|
379
|
-
*
|
|
479
|
+
* Creates a detail renderer function for MasterDetailPlugin. Delegates to
|
|
480
|
+
* the bridge installed by `@toolbox-web/grid-angular/features/master-detail`.
|
|
481
|
+
* Returns undefined if the feature is not imported or no `<tbw-grid-detail>`
|
|
482
|
+
* template is registered for this grid.
|
|
380
483
|
*/
|
|
381
484
|
createDetailRenderer<TRow = unknown>(gridElement: HTMLElement): ((row: TRow) => HTMLElement) | undefined;
|
|
382
485
|
/**
|
|
383
|
-
*
|
|
384
|
-
*
|
|
385
|
-
*
|
|
386
|
-
* This enables MasterDetailPlugin to automatically use Angular templates
|
|
387
|
-
* without manual configuration in the Grid directive.
|
|
486
|
+
* FrameworkAdapter hook called by MasterDetailPlugin during attach(). Delegates
|
|
487
|
+
* to {@link createDetailRenderer} (bridge installed by master-detail feature).
|
|
388
488
|
*/
|
|
389
489
|
parseDetailElement<TRow = unknown>(detailElement: Element): ((row: TRow, rowIndex: number) => HTMLElement | string) | undefined;
|
|
390
490
|
/**
|
|
391
|
-
* Creates a responsive card renderer function for ResponsivePlugin.
|
|
392
|
-
*
|
|
393
|
-
*
|
|
394
|
-
* @param gridElement - The grid element to look up the template for
|
|
395
|
-
* @returns A card renderer function or undefined if no template is found
|
|
491
|
+
* Creates a responsive card renderer function for ResponsivePlugin. Delegates
|
|
492
|
+
* to the bridge installed by `@toolbox-web/grid-angular/features/responsive`.
|
|
396
493
|
*/
|
|
397
494
|
createResponsiveCardRenderer<TRow = unknown>(gridElement: HTMLElement): ((row: TRow, rowIndex: number) => HTMLElement) | undefined;
|
|
398
495
|
/**
|
|
399
|
-
* FrameworkAdapter hook called by ResponsivePlugin during attach().
|
|
400
|
-
*
|
|
401
|
-
* {@link createResponsiveCardRenderer}. Required for parity with the Vue
|
|
402
|
-
* adapter so ResponsivePlugin's standard lookup path works for Angular
|
|
403
|
-
* users without relying on imperative `refreshCardRenderer` calls.
|
|
496
|
+
* FrameworkAdapter hook called by ResponsivePlugin during attach(). Delegates
|
|
497
|
+
* to {@link createResponsiveCardRenderer} (bridge installed by responsive feature).
|
|
404
498
|
*/
|
|
405
499
|
parseResponsiveCardElement<TRow = unknown>(cardElement: Element): ((row: TRow, rowIndex: number) => HTMLElement) | undefined;
|
|
406
500
|
/**
|
|
@@ -437,18 +531,38 @@ declare class GridAdapter implements FrameworkAdapter {
|
|
|
437
531
|
*/
|
|
438
532
|
getTypeDefault<TRow = unknown>(type: string, _gridEl?: HTMLElement): TypeDefault$1<TRow> | undefined;
|
|
439
533
|
/**
|
|
440
|
-
*
|
|
441
|
-
*
|
|
534
|
+
* Generalized component-mount primitive. All `createComponent*Renderer` methods
|
|
535
|
+
* are thin wrappers around this. Returns a function `(ctx) => { hostElement, componentRef }`
|
|
536
|
+
* so callers that need the `componentRef` (editor wiring, value-change subscription)
|
|
537
|
+
* still have it; callers that only need the host element use `.hostElement`.
|
|
538
|
+
*
|
|
539
|
+
* Public so feature secondary entries can compose their own component renderers
|
|
540
|
+
* without re-implementing the mount/track plumbing.
|
|
541
|
+
*
|
|
542
|
+
* @param componentClass Angular component class to instantiate per call.
|
|
543
|
+
* @param mapInputs Maps the renderer context to a `setInput()` bag.
|
|
544
|
+
* @param pool Which `componentRefs[]` array tracks the instance for cleanup.
|
|
545
|
+
* `'render'` (default) is the long-lived pool cleared at `dispose()`.
|
|
546
|
+
* `'editor'` is the per-cell pool swept by `releaseCell()`.
|
|
442
547
|
* @internal
|
|
443
548
|
*/
|
|
444
|
-
|
|
549
|
+
mountComponentRenderer<TCtx>(componentClass: Type<unknown>, mapInputs: (ctx: TCtx) => Record<string, unknown>, pool?: 'render' | 'editor'): (ctx: TCtx) => {
|
|
550
|
+
hostElement: HTMLSpanElement;
|
|
551
|
+
componentRef: ComponentRef<unknown>;
|
|
552
|
+
};
|
|
445
553
|
/**
|
|
446
554
|
* Creates a renderer function from an Angular component class.
|
|
555
|
+
* Wraps {@link mountComponentRenderer} with a per-cell `WeakMap` cache so
|
|
556
|
+
* scroll-recycled cells reuse the existing component (just refresh inputs)
|
|
557
|
+
* instead of mounting a fresh one.
|
|
447
558
|
* @internal
|
|
448
559
|
*/
|
|
449
560
|
private createComponentRenderer;
|
|
450
561
|
/**
|
|
451
562
|
* Creates an editor function from an Angular component class.
|
|
563
|
+
* Wraps {@link mountComponentRenderer} (using the `'editor'` pool for per-cell
|
|
564
|
+
* cleanup) plus editor-specific wiring: callback bridge, mount-hook fan-out
|
|
565
|
+
* (see {@link runEditorMountHooks}), and external value-change subscription.
|
|
452
566
|
* @internal
|
|
453
567
|
*/
|
|
454
568
|
private createComponentEditor;
|
|
@@ -465,68 +579,45 @@ declare class GridAdapter implements FrameworkAdapter {
|
|
|
465
579
|
*/
|
|
466
580
|
private createComponentHeaderLabelRenderer;
|
|
467
581
|
/**
|
|
468
|
-
* Creates a
|
|
582
|
+
* Creates a loading renderer function from an Angular component class.
|
|
469
583
|
*
|
|
470
|
-
* The component should accept
|
|
471
|
-
* Returns the host element directly (groupHeaderRenderer returns an element, not void).
|
|
584
|
+
* The component should accept a `size` input ('large' | 'small').
|
|
472
585
|
* @internal
|
|
473
586
|
*/
|
|
474
|
-
private
|
|
587
|
+
private createComponentLoadingRenderer;
|
|
475
588
|
/**
|
|
476
|
-
*
|
|
477
|
-
*
|
|
478
|
-
*
|
|
479
|
-
*
|
|
480
|
-
*
|
|
589
|
+
* Create an embedded view from a `TemplateRef` and append-track it on the
|
|
590
|
+
* adapter's view-ref pool so it is cleaned up on `destroy()` / `unmount()`.
|
|
591
|
+
* Public so feature secondary entries can mount Angular templates (e.g.
|
|
592
|
+
* master-detail rows, responsive cards) without reaching into the adapter's
|
|
593
|
+
* private `viewContainerRef` / `viewRefs`.
|
|
594
|
+
* @internal
|
|
481
595
|
*/
|
|
482
|
-
|
|
596
|
+
createTrackedEmbeddedView<TCtx>(template: TemplateRef<TCtx>, context: TCtx): EmbeddedViewRef<TCtx>;
|
|
483
597
|
/**
|
|
484
|
-
* Processes a
|
|
485
|
-
*
|
|
486
|
-
*
|
|
487
|
-
*
|
|
488
|
-
*
|
|
598
|
+
* Processes a GroupingColumnsConfig. Delegates to the feature config
|
|
599
|
+
* preprocessor installed by `@toolbox-web/grid-angular/features/grouping-columns`,
|
|
600
|
+
* which handles converting Angular component class references to actual
|
|
601
|
+
* renderer functions. Returns the input config unchanged if the feature
|
|
602
|
+
* is not imported.
|
|
489
603
|
*/
|
|
490
|
-
|
|
604
|
+
processGroupingColumnsConfig<TConfig>(config: TConfig): TConfig;
|
|
491
605
|
/**
|
|
492
|
-
* Processes a
|
|
493
|
-
*
|
|
494
|
-
*
|
|
495
|
-
* @param config - Angular pinned rows configuration with possible component class references
|
|
496
|
-
* @returns Processed PinnedRowsConfig with actual renderer functions
|
|
606
|
+
* Processes a GroupingRowsConfig. Delegates to the feature config preprocessor
|
|
607
|
+
* installed by `@toolbox-web/grid-angular/features/grouping-rows`.
|
|
497
608
|
*/
|
|
498
|
-
|
|
609
|
+
processGroupingRowsConfig<TConfig>(config: TConfig): TConfig;
|
|
499
610
|
/**
|
|
500
|
-
*
|
|
501
|
-
*
|
|
502
|
-
* The component should accept inputs from PinnedRowsContext (totalRows, filteredRows,
|
|
503
|
-
* selectedRows, columns, rows, grid).
|
|
504
|
-
* @internal
|
|
611
|
+
* Processes a PinnedRowsConfig. Delegates to the feature config preprocessor
|
|
612
|
+
* installed by `@toolbox-web/grid-angular/features/pinned-rows`.
|
|
505
613
|
*/
|
|
506
|
-
|
|
614
|
+
processPinnedRowsConfig<TConfig>(config: TConfig): TConfig;
|
|
507
615
|
/**
|
|
508
|
-
*
|
|
509
|
-
*
|
|
510
|
-
* The component should accept a `size` input ('large' | 'small').
|
|
616
|
+
* Run a registered feature-config preprocessor against `config`, returning
|
|
617
|
+
* the original config unchanged when the feature is not imported.
|
|
511
618
|
* @internal
|
|
512
619
|
*/
|
|
513
|
-
private
|
|
514
|
-
/**
|
|
515
|
-
* Creates a group row renderer function from an Angular component class.
|
|
516
|
-
*
|
|
517
|
-
* The component should accept group row inputs (key, value, depth, rows, expanded, toggleExpand).
|
|
518
|
-
* Returns the host element directly (groupRowRenderer returns an element, not void).
|
|
519
|
-
* @internal
|
|
520
|
-
*/
|
|
521
|
-
private createComponentGroupRowRenderer;
|
|
522
|
-
/**
|
|
523
|
-
* Creates a filter panel renderer function from an Angular component class.
|
|
524
|
-
*
|
|
525
|
-
* The component must implement `FilterPanel` (i.e., have a `params` input).
|
|
526
|
-
* The component is mounted into the filter panel container element.
|
|
527
|
-
* @internal
|
|
528
|
-
*/
|
|
529
|
-
private createComponentFilterPanelRenderer;
|
|
620
|
+
private applyFeatureConfigPreprocessor;
|
|
530
621
|
/**
|
|
531
622
|
* Sets component inputs using Angular's setInput API.
|
|
532
623
|
* @internal
|
|
@@ -554,18 +645,19 @@ declare class GridAdapter implements FrameworkAdapter {
|
|
|
554
645
|
*/
|
|
555
646
|
destroy(): void;
|
|
556
647
|
/**
|
|
557
|
-
*
|
|
558
|
-
*
|
|
559
|
-
*
|
|
560
|
-
*
|
|
561
|
-
*
|
|
562
|
-
* The grid is resolved lazily via `queueMicrotask` because the host is
|
|
563
|
-
* appended to the cell *after* the editor wrapper returns. Mirror of
|
|
564
|
-
* Vue's `attachBeforeEditCloseFlush` and React's `wrapReactEditor`
|
|
648
|
+
* Runs every registered {@link EditorMountHook} against a freshly mounted
|
|
649
|
+
* editor host once it has been parented to the grid. The grid is resolved
|
|
650
|
+
* lazily via `queueMicrotask` because the host is appended to the cell
|
|
651
|
+
* *after* the editor wrapper returns. Mirror of Vue's
|
|
652
|
+
* `attachBeforeEditCloseFlush` and React's `wrapReactEditor`
|
|
565
653
|
* queueMicrotask bridge.
|
|
654
|
+
*
|
|
655
|
+
* Without any feature imports the hook list is empty and this is a no-op
|
|
656
|
+
* — `before-edit-close` blur handling lives in
|
|
657
|
+
* `@toolbox-web/grid-angular/features/editing`.
|
|
566
658
|
* @internal
|
|
567
659
|
*/
|
|
568
|
-
private
|
|
660
|
+
private runEditorMountHooks;
|
|
569
661
|
}
|
|
570
662
|
|
|
571
663
|
/**
|
|
@@ -588,6 +680,7 @@ declare class GridAdapter implements FrameworkAdapter {
|
|
|
588
680
|
* },
|
|
589
681
|
* };
|
|
590
682
|
* ```
|
|
683
|
+
* @since 0.11.0
|
|
591
684
|
*/
|
|
592
685
|
interface TypeDefaultRegistration<TRow = unknown> {
|
|
593
686
|
/** Angular component class for rendering cells of this type */
|
|
@@ -607,6 +700,7 @@ interface TypeDefaultRegistration<TRow = unknown> {
|
|
|
607
700
|
}
|
|
608
701
|
/**
|
|
609
702
|
* Injection token for providing type defaults at app level.
|
|
703
|
+
* @since 0.3.0
|
|
610
704
|
*/
|
|
611
705
|
declare const GRID_TYPE_DEFAULTS: InjectionToken<Record<string, TypeDefaultRegistration<unknown>>>;
|
|
612
706
|
/**
|
|
@@ -644,6 +738,7 @@ declare const GRID_TYPE_DEFAULTS: InjectionToken<Record<string, TypeDefaultRegis
|
|
|
644
738
|
* }
|
|
645
739
|
* }
|
|
646
740
|
* ```
|
|
741
|
+
* @since 0.3.0
|
|
647
742
|
*/
|
|
648
743
|
declare class GridTypeRegistry {
|
|
649
744
|
private readonly defaults;
|
|
@@ -700,6 +795,7 @@ declare class GridTypeRegistry {
|
|
|
700
795
|
* ]
|
|
701
796
|
* };
|
|
702
797
|
* ```
|
|
798
|
+
* @since 0.3.0
|
|
703
799
|
*/
|
|
704
800
|
declare function provideGridTypeDefaults(defaults: Record<string, TypeDefaultRegistration>): EnvironmentProviders;
|
|
705
801
|
|
|
@@ -712,6 +808,7 @@ declare function provideGridTypeDefaults(defaults: Record<string, TypeDefaultReg
|
|
|
712
808
|
|
|
713
809
|
/**
|
|
714
810
|
* Injection token for providing icon overrides at app level.
|
|
811
|
+
* @since 0.8.0
|
|
715
812
|
*/
|
|
716
813
|
declare const GRID_ICONS: InjectionToken<Partial<GridIcons>>;
|
|
717
814
|
/**
|
|
@@ -744,6 +841,7 @@ declare const GRID_ICONS: InjectionToken<Partial<GridIcons>>;
|
|
|
744
841
|
* }
|
|
745
842
|
* }
|
|
746
843
|
* ```
|
|
844
|
+
* @since 0.8.0
|
|
747
845
|
*/
|
|
748
846
|
declare class GridIconRegistry {
|
|
749
847
|
private readonly icons;
|
|
@@ -814,11 +912,13 @@ declare class GridIconRegistry {
|
|
|
814
912
|
* ]
|
|
815
913
|
* };
|
|
816
914
|
* ```
|
|
915
|
+
* @since 0.8.0
|
|
817
916
|
*/
|
|
818
917
|
declare function provideGridIcons(icons: Partial<GridIcons>): EnvironmentProviders;
|
|
819
918
|
|
|
820
919
|
/**
|
|
821
920
|
* Return type for injectGrid function.
|
|
921
|
+
* @since 0.6.0
|
|
822
922
|
*/
|
|
823
923
|
interface InjectGridReturn<TRow = unknown> {
|
|
824
924
|
/** Direct access to the typed grid element */
|
|
@@ -839,6 +939,16 @@ interface InjectGridReturn<TRow = unknown> {
|
|
|
839
939
|
unregisterStyles: (id: string) => void;
|
|
840
940
|
/** Get current visible columns */
|
|
841
941
|
visibleColumns: Signal<ColumnConfig$1<TRow>[]>;
|
|
942
|
+
/**
|
|
943
|
+
* Look up a plugin instance by its class constructor.
|
|
944
|
+
* Returns `undefined` if the plugin is not registered or the grid is not yet ready.
|
|
945
|
+
*/
|
|
946
|
+
getPlugin: <T>(pluginClass: new (...args: unknown[]) => T) => T | undefined;
|
|
947
|
+
/**
|
|
948
|
+
* Look up a plugin instance by its registered name (e.g. `'tooltip'`, `'undoRedo'`).
|
|
949
|
+
* Returns `undefined` if the plugin is not registered or the grid is not yet ready.
|
|
950
|
+
*/
|
|
951
|
+
getPluginByName: DataGridElement<TRow>['getPluginByName'];
|
|
842
952
|
}
|
|
843
953
|
/**
|
|
844
954
|
* Angular inject function for programmatic access to a grid instance.
|
|
@@ -879,6 +989,7 @@ interface InjectGridReturn<TRow = unknown> {
|
|
|
879
989
|
* Defaults to `'tbw-grid'` (first grid in the component). Use when the
|
|
880
990
|
* component contains multiple grids, e.g. `'tbw-grid.primary'` or `'#my-grid'`.
|
|
881
991
|
* @returns Object with grid access methods and state signals
|
|
992
|
+
* @since 0.6.0
|
|
882
993
|
*/
|
|
883
994
|
declare function injectGrid<TRow = unknown>(selector?: string): InjectGridReturn<TRow>;
|
|
884
995
|
|
|
@@ -902,6 +1013,7 @@ declare function injectGrid<TRow = unknown>(selector?: string): InjectGridReturn
|
|
|
902
1013
|
|
|
903
1014
|
/**
|
|
904
1015
|
* Feature names supported by the Grid directive.
|
|
1016
|
+
* @since 0.6.0
|
|
905
1017
|
*/
|
|
906
1018
|
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';
|
|
907
1019
|
|
|
@@ -949,6 +1061,12 @@ type FeatureName = 'selection' | 'editing' | 'clipboard' | 'contextMenu' | 'mult
|
|
|
949
1061
|
* ```
|
|
950
1062
|
*
|
|
951
1063
|
* @typeParam TRow - The row data type (available via `params().column`)
|
|
1064
|
+
*
|
|
1065
|
+
* MOVE-IN-V2: this class will physically move into
|
|
1066
|
+
* `@toolbox-web/grid-angular/features/filtering` in v2.0.0; the deprecated
|
|
1067
|
+
* re-export from the main `@toolbox-web/grid-angular` entry will be removed at
|
|
1068
|
+
* the same time. Consumers should already be importing from the feature entry.
|
|
1069
|
+
* @since 0.13.0
|
|
952
1070
|
*/
|
|
953
1071
|
declare abstract class BaseFilterPanel implements FilterPanel {
|
|
954
1072
|
/**
|
|
@@ -1057,6 +1175,12 @@ declare abstract class BaseFilterPanel implements FilterPanel {
|
|
|
1057
1175
|
*
|
|
1058
1176
|
* @typeParam TRow - The row data type
|
|
1059
1177
|
* @typeParam TValue - The cell value type
|
|
1178
|
+
*
|
|
1179
|
+
* MOVE-IN-V2: this class will physically move into
|
|
1180
|
+
* `@toolbox-web/grid-angular/features/editing` in v2.0.0; the deprecated
|
|
1181
|
+
* re-export from the main `@toolbox-web/grid-angular` entry will be removed at
|
|
1182
|
+
* the same time. Consumers should already be importing from the feature entry.
|
|
1183
|
+
* @since 0.5.0
|
|
1060
1184
|
*/
|
|
1061
1185
|
declare abstract class BaseGridEditor<TRow = unknown, TValue = unknown> {
|
|
1062
1186
|
protected readonly elementRef: ElementRef<any>;
|
|
@@ -1243,6 +1367,12 @@ declare abstract class BaseGridEditor<TRow = unknown, TValue = unknown> {
|
|
|
1243
1367
|
*
|
|
1244
1368
|
* @typeParam TRow - The row data type
|
|
1245
1369
|
* @typeParam TValue - The cell/control value type
|
|
1370
|
+
*
|
|
1371
|
+
* MOVE-IN-V2: this class will physically move into
|
|
1372
|
+
* `@toolbox-web/grid-angular/features/editing` in v2.0.0; the deprecated
|
|
1373
|
+
* re-export from the main `@toolbox-web/grid-angular` entry will be removed at
|
|
1374
|
+
* the same time. Consumers should already be importing from the feature entry.
|
|
1375
|
+
* @since 0.13.0
|
|
1246
1376
|
*/
|
|
1247
1377
|
declare abstract class BaseGridEditorCVA<TRow = unknown, TValue = unknown> extends BaseGridEditor<TRow, TValue> implements ControlValueAccessor {
|
|
1248
1378
|
/** Internal onChange callback registered by the form control. */
|
|
@@ -1309,6 +1439,7 @@ declare abstract class BaseGridEditorCVA<TRow = unknown, TValue = unknown> exten
|
|
|
1309
1439
|
* - `'below-right'` — panel appears below the cell, right-aligned
|
|
1310
1440
|
* - `'over-top-left'` — panel top-left corner aligns with cell top-left corner (opens downward)
|
|
1311
1441
|
* - `'over-bottom-left'` — panel bottom-left corner aligns with cell bottom-left corner (opens upward)
|
|
1442
|
+
* @since 0.13.0
|
|
1312
1443
|
*/
|
|
1313
1444
|
type OverlayPosition = 'below' | 'above' | 'below-right' | 'over-top-left' | 'over-bottom-left';
|
|
1314
1445
|
/**
|
|
@@ -1406,6 +1537,13 @@ type OverlayPosition = 'below' | 'above' | 'below-right' | 'over-top-left' | 'ov
|
|
|
1406
1537
|
*
|
|
1407
1538
|
* @typeParam TRow - The row data type
|
|
1408
1539
|
* @typeParam TValue - The cell value type
|
|
1540
|
+
*
|
|
1541
|
+
* MOVE-IN-V2: this class (and its companion `OverlayPosition` type) will
|
|
1542
|
+
* physically move into `@toolbox-web/grid-angular/features/editing` in v2.0.0;
|
|
1543
|
+
* the deprecated re-export from the main `@toolbox-web/grid-angular` entry
|
|
1544
|
+
* will be removed at the same time. Consumers should already be importing
|
|
1545
|
+
* from the feature entry.
|
|
1546
|
+
* @since 0.13.0
|
|
1409
1547
|
*/
|
|
1410
1548
|
declare abstract class BaseOverlayEditor<TRow = unknown, TValue = unknown> extends BaseGridEditor<TRow, TValue> {
|
|
1411
1549
|
private readonly _elementRef;
|
|
@@ -1568,6 +1706,7 @@ declare abstract class BaseOverlayEditor<TRow = unknown, TValue = unknown> exten
|
|
|
1568
1706
|
/**
|
|
1569
1707
|
* Context object passed to the cell editor template.
|
|
1570
1708
|
* Contains the cell value, row data, column configuration, and commit/cancel functions.
|
|
1709
|
+
* @since 0.1.0
|
|
1571
1710
|
*/
|
|
1572
1711
|
interface GridEditorContext<TValue = unknown, TRow = unknown> {
|
|
1573
1712
|
/** The cell value for this column */
|
|
@@ -1664,6 +1803,14 @@ interface GridEditorContext<TValue = unknown, TRow = unknown> {
|
|
|
1664
1803
|
* ```
|
|
1665
1804
|
*
|
|
1666
1805
|
* @category Directive
|
|
1806
|
+
*
|
|
1807
|
+
* MOVE-IN-V2: this directive (and its companion `GridEditorContext` type and
|
|
1808
|
+
* `getEditorTemplate` helper) will physically move into
|
|
1809
|
+
* `@toolbox-web/grid-angular/features/editing` in v2.0.0; the deprecated
|
|
1810
|
+
* re-exports from the main `@toolbox-web/grid-angular` entry will be removed
|
|
1811
|
+
* at the same time. Consumers should already be importing from the feature
|
|
1812
|
+
* entry.
|
|
1813
|
+
* @since 0.1.0
|
|
1667
1814
|
*/
|
|
1668
1815
|
declare class GridColumnEditor {
|
|
1669
1816
|
private elementRef;
|
|
@@ -1685,6 +1832,7 @@ declare class GridColumnEditor {
|
|
|
1685
1832
|
/**
|
|
1686
1833
|
* Context object passed to the cell renderer template.
|
|
1687
1834
|
* Contains the cell value, row data, and column configuration.
|
|
1835
|
+
* @since 0.1.0
|
|
1688
1836
|
*/
|
|
1689
1837
|
interface GridCellContext<TValue = unknown, TRow = unknown> {
|
|
1690
1838
|
/** The cell value for this column */
|
|
@@ -1731,6 +1879,7 @@ interface GridCellContext<TValue = unknown, TRow = unknown> {
|
|
|
1731
1879
|
* ```
|
|
1732
1880
|
*
|
|
1733
1881
|
* @category Directive
|
|
1882
|
+
* @since 0.1.0
|
|
1734
1883
|
*/
|
|
1735
1884
|
declare class GridColumnView {
|
|
1736
1885
|
private elementRef;
|
|
@@ -1778,6 +1927,7 @@ declare class GridColumnView {
|
|
|
1778
1927
|
* ```
|
|
1779
1928
|
*
|
|
1780
1929
|
* @category Directive
|
|
1930
|
+
* @since 0.13.0
|
|
1781
1931
|
*/
|
|
1782
1932
|
declare class TbwGridColumn {
|
|
1783
1933
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TbwGridColumn, never>;
|
|
@@ -1787,6 +1937,7 @@ declare class TbwGridColumn {
|
|
|
1787
1937
|
/**
|
|
1788
1938
|
* Context object passed to the detail renderer template.
|
|
1789
1939
|
* Contains the row data for the expanded detail view.
|
|
1940
|
+
* @since 0.1.0
|
|
1790
1941
|
*/
|
|
1791
1942
|
interface GridDetailContext<TRow = unknown> {
|
|
1792
1943
|
/** The row data (implicit binding for let-row) */
|
|
@@ -1794,6 +1945,12 @@ interface GridDetailContext<TRow = unknown> {
|
|
|
1794
1945
|
/** The row data (explicit binding) */
|
|
1795
1946
|
row: TRow;
|
|
1796
1947
|
}
|
|
1948
|
+
/**
|
|
1949
|
+
* Gets the detail template registered for a given grid element.
|
|
1950
|
+
* Used by AngularGridAdapter to retrieve templates at render time.
|
|
1951
|
+
* @since 0.1.0
|
|
1952
|
+
*/
|
|
1953
|
+
declare function getDetailTemplate(gridElement: HTMLElement): TemplateRef<GridDetailContext> | undefined;
|
|
1797
1954
|
/**
|
|
1798
1955
|
* Directive that captures an `<ng-template>` for use as a master-detail row renderer.
|
|
1799
1956
|
*
|
|
@@ -1815,10 +1972,10 @@ interface GridDetailContext<TRow = unknown> {
|
|
|
1815
1972
|
* The template context provides:
|
|
1816
1973
|
* - `$implicit` / `row`: The full row data object
|
|
1817
1974
|
*
|
|
1818
|
-
* Import the directive
|
|
1975
|
+
* Import the directive from the master-detail feature entry:
|
|
1819
1976
|
*
|
|
1820
1977
|
* ```typescript
|
|
1821
|
-
* import { GridDetailView } from '@toolbox-web/grid-angular';
|
|
1978
|
+
* import { GridDetailView } from '@toolbox-web/grid-angular/features/master-detail';
|
|
1822
1979
|
*
|
|
1823
1980
|
* @Component({
|
|
1824
1981
|
* imports: [GridDetailView],
|
|
@@ -1826,6 +1983,10 @@ interface GridDetailContext<TRow = unknown> {
|
|
|
1826
1983
|
* })
|
|
1827
1984
|
* ```
|
|
1828
1985
|
*
|
|
1986
|
+
* > Note: `GridDetailView` is also re-exported from `@toolbox-web/grid-angular`
|
|
1987
|
+
* > for backwards compatibility, but that re-export is deprecated and will be
|
|
1988
|
+
* > removed in v2.0.0. Always import from the feature entry.
|
|
1989
|
+
*
|
|
1829
1990
|
* @example
|
|
1830
1991
|
* ```html
|
|
1831
1992
|
* <tbw-grid [rows]="rows" [gridConfig]="config">
|
|
@@ -1838,6 +1999,7 @@ interface GridDetailContext<TRow = unknown> {
|
|
|
1838
1999
|
* ```
|
|
1839
2000
|
*
|
|
1840
2001
|
* @category Directive
|
|
2002
|
+
* @since 0.1.0
|
|
1841
2003
|
*/
|
|
1842
2004
|
declare class GridDetailView {
|
|
1843
2005
|
private elementRef;
|
|
@@ -1863,6 +2025,7 @@ declare class GridDetailView {
|
|
|
1863
2025
|
/**
|
|
1864
2026
|
* Context provided to the grid containing form-related information.
|
|
1865
2027
|
* This can be accessed by other directives to get form controls.
|
|
2028
|
+
* @since 0.5.0
|
|
1866
2029
|
*/
|
|
1867
2030
|
interface FormArrayContext {
|
|
1868
2031
|
/** Get the row data at a specific index */
|
|
@@ -1929,6 +2092,7 @@ interface FormArrayContext {
|
|
|
1929
2092
|
/**
|
|
1930
2093
|
* Gets the FormArrayContext from a grid element, if present.
|
|
1931
2094
|
* @internal
|
|
2095
|
+
* @since 0.5.0
|
|
1932
2096
|
*/
|
|
1933
2097
|
declare function getFormArrayContext(gridElement: HTMLElement): FormArrayContext | undefined;
|
|
1934
2098
|
/**
|
|
@@ -1990,6 +2154,14 @@ declare function getFormArrayContext(gridElement: HTMLElement): FormArrayContext
|
|
|
1990
2154
|
* ```
|
|
1991
2155
|
*
|
|
1992
2156
|
* @category Directive
|
|
2157
|
+
*
|
|
2158
|
+
* MOVE-IN-V2: this directive (and its `FormArrayContext` type and
|
|
2159
|
+
* `getFormArrayContext` helper) will physically move into
|
|
2160
|
+
* `@toolbox-web/grid-angular/features/editing` in v2.0.0; the deprecated
|
|
2161
|
+
* re-exports from the main `@toolbox-web/grid-angular` entry will be removed
|
|
2162
|
+
* at the same time. Consumers should already be importing from the feature
|
|
2163
|
+
* entry.
|
|
2164
|
+
* @since 0.5.0
|
|
1993
2165
|
*/
|
|
1994
2166
|
declare class GridFormArray implements OnInit, OnDestroy {
|
|
1995
2167
|
#private;
|
|
@@ -2054,6 +2226,7 @@ declare class GridFormArray implements OnInit, OnDestroy {
|
|
|
2054
2226
|
* ```
|
|
2055
2227
|
*
|
|
2056
2228
|
* @category Directive
|
|
2229
|
+
* @since 0.13.0
|
|
2057
2230
|
*/
|
|
2058
2231
|
declare class TbwGridHeader {
|
|
2059
2232
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TbwGridHeader, never>;
|
|
@@ -2063,6 +2236,7 @@ declare class TbwGridHeader {
|
|
|
2063
2236
|
/**
|
|
2064
2237
|
* Gets the FormArrayContext from a grid element, if present.
|
|
2065
2238
|
* @internal
|
|
2239
|
+
* @since 0.11.0
|
|
2066
2240
|
*/
|
|
2067
2241
|
declare function getLazyFormContext(gridElement: HTMLElement): FormArrayContext | undefined;
|
|
2068
2242
|
/**
|
|
@@ -2073,10 +2247,12 @@ declare function getLazyFormContext(gridElement: HTMLElement): FormArrayContext
|
|
|
2073
2247
|
* @param row The row data object
|
|
2074
2248
|
* @param rowIndex The row index in the grid
|
|
2075
2249
|
* @returns A FormGroup for the row (only include editable fields)
|
|
2250
|
+
* @since 0.11.0
|
|
2076
2251
|
*/
|
|
2077
2252
|
type LazyFormFactory<TRow = unknown> = (row: TRow, rowIndex: number) => FormGroup;
|
|
2078
2253
|
/**
|
|
2079
2254
|
* Event emitted when a row's form values have changed.
|
|
2255
|
+
* @since 0.11.0
|
|
2080
2256
|
*/
|
|
2081
2257
|
interface RowFormChangeEvent<TRow = unknown> {
|
|
2082
2258
|
/** The row index */
|
|
@@ -2169,6 +2345,14 @@ interface RowFormChangeEvent<TRow = unknown> {
|
|
|
2169
2345
|
*
|
|
2170
2346
|
* @see GridFormArray For small datasets with full upfront validation
|
|
2171
2347
|
* @category Directive
|
|
2348
|
+
*
|
|
2349
|
+
* MOVE-IN-V2: this directive (and its `LazyFormFactory`, `RowFormChangeEvent`
|
|
2350
|
+
* types and `getLazyFormContext` helper) will physically move into
|
|
2351
|
+
* `@toolbox-web/grid-angular/features/editing` in v2.0.0; the deprecated
|
|
2352
|
+
* re-exports from the main `@toolbox-web/grid-angular` entry will be removed
|
|
2353
|
+
* at the same time. Consumers should already be importing from the feature
|
|
2354
|
+
* entry.
|
|
2355
|
+
* @since 0.11.0
|
|
2172
2356
|
*/
|
|
2173
2357
|
declare class GridLazyForm<TRow = unknown> implements OnInit, OnDestroy {
|
|
2174
2358
|
#private;
|
|
@@ -2266,6 +2450,7 @@ declare class GridLazyForm<TRow = unknown> implements OnInit, OnDestroy {
|
|
|
2266
2450
|
* </ng-template>
|
|
2267
2451
|
* </tbw-grid-responsive-card>
|
|
2268
2452
|
* ```
|
|
2453
|
+
* @since 0.4.0
|
|
2269
2454
|
*/
|
|
2270
2455
|
interface GridResponsiveCardContext<TRow = unknown> {
|
|
2271
2456
|
/**
|
|
@@ -2281,6 +2466,14 @@ interface GridResponsiveCardContext<TRow = unknown> {
|
|
|
2281
2466
|
*/
|
|
2282
2467
|
index: number;
|
|
2283
2468
|
}
|
|
2469
|
+
/**
|
|
2470
|
+
* Retrieves the responsive card template for a grid element.
|
|
2471
|
+
*
|
|
2472
|
+
* @param gridElement - The grid element to look up
|
|
2473
|
+
* @returns The template reference or undefined if not found
|
|
2474
|
+
* @since 0.4.0
|
|
2475
|
+
*/
|
|
2476
|
+
declare function getResponsiveCardTemplate(gridElement: HTMLElement): TemplateRef<GridResponsiveCardContext> | undefined;
|
|
2284
2477
|
/**
|
|
2285
2478
|
* Directive for providing custom Angular templates for responsive card layout.
|
|
2286
2479
|
*
|
|
@@ -2313,9 +2506,19 @@ interface GridResponsiveCardContext<TRow = unknown> {
|
|
|
2313
2506
|
*
|
|
2314
2507
|
* @see ResponsivePlugin
|
|
2315
2508
|
* @category Directive
|
|
2509
|
+
* @since 0.4.0
|
|
2316
2510
|
*/
|
|
2317
2511
|
declare class GridResponsiveCard<TRow = unknown> {
|
|
2318
2512
|
private elementRef;
|
|
2513
|
+
/**
|
|
2514
|
+
* Card row height in pixels. Use `'auto'` for dynamic height based on content.
|
|
2515
|
+
*
|
|
2516
|
+
* Mirrors to the `card-row-height` attribute on the underlying
|
|
2517
|
+
* `<tbw-grid-responsive-card>` element which the ResponsivePlugin reads.
|
|
2518
|
+
*
|
|
2519
|
+
* @default 'auto'
|
|
2520
|
+
*/
|
|
2521
|
+
cardRowHeight: _angular_core.InputSignal<number | "auto" | undefined>;
|
|
2319
2522
|
/**
|
|
2320
2523
|
* The ng-template containing the card content.
|
|
2321
2524
|
*/
|
|
@@ -2324,12 +2527,17 @@ declare class GridResponsiveCard<TRow = unknown> {
|
|
|
2324
2527
|
* Effect that registers the template when it becomes available.
|
|
2325
2528
|
*/
|
|
2326
2529
|
private onTemplateReceived;
|
|
2530
|
+
/**
|
|
2531
|
+
* Effect that mirrors the `cardRowHeight` input to the kebab-cased attribute
|
|
2532
|
+
* read by the ResponsivePlugin.
|
|
2533
|
+
*/
|
|
2534
|
+
private onCardRowHeightChange;
|
|
2327
2535
|
/**
|
|
2328
2536
|
* Type guard for template context inference.
|
|
2329
2537
|
*/
|
|
2330
2538
|
static ngTemplateContextGuard<T>(_directive: GridResponsiveCard<T>, context: unknown): context is GridResponsiveCardContext<T>;
|
|
2331
2539
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridResponsiveCard<any>, never>;
|
|
2332
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridResponsiveCard<any>, "tbw-grid-responsive-card", never, {}, {}, ["template"], never, true, never>;
|
|
2540
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridResponsiveCard<any>, "tbw-grid-responsive-card", never, { "cardRowHeight": { "alias": "cardRowHeight"; "required": false; "isSignal": true; }; }, {}, ["template"], never, true, never>;
|
|
2333
2541
|
}
|
|
2334
2542
|
|
|
2335
2543
|
/**
|
|
@@ -2359,6 +2567,7 @@ declare class GridResponsiveCard<TRow = unknown> {
|
|
|
2359
2567
|
* ```
|
|
2360
2568
|
*
|
|
2361
2569
|
* @category Directive
|
|
2570
|
+
* @since 0.13.0
|
|
2362
2571
|
*/
|
|
2363
2572
|
declare class TbwGridToolButtons {
|
|
2364
2573
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TbwGridToolButtons, never>;
|
|
@@ -2368,6 +2577,7 @@ declare class TbwGridToolButtons {
|
|
|
2368
2577
|
/**
|
|
2369
2578
|
* Context object passed to the tool panel template.
|
|
2370
2579
|
* Provides access to grid-related information for the panel content.
|
|
2580
|
+
* @since 0.1.0
|
|
2371
2581
|
*/
|
|
2372
2582
|
interface GridToolPanelContext {
|
|
2373
2583
|
/** The grid element (implicit binding) */
|
|
@@ -2433,6 +2643,7 @@ interface GridToolPanelContext {
|
|
|
2433
2643
|
* ```
|
|
2434
2644
|
*
|
|
2435
2645
|
* @category Directive
|
|
2646
|
+
* @since 0.1.0
|
|
2436
2647
|
*/
|
|
2437
2648
|
declare class GridToolPanel {
|
|
2438
2649
|
private elementRef;
|
|
@@ -2461,8 +2672,70 @@ declare class GridToolPanel {
|
|
|
2461
2672
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridToolPanel, "tbw-grid-tool-panel", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "order": { "alias": "order"; "required": false; "isSignal": true; }; }, {}, ["template"], never, true, never>;
|
|
2462
2673
|
}
|
|
2463
2674
|
|
|
2675
|
+
/**
|
|
2676
|
+
* Column shorthand parsing for `@toolbox-web/grid-angular`.
|
|
2677
|
+
*
|
|
2678
|
+
* Intentionally duplicated across the React, Vue, and Angular adapters so each
|
|
2679
|
+
* adapter has zero shared-runtime dependency. Do not extract into a shared
|
|
2680
|
+
* package: the helpers are tiny (~100 lines), the duplication keeps each
|
|
2681
|
+
* adapter independently tree-shakeable, and a shared package would force
|
|
2682
|
+
* consumers to install an extra dep just to import shorthand support.
|
|
2683
|
+
*
|
|
2684
|
+
* If you change behavior here, mirror the change in `grid-react` and
|
|
2685
|
+
* `grid-vue`. The three implementations are kept byte-equivalent.
|
|
2686
|
+
*/
|
|
2687
|
+
|
|
2688
|
+
/**
|
|
2689
|
+
* Type for column shorthand notation.
|
|
2690
|
+
*
|
|
2691
|
+
* Supports:
|
|
2692
|
+
* - Simple string: `'name'` → `{ field: 'name', header: 'Name' }`
|
|
2693
|
+
* - With type: `'salary:number'` → `{ field: 'salary', header: 'Salary', type: 'number' }`
|
|
2694
|
+
* - Full config object: `{ field: 'id', header: 'ID', width: 80 }` (passed through)
|
|
2695
|
+
*
|
|
2696
|
+
* @example
|
|
2697
|
+
* ```typescript
|
|
2698
|
+
* // All equivalent:
|
|
2699
|
+
* const cols1 = ['id', 'name', 'email'];
|
|
2700
|
+
* const cols2 = ['id:number', 'name:string', 'email'];
|
|
2701
|
+
* const cols3 = [{ field: 'id' }, { field: 'name' }, { field: 'email' }];
|
|
2702
|
+
* ```
|
|
2703
|
+
* @since 1.4.0
|
|
2704
|
+
*/
|
|
2705
|
+
type ColumnShorthand<TRow = unknown> = string | ColumnConfig$1<TRow>;
|
|
2706
|
+
/**
|
|
2707
|
+
* Parse a column shorthand string into a ColumnConfig.
|
|
2708
|
+
*
|
|
2709
|
+
* Supports formats:
|
|
2710
|
+
* - `'fieldName'` → `{ field: 'fieldName', header: 'Field Name' }`
|
|
2711
|
+
* - `'fieldName:type'` → `{ field: 'fieldName', header: 'Field Name', type: 'type' }`
|
|
2712
|
+
*
|
|
2713
|
+
* @param shorthand - The shorthand string (e.g., 'name', 'salary:number')
|
|
2714
|
+
* @returns A ColumnConfig object
|
|
2715
|
+
* @since 1.4.0
|
|
2716
|
+
*/
|
|
2717
|
+
declare function parseColumnShorthand<TRow = unknown>(shorthand: string): ColumnConfig$1<TRow>;
|
|
2718
|
+
/**
|
|
2719
|
+
* Normalize an array of column shorthands to ColumnConfig objects.
|
|
2720
|
+
*
|
|
2721
|
+
* @param columns - Array of column shorthands (strings or ColumnConfig objects)
|
|
2722
|
+
* @returns Array of ColumnConfig objects
|
|
2723
|
+
* @since 1.4.0
|
|
2724
|
+
*/
|
|
2725
|
+
declare function normalizeColumns<TRow = unknown>(columns: ColumnShorthand<TRow>[]): ColumnConfig$1<TRow>[];
|
|
2726
|
+
/**
|
|
2727
|
+
* Apply column defaults to a list of columns. Individual column properties
|
|
2728
|
+
* override defaults.
|
|
2729
|
+
* @since 1.4.0
|
|
2730
|
+
*/
|
|
2731
|
+
declare function applyColumnDefaults<TRow = unknown>(columns: ColumnConfig$1<TRow>[], defaults: Partial<ColumnConfig$1<TRow>> | undefined): ColumnConfig$1<TRow>[];
|
|
2732
|
+
/** Check if an array of columns contains any shorthand strings. * @since 1.4.0
|
|
2733
|
+
*/
|
|
2734
|
+
declare function hasColumnShorthands<TRow>(columns: ColumnShorthand<TRow>[]): boolean;
|
|
2735
|
+
|
|
2464
2736
|
/**
|
|
2465
2737
|
* Event detail for cell commit events.
|
|
2738
|
+
* @since 0.1.1
|
|
2466
2739
|
*/
|
|
2467
2740
|
interface CellCommitEvent<TRow = unknown, TValue = unknown> {
|
|
2468
2741
|
/** The row data object */
|
|
@@ -2482,6 +2755,7 @@ interface CellCommitEvent<TRow = unknown, TValue = unknown> {
|
|
|
2482
2755
|
}
|
|
2483
2756
|
/**
|
|
2484
2757
|
* Event detail for row commit events (bulk editing).
|
|
2758
|
+
* @since 0.1.1
|
|
2485
2759
|
*/
|
|
2486
2760
|
interface RowCommitEvent<TRow = unknown> {
|
|
2487
2761
|
/** The row data object */
|
|
@@ -2530,6 +2804,7 @@ interface RowCommitEvent<TRow = unknown> {
|
|
|
2530
2804
|
* - Handles cleanup on destruction
|
|
2531
2805
|
*
|
|
2532
2806
|
* @category Directive
|
|
2807
|
+
* @since 0.1.0
|
|
2533
2808
|
*/
|
|
2534
2809
|
declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
2535
2810
|
private elementRef;
|
|
@@ -2661,20 +2936,33 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2661
2936
|
/**
|
|
2662
2937
|
* Column configuration array.
|
|
2663
2938
|
*
|
|
2939
|
+
* Accepts either full `ColumnConfig` objects or shorthand strings such as
|
|
2940
|
+
* `'name'` or `'salary:number'`. Shorthands auto-generate human-readable
|
|
2941
|
+
* headers from the field name.
|
|
2942
|
+
*
|
|
2664
2943
|
* Shorthand for setting columns without wrapping them in a full `gridConfig`.
|
|
2665
2944
|
* If both `columns` and `gridConfig.columns` are set, `columns` takes precedence
|
|
2666
2945
|
* (see configuration precedence system).
|
|
2667
2946
|
*
|
|
2668
2947
|
* @example
|
|
2669
2948
|
* ```html
|
|
2670
|
-
* <tbw-grid [rows]="data" [columns]="[
|
|
2671
|
-
* { field: 'id', header: 'ID', pinned: 'left', width: 80 },
|
|
2672
|
-
* { field: 'name', header: 'Name' },
|
|
2673
|
-
* { field: 'email', header: 'Email' }
|
|
2674
|
-
* ]" />
|
|
2949
|
+
* <tbw-grid [rows]="data" [columns]="['id:number', 'name', { field: 'status', editable: true }]" />
|
|
2675
2950
|
* ```
|
|
2676
2951
|
*/
|
|
2677
|
-
columns: _angular_core.InputSignal<
|
|
2952
|
+
columns: _angular_core.InputSignal<ColumnShorthand<any>[] | undefined>;
|
|
2953
|
+
/**
|
|
2954
|
+
* Default column properties applied to every column in `columns`.
|
|
2955
|
+
* Individual column properties override these defaults.
|
|
2956
|
+
*
|
|
2957
|
+
* @example
|
|
2958
|
+
* ```html
|
|
2959
|
+
* <tbw-grid
|
|
2960
|
+
* [columnDefaults]="{ sortable: true, resizable: true }"
|
|
2961
|
+
* [columns]="[{ field: 'id', sortable: false }, { field: 'name' }]"
|
|
2962
|
+
* />
|
|
2963
|
+
* ```
|
|
2964
|
+
*/
|
|
2965
|
+
columnDefaults: _angular_core.InputSignal<Partial<ColumnConfig<any>> | undefined>;
|
|
2678
2966
|
/**
|
|
2679
2967
|
* Column sizing strategy.
|
|
2680
2968
|
*
|
|
@@ -2744,6 +3032,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2744
3032
|
* <!-- Full config object -->
|
|
2745
3033
|
* <tbw-grid [selection]="{ mode: 'range', checkbox: true }" />
|
|
2746
3034
|
* ```
|
|
3035
|
+
*
|
|
3036
|
+
* @deprecated Use `GridSelectionDirective` from
|
|
3037
|
+
* `@toolbox-web/grid-angular/features/selection`. Will be removed in v2.0.0.
|
|
2747
3038
|
*/
|
|
2748
3039
|
selection: _angular_core.InputSignal<"row" | SelectionConfig<any> | "cell" | "range" | undefined>;
|
|
2749
3040
|
/**
|
|
@@ -2767,6 +3058,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2767
3058
|
* <!-- Full config with callbacks -->
|
|
2768
3059
|
* <tbw-grid [editing]="{ editOn: 'dblclick', onBeforeEditClose: myCallback }" />
|
|
2769
3060
|
* ```
|
|
3061
|
+
*
|
|
3062
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3063
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
2770
3064
|
*/
|
|
2771
3065
|
editing: _angular_core.InputSignal<boolean | "click" | "dblclick" | "manual" | EditingConfig | undefined>;
|
|
2772
3066
|
/**
|
|
@@ -2781,6 +3075,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2781
3075
|
* ```html
|
|
2782
3076
|
* <tbw-grid [selection]="'range'" [clipboard]="true" />
|
|
2783
3077
|
* ```
|
|
3078
|
+
*
|
|
3079
|
+
* @deprecated Use `GridClipboardDirective` from
|
|
3080
|
+
* `@toolbox-web/grid-angular/features/clipboard`. Will be removed in v2.0.0.
|
|
2784
3081
|
*/
|
|
2785
3082
|
clipboard: _angular_core.InputSignal<boolean | ClipboardConfig | undefined>;
|
|
2786
3083
|
/**
|
|
@@ -2795,6 +3092,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2795
3092
|
* ```html
|
|
2796
3093
|
* <tbw-grid [contextMenu]="true" />
|
|
2797
3094
|
* ```
|
|
3095
|
+
*
|
|
3096
|
+
* @deprecated Use `GridContextMenuDirective` from
|
|
3097
|
+
* `@toolbox-web/grid-angular/features/context-menu`. Will be removed in v2.0.0.
|
|
2798
3098
|
*/
|
|
2799
3099
|
contextMenu: _angular_core.InputSignal<boolean | ContextMenuConfig | undefined>;
|
|
2800
3100
|
/**
|
|
@@ -2819,6 +3119,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2819
3119
|
* <!-- Full config -->
|
|
2820
3120
|
* <tbw-grid [multiSort]="{ maxSortColumns: 3 }" />
|
|
2821
3121
|
* ```
|
|
3122
|
+
*
|
|
3123
|
+
* @deprecated Use `GridMultiSortDirective` from
|
|
3124
|
+
* `@toolbox-web/grid-angular/features/multi-sort`. Will be removed in v2.0.0.
|
|
2822
3125
|
*/
|
|
2823
3126
|
multiSort: _angular_core.InputSignal<boolean | "multi" | MultiSortConfig | "single" | undefined>;
|
|
2824
3127
|
/**
|
|
@@ -2834,6 +3137,13 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2834
3137
|
* <tbw-grid [filtering]="true" />
|
|
2835
3138
|
* <tbw-grid [filtering]="{ debounceMs: 200 }" />
|
|
2836
3139
|
* ```
|
|
3140
|
+
*
|
|
3141
|
+
* @deprecated Use `GridFilteringDirective` from
|
|
3142
|
+
* `@toolbox-web/grid-angular/features/filtering` and add it to your
|
|
3143
|
+
* component's `imports`. The directive owns the `filtering` input + the
|
|
3144
|
+
* `filterChange` output and lets the typed surface tree-shake away when
|
|
3145
|
+
* the feature is not imported. This input remains as a non-breaking shim
|
|
3146
|
+
* and will be removed in v2.0.0.
|
|
2837
3147
|
*/
|
|
2838
3148
|
filtering: _angular_core.InputSignal<boolean | FilterConfig<any> | undefined>;
|
|
2839
3149
|
/**
|
|
@@ -2848,6 +3158,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2848
3158
|
* ```html
|
|
2849
3159
|
* <tbw-grid [reorderColumns]="true" />
|
|
2850
3160
|
* ```
|
|
3161
|
+
*
|
|
3162
|
+
* @deprecated Use `GridReorderColumnsDirective` from
|
|
3163
|
+
* `@toolbox-web/grid-angular/features/reorder-columns`. Will be removed in v2.0.0.
|
|
2851
3164
|
*/
|
|
2852
3165
|
reorderColumns: _angular_core.InputSignal<boolean | ReorderConfig | undefined>;
|
|
2853
3166
|
/**
|
|
@@ -2862,6 +3175,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2862
3175
|
* ```html
|
|
2863
3176
|
* <tbw-grid [visibility]="true" />
|
|
2864
3177
|
* ```
|
|
3178
|
+
*
|
|
3179
|
+
* @deprecated Use `GridVisibilityDirective` from
|
|
3180
|
+
* `@toolbox-web/grid-angular/features/visibility`. Will be removed in v2.0.0.
|
|
2865
3181
|
*/
|
|
2866
3182
|
visibility: _angular_core.InputSignal<boolean | VisibilityConfig | undefined>;
|
|
2867
3183
|
/**
|
|
@@ -2881,6 +3197,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2881
3197
|
* { field: 'actions', pinned: 'right' }
|
|
2882
3198
|
* ]" />
|
|
2883
3199
|
* ```
|
|
3200
|
+
*
|
|
3201
|
+
* @deprecated Use `GridPinnedColumnsDirective` from
|
|
3202
|
+
* `@toolbox-web/grid-angular/features/pinned-columns`. Will be removed in v2.0.0.
|
|
2884
3203
|
*/
|
|
2885
3204
|
pinnedColumns: _angular_core.InputSignal<boolean | undefined>;
|
|
2886
3205
|
/**
|
|
@@ -2895,8 +3214,11 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2895
3214
|
* ```html
|
|
2896
3215
|
* <tbw-grid [groupingColumns]="true" />
|
|
2897
3216
|
* ```
|
|
3217
|
+
*
|
|
3218
|
+
* @deprecated Use `GridGroupingColumnsDirective` from
|
|
3219
|
+
* `@toolbox-web/grid-angular/features/grouping-columns`. Will be removed in v2.0.0.
|
|
2898
3220
|
*/
|
|
2899
|
-
groupingColumns: _angular_core.InputSignal<boolean | GroupingColumnsConfig
|
|
3221
|
+
groupingColumns: _angular_core.InputSignal<boolean | GroupingColumnsConfig | undefined>;
|
|
2900
3222
|
/**
|
|
2901
3223
|
* Enable horizontal column virtualization for wide grids.
|
|
2902
3224
|
*
|
|
@@ -2909,6 +3231,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2909
3231
|
* ```html
|
|
2910
3232
|
* <tbw-grid [columnVirtualization]="true" />
|
|
2911
3233
|
* ```
|
|
3234
|
+
*
|
|
3235
|
+
* @deprecated Use `GridColumnVirtualizationDirective` from
|
|
3236
|
+
* `@toolbox-web/grid-angular/features/column-virtualization`. Will be removed in v2.0.0.
|
|
2912
3237
|
*/
|
|
2913
3238
|
columnVirtualization: _angular_core.InputSignal<boolean | ColumnVirtualizationConfig | undefined>;
|
|
2914
3239
|
/**
|
|
@@ -2934,6 +3259,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2934
3259
|
* ```html
|
|
2935
3260
|
* <tbw-grid [rowDragDrop]="{ dropZone: 'employees', operation: 'move' }" />
|
|
2936
3261
|
* ```
|
|
3262
|
+
*
|
|
3263
|
+
* @deprecated Use `GridRowDragDropDirective` from
|
|
3264
|
+
* `@toolbox-web/grid-angular/features/row-drag-drop`. Will be removed in v2.0.0.
|
|
2937
3265
|
*/
|
|
2938
3266
|
rowDragDrop: _angular_core.InputSignal<boolean | RowDragDropConfig<any> | undefined>;
|
|
2939
3267
|
/**
|
|
@@ -2948,8 +3276,11 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2948
3276
|
* ```html
|
|
2949
3277
|
* <tbw-grid [groupingRows]="{ groupBy: ['department'] }" />
|
|
2950
3278
|
* ```
|
|
3279
|
+
*
|
|
3280
|
+
* @deprecated Use `GridGroupingRowsDirective` from
|
|
3281
|
+
* `@toolbox-web/grid-angular/features/grouping-rows`. Will be removed in v2.0.0.
|
|
2951
3282
|
*/
|
|
2952
|
-
groupingRows: _angular_core.InputSignal<GroupingRowsConfig
|
|
3283
|
+
groupingRows: _angular_core.InputSignal<GroupingRowsConfig | undefined>;
|
|
2953
3284
|
/**
|
|
2954
3285
|
* Enable pinned rows (aggregation/status bar).
|
|
2955
3286
|
*
|
|
@@ -2962,8 +3293,11 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2962
3293
|
* ```html
|
|
2963
3294
|
* <tbw-grid [pinnedRows]="{ bottom: [{ type: 'aggregation' }] }" />
|
|
2964
3295
|
* ```
|
|
3296
|
+
*
|
|
3297
|
+
* @deprecated Use `GridPinnedRowsDirective` from
|
|
3298
|
+
* `@toolbox-web/grid-angular/features/pinned-rows`. Will be removed in v2.0.0.
|
|
2965
3299
|
*/
|
|
2966
|
-
pinnedRows: _angular_core.InputSignal<boolean | PinnedRowsConfig
|
|
3300
|
+
pinnedRows: _angular_core.InputSignal<boolean | PinnedRowsConfig | undefined>;
|
|
2967
3301
|
/**
|
|
2968
3302
|
* Enable hierarchical tree view.
|
|
2969
3303
|
*
|
|
@@ -2976,6 +3310,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2976
3310
|
* ```html
|
|
2977
3311
|
* <tbw-grid [tree]="{ childrenField: 'children' }" />
|
|
2978
3312
|
* ```
|
|
3313
|
+
*
|
|
3314
|
+
* @deprecated Use `GridTreeDirective` from
|
|
3315
|
+
* `@toolbox-web/grid-angular/features/tree`. Will be removed in v2.0.0.
|
|
2979
3316
|
*/
|
|
2980
3317
|
tree: _angular_core.InputSignal<boolean | TreeConfig | undefined>;
|
|
2981
3318
|
/**
|
|
@@ -2990,6 +3327,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2990
3327
|
* ```html
|
|
2991
3328
|
* <tbw-grid [masterDetail]="{ detailRenderer: detailFn }" />
|
|
2992
3329
|
* ```
|
|
3330
|
+
*
|
|
3331
|
+
* @deprecated Use `GridMasterDetailDirective` from
|
|
3332
|
+
* `@toolbox-web/grid-angular/features/master-detail`. Will be removed in v2.0.0.
|
|
2993
3333
|
*/
|
|
2994
3334
|
masterDetail: _angular_core.InputSignal<MasterDetailConfig | undefined>;
|
|
2995
3335
|
/**
|
|
@@ -3004,6 +3344,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3004
3344
|
* ```html
|
|
3005
3345
|
* <tbw-grid [responsive]="{ breakpoint: 768 }" />
|
|
3006
3346
|
* ```
|
|
3347
|
+
*
|
|
3348
|
+
* @deprecated Use `GridResponsiveDirective` from
|
|
3349
|
+
* `@toolbox-web/grid-angular/features/responsive`. Will be removed in v2.0.0.
|
|
3007
3350
|
*/
|
|
3008
3351
|
responsive: _angular_core.InputSignal<boolean | ResponsivePluginConfig<unknown> | undefined>;
|
|
3009
3352
|
/**
|
|
@@ -3018,6 +3361,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3018
3361
|
* ```html
|
|
3019
3362
|
* <tbw-grid [editing]="'dblclick'" [undoRedo]="true" />
|
|
3020
3363
|
* ```
|
|
3364
|
+
*
|
|
3365
|
+
* @deprecated Use `GridUndoRedoDirective` from
|
|
3366
|
+
* `@toolbox-web/grid-angular/features/undo-redo`. Will be removed in v2.0.0.
|
|
3021
3367
|
*/
|
|
3022
3368
|
undoRedo: _angular_core.InputSignal<boolean | UndoRedoConfig | undefined>;
|
|
3023
3369
|
/**
|
|
@@ -3033,6 +3379,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3033
3379
|
* <tbw-grid [export]="true" />
|
|
3034
3380
|
* <tbw-grid [export]="{ filename: 'data.csv' }" />
|
|
3035
3381
|
* ```
|
|
3382
|
+
*
|
|
3383
|
+
* @deprecated Use `GridExportDirective` from
|
|
3384
|
+
* `@toolbox-web/grid-angular/features/export`. Will be removed in v2.0.0.
|
|
3036
3385
|
*/
|
|
3037
3386
|
exportFeature: _angular_core.InputSignal<boolean | ExportConfig | undefined>;
|
|
3038
3387
|
/**
|
|
@@ -3047,6 +3396,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3047
3396
|
* ```html
|
|
3048
3397
|
* <tbw-grid [print]="true" />
|
|
3049
3398
|
* ```
|
|
3399
|
+
*
|
|
3400
|
+
* @deprecated Use `GridPrintDirective` from
|
|
3401
|
+
* `@toolbox-web/grid-angular/features/print`. Will be removed in v2.0.0.
|
|
3050
3402
|
*/
|
|
3051
3403
|
print: _angular_core.InputSignal<boolean | PrintConfig | undefined>;
|
|
3052
3404
|
/**
|
|
@@ -3061,6 +3413,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3061
3413
|
* ```html
|
|
3062
3414
|
* <tbw-grid [pivot]="{ rowFields: ['category'], valueField: 'sales' }" />
|
|
3063
3415
|
* ```
|
|
3416
|
+
*
|
|
3417
|
+
* @deprecated Use `GridPivotDirective` from
|
|
3418
|
+
* `@toolbox-web/grid-angular/features/pivot`. Will be removed in v2.0.0.
|
|
3064
3419
|
*/
|
|
3065
3420
|
pivot: _angular_core.InputSignal<PivotConfig | undefined>;
|
|
3066
3421
|
/**
|
|
@@ -3075,6 +3430,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3075
3430
|
* ```html
|
|
3076
3431
|
* <tbw-grid [serverSide]="{ dataSource: fetchDataFn }" />
|
|
3077
3432
|
* ```
|
|
3433
|
+
*
|
|
3434
|
+
* @deprecated Use `GridServerSideDirective` from
|
|
3435
|
+
* `@toolbox-web/grid-angular/features/server-side`. Will be removed in v2.0.0.
|
|
3078
3436
|
*/
|
|
3079
3437
|
serverSide: _angular_core.InputSignal<ServerSideConfig | undefined>;
|
|
3080
3438
|
/**
|
|
@@ -3085,6 +3443,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3085
3443
|
* <tbw-grid [tooltip]="true" />
|
|
3086
3444
|
* <tbw-grid [tooltip]="{ header: true, cell: false }" />
|
|
3087
3445
|
* ```
|
|
3446
|
+
*
|
|
3447
|
+
* @deprecated Use `GridTooltipDirective` from
|
|
3448
|
+
* `@toolbox-web/grid-angular/features/tooltip`. Will be removed in v2.0.0.
|
|
3088
3449
|
*/
|
|
3089
3450
|
tooltip: _angular_core.InputSignal<boolean | TooltipConfig | undefined>;
|
|
3090
3451
|
/**
|
|
@@ -3137,8 +3498,81 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3137
3498
|
* console.log(`Changed ${event.field} to ${event.value} in row ${event.rowIndex}`);
|
|
3138
3499
|
* }
|
|
3139
3500
|
* ```
|
|
3501
|
+
*
|
|
3502
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3503
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
3140
3504
|
*/
|
|
3141
3505
|
cellCommit: _angular_core.OutputEmitterRef<CellCommitEvent<unknown, unknown>>;
|
|
3506
|
+
/**
|
|
3507
|
+
* Emitted when a cell edit is cancelled (Escape, click outside without
|
|
3508
|
+
* commit, or `editor.cancel()`).
|
|
3509
|
+
*
|
|
3510
|
+
* @example
|
|
3511
|
+
* ```html
|
|
3512
|
+
* <tbw-grid (cellCancel)="onCellCancel($event)">...</tbw-grid>
|
|
3513
|
+
* ```
|
|
3514
|
+
*
|
|
3515
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3516
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
3517
|
+
*/
|
|
3518
|
+
cellCancel: _angular_core.OutputEmitterRef<CellCancelDetail>;
|
|
3519
|
+
/**
|
|
3520
|
+
* Emitted when a cell editor opens.
|
|
3521
|
+
*
|
|
3522
|
+
* @example
|
|
3523
|
+
* ```html
|
|
3524
|
+
* <tbw-grid (editOpen)="onEditOpen($event)">...</tbw-grid>
|
|
3525
|
+
* ```
|
|
3526
|
+
*
|
|
3527
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3528
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
3529
|
+
*/
|
|
3530
|
+
editOpen: _angular_core.OutputEmitterRef<EditOpenDetail<any>>;
|
|
3531
|
+
/**
|
|
3532
|
+
* Emitted before an editor closes. Useful for last-chance validation.
|
|
3533
|
+
*
|
|
3534
|
+
* @example
|
|
3535
|
+
* ```html
|
|
3536
|
+
* <tbw-grid (beforeEditClose)="onBeforeEditClose($event)">...</tbw-grid>
|
|
3537
|
+
* ```
|
|
3538
|
+
*
|
|
3539
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3540
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
3541
|
+
*/
|
|
3542
|
+
beforeEditClose: _angular_core.OutputEmitterRef<BeforeEditCloseDetail<any>>;
|
|
3543
|
+
/**
|
|
3544
|
+
* Emitted after an editor closes (whether committed or cancelled).
|
|
3545
|
+
*
|
|
3546
|
+
* @example
|
|
3547
|
+
* ```html
|
|
3548
|
+
* <tbw-grid (editClose)="onEditClose($event)">...</tbw-grid>
|
|
3549
|
+
* ```
|
|
3550
|
+
*
|
|
3551
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3552
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
3553
|
+
*/
|
|
3554
|
+
editClose: _angular_core.OutputEmitterRef<EditCloseDetail<any>>;
|
|
3555
|
+
/**
|
|
3556
|
+
* Emitted when the dirty / changed-rows state transitions.
|
|
3557
|
+
*
|
|
3558
|
+
* @example
|
|
3559
|
+
* ```html
|
|
3560
|
+
* <tbw-grid (dirtyChange)="onDirtyChange($event)">...</tbw-grid>
|
|
3561
|
+
* ```
|
|
3562
|
+
*
|
|
3563
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3564
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
3565
|
+
*/
|
|
3566
|
+
dirtyChange: _angular_core.OutputEmitterRef<DirtyChangeDetail<any>>;
|
|
3567
|
+
/**
|
|
3568
|
+
* Emitted when row data is replaced (e.g. via the `rows` setter).
|
|
3569
|
+
*
|
|
3570
|
+
* @example
|
|
3571
|
+
* ```html
|
|
3572
|
+
* <tbw-grid (dataChange)="onDataChange($event)">...</tbw-grid>
|
|
3573
|
+
* ```
|
|
3574
|
+
*/
|
|
3575
|
+
dataChange: _angular_core.OutputEmitterRef<DataChangeDetail>;
|
|
3142
3576
|
/**
|
|
3143
3577
|
* Emitted when a row's values are committed (bulk/row editing).
|
|
3144
3578
|
* Provides the row data and change tracking information.
|
|
@@ -3147,6 +3581,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3147
3581
|
* ```html
|
|
3148
3582
|
* <tbw-grid (rowCommit)="onRowCommit($event)">...</tbw-grid>
|
|
3149
3583
|
* ```
|
|
3584
|
+
*
|
|
3585
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3586
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
3150
3587
|
*/
|
|
3151
3588
|
rowCommit: _angular_core.OutputEmitterRef<RowCommitEvent<unknown>>;
|
|
3152
3589
|
/**
|
|
@@ -3156,6 +3593,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3156
3593
|
* ```html
|
|
3157
3594
|
* <tbw-grid (changedRowsReset)="onChangedRowsReset($event)">...</tbw-grid>
|
|
3158
3595
|
* ```
|
|
3596
|
+
*
|
|
3597
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3598
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
3159
3599
|
*/
|
|
3160
3600
|
changedRowsReset: _angular_core.OutputEmitterRef<ChangedRowsResetDetail<unknown>>;
|
|
3161
3601
|
/**
|
|
@@ -3174,6 +3614,11 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3174
3614
|
* ```html
|
|
3175
3615
|
* <tbw-grid (filterChange)="onFilterChange($event)">...</tbw-grid>
|
|
3176
3616
|
* ```
|
|
3617
|
+
*
|
|
3618
|
+
* @deprecated Use `GridFilteringDirective` from
|
|
3619
|
+
* `@toolbox-web/grid-angular/features/filtering` (the directive
|
|
3620
|
+
* declares the `(filterChange)` output). This output remains as a
|
|
3621
|
+
* non-breaking shim and will be removed in v2.0.0.
|
|
3177
3622
|
*/
|
|
3178
3623
|
filterChange: _angular_core.OutputEmitterRef<FilterChangeDetail>;
|
|
3179
3624
|
/**
|
|
@@ -3185,6 +3630,15 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3185
3630
|
* ```
|
|
3186
3631
|
*/
|
|
3187
3632
|
columnResize: _angular_core.OutputEmitterRef<ColumnResizeDetail>;
|
|
3633
|
+
/**
|
|
3634
|
+
* Emitted when a column's width is reset (double-click on the resize handle).
|
|
3635
|
+
*
|
|
3636
|
+
* @example
|
|
3637
|
+
* ```html
|
|
3638
|
+
* <tbw-grid (columnResizeReset)="onColumnResizeReset($event)">...</tbw-grid>
|
|
3639
|
+
* ```
|
|
3640
|
+
*/
|
|
3641
|
+
columnResizeReset: _angular_core.OutputEmitterRef<ColumnResizeResetDetail>;
|
|
3188
3642
|
/**
|
|
3189
3643
|
* Emitted when a column is moved via drag-and-drop.
|
|
3190
3644
|
*
|
|
@@ -3192,15 +3646,23 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3192
3646
|
* ```html
|
|
3193
3647
|
* <tbw-grid (columnMove)="onColumnMove($event)">...</tbw-grid>
|
|
3194
3648
|
* ```
|
|
3649
|
+
*
|
|
3650
|
+
* @deprecated Use `GridReorderColumnsDirective` from
|
|
3651
|
+
* `@toolbox-web/grid-angular/features/reorder-columns`. Will be removed in v2.0.0.
|
|
3195
3652
|
*/
|
|
3196
3653
|
columnMove: _angular_core.OutputEmitterRef<ColumnMoveDetail>;
|
|
3197
3654
|
/**
|
|
3198
|
-
* Emitted when column visibility
|
|
3655
|
+
* Emitted when a column is shown or hidden — either via the visibility
|
|
3656
|
+
* sidebar, `grid.toggleColumnVisibility(field)`, `grid.setColumnVisible(field, visible)`,
|
|
3657
|
+
* or `grid.showAllColumns()`.
|
|
3199
3658
|
*
|
|
3200
3659
|
* @example
|
|
3201
3660
|
* ```html
|
|
3202
3661
|
* <tbw-grid (columnVisibility)="onColumnVisibility($event)">...</tbw-grid>
|
|
3203
3662
|
* ```
|
|
3663
|
+
*
|
|
3664
|
+
* @deprecated Use `GridVisibilityDirective` from
|
|
3665
|
+
* `@toolbox-web/grid-angular/features/visibility`. Will be removed in v2.0.0.
|
|
3204
3666
|
*/
|
|
3205
3667
|
columnVisibility: _angular_core.OutputEmitterRef<ColumnVisibilityDetail>;
|
|
3206
3668
|
/**
|
|
@@ -3219,6 +3681,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3219
3681
|
* ```html
|
|
3220
3682
|
* <tbw-grid (selectionChange)="onSelectionChange($event)">...</tbw-grid>
|
|
3221
3683
|
* ```
|
|
3684
|
+
*
|
|
3685
|
+
* @deprecated Use `GridSelectionDirective` from
|
|
3686
|
+
* `@toolbox-web/grid-angular/features/selection`. Will be removed in v2.0.0.
|
|
3222
3687
|
*/
|
|
3223
3688
|
selectionChange: _angular_core.OutputEmitterRef<SelectionChangeDetail>;
|
|
3224
3689
|
/**
|
|
@@ -3228,6 +3693,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3228
3693
|
* ```html
|
|
3229
3694
|
* <tbw-grid (rowMove)="onRowMove($event)">...</tbw-grid>
|
|
3230
3695
|
* ```
|
|
3696
|
+
*
|
|
3697
|
+
* @deprecated Use `GridRowDragDropDirective` from
|
|
3698
|
+
* `@toolbox-web/grid-angular/features/row-drag-drop`. Will be removed in v2.0.0.
|
|
3231
3699
|
*/
|
|
3232
3700
|
rowMove: _angular_core.OutputEmitterRef<RowMoveDetail<any>>;
|
|
3233
3701
|
/**
|
|
@@ -3237,20 +3705,32 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3237
3705
|
* ```html
|
|
3238
3706
|
* <tbw-grid (rowDragStart)="onRowDragStart($event)">...</tbw-grid>
|
|
3239
3707
|
* ```
|
|
3708
|
+
*
|
|
3709
|
+
* @deprecated Use `GridRowDragDropDirective` from
|
|
3710
|
+
* `@toolbox-web/grid-angular/features/row-drag-drop`. Will be removed in v2.0.0.
|
|
3240
3711
|
*/
|
|
3241
3712
|
rowDragStart: _angular_core.OutputEmitterRef<RowDragStartDetail<any>>;
|
|
3242
3713
|
/**
|
|
3243
3714
|
* Emitted when a row drag ends (after drop or cancel).
|
|
3715
|
+
*
|
|
3716
|
+
* @deprecated Use `GridRowDragDropDirective` from
|
|
3717
|
+
* `@toolbox-web/grid-angular/features/row-drag-drop`. Will be removed in v2.0.0.
|
|
3244
3718
|
*/
|
|
3245
3719
|
rowDragEnd: _angular_core.OutputEmitterRef<RowDragEndDetail<any>>;
|
|
3246
3720
|
/**
|
|
3247
3721
|
* Emitted on the target grid when rows are dropped from another grid.
|
|
3248
3722
|
* Cancelable via `event.preventDefault()`.
|
|
3723
|
+
*
|
|
3724
|
+
* @deprecated Use `GridRowDragDropDirective` from
|
|
3725
|
+
* `@toolbox-web/grid-angular/features/row-drag-drop`. Will be removed in v2.0.0.
|
|
3249
3726
|
*/
|
|
3250
3727
|
rowDrop: _angular_core.OutputEmitterRef<RowDropDetail<any>>;
|
|
3251
3728
|
/**
|
|
3252
3729
|
* Emitted on BOTH source and target grids after a successful cross-grid
|
|
3253
3730
|
* row transfer.
|
|
3731
|
+
*
|
|
3732
|
+
* @deprecated Use `GridRowDragDropDirective` from
|
|
3733
|
+
* `@toolbox-web/grid-angular/features/row-drag-drop`. Will be removed in v2.0.0.
|
|
3254
3734
|
*/
|
|
3255
3735
|
rowTransfer: _angular_core.OutputEmitterRef<RowTransferDetail<any>>;
|
|
3256
3736
|
/**
|
|
@@ -3260,8 +3740,35 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3260
3740
|
* ```html
|
|
3261
3741
|
* <tbw-grid (groupToggle)="onGroupToggle($event)">...</tbw-grid>
|
|
3262
3742
|
* ```
|
|
3743
|
+
*
|
|
3744
|
+
* @deprecated Use `GridGroupingRowsDirective` from
|
|
3745
|
+
* `@toolbox-web/grid-angular/features/grouping-rows`. Will be removed in v2.0.0.
|
|
3263
3746
|
*/
|
|
3264
3747
|
groupToggle: _angular_core.OutputEmitterRef<GroupToggleDetail>;
|
|
3748
|
+
/**
|
|
3749
|
+
* Emitted when a group is expanded.
|
|
3750
|
+
*
|
|
3751
|
+
* @example
|
|
3752
|
+
* ```html
|
|
3753
|
+
* <tbw-grid (groupExpand)="onGroupExpand($event)">...</tbw-grid>
|
|
3754
|
+
* ```
|
|
3755
|
+
*
|
|
3756
|
+
* @deprecated Use `GridGroupingRowsDirective` from
|
|
3757
|
+
* `@toolbox-web/grid-angular/features/grouping-rows`. Will be removed in v2.0.0.
|
|
3758
|
+
*/
|
|
3759
|
+
groupExpand: _angular_core.OutputEmitterRef<GroupExpandDetail>;
|
|
3760
|
+
/**
|
|
3761
|
+
* Emitted when a group is collapsed.
|
|
3762
|
+
*
|
|
3763
|
+
* @example
|
|
3764
|
+
* ```html
|
|
3765
|
+
* <tbw-grid (groupCollapse)="onGroupCollapse($event)">...</tbw-grid>
|
|
3766
|
+
* ```
|
|
3767
|
+
*
|
|
3768
|
+
* @deprecated Use `GridGroupingRowsDirective` from
|
|
3769
|
+
* `@toolbox-web/grid-angular/features/grouping-rows`. Will be removed in v2.0.0.
|
|
3770
|
+
*/
|
|
3771
|
+
groupCollapse: _angular_core.OutputEmitterRef<GroupCollapseDetail>;
|
|
3265
3772
|
/**
|
|
3266
3773
|
* Emitted when a tree node is expanded.
|
|
3267
3774
|
*
|
|
@@ -3269,6 +3776,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3269
3776
|
* ```html
|
|
3270
3777
|
* <tbw-grid (treeExpand)="onTreeExpand($event)">...</tbw-grid>
|
|
3271
3778
|
* ```
|
|
3779
|
+
*
|
|
3780
|
+
* @deprecated Use `GridTreeDirective` from
|
|
3781
|
+
* `@toolbox-web/grid-angular/features/tree`. Will be removed in v2.0.0.
|
|
3272
3782
|
*/
|
|
3273
3783
|
treeExpand: _angular_core.OutputEmitterRef<TreeExpandDetail<any>>;
|
|
3274
3784
|
/**
|
|
@@ -3278,6 +3788,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3278
3788
|
* ```html
|
|
3279
3789
|
* <tbw-grid (detailExpand)="onDetailExpand($event)">...</tbw-grid>
|
|
3280
3790
|
* ```
|
|
3791
|
+
*
|
|
3792
|
+
* @deprecated Use `GridMasterDetailDirective` from
|
|
3793
|
+
* `@toolbox-web/grid-angular/features/master-detail`. Will be removed in v2.0.0.
|
|
3281
3794
|
*/
|
|
3282
3795
|
detailExpand: _angular_core.OutputEmitterRef<DetailExpandDetail>;
|
|
3283
3796
|
/**
|
|
@@ -3287,8 +3800,23 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3287
3800
|
* ```html
|
|
3288
3801
|
* <tbw-grid (responsiveChange)="onResponsiveChange($event)">...</tbw-grid>
|
|
3289
3802
|
* ```
|
|
3803
|
+
*
|
|
3804
|
+
* @deprecated Use `GridResponsiveDirective` from
|
|
3805
|
+
* `@toolbox-web/grid-angular/features/responsive`. Will be removed in v2.0.0.
|
|
3290
3806
|
*/
|
|
3291
3807
|
responsiveChange: _angular_core.OutputEmitterRef<ResponsiveChangeDetail>;
|
|
3808
|
+
/**
|
|
3809
|
+
* Emitted when the context menu opens.
|
|
3810
|
+
*
|
|
3811
|
+
* @example
|
|
3812
|
+
* ```html
|
|
3813
|
+
* <tbw-grid (contextMenuOpen)="onContextMenuOpen($event)">...</tbw-grid>
|
|
3814
|
+
* ```
|
|
3815
|
+
*
|
|
3816
|
+
* @deprecated Use `GridContextMenuDirective` from
|
|
3817
|
+
* `@toolbox-web/grid-angular/features/context-menu`. Will be removed in v2.0.0.
|
|
3818
|
+
*/
|
|
3819
|
+
contextMenuOpen: _angular_core.OutputEmitterRef<ContextMenuOpenDetail>;
|
|
3292
3820
|
/**
|
|
3293
3821
|
* Emitted when cells are copied to clipboard.
|
|
3294
3822
|
*
|
|
@@ -3296,6 +3824,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3296
3824
|
* ```html
|
|
3297
3825
|
* <tbw-grid (copy)="onCopy($event)">...</tbw-grid>
|
|
3298
3826
|
* ```
|
|
3827
|
+
*
|
|
3828
|
+
* @deprecated Use `GridClipboardDirective` from
|
|
3829
|
+
* `@toolbox-web/grid-angular/features/clipboard`. Will be removed in v2.0.0.
|
|
3299
3830
|
*/
|
|
3300
3831
|
copy: _angular_core.OutputEmitterRef<CopyDetail>;
|
|
3301
3832
|
/**
|
|
@@ -3305,17 +3836,35 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3305
3836
|
* ```html
|
|
3306
3837
|
* <tbw-grid (paste)="onPaste($event)">...</tbw-grid>
|
|
3307
3838
|
* ```
|
|
3839
|
+
*
|
|
3840
|
+
* @deprecated Use `GridClipboardDirective` from
|
|
3841
|
+
* `@toolbox-web/grid-angular/features/clipboard`. Will be removed in v2.0.0.
|
|
3308
3842
|
*/
|
|
3309
3843
|
paste: _angular_core.OutputEmitterRef<PasteDetail>;
|
|
3310
3844
|
/**
|
|
3311
|
-
* Emitted when undo
|
|
3845
|
+
* Emitted when an undo action is performed.
|
|
3312
3846
|
*
|
|
3313
3847
|
* @example
|
|
3314
3848
|
* ```html
|
|
3315
|
-
* <tbw-grid (
|
|
3849
|
+
* <tbw-grid (undo)="onUndo($event)">...</tbw-grid>
|
|
3316
3850
|
* ```
|
|
3851
|
+
*
|
|
3852
|
+
* @deprecated Use `GridUndoRedoDirective` from
|
|
3853
|
+
* `@toolbox-web/grid-angular/features/undo-redo`. Will be removed in v2.0.0.
|
|
3317
3854
|
*/
|
|
3318
|
-
|
|
3855
|
+
undo: _angular_core.OutputEmitterRef<UndoRedoDetail>;
|
|
3856
|
+
/**
|
|
3857
|
+
* Emitted when a redo action is performed.
|
|
3858
|
+
*
|
|
3859
|
+
* @example
|
|
3860
|
+
* ```html
|
|
3861
|
+
* <tbw-grid (redo)="onRedo($event)">...</tbw-grid>
|
|
3862
|
+
* ```
|
|
3863
|
+
*
|
|
3864
|
+
* @deprecated Use `GridUndoRedoDirective` from
|
|
3865
|
+
* `@toolbox-web/grid-angular/features/undo-redo`. Will be removed in v2.0.0.
|
|
3866
|
+
*/
|
|
3867
|
+
redo: _angular_core.OutputEmitterRef<UndoRedoDetail>;
|
|
3319
3868
|
/**
|
|
3320
3869
|
* Emitted when export completes.
|
|
3321
3870
|
*
|
|
@@ -3323,6 +3872,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3323
3872
|
* ```html
|
|
3324
3873
|
* <tbw-grid (exportComplete)="onExportComplete($event)">...</tbw-grid>
|
|
3325
3874
|
* ```
|
|
3875
|
+
*
|
|
3876
|
+
* @deprecated Use `GridExportDirective` from
|
|
3877
|
+
* `@toolbox-web/grid-angular/features/export`. Will be removed in v2.0.0.
|
|
3326
3878
|
*/
|
|
3327
3879
|
exportComplete: _angular_core.OutputEmitterRef<ExportCompleteDetail>;
|
|
3328
3880
|
/**
|
|
@@ -3332,6 +3884,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3332
3884
|
* ```html
|
|
3333
3885
|
* <tbw-grid (printStart)="onPrintStart($event)">...</tbw-grid>
|
|
3334
3886
|
* ```
|
|
3887
|
+
*
|
|
3888
|
+
* @deprecated Use `GridPrintDirective` from
|
|
3889
|
+
* `@toolbox-web/grid-angular/features/print`. Will be removed in v2.0.0.
|
|
3335
3890
|
*/
|
|
3336
3891
|
printStart: _angular_core.OutputEmitterRef<PrintStartDetail>;
|
|
3337
3892
|
/**
|
|
@@ -3341,6 +3896,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3341
3896
|
* ```html
|
|
3342
3897
|
* <tbw-grid (printComplete)="onPrintComplete($event)">...</tbw-grid>
|
|
3343
3898
|
* ```
|
|
3899
|
+
*
|
|
3900
|
+
* @deprecated Use `GridPrintDirective` from
|
|
3901
|
+
* `@toolbox-web/grid-angular/features/print`. Will be removed in v2.0.0.
|
|
3344
3902
|
*/
|
|
3345
3903
|
printComplete: _angular_core.OutputEmitterRef<PrintCompleteDetail>;
|
|
3346
3904
|
/**
|
|
@@ -3360,15 +3918,37 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3360
3918
|
*/
|
|
3361
3919
|
tbwScroll: _angular_core.OutputEmitterRef<TbwScrollDetail>;
|
|
3362
3920
|
private readonly eventOutputMap;
|
|
3921
|
+
/** Events deliberately not exposed as Angular outputs. Keep empty unless documented. */
|
|
3922
|
+
private _intentionallyOmittedEvents;
|
|
3923
|
+
private _assertEventOutputMapCoversCore;
|
|
3363
3924
|
private eventListeners;
|
|
3364
3925
|
ngOnInit(): void;
|
|
3365
3926
|
/**
|
|
3366
3927
|
* Sets up event listeners for all outputs using the eventOutputMap.
|
|
3928
|
+
*
|
|
3929
|
+
* Hybrid v1.x / v2 ownership: events claimed by an attribute-selector
|
|
3930
|
+
* feature directive (via `claimEvent` in `feature-claims.ts`) are skipped
|
|
3931
|
+
* here so the directive's own `output()` is the sole emitter. Without
|
|
3932
|
+
* this skip both this directive's deprecated output and the directive's
|
|
3933
|
+
* new output would fire for the same DOM event.
|
|
3367
3934
|
*/
|
|
3368
3935
|
private setupEventListeners;
|
|
3369
3936
|
/**
|
|
3370
3937
|
* Creates plugins from feature inputs.
|
|
3371
3938
|
* Uses the feature registry to allow tree-shaking - only imported features are bundled.
|
|
3939
|
+
* Per-feature config bridging (e.g. converting Angular component classes inside
|
|
3940
|
+
* `groupingColumns` / `groupingRows` / `pinnedRows` configs to renderer functions)
|
|
3941
|
+
* runs via `getFeatureConfigPreprocessor`, populated by feature secondary entries.
|
|
3942
|
+
*
|
|
3943
|
+
* Hybrid v1.x / v2 ownership: when an attribute-selector feature directive
|
|
3944
|
+
* (e.g. `GridFilteringDirective`) is present on the same `<tbw-grid>`
|
|
3945
|
+
* element it claims its feature in `feature-claims.ts`. We then read the
|
|
3946
|
+
* claim's config getter — which transitively reads the directive's input
|
|
3947
|
+
* signal, establishing reactive dependency tracking — instead of the
|
|
3948
|
+
* deprecated input on this directive. This keeps the existing `[filtering]`
|
|
3949
|
+
* binding working when used directly on `<tbw-grid>` (no directive, no
|
|
3950
|
+
* claim) while letting the directive own the binding when imported.
|
|
3951
|
+
*
|
|
3372
3952
|
* Returns the array of created plugins (doesn't modify grid).
|
|
3373
3953
|
*/
|
|
3374
3954
|
private createFeaturePlugins;
|
|
@@ -3378,21 +3958,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3378
3958
|
* Uses the grid's registerStyles() API for clean encapsulation.
|
|
3379
3959
|
*/
|
|
3380
3960
|
private registerCustomStyles;
|
|
3381
|
-
/**
|
|
3382
|
-
* Configures the MasterDetailPlugin after Angular templates are registered.
|
|
3383
|
-
* - If plugin exists: refresh its detail renderer
|
|
3384
|
-
* - If plugin doesn't exist but <tbw-grid-detail> is present: dynamically import and add the plugin
|
|
3385
|
-
*/
|
|
3386
|
-
private configureMasterDetail;
|
|
3387
|
-
/**
|
|
3388
|
-
* Configures the ResponsivePlugin with Angular template-based card renderer.
|
|
3389
|
-
* - If plugin exists: updates its cardRenderer configuration
|
|
3390
|
-
* - If plugin doesn't exist but <tbw-grid-responsive-card> is present: logs a warning
|
|
3391
|
-
*/
|
|
3392
|
-
private configureResponsiveCard;
|
|
3393
3961
|
ngOnDestroy(): void;
|
|
3394
3962
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Grid, never>;
|
|
3395
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<Grid, "tbw-grid", never, { "customStyles": { "alias": "customStyles"; "required": false; "isSignal": true; }; "sortable": { "alias": "sortable"; "required": false; "isSignal": true; }; "filterable": { "alias": "filterable"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "fitMode": { "alias": "fitMode"; "required": false; "isSignal": true; }; "gridConfig": { "alias": "gridConfig"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "editing": { "alias": "editing"; "required": false; "isSignal": true; }; "clipboard": { "alias": "clipboard"; "required": false; "isSignal": true; }; "contextMenu": { "alias": "contextMenu"; "required": false; "isSignal": true; }; "multiSort": { "alias": "multiSort"; "required": false; "isSignal": true; }; "filtering": { "alias": "filtering"; "required": false; "isSignal": true; }; "reorderColumns": { "alias": "reorderColumns"; "required": false; "isSignal": true; }; "visibility": { "alias": "visibility"; "required": false; "isSignal": true; }; "pinnedColumns": { "alias": "pinnedColumns"; "required": false; "isSignal": true; }; "groupingColumns": { "alias": "groupingColumns"; "required": false; "isSignal": true; }; "columnVirtualization": { "alias": "columnVirtualization"; "required": false; "isSignal": true; }; "reorderRows": { "alias": "reorderRows"; "required": false; "isSignal": true; }; "rowDragDrop": { "alias": "rowDragDrop"; "required": false; "isSignal": true; }; "groupingRows": { "alias": "groupingRows"; "required": false; "isSignal": true; }; "pinnedRows": { "alias": "pinnedRows"; "required": false; "isSignal": true; }; "tree": { "alias": "tree"; "required": false; "isSignal": true; }; "masterDetail": { "alias": "masterDetail"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; "undoRedo": { "alias": "undoRedo"; "required": false; "isSignal": true; }; "exportFeature": { "alias": "export"; "required": false; "isSignal": true; }; "print": { "alias": "print"; "required": false; "isSignal": true; }; "pivot": { "alias": "pivot"; "required": false; "isSignal": true; }; "serverSide": { "alias": "serverSide"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; }, { "cellClick": "cellClick"; "rowClick": "rowClick"; "cellActivate": "cellActivate"; "cellChange": "cellChange"; "cellCommit": "cellCommit"; "rowCommit": "rowCommit"; "changedRowsReset": "changedRowsReset"; "sortChange": "sortChange"; "filterChange": "filterChange"; "columnResize": "columnResize"; "columnMove": "columnMove"; "columnVisibility": "columnVisibility"; "columnStateChange": "columnStateChange"; "selectionChange": "selectionChange"; "rowMove": "rowMove"; "rowDragStart": "rowDragStart"; "rowDragEnd": "rowDragEnd"; "rowDrop": "rowDrop"; "rowTransfer": "rowTransfer"; "groupToggle": "groupToggle"; "treeExpand": "treeExpand"; "detailExpand": "detailExpand"; "responsiveChange": "responsiveChange"; "copy": "copy"; "paste": "paste"; "
|
|
3963
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<Grid, "tbw-grid", never, { "customStyles": { "alias": "customStyles"; "required": false; "isSignal": true; }; "sortable": { "alias": "sortable"; "required": false; "isSignal": true; }; "filterable": { "alias": "filterable"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "columnDefaults": { "alias": "columnDefaults"; "required": false; "isSignal": true; }; "fitMode": { "alias": "fitMode"; "required": false; "isSignal": true; }; "gridConfig": { "alias": "gridConfig"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "editing": { "alias": "editing"; "required": false; "isSignal": true; }; "clipboard": { "alias": "clipboard"; "required": false; "isSignal": true; }; "contextMenu": { "alias": "contextMenu"; "required": false; "isSignal": true; }; "multiSort": { "alias": "multiSort"; "required": false; "isSignal": true; }; "filtering": { "alias": "filtering"; "required": false; "isSignal": true; }; "reorderColumns": { "alias": "reorderColumns"; "required": false; "isSignal": true; }; "visibility": { "alias": "visibility"; "required": false; "isSignal": true; }; "pinnedColumns": { "alias": "pinnedColumns"; "required": false; "isSignal": true; }; "groupingColumns": { "alias": "groupingColumns"; "required": false; "isSignal": true; }; "columnVirtualization": { "alias": "columnVirtualization"; "required": false; "isSignal": true; }; "reorderRows": { "alias": "reorderRows"; "required": false; "isSignal": true; }; "rowDragDrop": { "alias": "rowDragDrop"; "required": false; "isSignal": true; }; "groupingRows": { "alias": "groupingRows"; "required": false; "isSignal": true; }; "pinnedRows": { "alias": "pinnedRows"; "required": false; "isSignal": true; }; "tree": { "alias": "tree"; "required": false; "isSignal": true; }; "masterDetail": { "alias": "masterDetail"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; "undoRedo": { "alias": "undoRedo"; "required": false; "isSignal": true; }; "exportFeature": { "alias": "export"; "required": false; "isSignal": true; }; "print": { "alias": "print"; "required": false; "isSignal": true; }; "pivot": { "alias": "pivot"; "required": false; "isSignal": true; }; "serverSide": { "alias": "serverSide"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; }, { "cellClick": "cellClick"; "rowClick": "rowClick"; "cellActivate": "cellActivate"; "cellChange": "cellChange"; "cellCommit": "cellCommit"; "cellCancel": "cellCancel"; "editOpen": "editOpen"; "beforeEditClose": "beforeEditClose"; "editClose": "editClose"; "dirtyChange": "dirtyChange"; "dataChange": "dataChange"; "rowCommit": "rowCommit"; "changedRowsReset": "changedRowsReset"; "sortChange": "sortChange"; "filterChange": "filterChange"; "columnResize": "columnResize"; "columnResizeReset": "columnResizeReset"; "columnMove": "columnMove"; "columnVisibility": "columnVisibility"; "columnStateChange": "columnStateChange"; "selectionChange": "selectionChange"; "rowMove": "rowMove"; "rowDragStart": "rowDragStart"; "rowDragEnd": "rowDragEnd"; "rowDrop": "rowDrop"; "rowTransfer": "rowTransfer"; "groupToggle": "groupToggle"; "groupExpand": "groupExpand"; "groupCollapse": "groupCollapse"; "treeExpand": "treeExpand"; "detailExpand": "detailExpand"; "responsiveChange": "responsiveChange"; "contextMenuOpen": "contextMenuOpen"; "copy": "copy"; "paste": "paste"; "undo": "undo"; "redo": "redo"; "exportComplete": "exportComplete"; "printStart": "printStart"; "printComplete": "printComplete"; "tbwScroll": "tbwScroll"; }, never, never, true, never>;
|
|
3396
3964
|
}
|
|
3397
3965
|
|
|
3398
3966
|
/**
|
|
@@ -3400,6 +3968,7 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3400
3968
|
* This provides better ergonomics in templates without requiring explicit type annotations.
|
|
3401
3969
|
*
|
|
3402
3970
|
* @internal Use `GridCellContext` in application code for stricter typing.
|
|
3971
|
+
* @since 0.1.1
|
|
3403
3972
|
*/
|
|
3404
3973
|
interface StructuralCellContext<TValue = any, TRow = any> {
|
|
3405
3974
|
/** The cell value for this column */
|
|
@@ -3416,6 +3985,7 @@ interface StructuralCellContext<TValue = any, TRow = any> {
|
|
|
3416
3985
|
* This provides better ergonomics in templates without requiring explicit type annotations.
|
|
3417
3986
|
*
|
|
3418
3987
|
* @internal Use `GridEditorContext` in application code for stricter typing.
|
|
3988
|
+
* @since 0.1.1
|
|
3419
3989
|
*/
|
|
3420
3990
|
interface StructuralEditorContext<TValue = any, TRow = any> {
|
|
3421
3991
|
/** The cell value for this column */
|
|
@@ -3494,6 +4064,7 @@ interface StructuralEditorContext<TValue = any, TRow = any> {
|
|
|
3494
4064
|
* ```
|
|
3495
4065
|
*
|
|
3496
4066
|
* @category Directive
|
|
4067
|
+
* @since 0.1.1
|
|
3497
4068
|
*/
|
|
3498
4069
|
declare class TbwRenderer implements OnDestroy {
|
|
3499
4070
|
private template;
|
|
@@ -3562,6 +4133,14 @@ declare class TbwRenderer implements OnDestroy {
|
|
|
3562
4133
|
* ```
|
|
3563
4134
|
*
|
|
3564
4135
|
* @category Directive
|
|
4136
|
+
*
|
|
4137
|
+
* MOVE-IN-V2: this directive (and its `StructuralEditorContext` type) will
|
|
4138
|
+
* physically move into `@toolbox-web/grid-angular/features/editing` in v2.0.0;
|
|
4139
|
+
* the deprecated re-export from the main `@toolbox-web/grid-angular` entry
|
|
4140
|
+
* will be removed at the same time. Consumers should already be importing
|
|
4141
|
+
* from the feature entry. (`TbwRenderer` stays in the main entry — it is
|
|
4142
|
+
* editor-agnostic.)
|
|
4143
|
+
* @since 0.1.1
|
|
3565
4144
|
*/
|
|
3566
4145
|
declare class TbwEditor implements OnDestroy {
|
|
3567
4146
|
private template;
|
|
@@ -3579,6 +4158,238 @@ declare class TbwEditor implements OnDestroy {
|
|
|
3579
4158
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TbwEditor, "[tbwEditor]", never, {}, {}, never, never, true, never>;
|
|
3580
4159
|
}
|
|
3581
4160
|
|
|
3582
|
-
|
|
3583
|
-
|
|
4161
|
+
/**
|
|
4162
|
+
* Combined provider helper for grid type defaults and icons.
|
|
4163
|
+
*
|
|
4164
|
+
* Convenience function that combines `provideGridTypeDefaults` and
|
|
4165
|
+
* `provideGridIcons` into a single call for application bootstrap.
|
|
4166
|
+
*
|
|
4167
|
+
* @example
|
|
4168
|
+
* ```typescript
|
|
4169
|
+
* // app.config.ts
|
|
4170
|
+
* import { ApplicationConfig } from '@angular/core';
|
|
4171
|
+
* import { provideGrid } from '@toolbox-web/grid-angular';
|
|
4172
|
+
*
|
|
4173
|
+
* export const appConfig: ApplicationConfig = {
|
|
4174
|
+
* providers: [
|
|
4175
|
+
* provideGrid({
|
|
4176
|
+
* typeDefaults: {
|
|
4177
|
+
* country: { renderer: CountryCellComponent },
|
|
4178
|
+
* },
|
|
4179
|
+
* icons: {
|
|
4180
|
+
* sortAsc: '↑',
|
|
4181
|
+
* sortDesc: '↓',
|
|
4182
|
+
* },
|
|
4183
|
+
* }),
|
|
4184
|
+
* ],
|
|
4185
|
+
* };
|
|
4186
|
+
* ```
|
|
4187
|
+
*/
|
|
4188
|
+
|
|
4189
|
+
/**
|
|
4190
|
+
* Options for {@link provideGrid}.
|
|
4191
|
+
* @since 1.4.0
|
|
4192
|
+
*/
|
|
4193
|
+
interface ProvideGridOptions {
|
|
4194
|
+
/** Type defaults to register globally. Equivalent to `provideGridTypeDefaults`. */
|
|
4195
|
+
typeDefaults?: Record<string, TypeDefaultRegistration>;
|
|
4196
|
+
/** Icon overrides to register globally. Equivalent to `provideGridIcons`. */
|
|
4197
|
+
icons?: Partial<GridIcons>;
|
|
4198
|
+
}
|
|
4199
|
+
/**
|
|
4200
|
+
* Combined provider for grid type defaults and icons.
|
|
4201
|
+
*
|
|
4202
|
+
* Returns environment providers that can be added to your `ApplicationConfig`
|
|
4203
|
+
* `providers` array. Either field is optional — only the registries you
|
|
4204
|
+
* supply are wired up.
|
|
4205
|
+
*
|
|
4206
|
+
* Equivalent to calling `provideGridTypeDefaults(options.typeDefaults)` and
|
|
4207
|
+
* `provideGridIcons(options.icons)` separately.
|
|
4208
|
+
* @since 1.4.0
|
|
4209
|
+
*/
|
|
4210
|
+
declare function provideGrid(options?: ProvideGridOptions): EnvironmentProviders;
|
|
4211
|
+
|
|
4212
|
+
/**
|
|
4213
|
+
* Internal registries used by `@toolbox-web/grid-angular`.
|
|
4214
|
+
*
|
|
4215
|
+
* Two extension points are exposed so individual feature secondary entries
|
|
4216
|
+
* (e.g. `@toolbox-web/grid-angular/features/master-detail`) can plug into
|
|
4217
|
+
* the core `Grid` directive without the directive needing to know about them.
|
|
4218
|
+
*
|
|
4219
|
+
* - {@link registerTemplateBridge} — runs in `ngAfterContentInit` once Angular
|
|
4220
|
+
* templates inside the grid have been registered. Used to discover light-DOM
|
|
4221
|
+
* slot elements (`<tbw-grid-detail>`, `<tbw-grid-responsive-card>`, …) and
|
|
4222
|
+
* wire them to the corresponding plugin's renderer setter.
|
|
4223
|
+
* - {@link registerFeatureConfigPreprocessor} — runs inside the directive's
|
|
4224
|
+
* feature-plugin builder before `createPluginFromFeature` is called. Lets a
|
|
4225
|
+
* feature transform its config object (e.g. to convert Angular component
|
|
4226
|
+
* classes embedded in `customPanels` to renderer functions).
|
|
4227
|
+
*
|
|
4228
|
+
* Both registries are append-only and module-scoped: they are populated by
|
|
4229
|
+
* side-effect imports of feature secondary entries and consumed by the core
|
|
4230
|
+
* `Grid` directive. Order is insertion order.
|
|
4231
|
+
*
|
|
4232
|
+
* @internal — public for cross-entry-point use; not part of the supported API.
|
|
4233
|
+
*/
|
|
4234
|
+
|
|
4235
|
+
/**
|
|
4236
|
+
* Context passed to template bridges.
|
|
4237
|
+
*
|
|
4238
|
+
* @internal
|
|
4239
|
+
* @since 1.4.0
|
|
4240
|
+
*/
|
|
4241
|
+
interface TemplateBridgeContext {
|
|
4242
|
+
/** The `<tbw-grid>` element this directive is attached to. */
|
|
4243
|
+
grid: HTMLElement;
|
|
4244
|
+
/** The Angular `GridAdapter` instance for this grid. */
|
|
4245
|
+
adapter: GridAdapter;
|
|
4246
|
+
}
|
|
4247
|
+
/**
|
|
4248
|
+
* A template bridge runs once per grid in `ngAfterContentInit`, after the
|
|
4249
|
+
* grid has refreshed its columns and Angular content templates have been
|
|
4250
|
+
* registered. Bridges may be async; the directive does not await them
|
|
4251
|
+
* sequentially — they run concurrently.
|
|
4252
|
+
*
|
|
4253
|
+
* @internal
|
|
4254
|
+
* @since 1.4.0
|
|
4255
|
+
*/
|
|
4256
|
+
type TemplateBridge = (ctx: TemplateBridgeContext) => void | Promise<void>;
|
|
4257
|
+
/**
|
|
4258
|
+
* Register a template bridge. Called by feature secondary entries at module
|
|
4259
|
+
* load (e.g. `import '@toolbox-web/grid-angular/features/master-detail'`).
|
|
4260
|
+
*
|
|
4261
|
+
* Bridges are append-only and never deduplicated; calling registration twice
|
|
4262
|
+
* for the same feature module is safe because module imports are deduplicated
|
|
4263
|
+
* by the JS loader.
|
|
4264
|
+
*
|
|
4265
|
+
* @internal
|
|
4266
|
+
* @since 1.4.0
|
|
4267
|
+
*/
|
|
4268
|
+
declare function registerTemplateBridge(bridge: TemplateBridge): void;
|
|
4269
|
+
/**
|
|
4270
|
+
* Run all registered template bridges for a grid. The directive calls this
|
|
4271
|
+
* from `ngAfterContentInit` after `refreshColumns()`. Bridges run concurrently;
|
|
4272
|
+
* errors thrown by one bridge do not stop the others.
|
|
4273
|
+
*
|
|
4274
|
+
* @internal
|
|
4275
|
+
* @since 1.4.0
|
|
4276
|
+
*/
|
|
4277
|
+
declare function runTemplateBridges(ctx: TemplateBridgeContext): void;
|
|
4278
|
+
/**
|
|
4279
|
+
* A feature config preprocessor receives the user-supplied config for a
|
|
4280
|
+
* specific feature input and returns a transformed config that the core
|
|
4281
|
+
* plugin factory can consume. Used to bridge Angular component classes
|
|
4282
|
+
* embedded in feature configs (e.g. `customPanels`, `groupHeaderRenderer`)
|
|
4283
|
+
* to plain renderer functions.
|
|
4284
|
+
*
|
|
4285
|
+
* Receives the typed config and the directive's adapter. Returning the same
|
|
4286
|
+
* reference is fine — preprocessors typically clone-and-augment.
|
|
4287
|
+
*
|
|
4288
|
+
* @internal
|
|
4289
|
+
* @since 1.4.0
|
|
4290
|
+
*/
|
|
4291
|
+
type FeatureConfigPreprocessor = (config: unknown, adapter: GridAdapter) => unknown;
|
|
4292
|
+
/**
|
|
4293
|
+
* Register a feature config preprocessor. Last registration wins (subsequent
|
|
4294
|
+
* imports of the same feature module re-register the same function, which is
|
|
4295
|
+
* a no-op).
|
|
4296
|
+
*
|
|
4297
|
+
* @internal
|
|
4298
|
+
* @since 1.4.0
|
|
4299
|
+
*/
|
|
4300
|
+
declare function registerFeatureConfigPreprocessor(name: FeatureName, fn: FeatureConfigPreprocessor): void;
|
|
4301
|
+
/**
|
|
4302
|
+
* Look up the preprocessor for a feature, if any.
|
|
4303
|
+
*
|
|
4304
|
+
* @internal
|
|
4305
|
+
* @since 1.4.0
|
|
4306
|
+
*/
|
|
4307
|
+
declare function getFeatureConfigPreprocessor(name: FeatureName): FeatureConfigPreprocessor | undefined;
|
|
4308
|
+
|
|
4309
|
+
/**
|
|
4310
|
+
* Per-grid-element claims registry used by the hybrid feature-directive
|
|
4311
|
+
* refactor (v1.4 → v2).
|
|
4312
|
+
*
|
|
4313
|
+
* Background: historically every plugin's input/output (e.g. `[filtering]`,
|
|
4314
|
+
* `(filterChange)`) was declared on the central {@link Grid} directive. That
|
|
4315
|
+
* pulled the typed surface for every {@link FeatureName} into the core
|
|
4316
|
+
* bundle — even for apps that only used a few. The new approach gives every
|
|
4317
|
+
* feature a thin **attribute-selector** directive (e.g.
|
|
4318
|
+
* `GridFilteringDirective` with selector `tbw-grid[filtering], tbw-grid[filterChange]`)
|
|
4319
|
+
* that lives in the feature secondary entry, so the plugin's typed surface
|
|
4320
|
+
* is only paid for when the feature is actually imported.
|
|
4321
|
+
*
|
|
4322
|
+
* To stay non-breaking in v1.x, the deprecated inputs/outputs remain on
|
|
4323
|
+
* {@link Grid}. When a feature directive is present on the same `<tbw-grid>`
|
|
4324
|
+
* element it **claims** its feature here; {@link Grid} consults the registry
|
|
4325
|
+
* and lets the directive own the input + event so we never produce duplicate
|
|
4326
|
+
* plugins or double-emit events.
|
|
4327
|
+
*
|
|
4328
|
+
* This module is deliberately framework-free (plain {@link WeakMap} state, no
|
|
4329
|
+
* `@angular/core` imports) so feature secondary entries can import it through
|
|
4330
|
+
* the package barrel without introducing circular module graphs. The
|
|
4331
|
+
* {@link FeatureName} and {@link DataGridEventMap} type imports are
|
|
4332
|
+
* type-only, so no runtime dependency leaks.
|
|
4333
|
+
*
|
|
4334
|
+
* @internal
|
|
4335
|
+
*/
|
|
4336
|
+
|
|
4337
|
+
/** Event names that can be claimed by a feature directive. */
|
|
4338
|
+
type ClaimableEventName = keyof DataGridEventMap<unknown>;
|
|
4339
|
+
/**
|
|
4340
|
+
* Reads the directive-owned config value for a feature. The function is
|
|
4341
|
+
* called during {@link Grid}'s `createFeaturePlugins` effect, so reading a
|
|
4342
|
+
* signal inside it establishes reactive dependency tracking — the effect
|
|
4343
|
+
* re-runs when the directive's input changes.
|
|
4344
|
+
* @internal
|
|
4345
|
+
* @since 1.4.0
|
|
4346
|
+
*/
|
|
4347
|
+
type FeatureConfigGetter = () => unknown;
|
|
4348
|
+
/**
|
|
4349
|
+
* Register a feature claim. Called by a feature directive's constructor;
|
|
4350
|
+
* the {@link Grid} directive will then use {@link getFeatureClaim} during
|
|
4351
|
+
* plugin creation instead of reading its own deprecated input.
|
|
4352
|
+
* @internal
|
|
4353
|
+
* @since 1.4.0
|
|
4354
|
+
*/
|
|
4355
|
+
declare function registerFeatureClaim(grid: HTMLElement, name: FeatureName, getConfig: FeatureConfigGetter): void;
|
|
4356
|
+
/**
|
|
4357
|
+
* Look up a feature claim. Returns the registered config getter, or
|
|
4358
|
+
* `undefined` if no directive owns this feature on this element.
|
|
4359
|
+
* @internal
|
|
4360
|
+
* @since 1.4.0
|
|
4361
|
+
*/
|
|
4362
|
+
declare function getFeatureClaim(grid: HTMLElement, name: FeatureName): FeatureConfigGetter | undefined;
|
|
4363
|
+
/**
|
|
4364
|
+
* Drop a feature claim. Called by a feature directive's `ngOnDestroy` so
|
|
4365
|
+
* that, if the directive is removed (e.g. via `*ngIf`) but the host
|
|
4366
|
+
* `<tbw-grid>` survives, {@link Grid}'s deprecated input takes back over.
|
|
4367
|
+
* @internal
|
|
4368
|
+
* @since 1.4.0
|
|
4369
|
+
*/
|
|
4370
|
+
declare function unregisterFeatureClaim(grid: HTMLElement, name: FeatureName): void;
|
|
4371
|
+
/**
|
|
4372
|
+
* Mark an event as owned by a feature directive. {@link Grid}'s
|
|
4373
|
+
* `setupEventListeners` skips wiring its own deprecated `output()` for any
|
|
4374
|
+
* claimed event — the directive owns the listener and the emit.
|
|
4375
|
+
* @internal
|
|
4376
|
+
* @since 1.4.0
|
|
4377
|
+
*/
|
|
4378
|
+
declare function claimEvent(grid: HTMLElement, eventName: ClaimableEventName): void;
|
|
4379
|
+
/**
|
|
4380
|
+
* Returns true if a directive has claimed this event on this grid element.
|
|
4381
|
+
* @internal
|
|
4382
|
+
* @since 1.4.0
|
|
4383
|
+
*/
|
|
4384
|
+
declare function isEventClaimed(grid: HTMLElement, eventName: ClaimableEventName): boolean;
|
|
4385
|
+
/**
|
|
4386
|
+
* Drop an event claim. Pair with {@link claimEvent} in a directive's
|
|
4387
|
+
* `ngOnDestroy`.
|
|
4388
|
+
* @internal
|
|
4389
|
+
* @since 1.4.0
|
|
4390
|
+
*/
|
|
4391
|
+
declare function unclaimEvent(grid: HTMLElement, eventName: ClaimableEventName): void;
|
|
4392
|
+
|
|
4393
|
+
export { BaseFilterPanel, BaseGridEditor, BaseGridEditorCVA, BaseOverlayEditor, GRID_ICONS, GRID_TYPE_DEFAULTS, Grid, GridAdapter, GridColumnEditor, GridColumnView, GridDetailView, GridFormArray, GridIconRegistry, GridLazyForm, GridResponsiveCard, GridToolPanel, GridTypeRegistry, TbwEditor, TbwGridColumn, TbwGridHeader, TbwGridToolButtons, TbwRenderer, applyColumnDefaults, claimEvent, getDetailTemplate, getFeatureClaim, getFeatureConfigPreprocessor, getFormArrayContext, getLazyFormContext, getResponsiveCardTemplate, hasColumnShorthands, injectGrid, isComponentClass, isEventClaimed, makeFlushFocusedInput, normalizeColumns, parseColumnShorthand, provideGrid, provideGridIcons, provideGridTypeDefaults, registerDetailRendererBridge, registerEditorMountHook, registerFeatureClaim, registerFeatureConfigPreprocessor, registerFilterPanelTypeDefaultBridge, registerResponsiveCardRendererBridge, registerTemplateBridge, runTemplateBridges, unclaimEvent, unregisterFeatureClaim };
|
|
4394
|
+
export type { CellCommitEvent, CellEditor, CellRenderer, ColumnConfig, ColumnShorthand, EditorMountHook, FeatureConfigGetter, FeatureConfigPreprocessor, FeatureName, FilterPanel, FilterPanelTypeDefaultBridge, FormArrayContext, GridCellContext, GridConfig, GridDetailContext, GridEditorContext, GridResponsiveCardContext, GridToolPanelContext, InjectGridReturn, LazyFormFactory, OverlayPosition, ProvideGridOptions, RowCommitEvent, RowFormChangeEvent, RowRendererBridge, StructuralCellContext, StructuralEditorContext, TemplateBridge, TemplateBridgeContext, TypeDefault, TypeDefaultRegistration };
|
|
3584
4395
|
//# sourceMappingURL=toolbox-web-grid-angular.d.ts.map
|