@toolbox-web/grid-angular 1.9.0 → 2.0.0-beta
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-editing.mjs +2317 -4
- package/fesm2022/toolbox-web-grid-angular-features-editing.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-filtering.mjs +91 -2
- package/fesm2022/toolbox-web-grid-angular-features-filtering.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-master-detail.mjs +97 -4
- package/fesm2022/toolbox-web-grid-angular-features-master-detail.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-pinned-rows.mjs +1 -15
- package/fesm2022/toolbox-web-grid-angular-features-pinned-rows.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-responsive.mjs +109 -3
- package/fesm2022/toolbox-web-grid-angular-features-responsive.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-shell.mjs +452 -0
- package/fesm2022/toolbox-web-grid-angular-features-shell.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular.mjs +768 -4649
- package/fesm2022/toolbox-web-grid-angular.mjs.map +1 -1
- package/package.json +2 -6
- package/types/toolbox-web-grid-angular-features-editing.d.ts +1181 -4
- package/types/toolbox-web-grid-angular-features-editing.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-filtering.d.ts +102 -7
- package/types/toolbox-web-grid-angular-features-filtering.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-master-detail.d.ts +88 -4
- package/types/toolbox-web-grid-angular-features-master-detail.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-pinned-rows.d.ts +2 -7
- package/types/toolbox-web-grid-angular-features-pinned-rows.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-responsive.d.ts +109 -3
- package/types/toolbox-web-grid-angular-features-responsive.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-shell.d.ts +229 -0
- package/types/toolbox-web-grid-angular-features-shell.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular.d.ts +483 -2929
- package/types/toolbox-web-grid-angular.d.ts.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-reorder-rows.mjs +0 -70
- package/fesm2022/toolbox-web-grid-angular-features-reorder-rows.mjs.map +0 -1
- package/types/toolbox-web-grid-angular-features-reorder-rows.d.ts +0 -25
- package/types/toolbox-web-grid-angular-features-reorder-rows.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbox-web-grid-angular-features-editing.d.ts","sources":["../../../../libs/grid-angular/features/editing/src/grid-editing.directive.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"toolbox-web-grid-angular-features-editing.d.ts","sources":["../../../../libs/grid-angular/features/editing/src/grid-editing.directive.ts","../../../../libs/grid-angular/features/editing/src/base-grid-editor.ts","../../../../libs/grid-angular/features/editing/src/base-grid-editor-cva.ts","../../../../libs/grid-angular/features/editing/src/base-overlay-editor.ts","../../../../libs/grid-angular/features/editing/src/grid-column-editor.directive.ts","../../../../libs/grid-angular/features/editing/src/grid-form-array.directive.ts","../../../../libs/grid-angular/features/editing/src/grid-lazy-form.directive.ts","../../../../libs/grid-angular/features/editing/src/structural-editor.directive.ts"],"mappings":"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","names":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
2
|
import { OnInit, OnDestroy, Type, Signal } from '@angular/core';
|
|
3
3
|
import { FilterConfig as FilterConfig$1, FilterChangeDetail, FilterModel, BlankMode } from '@toolbox-web/grid/plugins/filtering';
|
|
4
4
|
export { _Augmentation as _FilteringAugmentation } from '@toolbox-web/grid/features/filtering';
|
|
5
5
|
import { FilterPanel } from '@toolbox-web/grid-angular';
|
|
6
|
-
|
|
6
|
+
import * as _toolbox_web_grid_all from '@toolbox-web/grid/all';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Angular-specific filter config that allows an Angular component class as
|
|
@@ -43,7 +43,7 @@ declare class GridFilteringDirective implements OnInit, OnDestroy {
|
|
|
43
43
|
* <tbw-grid [filtering]="{ debounceMs: 200 }" />
|
|
44
44
|
* ```
|
|
45
45
|
*/
|
|
46
|
-
readonly filtering:
|
|
46
|
+
readonly filtering: i0.InputSignal<boolean | FilterConfig<any> | undefined>;
|
|
47
47
|
/**
|
|
48
48
|
* Emitted when filter values change.
|
|
49
49
|
*
|
|
@@ -52,13 +52,108 @@ declare class GridFilteringDirective implements OnInit, OnDestroy {
|
|
|
52
52
|
* <tbw-grid (filterChange)="onFilterChange($event)" />
|
|
53
53
|
* ```
|
|
54
54
|
*/
|
|
55
|
-
readonly filterChange:
|
|
55
|
+
readonly filterChange: i0.OutputEmitterRef<FilterChangeDetail>;
|
|
56
56
|
private listener?;
|
|
57
57
|
constructor();
|
|
58
58
|
ngOnInit(): void;
|
|
59
59
|
ngOnDestroy(): void;
|
|
60
|
-
static ɵfac:
|
|
61
|
-
static ɵdir:
|
|
60
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GridFilteringDirective, never>;
|
|
61
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<GridFilteringDirective, "tbw-grid[filtering], tbw-grid[filterChange]", never, { "filtering": { "alias": "filtering"; "required": false; "isSignal": true; }; }, { "filterChange": "filterChange"; }, never, never, true, never>;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Base class for Angular filter panel components.
|
|
66
|
+
*
|
|
67
|
+
* Provides a ready-made `params` input and common lifecycle helpers
|
|
68
|
+
* (`applyAndClose`, `clearAndClose`) so consumers only need to implement
|
|
69
|
+
* their filter logic in `applyFilter()`.
|
|
70
|
+
*
|
|
71
|
+
* ## Usage
|
|
72
|
+
*
|
|
73
|
+
* ```typescript
|
|
74
|
+
* import { Component, viewChild, ElementRef } from '@angular/core';
|
|
75
|
+
* import { BaseFilterPanel } from '@toolbox-web/grid-angular/features/filtering';
|
|
76
|
+
*
|
|
77
|
+
* @Component({
|
|
78
|
+
* selector: 'app-text-filter',
|
|
79
|
+
* template: `
|
|
80
|
+
* <input #input (keydown.enter)="applyAndClose()" />
|
|
81
|
+
* <button (click)="applyAndClose()">Apply</button>
|
|
82
|
+
* <button (click)="clearAndClose()">Clear</button>
|
|
83
|
+
* `
|
|
84
|
+
* })
|
|
85
|
+
* export class TextFilterComponent extends BaseFilterPanel {
|
|
86
|
+
* input = viewChild.required<ElementRef<HTMLInputElement>>('input');
|
|
87
|
+
*
|
|
88
|
+
* applyFilter(): void {
|
|
89
|
+
* this.params().applyTextFilter('contains', this.input().nativeElement.value);
|
|
90
|
+
* }
|
|
91
|
+
* }
|
|
92
|
+
* ```
|
|
93
|
+
*
|
|
94
|
+
* ## Template Syntax
|
|
95
|
+
*
|
|
96
|
+
* The grid's filtering plugin will mount this component and provide `params`
|
|
97
|
+
* automatically. No manual wiring is required:
|
|
98
|
+
*
|
|
99
|
+
* ```typescript
|
|
100
|
+
* gridConfig = {
|
|
101
|
+
* columns: [
|
|
102
|
+
* { field: 'name', filterable: true, filterPanel: TextFilterComponent },
|
|
103
|
+
* ],
|
|
104
|
+
* };
|
|
105
|
+
* ```
|
|
106
|
+
*
|
|
107
|
+
* @typeParam TRow - The row data type (available via `params().column`)
|
|
108
|
+
*
|
|
109
|
+
* @since 0.13.0
|
|
110
|
+
*/
|
|
111
|
+
declare abstract class BaseFilterPanel implements FilterPanel {
|
|
112
|
+
/**
|
|
113
|
+
* Filter panel parameters injected by the grid's filtering plugin.
|
|
114
|
+
*
|
|
115
|
+
* Provides access to:
|
|
116
|
+
* - `field` — the column field name
|
|
117
|
+
* - `column` — full column configuration
|
|
118
|
+
* - `uniqueValues` — distinct values in the column
|
|
119
|
+
* - `excludedValues` — currently excluded values (set filter)
|
|
120
|
+
* - `searchText` — current search text
|
|
121
|
+
* - `applySetFilter(excluded)` — apply a set-based (include/exclude) filter
|
|
122
|
+
* - `applyTextFilter(operator, value, valueTo?)` — apply a text/number filter
|
|
123
|
+
* - `clearFilter()` — clear the filter for this column
|
|
124
|
+
* - `closePanel()` — close the filter panel
|
|
125
|
+
*/
|
|
126
|
+
readonly params: i0.InputSignal<_toolbox_web_grid_all.FilterPanelParams>;
|
|
127
|
+
/**
|
|
128
|
+
* Implement this to apply your filter logic.
|
|
129
|
+
*
|
|
130
|
+
* Called by {@link applyAndClose} before closing the panel.
|
|
131
|
+
* Use `this.params()` to access the filter API.
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* applyFilter(): void {
|
|
136
|
+
* this.params().applyTextFilter('contains', this.searchText);
|
|
137
|
+
* }
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
abstract applyFilter(): void;
|
|
141
|
+
/**
|
|
142
|
+
* Apply the filter then close the panel.
|
|
143
|
+
*
|
|
144
|
+
* Calls {@link applyFilter} followed by `params().closePanel()`.
|
|
145
|
+
* Bind this to your "Apply" button or Enter key handler.
|
|
146
|
+
*/
|
|
147
|
+
applyAndClose(): void;
|
|
148
|
+
/**
|
|
149
|
+
* Clear the filter then close the panel.
|
|
150
|
+
*
|
|
151
|
+
* Calls `params().clearFilter()` followed by `params().closePanel()`.
|
|
152
|
+
* Bind this to your "Clear" / "Reset" button.
|
|
153
|
+
*/
|
|
154
|
+
clearAndClose(): void;
|
|
155
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseFilterPanel, never>;
|
|
156
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseFilterPanel, never, never, { "params": { "alias": "params"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
62
157
|
}
|
|
63
158
|
|
|
64
159
|
/**
|
|
@@ -225,6 +320,6 @@ interface FilteringMethods {
|
|
|
225
320
|
*/
|
|
226
321
|
declare function injectGridFiltering(selector?: string): FilteringMethods;
|
|
227
322
|
|
|
228
|
-
export { GridFilteringDirective, injectGridFiltering };
|
|
323
|
+
export { BaseFilterPanel, GridFilteringDirective, injectGridFiltering };
|
|
229
324
|
export type { FilterConfig, FilteringMethods };
|
|
230
325
|
//# sourceMappingURL=toolbox-web-grid-angular-features-filtering.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbox-web-grid-angular-features-filtering.d.ts","sources":["../../../../libs/grid-angular/features/filtering/src/grid-filtering.directive.ts","../../../../libs/grid-angular/features/filtering/src/index.ts"],"mappings":";;;;;;;AAuDA;;;;;;;;;;;;;;AAcG;KAES,YAAY,eAAe,IAAI,CAACA,cAAgB;AAC1D,0BAAsBA,cAAgB,gCAAgC,IAAI,CAAC,WAAW;;AAGxF;;;;;;;AAOG;AACH,cAIa,sBAAuB,YAAW,MAAM,EAAE,SAAS;AAC9D;AAEA;;;;;;;;;AASG;
|
|
1
|
+
{"version":3,"file":"toolbox-web-grid-angular-features-filtering.d.ts","sources":["../../../../libs/grid-angular/features/filtering/src/grid-filtering.directive.ts","../../../../libs/grid-angular/features/filtering/src/base-filter-panel.ts","../../../../libs/grid-angular/features/filtering/src/index.ts"],"mappings":";;;;;;;AAuDA;;;;;;;;;;;;;;AAcG;KAES,YAAY,eAAe,IAAI,CAACA,cAAgB;AAC1D,0BAAsBA,cAAgB,gCAAgC,IAAI,CAAC,WAAW;;AAGxF;;;;;;;AAOG;AACH,cAIa,sBAAuB,YAAW,MAAM,EAAE,SAAS;AAC9D;AAEA;;;;;;;;;AASG;wBAEeC,EAAA,CAAA,WAAA,WAAA,YAAA;AAElB;;;;;;;AAOG;2BACkBA,EAAA,CAAA,gBAAA,CAAA,kBAAA;;;AAiBrB;AAQA;yCAjDW,sBAAsB;2CAAtB,sBAAsB;AA6DlC;;AC/ID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CG;AACH,uBACsB,eAAgB,YAAW,WAAW;AAC1D;;;;;;;;;;;;;AAaG;qBACYA,EAAA,CAAA,WAAA,CAAA,qBAAA,CAAA,iBAAA;AAEf;;;;;;;;;;;;AAYG;;AAGH;;;;;AAKG;AACH;AAKA;;;;;AAKG;AACH;yCAjDoB,eAAe;2CAAf,eAAe;AAqDpC;;AC1GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDG;;AA2EH;;;;AAIG;UACc,gBAAgB;AAC/B;;;;;AAKG;AACH,uCAAmC,IAAI,CAAC,WAAW;;AAAiD;AAEpG;;AAEG;kCAC2B,WAAW;AAEzC;;AAEG;AACH,sBAAkB,WAAW;AAE7B;;;AAGG;8BACuB,WAAW;;AAAkC;AAEvE;;;AAGG;AACH;;AAAgD;AAEhD;;;AAGG;;;AAC6D;AAEhE;;AAEG;AACH;AAEA;;AAEG;;AAGH;;AAEG;;AAGH;;AAEG;AACH,2BAAuB,WAAW;AAElC;;AAEG;AACH,qCAAiC,SAAS;AAE1C;;AAEG;6CACsC,SAAS;AAElD;;AAEG;AACH,aAAS,MAAM;AAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCG;AACH,iBAAgB,mBAAmB,qBAAyB,gBAAgB;;;;","names":["CoreFilterConfig","_angular_core"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { _Augmentation as _MasterDetailAugmentation } from '@toolbox-web/grid/features/master-detail';
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
|
-
import { OnInit, OnDestroy, Type } from '@angular/core';
|
|
3
|
+
import { OnInit, OnDestroy, Type, TemplateRef } from '@angular/core';
|
|
4
4
|
import { MasterDetailConfig as MasterDetailConfig$1, DetailExpandDetail } from '@toolbox-web/grid/plugins/master-detail';
|
|
5
|
-
|
|
5
|
+
import { ExpandCollapseAnimation } from '@toolbox-web/grid';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Angular-specific master-detail config that allows an Angular component class
|
|
@@ -40,6 +40,90 @@ declare class GridMasterDetailDirective implements OnInit, OnDestroy {
|
|
|
40
40
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridMasterDetailDirective, "tbw-grid[masterDetail], tbw-grid[detailExpand]", never, { "masterDetail": { "alias": "masterDetail"; "required": false; "isSignal": true; }; }, { "detailExpand": "detailExpand"; }, never, never, true, never>;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Context object passed to the detail renderer template.
|
|
45
|
+
* Contains the row data for the expanded detail view.
|
|
46
|
+
* @since 0.1.0
|
|
47
|
+
*/
|
|
48
|
+
interface GridDetailContext<TRow = unknown> {
|
|
49
|
+
/** The row data (implicit binding for let-row) */
|
|
50
|
+
$implicit: TRow;
|
|
51
|
+
/** The row data (explicit binding) */
|
|
52
|
+
row: TRow;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Gets the detail template registered for a given grid element.
|
|
56
|
+
* Used by AngularGridAdapter to retrieve templates at render time.
|
|
57
|
+
* @since 0.1.0
|
|
58
|
+
*/
|
|
59
|
+
declare function getDetailTemplate(gridElement: HTMLElement): TemplateRef<GridDetailContext> | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Directive that captures an `<ng-template>` for use as a master-detail row renderer.
|
|
62
|
+
*
|
|
63
|
+
* This enables declarative Angular component usage for expandable detail rows
|
|
64
|
+
* that appear below the main row when expanded.
|
|
65
|
+
*
|
|
66
|
+
* ## Usage
|
|
67
|
+
*
|
|
68
|
+
* ```html
|
|
69
|
+
* <tbw-grid [rows]="rows" [gridConfig]="config">
|
|
70
|
+
* <tbw-grid-detail [showExpandColumn]="true" animation="slide">
|
|
71
|
+
* <ng-template let-row>
|
|
72
|
+
* <app-detail-panel [employee]="row" />
|
|
73
|
+
* </ng-template>
|
|
74
|
+
* </tbw-grid-detail>
|
|
75
|
+
* </tbw-grid>
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* The template context provides:
|
|
79
|
+
* - `$implicit` / `row`: The full row data object
|
|
80
|
+
*
|
|
81
|
+
* Import the directive from the master-detail feature entry:
|
|
82
|
+
*
|
|
83
|
+
* ```typescript
|
|
84
|
+
* import { GridDetailView } from '@toolbox-web/grid-angular/features/master-detail';
|
|
85
|
+
*
|
|
86
|
+
* @Component({
|
|
87
|
+
* imports: [GridDetailView],
|
|
88
|
+
* // ...
|
|
89
|
+
* })
|
|
90
|
+
* ```
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```html
|
|
94
|
+
* <tbw-grid [rows]="rows" [gridConfig]="config">
|
|
95
|
+
* <tbw-grid-detail [showExpandColumn]="true" animation="slide">
|
|
96
|
+
* <ng-template let-row>
|
|
97
|
+
* <app-detail-panel [employee]="row" />
|
|
98
|
+
* </ng-template>
|
|
99
|
+
* </tbw-grid-detail>
|
|
100
|
+
* </tbw-grid>
|
|
101
|
+
* ```
|
|
102
|
+
*
|
|
103
|
+
* @category Directive
|
|
104
|
+
* @since 0.1.0
|
|
105
|
+
*/
|
|
106
|
+
declare class GridDetailView {
|
|
107
|
+
private elementRef;
|
|
108
|
+
/** Whether to show the expand/collapse column. Default: true */
|
|
109
|
+
showExpandColumn: _angular_core.InputSignal<boolean>;
|
|
110
|
+
/** Animation style for expand/collapse. Default: 'slide' */
|
|
111
|
+
animation: _angular_core.InputSignal<ExpandCollapseAnimation>;
|
|
112
|
+
/**
|
|
113
|
+
* Query for the ng-template content child.
|
|
114
|
+
*/
|
|
115
|
+
template: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
116
|
+
/** Effect that triggers when the template is available */
|
|
117
|
+
private onTemplateReceived;
|
|
118
|
+
/**
|
|
119
|
+
* Static type guard for template context.
|
|
120
|
+
* Enables type inference in templates.
|
|
121
|
+
*/
|
|
122
|
+
static ngTemplateContextGuard(dir: GridDetailView, ctx: unknown): ctx is GridDetailContext;
|
|
123
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridDetailView, never>;
|
|
124
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridDetailView, "tbw-grid-detail", never, { "showExpandColumn": { "alias": "showExpandColumn"; "required": false; "isSignal": true; }; "animation": { "alias": "animation"; "required": false; "isSignal": true; }; }, {}, ["template"], never, true, never>;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export { GridDetailView, GridMasterDetailDirective, getDetailTemplate };
|
|
128
|
+
export type { GridDetailContext, MasterDetailConfig };
|
|
45
129
|
//# sourceMappingURL=toolbox-web-grid-angular-features-master-detail.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbox-web-grid-angular-features-master-detail.d.ts","sources":["../../../../libs/grid-angular/features/master-detail/src/grid-master-detail.directive.ts"],"mappings":";;;;;;AAmBA;;;;;;;;;;;;;;;AAeG;AACG,KAAM,kBAAkB,GAAG,IAAI,CAACA,oBAAsB;qBACzCA,oBAAsB,qBAAqB,IAAI;;AAGlE;;;;AAIG;AACH,cAIa,yBAA0B,YAAW,MAAM,EAAE,SAAS;AACjE;2BAEqB,aAAA,CAAA,WAAA,CAAA,kBAAA;2BACA,aAAA,CAAA,gBAAA,CAAA,kBAAA;;;AAUrB;AAMA;oDApBW,yBAAyB;sDAAzB,yBAAyB;AA6BrC;;;;","names":["CoreMasterDetailConfig"]}
|
|
1
|
+
{"version":3,"file":"toolbox-web-grid-angular-features-master-detail.d.ts","sources":["../../../../libs/grid-angular/features/master-detail/src/grid-master-detail.directive.ts","../../../../libs/grid-angular/features/master-detail/src/grid-detail-view.directive.ts"],"mappings":";;;;;;AAmBA;;;;;;;;;;;;;;;AAeG;AACG,KAAM,kBAAkB,GAAG,IAAI,CAACA,oBAAsB;qBACzCA,oBAAsB,qBAAqB,IAAI;;AAGlE;;;;AAIG;AACH,cAIa,yBAA0B,YAAW,MAAM,EAAE,SAAS;AACjE;2BAEqB,aAAA,CAAA,WAAA,CAAA,kBAAA;2BACA,aAAA,CAAA,gBAAA,CAAA,kBAAA;;;AAUrB;AAMA;oDApBW,yBAAyB;sDAAzB,yBAAyB;AA6BrC;;AC1ED;;;;AAIG;AACG,UAAW,iBAAiB;;;;;AAKjC;AAKD;;;;AAIG;AACH,iBAAgB,iBAAiB,cAAc,WAAW,GAAG,WAAW,CAAC,iBAAiB;AAS1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CG;AACH,cACa,cAAc;;;AAIzB,sBAAgB,aAAA,CAAA,WAAA;;AAGhB,eAAS,aAAA,CAAA,WAAA,CAAA,uBAAA;AAET;;AAEG;AACH,cAAQ,aAAA,CAAA,MAAA,CAAA,WAAA;;;AAWR;;;AAGG;AACH,uCAAmC,cAAc,wBAAwB,iBAAiB;oDA3B/E,cAAc;sDAAd,cAAc;AA8B1B;;;;","names":["CoreMasterDetailConfig"]}
|
|
@@ -44,7 +44,7 @@ type CoreAggregationSlot = Exclude<CoreSlot, {
|
|
|
44
44
|
type PinnedRowSlot = CoreAggregationSlot | PanelSlot;
|
|
45
45
|
/**
|
|
46
46
|
* Pinned-rows config widened to accept Angular component classes as `render`
|
|
47
|
-
* inside `slots[]
|
|
47
|
+
* inside `slots[]`. Bridging to vanilla DOM is handled
|
|
48
48
|
* by the side-effect import `@toolbox-web/grid-angular/features/pinned-rows`.
|
|
49
49
|
*
|
|
50
50
|
* Re-exported under the same name as the core type so Angular users see a
|
|
@@ -53,13 +53,8 @@ type PinnedRowSlot = CoreAggregationSlot | PanelSlot;
|
|
|
53
53
|
*
|
|
54
54
|
* @since 1.7.1
|
|
55
55
|
*/
|
|
56
|
-
type PinnedRowsConfig = Omit<PinnedRowsConfig$1, 'slots'
|
|
56
|
+
type PinnedRowsConfig = Omit<PinnedRowsConfig$1, 'slots'> & {
|
|
57
57
|
slots?: PinnedRowSlot[];
|
|
58
|
-
customPanels?: Array<{
|
|
59
|
-
id: string;
|
|
60
|
-
position: PanelZone;
|
|
61
|
-
render: ((ctx: PinnedRowsContext) => HTMLElement) | Type<unknown>;
|
|
62
|
-
}>;
|
|
63
58
|
};
|
|
64
59
|
/** @deprecated Use {@link PanelRender} instead. */
|
|
65
60
|
type AngularPanelRender = PanelRender;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbox-web-grid-angular-features-pinned-rows.d.ts","sources":["../../../../libs/grid-angular/features/pinned-rows/src/grid-pinned-rows.directive.ts"],"mappings":";;;;;AAeA;;;;;;;AAOG;KACS,WAAW,UAAU,iBAAiB,KAAK,WAAW,WAAW,IAAI;AAEjF;;;;AAIG;UACc,gBAAgB;WACxB,SAAS;YACR,WAAW;AACpB;AAED;;;;AAIG;UACc,SAAS;;AAExB;AACA,YAAQ,WAAW,GAAG,gBAAgB;AACvC;AAED,KAAK,QAAQ,GAAG,WAAW,CAACA,kBAAoB;AAChD,KAAK,mBAAmB,GAAG,OAAO,CAAC,QAAQ;;AAAqB;AAEhE;;;;;AAKG;KACS,aAAa,GAAG,mBAAmB,GAAG,SAAS;AAE3D;;;;;;;;;;AAUG;AACG,KAAM,gBAAgB,GAAG,IAAI,CAACA,kBAAoB;AACtD,YAAQ,aAAa
|
|
1
|
+
{"version":3,"file":"toolbox-web-grid-angular-features-pinned-rows.d.ts","sources":["../../../../libs/grid-angular/features/pinned-rows/src/grid-pinned-rows.directive.ts"],"mappings":";;;;;AAeA;;;;;;;AAOG;KACS,WAAW,UAAU,iBAAiB,KAAK,WAAW,WAAW,IAAI;AAEjF;;;;AAIG;UACc,gBAAgB;WACxB,SAAS;YACR,WAAW;AACpB;AAED;;;;AAIG;UACc,SAAS;;AAExB;AACA,YAAQ,WAAW,GAAG,gBAAgB;AACvC;AAED,KAAK,QAAQ,GAAG,WAAW,CAACA,kBAAoB;AAChD,KAAK,mBAAmB,GAAG,OAAO,CAAC,QAAQ;;AAAqB;AAEhE;;;;;AAKG;KACS,aAAa,GAAG,mBAAmB,GAAG,SAAS;AAE3D;;;;;;;;;;AAUG;AACG,KAAM,gBAAgB,GAAG,IAAI,CAACA,kBAAoB;AACtD,YAAQ,aAAa;;AAOvB;AACM,KAAM,kBAAkB,GAAG,WAAW;AAC5C;AACM,KAAM,uBAAuB,GAAG,gBAAgB;AACtD;AACM,KAAM,gBAAgB,GAAG,SAAS;AACxC;AACM,KAAM,oBAAoB,GAAG,aAAa;AAChD;AACM,KAAM,uBAAuB,GAAG,gBAAgB;AAEtD;;;;AAIG;AACH,cAIa,uBAAwB,YAAW,SAAS;AACvD;yBAEmBC,EAAA,CAAA,WAAA,WAAA,gBAAA;;AAMnB;yCATW,uBAAuB;2CAAvB,uBAAuB;AAYnC;;;;","names":["CorePinnedRowsConfig","_angular_core"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { _Augmentation as _ResponsiveAugmentation } from '@toolbox-web/grid/features/responsive';
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
|
-
import { OnInit, OnDestroy, Type } from '@angular/core';
|
|
3
|
+
import { OnInit, OnDestroy, Type, TemplateRef } from '@angular/core';
|
|
4
4
|
import { ResponsivePluginConfig as ResponsivePluginConfig$1, ResponsiveChangeDetail } from '@toolbox-web/grid/plugins/responsive';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -39,6 +39,112 @@ declare class GridResponsiveDirective implements OnInit, OnDestroy {
|
|
|
39
39
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridResponsiveDirective, "tbw-grid[responsive], tbw-grid[responsiveChange]", never, { "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; }, { "responsiveChange": "responsiveChange"; }, never, never, true, never>;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Context object passed to the responsive card template.
|
|
44
|
+
*
|
|
45
|
+
* @template TRow - The type of row data
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```html
|
|
49
|
+
* <tbw-grid-responsive-card>
|
|
50
|
+
* <ng-template let-row let-index="index">
|
|
51
|
+
* <div class="card-content">
|
|
52
|
+
* <span>{{ row.name }}</span>
|
|
53
|
+
* <span>Row #{{ index }}</span>
|
|
54
|
+
* </div>
|
|
55
|
+
* </ng-template>
|
|
56
|
+
* </tbw-grid-responsive-card>
|
|
57
|
+
* ```
|
|
58
|
+
* @since 0.4.0
|
|
59
|
+
*/
|
|
60
|
+
interface GridResponsiveCardContext<TRow = unknown> {
|
|
61
|
+
/**
|
|
62
|
+
* The row data (available as `let-row` or `let-myVar`).
|
|
63
|
+
*/
|
|
64
|
+
$implicit: TRow;
|
|
65
|
+
/**
|
|
66
|
+
* The row data (explicit access via `let-row="row"`).
|
|
67
|
+
*/
|
|
68
|
+
row: TRow;
|
|
69
|
+
/**
|
|
70
|
+
* The row index (zero-based).
|
|
71
|
+
*/
|
|
72
|
+
index: number;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Retrieves the responsive card template for a grid element.
|
|
76
|
+
*
|
|
77
|
+
* @param gridElement - The grid element to look up
|
|
78
|
+
* @returns The template reference or undefined if not found
|
|
79
|
+
* @since 0.4.0
|
|
80
|
+
*/
|
|
81
|
+
declare function getResponsiveCardTemplate(gridElement: HTMLElement): TemplateRef<GridResponsiveCardContext> | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* Directive for providing custom Angular templates for responsive card layout.
|
|
84
|
+
*
|
|
85
|
+
* Use this directive to define how each row should render when the grid
|
|
86
|
+
* is in responsive/mobile mode. The template receives the row data and index.
|
|
87
|
+
*
|
|
88
|
+
* ## Usage
|
|
89
|
+
*
|
|
90
|
+
* ```html
|
|
91
|
+
* <tbw-grid [rows]="employees">
|
|
92
|
+
* <tbw-grid-responsive-card>
|
|
93
|
+
* <ng-template let-employee let-idx="index">
|
|
94
|
+
* <div class="employee-card">
|
|
95
|
+
* <img [src]="employee.avatar" alt="">
|
|
96
|
+
* <div class="info">
|
|
97
|
+
* <strong>{{ employee.name }}</strong>
|
|
98
|
+
* <span>{{ employee.department }}</span>
|
|
99
|
+
* </div>
|
|
100
|
+
* </div>
|
|
101
|
+
* </ng-template>
|
|
102
|
+
* </tbw-grid-responsive-card>
|
|
103
|
+
* </tbw-grid>
|
|
104
|
+
* ```
|
|
105
|
+
*
|
|
106
|
+
* ## Important Notes
|
|
107
|
+
*
|
|
108
|
+
* - The ResponsivePlugin must be added to your grid config
|
|
109
|
+
* - The Grid directive will automatically configure the plugin's cardRenderer
|
|
110
|
+
* - Template context provides `$implicit` (row), `row`, and `index`
|
|
111
|
+
*
|
|
112
|
+
* @see ResponsivePlugin
|
|
113
|
+
* @category Directive
|
|
114
|
+
* @since 0.4.0
|
|
115
|
+
*/
|
|
116
|
+
declare class GridResponsiveCard<TRow = unknown> {
|
|
117
|
+
private elementRef;
|
|
118
|
+
/**
|
|
119
|
+
* Card row height in pixels. Use `'auto'` for dynamic height based on content.
|
|
120
|
+
*
|
|
121
|
+
* Mirrors to the `card-row-height` attribute on the underlying
|
|
122
|
+
* `<tbw-grid-responsive-card>` element which the ResponsivePlugin reads.
|
|
123
|
+
*
|
|
124
|
+
* @default 'auto'
|
|
125
|
+
*/
|
|
126
|
+
cardRowHeight: _angular_core.InputSignal<number | "auto" | undefined>;
|
|
127
|
+
/**
|
|
128
|
+
* The ng-template containing the card content.
|
|
129
|
+
*/
|
|
130
|
+
template: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
131
|
+
/**
|
|
132
|
+
* Effect that registers the template when it becomes available.
|
|
133
|
+
*/
|
|
134
|
+
private onTemplateReceived;
|
|
135
|
+
/**
|
|
136
|
+
* Effect that mirrors the `cardRowHeight` input to the kebab-cased attribute
|
|
137
|
+
* read by the ResponsivePlugin.
|
|
138
|
+
*/
|
|
139
|
+
private onCardRowHeightChange;
|
|
140
|
+
/**
|
|
141
|
+
* Type guard for template context inference.
|
|
142
|
+
*/
|
|
143
|
+
static ngTemplateContextGuard<T>(_directive: GridResponsiveCard<T>, context: unknown): context is GridResponsiveCardContext<T>;
|
|
144
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridResponsiveCard<any>, never>;
|
|
145
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridResponsiveCard<any>, "tbw-grid-responsive-card", never, { "cardRowHeight": { "alias": "cardRowHeight"; "required": false; "isSignal": true; }; }, {}, ["template"], never, true, never>;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export { GridResponsiveCard, GridResponsiveDirective, getResponsiveCardTemplate };
|
|
149
|
+
export type { GridResponsiveCardContext, ResponsivePluginConfig };
|
|
44
150
|
//# sourceMappingURL=toolbox-web-grid-angular-features-responsive.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbox-web-grid-angular-features-responsive.d.ts","sources":["../../../../libs/grid-angular/features/responsive/src/grid-responsive.directive.ts"],"mappings":";;;;;AAcA;;;;;;;;;;;;;;;AAeG;KACS,sBAAsB,mBAAmB,IAAI,CAACA,wBAA0B;AAClF,mBAAeA,wBAA0B,yBAAyB,IAAI;;AAGxE;;;;AAIG;AACH,cAIa,uBAAwB,YAAW,MAAM,EAAE,SAAS;AAC/D;yBAEmB,aAAA,CAAA,WAAA,WAAA,sBAAA;+BACM,aAAA,CAAA,gBAAA,CAAA,sBAAA;;;AAUzB;AAMA;oDApBW,uBAAuB;sDAAvB,uBAAuB;AA6BnC;;;;","names":["CoreResponsivePluginConfig"]}
|
|
1
|
+
{"version":3,"file":"toolbox-web-grid-angular-features-responsive.d.ts","sources":["../../../../libs/grid-angular/features/responsive/src/grid-responsive.directive.ts","../../../../libs/grid-angular/features/responsive/src/grid-responsive-card.directive.ts"],"mappings":";;;;;AAcA;;;;;;;;;;;;;;;AAeG;KACS,sBAAsB,mBAAmB,IAAI,CAACA,wBAA0B;AAClF,mBAAeA,wBAA0B,yBAAyB,IAAI;;AAGxE;;;;AAIG;AACH,cAIa,uBAAwB,YAAW,MAAM,EAAE,SAAS;AAC/D;yBAEmB,aAAA,CAAA,WAAA,WAAA,sBAAA;+BACM,aAAA,CAAA,gBAAA,CAAA,sBAAA;;;AAUzB;AAMA;oDApBW,uBAAuB;sDAAvB,uBAAuB;AA6BnC;;ACtED;;;;;;;;;;;;;;;;;AAiBG;AACG,UAAW,yBAAyB;AACxC;;AAEG;;AAGH;;AAEG;;AAGH;;AAEG;;AAEJ;AAQD;;;;;;AAMG;AACH,iBAAgB,yBAAyB,cAC1B,WAAW,GACvB,WAAW,CAAC,yBAAyB;AAOxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCG;AACH,cAGa,kBAAkB;;AAG7B;;;;;;;AAOG;AACH,mBAAa,aAAA,CAAA,WAAA;AAEb;;AAEG;AACH,cAAQ,aAAA,CAAA,MAAA,CAAA,WAAA;AAER;;AAEG;;AAWH;;;AAGG;;AAWH;;AAEG;iDAEW,kBAAkB,mCAElB,yBAAyB;oDAnD5B,kBAAkB;sDAAlB,kBAAkB;AAsD9B;;;;","names":["CoreResponsivePluginConfig"]}
|
|
@@ -1,2 +1,231 @@
|
|
|
1
1
|
export { _Augmentation as _ShellAugmentation } from '@toolbox-web/grid/features/shell';
|
|
2
|
+
import * as _angular_core from '@angular/core';
|
|
3
|
+
import { TemplateRef } from '@angular/core';
|
|
4
|
+
import { DataGridElement } from '@toolbox-web/grid';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Context object passed to the header content template.
|
|
8
|
+
* @since 1.7.0
|
|
9
|
+
*/
|
|
10
|
+
interface GridHeaderContentContext {
|
|
11
|
+
/** The grid element (implicit binding for `let-grid`). */
|
|
12
|
+
$implicit: DataGridElement;
|
|
13
|
+
/** The grid element. */
|
|
14
|
+
grid: DataGridElement;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Declarative wrapper around the grid's imperative
|
|
18
|
+
* {@link ShellPlugin.registerHeaderContent} API.
|
|
19
|
+
*
|
|
20
|
+
* Captures an `<ng-template>` and mounts it as an Angular embedded view into
|
|
21
|
+
* the slot the grid provides for header content. Must be a child of
|
|
22
|
+
* `<tbw-grid>`.
|
|
23
|
+
*
|
|
24
|
+
* ## Usage
|
|
25
|
+
*
|
|
26
|
+
* ```html
|
|
27
|
+
* <tbw-grid [rows]="rows" [gridConfig]="config">
|
|
28
|
+
* <tbw-grid-header-content id="calendar-nav" [order]="0">
|
|
29
|
+
* <ng-template let-grid>
|
|
30
|
+
* <app-header-nav [year]="year()" (yearChange)="setYear($event)" />
|
|
31
|
+
* </ng-template>
|
|
32
|
+
* </tbw-grid-header-content>
|
|
33
|
+
* </tbw-grid>
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @category Directive
|
|
37
|
+
* @since 1.7.0
|
|
38
|
+
*/
|
|
39
|
+
declare class GridHeaderContent {
|
|
40
|
+
private elementRef;
|
|
41
|
+
private viewContainerRef;
|
|
42
|
+
private destroyRef;
|
|
43
|
+
/** Unique identifier for this header content entry. Optional — defaults to a stable generated id. */
|
|
44
|
+
id: _angular_core.InputSignal<string | undefined>;
|
|
45
|
+
/** Render order priority. Lower values appear first. @default 100 */
|
|
46
|
+
order: _angular_core.InputSignal<number>;
|
|
47
|
+
/** The template to mount into the grid's header content slot. */
|
|
48
|
+
template: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
49
|
+
private viewRef;
|
|
50
|
+
private registeredId;
|
|
51
|
+
private resolvedId;
|
|
52
|
+
private destroyed;
|
|
53
|
+
constructor();
|
|
54
|
+
private lastOrder;
|
|
55
|
+
private register;
|
|
56
|
+
private unregister;
|
|
57
|
+
private findGrid;
|
|
58
|
+
/** Type guard for template context inference. */
|
|
59
|
+
static ngTemplateContextGuard(_dir: GridHeaderContent, ctx: unknown): ctx is GridHeaderContentContext;
|
|
60
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridHeaderContent, never>;
|
|
61
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridHeaderContent, "tbw-grid-header-content", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "order": { "alias": "order"; "required": false; "isSignal": true; }; }, {}, ["template"], never, true, never>;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Context object passed to the tool panel template.
|
|
66
|
+
* Provides access to grid-related information for the panel content.
|
|
67
|
+
* @since 0.1.0
|
|
68
|
+
*/
|
|
69
|
+
interface GridToolPanelContext {
|
|
70
|
+
/** The grid element (implicit binding) */
|
|
71
|
+
$implicit: HTMLElement;
|
|
72
|
+
/** The grid element */
|
|
73
|
+
grid: HTMLElement;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Gets the tool panel template registered for a given tool panel element.
|
|
77
|
+
* Used by AngularGridAdapter to retrieve templates at render time.
|
|
78
|
+
*/
|
|
79
|
+
declare function getToolPanelTemplate(panelElement: HTMLElement): TemplateRef<GridToolPanelContext> | undefined;
|
|
80
|
+
/**
|
|
81
|
+
* Gets all tool panel elements with registered templates within a grid element.
|
|
82
|
+
*/
|
|
83
|
+
declare function getToolPanelElements(gridElement: HTMLElement): HTMLElement[];
|
|
84
|
+
/**
|
|
85
|
+
* Directive that captures an `<ng-template>` for use as a custom tool panel.
|
|
86
|
+
*
|
|
87
|
+
* This enables declarative Angular component usage for tool panels
|
|
88
|
+
* that appear in the grid's side panel.
|
|
89
|
+
*
|
|
90
|
+
* ## Usage
|
|
91
|
+
*
|
|
92
|
+
* ```html
|
|
93
|
+
* <tbw-grid [rows]="rows" [gridConfig]="config">
|
|
94
|
+
* <tbw-grid-tool-panel
|
|
95
|
+
* id="quick-filters"
|
|
96
|
+
* title="Quick Filters"
|
|
97
|
+
* icon="🔍"
|
|
98
|
+
* tooltip="Apply quick filters"
|
|
99
|
+
* [order]="10"
|
|
100
|
+
* >
|
|
101
|
+
* <ng-template let-grid>
|
|
102
|
+
* <app-quick-filters [grid]="grid" />
|
|
103
|
+
* </ng-template>
|
|
104
|
+
* </tbw-grid-tool-panel>
|
|
105
|
+
* </tbw-grid>
|
|
106
|
+
* ```
|
|
107
|
+
*
|
|
108
|
+
* The template context provides:
|
|
109
|
+
* - `$implicit` / `grid`: The grid element reference
|
|
110
|
+
*
|
|
111
|
+
* ### Attributes
|
|
112
|
+
*
|
|
113
|
+
* - `id` (required): Unique identifier for the panel
|
|
114
|
+
* - `title` (required): Panel title shown in accordion header
|
|
115
|
+
* - `icon`: Icon for accordion section header (emoji or text)
|
|
116
|
+
* - `tooltip`: Tooltip for accordion section header
|
|
117
|
+
* - `order`: Panel order priority (lower = first, default: 100)
|
|
118
|
+
*
|
|
119
|
+
* Import the directive in your component:
|
|
120
|
+
*
|
|
121
|
+
* ```typescript
|
|
122
|
+
* import { GridToolPanel } from '@toolbox-web/grid-angular/features/shell';
|
|
123
|
+
*
|
|
124
|
+
* @Component({
|
|
125
|
+
* imports: [GridToolPanel],
|
|
126
|
+
* // ...
|
|
127
|
+
* })
|
|
128
|
+
* ```
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* ```html
|
|
132
|
+
* <tbw-grid [rows]="rows">
|
|
133
|
+
* <tbw-grid-tool-panel id="quick-filters" title="Quick Filters" icon="\uD83D\uDD0D">
|
|
134
|
+
* <ng-template let-grid>
|
|
135
|
+
* <app-quick-filters [grid]="grid" />
|
|
136
|
+
* </ng-template>
|
|
137
|
+
* </tbw-grid-tool-panel>
|
|
138
|
+
* </tbw-grid>
|
|
139
|
+
* ```
|
|
140
|
+
*
|
|
141
|
+
* @category Directive
|
|
142
|
+
* @since 0.1.0
|
|
143
|
+
*/
|
|
144
|
+
declare class GridToolPanel {
|
|
145
|
+
private elementRef;
|
|
146
|
+
/** Unique panel identifier (required) */
|
|
147
|
+
id: _angular_core.InputSignal<string>;
|
|
148
|
+
/** Panel title shown in accordion header (required) */
|
|
149
|
+
title: _angular_core.InputSignal<string>;
|
|
150
|
+
/** Icon for accordion section header (emoji or text) */
|
|
151
|
+
icon: _angular_core.InputSignal<string | undefined>;
|
|
152
|
+
/** Tooltip for accordion section header */
|
|
153
|
+
tooltip: _angular_core.InputSignal<string | undefined>;
|
|
154
|
+
/** Panel order priority (lower = first, default: 100) */
|
|
155
|
+
order: _angular_core.InputSignal<number>;
|
|
156
|
+
/**
|
|
157
|
+
* Query for the ng-template content child.
|
|
158
|
+
*/
|
|
159
|
+
template: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
160
|
+
/** Effect that triggers when the template is available */
|
|
161
|
+
private onTemplateReceived;
|
|
162
|
+
/**
|
|
163
|
+
* Static type guard for template context.
|
|
164
|
+
* Enables type inference in templates.
|
|
165
|
+
*/
|
|
166
|
+
static ngTemplateContextGuard(dir: GridToolPanel, ctx: unknown): ctx is GridToolPanelContext;
|
|
167
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridToolPanel, never>;
|
|
168
|
+
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>;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Context object passed to the toolbar content template.
|
|
173
|
+
* @since 1.7.0
|
|
174
|
+
*/
|
|
175
|
+
interface GridToolbarContentContext {
|
|
176
|
+
/** The grid element (implicit binding for `let-grid`). */
|
|
177
|
+
$implicit: DataGridElement;
|
|
178
|
+
/** The grid element. */
|
|
179
|
+
grid: DataGridElement;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Declarative wrapper around the grid's imperative
|
|
183
|
+
* {@link ShellPlugin.registerToolbarContent} API.
|
|
184
|
+
*
|
|
185
|
+
* Captures an `<ng-template>` and mounts it as an Angular embedded view into
|
|
186
|
+
* the slot the grid provides for toolbar content. Must be a child of
|
|
187
|
+
* `<tbw-grid>`.
|
|
188
|
+
*
|
|
189
|
+
* Prefer this over `<tbw-grid-tool-buttons>` (light DOM) when you need
|
|
190
|
+
* Angular template bindings to component state. Use the light-DOM form for
|
|
191
|
+
* static markup that should be moved verbatim into the toolbar.
|
|
192
|
+
*
|
|
193
|
+
* ## Usage
|
|
194
|
+
*
|
|
195
|
+
* ```html
|
|
196
|
+
* <tbw-grid [rows]="rows" [gridConfig]="config">
|
|
197
|
+
* <tbw-grid-toolbar-content id="calendar-nav" [order]="0">
|
|
198
|
+
* <ng-template let-grid>
|
|
199
|
+
* <app-toolbar-nav (prev)="prev()" (today)="today()" (next)="next()" />
|
|
200
|
+
* </ng-template>
|
|
201
|
+
* </tbw-grid-toolbar-content>
|
|
202
|
+
* </tbw-grid>
|
|
203
|
+
* ```
|
|
204
|
+
*
|
|
205
|
+
* @category Directive
|
|
206
|
+
* @since 1.7.0
|
|
207
|
+
*/
|
|
208
|
+
declare class GridToolbarContent {
|
|
209
|
+
private elementRef;
|
|
210
|
+
private viewContainerRef;
|
|
211
|
+
private destroyRef;
|
|
212
|
+
id: _angular_core.InputSignal<string | undefined>;
|
|
213
|
+
order: _angular_core.InputSignal<number>;
|
|
214
|
+
template: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
215
|
+
private viewRef;
|
|
216
|
+
private registeredId;
|
|
217
|
+
private resolvedId;
|
|
218
|
+
private lastOrder;
|
|
219
|
+
private destroyed;
|
|
220
|
+
constructor();
|
|
221
|
+
private register;
|
|
222
|
+
private unregister;
|
|
223
|
+
private findGrid;
|
|
224
|
+
static ngTemplateContextGuard(_dir: GridToolbarContent, ctx: unknown): ctx is GridToolbarContentContext;
|
|
225
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridToolbarContent, never>;
|
|
226
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridToolbarContent, "tbw-grid-toolbar-content", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "order": { "alias": "order"; "required": false; "isSignal": true; }; }, {}, ["template"], never, true, never>;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
export { GridHeaderContent, GridToolPanel, GridToolbarContent, getToolPanelElements, getToolPanelTemplate };
|
|
230
|
+
export type { GridHeaderContentContext, GridToolPanelContext, GridToolbarContentContext };
|
|
2
231
|
//# sourceMappingURL=toolbox-web-grid-angular-features-shell.d.ts.map
|