@c8y/ngx-components 1024.20.1 → 1024.21.3
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/fesm2022/c8y-ngx-components-ai-agent-chat.mjs +527 -12
- package/fesm2022/c8y-ngx-components-ai-agent-chat.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ai-ai-chat.mjs +31 -9
- package/fesm2022/c8y-ngx-components-ai-ai-chat.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ai.mjs +503 -62
- package/fesm2022/c8y-ngx-components-ai.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +2 -2
- package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-alarms.mjs +3 -3
- package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-application-access-list.mjs +1 -1
- package/fesm2022/c8y-ngx-components-application-access-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-application-select.mjs +1 -1
- package/fesm2022/c8y-ngx-components-application-select.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-asset-properties.mjs +3 -2
- package/fesm2022/c8y-ngx-components-asset-properties.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs +1 -1
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-bookmarks.mjs +1 -1
- package/fesm2022/c8y-ngx-components-bookmarks.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +1 -1
- package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-cockpit-config.mjs +5 -5
- package/fesm2022/c8y-ngx-components-cockpit-config.mjs.map +1 -1
- package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-Jyjkv4JT.mjs → c8y-ngx-components-context-dashboard-dashboard-version-history.component-CP1afwVe.mjs} +2 -2
- package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-Jyjkv4JT.mjs.map → c8y-ngx-components-context-dashboard-dashboard-version-history.component-CP1afwVe.mjs.map} +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +81 -20
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-UEUYsXBv.mjs → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-CRvgIgri.mjs} +2 -2
- package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-UEUYsXBv.mjs.map → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-CRvgIgri.mjs.map} +1 -1
- package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab.mjs +2 -2
- package/fesm2022/c8y-ngx-components-dashboard-manager.mjs +1 -1
- package/fesm2022/c8y-ngx-components-dashboard-manager.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +3 -3
- package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +2 -2
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-profile.mjs +2 -2
- package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-diagnostics.mjs +1 -1
- package/fesm2022/c8y-ngx-components-diagnostics.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-echart.mjs +146 -126
- package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +2 -2
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem.mjs +4 -4
- package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-events-events-timeline.mjs +1 -1
- package/fesm2022/c8y-ngx-components-events-events-timeline.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-events.mjs +2 -2
- package/fesm2022/c8y-ngx-components-events.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-icon-selector.mjs +4 -4
- package/fesm2022/c8y-ngx-components-icon-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +1 -1
- package/fesm2022/c8y-ngx-components-operations-operations-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs +1 -1
- package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +1 -1
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +2 -2
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs +2 -2
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +2 -2
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +5 -5
- package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +1 -1
- package/fesm2022/c8y-ngx-components-protocol-opcua.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-register-device.mjs +3 -3
- package/fesm2022/c8y-ngx-components-register-device.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs +1 -1
- package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs +1 -1
- package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-report-dashboard.mjs +1 -1
- package/fesm2022/c8y-ngx-components-report-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs +4 -4
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-firmware.mjs +4 -4
- package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-shared.mjs +2 -2
- package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-software.mjs +3 -3
- package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-static-assets-modal.mjs +1 -1
- package/fesm2022/c8y-ngx-components-static-assets-modal.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-tracking.mjs +1 -1
- package/fesm2022/c8y-ngx-components-tracking.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-definitions-html-widget.mjs +17 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-scada.mjs +21 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-scada.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-asset-table.mjs +60 -31
- package/fesm2022/c8y-ngx-components-widgets-implementations-asset-table.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-list.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-scada.mjs +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-scada.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +500 -38
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/de.po +72 -0
- package/locales/es.po +72 -0
- package/locales/fr.po +72 -0
- package/locales/ja_JP.po +72 -0
- package/locales/ko.po +72 -0
- package/locales/locales.pot +72 -3
- package/locales/nl.po +72 -0
- package/locales/pl.po +73 -1
- package/locales/pt_BR.po +74 -2
- package/locales/zh_CN.po +72 -0
- package/locales/zh_TW.po +72 -0
- package/package.json +1 -1
- package/types/c8y-ngx-components-ai-agent-chat.d.ts +201 -3
- package/types/c8y-ngx-components-ai-agent-chat.d.ts.map +1 -1
- package/types/c8y-ngx-components-ai-ai-chat.d.ts +14 -4
- package/types/c8y-ngx-components-ai-ai-chat.d.ts.map +1 -1
- package/types/c8y-ngx-components-ai.d.ts +157 -2
- package/types/c8y-ngx-components-ai.d.ts.map +1 -1
- package/types/c8y-ngx-components-asset-properties.d.ts.map +1 -1
- package/types/c8y-ngx-components-context-dashboard.d.ts +37 -3
- package/types/c8y-ngx-components-context-dashboard.d.ts.map +1 -1
- package/types/c8y-ngx-components-echart.d.ts +6 -0
- package/types/c8y-ngx-components-echart.d.ts.map +1 -1
- package/types/c8y-ngx-components-widgets-implementations-asset-table.d.ts +5 -0
- package/types/c8y-ngx-components-widgets-implementations-asset-table.d.ts.map +1 -1
- package/types/c8y-ngx-components.d.ts +310 -12
- package/types/c8y-ngx-components.d.ts.map +1 -1
|
@@ -314,7 +314,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImpo
|
|
|
314
314
|
|
|
315
315
|
class MiscConfigComponent {
|
|
316
316
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MiscConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
317
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: MiscConfigComponent, isStandalone: true, selector: "c8y-misc-config", inputs: { config: "config" }, ngImport: i0, template: "<c8y-list-group class=\"separator-top\">\n <c8y-li>\n <div class=\"d-flex a-i-center\">\n <p>{{ 'Always collapse navigator on start up' | translate }}</p>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Collapse navigator on start up' | translate }}\"\n >\n <input data-cy=\"c8y-misc-config--collapse-button\" type=\"checkbox\" [(ngModel)]=\"config.hideNavigator\" name=\"hideNavigator\" />\n <span></span>\n </label>\n </div>\n </c8y-li>\n</c8y-list-group>\n", dependencies: [{ kind: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
317
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: MiscConfigComponent, isStandalone: true, selector: "c8y-misc-config", inputs: { config: "config" }, ngImport: i0, template: "<c8y-list-group class=\"separator-top\">\n <c8y-li>\n <div class=\"d-flex a-i-center\">\n <p>{{ 'Always collapse navigator on start up' | translate }}</p>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Collapse navigator on start up' | translate }}\"\n >\n <input data-cy=\"c8y-misc-config--collapse-button\" type=\"checkbox\" [(ngModel)]=\"config.hideNavigator\" name=\"hideNavigator\" />\n <span></span>\n </label>\n </div>\n </c8y-li>\n</c8y-list-group>\n", dependencies: [{ kind: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable", "selectOnClick"], outputs: ["collapsedChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
318
318
|
}
|
|
319
319
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: MiscConfigComponent, decorators: [{
|
|
320
320
|
type: Component,
|
|
@@ -332,7 +332,7 @@ class FeatureConfigComponent {
|
|
|
332
332
|
this.onUpdate.emit();
|
|
333
333
|
}
|
|
334
334
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: FeatureConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
335
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: FeatureConfigComponent, isStandalone: true, selector: "c8y-feature-config", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onUpdate: "onUpdate" }, ngImport: i0, template: "<c8y-list-group>\n @if ('SearchModule' | c8yPluginLoaded | async) {\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"search\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Global search' | translate }}</p>\n <p>\n <small translate>Display the global search in the main header.</small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Global search' | translate }}\"\n >\n <input\n name=\"search\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.search\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n }\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"c8y-group\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Groups' | translate }}</p>\n <p>\n <small translate>Display top level groups under the Groups navigator menu.</small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Groups' | translate }}\"\n >\n <input\n name=\"groups\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.groups\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n @if ('CockpitAlarmsModule' | c8yPluginLoaded | async) {\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"bell\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Alarms' | translate }}</p>\n <p>\n <small translate>Display a link to the global alarms list in the navigator menu.</small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Global Alarms view' | translate }}\"\n >\n <input\n name=\"alarms\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.alarms\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n }\n @if ('eventsCockpitProviders' | c8yPluginLoaded | async) {\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"online1\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Events' | translate }}</p>\n <p>\n <small translate>Display a link to the global events list in the navigator menu.</small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Global Events view' | translate }}\"\n >\n <input\n name=\"events\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.events\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n }\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"c8y-data-explorer\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Data explorer' | translate }}</p>\n <p>\n <small translate>\n Display the data explorer in the navigator menu and on the group tabs.\n </small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Data explorer' | translate }}\"\n >\n <input\n name=\"dataExplorer\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.dataExplorer\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n @if ('ReportDashboardModule' | c8yPluginLoaded | async) {\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"c8y-reports\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Reports' | translate }}</p>\n <p>\n <small translate>Display a link to the Reports list in the navigator menu.</small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Reports' | translate }}\"\n >\n <input\n name=\"reports\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.reports\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n }\n @if ('exportsProviders' | c8yPluginLoaded | async) {\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"graph-report\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Exports' | translate }}</p>\n <p>\n <small translate>\n Display a link to the Exports list under the Configuration navigator menu.\n </small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Exports' | translate }}\"\n >\n <input\n name=\"exports\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.exports\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n }\n @if ('DatapointLibraryModule' | c8yPluginLoaded | async) {\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"c8y-data-points\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Data point library' | translate }}</p>\n <p>\n <small translate>\n Display a link to the Data point library under the Configuration navigator menu.\n </small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Data point library' | translate }}\"\n >\n <input\n name=\"dataPointLibrary\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.dataPointLibrary\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n }\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"c8y-smart-rules\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Global smart rules' | translate }}</p>\n <p>\n <small translate>\n Display a link to the Global smart rules under the Configuration navigator menu.\n </small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Global smart rules' | translate }}\"\n >\n <input\n name=\"globalSmartRules\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.globalSmartRules\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"c8y-group-open\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Subassets view' | translate }}</p>\n <p><small translate>Display the \"Subassets\" tab on groups.</small></p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Subassets view' | translate }}\"\n >\n <input\n name=\"subassets\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.subassets\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"c8y-smart-rules\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Smart rules for devices and groups' | translate }}</p>\n <p>\n <small translate>Display the smart rules tab on groups and devices.</small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Smart rules for devices and groups' | translate }}\"\n >\n <input\n name=\"smartRules\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.smartRules\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n @if ('DashboardManagerModule' | c8yPluginLoaded | async) {\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"management1\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Dashboard manager' | translate }}</p>\n <p>\n <small translate>\n Display a link to the Dashboard manager under the Configuration navigator menu.\n </small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Dashboard manager' | translate }}\"\n >\n <input\n name=\"dashboardManager\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.dashboardManager\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n }\n</c8y-list-group>\n", dependencies: [{ kind: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: PluginLoadedPipe, name: "c8yPluginLoaded" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
335
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: FeatureConfigComponent, isStandalone: true, selector: "c8y-feature-config", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onUpdate: "onUpdate" }, ngImport: i0, template: "<c8y-list-group>\n @if ('SearchModule' | c8yPluginLoaded | async) {\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"search\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Global search' | translate }}</p>\n <p>\n <small translate>Display the global search in the main header.</small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Global search' | translate }}\"\n >\n <input\n name=\"search\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.search\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n }\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"c8y-group\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Groups' | translate }}</p>\n <p>\n <small translate>Display top level groups under the Groups navigator menu.</small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Groups' | translate }}\"\n >\n <input\n name=\"groups\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.groups\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n @if ('CockpitAlarmsModule' | c8yPluginLoaded | async) {\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"bell\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Alarms' | translate }}</p>\n <p>\n <small translate>Display a link to the global alarms list in the navigator menu.</small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Global Alarms view' | translate }}\"\n >\n <input\n name=\"alarms\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.alarms\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n }\n @if ('eventsCockpitProviders' | c8yPluginLoaded | async) {\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"online1\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Events' | translate }}</p>\n <p>\n <small translate>Display a link to the global events list in the navigator menu.</small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Global Events view' | translate }}\"\n >\n <input\n name=\"events\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.events\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n }\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"c8y-data-explorer\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Data explorer' | translate }}</p>\n <p>\n <small translate>\n Display the data explorer in the navigator menu and on the group tabs.\n </small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Data explorer' | translate }}\"\n >\n <input\n name=\"dataExplorer\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.dataExplorer\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n @if ('ReportDashboardModule' | c8yPluginLoaded | async) {\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"c8y-reports\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Reports' | translate }}</p>\n <p>\n <small translate>Display a link to the Reports list in the navigator menu.</small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Reports' | translate }}\"\n >\n <input\n name=\"reports\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.reports\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n }\n @if ('exportsProviders' | c8yPluginLoaded | async) {\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"graph-report\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Exports' | translate }}</p>\n <p>\n <small translate>\n Display a link to the Exports list under the Configuration navigator menu.\n </small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Exports' | translate }}\"\n >\n <input\n name=\"exports\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.exports\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n }\n @if ('DatapointLibraryModule' | c8yPluginLoaded | async) {\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"c8y-data-points\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Data point library' | translate }}</p>\n <p>\n <small translate>\n Display a link to the Data point library under the Configuration navigator menu.\n </small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Data point library' | translate }}\"\n >\n <input\n name=\"dataPointLibrary\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.dataPointLibrary\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n }\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"c8y-smart-rules\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Global smart rules' | translate }}</p>\n <p>\n <small translate>\n Display a link to the Global smart rules under the Configuration navigator menu.\n </small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Global smart rules' | translate }}\"\n >\n <input\n name=\"globalSmartRules\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.globalSmartRules\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"c8y-group-open\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Subassets view' | translate }}</p>\n <p><small translate>Display the \"Subassets\" tab on groups.</small></p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Subassets view' | translate }}\"\n >\n <input\n name=\"subassets\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.subassets\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"c8y-smart-rules\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Smart rules for devices and groups' | translate }}</p>\n <p>\n <small translate>Display the smart rules tab on groups and devices.</small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Smart rules for devices and groups' | translate }}\"\n >\n <input\n name=\"smartRules\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.smartRules\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n @if ('DashboardManagerModule' | c8yPluginLoaded | async) {\n <c8y-li data-cy=\"feature-config--feature-list\">\n <c8y-li-icon icon=\"management1\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div>\n <p>{{ 'Dashboard manager' | translate }}</p>\n <p>\n <small translate>\n Display a link to the Dashboard manager under the Configuration navigator menu.\n </small>\n </p>\n </div>\n <label\n class=\"c8y-switch c8y-switch--inline m-l-auto\"\n title=\"{{ 'Dashboard manager' | translate }}\"\n >\n <input\n name=\"dashboardManager\"\n type=\"checkbox\"\n [(ngModel)]=\"config().features.dashboardManager\"\n (change)=\"updateFeatures()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n }\n</c8y-list-group>\n", dependencies: [{ kind: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable", "selectOnClick"], outputs: ["collapsedChange"] }, { kind: "component", type: ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: PluginLoadedPipe, name: "c8yPluginLoaded" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
336
336
|
}
|
|
337
337
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: FeatureConfigComponent, decorators: [{
|
|
338
338
|
type: Component,
|
|
@@ -366,7 +366,7 @@ class RootNodeConfigComponent {
|
|
|
366
366
|
}
|
|
367
367
|
}
|
|
368
368
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: RootNodeConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
369
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: RootNodeConfigComponent, isStandalone: true, selector: "c8y-root-node-config", inputs: { config: "config", disabled: "disabled" }, outputs: { onUpdate: "onUpdate" }, ngImport: i0, template: "<div class=\"col-sm-6\">\n <label\n title=\"{{ 'Current top level nodes' | translate }}\"\n translate\n >\n Current top level nodes\n </label>\n <c8y-list-group class=\"separator-top\">\n @if (config.rootNodes.length === 0) {\n <c8y-li>\n <c8y-ui-empty-state\n [icon]=\"'folder-open'\"\n [title]=\"'No top level nodes set.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </c8y-li>\n }\n @for (node of config.rootNodes; track node.id; let index = $index) {\n <c8y-li>\n @if (node.id | getGroupIcon | async; as icon) {\n <c8y-li-icon [icon]=\"icon\"></c8y-li-icon>\n } @else {\n <c8y-li-icon\n class=\"icon-spin loadingIndicator\"\n [icon]=\"'circle-o-notch'\"\n ></c8y-li-icon>\n }\n <div class=\"content-flex-30\">\n <div class=\"col-6\">\n <div\n class=\"text-truncate\"\n title=\"{{ node.name }}\"\n >\n {{ node.name }}\n </div>\n </div>\n <div class=\"col-4\">\n <label\n class=\"c8y-switch c8y-switch--inline d-flex\"\n title=\"{{ 'Hide devices' | translate }}\"\n >\n <input\n name=\"node.{{ index }}.hideDevices\"\n type=\"checkbox\"\n [(ngModel)]=\"node.hideDevices\"\n (change)=\"onUpdate.emit()\"\n [disabled]=\"disabled\"\n />\n <span></span>\n <small class=\"text-truncate a-s-center l-h-1\">{{ 'Hide devices' | translate }}</small>\n </label>\n </div>\n <div class=\"col-2 text-right\">\n <div class=\"d-flex fit-w\">\n <button\n class=\"btn-dot btn-dot--danger m-l-auto\"\n [attr.aria-label]=\"'Remove' | translate\"\n tooltip=\"{{ 'Remove' | translate }}\"\n type=\"button\"\n [disabled]=\"disabled\"\n [delay]=\"500\"\n (click)=\"removeNavigatorNode(node)\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n </div>\n </div>\n </c8y-li>\n }\n </c8y-list-group>\n</div>\n\n<div class=\"col-sm-6 col-md-5\">\n <label\n title=\"{{ 'Select top level nodes' | translate }}\"\n translate\n >\n Select top level nodes\n </label>\n <c8y-asset-selector\n class=\"border-top d-block\"\n name=\"rootNodes\"\n [config]=\"{ groupsOnly: true, multi: true, groupsSelectable: true }\"\n [(ngModel)]=\"config.rootNodes\"\n [disabled]=\"disabled\"\n (onSelected)=\"onUpdate.emit()\"\n ></c8y-asset-selector>\n</div>\n", dependencies: [{ kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "component", type: ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: AssetSelectorComponent, selector: "c8y-asset-selector", inputs: ["config", "active", "index", "asset", "selectedDevice", "selected", "rootNode", "selectedItems", "container", "isNodeSelectable", "disabled"], outputs: ["onSelected", "onClearSelected", "onRowSelected", "onLoad"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: GetGroupIconPipe, name: "getGroupIcon" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
369
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: RootNodeConfigComponent, isStandalone: true, selector: "c8y-root-node-config", inputs: { config: "config", disabled: "disabled" }, outputs: { onUpdate: "onUpdate" }, ngImport: i0, template: "<div class=\"col-sm-6\">\n <label\n title=\"{{ 'Current top level nodes' | translate }}\"\n translate\n >\n Current top level nodes\n </label>\n <c8y-list-group class=\"separator-top\">\n @if (config.rootNodes.length === 0) {\n <c8y-li>\n <c8y-ui-empty-state\n [icon]=\"'folder-open'\"\n [title]=\"'No top level nodes set.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </c8y-li>\n }\n @for (node of config.rootNodes; track node.id; let index = $index) {\n <c8y-li>\n @if (node.id | getGroupIcon | async; as icon) {\n <c8y-li-icon [icon]=\"icon\"></c8y-li-icon>\n } @else {\n <c8y-li-icon\n class=\"icon-spin loadingIndicator\"\n [icon]=\"'circle-o-notch'\"\n ></c8y-li-icon>\n }\n <div class=\"content-flex-30\">\n <div class=\"col-6\">\n <div\n class=\"text-truncate\"\n title=\"{{ node.name }}\"\n >\n {{ node.name }}\n </div>\n </div>\n <div class=\"col-4\">\n <label\n class=\"c8y-switch c8y-switch--inline d-flex\"\n title=\"{{ 'Hide devices' | translate }}\"\n >\n <input\n name=\"node.{{ index }}.hideDevices\"\n type=\"checkbox\"\n [(ngModel)]=\"node.hideDevices\"\n (change)=\"onUpdate.emit()\"\n [disabled]=\"disabled\"\n />\n <span></span>\n <small class=\"text-truncate a-s-center l-h-1\">{{ 'Hide devices' | translate }}</small>\n </label>\n </div>\n <div class=\"col-2 text-right\">\n <div class=\"d-flex fit-w\">\n <button\n class=\"btn-dot btn-dot--danger m-l-auto\"\n [attr.aria-label]=\"'Remove' | translate\"\n tooltip=\"{{ 'Remove' | translate }}\"\n type=\"button\"\n [disabled]=\"disabled\"\n [delay]=\"500\"\n (click)=\"removeNavigatorNode(node)\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n </div>\n </div>\n </c8y-li>\n }\n </c8y-list-group>\n</div>\n\n<div class=\"col-sm-6 col-md-5\">\n <label\n title=\"{{ 'Select top level nodes' | translate }}\"\n translate\n >\n Select top level nodes\n </label>\n <c8y-asset-selector\n class=\"border-top d-block\"\n name=\"rootNodes\"\n [config]=\"{ groupsOnly: true, multi: true, groupsSelectable: true }\"\n [(ngModel)]=\"config.rootNodes\"\n [disabled]=\"disabled\"\n (onSelected)=\"onUpdate.emit()\"\n ></c8y-asset-selector>\n</div>\n", dependencies: [{ kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable", "selectOnClick"], outputs: ["collapsedChange"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "component", type: ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: AssetSelectorComponent, selector: "c8y-asset-selector", inputs: ["config", "active", "index", "asset", "selectedDevice", "selected", "rootNode", "selectedItems", "container", "isNodeSelectable", "disabled"], outputs: ["onSelected", "onClearSelected", "onRowSelected", "onLoad"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: GetGroupIconPipe, name: "getGroupIcon" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
370
370
|
}
|
|
371
371
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: RootNodeConfigComponent, decorators: [{
|
|
372
372
|
type: Component,
|
|
@@ -441,7 +441,7 @@ class HomeDashboardConfigComponent {
|
|
|
441
441
|
return this.config.homeDashboardName === this.cockpitConfigService.getAppDashboardName();
|
|
442
442
|
}
|
|
443
443
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: HomeDashboardConfigComponent, deps: [{ token: CockpitConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
444
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: HomeDashboardConfigComponent, isStandalone: true, 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: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: ListItemRadioComponent, selector: "c8y-list-item-radio, c8y-li-radio", inputs: ["selected", "name", "disabled", "value"], outputs: ["onSelect"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
444
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: HomeDashboardConfigComponent, isStandalone: true, 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: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable", "selectOnClick"], outputs: ["collapsedChange"] }, { kind: "component", type: ListItemRadioComponent, selector: "c8y-list-item-radio, c8y-li-radio", inputs: ["selected", "name", "disabled", "value"], outputs: ["onSelect"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
445
445
|
}
|
|
446
446
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: HomeDashboardConfigComponent, decorators: [{
|
|
447
447
|
type: Component,
|
|
@@ -506,7 +506,7 @@ class CockpitConfigurationComponent {
|
|
|
506
506
|
this.rootNodeDisabled = false;
|
|
507
507
|
}
|
|
508
508
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: CockpitConfigurationComponent, deps: [{ token: CockpitConfigService }, { token: i1.AlertService }, { token: i1.AppStateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
509
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: CockpitConfigurationComponent, isStandalone: true, selector: "c8y-cockpit-configuration", ngImport: i0, template: "<c8y-title>{{ 'Application configuration' | translate }}</c8y-title>\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-tools'\"\n [label]=\"'Configuration' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-tools'\"\n [label]=\"'Application configuration' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n<div class=\"row\">\n <div class=\"col-lg-12 col-lg-max\">\n <form #configForm=\"ngForm\">\n <div class=\"card card--fullpage\">\n <div class=\"card-header separator\">\n <div class=\"card-title\">\n {{ config.appTitle || ('Cockpit' | translate) }} {{ 'configuration' | translate }}\n </div>\n </div>\n\n <div class=\"inner-scroll\">\n <div class=\"card-block p-t-0 p-b-0\">\n <fieldset class=\"row separator-bottom p-t-24 p-b-24\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 text-left-xs text-right-sm\">\n <div\n class=\"h4 text-medium d-inline-block m-r-4\"\n translate\n >\n Title, icon, and navigator collapse\n </div>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-8 p-l-16\">\n <div class=\"d-flex a-i-start gap-16\">\n <div class=\"form-group d-inline-block\">\n <label>{{ 'Icon' | translate }}</label>\n <c8y-icon-selector-wrapper\n [selectedIcon]=\"config?.icon?.class || 'c8y-cockpit'\"\n [iconSize]=\"24\"\n (onSelect)=\"iconSelectionChange($event)\"\n ></c8y-icon-selector-wrapper>\n </div>\n <div class=\"form-group flex-grow\">\n <label\n for=\"confAppTitle\"\n translate\n >\n Change application title\n </label>\n <input\n class=\"form-control\"\n id=\"confAppTitle\"\n placeholder=\"{{ 'e.g. Cockpit' | translate }} \"\n type=\"text\"\n maxlength=\"254\"\n [(ngModel)]=\"config.appTitle\"\n [ngModelOptions]=\"{ standalone: true }\"\n />\n </div>\n </div>\n\n <c8y-misc-config [config]=\"config\"></c8y-misc-config>\n </div>\n </fieldset>\n <fieldset class=\"row separator-bottom p-t-24 p-b-24\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 text-left-xs text-right-sm\">\n <div class=\"d-inline-flex m-b-16\">\n <div\n class=\"h4 text-medium m-r-4\"\n translate\n >\n Features\n </div>\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Define which are the enabled features in the current application.'\n | translate\n }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </div>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-8\">\n <c8y-feature-config\n [config]=\"config\"\n (onUpdate)=\"updateFeatures()\"\n ></c8y-feature-config>\n </div>\n </fieldset>\n <fieldset class=\"row separator-bottom p-t-24 p-b-24\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 text-left-xs text-right-sm\">\n <div class=\"d-inline-flex m-b-16\">\n <div\n class=\"h4 text-medium m-r-8\"\n translate\n >\n Top level nodes\n </div>\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Select which nodes to display in the top level of the navigator menu. By default, only Groups is shown.'\n | translate\n }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </div>\n </div>\n <div class=\"col-xs-12 col-sm-10 col-md-10\">\n <div class=\"row\">\n <c8y-root-node-config\n [config]=\"config\"\n (onUpdate)=\"updateRootNodes()\"\n [disabled]=\"rootNodeDisabled\"\n ></c8y-root-node-config>\n </div>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-8 col-sm-offset-3 col-md-offset-2\">\n <div class=\"row\">\n <c8y-li class=\"m-t-16\">\n <c8y-li-icon icon=\"c8y-group-open\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div class=\"p-r-16\">\n <p>{{ 'Show groups as top-level' | translate }}</p>\n <p>\n <small translate>\n Show all root groups as top-level nodes in the navigator menu (only the\n first 500 groups will be shown as top-level nodes).\n </small>\n </p>\n </div>\n <label class=\"c8y-switch c8y-switch--inline m-l-auto\">\n <input\n [attr.aria-label]=\"'Show groups as top-level' | translate\"\n name=\"showGroupsAsTopNode\"\n type=\"checkbox\"\n [(ngModel)]=\"config.showGroupsAsTopNode\"\n (change)=\"updateRootNodes()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n <c8y-li>\n <c8y-li-icon icon=\"c8y-enterprise\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div class=\"p-r-16\">\n <p>{{ 'Show assets as top-level' | translate }}</p>\n <p>\n <small translate>\n Show all root assets as top-level nodes in the navigator menu (only the\n first 500 assets will be shown as top-level nodes).\n </small>\n </p>\n </div>\n <label class=\"c8y-switch c8y-switch--inline m-l-auto\">\n <input\n [attr.aria-label]=\"'Show assets as top-level' | translate\"\n name=\"showAssetsAsTopNode\"\n type=\"checkbox\"\n [(ngModel)]=\"config.showAssetsAsTopNode\"\n (change)=\"updateRootNodes()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n </div>\n </div>\n </fieldset>\n\n @if ('CockpitDashboardModule' | c8yPluginLoaded | async) {\n <fieldset class=\"row separator-bottom p-t-24 p-b-24\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 text-left-xs text-right-sm\">\n <div class=\"d-inline-flex m-b-16\">\n <div\n class=\"h4 text-medium m-r-8\"\n translate\n >\n Home dashboard\n </div>\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'The homepage of this application. By default, it is a customizable dashboard displaying the most important alarms and shortcuts to frequently used features.'\n | translate\n }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </div>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-8\">\n <c8y-home-dashboard-config [config]=\"config\"></c8y-home-dashboard-config>\n </div>\n </fieldset>\n }\n\n @if ('htmlWidgetProviders' | c8yPluginLoaded | async) {\n <fieldset class=\"row p-t-24 p-b-24\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 text-left-xs text-right-sm\">\n <div class=\"d-inline-flex m-b-16\">\n <div\n class=\"h4 text-medium m-r-8\"\n translate\n >\n HTML widget\n </div>\n </div>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-8\">\n <c8y-li>\n <c8y-li-icon icon=\"code1\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div class=\"p-r-16\">\n <p>{{ 'Disable sanitization' | translate }}</p>\n <p>\n <small translate>\n By default, every unsecure HTML is removed from the HTML widget. You can\n disable this behavior in this application and allow unsecure HTML to be\n used.\n </small>\n </p>\n </div>\n <label class=\"c8y-switch c8y-switch--inline m-l-auto\">\n <input\n [attr.aria-label]=\"'Disable sanitization' | translate\"\n name=\"htmlWidgetDisableSanitization\"\n type=\"checkbox\"\n [(ngModel)]=\"config.htmlWidgetDisableSanitization\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n <c8y-li class=\"\">\n <c8y-li-icon icon=\"settings\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div class=\"p-r-16\">\n <p>{{ 'Enforce advanced mode' | translate }}</p>\n <p>\n <small translate>\n If set to true, the HTML widget configuration will always be opened in\n the advanced mode (web component mode).\n </small>\n </p>\n </div>\n <label class=\"c8y-switch c8y-switch--inline m-l-auto\">\n <input\n [attr.aria-label]=\"'Enforce advanced mode' | translate\"\n name=\"htmlWidgetDefaultToAdvancedMode\"\n type=\"checkbox\"\n [(ngModel)]=\"config.htmlWidgetDefaultToAdvancedMode\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n </div>\n </fieldset>\n }\n </div>\n </div>\n <div class=\"card-footer separator\">\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"submit\"\n [disabled]=\"!configForm.form.valid\"\n (click)=\"save()\"\n [actionName]=\"'cockpitConfigurationSaved'\"\n [actionData]=\"{ config: config }\"\n c8yProductExperience\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n </div>\n </form>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: IconSelectorWrapperComponent, selector: "c8y-icon-selector-wrapper", inputs: ["canRemoveIcon", "selectedIcon", "iconSize"], outputs: ["onSelect"] }, { kind: "component", type: MiscConfigComponent, selector: "c8y-misc-config", inputs: ["config"] }, { kind: "directive", type: 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: FeatureConfigComponent, selector: "c8y-feature-config", inputs: ["config"], outputs: ["onUpdate"] }, { kind: "component", type: RootNodeConfigComponent, selector: "c8y-root-node-config", inputs: ["config", "disabled"], outputs: ["onUpdate"] }, { kind: "component", type: HomeDashboardConfigComponent, selector: "c8y-home-dashboard-config", inputs: ["config"] }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "directive", type: ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: PluginLoadedPipe, name: "c8yPluginLoaded" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
509
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.19", type: CockpitConfigurationComponent, isStandalone: true, selector: "c8y-cockpit-configuration", ngImport: i0, template: "<c8y-title>{{ 'Application configuration' | translate }}</c8y-title>\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-tools'\"\n [label]=\"'Configuration' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-tools'\"\n [label]=\"'Application configuration' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n<div class=\"row\">\n <div class=\"col-lg-12 col-lg-max\">\n <form #configForm=\"ngForm\">\n <div class=\"card card--fullpage\">\n <div class=\"card-header separator\">\n <div class=\"card-title\">\n {{ config.appTitle || ('Cockpit' | translate) }} {{ 'configuration' | translate }}\n </div>\n </div>\n\n <div class=\"inner-scroll\">\n <div class=\"card-block p-t-0 p-b-0\">\n <fieldset class=\"row separator-bottom p-t-24 p-b-24\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 text-left-xs text-right-sm\">\n <div\n class=\"h4 text-medium d-inline-block m-r-4\"\n translate\n >\n Title, icon, and navigator collapse\n </div>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-8 p-l-16\">\n <div class=\"d-flex a-i-start gap-16\">\n <div class=\"form-group d-inline-block\">\n <label>{{ 'Icon' | translate }}</label>\n <c8y-icon-selector-wrapper\n [selectedIcon]=\"config?.icon?.class || 'c8y-cockpit'\"\n [iconSize]=\"24\"\n (onSelect)=\"iconSelectionChange($event)\"\n ></c8y-icon-selector-wrapper>\n </div>\n <div class=\"form-group flex-grow\">\n <label\n for=\"confAppTitle\"\n translate\n >\n Change application title\n </label>\n <input\n class=\"form-control\"\n id=\"confAppTitle\"\n placeholder=\"{{ 'e.g. Cockpit' | translate }} \"\n type=\"text\"\n maxlength=\"254\"\n [(ngModel)]=\"config.appTitle\"\n [ngModelOptions]=\"{ standalone: true }\"\n />\n </div>\n </div>\n\n <c8y-misc-config [config]=\"config\"></c8y-misc-config>\n </div>\n </fieldset>\n <fieldset class=\"row separator-bottom p-t-24 p-b-24\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 text-left-xs text-right-sm\">\n <div class=\"d-inline-flex m-b-16\">\n <div\n class=\"h4 text-medium m-r-4\"\n translate\n >\n Features\n </div>\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Define which are the enabled features in the current application.'\n | translate\n }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </div>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-8\">\n <c8y-feature-config\n [config]=\"config\"\n (onUpdate)=\"updateFeatures()\"\n ></c8y-feature-config>\n </div>\n </fieldset>\n <fieldset class=\"row separator-bottom p-t-24 p-b-24\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 text-left-xs text-right-sm\">\n <div class=\"d-inline-flex m-b-16\">\n <div\n class=\"h4 text-medium m-r-8\"\n translate\n >\n Top level nodes\n </div>\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Select which nodes to display in the top level of the navigator menu. By default, only Groups is shown.'\n | translate\n }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </div>\n </div>\n <div class=\"col-xs-12 col-sm-10 col-md-10\">\n <div class=\"row\">\n <c8y-root-node-config\n [config]=\"config\"\n (onUpdate)=\"updateRootNodes()\"\n [disabled]=\"rootNodeDisabled\"\n ></c8y-root-node-config>\n </div>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-8 col-sm-offset-3 col-md-offset-2\">\n <div class=\"row\">\n <c8y-li class=\"m-t-16\">\n <c8y-li-icon icon=\"c8y-group-open\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div class=\"p-r-16\">\n <p>{{ 'Show groups as top-level' | translate }}</p>\n <p>\n <small translate>\n Show all root groups as top-level nodes in the navigator menu (only the\n first 500 groups will be shown as top-level nodes).\n </small>\n </p>\n </div>\n <label class=\"c8y-switch c8y-switch--inline m-l-auto\">\n <input\n [attr.aria-label]=\"'Show groups as top-level' | translate\"\n name=\"showGroupsAsTopNode\"\n type=\"checkbox\"\n [(ngModel)]=\"config.showGroupsAsTopNode\"\n (change)=\"updateRootNodes()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n <c8y-li>\n <c8y-li-icon icon=\"c8y-enterprise\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div class=\"p-r-16\">\n <p>{{ 'Show assets as top-level' | translate }}</p>\n <p>\n <small translate>\n Show all root assets as top-level nodes in the navigator menu (only the\n first 500 assets will be shown as top-level nodes).\n </small>\n </p>\n </div>\n <label class=\"c8y-switch c8y-switch--inline m-l-auto\">\n <input\n [attr.aria-label]=\"'Show assets as top-level' | translate\"\n name=\"showAssetsAsTopNode\"\n type=\"checkbox\"\n [(ngModel)]=\"config.showAssetsAsTopNode\"\n (change)=\"updateRootNodes()\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n </div>\n </div>\n </fieldset>\n\n @if ('CockpitDashboardModule' | c8yPluginLoaded | async) {\n <fieldset class=\"row separator-bottom p-t-24 p-b-24\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 text-left-xs text-right-sm\">\n <div class=\"d-inline-flex m-b-16\">\n <div\n class=\"h4 text-medium m-r-8\"\n translate\n >\n Home dashboard\n </div>\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'The homepage of this application. By default, it is a customizable dashboard displaying the most important alarms and shortcuts to frequently used features.'\n | translate\n }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </div>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-8\">\n <c8y-home-dashboard-config [config]=\"config\"></c8y-home-dashboard-config>\n </div>\n </fieldset>\n }\n\n @if ('htmlWidgetProviders' | c8yPluginLoaded | async) {\n <fieldset class=\"row p-t-24 p-b-24\">\n <div class=\"col-xs-12 col-sm-3 col-md-2 text-left-xs text-right-sm\">\n <div class=\"d-inline-flex m-b-16\">\n <div\n class=\"h4 text-medium m-r-8\"\n translate\n >\n HTML widget\n </div>\n </div>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-8\">\n <c8y-li>\n <c8y-li-icon icon=\"code1\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div class=\"p-r-16\">\n <p>{{ 'Disable sanitization' | translate }}</p>\n <p>\n <small translate>\n By default, every unsecure HTML is removed from the HTML widget. You can\n disable this behavior in this application and allow unsecure HTML to be\n used.\n </small>\n </p>\n </div>\n <label class=\"c8y-switch c8y-switch--inline m-l-auto\">\n <input\n [attr.aria-label]=\"'Disable sanitization' | translate\"\n name=\"htmlWidgetDisableSanitization\"\n type=\"checkbox\"\n [(ngModel)]=\"config.htmlWidgetDisableSanitization\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n <c8y-li class=\"\">\n <c8y-li-icon icon=\"settings\"></c8y-li-icon>\n <div class=\"d-flex a-i-center\">\n <div class=\"p-r-16\">\n <p>{{ 'Enforce advanced mode' | translate }}</p>\n <p>\n <small translate>\n If set to true, the HTML widget configuration will always be opened in\n the advanced mode (web component mode).\n </small>\n </p>\n </div>\n <label class=\"c8y-switch c8y-switch--inline m-l-auto\">\n <input\n [attr.aria-label]=\"'Enforce advanced mode' | translate\"\n name=\"htmlWidgetDefaultToAdvancedMode\"\n type=\"checkbox\"\n [(ngModel)]=\"config.htmlWidgetDefaultToAdvancedMode\"\n />\n <span></span>\n </label>\n </div>\n </c8y-li>\n </div>\n </fieldset>\n }\n </div>\n </div>\n <div class=\"card-footer separator\">\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"submit\"\n [disabled]=\"!configForm.form.valid\"\n (click)=\"save()\"\n [actionName]=\"'cockpitConfigurationSaved'\"\n [actionData]=\"{ config: config }\"\n c8yProductExperience\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n </div>\n </form>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: IconSelectorWrapperComponent, selector: "c8y-icon-selector-wrapper", inputs: ["canRemoveIcon", "selectedIcon", "iconSize"], outputs: ["onSelect"] }, { kind: "component", type: MiscConfigComponent, selector: "c8y-misc-config", inputs: ["config"] }, { kind: "directive", type: 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: FeatureConfigComponent, selector: "c8y-feature-config", inputs: ["config"], outputs: ["onUpdate"] }, { kind: "component", type: RootNodeConfigComponent, selector: "c8y-root-node-config", inputs: ["config", "disabled"], outputs: ["onUpdate"] }, { kind: "component", type: HomeDashboardConfigComponent, selector: "c8y-home-dashboard-config", inputs: ["config"] }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable", "selectOnClick"], outputs: ["collapsedChange"] }, { kind: "component", type: ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "directive", type: ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: PluginLoadedPipe, name: "c8yPluginLoaded" }], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
510
510
|
}
|
|
511
511
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: CockpitConfigurationComponent, decorators: [{
|
|
512
512
|
type: Component,
|