@toolbox-web/grid-angular 0.18.2 → 0.18.4
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-export.mjs +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-export.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-filtering.mjs +13 -1
- package/fesm2022/toolbox-web-grid-angular-features-filtering.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-print.mjs +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-print.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-selection.mjs +4 -4
- package/fesm2022/toolbox-web-grid-angular-features-selection.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular-features-undo-redo.mjs +3 -3
- package/fesm2022/toolbox-web-grid-angular-features-undo-redo.mjs.map +1 -1
- package/fesm2022/toolbox-web-grid-angular.mjs +167 -176
- package/fesm2022/toolbox-web-grid-angular.mjs.map +1 -1
- package/package.json +1 -1
- package/types/toolbox-web-grid-angular-features-clipboard.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-column-virtualization.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-context-menu.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-editing.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-export.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-filtering.d.ts +13 -1
- package/types/toolbox-web-grid-angular-features-filtering.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-grouping-columns.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-grouping-rows.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-master-detail.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-multi-sort.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-pinned-columns.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-pinned-rows.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-pivot.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-print.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-reorder-columns.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-reorder-rows.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-reorder.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-responsive.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-row-reorder.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-selection.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-server-side.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-sorting.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-tree.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-undo-redo.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular-features-visibility.d.ts.map +1 -1
- package/types/toolbox-web-grid-angular.d.ts.map +1 -1
|
@@ -91,7 +91,7 @@ class GridColumnEditor {
|
|
|
91
91
|
/**
|
|
92
92
|
* Query for the ng-template content child.
|
|
93
93
|
*/
|
|
94
|
-
template = contentChild((TemplateRef), ...(ngDevMode ? [{ debugName: "template" }] : []));
|
|
94
|
+
template = contentChild((TemplateRef), ...(ngDevMode ? [{ debugName: "template" }] : /* istanbul ignore next */ []));
|
|
95
95
|
/** Effect that triggers when the template is available */
|
|
96
96
|
onTemplateReceived = effect(() => {
|
|
97
97
|
const template = this.template();
|
|
@@ -99,7 +99,7 @@ class GridColumnEditor {
|
|
|
99
99
|
// Register the template for this element
|
|
100
100
|
editorTemplateRegistry.set(this.elementRef.nativeElement, template);
|
|
101
101
|
}
|
|
102
|
-
}, ...(ngDevMode ? [{ debugName: "onTemplateReceived" }] : []));
|
|
102
|
+
}, ...(ngDevMode ? [{ debugName: "onTemplateReceived" }] : /* istanbul ignore next */ []));
|
|
103
103
|
/**
|
|
104
104
|
* Static type guard for template context.
|
|
105
105
|
* Enables type inference in templates.
|
|
@@ -107,10 +107,10 @@ class GridColumnEditor {
|
|
|
107
107
|
static ngTemplateContextGuard(dir, ctx) {
|
|
108
108
|
return true;
|
|
109
109
|
}
|
|
110
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
111
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.
|
|
110
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridColumnEditor, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
111
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.5", type: GridColumnEditor, isStandalone: true, selector: "tbw-grid-column-editor", queries: [{ propertyName: "template", first: true, predicate: (TemplateRef), descendants: true, isSignal: true }], ngImport: i0 });
|
|
112
112
|
}
|
|
113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridColumnEditor, decorators: [{
|
|
114
114
|
type: Directive,
|
|
115
115
|
args: [{ selector: 'tbw-grid-column-editor' }]
|
|
116
116
|
}], propDecorators: { template: [{ type: i0.ContentChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
|
|
@@ -165,7 +165,7 @@ class GridColumnView {
|
|
|
165
165
|
/**
|
|
166
166
|
* Query for the ng-template content child.
|
|
167
167
|
*/
|
|
168
|
-
template = contentChild((TemplateRef), ...(ngDevMode ? [{ debugName: "template" }] : []));
|
|
168
|
+
template = contentChild((TemplateRef), ...(ngDevMode ? [{ debugName: "template" }] : /* istanbul ignore next */ []));
|
|
169
169
|
/** Effect that triggers when the template is available */
|
|
170
170
|
onTemplateReceived = effect(() => {
|
|
171
171
|
const template = this.template();
|
|
@@ -173,7 +173,7 @@ class GridColumnView {
|
|
|
173
173
|
// Register the template for this element
|
|
174
174
|
templateRegistry.set(this.elementRef.nativeElement, template);
|
|
175
175
|
}
|
|
176
|
-
}, ...(ngDevMode ? [{ debugName: "onTemplateReceived" }] : []));
|
|
176
|
+
}, ...(ngDevMode ? [{ debugName: "onTemplateReceived" }] : /* istanbul ignore next */ []));
|
|
177
177
|
/**
|
|
178
178
|
* Static type guard for template context.
|
|
179
179
|
* Enables type inference in templates.
|
|
@@ -181,10 +181,10 @@ class GridColumnView {
|
|
|
181
181
|
static ngTemplateContextGuard(dir, ctx) {
|
|
182
182
|
return true;
|
|
183
183
|
}
|
|
184
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
185
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.
|
|
184
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridColumnView, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
185
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.5", type: GridColumnView, isStandalone: true, selector: "tbw-grid-column-view", queries: [{ propertyName: "template", first: true, predicate: (TemplateRef), descendants: true, isSignal: true }], ngImport: i0 });
|
|
186
186
|
}
|
|
187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridColumnView, decorators: [{
|
|
188
188
|
type: Directive,
|
|
189
189
|
args: [{ selector: 'tbw-grid-column-view' }]
|
|
190
190
|
}], propDecorators: { template: [{ type: i0.ContentChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
|
|
@@ -261,13 +261,13 @@ function getDetailConfig(gridElement) {
|
|
|
261
261
|
class GridDetailView {
|
|
262
262
|
elementRef = inject((ElementRef));
|
|
263
263
|
/** Whether to show the expand/collapse column. Default: true */
|
|
264
|
-
showExpandColumn = input(true, ...(ngDevMode ? [{ debugName: "showExpandColumn" }] : []));
|
|
264
|
+
showExpandColumn = input(true, ...(ngDevMode ? [{ debugName: "showExpandColumn" }] : /* istanbul ignore next */ []));
|
|
265
265
|
/** Animation style for expand/collapse. Default: 'slide' */
|
|
266
|
-
animation = input('slide', ...(ngDevMode ? [{ debugName: "animation" }] : []));
|
|
266
|
+
animation = input('slide', ...(ngDevMode ? [{ debugName: "animation" }] : /* istanbul ignore next */ []));
|
|
267
267
|
/**
|
|
268
268
|
* Query for the ng-template content child.
|
|
269
269
|
*/
|
|
270
|
-
template = contentChild((TemplateRef), ...(ngDevMode ? [{ debugName: "template" }] : []));
|
|
270
|
+
template = contentChild((TemplateRef), ...(ngDevMode ? [{ debugName: "template" }] : /* istanbul ignore next */ []));
|
|
271
271
|
/** Effect that triggers when the template is available */
|
|
272
272
|
onTemplateReceived = effect(() => {
|
|
273
273
|
const template = this.template();
|
|
@@ -275,7 +275,7 @@ class GridDetailView {
|
|
|
275
275
|
// Register the template for this element
|
|
276
276
|
detailTemplateRegistry.set(this.elementRef.nativeElement, template);
|
|
277
277
|
}
|
|
278
|
-
}, ...(ngDevMode ? [{ debugName: "onTemplateReceived" }] : []));
|
|
278
|
+
}, ...(ngDevMode ? [{ debugName: "onTemplateReceived" }] : /* istanbul ignore next */ []));
|
|
279
279
|
/**
|
|
280
280
|
* Static type guard for template context.
|
|
281
281
|
* Enables type inference in templates.
|
|
@@ -283,10 +283,10 @@ class GridDetailView {
|
|
|
283
283
|
static ngTemplateContextGuard(dir, ctx) {
|
|
284
284
|
return true;
|
|
285
285
|
}
|
|
286
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
287
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.
|
|
286
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridDetailView, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
287
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.5", type: GridDetailView, isStandalone: true, selector: "tbw-grid-detail", inputs: { showExpandColumn: { classPropertyName: "showExpandColumn", publicName: "showExpandColumn", isSignal: true, isRequired: false, transformFunction: null }, animation: { classPropertyName: "animation", publicName: "animation", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "template", first: true, predicate: (TemplateRef), descendants: true, isSignal: true }], ngImport: i0 });
|
|
288
288
|
}
|
|
289
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
289
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridDetailView, decorators: [{
|
|
290
290
|
type: Directive,
|
|
291
291
|
args: [{ selector: 'tbw-grid-detail' }]
|
|
292
292
|
}], propDecorators: { showExpandColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "showExpandColumn", required: false }] }], animation: [{ type: i0.Input, args: [{ isSignal: true, alias: "animation", required: false }] }], template: [{ type: i0.ContentChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
|
|
@@ -365,7 +365,7 @@ class GridFormArray {
|
|
|
365
365
|
/**
|
|
366
366
|
* The FormArray to bind to the grid.
|
|
367
367
|
*/
|
|
368
|
-
formArray = input.required(...(ngDevMode ? [{ debugName: "formArray" }] : []));
|
|
368
|
+
formArray = input.required(...(ngDevMode ? [{ debugName: "formArray" }] : /* istanbul ignore next */ []));
|
|
369
369
|
/**
|
|
370
370
|
* Whether to automatically sync Angular validation state to grid's visual invalid styling.
|
|
371
371
|
*
|
|
@@ -377,7 +377,7 @@ class GridFormArray {
|
|
|
377
377
|
*
|
|
378
378
|
* @default true
|
|
379
379
|
*/
|
|
380
|
-
syncValidation = input(true, ...(ngDevMode ? [{ debugName: "syncValidation" }] : []));
|
|
380
|
+
syncValidation = input(true, ...(ngDevMode ? [{ debugName: "syncValidation" }] : /* istanbul ignore next */ []));
|
|
381
381
|
/**
|
|
382
382
|
* Effect that sets up valueChanges subscription when FormArray changes.
|
|
383
383
|
* This handles both initial binding and when the FormArray reference changes.
|
|
@@ -408,7 +408,7 @@ class GridFormArray {
|
|
|
408
408
|
return;
|
|
409
409
|
grid.rows = formArray.getRawValue();
|
|
410
410
|
});
|
|
411
|
-
}, ...(ngDevMode ? [{ debugName: "syncFormArrayToGrid" }] : []));
|
|
411
|
+
}, ...(ngDevMode ? [{ debugName: "syncFormArrayToGrid" }] : /* istanbul ignore next */ []));
|
|
412
412
|
ngOnInit() {
|
|
413
413
|
const grid = this.elementRef.nativeElement;
|
|
414
414
|
if (!grid)
|
|
@@ -757,10 +757,10 @@ class GridFormArray {
|
|
|
757
757
|
return typeof error === 'string' ? error : (error?.message ?? `Validation error: ${firstKey}`);
|
|
758
758
|
}
|
|
759
759
|
}
|
|
760
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
761
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.
|
|
760
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridFormArray, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
761
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.5", type: GridFormArray, isStandalone: true, selector: "tbw-grid[formArray]", inputs: { formArray: { classPropertyName: "formArray", publicName: "formArray", isSignal: true, isRequired: true, transformFunction: null }, syncValidation: { classPropertyName: "syncValidation", publicName: "syncValidation", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
762
762
|
}
|
|
763
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
763
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridFormArray, decorators: [{
|
|
764
764
|
type: Directive,
|
|
765
765
|
args: [{
|
|
766
766
|
selector: 'tbw-grid[formArray]',
|
|
@@ -823,7 +823,7 @@ class GridResponsiveCard {
|
|
|
823
823
|
/**
|
|
824
824
|
* The ng-template containing the card content.
|
|
825
825
|
*/
|
|
826
|
-
template = contentChild((TemplateRef), ...(ngDevMode ? [{ debugName: "template" }] : []));
|
|
826
|
+
template = contentChild((TemplateRef), ...(ngDevMode ? [{ debugName: "template" }] : /* istanbul ignore next */ []));
|
|
827
827
|
/**
|
|
828
828
|
* Effect that registers the template when it becomes available.
|
|
829
829
|
*/
|
|
@@ -832,17 +832,17 @@ class GridResponsiveCard {
|
|
|
832
832
|
if (template) {
|
|
833
833
|
responsiveCardTemplateRegistry.set(this.elementRef.nativeElement, template);
|
|
834
834
|
}
|
|
835
|
-
}, ...(ngDevMode ? [{ debugName: "onTemplateReceived" }] : []));
|
|
835
|
+
}, ...(ngDevMode ? [{ debugName: "onTemplateReceived" }] : /* istanbul ignore next */ []));
|
|
836
836
|
/**
|
|
837
837
|
* Type guard for template context inference.
|
|
838
838
|
*/
|
|
839
839
|
static ngTemplateContextGuard(_directive, context) {
|
|
840
840
|
return true;
|
|
841
841
|
}
|
|
842
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
843
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.
|
|
842
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridResponsiveCard, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
843
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.5", type: GridResponsiveCard, isStandalone: true, selector: "tbw-grid-responsive-card", queries: [{ propertyName: "template", first: true, predicate: (TemplateRef), descendants: true, isSignal: true }], ngImport: i0 });
|
|
844
844
|
}
|
|
845
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
845
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridResponsiveCard, decorators: [{
|
|
846
846
|
type: Directive,
|
|
847
847
|
args: [{
|
|
848
848
|
selector: 'tbw-grid-responsive-card',
|
|
@@ -916,19 +916,19 @@ function getToolPanelElements(gridElement) {
|
|
|
916
916
|
class GridToolPanel {
|
|
917
917
|
elementRef = inject((ElementRef));
|
|
918
918
|
/** Unique panel identifier (required) */
|
|
919
|
-
id = input.required({ ...(ngDevMode ? { debugName: "id" } : {}), alias: 'id' });
|
|
919
|
+
id = input.required({ ...(ngDevMode ? { debugName: "id" } : /* istanbul ignore next */ {}), alias: 'id' });
|
|
920
920
|
/** Panel title shown in accordion header (required) */
|
|
921
|
-
title = input.required({ ...(ngDevMode ? { debugName: "title" } : {}), alias: 'title' });
|
|
921
|
+
title = input.required({ ...(ngDevMode ? { debugName: "title" } : /* istanbul ignore next */ {}), alias: 'title' });
|
|
922
922
|
/** Icon for accordion section header (emoji or text) */
|
|
923
|
-
icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
|
|
923
|
+
icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
|
|
924
924
|
/** Tooltip for accordion section header */
|
|
925
|
-
tooltip = input(...(ngDevMode ? [undefined, { debugName: "tooltip" }] : []));
|
|
925
|
+
tooltip = input(...(ngDevMode ? [undefined, { debugName: "tooltip" }] : /* istanbul ignore next */ []));
|
|
926
926
|
/** Panel order priority (lower = first, default: 100) */
|
|
927
|
-
order = input(100, ...(ngDevMode ? [{ debugName: "order" }] : []));
|
|
927
|
+
order = input(100, ...(ngDevMode ? [{ debugName: "order" }] : /* istanbul ignore next */ []));
|
|
928
928
|
/**
|
|
929
929
|
* Query for the ng-template content child.
|
|
930
930
|
*/
|
|
931
|
-
template = contentChild((TemplateRef), ...(ngDevMode ? [{ debugName: "template" }] : []));
|
|
931
|
+
template = contentChild((TemplateRef), ...(ngDevMode ? [{ debugName: "template" }] : /* istanbul ignore next */ []));
|
|
932
932
|
/** Effect that triggers when the template is available */
|
|
933
933
|
onTemplateReceived = effect(() => {
|
|
934
934
|
const template = this.template();
|
|
@@ -947,7 +947,7 @@ class GridToolPanel {
|
|
|
947
947
|
// Register the template for this element
|
|
948
948
|
toolPanelTemplateRegistry.set(element, template);
|
|
949
949
|
}
|
|
950
|
-
}, ...(ngDevMode ? [{ debugName: "onTemplateReceived" }] : []));
|
|
950
|
+
}, ...(ngDevMode ? [{ debugName: "onTemplateReceived" }] : /* istanbul ignore next */ []));
|
|
951
951
|
/**
|
|
952
952
|
* Static type guard for template context.
|
|
953
953
|
* Enables type inference in templates.
|
|
@@ -955,10 +955,10 @@ class GridToolPanel {
|
|
|
955
955
|
static ngTemplateContextGuard(dir, ctx) {
|
|
956
956
|
return true;
|
|
957
957
|
}
|
|
958
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
959
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.
|
|
958
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridToolPanel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
959
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.5", type: GridToolPanel, isStandalone: true, selector: "tbw-grid-tool-panel", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, order: { classPropertyName: "order", publicName: "order", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "template", first: true, predicate: (TemplateRef), descendants: true, isSignal: true }], ngImport: i0 });
|
|
960
960
|
}
|
|
961
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
961
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridToolPanel, decorators: [{
|
|
962
962
|
type: Directive,
|
|
963
963
|
args: [{ selector: 'tbw-grid-tool-panel' }]
|
|
964
964
|
}], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: true }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: true }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], order: [{ type: i0.Input, args: [{ isSignal: true, alias: "order", required: false }] }], template: [{ type: i0.ContentChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
|
|
@@ -1078,10 +1078,10 @@ class TbwRenderer {
|
|
|
1078
1078
|
static ngTemplateContextGuard(dir, ctx) {
|
|
1079
1079
|
return true;
|
|
1080
1080
|
}
|
|
1081
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
1082
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
1081
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TbwRenderer, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1082
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: TbwRenderer, isStandalone: true, selector: "[tbwRenderer]", ngImport: i0 });
|
|
1083
1083
|
}
|
|
1084
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
1084
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TbwRenderer, decorators: [{
|
|
1085
1085
|
type: Directive,
|
|
1086
1086
|
args: [{ selector: '[tbwRenderer]' }]
|
|
1087
1087
|
}], ctorParameters: () => [] });
|
|
@@ -1163,10 +1163,10 @@ class TbwEditor {
|
|
|
1163
1163
|
static ngTemplateContextGuard(dir, ctx) {
|
|
1164
1164
|
return true;
|
|
1165
1165
|
}
|
|
1166
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
1167
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
1166
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TbwEditor, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1167
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: TbwEditor, isStandalone: true, selector: "[tbwEditor]", ngImport: i0 });
|
|
1168
1168
|
}
|
|
1169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
1169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TbwEditor, decorators: [{
|
|
1170
1170
|
type: Directive,
|
|
1171
1171
|
args: [{ selector: '[tbwEditor]' }]
|
|
1172
1172
|
}], ctorParameters: () => [] });
|
|
@@ -1361,10 +1361,10 @@ class GridTypeRegistry {
|
|
|
1361
1361
|
// the actual functions that instantiate Angular components
|
|
1362
1362
|
};
|
|
1363
1363
|
}
|
|
1364
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
1365
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
1364
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridTypeRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1365
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridTypeRegistry, providedIn: 'root' });
|
|
1366
1366
|
}
|
|
1367
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
1367
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridTypeRegistry, decorators: [{
|
|
1368
1368
|
type: Injectable,
|
|
1369
1369
|
args: [{ providedIn: 'root' }]
|
|
1370
1370
|
}], ctorParameters: () => [] });
|
|
@@ -1789,40 +1789,33 @@ class GridAdapter {
|
|
|
1789
1789
|
this.editorViewRefs.push(viewRef);
|
|
1790
1790
|
// Trigger change detection
|
|
1791
1791
|
viewRef.detectChanges();
|
|
1792
|
-
//
|
|
1793
|
-
|
|
1792
|
+
// Use a stable wrapper so Angular's rootNodes (which may include comment
|
|
1793
|
+
// placeholders from <ng-container>) are always inside one element node.
|
|
1794
|
+
const container = document.createElement('span');
|
|
1795
|
+
container.style.display = 'contents';
|
|
1796
|
+
syncRootNodes(viewRef, container);
|
|
1794
1797
|
// Auto-wire: Listen for commit/cancel events on the rendered component.
|
|
1795
1798
|
// This allows components to just emit (commit) and (cancel) without
|
|
1796
1799
|
// requiring explicit template bindings like (commit)="onCommit($event)".
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
//
|
|
1807
|
-
//
|
|
1800
|
+
container.addEventListener('commit', (e) => {
|
|
1801
|
+
const customEvent = e;
|
|
1802
|
+
ctx.commit(customEvent.detail);
|
|
1803
|
+
});
|
|
1804
|
+
container.addEventListener('cancel', () => {
|
|
1805
|
+
ctx.cancel();
|
|
1806
|
+
});
|
|
1807
|
+
// Auto-update editor when value changes externally (e.g., via updateRow cascade
|
|
1808
|
+
// or Escape-revert in grid mode). Update the template context and run synchronous
|
|
1809
|
+
// detectChanges() — Angular's own bindings and control flow (@for, @if) handle
|
|
1810
|
+
// re-rendering regardless of editor type (inputs, chips, contenteditable, etc.).
|
|
1808
1811
|
ctx.onValueChange?.((newVal) => {
|
|
1809
1812
|
context.$implicit = newVal;
|
|
1810
1813
|
context.value = newVal;
|
|
1811
|
-
viewRef.
|
|
1812
|
-
//
|
|
1813
|
-
|
|
1814
|
-
const input = rootNode.querySelector?.('input,textarea,select');
|
|
1815
|
-
if (input) {
|
|
1816
|
-
if (input instanceof HTMLInputElement && input.type === 'checkbox') {
|
|
1817
|
-
input.checked = !!newVal;
|
|
1818
|
-
}
|
|
1819
|
-
else {
|
|
1820
|
-
input.value = String(newVal ?? '');
|
|
1821
|
-
}
|
|
1822
|
-
}
|
|
1823
|
-
}
|
|
1814
|
+
viewRef.detectChanges();
|
|
1815
|
+
// Re-sync rootNodes in case Angular control flow changed them
|
|
1816
|
+
syncRootNodes(viewRef, container);
|
|
1824
1817
|
});
|
|
1825
|
-
return
|
|
1818
|
+
return container;
|
|
1826
1819
|
};
|
|
1827
1820
|
}
|
|
1828
1821
|
/**
|
|
@@ -2074,13 +2067,13 @@ class GridAdapter {
|
|
|
2074
2067
|
column: ctx.column,
|
|
2075
2068
|
}, true);
|
|
2076
2069
|
wireEditorCallbacks(hostElement, componentRef.instance, (value) => ctx.commit(value), () => ctx.cancel());
|
|
2077
|
-
// Auto-update editor when value changes externally (e.g., via updateRow cascade
|
|
2078
|
-
//
|
|
2070
|
+
// Auto-update editor when value changes externally (e.g., via updateRow cascade
|
|
2071
|
+
// or Escape-revert). Update the component input and run detectChanges() —
|
|
2072
|
+
// the component's own template handles rendering regardless of editor type.
|
|
2079
2073
|
ctx.onValueChange?.((newVal) => {
|
|
2080
2074
|
try {
|
|
2081
2075
|
// Notify the editor so it can clear stale internal state (e.g., searchText
|
|
2082
|
-
// in autocomplete editors) before the value input updates.
|
|
2083
|
-
// template reads fresh state during the synchronous detectChanges() below.
|
|
2076
|
+
// in autocomplete editors) before the value input updates.
|
|
2084
2077
|
const instance = componentRef.instance;
|
|
2085
2078
|
if (typeof instance['onExternalValueChange'] === 'function') {
|
|
2086
2079
|
instance.onExternalValueChange(newVal);
|
|
@@ -2089,16 +2082,7 @@ class GridAdapter {
|
|
|
2089
2082
|
componentRef.changeDetectorRef.detectChanges();
|
|
2090
2083
|
}
|
|
2091
2084
|
catch {
|
|
2092
|
-
//
|
|
2093
|
-
const input = hostElement.querySelector?.('input,textarea,select');
|
|
2094
|
-
if (input) {
|
|
2095
|
-
if (input instanceof HTMLInputElement && input.type === 'checkbox') {
|
|
2096
|
-
input.checked = !!newVal;
|
|
2097
|
-
}
|
|
2098
|
-
else {
|
|
2099
|
-
input.value = String(newVal ?? '');
|
|
2100
|
-
}
|
|
2101
|
-
}
|
|
2085
|
+
// Component is destroyed — nothing to update.
|
|
2102
2086
|
}
|
|
2103
2087
|
});
|
|
2104
2088
|
return hostElement;
|
|
@@ -2544,10 +2528,10 @@ class GridIconRegistry {
|
|
|
2544
2528
|
getRegisteredIcons() {
|
|
2545
2529
|
return Array.from(this.icons.keys());
|
|
2546
2530
|
}
|
|
2547
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
2548
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
2531
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridIconRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2532
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridIconRegistry, providedIn: 'root' });
|
|
2549
2533
|
}
|
|
2550
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
2534
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridIconRegistry, decorators: [{
|
|
2551
2535
|
type: Injectable,
|
|
2552
2536
|
args: [{ providedIn: 'root' }]
|
|
2553
2537
|
}], ctorParameters: () => [] });
|
|
@@ -2629,9 +2613,9 @@ function provideGridIcons(icons) {
|
|
|
2629
2613
|
function injectGrid() {
|
|
2630
2614
|
const elementRef = inject(ElementRef);
|
|
2631
2615
|
// Reactive signals
|
|
2632
|
-
const isReady = signal(false, ...(ngDevMode ? [{ debugName: "isReady" }] : []));
|
|
2633
|
-
const config = signal(null, ...(ngDevMode ? [{ debugName: "config" }] : []));
|
|
2634
|
-
const element = signal(null, ...(ngDevMode ? [{ debugName: "element" }] : []));
|
|
2616
|
+
const isReady = signal(false, ...(ngDevMode ? [{ debugName: "isReady" }] : /* istanbul ignore next */ []));
|
|
2617
|
+
const config = signal(null, ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
|
|
2618
|
+
const element = signal(null, ...(ngDevMode ? [{ debugName: "element" }] : /* istanbul ignore next */ []));
|
|
2635
2619
|
// Initialize after render
|
|
2636
2620
|
afterNextRender(() => {
|
|
2637
2621
|
const gridElement = elementRef.nativeElement.querySelector('tbw-grid');
|
|
@@ -2655,7 +2639,7 @@ function injectGrid() {
|
|
|
2655
2639
|
if (!currentConfig?.columns)
|
|
2656
2640
|
return [];
|
|
2657
2641
|
return currentConfig.columns.filter((col) => !col.hidden);
|
|
2658
|
-
}, ...(ngDevMode ? [{ debugName: "visibleColumns" }] : []));
|
|
2642
|
+
}, ...(ngDevMode ? [{ debugName: "visibleColumns" }] : /* istanbul ignore next */ []));
|
|
2659
2643
|
// ═══════════════════════════════════════════════════════════════════
|
|
2660
2644
|
// CORE METHODS
|
|
2661
2645
|
// ═══════════════════════════════════════════════════════════════════
|
|
@@ -2869,7 +2853,7 @@ class BaseFilterPanel {
|
|
|
2869
2853
|
* - `clearFilter()` — clear the filter for this column
|
|
2870
2854
|
* - `closePanel()` — close the filter panel
|
|
2871
2855
|
*/
|
|
2872
|
-
params = input.required(...(ngDevMode ? [{ debugName: "params" }] : []));
|
|
2856
|
+
params = input.required(...(ngDevMode ? [{ debugName: "params" }] : /* istanbul ignore next */ []));
|
|
2873
2857
|
/**
|
|
2874
2858
|
* Apply the filter then close the panel.
|
|
2875
2859
|
*
|
|
@@ -2890,10 +2874,10 @@ class BaseFilterPanel {
|
|
|
2890
2874
|
this.params().clearFilter();
|
|
2891
2875
|
this.params().closePanel();
|
|
2892
2876
|
}
|
|
2893
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
2894
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.
|
|
2877
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: BaseFilterPanel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2878
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.5", type: BaseFilterPanel, isStandalone: true, inputs: { params: { classPropertyName: "params", publicName: "params", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
|
|
2895
2879
|
}
|
|
2896
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
2880
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: BaseFilterPanel, decorators: [{
|
|
2897
2881
|
type: Directive
|
|
2898
2882
|
}], propDecorators: { params: [{ type: i0.Input, args: [{ isSignal: true, alias: "params", required: true }] }] } });
|
|
2899
2883
|
|
|
@@ -2969,20 +2953,20 @@ class BaseGridEditor {
|
|
|
2969
2953
|
* The cell value. Used when FormControl is not available.
|
|
2970
2954
|
* When a FormControl is provided, value is derived from control.value instead.
|
|
2971
2955
|
*/
|
|
2972
|
-
value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
|
|
2956
|
+
value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
|
|
2973
2957
|
/**
|
|
2974
2958
|
* The full row data object.
|
|
2975
2959
|
*/
|
|
2976
|
-
row = input(...(ngDevMode ? [undefined, { debugName: "row" }] : []));
|
|
2960
|
+
row = input(...(ngDevMode ? [undefined, { debugName: "row" }] : /* istanbul ignore next */ []));
|
|
2977
2961
|
/**
|
|
2978
2962
|
* The column configuration.
|
|
2979
2963
|
*/
|
|
2980
|
-
column = input(...(ngDevMode ? [undefined, { debugName: "column" }] : []));
|
|
2964
|
+
column = input(...(ngDevMode ? [undefined, { debugName: "column" }] : /* istanbul ignore next */ []));
|
|
2981
2965
|
/**
|
|
2982
2966
|
* The FormControl for this cell, if the grid is bound to a FormArray.
|
|
2983
2967
|
* When provided, the editor uses control.value instead of the value input.
|
|
2984
2968
|
*/
|
|
2985
|
-
control = input(...(ngDevMode ? [undefined, { debugName: "control" }] : []));
|
|
2969
|
+
control = input(...(ngDevMode ? [undefined, { debugName: "control" }] : /* istanbul ignore next */ []));
|
|
2986
2970
|
// ============================================================================
|
|
2987
2971
|
// Outputs
|
|
2988
2972
|
// ============================================================================
|
|
@@ -3008,35 +2992,35 @@ class BaseGridEditor {
|
|
|
3008
2992
|
return ctrl.value;
|
|
3009
2993
|
}
|
|
3010
2994
|
return this.value();
|
|
3011
|
-
}, ...(ngDevMode ? [{ debugName: "currentValue" }] : []));
|
|
2995
|
+
}, ...(ngDevMode ? [{ debugName: "currentValue" }] : /* istanbul ignore next */ []));
|
|
3012
2996
|
/**
|
|
3013
2997
|
* Whether the control is invalid (has validation errors).
|
|
3014
2998
|
* Returns false if no FormControl is available.
|
|
3015
2999
|
*/
|
|
3016
3000
|
isInvalid = computed(() => {
|
|
3017
3001
|
return this.control()?.invalid ?? false;
|
|
3018
|
-
}, ...(ngDevMode ? [{ debugName: "isInvalid" }] : []));
|
|
3002
|
+
}, ...(ngDevMode ? [{ debugName: "isInvalid" }] : /* istanbul ignore next */ []));
|
|
3019
3003
|
/**
|
|
3020
3004
|
* Whether the control is dirty (has been modified).
|
|
3021
3005
|
* Returns false if no FormControl is available.
|
|
3022
3006
|
*/
|
|
3023
3007
|
isDirty = computed(() => {
|
|
3024
3008
|
return this.control()?.dirty ?? false;
|
|
3025
|
-
}, ...(ngDevMode ? [{ debugName: "isDirty" }] : []));
|
|
3009
|
+
}, ...(ngDevMode ? [{ debugName: "isDirty" }] : /* istanbul ignore next */ []));
|
|
3026
3010
|
/**
|
|
3027
3011
|
* Whether the control has been touched.
|
|
3028
3012
|
* Returns false if no FormControl is available.
|
|
3029
3013
|
*/
|
|
3030
3014
|
isTouched = computed(() => {
|
|
3031
3015
|
return this.control()?.touched ?? false;
|
|
3032
|
-
}, ...(ngDevMode ? [{ debugName: "isTouched" }] : []));
|
|
3016
|
+
}, ...(ngDevMode ? [{ debugName: "isTouched" }] : /* istanbul ignore next */ []));
|
|
3033
3017
|
/**
|
|
3034
3018
|
* Whether the control has any validation errors.
|
|
3035
3019
|
*/
|
|
3036
3020
|
hasErrors = computed(() => {
|
|
3037
3021
|
const ctrl = this.control();
|
|
3038
3022
|
return ctrl?.errors != null && Object.keys(ctrl.errors).length > 0;
|
|
3039
|
-
}, ...(ngDevMode ? [{ debugName: "hasErrors" }] : []));
|
|
3023
|
+
}, ...(ngDevMode ? [{ debugName: "hasErrors" }] : /* istanbul ignore next */ []));
|
|
3040
3024
|
/**
|
|
3041
3025
|
* The first error message from the control's validation errors.
|
|
3042
3026
|
* Returns an empty string if no errors.
|
|
@@ -3047,7 +3031,7 @@ class BaseGridEditor {
|
|
|
3047
3031
|
return '';
|
|
3048
3032
|
const firstKey = Object.keys(ctrl.errors)[0];
|
|
3049
3033
|
return this.getErrorMessage(firstKey, ctrl.errors[firstKey]);
|
|
3050
|
-
}, ...(ngDevMode ? [{ debugName: "firstErrorMessage" }] : []));
|
|
3034
|
+
}, ...(ngDevMode ? [{ debugName: "firstErrorMessage" }] : /* istanbul ignore next */ []));
|
|
3051
3035
|
/**
|
|
3052
3036
|
* All error messages from the control's validation errors.
|
|
3053
3037
|
*/
|
|
@@ -3056,7 +3040,7 @@ class BaseGridEditor {
|
|
|
3056
3040
|
if (!ctrl?.errors)
|
|
3057
3041
|
return [];
|
|
3058
3042
|
return Object.entries(ctrl.errors).map(([key, value]) => this.getErrorMessage(key, value));
|
|
3059
|
-
}, ...(ngDevMode ? [{ debugName: "allErrorMessages" }] : []));
|
|
3043
|
+
}, ...(ngDevMode ? [{ debugName: "allErrorMessages" }] : /* istanbul ignore next */ []));
|
|
3060
3044
|
// ============================================================================
|
|
3061
3045
|
// Lifecycle
|
|
3062
3046
|
// ============================================================================
|
|
@@ -3202,10 +3186,10 @@ class BaseGridEditor {
|
|
|
3202
3186
|
return `Invalid value (${errorKey})`;
|
|
3203
3187
|
}
|
|
3204
3188
|
}
|
|
3205
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
3206
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.
|
|
3189
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: BaseGridEditor, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3190
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.5", type: BaseGridEditor, isStandalone: true, inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, row: { classPropertyName: "row", publicName: "row", isSignal: true, isRequired: false, transformFunction: null }, column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { commit: "commit", cancel: "cancel" }, ngImport: i0 });
|
|
3207
3191
|
}
|
|
3208
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
3192
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: BaseGridEditor, decorators: [{
|
|
3209
3193
|
type: Directive
|
|
3210
3194
|
}], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], row: [{ type: i0.Input, args: [{ isSignal: true, alias: "row", required: false }] }], column: [{ type: i0.Input, args: [{ isSignal: true, alias: "column", required: false }] }], control: [{ type: i0.Input, args: [{ isSignal: true, alias: "control", required: false }] }], commit: [{ type: i0.Output, args: ["commit"] }], cancel: [{ type: i0.Output, args: ["cancel"] }] } });
|
|
3211
3195
|
|
|
@@ -3273,12 +3257,12 @@ class BaseGridEditorCVA extends BaseGridEditor {
|
|
|
3273
3257
|
* Signal holding the value written by the form control via `writeValue()`.
|
|
3274
3258
|
* Updated when the form control pushes a new value (e.g. `patchValue`, `setValue`).
|
|
3275
3259
|
*/
|
|
3276
|
-
cvaValue = signal(null, ...(ngDevMode ? [{ debugName: "cvaValue" }] : []));
|
|
3260
|
+
cvaValue = signal(null, ...(ngDevMode ? [{ debugName: "cvaValue" }] : /* istanbul ignore next */ []));
|
|
3277
3261
|
/**
|
|
3278
3262
|
* Signal tracking the disabled state set by the form control.
|
|
3279
3263
|
* Updated when `setDisabledState()` is called by Angular's forms module.
|
|
3280
3264
|
*/
|
|
3281
|
-
disabledState = signal(false, ...(ngDevMode ? [{ debugName: "disabledState" }] : []));
|
|
3265
|
+
disabledState = signal(false, ...(ngDevMode ? [{ debugName: "disabledState" }] : /* istanbul ignore next */ []));
|
|
3282
3266
|
/**
|
|
3283
3267
|
* Resolved display value.
|
|
3284
3268
|
*
|
|
@@ -3290,7 +3274,7 @@ class BaseGridEditorCVA extends BaseGridEditor {
|
|
|
3290
3274
|
*/
|
|
3291
3275
|
displayValue = computed(() => {
|
|
3292
3276
|
return this.currentValue() ?? this.cvaValue();
|
|
3293
|
-
}, ...(ngDevMode ? [{ debugName: "displayValue" }] : []));
|
|
3277
|
+
}, ...(ngDevMode ? [{ debugName: "displayValue" }] : /* istanbul ignore next */ []));
|
|
3294
3278
|
// ============================================================================
|
|
3295
3279
|
// ControlValueAccessor Implementation
|
|
3296
3280
|
// ============================================================================
|
|
@@ -3341,10 +3325,10 @@ class BaseGridEditorCVA extends BaseGridEditor {
|
|
|
3341
3325
|
// handler and EditingPlugin will apply it correctly)
|
|
3342
3326
|
this.commitValue(value);
|
|
3343
3327
|
}
|
|
3344
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
3345
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
3328
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: BaseGridEditorCVA, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3329
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: BaseGridEditorCVA, isStandalone: true, usesInheritance: true, ngImport: i0 });
|
|
3346
3330
|
}
|
|
3347
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
3331
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: BaseGridEditorCVA, decorators: [{
|
|
3348
3332
|
type: Directive
|
|
3349
3333
|
}] });
|
|
3350
3334
|
|
|
@@ -3878,10 +3862,10 @@ class BaseOverlayEditor extends BaseGridEditor {
|
|
|
3878
3862
|
});
|
|
3879
3863
|
this._focusObserver.observe(cell, { attributes: true, attributeFilter: ['class'] });
|
|
3880
3864
|
}
|
|
3881
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
3882
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
3865
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: BaseOverlayEditor, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3866
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: BaseOverlayEditor, isStandalone: true, usesInheritance: true, ngImport: i0 });
|
|
3883
3867
|
}
|
|
3884
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
3868
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: BaseOverlayEditor, decorators: [{
|
|
3885
3869
|
type: Directive
|
|
3886
3870
|
}], ctorParameters: () => [] });
|
|
3887
3871
|
|
|
@@ -3916,10 +3900,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
3916
3900
|
* @category Directive
|
|
3917
3901
|
*/
|
|
3918
3902
|
class TbwGridColumn {
|
|
3919
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
3920
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
3903
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TbwGridColumn, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3904
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: TbwGridColumn, isStandalone: true, selector: "tbw-grid-column", ngImport: i0 });
|
|
3921
3905
|
}
|
|
3922
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
3906
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TbwGridColumn, decorators: [{
|
|
3923
3907
|
type: Directive,
|
|
3924
3908
|
args: [{
|
|
3925
3909
|
selector: 'tbw-grid-column',
|
|
@@ -3954,10 +3938,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
3954
3938
|
* @category Directive
|
|
3955
3939
|
*/
|
|
3956
3940
|
class TbwGridHeader {
|
|
3957
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
3958
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
3941
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TbwGridHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3942
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: TbwGridHeader, isStandalone: true, selector: "tbw-grid-header", ngImport: i0 });
|
|
3959
3943
|
}
|
|
3960
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
3944
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TbwGridHeader, decorators: [{
|
|
3961
3945
|
type: Directive,
|
|
3962
3946
|
args: [{
|
|
3963
3947
|
selector: 'tbw-grid-header',
|
|
@@ -4068,7 +4052,7 @@ class GridLazyForm {
|
|
|
4068
4052
|
* });
|
|
4069
4053
|
* ```
|
|
4070
4054
|
*/
|
|
4071
|
-
lazyForm = input.required(...(ngDevMode ? [{ debugName: "lazyForm" }] : []));
|
|
4055
|
+
lazyForm = input.required(...(ngDevMode ? [{ debugName: "lazyForm" }] : /* istanbul ignore next */ []));
|
|
4072
4056
|
/**
|
|
4073
4057
|
* Whether to automatically sync Angular validation state to grid's visual invalid styling.
|
|
4074
4058
|
*
|
|
@@ -4079,7 +4063,7 @@ class GridLazyForm {
|
|
|
4079
4063
|
*
|
|
4080
4064
|
* @default true
|
|
4081
4065
|
*/
|
|
4082
|
-
syncValidation = input(true, ...(ngDevMode ? [{ debugName: "syncValidation" }] : []));
|
|
4066
|
+
syncValidation = input(true, ...(ngDevMode ? [{ debugName: "syncValidation" }] : /* istanbul ignore next */ []));
|
|
4083
4067
|
/**
|
|
4084
4068
|
* Whether to keep FormGroups cached after a row exits edit mode.
|
|
4085
4069
|
*
|
|
@@ -4088,7 +4072,7 @@ class GridLazyForm {
|
|
|
4088
4072
|
*
|
|
4089
4073
|
* @default false
|
|
4090
4074
|
*/
|
|
4091
|
-
keepFormGroups = input(false, ...(ngDevMode ? [{ debugName: "keepFormGroups" }] : []));
|
|
4075
|
+
keepFormGroups = input(false, ...(ngDevMode ? [{ debugName: "keepFormGroups" }] : /* istanbul ignore next */ []));
|
|
4092
4076
|
/**
|
|
4093
4077
|
* Emitted when a row's form values change.
|
|
4094
4078
|
* Useful for auto-save, validation display, or syncing to external state.
|
|
@@ -4428,10 +4412,10 @@ class GridLazyForm {
|
|
|
4428
4412
|
}
|
|
4429
4413
|
return true;
|
|
4430
4414
|
}
|
|
4431
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
4432
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.
|
|
4415
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridLazyForm, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
4416
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.5", type: GridLazyForm, isStandalone: true, selector: "tbw-grid[lazyForm]", inputs: { lazyForm: { classPropertyName: "lazyForm", publicName: "lazyForm", isSignal: true, isRequired: true, transformFunction: null }, syncValidation: { classPropertyName: "syncValidation", publicName: "syncValidation", isSignal: true, isRequired: false, transformFunction: null }, keepFormGroups: { classPropertyName: "keepFormGroups", publicName: "keepFormGroups", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rowFormChange: "rowFormChange" }, ngImport: i0 });
|
|
4433
4417
|
}
|
|
4434
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
4418
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: GridLazyForm, decorators: [{
|
|
4435
4419
|
type: Directive,
|
|
4436
4420
|
args: [{
|
|
4437
4421
|
selector: 'tbw-grid[lazyForm]',
|
|
@@ -4467,10 +4451,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
4467
4451
|
* @category Directive
|
|
4468
4452
|
*/
|
|
4469
4453
|
class TbwGridToolButtons {
|
|
4470
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
4471
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
4454
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TbwGridToolButtons, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
4455
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: TbwGridToolButtons, isStandalone: true, selector: "tbw-grid-tool-buttons", ngImport: i0 });
|
|
4472
4456
|
}
|
|
4473
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
4457
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: TbwGridToolButtons, decorators: [{
|
|
4474
4458
|
type: Directive,
|
|
4475
4459
|
args: [{
|
|
4476
4460
|
selector: 'tbw-grid-tool-buttons',
|
|
@@ -4601,7 +4585,14 @@ class Grid {
|
|
|
4601
4585
|
if (columnsValue === undefined)
|
|
4602
4586
|
return;
|
|
4603
4587
|
const grid = this.elementRef.nativeElement;
|
|
4604
|
-
|
|
4588
|
+
// Process columns through the adapter to convert Angular component classes
|
|
4589
|
+
// (renderer/editor) to functions — the grid's columns setter does NOT call
|
|
4590
|
+
// processConfig, unlike gridConfig. Without this, raw component classes
|
|
4591
|
+
// would be invoked without `new`, causing runtime errors.
|
|
4592
|
+
const processed = this.adapter
|
|
4593
|
+
? columnsValue.map((col) => this.adapter.processColumn(col))
|
|
4594
|
+
: columnsValue;
|
|
4595
|
+
grid.columns = processed;
|
|
4605
4596
|
});
|
|
4606
4597
|
// Effect to sync fitMode to the grid element
|
|
4607
4598
|
effect(() => {
|
|
@@ -4629,7 +4620,7 @@ class Grid {
|
|
|
4629
4620
|
* <tbw-grid [customStyles]="customStyles">...</tbw-grid>
|
|
4630
4621
|
* ```
|
|
4631
4622
|
*/
|
|
4632
|
-
customStyles = input(...(ngDevMode ? [undefined, { debugName: "customStyles" }] : []));
|
|
4623
|
+
customStyles = input(...(ngDevMode ? [undefined, { debugName: "customStyles" }] : /* istanbul ignore next */ []));
|
|
4633
4624
|
/**
|
|
4634
4625
|
* Grid-wide sorting toggle.
|
|
4635
4626
|
* When false, disables sorting for all columns regardless of their individual `sortable` setting.
|
|
@@ -4652,7 +4643,7 @@ class Grid {
|
|
|
4652
4643
|
* <tbw-grid [sortable]="true" [multiSort]="true" />
|
|
4653
4644
|
* ```
|
|
4654
4645
|
*/
|
|
4655
|
-
sortable = input(...(ngDevMode ? [undefined, { debugName: "sortable" }] : []));
|
|
4646
|
+
sortable = input(...(ngDevMode ? [undefined, { debugName: "sortable" }] : /* istanbul ignore next */ []));
|
|
4656
4647
|
/**
|
|
4657
4648
|
* Grid-wide filtering toggle.
|
|
4658
4649
|
* When false, disables filtering for all columns regardless of their individual `filterable` setting.
|
|
@@ -4671,7 +4662,7 @@ class Grid {
|
|
|
4671
4662
|
* <tbw-grid [filterable]="true" [filtering]="true" />
|
|
4672
4663
|
* ```
|
|
4673
4664
|
*/
|
|
4674
|
-
filterable = input(...(ngDevMode ? [undefined, { debugName: "filterable" }] : []));
|
|
4665
|
+
filterable = input(...(ngDevMode ? [undefined, { debugName: "filterable" }] : /* istanbul ignore next */ []));
|
|
4675
4666
|
/**
|
|
4676
4667
|
* Grid-wide selection toggle.
|
|
4677
4668
|
* When false, disables selection for all rows/cells.
|
|
@@ -4690,7 +4681,7 @@ class Grid {
|
|
|
4690
4681
|
* <tbw-grid [selectable]="true" [selection]="'range'" />
|
|
4691
4682
|
* ```
|
|
4692
4683
|
*/
|
|
4693
|
-
selectable = input(...(ngDevMode ? [undefined, { debugName: "selectable" }] : []));
|
|
4684
|
+
selectable = input(...(ngDevMode ? [undefined, { debugName: "selectable" }] : /* istanbul ignore next */ []));
|
|
4694
4685
|
/**
|
|
4695
4686
|
* Show a loading overlay on the grid.
|
|
4696
4687
|
* Use this during initial data fetch or refresh operations.
|
|
@@ -4718,7 +4709,7 @@ class Grid {
|
|
|
4718
4709
|
* }
|
|
4719
4710
|
* ```
|
|
4720
4711
|
*/
|
|
4721
|
-
loading = input(...(ngDevMode ? [undefined, { debugName: "loading" }] : []));
|
|
4712
|
+
loading = input(...(ngDevMode ? [undefined, { debugName: "loading" }] : /* istanbul ignore next */ []));
|
|
4722
4713
|
/**
|
|
4723
4714
|
* The data rows to display in the grid.
|
|
4724
4715
|
*
|
|
@@ -4731,7 +4722,7 @@ class Grid {
|
|
|
4731
4722
|
* ```
|
|
4732
4723
|
*/
|
|
4733
4724
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4734
|
-
rows = input(...(ngDevMode ? [undefined, { debugName: "rows" }] : []));
|
|
4725
|
+
rows = input(...(ngDevMode ? [undefined, { debugName: "rows" }] : /* istanbul ignore next */ []));
|
|
4735
4726
|
/**
|
|
4736
4727
|
* Column configuration array.
|
|
4737
4728
|
*
|
|
@@ -4749,7 +4740,7 @@ class Grid {
|
|
|
4749
4740
|
* ```
|
|
4750
4741
|
*/
|
|
4751
4742
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4752
|
-
columns = input(...(ngDevMode ? [undefined, { debugName: "columns" }] : []));
|
|
4743
|
+
columns = input(...(ngDevMode ? [undefined, { debugName: "columns" }] : /* istanbul ignore next */ []));
|
|
4753
4744
|
/**
|
|
4754
4745
|
* Column sizing strategy.
|
|
4755
4746
|
*
|
|
@@ -4765,7 +4756,7 @@ class Grid {
|
|
|
4765
4756
|
* <tbw-grid [rows]="data" [fitMode]="dynamicMode()" />
|
|
4766
4757
|
* ```
|
|
4767
4758
|
*/
|
|
4768
|
-
fitMode = input(...(ngDevMode ? [undefined, { debugName: "fitMode" }] : []));
|
|
4759
|
+
fitMode = input(...(ngDevMode ? [undefined, { debugName: "fitMode" }] : /* istanbul ignore next */ []));
|
|
4769
4760
|
/**
|
|
4770
4761
|
* Grid configuration object with optional Angular-specific extensions.
|
|
4771
4762
|
*
|
|
@@ -4803,7 +4794,7 @@ class Grid {
|
|
|
4803
4794
|
* ```
|
|
4804
4795
|
*/
|
|
4805
4796
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4806
|
-
gridConfig = input(...(ngDevMode ? [undefined, { debugName: "gridConfig" }] : []));
|
|
4797
|
+
gridConfig = input(...(ngDevMode ? [undefined, { debugName: "gridConfig" }] : /* istanbul ignore next */ []));
|
|
4807
4798
|
/**
|
|
4808
4799
|
* @deprecated Use `gridConfig` instead. This input will be removed in v2.
|
|
4809
4800
|
*
|
|
@@ -4819,7 +4810,7 @@ class Grid {
|
|
|
4819
4810
|
* ```
|
|
4820
4811
|
*/
|
|
4821
4812
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4822
|
-
angularConfig = input(...(ngDevMode ? [undefined, { debugName: "angularConfig" }] : []));
|
|
4813
|
+
angularConfig = input(...(ngDevMode ? [undefined, { debugName: "angularConfig" }] : /* istanbul ignore next */ []));
|
|
4823
4814
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
4824
4815
|
// FEATURE INPUTS - Declarative plugin configuration
|
|
4825
4816
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
@@ -4841,7 +4832,7 @@ class Grid {
|
|
|
4841
4832
|
* ```
|
|
4842
4833
|
*/
|
|
4843
4834
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4844
|
-
selection = input(...(ngDevMode ? [undefined, { debugName: "selection" }] : []));
|
|
4835
|
+
selection = input(...(ngDevMode ? [undefined, { debugName: "selection" }] : /* istanbul ignore next */ []));
|
|
4845
4836
|
/**
|
|
4846
4837
|
* Enable inline cell editing.
|
|
4847
4838
|
*
|
|
@@ -4864,7 +4855,7 @@ class Grid {
|
|
|
4864
4855
|
* <tbw-grid [editing]="{ editOn: 'dblclick', onBeforeEditClose: myCallback }" />
|
|
4865
4856
|
* ```
|
|
4866
4857
|
*/
|
|
4867
|
-
editing = input(...(ngDevMode ? [undefined, { debugName: "editing" }] : []));
|
|
4858
|
+
editing = input(...(ngDevMode ? [undefined, { debugName: "editing" }] : /* istanbul ignore next */ []));
|
|
4868
4859
|
/**
|
|
4869
4860
|
* Enable clipboard copy/paste. Requires selection to be enabled.
|
|
4870
4861
|
*
|
|
@@ -4878,7 +4869,7 @@ class Grid {
|
|
|
4878
4869
|
* <tbw-grid [selection]="'range'" [clipboard]="true" />
|
|
4879
4870
|
* ```
|
|
4880
4871
|
*/
|
|
4881
|
-
clipboard = input(...(ngDevMode ? [undefined, { debugName: "clipboard" }] : []));
|
|
4872
|
+
clipboard = input(...(ngDevMode ? [undefined, { debugName: "clipboard" }] : /* istanbul ignore next */ []));
|
|
4882
4873
|
/**
|
|
4883
4874
|
* Enable right-click context menu.
|
|
4884
4875
|
*
|
|
@@ -4892,7 +4883,7 @@ class Grid {
|
|
|
4892
4883
|
* <tbw-grid [contextMenu]="true" />
|
|
4893
4884
|
* ```
|
|
4894
4885
|
*/
|
|
4895
|
-
contextMenu = input(...(ngDevMode ? [undefined, { debugName: "contextMenu" }] : []));
|
|
4886
|
+
contextMenu = input(...(ngDevMode ? [undefined, { debugName: "contextMenu" }] : /* istanbul ignore next */ []));
|
|
4896
4887
|
/**
|
|
4897
4888
|
* Enable multi-column sorting.
|
|
4898
4889
|
*
|
|
@@ -4916,7 +4907,7 @@ class Grid {
|
|
|
4916
4907
|
* <tbw-grid [multiSort]="{ maxSortColumns: 3 }" />
|
|
4917
4908
|
* ```
|
|
4918
4909
|
*/
|
|
4919
|
-
multiSort = input(...(ngDevMode ? [undefined, { debugName: "multiSort" }] : []));
|
|
4910
|
+
multiSort = input(...(ngDevMode ? [undefined, { debugName: "multiSort" }] : /* istanbul ignore next */ []));
|
|
4920
4911
|
/**
|
|
4921
4912
|
* @deprecated Use `[multiSort]` instead. Will be removed in v2.
|
|
4922
4913
|
*
|
|
@@ -4927,7 +4918,7 @@ class Grid {
|
|
|
4927
4918
|
* import '@toolbox-web/grid-angular/features/multi-sort';
|
|
4928
4919
|
* ```
|
|
4929
4920
|
*/
|
|
4930
|
-
sorting = input(...(ngDevMode ? [undefined, { debugName: "sorting" }] : []));
|
|
4921
|
+
sorting = input(...(ngDevMode ? [undefined, { debugName: "sorting" }] : /* istanbul ignore next */ []));
|
|
4931
4922
|
/**
|
|
4932
4923
|
* Enable column filtering.
|
|
4933
4924
|
*
|
|
@@ -4943,7 +4934,7 @@ class Grid {
|
|
|
4943
4934
|
* ```
|
|
4944
4935
|
*/
|
|
4945
4936
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4946
|
-
filtering = input(...(ngDevMode ? [undefined, { debugName: "filtering" }] : []));
|
|
4937
|
+
filtering = input(...(ngDevMode ? [undefined, { debugName: "filtering" }] : /* istanbul ignore next */ []));
|
|
4947
4938
|
/**
|
|
4948
4939
|
* Enable column drag-to-reorder.
|
|
4949
4940
|
*
|
|
@@ -4957,11 +4948,11 @@ class Grid {
|
|
|
4957
4948
|
* <tbw-grid [reorderColumns]="true" />
|
|
4958
4949
|
* ```
|
|
4959
4950
|
*/
|
|
4960
|
-
reorderColumns = input(...(ngDevMode ? [undefined, { debugName: "reorderColumns" }] : []));
|
|
4951
|
+
reorderColumns = input(...(ngDevMode ? [undefined, { debugName: "reorderColumns" }] : /* istanbul ignore next */ []));
|
|
4961
4952
|
/**
|
|
4962
4953
|
* @deprecated Use `reorderColumns` instead. Will be removed in v2.
|
|
4963
4954
|
*/
|
|
4964
|
-
reorder = input(...(ngDevMode ? [undefined, { debugName: "reorder" }] : []));
|
|
4955
|
+
reorder = input(...(ngDevMode ? [undefined, { debugName: "reorder" }] : /* istanbul ignore next */ []));
|
|
4965
4956
|
/**
|
|
4966
4957
|
* Enable column visibility toggle panel.
|
|
4967
4958
|
*
|
|
@@ -4975,7 +4966,7 @@ class Grid {
|
|
|
4975
4966
|
* <tbw-grid [visibility]="true" />
|
|
4976
4967
|
* ```
|
|
4977
4968
|
*/
|
|
4978
|
-
visibility = input(...(ngDevMode ? [undefined, { debugName: "visibility" }] : []));
|
|
4969
|
+
visibility = input(...(ngDevMode ? [undefined, { debugName: "visibility" }] : /* istanbul ignore next */ []));
|
|
4979
4970
|
/**
|
|
4980
4971
|
* Enable pinned/sticky columns.
|
|
4981
4972
|
* Columns are pinned via the `sticky` column property.
|
|
@@ -4994,7 +4985,7 @@ class Grid {
|
|
|
4994
4985
|
* ]" />
|
|
4995
4986
|
* ```
|
|
4996
4987
|
*/
|
|
4997
|
-
pinnedColumns = input(...(ngDevMode ? [undefined, { debugName: "pinnedColumns" }] : []));
|
|
4988
|
+
pinnedColumns = input(...(ngDevMode ? [undefined, { debugName: "pinnedColumns" }] : /* istanbul ignore next */ []));
|
|
4998
4989
|
/**
|
|
4999
4990
|
* Enable multi-level column headers (column groups).
|
|
5000
4991
|
*
|
|
@@ -5008,7 +4999,7 @@ class Grid {
|
|
|
5008
4999
|
* <tbw-grid [groupingColumns]="true" />
|
|
5009
5000
|
* ```
|
|
5010
5001
|
*/
|
|
5011
|
-
groupingColumns = input(...(ngDevMode ? [undefined, { debugName: "groupingColumns" }] : []));
|
|
5002
|
+
groupingColumns = input(...(ngDevMode ? [undefined, { debugName: "groupingColumns" }] : /* istanbul ignore next */ []));
|
|
5012
5003
|
/**
|
|
5013
5004
|
* Enable horizontal column virtualization for wide grids.
|
|
5014
5005
|
*
|
|
@@ -5022,7 +5013,7 @@ class Grid {
|
|
|
5022
5013
|
* <tbw-grid [columnVirtualization]="true" />
|
|
5023
5014
|
* ```
|
|
5024
5015
|
*/
|
|
5025
|
-
columnVirtualization = input(...(ngDevMode ? [undefined, { debugName: "columnVirtualization" }] : []));
|
|
5016
|
+
columnVirtualization = input(...(ngDevMode ? [undefined, { debugName: "columnVirtualization" }] : /* istanbul ignore next */ []));
|
|
5026
5017
|
/**
|
|
5027
5018
|
* Enable row drag-to-reorder.
|
|
5028
5019
|
*
|
|
@@ -5036,11 +5027,11 @@ class Grid {
|
|
|
5036
5027
|
* <tbw-grid [reorderRows]="true" />
|
|
5037
5028
|
* ```
|
|
5038
5029
|
*/
|
|
5039
|
-
reorderRows = input(...(ngDevMode ? [undefined, { debugName: "reorderRows" }] : []));
|
|
5030
|
+
reorderRows = input(...(ngDevMode ? [undefined, { debugName: "reorderRows" }] : /* istanbul ignore next */ []));
|
|
5040
5031
|
/**
|
|
5041
5032
|
* @deprecated Use `reorderRows` instead. Will be removed in v2.0.
|
|
5042
5033
|
*/
|
|
5043
|
-
rowReorder = input(...(ngDevMode ? [undefined, { debugName: "rowReorder" }] : []));
|
|
5034
|
+
rowReorder = input(...(ngDevMode ? [undefined, { debugName: "rowReorder" }] : /* istanbul ignore next */ []));
|
|
5044
5035
|
/**
|
|
5045
5036
|
* Enable row grouping by field values.
|
|
5046
5037
|
*
|
|
@@ -5054,7 +5045,7 @@ class Grid {
|
|
|
5054
5045
|
* <tbw-grid [groupingRows]="{ groupBy: ['department'] }" />
|
|
5055
5046
|
* ```
|
|
5056
5047
|
*/
|
|
5057
|
-
groupingRows = input(...(ngDevMode ? [undefined, { debugName: "groupingRows" }] : []));
|
|
5048
|
+
groupingRows = input(...(ngDevMode ? [undefined, { debugName: "groupingRows" }] : /* istanbul ignore next */ []));
|
|
5058
5049
|
/**
|
|
5059
5050
|
* Enable pinned rows (aggregation/status bar).
|
|
5060
5051
|
*
|
|
@@ -5068,7 +5059,7 @@ class Grid {
|
|
|
5068
5059
|
* <tbw-grid [pinnedRows]="{ bottom: [{ type: 'aggregation' }] }" />
|
|
5069
5060
|
* ```
|
|
5070
5061
|
*/
|
|
5071
|
-
pinnedRows = input(...(ngDevMode ? [undefined, { debugName: "pinnedRows" }] : []));
|
|
5062
|
+
pinnedRows = input(...(ngDevMode ? [undefined, { debugName: "pinnedRows" }] : /* istanbul ignore next */ []));
|
|
5072
5063
|
/**
|
|
5073
5064
|
* Enable hierarchical tree view.
|
|
5074
5065
|
*
|
|
@@ -5082,7 +5073,7 @@ class Grid {
|
|
|
5082
5073
|
* <tbw-grid [tree]="{ childrenField: 'children' }" />
|
|
5083
5074
|
* ```
|
|
5084
5075
|
*/
|
|
5085
|
-
tree = input(...(ngDevMode ? [undefined, { debugName: "tree" }] : []));
|
|
5076
|
+
tree = input(...(ngDevMode ? [undefined, { debugName: "tree" }] : /* istanbul ignore next */ []));
|
|
5086
5077
|
/**
|
|
5087
5078
|
* Enable master-detail expandable rows.
|
|
5088
5079
|
*
|
|
@@ -5096,7 +5087,7 @@ class Grid {
|
|
|
5096
5087
|
* <tbw-grid [masterDetail]="{ detailRenderer: detailFn }" />
|
|
5097
5088
|
* ```
|
|
5098
5089
|
*/
|
|
5099
|
-
masterDetail = input(...(ngDevMode ? [undefined, { debugName: "masterDetail" }] : []));
|
|
5090
|
+
masterDetail = input(...(ngDevMode ? [undefined, { debugName: "masterDetail" }] : /* istanbul ignore next */ []));
|
|
5100
5091
|
/**
|
|
5101
5092
|
* Enable responsive card layout for narrow viewports.
|
|
5102
5093
|
*
|
|
@@ -5110,7 +5101,7 @@ class Grid {
|
|
|
5110
5101
|
* <tbw-grid [responsive]="{ breakpoint: 768 }" />
|
|
5111
5102
|
* ```
|
|
5112
5103
|
*/
|
|
5113
|
-
responsive = input(...(ngDevMode ? [undefined, { debugName: "responsive" }] : []));
|
|
5104
|
+
responsive = input(...(ngDevMode ? [undefined, { debugName: "responsive" }] : /* istanbul ignore next */ []));
|
|
5114
5105
|
/**
|
|
5115
5106
|
* Enable undo/redo for cell edits. Requires editing to be enabled.
|
|
5116
5107
|
*
|
|
@@ -5124,7 +5115,7 @@ class Grid {
|
|
|
5124
5115
|
* <tbw-grid [editing]="'dblclick'" [undoRedo]="true" />
|
|
5125
5116
|
* ```
|
|
5126
5117
|
*/
|
|
5127
|
-
undoRedo = input(...(ngDevMode ? [undefined, { debugName: "undoRedo" }] : []));
|
|
5118
|
+
undoRedo = input(...(ngDevMode ? [undefined, { debugName: "undoRedo" }] : /* istanbul ignore next */ []));
|
|
5128
5119
|
/**
|
|
5129
5120
|
* Enable CSV/JSON export functionality.
|
|
5130
5121
|
*
|
|
@@ -5139,7 +5130,7 @@ class Grid {
|
|
|
5139
5130
|
* <tbw-grid [export]="{ filename: 'data.csv' }" />
|
|
5140
5131
|
* ```
|
|
5141
5132
|
*/
|
|
5142
|
-
exportFeature = input(undefined, { ...(ngDevMode ? { debugName: "exportFeature" } : {}), alias: 'export' });
|
|
5133
|
+
exportFeature = input(undefined, { ...(ngDevMode ? { debugName: "exportFeature" } : /* istanbul ignore next */ {}), alias: 'export' });
|
|
5143
5134
|
/**
|
|
5144
5135
|
* Enable print functionality.
|
|
5145
5136
|
*
|
|
@@ -5153,7 +5144,7 @@ class Grid {
|
|
|
5153
5144
|
* <tbw-grid [print]="true" />
|
|
5154
5145
|
* ```
|
|
5155
5146
|
*/
|
|
5156
|
-
print = input(...(ngDevMode ? [undefined, { debugName: "print" }] : []));
|
|
5147
|
+
print = input(...(ngDevMode ? [undefined, { debugName: "print" }] : /* istanbul ignore next */ []));
|
|
5157
5148
|
/**
|
|
5158
5149
|
* Enable pivot table functionality.
|
|
5159
5150
|
*
|
|
@@ -5167,7 +5158,7 @@ class Grid {
|
|
|
5167
5158
|
* <tbw-grid [pivot]="{ rowFields: ['category'], valueField: 'sales' }" />
|
|
5168
5159
|
* ```
|
|
5169
5160
|
*/
|
|
5170
|
-
pivot = input(...(ngDevMode ? [undefined, { debugName: "pivot" }] : []));
|
|
5161
|
+
pivot = input(...(ngDevMode ? [undefined, { debugName: "pivot" }] : /* istanbul ignore next */ []));
|
|
5171
5162
|
/**
|
|
5172
5163
|
* Enable server-side data operations.
|
|
5173
5164
|
*
|
|
@@ -5181,7 +5172,7 @@ class Grid {
|
|
|
5181
5172
|
* <tbw-grid [serverSide]="{ dataSource: fetchDataFn }" />
|
|
5182
5173
|
* ```
|
|
5183
5174
|
*/
|
|
5184
|
-
serverSide = input(...(ngDevMode ? [undefined, { debugName: "serverSide" }] : []));
|
|
5175
|
+
serverSide = input(...(ngDevMode ? [undefined, { debugName: "serverSide" }] : /* istanbul ignore next */ []));
|
|
5185
5176
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
5186
5177
|
// EVENT OUTPUTS - All grid events
|
|
5187
5178
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
@@ -5679,10 +5670,10 @@ class Grid {
|
|
|
5679
5670
|
this.adapter = null;
|
|
5680
5671
|
}
|
|
5681
5672
|
}
|
|
5682
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
5683
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.
|
|
5673
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: Grid, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5674
|
+
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 }, 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 }, reorderColumns: { classPropertyName: "reorderColumns", publicName: "reorderColumns", 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 }, reorderRows: { classPropertyName: "reorderRows", publicName: "reorderRows", 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: "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 } }, 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 });
|
|
5684
5675
|
}
|
|
5685
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
5676
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: Grid, decorators: [{
|
|
5686
5677
|
type: Directive,
|
|
5687
5678
|
args: [{ selector: 'tbw-grid' }]
|
|
5688
5679
|
}], 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 }] }], 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 }] }], reorderColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "reorderColumns", 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 }] }], reorderRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "reorderRows", 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: "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 }] }], 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"] }] } });
|