@toolbox-web/grid-angular 1.2.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/toolbox-web-grid-angular-features-row-drag-drop.mjs +24 -0
- package/fesm2022/toolbox-web-grid-angular-features-row-drag-drop.mjs.map +1 -0
- package/fesm2022/toolbox-web-grid-angular-features-server-side.mjs +24 -1
- package/fesm2022/toolbox-web-grid-angular-features-server-side.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular.mjs +107 -4
- package/fesm2022/toolbox-web-grid-angular.mjs.map +1 -1
- package/package.json +5 -1
- package/types/toolbox-web-grid-angular-features-row-drag-drop.d.ts +2 -0
- package/types/toolbox-web-grid-angular-features-row-drag-drop.d.ts.map +1 -0
- package/types/toolbox-web-grid-angular.d.ts +67 -5
- package/types/toolbox-web-grid-angular.d.ts.map +1 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import '@toolbox-web/grid/features/row-drag-drop';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Row drag & drop feature for @toolbox-web/grid-angular
|
|
5
|
+
*
|
|
6
|
+
* Import this module to enable the `rowDragDrop` input on Grid directive
|
|
7
|
+
* along with the `(rowDragStart)`, `(rowDragEnd)`, `(rowDrop)`, and
|
|
8
|
+
* `(rowTransfer)` outputs. Supports both intra-grid reorder and cross-grid
|
|
9
|
+
* transfer.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import '@toolbox-web/grid-angular/features/row-drag-drop';
|
|
14
|
+
*
|
|
15
|
+
* <tbw-grid [rowDragDrop]="{ dropZone: 'employees' }" />
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @packageDocumentation
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Generated bundle index. Do not edit.
|
|
23
|
+
*/
|
|
24
|
+
//# sourceMappingURL=toolbox-web-grid-angular-features-row-drag-drop.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolbox-web-grid-angular-features-row-drag-drop.mjs","sources":["../../../../libs/grid-angular/features/row-drag-drop/src/index.ts","../../../../libs/grid-angular/features/row-drag-drop/src/toolbox-web-grid-angular-features-row-drag-drop.ts"],"sourcesContent":["/**\n * Row drag & drop feature for @toolbox-web/grid-angular\n *\n * Import this module to enable the `rowDragDrop` input on Grid directive\n * along with the `(rowDragStart)`, `(rowDragEnd)`, `(rowDrop)`, and\n * `(rowTransfer)` outputs. Supports both intra-grid reorder and cross-grid\n * transfer.\n *\n * @example\n * ```typescript\n * import '@toolbox-web/grid-angular/features/row-drag-drop';\n *\n * <tbw-grid [rowDragDrop]=\"{ dropZone: 'employees' }\" />\n * ```\n *\n * @packageDocumentation\n */\n\nimport '@toolbox-web/grid/features/row-drag-drop';\nexport type { _Augmentation as _RowDragDropAugmentation } from '@toolbox-web/grid/features/row-drag-drop';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;;AAgBG;;AChBH;;AAEG"}
|
|
@@ -5,11 +5,34 @@ import '@toolbox-web/grid/features/server-side';
|
|
|
5
5
|
*
|
|
6
6
|
* Import this module to enable the `serverSide` input on Grid directive.
|
|
7
7
|
*
|
|
8
|
+
* The grid's `ServerSideDataSource.getRows()` accepts either a `Promise` or an
|
|
9
|
+
* RxJS-style `Observable` (any `Subscribable`) directly — Angular `HttpClient`
|
|
10
|
+
* results work without any wrapper. Superseded requests are cancelled by the
|
|
11
|
+
* grid via `unsubscribe()`, which is what causes `HttpClient` to abort the
|
|
12
|
+
* underlying XHR.
|
|
13
|
+
*
|
|
8
14
|
* @example
|
|
9
15
|
* ```typescript
|
|
16
|
+
* import { Component, inject } from '@angular/core';
|
|
17
|
+
* import { HttpClient } from '@angular/common/http';
|
|
18
|
+
* import { map } from 'rxjs/operators';
|
|
19
|
+
* import { Grid } from '@toolbox-web/grid-angular';
|
|
10
20
|
* import '@toolbox-web/grid-angular/features/server-side';
|
|
21
|
+
* import type { ServerSideDataSource } from '@toolbox-web/grid/plugins/server-side';
|
|
11
22
|
*
|
|
12
|
-
*
|
|
23
|
+
* @Component({
|
|
24
|
+
* imports: [Grid],
|
|
25
|
+
* template: `<tbw-grid [serverSide]="{ dataSource }" />`,
|
|
26
|
+
* })
|
|
27
|
+
* class MyGrid {
|
|
28
|
+
* private http = inject(HttpClient);
|
|
29
|
+
* dataSource: ServerSideDataSource = {
|
|
30
|
+
* getRows: (params) =>
|
|
31
|
+
* this.http.get<{ items: unknown[]; total: number }>('/api/data', {
|
|
32
|
+
* params: { offset: params.startNode, limit: params.endNode - params.startNode },
|
|
33
|
+
* }).pipe(map((d) => ({ rows: d.items, totalNodeCount: d.total }))),
|
|
34
|
+
* };
|
|
35
|
+
* }
|
|
13
36
|
* ```
|
|
14
37
|
*
|
|
15
38
|
* @packageDocumentation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbox-web-grid-angular-features-server-side.mjs","sources":["../../../../libs/grid-angular/features/server-side/src/index.ts","../../../../libs/grid-angular/features/server-side/src/toolbox-web-grid-angular-features-server-side.ts"],"sourcesContent":["/**\n * Server-side feature for @toolbox-web/grid-angular\n *\n * Import this module to enable the `serverSide` input on Grid directive.\n *\n * @example\n * ```typescript\n * import '@toolbox-web/grid-angular/features/server-side';\n *\n *
|
|
1
|
+
{"version":3,"file":"toolbox-web-grid-angular-features-server-side.mjs","sources":["../../../../libs/grid-angular/features/server-side/src/index.ts","../../../../libs/grid-angular/features/server-side/src/toolbox-web-grid-angular-features-server-side.ts"],"sourcesContent":["/**\n * Server-side feature for @toolbox-web/grid-angular\n *\n * Import this module to enable the `serverSide` input on Grid directive.\n *\n * The grid's `ServerSideDataSource.getRows()` accepts either a `Promise` or an\n * RxJS-style `Observable` (any `Subscribable`) directly — Angular `HttpClient`\n * results work without any wrapper. Superseded requests are cancelled by the\n * grid via `unsubscribe()`, which is what causes `HttpClient` to abort the\n * underlying XHR.\n *\n * @example\n * ```typescript\n * import { Component, inject } from '@angular/core';\n * import { HttpClient } from '@angular/common/http';\n * import { map } from 'rxjs/operators';\n * import { Grid } from '@toolbox-web/grid-angular';\n * import '@toolbox-web/grid-angular/features/server-side';\n * import type { ServerSideDataSource } from '@toolbox-web/grid/plugins/server-side';\n *\n * @Component({\n * imports: [Grid],\n * template: `<tbw-grid [serverSide]=\"{ dataSource }\" />`,\n * })\n * class MyGrid {\n * private http = inject(HttpClient);\n * dataSource: ServerSideDataSource = {\n * getRows: (params) =>\n * this.http.get<{ items: unknown[]; total: number }>('/api/data', {\n * params: { offset: params.startNode, limit: params.endNode - params.startNode },\n * }).pipe(map((d) => ({ rows: d.items, totalNodeCount: d.total }))),\n * };\n * }\n * ```\n *\n * @packageDocumentation\n */\n\nimport '@toolbox-web/grid/features/server-side';\nexport type { _Augmentation as _ServerSideAugmentation } from '@toolbox-web/grid/features/server-side';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCG;;ACpCH;;AAEG"}
|
|
@@ -1554,6 +1554,21 @@ class GridAdapter {
|
|
|
1554
1554
|
editorViewRefs = [];
|
|
1555
1555
|
/** Editor-specific component refs tracked separately for per-cell cleanup via releaseCell. */
|
|
1556
1556
|
editorComponentRefs = [];
|
|
1557
|
+
/**
|
|
1558
|
+
* Per-editor `before-edit-close` listener teardown functions, keyed by
|
|
1559
|
+
* editor host element.
|
|
1560
|
+
*
|
|
1561
|
+
* The grid's editing plugin emits `before-edit-close` on the host
|
|
1562
|
+
* `<tbw-grid>` before tearing down a row's managed editors. Angular
|
|
1563
|
+
* editors that commit on `(blur)` rely on the focused input firing `blur`
|
|
1564
|
+
* naturally, but Tab / programmatic row exit rebuilds the cell DOM
|
|
1565
|
+
* synchronously without giving the focused input a chance to blur first
|
|
1566
|
+
* — pending input is silently discarded.
|
|
1567
|
+
*
|
|
1568
|
+
* Mirror of Vue's `editorBeforeCloseUnsubs` and React's
|
|
1569
|
+
* `wrapReactEditor` queueMicrotask bridge.
|
|
1570
|
+
*/
|
|
1571
|
+
editorBeforeCloseUnsubs = new Map();
|
|
1557
1572
|
typeRegistry = null;
|
|
1558
1573
|
constructor(injector, appRef, viewContainerRef) {
|
|
1559
1574
|
this.injector = injector;
|
|
@@ -1828,6 +1843,7 @@ class GridAdapter {
|
|
|
1828
1843
|
const container = document.createElement('span');
|
|
1829
1844
|
container.style.display = 'contents';
|
|
1830
1845
|
syncRootNodes(viewRef, container);
|
|
1846
|
+
this.attachBeforeEditCloseFlush(container);
|
|
1831
1847
|
// Auto-wire: Listen for commit/cancel events on the rendered component.
|
|
1832
1848
|
// This allows components to just emit (commit) and (cancel) without
|
|
1833
1849
|
// requiring explicit template bindings like (commit)="onCommit($event)".
|
|
@@ -2114,6 +2130,7 @@ class GridAdapter {
|
|
|
2114
2130
|
column: ctx.column,
|
|
2115
2131
|
}, true);
|
|
2116
2132
|
wireEditorCallbacks(hostElement, componentRef.instance, (value) => ctx.commit(value), () => ctx.cancel());
|
|
2133
|
+
this.attachBeforeEditCloseFlush(hostElement);
|
|
2117
2134
|
// Auto-update editor when value changes externally (e.g., via updateRow cascade
|
|
2118
2135
|
// or Escape-revert). Update the component input and run detectChanges() —
|
|
2119
2136
|
// the component's own template handles rendering regardless of editor type.
|
|
@@ -2432,6 +2449,13 @@ class GridAdapter {
|
|
|
2432
2449
|
this.editorComponentRefs.splice(i, 1);
|
|
2433
2450
|
}
|
|
2434
2451
|
}
|
|
2452
|
+
// Detach `before-edit-close` listeners for editor hosts inside this cell
|
|
2453
|
+
for (const [hostEl, unsub] of this.editorBeforeCloseUnsubs) {
|
|
2454
|
+
if (cellEl.contains(hostEl)) {
|
|
2455
|
+
unsub();
|
|
2456
|
+
this.editorBeforeCloseUnsubs.delete(hostEl);
|
|
2457
|
+
}
|
|
2458
|
+
}
|
|
2435
2459
|
}
|
|
2436
2460
|
/**
|
|
2437
2461
|
* Unmount a specific container (e.g., detail panel, tool panel).
|
|
@@ -2469,6 +2493,41 @@ class GridAdapter {
|
|
|
2469
2493
|
this.componentRefs = [];
|
|
2470
2494
|
this.editorComponentRefs.forEach((ref) => ref.destroy());
|
|
2471
2495
|
this.editorComponentRefs = [];
|
|
2496
|
+
this.editorBeforeCloseUnsubs.forEach((unsub) => unsub());
|
|
2497
|
+
this.editorBeforeCloseUnsubs.clear();
|
|
2498
|
+
}
|
|
2499
|
+
/**
|
|
2500
|
+
* Attaches a `before-edit-close` listener on the host grid that flushes
|
|
2501
|
+
* the focused input inside `host` via native `.blur()` so editors that
|
|
2502
|
+
* commit on `(blur)` flush pending input before the cell DOM is torn
|
|
2503
|
+
* down by Tab / programmatic row exit.
|
|
2504
|
+
*
|
|
2505
|
+
* The grid is resolved lazily via `queueMicrotask` because the host is
|
|
2506
|
+
* appended to the cell *after* the editor wrapper returns. Mirror of
|
|
2507
|
+
* Vue's `attachBeforeEditCloseFlush` and React's `wrapReactEditor`
|
|
2508
|
+
* queueMicrotask bridge.
|
|
2509
|
+
* @internal
|
|
2510
|
+
*/
|
|
2511
|
+
attachBeforeEditCloseFlush(host) {
|
|
2512
|
+
queueMicrotask(() => {
|
|
2513
|
+
const gridEl = host.closest('tbw-grid');
|
|
2514
|
+
if (!gridEl)
|
|
2515
|
+
return;
|
|
2516
|
+
const flush = () => {
|
|
2517
|
+
const focused = host.ownerDocument.activeElement;
|
|
2518
|
+
if (focused &&
|
|
2519
|
+
host.contains(focused) &&
|
|
2520
|
+
(focused instanceof HTMLInputElement ||
|
|
2521
|
+
focused instanceof HTMLTextAreaElement ||
|
|
2522
|
+
focused instanceof HTMLSelectElement)) {
|
|
2523
|
+
focused.blur();
|
|
2524
|
+
}
|
|
2525
|
+
};
|
|
2526
|
+
gridEl.addEventListener('before-edit-close', flush);
|
|
2527
|
+
this.editorBeforeCloseUnsubs.set(host, () => {
|
|
2528
|
+
gridEl.removeEventListener('before-edit-close', flush);
|
|
2529
|
+
});
|
|
2530
|
+
});
|
|
2472
2531
|
}
|
|
2473
2532
|
}
|
|
2474
2533
|
|
|
@@ -5025,17 +5084,29 @@ class Grid {
|
|
|
5025
5084
|
/**
|
|
5026
5085
|
* Enable row drag-to-reorder.
|
|
5027
5086
|
*
|
|
5087
|
+
* @deprecated Use `rowDragDrop` instead. `reorderRows` remains as an alias.
|
|
5088
|
+
*
|
|
5028
5089
|
* **Requires feature import:**
|
|
5029
5090
|
* ```typescript
|
|
5030
5091
|
* import '@toolbox-web/grid-angular/features/reorder-rows';
|
|
5031
5092
|
* ```
|
|
5093
|
+
*/
|
|
5094
|
+
reorderRows = input(...(ngDevMode ? [undefined, { debugName: "reorderRows" }] : /* istanbul ignore next */ []));
|
|
5095
|
+
/**
|
|
5096
|
+
* Enable row drag-and-drop within and across grids.
|
|
5097
|
+
*
|
|
5098
|
+
* **Requires feature import:**
|
|
5099
|
+
* ```typescript
|
|
5100
|
+
* import '@toolbox-web/grid-angular/features/row-drag-drop';
|
|
5101
|
+
* ```
|
|
5032
5102
|
*
|
|
5033
5103
|
* @example
|
|
5034
5104
|
* ```html
|
|
5035
|
-
* <tbw-grid [
|
|
5105
|
+
* <tbw-grid [rowDragDrop]="{ dropZone: 'employees', operation: 'move' }" />
|
|
5036
5106
|
* ```
|
|
5037
5107
|
*/
|
|
5038
|
-
|
|
5108
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5109
|
+
rowDragDrop = input(...(ngDevMode ? [undefined, { debugName: "rowDragDrop" }] : /* istanbul ignore next */ []));
|
|
5039
5110
|
/**
|
|
5040
5111
|
* Enable row grouping by field values.
|
|
5041
5112
|
*
|
|
@@ -5338,6 +5409,33 @@ class Grid {
|
|
|
5338
5409
|
*/
|
|
5339
5410
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5340
5411
|
rowMove = output();
|
|
5412
|
+
/**
|
|
5413
|
+
* Emitted when a row drag starts. Cancelable via `event.preventDefault()`.
|
|
5414
|
+
*
|
|
5415
|
+
* @example
|
|
5416
|
+
* ```html
|
|
5417
|
+
* <tbw-grid (rowDragStart)="onRowDragStart($event)">...</tbw-grid>
|
|
5418
|
+
* ```
|
|
5419
|
+
*/
|
|
5420
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5421
|
+
rowDragStart = output();
|
|
5422
|
+
/**
|
|
5423
|
+
* Emitted when a row drag ends (after drop or cancel).
|
|
5424
|
+
*/
|
|
5425
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5426
|
+
rowDragEnd = output();
|
|
5427
|
+
/**
|
|
5428
|
+
* Emitted on the target grid when rows are dropped from another grid.
|
|
5429
|
+
* Cancelable via `event.preventDefault()`.
|
|
5430
|
+
*/
|
|
5431
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5432
|
+
rowDrop = output();
|
|
5433
|
+
/**
|
|
5434
|
+
* Emitted on BOTH source and target grids after a successful cross-grid
|
|
5435
|
+
* row transfer.
|
|
5436
|
+
*/
|
|
5437
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5438
|
+
rowTransfer = output();
|
|
5341
5439
|
/**
|
|
5342
5440
|
* Emitted when a group is expanded or collapsed.
|
|
5343
5441
|
*
|
|
@@ -5462,6 +5560,10 @@ class Grid {
|
|
|
5462
5560
|
columnStateChange: 'column-state-change',
|
|
5463
5561
|
selectionChange: 'selection-change',
|
|
5464
5562
|
rowMove: 'row-move',
|
|
5563
|
+
rowDragStart: 'row-drag-start',
|
|
5564
|
+
rowDragEnd: 'row-drag-end',
|
|
5565
|
+
rowDrop: 'row-drop',
|
|
5566
|
+
rowTransfer: 'row-transfer',
|
|
5465
5567
|
groupToggle: 'group-toggle',
|
|
5466
5568
|
treeExpand: 'tree-expand',
|
|
5467
5569
|
detailExpand: 'detail-expand',
|
|
@@ -5542,6 +5644,7 @@ class Grid {
|
|
|
5542
5644
|
}
|
|
5543
5645
|
addPlugin('columnVirtualization', this.columnVirtualization());
|
|
5544
5646
|
addPlugin('reorderRows', this.reorderRows());
|
|
5647
|
+
addPlugin('rowDragDrop', this.rowDragDrop());
|
|
5545
5648
|
// Pre-process groupingRows config to bridge Angular component classes
|
|
5546
5649
|
const grConfig = this.groupingRows();
|
|
5547
5650
|
if (grConfig && typeof grConfig === 'object' && this.adapter) {
|
|
@@ -5703,12 +5806,12 @@ class Grid {
|
|
|
5703
5806
|
}
|
|
5704
5807
|
}
|
|
5705
5808
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: Grid, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5706
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.5", type: Grid, isStandalone: true, selector: "tbw-grid", inputs: { customStyles: { classPropertyName: "customStyles", publicName: "customStyles", isSignal: true, isRequired: false, transformFunction: null }, sortable: { classPropertyName: "sortable", publicName: "sortable", isSignal: true, isRequired: false, transformFunction: null }, filterable: { classPropertyName: "filterable", publicName: "filterable", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, fitMode: { classPropertyName: "fitMode", publicName: "fitMode", isSignal: true, isRequired: false, transformFunction: null }, gridConfig: { classPropertyName: "gridConfig", publicName: "gridConfig", isSignal: true, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null }, editing: { classPropertyName: "editing", publicName: "editing", isSignal: true, isRequired: false, transformFunction: null }, clipboard: { classPropertyName: "clipboard", publicName: "clipboard", isSignal: true, isRequired: false, transformFunction: null }, contextMenu: { classPropertyName: "contextMenu", publicName: "contextMenu", isSignal: true, isRequired: false, transformFunction: null }, multiSort: { classPropertyName: "multiSort", publicName: "multiSort", isSignal: true, isRequired: false, transformFunction: null }, filtering: { classPropertyName: "filtering", publicName: "filtering", isSignal: true, isRequired: false, transformFunction: null }, reorderColumns: { classPropertyName: "reorderColumns", publicName: "reorderColumns", isSignal: true, isRequired: false, transformFunction: null }, visibility: { classPropertyName: "visibility", publicName: "visibility", isSignal: true, isRequired: false, transformFunction: null }, pinnedColumns: { classPropertyName: "pinnedColumns", publicName: "pinnedColumns", isSignal: true, isRequired: false, transformFunction: null }, groupingColumns: { classPropertyName: "groupingColumns", publicName: "groupingColumns", isSignal: true, isRequired: false, transformFunction: null }, columnVirtualization: { classPropertyName: "columnVirtualization", publicName: "columnVirtualization", isSignal: true, isRequired: false, transformFunction: null }, reorderRows: { classPropertyName: "reorderRows", publicName: "reorderRows", isSignal: true, isRequired: false, transformFunction: null }, groupingRows: { classPropertyName: "groupingRows", publicName: "groupingRows", isSignal: true, isRequired: false, transformFunction: null }, pinnedRows: { classPropertyName: "pinnedRows", publicName: "pinnedRows", isSignal: true, isRequired: false, transformFunction: null }, tree: { classPropertyName: "tree", publicName: "tree", isSignal: true, isRequired: false, transformFunction: null }, masterDetail: { classPropertyName: "masterDetail", publicName: "masterDetail", isSignal: true, isRequired: false, transformFunction: null }, responsive: { classPropertyName: "responsive", publicName: "responsive", isSignal: true, isRequired: false, transformFunction: null }, undoRedo: { classPropertyName: "undoRedo", publicName: "undoRedo", isSignal: true, isRequired: false, transformFunction: null }, exportFeature: { classPropertyName: "exportFeature", publicName: "export", isSignal: true, isRequired: false, transformFunction: null }, print: { classPropertyName: "print", publicName: "print", isSignal: true, isRequired: false, transformFunction: null }, pivot: { classPropertyName: "pivot", publicName: "pivot", isSignal: true, isRequired: false, transformFunction: null }, serverSide: { classPropertyName: "serverSide", publicName: "serverSide", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { 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", groupToggle: "groupToggle", treeExpand: "treeExpand", detailExpand: "detailExpand", responsiveChange: "responsiveChange", copy: "copy", paste: "paste", undoRedoAction: "undoRedoAction", exportComplete: "exportComplete", printStart: "printStart", printComplete: "printComplete", tbwScroll: "tbwScroll" }, ngImport: i0 });
|
|
5809
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.5", type: Grid, isStandalone: true, selector: "tbw-grid", inputs: { customStyles: { classPropertyName: "customStyles", publicName: "customStyles", isSignal: true, isRequired: false, transformFunction: null }, sortable: { classPropertyName: "sortable", publicName: "sortable", isSignal: true, isRequired: false, transformFunction: null }, filterable: { classPropertyName: "filterable", publicName: "filterable", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, fitMode: { classPropertyName: "fitMode", publicName: "fitMode", isSignal: true, isRequired: false, transformFunction: null }, gridConfig: { classPropertyName: "gridConfig", publicName: "gridConfig", isSignal: true, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null }, editing: { classPropertyName: "editing", publicName: "editing", isSignal: true, isRequired: false, transformFunction: null }, clipboard: { classPropertyName: "clipboard", publicName: "clipboard", isSignal: true, isRequired: false, transformFunction: null }, contextMenu: { classPropertyName: "contextMenu", publicName: "contextMenu", isSignal: true, isRequired: false, transformFunction: null }, multiSort: { classPropertyName: "multiSort", publicName: "multiSort", isSignal: true, isRequired: false, transformFunction: null }, filtering: { classPropertyName: "filtering", publicName: "filtering", isSignal: true, isRequired: false, transformFunction: null }, reorderColumns: { classPropertyName: "reorderColumns", publicName: "reorderColumns", isSignal: true, isRequired: false, transformFunction: null }, visibility: { classPropertyName: "visibility", publicName: "visibility", isSignal: true, isRequired: false, transformFunction: null }, pinnedColumns: { classPropertyName: "pinnedColumns", publicName: "pinnedColumns", isSignal: true, isRequired: false, transformFunction: null }, groupingColumns: { classPropertyName: "groupingColumns", publicName: "groupingColumns", isSignal: true, isRequired: false, transformFunction: null }, columnVirtualization: { classPropertyName: "columnVirtualization", publicName: "columnVirtualization", isSignal: true, isRequired: false, transformFunction: null }, reorderRows: { classPropertyName: "reorderRows", publicName: "reorderRows", isSignal: true, isRequired: false, transformFunction: null }, rowDragDrop: { classPropertyName: "rowDragDrop", publicName: "rowDragDrop", isSignal: true, isRequired: false, transformFunction: null }, groupingRows: { classPropertyName: "groupingRows", publicName: "groupingRows", isSignal: true, isRequired: false, transformFunction: null }, pinnedRows: { classPropertyName: "pinnedRows", publicName: "pinnedRows", isSignal: true, isRequired: false, transformFunction: null }, tree: { classPropertyName: "tree", publicName: "tree", isSignal: true, isRequired: false, transformFunction: null }, masterDetail: { classPropertyName: "masterDetail", publicName: "masterDetail", isSignal: true, isRequired: false, transformFunction: null }, responsive: { classPropertyName: "responsive", publicName: "responsive", isSignal: true, isRequired: false, transformFunction: null }, undoRedo: { classPropertyName: "undoRedo", publicName: "undoRedo", isSignal: true, isRequired: false, transformFunction: null }, exportFeature: { classPropertyName: "exportFeature", publicName: "export", isSignal: true, isRequired: false, transformFunction: null }, print: { classPropertyName: "print", publicName: "print", isSignal: true, isRequired: false, transformFunction: null }, pivot: { classPropertyName: "pivot", publicName: "pivot", isSignal: true, isRequired: false, transformFunction: null }, serverSide: { classPropertyName: "serverSide", publicName: "serverSide", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { 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", undoRedoAction: "undoRedoAction", exportComplete: "exportComplete", printStart: "printStart", printComplete: "printComplete", tbwScroll: "tbwScroll" }, ngImport: i0 });
|
|
5707
5810
|
}
|
|
5708
5811
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: Grid, decorators: [{
|
|
5709
5812
|
type: Directive,
|
|
5710
5813
|
args: [{ selector: 'tbw-grid' }]
|
|
5711
|
-
}], ctorParameters: () => [], propDecorators: { customStyles: [{ type: i0.Input, args: [{ isSignal: true, alias: "customStyles", required: false }] }], sortable: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortable", required: false }] }], filterable: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterable", required: false }] }], selectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectable", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], fitMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "fitMode", required: false }] }], gridConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "gridConfig", required: false }] }], selection: [{ type: i0.Input, args: [{ isSignal: true, alias: "selection", required: false }] }], editing: [{ type: i0.Input, args: [{ isSignal: true, alias: "editing", required: false }] }], clipboard: [{ type: i0.Input, args: [{ isSignal: true, alias: "clipboard", required: false }] }], contextMenu: [{ type: i0.Input, args: [{ isSignal: true, alias: "contextMenu", required: false }] }], multiSort: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiSort", required: false }] }], filtering: [{ type: i0.Input, args: [{ isSignal: true, alias: "filtering", required: false }] }], reorderColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "reorderColumns", required: false }] }], visibility: [{ type: i0.Input, args: [{ isSignal: true, alias: "visibility", required: false }] }], pinnedColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "pinnedColumns", required: false }] }], groupingColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupingColumns", required: false }] }], columnVirtualization: [{ type: i0.Input, args: [{ isSignal: true, alias: "columnVirtualization", required: false }] }], reorderRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "reorderRows", required: false }] }], groupingRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupingRows", required: false }] }], pinnedRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "pinnedRows", required: false }] }], tree: [{ type: i0.Input, args: [{ isSignal: true, alias: "tree", required: false }] }], masterDetail: [{ type: i0.Input, args: [{ isSignal: true, alias: "masterDetail", required: false }] }], responsive: [{ type: i0.Input, args: [{ isSignal: true, alias: "responsive", required: false }] }], undoRedo: [{ type: i0.Input, args: [{ isSignal: true, alias: "undoRedo", required: false }] }], exportFeature: [{ type: i0.Input, args: [{ isSignal: true, alias: "export", required: false }] }], print: [{ type: i0.Input, args: [{ isSignal: true, alias: "print", required: false }] }], pivot: [{ type: i0.Input, args: [{ isSignal: true, alias: "pivot", required: false }] }], serverSide: [{ type: i0.Input, args: [{ isSignal: true, alias: "serverSide", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], cellClick: [{ type: i0.Output, args: ["cellClick"] }], rowClick: [{ type: i0.Output, args: ["rowClick"] }], cellActivate: [{ type: i0.Output, args: ["cellActivate"] }], cellChange: [{ type: i0.Output, args: ["cellChange"] }], cellCommit: [{ type: i0.Output, args: ["cellCommit"] }], rowCommit: [{ type: i0.Output, args: ["rowCommit"] }], changedRowsReset: [{ type: i0.Output, args: ["changedRowsReset"] }], sortChange: [{ type: i0.Output, args: ["sortChange"] }], filterChange: [{ type: i0.Output, args: ["filterChange"] }], columnResize: [{ type: i0.Output, args: ["columnResize"] }], columnMove: [{ type: i0.Output, args: ["columnMove"] }], columnVisibility: [{ type: i0.Output, args: ["columnVisibility"] }], columnStateChange: [{ type: i0.Output, args: ["columnStateChange"] }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }], rowMove: [{ type: i0.Output, args: ["rowMove"] }], groupToggle: [{ type: i0.Output, args: ["groupToggle"] }], treeExpand: [{ type: i0.Output, args: ["treeExpand"] }], detailExpand: [{ type: i0.Output, args: ["detailExpand"] }], responsiveChange: [{ type: i0.Output, args: ["responsiveChange"] }], copy: [{ type: i0.Output, args: ["copy"] }], paste: [{ type: i0.Output, args: ["paste"] }], undoRedoAction: [{ type: i0.Output, args: ["undoRedoAction"] }], exportComplete: [{ type: i0.Output, args: ["exportComplete"] }], printStart: [{ type: i0.Output, args: ["printStart"] }], printComplete: [{ type: i0.Output, args: ["printComplete"] }], tbwScroll: [{ type: i0.Output, args: ["tbwScroll"] }] } });
|
|
5814
|
+
}], ctorParameters: () => [], propDecorators: { customStyles: [{ type: i0.Input, args: [{ isSignal: true, alias: "customStyles", required: false }] }], sortable: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortable", required: false }] }], filterable: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterable", required: false }] }], selectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectable", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], fitMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "fitMode", required: false }] }], gridConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "gridConfig", required: false }] }], selection: [{ type: i0.Input, args: [{ isSignal: true, alias: "selection", required: false }] }], editing: [{ type: i0.Input, args: [{ isSignal: true, alias: "editing", required: false }] }], clipboard: [{ type: i0.Input, args: [{ isSignal: true, alias: "clipboard", required: false }] }], contextMenu: [{ type: i0.Input, args: [{ isSignal: true, alias: "contextMenu", required: false }] }], multiSort: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiSort", required: false }] }], filtering: [{ type: i0.Input, args: [{ isSignal: true, alias: "filtering", required: false }] }], reorderColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "reorderColumns", required: false }] }], visibility: [{ type: i0.Input, args: [{ isSignal: true, alias: "visibility", required: false }] }], pinnedColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "pinnedColumns", required: false }] }], groupingColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupingColumns", required: false }] }], columnVirtualization: [{ type: i0.Input, args: [{ isSignal: true, alias: "columnVirtualization", required: false }] }], reorderRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "reorderRows", required: false }] }], rowDragDrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowDragDrop", required: false }] }], groupingRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupingRows", required: false }] }], pinnedRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "pinnedRows", required: false }] }], tree: [{ type: i0.Input, args: [{ isSignal: true, alias: "tree", required: false }] }], masterDetail: [{ type: i0.Input, args: [{ isSignal: true, alias: "masterDetail", required: false }] }], responsive: [{ type: i0.Input, args: [{ isSignal: true, alias: "responsive", required: false }] }], undoRedo: [{ type: i0.Input, args: [{ isSignal: true, alias: "undoRedo", required: false }] }], exportFeature: [{ type: i0.Input, args: [{ isSignal: true, alias: "export", required: false }] }], print: [{ type: i0.Input, args: [{ isSignal: true, alias: "print", required: false }] }], pivot: [{ type: i0.Input, args: [{ isSignal: true, alias: "pivot", required: false }] }], serverSide: [{ type: i0.Input, args: [{ isSignal: true, alias: "serverSide", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], cellClick: [{ type: i0.Output, args: ["cellClick"] }], rowClick: [{ type: i0.Output, args: ["rowClick"] }], cellActivate: [{ type: i0.Output, args: ["cellActivate"] }], cellChange: [{ type: i0.Output, args: ["cellChange"] }], cellCommit: [{ type: i0.Output, args: ["cellCommit"] }], rowCommit: [{ type: i0.Output, args: ["rowCommit"] }], changedRowsReset: [{ type: i0.Output, args: ["changedRowsReset"] }], sortChange: [{ type: i0.Output, args: ["sortChange"] }], filterChange: [{ type: i0.Output, args: ["filterChange"] }], columnResize: [{ type: i0.Output, args: ["columnResize"] }], columnMove: [{ type: i0.Output, args: ["columnMove"] }], columnVisibility: [{ type: i0.Output, args: ["columnVisibility"] }], columnStateChange: [{ type: i0.Output, args: ["columnStateChange"] }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }], rowMove: [{ type: i0.Output, args: ["rowMove"] }], rowDragStart: [{ type: i0.Output, args: ["rowDragStart"] }], rowDragEnd: [{ type: i0.Output, args: ["rowDragEnd"] }], rowDrop: [{ type: i0.Output, args: ["rowDrop"] }], rowTransfer: [{ type: i0.Output, args: ["rowTransfer"] }], groupToggle: [{ type: i0.Output, args: ["groupToggle"] }], treeExpand: [{ type: i0.Output, args: ["treeExpand"] }], detailExpand: [{ type: i0.Output, args: ["detailExpand"] }], responsiveChange: [{ type: i0.Output, args: ["responsiveChange"] }], copy: [{ type: i0.Output, args: ["copy"] }], paste: [{ type: i0.Output, args: ["paste"] }], undoRedoAction: [{ type: i0.Output, args: ["undoRedoAction"] }], exportComplete: [{ type: i0.Output, args: ["exportComplete"] }], printStart: [{ type: i0.Output, args: ["printStart"] }], printComplete: [{ type: i0.Output, args: ["printComplete"] }], tbwScroll: [{ type: i0.Output, args: ["tbwScroll"] }] } });
|
|
5712
5815
|
|
|
5713
5816
|
/**
|
|
5714
5817
|
* @packageDocumentation
|