aril 1.2.4 → 1.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/theme/layout/app/expandableMenu/expandable-menu.component.mjs +1 -1
- package/esm2022/theme/layout/app/static-sidebar/static-sidebar.component.mjs +1 -1
- package/esm2022/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.mjs +3 -3
- package/fesm2022/aril-theme-layout.mjs.map +1 -1
- package/fesm2022/aril-ui-business-detailed-overlay-panel.mjs +2 -2
- package/fesm2022/aril-ui-business-detailed-overlay-panel.mjs.map +1 -1
- package/package.json +209 -209
- package/theme/layout/app/expandableMenu/expandable-menu.component.ts +373 -373
- package/theme/layout/app/static-sidebar/static-sidebar.component.ts +336 -336
|
@@ -50,11 +50,11 @@ class DetailedOverlayPanelComponent {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DetailedOverlayPanelComponent, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
53
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: DetailedOverlayPanelComponent, isStandalone: true, selector: "aril-detailed-oveylay-panel", inputs: { assetId: { classPropertyName: "assetId", publicName: "assetId", isSignal: true, isRequired: true, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "tooltip", first: true, predicate: Tooltip, descendants: true }], ngImport: i0, template: "<span\r\n\t#spanRef\r\n\t(mouseenter)=\"onHover()\"\r\n\t[pTooltip]=\"tooltipContent\"\r\n\t[autoHide]=\"false\"\r\n\ttooltipStyleClass=\"detailed-overlay-tooltip\">\r\n\t<ng-content />\r\n</span>\r\n\r\n<ng-template #tooltipContent>\r\n\t@if (loading) {\r\n\t\t<p-progressSpinner styleClass=\"w-4rem h-4rem\" strokeWidth=\"8\" />\r\n\t} @else {\r\n\t\t<div class=\"w-full mb-2\">\r\n\t\t\t<p class=\"font-semibold\">{{ tableData.assetDefinitionName }} / {{ tableData.assetDefinitionCode }}</p>\r\n\t\t</div>\r\n\t\t<table class=\"w-full\">\r\n\t\t\t@for (infoAttribute of infoAttributes; track infoAttribute) {\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t{{ infoAttribute.attribute.attributeName }}\r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p class=\"font-bold m-0\">\r\n\t\t\t\t\t\t\t@switch (infoAttribute.attribute.attributeType) {\r\n\t\t\t\t\t\t\t\t@case ('DATE') {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"date\" [model]=\"infoAttribute?.value\" format=\"day\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@case ('DATE_TIME') {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"date\" [model]=\"infoAttribute?.value\" format=\"second\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@case ('BOOLEAN') {\r\n\t\t\t\t\t\t\t\t\t@if (infoAttribute.value === 'true') {\r\n\t\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" model=\"Var\" />\r\n\t\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" model=\"Yok\" />\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@default {\r\n\t\t\t\t\t\t\t\t\t<aril-value\r\n\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t[model]=\"infoAttribute.valueDesc ? infoAttribute.valueDesc : infoAttribute.value\"\r\n\t\t\t\t\t\t\t\t\t\t[shouldShowCopyForClampedText]=\"true\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t}\r\n\t\t</table>\r\n\t}\r\n</ng-template>\r\n", styles: ["table{width:100%;border-collapse:collapse}th,td{padding:8px;border:1px solid #ddd}::ng-deep .detailed-overlay-tooltip .p-tooltip-text{background:#fff;color:var(--text-color);width:max-content}\n"], dependencies: [{ kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: ProgressSpinnerModule }, { kind: "component", type: i3.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: ValueComponent, selector: "aril-value", inputs: ["model", "type", "format", "isClickable", "groupName", "parentSelectionKey", "isTextClamp", "textClampCharacters", "style", "copyable", "shouldShowCopyForClampedText", "arrayTypeDisplayName", "arrayTypeMaxBadgeCount", "bigDecimalRoundingMode", "bigDecimalScale"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
53
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: DetailedOverlayPanelComponent, isStandalone: true, selector: "aril-detailed-oveylay-panel", inputs: { assetId: { classPropertyName: "assetId", publicName: "assetId", isSignal: true, isRequired: true, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "tooltip", first: true, predicate: Tooltip, descendants: true }], ngImport: i0, template: "<span\r\n\t#spanRef\r\n\t(mouseenter)=\"onHover()\"\r\n\t[pTooltip]=\"tooltipContent\"\r\n\t[autoHide]=\"false\"\r\n\ttooltipStyleClass=\"detailed-overlay-tooltip\">\r\n\t<ng-content />\r\n</span>\r\n\r\n<ng-template #tooltipContent>\r\n\t@if (loading) {\r\n\t\t<p-progressSpinner styleClass=\"w-4rem h-4rem\" strokeWidth=\"8\" />\r\n\t} @else {\r\n\t\t<div class=\"w-full mb-2\">\r\n\t\t\t<p class=\"font-semibold\">{{ tableData.assetDefinitionName }} / {{ tableData.assetDefinitionCode }}</p>\r\n\t\t</div>\r\n\t\t<table class=\"w-full\">\r\n\t\t\t@for (infoAttribute of infoAttributes; track infoAttribute) {\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t{{ infoAttribute.attribute.attributeName }}\r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p class=\"font-bold m-0\">\r\n\t\t\t\t\t\t\t@switch (infoAttribute.attribute.attributeType) {\r\n\t\t\t\t\t\t\t\t@case ('DATE') {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"date\" [model]=\"infoAttribute?.value\" format=\"day\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@case ('DATE_TIME') {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"date\" [model]=\"infoAttribute?.value\" format=\"second\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@case ('BOOLEAN') {\r\n\t\t\t\t\t\t\t\t\t@if (infoAttribute.value === true || infoAttribute.value === 'true') {\r\n\t\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" model=\"Var\" />\r\n\t\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" model=\"Yok\" />\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@default {\r\n\t\t\t\t\t\t\t\t\t<aril-value\r\n\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t[model]=\"infoAttribute.valueDesc ? infoAttribute.valueDesc : infoAttribute.value\"\r\n\t\t\t\t\t\t\t\t\t\t[shouldShowCopyForClampedText]=\"true\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t}\r\n\t\t</table>\r\n\t}\r\n</ng-template>\r\n", styles: ["table{width:100%;border-collapse:collapse}th,td{padding:8px;border:1px solid #ddd}::ng-deep .detailed-overlay-tooltip .p-tooltip-text{background:#fff;color:var(--text-color);width:max-content}\n"], dependencies: [{ kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: ProgressSpinnerModule }, { kind: "component", type: i3.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: ValueComponent, selector: "aril-value", inputs: ["model", "type", "format", "isClickable", "groupName", "parentSelectionKey", "isTextClamp", "textClampCharacters", "style", "copyable", "shouldShowCopyForClampedText", "arrayTypeDisplayName", "arrayTypeMaxBadgeCount", "bigDecimalRoundingMode", "bigDecimalScale"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
54
54
|
}
|
|
55
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DetailedOverlayPanelComponent, decorators: [{
|
|
56
56
|
type: Component,
|
|
57
|
-
args: [{ selector: 'aril-detailed-oveylay-panel', standalone: true, imports: [TooltipModule, ProgressSpinnerModule, ValueComponent, TooltipModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\r\n\t#spanRef\r\n\t(mouseenter)=\"onHover()\"\r\n\t[pTooltip]=\"tooltipContent\"\r\n\t[autoHide]=\"false\"\r\n\ttooltipStyleClass=\"detailed-overlay-tooltip\">\r\n\t<ng-content />\r\n</span>\r\n\r\n<ng-template #tooltipContent>\r\n\t@if (loading) {\r\n\t\t<p-progressSpinner styleClass=\"w-4rem h-4rem\" strokeWidth=\"8\" />\r\n\t} @else {\r\n\t\t<div class=\"w-full mb-2\">\r\n\t\t\t<p class=\"font-semibold\">{{ tableData.assetDefinitionName }} / {{ tableData.assetDefinitionCode }}</p>\r\n\t\t</div>\r\n\t\t<table class=\"w-full\">\r\n\t\t\t@for (infoAttribute of infoAttributes; track infoAttribute) {\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t{{ infoAttribute.attribute.attributeName }}\r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p class=\"font-bold m-0\">\r\n\t\t\t\t\t\t\t@switch (infoAttribute.attribute.attributeType) {\r\n\t\t\t\t\t\t\t\t@case ('DATE') {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"date\" [model]=\"infoAttribute?.value\" format=\"day\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@case ('DATE_TIME') {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"date\" [model]=\"infoAttribute?.value\" format=\"second\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@case ('BOOLEAN') {\r\n\t\t\t\t\t\t\t\t\t@if (infoAttribute.value === 'true') {\r\n\t\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" model=\"Var\" />\r\n\t\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" model=\"Yok\" />\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@default {\r\n\t\t\t\t\t\t\t\t\t<aril-value\r\n\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t[model]=\"infoAttribute.valueDesc ? infoAttribute.valueDesc : infoAttribute.value\"\r\n\t\t\t\t\t\t\t\t\t\t[shouldShowCopyForClampedText]=\"true\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t}\r\n\t\t</table>\r\n\t}\r\n</ng-template>\r\n", styles: ["table{width:100%;border-collapse:collapse}th,td{padding:8px;border:1px solid #ddd}::ng-deep .detailed-overlay-tooltip .p-tooltip-text{background:#fff;color:var(--text-color);width:max-content}\n"] }]
|
|
57
|
+
args: [{ selector: 'aril-detailed-oveylay-panel', standalone: true, imports: [TooltipModule, ProgressSpinnerModule, ValueComponent, TooltipModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\r\n\t#spanRef\r\n\t(mouseenter)=\"onHover()\"\r\n\t[pTooltip]=\"tooltipContent\"\r\n\t[autoHide]=\"false\"\r\n\ttooltipStyleClass=\"detailed-overlay-tooltip\">\r\n\t<ng-content />\r\n</span>\r\n\r\n<ng-template #tooltipContent>\r\n\t@if (loading) {\r\n\t\t<p-progressSpinner styleClass=\"w-4rem h-4rem\" strokeWidth=\"8\" />\r\n\t} @else {\r\n\t\t<div class=\"w-full mb-2\">\r\n\t\t\t<p class=\"font-semibold\">{{ tableData.assetDefinitionName }} / {{ tableData.assetDefinitionCode }}</p>\r\n\t\t</div>\r\n\t\t<table class=\"w-full\">\r\n\t\t\t@for (infoAttribute of infoAttributes; track infoAttribute) {\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t{{ infoAttribute.attribute.attributeName }}\r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p class=\"font-bold m-0\">\r\n\t\t\t\t\t\t\t@switch (infoAttribute.attribute.attributeType) {\r\n\t\t\t\t\t\t\t\t@case ('DATE') {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"date\" [model]=\"infoAttribute?.value\" format=\"day\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@case ('DATE_TIME') {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"date\" [model]=\"infoAttribute?.value\" format=\"second\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@case ('BOOLEAN') {\r\n\t\t\t\t\t\t\t\t\t@if (infoAttribute.value === true || infoAttribute.value === 'true') {\r\n\t\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" model=\"Var\" />\r\n\t\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" model=\"Yok\" />\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@default {\r\n\t\t\t\t\t\t\t\t\t<aril-value\r\n\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t[model]=\"infoAttribute.valueDesc ? infoAttribute.valueDesc : infoAttribute.value\"\r\n\t\t\t\t\t\t\t\t\t\t[shouldShowCopyForClampedText]=\"true\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t}\r\n\t\t</table>\r\n\t}\r\n</ng-template>\r\n", styles: ["table{width:100%;border-collapse:collapse}th,td{padding:8px;border:1px solid #ddd}::ng-deep .detailed-overlay-tooltip .p-tooltip-text{background:#fff;color:var(--text-color);width:max-content}\n"] }]
|
|
58
58
|
}], ctorParameters: () => [{ type: i1.HttpClient }], propDecorators: { tooltip: [{
|
|
59
59
|
type: ViewChild,
|
|
60
60
|
args: [Tooltip]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-ui-business-detailed-overlay-panel.mjs","sources":["../../projects/aril/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.ts","../../projects/aril/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.html","../../projects/aril/ui-business/detailed-overlay-panel/aril-ui-business-detailed-overlay-panel.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { ChangeDetectionStrategy, Component, ViewChild, input } from '@angular/core';\r\n\r\nimport { ProgressSpinnerModule } from 'primeng/progressspinner';\r\nimport { Tooltip, TooltipModule } from 'primeng/tooltip';\r\n\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport { ValueComponent } from 'aril/ui/value';\r\n\r\nimport { AssetAggregate, AttributeElement } from './interface';\r\n\r\n/**\r\n * A component to display detailed tooltips with configurable position, event triggers, and delays.\r\n */\r\n@Component({\r\n\tselector: 'aril-detailed-oveylay-panel',\r\n\tstandalone: true,\r\n\timports: [TooltipModule, ProgressSpinnerModule, ValueComponent, TooltipModule],\r\n\ttemplateUrl: './detailed-overlay-panel.component.html',\r\n\tstyleUrl: './detailed-overlay-panel.component.scss',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DetailedOverlayPanelComponent {\r\n\tassetId = input.required<any>();\r\n\tstyle = input<any>({});\r\n\tstyleClass = input<string>('');\r\n\tcolumns = input<{ field: string; header: string }[]>([]);\r\n\ttableData: AssetAggregate = {} as AssetAggregate;\r\n\tloading = false;\r\n\tinfoAttributes: AttributeElement[] = [];\r\n\ttableDataCache: { [assetId: string]: AssetAggregate } = {};\r\n\r\n\t@ViewChild(Tooltip) tooltip!: Tooltip;\r\n\r\n\tconstructor(private readonly http: HttpClient) {}\r\n\r\n\tasync onHover() {\r\n\t\tif (this.tableDataCache[this.assetId()]) {\r\n\t\t\tthis.tableData = this.tableDataCache[this.assetId()];\r\n\t\t\tthis.infoAttributes = this.tableData.attributes;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.loading = true;\r\n\t\ttry {\r\n\t\t\tconst hostApi = API_CONFIGS.api.replace(/\\/[^/]+\\/v1$/, `/host/v1`);\r\n\t\t\tconst result = await firstValueFrom(\r\n\t\t\t\tthis.http.get<AssetAggregate>(`${hostApi}/master-data/${this.assetId()}/hover`)\r\n\t\t\t);\r\n\r\n\t\t\tif (result) {\r\n\t\t\t\tthis.tableDataCache[this.assetId()] = result;\r\n\t\t\t\tthis.tableData = result;\r\n\t\t\t\tthis.infoAttributes = result.attributes;\r\n\t\t\t}\r\n\t\t\tthis.loading = false;\r\n\t\t\tif (this.tooltip.active) {\r\n\t\t\t\tthis.tooltip.show();\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error('Error fetching asset detail:', error);\r\n\t\t\tthis.loading = false;\r\n\t\t}\r\n\t}\r\n}\r\n","<span\r\n\t#spanRef\r\n\t(mouseenter)=\"onHover()\"\r\n\t[pTooltip]=\"tooltipContent\"\r\n\t[autoHide]=\"false\"\r\n\ttooltipStyleClass=\"detailed-overlay-tooltip\">\r\n\t<ng-content />\r\n</span>\r\n\r\n<ng-template #tooltipContent>\r\n\t@if (loading) {\r\n\t\t<p-progressSpinner styleClass=\"w-4rem h-4rem\" strokeWidth=\"8\" />\r\n\t} @else {\r\n\t\t<div class=\"w-full mb-2\">\r\n\t\t\t<p class=\"font-semibold\">{{ tableData.assetDefinitionName }} / {{ tableData.assetDefinitionCode }}</p>\r\n\t\t</div>\r\n\t\t<table class=\"w-full\">\r\n\t\t\t@for (infoAttribute of infoAttributes; track infoAttribute) {\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t{{ infoAttribute.attribute.attributeName }}\r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p class=\"font-bold m-0\">\r\n\t\t\t\t\t\t\t@switch (infoAttribute.attribute.attributeType) {\r\n\t\t\t\t\t\t\t\t@case ('DATE') {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"date\" [model]=\"infoAttribute?.value\" format=\"day\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@case ('DATE_TIME') {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"date\" [model]=\"infoAttribute?.value\" format=\"second\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@case ('BOOLEAN') {\r\n\t\t\t\t\t\t\t\t\t@if (infoAttribute.value === 'true') {\r\n\t\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" model=\"Var\" />\r\n\t\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" model=\"Yok\" />\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@default {\r\n\t\t\t\t\t\t\t\t\t<aril-value\r\n\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t[model]=\"infoAttribute.valueDesc ? infoAttribute.valueDesc : infoAttribute.value\"\r\n\t\t\t\t\t\t\t\t\t\t[shouldShowCopyForClampedText]=\"true\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t}\r\n\t\t</table>\r\n\t}\r\n</ng-template>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"aril-ui-business-detailed-overlay-panel.mjs","sources":["../../projects/aril/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.ts","../../projects/aril/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.html","../../projects/aril/ui-business/detailed-overlay-panel/aril-ui-business-detailed-overlay-panel.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { ChangeDetectionStrategy, Component, ViewChild, input } from '@angular/core';\r\n\r\nimport { ProgressSpinnerModule } from 'primeng/progressspinner';\r\nimport { Tooltip, TooltipModule } from 'primeng/tooltip';\r\n\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport { ValueComponent } from 'aril/ui/value';\r\n\r\nimport { AssetAggregate, AttributeElement } from './interface';\r\n\r\n/**\r\n * A component to display detailed tooltips with configurable position, event triggers, and delays.\r\n */\r\n@Component({\r\n\tselector: 'aril-detailed-oveylay-panel',\r\n\tstandalone: true,\r\n\timports: [TooltipModule, ProgressSpinnerModule, ValueComponent, TooltipModule],\r\n\ttemplateUrl: './detailed-overlay-panel.component.html',\r\n\tstyleUrl: './detailed-overlay-panel.component.scss',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DetailedOverlayPanelComponent {\r\n\tassetId = input.required<any>();\r\n\tstyle = input<any>({});\r\n\tstyleClass = input<string>('');\r\n\tcolumns = input<{ field: string; header: string }[]>([]);\r\n\ttableData: AssetAggregate = {} as AssetAggregate;\r\n\tloading = false;\r\n\tinfoAttributes: AttributeElement[] = [];\r\n\ttableDataCache: { [assetId: string]: AssetAggregate } = {};\r\n\r\n\t@ViewChild(Tooltip) tooltip!: Tooltip;\r\n\r\n\tconstructor(private readonly http: HttpClient) {}\r\n\r\n\tasync onHover() {\r\n\t\tif (this.tableDataCache[this.assetId()]) {\r\n\t\t\tthis.tableData = this.tableDataCache[this.assetId()];\r\n\t\t\tthis.infoAttributes = this.tableData.attributes;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.loading = true;\r\n\t\ttry {\r\n\t\t\tconst hostApi = API_CONFIGS.api.replace(/\\/[^/]+\\/v1$/, `/host/v1`);\r\n\t\t\tconst result = await firstValueFrom(\r\n\t\t\t\tthis.http.get<AssetAggregate>(`${hostApi}/master-data/${this.assetId()}/hover`)\r\n\t\t\t);\r\n\r\n\t\t\tif (result) {\r\n\t\t\t\tthis.tableDataCache[this.assetId()] = result;\r\n\t\t\t\tthis.tableData = result;\r\n\t\t\t\tthis.infoAttributes = result.attributes;\r\n\t\t\t}\r\n\t\t\tthis.loading = false;\r\n\t\t\tif (this.tooltip.active) {\r\n\t\t\t\tthis.tooltip.show();\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error('Error fetching asset detail:', error);\r\n\t\t\tthis.loading = false;\r\n\t\t}\r\n\t}\r\n}\r\n","<span\r\n\t#spanRef\r\n\t(mouseenter)=\"onHover()\"\r\n\t[pTooltip]=\"tooltipContent\"\r\n\t[autoHide]=\"false\"\r\n\ttooltipStyleClass=\"detailed-overlay-tooltip\">\r\n\t<ng-content />\r\n</span>\r\n\r\n<ng-template #tooltipContent>\r\n\t@if (loading) {\r\n\t\t<p-progressSpinner styleClass=\"w-4rem h-4rem\" strokeWidth=\"8\" />\r\n\t} @else {\r\n\t\t<div class=\"w-full mb-2\">\r\n\t\t\t<p class=\"font-semibold\">{{ tableData.assetDefinitionName }} / {{ tableData.assetDefinitionCode }}</p>\r\n\t\t</div>\r\n\t\t<table class=\"w-full\">\r\n\t\t\t@for (infoAttribute of infoAttributes; track infoAttribute) {\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t{{ infoAttribute.attribute.attributeName }}\r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p class=\"font-bold m-0\">\r\n\t\t\t\t\t\t\t@switch (infoAttribute.attribute.attributeType) {\r\n\t\t\t\t\t\t\t\t@case ('DATE') {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"date\" [model]=\"infoAttribute?.value\" format=\"day\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@case ('DATE_TIME') {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"date\" [model]=\"infoAttribute?.value\" format=\"second\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@case ('BOOLEAN') {\r\n\t\t\t\t\t\t\t\t\t@if (infoAttribute.value === true || infoAttribute.value === 'true') {\r\n\t\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" model=\"Var\" />\r\n\t\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" model=\"Yok\" />\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@default {\r\n\t\t\t\t\t\t\t\t\t<aril-value\r\n\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t[model]=\"infoAttribute.valueDesc ? infoAttribute.valueDesc : infoAttribute.value\"\r\n\t\t\t\t\t\t\t\t\t\t[shouldShowCopyForClampedText]=\"true\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t}\r\n\t\t</table>\r\n\t}\r\n</ng-template>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|