@c8y/ngx-components 1020.33.1 → 1020.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth-configuration/sso-configuration/sso-configuration.model.d.ts +2 -0
- package/auth-configuration/sso-configuration/sso-configuration.model.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/sso-configuration.service.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.d.ts +5 -0
- package/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.d.ts +7 -0
- package/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/templates/aad-configuration-mapper.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/templates/aad.model.d.ts +1 -0
- package/auth-configuration/sso-configuration/templates/aad.model.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/templates/custom-configuration-mapper.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/templates/custom.model.d.ts +1 -0
- package/auth-configuration/sso-configuration/templates/custom.model.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/templates/key-cloak-configuration-mapper.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/templates/key-cloak.model.d.ts +1 -0
- package/auth-configuration/sso-configuration/templates/key-cloak.model.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.component.d.ts +4 -0
- package/context-dashboard/context-dashboard.component.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.model.d.ts +2 -32
- package/context-dashboard/context-dashboard.model.d.ts.map +1 -1
- package/context-dashboard/dashboard-detail.component.d.ts +2 -0
- package/context-dashboard/dashboard-detail.component.d.ts.map +1 -1
- package/core/dynamic-component/dynamic-component.model.d.ts +135 -1
- package/core/dynamic-component/dynamic-component.model.d.ts.map +1 -1
- package/core/dynamic-forms/typeahead/typeahead.type.component.d.ts.map +1 -1
- package/core/product-experience/gainsight.service.d.ts +1 -0
- package/core/product-experience/gainsight.service.d.ts.map +1 -1
- package/core/select/typeahead.component.d.ts.map +1 -1
- package/esm2022/auth-configuration/sso-configuration/sso-configuration.model.mjs +1 -1
- package/esm2022/auth-configuration/sso-configuration/sso-configuration.service.mjs +5 -3
- package/esm2022/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.mjs +25 -11
- package/esm2022/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.mjs +18 -8
- package/esm2022/auth-configuration/sso-configuration/templates/aad-configuration-mapper.mjs +5 -3
- package/esm2022/auth-configuration/sso-configuration/templates/aad-template.component.mjs +3 -3
- package/esm2022/auth-configuration/sso-configuration/templates/aad.model.mjs +1 -1
- package/esm2022/auth-configuration/sso-configuration/templates/custom-configuration-mapper.mjs +5 -3
- package/esm2022/auth-configuration/sso-configuration/templates/custom-template.component.mjs +3 -3
- package/esm2022/auth-configuration/sso-configuration/templates/custom.model.mjs +1 -1
- package/esm2022/auth-configuration/sso-configuration/templates/key-cloak-configuration-mapper.mjs +5 -3
- package/esm2022/auth-configuration/sso-configuration/templates/key-cloak-template.component.mjs +3 -3
- package/esm2022/auth-configuration/sso-configuration/templates/key-cloak.model.mjs +1 -1
- package/esm2022/context-dashboard/context-dashboard.component.mjs +85 -23
- package/esm2022/context-dashboard/context-dashboard.model.mjs +1 -1
- package/esm2022/context-dashboard/dashboard-detail.component.mjs +42 -11
- package/esm2022/core/dynamic-component/dynamic-component.model.mjs +28 -1
- package/esm2022/core/dynamic-forms/typeahead/typeahead.type.component.mjs +2 -3
- package/esm2022/core/product-experience/gainsight.service.mjs +15 -1
- package/esm2022/core/select/typeahead.component.mjs +9 -4
- package/esm2022/repository/firmware/list/add-firmware-patch-modal.component.mjs +3 -3
- package/esm2022/trusted-certificates/list/trusted-certificate-list.component.mjs +2 -2
- package/esm2022/widgets/cockpit/index.mjs +1 -1
- package/esm2022/widgets/definitions/alarms/alarm-list/index.mjs +3 -3
- package/esm2022/widgets/definitions/alarms/all-critical-alarms/index.mjs +3 -3
- package/esm2022/widgets/definitions/alarms/recent-alarms/index.mjs +3 -3
- package/esm2022/widgets/definitions/applications/index.mjs +3 -3
- package/esm2022/widgets/definitions/cockpit-legacy-welcome/index.mjs +3 -3
- package/esm2022/widgets/definitions/cockpit-welcome/index.mjs +3 -3
- package/esm2022/widgets/definitions/device-control-message/index.mjs +3 -3
- package/esm2022/widgets/definitions/device-management-welcome/index.mjs +1 -1
- package/esm2022/widgets/definitions/help-and-service/index.mjs +3 -3
- package/esm2022/widgets/definitions/image/index.mjs +3 -3
- package/esm2022/widgets/definitions/info-gauge/index.mjs +3 -3
- package/esm2022/widgets/definitions/kpi/index.mjs +3 -3
- package/esm2022/widgets/definitions/map/index.mjs +3 -3
- package/esm2022/widgets/definitions/markdown/index.mjs +3 -3
- package/esm2022/widgets/definitions/three-d-rotation/index.mjs +3 -3
- package/esm2022/widgets/device-management/index.mjs +1 -1
- package/esm2022/widgets/widgets.module.mjs +3 -3
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs +118 -86
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +123 -31
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-firmware.mjs +2 -2
- package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +1 -1
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-cockpit.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-applications.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-applications.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-device-control-message.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-device-control-message.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-help-and-service.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-help-and-service.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-image.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-image.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-device-management.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +49 -4
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/de.po +46 -12
- package/locales/en.po +7 -7
- package/locales/es.po +40 -12
- package/locales/fr.po +40 -12
- package/locales/ja_JP.po +43 -12
- package/locales/locales.pot +35 -14
- package/locales/nl.po +40 -12
- package/locales/pl.po +40 -12
- package/locales/pt_BR.po +40 -12
- package/package.json +1 -1
- package/widgets/cockpit/index.d.ts.map +1 -1
- package/widgets/definitions/alarms/alarm-list/index.d.ts.map +1 -1
- package/widgets/definitions/alarms/all-critical-alarms/index.d.ts.map +1 -1
- package/widgets/definitions/alarms/recent-alarms/index.d.ts.map +1 -1
- package/widgets/definitions/applications/index.d.ts.map +1 -1
- package/widgets/definitions/cockpit-legacy-welcome/index.d.ts.map +1 -1
- package/widgets/definitions/cockpit-welcome/index.d.ts.map +1 -1
- package/widgets/definitions/device-control-message/index.d.ts.map +1 -1
- package/widgets/definitions/device-management-welcome/index.d.ts.map +1 -1
- package/widgets/definitions/help-and-service/index.d.ts.map +1 -1
- package/widgets/definitions/image/index.d.ts.map +1 -1
- package/widgets/definitions/info-gauge/index.d.ts.map +1 -1
- package/widgets/definitions/kpi/index.d.ts.map +1 -1
- package/widgets/definitions/map/index.d.ts.map +1 -1
- package/widgets/definitions/markdown/index.d.ts.map +1 -1
- package/widgets/definitions/three-d-rotation/index.d.ts.map +1 -1
- package/widgets/device-management/index.d.ts.map +1 -1
- package/widgets/widgets.module.d.ts +2 -2
- package/widgets/widgets.module.d.ts.map +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, Component, inject, InjectionToken, EventEmitter, Input, Output, forwardRef, Optional, Inject, ViewChild, HostBinding, HostListener, TemplateRef, NgModule } from '@angular/core';
|
|
3
3
|
import * as i3 from '@c8y/ngx-components';
|
|
4
|
-
import { gettext, Permissions, ContextRouteService, ViewContext, Status, NavigatorNode, getActivatedRoute, NEW_DASHBOARD_QUERY_PARAM, DashboardChildChange, WidgetsDashboardComponent, hookRoute, CoreModule, hookTab, HookProviderTypes, hookActionBar, hookNavigator, BaseColumn, getBasicInputArrayFormFieldConfig, DataGridService, alertOnError, ModalModule } from '@c8y/ngx-components';
|
|
4
|
+
import { gettext, Permissions, ContextRouteService, ViewContext, Status, NavigatorNode, getActivatedRoute, NEW_DASHBOARD_QUERY_PARAM, memoize, DashboardChildChange, WidgetsDashboardComponent, hookRoute, CoreModule, hookTab, HookProviderTypes, hookActionBar, hookNavigator, BaseColumn, getBasicInputArrayFormFieldConfig, DataGridService, alertOnError, ModalModule } from '@c8y/ngx-components';
|
|
5
5
|
import * as i1 from '@angular/router';
|
|
6
6
|
import { of, Subject, from, combineLatest, iif, timer } from 'rxjs';
|
|
7
7
|
import * as i2 from '@angular/common';
|
|
@@ -10,6 +10,7 @@ import * as i3$1 from '@angular/forms';
|
|
|
10
10
|
import { Validators, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
11
11
|
import * as i4 from 'ngx-bootstrap/popover';
|
|
12
12
|
import { PopoverModule } from 'ngx-bootstrap/popover';
|
|
13
|
+
import { __decorate, __metadata } from 'tslib';
|
|
13
14
|
import * as i2$1 from '@ngx-translate/core';
|
|
14
15
|
import { assign, pick, cloneDeep, some, keys, keyBy, has, set, reduce, forEach, get, isEqual, clone, omit, sortBy, escapeRegExp, findIndex, kebabCase, every } from 'lodash-es';
|
|
15
16
|
import * as i2$2 from 'ngx-bootstrap/modal';
|
|
@@ -1725,19 +1726,43 @@ class DashboardDetailComponent {
|
|
|
1725
1726
|
}
|
|
1726
1727
|
}
|
|
1727
1728
|
async createNewDashboard() {
|
|
1728
|
-
const
|
|
1729
|
+
const mo = await this.contextDashboardService.create(this.dashboard, this.currentContext);
|
|
1730
|
+
await this.onCreateGSEvent(mo);
|
|
1731
|
+
this.cleanupAfterDetailsClose();
|
|
1732
|
+
await this.contextDashboardService.navigateToDashboard(mo);
|
|
1733
|
+
}
|
|
1734
|
+
async onCreateGSEvent(mo) {
|
|
1735
|
+
const parentName = await this.convertStringToHash(this.context?.name);
|
|
1736
|
+
const dashboardName = await this.convertStringToHash(this.dashboard?.name);
|
|
1729
1737
|
this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {
|
|
1730
1738
|
component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.ADD_DASHBOARD,
|
|
1731
1739
|
action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.CREATE,
|
|
1732
|
-
name:
|
|
1733
|
-
id:
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1740
|
+
name: dashboardName,
|
|
1741
|
+
id: mo.id,
|
|
1742
|
+
nameId: `${dashboardName}_${this.mo.id}`,
|
|
1743
|
+
parentAssetId: this.context?.id ? this.context.id : 'noContext',
|
|
1744
|
+
parentAssetName: this.context?.id ? parentName : 'noContext',
|
|
1745
|
+
parentAssetType: this.context?.id ? this.context.type : 'noContext',
|
|
1746
|
+
parentAssetNameId: this.context?.id ? `${parentName}_${this.context.id}` : 'noContext',
|
|
1747
|
+
parentAssetNameDashboardName: this.context?.id
|
|
1748
|
+
? `${parentName}_${dashboardName}`
|
|
1749
|
+
: 'noContext',
|
|
1750
|
+
parentAssetIdDashboardId: this.context?.id ? `${this.context.id}_${this.mo.id}` : 'noContext',
|
|
1751
|
+
parentAssetNameDashboardId: this.context?.id ? `${parentName}_${this.mo.id}` : 'noContext',
|
|
1752
|
+
parentAssetNameIdDashboardNameId: this.context?.id
|
|
1753
|
+
? `${parentName}_${this.context.id}_${dashboardName}_${this.mo.id}`
|
|
1754
|
+
: 'noContext',
|
|
1755
|
+
dashboardType: mo.c8y_Dashboard.deviceType ? mo.c8y_Dashboard.deviceTypeValue : null,
|
|
1737
1756
|
context: this.contextDashboardService.getContextForGS(this.currentContext.contextData)
|
|
1738
1757
|
});
|
|
1739
|
-
|
|
1740
|
-
|
|
1758
|
+
}
|
|
1759
|
+
async convertStringToHash(str) {
|
|
1760
|
+
if (!str) {
|
|
1761
|
+
return null;
|
|
1762
|
+
}
|
|
1763
|
+
return (await this.gainsightService.shouldSendPiiData())
|
|
1764
|
+
? str
|
|
1765
|
+
: await this.gainsightService.hashGroupName(str);
|
|
1741
1766
|
}
|
|
1742
1767
|
async createNewReport() {
|
|
1743
1768
|
try {
|
|
@@ -1854,6 +1879,12 @@ class DashboardDetailComponent {
|
|
|
1854
1879
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: DashboardDetailComponent, deps: [{ token: ContextDashboardService }, { token: i2$1.TranslateService }, { token: i3.ContextRouteService }, { token: i1.ActivatedRoute }, { token: i3.TabsService }, { token: i1.Router }, { token: i1$1.InventoryService }, { token: i1.ActivatedRoute }, { token: DashboardDetailService }, { token: i3.AppStateService }, { token: i3.OptionsService }, { token: i3.GroupService }, { token: i3.ModalService }, { token: i3.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1855
1880
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: DashboardDetailComponent, selector: "c8y-dashboard-detail", inputs: { isReport: "isReport", deviceType: "deviceType", context: "context", mo: "mo", dashboard: "dashboard", isNamedDashboard: "isNamedDashboard", hideAvailability: "hideAvailability" }, outputs: { dashboardSaved: "dashboardSaved", previewChanged: "previewChanged" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"collapse c8y-top-drawer\"\n [collapse]=\"isCollapsed\"\n [isAnimated]=\"true\"\n>\n <div class=\"p-t-16 p-b-16 p-l-24 p-r-24 separator-bottom\">\n <span class=\"h4\">{{ 'Dashboard settings' | translate }}</span>\n </div>\n\n <div\n class=\"d-flex\"\n [formGroup]=\"dashboardDetailsForm\"\n *ngIf=\"!isCollapsed\"\n >\n <c8y-tabs-outlet\n [tabs]=\"tabs$ | async\"\n [outletName]=\"'dashboardTabs'\"\n [orientation]=\"'vertical'\"\n class=\"c8y-top-drawer--tabs\"\n ></c8y-tabs-outlet>\n <div class=\"inner-scroll c8y-top-drawer__tabs-container flex-grow p-l-24 p-r-lg-32 p-r-xs-24 p-r-sm-24\">\n <c8y-tab\n *ngIf=\"(!isNamedDashboard && !hideAvailability) || isReport\"\n [label]=\"TABS.general.label\"\n [icon]=\"'imac-settings'\"\n [priority]=\"100\"\n [tabsOutlet]=\"TABS_OUTLET_NAME\"\n (onSelect)=\"selectTab(TABS.general.featureId)\"\n [isActive]=\"selectedTab === TABS.general.featureId\"\n ></c8y-tab>\n <c8y-tab\n [label]=\"TABS.appearance.label\"\n [priority]=\"50\"\n [icon]=\"'web-design'\"\n [tabsOutlet]=\"TABS_OUTLET_NAME\"\n (onSelect)=\"selectTab(TABS.appearance.featureId)\"\n [isActive]=\"selectedTab === TABS.appearance.featureId\"\n ></c8y-tab>\n <c8y-tab\n *ngIf=\"mo?.c8y_DashboardHistory\"\n [label]=\"TABS.versionHistory.label\"\n [icon]=\"'versions'\"\n [priority]=\"10\"\n [tabsOutlet]=\"TABS_OUTLET_NAME\"\n (onSelect)=\"selectTab(TABS.versionHistory.featureId)\"\n [isActive]=\"selectedTab === TABS.versionHistory.featureId\"\n ></c8y-tab>\n <ng-container [ngSwitch]=\"selectedTab\">\n <c8y-dashboard-general-settings\n *ngSwitchCase=\"TABS.general.featureId\"\n [isReport]=\"isReport\"\n [isNamedDashboard]=\"isNamedDashboard\"\n [hideAvailability]=\"hideAvailability\"\n [dashboard]=\"dashboard\"\n [generalSettingsForm]=\"generalSettingsForm\"\n [deviceTypeValue]=\"deviceTypeValue\"\n [displayDeviceTypeValue]=\"displayDeviceTypeValue\"\n [mo]=\"mo\"\n [allowTypeDashboard]=\"allowTypeDashboard\"\n [isDevice]=\"!!context?.c8y_IsDevice\"\n class=\"animated fadeIn\"\n (onDuplicateWithoutType)=\"duplicateWithoutType()\"\n ></c8y-dashboard-general-settings>\n <c8y-dashboard-appearance-settings\n *ngSwitchCase=\"TABS.appearance.featureId\"\n [dashboard]=\"dashboard\"\n [appearanceSettingsForm]=\"appearanceSettingsForm\"\n (previewChanged)=\"previewChanged.emit($event)\"\n class=\"animated fadeIn\"\n ></c8y-dashboard-appearance-settings>\n <c8y-dashboard-version-history\n *ngSwitchCase=\"TABS.versionHistory.featureId\"\n [dashboardHistory]=\"mo.c8y_DashboardHistory\"\n [isReport]=\"isReport\"\n (onRevert)=\"revertDashboard($event)\"\n class=\"animated fadeIn\"\n ></c8y-dashboard-version-history>\n </ng-container>\n </div>\n </div>\n\n <div class=\"c8y-top-drawer--footer\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n data-cy=\"dashboard-detail--cancel-dashboard\"\n (click)=\"cancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"button\"\n data-cy=\"dashboard-detail--save-dashboard\"\n (click)=\"save()\"\n [disabled]=\"\n (dashboardDetailsForm?.invalid || dashboardDetailsForm?.pristine) && this.isEdit\n \"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.TabsOutletComponent, selector: "c8y-tabs-outlet,c8y-ui-tabs", inputs: ["tabs", "orientation", "navigatorOpen", "outletName", "context"] }, { kind: "component", type: i3.TabComponent, selector: "c8y-tab", inputs: ["path", "label", "icon", "priority", "orientation", "injector", "tabsOutlet", "isActive"], outputs: ["onSelect"] }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.CollapseDirective, selector: "[collapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { kind: "component", type: DashboardGeneralSettingsComponent, selector: "c8y-dashboard-general-settings", inputs: ["isReport", "isNamedDashboard", "hideAvailability", "dashboard", "generalSettingsForm", "deviceTypeValue", "displayDeviceTypeValue", "allowTypeDashboard", "isDevice", "mo"], outputs: ["onDuplicateWithoutType"] }, { kind: "component", type: DashboardAppearanceSettingsComponent, selector: "c8y-dashboard-appearance-settings", inputs: ["dashboard", "appearanceSettingsForm"], outputs: ["previewChanged"] }, { kind: "component", type: DashboardVersionHistoryComponent, selector: "c8y-dashboard-version-history", inputs: ["dashboardHistory", "isReport"], outputs: ["onRevert"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
|
|
1856
1881
|
}
|
|
1882
|
+
__decorate([
|
|
1883
|
+
memoize(),
|
|
1884
|
+
__metadata("design:type", Function),
|
|
1885
|
+
__metadata("design:paramtypes", [String]),
|
|
1886
|
+
__metadata("design:returntype", Promise)
|
|
1887
|
+
], DashboardDetailComponent.prototype, "convertStringToHash", null);
|
|
1857
1888
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: DashboardDetailComponent, decorators: [{
|
|
1858
1889
|
type: Component,
|
|
1859
1890
|
args: [{ selector: 'c8y-dashboard-detail', template: "<div\n class=\"collapse c8y-top-drawer\"\n [collapse]=\"isCollapsed\"\n [isAnimated]=\"true\"\n>\n <div class=\"p-t-16 p-b-16 p-l-24 p-r-24 separator-bottom\">\n <span class=\"h4\">{{ 'Dashboard settings' | translate }}</span>\n </div>\n\n <div\n class=\"d-flex\"\n [formGroup]=\"dashboardDetailsForm\"\n *ngIf=\"!isCollapsed\"\n >\n <c8y-tabs-outlet\n [tabs]=\"tabs$ | async\"\n [outletName]=\"'dashboardTabs'\"\n [orientation]=\"'vertical'\"\n class=\"c8y-top-drawer--tabs\"\n ></c8y-tabs-outlet>\n <div class=\"inner-scroll c8y-top-drawer__tabs-container flex-grow p-l-24 p-r-lg-32 p-r-xs-24 p-r-sm-24\">\n <c8y-tab\n *ngIf=\"(!isNamedDashboard && !hideAvailability) || isReport\"\n [label]=\"TABS.general.label\"\n [icon]=\"'imac-settings'\"\n [priority]=\"100\"\n [tabsOutlet]=\"TABS_OUTLET_NAME\"\n (onSelect)=\"selectTab(TABS.general.featureId)\"\n [isActive]=\"selectedTab === TABS.general.featureId\"\n ></c8y-tab>\n <c8y-tab\n [label]=\"TABS.appearance.label\"\n [priority]=\"50\"\n [icon]=\"'web-design'\"\n [tabsOutlet]=\"TABS_OUTLET_NAME\"\n (onSelect)=\"selectTab(TABS.appearance.featureId)\"\n [isActive]=\"selectedTab === TABS.appearance.featureId\"\n ></c8y-tab>\n <c8y-tab\n *ngIf=\"mo?.c8y_DashboardHistory\"\n [label]=\"TABS.versionHistory.label\"\n [icon]=\"'versions'\"\n [priority]=\"10\"\n [tabsOutlet]=\"TABS_OUTLET_NAME\"\n (onSelect)=\"selectTab(TABS.versionHistory.featureId)\"\n [isActive]=\"selectedTab === TABS.versionHistory.featureId\"\n ></c8y-tab>\n <ng-container [ngSwitch]=\"selectedTab\">\n <c8y-dashboard-general-settings\n *ngSwitchCase=\"TABS.general.featureId\"\n [isReport]=\"isReport\"\n [isNamedDashboard]=\"isNamedDashboard\"\n [hideAvailability]=\"hideAvailability\"\n [dashboard]=\"dashboard\"\n [generalSettingsForm]=\"generalSettingsForm\"\n [deviceTypeValue]=\"deviceTypeValue\"\n [displayDeviceTypeValue]=\"displayDeviceTypeValue\"\n [mo]=\"mo\"\n [allowTypeDashboard]=\"allowTypeDashboard\"\n [isDevice]=\"!!context?.c8y_IsDevice\"\n class=\"animated fadeIn\"\n (onDuplicateWithoutType)=\"duplicateWithoutType()\"\n ></c8y-dashboard-general-settings>\n <c8y-dashboard-appearance-settings\n *ngSwitchCase=\"TABS.appearance.featureId\"\n [dashboard]=\"dashboard\"\n [appearanceSettingsForm]=\"appearanceSettingsForm\"\n (previewChanged)=\"previewChanged.emit($event)\"\n class=\"animated fadeIn\"\n ></c8y-dashboard-appearance-settings>\n <c8y-dashboard-version-history\n *ngSwitchCase=\"TABS.versionHistory.featureId\"\n [dashboardHistory]=\"mo.c8y_DashboardHistory\"\n [isReport]=\"isReport\"\n (onRevert)=\"revertDashboard($event)\"\n class=\"animated fadeIn\"\n ></c8y-dashboard-version-history>\n </ng-container>\n </div>\n </div>\n\n <div class=\"c8y-top-drawer--footer\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n data-cy=\"dashboard-detail--cancel-dashboard\"\n (click)=\"cancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"button\"\n data-cy=\"dashboard-detail--save-dashboard\"\n (click)=\"save()\"\n [disabled]=\"\n (dashboardDetailsForm?.invalid || dashboardDetailsForm?.pristine) && this.isEdit\n \"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</div>\n" }]
|
|
@@ -1875,7 +1906,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
|
|
|
1875
1906
|
type: Output
|
|
1876
1907
|
}], previewChanged: [{
|
|
1877
1908
|
type: Output
|
|
1878
|
-
}] } });
|
|
1909
|
+
}], convertStringToHash: [] } });
|
|
1879
1910
|
|
|
1880
1911
|
class WidgetService {
|
|
1881
1912
|
constructor(dynamicComponentService, translateService, moduleConfig) {
|
|
@@ -2596,14 +2627,7 @@ class ContextDashboardComponent {
|
|
|
2596
2627
|
const route = this.route.parent.snapshot.url.map(segment => segment.path).join('/');
|
|
2597
2628
|
this.router.navigateByUrl(route);
|
|
2598
2629
|
}
|
|
2599
|
-
this.
|
|
2600
|
-
component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.DELETE_DASHBOARD,
|
|
2601
|
-
action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.DELETE,
|
|
2602
|
-
name: this.dashboard.name,
|
|
2603
|
-
id: this.mo.id,
|
|
2604
|
-
dashboardType: this.dashboard.deviceType ? this.dashboard.deviceTypeValue : null,
|
|
2605
|
-
context: this.contextDashboardService.getContextForGS(this.context)
|
|
2606
|
-
});
|
|
2630
|
+
await this.onDeleteGSEvent();
|
|
2607
2631
|
}
|
|
2608
2632
|
get isDeviceTypeDashboard() {
|
|
2609
2633
|
return !!this.dashboard?.deviceType;
|
|
@@ -2790,18 +2814,7 @@ class ContextDashboardComponent {
|
|
|
2790
2814
|
this.dashboardDetails.show(false);
|
|
2791
2815
|
}
|
|
2792
2816
|
else {
|
|
2793
|
-
this.
|
|
2794
|
-
? PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.REPORTS
|
|
2795
|
-
: PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {
|
|
2796
|
-
component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.DASHBOARD_VIEW,
|
|
2797
|
-
action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.LOAD,
|
|
2798
|
-
name: this.dashboard.name,
|
|
2799
|
-
id: this.mo.id,
|
|
2800
|
-
dashboardType: this.dashboard.deviceType ? this.dashboard.deviceTypeValue : null,
|
|
2801
|
-
context: this.isReport
|
|
2802
|
-
? PRODUCT_EXPERIENCE.DASHBOARD.CONTEXT.REPORT
|
|
2803
|
-
: this.contextDashboardService.getContextForGS(this.context)
|
|
2804
|
-
});
|
|
2817
|
+
await this.onLoadGSEvent();
|
|
2805
2818
|
}
|
|
2806
2819
|
}
|
|
2807
2820
|
async dashboardPreview(layoutChanges) {
|
|
@@ -2962,9 +2975,88 @@ class ContextDashboardComponent {
|
|
|
2962
2975
|
}
|
|
2963
2976
|
return historyDescription;
|
|
2964
2977
|
}
|
|
2978
|
+
async onDeleteGSEvent() {
|
|
2979
|
+
const parentName = await this.convertStringToHash(this.context?.name);
|
|
2980
|
+
const dashboardName = await this.convertStringToHash(this.dashboard?.name);
|
|
2981
|
+
this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {
|
|
2982
|
+
component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.DELETE_DASHBOARD,
|
|
2983
|
+
action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.DELETE,
|
|
2984
|
+
name: dashboardName,
|
|
2985
|
+
id: this.mo.id,
|
|
2986
|
+
nameId: `${dashboardName}_${this.mo.id}`,
|
|
2987
|
+
parentAssetId: this.context?.id ? this.context.id : 'noContext',
|
|
2988
|
+
parentAssetName: this.context?.id ? parentName : 'noContext',
|
|
2989
|
+
parentAssetType: this.context?.id ? this.context.type : 'noContext',
|
|
2990
|
+
parentAssetNameId: this.context?.id ? `${parentName}_${this.context.id}` : 'noContext',
|
|
2991
|
+
parentAssetNameDashboardName: this.context?.id
|
|
2992
|
+
? `${parentName}_${dashboardName}`
|
|
2993
|
+
: 'noContext',
|
|
2994
|
+
parentAssetIdDashboardId: this.context?.id ? `${this.context.id}_${this.mo.id}` : 'noContext',
|
|
2995
|
+
parentAssetNameDashboardId: this.context?.id ? `${parentName}_${this.mo.id}` : 'noContext',
|
|
2996
|
+
parentAssetNameIdDashboardNameId: this.context?.id
|
|
2997
|
+
? `${parentName}_${this.context.id}_${dashboardName}_${this.mo.id}`
|
|
2998
|
+
: 'noContext',
|
|
2999
|
+
dashboardType: this.dashboard.deviceType ? this.dashboard.deviceTypeValue : null,
|
|
3000
|
+
context: this.contextDashboardService.getContextForGS(this.context)
|
|
3001
|
+
});
|
|
3002
|
+
}
|
|
3003
|
+
async onLoadGSEvent() {
|
|
3004
|
+
const parentName = await this.convertStringToHash(this.context?.name);
|
|
3005
|
+
const dashboardName = (await this.convertStringToHash(this.dashboard?.name)) ??
|
|
3006
|
+
this.extractDefaultDashboardName(this.mo) ??
|
|
3007
|
+
'none';
|
|
3008
|
+
this.gainsightService.triggerEvent(this.isReport
|
|
3009
|
+
? PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.REPORTS
|
|
3010
|
+
: PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {
|
|
3011
|
+
component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.DASHBOARD_VIEW,
|
|
3012
|
+
action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.LOAD,
|
|
3013
|
+
name: dashboardName,
|
|
3014
|
+
id: this.mo.id,
|
|
3015
|
+
nameId: `${dashboardName}_${this.mo.id}`,
|
|
3016
|
+
parentAssetId: this.context?.id ? this.context.id : 'noContext',
|
|
3017
|
+
parentAssetName: this.context?.id ? parentName : 'noContext',
|
|
3018
|
+
parentAssetType: this.context?.id ? this.context.type : 'noContext',
|
|
3019
|
+
parentAssetNameId: this.context?.id ? `${parentName}_${this.context.id}` : 'noContext',
|
|
3020
|
+
parentAssetNameDashboardName: this.context?.id
|
|
3021
|
+
? `${parentName}_${dashboardName}`
|
|
3022
|
+
: 'noContext',
|
|
3023
|
+
parentAssetIdDashboardId: this.context?.id
|
|
3024
|
+
? `${this.context.id}_${this.mo.id}`
|
|
3025
|
+
: 'noContext',
|
|
3026
|
+
parentAssetNameDashboardId: this.context?.id ? `${parentName}_${this.mo.id}` : 'noContext',
|
|
3027
|
+
parentAssetNameIdDashboardNameId: this.context?.id
|
|
3028
|
+
? `${parentName}_${this.context.id}_${dashboardName}_${this.mo.id}`
|
|
3029
|
+
: 'noContext',
|
|
3030
|
+
dashboardType: this.dashboard.deviceType ? this.dashboard.deviceTypeValue : null,
|
|
3031
|
+
context: this.isReport
|
|
3032
|
+
? PRODUCT_EXPERIENCE.DASHBOARD.CONTEXT.REPORT
|
|
3033
|
+
: this.contextDashboardService.getContextForGS(this.context)
|
|
3034
|
+
});
|
|
3035
|
+
}
|
|
3036
|
+
extractDefaultDashboardName(obj) {
|
|
3037
|
+
const nameKey = Object.keys(obj).find(key => key.startsWith('c8y_Dashboard!name!'));
|
|
3038
|
+
if (nameKey) {
|
|
3039
|
+
return nameKey.split('!').pop();
|
|
3040
|
+
}
|
|
3041
|
+
return null;
|
|
3042
|
+
}
|
|
3043
|
+
async convertStringToHash(str) {
|
|
3044
|
+
if (!str) {
|
|
3045
|
+
return null;
|
|
3046
|
+
}
|
|
3047
|
+
return (await this.gainsightService.shouldSendPiiData())
|
|
3048
|
+
? str
|
|
3049
|
+
: this.gainsightService.hashGroupName(str);
|
|
3050
|
+
}
|
|
2965
3051
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ContextDashboardComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: ContextDashboardService }, { token: i3.AlertService }, { token: i0.Renderer2 }, { token: CONTEXT_DASHBOARD_CONFIG }, { token: WidgetService }, { token: i2$2.BsModalService }, { token: i3.GainsightService }, { token: i3.ActionBarService }, { token: i2$1.TranslateService }, { token: i3.ModalService }, { token: DashboardEditModeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2966
3052
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: ContextDashboardComponent, selector: "c8y-context-dashboard", inputs: { name: "name", childrenClasses: "childrenClasses", context: "context", setTitle: "setTitle", defaultWidgets: "defaultWidgets", canCopy: "canCopy", canDelete: "canDelete", isLoading: "isLoading", breadcrumbSettings: "breadcrumbSettings", showContextHelpButton: "showContextHelpButton", translateWidgetTitle: "translateWidgetTitle", hideAvailability: "hideAvailability" }, host: { listeners: { "window:beforeunload": "beforeUnloadHandler($event)" }, properties: { "class": "this.class" }, styleAttribute: "\n display: block;\n ", classAttribute: "dashboard c8y-grid-dashboard" }, viewQueries: [{ propertyName: "dashboardDetails", first: true, predicate: DashboardDetailComponent, descendants: true, static: true }, { propertyName: "widgetsDashboard", first: true, predicate: WidgetsDashboardComponent, descendants: true, static: true }], ngImport: i0, template: "<c8y-title *ngIf=\"title\">\n {{ title }}\n</c8y-title>\n\n<c8y-action-bar-item\n [placement]=\"'right'\"\n [priority]=\"10000\"\n *ngIf=\"dashboard?.deviceType && dashboard.deviceTypeValue\"\n>\n <button\n class=\"btn-clean btn-link\"\n popoverTitle=\"{{ 'Dashboard template' | translate }}\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"dashboardTypePopoverRef\"\n placement=\"bottom\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n >\n <span class=\"tag tag--info text-12\">\n <span class=\"dashboard-template-marker\"></span>\n {{ dashboardTypeLabel | translate: { dashboardType: dashboard.deviceTypeValue } }}\n </span>\n </button>\n <ng-template #dashboardTypePopoverRef>\n <div\n [innerHTML]=\"dashboardTypePopover | translate: { dashboardType: dashboard.deviceTypeValue }\"\n ></div>\n </ng-template>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item\n [placement]=\"'right'\"\n [priority]=\"-1\"\n *ngIf=\"defaultWidgets.length > 0\"\n>\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reset widgets' | translate }}\"\n type=\"button\"\n px-event=\"Reset dashboard\"\n (click)=\"restore()\"\n [disabled]=\"disabled || widgetsDashboard?.editMode\"\n data-cy=\"context-dashboard--button-reset-dashboard\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"reset\"\n ></i>\n <span class=\"visible-xs-inline hidden-sm visible-md-inline visible-lg-inline\">\n {{ 'Reset widgets' | translate }}\n </span>\n </button>\n</c8y-action-bar-item>\n\n<c8y-help\n src=\"/docs/cockpit/working-with-dashboards/#working-with-dashboards\"\n *ngIf=\"showContextHelpButton\"\n></c8y-help>\n\n<c8y-dashboard-detail\n class=\"d-contents\"\n [isReport]=\"isReport\"\n [dashboard]=\"dashboard\"\n [mo]=\"mo\"\n [context]=\"context\"\n [deviceType]=\"context?.type\"\n [hideAvailability]=\"hideAvailability\"\n (dashboardSaved)=\"reloadDashboard($event)\"\n (previewChanged)=\"dashboardPreview($event)\"\n></c8y-dashboard-detail>\n\n<c8y-widgets-dashboard\n [context]=\"context\"\n [contextDashboard]=\"dashboard\"\n [widgets]=\"widgets\"\n [isCopyDisabled]=\"isCopyDisabled\"\n [settings]=\"{\n isLoading: isLoading,\n isDisabled: disabled,\n canDelete: canDelete && !!dashboard,\n translateWidgetTitle: dashboard?.translateWidgetTitle ?? translateWidgetTitle,\n allowFullscreen: moduleConfig.allowFullscreen,\n title: setTitle ? dashboard?.name || title : undefined,\n widgetMargin: dashboard?.widgetMargin,\n canCopy: canCopy && !!dashboard,\n defaultWidth: dashboard?.columns >= 24 ? 8 : 4,\n columns: dashboard?.columns || 12\n }\"\n [breadcrumb]=\"breadcrumbSettings\"\n [editModeButtons]=\"{\n undoButtonDisabled: editModeService.undoButtonDisabled,\n changeToUndoName: editModeService.changeToUndoName,\n redoButtonDisabled: !editModeService.redoStackLastItem,\n changeToRedoName: editModeService.redoStackLastItem?.name\n }\"\n (onChangeDashboard)=\"positionOrWidgetDimensionChange($event)\"\n (onAddWidget)=\"addWidget()\"\n (onEditWidget)=\"editWidget($event)\"\n (onDeleteWidget)=\"deleteWidget($event)\"\n (onSaveDashboard)=\"saveWidgetsToDashboard()\"\n (onCancelDashboard)=\"cancelEditMode()\"\n (revertChange)=\"revertChange($event)\"\n (onChangeStart)=\"addDashboardClassToBody()\"\n (onChangeEnd)=\"removeDashboardClassFromBody()\"\n (onEditDashboard)=\"dashboardDetails.show(true)\"\n (onCopyDashboard)=\"copyDashboard()\"\n (onDeleteDashboard)=\"deleteDashboard()\"\n></c8y-widgets-dashboard>\n", dependencies: [{ kind: "component", type: i3.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: i3.WidgetsDashboardComponent, selector: "c8y-widgets-dashboard", inputs: ["widgets", "context", "contextDashboard", "settings", "isCopyDisabled", "breadcrumb", "editModeButtons"], outputs: ["onAddWidget", "onEditWidget", "onDeleteWidget", "onChangeDashboard", "onResize", "onEditDashboard", "onCopyDashboard", "onDeleteDashboard", "onChangeStart", "onChangeEnd", "onSaveDashboard", "onCancelDashboard", "revertChange"] }, { kind: "component", type: i3.HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "component", type: DashboardDetailComponent, selector: "c8y-dashboard-detail", inputs: ["isReport", "deviceType", "context", "mo", "dashboard", "isNamedDashboard", "hideAvailability"], outputs: ["dashboardSaved", "previewChanged"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }] }); }
|
|
2967
3053
|
}
|
|
3054
|
+
__decorate([
|
|
3055
|
+
memoize(),
|
|
3056
|
+
__metadata("design:type", Function),
|
|
3057
|
+
__metadata("design:paramtypes", [String]),
|
|
3058
|
+
__metadata("design:returntype", Promise)
|
|
3059
|
+
], ContextDashboardComponent.prototype, "convertStringToHash", null);
|
|
2968
3060
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ContextDashboardComponent, decorators: [{
|
|
2969
3061
|
type: Component,
|
|
2970
3062
|
args: [{ selector: 'c8y-context-dashboard', host: {
|
|
@@ -3012,7 +3104,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
|
|
|
3012
3104
|
}], beforeUnloadHandler: [{
|
|
3013
3105
|
type: HostListener,
|
|
3014
3106
|
args: ['window:beforeunload', ['$event']]
|
|
3015
|
-
}] } });
|
|
3107
|
+
}], convertStringToHash: [] } });
|
|
3016
3108
|
|
|
3017
3109
|
class CockpitDashboardComponent {
|
|
3018
3110
|
constructor(appState, homeDashboardConfig) {
|