UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

64 lines 12.7 kB
import { Component, Input } from '@angular/core'; import { DEFAULT_HOME_DASHBOARD_NAME, HomeDashboardType, USER_HOME_DASHBOARD_NAME } from './cockpit-config.model'; import { CockpitConfigService } from './cockpit-config.service'; import * as i0 from "@angular/core"; import * as i1 from "./cockpit-config.service"; import * as i2 from "@c8y/ngx-components"; export class HomeDashboardConfigComponent { /** * @ignore */ constructor(cockpitConfigService) { this.cockpitConfigService = cockpitConfigService; /** * The types of dashboard that can be configured. */ this.homeDashboardTypes = HomeDashboardType; } /** * @ignore */ dashboardChange(selected, type) { if (!selected) { return; } switch (type) { case this.homeDashboardTypes.DEFAULT: { this.config.homeDashboardName = DEFAULT_HOME_DASHBOARD_NAME; this.config.userSpecificHomeDashboard = false; break; } case this.homeDashboardTypes.APP: { this.config.homeDashboardName = this.cockpitConfigService.getAppDashboardName(); this.config.userSpecificHomeDashboard = false; break; } case this.homeDashboardTypes.USER: { this.config.homeDashboardName = USER_HOME_DASHBOARD_NAME; this.config.userSpecificHomeDashboard = true; break; } } } /** * @ignore */ verifySelected(type) { if (type === this.homeDashboardTypes.USER) { return this.config.userSpecificHomeDashboard; } if (type === this.homeDashboardTypes.DEFAULT) { return this.config.homeDashboardName === DEFAULT_HOME_DASHBOARD_NAME; } return this.config.homeDashboardName === this.cockpitConfigService.getAppDashboardName(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HomeDashboardConfigComponent, deps: [{ token: i1.CockpitConfigService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HomeDashboardConfigComponent, selector: "c8y-home-dashboard-config", inputs: { config: "config" }, ngImport: i0, template: "<c8y-list-group>\n <c8y-li data-cy=\"home-dashboard-config--dashboard-list\">\n <c8y-li-radio\n (onSelect)=\"dashboardChange($event, homeDashboardTypes.DEFAULT)\"\n [selected]=\"verifySelected(homeDashboardTypes.DEFAULT)\"\n ></c8y-li-radio>\n <p translate>Default home dashboard</p>\n <small translate>Changes done in the home dashboard are reflected across the platform.</small>\n </c8y-li>\n <c8y-li data-cy=\"home-dashboard-config--dashboard-list\">\n <c8y-li-radio\n (onSelect)=\"dashboardChange($event, homeDashboardTypes.APP)\"\n [selected]=\"verifySelected(homeDashboardTypes.APP)\"\n ></c8y-li-radio>\n <p translate>Custom home dashboard</p>\n <small translate>\n Changes done to the home dashboard are reflected only in the current application.\n </small>\n </c8y-li>\n <c8y-li data-cy=\"home-dashboard-config--dashboard-list\">\n <c8y-li-radio\n (onSelect)=\"dashboardChange($event, homeDashboardTypes.USER)\"\n [selected]=\"verifySelected(homeDashboardTypes.USER)\"\n ></c8y-li-radio>\n <p translate>User home dashboard</p>\n <small translate>\n Changes done to the home dashboard are reflected only for the current user. NOTE: This user\n needs to have inventory write permission.\n </small>\n </c8y-li>\n</c8y-list-group>\n", dependencies: [{ kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: i2.ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: i2.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: i2.ListItemRadioComponent, selector: "c8y-list-item-radio, c8y-li-radio", inputs: ["selected", "name", "disabled", "value"], outputs: ["onSelect"] }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HomeDashboardConfigComponent, decorators: [{ type: Component, args: [{ selector: 'c8y-home-dashboard-config', template: "<c8y-list-group>\n <c8y-li data-cy=\"home-dashboard-config--dashboard-list\">\n <c8y-li-radio\n (onSelect)=\"dashboardChange($event, homeDashboardTypes.DEFAULT)\"\n [selected]=\"verifySelected(homeDashboardTypes.DEFAULT)\"\n ></c8y-li-radio>\n <p translate>Default home dashboard</p>\n <small translate>Changes done in the home dashboard are reflected across the platform.</small>\n </c8y-li>\n <c8y-li data-cy=\"home-dashboard-config--dashboard-list\">\n <c8y-li-radio\n (onSelect)=\"dashboardChange($event, homeDashboardTypes.APP)\"\n [selected]=\"verifySelected(homeDashboardTypes.APP)\"\n ></c8y-li-radio>\n <p translate>Custom home dashboard</p>\n <small translate>\n Changes done to the home dashboard are reflected only in the current application.\n </small>\n </c8y-li>\n <c8y-li data-cy=\"home-dashboard-config--dashboard-list\">\n <c8y-li-radio\n (onSelect)=\"dashboardChange($event, homeDashboardTypes.USER)\"\n [selected]=\"verifySelected(homeDashboardTypes.USER)\"\n ></c8y-li-radio>\n <p translate>User home dashboard</p>\n <small translate>\n Changes done to the home dashboard are reflected only for the current user. NOTE: This user\n needs to have inventory write permission.\n </small>\n </c8y-li>\n</c8y-list-group>\n" }] }], ctorParameters: () => [{ type: i1.CockpitConfigService }], propDecorators: { config: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1kYXNoYm9hcmQtY29uZmlnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvY2twaXQtY29uZmlnL2hvbWUtZGFzaGJvYXJkLWNvbmZpZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9jb2NrcGl0LWNvbmZpZy9ob21lLWRhc2hib2FyZC1jb25maWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUVMLDJCQUEyQixFQUMzQixpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3pCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFNaEUsTUFBTSxPQUFPLDRCQUE0QjtJQVN2Qzs7T0FFRztJQUNILFlBQW9CLG9CQUEwQztRQUExQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBUjlEOztXQUVHO1FBQ00sdUJBQWtCLEdBQUcsaUJBQWlCLENBQUM7SUFLaUIsQ0FBQztJQUVsRTs7T0FFRztJQUNILGVBQWUsQ0FBQyxRQUFpQixFQUFFLElBQXVCO1FBQ3hELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLE9BQU87UUFDVCxDQUFDO1FBRUQsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEdBQUcsMkJBQTJCLENBQUM7Z0JBQzVELElBQUksQ0FBQyxNQUFNLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO2dCQUM5QyxNQUFNO1lBQ1IsQ0FBQztZQUNELEtBQUssSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQ2hGLElBQUksQ0FBQyxNQUFNLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO2dCQUM5QyxNQUFNO1lBQ1IsQ0FBQztZQUNELEtBQUssSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEdBQUcsd0JBQXdCLENBQUM7Z0JBQ3pELElBQUksQ0FBQyxNQUFNLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDO2dCQUM3QyxNQUFNO1lBQ1IsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUMsSUFBdUI7UUFDcEMsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQzFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQztRQUMvQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsS0FBSywyQkFBMkIsQ0FBQztRQUN2RSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixLQUFLLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzNGLENBQUM7K0dBcERVLDRCQUE0QjttR0FBNUIsNEJBQTRCLCtGQ2J6QyxvekNBK0JBOzs0RkRsQmEsNEJBQTRCO2tCQUp4QyxTQUFTOytCQUNFLDJCQUEyQjt5RkFLckMsTUFBTTtzQkFETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29ja3BpdENvbmZpZyxcbiAgREVGQVVMVF9IT01FX0RBU0hCT0FSRF9OQU1FLFxuICBIb21lRGFzaGJvYXJkVHlwZSxcbiAgVVNFUl9IT01FX0RBU0hCT0FSRF9OQU1FXG59IGZyb20gJy4vY29ja3BpdC1jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgQ29ja3BpdENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvY2twaXQtY29uZmlnLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktaG9tZS1kYXNoYm9hcmQtY29uZmlnJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hvbWUtZGFzaGJvYXJkLWNvbmZpZy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSG9tZURhc2hib2FyZENvbmZpZ0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGNvbmZpZzogQ29ja3BpdENvbmZpZztcblxuICAvKipcbiAgICogVGhlIHR5cGVzIG9mIGRhc2hib2FyZCB0aGF0IGNhbiBiZSBjb25maWd1cmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgaG9tZURhc2hib2FyZFR5cGVzID0gSG9tZURhc2hib2FyZFR5cGU7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29ja3BpdENvbmZpZ1NlcnZpY2U6IENvY2twaXRDb25maWdTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBkYXNoYm9hcmRDaGFuZ2Uoc2VsZWN0ZWQ6IGJvb2xlYW4sIHR5cGU6IEhvbWVEYXNoYm9hcmRUeXBlKSB7XG4gICAgaWYgKCFzZWxlY3RlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSB0aGlzLmhvbWVEYXNoYm9hcmRUeXBlcy5ERUZBVUxUOiB7XG4gICAgICAgIHRoaXMuY29uZmlnLmhvbWVEYXNoYm9hcmROYW1lID0gREVGQVVMVF9IT01FX0RBU0hCT0FSRF9OQU1FO1xuICAgICAgICB0aGlzLmNvbmZpZy51c2VyU3BlY2lmaWNIb21lRGFzaGJvYXJkID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSB0aGlzLmhvbWVEYXNoYm9hcmRUeXBlcy5BUFA6IHtcbiAgICAgICAgdGhpcy5jb25maWcuaG9tZURhc2hib2FyZE5hbWUgPSB0aGlzLmNvY2twaXRDb25maWdTZXJ2aWNlLmdldEFwcERhc2hib2FyZE5hbWUoKTtcbiAgICAgICAgdGhpcy5jb25maWcudXNlclNwZWNpZmljSG9tZURhc2hib2FyZCA9IGZhbHNlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgdGhpcy5ob21lRGFzaGJvYXJkVHlwZXMuVVNFUjoge1xuICAgICAgICB0aGlzLmNvbmZpZy5ob21lRGFzaGJvYXJkTmFtZSA9IFVTRVJfSE9NRV9EQVNIQk9BUkRfTkFNRTtcbiAgICAgICAgdGhpcy5jb25maWcudXNlclNwZWNpZmljSG9tZURhc2hib2FyZCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICB2ZXJpZnlTZWxlY3RlZCh0eXBlOiBIb21lRGFzaGJvYXJkVHlwZSkge1xuICAgIGlmICh0eXBlID09PSB0aGlzLmhvbWVEYXNoYm9hcmRUeXBlcy5VU0VSKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb25maWcudXNlclNwZWNpZmljSG9tZURhc2hib2FyZDtcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09IHRoaXMuaG9tZURhc2hib2FyZFR5cGVzLkRFRkFVTFQpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5ob21lRGFzaGJvYXJkTmFtZSA9PT0gREVGQVVMVF9IT01FX0RBU0hCT0FSRF9OQU1FO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jb25maWcuaG9tZURhc2hib2FyZE5hbWUgPT09IHRoaXMuY29ja3BpdENvbmZpZ1NlcnZpY2UuZ2V0QXBwRGFzaGJvYXJkTmFtZSgpO1xuICB9XG59XG4iLCI8Yzh5LWxpc3QtZ3JvdXA+XG4gIDxjOHktbGkgZGF0YS1jeT1cImhvbWUtZGFzaGJvYXJkLWNvbmZpZy0tZGFzaGJvYXJkLWxpc3RcIj5cbiAgICA8Yzh5LWxpLXJhZGlvXG4gICAgICAob25TZWxlY3QpPVwiZGFzaGJvYXJkQ2hhbmdlKCRldmVudCwgaG9tZURhc2hib2FyZFR5cGVzLkRFRkFVTFQpXCJcbiAgICAgIFtzZWxlY3RlZF09XCJ2ZXJpZnlTZWxlY3RlZChob21lRGFzaGJvYXJkVHlwZXMuREVGQVVMVClcIlxuICAgID48L2M4eS1saS1yYWRpbz5cbiAgICA8cCB0cmFuc2xhdGU+RGVmYXVsdCBob21lIGRhc2hib2FyZDwvcD5cbiAgICA8c21hbGwgdHJhbnNsYXRlPkNoYW5nZXMgZG9uZSBpbiB0aGUgaG9tZSBkYXNoYm9hcmQgYXJlIHJlZmxlY3RlZCBhY3Jvc3MgdGhlIHBsYXRmb3JtLjwvc21hbGw+XG4gIDwvYzh5LWxpPlxuICA8Yzh5LWxpIGRhdGEtY3k9XCJob21lLWRhc2hib2FyZC1jb25maWctLWRhc2hib2FyZC1saXN0XCI+XG4gICAgPGM4eS1saS1yYWRpb1xuICAgICAgKG9uU2VsZWN0KT1cImRhc2hib2FyZENoYW5nZSgkZXZlbnQsIGhvbWVEYXNoYm9hcmRUeXBlcy5BUFApXCJcbiAgICAgIFtzZWxlY3RlZF09XCJ2ZXJpZnlTZWxlY3RlZChob21lRGFzaGJvYXJkVHlwZXMuQVBQKVwiXG4gICAgPjwvYzh5LWxpLXJhZGlvPlxuICAgIDxwIHRyYW5zbGF0ZT5DdXN0b20gaG9tZSBkYXNoYm9hcmQ8L3A+XG4gICAgPHNtYWxsIHRyYW5zbGF0ZT5cbiAgICAgIENoYW5nZXMgZG9uZSB0byB0aGUgaG9tZSBkYXNoYm9hcmQgYXJlIHJlZmxlY3RlZCBvbmx5IGluIHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uLlxuICAgIDwvc21hbGw+XG4gIDwvYzh5LWxpPlxuICA8Yzh5LWxpIGRhdGEtY3k9XCJob21lLWRhc2hib2FyZC1jb25maWctLWRhc2hib2FyZC1saXN0XCI+XG4gICAgPGM4eS1saS1yYWRpb1xuICAgICAgKG9uU2VsZWN0KT1cImRhc2hib2FyZENoYW5nZSgkZXZlbnQsIGhvbWVEYXNoYm9hcmRUeXBlcy5VU0VSKVwiXG4gICAgICBbc2VsZWN0ZWRdPVwidmVyaWZ5U2VsZWN0ZWQoaG9tZURhc2hib2FyZFR5cGVzLlVTRVIpXCJcbiAgICA+PC9jOHktbGktcmFkaW8+XG4gICAgPHAgdHJhbnNsYXRlPlVzZXIgaG9tZSBkYXNoYm9hcmQ8L3A+XG4gICAgPHNtYWxsIHRyYW5zbGF0ZT5cbiAgICAgIENoYW5nZXMgZG9uZSB0byB0aGUgaG9tZSBkYXNoYm9hcmQgYXJlIHJlZmxlY3RlZCBvbmx5IGZvciB0aGUgY3VycmVudCB1c2VyLiBOT1RFOiBUaGlzIHVzZXJcbiAgICAgIG5lZWRzIHRvIGhhdmUgaW52ZW50b3J5IHdyaXRlIHBlcm1pc3Npb24uXG4gICAgPC9zbWFsbD5cbiAgPC9jOHktbGk+XG48L2M4eS1saXN0LWdyb3VwPlxuIl19