UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

57 lines 9.5 kB
import { Component, Inject, Optional, ViewChild } from '@angular/core'; import { AppStateService, gettext } from '@c8y/ngx-components'; import { COCKPIT_HOME_DASHBOARD_CONFIG, DEFAULT_COCKPIT_HOME_WIDGETS } from './cockpit-dashboard.model'; import { ContextDashboardComponent } from '../context-dashboard.component'; import * as i0 from "@angular/core"; import * as i1 from "@c8y/ngx-components"; import * as i2 from "../context-dashboard.component"; export class CockpitDashboardComponent { constructor(appState, homeDashboardConfig) { this.appState = appState; this.homeDashboardConfig = homeDashboardConfig; this.defaultWidgets = DEFAULT_COCKPIT_HOME_WIDGETS; this.dashboardName = 'home-cockpit1'; this.pageTitle = gettext('Home'); const config = { ...this.homeDashboardConfig, dashboardName: appState.currentApplication.value?.config?.homeDashboardName, userSpecific: appState.currentApplication.value?.config?.userSpecificHomeDashboard }; this.applyDashboardConfig(config); } canDeactivate() { return this.contextDashboard.canDeactivate(); } applyDashboardConfig(config) { if (!config) { return; } if (config.dashboardName) { this.dashboardName = config.dashboardName; } if (config.defaultWidgets) { this.defaultWidgets = config.defaultWidgets; } if (config.userSpecific && this.appState.currentUser.value) { this.dashboardName = `${this.appState.currentUser.value.userName.replace(/\./g, '__')}_${this.dashboardName}`; } if (config.pageTitle) { this.pageTitle = config.pageTitle; } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CockpitDashboardComponent, deps: [{ token: i1.AppStateService }, { token: COCKPIT_HOME_DASHBOARD_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CockpitDashboardComponent, selector: "c8y-cockpit-dashboard", viewQueries: [{ propertyName: "contextDashboard", first: true, predicate: ContextDashboardComponent, descendants: true, static: true }], ngImport: i0, template: "<c8y-title>\n {{ pageTitle | translate }}\n</c8y-title>\n\n<c8y-context-dashboard\n [name]=\"dashboardName\"\n [defaultWidgets]=\"defaultWidgets\"\n [canDelete]=\"false\"\n [hideAvailability]=\"true\"\n></c8y-context-dashboard>\n", dependencies: [{ kind: "component", type: i1.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: i2.ContextDashboardComponent, selector: "c8y-context-dashboard", inputs: ["name", "childrenClasses", "context", "setTitle", "defaultWidgets", "canCopy", "canDelete", "isLoading", "breadcrumbSettings", "showContextHelpButton", "translateWidgetTitle", "hideAvailability"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CockpitDashboardComponent, decorators: [{ type: Component, args: [{ selector: 'c8y-cockpit-dashboard', template: "<c8y-title>\n {{ pageTitle | translate }}\n</c8y-title>\n\n<c8y-context-dashboard\n [name]=\"dashboardName\"\n [defaultWidgets]=\"defaultWidgets\"\n [canDelete]=\"false\"\n [hideAvailability]=\"true\"\n></c8y-context-dashboard>\n" }] }], ctorParameters: () => [{ type: i1.AppStateService }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [COCKPIT_HOME_DASHBOARD_CONFIG] }] }], propDecorators: { contextDashboard: [{ type: ViewChild, args: [ContextDashboardComponent, { static: true }] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ja3BpdC1kYXNoYm9hcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29udGV4dC1kYXNoYm9hcmQvY29ja3BpdC1kYXNoYm9hcmQvY29ja3BpdC1kYXNoYm9hcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vY29udGV4dC1kYXNoYm9hcmQvY29ja3BpdC1kYXNoYm9hcmQvY29ja3BpdC1kYXNoYm9hcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFFTCw2QkFBNkIsRUFDN0IsNEJBQTRCLEVBQzdCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFNM0UsTUFBTSxPQUFPLHlCQUF5QjtJQU9wQyxZQUNVLFFBQXlCLEVBR3pCLG1CQUEyQztRQUgzQyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUd6Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBVnJELG1CQUFjLEdBQUcsNEJBQTRCLENBQUM7UUFDOUMsa0JBQWEsR0FBRyxlQUFlLENBQUM7UUFDaEMsY0FBUyxHQUFXLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQVVsQyxNQUFNLE1BQU0sR0FBRztZQUNiLEdBQUcsSUFBSSxDQUFDLG1CQUFtQjtZQUMzQixhQUFhLEVBQUUsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCO1lBQzNFLFlBQVksRUFBRSxRQUFRLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSx5QkFBeUI7U0FDbkYsQ0FBQztRQUNGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxNQUE4QjtRQUN6RCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUM1QyxDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDO1FBQzlDLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFDbkYsSUFBSSxDQUFDLGFBQ1AsRUFBRSxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQzsrR0EvQ1UseUJBQXlCLGlEQVUxQiw2QkFBNkI7bUdBVjVCLHlCQUF5QiwrR0FJekIseUJBQXlCLDhEQ2xCdEMsNE9BVUE7OzRGRElhLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDRSx1QkFBdUI7OzBCQVk5QixRQUFROzswQkFDUixNQUFNOzJCQUFDLDZCQUE2Qjt5Q0FMdkMsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSwgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHtcbiAgQ29ja3BpdERhc2hib2FyZENvbmZpZyxcbiAgQ09DS1BJVF9IT01FX0RBU0hCT0FSRF9DT05GSUcsXG4gIERFRkFVTFRfQ09DS1BJVF9IT01FX1dJREdFVFNcbn0gZnJvbSAnLi9jb2NrcGl0LWRhc2hib2FyZC5tb2RlbCc7XG5pbXBvcnQgeyBDYW5EZWFjdGl2YXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29udGV4dC1kYXNoYm9hcmQubW9kZWwnO1xuaW1wb3J0IHsgQ29udGV4dERhc2hib2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbnRleHQtZGFzaGJvYXJkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1jb2NrcGl0LWRhc2hib2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2NrcGl0LWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQ29ja3BpdERhc2hib2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIENhbkRlYWN0aXZhdGVDb21wb25lbnQge1xuICBkZWZhdWx0V2lkZ2V0cyA9IERFRkFVTFRfQ09DS1BJVF9IT01FX1dJREdFVFM7XG4gIGRhc2hib2FyZE5hbWUgPSAnaG9tZS1jb2NrcGl0MSc7XG4gIHBhZ2VUaXRsZTogc3RyaW5nID0gZ2V0dGV4dCgnSG9tZScpO1xuICBAVmlld0NoaWxkKENvbnRleHREYXNoYm9hcmRDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGNvbnRleHREYXNoYm9hcmQ6IENvbnRleHREYXNoYm9hcmRDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChDT0NLUElUX0hPTUVfREFTSEJPQVJEX0NPTkZJRylcbiAgICBwcml2YXRlIGhvbWVEYXNoYm9hcmRDb25maWc6IENvY2twaXREYXNoYm9hcmRDb25maWdcbiAgKSB7XG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgLi4udGhpcy5ob21lRGFzaGJvYXJkQ29uZmlnLFxuICAgICAgZGFzaGJvYXJkTmFtZTogYXBwU3RhdGUuY3VycmVudEFwcGxpY2F0aW9uLnZhbHVlPy5jb25maWc/LmhvbWVEYXNoYm9hcmROYW1lLFxuICAgICAgdXNlclNwZWNpZmljOiBhcHBTdGF0ZS5jdXJyZW50QXBwbGljYXRpb24udmFsdWU/LmNvbmZpZz8udXNlclNwZWNpZmljSG9tZURhc2hib2FyZFxuICAgIH07XG4gICAgdGhpcy5hcHBseURhc2hib2FyZENvbmZpZyhjb25maWcpO1xuICB9XG5cbiAgY2FuRGVhY3RpdmF0ZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0RGFzaGJvYXJkLmNhbkRlYWN0aXZhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlEYXNoYm9hcmRDb25maWcoY29uZmlnOiBDb2NrcGl0RGFzaGJvYXJkQ29uZmlnKSB7XG4gICAgaWYgKCFjb25maWcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLmRhc2hib2FyZE5hbWUpIHtcbiAgICAgIHRoaXMuZGFzaGJvYXJkTmFtZSA9IGNvbmZpZy5kYXNoYm9hcmROYW1lO1xuICAgIH1cblxuICAgIGlmIChjb25maWcuZGVmYXVsdFdpZGdldHMpIHtcbiAgICAgIHRoaXMuZGVmYXVsdFdpZGdldHMgPSBjb25maWcuZGVmYXVsdFdpZGdldHM7XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy51c2VyU3BlY2lmaWMgJiYgdGhpcy5hcHBTdGF0ZS5jdXJyZW50VXNlci52YWx1ZSkge1xuICAgICAgdGhpcy5kYXNoYm9hcmROYW1lID0gYCR7dGhpcy5hcHBTdGF0ZS5jdXJyZW50VXNlci52YWx1ZS51c2VyTmFtZS5yZXBsYWNlKC9cXC4vZywgJ19fJyl9XyR7XG4gICAgICAgIHRoaXMuZGFzaGJvYXJkTmFtZVxuICAgICAgfWA7XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5wYWdlVGl0bGUpIHtcbiAgICAgIHRoaXMucGFnZVRpdGxlID0gY29uZmlnLnBhZ2VUaXRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxjOHktdGl0bGU+XG4gIHt7IHBhZ2VUaXRsZSB8IHRyYW5zbGF0ZSB9fVxuPC9jOHktdGl0bGU+XG5cbjxjOHktY29udGV4dC1kYXNoYm9hcmRcbiAgW25hbWVdPVwiZGFzaGJvYXJkTmFtZVwiXG4gIFtkZWZhdWx0V2lkZ2V0c109XCJkZWZhdWx0V2lkZ2V0c1wiXG4gIFtjYW5EZWxldGVdPVwiZmFsc2VcIlxuICBbaGlkZUF2YWlsYWJpbGl0eV09XCJ0cnVlXCJcbj48L2M4eS1jb250ZXh0LWRhc2hib2FyZD5cbiJdfQ==