@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
57 lines • 9.5 kB
JavaScript
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==