@toolbox-web/grid-angular 0.7.2 → 0.8.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
CHANGED
|
@@ -14,6 +14,7 @@ Angular adapter for `@toolbox-web/grid` data grid component. Provides directives
|
|
|
14
14
|
- ✅ **Template-driven editors** - Use `<ng-template>` for custom cell editors
|
|
15
15
|
- ✅ **Component-class column config** - Specify component classes directly in `gridConfig.columns`
|
|
16
16
|
- ✅ **Type-level defaults** - App-wide renderers/editors via `provideGridTypeDefaults()`
|
|
17
|
+
- ✅ **Icon configuration** - App-wide icon overrides via `provideGridIcons()`
|
|
17
18
|
- ✅ **Reactive Forms integration** - Use `formControlName` and `formControl` bindings
|
|
18
19
|
- ✅ **Auto-wiring** - Editor components just emit events, no manual binding needed
|
|
19
20
|
- ✅ **Full type safety** - Typed template contexts (`GridCellContext`, `GridEditorContext`)
|
|
@@ -359,6 +360,68 @@ export class MyGridComponent {
|
|
|
359
360
|
| `GridTypeRegistry` | Injectable service for dynamic registration |
|
|
360
361
|
| `GRID_TYPE_DEFAULTS` | Injection token for type defaults |
|
|
361
362
|
|
|
363
|
+
## App-Wide Icon Configuration
|
|
364
|
+
|
|
365
|
+
Customize grid icons at the application level using `provideGridIcons()`:
|
|
366
|
+
|
|
367
|
+
```typescript
|
|
368
|
+
// app.config.ts
|
|
369
|
+
import { ApplicationConfig } from '@angular/core';
|
|
370
|
+
import { provideGridIcons } from '@toolbox-web/grid-angular';
|
|
371
|
+
|
|
372
|
+
export const appConfig: ApplicationConfig = {
|
|
373
|
+
providers: [
|
|
374
|
+
provideGridIcons({
|
|
375
|
+
expand: '➕',
|
|
376
|
+
collapse: '➖',
|
|
377
|
+
sortAsc: '↑',
|
|
378
|
+
sortDesc: '↓',
|
|
379
|
+
filter: '<svg viewBox="0 0 16 16">...</svg>',
|
|
380
|
+
}),
|
|
381
|
+
],
|
|
382
|
+
};
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
**Dynamic Icon Registration:**
|
|
386
|
+
|
|
387
|
+
```typescript
|
|
388
|
+
import { Component, inject, OnInit } from '@angular/core';
|
|
389
|
+
import { GridIconRegistry } from '@toolbox-web/grid-angular';
|
|
390
|
+
|
|
391
|
+
@Component({ ... })
|
|
392
|
+
export class AppComponent implements OnInit {
|
|
393
|
+
private iconRegistry = inject(GridIconRegistry);
|
|
394
|
+
|
|
395
|
+
ngOnInit() {
|
|
396
|
+
// Dynamically set icons
|
|
397
|
+
this.iconRegistry.set('expand', '▶');
|
|
398
|
+
this.iconRegistry.set('collapse', '▼');
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
**Available Icons:**
|
|
404
|
+
|
|
405
|
+
| Icon | Default | Description |
|
|
406
|
+
| -------------- | ------- | ------------------------------------ |
|
|
407
|
+
| `expand` | `▶` | Expand icon for trees/groups/details |
|
|
408
|
+
| `collapse` | `▼` | Collapse icon |
|
|
409
|
+
| `sortAsc` | `▲` | Sort ascending indicator |
|
|
410
|
+
| `sortDesc` | `▼` | Sort descending indicator |
|
|
411
|
+
| `sortNone` | `⇅` | Unsorted indicator |
|
|
412
|
+
| `filter` | SVG | Filter icon in headers |
|
|
413
|
+
| `filterActive` | SVG | Filter icon when active |
|
|
414
|
+
| `submenuArrow` | `▶` | Context menu submenu arrow |
|
|
415
|
+
| `dragHandle` | `⋮⋮` | Drag handle for reordering |
|
|
416
|
+
| `toolPanel` | `☰` | Tool panel toggle icon |
|
|
417
|
+
| `print` | `🖨️` | Print button icon |
|
|
418
|
+
|
|
419
|
+
**Precedence (highest wins):**
|
|
420
|
+
|
|
421
|
+
1. `gridConfig.icons` - Per-grid overrides
|
|
422
|
+
2. `provideGridIcons()` - App-level defaults
|
|
423
|
+
3. Built-in defaults
|
|
424
|
+
|
|
362
425
|
## Component-Class Column Config
|
|
363
426
|
|
|
364
427
|
For maximum flexibility and type safety, you can specify Angular component classes directly in your `gridConfig.columns`. This approach gives you full control over the component lifecycle while keeping your grid configuration clean and concise.
|
|
@@ -782,6 +845,14 @@ if (context?.hasFormGroups) {
|
|
|
782
845
|
| `GridTypeRegistry` | Injectable service for dynamic registration |
|
|
783
846
|
| `GRID_TYPE_DEFAULTS` | Injection token for type defaults |
|
|
784
847
|
|
|
848
|
+
### Icon Registry
|
|
849
|
+
|
|
850
|
+
| Export | Description |
|
|
851
|
+
| -------------------- | ------------------------------------------------ |
|
|
852
|
+
| `provideGridIcons()` | Provider factory for app-level icon overrides |
|
|
853
|
+
| `GridIconRegistry` | Injectable service for dynamic icon registration |
|
|
854
|
+
| `GRID_ICONS` | Injection token for icon overrides |
|
|
855
|
+
|
|
785
856
|
### Grid Directive Inputs
|
|
786
857
|
|
|
787
858
|
| Input | Type | Description |
|
|
@@ -1612,6 +1612,149 @@ class AngularGridAdapter {
|
|
|
1612
1612
|
}
|
|
1613
1613
|
}
|
|
1614
1614
|
|
|
1615
|
+
/**
|
|
1616
|
+
* Icon configuration registry for Angular applications.
|
|
1617
|
+
*
|
|
1618
|
+
* Provides application-wide icon overrides for all grids via
|
|
1619
|
+
* Angular's dependency injection.
|
|
1620
|
+
*/
|
|
1621
|
+
/**
|
|
1622
|
+
* Injection token for providing icon overrides at app level.
|
|
1623
|
+
*/
|
|
1624
|
+
const GRID_ICONS = new InjectionToken('GRID_ICONS');
|
|
1625
|
+
/**
|
|
1626
|
+
* Injectable service for managing grid icons.
|
|
1627
|
+
*
|
|
1628
|
+
* Use `provideGridIcons()` in your app config to set up icons,
|
|
1629
|
+
* or inject this service for dynamic registration.
|
|
1630
|
+
*
|
|
1631
|
+
* @example
|
|
1632
|
+
* ```typescript
|
|
1633
|
+
* // App-level setup (app.config.ts)
|
|
1634
|
+
* export const appConfig: ApplicationConfig = {
|
|
1635
|
+
* providers: [
|
|
1636
|
+
* provideGridIcons({
|
|
1637
|
+
* expand: '➕',
|
|
1638
|
+
* collapse: '➖',
|
|
1639
|
+
* sortAsc: '↑',
|
|
1640
|
+
* sortDesc: '↓',
|
|
1641
|
+
* })
|
|
1642
|
+
* ]
|
|
1643
|
+
* };
|
|
1644
|
+
*
|
|
1645
|
+
* // Dynamic registration
|
|
1646
|
+
* @Component({ ... })
|
|
1647
|
+
* export class AppComponent {
|
|
1648
|
+
* private registry = inject(GridIconRegistry);
|
|
1649
|
+
*
|
|
1650
|
+
* ngOnInit() {
|
|
1651
|
+
* this.registry.set('filter', '<svg>...</svg>');
|
|
1652
|
+
* }
|
|
1653
|
+
* }
|
|
1654
|
+
* ```
|
|
1655
|
+
*/
|
|
1656
|
+
class GridIconRegistry {
|
|
1657
|
+
icons = new Map();
|
|
1658
|
+
constructor() {
|
|
1659
|
+
// Merge any initial icons from provider
|
|
1660
|
+
const initial = inject(GRID_ICONS, { optional: true });
|
|
1661
|
+
if (initial) {
|
|
1662
|
+
for (const [key, value] of Object.entries(initial)) {
|
|
1663
|
+
this.icons.set(key, value);
|
|
1664
|
+
}
|
|
1665
|
+
}
|
|
1666
|
+
}
|
|
1667
|
+
/**
|
|
1668
|
+
* Set an icon override.
|
|
1669
|
+
*
|
|
1670
|
+
* @param name - The icon name (e.g., 'expand', 'collapse', 'filter')
|
|
1671
|
+
* @param value - The icon value (string text or SVG markup)
|
|
1672
|
+
*/
|
|
1673
|
+
set(name, value) {
|
|
1674
|
+
this.icons.set(name, value);
|
|
1675
|
+
}
|
|
1676
|
+
/**
|
|
1677
|
+
* Get an icon value.
|
|
1678
|
+
*/
|
|
1679
|
+
get(name) {
|
|
1680
|
+
return this.icons.get(name);
|
|
1681
|
+
}
|
|
1682
|
+
/**
|
|
1683
|
+
* Remove an icon override.
|
|
1684
|
+
*/
|
|
1685
|
+
remove(name) {
|
|
1686
|
+
this.icons.delete(name);
|
|
1687
|
+
}
|
|
1688
|
+
/**
|
|
1689
|
+
* Check if an icon has an override.
|
|
1690
|
+
*/
|
|
1691
|
+
has(name) {
|
|
1692
|
+
return this.icons.has(name);
|
|
1693
|
+
}
|
|
1694
|
+
/**
|
|
1695
|
+
* Get all icon overrides as a GridIcons partial.
|
|
1696
|
+
* Used internally by the adapter.
|
|
1697
|
+
*
|
|
1698
|
+
* @internal
|
|
1699
|
+
*/
|
|
1700
|
+
getAll() {
|
|
1701
|
+
const result = {};
|
|
1702
|
+
for (const [key, value] of this.icons) {
|
|
1703
|
+
result[key] = value;
|
|
1704
|
+
}
|
|
1705
|
+
return result;
|
|
1706
|
+
}
|
|
1707
|
+
/**
|
|
1708
|
+
* Get all registered icon names.
|
|
1709
|
+
*/
|
|
1710
|
+
getRegisteredIcons() {
|
|
1711
|
+
return Array.from(this.icons.keys());
|
|
1712
|
+
}
|
|
1713
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: GridIconRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1714
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: GridIconRegistry, providedIn: 'root' });
|
|
1715
|
+
}
|
|
1716
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: GridIconRegistry, decorators: [{
|
|
1717
|
+
type: Injectable,
|
|
1718
|
+
args: [{ providedIn: 'root' }]
|
|
1719
|
+
}], ctorParameters: () => [] });
|
|
1720
|
+
/**
|
|
1721
|
+
* Provides application-level icon overrides for all grids.
|
|
1722
|
+
*
|
|
1723
|
+
* Available icons to override:
|
|
1724
|
+
* - `expand` - Expand icon for collapsed items (trees, groups, details)
|
|
1725
|
+
* - `collapse` - Collapse icon for expanded items
|
|
1726
|
+
* - `sortAsc` - Sort ascending indicator
|
|
1727
|
+
* - `sortDesc` - Sort descending indicator
|
|
1728
|
+
* - `sortNone` - Sort neutral/unsorted indicator
|
|
1729
|
+
* - `submenuArrow` - Submenu arrow for context menus
|
|
1730
|
+
* - `dragHandle` - Drag handle icon for reordering
|
|
1731
|
+
* - `toolPanel` - Tool panel toggle icon in toolbar
|
|
1732
|
+
* - `filter` - Filter icon in column headers
|
|
1733
|
+
* - `filterActive` - Filter icon when filter is active
|
|
1734
|
+
* - `print` - Print icon for print button
|
|
1735
|
+
*
|
|
1736
|
+
* @example
|
|
1737
|
+
* ```typescript
|
|
1738
|
+
* // app.config.ts
|
|
1739
|
+
* import { provideGridIcons } from '@toolbox-web/grid-angular';
|
|
1740
|
+
*
|
|
1741
|
+
* export const appConfig: ApplicationConfig = {
|
|
1742
|
+
* providers: [
|
|
1743
|
+
* provideGridIcons({
|
|
1744
|
+
* expand: '➕',
|
|
1745
|
+
* collapse: '➖',
|
|
1746
|
+
* sortAsc: '↑',
|
|
1747
|
+
* sortDesc: '↓',
|
|
1748
|
+
* filter: '<svg viewBox="0 0 16 16">...</svg>',
|
|
1749
|
+
* })
|
|
1750
|
+
* ]
|
|
1751
|
+
* };
|
|
1752
|
+
* ```
|
|
1753
|
+
*/
|
|
1754
|
+
function provideGridIcons(icons) {
|
|
1755
|
+
return makeEnvironmentProviders([{ provide: GRID_ICONS, useValue: icons }]);
|
|
1756
|
+
}
|
|
1757
|
+
|
|
1615
1758
|
/**
|
|
1616
1759
|
* Angular inject function for programmatic access to a grid instance.
|
|
1617
1760
|
*
|
|
@@ -2186,6 +2329,7 @@ class Grid {
|
|
|
2186
2329
|
injector = inject(EnvironmentInjector);
|
|
2187
2330
|
appRef = inject(ApplicationRef);
|
|
2188
2331
|
viewContainerRef = inject(ViewContainerRef);
|
|
2332
|
+
iconRegistry = inject(GridIconRegistry, { optional: true });
|
|
2189
2333
|
adapter = null;
|
|
2190
2334
|
constructor() {
|
|
2191
2335
|
// Effect to process angularConfig and apply to grid
|
|
@@ -2215,6 +2359,13 @@ class Grid {
|
|
|
2215
2359
|
if (selectableValue !== undefined) {
|
|
2216
2360
|
coreConfigOverrides['selectable'] = selectableValue;
|
|
2217
2361
|
}
|
|
2362
|
+
// Merge icon overrides from registry with any existing icons in config
|
|
2363
|
+
// Registry icons are base, config.icons override them
|
|
2364
|
+
const registryIcons = this.iconRegistry?.getAll();
|
|
2365
|
+
if (registryIcons && Object.keys(registryIcons).length > 0) {
|
|
2366
|
+
const existingIcons = processedConfig?.icons || config?.icons || {};
|
|
2367
|
+
coreConfigOverrides['icons'] = { ...registryIcons, ...existingIcons };
|
|
2368
|
+
}
|
|
2218
2369
|
// Apply to the grid element
|
|
2219
2370
|
const grid = this.elementRef.nativeElement;
|
|
2220
2371
|
grid.gridConfig = {
|
|
@@ -2223,6 +2374,14 @@ class Grid {
|
|
|
2223
2374
|
plugins: mergedPlugins.length > 0 ? mergedPlugins : undefined,
|
|
2224
2375
|
};
|
|
2225
2376
|
});
|
|
2377
|
+
// Effect to sync loading state to the grid element
|
|
2378
|
+
effect(() => {
|
|
2379
|
+
const loadingValue = this.loading();
|
|
2380
|
+
if (loadingValue === undefined)
|
|
2381
|
+
return;
|
|
2382
|
+
const grid = this.elementRef.nativeElement;
|
|
2383
|
+
grid.loading = loadingValue;
|
|
2384
|
+
});
|
|
2226
2385
|
}
|
|
2227
2386
|
/**
|
|
2228
2387
|
* Custom CSS styles to inject into the grid.
|
|
@@ -2303,6 +2462,34 @@ class Grid {
|
|
|
2303
2462
|
* ```
|
|
2304
2463
|
*/
|
|
2305
2464
|
selectable = input(...(ngDevMode ? [undefined, { debugName: "selectable" }] : []));
|
|
2465
|
+
/**
|
|
2466
|
+
* Show a loading overlay on the grid.
|
|
2467
|
+
* Use this during initial data fetch or refresh operations.
|
|
2468
|
+
*
|
|
2469
|
+
* For row/cell loading states, access the grid element directly:
|
|
2470
|
+
* - `grid.setRowLoading(rowId, true/false)`
|
|
2471
|
+
* - `grid.setCellLoading(rowId, field, true/false)`
|
|
2472
|
+
*
|
|
2473
|
+
* @default false
|
|
2474
|
+
*
|
|
2475
|
+
* @example
|
|
2476
|
+
* ```html
|
|
2477
|
+
* <!-- Show loading during data fetch -->
|
|
2478
|
+
* <tbw-grid [loading]="isLoading" [rows]="rows" />
|
|
2479
|
+
* ```
|
|
2480
|
+
*
|
|
2481
|
+
* ```typescript
|
|
2482
|
+
* isLoading = true;
|
|
2483
|
+
*
|
|
2484
|
+
* ngOnInit() {
|
|
2485
|
+
* this.dataService.fetchData().subscribe(data => {
|
|
2486
|
+
* this.rows = data;
|
|
2487
|
+
* this.isLoading = false;
|
|
2488
|
+
* });
|
|
2489
|
+
* }
|
|
2490
|
+
* ```
|
|
2491
|
+
*/
|
|
2492
|
+
loading = input(...(ngDevMode ? [undefined, { debugName: "loading" }] : []));
|
|
2306
2493
|
/**
|
|
2307
2494
|
* Angular-specific grid configuration that supports component classes for renderers/editors.
|
|
2308
2495
|
*
|
|
@@ -3167,12 +3354,12 @@ class Grid {
|
|
|
3167
3354
|
}
|
|
3168
3355
|
}
|
|
3169
3356
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: Grid, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3170
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", 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 }, angularConfig: { classPropertyName: "angularConfig", publicName: "angularConfig", 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 }, sorting: { classPropertyName: "sorting", publicName: "sorting", isSignal: true, isRequired: false, transformFunction: null }, filtering: { classPropertyName: "filtering", publicName: "filtering", isSignal: true, isRequired: false, transformFunction: null }, reorder: { classPropertyName: "reorder", publicName: "reorder", 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 }, rowReorder: { classPropertyName: "rowReorder", publicName: "rowReorder", 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: "exportFeature", 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 } }, 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" }, ngImport: i0 });
|
|
3357
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", 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 }, angularConfig: { classPropertyName: "angularConfig", publicName: "angularConfig", 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 }, sorting: { classPropertyName: "sorting", publicName: "sorting", isSignal: true, isRequired: false, transformFunction: null }, filtering: { classPropertyName: "filtering", publicName: "filtering", isSignal: true, isRequired: false, transformFunction: null }, reorder: { classPropertyName: "reorder", publicName: "reorder", 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 }, rowReorder: { classPropertyName: "rowReorder", publicName: "rowReorder", 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: "exportFeature", 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 } }, 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" }, ngImport: i0 });
|
|
3171
3358
|
}
|
|
3172
3359
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: Grid, decorators: [{
|
|
3173
3360
|
type: Directive,
|
|
3174
3361
|
args: [{ selector: 'tbw-grid' }]
|
|
3175
|
-
}], 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 }] }], angularConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "angularConfig", 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 }] }], sorting: [{ type: i0.Input, args: [{ isSignal: true, alias: "sorting", required: false }] }], filtering: [{ type: i0.Input, args: [{ isSignal: true, alias: "filtering", required: false }] }], reorder: [{ type: i0.Input, args: [{ isSignal: true, alias: "reorder", 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 }] }], rowReorder: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowReorder", 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: "exportFeature", 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 }] }], 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"] }] } });
|
|
3362
|
+
}], 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 }] }], angularConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "angularConfig", 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 }] }], sorting: [{ type: i0.Input, args: [{ isSignal: true, alias: "sorting", required: false }] }], filtering: [{ type: i0.Input, args: [{ isSignal: true, alias: "filtering", required: false }] }], reorder: [{ type: i0.Input, args: [{ isSignal: true, alias: "reorder", 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 }] }], rowReorder: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowReorder", 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: "exportFeature", 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 }] }], 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"] }] } });
|
|
3176
3363
|
|
|
3177
3364
|
/**
|
|
3178
3365
|
* @packageDocumentation
|
|
@@ -3185,5 +3372,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
3185
3372
|
* Generated bundle index. Do not edit.
|
|
3186
3373
|
*/
|
|
3187
3374
|
|
|
3188
|
-
export { AngularGridAdapter, BaseGridEditor, GRID_TYPE_DEFAULTS, Grid, GridColumnEditor, GridColumnView, GridDetailView, GridFormArray, GridResponsiveCard, GridToolPanel, GridTypeRegistry, TbwEditor as TbwCellEditor, TbwRenderer as TbwCellView, TbwEditor, TbwRenderer, clearFeatureRegistry, createPluginFromFeature, getFeatureFactory, getFormArrayContext, getRegisteredFeatures, injectGrid, isComponentClass, isFeatureRegistered, provideGridTypeDefaults, registerFeature };
|
|
3375
|
+
export { AngularGridAdapter, BaseGridEditor, GRID_ICONS, GRID_TYPE_DEFAULTS, Grid, GridColumnEditor, GridColumnView, GridDetailView, GridFormArray, GridIconRegistry, GridResponsiveCard, GridToolPanel, GridTypeRegistry, TbwEditor as TbwCellEditor, TbwRenderer as TbwCellView, TbwEditor, TbwRenderer, clearFeatureRegistry, createPluginFromFeature, getFeatureFactory, getFormArrayContext, getRegisteredFeatures, injectGrid, isComponentClass, isFeatureRegistered, provideGridIcons, provideGridTypeDefaults, registerFeature };
|
|
3189
3376
|
//# sourceMappingURL=toolbox-web-grid-angular.mjs.map
|