@c8y/ngx-components 1021.80.1 → 1021.81.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/core/data-grid/column/tree-node-column/tree-node.cell-renderer.component.d.ts +23 -0
  2. package/core/data-grid/column/tree-node-column/tree-node.cell-renderer.component.d.ts.map +1 -0
  3. package/core/data-grid/column/tree-node-column/tree-node.data-grid-column.d.ts +23 -0
  4. package/core/data-grid/column/tree-node-column/tree-node.data-grid-column.d.ts.map +1 -0
  5. package/core/data-grid/column/tree-node-column/tree-node.header-cell-renderer.component.d.ts +6 -0
  6. package/core/data-grid/column/tree-node-column/tree-node.header-cell-renderer.component.d.ts.map +1 -0
  7. package/core/data-grid/data-grid.component.d.ts +29 -1
  8. package/core/data-grid/data-grid.component.d.ts.map +1 -1
  9. package/core/data-grid/data-grid.model.d.ts +13 -1
  10. package/core/data-grid/data-grid.model.d.ts.map +1 -1
  11. package/core/data-grid/grid-data-source.d.ts +11 -2
  12. package/core/data-grid/grid-data-source.d.ts.map +1 -1
  13. package/core/data-grid/index.d.ts +4 -1
  14. package/core/data-grid/index.d.ts.map +1 -1
  15. package/esm2022/branding/shared/lazy/branding/branding.component.mjs +2 -2
  16. package/esm2022/context-dashboard/dashboard-manager/type-dashboard-target-assets-grid/type-dashboard-target-assets-grid.component.mjs +1 -1
  17. package/esm2022/context-dashboard/dashboard-manager/type-dashboards-list/type-dashboards-list.component.mjs +1 -1
  18. package/esm2022/core/data-grid/column/tree-node-column/tree-node.cell-renderer.component.mjs +87 -0
  19. package/esm2022/core/data-grid/column/tree-node-column/tree-node.data-grid-column.mjs +15 -0
  20. package/esm2022/core/data-grid/column/tree-node-column/tree-node.header-cell-renderer.component.mjs +15 -0
  21. package/esm2022/core/data-grid/configure-custom-column/asset-property-grid.component.mjs +1 -1
  22. package/esm2022/core/data-grid/data-grid.component.mjs +68 -11
  23. package/esm2022/core/data-grid/data-grid.model.mjs +1 -1
  24. package/esm2022/core/data-grid/grid-data-source.mjs +92 -22
  25. package/esm2022/core/data-grid/index.mjs +5 -2
  26. package/esm2022/device-grid/device-grid.component.mjs +1 -1
  27. package/esm2022/device-profile/device-profile-list.component.mjs +1 -1
  28. package/esm2022/device-provisioned-certificates/device-tab-provisioned-certificates.component.mjs +1 -1
  29. package/esm2022/ecosystem/application-plugins/application-plugins.component.mjs +1 -1
  30. package/esm2022/files-repository/files-repository.component.mjs +1 -1
  31. package/esm2022/messaging-management/messaging/topic/topic-list-view.component.mjs +2 -2
  32. package/esm2022/messaging-management/messaging/topic/topic-subscribers-view/topic-subscribers-view.component.mjs +2 -2
  33. package/esm2022/operations/bulk-single-operations-list/single-operations-list.component.mjs +2 -2
  34. package/esm2022/remote-access/configurations/remote-access-configuration-list/remote-access-configuration-list.component.mjs +2 -2
  35. package/esm2022/repository/configuration/list/configuration-list.component.mjs +1 -1
  36. package/esm2022/repository/firmware/list/firmware-list.component.mjs +1 -1
  37. package/esm2022/repository/software/list/software-list.component.mjs +1 -1
  38. package/esm2022/search/search-grid.component.mjs +1 -1
  39. package/esm2022/services/services-device-tab/services-device-tab.component.mjs +1 -1
  40. package/esm2022/sub-assets/sub-assets-grid.component.mjs +1 -1
  41. package/esm2022/tenants/tenant-list/tenant-list.component.mjs +1 -1
  42. package/esm2022/translation-editor/lazy/translation-editor/translation-editor.component.mjs +2 -2
  43. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-CmhkghTo.mjs → c8y-ngx-components-asset-property-grid.component-xQgHuomT.mjs} +3 -3
  44. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-CmhkghTo.mjs.map → c8y-ngx-components-asset-property-grid.component-xQgHuomT.mjs.map} +1 -1
  45. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +1 -1
  46. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs.map +1 -1
  47. package/fesm2022/{c8y-ngx-components-c8y-ngx-components-D-YOjLHK.mjs → c8y-ngx-components-c8y-ngx-components-D2rmddmn.mjs} +455 -228
  48. package/fesm2022/c8y-ngx-components-c8y-ngx-components-D2rmddmn.mjs.map +1 -0
  49. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +2 -2
  50. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  51. package/fesm2022/c8y-ngx-components-device-grid.mjs +1 -1
  52. package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
  53. package/fesm2022/c8y-ngx-components-device-profile.mjs +1 -1
  54. package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
  55. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +1 -1
  56. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -1
  57. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +1 -1
  58. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
  59. package/fesm2022/c8y-ngx-components-ecosystem.mjs +1 -1
  60. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  61. package/fesm2022/c8y-ngx-components-files-repository.mjs +1 -1
  62. package/fesm2022/c8y-ngx-components-files-repository.mjs.map +1 -1
  63. package/fesm2022/c8y-ngx-components-messaging-management.mjs +2 -2
  64. package/fesm2022/c8y-ngx-components-messaging-management.mjs.map +1 -1
  65. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs +1 -1
  66. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs.map +1 -1
  67. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs +1 -1
  68. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs.map +1 -1
  69. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +1 -1
  70. package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  71. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +1 -1
  72. package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
  73. package/fesm2022/c8y-ngx-components-repository-software.mjs +1 -1
  74. package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
  75. package/fesm2022/c8y-ngx-components-search.mjs +1 -1
  76. package/fesm2022/c8y-ngx-components-search.mjs.map +1 -1
  77. package/fesm2022/c8y-ngx-components-services.mjs +1 -1
  78. package/fesm2022/c8y-ngx-components-services.mjs.map +1 -1
  79. package/fesm2022/c8y-ngx-components-sub-assets.mjs +1 -1
  80. package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
  81. package/fesm2022/c8y-ngx-components-tenants.mjs +1 -1
  82. package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
  83. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +1 -1
  84. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs.map +1 -1
  85. package/fesm2022/c8y-ngx-components.mjs +1 -1
  86. package/locales/locales.pot +6 -0
  87. package/package.json +1 -1
  88. package/fesm2022/c8y-ngx-components-c8y-ngx-components-D-YOjLHK.mjs.map +0 -1
@@ -59,7 +59,7 @@ export class TypeDashboardTargetAssetsGridComponent {
59
59
  this.router.navigate([`/${parentSubPath}/${val.id}/dashboard/${this.dashboard.id}`]);
60
60
  }
61
61
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TypeDashboardTargetAssetsGridComponent, deps: [{ token: i1.Router }, { token: i2.TypeDashboardAssetsGridService }, { token: i3.ContextDashboardService }], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TypeDashboardTargetAssetsGridComponent, selector: "c8y-type-dashboard-target-assets-grid", inputs: { dashboard: "dashboard" }, outputs: { onNavigateToAsset: "onNavigateToAsset" }, ngImport: i0, template: "<c8y-data-grid\n [title]=\"''\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [infiniteScroll]=\"'auto'\"\n [actionControls]=\"actionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [showSearch]=\"true\"\n>\n <c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No results to display.' | translate\"\n [subtitle]=\"'Refine your search terms.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n</c8y-data-grid>\n", dependencies: [{ kind: "component", type: i4.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "component", type: i4.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "hideReload"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "pipe", type: i4.C8yTranslatePipe, name: "translate" }] }); }
62
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TypeDashboardTargetAssetsGridComponent, selector: "c8y-type-dashboard-target-assets-grid", inputs: { dashboard: "dashboard" }, outputs: { onNavigateToAsset: "onNavigateToAsset" }, ngImport: i0, template: "<c8y-data-grid\n [title]=\"''\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [infiniteScroll]=\"'auto'\"\n [actionControls]=\"actionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [showSearch]=\"true\"\n>\n <c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No results to display.' | translate\"\n [subtitle]=\"'Refine your search terms.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n</c8y-data-grid>\n", dependencies: [{ kind: "component", type: i4.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "component", type: i4.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "childNodePagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "treeGrid", "hideReload", "childNodesProperty", "parentNodeLabelProperty"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "pipe", type: i4.C8yTranslatePipe, name: "translate" }] }); }
63
63
  }
64
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TypeDashboardTargetAssetsGridComponent, decorators: [{
65
65
  type: Component,
@@ -69,7 +69,7 @@ export class TypeDashboardsListComponent {
69
69
  };
70
70
  }
71
71
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TypeDashboardsListComponent, deps: [{ token: i1.DashboardManagerService }, { token: i2.BsModalService }], target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TypeDashboardsListComponent, selector: "c8y-dashboard-manager", ngImport: i0, template: "<c8y-title>\n {{ 'Dashboard manager' | translate }}\n</c8y-title>\n\n<div class=\"content-fullpage d-flex d-col border-top border-bottom\">\n <c8y-data-grid\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [infiniteScroll]=\"'auto'\"\n [actionControls]=\"actionControls\"\n [showSearch]=\"true\"\n [displayOptions]=\"displayOptions\"\n [refresh]=\"refresh\"\n [expandableRows]=\"'ASYNC'\"\n >\n <div\n *c8yExpandableRow=\"\n let context;\n let asyncRenderSuccess = asyncRenderSuccess;\n let asyncRenderFail = asyncRenderFail\n \"\n >\n <c8y-type-dashboard-info\n [context]=\"context\"\n [asyncRenderSuccess]=\"asyncRenderSuccess\"\n [asyncRenderFail]=\"asyncRenderFail\"\n ></c8y-type-dashboard-info>\n </div>\n\n <c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No matching dashboards.' | translate\"\n [subtitle]=\"'Refine your search terms' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column name=\"icon\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <i [c8yIcon]=\"context.value\"></i>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"deviceTypeValue\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span class=\"label label-info\">\n {{ context.value }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n </c8y-data-grid>\n</div>\n", dependencies: [{ kind: "component", type: i3.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.CellRendererDefDirective, selector: "[c8yCellRendererDef]" }, { kind: "directive", type: i3.ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "component", type: i3.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "hideReload"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "directive", type: i3.ExpandableRowDirective, selector: "[c8yExpandableRow]" }, { kind: "component", type: i3.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: i5.TypeDashboardInfoComponent, selector: "c8y-type-dashboard-info", inputs: ["deviceTypeValue", "displayDeviceTypeValue", "context", "asyncRenderSuccess", "asyncRenderFail"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }] }); }
72
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TypeDashboardsListComponent, selector: "c8y-dashboard-manager", ngImport: i0, template: "<c8y-title>\n {{ 'Dashboard manager' | translate }}\n</c8y-title>\n\n<div class=\"content-fullpage d-flex d-col border-top border-bottom\">\n <c8y-data-grid\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [infiniteScroll]=\"'auto'\"\n [actionControls]=\"actionControls\"\n [showSearch]=\"true\"\n [displayOptions]=\"displayOptions\"\n [refresh]=\"refresh\"\n [expandableRows]=\"'ASYNC'\"\n >\n <div\n *c8yExpandableRow=\"\n let context;\n let asyncRenderSuccess = asyncRenderSuccess;\n let asyncRenderFail = asyncRenderFail\n \"\n >\n <c8y-type-dashboard-info\n [context]=\"context\"\n [asyncRenderSuccess]=\"asyncRenderSuccess\"\n [asyncRenderFail]=\"asyncRenderFail\"\n ></c8y-type-dashboard-info>\n </div>\n\n <c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No matching dashboards.' | translate\"\n [subtitle]=\"'Refine your search terms' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column name=\"icon\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <i [c8yIcon]=\"context.value\"></i>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"deviceTypeValue\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span class=\"label label-info\">\n {{ context.value }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n </c8y-data-grid>\n</div>\n", dependencies: [{ kind: "component", type: i3.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.CellRendererDefDirective, selector: "[c8yCellRendererDef]" }, { kind: "directive", type: i3.ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "component", type: i3.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "childNodePagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "treeGrid", "hideReload", "childNodesProperty", "parentNodeLabelProperty"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "directive", type: i3.ExpandableRowDirective, selector: "[c8yExpandableRow]" }, { kind: "component", type: i3.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: i5.TypeDashboardInfoComponent, selector: "c8y-type-dashboard-info", inputs: ["deviceTypeValue", "displayDeviceTypeValue", "context", "asyncRenderSuccess", "asyncRenderFail"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }] }); }
73
73
  }
74
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TypeDashboardsListComponent, decorators: [{
75
75
  type: Component,
@@ -0,0 +1,87 @@
1
+ import { NgClass, NgIf } from '@angular/common';
2
+ import { Component, Inject, computed, forwardRef, signal } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { IconDirective } from '../../../common/icon.directive';
5
+ import { C8yTranslatePipe } from '../../../i18n/c8y-translate.pipe';
6
+ import { gettext } from '../../../i18n/gettext';
7
+ import { DataGridComponent } from '../../data-grid.component';
8
+ import { CellRendererContext } from '../cell-renderer';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../cell-renderer";
11
+ import * as i2 from "../../data-grid.component";
12
+ export class TreeNodeCellRendererComponent {
13
+ constructor(context, dataGridComponent // forwardRef is needed because of circular dependency
14
+ ) {
15
+ this.context = context;
16
+ this.dataGridComponent = dataGridComponent;
17
+ this.collapse = gettext('Collapse');
18
+ this.expand = gettext('Expand');
19
+ this.isExpanded = signal(false);
20
+ this.loading = signal(false);
21
+ this.level = this.getLevel(this.context.item);
22
+ this.btnClass = computed(() => ({
23
+ active: this.isExpanded(),
24
+ [`level-${this.level}`]: this.level > 0
25
+ }));
26
+ this.context.item.level = this.level;
27
+ this.dataGridComponent.dataSource.nodesLoading$
28
+ .pipe(takeUntilDestroyed())
29
+ .subscribe(loading => this.loading.set(loading.includes(this.context.item)));
30
+ }
31
+ toggleExpand() {
32
+ if (this.isExpanded()) {
33
+ this.dataGridComponent.collapseNode(this.context.item);
34
+ this.isExpanded.set(false);
35
+ }
36
+ else {
37
+ this.dataGridComponent.expandNode(this.context.item);
38
+ this.isExpanded.set(true);
39
+ }
40
+ }
41
+ getLevel(row) {
42
+ return !!row.parentRow ? this.getLevel(row.parentRow) + 1 : 0;
43
+ }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeNodeCellRendererComponent, deps: [{ token: i1.CellRendererContext }, { token: forwardRef(() => DataGridComponent) }], target: i0.ɵɵFactoryTarget.Component }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TreeNodeCellRendererComponent, isStandalone: true, selector: "c8y-tree-node-cell-renderer", ngImport: i0, template: `
46
+ <button
47
+ class="data-grid-collapse-btn"
48
+ title="{{ (isExpanded() ? collapse : expand) | translate }}"
49
+ [attr.aria-label]="(isExpanded() ? collapse : expand) | translate"
50
+ [attr.aria-controls]="context.item.id"
51
+ [attr.aria-expanded]="isExpanded()"
52
+ *ngIf="context.item.hasChildren"
53
+ [ngClass]="btnClass()"
54
+ (click)="toggleExpand()"
55
+ >
56
+ <i c8yIcon="chevron-right" *ngIf="!loading()"></i>
57
+ <i class="icon-spin" c8yIcon="circle-o-notch" *ngIf="loading()"></i>
58
+ </button>
59
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeNodeCellRendererComponent, decorators: [{
62
+ type: Component,
63
+ args: [{
64
+ template: `
65
+ <button
66
+ class="data-grid-collapse-btn"
67
+ title="{{ (isExpanded() ? collapse : expand) | translate }}"
68
+ [attr.aria-label]="(isExpanded() ? collapse : expand) | translate"
69
+ [attr.aria-controls]="context.item.id"
70
+ [attr.aria-expanded]="isExpanded()"
71
+ *ngIf="context.item.hasChildren"
72
+ [ngClass]="btnClass()"
73
+ (click)="toggleExpand()"
74
+ >
75
+ <i c8yIcon="chevron-right" *ngIf="!loading()"></i>
76
+ <i class="icon-spin" c8yIcon="circle-o-notch" *ngIf="loading()"></i>
77
+ </button>
78
+ `,
79
+ selector: 'c8y-tree-node-cell-renderer',
80
+ standalone: true,
81
+ imports: [NgClass, NgIf, IconDirective, C8yTranslatePipe]
82
+ }]
83
+ }], ctorParameters: () => [{ type: i1.CellRendererContext }, { type: i2.DataGridComponent, decorators: [{
84
+ type: Inject,
85
+ args: [forwardRef(() => DataGridComponent)]
86
+ }] }] });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLmNlbGwtcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vY29yZS9kYXRhLWdyaWQvY29sdW1uL3RyZWUtbm9kZS1jb2x1bW4vdHJlZS1ub2RlLmNlbGwtcmVuZGVyZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQXNCdkQsTUFBTSxPQUFPLDZCQUE2QjtJQVd4QyxZQUNTLE9BQTRCLEVBQ2lCLGlCQUFvQyxDQUFDLHNEQUFzRDs7UUFEeEksWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFDaUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVpqRixhQUFRLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixZQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLFVBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3pCLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3pCLENBQUMsU0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7U0FDeEMsQ0FBQyxDQUFDLENBQUM7UUFNRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLGFBQWE7YUFDNUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDMUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVE7UUFDZixPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDOytHQWpDVSw2QkFBNkIscURBYTlCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzttR0FibEMsNkJBQTZCLHVGQW5COUI7Ozs7Ozs7Ozs7Ozs7O0dBY1QsNERBR1MsT0FBTyxvRkFBRSxJQUFJLDZGQUFFLGFBQWEsc0VBQUUsZ0JBQWdCOzs0RkFFN0MsNkJBQTZCO2tCQXBCekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7O0dBY1Q7b0JBQ0QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDO2lCQUMxRDs7MEJBY0ksTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBjb21wdXRlZCwgZm9yd2FyZFJlZiwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBJY29uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2ljb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEM4eVRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi8uLi9pMThuL2M4eS10cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBnZXR0ZXh0IH0gZnJvbSAnLi4vLi4vLi4vaTE4bi9nZXR0ZXh0JztcbmltcG9ydCB7IERhdGFHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGF0YS1ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3cgfSBmcm9tICcuLi8uLi9kYXRhLWdyaWQubW9kZWwnO1xuaW1wb3J0IHsgQ2VsbFJlbmRlcmVyQ29udGV4dCB9IGZyb20gJy4uL2NlbGwtcmVuZGVyZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImRhdGEtZ3JpZC1jb2xsYXBzZS1idG5cIlxuICAgICAgdGl0bGU9XCJ7eyAoaXNFeHBhbmRlZCgpID8gY29sbGFwc2UgOiBleHBhbmQpIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiKGlzRXhwYW5kZWQoKSA/IGNvbGxhcHNlIDogZXhwYW5kKSB8IHRyYW5zbGF0ZVwiXG4gICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImNvbnRleHQuaXRlbS5pZFwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzRXhwYW5kZWQoKVwiXG4gICAgICAqbmdJZj1cImNvbnRleHQuaXRlbS5oYXNDaGlsZHJlblwiXG4gICAgICBbbmdDbGFzc109XCJidG5DbGFzcygpXCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVFeHBhbmQoKVwiXG4gICAgPlxuICAgICAgPGkgYzh5SWNvbj1cImNoZXZyb24tcmlnaHRcIiAqbmdJZj1cIiFsb2FkaW5nKClcIj48L2k+XG4gICAgICA8aSBjbGFzcz1cImljb24tc3BpblwiIGM4eUljb249XCJjaXJjbGUtby1ub3RjaFwiICpuZ0lmPVwibG9hZGluZygpXCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuICBgLFxuICBzZWxlY3RvcjogJ2M4eS10cmVlLW5vZGUtY2VsbC1yZW5kZXJlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBOZ0lmLCBJY29uRGlyZWN0aXZlLCBDOHlUcmFuc2xhdGVQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBUcmVlTm9kZUNlbGxSZW5kZXJlckNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGNvbGxhcHNlID0gZ2V0dGV4dCgnQ29sbGFwc2UnKTtcbiAgcmVhZG9ubHkgZXhwYW5kID0gZ2V0dGV4dCgnRXhwYW5kJyk7XG4gIGlzRXhwYW5kZWQgPSBzaWduYWwoZmFsc2UpO1xuICBsb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgbGV2ZWwgPSB0aGlzLmdldExldmVsKHRoaXMuY29udGV4dC5pdGVtKTtcbiAgYnRuQ2xhc3MgPSBjb21wdXRlZCgoKSA9PiAoe1xuICAgIGFjdGl2ZTogdGhpcy5pc0V4cGFuZGVkKCksXG4gICAgW2BsZXZlbC0ke3RoaXMubGV2ZWx9YF06IHRoaXMubGV2ZWwgPiAwXG4gIH0pKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29udGV4dDogQ2VsbFJlbmRlcmVyQ29udGV4dCxcbiAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gRGF0YUdyaWRDb21wb25lbnQpKSBwdWJsaWMgZGF0YUdyaWRDb21wb25lbnQ6IERhdGFHcmlkQ29tcG9uZW50IC8vIGZvcndhcmRSZWYgaXMgbmVlZGVkIGJlY2F1c2Ugb2YgY2lyY3VsYXIgZGVwZW5kZW5jeVxuICApIHtcbiAgICB0aGlzLmNvbnRleHQuaXRlbS5sZXZlbCA9IHRoaXMubGV2ZWw7XG4gICAgdGhpcy5kYXRhR3JpZENvbXBvbmVudC5kYXRhU291cmNlLm5vZGVzTG9hZGluZyRcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZShsb2FkaW5nID0+IHRoaXMubG9hZGluZy5zZXQobG9hZGluZy5pbmNsdWRlcyh0aGlzLmNvbnRleHQuaXRlbSkpKTtcbiAgfVxuXG4gIHRvZ2dsZUV4cGFuZCgpIHtcbiAgICBpZiAodGhpcy5pc0V4cGFuZGVkKCkpIHtcbiAgICAgIHRoaXMuZGF0YUdyaWRDb21wb25lbnQuY29sbGFwc2VOb2RlKHRoaXMuY29udGV4dC5pdGVtKTtcbiAgICAgIHRoaXMuaXNFeHBhbmRlZC5zZXQoZmFsc2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhdGFHcmlkQ29tcG9uZW50LmV4cGFuZE5vZGUodGhpcy5jb250ZXh0Lml0ZW0pO1xuICAgICAgdGhpcy5pc0V4cGFuZGVkLnNldCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBnZXRMZXZlbChyb3c6IFJvdyk6IG51bWJlciB7XG4gICAgcmV0dXJuICEhcm93LnBhcmVudFJvdyA/IHRoaXMuZ2V0TGV2ZWwocm93LnBhcmVudFJvdykgKyAxIDogMDtcbiAgfVxufVxuIl19
@@ -0,0 +1,15 @@
1
+ import { gettext } from '../../../i18n/gettext';
2
+ import { TreeNodeCellRendererComponent } from './tree-node.cell-renderer.component';
3
+ import { TreeNodeHeaderCellRendererComponent } from './tree-node.header-cell-renderer.component';
4
+ export class TreeNodeColumn {
5
+ constructor() {
6
+ this.name = 'tree-node';
7
+ this.header = gettext('Tree node toggle');
8
+ this.dataType = "icon" /* ColumnDataType.Icon */;
9
+ this.headerCellRendererComponent = TreeNodeHeaderCellRendererComponent;
10
+ this.cellRendererComponent = TreeNodeCellRendererComponent;
11
+ this.filterable = false;
12
+ this.sortable = false;
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLmRhdGEtZ3JpZC1jb2x1bW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9jb3JlL2RhdGEtZ3JpZC9jb2x1bW4vdHJlZS1ub2RlLWNvbHVtbi90cmVlLW5vZGUuZGF0YS1ncmlkLWNvbHVtbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEYsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFakcsTUFBTSxPQUFPLGNBQWM7SUF3QnpCO1FBQ0UsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsUUFBUSxtQ0FBc0IsQ0FBQztRQUVwQyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsbUNBQW1DLENBQUM7UUFDdkUsSUFBSSxDQUFDLHFCQUFxQixHQUFHLDZCQUE2QixDQUFDO1FBRTNELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBRXhCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldHRleHQgfSBmcm9tICcuLi8uLi8uLi9pMThuL2dldHRleHQnO1xuaW1wb3J0IHsgQ29sdW1uLCBDb2x1bW5EYXRhVHlwZSwgRmlsdGVyUHJlZGljYXRlRnVuY3Rpb24sIFNvcnRPcmRlciB9IGZyb20gJy4uLy4uL2RhdGEtZ3JpZC5tb2RlbCc7XG5pbXBvcnQgeyBUcmVlTm9kZUNlbGxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vdHJlZS1ub2RlLmNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRyZWVOb2RlSGVhZGVyQ2VsbFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi90cmVlLW5vZGUuaGVhZGVyLWNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIFRyZWVOb2RlQ29sdW1uIGltcGxlbWVudHMgQ29sdW1uIHtcbiAgbmFtZTogc3RyaW5nO1xuICBwYXRoPzogc3RyaW5nO1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIGRhdGFUeXBlPzogQ29sdW1uRGF0YVR5cGU7XG5cbiAgdmlzaWJsZT86IGJvb2xlYW47XG4gIHBvc2l0aW9uRml4ZWQ/OiBib29sZWFuO1xuICBncmlkVHJhY2tTaXplPzogc3RyaW5nO1xuXG4gIGhlYWRlckNTU0NsYXNzTmFtZT86IHN0cmluZyB8IHN0cmluZ1tdO1xuICBoZWFkZXJDZWxsUmVuZGVyZXJDb21wb25lbnQ/OiBUeXBlPHVua25vd24+O1xuXG4gIGNlbGxDU1NDbGFzc05hbWU/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgY2VsbFJlbmRlcmVyQ29tcG9uZW50PzogVHlwZTx1bmtub3duPjtcblxuICBzb3J0YWJsZT86IGJvb2xlYW47XG4gIHNvcnRPcmRlcj86IFNvcnRPcmRlcjtcblxuICBmaWx0ZXJhYmxlPzogYm9vbGVhbjtcbiAgZmlsdGVyaW5nRm9ybVJlbmRlcmVyQ29tcG9uZW50PzogVHlwZTx1bmtub3duPjtcbiAgZmlsdGVyUHJlZGljYXRlPzogc3RyaW5nIHwgRmlsdGVyUHJlZGljYXRlRnVuY3Rpb247XG4gIGV4dGVybmFsRmlsdGVyUXVlcnk/OiBzdHJpbmcgfCBvYmplY3Q7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5uYW1lID0gJ3RyZWUtbm9kZSc7XG4gICAgdGhpcy5oZWFkZXIgPSBnZXR0ZXh0KCdUcmVlIG5vZGUgdG9nZ2xlJyk7XG4gICAgdGhpcy5kYXRhVHlwZSA9IENvbHVtbkRhdGFUeXBlLkljb247XG5cbiAgICB0aGlzLmhlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudCA9IFRyZWVOb2RlSGVhZGVyQ2VsbFJlbmRlcmVyQ29tcG9uZW50O1xuICAgIHRoaXMuY2VsbFJlbmRlcmVyQ29tcG9uZW50ID0gVHJlZU5vZGVDZWxsUmVuZGVyZXJDb21wb25lbnQ7XG5cbiAgICB0aGlzLmZpbHRlcmFibGUgPSBmYWxzZTtcblxuICAgIHRoaXMuc29ydGFibGUgPSBmYWxzZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,15 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TreeNodeHeaderCellRendererComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeNodeHeaderCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TreeNodeHeaderCellRendererComponent, isStandalone: true, selector: "c8y-tree-node-header-cell-renderer", ngImport: i0, template: `&nbsp;`, isInline: true }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeNodeHeaderCellRendererComponent, decorators: [{
8
+ type: Component,
9
+ args: [{
10
+ template: `&nbsp;`,
11
+ selector: 'c8y-tree-node-header-cell-renderer',
12
+ standalone: true
13
+ }]
14
+ }] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLmhlYWRlci1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2NvcmUvZGF0YS1ncmlkL2NvbHVtbi90cmVlLW5vZGUtY29sdW1uL3RyZWUtbm9kZS5oZWFkZXItY2VsbC1yZW5kZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLG1DQUFtQzsrR0FBbkMsbUNBQW1DO21HQUFuQyxtQ0FBbUMsOEZBSnBDLFFBQVE7OzRGQUlQLG1DQUFtQztrQkFML0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsUUFBUSxFQUFFLG9DQUFvQztvQkFDOUMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYCZuYnNwO2AsXG4gIHNlbGVjdG9yOiAnYzh5LXRyZWUtbm9kZS1oZWFkZXItY2VsbC1yZW5kZXJlcicsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVHJlZU5vZGVIZWFkZXJDZWxsUmVuZGVyZXJDb21wb25lbnQge31cbiJdfQ==
@@ -114,7 +114,7 @@ export class AssetPropertyGridComponent {
114
114
  }
115
115
  }
116
116
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetPropertyGridComponent, deps: [{ token: i1.AssetPropertyService }, { token: i2.BottomDrawerRef }, { token: i3.AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
117
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AssetPropertyGridComponent, isStandalone: true, selector: "c8y-asset-property-grid", outputs: { onAddCustomColumn: "onAddCustomColumn" }, ngImport: i0, template: "<c8y-data-grid\n class=\"content-fullpage d-flex d-col border-top border-bottom\"\n [title]=\"'Asset properties' | translate\"\n [loadMoreItemsLabel]=\"'Load more asset properties' | translate\"\n [loadingItemsLabel]=\"'Loading asset properties\u2026' | translate\"\n [displayOptions]=\"displayOptions\"\n [headerActionControls]=\"headerActionControls\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [selectable]=\"true\"\n [singleSelection]=\"true\"\n [selectionPrimaryKey]=\"'identifier'\"\n (itemsSelect)=\"selectItem($event)\"\n></c8y-data-grid>\n", dependencies: [{ kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "ngmodule", type: DataGridModule }, { kind: "component", type: i4.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "hideReload"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }] }); }
117
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AssetPropertyGridComponent, isStandalone: true, selector: "c8y-asset-property-grid", outputs: { onAddCustomColumn: "onAddCustomColumn" }, ngImport: i0, template: "<c8y-data-grid\n class=\"content-fullpage d-flex d-col border-top border-bottom\"\n [title]=\"'Asset properties' | translate\"\n [loadMoreItemsLabel]=\"'Load more asset properties' | translate\"\n [loadingItemsLabel]=\"'Loading asset properties\u2026' | translate\"\n [displayOptions]=\"displayOptions\"\n [headerActionControls]=\"headerActionControls\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [selectable]=\"true\"\n [singleSelection]=\"true\"\n [selectionPrimaryKey]=\"'identifier'\"\n (itemsSelect)=\"selectItem($event)\"\n></c8y-data-grid>\n", dependencies: [{ kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "ngmodule", type: DataGridModule }, { kind: "component", type: i4.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "childNodePagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "treeGrid", "hideReload", "childNodesProperty", "parentNodeLabelProperty"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }] }); }
118
118
  }
119
119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetPropertyGridComponent, decorators: [{
120
120
  type: Component,