@smartbit4all/ng-client 7.3.44 → 7.3.46

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.
@@ -19611,11 +19611,11 @@ class SmartTreeComponent {
19611
19611
  return `${cssClass}-${plusProperty}`;
19612
19612
  }
19613
19613
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SmartTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19614
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SmartTreeComponent, isStandalone: true, selector: "smart-tree", inputs: { treeStyle: { classPropertyName: "treeStyle", publicName: "treeStyle", isSignal: true, isRequired: false, transformFunction: null }, treeService: { classPropertyName: "treeService", publicName: "treeService", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "attr.data-testid": "this.testId" } }, viewQueries: [{ propertyName: "tree", first: true, predicate: ["tree"], descendants: true }, { propertyName: "trigger", predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<div class=\"smartTreeContainer\">\r\n @if (uiActionModels.length) {\r\n <smart-ui-action-toolbar\r\n [uiActionModels]=\"uiActionModels\"\r\n [executor]=\"executor\"\r\n ></smart-ui-action-toolbar>\r\n }\r\n @if (treeData) {\r\n <mat-tree\r\n #tree\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n [trackBy]=\"trackByIdentifier\"\r\n class=\"sm-tree\"\r\n >\r\n <mat-nested-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodeToggle\r\n [ngClass]=\"getClassesForTreeNode(node)\"\r\n [ngStyle]=\"getNodeStyle(node)\"\r\n >\r\n <div\r\n [ngStyle]=\"getNodePadding(node)\"\r\n [ngClass]=\"getInnerClassesForTreeNode(node)\"\r\n class=\"mat-tree-node sm-tree-node\"\r\n (click)=\"onNodeClick($event, node)\"\r\n >\r\n <button mat-icon-button matTreeNodeToggle [attr.aria-label]=\"'Toggle ' + node.name\">\r\n <mat-icon\r\n fontSet=\"material-symbols-outlined\"\r\n class=\"mat-icon-rtl-mirror\"\r\n (click)=\"onOpenNode($event, node)\"\r\n >\r\n @if (hasChild(node.level, node)) {\r\n <div>\r\n {{ treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n </div>\r\n }\r\n </mat-icon>\r\n </button>\r\n @if (node.tooltip) {\r\n <smart-icon\r\n [icon]=\"node.icon\"\r\n [smartTooltip]=\"createTooltip(node.tooltip)\"\r\n smartTooltipClass=\"sm-tree-tooltip\"\r\n ></smart-icon>\r\n } @else {\r\n <smart-icon [icon]=\"node.icon\"></smart-icon>\r\n }\r\n <div class=\"sm-tree-row\" [ngClass]=\"node.classes\">\r\n @let captionTooltipText = getCaptionTooltipText(node);\r\n @if (captionTooltipText) {\r\n <div\r\n class=\"sm-tree-row-caption\"\r\n [smartTooltip]=\"createTooltip(captionTooltipText)\"\r\n smartTooltipClass=\"sm-tree-tooltip\"\r\n >\r\n {{ node.caption }}\r\n </div>\r\n } @else {\r\n <div class=\"sm-tree-row-caption\">{{ node.caption }}</div>\r\n }\r\n <div class=\"sm-shortDescription-spacer\"></div>\r\n <div class=\"sm-tree-row-shortDescription\">\r\n {{ node.shortDescription }}\r\n </div>\r\n <div class=\"sm-shortDescription-button-spacer\"></div>\r\n @if (node.button) {\r\n <div class=\"sm-tree-node-button\">\r\n @switch (node.button.type) {\r\n @case (smartTreeNodeButtonType.ICON) {\r\n <button (click)=\"customButtonClicked($event, node.button)\" mat-icon-button>\r\n <smart-icon\r\n title=\"{{ node.button.icon }}\"\r\n [icon]=\"node.button.icon\"\r\n ></smart-icon>\r\n </button>\r\n }\r\n @case (smartTreeNodeButtonType.MENU) {\r\n <div>\r\n <button\r\n mat-button\r\n [matMenuTriggerFor]=\"menu\"\r\n (click)=\"customButtonClicked($event, node.button, true)\"\r\n >\r\n @if (node.button.icon) {\r\n <smart-icon [icon]=\"node.button.icon\"></smart-icon>\r\n }\r\n {{ node.button.label }}\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n @for (button of node.button.menuItemButtons; track button.code ?? $index) {\r\n <button\r\n (click)=\"customButtonClicked($event, button, true)\"\r\n mat-menu-item\r\n [attr.data-testid]=\"button.code ?? null\"\r\n >\r\n @if (button.icon) {\r\n <smart-icon [icon]=\"button.icon\"></smart-icon>\r\n }\r\n {{ button.label }}\r\n </button>\r\n }\r\n </mat-menu>\r\n </div>\r\n }\r\n @case (smartTreeNodeButtonType.NORMAL) {\r\n <button (click)=\"customButtonClicked($event, node.button)\" mat-raised-button>\r\n @if (node.button.icon) {\r\n <smart-icon [icon]=\"node.button.icon\"></smart-icon>\r\n }\r\n {{ node.button.icon }}\r\n </button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n <div\r\n [class.sm-tree-invisible]=\"!treeControl.isExpanded(node)\"\r\n [ngClass]=\"getClassesForTreeNodeChildren(node)\"\r\n role=\"group\"\r\n >\r\n <ng-container matTreeNodeOutlet></ng-container>\r\n </div>\r\n </mat-nested-tree-node>\r\n </mat-tree>\r\n }\r\n @if (!treeData) {\r\n <div class=\"tree-loading\">\r\n <mat-spinner diameter=\"24\" color=\"primary\"></mat-spinner>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".smartTreeContainer{display:flex;flex-direction:column;gap:.5rem}.sm-tree-invisible{display:none}.sm-tree ul,.sm-tree li{margin-top:0;margin-bottom:0;list-style-type:none}.sm-tree div[role=group]>.mat-tree-node{padding-left:40px}.sm-tee-node{padding-left:40px}.sm-tree-node-name{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tree-node-name-row{padding-left:15px;padding-top:15px;display:flex;flex-direction:row;justify-content:space-between}.sm-tree-node-name-col{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tee-node-id{font-weight:lighter}.mat-tree-node:hover{cursor:pointer}.sm-tree-node-selected{background-color:var(--tree-active-background, var(--accent-color, #20b6a8));color:var(--tree-active-color, #ffffff)}::ng-deep .mat-icon-rtl-mirror{display:flex;flex-direction:row}.sm-tree-row{display:flex;flex-direction:row;flex:1;align-items:center}.sm-shortDescription-spacer{flex:1}.sm-tree-row.sm-tree-branch-new,.sm-tree-row.sm-tree-branch-new *{color:var(--success-color, #16a34a)}.sm-tree-row.sm-tree-branch-new .sm-tree-row-caption{font-style:italic}.sm-tree-row.sm-tree-branch-modified,.sm-tree-row.sm-tree-branch-modified *{color:var(--accent-color, #20b6a8)}.sm-tree-row.sm-tree-branch-modified .sm-tree-row-caption{font-weight:600}.sm-tree-row.sm-tree-branch-deleted,.sm-tree-row.sm-tree-branch-deleted *{color:var(--color-text-muted, #68778e)}.sm-tree-row.sm-tree-branch-deleted .sm-tree-row-caption{text-decoration:line-through}.sm-tree-row.sm-tree-branch-contains-change,.sm-tree-row.sm-tree-branch-contains-change *{color:var(--accent-color, #20b6a8)}.sm-tree-row.sm-tree-branch-foreign,.sm-tree-row.sm-tree-branch-own-other-view-context{border-left:3px solid;padding-left:6px}.sm-tree-row.sm-tree-branch-foreign{border-left-color:var(--warning-color, #d97706)}.sm-tree-row.sm-tree-branch-own-other-view-context{border-left-color:var(--info-color, #64748b)}.sm-tree-row.sm-tree-branch-foreign .sm-tree-row-caption,.sm-tree-row.sm-tree-branch-own-other-view-context .sm-tree-row-caption{font-style:italic}.sm-tree-row.sm-tree-branch-foreign .sm-tree-row-shortDescription,.sm-tree-row.sm-tree-branch-own-other-view-context .sm-tree-row-shortDescription{display:none}::ng-deep .sm-tree-tooltip .mdc-tooltip__surface{white-space:pre-line}.sm-tree-node-selected .sm-tree-row,.sm-tree-node-selected .sm-tree-row-caption,.sm-tree-node-selected .sm-tree-row-shortDescription{color:inherit}.tree-loading{display:flex;justify-content:center;align-items:center;min-height:200px;width:100%}\n"], dependencies: [{ kind: "component", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "executor", "widgetId", "nodeId", "actionParams", "scrollOnWrap", "toolbarPropertes"], outputs: ["actionFired"] }, { kind: "component", type: MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: MatNestedTreeNode, selector: "mat-nested-tree-node", inputs: ["matNestedTreeNode", "disabled", "tabIndex"], outputs: ["activation", "expandedChange"], exportAs: ["matNestedTreeNode"] }, { kind: "directive", type: MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: MatTreeNodeOutlet, selector: "[matTreeNodeOutlet]" }, { kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: SmartTooltipDirective, selector: "[smartTooltip]", inputs: ["smartTooltip", "smartTooltipClass"] }] }); }
19614
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SmartTreeComponent, isStandalone: true, selector: "smart-tree", inputs: { treeStyle: { classPropertyName: "treeStyle", publicName: "treeStyle", isSignal: true, isRequired: false, transformFunction: null }, treeService: { classPropertyName: "treeService", publicName: "treeService", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "attr.data-testid": "this.testId" } }, viewQueries: [{ propertyName: "tree", first: true, predicate: ["tree"], descendants: true }, { propertyName: "trigger", predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<div class=\"smartTreeContainer\">\r\n @if (uiActionModels.length) {\r\n <smart-ui-action-toolbar\r\n [uiActionModels]=\"uiActionModels\"\r\n [executor]=\"executor\"\r\n ></smart-ui-action-toolbar>\r\n }\r\n @if (treeData) {\r\n <mat-tree\r\n #tree\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n [trackBy]=\"trackByIdentifier\"\r\n class=\"sm-tree\"\r\n >\r\n <mat-nested-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodeToggle\r\n [ngClass]=\"getClassesForTreeNode(node)\"\r\n [ngStyle]=\"getNodeStyle(node)\"\r\n >\r\n <div\r\n [ngStyle]=\"getNodePadding(node)\"\r\n [ngClass]=\"getInnerClassesForTreeNode(node)\"\r\n class=\"mat-tree-node sm-tree-node\"\r\n (click)=\"onNodeClick($event, node)\"\r\n >\r\n <button mat-icon-button matTreeNodeToggle [attr.aria-label]=\"'Toggle ' + node.name\">\r\n <mat-icon\r\n fontSet=\"material-symbols-outlined\"\r\n class=\"mat-icon-rtl-mirror\"\r\n (click)=\"onOpenNode($event, node)\"\r\n >\r\n @if (hasChild(node.level, node)) {\r\n <div>\r\n {{ treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n </div>\r\n }\r\n </mat-icon>\r\n </button>\r\n @if (node.tooltip) {\r\n <smart-icon\r\n [icon]=\"node.icon\"\r\n [smartTooltip]=\"createTooltip(node.tooltip)\"\r\n smartTooltipClass=\"sm-tree-tooltip\"\r\n ></smart-icon>\r\n } @else {\r\n <smart-icon [icon]=\"node.icon\"></smart-icon>\r\n }\r\n <div class=\"sm-tree-row\" [ngClass]=\"node.classes\">\r\n @let captionTooltipText = getCaptionTooltipText(node);\r\n @if (captionTooltipText) {\r\n <div\r\n class=\"sm-tree-row-caption\"\r\n [smartTooltip]=\"createTooltip(captionTooltipText)\"\r\n smartTooltipClass=\"sm-tree-tooltip\"\r\n >\r\n {{ node.caption }}\r\n </div>\r\n } @else {\r\n <div class=\"sm-tree-row-caption\">{{ node.caption }}</div>\r\n }\r\n <div class=\"sm-shortDescription-spacer\"></div>\r\n <div class=\"sm-tree-row-shortDescription\">\r\n {{ node.shortDescription }}\r\n </div>\r\n <div class=\"sm-shortDescription-button-spacer\"></div>\r\n @if (node.button) {\r\n <div class=\"sm-tree-node-button\">\r\n @switch (node.button.type) {\r\n @case (smartTreeNodeButtonType.ICON) {\r\n <button (click)=\"customButtonClicked($event, node.button)\" mat-icon-button>\r\n <smart-icon\r\n title=\"{{ node.button.icon }}\"\r\n [icon]=\"node.button.icon\"\r\n ></smart-icon>\r\n </button>\r\n }\r\n @case (smartTreeNodeButtonType.MENU) {\r\n <div>\r\n <button\r\n mat-button\r\n [matMenuTriggerFor]=\"menu\"\r\n (click)=\"customButtonClicked($event, node.button, true)\"\r\n >\r\n @if (node.button.icon) {\r\n <smart-icon [icon]=\"node.button.icon\"></smart-icon>\r\n }\r\n {{ node.button.label }}\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n @for (button of node.button.menuItemButtons; track button.code ?? $index) {\r\n <button\r\n (click)=\"customButtonClicked($event, button, true)\"\r\n mat-menu-item\r\n [attr.data-testid]=\"button.code ?? null\"\r\n >\r\n @if (button.icon) {\r\n <smart-icon [icon]=\"button.icon\"></smart-icon>\r\n }\r\n {{ button.label }}\r\n </button>\r\n }\r\n </mat-menu>\r\n </div>\r\n }\r\n @case (smartTreeNodeButtonType.NORMAL) {\r\n <button (click)=\"customButtonClicked($event, node.button)\" mat-raised-button>\r\n @if (node.button.icon) {\r\n <smart-icon [icon]=\"node.button.icon\"></smart-icon>\r\n }\r\n {{ node.button.icon }}\r\n </button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n <div\r\n [class.sm-tree-invisible]=\"!treeControl.isExpanded(node)\"\r\n [ngClass]=\"getClassesForTreeNodeChildren(node)\"\r\n role=\"group\"\r\n >\r\n <ng-container matTreeNodeOutlet></ng-container>\r\n </div>\r\n </mat-nested-tree-node>\r\n </mat-tree>\r\n }\r\n @if (!treeData) {\r\n <div class=\"tree-loading\">\r\n <mat-spinner diameter=\"24\" color=\"primary\"></mat-spinner>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".smartTreeContainer{display:flex;flex-direction:column;gap:.5rem}.sm-tree-invisible{display:none}.sm-tree ul,.sm-tree li{margin-top:0;margin-bottom:0;list-style-type:none}.sm-tree div[role=group]>.mat-tree-node{padding-left:40px}.sm-tee-node{padding-left:40px}.sm-tree-node-name{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tree-node-name-row{padding-left:15px;padding-top:15px;display:flex;flex-direction:row;justify-content:space-between}.sm-tree-node-name-col{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tee-node-id{font-weight:lighter}.mat-tree-node:hover{cursor:pointer}.sm-tree-node-selected{background-color:var(--tree-active-background, var(--accent-color, #20b6a8));color:var(--tree-active-color, #ffffff)}::ng-deep .mat-icon-rtl-mirror{display:flex;flex-direction:row}.sm-tree-row{display:flex;flex-direction:row;flex:1;align-items:center}.sm-shortDescription-spacer{flex:1}.sm-tree-row.sm-tree-branch-new,.sm-tree-row.sm-tree-branch-new *{color:var(--success-color, #16a34a)}.sm-tree-row.sm-tree-branch-new .sm-tree-row-caption{font-style:italic}.sm-tree-row.sm-tree-branch-modified,.sm-tree-row.sm-tree-branch-modified *{color:var(--accent-color, #20b6a8)}.sm-tree-row.sm-tree-branch-modified .sm-tree-row-caption{font-weight:600}.sm-tree-row.sm-tree-branch-deleted,.sm-tree-row.sm-tree-branch-deleted *{color:var(--color-text-muted, #68778e)}.sm-tree-row.sm-tree-branch-deleted .sm-tree-row-caption{text-decoration:line-through}.sm-tree-row.sm-tree-branch-contains-change,.sm-tree-row.sm-tree-branch-contains-change *{color:var(--accent-color, #20b6a8)}.sm-tree-row.sm-tree-branch-foreign,.sm-tree-row.sm-tree-branch-own-other-view-context{border-left:3px solid;padding-left:6px}.sm-tree-row.sm-tree-branch-foreign{border-left-color:var(--warning-color, #d97706)}.sm-tree-row.sm-tree-branch-own-other-view-context{border-left-color:var(--info-color, #64748b)}.sm-tree-row.sm-tree-branch-foreign .sm-tree-row-caption,.sm-tree-row.sm-tree-branch-own-other-view-context .sm-tree-row-caption{font-style:italic}.sm-tree-row.sm-tree-branch-foreign .sm-tree-row-shortDescription,.sm-tree-row.sm-tree-branch-own-other-view-context .sm-tree-row-shortDescription{display:none}.sm-tree-row.sm-tree-record-unavailable,.sm-tree-row.sm-tree-record-unavailable *,.sm-tree-node:not(.sm-tree-node-selected):has(>.sm-tree-row.sm-tree-record-unavailable)>smart-icon{color:var(--color-text-muted, #68778e)}.sm-tree-row.sm-tree-record-unavailable .sm-tree-row-caption{font-style:italic}::ng-deep .sm-tree-tooltip .mdc-tooltip__surface{white-space:pre-line}.sm-tree-node-selected .sm-tree-row,.sm-tree-node-selected .sm-tree-row-caption,.sm-tree-node-selected .sm-tree-row-shortDescription{color:inherit}.tree-loading{display:flex;justify-content:center;align-items:center;min-height:200px;width:100%}\n"], dependencies: [{ kind: "component", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "executor", "widgetId", "nodeId", "actionParams", "scrollOnWrap", "toolbarPropertes"], outputs: ["actionFired"] }, { kind: "component", type: MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: MatNestedTreeNode, selector: "mat-nested-tree-node", inputs: ["matNestedTreeNode", "disabled", "tabIndex"], outputs: ["activation", "expandedChange"], exportAs: ["matNestedTreeNode"] }, { kind: "directive", type: MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: MatTreeNodeOutlet, selector: "[matTreeNodeOutlet]" }, { kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: SmartTooltipDirective, selector: "[smartTooltip]", inputs: ["smartTooltip", "smartTooltipClass"] }] }); }
19615
19615
  }
19616
19616
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SmartTreeComponent, decorators: [{
19617
19617
  type: Component,
19618
- args: [{ selector: 'smart-tree', imports: [UiActionToolbarComponent, MatTree, MatTreeNodeDef, MatNestedTreeNode, MatTreeNodeToggle, NgClass, NgStyle, MatIconButton, MatIcon, SmartIconComponent, MatButton, MatMenuTrigger, MatMenu, MatMenuItem, MatTreeNodeOutlet, MatProgressSpinner, SmartTooltipDirective], template: "<div class=\"smartTreeContainer\">\r\n @if (uiActionModels.length) {\r\n <smart-ui-action-toolbar\r\n [uiActionModels]=\"uiActionModels\"\r\n [executor]=\"executor\"\r\n ></smart-ui-action-toolbar>\r\n }\r\n @if (treeData) {\r\n <mat-tree\r\n #tree\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n [trackBy]=\"trackByIdentifier\"\r\n class=\"sm-tree\"\r\n >\r\n <mat-nested-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodeToggle\r\n [ngClass]=\"getClassesForTreeNode(node)\"\r\n [ngStyle]=\"getNodeStyle(node)\"\r\n >\r\n <div\r\n [ngStyle]=\"getNodePadding(node)\"\r\n [ngClass]=\"getInnerClassesForTreeNode(node)\"\r\n class=\"mat-tree-node sm-tree-node\"\r\n (click)=\"onNodeClick($event, node)\"\r\n >\r\n <button mat-icon-button matTreeNodeToggle [attr.aria-label]=\"'Toggle ' + node.name\">\r\n <mat-icon\r\n fontSet=\"material-symbols-outlined\"\r\n class=\"mat-icon-rtl-mirror\"\r\n (click)=\"onOpenNode($event, node)\"\r\n >\r\n @if (hasChild(node.level, node)) {\r\n <div>\r\n {{ treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n </div>\r\n }\r\n </mat-icon>\r\n </button>\r\n @if (node.tooltip) {\r\n <smart-icon\r\n [icon]=\"node.icon\"\r\n [smartTooltip]=\"createTooltip(node.tooltip)\"\r\n smartTooltipClass=\"sm-tree-tooltip\"\r\n ></smart-icon>\r\n } @else {\r\n <smart-icon [icon]=\"node.icon\"></smart-icon>\r\n }\r\n <div class=\"sm-tree-row\" [ngClass]=\"node.classes\">\r\n @let captionTooltipText = getCaptionTooltipText(node);\r\n @if (captionTooltipText) {\r\n <div\r\n class=\"sm-tree-row-caption\"\r\n [smartTooltip]=\"createTooltip(captionTooltipText)\"\r\n smartTooltipClass=\"sm-tree-tooltip\"\r\n >\r\n {{ node.caption }}\r\n </div>\r\n } @else {\r\n <div class=\"sm-tree-row-caption\">{{ node.caption }}</div>\r\n }\r\n <div class=\"sm-shortDescription-spacer\"></div>\r\n <div class=\"sm-tree-row-shortDescription\">\r\n {{ node.shortDescription }}\r\n </div>\r\n <div class=\"sm-shortDescription-button-spacer\"></div>\r\n @if (node.button) {\r\n <div class=\"sm-tree-node-button\">\r\n @switch (node.button.type) {\r\n @case (smartTreeNodeButtonType.ICON) {\r\n <button (click)=\"customButtonClicked($event, node.button)\" mat-icon-button>\r\n <smart-icon\r\n title=\"{{ node.button.icon }}\"\r\n [icon]=\"node.button.icon\"\r\n ></smart-icon>\r\n </button>\r\n }\r\n @case (smartTreeNodeButtonType.MENU) {\r\n <div>\r\n <button\r\n mat-button\r\n [matMenuTriggerFor]=\"menu\"\r\n (click)=\"customButtonClicked($event, node.button, true)\"\r\n >\r\n @if (node.button.icon) {\r\n <smart-icon [icon]=\"node.button.icon\"></smart-icon>\r\n }\r\n {{ node.button.label }}\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n @for (button of node.button.menuItemButtons; track button.code ?? $index) {\r\n <button\r\n (click)=\"customButtonClicked($event, button, true)\"\r\n mat-menu-item\r\n [attr.data-testid]=\"button.code ?? null\"\r\n >\r\n @if (button.icon) {\r\n <smart-icon [icon]=\"button.icon\"></smart-icon>\r\n }\r\n {{ button.label }}\r\n </button>\r\n }\r\n </mat-menu>\r\n </div>\r\n }\r\n @case (smartTreeNodeButtonType.NORMAL) {\r\n <button (click)=\"customButtonClicked($event, node.button)\" mat-raised-button>\r\n @if (node.button.icon) {\r\n <smart-icon [icon]=\"node.button.icon\"></smart-icon>\r\n }\r\n {{ node.button.icon }}\r\n </button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n <div\r\n [class.sm-tree-invisible]=\"!treeControl.isExpanded(node)\"\r\n [ngClass]=\"getClassesForTreeNodeChildren(node)\"\r\n role=\"group\"\r\n >\r\n <ng-container matTreeNodeOutlet></ng-container>\r\n </div>\r\n </mat-nested-tree-node>\r\n </mat-tree>\r\n }\r\n @if (!treeData) {\r\n <div class=\"tree-loading\">\r\n <mat-spinner diameter=\"24\" color=\"primary\"></mat-spinner>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".smartTreeContainer{display:flex;flex-direction:column;gap:.5rem}.sm-tree-invisible{display:none}.sm-tree ul,.sm-tree li{margin-top:0;margin-bottom:0;list-style-type:none}.sm-tree div[role=group]>.mat-tree-node{padding-left:40px}.sm-tee-node{padding-left:40px}.sm-tree-node-name{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tree-node-name-row{padding-left:15px;padding-top:15px;display:flex;flex-direction:row;justify-content:space-between}.sm-tree-node-name-col{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tee-node-id{font-weight:lighter}.mat-tree-node:hover{cursor:pointer}.sm-tree-node-selected{background-color:var(--tree-active-background, var(--accent-color, #20b6a8));color:var(--tree-active-color, #ffffff)}::ng-deep .mat-icon-rtl-mirror{display:flex;flex-direction:row}.sm-tree-row{display:flex;flex-direction:row;flex:1;align-items:center}.sm-shortDescription-spacer{flex:1}.sm-tree-row.sm-tree-branch-new,.sm-tree-row.sm-tree-branch-new *{color:var(--success-color, #16a34a)}.sm-tree-row.sm-tree-branch-new .sm-tree-row-caption{font-style:italic}.sm-tree-row.sm-tree-branch-modified,.sm-tree-row.sm-tree-branch-modified *{color:var(--accent-color, #20b6a8)}.sm-tree-row.sm-tree-branch-modified .sm-tree-row-caption{font-weight:600}.sm-tree-row.sm-tree-branch-deleted,.sm-tree-row.sm-tree-branch-deleted *{color:var(--color-text-muted, #68778e)}.sm-tree-row.sm-tree-branch-deleted .sm-tree-row-caption{text-decoration:line-through}.sm-tree-row.sm-tree-branch-contains-change,.sm-tree-row.sm-tree-branch-contains-change *{color:var(--accent-color, #20b6a8)}.sm-tree-row.sm-tree-branch-foreign,.sm-tree-row.sm-tree-branch-own-other-view-context{border-left:3px solid;padding-left:6px}.sm-tree-row.sm-tree-branch-foreign{border-left-color:var(--warning-color, #d97706)}.sm-tree-row.sm-tree-branch-own-other-view-context{border-left-color:var(--info-color, #64748b)}.sm-tree-row.sm-tree-branch-foreign .sm-tree-row-caption,.sm-tree-row.sm-tree-branch-own-other-view-context .sm-tree-row-caption{font-style:italic}.sm-tree-row.sm-tree-branch-foreign .sm-tree-row-shortDescription,.sm-tree-row.sm-tree-branch-own-other-view-context .sm-tree-row-shortDescription{display:none}::ng-deep .sm-tree-tooltip .mdc-tooltip__surface{white-space:pre-line}.sm-tree-node-selected .sm-tree-row,.sm-tree-node-selected .sm-tree-row-caption,.sm-tree-node-selected .sm-tree-row-shortDescription{color:inherit}.tree-loading{display:flex;justify-content:center;align-items:center;min-height:200px;width:100%}\n"] }]
19618
+ args: [{ selector: 'smart-tree', imports: [UiActionToolbarComponent, MatTree, MatTreeNodeDef, MatNestedTreeNode, MatTreeNodeToggle, NgClass, NgStyle, MatIconButton, MatIcon, SmartIconComponent, MatButton, MatMenuTrigger, MatMenu, MatMenuItem, MatTreeNodeOutlet, MatProgressSpinner, SmartTooltipDirective], template: "<div class=\"smartTreeContainer\">\r\n @if (uiActionModels.length) {\r\n <smart-ui-action-toolbar\r\n [uiActionModels]=\"uiActionModels\"\r\n [executor]=\"executor\"\r\n ></smart-ui-action-toolbar>\r\n }\r\n @if (treeData) {\r\n <mat-tree\r\n #tree\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n [trackBy]=\"trackByIdentifier\"\r\n class=\"sm-tree\"\r\n >\r\n <mat-nested-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodeToggle\r\n [ngClass]=\"getClassesForTreeNode(node)\"\r\n [ngStyle]=\"getNodeStyle(node)\"\r\n >\r\n <div\r\n [ngStyle]=\"getNodePadding(node)\"\r\n [ngClass]=\"getInnerClassesForTreeNode(node)\"\r\n class=\"mat-tree-node sm-tree-node\"\r\n (click)=\"onNodeClick($event, node)\"\r\n >\r\n <button mat-icon-button matTreeNodeToggle [attr.aria-label]=\"'Toggle ' + node.name\">\r\n <mat-icon\r\n fontSet=\"material-symbols-outlined\"\r\n class=\"mat-icon-rtl-mirror\"\r\n (click)=\"onOpenNode($event, node)\"\r\n >\r\n @if (hasChild(node.level, node)) {\r\n <div>\r\n {{ treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n </div>\r\n }\r\n </mat-icon>\r\n </button>\r\n @if (node.tooltip) {\r\n <smart-icon\r\n [icon]=\"node.icon\"\r\n [smartTooltip]=\"createTooltip(node.tooltip)\"\r\n smartTooltipClass=\"sm-tree-tooltip\"\r\n ></smart-icon>\r\n } @else {\r\n <smart-icon [icon]=\"node.icon\"></smart-icon>\r\n }\r\n <div class=\"sm-tree-row\" [ngClass]=\"node.classes\">\r\n @let captionTooltipText = getCaptionTooltipText(node);\r\n @if (captionTooltipText) {\r\n <div\r\n class=\"sm-tree-row-caption\"\r\n [smartTooltip]=\"createTooltip(captionTooltipText)\"\r\n smartTooltipClass=\"sm-tree-tooltip\"\r\n >\r\n {{ node.caption }}\r\n </div>\r\n } @else {\r\n <div class=\"sm-tree-row-caption\">{{ node.caption }}</div>\r\n }\r\n <div class=\"sm-shortDescription-spacer\"></div>\r\n <div class=\"sm-tree-row-shortDescription\">\r\n {{ node.shortDescription }}\r\n </div>\r\n <div class=\"sm-shortDescription-button-spacer\"></div>\r\n @if (node.button) {\r\n <div class=\"sm-tree-node-button\">\r\n @switch (node.button.type) {\r\n @case (smartTreeNodeButtonType.ICON) {\r\n <button (click)=\"customButtonClicked($event, node.button)\" mat-icon-button>\r\n <smart-icon\r\n title=\"{{ node.button.icon }}\"\r\n [icon]=\"node.button.icon\"\r\n ></smart-icon>\r\n </button>\r\n }\r\n @case (smartTreeNodeButtonType.MENU) {\r\n <div>\r\n <button\r\n mat-button\r\n [matMenuTriggerFor]=\"menu\"\r\n (click)=\"customButtonClicked($event, node.button, true)\"\r\n >\r\n @if (node.button.icon) {\r\n <smart-icon [icon]=\"node.button.icon\"></smart-icon>\r\n }\r\n {{ node.button.label }}\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n @for (button of node.button.menuItemButtons; track button.code ?? $index) {\r\n <button\r\n (click)=\"customButtonClicked($event, button, true)\"\r\n mat-menu-item\r\n [attr.data-testid]=\"button.code ?? null\"\r\n >\r\n @if (button.icon) {\r\n <smart-icon [icon]=\"button.icon\"></smart-icon>\r\n }\r\n {{ button.label }}\r\n </button>\r\n }\r\n </mat-menu>\r\n </div>\r\n }\r\n @case (smartTreeNodeButtonType.NORMAL) {\r\n <button (click)=\"customButtonClicked($event, node.button)\" mat-raised-button>\r\n @if (node.button.icon) {\r\n <smart-icon [icon]=\"node.button.icon\"></smart-icon>\r\n }\r\n {{ node.button.icon }}\r\n </button>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n <div\r\n [class.sm-tree-invisible]=\"!treeControl.isExpanded(node)\"\r\n [ngClass]=\"getClassesForTreeNodeChildren(node)\"\r\n role=\"group\"\r\n >\r\n <ng-container matTreeNodeOutlet></ng-container>\r\n </div>\r\n </mat-nested-tree-node>\r\n </mat-tree>\r\n }\r\n @if (!treeData) {\r\n <div class=\"tree-loading\">\r\n <mat-spinner diameter=\"24\" color=\"primary\"></mat-spinner>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".smartTreeContainer{display:flex;flex-direction:column;gap:.5rem}.sm-tree-invisible{display:none}.sm-tree ul,.sm-tree li{margin-top:0;margin-bottom:0;list-style-type:none}.sm-tree div[role=group]>.mat-tree-node{padding-left:40px}.sm-tee-node{padding-left:40px}.sm-tree-node-name{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tree-node-name-row{padding-left:15px;padding-top:15px;display:flex;flex-direction:row;justify-content:space-between}.sm-tree-node-name-col{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tee-node-id{font-weight:lighter}.mat-tree-node:hover{cursor:pointer}.sm-tree-node-selected{background-color:var(--tree-active-background, var(--accent-color, #20b6a8));color:var(--tree-active-color, #ffffff)}::ng-deep .mat-icon-rtl-mirror{display:flex;flex-direction:row}.sm-tree-row{display:flex;flex-direction:row;flex:1;align-items:center}.sm-shortDescription-spacer{flex:1}.sm-tree-row.sm-tree-branch-new,.sm-tree-row.sm-tree-branch-new *{color:var(--success-color, #16a34a)}.sm-tree-row.sm-tree-branch-new .sm-tree-row-caption{font-style:italic}.sm-tree-row.sm-tree-branch-modified,.sm-tree-row.sm-tree-branch-modified *{color:var(--accent-color, #20b6a8)}.sm-tree-row.sm-tree-branch-modified .sm-tree-row-caption{font-weight:600}.sm-tree-row.sm-tree-branch-deleted,.sm-tree-row.sm-tree-branch-deleted *{color:var(--color-text-muted, #68778e)}.sm-tree-row.sm-tree-branch-deleted .sm-tree-row-caption{text-decoration:line-through}.sm-tree-row.sm-tree-branch-contains-change,.sm-tree-row.sm-tree-branch-contains-change *{color:var(--accent-color, #20b6a8)}.sm-tree-row.sm-tree-branch-foreign,.sm-tree-row.sm-tree-branch-own-other-view-context{border-left:3px solid;padding-left:6px}.sm-tree-row.sm-tree-branch-foreign{border-left-color:var(--warning-color, #d97706)}.sm-tree-row.sm-tree-branch-own-other-view-context{border-left-color:var(--info-color, #64748b)}.sm-tree-row.sm-tree-branch-foreign .sm-tree-row-caption,.sm-tree-row.sm-tree-branch-own-other-view-context .sm-tree-row-caption{font-style:italic}.sm-tree-row.sm-tree-branch-foreign .sm-tree-row-shortDescription,.sm-tree-row.sm-tree-branch-own-other-view-context .sm-tree-row-shortDescription{display:none}.sm-tree-row.sm-tree-record-unavailable,.sm-tree-row.sm-tree-record-unavailable *,.sm-tree-node:not(.sm-tree-node-selected):has(>.sm-tree-row.sm-tree-record-unavailable)>smart-icon{color:var(--color-text-muted, #68778e)}.sm-tree-row.sm-tree-record-unavailable .sm-tree-row-caption{font-style:italic}::ng-deep .sm-tree-tooltip .mdc-tooltip__surface{white-space:pre-line}.sm-tree-node-selected .sm-tree-row,.sm-tree-node-selected .sm-tree-row-caption,.sm-tree-node-selected .sm-tree-row-shortDescription{color:inherit}.tree-loading{display:flex;justify-content:center;align-items:center;min-height:200px;width:100%}\n"] }]
19619
19619
  }], ctorParameters: () => [], propDecorators: { trigger: [{
19620
19620
  type: ViewChildren,
19621
19621
  args: [MatMenuTrigger]
@@ -24480,7 +24480,7 @@ class SmartGridComponent {
24480
24480
  };
24481
24481
  }
24482
24482
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SmartGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24483
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SmartGridComponent, isStandalone: true, selector: "smart-grid", inputs: { smartGrid: { classPropertyName: "smartGrid", publicName: "smartGrid", isSignal: false, isRequired: false, transformFunction: null }, uuid: { classPropertyName: "uuid", publicName: "uuid", isSignal: false, isRequired: false, transformFunction: null }, parentLayoutComponent: { classPropertyName: "parentLayoutComponent", publicName: "parentLayoutComponent", isSignal: true, isRequired: false, transformFunction: null }, dev: { classPropertyName: "dev", publicName: "dev", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-testid": "this.testId" } }, providers: [SmartGridService], viewQueries: [{ propertyName: "vcRefTable", first: true, predicate: ["table"], descendants: true, read: ViewContainerRef }, { propertyName: "cardDefaultActionsMenu", first: true, predicate: DefaultActionsPopupComponent, descendants: true }, { propertyName: "expandedRowsComps", predicate: ExpandedRowRendererComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (smartGrid) {\r\n <div class=\"smartGrid-container\">\r\n <div class=\"smart-grid-toolbar\">\r\n <smart-ui-action-toolbar [id]=\"toolbarId\"></smart-ui-action-toolbar>\r\n @if (smartGrid.showEditColumns) {\r\n <ui-action-button (actionClick)=\"editColumns()\" [descriptor]=\"showEditColumns\">\r\n </ui-action-button>\r\n }\r\n </div>\r\n <!-- <div [ngClass]=\"isBlocked ? 'blocked' : ''\"></div> -->\r\n <div class=\"smartGridContent\">\r\n <div>\r\n @if (smartGrid.showResultCount) {\r\n <div>\r\n <div class=\"smartGrid-data-number\">\r\n {{ smartGrid.gridModel.totalRowCount }}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"smart-grid-table-container\">\r\n <ng-template #table></ng-template>\r\n </div>\r\n @if (smartGrid.layoutDef === layoutDef().EXPANDABLE) {\r\n <div>\r\n @for (expandableSection of expandableSections; track expandableSection) {\r\n <smart-expandable-section\r\n #gridExpandableSection\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n }\r\n </div>\r\n }\r\n @if (smartGrid.layoutDef === layoutDef().CARD && smartGrid.dataLayoutDef) {\r\n <div\r\n class=\"cards-container\"\r\n [ngStyle]=\"{\r\n 'grid-template-columns':\r\n smartGrid.numberOfColumn !== undefined\r\n ? 'repeat(' + smartGrid.numberOfColumn + ', 1fr)'\r\n : '',\r\n }\"\r\n >\r\n @for (row of smartGrid.gridModel.page.rows; track row.id) {\r\n <app-smart-grid-card\r\n class=\"smartGrid-card-container\"\r\n [ngClass]=\"calcRowClasses(row)\"\r\n [ngStyle]=\"calcStyle(row.style)\"\r\n [class.clickable-row]=\"isCardSelectable(row) || hasCardDefaultAction(row)\"\r\n [class.selected]=\"!!row.selected && !!rowLayoutOf(row)\"\r\n (click)=\"onCardClick(row, $event)\"\r\n (dblclick)=\"onCardDoubleClick(row, $event)\"\r\n [item]=\"row\"\r\n [layout]=\"rowLayoutOf(row)\"\r\n [smartGrid]=\"smartGrid\"\r\n [parentLayoutComponent]=\"parentLayoutComponent()\"\r\n ></app-smart-grid-card>\r\n }\r\n @if (cardMenuRow(); as menuRow) {\r\n <lib-default-actions-popup\r\n [buttons]=\"cardMenuButtons()\"\r\n [row]=\"menuRow\"\r\n ></lib-default-actions-popup>\r\n }\r\n </div>\r\n }\r\n @if (smartGrid.layoutDef === layoutDef().TREE && treeControl) {\r\n <div\r\n class=\"tree-container\"\r\n [ngStyle]=\"{\r\n 'grid-template-columns':\r\n smartGrid.numberOfColumn !== undefined\r\n ? 'repeat(' + smartGrid.numberOfColumn + ', 1fr)'\r\n : '',\r\n }\"\r\n >\r\n <mat-tree [dataSource]=\"treeDataSource!\" [treeControl]=\"treeControl!\">\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n matTreeNodePaddingIndent=\"24\"\r\n >\r\n <button mat-icon-button disabled class=\"tree-button\"></button>\r\n <mat-checkbox\r\n class=\"checklist-leaf-node\"\r\n [checked]=\"$safeNavigationMigration(treeChecklistSelection?.isSelected(node))\"\r\n (change)=\"treeNodeSelectionToggle(node)\"\r\n >{{ getTreeItem(node) }}</mat-checkbox\r\n >\r\n </mat-tree-node>\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodePadding\r\n matTreeNodePaddingIndent=\"24\"\r\n >\r\n <button\r\n mat-icon-button\r\n matTreeNodeToggle\r\n class=\"tree-button\"\r\n [attr.aria-label]=\"'Toggle ' + node.item\"\r\n >\r\n <mat-icon fontSet=\"material-symbols-outlined\" class=\"mat-icon-rtl-mirror\">\r\n {{ treeControl!.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n </mat-icon>\r\n </button>\r\n <mat-checkbox\r\n [checked]=\"$safeNavigationMigration(treeChecklistSelection?.isSelected(node))\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\"\r\n (change)=\"treeNodeSelectionToggle(node)\"\r\n >{{ getTreeItem(node) }}</mat-checkbox\r\n >\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n }\r\n </div>\r\n @if (smartGrid.paginator) {\r\n <div class=\"paginator-row-material\">\r\n @if (smartGrid.gridModel.refreshEnabled) {\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Friss\u00EDt\u00E9s\"\r\n (click)=\"refreshPartialResults()\"\r\n >\r\n <mat-icon fontSet=\"material-symbols-outlined\">refresh</mat-icon>\r\n </button>\r\n }\r\n @if (smartGrid.paginator && !treeControl) {\r\n <mat-paginator\r\n #paginator\r\n [length]=\"length\"\r\n [pageIndex]=\"pageIndex\"\r\n [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\"\r\n (page)=\"onChangePage($event)\"\r\n ></mat-paginator>\r\n }\r\n </div>\r\n }\r\n </div>\r\n}\r\n", styles: [".smartGrid-container{position:relative;padding:.5rem;display:flex;flex-direction:column;gap:1rem}.smartGrid-data-number{padding-bottom:1rem}.cards-container{display:grid;gap:1rem}.smartGrid-container ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-underline{bottom:0}.smartGridContent{width:100%;flex:1;overflow:auto}.blocked{position:absolute;width:calc(100% - 3rem);height:calc(100% - 3rem);z-index:110;background-color:rgb(from var(--color-text, #132033) r g b / .2)}.smart-grid-table-container{display:flex;flex-direction:column;gap:1rem}.smart-grid-toolbar{display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.smart-grid-toolbar smart-ui-action-toolbar{width:100%}.smart-grid-edit-icon{color:var(--light-gray, var(--color-text-muted, #68778e))}.tree-button{width:24px!important;height:24px!important}.paginator-row-material{display:flex;align-items:center;align-self:flex-end;gap:.25rem}.clickable-row{cursor:pointer}.smartGrid-card-container.selected{outline:2px solid var(--mat-sys-primary, var(--primary-color, #384372))}.smartGrid-card-container.sm-grid-row-new{color:var(--success-color, #16a34a);font-style:italic}.smartGrid-card-container.sm-grid-row-modified{color:var(--accent-color, #20b6a8);font-weight:600}.smartGrid-card-container.sm-grid-row-deleted{color:var(--color-text-muted, #68778e)}.smartGrid-card-container.sm-grid-row-moved{font-style:italic}.smartGrid-card-container.sm-grid-row-contains-change{color:var(--accent-color, #20b6a8)}:host-context(.sm-nav-list) .smartGrid-container{padding-top:0}:host-context(.sm-nav-list) .smart-grid-toolbar:not(:has(ui-action-button,theme-selector,ui-hover-menu,ui-tiered-menu)){display:none}.gridCardLayout>smartform{flex:1}\n"], dependencies: [{ kind: "component", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "executor", "widgetId", "nodeId", "actionParams", "scrollOnWrap", "toolbarPropertes"], outputs: ["actionFired"] }, { kind: "component", type: UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "identifier", "viewActivated", "tab", "rowState", "addedCssClass", "addBasicClasses", "iconPlaceholder", "chords"], outputs: ["actionClick", "actionDoubleClick"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ExpandableSectionComponent, selector: "smart-expandable-section", inputs: ["data", "index"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SmartGridCardComponent, selector: "app-smart-grid-card", inputs: ["item", "smartGrid", "parentLayoutComponent", "layout"] }, { kind: "component", type: DefaultActionsPopupComponent, selector: "lib-default-actions-popup", inputs: ["buttons", "row", "colIdx"] }, { kind: "component", type: MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: MatTreeNode, selector: "mat-tree-node", inputs: ["tabIndex", "disabled"], outputs: ["activation", "expandedChange"], exportAs: ["matTreeNode"] }, { kind: "directive", type: MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "directive", type: MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }] }); }
24483
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SmartGridComponent, isStandalone: true, selector: "smart-grid", inputs: { smartGrid: { classPropertyName: "smartGrid", publicName: "smartGrid", isSignal: false, isRequired: false, transformFunction: null }, uuid: { classPropertyName: "uuid", publicName: "uuid", isSignal: false, isRequired: false, transformFunction: null }, parentLayoutComponent: { classPropertyName: "parentLayoutComponent", publicName: "parentLayoutComponent", isSignal: true, isRequired: false, transformFunction: null }, dev: { classPropertyName: "dev", publicName: "dev", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-testid": "this.testId" } }, providers: [SmartGridService], viewQueries: [{ propertyName: "vcRefTable", first: true, predicate: ["table"], descendants: true, read: ViewContainerRef }, { propertyName: "cardDefaultActionsMenu", first: true, predicate: DefaultActionsPopupComponent, descendants: true }, { propertyName: "expandedRowsComps", predicate: ExpandedRowRendererComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (smartGrid) {\r\n <div class=\"smartGrid-container\">\r\n <div class=\"smart-grid-toolbar\">\r\n <smart-ui-action-toolbar [id]=\"toolbarId\"></smart-ui-action-toolbar>\r\n @if (smartGrid.showEditColumns) {\r\n <ui-action-button (actionClick)=\"editColumns()\" [descriptor]=\"showEditColumns\">\r\n </ui-action-button>\r\n }\r\n </div>\r\n <!-- <div [ngClass]=\"isBlocked ? 'blocked' : ''\"></div> -->\r\n <div class=\"smartGridContent\">\r\n <div>\r\n @if (smartGrid.showResultCount) {\r\n <div>\r\n <div class=\"smartGrid-data-number\">\r\n {{ smartGrid.gridModel.totalRowCount }}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"smart-grid-table-container\">\r\n <ng-template #table></ng-template>\r\n </div>\r\n @if (smartGrid.layoutDef === layoutDef().EXPANDABLE) {\r\n <div>\r\n @for (expandableSection of expandableSections; track expandableSection) {\r\n <smart-expandable-section\r\n #gridExpandableSection\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n }\r\n </div>\r\n }\r\n @if (smartGrid.layoutDef === layoutDef().CARD && smartGrid.dataLayoutDef) {\r\n <div\r\n class=\"cards-container\"\r\n [ngStyle]=\"{\r\n 'grid-template-columns':\r\n smartGrid.numberOfColumn !== undefined\r\n ? 'repeat(' + smartGrid.numberOfColumn + ', 1fr)'\r\n : '',\r\n }\"\r\n >\r\n @for (row of smartGrid.gridModel.page.rows; track row.id) {\r\n <app-smart-grid-card\r\n class=\"smartGrid-card-container\"\r\n [ngClass]=\"calcRowClasses(row)\"\r\n [ngStyle]=\"calcStyle(row.style)\"\r\n [class.clickable-row]=\"isCardSelectable(row) || hasCardDefaultAction(row)\"\r\n [class.selected]=\"!!row.selected && !!rowLayoutOf(row)\"\r\n (click)=\"onCardClick(row, $event)\"\r\n (dblclick)=\"onCardDoubleClick(row, $event)\"\r\n [item]=\"row\"\r\n [layout]=\"rowLayoutOf(row)\"\r\n [smartGrid]=\"smartGrid\"\r\n [parentLayoutComponent]=\"parentLayoutComponent()\"\r\n ></app-smart-grid-card>\r\n }\r\n @if (cardMenuRow(); as menuRow) {\r\n <lib-default-actions-popup\r\n [buttons]=\"cardMenuButtons()\"\r\n [row]=\"menuRow\"\r\n ></lib-default-actions-popup>\r\n }\r\n </div>\r\n }\r\n @if (smartGrid.layoutDef === layoutDef().TREE && treeControl) {\r\n <div\r\n class=\"tree-container\"\r\n [ngStyle]=\"{\r\n 'grid-template-columns':\r\n smartGrid.numberOfColumn !== undefined\r\n ? 'repeat(' + smartGrid.numberOfColumn + ', 1fr)'\r\n : '',\r\n }\"\r\n >\r\n <mat-tree [dataSource]=\"treeDataSource!\" [treeControl]=\"treeControl!\">\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n matTreeNodePaddingIndent=\"24\"\r\n >\r\n <button mat-icon-button disabled class=\"tree-button\"></button>\r\n <mat-checkbox\r\n class=\"checklist-leaf-node\"\r\n [checked]=\"$safeNavigationMigration(treeChecklistSelection?.isSelected(node))\"\r\n (change)=\"treeNodeSelectionToggle(node)\"\r\n >{{ getTreeItem(node) }}</mat-checkbox\r\n >\r\n </mat-tree-node>\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodePadding\r\n matTreeNodePaddingIndent=\"24\"\r\n >\r\n <button\r\n mat-icon-button\r\n matTreeNodeToggle\r\n class=\"tree-button\"\r\n [attr.aria-label]=\"'Toggle ' + node.item\"\r\n >\r\n <mat-icon fontSet=\"material-symbols-outlined\" class=\"mat-icon-rtl-mirror\">\r\n {{ treeControl!.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n </mat-icon>\r\n </button>\r\n <mat-checkbox\r\n [checked]=\"$safeNavigationMigration(treeChecklistSelection?.isSelected(node))\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\"\r\n (change)=\"treeNodeSelectionToggle(node)\"\r\n >{{ getTreeItem(node) }}</mat-checkbox\r\n >\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n }\r\n </div>\r\n @if (smartGrid.paginator) {\r\n <div class=\"paginator-row-material\">\r\n @if (smartGrid.gridModel.refreshEnabled) {\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Friss\u00EDt\u00E9s\"\r\n (click)=\"refreshPartialResults()\"\r\n >\r\n <mat-icon fontSet=\"material-symbols-outlined\">refresh</mat-icon>\r\n </button>\r\n }\r\n @if (smartGrid.paginator && !treeControl) {\r\n <mat-paginator\r\n #paginator\r\n [length]=\"length\"\r\n [pageIndex]=\"pageIndex\"\r\n [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\"\r\n (page)=\"onChangePage($event)\"\r\n ></mat-paginator>\r\n }\r\n </div>\r\n }\r\n </div>\r\n}\r\n", styles: [".smartGrid-container{position:relative;padding:.5rem;display:flex;flex-direction:column;gap:1rem}.smartGrid-data-number{padding-bottom:1rem}.cards-container{display:grid;gap:1rem}.smartGrid-container ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-underline{bottom:0}.smartGridContent{flex:1}.blocked{position:absolute;width:calc(100% - 3rem);height:calc(100% - 3rem);z-index:110;background-color:rgb(from var(--color-text, #132033) r g b / .2)}.smart-grid-table-container{display:flex;flex-direction:column;gap:1rem}.smart-grid-toolbar{display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.smart-grid-toolbar smart-ui-action-toolbar{width:100%}.smart-grid-edit-icon{color:var(--light-gray, var(--color-text-muted, #68778e))}.tree-button{width:24px!important;height:24px!important}.paginator-row-material{display:flex;align-items:center;align-self:flex-end;gap:.25rem}.clickable-row{cursor:pointer}.smartGrid-card-container.selected{outline:2px solid var(--mat-sys-primary, var(--primary-color, #384372))}.smartGrid-card-container.sm-grid-row-new{color:var(--success-color, #16a34a);font-style:italic}.smartGrid-card-container.sm-grid-row-modified{color:var(--accent-color, #20b6a8);font-weight:600}.smartGrid-card-container.sm-grid-row-deleted{color:var(--color-text-muted, #68778e)}.smartGrid-card-container.sm-grid-row-moved{font-style:italic}.smartGrid-card-container.sm-grid-row-contains-change{color:var(--accent-color, #20b6a8)}:host-context(.sm-nav-list) .smartGrid-container{padding-top:0}:host-context(.sm-nav-list) .smart-grid-toolbar:not(:has(ui-action-button,theme-selector,ui-hover-menu,ui-tiered-menu)){display:none}.gridCardLayout>smartform{flex:1}\n"], dependencies: [{ kind: "component", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "executor", "widgetId", "nodeId", "actionParams", "scrollOnWrap", "toolbarPropertes"], outputs: ["actionFired"] }, { kind: "component", type: UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "identifier", "viewActivated", "tab", "rowState", "addedCssClass", "addBasicClasses", "iconPlaceholder", "chords"], outputs: ["actionClick", "actionDoubleClick"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ExpandableSectionComponent, selector: "smart-expandable-section", inputs: ["data", "index"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SmartGridCardComponent, selector: "app-smart-grid-card", inputs: ["item", "smartGrid", "parentLayoutComponent", "layout"] }, { kind: "component", type: DefaultActionsPopupComponent, selector: "lib-default-actions-popup", inputs: ["buttons", "row", "colIdx"] }, { kind: "component", type: MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: MatTreeNode, selector: "mat-tree-node", inputs: ["tabIndex", "disabled"], outputs: ["activation", "expandedChange"], exportAs: ["matTreeNode"] }, { kind: "directive", type: MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "directive", type: MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }] }); }
24484
24484
  }
24485
24485
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SmartGridComponent, decorators: [{
24486
24486
  type: Component,
@@ -24503,7 +24503,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
24503
24503
  MatCheckbox,
24504
24504
  MatTooltip,
24505
24505
  MatPaginator,
24506
- ], template: "@if (smartGrid) {\r\n <div class=\"smartGrid-container\">\r\n <div class=\"smart-grid-toolbar\">\r\n <smart-ui-action-toolbar [id]=\"toolbarId\"></smart-ui-action-toolbar>\r\n @if (smartGrid.showEditColumns) {\r\n <ui-action-button (actionClick)=\"editColumns()\" [descriptor]=\"showEditColumns\">\r\n </ui-action-button>\r\n }\r\n </div>\r\n <!-- <div [ngClass]=\"isBlocked ? 'blocked' : ''\"></div> -->\r\n <div class=\"smartGridContent\">\r\n <div>\r\n @if (smartGrid.showResultCount) {\r\n <div>\r\n <div class=\"smartGrid-data-number\">\r\n {{ smartGrid.gridModel.totalRowCount }}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"smart-grid-table-container\">\r\n <ng-template #table></ng-template>\r\n </div>\r\n @if (smartGrid.layoutDef === layoutDef().EXPANDABLE) {\r\n <div>\r\n @for (expandableSection of expandableSections; track expandableSection) {\r\n <smart-expandable-section\r\n #gridExpandableSection\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n }\r\n </div>\r\n }\r\n @if (smartGrid.layoutDef === layoutDef().CARD && smartGrid.dataLayoutDef) {\r\n <div\r\n class=\"cards-container\"\r\n [ngStyle]=\"{\r\n 'grid-template-columns':\r\n smartGrid.numberOfColumn !== undefined\r\n ? 'repeat(' + smartGrid.numberOfColumn + ', 1fr)'\r\n : '',\r\n }\"\r\n >\r\n @for (row of smartGrid.gridModel.page.rows; track row.id) {\r\n <app-smart-grid-card\r\n class=\"smartGrid-card-container\"\r\n [ngClass]=\"calcRowClasses(row)\"\r\n [ngStyle]=\"calcStyle(row.style)\"\r\n [class.clickable-row]=\"isCardSelectable(row) || hasCardDefaultAction(row)\"\r\n [class.selected]=\"!!row.selected && !!rowLayoutOf(row)\"\r\n (click)=\"onCardClick(row, $event)\"\r\n (dblclick)=\"onCardDoubleClick(row, $event)\"\r\n [item]=\"row\"\r\n [layout]=\"rowLayoutOf(row)\"\r\n [smartGrid]=\"smartGrid\"\r\n [parentLayoutComponent]=\"parentLayoutComponent()\"\r\n ></app-smart-grid-card>\r\n }\r\n @if (cardMenuRow(); as menuRow) {\r\n <lib-default-actions-popup\r\n [buttons]=\"cardMenuButtons()\"\r\n [row]=\"menuRow\"\r\n ></lib-default-actions-popup>\r\n }\r\n </div>\r\n }\r\n @if (smartGrid.layoutDef === layoutDef().TREE && treeControl) {\r\n <div\r\n class=\"tree-container\"\r\n [ngStyle]=\"{\r\n 'grid-template-columns':\r\n smartGrid.numberOfColumn !== undefined\r\n ? 'repeat(' + smartGrid.numberOfColumn + ', 1fr)'\r\n : '',\r\n }\"\r\n >\r\n <mat-tree [dataSource]=\"treeDataSource!\" [treeControl]=\"treeControl!\">\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n matTreeNodePaddingIndent=\"24\"\r\n >\r\n <button mat-icon-button disabled class=\"tree-button\"></button>\r\n <mat-checkbox\r\n class=\"checklist-leaf-node\"\r\n [checked]=\"$safeNavigationMigration(treeChecklistSelection?.isSelected(node))\"\r\n (change)=\"treeNodeSelectionToggle(node)\"\r\n >{{ getTreeItem(node) }}</mat-checkbox\r\n >\r\n </mat-tree-node>\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodePadding\r\n matTreeNodePaddingIndent=\"24\"\r\n >\r\n <button\r\n mat-icon-button\r\n matTreeNodeToggle\r\n class=\"tree-button\"\r\n [attr.aria-label]=\"'Toggle ' + node.item\"\r\n >\r\n <mat-icon fontSet=\"material-symbols-outlined\" class=\"mat-icon-rtl-mirror\">\r\n {{ treeControl!.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n </mat-icon>\r\n </button>\r\n <mat-checkbox\r\n [checked]=\"$safeNavigationMigration(treeChecklistSelection?.isSelected(node))\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\"\r\n (change)=\"treeNodeSelectionToggle(node)\"\r\n >{{ getTreeItem(node) }}</mat-checkbox\r\n >\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n }\r\n </div>\r\n @if (smartGrid.paginator) {\r\n <div class=\"paginator-row-material\">\r\n @if (smartGrid.gridModel.refreshEnabled) {\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Friss\u00EDt\u00E9s\"\r\n (click)=\"refreshPartialResults()\"\r\n >\r\n <mat-icon fontSet=\"material-symbols-outlined\">refresh</mat-icon>\r\n </button>\r\n }\r\n @if (smartGrid.paginator && !treeControl) {\r\n <mat-paginator\r\n #paginator\r\n [length]=\"length\"\r\n [pageIndex]=\"pageIndex\"\r\n [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\"\r\n (page)=\"onChangePage($event)\"\r\n ></mat-paginator>\r\n }\r\n </div>\r\n }\r\n </div>\r\n}\r\n", styles: [".smartGrid-container{position:relative;padding:.5rem;display:flex;flex-direction:column;gap:1rem}.smartGrid-data-number{padding-bottom:1rem}.cards-container{display:grid;gap:1rem}.smartGrid-container ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-underline{bottom:0}.smartGridContent{width:100%;flex:1;overflow:auto}.blocked{position:absolute;width:calc(100% - 3rem);height:calc(100% - 3rem);z-index:110;background-color:rgb(from var(--color-text, #132033) r g b / .2)}.smart-grid-table-container{display:flex;flex-direction:column;gap:1rem}.smart-grid-toolbar{display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.smart-grid-toolbar smart-ui-action-toolbar{width:100%}.smart-grid-edit-icon{color:var(--light-gray, var(--color-text-muted, #68778e))}.tree-button{width:24px!important;height:24px!important}.paginator-row-material{display:flex;align-items:center;align-self:flex-end;gap:.25rem}.clickable-row{cursor:pointer}.smartGrid-card-container.selected{outline:2px solid var(--mat-sys-primary, var(--primary-color, #384372))}.smartGrid-card-container.sm-grid-row-new{color:var(--success-color, #16a34a);font-style:italic}.smartGrid-card-container.sm-grid-row-modified{color:var(--accent-color, #20b6a8);font-weight:600}.smartGrid-card-container.sm-grid-row-deleted{color:var(--color-text-muted, #68778e)}.smartGrid-card-container.sm-grid-row-moved{font-style:italic}.smartGrid-card-container.sm-grid-row-contains-change{color:var(--accent-color, #20b6a8)}:host-context(.sm-nav-list) .smartGrid-container{padding-top:0}:host-context(.sm-nav-list) .smart-grid-toolbar:not(:has(ui-action-button,theme-selector,ui-hover-menu,ui-tiered-menu)){display:none}.gridCardLayout>smartform{flex:1}\n"] }]
24506
+ ], template: "@if (smartGrid) {\r\n <div class=\"smartGrid-container\">\r\n <div class=\"smart-grid-toolbar\">\r\n <smart-ui-action-toolbar [id]=\"toolbarId\"></smart-ui-action-toolbar>\r\n @if (smartGrid.showEditColumns) {\r\n <ui-action-button (actionClick)=\"editColumns()\" [descriptor]=\"showEditColumns\">\r\n </ui-action-button>\r\n }\r\n </div>\r\n <!-- <div [ngClass]=\"isBlocked ? 'blocked' : ''\"></div> -->\r\n <div class=\"smartGridContent\">\r\n <div>\r\n @if (smartGrid.showResultCount) {\r\n <div>\r\n <div class=\"smartGrid-data-number\">\r\n {{ smartGrid.gridModel.totalRowCount }}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"smart-grid-table-container\">\r\n <ng-template #table></ng-template>\r\n </div>\r\n @if (smartGrid.layoutDef === layoutDef().EXPANDABLE) {\r\n <div>\r\n @for (expandableSection of expandableSections; track expandableSection) {\r\n <smart-expandable-section\r\n #gridExpandableSection\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n }\r\n </div>\r\n }\r\n @if (smartGrid.layoutDef === layoutDef().CARD && smartGrid.dataLayoutDef) {\r\n <div\r\n class=\"cards-container\"\r\n [ngStyle]=\"{\r\n 'grid-template-columns':\r\n smartGrid.numberOfColumn !== undefined\r\n ? 'repeat(' + smartGrid.numberOfColumn + ', 1fr)'\r\n : '',\r\n }\"\r\n >\r\n @for (row of smartGrid.gridModel.page.rows; track row.id) {\r\n <app-smart-grid-card\r\n class=\"smartGrid-card-container\"\r\n [ngClass]=\"calcRowClasses(row)\"\r\n [ngStyle]=\"calcStyle(row.style)\"\r\n [class.clickable-row]=\"isCardSelectable(row) || hasCardDefaultAction(row)\"\r\n [class.selected]=\"!!row.selected && !!rowLayoutOf(row)\"\r\n (click)=\"onCardClick(row, $event)\"\r\n (dblclick)=\"onCardDoubleClick(row, $event)\"\r\n [item]=\"row\"\r\n [layout]=\"rowLayoutOf(row)\"\r\n [smartGrid]=\"smartGrid\"\r\n [parentLayoutComponent]=\"parentLayoutComponent()\"\r\n ></app-smart-grid-card>\r\n }\r\n @if (cardMenuRow(); as menuRow) {\r\n <lib-default-actions-popup\r\n [buttons]=\"cardMenuButtons()\"\r\n [row]=\"menuRow\"\r\n ></lib-default-actions-popup>\r\n }\r\n </div>\r\n }\r\n @if (smartGrid.layoutDef === layoutDef().TREE && treeControl) {\r\n <div\r\n class=\"tree-container\"\r\n [ngStyle]=\"{\r\n 'grid-template-columns':\r\n smartGrid.numberOfColumn !== undefined\r\n ? 'repeat(' + smartGrid.numberOfColumn + ', 1fr)'\r\n : '',\r\n }\"\r\n >\r\n <mat-tree [dataSource]=\"treeDataSource!\" [treeControl]=\"treeControl!\">\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n matTreeNodePaddingIndent=\"24\"\r\n >\r\n <button mat-icon-button disabled class=\"tree-button\"></button>\r\n <mat-checkbox\r\n class=\"checklist-leaf-node\"\r\n [checked]=\"$safeNavigationMigration(treeChecklistSelection?.isSelected(node))\"\r\n (change)=\"treeNodeSelectionToggle(node)\"\r\n >{{ getTreeItem(node) }}</mat-checkbox\r\n >\r\n </mat-tree-node>\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodePadding\r\n matTreeNodePaddingIndent=\"24\"\r\n >\r\n <button\r\n mat-icon-button\r\n matTreeNodeToggle\r\n class=\"tree-button\"\r\n [attr.aria-label]=\"'Toggle ' + node.item\"\r\n >\r\n <mat-icon fontSet=\"material-symbols-outlined\" class=\"mat-icon-rtl-mirror\">\r\n {{ treeControl!.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n </mat-icon>\r\n </button>\r\n <mat-checkbox\r\n [checked]=\"$safeNavigationMigration(treeChecklistSelection?.isSelected(node))\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\"\r\n (change)=\"treeNodeSelectionToggle(node)\"\r\n >{{ getTreeItem(node) }}</mat-checkbox\r\n >\r\n </mat-tree-node>\r\n </mat-tree>\r\n </div>\r\n }\r\n </div>\r\n @if (smartGrid.paginator) {\r\n <div class=\"paginator-row-material\">\r\n @if (smartGrid.gridModel.refreshEnabled) {\r\n <button\r\n mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"Friss\u00EDt\u00E9s\"\r\n (click)=\"refreshPartialResults()\"\r\n >\r\n <mat-icon fontSet=\"material-symbols-outlined\">refresh</mat-icon>\r\n </button>\r\n }\r\n @if (smartGrid.paginator && !treeControl) {\r\n <mat-paginator\r\n #paginator\r\n [length]=\"length\"\r\n [pageIndex]=\"pageIndex\"\r\n [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\"\r\n (page)=\"onChangePage($event)\"\r\n ></mat-paginator>\r\n }\r\n </div>\r\n }\r\n </div>\r\n}\r\n", styles: [".smartGrid-container{position:relative;padding:.5rem;display:flex;flex-direction:column;gap:1rem}.smartGrid-data-number{padding-bottom:1rem}.cards-container{display:grid;gap:1rem}.smartGrid-container ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-underline{bottom:0}.smartGridContent{flex:1}.blocked{position:absolute;width:calc(100% - 3rem);height:calc(100% - 3rem);z-index:110;background-color:rgb(from var(--color-text, #132033) r g b / .2)}.smart-grid-table-container{display:flex;flex-direction:column;gap:1rem}.smart-grid-toolbar{display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.smart-grid-toolbar smart-ui-action-toolbar{width:100%}.smart-grid-edit-icon{color:var(--light-gray, var(--color-text-muted, #68778e))}.tree-button{width:24px!important;height:24px!important}.paginator-row-material{display:flex;align-items:center;align-self:flex-end;gap:.25rem}.clickable-row{cursor:pointer}.smartGrid-card-container.selected{outline:2px solid var(--mat-sys-primary, var(--primary-color, #384372))}.smartGrid-card-container.sm-grid-row-new{color:var(--success-color, #16a34a);font-style:italic}.smartGrid-card-container.sm-grid-row-modified{color:var(--accent-color, #20b6a8);font-weight:600}.smartGrid-card-container.sm-grid-row-deleted{color:var(--color-text-muted, #68778e)}.smartGrid-card-container.sm-grid-row-moved{font-style:italic}.smartGrid-card-container.sm-grid-row-contains-change{color:var(--accent-color, #20b6a8)}:host-context(.sm-nav-list) .smartGrid-container{padding-top:0}:host-context(.sm-nav-list) .smart-grid-toolbar:not(:has(ui-action-button,theme-selector,ui-hover-menu,ui-tiered-menu)){display:none}.gridCardLayout>smartform{flex:1}\n"] }]
24507
24507
  }], ctorParameters: () => [], propDecorators: { smartGrid: [{
24508
24508
  type: Input
24509
24509
  }], uuid: [{