@unshape/grid-angular 0.0.711 → 0.0.713
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.
|
@@ -358,6 +358,16 @@ function formattingPrecedenceInputEffect(value, grid) {
|
|
|
358
358
|
});
|
|
359
359
|
}
|
|
360
360
|
|
|
361
|
+
function useAlternateRowsInputEffect(value, grid) {
|
|
362
|
+
return effectSkipFirst((isInitial) => {
|
|
363
|
+
const useAlternateRows = value();
|
|
364
|
+
if (isInitial)
|
|
365
|
+
return;
|
|
366
|
+
if (grid)
|
|
367
|
+
grid.api.setUseAlternateRows(useAlternateRows);
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
|
|
361
371
|
class UnshapeGridNoDataTemplateDirective {
|
|
362
372
|
template;
|
|
363
373
|
constructor(template) {
|
|
@@ -818,6 +828,9 @@ class ColumnService {
|
|
|
818
828
|
});
|
|
819
829
|
this.pendingGroupFooterCellTemplates.clear();
|
|
820
830
|
}
|
|
831
|
+
clearAdapter() {
|
|
832
|
+
this.adapter = undefined;
|
|
833
|
+
}
|
|
821
834
|
registerHeaderTemplate(key, tpl) {
|
|
822
835
|
if (this.adapter) {
|
|
823
836
|
this.adapter.registerColumnHeaderTemplate?.(key, tpl);
|
|
@@ -1285,6 +1298,7 @@ class UnshapeGridComponent {
|
|
|
1285
1298
|
mode = input("standard", ...(ngDevMode ? [{ debugName: "mode" }] : /* istanbul ignore next */ []));
|
|
1286
1299
|
analysisOptions = input(...(ngDevMode ? [undefined, { debugName: "analysisOptions" }] : /* istanbul ignore next */ []));
|
|
1287
1300
|
formattingPrecedence = input("row-first", ...(ngDevMode ? [{ debugName: "formattingPrecedence" }] : /* istanbul ignore next */ []));
|
|
1301
|
+
useAlternateRows = input(false, ...(ngDevMode ? [{ debugName: "useAlternateRows" }] : /* istanbul ignore next */ []));
|
|
1288
1302
|
// reactive effects
|
|
1289
1303
|
gridIdEffect;
|
|
1290
1304
|
dataEffect;
|
|
@@ -1319,6 +1333,7 @@ class UnshapeGridComponent {
|
|
|
1319
1333
|
modeEffect;
|
|
1320
1334
|
analysisOptionsEffect;
|
|
1321
1335
|
formattingPrecedenceEffect;
|
|
1336
|
+
useAlternateRowsEffect;
|
|
1322
1337
|
ngAfterViewInit() {
|
|
1323
1338
|
const host = this.hostRef.nativeElement;
|
|
1324
1339
|
const registry = this.templateCollector.collect(this.noDataTemplateDir, this.loadingTemplateDir, this.errorTemplateDir, this.groupColumnTemplateDir, this.groupHeaderTemplateDir, this.statusBarTemplateDir, this.toolBarTemplateDir);
|
|
@@ -1365,6 +1380,7 @@ class UnshapeGridComponent {
|
|
|
1365
1380
|
mode: this.mode(),
|
|
1366
1381
|
analysisOptions: this.analysisOptions(),
|
|
1367
1382
|
formattingPrecedence: this.formattingPrecedence(),
|
|
1383
|
+
useAlternateRows: this.useAlternateRows(),
|
|
1368
1384
|
};
|
|
1369
1385
|
this.grid = new Grid(host, options);
|
|
1370
1386
|
this.columnService.setGrid(this.grid);
|
|
@@ -1402,6 +1418,7 @@ class UnshapeGridComponent {
|
|
|
1402
1418
|
this.modeEffect = modeInputEffect(this.mode, this.grid);
|
|
1403
1419
|
this.analysisOptionsEffect = analysisOptionsInputEffect(this.analysisOptions, this.grid);
|
|
1404
1420
|
this.formattingPrecedenceEffect = formattingPrecedenceInputEffect(this.formattingPrecedence, this.grid);
|
|
1421
|
+
this.useAlternateRowsEffect = useAlternateRowsInputEffect(this.useAlternateRows, this.grid);
|
|
1405
1422
|
});
|
|
1406
1423
|
if (this.errorType)
|
|
1407
1424
|
this.grid.api.setError(true, this.errorType);
|
|
@@ -1411,6 +1428,7 @@ class UnshapeGridComponent {
|
|
|
1411
1428
|
this.errorType = "ambiguous-column-definition";
|
|
1412
1429
|
}
|
|
1413
1430
|
ngOnDestroy() {
|
|
1431
|
+
this.columnService.clearAdapter();
|
|
1414
1432
|
this.grid?.destroy();
|
|
1415
1433
|
this.grid = null;
|
|
1416
1434
|
}
|
|
@@ -1448,7 +1466,7 @@ class UnshapeGridComponent {
|
|
|
1448
1466
|
this.grid.api.setShowAddNewRow(show);
|
|
1449
1467
|
}
|
|
1450
1468
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: UnshapeGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1451
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.23", type: UnshapeGridComponent, isStandalone: true, selector: "ush-grid", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, resizeMode: { classPropertyName: "resizeMode", publicName: "resizeMode", isSignal: true, isRequired: false, transformFunction: null }, enableAnimations: { classPropertyName: "enableAnimations", publicName: "enableAnimations", isSignal: true, isRequired: false, transformFunction: null }, animationOptions: { classPropertyName: "animationOptions", publicName: "animationOptions", isSignal: true, isRequired: false, transformFunction: null }, filterable: { classPropertyName: "filterable", publicName: "filterable", isSignal: true, isRequired: false, transformFunction: null }, sortSettings: { classPropertyName: "sortSettings", publicName: "sortSettings", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, groupable: { classPropertyName: "groupable", publicName: "groupable", isSignal: true, isRequired: false, transformFunction: null }, pageable: { classPropertyName: "pageable", publicName: "pageable", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, showStatusBar: { classPropertyName: "showStatusBar", publicName: "showStatusBar", isSignal: true, isRequired: false, transformFunction: null }, columnMenu: { classPropertyName: "columnMenu", publicName: "columnMenu", isSignal: true, isRequired: false, transformFunction: null }, allowColumnReorder: { classPropertyName: "allowColumnReorder", publicName: "allowColumnReorder", isSignal: true, isRequired: false, transformFunction: null }, showToolBar: { classPropertyName: "showToolBar", publicName: "showToolBar", isSignal: true, isRequired: false, transformFunction: null }, toolBarRenderer: { classPropertyName: "toolBarRenderer", publicName: "toolBarRenderer", isSignal: true, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null }, editingEvents: { classPropertyName: "editingEvents", publicName: "editingEvents", isSignal: true, isRequired: false, transformFunction: null }, schema: { classPropertyName: "schema", publicName: "schema", isSignal: true, isRequired: false, transformFunction: null }, rowEditingEvents: { classPropertyName: "rowEditingEvents", publicName: "rowEditingEvents", isSignal: true, isRequired: false, transformFunction: null }, rowEvents: { classPropertyName: "rowEvents", publicName: "rowEvents", isSignal: true, isRequired: false, transformFunction: null }, newRowEvents: { classPropertyName: "newRowEvents", publicName: "newRowEvents", isSignal: true, isRequired: false, transformFunction: null }, rowFormat: { classPropertyName: "rowFormat", publicName: "rowFormat", isSignal: true, isRequired: false, transformFunction: null }, copy: { classPropertyName: "copy", publicName: "copy", isSignal: true, isRequired: false, transformFunction: null }, paste: { classPropertyName: "paste", publicName: "paste", isSignal: true, isRequired: false, transformFunction: null }, clipboardEvents: { classPropertyName: "clipboardEvents", publicName: "clipboardEvents", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, analysisOptions: { classPropertyName: "analysisOptions", publicName: "analysisOptions", isSignal: true, isRequired: false, transformFunction: null }, formattingPrecedence: { classPropertyName: "formattingPrecedence", publicName: "formattingPrecedence", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "noDataTemplateDir", first: true, predicate: UnshapeGridNoDataTemplateDirective, descendants: true }, { propertyName: "loadingTemplateDir", first: true, predicate: UnshapeGridLoadingTemplateDirective, descendants: true }, { propertyName: "errorTemplateDir", first: true, predicate: UnshapeGridErrorTemplateDirective, descendants: true }, { propertyName: "groupColumnTemplateDir", first: true, predicate: UnshapeGridGroupColumnTemplateDirective, descendants: true }, { propertyName: "groupHeaderTemplateDir", first: true, predicate: UnshapeGridGroupHeaderTemplateDirective, descendants: true }, { propertyName: "statusBarTemplateDir", first: true, predicate: UnshapeGridStatusBarTemplateDirective, descendants: true }, { propertyName: "toolBarTemplateDir", first: true, predicate: UnshapeGridToolBarTemplateDirective, descendants: true }, { propertyName: "projectedColumns", predicate: UnshapeGridColumnComponent }], viewQueries: [{ propertyName: "hostRef", first: true, predicate: ["host"], descendants: true, static: true }], ngImport: i0, template: "<div #host class=\"ush-grid-host\"></div>\r\n", styles: [":host{display:block;width:100%;height:100%}.ush-grid-host{width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1469
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.23", type: UnshapeGridComponent, isStandalone: true, selector: "ush-grid", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, resizeMode: { classPropertyName: "resizeMode", publicName: "resizeMode", isSignal: true, isRequired: false, transformFunction: null }, enableAnimations: { classPropertyName: "enableAnimations", publicName: "enableAnimations", isSignal: true, isRequired: false, transformFunction: null }, animationOptions: { classPropertyName: "animationOptions", publicName: "animationOptions", isSignal: true, isRequired: false, transformFunction: null }, filterable: { classPropertyName: "filterable", publicName: "filterable", isSignal: true, isRequired: false, transformFunction: null }, sortSettings: { classPropertyName: "sortSettings", publicName: "sortSettings", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, groupable: { classPropertyName: "groupable", publicName: "groupable", isSignal: true, isRequired: false, transformFunction: null }, pageable: { classPropertyName: "pageable", publicName: "pageable", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, showStatusBar: { classPropertyName: "showStatusBar", publicName: "showStatusBar", isSignal: true, isRequired: false, transformFunction: null }, columnMenu: { classPropertyName: "columnMenu", publicName: "columnMenu", isSignal: true, isRequired: false, transformFunction: null }, allowColumnReorder: { classPropertyName: "allowColumnReorder", publicName: "allowColumnReorder", isSignal: true, isRequired: false, transformFunction: null }, showToolBar: { classPropertyName: "showToolBar", publicName: "showToolBar", isSignal: true, isRequired: false, transformFunction: null }, toolBarRenderer: { classPropertyName: "toolBarRenderer", publicName: "toolBarRenderer", isSignal: true, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null }, editingEvents: { classPropertyName: "editingEvents", publicName: "editingEvents", isSignal: true, isRequired: false, transformFunction: null }, schema: { classPropertyName: "schema", publicName: "schema", isSignal: true, isRequired: false, transformFunction: null }, rowEditingEvents: { classPropertyName: "rowEditingEvents", publicName: "rowEditingEvents", isSignal: true, isRequired: false, transformFunction: null }, rowEvents: { classPropertyName: "rowEvents", publicName: "rowEvents", isSignal: true, isRequired: false, transformFunction: null }, newRowEvents: { classPropertyName: "newRowEvents", publicName: "newRowEvents", isSignal: true, isRequired: false, transformFunction: null }, rowFormat: { classPropertyName: "rowFormat", publicName: "rowFormat", isSignal: true, isRequired: false, transformFunction: null }, copy: { classPropertyName: "copy", publicName: "copy", isSignal: true, isRequired: false, transformFunction: null }, paste: { classPropertyName: "paste", publicName: "paste", isSignal: true, isRequired: false, transformFunction: null }, clipboardEvents: { classPropertyName: "clipboardEvents", publicName: "clipboardEvents", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, analysisOptions: { classPropertyName: "analysisOptions", publicName: "analysisOptions", isSignal: true, isRequired: false, transformFunction: null }, formattingPrecedence: { classPropertyName: "formattingPrecedence", publicName: "formattingPrecedence", isSignal: true, isRequired: false, transformFunction: null }, useAlternateRows: { classPropertyName: "useAlternateRows", publicName: "useAlternateRows", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "noDataTemplateDir", first: true, predicate: UnshapeGridNoDataTemplateDirective, descendants: true }, { propertyName: "loadingTemplateDir", first: true, predicate: UnshapeGridLoadingTemplateDirective, descendants: true }, { propertyName: "errorTemplateDir", first: true, predicate: UnshapeGridErrorTemplateDirective, descendants: true }, { propertyName: "groupColumnTemplateDir", first: true, predicate: UnshapeGridGroupColumnTemplateDirective, descendants: true }, { propertyName: "groupHeaderTemplateDir", first: true, predicate: UnshapeGridGroupHeaderTemplateDirective, descendants: true }, { propertyName: "statusBarTemplateDir", first: true, predicate: UnshapeGridStatusBarTemplateDirective, descendants: true }, { propertyName: "toolBarTemplateDir", first: true, predicate: UnshapeGridToolBarTemplateDirective, descendants: true }, { propertyName: "projectedColumns", predicate: UnshapeGridColumnComponent }], viewQueries: [{ propertyName: "hostRef", first: true, predicate: ["host"], descendants: true, static: true }], ngImport: i0, template: "<div #host class=\"ush-grid-host\"></div>\r\n", styles: [":host{display:block;width:100%;height:100%}.ush-grid-host{width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1452
1470
|
}
|
|
1453
1471
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: UnshapeGridComponent, decorators: [{
|
|
1454
1472
|
type: Component,
|
|
@@ -1480,7 +1498,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImpo
|
|
|
1480
1498
|
}], projectedColumns: [{
|
|
1481
1499
|
type: ContentChildren,
|
|
1482
1500
|
args: [UnshapeGridColumnComponent]
|
|
1483
|
-
}], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: true }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], resizable: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizable", required: false }] }], resizeMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizeMode", required: false }] }], enableAnimations: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableAnimations", required: false }] }], animationOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationOptions", required: false }] }], filterable: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterable", required: false }] }], sortSettings: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortSettings", required: false }] }], showFooter: [{ type: i0.Input, args: [{ isSignal: true, alias: "showFooter", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], groupable: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupable", required: false }] }], pageable: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageable", required: false }] }], selectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectable", required: false }] }], showStatusBar: [{ type: i0.Input, args: [{ isSignal: true, alias: "showStatusBar", required: false }] }], columnMenu: [{ type: i0.Input, args: [{ isSignal: true, alias: "columnMenu", required: false }] }], allowColumnReorder: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowColumnReorder", required: false }] }], showToolBar: [{ type: i0.Input, args: [{ isSignal: true, alias: "showToolBar", required: false }] }], toolBarRenderer: [{ type: i0.Input, args: [{ isSignal: true, alias: "toolBarRenderer", required: false }] }], editable: [{ type: i0.Input, args: [{ isSignal: true, alias: "editable", required: false }] }], editingEvents: [{ type: i0.Input, args: [{ isSignal: true, alias: "editingEvents", required: false }] }], schema: [{ type: i0.Input, args: [{ isSignal: true, alias: "schema", required: false }] }], rowEditingEvents: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowEditingEvents", required: false }] }], rowEvents: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowEvents", required: false }] }], newRowEvents: [{ type: i0.Input, args: [{ isSignal: true, alias: "newRowEvents", required: false }] }], rowFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowFormat", required: false }] }], copy: [{ type: i0.Input, args: [{ isSignal: true, alias: "copy", required: false }] }], paste: [{ type: i0.Input, args: [{ isSignal: true, alias: "paste", required: false }] }], clipboardEvents: [{ type: i0.Input, args: [{ isSignal: true, alias: "clipboardEvents", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], analysisOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "analysisOptions", required: false }] }], formattingPrecedence: [{ type: i0.Input, args: [{ isSignal: true, alias: "formattingPrecedence", required: false }] }] } });
|
|
1501
|
+
}], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: true }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], resizable: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizable", required: false }] }], resizeMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizeMode", required: false }] }], enableAnimations: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableAnimations", required: false }] }], animationOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationOptions", required: false }] }], filterable: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterable", required: false }] }], sortSettings: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortSettings", required: false }] }], showFooter: [{ type: i0.Input, args: [{ isSignal: true, alias: "showFooter", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], groupable: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupable", required: false }] }], pageable: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageable", required: false }] }], selectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectable", required: false }] }], showStatusBar: [{ type: i0.Input, args: [{ isSignal: true, alias: "showStatusBar", required: false }] }], columnMenu: [{ type: i0.Input, args: [{ isSignal: true, alias: "columnMenu", required: false }] }], allowColumnReorder: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowColumnReorder", required: false }] }], showToolBar: [{ type: i0.Input, args: [{ isSignal: true, alias: "showToolBar", required: false }] }], toolBarRenderer: [{ type: i0.Input, args: [{ isSignal: true, alias: "toolBarRenderer", required: false }] }], editable: [{ type: i0.Input, args: [{ isSignal: true, alias: "editable", required: false }] }], editingEvents: [{ type: i0.Input, args: [{ isSignal: true, alias: "editingEvents", required: false }] }], schema: [{ type: i0.Input, args: [{ isSignal: true, alias: "schema", required: false }] }], rowEditingEvents: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowEditingEvents", required: false }] }], rowEvents: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowEvents", required: false }] }], newRowEvents: [{ type: i0.Input, args: [{ isSignal: true, alias: "newRowEvents", required: false }] }], rowFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowFormat", required: false }] }], copy: [{ type: i0.Input, args: [{ isSignal: true, alias: "copy", required: false }] }], paste: [{ type: i0.Input, args: [{ isSignal: true, alias: "paste", required: false }] }], clipboardEvents: [{ type: i0.Input, args: [{ isSignal: true, alias: "clipboardEvents", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], analysisOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "analysisOptions", required: false }] }], formattingPrecedence: [{ type: i0.Input, args: [{ isSignal: true, alias: "formattingPrecedence", required: false }] }], useAlternateRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "useAlternateRows", required: false }] }] } });
|
|
1484
1502
|
|
|
1485
1503
|
class SpacerComponent {
|
|
1486
1504
|
width = input(...(ngDevMode ? [undefined, { debugName: "width" }] : /* istanbul ignore next */ []));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unshape-grid-angular.mjs","sources":["../../src/lib/effects/skip-first.ts","../../src/lib/effects/grid-id.ts","../../src/lib/effects/data.ts","../../src/lib/effects/column.ts","../../src/lib/effects/loading.ts","../../src/lib/effects/resizable.ts","../../src/lib/effects/resize-mode.ts","../../src/lib/effects/toggle-visibility.ts","../../src/lib/effects/enable-animations.ts","../../src/lib/effects/filterable.ts","../../src/lib/effects/sort-settings.ts","../../src/lib/effects/show-footer.ts","../../src/lib/effects/locale.ts","../../src/lib/effects/groupable.ts","../../src/lib/effects/animation-options.ts","../../src/lib/effects/pageable.ts","../../src/lib/effects/selectable.ts","../../src/lib/effects/show-statusbar.ts","../../src/lib/effects/column-menu.ts","../../src/lib/effects/allow-column-reorder.ts","../../src/lib/effects/show-toolbar.ts","../../src/lib/effects/toolbar-renderer.ts","../../src/lib/effects/editable.ts","../../src/lib/effects/editing-events.ts","../../src/lib/effects/schema.ts","../../src/lib/effects/row-editing-events.ts","../../src/lib/effects/row-events.ts","../../src/lib/effects/new-row-events.ts","../../src/lib/effects/row-format.ts","../../src/lib/effects/copy.ts","../../src/lib/effects/paste.ts","../../src/lib/effects/clipboard-events.ts","../../src/lib/effects/mode.ts","../../src/lib/effects/analysis-options.ts","../../src/lib/effects/formatting-precedence.ts","../../src/lib/directives/no-data-template.ts","../../src/lib/directives/loading-template.ts","../../src/lib/directives/group-column-template.ts","../../src/lib/directives/group-header-template.ts","../../src/lib/directives/statusbar-template.ts","../../src/lib/directives/toolbar-template.ts","../../src/lib/directives/error-template.ts","../../src/lib/services/templates/template-mount.ts","../../src/lib/services/renderer-adapter/no-data.ts","../../src/lib/services/renderer-adapter/loading.ts","../../src/lib/services/renderer-adapter/error.ts","../../src/lib/services/renderer-adapter/column-header.ts","../../src/lib/services/renderer-adapter/column-footer.ts","../../src/lib/services/renderer-adapter/column-cell.ts","../../src/lib/services/renderer-adapter/group-column.ts","../../src/lib/services/renderer-adapter/group-header-cell.ts","../../src/lib/services/renderer-adapter/group-header.ts","../../src/lib/services/renderer-adapter/group-footer-cell.ts","../../src/lib/services/renderer-adapter/statusbar.ts","../../src/lib/services/renderer-adapter/toolbar.ts","../../src/lib/services/renderer-adapter/renderer-adapter-factory.ts","../../src/lib/services/template-collector/extract-no-data.ts","../../src/lib/services/template-collector/extract-loading.ts","../../src/lib/services/template-collector/extract-error.ts","../../src/lib/services/template-collector/extract-group-column.ts","../../src/lib/services/template-collector/extract-group-header.ts","../../src/lib/services/template-collector/extract-statusbar.ts","../../src/lib/services/template-collector/extract-toolbar.ts","../../src/lib/services/template-collector/template-collector.ts","../../src/lib/services/column/methods/collect-projected-columns.ts","../../src/lib/services/column/column.ts","../../src/lib/directives/column-header-template.ts","../../src/lib/directives/column-footer-template.ts","../../src/lib/directives/column-cell-template.ts","../../src/lib/directives/filter-cell-template.ts","../../src/lib/directives/group-header-cell-template.ts","../../src/lib/directives/group-footer-cell-template.ts","../../src/lib/directives/editor-cell-template.ts","../../src/lib/services/renderer-adapter/filter-editor-wrapper.ts","../../src/lib/services/renderer-adapter/filter-editor-factory.ts","../../src/lib/services/renderer-adapter/cell-editor-wrapper.ts","../../src/lib/services/renderer-adapter/cell-editor-factory.ts","../../src/lib/components/column/grid-column.ts","../../src/lib/components/grid/grid.ts","../../src/lib/components/grid/grid.html","../../src/lib/components/spacer/spacer.ts","../../src/lib/modules/grid.ts","../../src/unshape-grid-angular.ts"],"sourcesContent":["import { effect, EffectRef } from \"@angular/core\";\r\n\r\nexport function effectSkipFirst(fn: (isInitial: boolean) => void): EffectRef {\r\n let first = true;\r\n return effect(() => {\r\n // Always execute fn, so it reads signals and establishes tracking\r\n fn(first);\r\n first = false;\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function gridIdInputEffect(\r\n value: Signal<string>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const id = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setGridId(id);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function dataInputEffect(value: Signal<any[]>, grid: Grid): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const data = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setData(data);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridColumn } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function columnInputEffect(\r\n value: Signal<GridColumn[]>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const columns = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setColumns(columns);\r\n });\r\n}\r\n","import { effect, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\n\r\nexport function loadingInputEffect(value: Signal<boolean>, grid: Grid) {\r\n return effect(() => {\r\n grid.api.setLoading(value());\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function resizableInputEffect(\r\n value: Signal<boolean>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const resizable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setResizable(resizable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridResizeMode } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function resizeModeInputEffect(\r\n value: Signal<GridResizeMode>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const resizeMode = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setResizeMode(resizeMode);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { ColumnService } from \"../services/column/column\";\r\n\r\nexport function toggleVisibilityInputEffect(\r\n key: string,\r\n value: Signal<boolean>,\r\n columnService: ColumnService,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const visible = value();\r\n\r\n if (isInitial) return;\r\n\r\n const grid = columnService.grid();\r\n if (!grid) return;\r\n\r\n const { enableAnimations } = grid._store.getState().view;\r\n\r\n if (enableAnimations) {\r\n visible\r\n ? grid.api.showColumnAnimated(key)\r\n : grid.api.hideColumnAnimated(key);\r\n } else {\r\n grid.api.setColumnVisible(key, visible);\r\n }\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function enableAnimationsInputEffect(\r\n value: Signal<boolean>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const enableAnimations = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setEnableAnimations(enableAnimations);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridFilterType } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function filterableInputEffect(\r\n value: Signal<GridFilterType>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const filterable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setFilterable(filterable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridSortSettings } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function sortSettingsInputEffect(\r\n value: Signal<GridSortSettings>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const sortSettings = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setSortSettings(sortSettings);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function showFooterInputEffect(\r\n value: Signal<boolean>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const showFooter = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setShowFooter(showFooter);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function localeInputEffect(\r\n value: Signal<string>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const locale = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setLocale(locale);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridGroupingSettings } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function groupableInputEffect(\r\n value: Signal<boolean | GridGroupingSettings>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const groupable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setGroupable(groupable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridAnimationOptions } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function animationOptionsInputEffect(\r\n value: Signal<GridAnimationOptions>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const animOptions = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setAnimationOptions(animOptions);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function pageableInputEffect(\r\n value: Signal<boolean>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const pageable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setPageable(pageable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridSelectionSettings } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function selectableInputEffect(\r\n value: Signal<boolean | GridSelectionSettings>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const selectable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setSelectable(selectable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function showStatusBarInputEffect(\r\n value: Signal<boolean>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const showStatusBar = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setShowStatusBar(showStatusBar);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridColumnMenuSettings } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function columnMenuInputEffect(\r\n value: Signal<boolean | GridColumnMenuSettings>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const columnMenu = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setColumnMenu(columnMenu);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridColumnReorderSettings } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function allowColumnReorderInputEffect(\r\n value: Signal<boolean | GridColumnReorderSettings>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const allowColumnReorder = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setAllowColumnReorder(allowColumnReorder);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function showToolBarInputEffect(\r\n value: Signal<boolean>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const showToolBar = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setShowToolBar(showToolBar);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function toolBarRendererInputEffect(\r\n value: Signal<(() => HTMLElement | string) | null>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const toolBarRenderer = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setToolBarRenderer(toolBarRenderer);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridEditingSettings } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function editableInputEffect(\r\n value: Signal<boolean | GridEditingSettings>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const editable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setEditable(editable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridEditingEvents } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function editingEventsInputEffect(\r\n value: Signal<GridEditingEvents>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const editingEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setEditingEvents(editingEvents);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridSchema } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function schemaInputEffect(\r\n value: Signal<GridSchema>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const schema = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setSchema(schema);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridRowEditingEvents } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function rowEditingEventsInputEffect(\r\n value: Signal<GridRowEditingEvents>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const rowEditingEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setRowEditingEvents(rowEditingEvents);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridRowEvents } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function rowEventsInputEffect(\r\n value: Signal<GridRowEvents>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const rowEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setRowEvents(rowEvents);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridNewRowEvents } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function newRowEventsInputEffect(\r\n value: Signal<GridNewRowEvents>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const newRowEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setNewRowEvents(newRowEvents);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridRowFormat } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function rowFormatInputEffect(\r\n value: Signal<((row: any) => GridRowFormat) | null>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const rowFormat = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setRowFormat(rowFormat);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridCopySettings } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function copyInputEffect(\r\n value: Signal<boolean | GridCopySettings>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const copy = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setCopySettings(copy);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridPasteSettings } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function pasteInputEffect(\r\n value: Signal<boolean | GridPasteSettings>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const paste = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setPasteSettings(paste);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridClipboardEvents } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function clipboardEventsInputEffect(\r\n value: Signal<GridClipboardEvents>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const clipboardEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setClipboardEvents(clipboardEvents);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridMode } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function modeInputEffect(\r\n value: Signal<GridMode>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const mode = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setMode(mode);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { AnalysisOptions, Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function analysisOptionsInputEffect(\r\n value: Signal<AnalysisOptions | undefined>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const analysisOptions = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setAnalysisOptions(analysisOptions);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { FormattingPrecedence, Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function formattingPrecedenceInputEffect(\r\n value: Signal<FormattingPrecedence>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const formattingPrecedence = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setFormattingPrecedence(formattingPrecedence);\r\n });\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridNoDataTemplate]\",\r\n})\r\nexport class UnshapeGridNoDataTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridLoadingTemplate]\",\r\n})\r\nexport class UnshapeGridLoadingTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridGroupColumnTemplate]\",\r\n})\r\nexport class UnshapeGridGroupColumnTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridGroupHeaderTemplate]\",\r\n})\r\nexport class UnshapeGridGroupHeaderTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridStatusBarTemplate]\",\r\n})\r\nexport class UnshapeGridStatusBarTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridToolBarTemplate]\",\r\n})\r\nexport class UnshapeGridToolBarTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridErrorTemplate]\",\r\n})\r\nexport class UnshapeGridErrorTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { ApplicationRef, Injectable, TemplateRef } from \"@angular/core\";\r\nimport { AngularRendererHandle } from \"./interfaces/renderer-handle\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TemplateMountService {\r\n constructor(private appRef: ApplicationRef) {}\r\n\r\n mount<T>(\r\n template: TemplateRef<T>,\r\n container: HTMLElement,\r\n context: T,\r\n ): AngularRendererHandle<T> {\r\n const viewRef = template.createEmbeddedView(context);\r\n this.appRef.attachView(viewRef);\r\n viewRef.detectChanges();\r\n\r\n const frag = document.createDocumentFragment();\r\n for (const node of viewRef.rootNodes) frag.appendChild(node);\r\n container.appendChild(frag);\r\n\r\n return {\r\n update: (partial: Partial<T>) => {\r\n Object.assign(viewRef.context as any, partial);\r\n viewRef.detectChanges();\r\n },\r\n destroy: () => {\r\n this.appRef.detachView(viewRef);\r\n viewRef.destroy();\r\n },\r\n viewRef,\r\n };\r\n }\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { NoDataMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/no-data-mount\";\r\n\r\nexport function renderNoDataTemplate(\r\n req: NoDataMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n context: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { LoadingMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/loading-mount\";\r\n\r\nexport function renderLoadingTemplate(\r\n req: LoadingMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n context: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ErrorMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/error-mount\";\r\n\r\nexport function renderErrorTemplate(\r\n req: ErrorMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n title: req.context.title,\r\n message: req.context.message,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ColumnHeaderMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/column-header-mount\";\r\n\r\nexport function renderColumnHeaderTemplate(\r\n req: ColumnHeaderMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n field: req.context.field,\r\n header: req.context.header,\r\n columnKey: req.context.columnKey,\r\n columnId: req.context.columnId,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ColumnFooterMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/column-footer-mount\";\r\n\r\nexport function renderColumnFooterTemplate(\r\n req: ColumnFooterMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n field: req.context.field,\r\n header: req.context.header,\r\n columnKey: req.context.columnKey,\r\n columnId: req.context.columnId,\r\n values: req.context.values,\r\n rows: req.context.rows,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ColumnCellMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/column-cell-mount\";\r\n\r\nexport function renderColumnCellTemplate(\r\n req: ColumnCellMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n row: req.context.row,\r\n value: req.context.value,\r\n field: req.context.field,\r\n header: req.context.header,\r\n columnKey: req.context.columnKey,\r\n columnId: req.context.columnId,\r\n rowIndex: req.context.rowIndex,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { GroupColumnMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/group-column-mount\";\r\n\r\nexport function renderGroupColumnTemplate(\r\n req: GroupColumnMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n column: req.context.column,\r\n group: req.context.group,\r\n aggregate: req.context.aggregate,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { GroupColumnMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/group-column-mount\";\r\n\r\nexport function renderGroupHeaderCellTemplate(\r\n req: GroupColumnMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n column: req.context.column,\r\n group: req.context.group,\r\n aggregate: req.context.aggregate,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { GroupHeaderMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/group-header-mount\";\r\n\r\nexport function renderGroupHeaderTemplate(\r\n req: GroupHeaderMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n column: req.context.column,\r\n group: req.context.group,\r\n aggregate: req.context.aggregate,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { GroupFooterCellMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/group-footer-cell-mount\";\r\n\r\nexport function renderGroupFooterCellTemplate(\r\n req: GroupFooterCellMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n column: req.context.column,\r\n group: req.context.group,\r\n aggregate: req.context.aggregate,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { StatusBarMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/statusbar-mount\";\r\n\r\nexport function renderStatusBarTemplate(\r\n req: StatusBarMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n statusBar: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ToolBarMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/toolbar-mount\";\r\n\r\nexport function renderToolBarTemplate(\r\n req: ToolBarMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n context: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { inject, Injectable, TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { TemplateRegistry } from \"../templates/interfaces/template-registry\";\r\nimport { RendererAdapter } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-adapter\";\r\nimport { renderNoDataTemplate } from \"./no-data\";\r\nimport { renderLoadingTemplate } from \"./loading\";\r\nimport { renderErrorTemplate } from \"./error\";\r\nimport { renderColumnHeaderTemplate } from \"./column-header\";\r\nimport { renderColumnFooterTemplate } from \"./column-footer\";\r\nimport { renderColumnCellTemplate } from \"./column-cell\";\r\nimport { renderGroupColumnTemplate } from \"./group-column\";\r\nimport { renderGroupHeaderCellTemplate } from \"./group-header-cell\";\r\nimport { renderGroupHeaderTemplate } from \"./group-header\";\r\nimport { renderGroupFooterCellTemplate } from \"./group-footer-cell\";\r\nimport { renderStatusBarTemplate } from \"./statusbar\";\r\nimport { renderToolBarTemplate } from \"./toolbar\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class RendererAdapterFactory {\r\n private templateMountService = inject(TemplateMountService);\r\n\r\n buildAdapter(templates: TemplateRegistry): RendererAdapter {\r\n const headerTemplates = new Map<string, TemplateRef<any>>();\r\n const footerTemplates = new Map<string, TemplateRef<any>>();\r\n const cellTemplates = new Map<string, TemplateRef<any>>();\r\n const groupHeaderCellTemplates = new Map<string, TemplateRef<any>>();\r\n const groupFooterCellTemplates = new Map<string, TemplateRef<any>>();\r\n\r\n return {\r\n renderNoDataTemplate: (req) =>\r\n renderNoDataTemplate(req, templates.noData, this.templateMountService),\r\n renderLoadingTemplate: (req) =>\r\n renderLoadingTemplate(\r\n req,\r\n templates.loading,\r\n this.templateMountService,\r\n ),\r\n renderErrorTemplate: (req) =>\r\n renderErrorTemplate(req, templates.error, this.templateMountService),\r\n renderGroupColumnTemplate: (req) =>\r\n renderGroupColumnTemplate(\r\n req,\r\n templates.groupColumn,\r\n this.templateMountService,\r\n ),\r\n renderGroupHeaderTemplate: (req) =>\r\n renderGroupHeaderTemplate(\r\n req,\r\n templates.groupHeader,\r\n this.templateMountService,\r\n ),\r\n renderColumnHeaderTemplate: (req) => {\r\n const tpl = headerTemplates.get(req.context.columnKey);\r\n return renderColumnHeaderTemplate(req, tpl, this.templateMountService);\r\n },\r\n registerColumnHeaderTemplate: (key, tpl) => {\r\n headerTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderColumnFooterTemplate: (req) => {\r\n const tpl = footerTemplates.get(req.context.columnKey);\r\n return renderColumnFooterTemplate(req, tpl, this.templateMountService);\r\n },\r\n registerColumnFooterTemplate: (key, tpl) => {\r\n footerTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderColumnCellTemplate: (req) => {\r\n const tpl = cellTemplates.get(req.context.columnKey);\r\n return renderColumnCellTemplate(req, tpl, this.templateMountService);\r\n },\r\n registerColumnCellTemplate: (key, tpl) => {\r\n cellTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderGroupHeaderCellTemplate: (req) => {\r\n const tpl = groupHeaderCellTemplates.get(req.context.columnKey);\r\n return renderGroupHeaderCellTemplate(\r\n req,\r\n tpl,\r\n this.templateMountService,\r\n );\r\n },\r\n registerGroupHeaderCellTemplate: (key, tpl) => {\r\n groupHeaderCellTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderGroupFooterCellTemplate: (req) => {\r\n const tpl = groupFooterCellTemplates.get(req.context.columnKey);\r\n return renderGroupFooterCellTemplate(\r\n req,\r\n tpl,\r\n this.templateMountService,\r\n );\r\n },\r\n registerGroupFooterCellTemplate: (key, tpl) => {\r\n groupFooterCellTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderStatusBarTemplate: (req) =>\r\n renderStatusBarTemplate(\r\n req,\r\n templates.statusBar,\r\n this.templateMountService,\r\n ),\r\n renderToolBarTemplate: (req) =>\r\n renderToolBarTemplate(\r\n req,\r\n templates.toolBar,\r\n this.templateMountService,\r\n ),\r\n };\r\n }\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { UnshapeGridNoDataTemplateDirective } from \"../../directives/no-data-template\";\r\n\r\nexport function extractNoDataTemplate(\r\n dir?: UnshapeGridNoDataTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { UnshapeGridLoadingTemplateDirective } from \"../../directives/loading-template\";\r\n\r\nexport function extractLoadingTemplate(\r\n dir?: UnshapeGridLoadingTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { UnshapeGridErrorTemplateDirective } from \"../../directives/error-template\";\r\n\r\nexport function extractErrorTemplate(\r\n dir?: UnshapeGridErrorTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { UnshapeGridGroupColumnTemplateDirective } from \"../../directives/group-column-template\";\r\n\r\nexport function extractGroupColumnTemplate(\r\n dir?: UnshapeGridGroupColumnTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { UnshapeGridGroupHeaderTemplateDirective } from \"../../directives/group-header-template\";\r\n\r\nexport function extractGroupHeaderTemplate(\r\n dir?: UnshapeGridGroupHeaderTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { UnshapeGridStatusBarTemplateDirective } from \"../../directives/statusbar-template\";\r\n\r\nexport function extractStatusBarTemplate(\r\n dir?: UnshapeGridStatusBarTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { UnshapeGridToolBarTemplateDirective } from \"../../directives/toolbar-template\";\r\n\r\nexport function extractToolBarTemplate(\r\n dir?: UnshapeGridToolBarTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { UnshapeGridNoDataTemplateDirective } from \"../../directives/no-data-template\";\r\nimport { TemplateRegistry } from \"../templates/interfaces/template-registry\";\r\nimport { extractNoDataTemplate } from \"./extract-no-data\";\r\nimport { extractLoadingTemplate } from \"./extract-loading\";\r\nimport { extractErrorTemplate } from \"./extract-error\";\r\nimport { extractGroupColumnTemplate } from \"./extract-group-column\";\r\nimport { extractGroupHeaderTemplate } from \"./extract-group-header\";\r\nimport { extractStatusBarTemplate } from \"./extract-statusbar\";\r\nimport { extractToolBarTemplate } from \"./extract-toolbar\";\r\nimport { UnshapeGridLoadingTemplateDirective } from \"../../directives/loading-template\";\r\nimport { UnshapeGridErrorTemplateDirective } from \"../../directives/error-template\";\r\nimport { UnshapeGridGroupColumnTemplateDirective } from \"../../directives/group-column-template\";\r\nimport { UnshapeGridGroupHeaderTemplateDirective } from \"../../directives/group-header-template\";\r\nimport { UnshapeGridStatusBarTemplateDirective } from \"../../directives/statusbar-template\";\r\nimport { UnshapeGridToolBarTemplateDirective } from \"../../directives/toolbar-template\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TemplateCollectorService {\r\n collect(\r\n noDataTplDir?: UnshapeGridNoDataTemplateDirective,\r\n loadingTplDir?: UnshapeGridLoadingTemplateDirective,\r\n errorTplDir?: UnshapeGridErrorTemplateDirective,\r\n groupColumnTplDir?: UnshapeGridGroupColumnTemplateDirective,\r\n groupHeaderTplDir?: UnshapeGridGroupHeaderTemplateDirective,\r\n statusBarTplDir?: UnshapeGridStatusBarTemplateDirective,\r\n toolBarTplDir?: UnshapeGridToolBarTemplateDirective,\r\n ): TemplateRegistry {\r\n return {\r\n noData: extractNoDataTemplate(noDataTplDir),\r\n loading: extractLoadingTemplate(loadingTplDir),\r\n error: extractErrorTemplate(errorTplDir),\r\n groupColumn: extractGroupColumnTemplate(groupColumnTplDir),\r\n groupHeader: extractGroupHeaderTemplate(groupHeaderTplDir),\r\n statusBar: extractStatusBarTemplate(statusBarTplDir),\r\n toolBar: extractToolBarTemplate(toolBarTplDir),\r\n };\r\n }\r\n}\r\n","import { QueryList } from \"@angular/core\";\r\nimport { UnshapeGridColumnComponent } from \"../../../components/column/grid-column\";\r\nimport { GridColumn } from \"@unshape/grid\";\r\n\r\nexport function collectProjectedColumns(\r\n projectedColumns: QueryList<UnshapeGridColumnComponent>,\r\n): GridColumn[] {\r\n const columns: GridColumn[] = [];\r\n for (const projCol of projectedColumns) {\r\n const col: GridColumn = {\r\n header: projCol.header(),\r\n field: projCol.field(),\r\n width: projCol.width(),\r\n minWidth: projCol.minWidth(),\r\n maxWidth: projCol.maxWidth() ?? Infinity,\r\n visible: projCol.visible(),\r\n sortable: projCol.sortable(),\r\n filterEditor: projCol.filterEditor() ?? projCol.filterEditorFromTemplate,\r\n pinned: projCol.pinned(),\r\n columnMenu: projCol.columnMenu(),\r\n cellEditor: projCol.cellEditor() ?? projCol.cellEditorFromTemplate,\r\n filterable: projCol.filterable(),\r\n isNonData: projCol.isNonData(),\r\n align: projCol.align(),\r\n numberFormatOptions: projCol.numberFormatOptions(),\r\n dateFormatOptions: projCol.dateFormatOptions(),\r\n booleanFormatOptions: projCol.booleanFormatOptions(),\r\n formatter: projCol.formatter(),\r\n cellFormat: projCol.cellFormat?.() ?? undefined,\r\n columnStyle: projCol.columnStyle(),\r\n copyCellRenderer: projCol.copyCellRenderer(),\r\n copyGroupHeaderCellRenderer: projCol.copyGroupHeaderCellRenderer(),\r\n copyGroupFooterCellRenderer: projCol.copyGroupFooterCellRenderer(),\r\n calculation: projCol.calculation(),\r\n };\r\n columns.push(col);\r\n }\r\n return columns;\r\n}\r\n","import { Injectable, signal, TemplateRef } from \"@angular/core\";\r\nimport * as methods from \"./methods/index\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { RendererAdapter } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-adapter\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class ColumnService {\r\n private _grid = signal<Grid | null>(null);\r\n grid = this._grid.asReadonly();\r\n\r\n private adapter?: RendererAdapter;\r\n private pendingHeaderTemplates = new Map<string, TemplateRef<any>>();\r\n private pendingFooterTemplates = new Map<string, TemplateRef<any>>();\r\n private pendingCellTemplates = new Map<string, TemplateRef<any>>();\r\n private pendingGroupHeaderCellTemplates = new Map<string, TemplateRef<any>>();\r\n private pendingGroupFooterCellTemplates = new Map<string, TemplateRef<any>>();\r\n\r\n setGrid(grid: Grid) {\r\n this._grid.set(grid);\r\n }\r\n\r\n setAdapter(adapter: RendererAdapter) {\r\n this.adapter = adapter;\r\n // flush pending templates into the adapter\r\n this.pendingHeaderTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerColumnHeaderTemplate?.(key, tpl);\r\n });\r\n this.pendingHeaderTemplates.clear();\r\n\r\n this.pendingFooterTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerColumnFooterTemplate?.(key, tpl);\r\n });\r\n this.pendingFooterTemplates.clear();\r\n\r\n this.pendingCellTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerColumnCellTemplate?.(key, tpl);\r\n });\r\n this.pendingCellTemplates.clear();\r\n\r\n this.pendingGroupHeaderCellTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerGroupHeaderCellTemplate?.(key, tpl);\r\n });\r\n this.pendingGroupHeaderCellTemplates.clear();\r\n\r\n this.pendingGroupFooterCellTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerGroupFooterCellTemplate?.(key, tpl);\r\n });\r\n this.pendingGroupFooterCellTemplates.clear();\r\n }\r\n\r\n registerHeaderTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerColumnHeaderTemplate?.(key, tpl);\r\n } else {\r\n this.pendingHeaderTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n registerFooterTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerColumnFooterTemplate?.(key, tpl);\r\n } else {\r\n this.pendingFooterTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n registerCellTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerColumnCellTemplate?.(key, tpl);\r\n } else {\r\n this.pendingCellTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n registerGroupHeaderCellTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerGroupHeaderCellTemplate?.(key, tpl);\r\n } else {\r\n this.pendingGroupHeaderCellTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n registerGroupFooterCellTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerGroupFooterCellTemplate?.(key, tpl);\r\n } else {\r\n this.pendingGroupFooterCellTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n collectProjectedColumns = methods.collectProjectedColumns;\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridColumnHeaderTemplate]\",\r\n})\r\nexport class UnshapeGridColumnHeaderTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridColumnFooterTemplate]\",\r\n})\r\nexport class UnshapeGridColumnFooterTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridColumnCellTemplate]\",\r\n})\r\nexport class UnshapeGridColumnCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridFilterCellTemplate]\",\r\n})\r\nexport class UnshapeGridFilterCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridGroupHeaderCellTemplate]\",\r\n})\r\nexport class UnshapeGridGroupHeaderCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridGroupFooterCellTemplate]\",\r\n})\r\nexport class UnshapeGridGroupFooterCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridEditorCellTemplate]\",\r\n})\r\nexport class UnshapeGridEditorCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import {\r\n EmbeddedViewRef,\r\n signal,\r\n TemplateRef,\r\n WritableSignal,\r\n} from \"@angular/core\";\r\nimport { GridFilterEditor } from \"@unshape/grid\";\r\nimport { FilterCellMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/filter-cell-mount\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { FilterOperator } from \"@unshape/grid/engine/services/filter/interfaces/filter-operator\";\r\n\r\nexport class TemplateFilterEditorWrapper implements GridFilterEditor {\r\n element!: HTMLElement;\r\n controlElement!: HTMLElement;\r\n\r\n private onChangeCb: ((value: any) => void) | null = null;\r\n private onClearCb: (() => void) | null = null;\r\n private viewRef?: EmbeddedViewRef<TemplateFilterContext>;\r\n\r\n constructor(\r\n private template: TemplateRef<any>,\r\n private mountService: TemplateMountService,\r\n ) {}\r\n\r\n mount(mount: FilterCellMount): void {\r\n const ctx: TemplateFilterContext = {\r\n // static\r\n field: mount.context.field,\r\n header: mount.context.header,\r\n columnKey: mount.context.columnKey,\r\n columnId: mount.context.columnId,\r\n // dynamic\r\n value: signal(mount.context.value),\r\n disabled: signal(mount.context.disabled),\r\n operator: signal(mount.context.operator),\r\n // callbacks\r\n update: (v) => this.onChangeCb?.(v),\r\n clear: () => this.onClearCb?.(),\r\n };\r\n\r\n const handle = this.mountService.mount(this.template, mount.container, ctx);\r\n this.viewRef = handle.viewRef;\r\n\r\n const host = this.viewRef.rootNodes.find(\r\n (n) => n instanceof HTMLElement,\r\n ) as HTMLElement;\r\n\r\n // The container is the root element\r\n this.element = host;\r\n\r\n // Find the actual editor element inside the template\r\n this.controlElement = host.querySelector(\"[data-editor]\") as HTMLElement;\r\n\r\n if (!this.controlElement) {\r\n // fallback: assume the container itself is the control\r\n this.controlElement = this.element;\r\n }\r\n }\r\n\r\n // Grid → template\r\n setValue(value: any): void {\r\n if (!this.viewRef) return;\r\n this.viewRef.context.value.set(value);\r\n this.viewRef.detectChanges();\r\n }\r\n\r\n setDisabled(disabled: boolean): void {\r\n if (!this.viewRef) return;\r\n this.viewRef.context.disabled.set(disabled);\r\n this.viewRef.detectChanges();\r\n }\r\n\r\n onValueChange(cb: (value: any) => void): void {\r\n this.onChangeCb = cb;\r\n }\r\n\r\n onClear(cb: () => void): void {\r\n this.onClearCb = cb;\r\n }\r\n\r\n destroy(): void {\r\n this.viewRef?.destroy();\r\n }\r\n}\r\n\r\ninterface TemplateFilterContext {\r\n // static metadata\r\n field: string;\r\n header: string;\r\n columnKey: string;\r\n columnId: string;\r\n\r\n // dynamic values (signals)\r\n value: WritableSignal<any>;\r\n disabled: WritableSignal<boolean>;\r\n operator: WritableSignal<FilterOperator>;\r\n\r\n // callbacks\r\n update: (v: any) => void;\r\n clear: () => void;\r\n}\r\n","// template-filter-editor.factory.ts\r\nimport { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { TemplateFilterEditorWrapper } from \"./filter-editor-wrapper\";\r\nimport { GridFilterEditorFactoryFn } from \"@unshape/grid\";\r\nimport { InternalColumn } from \"@unshape/grid/engine/services/column/interfaces/internal-column\";\r\nimport { Grid } from \"@unshape/grid\";\r\n\r\nexport function templateFilterEditorFactory(\r\n template: TemplateRef<any>,\r\n mountService: TemplateMountService,\r\n): GridFilterEditorFactoryFn {\r\n return (column: InternalColumn, grid: Grid) => {\r\n // we don’t have FilterCellMount here yet\r\n // we just create an editor that knows how to mount itself later\r\n return new TemplateFilterEditorWrapper(template, mountService);\r\n };\r\n}\r\n","import {\r\n EmbeddedViewRef,\r\n signal,\r\n TemplateRef,\r\n WritableSignal,\r\n} from \"@angular/core\";\r\nimport { GridCellEditor } from \"@unshape/grid\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { CellEditorMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/cell-editor-mount\";\r\n\r\nexport class TemplateCellEditorWrapper implements GridCellEditor {\r\n element!: HTMLElement;\r\n controlElement!: HTMLElement;\r\n\r\n private onChangeCb: ((value: any) => void) | null = null;\r\n private onCommitCb: ((value: any) => void) | null = null;\r\n private onCancelCb: (() => void) | null = null;\r\n private viewRef?: EmbeddedViewRef<TemplateCellEditorContext>;\r\n\r\n constructor(\r\n private template: TemplateRef<any>,\r\n private mountService: TemplateMountService,\r\n ) {}\r\n\r\n mount(mount: CellEditorMount): void {\r\n const ctx: TemplateCellEditorContext = {\r\n // static\r\n field: mount.context.field,\r\n header: mount.context.header,\r\n columnKey: mount.context.columnKey,\r\n columnId: mount.context.columnId,\r\n rowId: mount.context.rowId,\r\n // dynamic\r\n value: signal(mount.context.value),\r\n disabled: signal(mount.context.disabled),\r\n // callbacks\r\n update: (v) => this.onChangeCb?.(v),\r\n commit: (v) => this.onCommitCb?.(v),\r\n cancel: () => this.onCancelCb?.(),\r\n onKeydown: (event) => this.onKeydown(event, ctx),\r\n };\r\n\r\n const handle = this.mountService.mount(this.template, mount.container, ctx);\r\n this.viewRef = handle.viewRef;\r\n\r\n const host = this.viewRef.rootNodes.find(\r\n (n) => n instanceof HTMLElement,\r\n ) as HTMLElement;\r\n\r\n // The container is the root element\r\n this.element = host;\r\n\r\n // Find the actual editor element inside the template\r\n this.controlElement = host.querySelector(\"[data-editor]\") as HTMLElement;\r\n\r\n if (!this.controlElement) {\r\n // fallback: assume the container itself is the control\r\n this.controlElement = this.element;\r\n }\r\n }\r\n\r\n // Grid → template\r\n setValue(value: any): void {\r\n if (!this.viewRef) return;\r\n this.viewRef.context.value.set(value);\r\n this.viewRef.detectChanges();\r\n }\r\n\r\n setDisabled(disabled: boolean): void {\r\n if (!this.viewRef) return;\r\n this.viewRef.context.disabled.set(disabled);\r\n this.viewRef.detectChanges();\r\n }\r\n\r\n onValueChange(cb: (value: any) => void): void {\r\n this.onChangeCb = cb;\r\n }\r\n\r\n onCommit(cb: (value: any) => void): void {\r\n this.onCommitCb = cb;\r\n }\r\n\r\n onCancel(cb: () => void): void {\r\n this.onCancelCb = cb;\r\n }\r\n\r\n onKeydown(event: KeyboardEvent, ctx: TemplateCellEditorContext) {\r\n if (event.key === \"Enter\") {\r\n event.preventDefault();\r\n ctx.commit(ctx.value());\r\n }\r\n if (event.key === \"Escape\") {\r\n event.preventDefault();\r\n ctx.cancel();\r\n }\r\n }\r\n\r\n destroy(): void {\r\n this.viewRef?.destroy();\r\n }\r\n}\r\n\r\ninterface TemplateCellEditorContext {\r\n // static metadata\r\n field: string;\r\n header: string;\r\n columnKey: string;\r\n columnId: string;\r\n rowId: string;\r\n\r\n // dynamic values (signals)\r\n value: WritableSignal<any>;\r\n disabled: WritableSignal<boolean>;\r\n\r\n // callbacks\r\n update: (v: any) => void;\r\n commit: (v: any) => void;\r\n cancel: () => void;\r\n onKeydown: (event: KeyboardEvent) => void;\r\n}\r\n","// template-filter-editor.factory.ts\r\nimport { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { Grid, GridCellEditorFactoryFn } from \"@unshape/grid\";\r\nimport { TemplateCellEditorWrapper } from \"./cell-editor-wrapper\";\r\nimport { InternalColumn } from \"@unshape/grid/engine/services/column/interfaces/internal-column\";\r\n\r\nexport function templateCellEditorFactory(\r\n template: TemplateRef<any>,\r\n mountService: TemplateMountService,\r\n): GridCellEditorFactoryFn {\r\n return (\r\n column: InternalColumn,\r\n rowId: string,\r\n grid: Grid,\r\n initialValue: any,\r\n ) => {\r\n // we don’t have EditorCellMount here yet\r\n // we just create an editor that knows how to mount itself later\r\n return new TemplateCellEditorWrapper(template, mountService);\r\n };\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport {\r\n AfterContentInit,\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n EffectRef,\r\n inject,\r\n Injector,\r\n input,\r\n runInInjectionContext,\r\n} from \"@angular/core\";\r\nimport * as effects from \"../../effects/index\";\r\nimport { ColumnService } from \"../../services/column/column\";\r\nimport { UnshapeGridColumnHeaderTemplateDirective } from \"../../directives/column-header-template\";\r\nimport { UnshapeGridColumnFooterTemplateDirective } from \"../../directives/column-footer-template\";\r\nimport { UnshapeGridColumnCellTemplateDirective } from \"../../directives/column-cell-template\";\r\nimport { UnshapeGridFilterCellTemplateDirective } from \"../../directives/filter-cell-template\";\r\nimport { UnshapeGridGroupHeaderCellTemplateDirective } from \"../../directives/group-header-cell-template\";\r\nimport { UnshapeGridGroupFooterCellTemplateDirective } from \"../../directives/group-footer-cell-template\";\r\nimport { UnshapeGridEditorCellTemplateDirective } from \"../../directives/editor-cell-template\";\r\nimport {\r\n GridColumnSortSettings,\r\n GridFilterEditorFactoryFn,\r\n GridPinnedColumn,\r\n GridCellEditorFactoryFn,\r\n GridCellFormatParams,\r\n GridCellFormat,\r\n GridColumnFormat,\r\n GridCopyCellRendererParams,\r\n GridCopyGroupHeaderCellRendererParams,\r\n GridCopyGroupFooterCellRendererParams,\r\n CalculatedColumnFormula,\r\n} from \"@unshape/grid\";\r\nimport {\r\n TextAlign,\r\n NumberFormatOptions,\r\n DateFormatOptions,\r\n BooleanFormatOptions,\r\n CustomFormatter,\r\n} from \"@unshape/format-core\";\r\nimport { templateFilterEditorFactory } from \"../../services/renderer-adapter/filter-editor-factory\";\r\nimport { TemplateMountService } from \"../../services/templates/template-mount\";\r\nimport { templateCellEditorFactory } from \"../../services/renderer-adapter/cell-editor-factory\";\r\n\r\n@Component({\r\n selector: \"ush-grid-column\",\r\n imports: [CommonModule],\r\n template: \"\",\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class UnshapeGridColumnComponent\r\n implements AfterViewInit, AfterContentInit\r\n{\r\n private injector = inject(Injector);\r\n private columnService = inject(ColumnService);\r\n private templateMountService = inject(TemplateMountService);\r\n filterEditorFromTemplate?: GridFilterEditorFactoryFn;\r\n cellEditorFromTemplate?: GridCellEditorFactoryFn;\r\n\r\n header = input.required<string>();\r\n field = input.required<string>();\r\n width = input<number>();\r\n visible = input<boolean>(true);\r\n minWidth = input<number>();\r\n maxWidth = input<number>();\r\n sortable = input<boolean | GridColumnSortSettings>(false);\r\n filterEditor = input<GridFilterEditorFactoryFn>();\r\n pinned = input<GridPinnedColumn>();\r\n columnMenu = input<boolean>(true);\r\n cellEditor = input<GridCellEditorFactoryFn>();\r\n filterable = input<boolean>(true);\r\n isNonData = input<boolean>(false);\r\n align = input<TextAlign>();\r\n numberFormatOptions = input<NumberFormatOptions>();\r\n dateFormatOptions = input<DateFormatOptions>();\r\n booleanFormatOptions = input<BooleanFormatOptions>();\r\n formatter = input<CustomFormatter>();\r\n cellFormat =\r\n input<(params: GridCellFormatParams) => GridCellFormat | undefined>();\r\n columnStyle = input<GridColumnFormat>();\r\n copyCellRenderer = input<(params: GridCopyCellRendererParams) => string>();\r\n copyGroupHeaderCellRenderer =\r\n input<(params: GridCopyGroupHeaderCellRendererParams) => string>();\r\n copyGroupFooterCellRenderer =\r\n input<(params: GridCopyGroupFooterCellRendererParams) => string>();\r\n calculation = input<CalculatedColumnFormula>();\r\n\r\n toggleVisibilityEffect!: EffectRef;\r\n\r\n @ContentChild(UnshapeGridColumnHeaderTemplateDirective)\r\n headerTemplateDir?: UnshapeGridColumnHeaderTemplateDirective;\r\n @ContentChild(UnshapeGridColumnFooterTemplateDirective)\r\n footerTemplateDir?: UnshapeGridColumnFooterTemplateDirective;\r\n @ContentChild(UnshapeGridColumnCellTemplateDirective)\r\n cellTemplateDir?: UnshapeGridColumnCellTemplateDirective;\r\n @ContentChild(UnshapeGridFilterCellTemplateDirective)\r\n filterCellTemplateDir?: UnshapeGridFilterCellTemplateDirective;\r\n @ContentChild(UnshapeGridGroupHeaderCellTemplateDirective)\r\n groupHeaderCellTemplateDir?: UnshapeGridGroupHeaderCellTemplateDirective;\r\n @ContentChild(UnshapeGridGroupFooterCellTemplateDirective)\r\n groupFooterCellTemplateDir?: UnshapeGridGroupFooterCellTemplateDirective;\r\n @ContentChild(UnshapeGridEditorCellTemplateDirective)\r\n editorCellTemplateDir?: UnshapeGridEditorCellTemplateDirective;\r\n\r\n ngAfterViewInit(): void {\r\n runInInjectionContext(this.injector, () => {\r\n this.toggleVisibilityEffect = effects.toggleVisibilityInputEffect(\r\n `${this.field()}::${this.header()}`,\r\n this.visible,\r\n this.columnService,\r\n );\r\n });\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n if (this.headerTemplateDir) {\r\n this.columnService.registerHeaderTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.headerTemplateDir.template,\r\n );\r\n }\r\n if (this.footerTemplateDir) {\r\n this.columnService.registerFooterTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.footerTemplateDir.template,\r\n );\r\n }\r\n if (this.cellTemplateDir) {\r\n this.columnService.registerCellTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.cellTemplateDir.template,\r\n );\r\n }\r\n if (this.filterCellTemplateDir) {\r\n this.filterEditorFromTemplate = templateFilterEditorFactory(\r\n this.filterCellTemplateDir.template,\r\n this.templateMountService,\r\n );\r\n }\r\n if (this.groupHeaderCellTemplateDir) {\r\n this.columnService.registerGroupHeaderCellTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.groupHeaderCellTemplateDir.template,\r\n );\r\n }\r\n if (this.groupFooterCellTemplateDir) {\r\n this.columnService.registerGroupFooterCellTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.groupFooterCellTemplateDir.template,\r\n );\r\n }\r\n if (this.editorCellTemplateDir) {\r\n this.cellEditorFromTemplate = templateCellEditorFactory(\r\n this.editorCellTemplateDir.template,\r\n this.templateMountService,\r\n );\r\n }\r\n }\r\n}\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n ContentChildren,\r\n EffectRef,\r\n ElementRef,\r\n inject,\r\n Injector,\r\n input,\r\n OnDestroy,\r\n QueryList,\r\n runInInjectionContext,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport * as effects from \"../../effects/index\";\r\nimport {\r\n Grid,\r\n GridColumn,\r\n GridOptions,\r\n GridResizeMode,\r\n GridFilterType,\r\n GridSortSettings,\r\n GridGroupingSettings,\r\n GridAnimationOptions,\r\n GridSelectionSettings,\r\n GridColumnMenuSettings,\r\n GridColumnReorderSettings,\r\n GridEditingSettings,\r\n GridEditingEvents,\r\n GridSchema,\r\n GridRowEditingEvents,\r\n GridRowEvents,\r\n GridNewRowEvents,\r\n GridRowFormat,\r\n GridCopySettings,\r\n GridPasteSettings,\r\n GridClipboardEvents,\r\n GridMode,\r\n AnalysisOptions,\r\n FormattingPrecedence,\r\n} from \"@unshape/grid\";\r\n\r\nimport { UnshapeGridNoDataTemplateDirective } from \"../../directives/no-data-template\";\r\nimport { UnshapeGridLoadingTemplateDirective } from \"../../directives/loading-template\";\r\nimport { UnshapeGridGroupColumnTemplateDirective } from \"../../directives/group-column-template\";\r\nimport { UnshapeGridGroupHeaderTemplateDirective } from \"../../directives/group-header-template\";\r\nimport { UnshapeGridStatusBarTemplateDirective } from \"../../directives/statusbar-template\";\r\nimport { UnshapeGridToolBarTemplateDirective } from \"../../directives/toolbar-template\";\r\nimport { UnshapeGridErrorTemplateDirective } from \"../../directives/error-template\";\r\n\r\nimport { RendererAdapterFactory } from \"../../services/renderer-adapter/renderer-adapter-factory\";\r\nimport { TemplateCollectorService } from \"../../services/template-collector/template-collector\";\r\nimport { UnshapeGridColumnComponent } from \"../column/grid-column\";\r\nimport { ColumnService } from \"../../services/column/column\";\r\n\r\nimport { GridErrorType } from \"@unshape/grid/engine/services/error/types/error-type\";\r\n\r\n@Component({\r\n selector: \"ush-grid\",\r\n imports: [CommonModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: \"./grid.html\",\r\n styleUrl: \"./grid.css\",\r\n})\r\nexport class UnshapeGridComponent\r\n implements AfterViewInit, OnDestroy, AfterContentInit\r\n{\r\n private grid: Grid | null = null;\r\n private injector = inject(Injector);\r\n private adapterFactory = inject(RendererAdapterFactory);\r\n private templateCollector = inject(TemplateCollectorService);\r\n private errorType!: GridErrorType | null;\r\n private columnService = inject(ColumnService);\r\n\r\n @ViewChild(\"host\", { static: true }) hostRef!: ElementRef<HTMLDivElement>;\r\n\r\n @ContentChild(UnshapeGridNoDataTemplateDirective)\r\n noDataTemplateDir?: UnshapeGridNoDataTemplateDirective;\r\n @ContentChild(UnshapeGridLoadingTemplateDirective)\r\n loadingTemplateDir?: UnshapeGridLoadingTemplateDirective;\r\n @ContentChild(UnshapeGridErrorTemplateDirective)\r\n errorTemplateDir?: UnshapeGridErrorTemplateDirective;\r\n @ContentChild(UnshapeGridGroupColumnTemplateDirective)\r\n groupColumnTemplateDir?: UnshapeGridGroupColumnTemplateDirective;\r\n @ContentChild(UnshapeGridGroupHeaderTemplateDirective)\r\n groupHeaderTemplateDir?: UnshapeGridGroupHeaderTemplateDirective;\r\n @ContentChild(UnshapeGridStatusBarTemplateDirective)\r\n statusBarTemplateDir?: UnshapeGridStatusBarTemplateDirective;\r\n @ContentChild(UnshapeGridToolBarTemplateDirective)\r\n toolBarTemplateDir?: UnshapeGridToolBarTemplateDirective;\r\n\r\n @ContentChildren(UnshapeGridColumnComponent)\r\n projectedColumns!: QueryList<UnshapeGridColumnComponent>;\r\n\r\n // inputs\r\n id = input.required<string>();\r\n columns = input<GridColumn[]>([]);\r\n data = input<any[]>([]);\r\n loading = input<boolean>(false);\r\n resizable = input<boolean>(false);\r\n resizeMode = input<GridResizeMode>(\"unconstrained\");\r\n enableAnimations = input<boolean>(false);\r\n animationOptions = input<GridAnimationOptions>({\r\n sort: false,\r\n filter: false,\r\n group: true,\r\n paging: false,\r\n });\r\n filterable = input<GridFilterType>(false);\r\n sortSettings = input<GridSortSettings>({});\r\n showFooter = input<boolean>(true);\r\n locale = input<string>(navigator.language);\r\n groupable = input<boolean | GridGroupingSettings>(false);\r\n pageable = input<boolean>(false);\r\n selectable = input<boolean | GridSelectionSettings>(false);\r\n showStatusBar = input<boolean>(false);\r\n columnMenu = input<boolean | GridColumnMenuSettings>(false);\r\n allowColumnReorder = input<boolean | GridColumnReorderSettings>(false);\r\n showToolBar = input<boolean>(false);\r\n toolBarRenderer = input<(() => HTMLElement | string) | null>(null);\r\n editable = input<boolean | GridEditingSettings>(false);\r\n editingEvents = input<GridEditingEvents>({});\r\n schema = input<GridSchema>({ fields: [] });\r\n rowEditingEvents = input<GridRowEditingEvents>({});\r\n rowEvents = input<GridRowEvents>({});\r\n newRowEvents = input<GridNewRowEvents>({});\r\n rowFormat = input<((row: any) => GridRowFormat) | null>(null);\r\n copy = input<boolean | GridCopySettings>(false);\r\n paste = input<boolean | GridPasteSettings>(false);\r\n clipboardEvents = input<GridClipboardEvents>({});\r\n mode = input<GridMode>(\"standard\");\r\n analysisOptions = input<AnalysisOptions>();\r\n formattingPrecedence = input<FormattingPrecedence>(\"row-first\");\r\n\r\n // reactive effects\r\n gridIdEffect!: EffectRef;\r\n dataEffect!: EffectRef;\r\n columnEffect!: EffectRef;\r\n loadingEffect!: EffectRef;\r\n resizableEffect!: EffectRef;\r\n resizeModeEffect!: EffectRef;\r\n enableAnimationsEffect!: EffectRef;\r\n animationOptionsEffect!: EffectRef;\r\n filterableEffect!: EffectRef;\r\n sortSettingsEffect!: EffectRef;\r\n showFooterEffect!: EffectRef;\r\n localeEffect!: EffectRef;\r\n groupableEffect!: EffectRef;\r\n pageableEffect!: EffectRef;\r\n selectableEffect!: EffectRef;\r\n showStatusBarEffect!: EffectRef;\r\n columnMenuEffect!: EffectRef;\r\n allowColumnReorderEffect!: EffectRef;\r\n showToolBarEffect!: EffectRef;\r\n toolBarRendererEffect!: EffectRef;\r\n editableEffect!: EffectRef;\r\n editingEventsEffect!: EffectRef;\r\n schemaEffect!: EffectRef;\r\n rowEditingEventsEffect!: EffectRef;\r\n rowEventsEffect!: EffectRef;\r\n newRowEventsEffect!: EffectRef;\r\n rowFormatEffect!: EffectRef;\r\n copyEffect!: EffectRef;\r\n pasteEffect!: EffectRef;\r\n clipboardEventsEffect!: EffectRef;\r\n modeEffect!: EffectRef;\r\n analysisOptionsEffect!: EffectRef;\r\n formattingPrecedenceEffect!: EffectRef;\r\n\r\n ngAfterViewInit(): void {\r\n const host = this.hostRef.nativeElement;\r\n const registry = this.templateCollector.collect(\r\n this.noDataTemplateDir,\r\n this.loadingTemplateDir,\r\n this.errorTemplateDir,\r\n this.groupColumnTemplateDir,\r\n this.groupHeaderTemplateDir,\r\n this.statusBarTemplateDir,\r\n this.toolBarTemplateDir,\r\n );\r\n const adapter = this.adapterFactory.buildAdapter(registry);\r\n this.columnService.setAdapter(adapter);\r\n\r\n const projected = this.columnService.collectProjectedColumns(\r\n this.projectedColumns,\r\n );\r\n const inputCols = this.columns();\r\n const finalColumns =\r\n inputCols !== undefined && inputCols !== null && inputCols.length > 0\r\n ? inputCols\r\n : projected;\r\n if (finalColumns.length === 0) this.errorType = \"no-columns\";\r\n\r\n const options: GridOptions = {\r\n id: this.id(),\r\n columns: finalColumns,\r\n data: this.data(),\r\n resizable: this.resizable(),\r\n resizeMode: this.resizeMode(),\r\n enableAnimations: this.enableAnimations(),\r\n animationOptions: this.animationOptions(),\r\n filterable: this.filterable(),\r\n sortSettings: this.sortSettings(),\r\n rendererAdapter: adapter,\r\n showFooter: this.showFooter(),\r\n locale: this.locale(),\r\n groupable: this.groupable(),\r\n pageable: this.pageable(),\r\n selectable: this.selectable(),\r\n showStatusBar: this.showStatusBar(),\r\n columnMenu: this.columnMenu(),\r\n allowColumnReorder: this.allowColumnReorder(),\r\n showToolBar: this.showToolBar(),\r\n toolBarRenderer: this.toolBarRenderer(),\r\n editable: this.editable(),\r\n editingEvents: this.editingEvents(),\r\n schema: this.schema(),\r\n rowEditingEvents: this.rowEditingEvents(),\r\n rowEvents: this.rowEvents(),\r\n newRowEvents: this.newRowEvents(),\r\n rowFormat: this.rowFormat(),\r\n copy: this.copy(),\r\n paste: this.paste(),\r\n clipboardEvents: this.clipboardEvents(),\r\n mode: this.mode(),\r\n analysisOptions: this.analysisOptions(),\r\n formattingPrecedence: this.formattingPrecedence(),\r\n };\r\n\r\n this.grid = new Grid(host, options);\r\n this.columnService.setGrid(this.grid);\r\n\r\n runInInjectionContext(this.injector, () => {\r\n this.gridIdEffect = effects.gridIdInputEffect(this.id, this.grid!);\r\n this.dataEffect = effects.dataInputEffect(this.data, this.grid!);\r\n this.columnEffect = effects.columnInputEffect(this.columns, this.grid!);\r\n this.loadingEffect = effects.loadingInputEffect(this.loading, this.grid!);\r\n this.resizableEffect = effects.resizableInputEffect(\r\n this.resizable,\r\n this.grid!,\r\n );\r\n this.resizeModeEffect = effects.resizeModeInputEffect(\r\n this.resizeMode,\r\n this.grid!,\r\n );\r\n this.enableAnimationsEffect = effects.enableAnimationsInputEffect(\r\n this.enableAnimations,\r\n this.grid!,\r\n );\r\n this.animationOptionsEffect = effects.animationOptionsInputEffect(\r\n this.animationOptions,\r\n this.grid!,\r\n );\r\n this.filterableEffect = effects.filterableInputEffect(\r\n this.filterable,\r\n this.grid!,\r\n );\r\n this.sortSettingsEffect = effects.sortSettingsInputEffect(\r\n this.sortSettings,\r\n this.grid!,\r\n );\r\n this.showFooterEffect = effects.showFooterInputEffect(\r\n this.showFooter,\r\n this.grid!,\r\n );\r\n this.localeEffect = effects.localeInputEffect(this.locale, this.grid!);\r\n this.groupableEffect = effects.groupableInputEffect(\r\n this.groupable,\r\n this.grid!,\r\n );\r\n this.pageableEffect = effects.pageableInputEffect(\r\n this.pageable,\r\n this.grid!,\r\n );\r\n this.selectableEffect = effects.selectableInputEffect(\r\n this.selectable,\r\n this.grid!,\r\n );\r\n this.showStatusBarEffect = effects.showStatusBarInputEffect(\r\n this.showStatusBar,\r\n this.grid!,\r\n );\r\n this.columnMenuEffect = effects.columnMenuInputEffect(\r\n this.columnMenu,\r\n this.grid!,\r\n );\r\n this.allowColumnReorderEffect = effects.allowColumnReorderInputEffect(\r\n this.allowColumnReorder,\r\n this.grid!,\r\n );\r\n this.showToolBarEffect = effects.showToolBarInputEffect(\r\n this.showToolBar,\r\n this.grid!,\r\n );\r\n this.toolBarRendererEffect = effects.toolBarRendererInputEffect(\r\n this.toolBarRenderer,\r\n this.grid!,\r\n );\r\n this.editableEffect = effects.editableInputEffect(\r\n this.editable,\r\n this.grid!,\r\n );\r\n this.editingEventsEffect = effects.editingEventsInputEffect(\r\n this.editingEvents,\r\n this.grid!,\r\n );\r\n this.schemaEffect = effects.schemaInputEffect(this.schema, this.grid!);\r\n this.rowEditingEventsEffect = effects.rowEditingEventsInputEffect(\r\n this.rowEditingEvents,\r\n this.grid!,\r\n );\r\n this.rowEventsEffect = effects.rowEventsInputEffect(\r\n this.rowEvents,\r\n this.grid!,\r\n );\r\n this.newRowEventsEffect = effects.newRowEventsInputEffect(\r\n this.newRowEvents,\r\n this.grid!,\r\n );\r\n this.rowFormatEffect = effects.rowFormatInputEffect(\r\n this.rowFormat,\r\n this.grid!,\r\n );\r\n this.copyEffect = effects.copyInputEffect(this.copy, this.grid!);\r\n this.pasteEffect = effects.pasteInputEffect(this.paste, this.grid!);\r\n this.clipboardEventsEffect = effects.clipboardEventsInputEffect(\r\n this.clipboardEvents,\r\n this.grid!,\r\n );\r\n this.modeEffect = effects.modeInputEffect(this.mode, this.grid!);\r\n this.analysisOptionsEffect = effects.analysisOptionsInputEffect(\r\n this.analysisOptions,\r\n this.grid!,\r\n );\r\n this.formattingPrecedenceEffect = effects.formattingPrecedenceInputEffect(\r\n this.formattingPrecedence,\r\n this.grid!,\r\n );\r\n });\r\n\r\n if (this.errorType) this.grid.api.setError(true, this.errorType);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n if (this.columns().length > 0 && this.projectedColumns.length > 0)\r\n this.errorType = \"ambiguous-column-definition\";\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.grid?.destroy();\r\n this.grid = null;\r\n }\r\n\r\n collapseAllGroups() {\r\n this.grid!.api.collapseAllGroups();\r\n }\r\n\r\n expandAllGroups() {\r\n this.grid!.api.expandAllGroups();\r\n }\r\n\r\n getValidation(rowId: string, fieldName: string) {\r\n return this.grid!.api.getValidation(rowId, fieldName);\r\n }\r\n\r\n getRowValidation(rowId: string) {\r\n return this.grid!.api.getRowValidation(rowId);\r\n }\r\n\r\n getAllValidation() {\r\n return this.grid!.api.getAllValidation();\r\n }\r\n\r\n hasErrors() {\r\n return this.grid!.api.hasErrors();\r\n }\r\n\r\n startRowEdit(rowId: string) {\r\n this.grid!.api.startRowEdit(rowId);\r\n }\r\n\r\n cancelRowEdit() {\r\n this.grid!.api.cancelRowEdit();\r\n }\r\n\r\n commitRowEdit() {\r\n this.grid!.api.commitRowEdit();\r\n }\r\n\r\n deleteRow(rowId: string) {\r\n this.grid!.api.deleteRow(rowId);\r\n }\r\n\r\n toggleAddNewRow(show: boolean) {\r\n this.grid!.api.setShowAddNewRow(show);\r\n }\r\n}\r\n","<div #host class=\"ush-grid-host\"></div>\r\n","import { CommonModule } from \"@angular/common\";\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n HostBinding,\r\n input,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"ush-spacer\",\r\n imports: [CommonModule],\r\n template: \"\",\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SpacerComponent {\r\n width = input<string>();\r\n\r\n @HostBinding(\"style.width\") get styleWidth() {\r\n return this.width();\r\n }\r\n\r\n @HostBinding(\"class.ush-spacer-sized\") get hasWidthClass() {\r\n return !!this.width();\r\n }\r\n\r\n @HostBinding(\"class.ush-spacer\") get defaultClass() {\r\n return true;\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport {\r\n UnshapeGridColumnCellTemplateDirective,\r\n UnshapeGridColumnComponent,\r\n UnshapeGridColumnFooterTemplateDirective,\r\n UnshapeGridColumnHeaderTemplateDirective,\r\n UnshapeGridComponent,\r\n UnshapeGridErrorTemplateDirective,\r\n UnshapeGridFilterCellTemplateDirective,\r\n UnshapeGridLoadingTemplateDirective,\r\n UnshapeGridNoDataTemplateDirective,\r\n UnshapeGridGroupColumnTemplateDirective,\r\n UnshapeGridGroupHeaderCellTemplateDirective,\r\n UnshapeGridGroupHeaderTemplateDirective,\r\n UnshapeGridGroupFooterCellTemplateDirective,\r\n UnshapeGridStatusBarTemplateDirective,\r\n UnshapeGridToolBarTemplateDirective,\r\n SpacerComponent,\r\n UnshapeGridEditorCellTemplateDirective,\r\n} from \"../../public-api\";\r\n\r\n@NgModule({\r\n imports: [\r\n UnshapeGridComponent,\r\n UnshapeGridColumnComponent,\r\n UnshapeGridNoDataTemplateDirective,\r\n UnshapeGridLoadingTemplateDirective,\r\n UnshapeGridErrorTemplateDirective,\r\n UnshapeGridColumnHeaderTemplateDirective,\r\n UnshapeGridColumnFooterTemplateDirective,\r\n UnshapeGridColumnCellTemplateDirective,\r\n UnshapeGridFilterCellTemplateDirective,\r\n UnshapeGridGroupColumnTemplateDirective,\r\n UnshapeGridGroupHeaderCellTemplateDirective,\r\n UnshapeGridGroupHeaderTemplateDirective,\r\n UnshapeGridGroupFooterCellTemplateDirective,\r\n UnshapeGridStatusBarTemplateDirective,\r\n UnshapeGridToolBarTemplateDirective,\r\n SpacerComponent,\r\n UnshapeGridEditorCellTemplateDirective,\r\n ],\r\n exports: [\r\n UnshapeGridComponent,\r\n UnshapeGridColumnComponent,\r\n UnshapeGridNoDataTemplateDirective,\r\n UnshapeGridLoadingTemplateDirective,\r\n UnshapeGridErrorTemplateDirective,\r\n UnshapeGridColumnHeaderTemplateDirective,\r\n UnshapeGridColumnFooterTemplateDirective,\r\n UnshapeGridColumnCellTemplateDirective,\r\n UnshapeGridFilterCellTemplateDirective,\r\n UnshapeGridGroupColumnTemplateDirective,\r\n UnshapeGridGroupHeaderCellTemplateDirective,\r\n UnshapeGridGroupHeaderTemplateDirective,\r\n UnshapeGridGroupFooterCellTemplateDirective,\r\n UnshapeGridStatusBarTemplateDirective,\r\n UnshapeGridToolBarTemplateDirective,\r\n SpacerComponent,\r\n UnshapeGridEditorCellTemplateDirective,\r\n ],\r\n providers: [],\r\n})\r\nexport class UNSHAPE_GRID {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["methods.collectProjectedColumns","effects.toggleVisibilityInputEffect","effects.gridIdInputEffect","effects.dataInputEffect","effects.columnInputEffect","effects.loadingInputEffect","effects.resizableInputEffect","effects.resizeModeInputEffect","effects.enableAnimationsInputEffect","effects.animationOptionsInputEffect","effects.filterableInputEffect","effects.sortSettingsInputEffect","effects.showFooterInputEffect","effects.localeInputEffect","effects.groupableInputEffect","effects.pageableInputEffect","effects.selectableInputEffect","effects.showStatusBarInputEffect","effects.columnMenuInputEffect","effects.allowColumnReorderInputEffect","effects.showToolBarInputEffect","effects.toolBarRendererInputEffect","effects.editableInputEffect","effects.editingEventsInputEffect","effects.schemaInputEffect","effects.rowEditingEventsInputEffect","effects.rowEventsInputEffect","effects.newRowEventsInputEffect","effects.rowFormatInputEffect","effects.copyInputEffect","effects.pasteInputEffect","effects.clipboardEventsInputEffect","effects.modeInputEffect","effects.analysisOptionsInputEffect","effects.formattingPrecedenceInputEffect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unshape-grid-angular.mjs","sources":["../../src/lib/effects/skip-first.ts","../../src/lib/effects/grid-id.ts","../../src/lib/effects/data.ts","../../src/lib/effects/column.ts","../../src/lib/effects/loading.ts","../../src/lib/effects/resizable.ts","../../src/lib/effects/resize-mode.ts","../../src/lib/effects/toggle-visibility.ts","../../src/lib/effects/enable-animations.ts","../../src/lib/effects/filterable.ts","../../src/lib/effects/sort-settings.ts","../../src/lib/effects/show-footer.ts","../../src/lib/effects/locale.ts","../../src/lib/effects/groupable.ts","../../src/lib/effects/animation-options.ts","../../src/lib/effects/pageable.ts","../../src/lib/effects/selectable.ts","../../src/lib/effects/show-statusbar.ts","../../src/lib/effects/column-menu.ts","../../src/lib/effects/allow-column-reorder.ts","../../src/lib/effects/show-toolbar.ts","../../src/lib/effects/toolbar-renderer.ts","../../src/lib/effects/editable.ts","../../src/lib/effects/editing-events.ts","../../src/lib/effects/schema.ts","../../src/lib/effects/row-editing-events.ts","../../src/lib/effects/row-events.ts","../../src/lib/effects/new-row-events.ts","../../src/lib/effects/row-format.ts","../../src/lib/effects/copy.ts","../../src/lib/effects/paste.ts","../../src/lib/effects/clipboard-events.ts","../../src/lib/effects/mode.ts","../../src/lib/effects/analysis-options.ts","../../src/lib/effects/formatting-precedence.ts","../../src/lib/effects/use-alternate-rows.ts","../../src/lib/directives/no-data-template.ts","../../src/lib/directives/loading-template.ts","../../src/lib/directives/group-column-template.ts","../../src/lib/directives/group-header-template.ts","../../src/lib/directives/statusbar-template.ts","../../src/lib/directives/toolbar-template.ts","../../src/lib/directives/error-template.ts","../../src/lib/services/templates/template-mount.ts","../../src/lib/services/renderer-adapter/no-data.ts","../../src/lib/services/renderer-adapter/loading.ts","../../src/lib/services/renderer-adapter/error.ts","../../src/lib/services/renderer-adapter/column-header.ts","../../src/lib/services/renderer-adapter/column-footer.ts","../../src/lib/services/renderer-adapter/column-cell.ts","../../src/lib/services/renderer-adapter/group-column.ts","../../src/lib/services/renderer-adapter/group-header-cell.ts","../../src/lib/services/renderer-adapter/group-header.ts","../../src/lib/services/renderer-adapter/group-footer-cell.ts","../../src/lib/services/renderer-adapter/statusbar.ts","../../src/lib/services/renderer-adapter/toolbar.ts","../../src/lib/services/renderer-adapter/renderer-adapter-factory.ts","../../src/lib/services/template-collector/extract-no-data.ts","../../src/lib/services/template-collector/extract-loading.ts","../../src/lib/services/template-collector/extract-error.ts","../../src/lib/services/template-collector/extract-group-column.ts","../../src/lib/services/template-collector/extract-group-header.ts","../../src/lib/services/template-collector/extract-statusbar.ts","../../src/lib/services/template-collector/extract-toolbar.ts","../../src/lib/services/template-collector/template-collector.ts","../../src/lib/services/column/methods/collect-projected-columns.ts","../../src/lib/services/column/column.ts","../../src/lib/directives/column-header-template.ts","../../src/lib/directives/column-footer-template.ts","../../src/lib/directives/column-cell-template.ts","../../src/lib/directives/filter-cell-template.ts","../../src/lib/directives/group-header-cell-template.ts","../../src/lib/directives/group-footer-cell-template.ts","../../src/lib/directives/editor-cell-template.ts","../../src/lib/services/renderer-adapter/filter-editor-wrapper.ts","../../src/lib/services/renderer-adapter/filter-editor-factory.ts","../../src/lib/services/renderer-adapter/cell-editor-wrapper.ts","../../src/lib/services/renderer-adapter/cell-editor-factory.ts","../../src/lib/components/column/grid-column.ts","../../src/lib/components/grid/grid.ts","../../src/lib/components/grid/grid.html","../../src/lib/components/spacer/spacer.ts","../../src/lib/modules/grid.ts","../../src/unshape-grid-angular.ts"],"sourcesContent":["import { effect, EffectRef } from \"@angular/core\";\r\n\r\nexport function effectSkipFirst(fn: (isInitial: boolean) => void): EffectRef {\r\n let first = true;\r\n return effect(() => {\r\n // Always execute fn, so it reads signals and establishes tracking\r\n fn(first);\r\n first = false;\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function gridIdInputEffect(\r\n value: Signal<string>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const id = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setGridId(id);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function dataInputEffect(value: Signal<any[]>, grid: Grid): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const data = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setData(data);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridColumn } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function columnInputEffect(\r\n value: Signal<GridColumn[]>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const columns = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setColumns(columns);\r\n });\r\n}\r\n","import { effect, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\n\r\nexport function loadingInputEffect(value: Signal<boolean>, grid: Grid) {\r\n return effect(() => {\r\n grid.api.setLoading(value());\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function resizableInputEffect(\r\n value: Signal<boolean>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const resizable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setResizable(resizable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridResizeMode } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function resizeModeInputEffect(\r\n value: Signal<GridResizeMode>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const resizeMode = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setResizeMode(resizeMode);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\nimport { ColumnService } from \"../services/column/column\";\r\n\r\nexport function toggleVisibilityInputEffect(\r\n key: string,\r\n value: Signal<boolean>,\r\n columnService: ColumnService,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const visible = value();\r\n\r\n if (isInitial) return;\r\n\r\n const grid = columnService.grid();\r\n if (!grid) return;\r\n\r\n const { enableAnimations } = grid._store.getState().view;\r\n\r\n if (enableAnimations) {\r\n visible\r\n ? grid.api.showColumnAnimated(key)\r\n : grid.api.hideColumnAnimated(key);\r\n } else {\r\n grid.api.setColumnVisible(key, visible);\r\n }\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function enableAnimationsInputEffect(\r\n value: Signal<boolean>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const enableAnimations = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setEnableAnimations(enableAnimations);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridFilterType } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function filterableInputEffect(\r\n value: Signal<GridFilterType>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const filterable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setFilterable(filterable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridSortSettings } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function sortSettingsInputEffect(\r\n value: Signal<GridSortSettings>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const sortSettings = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setSortSettings(sortSettings);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function showFooterInputEffect(\r\n value: Signal<boolean>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const showFooter = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setShowFooter(showFooter);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function localeInputEffect(\r\n value: Signal<string>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const locale = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setLocale(locale);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridGroupingSettings } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function groupableInputEffect(\r\n value: Signal<boolean | GridGroupingSettings>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const groupable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setGroupable(groupable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridAnimationOptions } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function animationOptionsInputEffect(\r\n value: Signal<GridAnimationOptions>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const animOptions = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setAnimationOptions(animOptions);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function pageableInputEffect(\r\n value: Signal<boolean>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const pageable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setPageable(pageable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridSelectionSettings } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function selectableInputEffect(\r\n value: Signal<boolean | GridSelectionSettings>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const selectable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setSelectable(selectable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function showStatusBarInputEffect(\r\n value: Signal<boolean>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const showStatusBar = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setShowStatusBar(showStatusBar);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridColumnMenuSettings } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function columnMenuInputEffect(\r\n value: Signal<boolean | GridColumnMenuSettings>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const columnMenu = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setColumnMenu(columnMenu);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridColumnReorderSettings } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function allowColumnReorderInputEffect(\r\n value: Signal<boolean | GridColumnReorderSettings>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const allowColumnReorder = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setAllowColumnReorder(allowColumnReorder);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function showToolBarInputEffect(\r\n value: Signal<boolean>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const showToolBar = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setShowToolBar(showToolBar);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function toolBarRendererInputEffect(\r\n value: Signal<(() => HTMLElement | string) | null>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const toolBarRenderer = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setToolBarRenderer(toolBarRenderer);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridEditingSettings } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function editableInputEffect(\r\n value: Signal<boolean | GridEditingSettings>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const editable = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setEditable(editable);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridEditingEvents } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function editingEventsInputEffect(\r\n value: Signal<GridEditingEvents>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const editingEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setEditingEvents(editingEvents);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridSchema } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function schemaInputEffect(\r\n value: Signal<GridSchema>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const schema = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setSchema(schema);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridRowEditingEvents } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function rowEditingEventsInputEffect(\r\n value: Signal<GridRowEditingEvents>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const rowEditingEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setRowEditingEvents(rowEditingEvents);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridRowEvents } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function rowEventsInputEffect(\r\n value: Signal<GridRowEvents>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const rowEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setRowEvents(rowEvents);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridNewRowEvents } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function newRowEventsInputEffect(\r\n value: Signal<GridNewRowEvents>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const newRowEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setNewRowEvents(newRowEvents);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridRowFormat } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function rowFormatInputEffect(\r\n value: Signal<((row: any) => GridRowFormat) | null>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const rowFormat = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setRowFormat(rowFormat);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridCopySettings } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function copyInputEffect(\r\n value: Signal<boolean | GridCopySettings>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const copy = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setCopySettings(copy);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridPasteSettings } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function pasteInputEffect(\r\n value: Signal<boolean | GridPasteSettings>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const paste = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setPasteSettings(paste);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridClipboardEvents } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function clipboardEventsInputEffect(\r\n value: Signal<GridClipboardEvents>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const clipboardEvents = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setClipboardEvents(clipboardEvents);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid, GridMode } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function modeInputEffect(\r\n value: Signal<GridMode>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const mode = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setMode(mode);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { AnalysisOptions, Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function analysisOptionsInputEffect(\r\n value: Signal<AnalysisOptions | undefined>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const analysisOptions = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setAnalysisOptions(analysisOptions);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { FormattingPrecedence, Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function formattingPrecedenceInputEffect(\r\n value: Signal<FormattingPrecedence>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const formattingPrecedence = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setFormattingPrecedence(formattingPrecedence);\r\n });\r\n}\r\n","import { EffectRef, Signal } from \"@angular/core\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { effectSkipFirst } from \"./skip-first\";\r\n\r\nexport function useAlternateRowsInputEffect(\r\n value: Signal<boolean>,\r\n grid: Grid,\r\n): EffectRef {\r\n return effectSkipFirst((isInitial) => {\r\n const useAlternateRows = value();\r\n if (isInitial) return;\r\n if (grid) grid.api.setUseAlternateRows(useAlternateRows);\r\n });\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridNoDataTemplate]\",\r\n})\r\nexport class UnshapeGridNoDataTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridLoadingTemplate]\",\r\n})\r\nexport class UnshapeGridLoadingTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridGroupColumnTemplate]\",\r\n})\r\nexport class UnshapeGridGroupColumnTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridGroupHeaderTemplate]\",\r\n})\r\nexport class UnshapeGridGroupHeaderTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridStatusBarTemplate]\",\r\n})\r\nexport class UnshapeGridStatusBarTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridToolBarTemplate]\",\r\n})\r\nexport class UnshapeGridToolBarTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridErrorTemplate]\",\r\n})\r\nexport class UnshapeGridErrorTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { ApplicationRef, Injectable, TemplateRef } from \"@angular/core\";\r\nimport { AngularRendererHandle } from \"./interfaces/renderer-handle\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TemplateMountService {\r\n constructor(private appRef: ApplicationRef) {}\r\n\r\n mount<T>(\r\n template: TemplateRef<T>,\r\n container: HTMLElement,\r\n context: T,\r\n ): AngularRendererHandle<T> {\r\n const viewRef = template.createEmbeddedView(context);\r\n this.appRef.attachView(viewRef);\r\n viewRef.detectChanges();\r\n\r\n const frag = document.createDocumentFragment();\r\n for (const node of viewRef.rootNodes) frag.appendChild(node);\r\n container.appendChild(frag);\r\n\r\n return {\r\n update: (partial: Partial<T>) => {\r\n Object.assign(viewRef.context as any, partial);\r\n viewRef.detectChanges();\r\n },\r\n destroy: () => {\r\n this.appRef.detachView(viewRef);\r\n viewRef.destroy();\r\n },\r\n viewRef,\r\n };\r\n }\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { NoDataMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/no-data-mount\";\r\n\r\nexport function renderNoDataTemplate(\r\n req: NoDataMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n context: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { LoadingMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/loading-mount\";\r\n\r\nexport function renderLoadingTemplate(\r\n req: LoadingMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n context: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ErrorMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/error-mount\";\r\n\r\nexport function renderErrorTemplate(\r\n req: ErrorMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n title: req.context.title,\r\n message: req.context.message,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ColumnHeaderMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/column-header-mount\";\r\n\r\nexport function renderColumnHeaderTemplate(\r\n req: ColumnHeaderMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n field: req.context.field,\r\n header: req.context.header,\r\n columnKey: req.context.columnKey,\r\n columnId: req.context.columnId,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ColumnFooterMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/column-footer-mount\";\r\n\r\nexport function renderColumnFooterTemplate(\r\n req: ColumnFooterMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n field: req.context.field,\r\n header: req.context.header,\r\n columnKey: req.context.columnKey,\r\n columnId: req.context.columnId,\r\n values: req.context.values,\r\n rows: req.context.rows,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ColumnCellMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/column-cell-mount\";\r\n\r\nexport function renderColumnCellTemplate(\r\n req: ColumnCellMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n row: req.context.row,\r\n value: req.context.value,\r\n field: req.context.field,\r\n header: req.context.header,\r\n columnKey: req.context.columnKey,\r\n columnId: req.context.columnId,\r\n rowIndex: req.context.rowIndex,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { GroupColumnMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/group-column-mount\";\r\n\r\nexport function renderGroupColumnTemplate(\r\n req: GroupColumnMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n column: req.context.column,\r\n group: req.context.group,\r\n aggregate: req.context.aggregate,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { GroupColumnMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/group-column-mount\";\r\n\r\nexport function renderGroupHeaderCellTemplate(\r\n req: GroupColumnMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n column: req.context.column,\r\n group: req.context.group,\r\n aggregate: req.context.aggregate,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { GroupHeaderMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/group-header-mount\";\r\n\r\nexport function renderGroupHeaderTemplate(\r\n req: GroupHeaderMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n column: req.context.column,\r\n group: req.context.group,\r\n aggregate: req.context.aggregate,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { GroupFooterCellMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/group-footer-cell-mount\";\r\n\r\nexport function renderGroupFooterCellTemplate(\r\n req: GroupFooterCellMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n column: req.context.column,\r\n group: req.context.group,\r\n aggregate: req.context.aggregate,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { StatusBarMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/statusbar-mount\";\r\n\r\nexport function renderStatusBarTemplate(\r\n req: StatusBarMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n statusBar: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { RendererHandle } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-handle\";\r\nimport { ToolBarMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/toolbar-mount\";\r\n\r\nexport function renderToolBarTemplate(\r\n req: ToolBarMount,\r\n template: TemplateRef<any> | undefined,\r\n templateMountService: TemplateMountService,\r\n): RendererHandle | null {\r\n if (!template) return null;\r\n\r\n const ctx = {\r\n $implicit: req.context,\r\n context: req.context,\r\n };\r\n\r\n return templateMountService.mount(template, req.container, ctx);\r\n}\r\n","import { inject, Injectable, TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { TemplateRegistry } from \"../templates/interfaces/template-registry\";\r\nimport { RendererAdapter } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-adapter\";\r\nimport { renderNoDataTemplate } from \"./no-data\";\r\nimport { renderLoadingTemplate } from \"./loading\";\r\nimport { renderErrorTemplate } from \"./error\";\r\nimport { renderColumnHeaderTemplate } from \"./column-header\";\r\nimport { renderColumnFooterTemplate } from \"./column-footer\";\r\nimport { renderColumnCellTemplate } from \"./column-cell\";\r\nimport { renderGroupColumnTemplate } from \"./group-column\";\r\nimport { renderGroupHeaderCellTemplate } from \"./group-header-cell\";\r\nimport { renderGroupHeaderTemplate } from \"./group-header\";\r\nimport { renderGroupFooterCellTemplate } from \"./group-footer-cell\";\r\nimport { renderStatusBarTemplate } from \"./statusbar\";\r\nimport { renderToolBarTemplate } from \"./toolbar\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class RendererAdapterFactory {\r\n private templateMountService = inject(TemplateMountService);\r\n\r\n buildAdapter(templates: TemplateRegistry): RendererAdapter {\r\n const headerTemplates = new Map<string, TemplateRef<any>>();\r\n const footerTemplates = new Map<string, TemplateRef<any>>();\r\n const cellTemplates = new Map<string, TemplateRef<any>>();\r\n const groupHeaderCellTemplates = new Map<string, TemplateRef<any>>();\r\n const groupFooterCellTemplates = new Map<string, TemplateRef<any>>();\r\n\r\n return {\r\n renderNoDataTemplate: (req) =>\r\n renderNoDataTemplate(req, templates.noData, this.templateMountService),\r\n renderLoadingTemplate: (req) =>\r\n renderLoadingTemplate(\r\n req,\r\n templates.loading,\r\n this.templateMountService,\r\n ),\r\n renderErrorTemplate: (req) =>\r\n renderErrorTemplate(req, templates.error, this.templateMountService),\r\n renderGroupColumnTemplate: (req) =>\r\n renderGroupColumnTemplate(\r\n req,\r\n templates.groupColumn,\r\n this.templateMountService,\r\n ),\r\n renderGroupHeaderTemplate: (req) =>\r\n renderGroupHeaderTemplate(\r\n req,\r\n templates.groupHeader,\r\n this.templateMountService,\r\n ),\r\n renderColumnHeaderTemplate: (req) => {\r\n const tpl = headerTemplates.get(req.context.columnKey);\r\n return renderColumnHeaderTemplate(req, tpl, this.templateMountService);\r\n },\r\n registerColumnHeaderTemplate: (key, tpl) => {\r\n headerTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderColumnFooterTemplate: (req) => {\r\n const tpl = footerTemplates.get(req.context.columnKey);\r\n return renderColumnFooterTemplate(req, tpl, this.templateMountService);\r\n },\r\n registerColumnFooterTemplate: (key, tpl) => {\r\n footerTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderColumnCellTemplate: (req) => {\r\n const tpl = cellTemplates.get(req.context.columnKey);\r\n return renderColumnCellTemplate(req, tpl, this.templateMountService);\r\n },\r\n registerColumnCellTemplate: (key, tpl) => {\r\n cellTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderGroupHeaderCellTemplate: (req) => {\r\n const tpl = groupHeaderCellTemplates.get(req.context.columnKey);\r\n return renderGroupHeaderCellTemplate(\r\n req,\r\n tpl,\r\n this.templateMountService,\r\n );\r\n },\r\n registerGroupHeaderCellTemplate: (key, tpl) => {\r\n groupHeaderCellTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderGroupFooterCellTemplate: (req) => {\r\n const tpl = groupFooterCellTemplates.get(req.context.columnKey);\r\n return renderGroupFooterCellTemplate(\r\n req,\r\n tpl,\r\n this.templateMountService,\r\n );\r\n },\r\n registerGroupFooterCellTemplate: (key, tpl) => {\r\n groupFooterCellTemplates.set(key, tpl as TemplateRef<any>);\r\n },\r\n renderStatusBarTemplate: (req) =>\r\n renderStatusBarTemplate(\r\n req,\r\n templates.statusBar,\r\n this.templateMountService,\r\n ),\r\n renderToolBarTemplate: (req) =>\r\n renderToolBarTemplate(\r\n req,\r\n templates.toolBar,\r\n this.templateMountService,\r\n ),\r\n };\r\n }\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { UnshapeGridNoDataTemplateDirective } from \"../../directives/no-data-template\";\r\n\r\nexport function extractNoDataTemplate(\r\n dir?: UnshapeGridNoDataTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { UnshapeGridLoadingTemplateDirective } from \"../../directives/loading-template\";\r\n\r\nexport function extractLoadingTemplate(\r\n dir?: UnshapeGridLoadingTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { UnshapeGridErrorTemplateDirective } from \"../../directives/error-template\";\r\n\r\nexport function extractErrorTemplate(\r\n dir?: UnshapeGridErrorTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { UnshapeGridGroupColumnTemplateDirective } from \"../../directives/group-column-template\";\r\n\r\nexport function extractGroupColumnTemplate(\r\n dir?: UnshapeGridGroupColumnTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { UnshapeGridGroupHeaderTemplateDirective } from \"../../directives/group-header-template\";\r\n\r\nexport function extractGroupHeaderTemplate(\r\n dir?: UnshapeGridGroupHeaderTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { UnshapeGridStatusBarTemplateDirective } from \"../../directives/statusbar-template\";\r\n\r\nexport function extractStatusBarTemplate(\r\n dir?: UnshapeGridStatusBarTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { TemplateRef } from \"@angular/core\";\r\nimport { UnshapeGridToolBarTemplateDirective } from \"../../directives/toolbar-template\";\r\n\r\nexport function extractToolBarTemplate(\r\n dir?: UnshapeGridToolBarTemplateDirective,\r\n): TemplateRef<any> | undefined {\r\n return dir?.template;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { UnshapeGridNoDataTemplateDirective } from \"../../directives/no-data-template\";\r\nimport { TemplateRegistry } from \"../templates/interfaces/template-registry\";\r\nimport { extractNoDataTemplate } from \"./extract-no-data\";\r\nimport { extractLoadingTemplate } from \"./extract-loading\";\r\nimport { extractErrorTemplate } from \"./extract-error\";\r\nimport { extractGroupColumnTemplate } from \"./extract-group-column\";\r\nimport { extractGroupHeaderTemplate } from \"./extract-group-header\";\r\nimport { extractStatusBarTemplate } from \"./extract-statusbar\";\r\nimport { extractToolBarTemplate } from \"./extract-toolbar\";\r\nimport { UnshapeGridLoadingTemplateDirective } from \"../../directives/loading-template\";\r\nimport { UnshapeGridErrorTemplateDirective } from \"../../directives/error-template\";\r\nimport { UnshapeGridGroupColumnTemplateDirective } from \"../../directives/group-column-template\";\r\nimport { UnshapeGridGroupHeaderTemplateDirective } from \"../../directives/group-header-template\";\r\nimport { UnshapeGridStatusBarTemplateDirective } from \"../../directives/statusbar-template\";\r\nimport { UnshapeGridToolBarTemplateDirective } from \"../../directives/toolbar-template\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class TemplateCollectorService {\r\n collect(\r\n noDataTplDir?: UnshapeGridNoDataTemplateDirective,\r\n loadingTplDir?: UnshapeGridLoadingTemplateDirective,\r\n errorTplDir?: UnshapeGridErrorTemplateDirective,\r\n groupColumnTplDir?: UnshapeGridGroupColumnTemplateDirective,\r\n groupHeaderTplDir?: UnshapeGridGroupHeaderTemplateDirective,\r\n statusBarTplDir?: UnshapeGridStatusBarTemplateDirective,\r\n toolBarTplDir?: UnshapeGridToolBarTemplateDirective,\r\n ): TemplateRegistry {\r\n return {\r\n noData: extractNoDataTemplate(noDataTplDir),\r\n loading: extractLoadingTemplate(loadingTplDir),\r\n error: extractErrorTemplate(errorTplDir),\r\n groupColumn: extractGroupColumnTemplate(groupColumnTplDir),\r\n groupHeader: extractGroupHeaderTemplate(groupHeaderTplDir),\r\n statusBar: extractStatusBarTemplate(statusBarTplDir),\r\n toolBar: extractToolBarTemplate(toolBarTplDir),\r\n };\r\n }\r\n}\r\n","import { QueryList } from \"@angular/core\";\r\nimport { UnshapeGridColumnComponent } from \"../../../components/column/grid-column\";\r\nimport { GridColumn } from \"@unshape/grid\";\r\n\r\nexport function collectProjectedColumns(\r\n projectedColumns: QueryList<UnshapeGridColumnComponent>,\r\n): GridColumn[] {\r\n const columns: GridColumn[] = [];\r\n for (const projCol of projectedColumns) {\r\n const col: GridColumn = {\r\n header: projCol.header(),\r\n field: projCol.field(),\r\n width: projCol.width(),\r\n minWidth: projCol.minWidth(),\r\n maxWidth: projCol.maxWidth() ?? Infinity,\r\n visible: projCol.visible(),\r\n sortable: projCol.sortable(),\r\n filterEditor: projCol.filterEditor() ?? projCol.filterEditorFromTemplate,\r\n pinned: projCol.pinned(),\r\n columnMenu: projCol.columnMenu(),\r\n cellEditor: projCol.cellEditor() ?? projCol.cellEditorFromTemplate,\r\n filterable: projCol.filterable(),\r\n isNonData: projCol.isNonData(),\r\n align: projCol.align(),\r\n numberFormatOptions: projCol.numberFormatOptions(),\r\n dateFormatOptions: projCol.dateFormatOptions(),\r\n booleanFormatOptions: projCol.booleanFormatOptions(),\r\n formatter: projCol.formatter(),\r\n cellFormat: projCol.cellFormat?.() ?? undefined,\r\n columnStyle: projCol.columnStyle(),\r\n copyCellRenderer: projCol.copyCellRenderer(),\r\n copyGroupHeaderCellRenderer: projCol.copyGroupHeaderCellRenderer(),\r\n copyGroupFooterCellRenderer: projCol.copyGroupFooterCellRenderer(),\r\n calculation: projCol.calculation(),\r\n };\r\n columns.push(col);\r\n }\r\n return columns;\r\n}\r\n","import { Injectable, signal, TemplateRef } from \"@angular/core\";\r\nimport * as methods from \"./methods/index\";\r\nimport { Grid } from \"@unshape/grid\";\r\nimport { RendererAdapter } from \"@unshape/grid/engine/services/renderer/interfaces/renderer-adapter\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class ColumnService {\r\n private _grid = signal<Grid | null>(null);\r\n grid = this._grid.asReadonly();\r\n\r\n private adapter?: RendererAdapter;\r\n private pendingHeaderTemplates = new Map<string, TemplateRef<any>>();\r\n private pendingFooterTemplates = new Map<string, TemplateRef<any>>();\r\n private pendingCellTemplates = new Map<string, TemplateRef<any>>();\r\n private pendingGroupHeaderCellTemplates = new Map<string, TemplateRef<any>>();\r\n private pendingGroupFooterCellTemplates = new Map<string, TemplateRef<any>>();\r\n\r\n setGrid(grid: Grid) {\r\n this._grid.set(grid);\r\n }\r\n\r\n setAdapter(adapter: RendererAdapter) {\r\n this.adapter = adapter;\r\n // flush pending templates into the adapter\r\n this.pendingHeaderTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerColumnHeaderTemplate?.(key, tpl);\r\n });\r\n this.pendingHeaderTemplates.clear();\r\n\r\n this.pendingFooterTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerColumnFooterTemplate?.(key, tpl);\r\n });\r\n this.pendingFooterTemplates.clear();\r\n\r\n this.pendingCellTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerColumnCellTemplate?.(key, tpl);\r\n });\r\n this.pendingCellTemplates.clear();\r\n\r\n this.pendingGroupHeaderCellTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerGroupHeaderCellTemplate?.(key, tpl);\r\n });\r\n this.pendingGroupHeaderCellTemplates.clear();\r\n\r\n this.pendingGroupFooterCellTemplates.forEach((tpl, key) => {\r\n this.adapter!.registerGroupFooterCellTemplate?.(key, tpl);\r\n });\r\n this.pendingGroupFooterCellTemplates.clear();\r\n }\r\n\r\n clearAdapter() {\r\n this.adapter = undefined;\r\n }\r\n\r\n registerHeaderTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerColumnHeaderTemplate?.(key, tpl);\r\n } else {\r\n this.pendingHeaderTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n registerFooterTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerColumnFooterTemplate?.(key, tpl);\r\n } else {\r\n this.pendingFooterTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n registerCellTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerColumnCellTemplate?.(key, tpl);\r\n } else {\r\n this.pendingCellTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n registerGroupHeaderCellTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerGroupHeaderCellTemplate?.(key, tpl);\r\n } else {\r\n this.pendingGroupHeaderCellTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n registerGroupFooterCellTemplate(key: string, tpl: TemplateRef<any>) {\r\n if (this.adapter) {\r\n this.adapter.registerGroupFooterCellTemplate?.(key, tpl);\r\n } else {\r\n this.pendingGroupFooterCellTemplates.set(key, tpl);\r\n }\r\n }\r\n\r\n collectProjectedColumns = methods.collectProjectedColumns;\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridColumnHeaderTemplate]\",\r\n})\r\nexport class UnshapeGridColumnHeaderTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridColumnFooterTemplate]\",\r\n})\r\nexport class UnshapeGridColumnFooterTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridColumnCellTemplate]\",\r\n})\r\nexport class UnshapeGridColumnCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridFilterCellTemplate]\",\r\n})\r\nexport class UnshapeGridFilterCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridGroupHeaderCellTemplate]\",\r\n})\r\nexport class UnshapeGridGroupHeaderCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridGroupFooterCellTemplate]\",\r\n})\r\nexport class UnshapeGridGroupFooterCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[unshapeGridEditorCellTemplate]\",\r\n})\r\nexport class UnshapeGridEditorCellTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import {\r\n EmbeddedViewRef,\r\n signal,\r\n TemplateRef,\r\n WritableSignal,\r\n} from \"@angular/core\";\r\nimport { GridFilterEditor } from \"@unshape/grid\";\r\nimport { FilterCellMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/filter-cell-mount\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { FilterOperator } from \"@unshape/grid/engine/services/filter/interfaces/filter-operator\";\r\n\r\nexport class TemplateFilterEditorWrapper implements GridFilterEditor {\r\n element!: HTMLElement;\r\n controlElement!: HTMLElement;\r\n\r\n private onChangeCb: ((value: any) => void) | null = null;\r\n private onClearCb: (() => void) | null = null;\r\n private viewRef?: EmbeddedViewRef<TemplateFilterContext>;\r\n\r\n constructor(\r\n private template: TemplateRef<any>,\r\n private mountService: TemplateMountService,\r\n ) {}\r\n\r\n mount(mount: FilterCellMount): void {\r\n const ctx: TemplateFilterContext = {\r\n // static\r\n field: mount.context.field,\r\n header: mount.context.header,\r\n columnKey: mount.context.columnKey,\r\n columnId: mount.context.columnId,\r\n // dynamic\r\n value: signal(mount.context.value),\r\n disabled: signal(mount.context.disabled),\r\n operator: signal(mount.context.operator),\r\n // callbacks\r\n update: (v) => this.onChangeCb?.(v),\r\n clear: () => this.onClearCb?.(),\r\n };\r\n\r\n const handle = this.mountService.mount(this.template, mount.container, ctx);\r\n this.viewRef = handle.viewRef;\r\n\r\n const host = this.viewRef.rootNodes.find(\r\n (n) => n instanceof HTMLElement,\r\n ) as HTMLElement;\r\n\r\n // The container is the root element\r\n this.element = host;\r\n\r\n // Find the actual editor element inside the template\r\n this.controlElement = host.querySelector(\"[data-editor]\") as HTMLElement;\r\n\r\n if (!this.controlElement) {\r\n // fallback: assume the container itself is the control\r\n this.controlElement = this.element;\r\n }\r\n }\r\n\r\n // Grid → template\r\n setValue(value: any): void {\r\n if (!this.viewRef) return;\r\n this.viewRef.context.value.set(value);\r\n this.viewRef.detectChanges();\r\n }\r\n\r\n setDisabled(disabled: boolean): void {\r\n if (!this.viewRef) return;\r\n this.viewRef.context.disabled.set(disabled);\r\n this.viewRef.detectChanges();\r\n }\r\n\r\n onValueChange(cb: (value: any) => void): void {\r\n this.onChangeCb = cb;\r\n }\r\n\r\n onClear(cb: () => void): void {\r\n this.onClearCb = cb;\r\n }\r\n\r\n destroy(): void {\r\n this.viewRef?.destroy();\r\n }\r\n}\r\n\r\ninterface TemplateFilterContext {\r\n // static metadata\r\n field: string;\r\n header: string;\r\n columnKey: string;\r\n columnId: string;\r\n\r\n // dynamic values (signals)\r\n value: WritableSignal<any>;\r\n disabled: WritableSignal<boolean>;\r\n operator: WritableSignal<FilterOperator>;\r\n\r\n // callbacks\r\n update: (v: any) => void;\r\n clear: () => void;\r\n}\r\n","// template-filter-editor.factory.ts\r\nimport { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { TemplateFilterEditorWrapper } from \"./filter-editor-wrapper\";\r\nimport { GridFilterEditorFactoryFn } from \"@unshape/grid\";\r\nimport { InternalColumn } from \"@unshape/grid/engine/services/column/interfaces/internal-column\";\r\nimport { Grid } from \"@unshape/grid\";\r\n\r\nexport function templateFilterEditorFactory(\r\n template: TemplateRef<any>,\r\n mountService: TemplateMountService,\r\n): GridFilterEditorFactoryFn {\r\n return (column: InternalColumn, grid: Grid) => {\r\n // we don’t have FilterCellMount here yet\r\n // we just create an editor that knows how to mount itself later\r\n return new TemplateFilterEditorWrapper(template, mountService);\r\n };\r\n}\r\n","import {\r\n EmbeddedViewRef,\r\n signal,\r\n TemplateRef,\r\n WritableSignal,\r\n} from \"@angular/core\";\r\nimport { GridCellEditor } from \"@unshape/grid\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { CellEditorMount } from \"@unshape/grid/engine/services/renderer/interfaces/template-mounts/cell-editor-mount\";\r\n\r\nexport class TemplateCellEditorWrapper implements GridCellEditor {\r\n element!: HTMLElement;\r\n controlElement!: HTMLElement;\r\n\r\n private onChangeCb: ((value: any) => void) | null = null;\r\n private onCommitCb: ((value: any) => void) | null = null;\r\n private onCancelCb: (() => void) | null = null;\r\n private viewRef?: EmbeddedViewRef<TemplateCellEditorContext>;\r\n\r\n constructor(\r\n private template: TemplateRef<any>,\r\n private mountService: TemplateMountService,\r\n ) {}\r\n\r\n mount(mount: CellEditorMount): void {\r\n const ctx: TemplateCellEditorContext = {\r\n // static\r\n field: mount.context.field,\r\n header: mount.context.header,\r\n columnKey: mount.context.columnKey,\r\n columnId: mount.context.columnId,\r\n rowId: mount.context.rowId,\r\n // dynamic\r\n value: signal(mount.context.value),\r\n disabled: signal(mount.context.disabled),\r\n // callbacks\r\n update: (v) => this.onChangeCb?.(v),\r\n commit: (v) => this.onCommitCb?.(v),\r\n cancel: () => this.onCancelCb?.(),\r\n onKeydown: (event) => this.onKeydown(event, ctx),\r\n };\r\n\r\n const handle = this.mountService.mount(this.template, mount.container, ctx);\r\n this.viewRef = handle.viewRef;\r\n\r\n const host = this.viewRef.rootNodes.find(\r\n (n) => n instanceof HTMLElement,\r\n ) as HTMLElement;\r\n\r\n // The container is the root element\r\n this.element = host;\r\n\r\n // Find the actual editor element inside the template\r\n this.controlElement = host.querySelector(\"[data-editor]\") as HTMLElement;\r\n\r\n if (!this.controlElement) {\r\n // fallback: assume the container itself is the control\r\n this.controlElement = this.element;\r\n }\r\n }\r\n\r\n // Grid → template\r\n setValue(value: any): void {\r\n if (!this.viewRef) return;\r\n this.viewRef.context.value.set(value);\r\n this.viewRef.detectChanges();\r\n }\r\n\r\n setDisabled(disabled: boolean): void {\r\n if (!this.viewRef) return;\r\n this.viewRef.context.disabled.set(disabled);\r\n this.viewRef.detectChanges();\r\n }\r\n\r\n onValueChange(cb: (value: any) => void): void {\r\n this.onChangeCb = cb;\r\n }\r\n\r\n onCommit(cb: (value: any) => void): void {\r\n this.onCommitCb = cb;\r\n }\r\n\r\n onCancel(cb: () => void): void {\r\n this.onCancelCb = cb;\r\n }\r\n\r\n onKeydown(event: KeyboardEvent, ctx: TemplateCellEditorContext) {\r\n if (event.key === \"Enter\") {\r\n event.preventDefault();\r\n ctx.commit(ctx.value());\r\n }\r\n if (event.key === \"Escape\") {\r\n event.preventDefault();\r\n ctx.cancel();\r\n }\r\n }\r\n\r\n destroy(): void {\r\n this.viewRef?.destroy();\r\n }\r\n}\r\n\r\ninterface TemplateCellEditorContext {\r\n // static metadata\r\n field: string;\r\n header: string;\r\n columnKey: string;\r\n columnId: string;\r\n rowId: string;\r\n\r\n // dynamic values (signals)\r\n value: WritableSignal<any>;\r\n disabled: WritableSignal<boolean>;\r\n\r\n // callbacks\r\n update: (v: any) => void;\r\n commit: (v: any) => void;\r\n cancel: () => void;\r\n onKeydown: (event: KeyboardEvent) => void;\r\n}\r\n","// template-filter-editor.factory.ts\r\nimport { TemplateRef } from \"@angular/core\";\r\nimport { TemplateMountService } from \"../templates/template-mount\";\r\nimport { Grid, GridCellEditorFactoryFn } from \"@unshape/grid\";\r\nimport { TemplateCellEditorWrapper } from \"./cell-editor-wrapper\";\r\nimport { InternalColumn } from \"@unshape/grid/engine/services/column/interfaces/internal-column\";\r\n\r\nexport function templateCellEditorFactory(\r\n template: TemplateRef<any>,\r\n mountService: TemplateMountService,\r\n): GridCellEditorFactoryFn {\r\n return (\r\n column: InternalColumn,\r\n rowId: string,\r\n grid: Grid,\r\n initialValue: any,\r\n ) => {\r\n // we don’t have EditorCellMount here yet\r\n // we just create an editor that knows how to mount itself later\r\n return new TemplateCellEditorWrapper(template, mountService);\r\n };\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport {\r\n AfterContentInit,\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n EffectRef,\r\n inject,\r\n Injector,\r\n input,\r\n runInInjectionContext,\r\n} from \"@angular/core\";\r\nimport * as effects from \"../../effects/index\";\r\nimport { ColumnService } from \"../../services/column/column\";\r\nimport { UnshapeGridColumnHeaderTemplateDirective } from \"../../directives/column-header-template\";\r\nimport { UnshapeGridColumnFooterTemplateDirective } from \"../../directives/column-footer-template\";\r\nimport { UnshapeGridColumnCellTemplateDirective } from \"../../directives/column-cell-template\";\r\nimport { UnshapeGridFilterCellTemplateDirective } from \"../../directives/filter-cell-template\";\r\nimport { UnshapeGridGroupHeaderCellTemplateDirective } from \"../../directives/group-header-cell-template\";\r\nimport { UnshapeGridGroupFooterCellTemplateDirective } from \"../../directives/group-footer-cell-template\";\r\nimport { UnshapeGridEditorCellTemplateDirective } from \"../../directives/editor-cell-template\";\r\nimport {\r\n GridColumnSortSettings,\r\n GridFilterEditorFactoryFn,\r\n GridPinnedColumn,\r\n GridCellEditorFactoryFn,\r\n GridCellFormatParams,\r\n GridCellFormat,\r\n GridColumnFormat,\r\n GridCopyCellRendererParams,\r\n GridCopyGroupHeaderCellRendererParams,\r\n GridCopyGroupFooterCellRendererParams,\r\n CalculatedColumnFormula,\r\n} from \"@unshape/grid\";\r\nimport {\r\n TextAlign,\r\n NumberFormatOptions,\r\n DateFormatOptions,\r\n BooleanFormatOptions,\r\n CustomFormatter,\r\n} from \"@unshape/format-core\";\r\nimport { templateFilterEditorFactory } from \"../../services/renderer-adapter/filter-editor-factory\";\r\nimport { TemplateMountService } from \"../../services/templates/template-mount\";\r\nimport { templateCellEditorFactory } from \"../../services/renderer-adapter/cell-editor-factory\";\r\n\r\n@Component({\r\n selector: \"ush-grid-column\",\r\n imports: [CommonModule],\r\n template: \"\",\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class UnshapeGridColumnComponent\r\n implements AfterViewInit, AfterContentInit\r\n{\r\n private injector = inject(Injector);\r\n private columnService = inject(ColumnService);\r\n private templateMountService = inject(TemplateMountService);\r\n filterEditorFromTemplate?: GridFilterEditorFactoryFn;\r\n cellEditorFromTemplate?: GridCellEditorFactoryFn;\r\n\r\n header = input.required<string>();\r\n field = input.required<string>();\r\n width = input<number>();\r\n visible = input<boolean>(true);\r\n minWidth = input<number>();\r\n maxWidth = input<number>();\r\n sortable = input<boolean | GridColumnSortSettings>(false);\r\n filterEditor = input<GridFilterEditorFactoryFn>();\r\n pinned = input<GridPinnedColumn>();\r\n columnMenu = input<boolean>(true);\r\n cellEditor = input<GridCellEditorFactoryFn>();\r\n filterable = input<boolean>(true);\r\n isNonData = input<boolean>(false);\r\n align = input<TextAlign>();\r\n numberFormatOptions = input<NumberFormatOptions>();\r\n dateFormatOptions = input<DateFormatOptions>();\r\n booleanFormatOptions = input<BooleanFormatOptions>();\r\n formatter = input<CustomFormatter>();\r\n cellFormat =\r\n input<(params: GridCellFormatParams) => GridCellFormat | undefined>();\r\n columnStyle = input<GridColumnFormat>();\r\n copyCellRenderer = input<(params: GridCopyCellRendererParams) => string>();\r\n copyGroupHeaderCellRenderer =\r\n input<(params: GridCopyGroupHeaderCellRendererParams) => string>();\r\n copyGroupFooterCellRenderer =\r\n input<(params: GridCopyGroupFooterCellRendererParams) => string>();\r\n calculation = input<CalculatedColumnFormula>();\r\n\r\n toggleVisibilityEffect!: EffectRef;\r\n\r\n @ContentChild(UnshapeGridColumnHeaderTemplateDirective)\r\n headerTemplateDir?: UnshapeGridColumnHeaderTemplateDirective;\r\n @ContentChild(UnshapeGridColumnFooterTemplateDirective)\r\n footerTemplateDir?: UnshapeGridColumnFooterTemplateDirective;\r\n @ContentChild(UnshapeGridColumnCellTemplateDirective)\r\n cellTemplateDir?: UnshapeGridColumnCellTemplateDirective;\r\n @ContentChild(UnshapeGridFilterCellTemplateDirective)\r\n filterCellTemplateDir?: UnshapeGridFilterCellTemplateDirective;\r\n @ContentChild(UnshapeGridGroupHeaderCellTemplateDirective)\r\n groupHeaderCellTemplateDir?: UnshapeGridGroupHeaderCellTemplateDirective;\r\n @ContentChild(UnshapeGridGroupFooterCellTemplateDirective)\r\n groupFooterCellTemplateDir?: UnshapeGridGroupFooterCellTemplateDirective;\r\n @ContentChild(UnshapeGridEditorCellTemplateDirective)\r\n editorCellTemplateDir?: UnshapeGridEditorCellTemplateDirective;\r\n\r\n ngAfterViewInit(): void {\r\n runInInjectionContext(this.injector, () => {\r\n this.toggleVisibilityEffect = effects.toggleVisibilityInputEffect(\r\n `${this.field()}::${this.header()}`,\r\n this.visible,\r\n this.columnService,\r\n );\r\n });\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n if (this.headerTemplateDir) {\r\n this.columnService.registerHeaderTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.headerTemplateDir.template,\r\n );\r\n }\r\n if (this.footerTemplateDir) {\r\n this.columnService.registerFooterTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.footerTemplateDir.template,\r\n );\r\n }\r\n if (this.cellTemplateDir) {\r\n this.columnService.registerCellTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.cellTemplateDir.template,\r\n );\r\n }\r\n if (this.filterCellTemplateDir) {\r\n this.filterEditorFromTemplate = templateFilterEditorFactory(\r\n this.filterCellTemplateDir.template,\r\n this.templateMountService,\r\n );\r\n }\r\n if (this.groupHeaderCellTemplateDir) {\r\n this.columnService.registerGroupHeaderCellTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.groupHeaderCellTemplateDir.template,\r\n );\r\n }\r\n if (this.groupFooterCellTemplateDir) {\r\n this.columnService.registerGroupFooterCellTemplate(\r\n `${this.field()}::${this.header()}`,\r\n this.groupFooterCellTemplateDir.template,\r\n );\r\n }\r\n if (this.editorCellTemplateDir) {\r\n this.cellEditorFromTemplate = templateCellEditorFactory(\r\n this.editorCellTemplateDir.template,\r\n this.templateMountService,\r\n );\r\n }\r\n }\r\n}\r\n","import {\r\n AfterContentInit,\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n ContentChildren,\r\n EffectRef,\r\n ElementRef,\r\n inject,\r\n Injector,\r\n input,\r\n OnDestroy,\r\n QueryList,\r\n runInInjectionContext,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport * as effects from \"../../effects/index\";\r\nimport {\r\n Grid,\r\n GridColumn,\r\n GridOptions,\r\n GridResizeMode,\r\n GridFilterType,\r\n GridSortSettings,\r\n GridGroupingSettings,\r\n GridAnimationOptions,\r\n GridSelectionSettings,\r\n GridColumnMenuSettings,\r\n GridColumnReorderSettings,\r\n GridEditingSettings,\r\n GridEditingEvents,\r\n GridSchema,\r\n GridRowEditingEvents,\r\n GridRowEvents,\r\n GridNewRowEvents,\r\n GridRowFormat,\r\n GridCopySettings,\r\n GridPasteSettings,\r\n GridClipboardEvents,\r\n GridMode,\r\n AnalysisOptions,\r\n FormattingPrecedence,\r\n} from \"@unshape/grid\";\r\n\r\nimport { UnshapeGridNoDataTemplateDirective } from \"../../directives/no-data-template\";\r\nimport { UnshapeGridLoadingTemplateDirective } from \"../../directives/loading-template\";\r\nimport { UnshapeGridGroupColumnTemplateDirective } from \"../../directives/group-column-template\";\r\nimport { UnshapeGridGroupHeaderTemplateDirective } from \"../../directives/group-header-template\";\r\nimport { UnshapeGridStatusBarTemplateDirective } from \"../../directives/statusbar-template\";\r\nimport { UnshapeGridToolBarTemplateDirective } from \"../../directives/toolbar-template\";\r\nimport { UnshapeGridErrorTemplateDirective } from \"../../directives/error-template\";\r\n\r\nimport { RendererAdapterFactory } from \"../../services/renderer-adapter/renderer-adapter-factory\";\r\nimport { TemplateCollectorService } from \"../../services/template-collector/template-collector\";\r\nimport { UnshapeGridColumnComponent } from \"../column/grid-column\";\r\nimport { ColumnService } from \"../../services/column/column\";\r\n\r\nimport { GridErrorType } from \"@unshape/grid/engine/services/error/types/error-type\";\r\n\r\n@Component({\r\n selector: \"ush-grid\",\r\n imports: [CommonModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: \"./grid.html\",\r\n styleUrl: \"./grid.css\",\r\n})\r\nexport class UnshapeGridComponent\r\n implements AfterViewInit, OnDestroy, AfterContentInit\r\n{\r\n private grid: Grid | null = null;\r\n private injector = inject(Injector);\r\n private adapterFactory = inject(RendererAdapterFactory);\r\n private templateCollector = inject(TemplateCollectorService);\r\n private errorType!: GridErrorType | null;\r\n private columnService = inject(ColumnService);\r\n\r\n @ViewChild(\"host\", { static: true }) hostRef!: ElementRef<HTMLDivElement>;\r\n\r\n @ContentChild(UnshapeGridNoDataTemplateDirective)\r\n noDataTemplateDir?: UnshapeGridNoDataTemplateDirective;\r\n @ContentChild(UnshapeGridLoadingTemplateDirective)\r\n loadingTemplateDir?: UnshapeGridLoadingTemplateDirective;\r\n @ContentChild(UnshapeGridErrorTemplateDirective)\r\n errorTemplateDir?: UnshapeGridErrorTemplateDirective;\r\n @ContentChild(UnshapeGridGroupColumnTemplateDirective)\r\n groupColumnTemplateDir?: UnshapeGridGroupColumnTemplateDirective;\r\n @ContentChild(UnshapeGridGroupHeaderTemplateDirective)\r\n groupHeaderTemplateDir?: UnshapeGridGroupHeaderTemplateDirective;\r\n @ContentChild(UnshapeGridStatusBarTemplateDirective)\r\n statusBarTemplateDir?: UnshapeGridStatusBarTemplateDirective;\r\n @ContentChild(UnshapeGridToolBarTemplateDirective)\r\n toolBarTemplateDir?: UnshapeGridToolBarTemplateDirective;\r\n\r\n @ContentChildren(UnshapeGridColumnComponent)\r\n projectedColumns!: QueryList<UnshapeGridColumnComponent>;\r\n\r\n // inputs\r\n id = input.required<string>();\r\n columns = input<GridColumn[]>([]);\r\n data = input<any[]>([]);\r\n loading = input<boolean>(false);\r\n resizable = input<boolean>(false);\r\n resizeMode = input<GridResizeMode>(\"unconstrained\");\r\n enableAnimations = input<boolean>(false);\r\n animationOptions = input<GridAnimationOptions>({\r\n sort: false,\r\n filter: false,\r\n group: true,\r\n paging: false,\r\n });\r\n filterable = input<GridFilterType>(false);\r\n sortSettings = input<GridSortSettings>({});\r\n showFooter = input<boolean>(true);\r\n locale = input<string>(navigator.language);\r\n groupable = input<boolean | GridGroupingSettings>(false);\r\n pageable = input<boolean>(false);\r\n selectable = input<boolean | GridSelectionSettings>(false);\r\n showStatusBar = input<boolean>(false);\r\n columnMenu = input<boolean | GridColumnMenuSettings>(false);\r\n allowColumnReorder = input<boolean | GridColumnReorderSettings>(false);\r\n showToolBar = input<boolean>(false);\r\n toolBarRenderer = input<(() => HTMLElement | string) | null>(null);\r\n editable = input<boolean | GridEditingSettings>(false);\r\n editingEvents = input<GridEditingEvents>({});\r\n schema = input<GridSchema>({ fields: [] });\r\n rowEditingEvents = input<GridRowEditingEvents>({});\r\n rowEvents = input<GridRowEvents>({});\r\n newRowEvents = input<GridNewRowEvents>({});\r\n rowFormat = input<((row: any) => GridRowFormat) | null>(null);\r\n copy = input<boolean | GridCopySettings>(false);\r\n paste = input<boolean | GridPasteSettings>(false);\r\n clipboardEvents = input<GridClipboardEvents>({});\r\n mode = input<GridMode>(\"standard\");\r\n analysisOptions = input<AnalysisOptions>();\r\n formattingPrecedence = input<FormattingPrecedence>(\"row-first\");\r\n useAlternateRows = input<boolean>(false);\r\n\r\n // reactive effects\r\n gridIdEffect!: EffectRef;\r\n dataEffect!: EffectRef;\r\n columnEffect!: EffectRef;\r\n loadingEffect!: EffectRef;\r\n resizableEffect!: EffectRef;\r\n resizeModeEffect!: EffectRef;\r\n enableAnimationsEffect!: EffectRef;\r\n animationOptionsEffect!: EffectRef;\r\n filterableEffect!: EffectRef;\r\n sortSettingsEffect!: EffectRef;\r\n showFooterEffect!: EffectRef;\r\n localeEffect!: EffectRef;\r\n groupableEffect!: EffectRef;\r\n pageableEffect!: EffectRef;\r\n selectableEffect!: EffectRef;\r\n showStatusBarEffect!: EffectRef;\r\n columnMenuEffect!: EffectRef;\r\n allowColumnReorderEffect!: EffectRef;\r\n showToolBarEffect!: EffectRef;\r\n toolBarRendererEffect!: EffectRef;\r\n editableEffect!: EffectRef;\r\n editingEventsEffect!: EffectRef;\r\n schemaEffect!: EffectRef;\r\n rowEditingEventsEffect!: EffectRef;\r\n rowEventsEffect!: EffectRef;\r\n newRowEventsEffect!: EffectRef;\r\n rowFormatEffect!: EffectRef;\r\n copyEffect!: EffectRef;\r\n pasteEffect!: EffectRef;\r\n clipboardEventsEffect!: EffectRef;\r\n modeEffect!: EffectRef;\r\n analysisOptionsEffect!: EffectRef;\r\n formattingPrecedenceEffect!: EffectRef;\r\n useAlternateRowsEffect!: EffectRef;\r\n\r\n ngAfterViewInit(): void {\r\n const host = this.hostRef.nativeElement;\r\n const registry = this.templateCollector.collect(\r\n this.noDataTemplateDir,\r\n this.loadingTemplateDir,\r\n this.errorTemplateDir,\r\n this.groupColumnTemplateDir,\r\n this.groupHeaderTemplateDir,\r\n this.statusBarTemplateDir,\r\n this.toolBarTemplateDir,\r\n );\r\n const adapter = this.adapterFactory.buildAdapter(registry);\r\n this.columnService.setAdapter(adapter);\r\n\r\n const projected = this.columnService.collectProjectedColumns(\r\n this.projectedColumns,\r\n );\r\n const inputCols = this.columns();\r\n const finalColumns =\r\n inputCols !== undefined && inputCols !== null && inputCols.length > 0\r\n ? inputCols\r\n : projected;\r\n if (finalColumns.length === 0) this.errorType = \"no-columns\";\r\n\r\n const options: GridOptions = {\r\n id: this.id(),\r\n columns: finalColumns,\r\n data: this.data(),\r\n resizable: this.resizable(),\r\n resizeMode: this.resizeMode(),\r\n enableAnimations: this.enableAnimations(),\r\n animationOptions: this.animationOptions(),\r\n filterable: this.filterable(),\r\n sortSettings: this.sortSettings(),\r\n rendererAdapter: adapter,\r\n showFooter: this.showFooter(),\r\n locale: this.locale(),\r\n groupable: this.groupable(),\r\n pageable: this.pageable(),\r\n selectable: this.selectable(),\r\n showStatusBar: this.showStatusBar(),\r\n columnMenu: this.columnMenu(),\r\n allowColumnReorder: this.allowColumnReorder(),\r\n showToolBar: this.showToolBar(),\r\n toolBarRenderer: this.toolBarRenderer(),\r\n editable: this.editable(),\r\n editingEvents: this.editingEvents(),\r\n schema: this.schema(),\r\n rowEditingEvents: this.rowEditingEvents(),\r\n rowEvents: this.rowEvents(),\r\n newRowEvents: this.newRowEvents(),\r\n rowFormat: this.rowFormat(),\r\n copy: this.copy(),\r\n paste: this.paste(),\r\n clipboardEvents: this.clipboardEvents(),\r\n mode: this.mode(),\r\n analysisOptions: this.analysisOptions(),\r\n formattingPrecedence: this.formattingPrecedence(),\r\n useAlternateRows: this.useAlternateRows(),\r\n };\r\n\r\n this.grid = new Grid(host, options);\r\n this.columnService.setGrid(this.grid);\r\n\r\n runInInjectionContext(this.injector, () => {\r\n this.gridIdEffect = effects.gridIdInputEffect(this.id, this.grid!);\r\n this.dataEffect = effects.dataInputEffect(this.data, this.grid!);\r\n this.columnEffect = effects.columnInputEffect(this.columns, this.grid!);\r\n this.loadingEffect = effects.loadingInputEffect(this.loading, this.grid!);\r\n this.resizableEffect = effects.resizableInputEffect(\r\n this.resizable,\r\n this.grid!,\r\n );\r\n this.resizeModeEffect = effects.resizeModeInputEffect(\r\n this.resizeMode,\r\n this.grid!,\r\n );\r\n this.enableAnimationsEffect = effects.enableAnimationsInputEffect(\r\n this.enableAnimations,\r\n this.grid!,\r\n );\r\n this.animationOptionsEffect = effects.animationOptionsInputEffect(\r\n this.animationOptions,\r\n this.grid!,\r\n );\r\n this.filterableEffect = effects.filterableInputEffect(\r\n this.filterable,\r\n this.grid!,\r\n );\r\n this.sortSettingsEffect = effects.sortSettingsInputEffect(\r\n this.sortSettings,\r\n this.grid!,\r\n );\r\n this.showFooterEffect = effects.showFooterInputEffect(\r\n this.showFooter,\r\n this.grid!,\r\n );\r\n this.localeEffect = effects.localeInputEffect(this.locale, this.grid!);\r\n this.groupableEffect = effects.groupableInputEffect(\r\n this.groupable,\r\n this.grid!,\r\n );\r\n this.pageableEffect = effects.pageableInputEffect(\r\n this.pageable,\r\n this.grid!,\r\n );\r\n this.selectableEffect = effects.selectableInputEffect(\r\n this.selectable,\r\n this.grid!,\r\n );\r\n this.showStatusBarEffect = effects.showStatusBarInputEffect(\r\n this.showStatusBar,\r\n this.grid!,\r\n );\r\n this.columnMenuEffect = effects.columnMenuInputEffect(\r\n this.columnMenu,\r\n this.grid!,\r\n );\r\n this.allowColumnReorderEffect = effects.allowColumnReorderInputEffect(\r\n this.allowColumnReorder,\r\n this.grid!,\r\n );\r\n this.showToolBarEffect = effects.showToolBarInputEffect(\r\n this.showToolBar,\r\n this.grid!,\r\n );\r\n this.toolBarRendererEffect = effects.toolBarRendererInputEffect(\r\n this.toolBarRenderer,\r\n this.grid!,\r\n );\r\n this.editableEffect = effects.editableInputEffect(\r\n this.editable,\r\n this.grid!,\r\n );\r\n this.editingEventsEffect = effects.editingEventsInputEffect(\r\n this.editingEvents,\r\n this.grid!,\r\n );\r\n this.schemaEffect = effects.schemaInputEffect(this.schema, this.grid!);\r\n this.rowEditingEventsEffect = effects.rowEditingEventsInputEffect(\r\n this.rowEditingEvents,\r\n this.grid!,\r\n );\r\n this.rowEventsEffect = effects.rowEventsInputEffect(\r\n this.rowEvents,\r\n this.grid!,\r\n );\r\n this.newRowEventsEffect = effects.newRowEventsInputEffect(\r\n this.newRowEvents,\r\n this.grid!,\r\n );\r\n this.rowFormatEffect = effects.rowFormatInputEffect(\r\n this.rowFormat,\r\n this.grid!,\r\n );\r\n this.copyEffect = effects.copyInputEffect(this.copy, this.grid!);\r\n this.pasteEffect = effects.pasteInputEffect(this.paste, this.grid!);\r\n this.clipboardEventsEffect = effects.clipboardEventsInputEffect(\r\n this.clipboardEvents,\r\n this.grid!,\r\n );\r\n this.modeEffect = effects.modeInputEffect(this.mode, this.grid!);\r\n this.analysisOptionsEffect = effects.analysisOptionsInputEffect(\r\n this.analysisOptions,\r\n this.grid!,\r\n );\r\n this.formattingPrecedenceEffect = effects.formattingPrecedenceInputEffect(\r\n this.formattingPrecedence,\r\n this.grid!,\r\n );\r\n this.useAlternateRowsEffect = effects.useAlternateRowsInputEffect(\r\n this.useAlternateRows,\r\n this.grid!,\r\n );\r\n });\r\n\r\n if (this.errorType) this.grid.api.setError(true, this.errorType);\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n if (this.columns().length > 0 && this.projectedColumns.length > 0)\r\n this.errorType = \"ambiguous-column-definition\";\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.columnService.clearAdapter();\r\n this.grid?.destroy();\r\n this.grid = null;\r\n }\r\n\r\n collapseAllGroups() {\r\n this.grid!.api.collapseAllGroups();\r\n }\r\n\r\n expandAllGroups() {\r\n this.grid!.api.expandAllGroups();\r\n }\r\n\r\n getValidation(rowId: string, fieldName: string) {\r\n return this.grid!.api.getValidation(rowId, fieldName);\r\n }\r\n\r\n getRowValidation(rowId: string) {\r\n return this.grid!.api.getRowValidation(rowId);\r\n }\r\n\r\n getAllValidation() {\r\n return this.grid!.api.getAllValidation();\r\n }\r\n\r\n hasErrors() {\r\n return this.grid!.api.hasErrors();\r\n }\r\n\r\n startRowEdit(rowId: string) {\r\n this.grid!.api.startRowEdit(rowId);\r\n }\r\n\r\n cancelRowEdit() {\r\n this.grid!.api.cancelRowEdit();\r\n }\r\n\r\n commitRowEdit() {\r\n this.grid!.api.commitRowEdit();\r\n }\r\n\r\n deleteRow(rowId: string) {\r\n this.grid!.api.deleteRow(rowId);\r\n }\r\n\r\n toggleAddNewRow(show: boolean) {\r\n this.grid!.api.setShowAddNewRow(show);\r\n }\r\n}\r\n","<div #host class=\"ush-grid-host\"></div>\r\n","import { CommonModule } from \"@angular/common\";\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n HostBinding,\r\n input,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"ush-spacer\",\r\n imports: [CommonModule],\r\n template: \"\",\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SpacerComponent {\r\n width = input<string>();\r\n\r\n @HostBinding(\"style.width\") get styleWidth() {\r\n return this.width();\r\n }\r\n\r\n @HostBinding(\"class.ush-spacer-sized\") get hasWidthClass() {\r\n return !!this.width();\r\n }\r\n\r\n @HostBinding(\"class.ush-spacer\") get defaultClass() {\r\n return true;\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport {\r\n UnshapeGridColumnCellTemplateDirective,\r\n UnshapeGridColumnComponent,\r\n UnshapeGridColumnFooterTemplateDirective,\r\n UnshapeGridColumnHeaderTemplateDirective,\r\n UnshapeGridComponent,\r\n UnshapeGridErrorTemplateDirective,\r\n UnshapeGridFilterCellTemplateDirective,\r\n UnshapeGridLoadingTemplateDirective,\r\n UnshapeGridNoDataTemplateDirective,\r\n UnshapeGridGroupColumnTemplateDirective,\r\n UnshapeGridGroupHeaderCellTemplateDirective,\r\n UnshapeGridGroupHeaderTemplateDirective,\r\n UnshapeGridGroupFooterCellTemplateDirective,\r\n UnshapeGridStatusBarTemplateDirective,\r\n UnshapeGridToolBarTemplateDirective,\r\n SpacerComponent,\r\n UnshapeGridEditorCellTemplateDirective,\r\n} from \"../../public-api\";\r\n\r\n@NgModule({\r\n imports: [\r\n UnshapeGridComponent,\r\n UnshapeGridColumnComponent,\r\n UnshapeGridNoDataTemplateDirective,\r\n UnshapeGridLoadingTemplateDirective,\r\n UnshapeGridErrorTemplateDirective,\r\n UnshapeGridColumnHeaderTemplateDirective,\r\n UnshapeGridColumnFooterTemplateDirective,\r\n UnshapeGridColumnCellTemplateDirective,\r\n UnshapeGridFilterCellTemplateDirective,\r\n UnshapeGridGroupColumnTemplateDirective,\r\n UnshapeGridGroupHeaderCellTemplateDirective,\r\n UnshapeGridGroupHeaderTemplateDirective,\r\n UnshapeGridGroupFooterCellTemplateDirective,\r\n UnshapeGridStatusBarTemplateDirective,\r\n UnshapeGridToolBarTemplateDirective,\r\n SpacerComponent,\r\n UnshapeGridEditorCellTemplateDirective,\r\n ],\r\n exports: [\r\n UnshapeGridComponent,\r\n UnshapeGridColumnComponent,\r\n UnshapeGridNoDataTemplateDirective,\r\n UnshapeGridLoadingTemplateDirective,\r\n UnshapeGridErrorTemplateDirective,\r\n UnshapeGridColumnHeaderTemplateDirective,\r\n UnshapeGridColumnFooterTemplateDirective,\r\n UnshapeGridColumnCellTemplateDirective,\r\n UnshapeGridFilterCellTemplateDirective,\r\n UnshapeGridGroupColumnTemplateDirective,\r\n UnshapeGridGroupHeaderCellTemplateDirective,\r\n UnshapeGridGroupHeaderTemplateDirective,\r\n UnshapeGridGroupFooterCellTemplateDirective,\r\n UnshapeGridStatusBarTemplateDirective,\r\n UnshapeGridToolBarTemplateDirective,\r\n SpacerComponent,\r\n UnshapeGridEditorCellTemplateDirective,\r\n ],\r\n providers: [],\r\n})\r\nexport class UNSHAPE_GRID {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["methods.collectProjectedColumns","effects.toggleVisibilityInputEffect","effects.gridIdInputEffect","effects.dataInputEffect","effects.columnInputEffect","effects.loadingInputEffect","effects.resizableInputEffect","effects.resizeModeInputEffect","effects.enableAnimationsInputEffect","effects.animationOptionsInputEffect","effects.filterableInputEffect","effects.sortSettingsInputEffect","effects.showFooterInputEffect","effects.localeInputEffect","effects.groupableInputEffect","effects.pageableInputEffect","effects.selectableInputEffect","effects.showStatusBarInputEffect","effects.columnMenuInputEffect","effects.allowColumnReorderInputEffect","effects.showToolBarInputEffect","effects.toolBarRendererInputEffect","effects.editableInputEffect","effects.editingEventsInputEffect","effects.schemaInputEffect","effects.rowEditingEventsInputEffect","effects.rowEventsInputEffect","effects.newRowEventsInputEffect","effects.rowFormatInputEffect","effects.copyInputEffect","effects.pasteInputEffect","effects.clipboardEventsInputEffect","effects.modeInputEffect","effects.analysisOptionsInputEffect","effects.formattingPrecedenceInputEffect","effects.useAlternateRowsInputEffect"],"mappings":"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"}
|
|
@@ -195,6 +195,7 @@ declare class UnshapeGridComponent implements AfterViewInit, OnDestroy, AfterCon
|
|
|
195
195
|
mode: _angular_core.InputSignal<GridMode>;
|
|
196
196
|
analysisOptions: _angular_core.InputSignal<AnalysisOptions>;
|
|
197
197
|
formattingPrecedence: _angular_core.InputSignal<FormattingPrecedence>;
|
|
198
|
+
useAlternateRows: _angular_core.InputSignal<boolean>;
|
|
198
199
|
gridIdEffect: EffectRef;
|
|
199
200
|
dataEffect: EffectRef;
|
|
200
201
|
columnEffect: EffectRef;
|
|
@@ -228,6 +229,7 @@ declare class UnshapeGridComponent implements AfterViewInit, OnDestroy, AfterCon
|
|
|
228
229
|
modeEffect: EffectRef;
|
|
229
230
|
analysisOptionsEffect: EffectRef;
|
|
230
231
|
formattingPrecedenceEffect: EffectRef;
|
|
232
|
+
useAlternateRowsEffect: EffectRef;
|
|
231
233
|
ngAfterViewInit(): void;
|
|
232
234
|
ngAfterContentInit(): void;
|
|
233
235
|
ngOnDestroy(): void;
|
|
@@ -243,7 +245,7 @@ declare class UnshapeGridComponent implements AfterViewInit, OnDestroy, AfterCon
|
|
|
243
245
|
deleteRow(rowId: string): void;
|
|
244
246
|
toggleAddNewRow(show: boolean): void;
|
|
245
247
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UnshapeGridComponent, never>;
|
|
246
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UnshapeGridComponent, "ush-grid", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "resizeMode": { "alias": "resizeMode"; "required": false; "isSignal": true; }; "enableAnimations": { "alias": "enableAnimations"; "required": false; "isSignal": true; }; "animationOptions": { "alias": "animationOptions"; "required": false; "isSignal": true; }; "filterable": { "alias": "filterable"; "required": false; "isSignal": true; }; "sortSettings": { "alias": "sortSettings"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "groupable": { "alias": "groupable"; "required": false; "isSignal": true; }; "pageable": { "alias": "pageable"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "showStatusBar": { "alias": "showStatusBar"; "required": false; "isSignal": true; }; "columnMenu": { "alias": "columnMenu"; "required": false; "isSignal": true; }; "allowColumnReorder": { "alias": "allowColumnReorder"; "required": false; "isSignal": true; }; "showToolBar": { "alias": "showToolBar"; "required": false; "isSignal": true; }; "toolBarRenderer": { "alias": "toolBarRenderer"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "editingEvents": { "alias": "editingEvents"; "required": false; "isSignal": true; }; "schema": { "alias": "schema"; "required": false; "isSignal": true; }; "rowEditingEvents": { "alias": "rowEditingEvents"; "required": false; "isSignal": true; }; "rowEvents": { "alias": "rowEvents"; "required": false; "isSignal": true; }; "newRowEvents": { "alias": "newRowEvents"; "required": false; "isSignal": true; }; "rowFormat": { "alias": "rowFormat"; "required": false; "isSignal": true; }; "copy": { "alias": "copy"; "required": false; "isSignal": true; }; "paste": { "alias": "paste"; "required": false; "isSignal": true; }; "clipboardEvents": { "alias": "clipboardEvents"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "analysisOptions": { "alias": "analysisOptions"; "required": false; "isSignal": true; }; "formattingPrecedence": { "alias": "formattingPrecedence"; "required": false; "isSignal": true; }; }, {}, ["noDataTemplateDir", "loadingTemplateDir", "errorTemplateDir", "groupColumnTemplateDir", "groupHeaderTemplateDir", "statusBarTemplateDir", "toolBarTemplateDir", "projectedColumns"], never, true, never>;
|
|
248
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UnshapeGridComponent, "ush-grid", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "resizeMode": { "alias": "resizeMode"; "required": false; "isSignal": true; }; "enableAnimations": { "alias": "enableAnimations"; "required": false; "isSignal": true; }; "animationOptions": { "alias": "animationOptions"; "required": false; "isSignal": true; }; "filterable": { "alias": "filterable"; "required": false; "isSignal": true; }; "sortSettings": { "alias": "sortSettings"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "groupable": { "alias": "groupable"; "required": false; "isSignal": true; }; "pageable": { "alias": "pageable"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "showStatusBar": { "alias": "showStatusBar"; "required": false; "isSignal": true; }; "columnMenu": { "alias": "columnMenu"; "required": false; "isSignal": true; }; "allowColumnReorder": { "alias": "allowColumnReorder"; "required": false; "isSignal": true; }; "showToolBar": { "alias": "showToolBar"; "required": false; "isSignal": true; }; "toolBarRenderer": { "alias": "toolBarRenderer"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "editingEvents": { "alias": "editingEvents"; "required": false; "isSignal": true; }; "schema": { "alias": "schema"; "required": false; "isSignal": true; }; "rowEditingEvents": { "alias": "rowEditingEvents"; "required": false; "isSignal": true; }; "rowEvents": { "alias": "rowEvents"; "required": false; "isSignal": true; }; "newRowEvents": { "alias": "newRowEvents"; "required": false; "isSignal": true; }; "rowFormat": { "alias": "rowFormat"; "required": false; "isSignal": true; }; "copy": { "alias": "copy"; "required": false; "isSignal": true; }; "paste": { "alias": "paste"; "required": false; "isSignal": true; }; "clipboardEvents": { "alias": "clipboardEvents"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "analysisOptions": { "alias": "analysisOptions"; "required": false; "isSignal": true; }; "formattingPrecedence": { "alias": "formattingPrecedence"; "required": false; "isSignal": true; }; "useAlternateRows": { "alias": "useAlternateRows"; "required": false; "isSignal": true; }; }, {}, ["noDataTemplateDir", "loadingTemplateDir", "errorTemplateDir", "groupColumnTemplateDir", "groupHeaderTemplateDir", "statusBarTemplateDir", "toolBarTemplateDir", "projectedColumns"], never, true, never>;
|
|
247
249
|
}
|
|
248
250
|
|
|
249
251
|
declare class SpacerComponent {
|