@toolbox-web/grid-angular 1.3.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +109 -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 +105 -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 +1225 -728
- 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 +858 -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
|
/**
|
|
@@ -267,6 +264,98 @@ interface GridConfig<TRow = unknown> extends Omit<GridConfig$1<TRow>, 'columns'
|
|
|
267
264
|
*/
|
|
268
265
|
declare function isComponentClass(value: unknown): value is Type<unknown>;
|
|
269
266
|
|
|
267
|
+
/**
|
|
268
|
+
* Editor mount hook registry — append-only hooks called when an Angular-managed
|
|
269
|
+
* editor host is mounted into the DOM with a known owner grid.
|
|
270
|
+
*
|
|
271
|
+
* This is the augmentation point that lets feature secondary entries
|
|
272
|
+
* (e.g. `@toolbox-web/grid-angular/features/editing`) install per-editor
|
|
273
|
+
* lifecycle behaviour (such as the `before-edit-close` blur bridge)
|
|
274
|
+
* without coupling the central adapter file to the editing feature.
|
|
275
|
+
* Mirrors React's and Vue's `editor-mount-hooks` and how core grid plugins
|
|
276
|
+
* augment the grid via `registerPlugin()`.
|
|
277
|
+
*
|
|
278
|
+
* @packageDocumentation
|
|
279
|
+
* @internal
|
|
280
|
+
*/
|
|
281
|
+
/**
|
|
282
|
+
* Hook called when an editor host is mounted. Returning a function
|
|
283
|
+
* registers a teardown that runs when the editor is released.
|
|
284
|
+
*/
|
|
285
|
+
type EditorMountHook = (ctx: {
|
|
286
|
+
container: HTMLElement;
|
|
287
|
+
gridEl: HTMLElement;
|
|
288
|
+
}) => (() => void) | void;
|
|
289
|
+
/**
|
|
290
|
+
* Install an editor-mount hook. Called by feature secondary entries
|
|
291
|
+
* (e.g. `features/editing`) on import.
|
|
292
|
+
*
|
|
293
|
+
* @internal Plugin API
|
|
294
|
+
*/
|
|
295
|
+
declare function registerEditorMountHook(hook: EditorMountHook): void;
|
|
296
|
+
/**
|
|
297
|
+
* Returns a function that, when invoked, blurs the focused input/textarea/select
|
|
298
|
+
* inside `host` (if any). Used by the `before-edit-close` bridge installed by
|
|
299
|
+
* `@toolbox-web/grid-angular/features/editing` so editors that commit on
|
|
300
|
+
* `(blur)` flush their pending value before the cell DOM is torn down by Tab /
|
|
301
|
+
* programmatic row exit.
|
|
302
|
+
* @internal
|
|
303
|
+
*/
|
|
304
|
+
declare function makeFlushFocusedInput(host: HTMLElement): () => void;
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* Append-only bridge registries used by `@toolbox-web/grid-angular`.
|
|
308
|
+
*
|
|
309
|
+
* These let feature secondary entries plug into the central `GridAdapter`
|
|
310
|
+
* without the adapter needing to know about them. Mirrors React's and Vue's
|
|
311
|
+
* `register*Bridge` modules and how core grid plugins augment the grid via
|
|
312
|
+
* `registerPlugin()`.
|
|
313
|
+
*
|
|
314
|
+
* This module is deliberately framework-free: it holds plain module-level
|
|
315
|
+
* `let` state and never imports from `@angular/core` or from
|
|
316
|
+
* `@toolbox-web/grid/plugins/...`. Feature subpaths import the setters via
|
|
317
|
+
* the `@toolbox-web/grid-angular` package barrel (relative imports outside
|
|
318
|
+
* a secondary entry's `rootDir` are forbidden by ng-packagr).
|
|
319
|
+
*
|
|
320
|
+
* @internal
|
|
321
|
+
*/
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* Installer signature: given a grid element + adapter, returns the row-renderer
|
|
325
|
+
* the adapter should expose, or undefined if no Angular template is registered
|
|
326
|
+
* for that grid. Used by `features/master-detail` and `features/responsive`.
|
|
327
|
+
* @internal
|
|
328
|
+
*/
|
|
329
|
+
type RowRendererBridge = <TRow = unknown>(gridElement: HTMLElement, adapter: GridAdapter) => ((row: TRow, rowIndex: number) => HTMLElement) | undefined;
|
|
330
|
+
/**
|
|
331
|
+
* Installer signature for the type-default `filterPanelRenderer` wrapper.
|
|
332
|
+
* Receives the user-supplied component class loosely typed as `unknown`
|
|
333
|
+
* (so the adapter does not depend on filtering types) and returns the
|
|
334
|
+
* imperative `(container, params) => void` form required by core.
|
|
335
|
+
* @internal
|
|
336
|
+
*/
|
|
337
|
+
type FilterPanelTypeDefaultBridge = (rendererValue: unknown, adapter: GridAdapter) => NonNullable<TypeDefault$1['filterPanelRenderer']> | undefined;
|
|
338
|
+
/**
|
|
339
|
+
* Install the master-detail row-renderer bridge. Called once on import by
|
|
340
|
+
* `@toolbox-web/grid-angular/features/master-detail`.
|
|
341
|
+
* @internal Plugin API
|
|
342
|
+
*/
|
|
343
|
+
declare function registerDetailRendererBridge(bridge: RowRendererBridge): void;
|
|
344
|
+
/**
|
|
345
|
+
* Install the responsive-card row-renderer bridge. Called once on import by
|
|
346
|
+
* `@toolbox-web/grid-angular/features/responsive`.
|
|
347
|
+
* @internal Plugin API
|
|
348
|
+
*/
|
|
349
|
+
declare function registerResponsiveCardRendererBridge(bridge: RowRendererBridge): void;
|
|
350
|
+
/**
|
|
351
|
+
* Install the type-default `filterPanelRenderer` wrapper. Called once on import
|
|
352
|
+
* by `@toolbox-web/grid-angular/features/filtering`. Without this bridge,
|
|
353
|
+
* type-default and grid-config-level component-class filterPanelRenderers are
|
|
354
|
+
* silently dropped — same precondition as the FilteringPlugin (TBW031).
|
|
355
|
+
* @internal Plugin API
|
|
356
|
+
*/
|
|
357
|
+
declare function registerFilterPanelTypeDefaultBridge(bridge: FilterPanelTypeDefaultBridge): void;
|
|
358
|
+
|
|
270
359
|
declare class GridAdapter implements FrameworkAdapter {
|
|
271
360
|
private injector;
|
|
272
361
|
private appRef;
|
|
@@ -278,20 +367,16 @@ declare class GridAdapter implements FrameworkAdapter {
|
|
|
278
367
|
/** Editor-specific component refs tracked separately for per-cell cleanup via releaseCell. */
|
|
279
368
|
private editorComponentRefs;
|
|
280
369
|
/**
|
|
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.
|
|
370
|
+
* Per-editor mount-hook teardown functions, keyed by editor host element.
|
|
290
371
|
*
|
|
291
|
-
*
|
|
292
|
-
*
|
|
372
|
+
* Populated by {@link runEditorMountHooks} (which invokes
|
|
373
|
+
* {@link notifyEditorMounted}) and torn down per-cell from
|
|
374
|
+
* {@link releaseCell}, with full sweep on {@link destroy}. The actual
|
|
375
|
+
* lifecycle behaviour is supplied by feature secondary entries (e.g.
|
|
376
|
+
* `@toolbox-web/grid-angular/features/editing` installs the
|
|
377
|
+
* `before-edit-close` blur bridge).
|
|
293
378
|
*/
|
|
294
|
-
private
|
|
379
|
+
private editorMountTeardowns;
|
|
295
380
|
private typeRegistry;
|
|
296
381
|
constructor(injector: EnvironmentInjector, appRef: ApplicationRef, viewContainerRef: ViewContainerRef);
|
|
297
382
|
/**
|
|
@@ -375,32 +460,25 @@ declare class GridAdapter implements FrameworkAdapter {
|
|
|
375
460
|
*/
|
|
376
461
|
createEditor<TRow = unknown, TValue = unknown>(element: HTMLElement): ColumnEditorSpec<TRow, TValue> | undefined;
|
|
377
462
|
/**
|
|
378
|
-
* Creates a detail renderer function for MasterDetailPlugin.
|
|
379
|
-
*
|
|
463
|
+
* Creates a detail renderer function for MasterDetailPlugin. Delegates to
|
|
464
|
+
* the bridge installed by `@toolbox-web/grid-angular/features/master-detail`.
|
|
465
|
+
* Returns undefined if the feature is not imported or no `<tbw-grid-detail>`
|
|
466
|
+
* template is registered for this grid.
|
|
380
467
|
*/
|
|
381
468
|
createDetailRenderer<TRow = unknown>(gridElement: HTMLElement): ((row: TRow) => HTMLElement) | undefined;
|
|
382
469
|
/**
|
|
383
|
-
*
|
|
384
|
-
*
|
|
385
|
-
*
|
|
386
|
-
* This enables MasterDetailPlugin to automatically use Angular templates
|
|
387
|
-
* without manual configuration in the Grid directive.
|
|
470
|
+
* FrameworkAdapter hook called by MasterDetailPlugin during attach(). Delegates
|
|
471
|
+
* to {@link createDetailRenderer} (bridge installed by master-detail feature).
|
|
388
472
|
*/
|
|
389
473
|
parseDetailElement<TRow = unknown>(detailElement: Element): ((row: TRow, rowIndex: number) => HTMLElement | string) | undefined;
|
|
390
474
|
/**
|
|
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
|
|
475
|
+
* Creates a responsive card renderer function for ResponsivePlugin. Delegates
|
|
476
|
+
* to the bridge installed by `@toolbox-web/grid-angular/features/responsive`.
|
|
396
477
|
*/
|
|
397
478
|
createResponsiveCardRenderer<TRow = unknown>(gridElement: HTMLElement): ((row: TRow, rowIndex: number) => HTMLElement) | undefined;
|
|
398
479
|
/**
|
|
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.
|
|
480
|
+
* FrameworkAdapter hook called by ResponsivePlugin during attach(). Delegates
|
|
481
|
+
* to {@link createResponsiveCardRenderer} (bridge installed by responsive feature).
|
|
404
482
|
*/
|
|
405
483
|
parseResponsiveCardElement<TRow = unknown>(cardElement: Element): ((row: TRow, rowIndex: number) => HTMLElement) | undefined;
|
|
406
484
|
/**
|
|
@@ -437,18 +515,38 @@ declare class GridAdapter implements FrameworkAdapter {
|
|
|
437
515
|
*/
|
|
438
516
|
getTypeDefault<TRow = unknown>(type: string, _gridEl?: HTMLElement): TypeDefault$1<TRow> | undefined;
|
|
439
517
|
/**
|
|
440
|
-
*
|
|
441
|
-
*
|
|
518
|
+
* Generalized component-mount primitive. All `createComponent*Renderer` methods
|
|
519
|
+
* are thin wrappers around this. Returns a function `(ctx) => { hostElement, componentRef }`
|
|
520
|
+
* so callers that need the `componentRef` (editor wiring, value-change subscription)
|
|
521
|
+
* still have it; callers that only need the host element use `.hostElement`.
|
|
522
|
+
*
|
|
523
|
+
* Public so feature secondary entries can compose their own component renderers
|
|
524
|
+
* without re-implementing the mount/track plumbing.
|
|
525
|
+
*
|
|
526
|
+
* @param componentClass Angular component class to instantiate per call.
|
|
527
|
+
* @param mapInputs Maps the renderer context to a `setInput()` bag.
|
|
528
|
+
* @param pool Which `componentRefs[]` array tracks the instance for cleanup.
|
|
529
|
+
* `'render'` (default) is the long-lived pool cleared at `dispose()`.
|
|
530
|
+
* `'editor'` is the per-cell pool swept by `releaseCell()`.
|
|
442
531
|
* @internal
|
|
443
532
|
*/
|
|
444
|
-
|
|
533
|
+
mountComponentRenderer<TCtx>(componentClass: Type<unknown>, mapInputs: (ctx: TCtx) => Record<string, unknown>, pool?: 'render' | 'editor'): (ctx: TCtx) => {
|
|
534
|
+
hostElement: HTMLSpanElement;
|
|
535
|
+
componentRef: ComponentRef<unknown>;
|
|
536
|
+
};
|
|
445
537
|
/**
|
|
446
538
|
* Creates a renderer function from an Angular component class.
|
|
539
|
+
* Wraps {@link mountComponentRenderer} with a per-cell `WeakMap` cache so
|
|
540
|
+
* scroll-recycled cells reuse the existing component (just refresh inputs)
|
|
541
|
+
* instead of mounting a fresh one.
|
|
447
542
|
* @internal
|
|
448
543
|
*/
|
|
449
544
|
private createComponentRenderer;
|
|
450
545
|
/**
|
|
451
546
|
* Creates an editor function from an Angular component class.
|
|
547
|
+
* Wraps {@link mountComponentRenderer} (using the `'editor'` pool for per-cell
|
|
548
|
+
* cleanup) plus editor-specific wiring: callback bridge, mount-hook fan-out
|
|
549
|
+
* (see {@link runEditorMountHooks}), and external value-change subscription.
|
|
452
550
|
* @internal
|
|
453
551
|
*/
|
|
454
552
|
private createComponentEditor;
|
|
@@ -465,68 +563,45 @@ declare class GridAdapter implements FrameworkAdapter {
|
|
|
465
563
|
*/
|
|
466
564
|
private createComponentHeaderLabelRenderer;
|
|
467
565
|
/**
|
|
468
|
-
* Creates a
|
|
566
|
+
* Creates a loading renderer function from an Angular component class.
|
|
469
567
|
*
|
|
470
|
-
* The component should accept
|
|
471
|
-
* Returns the host element directly (groupHeaderRenderer returns an element, not void).
|
|
568
|
+
* The component should accept a `size` input ('large' | 'small').
|
|
472
569
|
* @internal
|
|
473
570
|
*/
|
|
474
|
-
private
|
|
571
|
+
private createComponentLoadingRenderer;
|
|
475
572
|
/**
|
|
476
|
-
*
|
|
477
|
-
*
|
|
478
|
-
*
|
|
479
|
-
*
|
|
480
|
-
*
|
|
573
|
+
* Create an embedded view from a `TemplateRef` and append-track it on the
|
|
574
|
+
* adapter's view-ref pool so it is cleaned up on `destroy()` / `unmount()`.
|
|
575
|
+
* Public so feature secondary entries can mount Angular templates (e.g.
|
|
576
|
+
* master-detail rows, responsive cards) without reaching into the adapter's
|
|
577
|
+
* private `viewContainerRef` / `viewRefs`.
|
|
578
|
+
* @internal
|
|
481
579
|
*/
|
|
482
|
-
|
|
580
|
+
createTrackedEmbeddedView<TCtx>(template: TemplateRef<TCtx>, context: TCtx): EmbeddedViewRef<TCtx>;
|
|
483
581
|
/**
|
|
484
|
-
* Processes a
|
|
485
|
-
*
|
|
486
|
-
*
|
|
487
|
-
*
|
|
488
|
-
*
|
|
582
|
+
* Processes a GroupingColumnsConfig. Delegates to the feature config
|
|
583
|
+
* preprocessor installed by `@toolbox-web/grid-angular/features/grouping-columns`,
|
|
584
|
+
* which handles converting Angular component class references to actual
|
|
585
|
+
* renderer functions. Returns the input config unchanged if the feature
|
|
586
|
+
* is not imported.
|
|
489
587
|
*/
|
|
490
|
-
|
|
588
|
+
processGroupingColumnsConfig<TConfig>(config: TConfig): TConfig;
|
|
491
589
|
/**
|
|
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
|
|
590
|
+
* Processes a GroupingRowsConfig. Delegates to the feature config preprocessor
|
|
591
|
+
* installed by `@toolbox-web/grid-angular/features/grouping-rows`.
|
|
497
592
|
*/
|
|
498
|
-
|
|
593
|
+
processGroupingRowsConfig<TConfig>(config: TConfig): TConfig;
|
|
499
594
|
/**
|
|
500
|
-
*
|
|
501
|
-
*
|
|
502
|
-
* The component should accept inputs from PinnedRowsContext (totalRows, filteredRows,
|
|
503
|
-
* selectedRows, columns, rows, grid).
|
|
504
|
-
* @internal
|
|
595
|
+
* Processes a PinnedRowsConfig. Delegates to the feature config preprocessor
|
|
596
|
+
* installed by `@toolbox-web/grid-angular/features/pinned-rows`.
|
|
505
597
|
*/
|
|
506
|
-
|
|
598
|
+
processPinnedRowsConfig<TConfig>(config: TConfig): TConfig;
|
|
507
599
|
/**
|
|
508
|
-
*
|
|
509
|
-
*
|
|
510
|
-
* The component should accept a `size` input ('large' | 'small').
|
|
600
|
+
* Run a registered feature-config preprocessor against `config`, returning
|
|
601
|
+
* the original config unchanged when the feature is not imported.
|
|
511
602
|
* @internal
|
|
512
603
|
*/
|
|
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;
|
|
604
|
+
private applyFeatureConfigPreprocessor;
|
|
530
605
|
/**
|
|
531
606
|
* Sets component inputs using Angular's setInput API.
|
|
532
607
|
* @internal
|
|
@@ -554,18 +629,19 @@ declare class GridAdapter implements FrameworkAdapter {
|
|
|
554
629
|
*/
|
|
555
630
|
destroy(): void;
|
|
556
631
|
/**
|
|
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`
|
|
632
|
+
* Runs every registered {@link EditorMountHook} against a freshly mounted
|
|
633
|
+
* editor host once it has been parented to the grid. The grid is resolved
|
|
634
|
+
* lazily via `queueMicrotask` because the host is appended to the cell
|
|
635
|
+
* *after* the editor wrapper returns. Mirror of Vue's
|
|
636
|
+
* `attachBeforeEditCloseFlush` and React's `wrapReactEditor`
|
|
565
637
|
* queueMicrotask bridge.
|
|
638
|
+
*
|
|
639
|
+
* Without any feature imports the hook list is empty and this is a no-op
|
|
640
|
+
* — `before-edit-close` blur handling lives in
|
|
641
|
+
* `@toolbox-web/grid-angular/features/editing`.
|
|
566
642
|
* @internal
|
|
567
643
|
*/
|
|
568
|
-
private
|
|
644
|
+
private runEditorMountHooks;
|
|
569
645
|
}
|
|
570
646
|
|
|
571
647
|
/**
|
|
@@ -839,6 +915,16 @@ interface InjectGridReturn<TRow = unknown> {
|
|
|
839
915
|
unregisterStyles: (id: string) => void;
|
|
840
916
|
/** Get current visible columns */
|
|
841
917
|
visibleColumns: Signal<ColumnConfig$1<TRow>[]>;
|
|
918
|
+
/**
|
|
919
|
+
* Look up a plugin instance by its class constructor.
|
|
920
|
+
* Returns `undefined` if the plugin is not registered or the grid is not yet ready.
|
|
921
|
+
*/
|
|
922
|
+
getPlugin: <T>(pluginClass: new (...args: unknown[]) => T) => T | undefined;
|
|
923
|
+
/**
|
|
924
|
+
* Look up a plugin instance by its registered name (e.g. `'tooltip'`, `'undoRedo'`).
|
|
925
|
+
* Returns `undefined` if the plugin is not registered or the grid is not yet ready.
|
|
926
|
+
*/
|
|
927
|
+
getPluginByName: DataGridElement<TRow>['getPluginByName'];
|
|
842
928
|
}
|
|
843
929
|
/**
|
|
844
930
|
* Angular inject function for programmatic access to a grid instance.
|
|
@@ -949,6 +1035,11 @@ type FeatureName = 'selection' | 'editing' | 'clipboard' | 'contextMenu' | 'mult
|
|
|
949
1035
|
* ```
|
|
950
1036
|
*
|
|
951
1037
|
* @typeParam TRow - The row data type (available via `params().column`)
|
|
1038
|
+
*
|
|
1039
|
+
* MOVE-IN-V2: this class will physically move into
|
|
1040
|
+
* `@toolbox-web/grid-angular/features/filtering` in v2.0.0; the deprecated
|
|
1041
|
+
* re-export from the main `@toolbox-web/grid-angular` entry will be removed at
|
|
1042
|
+
* the same time. Consumers should already be importing from the feature entry.
|
|
952
1043
|
*/
|
|
953
1044
|
declare abstract class BaseFilterPanel implements FilterPanel {
|
|
954
1045
|
/**
|
|
@@ -1057,6 +1148,11 @@ declare abstract class BaseFilterPanel implements FilterPanel {
|
|
|
1057
1148
|
*
|
|
1058
1149
|
* @typeParam TRow - The row data type
|
|
1059
1150
|
* @typeParam TValue - The cell value type
|
|
1151
|
+
*
|
|
1152
|
+
* MOVE-IN-V2: this class will physically move into
|
|
1153
|
+
* `@toolbox-web/grid-angular/features/editing` in v2.0.0; the deprecated
|
|
1154
|
+
* re-export from the main `@toolbox-web/grid-angular` entry will be removed at
|
|
1155
|
+
* the same time. Consumers should already be importing from the feature entry.
|
|
1060
1156
|
*/
|
|
1061
1157
|
declare abstract class BaseGridEditor<TRow = unknown, TValue = unknown> {
|
|
1062
1158
|
protected readonly elementRef: ElementRef<any>;
|
|
@@ -1243,6 +1339,11 @@ declare abstract class BaseGridEditor<TRow = unknown, TValue = unknown> {
|
|
|
1243
1339
|
*
|
|
1244
1340
|
* @typeParam TRow - The row data type
|
|
1245
1341
|
* @typeParam TValue - The cell/control value type
|
|
1342
|
+
*
|
|
1343
|
+
* MOVE-IN-V2: this class will physically move into
|
|
1344
|
+
* `@toolbox-web/grid-angular/features/editing` in v2.0.0; the deprecated
|
|
1345
|
+
* re-export from the main `@toolbox-web/grid-angular` entry will be removed at
|
|
1346
|
+
* the same time. Consumers should already be importing from the feature entry.
|
|
1246
1347
|
*/
|
|
1247
1348
|
declare abstract class BaseGridEditorCVA<TRow = unknown, TValue = unknown> extends BaseGridEditor<TRow, TValue> implements ControlValueAccessor {
|
|
1248
1349
|
/** Internal onChange callback registered by the form control. */
|
|
@@ -1406,6 +1507,12 @@ type OverlayPosition = 'below' | 'above' | 'below-right' | 'over-top-left' | 'ov
|
|
|
1406
1507
|
*
|
|
1407
1508
|
* @typeParam TRow - The row data type
|
|
1408
1509
|
* @typeParam TValue - The cell value type
|
|
1510
|
+
*
|
|
1511
|
+
* MOVE-IN-V2: this class (and its companion `OverlayPosition` type) will
|
|
1512
|
+
* physically move into `@toolbox-web/grid-angular/features/editing` in v2.0.0;
|
|
1513
|
+
* the deprecated re-export from the main `@toolbox-web/grid-angular` entry
|
|
1514
|
+
* will be removed at the same time. Consumers should already be importing
|
|
1515
|
+
* from the feature entry.
|
|
1409
1516
|
*/
|
|
1410
1517
|
declare abstract class BaseOverlayEditor<TRow = unknown, TValue = unknown> extends BaseGridEditor<TRow, TValue> {
|
|
1411
1518
|
private readonly _elementRef;
|
|
@@ -1664,6 +1771,13 @@ interface GridEditorContext<TValue = unknown, TRow = unknown> {
|
|
|
1664
1771
|
* ```
|
|
1665
1772
|
*
|
|
1666
1773
|
* @category Directive
|
|
1774
|
+
*
|
|
1775
|
+
* MOVE-IN-V2: this directive (and its companion `GridEditorContext` type and
|
|
1776
|
+
* `getEditorTemplate` helper) will physically move into
|
|
1777
|
+
* `@toolbox-web/grid-angular/features/editing` in v2.0.0; the deprecated
|
|
1778
|
+
* re-exports from the main `@toolbox-web/grid-angular` entry will be removed
|
|
1779
|
+
* at the same time. Consumers should already be importing from the feature
|
|
1780
|
+
* entry.
|
|
1667
1781
|
*/
|
|
1668
1782
|
declare class GridColumnEditor {
|
|
1669
1783
|
private elementRef;
|
|
@@ -1794,6 +1908,11 @@ interface GridDetailContext<TRow = unknown> {
|
|
|
1794
1908
|
/** The row data (explicit binding) */
|
|
1795
1909
|
row: TRow;
|
|
1796
1910
|
}
|
|
1911
|
+
/**
|
|
1912
|
+
* Gets the detail template registered for a given grid element.
|
|
1913
|
+
* Used by AngularGridAdapter to retrieve templates at render time.
|
|
1914
|
+
*/
|
|
1915
|
+
declare function getDetailTemplate(gridElement: HTMLElement): TemplateRef<GridDetailContext> | undefined;
|
|
1797
1916
|
/**
|
|
1798
1917
|
* Directive that captures an `<ng-template>` for use as a master-detail row renderer.
|
|
1799
1918
|
*
|
|
@@ -1815,10 +1934,10 @@ interface GridDetailContext<TRow = unknown> {
|
|
|
1815
1934
|
* The template context provides:
|
|
1816
1935
|
* - `$implicit` / `row`: The full row data object
|
|
1817
1936
|
*
|
|
1818
|
-
* Import the directive
|
|
1937
|
+
* Import the directive from the master-detail feature entry:
|
|
1819
1938
|
*
|
|
1820
1939
|
* ```typescript
|
|
1821
|
-
* import { GridDetailView } from '@toolbox-web/grid-angular';
|
|
1940
|
+
* import { GridDetailView } from '@toolbox-web/grid-angular/features/master-detail';
|
|
1822
1941
|
*
|
|
1823
1942
|
* @Component({
|
|
1824
1943
|
* imports: [GridDetailView],
|
|
@@ -1826,6 +1945,10 @@ interface GridDetailContext<TRow = unknown> {
|
|
|
1826
1945
|
* })
|
|
1827
1946
|
* ```
|
|
1828
1947
|
*
|
|
1948
|
+
* > Note: `GridDetailView` is also re-exported from `@toolbox-web/grid-angular`
|
|
1949
|
+
* > for backwards compatibility, but that re-export is deprecated and will be
|
|
1950
|
+
* > removed in v2.0.0. Always import from the feature entry.
|
|
1951
|
+
*
|
|
1829
1952
|
* @example
|
|
1830
1953
|
* ```html
|
|
1831
1954
|
* <tbw-grid [rows]="rows" [gridConfig]="config">
|
|
@@ -1990,6 +2113,13 @@ declare function getFormArrayContext(gridElement: HTMLElement): FormArrayContext
|
|
|
1990
2113
|
* ```
|
|
1991
2114
|
*
|
|
1992
2115
|
* @category Directive
|
|
2116
|
+
*
|
|
2117
|
+
* MOVE-IN-V2: this directive (and its `FormArrayContext` type and
|
|
2118
|
+
* `getFormArrayContext` helper) will physically move into
|
|
2119
|
+
* `@toolbox-web/grid-angular/features/editing` in v2.0.0; the deprecated
|
|
2120
|
+
* re-exports from the main `@toolbox-web/grid-angular` entry will be removed
|
|
2121
|
+
* at the same time. Consumers should already be importing from the feature
|
|
2122
|
+
* entry.
|
|
1993
2123
|
*/
|
|
1994
2124
|
declare class GridFormArray implements OnInit, OnDestroy {
|
|
1995
2125
|
#private;
|
|
@@ -2169,6 +2299,13 @@ interface RowFormChangeEvent<TRow = unknown> {
|
|
|
2169
2299
|
*
|
|
2170
2300
|
* @see GridFormArray For small datasets with full upfront validation
|
|
2171
2301
|
* @category Directive
|
|
2302
|
+
*
|
|
2303
|
+
* MOVE-IN-V2: this directive (and its `LazyFormFactory`, `RowFormChangeEvent`
|
|
2304
|
+
* types and `getLazyFormContext` helper) will physically move into
|
|
2305
|
+
* `@toolbox-web/grid-angular/features/editing` in v2.0.0; the deprecated
|
|
2306
|
+
* re-exports from the main `@toolbox-web/grid-angular` entry will be removed
|
|
2307
|
+
* at the same time. Consumers should already be importing from the feature
|
|
2308
|
+
* entry.
|
|
2172
2309
|
*/
|
|
2173
2310
|
declare class GridLazyForm<TRow = unknown> implements OnInit, OnDestroy {
|
|
2174
2311
|
#private;
|
|
@@ -2281,6 +2418,13 @@ interface GridResponsiveCardContext<TRow = unknown> {
|
|
|
2281
2418
|
*/
|
|
2282
2419
|
index: number;
|
|
2283
2420
|
}
|
|
2421
|
+
/**
|
|
2422
|
+
* Retrieves the responsive card template for a grid element.
|
|
2423
|
+
*
|
|
2424
|
+
* @param gridElement - The grid element to look up
|
|
2425
|
+
* @returns The template reference or undefined if not found
|
|
2426
|
+
*/
|
|
2427
|
+
declare function getResponsiveCardTemplate(gridElement: HTMLElement): TemplateRef<GridResponsiveCardContext> | undefined;
|
|
2284
2428
|
/**
|
|
2285
2429
|
* Directive for providing custom Angular templates for responsive card layout.
|
|
2286
2430
|
*
|
|
@@ -2316,6 +2460,15 @@ interface GridResponsiveCardContext<TRow = unknown> {
|
|
|
2316
2460
|
*/
|
|
2317
2461
|
declare class GridResponsiveCard<TRow = unknown> {
|
|
2318
2462
|
private elementRef;
|
|
2463
|
+
/**
|
|
2464
|
+
* Card row height in pixels. Use `'auto'` for dynamic height based on content.
|
|
2465
|
+
*
|
|
2466
|
+
* Mirrors to the `card-row-height` attribute on the underlying
|
|
2467
|
+
* `<tbw-grid-responsive-card>` element which the ResponsivePlugin reads.
|
|
2468
|
+
*
|
|
2469
|
+
* @default 'auto'
|
|
2470
|
+
*/
|
|
2471
|
+
cardRowHeight: _angular_core.InputSignal<number | "auto" | undefined>;
|
|
2319
2472
|
/**
|
|
2320
2473
|
* The ng-template containing the card content.
|
|
2321
2474
|
*/
|
|
@@ -2324,12 +2477,17 @@ declare class GridResponsiveCard<TRow = unknown> {
|
|
|
2324
2477
|
* Effect that registers the template when it becomes available.
|
|
2325
2478
|
*/
|
|
2326
2479
|
private onTemplateReceived;
|
|
2480
|
+
/**
|
|
2481
|
+
* Effect that mirrors the `cardRowHeight` input to the kebab-cased attribute
|
|
2482
|
+
* read by the ResponsivePlugin.
|
|
2483
|
+
*/
|
|
2484
|
+
private onCardRowHeightChange;
|
|
2327
2485
|
/**
|
|
2328
2486
|
* Type guard for template context inference.
|
|
2329
2487
|
*/
|
|
2330
2488
|
static ngTemplateContextGuard<T>(_directive: GridResponsiveCard<T>, context: unknown): context is GridResponsiveCardContext<T>;
|
|
2331
2489
|
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>;
|
|
2490
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridResponsiveCard<any>, "tbw-grid-responsive-card", never, { "cardRowHeight": { "alias": "cardRowHeight"; "required": false; "isSignal": true; }; }, {}, ["template"], never, true, never>;
|
|
2333
2491
|
}
|
|
2334
2492
|
|
|
2335
2493
|
/**
|
|
@@ -2461,6 +2619,62 @@ declare class GridToolPanel {
|
|
|
2461
2619
|
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
2620
|
}
|
|
2463
2621
|
|
|
2622
|
+
/**
|
|
2623
|
+
* Column shorthand parsing for `@toolbox-web/grid-angular`.
|
|
2624
|
+
*
|
|
2625
|
+
* Intentionally duplicated across the React, Vue, and Angular adapters so each
|
|
2626
|
+
* adapter has zero shared-runtime dependency. Do not extract into a shared
|
|
2627
|
+
* package: the helpers are tiny (~100 lines), the duplication keeps each
|
|
2628
|
+
* adapter independently tree-shakeable, and a shared package would force
|
|
2629
|
+
* consumers to install an extra dep just to import shorthand support.
|
|
2630
|
+
*
|
|
2631
|
+
* If you change behavior here, mirror the change in `grid-react` and
|
|
2632
|
+
* `grid-vue`. The three implementations are kept byte-equivalent.
|
|
2633
|
+
*/
|
|
2634
|
+
|
|
2635
|
+
/**
|
|
2636
|
+
* Type for column shorthand notation.
|
|
2637
|
+
*
|
|
2638
|
+
* Supports:
|
|
2639
|
+
* - Simple string: `'name'` → `{ field: 'name', header: 'Name' }`
|
|
2640
|
+
* - With type: `'salary:number'` → `{ field: 'salary', header: 'Salary', type: 'number' }`
|
|
2641
|
+
* - Full config object: `{ field: 'id', header: 'ID', width: 80 }` (passed through)
|
|
2642
|
+
*
|
|
2643
|
+
* @example
|
|
2644
|
+
* ```typescript
|
|
2645
|
+
* // All equivalent:
|
|
2646
|
+
* const cols1 = ['id', 'name', 'email'];
|
|
2647
|
+
* const cols2 = ['id:number', 'name:string', 'email'];
|
|
2648
|
+
* const cols3 = [{ field: 'id' }, { field: 'name' }, { field: 'email' }];
|
|
2649
|
+
* ```
|
|
2650
|
+
*/
|
|
2651
|
+
type ColumnShorthand<TRow = unknown> = string | ColumnConfig$1<TRow>;
|
|
2652
|
+
/**
|
|
2653
|
+
* Parse a column shorthand string into a ColumnConfig.
|
|
2654
|
+
*
|
|
2655
|
+
* Supports formats:
|
|
2656
|
+
* - `'fieldName'` → `{ field: 'fieldName', header: 'Field Name' }`
|
|
2657
|
+
* - `'fieldName:type'` → `{ field: 'fieldName', header: 'Field Name', type: 'type' }`
|
|
2658
|
+
*
|
|
2659
|
+
* @param shorthand - The shorthand string (e.g., 'name', 'salary:number')
|
|
2660
|
+
* @returns A ColumnConfig object
|
|
2661
|
+
*/
|
|
2662
|
+
declare function parseColumnShorthand<TRow = unknown>(shorthand: string): ColumnConfig$1<TRow>;
|
|
2663
|
+
/**
|
|
2664
|
+
* Normalize an array of column shorthands to ColumnConfig objects.
|
|
2665
|
+
*
|
|
2666
|
+
* @param columns - Array of column shorthands (strings or ColumnConfig objects)
|
|
2667
|
+
* @returns Array of ColumnConfig objects
|
|
2668
|
+
*/
|
|
2669
|
+
declare function normalizeColumns<TRow = unknown>(columns: ColumnShorthand<TRow>[]): ColumnConfig$1<TRow>[];
|
|
2670
|
+
/**
|
|
2671
|
+
* Apply column defaults to a list of columns. Individual column properties
|
|
2672
|
+
* override defaults.
|
|
2673
|
+
*/
|
|
2674
|
+
declare function applyColumnDefaults<TRow = unknown>(columns: ColumnConfig$1<TRow>[], defaults: Partial<ColumnConfig$1<TRow>> | undefined): ColumnConfig$1<TRow>[];
|
|
2675
|
+
/** Check if an array of columns contains any shorthand strings. */
|
|
2676
|
+
declare function hasColumnShorthands<TRow>(columns: ColumnShorthand<TRow>[]): boolean;
|
|
2677
|
+
|
|
2464
2678
|
/**
|
|
2465
2679
|
* Event detail for cell commit events.
|
|
2466
2680
|
*/
|
|
@@ -2661,20 +2875,33 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2661
2875
|
/**
|
|
2662
2876
|
* Column configuration array.
|
|
2663
2877
|
*
|
|
2878
|
+
* Accepts either full `ColumnConfig` objects or shorthand strings such as
|
|
2879
|
+
* `'name'` or `'salary:number'`. Shorthands auto-generate human-readable
|
|
2880
|
+
* headers from the field name.
|
|
2881
|
+
*
|
|
2664
2882
|
* Shorthand for setting columns without wrapping them in a full `gridConfig`.
|
|
2665
2883
|
* If both `columns` and `gridConfig.columns` are set, `columns` takes precedence
|
|
2666
2884
|
* (see configuration precedence system).
|
|
2667
2885
|
*
|
|
2668
2886
|
* @example
|
|
2669
2887
|
* ```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
|
-
* ]" />
|
|
2888
|
+
* <tbw-grid [rows]="data" [columns]="['id:number', 'name', { field: 'status', editable: true }]" />
|
|
2675
2889
|
* ```
|
|
2676
2890
|
*/
|
|
2677
|
-
columns: _angular_core.InputSignal<
|
|
2891
|
+
columns: _angular_core.InputSignal<ColumnShorthand<any>[] | undefined>;
|
|
2892
|
+
/**
|
|
2893
|
+
* Default column properties applied to every column in `columns`.
|
|
2894
|
+
* Individual column properties override these defaults.
|
|
2895
|
+
*
|
|
2896
|
+
* @example
|
|
2897
|
+
* ```html
|
|
2898
|
+
* <tbw-grid
|
|
2899
|
+
* [columnDefaults]="{ sortable: true, resizable: true }"
|
|
2900
|
+
* [columns]="[{ field: 'id', sortable: false }, { field: 'name' }]"
|
|
2901
|
+
* />
|
|
2902
|
+
* ```
|
|
2903
|
+
*/
|
|
2904
|
+
columnDefaults: _angular_core.InputSignal<Partial<ColumnConfig<any>> | undefined>;
|
|
2678
2905
|
/**
|
|
2679
2906
|
* Column sizing strategy.
|
|
2680
2907
|
*
|
|
@@ -2744,6 +2971,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2744
2971
|
* <!-- Full config object -->
|
|
2745
2972
|
* <tbw-grid [selection]="{ mode: 'range', checkbox: true }" />
|
|
2746
2973
|
* ```
|
|
2974
|
+
*
|
|
2975
|
+
* @deprecated Use `GridSelectionDirective` from
|
|
2976
|
+
* `@toolbox-web/grid-angular/features/selection`. Will be removed in v2.0.0.
|
|
2747
2977
|
*/
|
|
2748
2978
|
selection: _angular_core.InputSignal<"row" | SelectionConfig<any> | "cell" | "range" | undefined>;
|
|
2749
2979
|
/**
|
|
@@ -2767,6 +2997,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2767
2997
|
* <!-- Full config with callbacks -->
|
|
2768
2998
|
* <tbw-grid [editing]="{ editOn: 'dblclick', onBeforeEditClose: myCallback }" />
|
|
2769
2999
|
* ```
|
|
3000
|
+
*
|
|
3001
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3002
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
2770
3003
|
*/
|
|
2771
3004
|
editing: _angular_core.InputSignal<boolean | "click" | "dblclick" | "manual" | EditingConfig | undefined>;
|
|
2772
3005
|
/**
|
|
@@ -2781,6 +3014,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2781
3014
|
* ```html
|
|
2782
3015
|
* <tbw-grid [selection]="'range'" [clipboard]="true" />
|
|
2783
3016
|
* ```
|
|
3017
|
+
*
|
|
3018
|
+
* @deprecated Use `GridClipboardDirective` from
|
|
3019
|
+
* `@toolbox-web/grid-angular/features/clipboard`. Will be removed in v2.0.0.
|
|
2784
3020
|
*/
|
|
2785
3021
|
clipboard: _angular_core.InputSignal<boolean | ClipboardConfig | undefined>;
|
|
2786
3022
|
/**
|
|
@@ -2795,6 +3031,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2795
3031
|
* ```html
|
|
2796
3032
|
* <tbw-grid [contextMenu]="true" />
|
|
2797
3033
|
* ```
|
|
3034
|
+
*
|
|
3035
|
+
* @deprecated Use `GridContextMenuDirective` from
|
|
3036
|
+
* `@toolbox-web/grid-angular/features/context-menu`. Will be removed in v2.0.0.
|
|
2798
3037
|
*/
|
|
2799
3038
|
contextMenu: _angular_core.InputSignal<boolean | ContextMenuConfig | undefined>;
|
|
2800
3039
|
/**
|
|
@@ -2819,6 +3058,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2819
3058
|
* <!-- Full config -->
|
|
2820
3059
|
* <tbw-grid [multiSort]="{ maxSortColumns: 3 }" />
|
|
2821
3060
|
* ```
|
|
3061
|
+
*
|
|
3062
|
+
* @deprecated Use `GridMultiSortDirective` from
|
|
3063
|
+
* `@toolbox-web/grid-angular/features/multi-sort`. Will be removed in v2.0.0.
|
|
2822
3064
|
*/
|
|
2823
3065
|
multiSort: _angular_core.InputSignal<boolean | "multi" | MultiSortConfig | "single" | undefined>;
|
|
2824
3066
|
/**
|
|
@@ -2834,6 +3076,13 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2834
3076
|
* <tbw-grid [filtering]="true" />
|
|
2835
3077
|
* <tbw-grid [filtering]="{ debounceMs: 200 }" />
|
|
2836
3078
|
* ```
|
|
3079
|
+
*
|
|
3080
|
+
* @deprecated Use `GridFilteringDirective` from
|
|
3081
|
+
* `@toolbox-web/grid-angular/features/filtering` and add it to your
|
|
3082
|
+
* component's `imports`. The directive owns the `filtering` input + the
|
|
3083
|
+
* `filterChange` output and lets the typed surface tree-shake away when
|
|
3084
|
+
* the feature is not imported. This input remains as a non-breaking shim
|
|
3085
|
+
* and will be removed in v2.0.0.
|
|
2837
3086
|
*/
|
|
2838
3087
|
filtering: _angular_core.InputSignal<boolean | FilterConfig<any> | undefined>;
|
|
2839
3088
|
/**
|
|
@@ -2848,6 +3097,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2848
3097
|
* ```html
|
|
2849
3098
|
* <tbw-grid [reorderColumns]="true" />
|
|
2850
3099
|
* ```
|
|
3100
|
+
*
|
|
3101
|
+
* @deprecated Use `GridReorderColumnsDirective` from
|
|
3102
|
+
* `@toolbox-web/grid-angular/features/reorder-columns`. Will be removed in v2.0.0.
|
|
2851
3103
|
*/
|
|
2852
3104
|
reorderColumns: _angular_core.InputSignal<boolean | ReorderConfig | undefined>;
|
|
2853
3105
|
/**
|
|
@@ -2862,6 +3114,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2862
3114
|
* ```html
|
|
2863
3115
|
* <tbw-grid [visibility]="true" />
|
|
2864
3116
|
* ```
|
|
3117
|
+
*
|
|
3118
|
+
* @deprecated Use `GridVisibilityDirective` from
|
|
3119
|
+
* `@toolbox-web/grid-angular/features/visibility`. Will be removed in v2.0.0.
|
|
2865
3120
|
*/
|
|
2866
3121
|
visibility: _angular_core.InputSignal<boolean | VisibilityConfig | undefined>;
|
|
2867
3122
|
/**
|
|
@@ -2881,6 +3136,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2881
3136
|
* { field: 'actions', pinned: 'right' }
|
|
2882
3137
|
* ]" />
|
|
2883
3138
|
* ```
|
|
3139
|
+
*
|
|
3140
|
+
* @deprecated Use `GridPinnedColumnsDirective` from
|
|
3141
|
+
* `@toolbox-web/grid-angular/features/pinned-columns`. Will be removed in v2.0.0.
|
|
2884
3142
|
*/
|
|
2885
3143
|
pinnedColumns: _angular_core.InputSignal<boolean | undefined>;
|
|
2886
3144
|
/**
|
|
@@ -2895,8 +3153,11 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2895
3153
|
* ```html
|
|
2896
3154
|
* <tbw-grid [groupingColumns]="true" />
|
|
2897
3155
|
* ```
|
|
3156
|
+
*
|
|
3157
|
+
* @deprecated Use `GridGroupingColumnsDirective` from
|
|
3158
|
+
* `@toolbox-web/grid-angular/features/grouping-columns`. Will be removed in v2.0.0.
|
|
2898
3159
|
*/
|
|
2899
|
-
groupingColumns: _angular_core.InputSignal<boolean | GroupingColumnsConfig
|
|
3160
|
+
groupingColumns: _angular_core.InputSignal<boolean | GroupingColumnsConfig | undefined>;
|
|
2900
3161
|
/**
|
|
2901
3162
|
* Enable horizontal column virtualization for wide grids.
|
|
2902
3163
|
*
|
|
@@ -2909,6 +3170,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2909
3170
|
* ```html
|
|
2910
3171
|
* <tbw-grid [columnVirtualization]="true" />
|
|
2911
3172
|
* ```
|
|
3173
|
+
*
|
|
3174
|
+
* @deprecated Use `GridColumnVirtualizationDirective` from
|
|
3175
|
+
* `@toolbox-web/grid-angular/features/column-virtualization`. Will be removed in v2.0.0.
|
|
2912
3176
|
*/
|
|
2913
3177
|
columnVirtualization: _angular_core.InputSignal<boolean | ColumnVirtualizationConfig | undefined>;
|
|
2914
3178
|
/**
|
|
@@ -2934,6 +3198,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2934
3198
|
* ```html
|
|
2935
3199
|
* <tbw-grid [rowDragDrop]="{ dropZone: 'employees', operation: 'move' }" />
|
|
2936
3200
|
* ```
|
|
3201
|
+
*
|
|
3202
|
+
* @deprecated Use `GridRowDragDropDirective` from
|
|
3203
|
+
* `@toolbox-web/grid-angular/features/row-drag-drop`. Will be removed in v2.0.0.
|
|
2937
3204
|
*/
|
|
2938
3205
|
rowDragDrop: _angular_core.InputSignal<boolean | RowDragDropConfig<any> | undefined>;
|
|
2939
3206
|
/**
|
|
@@ -2948,8 +3215,11 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2948
3215
|
* ```html
|
|
2949
3216
|
* <tbw-grid [groupingRows]="{ groupBy: ['department'] }" />
|
|
2950
3217
|
* ```
|
|
3218
|
+
*
|
|
3219
|
+
* @deprecated Use `GridGroupingRowsDirective` from
|
|
3220
|
+
* `@toolbox-web/grid-angular/features/grouping-rows`. Will be removed in v2.0.0.
|
|
2951
3221
|
*/
|
|
2952
|
-
groupingRows: _angular_core.InputSignal<GroupingRowsConfig
|
|
3222
|
+
groupingRows: _angular_core.InputSignal<GroupingRowsConfig | undefined>;
|
|
2953
3223
|
/**
|
|
2954
3224
|
* Enable pinned rows (aggregation/status bar).
|
|
2955
3225
|
*
|
|
@@ -2962,8 +3232,11 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2962
3232
|
* ```html
|
|
2963
3233
|
* <tbw-grid [pinnedRows]="{ bottom: [{ type: 'aggregation' }] }" />
|
|
2964
3234
|
* ```
|
|
3235
|
+
*
|
|
3236
|
+
* @deprecated Use `GridPinnedRowsDirective` from
|
|
3237
|
+
* `@toolbox-web/grid-angular/features/pinned-rows`. Will be removed in v2.0.0.
|
|
2965
3238
|
*/
|
|
2966
|
-
pinnedRows: _angular_core.InputSignal<boolean | PinnedRowsConfig
|
|
3239
|
+
pinnedRows: _angular_core.InputSignal<boolean | PinnedRowsConfig | undefined>;
|
|
2967
3240
|
/**
|
|
2968
3241
|
* Enable hierarchical tree view.
|
|
2969
3242
|
*
|
|
@@ -2976,6 +3249,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2976
3249
|
* ```html
|
|
2977
3250
|
* <tbw-grid [tree]="{ childrenField: 'children' }" />
|
|
2978
3251
|
* ```
|
|
3252
|
+
*
|
|
3253
|
+
* @deprecated Use `GridTreeDirective` from
|
|
3254
|
+
* `@toolbox-web/grid-angular/features/tree`. Will be removed in v2.0.0.
|
|
2979
3255
|
*/
|
|
2980
3256
|
tree: _angular_core.InputSignal<boolean | TreeConfig | undefined>;
|
|
2981
3257
|
/**
|
|
@@ -2990,6 +3266,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
2990
3266
|
* ```html
|
|
2991
3267
|
* <tbw-grid [masterDetail]="{ detailRenderer: detailFn }" />
|
|
2992
3268
|
* ```
|
|
3269
|
+
*
|
|
3270
|
+
* @deprecated Use `GridMasterDetailDirective` from
|
|
3271
|
+
* `@toolbox-web/grid-angular/features/master-detail`. Will be removed in v2.0.0.
|
|
2993
3272
|
*/
|
|
2994
3273
|
masterDetail: _angular_core.InputSignal<MasterDetailConfig | undefined>;
|
|
2995
3274
|
/**
|
|
@@ -3004,6 +3283,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3004
3283
|
* ```html
|
|
3005
3284
|
* <tbw-grid [responsive]="{ breakpoint: 768 }" />
|
|
3006
3285
|
* ```
|
|
3286
|
+
*
|
|
3287
|
+
* @deprecated Use `GridResponsiveDirective` from
|
|
3288
|
+
* `@toolbox-web/grid-angular/features/responsive`. Will be removed in v2.0.0.
|
|
3007
3289
|
*/
|
|
3008
3290
|
responsive: _angular_core.InputSignal<boolean | ResponsivePluginConfig<unknown> | undefined>;
|
|
3009
3291
|
/**
|
|
@@ -3018,6 +3300,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3018
3300
|
* ```html
|
|
3019
3301
|
* <tbw-grid [editing]="'dblclick'" [undoRedo]="true" />
|
|
3020
3302
|
* ```
|
|
3303
|
+
*
|
|
3304
|
+
* @deprecated Use `GridUndoRedoDirective` from
|
|
3305
|
+
* `@toolbox-web/grid-angular/features/undo-redo`. Will be removed in v2.0.0.
|
|
3021
3306
|
*/
|
|
3022
3307
|
undoRedo: _angular_core.InputSignal<boolean | UndoRedoConfig | undefined>;
|
|
3023
3308
|
/**
|
|
@@ -3033,6 +3318,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3033
3318
|
* <tbw-grid [export]="true" />
|
|
3034
3319
|
* <tbw-grid [export]="{ filename: 'data.csv' }" />
|
|
3035
3320
|
* ```
|
|
3321
|
+
*
|
|
3322
|
+
* @deprecated Use `GridExportDirective` from
|
|
3323
|
+
* `@toolbox-web/grid-angular/features/export`. Will be removed in v2.0.0.
|
|
3036
3324
|
*/
|
|
3037
3325
|
exportFeature: _angular_core.InputSignal<boolean | ExportConfig | undefined>;
|
|
3038
3326
|
/**
|
|
@@ -3047,6 +3335,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3047
3335
|
* ```html
|
|
3048
3336
|
* <tbw-grid [print]="true" />
|
|
3049
3337
|
* ```
|
|
3338
|
+
*
|
|
3339
|
+
* @deprecated Use `GridPrintDirective` from
|
|
3340
|
+
* `@toolbox-web/grid-angular/features/print`. Will be removed in v2.0.0.
|
|
3050
3341
|
*/
|
|
3051
3342
|
print: _angular_core.InputSignal<boolean | PrintConfig | undefined>;
|
|
3052
3343
|
/**
|
|
@@ -3061,6 +3352,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3061
3352
|
* ```html
|
|
3062
3353
|
* <tbw-grid [pivot]="{ rowFields: ['category'], valueField: 'sales' }" />
|
|
3063
3354
|
* ```
|
|
3355
|
+
*
|
|
3356
|
+
* @deprecated Use `GridPivotDirective` from
|
|
3357
|
+
* `@toolbox-web/grid-angular/features/pivot`. Will be removed in v2.0.0.
|
|
3064
3358
|
*/
|
|
3065
3359
|
pivot: _angular_core.InputSignal<PivotConfig | undefined>;
|
|
3066
3360
|
/**
|
|
@@ -3075,6 +3369,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3075
3369
|
* ```html
|
|
3076
3370
|
* <tbw-grid [serverSide]="{ dataSource: fetchDataFn }" />
|
|
3077
3371
|
* ```
|
|
3372
|
+
*
|
|
3373
|
+
* @deprecated Use `GridServerSideDirective` from
|
|
3374
|
+
* `@toolbox-web/grid-angular/features/server-side`. Will be removed in v2.0.0.
|
|
3078
3375
|
*/
|
|
3079
3376
|
serverSide: _angular_core.InputSignal<ServerSideConfig | undefined>;
|
|
3080
3377
|
/**
|
|
@@ -3085,6 +3382,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3085
3382
|
* <tbw-grid [tooltip]="true" />
|
|
3086
3383
|
* <tbw-grid [tooltip]="{ header: true, cell: false }" />
|
|
3087
3384
|
* ```
|
|
3385
|
+
*
|
|
3386
|
+
* @deprecated Use `GridTooltipDirective` from
|
|
3387
|
+
* `@toolbox-web/grid-angular/features/tooltip`. Will be removed in v2.0.0.
|
|
3088
3388
|
*/
|
|
3089
3389
|
tooltip: _angular_core.InputSignal<boolean | TooltipConfig | undefined>;
|
|
3090
3390
|
/**
|
|
@@ -3137,8 +3437,81 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3137
3437
|
* console.log(`Changed ${event.field} to ${event.value} in row ${event.rowIndex}`);
|
|
3138
3438
|
* }
|
|
3139
3439
|
* ```
|
|
3440
|
+
*
|
|
3441
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3442
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
3140
3443
|
*/
|
|
3141
3444
|
cellCommit: _angular_core.OutputEmitterRef<CellCommitEvent<unknown, unknown>>;
|
|
3445
|
+
/**
|
|
3446
|
+
* Emitted when a cell edit is cancelled (Escape, click outside without
|
|
3447
|
+
* commit, or `editor.cancel()`).
|
|
3448
|
+
*
|
|
3449
|
+
* @example
|
|
3450
|
+
* ```html
|
|
3451
|
+
* <tbw-grid (cellCancel)="onCellCancel($event)">...</tbw-grid>
|
|
3452
|
+
* ```
|
|
3453
|
+
*
|
|
3454
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3455
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
3456
|
+
*/
|
|
3457
|
+
cellCancel: _angular_core.OutputEmitterRef<CellCancelDetail>;
|
|
3458
|
+
/**
|
|
3459
|
+
* Emitted when a cell editor opens.
|
|
3460
|
+
*
|
|
3461
|
+
* @example
|
|
3462
|
+
* ```html
|
|
3463
|
+
* <tbw-grid (editOpen)="onEditOpen($event)">...</tbw-grid>
|
|
3464
|
+
* ```
|
|
3465
|
+
*
|
|
3466
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3467
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
3468
|
+
*/
|
|
3469
|
+
editOpen: _angular_core.OutputEmitterRef<EditOpenDetail<any>>;
|
|
3470
|
+
/**
|
|
3471
|
+
* Emitted before an editor closes. Useful for last-chance validation.
|
|
3472
|
+
*
|
|
3473
|
+
* @example
|
|
3474
|
+
* ```html
|
|
3475
|
+
* <tbw-grid (beforeEditClose)="onBeforeEditClose($event)">...</tbw-grid>
|
|
3476
|
+
* ```
|
|
3477
|
+
*
|
|
3478
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3479
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
3480
|
+
*/
|
|
3481
|
+
beforeEditClose: _angular_core.OutputEmitterRef<BeforeEditCloseDetail<any>>;
|
|
3482
|
+
/**
|
|
3483
|
+
* Emitted after an editor closes (whether committed or cancelled).
|
|
3484
|
+
*
|
|
3485
|
+
* @example
|
|
3486
|
+
* ```html
|
|
3487
|
+
* <tbw-grid (editClose)="onEditClose($event)">...</tbw-grid>
|
|
3488
|
+
* ```
|
|
3489
|
+
*
|
|
3490
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3491
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
3492
|
+
*/
|
|
3493
|
+
editClose: _angular_core.OutputEmitterRef<EditCloseDetail<any>>;
|
|
3494
|
+
/**
|
|
3495
|
+
* Emitted when the dirty / changed-rows state transitions.
|
|
3496
|
+
*
|
|
3497
|
+
* @example
|
|
3498
|
+
* ```html
|
|
3499
|
+
* <tbw-grid (dirtyChange)="onDirtyChange($event)">...</tbw-grid>
|
|
3500
|
+
* ```
|
|
3501
|
+
*
|
|
3502
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3503
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
3504
|
+
*/
|
|
3505
|
+
dirtyChange: _angular_core.OutputEmitterRef<DirtyChangeDetail<any>>;
|
|
3506
|
+
/**
|
|
3507
|
+
* Emitted when row data is replaced (e.g. via the `rows` setter).
|
|
3508
|
+
*
|
|
3509
|
+
* @example
|
|
3510
|
+
* ```html
|
|
3511
|
+
* <tbw-grid (dataChange)="onDataChange($event)">...</tbw-grid>
|
|
3512
|
+
* ```
|
|
3513
|
+
*/
|
|
3514
|
+
dataChange: _angular_core.OutputEmitterRef<DataChangeDetail>;
|
|
3142
3515
|
/**
|
|
3143
3516
|
* Emitted when a row's values are committed (bulk/row editing).
|
|
3144
3517
|
* Provides the row data and change tracking information.
|
|
@@ -3147,6 +3520,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3147
3520
|
* ```html
|
|
3148
3521
|
* <tbw-grid (rowCommit)="onRowCommit($event)">...</tbw-grid>
|
|
3149
3522
|
* ```
|
|
3523
|
+
*
|
|
3524
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3525
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
3150
3526
|
*/
|
|
3151
3527
|
rowCommit: _angular_core.OutputEmitterRef<RowCommitEvent<unknown>>;
|
|
3152
3528
|
/**
|
|
@@ -3156,6 +3532,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3156
3532
|
* ```html
|
|
3157
3533
|
* <tbw-grid (changedRowsReset)="onChangedRowsReset($event)">...</tbw-grid>
|
|
3158
3534
|
* ```
|
|
3535
|
+
*
|
|
3536
|
+
* @deprecated Use `GridEditingDirective` from
|
|
3537
|
+
* `@toolbox-web/grid-angular/features/editing`. Will be removed in v2.0.0.
|
|
3159
3538
|
*/
|
|
3160
3539
|
changedRowsReset: _angular_core.OutputEmitterRef<ChangedRowsResetDetail<unknown>>;
|
|
3161
3540
|
/**
|
|
@@ -3174,6 +3553,11 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3174
3553
|
* ```html
|
|
3175
3554
|
* <tbw-grid (filterChange)="onFilterChange($event)">...</tbw-grid>
|
|
3176
3555
|
* ```
|
|
3556
|
+
*
|
|
3557
|
+
* @deprecated Use `GridFilteringDirective` from
|
|
3558
|
+
* `@toolbox-web/grid-angular/features/filtering` (the directive
|
|
3559
|
+
* declares the `(filterChange)` output). This output remains as a
|
|
3560
|
+
* non-breaking shim and will be removed in v2.0.0.
|
|
3177
3561
|
*/
|
|
3178
3562
|
filterChange: _angular_core.OutputEmitterRef<FilterChangeDetail>;
|
|
3179
3563
|
/**
|
|
@@ -3185,6 +3569,15 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3185
3569
|
* ```
|
|
3186
3570
|
*/
|
|
3187
3571
|
columnResize: _angular_core.OutputEmitterRef<ColumnResizeDetail>;
|
|
3572
|
+
/**
|
|
3573
|
+
* Emitted when a column's width is reset (double-click on the resize handle).
|
|
3574
|
+
*
|
|
3575
|
+
* @example
|
|
3576
|
+
* ```html
|
|
3577
|
+
* <tbw-grid (columnResizeReset)="onColumnResizeReset($event)">...</tbw-grid>
|
|
3578
|
+
* ```
|
|
3579
|
+
*/
|
|
3580
|
+
columnResizeReset: _angular_core.OutputEmitterRef<ColumnResizeResetDetail>;
|
|
3188
3581
|
/**
|
|
3189
3582
|
* Emitted when a column is moved via drag-and-drop.
|
|
3190
3583
|
*
|
|
@@ -3192,15 +3585,23 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3192
3585
|
* ```html
|
|
3193
3586
|
* <tbw-grid (columnMove)="onColumnMove($event)">...</tbw-grid>
|
|
3194
3587
|
* ```
|
|
3588
|
+
*
|
|
3589
|
+
* @deprecated Use `GridReorderColumnsDirective` from
|
|
3590
|
+
* `@toolbox-web/grid-angular/features/reorder-columns`. Will be removed in v2.0.0.
|
|
3195
3591
|
*/
|
|
3196
3592
|
columnMove: _angular_core.OutputEmitterRef<ColumnMoveDetail>;
|
|
3197
3593
|
/**
|
|
3198
|
-
* Emitted when column visibility
|
|
3594
|
+
* Emitted when a column is shown or hidden — either via the visibility
|
|
3595
|
+
* sidebar, `grid.toggleColumnVisibility(field)`, `grid.setColumnVisible(field, visible)`,
|
|
3596
|
+
* or `grid.showAllColumns()`.
|
|
3199
3597
|
*
|
|
3200
3598
|
* @example
|
|
3201
3599
|
* ```html
|
|
3202
3600
|
* <tbw-grid (columnVisibility)="onColumnVisibility($event)">...</tbw-grid>
|
|
3203
3601
|
* ```
|
|
3602
|
+
*
|
|
3603
|
+
* @deprecated Use `GridVisibilityDirective` from
|
|
3604
|
+
* `@toolbox-web/grid-angular/features/visibility`. Will be removed in v2.0.0.
|
|
3204
3605
|
*/
|
|
3205
3606
|
columnVisibility: _angular_core.OutputEmitterRef<ColumnVisibilityDetail>;
|
|
3206
3607
|
/**
|
|
@@ -3219,6 +3620,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3219
3620
|
* ```html
|
|
3220
3621
|
* <tbw-grid (selectionChange)="onSelectionChange($event)">...</tbw-grid>
|
|
3221
3622
|
* ```
|
|
3623
|
+
*
|
|
3624
|
+
* @deprecated Use `GridSelectionDirective` from
|
|
3625
|
+
* `@toolbox-web/grid-angular/features/selection`. Will be removed in v2.0.0.
|
|
3222
3626
|
*/
|
|
3223
3627
|
selectionChange: _angular_core.OutputEmitterRef<SelectionChangeDetail>;
|
|
3224
3628
|
/**
|
|
@@ -3228,6 +3632,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3228
3632
|
* ```html
|
|
3229
3633
|
* <tbw-grid (rowMove)="onRowMove($event)">...</tbw-grid>
|
|
3230
3634
|
* ```
|
|
3635
|
+
*
|
|
3636
|
+
* @deprecated Use `GridRowDragDropDirective` from
|
|
3637
|
+
* `@toolbox-web/grid-angular/features/row-drag-drop`. Will be removed in v2.0.0.
|
|
3231
3638
|
*/
|
|
3232
3639
|
rowMove: _angular_core.OutputEmitterRef<RowMoveDetail<any>>;
|
|
3233
3640
|
/**
|
|
@@ -3237,20 +3644,32 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3237
3644
|
* ```html
|
|
3238
3645
|
* <tbw-grid (rowDragStart)="onRowDragStart($event)">...</tbw-grid>
|
|
3239
3646
|
* ```
|
|
3647
|
+
*
|
|
3648
|
+
* @deprecated Use `GridRowDragDropDirective` from
|
|
3649
|
+
* `@toolbox-web/grid-angular/features/row-drag-drop`. Will be removed in v2.0.0.
|
|
3240
3650
|
*/
|
|
3241
3651
|
rowDragStart: _angular_core.OutputEmitterRef<RowDragStartDetail<any>>;
|
|
3242
3652
|
/**
|
|
3243
3653
|
* Emitted when a row drag ends (after drop or cancel).
|
|
3654
|
+
*
|
|
3655
|
+
* @deprecated Use `GridRowDragDropDirective` from
|
|
3656
|
+
* `@toolbox-web/grid-angular/features/row-drag-drop`. Will be removed in v2.0.0.
|
|
3244
3657
|
*/
|
|
3245
3658
|
rowDragEnd: _angular_core.OutputEmitterRef<RowDragEndDetail<any>>;
|
|
3246
3659
|
/**
|
|
3247
3660
|
* Emitted on the target grid when rows are dropped from another grid.
|
|
3248
3661
|
* Cancelable via `event.preventDefault()`.
|
|
3662
|
+
*
|
|
3663
|
+
* @deprecated Use `GridRowDragDropDirective` from
|
|
3664
|
+
* `@toolbox-web/grid-angular/features/row-drag-drop`. Will be removed in v2.0.0.
|
|
3249
3665
|
*/
|
|
3250
3666
|
rowDrop: _angular_core.OutputEmitterRef<RowDropDetail<any>>;
|
|
3251
3667
|
/**
|
|
3252
3668
|
* Emitted on BOTH source and target grids after a successful cross-grid
|
|
3253
3669
|
* row transfer.
|
|
3670
|
+
*
|
|
3671
|
+
* @deprecated Use `GridRowDragDropDirective` from
|
|
3672
|
+
* `@toolbox-web/grid-angular/features/row-drag-drop`. Will be removed in v2.0.0.
|
|
3254
3673
|
*/
|
|
3255
3674
|
rowTransfer: _angular_core.OutputEmitterRef<RowTransferDetail<any>>;
|
|
3256
3675
|
/**
|
|
@@ -3260,8 +3679,35 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3260
3679
|
* ```html
|
|
3261
3680
|
* <tbw-grid (groupToggle)="onGroupToggle($event)">...</tbw-grid>
|
|
3262
3681
|
* ```
|
|
3682
|
+
*
|
|
3683
|
+
* @deprecated Use `GridGroupingRowsDirective` from
|
|
3684
|
+
* `@toolbox-web/grid-angular/features/grouping-rows`. Will be removed in v2.0.0.
|
|
3263
3685
|
*/
|
|
3264
3686
|
groupToggle: _angular_core.OutputEmitterRef<GroupToggleDetail>;
|
|
3687
|
+
/**
|
|
3688
|
+
* Emitted when a group is expanded.
|
|
3689
|
+
*
|
|
3690
|
+
* @example
|
|
3691
|
+
* ```html
|
|
3692
|
+
* <tbw-grid (groupExpand)="onGroupExpand($event)">...</tbw-grid>
|
|
3693
|
+
* ```
|
|
3694
|
+
*
|
|
3695
|
+
* @deprecated Use `GridGroupingRowsDirective` from
|
|
3696
|
+
* `@toolbox-web/grid-angular/features/grouping-rows`. Will be removed in v2.0.0.
|
|
3697
|
+
*/
|
|
3698
|
+
groupExpand: _angular_core.OutputEmitterRef<GroupExpandDetail>;
|
|
3699
|
+
/**
|
|
3700
|
+
* Emitted when a group is collapsed.
|
|
3701
|
+
*
|
|
3702
|
+
* @example
|
|
3703
|
+
* ```html
|
|
3704
|
+
* <tbw-grid (groupCollapse)="onGroupCollapse($event)">...</tbw-grid>
|
|
3705
|
+
* ```
|
|
3706
|
+
*
|
|
3707
|
+
* @deprecated Use `GridGroupingRowsDirective` from
|
|
3708
|
+
* `@toolbox-web/grid-angular/features/grouping-rows`. Will be removed in v2.0.0.
|
|
3709
|
+
*/
|
|
3710
|
+
groupCollapse: _angular_core.OutputEmitterRef<GroupCollapseDetail>;
|
|
3265
3711
|
/**
|
|
3266
3712
|
* Emitted when a tree node is expanded.
|
|
3267
3713
|
*
|
|
@@ -3269,6 +3715,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3269
3715
|
* ```html
|
|
3270
3716
|
* <tbw-grid (treeExpand)="onTreeExpand($event)">...</tbw-grid>
|
|
3271
3717
|
* ```
|
|
3718
|
+
*
|
|
3719
|
+
* @deprecated Use `GridTreeDirective` from
|
|
3720
|
+
* `@toolbox-web/grid-angular/features/tree`. Will be removed in v2.0.0.
|
|
3272
3721
|
*/
|
|
3273
3722
|
treeExpand: _angular_core.OutputEmitterRef<TreeExpandDetail<any>>;
|
|
3274
3723
|
/**
|
|
@@ -3278,6 +3727,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3278
3727
|
* ```html
|
|
3279
3728
|
* <tbw-grid (detailExpand)="onDetailExpand($event)">...</tbw-grid>
|
|
3280
3729
|
* ```
|
|
3730
|
+
*
|
|
3731
|
+
* @deprecated Use `GridMasterDetailDirective` from
|
|
3732
|
+
* `@toolbox-web/grid-angular/features/master-detail`. Will be removed in v2.0.0.
|
|
3281
3733
|
*/
|
|
3282
3734
|
detailExpand: _angular_core.OutputEmitterRef<DetailExpandDetail>;
|
|
3283
3735
|
/**
|
|
@@ -3287,8 +3739,23 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3287
3739
|
* ```html
|
|
3288
3740
|
* <tbw-grid (responsiveChange)="onResponsiveChange($event)">...</tbw-grid>
|
|
3289
3741
|
* ```
|
|
3742
|
+
*
|
|
3743
|
+
* @deprecated Use `GridResponsiveDirective` from
|
|
3744
|
+
* `@toolbox-web/grid-angular/features/responsive`. Will be removed in v2.0.0.
|
|
3290
3745
|
*/
|
|
3291
3746
|
responsiveChange: _angular_core.OutputEmitterRef<ResponsiveChangeDetail>;
|
|
3747
|
+
/**
|
|
3748
|
+
* Emitted when the context menu opens.
|
|
3749
|
+
*
|
|
3750
|
+
* @example
|
|
3751
|
+
* ```html
|
|
3752
|
+
* <tbw-grid (contextMenuOpen)="onContextMenuOpen($event)">...</tbw-grid>
|
|
3753
|
+
* ```
|
|
3754
|
+
*
|
|
3755
|
+
* @deprecated Use `GridContextMenuDirective` from
|
|
3756
|
+
* `@toolbox-web/grid-angular/features/context-menu`. Will be removed in v2.0.0.
|
|
3757
|
+
*/
|
|
3758
|
+
contextMenuOpen: _angular_core.OutputEmitterRef<ContextMenuOpenDetail>;
|
|
3292
3759
|
/**
|
|
3293
3760
|
* Emitted when cells are copied to clipboard.
|
|
3294
3761
|
*
|
|
@@ -3296,6 +3763,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3296
3763
|
* ```html
|
|
3297
3764
|
* <tbw-grid (copy)="onCopy($event)">...</tbw-grid>
|
|
3298
3765
|
* ```
|
|
3766
|
+
*
|
|
3767
|
+
* @deprecated Use `GridClipboardDirective` from
|
|
3768
|
+
* `@toolbox-web/grid-angular/features/clipboard`. Will be removed in v2.0.0.
|
|
3299
3769
|
*/
|
|
3300
3770
|
copy: _angular_core.OutputEmitterRef<CopyDetail>;
|
|
3301
3771
|
/**
|
|
@@ -3305,17 +3775,35 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3305
3775
|
* ```html
|
|
3306
3776
|
* <tbw-grid (paste)="onPaste($event)">...</tbw-grid>
|
|
3307
3777
|
* ```
|
|
3778
|
+
*
|
|
3779
|
+
* @deprecated Use `GridClipboardDirective` from
|
|
3780
|
+
* `@toolbox-web/grid-angular/features/clipboard`. Will be removed in v2.0.0.
|
|
3308
3781
|
*/
|
|
3309
3782
|
paste: _angular_core.OutputEmitterRef<PasteDetail>;
|
|
3310
3783
|
/**
|
|
3311
|
-
* Emitted when undo
|
|
3784
|
+
* Emitted when an undo action is performed.
|
|
3312
3785
|
*
|
|
3313
3786
|
* @example
|
|
3314
3787
|
* ```html
|
|
3315
|
-
* <tbw-grid (
|
|
3788
|
+
* <tbw-grid (undo)="onUndo($event)">...</tbw-grid>
|
|
3316
3789
|
* ```
|
|
3790
|
+
*
|
|
3791
|
+
* @deprecated Use `GridUndoRedoDirective` from
|
|
3792
|
+
* `@toolbox-web/grid-angular/features/undo-redo`. Will be removed in v2.0.0.
|
|
3317
3793
|
*/
|
|
3318
|
-
|
|
3794
|
+
undo: _angular_core.OutputEmitterRef<UndoRedoDetail>;
|
|
3795
|
+
/**
|
|
3796
|
+
* Emitted when a redo action is performed.
|
|
3797
|
+
*
|
|
3798
|
+
* @example
|
|
3799
|
+
* ```html
|
|
3800
|
+
* <tbw-grid (redo)="onRedo($event)">...</tbw-grid>
|
|
3801
|
+
* ```
|
|
3802
|
+
*
|
|
3803
|
+
* @deprecated Use `GridUndoRedoDirective` from
|
|
3804
|
+
* `@toolbox-web/grid-angular/features/undo-redo`. Will be removed in v2.0.0.
|
|
3805
|
+
*/
|
|
3806
|
+
redo: _angular_core.OutputEmitterRef<UndoRedoDetail>;
|
|
3319
3807
|
/**
|
|
3320
3808
|
* Emitted when export completes.
|
|
3321
3809
|
*
|
|
@@ -3323,6 +3811,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3323
3811
|
* ```html
|
|
3324
3812
|
* <tbw-grid (exportComplete)="onExportComplete($event)">...</tbw-grid>
|
|
3325
3813
|
* ```
|
|
3814
|
+
*
|
|
3815
|
+
* @deprecated Use `GridExportDirective` from
|
|
3816
|
+
* `@toolbox-web/grid-angular/features/export`. Will be removed in v2.0.0.
|
|
3326
3817
|
*/
|
|
3327
3818
|
exportComplete: _angular_core.OutputEmitterRef<ExportCompleteDetail>;
|
|
3328
3819
|
/**
|
|
@@ -3332,6 +3823,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3332
3823
|
* ```html
|
|
3333
3824
|
* <tbw-grid (printStart)="onPrintStart($event)">...</tbw-grid>
|
|
3334
3825
|
* ```
|
|
3826
|
+
*
|
|
3827
|
+
* @deprecated Use `GridPrintDirective` from
|
|
3828
|
+
* `@toolbox-web/grid-angular/features/print`. Will be removed in v2.0.0.
|
|
3335
3829
|
*/
|
|
3336
3830
|
printStart: _angular_core.OutputEmitterRef<PrintStartDetail>;
|
|
3337
3831
|
/**
|
|
@@ -3341,6 +3835,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3341
3835
|
* ```html
|
|
3342
3836
|
* <tbw-grid (printComplete)="onPrintComplete($event)">...</tbw-grid>
|
|
3343
3837
|
* ```
|
|
3838
|
+
*
|
|
3839
|
+
* @deprecated Use `GridPrintDirective` from
|
|
3840
|
+
* `@toolbox-web/grid-angular/features/print`. Will be removed in v2.0.0.
|
|
3344
3841
|
*/
|
|
3345
3842
|
printComplete: _angular_core.OutputEmitterRef<PrintCompleteDetail>;
|
|
3346
3843
|
/**
|
|
@@ -3360,15 +3857,37 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3360
3857
|
*/
|
|
3361
3858
|
tbwScroll: _angular_core.OutputEmitterRef<TbwScrollDetail>;
|
|
3362
3859
|
private readonly eventOutputMap;
|
|
3860
|
+
/** Events deliberately not exposed as Angular outputs. Keep empty unless documented. */
|
|
3861
|
+
private _intentionallyOmittedEvents;
|
|
3862
|
+
private _assertEventOutputMapCoversCore;
|
|
3363
3863
|
private eventListeners;
|
|
3364
3864
|
ngOnInit(): void;
|
|
3365
3865
|
/**
|
|
3366
3866
|
* Sets up event listeners for all outputs using the eventOutputMap.
|
|
3867
|
+
*
|
|
3868
|
+
* Hybrid v1.x / v2 ownership: events claimed by an attribute-selector
|
|
3869
|
+
* feature directive (via `claimEvent` in `feature-claims.ts`) are skipped
|
|
3870
|
+
* here so the directive's own `output()` is the sole emitter. Without
|
|
3871
|
+
* this skip both this directive's deprecated output and the directive's
|
|
3872
|
+
* new output would fire for the same DOM event.
|
|
3367
3873
|
*/
|
|
3368
3874
|
private setupEventListeners;
|
|
3369
3875
|
/**
|
|
3370
3876
|
* Creates plugins from feature inputs.
|
|
3371
3877
|
* Uses the feature registry to allow tree-shaking - only imported features are bundled.
|
|
3878
|
+
* Per-feature config bridging (e.g. converting Angular component classes inside
|
|
3879
|
+
* `groupingColumns` / `groupingRows` / `pinnedRows` configs to renderer functions)
|
|
3880
|
+
* runs via `getFeatureConfigPreprocessor`, populated by feature secondary entries.
|
|
3881
|
+
*
|
|
3882
|
+
* Hybrid v1.x / v2 ownership: when an attribute-selector feature directive
|
|
3883
|
+
* (e.g. `GridFilteringDirective`) is present on the same `<tbw-grid>`
|
|
3884
|
+
* element it claims its feature in `feature-claims.ts`. We then read the
|
|
3885
|
+
* claim's config getter — which transitively reads the directive's input
|
|
3886
|
+
* signal, establishing reactive dependency tracking — instead of the
|
|
3887
|
+
* deprecated input on this directive. This keeps the existing `[filtering]`
|
|
3888
|
+
* binding working when used directly on `<tbw-grid>` (no directive, no
|
|
3889
|
+
* claim) while letting the directive own the binding when imported.
|
|
3890
|
+
*
|
|
3372
3891
|
* Returns the array of created plugins (doesn't modify grid).
|
|
3373
3892
|
*/
|
|
3374
3893
|
private createFeaturePlugins;
|
|
@@ -3378,21 +3897,9 @@ declare class Grid implements OnInit, AfterContentInit, OnDestroy {
|
|
|
3378
3897
|
* Uses the grid's registerStyles() API for clean encapsulation.
|
|
3379
3898
|
*/
|
|
3380
3899
|
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
3900
|
ngOnDestroy(): void;
|
|
3394
3901
|
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"; "
|
|
3902
|
+
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
3903
|
}
|
|
3397
3904
|
|
|
3398
3905
|
/**
|
|
@@ -3562,6 +4069,13 @@ declare class TbwRenderer implements OnDestroy {
|
|
|
3562
4069
|
* ```
|
|
3563
4070
|
*
|
|
3564
4071
|
* @category Directive
|
|
4072
|
+
*
|
|
4073
|
+
* MOVE-IN-V2: this directive (and its `StructuralEditorContext` type) will
|
|
4074
|
+
* physically move into `@toolbox-web/grid-angular/features/editing` in v2.0.0;
|
|
4075
|
+
* the deprecated re-export from the main `@toolbox-web/grid-angular` entry
|
|
4076
|
+
* will be removed at the same time. Consumers should already be importing
|
|
4077
|
+
* from the feature entry. (`TbwRenderer` stays in the main entry — it is
|
|
4078
|
+
* editor-agnostic.)
|
|
3565
4079
|
*/
|
|
3566
4080
|
declare class TbwEditor implements OnDestroy {
|
|
3567
4081
|
private template;
|
|
@@ -3579,6 +4093,222 @@ declare class TbwEditor implements OnDestroy {
|
|
|
3579
4093
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TbwEditor, "[tbwEditor]", never, {}, {}, never, never, true, never>;
|
|
3580
4094
|
}
|
|
3581
4095
|
|
|
3582
|
-
|
|
3583
|
-
|
|
4096
|
+
/**
|
|
4097
|
+
* Combined provider helper for grid type defaults and icons.
|
|
4098
|
+
*
|
|
4099
|
+
* Convenience function that combines `provideGridTypeDefaults` and
|
|
4100
|
+
* `provideGridIcons` into a single call for application bootstrap.
|
|
4101
|
+
*
|
|
4102
|
+
* @example
|
|
4103
|
+
* ```typescript
|
|
4104
|
+
* // app.config.ts
|
|
4105
|
+
* import { ApplicationConfig } from '@angular/core';
|
|
4106
|
+
* import { provideGrid } from '@toolbox-web/grid-angular';
|
|
4107
|
+
*
|
|
4108
|
+
* export const appConfig: ApplicationConfig = {
|
|
4109
|
+
* providers: [
|
|
4110
|
+
* provideGrid({
|
|
4111
|
+
* typeDefaults: {
|
|
4112
|
+
* country: { renderer: CountryCellComponent },
|
|
4113
|
+
* },
|
|
4114
|
+
* icons: {
|
|
4115
|
+
* sortAsc: '↑',
|
|
4116
|
+
* sortDesc: '↓',
|
|
4117
|
+
* },
|
|
4118
|
+
* }),
|
|
4119
|
+
* ],
|
|
4120
|
+
* };
|
|
4121
|
+
* ```
|
|
4122
|
+
*/
|
|
4123
|
+
|
|
4124
|
+
/**
|
|
4125
|
+
* Options for {@link provideGrid}.
|
|
4126
|
+
*/
|
|
4127
|
+
interface ProvideGridOptions {
|
|
4128
|
+
/** Type defaults to register globally. Equivalent to `provideGridTypeDefaults`. */
|
|
4129
|
+
typeDefaults?: Record<string, TypeDefaultRegistration>;
|
|
4130
|
+
/** Icon overrides to register globally. Equivalent to `provideGridIcons`. */
|
|
4131
|
+
icons?: Partial<GridIcons>;
|
|
4132
|
+
}
|
|
4133
|
+
/**
|
|
4134
|
+
* Combined provider for grid type defaults and icons.
|
|
4135
|
+
*
|
|
4136
|
+
* Returns environment providers that can be added to your `ApplicationConfig`
|
|
4137
|
+
* `providers` array. Either field is optional — only the registries you
|
|
4138
|
+
* supply are wired up.
|
|
4139
|
+
*
|
|
4140
|
+
* Equivalent to calling `provideGridTypeDefaults(options.typeDefaults)` and
|
|
4141
|
+
* `provideGridIcons(options.icons)` separately.
|
|
4142
|
+
*/
|
|
4143
|
+
declare function provideGrid(options?: ProvideGridOptions): EnvironmentProviders;
|
|
4144
|
+
|
|
4145
|
+
/**
|
|
4146
|
+
* Internal registries used by `@toolbox-web/grid-angular`.
|
|
4147
|
+
*
|
|
4148
|
+
* Two extension points are exposed so individual feature secondary entries
|
|
4149
|
+
* (e.g. `@toolbox-web/grid-angular/features/master-detail`) can plug into
|
|
4150
|
+
* the core `Grid` directive without the directive needing to know about them.
|
|
4151
|
+
*
|
|
4152
|
+
* - {@link registerTemplateBridge} — runs in `ngAfterContentInit` once Angular
|
|
4153
|
+
* templates inside the grid have been registered. Used to discover light-DOM
|
|
4154
|
+
* slot elements (`<tbw-grid-detail>`, `<tbw-grid-responsive-card>`, …) and
|
|
4155
|
+
* wire them to the corresponding plugin's renderer setter.
|
|
4156
|
+
* - {@link registerFeatureConfigPreprocessor} — runs inside the directive's
|
|
4157
|
+
* feature-plugin builder before `createPluginFromFeature` is called. Lets a
|
|
4158
|
+
* feature transform its config object (e.g. to convert Angular component
|
|
4159
|
+
* classes embedded in `customPanels` to renderer functions).
|
|
4160
|
+
*
|
|
4161
|
+
* Both registries are append-only and module-scoped: they are populated by
|
|
4162
|
+
* side-effect imports of feature secondary entries and consumed by the core
|
|
4163
|
+
* `Grid` directive. Order is insertion order.
|
|
4164
|
+
*
|
|
4165
|
+
* @internal — public for cross-entry-point use; not part of the supported API.
|
|
4166
|
+
*/
|
|
4167
|
+
|
|
4168
|
+
/**
|
|
4169
|
+
* Context passed to template bridges.
|
|
4170
|
+
*
|
|
4171
|
+
* @internal
|
|
4172
|
+
*/
|
|
4173
|
+
interface TemplateBridgeContext {
|
|
4174
|
+
/** The `<tbw-grid>` element this directive is attached to. */
|
|
4175
|
+
grid: HTMLElement;
|
|
4176
|
+
/** The Angular `GridAdapter` instance for this grid. */
|
|
4177
|
+
adapter: GridAdapter;
|
|
4178
|
+
}
|
|
4179
|
+
/**
|
|
4180
|
+
* A template bridge runs once per grid in `ngAfterContentInit`, after the
|
|
4181
|
+
* grid has refreshed its columns and Angular content templates have been
|
|
4182
|
+
* registered. Bridges may be async; the directive does not await them
|
|
4183
|
+
* sequentially — they run concurrently.
|
|
4184
|
+
*
|
|
4185
|
+
* @internal
|
|
4186
|
+
*/
|
|
4187
|
+
type TemplateBridge = (ctx: TemplateBridgeContext) => void | Promise<void>;
|
|
4188
|
+
/**
|
|
4189
|
+
* Register a template bridge. Called by feature secondary entries at module
|
|
4190
|
+
* load (e.g. `import '@toolbox-web/grid-angular/features/master-detail'`).
|
|
4191
|
+
*
|
|
4192
|
+
* Bridges are append-only and never deduplicated; calling registration twice
|
|
4193
|
+
* for the same feature module is safe because module imports are deduplicated
|
|
4194
|
+
* by the JS loader.
|
|
4195
|
+
*
|
|
4196
|
+
* @internal
|
|
4197
|
+
*/
|
|
4198
|
+
declare function registerTemplateBridge(bridge: TemplateBridge): void;
|
|
4199
|
+
/**
|
|
4200
|
+
* Run all registered template bridges for a grid. The directive calls this
|
|
4201
|
+
* from `ngAfterContentInit` after `refreshColumns()`. Bridges run concurrently;
|
|
4202
|
+
* errors thrown by one bridge do not stop the others.
|
|
4203
|
+
*
|
|
4204
|
+
* @internal
|
|
4205
|
+
*/
|
|
4206
|
+
declare function runTemplateBridges(ctx: TemplateBridgeContext): void;
|
|
4207
|
+
/**
|
|
4208
|
+
* A feature config preprocessor receives the user-supplied config for a
|
|
4209
|
+
* specific feature input and returns a transformed config that the core
|
|
4210
|
+
* plugin factory can consume. Used to bridge Angular component classes
|
|
4211
|
+
* embedded in feature configs (e.g. `customPanels`, `groupHeaderRenderer`)
|
|
4212
|
+
* to plain renderer functions.
|
|
4213
|
+
*
|
|
4214
|
+
* Receives the typed config and the directive's adapter. Returning the same
|
|
4215
|
+
* reference is fine — preprocessors typically clone-and-augment.
|
|
4216
|
+
*
|
|
4217
|
+
* @internal
|
|
4218
|
+
*/
|
|
4219
|
+
type FeatureConfigPreprocessor = (config: unknown, adapter: GridAdapter) => unknown;
|
|
4220
|
+
/**
|
|
4221
|
+
* Register a feature config preprocessor. Last registration wins (subsequent
|
|
4222
|
+
* imports of the same feature module re-register the same function, which is
|
|
4223
|
+
* a no-op).
|
|
4224
|
+
*
|
|
4225
|
+
* @internal
|
|
4226
|
+
*/
|
|
4227
|
+
declare function registerFeatureConfigPreprocessor(name: FeatureName, fn: FeatureConfigPreprocessor): void;
|
|
4228
|
+
/**
|
|
4229
|
+
* Look up the preprocessor for a feature, if any.
|
|
4230
|
+
*
|
|
4231
|
+
* @internal
|
|
4232
|
+
*/
|
|
4233
|
+
declare function getFeatureConfigPreprocessor(name: FeatureName): FeatureConfigPreprocessor | undefined;
|
|
4234
|
+
|
|
4235
|
+
/**
|
|
4236
|
+
* Per-grid-element claims registry used by the hybrid feature-directive
|
|
4237
|
+
* refactor (v1.4 → v2).
|
|
4238
|
+
*
|
|
4239
|
+
* Background: historically every plugin's input/output (e.g. `[filtering]`,
|
|
4240
|
+
* `(filterChange)`) was declared on the central {@link Grid} directive. That
|
|
4241
|
+
* pulled the typed surface for every {@link FeatureName} into the core
|
|
4242
|
+
* bundle — even for apps that only used a few. The new approach gives every
|
|
4243
|
+
* feature a thin **attribute-selector** directive (e.g.
|
|
4244
|
+
* `GridFilteringDirective` with selector `tbw-grid[filtering], tbw-grid[filterChange]`)
|
|
4245
|
+
* that lives in the feature secondary entry, so the plugin's typed surface
|
|
4246
|
+
* is only paid for when the feature is actually imported.
|
|
4247
|
+
*
|
|
4248
|
+
* To stay non-breaking in v1.x, the deprecated inputs/outputs remain on
|
|
4249
|
+
* {@link Grid}. When a feature directive is present on the same `<tbw-grid>`
|
|
4250
|
+
* element it **claims** its feature here; {@link Grid} consults the registry
|
|
4251
|
+
* and lets the directive own the input + event so we never produce duplicate
|
|
4252
|
+
* plugins or double-emit events.
|
|
4253
|
+
*
|
|
4254
|
+
* This module is deliberately framework-free (plain {@link WeakMap} state, no
|
|
4255
|
+
* `@angular/core` imports) so feature secondary entries can import it through
|
|
4256
|
+
* the package barrel without introducing circular module graphs. The
|
|
4257
|
+
* {@link FeatureName} and {@link DataGridEventMap} type imports are
|
|
4258
|
+
* type-only, so no runtime dependency leaks.
|
|
4259
|
+
*
|
|
4260
|
+
* @internal
|
|
4261
|
+
*/
|
|
4262
|
+
|
|
4263
|
+
/** Event names that can be claimed by a feature directive. */
|
|
4264
|
+
type ClaimableEventName = keyof DataGridEventMap<unknown>;
|
|
4265
|
+
/**
|
|
4266
|
+
* Reads the directive-owned config value for a feature. The function is
|
|
4267
|
+
* called during {@link Grid}'s `createFeaturePlugins` effect, so reading a
|
|
4268
|
+
* signal inside it establishes reactive dependency tracking — the effect
|
|
4269
|
+
* re-runs when the directive's input changes.
|
|
4270
|
+
* @internal
|
|
4271
|
+
*/
|
|
4272
|
+
type FeatureConfigGetter = () => unknown;
|
|
4273
|
+
/**
|
|
4274
|
+
* Register a feature claim. Called by a feature directive's constructor;
|
|
4275
|
+
* the {@link Grid} directive will then use {@link getFeatureClaim} during
|
|
4276
|
+
* plugin creation instead of reading its own deprecated input.
|
|
4277
|
+
* @internal
|
|
4278
|
+
*/
|
|
4279
|
+
declare function registerFeatureClaim(grid: HTMLElement, name: FeatureName, getConfig: FeatureConfigGetter): void;
|
|
4280
|
+
/**
|
|
4281
|
+
* Look up a feature claim. Returns the registered config getter, or
|
|
4282
|
+
* `undefined` if no directive owns this feature on this element.
|
|
4283
|
+
* @internal
|
|
4284
|
+
*/
|
|
4285
|
+
declare function getFeatureClaim(grid: HTMLElement, name: FeatureName): FeatureConfigGetter | undefined;
|
|
4286
|
+
/**
|
|
4287
|
+
* Drop a feature claim. Called by a feature directive's `ngOnDestroy` so
|
|
4288
|
+
* that, if the directive is removed (e.g. via `*ngIf`) but the host
|
|
4289
|
+
* `<tbw-grid>` survives, {@link Grid}'s deprecated input takes back over.
|
|
4290
|
+
* @internal
|
|
4291
|
+
*/
|
|
4292
|
+
declare function unregisterFeatureClaim(grid: HTMLElement, name: FeatureName): void;
|
|
4293
|
+
/**
|
|
4294
|
+
* Mark an event as owned by a feature directive. {@link Grid}'s
|
|
4295
|
+
* `setupEventListeners` skips wiring its own deprecated `output()` for any
|
|
4296
|
+
* claimed event — the directive owns the listener and the emit.
|
|
4297
|
+
* @internal
|
|
4298
|
+
*/
|
|
4299
|
+
declare function claimEvent(grid: HTMLElement, eventName: ClaimableEventName): void;
|
|
4300
|
+
/**
|
|
4301
|
+
* Returns true if a directive has claimed this event on this grid element.
|
|
4302
|
+
* @internal
|
|
4303
|
+
*/
|
|
4304
|
+
declare function isEventClaimed(grid: HTMLElement, eventName: ClaimableEventName): boolean;
|
|
4305
|
+
/**
|
|
4306
|
+
* Drop an event claim. Pair with {@link claimEvent} in a directive's
|
|
4307
|
+
* `ngOnDestroy`.
|
|
4308
|
+
* @internal
|
|
4309
|
+
*/
|
|
4310
|
+
declare function unclaimEvent(grid: HTMLElement, eventName: ClaimableEventName): void;
|
|
4311
|
+
|
|
4312
|
+
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 };
|
|
4313
|
+
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
4314
|
//# sourceMappingURL=toolbox-web-grid-angular.d.ts.map
|