@c8y/ngx-components 1022.10.1 → 1022.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/actility-device-registration/actility-device-registration-button.component.d.ts +1 -1
- package/actility-device-registration/actility-device-registration-button.component.d.ts.map +1 -1
- package/actility-device-registration/actility-device-registration.component.d.ts +1 -1
- package/actility-device-registration/actility-device-registration.component.d.ts.map +1 -1
- package/actility-device-registration/actility-device-registration.module.d.ts +4 -4
- package/actility-device-registration/actility-device-registration.module.d.ts.map +1 -1
- package/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.d.ts +1 -1
- package/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.d.ts.map +1 -1
- package/alarm-event-selector/alarm-event-selection-list/alarm-event-selection-list.component.d.ts +25 -1
- package/alarm-event-selector/alarm-event-selection-list/alarm-event-selection-list.component.d.ts.map +1 -1
- package/alarm-event-selector/alarm-event-selector-list-item/alarm-event-selector-list-item.component.d.ts +1 -1
- package/alarm-event-selector/alarm-event-selector-list-item/alarm-event-selector-list-item.component.d.ts.map +1 -1
- package/alarm-event-selector/alarm-event-selector-modal/alarm-event-selector-modal.component.d.ts +1 -1
- package/alarm-event-selector/alarm-event-selector-modal/alarm-event-selector-modal.component.d.ts.map +1 -1
- package/alarm-event-selector/alarm-event-selector.component.d.ts +1 -1
- package/alarm-event-selector/alarm-event-selector.component.d.ts.map +1 -1
- package/alarm-event-selector/alarm-event-selector.module.d.ts +15 -15
- package/alarm-event-selector/alarm-event-selector.module.d.ts.map +1 -1
- package/alarm-event-selector/custom-alarm-event-form/custom-alarm-event-form.component.d.ts +1 -1
- package/alarm-event-selector/custom-alarm-event-form/custom-alarm-event-form.component.d.ts.map +1 -1
- package/alarm-event-selector/pipes/includes-alarm.pipe.d.ts +1 -1
- package/alarm-event-selector/pipes/includes-alarm.pipe.d.ts.map +1 -1
- package/alarms/alarm-details.component.d.ts +1 -1
- package/alarms/alarm-details.component.d.ts.map +1 -1
- package/alarms/alarm-empty.component.d.ts +1 -1
- package/alarms/alarm-empty.component.d.ts.map +1 -1
- package/alarms/alarm-info.component.d.ts +1 -1
- package/alarms/alarm-info.component.d.ts.map +1 -1
- package/alarms/alarm-severities-to-title.pipe.d.ts +1 -1
- package/alarms/alarm-severities-to-title.pipe.d.ts.map +1 -1
- package/alarms/alarm-severity-to-label.pipe.d.ts +1 -1
- package/alarms/alarm-severity-to-label.pipe.d.ts.map +1 -1
- package/alarms/alarm-status-to-icon.pipe.d.ts +1 -1
- package/alarms/alarm-status-to-icon.pipe.d.ts.map +1 -1
- package/alarms/alarm-status-to-label.pipe.d.ts +1 -1
- package/alarms/alarm-status-to-label.pipe.d.ts.map +1 -1
- package/alarms/alarms-date-filter.component.d.ts +1 -1
- package/alarms/alarms-date-filter.component.d.ts.map +1 -1
- package/alarms/alarms-filter.component.d.ts +1 -1
- package/alarms/alarms-filter.component.d.ts.map +1 -1
- package/alarms/alarms-icon.component.d.ts +1 -1
- package/alarms/alarms-icon.component.d.ts.map +1 -1
- package/alarms/alarms-interval-refresh.component.d.ts +1 -1
- package/alarms/alarms-interval-refresh.component.d.ts.map +1 -1
- package/alarms/alarms-list.component.d.ts +1 -1
- package/alarms/alarms-list.component.d.ts.map +1 -1
- package/alarms/alarms-type-filter.component.d.ts +1 -1
- package/alarms/alarms-type-filter.component.d.ts.map +1 -1
- package/alarms/alarms.component.d.ts +1 -1
- package/alarms/alarms.component.d.ts.map +1 -1
- package/alarms/alarms.module.d.ts +27 -27
- package/alarms/alarms.module.d.ts.map +1 -1
- package/alarms/audit-changes-message.pipe.d.ts +1 -1
- package/alarms/audit-changes-message.pipe.d.ts.map +1 -1
- package/api/api.service.d.ts +8 -0
- package/api/api.service.d.ts.map +1 -1
- package/app-logs/app-logs-auto-refresh.component.d.ts +1 -1
- package/app-logs/app-logs-auto-refresh.component.d.ts.map +1 -1
- package/app-logs/app-logs-auto-refresh.module.d.ts +4 -4
- package/app-logs/app-logs-auto-refresh.module.d.ts.map +1 -1
- package/assets-navigator/asset-selector/asset-selector-node.component.d.ts +1 -1
- package/assets-navigator/asset-selector/asset-selector-node.component.d.ts.map +1 -1
- package/assets-navigator/asset-selector/asset-selector.component.d.ts +12 -1
- package/assets-navigator/asset-selector/asset-selector.component.d.ts.map +1 -1
- package/assets-navigator/asset-selector/asset-selector.module.d.ts +8 -8
- package/assets-navigator/asset-selector/asset-selector.module.d.ts.map +1 -1
- package/assets-navigator/asset-selector/miller-view.component.d.ts +1 -1
- package/assets-navigator/asset-selector/miller-view.component.d.ts.map +1 -1
- package/auth-configuration/basic-settings/auth-configuration.component.d.ts +1 -1
- package/auth-configuration/basic-settings/auth-configuration.component.d.ts.map +1 -1
- package/auth-configuration/basic-settings/basic-auth-settings.component.d.ts +1 -1
- package/auth-configuration/basic-settings/basic-auth-settings.component.d.ts.map +1 -1
- package/auth-configuration/basic-settings/basic-settings.module.d.ts +8 -8
- package/auth-configuration/basic-settings/basic-settings.module.d.ts.map +1 -1
- package/auth-configuration/basic-settings/login-settings.component.d.ts +2 -2
- package/auth-configuration/basic-settings/login-settings.component.d.ts.map +1 -1
- package/auth-configuration/basic-settings/session-configuration.component.d.ts +1 -1
- package/auth-configuration/basic-settings/session-configuration.component.d.ts.map +1 -1
- package/auth-configuration/basic-settings/tfa-settings.component.d.ts +1 -1
- package/auth-configuration/basic-settings/tfa-settings.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/sso-configuration.component.d.ts +1 -1
- package/auth-configuration/sso-configuration/sso-configuration.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/sso-configuration.module.d.ts +24 -24
- package/auth-configuration/sso-configuration/sso-configuration.module.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.d.ts +1 -1
- package/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/access-mapping/child-predicates.component.d.ts +1 -1
- package/auth-configuration/sso-configuration/template-parts/access-mapping/child-predicates.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/access-mapping/dynamic-access-mapping.component.d.ts +1 -1
- package/auth-configuration/sso-configuration/template-parts/access-mapping/dynamic-access-mapping.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-mapping.component.d.ts +1 -1
- package/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-mapping.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-modal.component.d.ts +1 -1
- package/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-modal.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/basic-configuration.component.d.ts +1 -1
- package/auth-configuration/sso-configuration/template-parts/basic-configuration.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/external-token-config.component.d.ts +1 -1
- package/auth-configuration/sso-configuration/template-parts/external-token-config.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/logout-configuration.component.d.ts +1 -1
- package/auth-configuration/sso-configuration/template-parts/logout-configuration.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/request-configuration.component.d.ts +1 -1
- package/auth-configuration/sso-configuration/template-parts/request-configuration.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts +1 -1
- package/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.d.ts +1 -1
- package/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/user-id-configuration.component.d.ts +1 -1
- package/auth-configuration/sso-configuration/template-parts/user-id-configuration.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/templates/aad-template.component.d.ts +1 -1
- package/auth-configuration/sso-configuration/templates/aad-template.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/templates/custom-template.component.d.ts +1 -1
- package/auth-configuration/sso-configuration/templates/custom-template.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/templates/key-cloak-template.component.d.ts +1 -1
- package/auth-configuration/sso-configuration/templates/key-cloak-template.component.d.ts.map +1 -1
- package/bookmarks/bookmarks.component.d.ts +1 -1
- package/bookmarks/bookmarks.component.d.ts.map +1 -1
- package/bookmarks/bookmarks.module.d.ts +7 -7
- package/bookmarks/bookmarks.module.d.ts.map +1 -1
- package/bookmarks/edit-bookmarks/edit-bookmarks.component.d.ts +1 -1
- package/bookmarks/edit-bookmarks/edit-bookmarks.component.d.ts.map +1 -1
- package/child-devices/child-devices.component.d.ts +1 -1
- package/child-devices/child-devices.component.d.ts.map +1 -1
- package/child-devices/child-devices.module.d.ts +5 -5
- package/child-devices/child-devices.module.d.ts.map +1 -1
- package/cockpit-config/cockpit-config.module.d.ts +17 -17
- package/cockpit-config/cockpit-config.module.d.ts.map +1 -1
- package/cockpit-config/cockpit-configuration.component.d.ts +1 -1
- package/cockpit-config/cockpit-configuration.component.d.ts.map +1 -1
- package/cockpit-config/feature-config.component.d.ts +1 -1
- package/cockpit-config/feature-config.component.d.ts.map +1 -1
- package/cockpit-config/home-dashboard-config.component.d.ts +1 -1
- package/cockpit-config/home-dashboard-config.component.d.ts.map +1 -1
- package/cockpit-config/misc-config.component.d.ts +1 -1
- package/cockpit-config/misc-config.component.d.ts.map +1 -1
- package/cockpit-config/root-node-config.component.d.ts +1 -1
- package/cockpit-config/root-node-config.component.d.ts.map +1 -1
- package/cockpit-config/setup/cockpit-setup-step1.component.d.ts +1 -1
- package/cockpit-config/setup/cockpit-setup-step1.component.d.ts.map +1 -1
- package/cockpit-config/setup/cockpit-setup-step2.component.d.ts +1 -1
- package/cockpit-config/setup/cockpit-setup-step2.component.d.ts.map +1 -1
- package/cockpit-config/setup/cockpit-setup-step3.component.d.ts +1 -1
- package/cockpit-config/setup/cockpit-setup-step3.component.d.ts.map +1 -1
- package/cockpit-config/setup/cockpit-setup-step4.component.d.ts +1 -1
- package/cockpit-config/setup/cockpit-setup-step4.component.d.ts.map +1 -1
- package/cockpit-config/setup/cockpit-setup-stepper-buttons.component.d.ts +1 -1
- package/cockpit-config/setup/cockpit-setup-stepper-buttons.component.d.ts.map +1 -1
- package/context-dashboard/add-dashboard.component.d.ts +1 -1
- package/context-dashboard/add-dashboard.component.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.component.d.ts +2 -1
- package/context-dashboard/context-dashboard.component.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.model.d.ts +0 -1
- package/context-dashboard/context-dashboard.model.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.module.d.ts +26 -19
- package/context-dashboard/context-dashboard.module.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.service.d.ts +6 -1
- package/context-dashboard/context-dashboard.service.d.ts.map +1 -1
- package/context-dashboard/dashboard-detail.component.d.ts +2 -2
- package/context-dashboard/dashboard-detail.component.d.ts.map +1 -1
- package/context-dashboard/device-info-dashboard/device-info-dashboard.component.d.ts +1 -1
- package/context-dashboard/device-info-dashboard/device-info-dashboard.component.d.ts.map +1 -1
- package/context-dashboard/device-info-dashboard/device-info-dashboard.module.d.ts +5 -5
- package/context-dashboard/device-info-dashboard/device-info-dashboard.module.d.ts.map +1 -1
- package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.component.d.ts +1 -1
- package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.component.d.ts.map +1 -1
- package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.module.d.ts +5 -5
- package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.module.d.ts.map +1 -1
- package/context-dashboard/paste-dashboard-action.component.d.ts +1 -1
- package/context-dashboard/paste-dashboard-action.component.d.ts.map +1 -1
- package/context-dashboard/widget-config.component.d.ts +1 -1
- package/context-dashboard/widget-config.component.d.ts.map +1 -1
- package/context-dashboard/widget-config.service.d.ts +1 -1
- package/core/alert/alert.service.d.ts +14 -5
- package/core/alert/alert.service.d.ts.map +1 -1
- package/core/bottom-drawer/bottom-drawer.component.d.ts +3 -0
- package/core/bottom-drawer/bottom-drawer.component.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb.module.d.ts +3 -3
- package/core/common/ApplicationOptions.d.ts +14 -12
- package/core/common/ApplicationOptions.d.ts.map +1 -1
- package/core/common/date.pipe.d.ts +1 -1
- package/core/common/forOf.directive.d.ts +16 -16
- package/core/common/forOf.directive.d.ts.map +1 -1
- package/core/common/humanize-app-name.pipe.d.ts +7 -0
- package/core/common/humanize-app-name.pipe.d.ts.map +1 -1
- package/core/common/humanize.pipe.d.ts +7 -0
- package/core/common/humanize.pipe.d.ts.map +1 -1
- package/core/common/icon.directive.d.ts +19 -0
- package/core/common/icon.directive.d.ts.map +1 -1
- package/core/common/markdown-to-html.pipe.d.ts +8 -0
- package/core/common/markdown-to-html.pipe.d.ts.map +1 -1
- package/core/common/options.service.d.ts +5 -5
- package/core/common/outlet.directive.d.ts +4 -6
- package/core/common/outlet.directive.d.ts.map +1 -1
- package/core/common/permissions.service.d.ts +12 -12
- package/core/common/service-registry.service.d.ts +2 -1
- package/core/common/service-registry.service.d.ts.map +1 -1
- package/core/common/user-name-initials.pipe.d.ts +7 -0
- package/core/common/user-name-initials.pipe.d.ts.map +1 -1
- package/core/common/user-preferences/user-preferences.service.d.ts +1 -1
- package/core/countdown-interval/countdown-interval.component.d.ts +7 -0
- package/core/countdown-interval/countdown-interval.component.d.ts.map +1 -1
- package/core/date-time-picker/date-time-picker.component.d.ts +20 -0
- package/core/date-time-picker/date-time-picker.component.d.ts.map +1 -1
- package/core/device-status/device-status.component.d.ts +3 -0
- package/core/device-status/device-status.component.d.ts.map +1 -1
- package/core/header/header.model.d.ts +3 -2
- package/core/header/header.model.d.ts.map +1 -1
- package/core/header/title/title.component.d.ts +2 -0
- package/core/header/title/title.component.d.ts.map +1 -1
- package/core/i18n/c8y-translate.directive.d.ts +2 -2
- package/core/list-display-switch/list-display-switch.component.d.ts +9 -0
- package/core/list-display-switch/list-display-switch.component.d.ts.map +1 -1
- package/core/preview-feature/preview-feature.service.d.ts +1 -0
- package/core/preview-feature/preview-feature.service.d.ts.map +1 -1
- package/core/range-display/range-display.component.d.ts +11 -0
- package/core/range-display/range-display.component.d.ts.map +1 -1
- package/core/realtime/realtime.service.d.ts +4 -4
- package/dashboard-manager/dashboard-manager.module.d.ts +8 -8
- package/dashboard-manager/dashboard-manager.module.d.ts.map +1 -1
- package/dashboard-manager/type-dashboard-target-assets-grid/type-dashboard-target-assets-grid.component.d.ts +1 -1
- package/dashboard-manager/type-dashboard-target-assets-grid/type-dashboard-target-assets-grid.component.d.ts.map +1 -1
- package/dashboard-manager/type-dashboard-target-assets-modal/type-dashboard-target-assets-modal.component.d.ts +1 -1
- package/dashboard-manager/type-dashboard-target-assets-modal/type-dashboard-target-assets-modal.component.d.ts.map +1 -1
- package/dashboard-manager/type-dashboards-list/type-dashboards-list.component.d.ts +1 -1
- package/dashboard-manager/type-dashboards-list/type-dashboards-list.component.d.ts.map +1 -1
- package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.d.ts +1 -1
- package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.d.ts.map +1 -1
- package/datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.d.ts +10 -1
- package/datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.d.ts.map +1 -1
- package/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.d.ts +1 -1
- package/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.d.ts.map +1 -1
- package/datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.d.ts +1 -1
- package/datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.d.ts.map +1 -1
- package/datapoint-selector/datapoint-selector.component.d.ts +1 -1
- package/datapoint-selector/datapoint-selector.component.d.ts.map +1 -1
- package/datapoint-selector/datapoint-selector.module.d.ts +18 -18
- package/datapoint-selector/datapoint-selector.module.d.ts.map +1 -1
- package/datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.d.ts +1 -1
- package/datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.d.ts.map +1 -1
- package/datapoint-selector/pipes/datapoint-label.pipe.d.ts +1 -1
- package/datapoint-selector/pipes/datapoint-label.pipe.d.ts.map +1 -1
- package/datapoint-selector/pipes/filter-datapoints.pipe.d.ts +1 -1
- package/datapoint-selector/pipes/filter-datapoints.pipe.d.ts.map +1 -1
- package/datapoint-selector/pipes/includes-datapoint.pipe.d.ts +1 -1
- package/datapoint-selector/pipes/includes-datapoint.pipe.d.ts.map +1 -1
- package/datapoints-export-selector/datapoints-export-selector.component.d.ts +7 -0
- package/datapoints-export-selector/datapoints-export-selector.component.d.ts.map +1 -1
- package/default-subscriptions/default-subscriptions.component.d.ts +1 -1
- package/default-subscriptions/default-subscriptions.component.d.ts.map +1 -1
- package/default-subscriptions/default-subscriptions.module.d.ts +4 -4
- package/default-subscriptions/default-subscriptions.module.d.ts.map +1 -1
- package/device-grid/columns/alarms.cell-renderer.component.d.ts +1 -1
- package/device-grid/columns/alarms.cell-renderer.component.d.ts.map +1 -1
- package/device-grid/columns/alarms.header-cell-renderer.component.d.ts +1 -1
- package/device-grid/columns/alarms.header-cell-renderer.component.d.ts.map +1 -1
- package/device-grid/columns/group.cell-renderer.component.d.ts +1 -1
- package/device-grid/columns/group.cell-renderer.component.d.ts.map +1 -1
- package/device-grid/columns/group.filtering-form-renderer.component.d.ts +1 -1
- package/device-grid/columns/group.filtering-form-renderer.component.d.ts.map +1 -1
- package/device-grid/columns/model.cell-renderer.component.d.ts +1 -1
- package/device-grid/columns/model.cell-renderer.component.d.ts.map +1 -1
- package/device-grid/columns/name.cell-renderer.component.d.ts +1 -1
- package/device-grid/columns/name.cell-renderer.component.d.ts.map +1 -1
- package/device-grid/columns/registration-date.cell-renderer.component.d.ts +1 -1
- package/device-grid/columns/registration-date.cell-renderer.component.d.ts.map +1 -1
- package/device-grid/columns/serial-number.cell-renderer.component.d.ts +1 -1
- package/device-grid/columns/serial-number.cell-renderer.component.d.ts.map +1 -1
- package/device-grid/columns/status.cell-renderer.component.d.ts +1 -1
- package/device-grid/columns/status.cell-renderer.component.d.ts.map +1 -1
- package/device-grid/device-grid.component.d.ts +1 -1
- package/device-grid/device-grid.component.d.ts.map +1 -1
- package/device-grid/device-grid.module.d.ts +15 -15
- package/device-grid/device-grid.module.d.ts.map +1 -1
- package/device-list/add-smart-group.component.d.ts +1 -1
- package/device-list/add-smart-group.component.d.ts.map +1 -1
- package/device-list/device-list.component.d.ts +1 -1
- package/device-list/device-list.component.d.ts.map +1 -1
- package/device-list/device-list.module.d.ts +8 -8
- package/device-list/device-list.module.d.ts.map +1 -1
- package/device-protocols/device-protocols.module.d.ts +1 -1
- package/device-protocols/device-type-detail.component.d.ts +1 -1
- package/device-protocols/device-type-detail.component.d.ts.map +1 -1
- package/device-protocols/device-type-detail.directive.d.ts +1 -1
- package/device-protocols/device-type-detail.directive.d.ts.map +1 -1
- package/device-provisioned-certificates/device-provisioned-certificates.module.d.ts +7 -7
- package/device-provisioned-certificates/device-provisioned-certificates.module.d.ts.map +1 -1
- package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts +1 -1
- package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts.map +1 -1
- package/ecosystem/activity-log/activity-log.component.d.ts +1 -1
- package/ecosystem/activity-log/activity-log.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/appState.pipe.d.ts +1 -1
- package/ecosystem/application-plugins/appState.pipe.d.ts.map +1 -1
- package/ecosystem/application-plugins/application-plugin-readme.component.d.ts +1 -1
- package/ecosystem/application-plugins/application-plugin-readme.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/application-plugins.component.d.ts +1 -1
- package/ecosystem/application-plugins/application-plugins.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/application-plugins.module.d.ts +14 -14
- package/ecosystem/application-plugins/application-plugins.module.d.ts.map +1 -1
- package/ecosystem/application-plugins/apps-to-update-remotes-select.component.d.ts +2 -2
- package/ecosystem/application-plugins/apps-to-update-remotes-select.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/install-plugin.component.d.ts +1 -1
- package/ecosystem/application-plugins/install-plugin.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/label-cell-renderer.component.d.ts +1 -1
- package/ecosystem/application-plugins/label-cell-renderer.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.d.ts +1 -1
- package/ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/orphaned-status-cell-renderer.component.d.ts +1 -1
- package/ecosystem/application-plugins/orphaned-status-cell-renderer.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/plugin-list-item.component.d.ts +1 -1
- package/ecosystem/application-plugins/plugin-list-item.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/plugin-list.component.d.ts +1 -1
- package/ecosystem/application-plugins/plugin-list.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.d.ts +1 -1
- package/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.d.ts.map +1 -1
- package/ecosystem/application-properties/application-properties.component.d.ts +1 -1
- package/ecosystem/application-properties/application-properties.component.d.ts.map +1 -1
- package/ecosystem/application-properties/subscription-modal/subscription-modal.component.d.ts +1 -1
- package/ecosystem/application-properties/subscription-modal/subscription-modal.component.d.ts.map +1 -1
- package/ecosystem/application-properties/update-application-modal/update-application-modal.component.d.ts +1 -1
- package/ecosystem/application-properties/update-application-modal/update-application-modal.component.d.ts.map +1 -1
- package/ecosystem/applications/add-external-applicaiton/add-external-application.component.d.ts +1 -1
- package/ecosystem/applications/add-external-applicaiton/add-external-application.component.d.ts.map +1 -1
- package/ecosystem/applications/add-web-application/add-web-application.component.d.ts +1 -1
- package/ecosystem/applications/add-web-application/add-web-application.component.d.ts.map +1 -1
- package/ecosystem/applications/application-list/application-list.component.d.ts +1 -1
- package/ecosystem/applications/application-list/application-list.component.d.ts.map +1 -1
- package/ecosystem/applications/install-from-package/install-from-package.component.d.ts +2 -3
- package/ecosystem/applications/install-from-package/install-from-package.component.d.ts.map +1 -1
- package/ecosystem/archived-confirm/archived-confirm-modal.component.d.ts +1 -1
- package/ecosystem/archived-confirm/archived-confirm-modal.component.d.ts.map +1 -1
- package/ecosystem/archived-confirm/archived-confirm.module.d.ts +4 -4
- package/ecosystem/archived-confirm/archived-confirm.module.d.ts.map +1 -1
- package/ecosystem/ecosystem.module.d.ts +34 -34
- package/ecosystem/ecosystem.module.d.ts.map +1 -1
- package/ecosystem/features/feature-list.component.d.ts +1 -1
- package/ecosystem/features/feature-list.component.d.ts.map +1 -1
- package/ecosystem/license-confirm/license-confirm-modal.component.d.ts +1 -1
- package/ecosystem/license-confirm/license-confirm-modal.component.d.ts.map +1 -1
- package/ecosystem/license-confirm/license-confirm.module.d.ts +5 -5
- package/ecosystem/license-confirm/license-confirm.module.d.ts.map +1 -1
- package/ecosystem/license-confirm/license-view.component.d.ts +1 -1
- package/ecosystem/license-confirm/license-view.component.d.ts.map +1 -1
- package/ecosystem/microservices/add-microservice.component.d.ts +1 -1
- package/ecosystem/microservices/add-microservice.component.d.ts.map +1 -1
- package/ecosystem/microservices/microservice-list.component.d.ts +1 -1
- package/ecosystem/microservices/microservice-list.component.d.ts.map +1 -1
- package/ecosystem/packages/add-package.component.d.ts +1 -1
- package/ecosystem/packages/add-package.component.d.ts.map +1 -1
- package/ecosystem/packages/deploy-application/deploy-application.component.d.ts +1 -1
- package/ecosystem/packages/deploy-application/deploy-application.component.d.ts.map +1 -1
- package/ecosystem/packages/package-details/package-details.component.d.ts +1 -1
- package/ecosystem/packages/package-details/package-details.component.d.ts.map +1 -1
- package/ecosystem/packages/package-list/packages-list.component.d.ts +1 -1
- package/ecosystem/packages/package-list/packages-list.component.d.ts.map +1 -1
- package/ecosystem/packages/package-versions/package-contents/contents-apps/contents-apps.component.d.ts +1 -1
- package/ecosystem/packages/package-versions/package-contents/contents-apps/contents-apps.component.d.ts.map +1 -1
- package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts +1 -1
- package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts.map +1 -1
- package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts +1 -1
- package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts.map +1 -1
- package/ecosystem/packages/package-versions/package-versions-list/package-versions-list.component.d.ts +1 -1
- package/ecosystem/packages/package-versions/package-versions-list/package-versions-list.component.d.ts.map +1 -1
- package/ecosystem/packages/package-versions/packages-versions.component.d.ts +1 -1
- package/ecosystem/packages/package-versions/packages-versions.component.d.ts.map +1 -1
- package/ecosystem/shared/add-application.component.d.ts +1 -1
- package/ecosystem/shared/add-application.component.d.ts.map +1 -1
- package/ecosystem/shared/application-card.component.d.ts +1 -1
- package/ecosystem/shared/application-card.component.d.ts.map +1 -1
- package/ecosystem/shared/application-properties-form.component.d.ts +1 -1
- package/ecosystem/shared/application-properties-form.component.d.ts.map +1 -1
- package/ecosystem/shared/archived-filter/archived-filter.component.d.ts +1 -1
- package/ecosystem/shared/archived-filter/archived-filter.component.d.ts.map +1 -1
- package/ecosystem/shared/duplicate-application/duplicate-application-list/duplicate-application-list.component.d.ts +1 -1
- package/ecosystem/shared/duplicate-application/duplicate-application-list/duplicate-application-list.component.d.ts.map +1 -1
- package/ecosystem/shared/duplicate-application/duplicate-application-properties/duplicate-application-properties.component.d.ts +2 -2
- package/ecosystem/shared/duplicate-application/duplicate-application-properties/duplicate-application-properties.component.d.ts.map +1 -1
- package/ecosystem/shared/duplicate-application/duplicate-application.component.d.ts +1 -1
- package/ecosystem/shared/duplicate-application/duplicate-application.component.d.ts.map +1 -1
- package/ecosystem/shared/list-filters/list-filters.component.d.ts +1 -1
- package/ecosystem/shared/list-filters/list-filters.component.d.ts.map +1 -1
- package/ecosystem/shared/package-version-select/package-version-select.component.d.ts +1 -1
- package/ecosystem/shared/package-version-select/package-version-select.component.d.ts.map +1 -1
- package/ecosystem/shared/shared-ecosystem.module.d.ts +20 -20
- package/ecosystem/shared/shared-ecosystem.module.d.ts.map +1 -1
- package/ecosystem/shared/translate-package-label.pipe.d.ts +1 -1
- package/ecosystem/shared/translate-package-label.pipe.d.ts.map +1 -1
- package/ecosystem/shared/upload-archive.component.d.ts +1 -1
- package/ecosystem/shared/upload-archive.component.d.ts.map +1 -1
- package/fesm2022/c8y-ngx-components-actility-device-registration.mjs +36 -12
- package/fesm2022/c8y-ngx-components-actility-device-registration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +195 -107
- package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-alarms.mjs +236 -96
- package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-api.mjs +8 -0
- package/fesm2022/c8y-ngx-components-api.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-app-logs.mjs +6 -8
- package/fesm2022/c8y-ngx-components-app-logs.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-assets-navigator.mjs +74 -26
- package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs +578 -366
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-bookmarks.mjs +36 -17
- package/fesm2022/c8y-ngx-components-bookmarks.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-child-devices.mjs +7 -9
- package/fesm2022/c8y-ngx-components-child-devices.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-cockpit-config.mjs +138 -67
- package/fesm2022/c8y-ngx-components-cockpit-config.mjs.map +1 -1
- package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-B7m2lsIe.mjs → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C-JLbcn5.mjs} +3 -3
- package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-B7m2lsIe.mjs.map → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C-JLbcn5.mjs.map} +1 -1
- package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-BCG_pjJz.mjs → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RXvOcs04.mjs} +5 -5
- package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-BCG_pjJz.mjs.map → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RXvOcs04.mjs.map} +1 -1
- package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-DjCdFkJw.mjs → c8y-ngx-components-context-dashboard-dashboard-version-history.component-DmPIJGXO.mjs} +3 -3
- package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-DjCdFkJw.mjs.map → c8y-ngx-components-context-dashboard-dashboard-version-history.component-DmPIJGXO.mjs.map} +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +170 -94
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-dashboard-manager.mjs +44 -31
- package/fesm2022/c8y-ngx-components-dashboard-manager.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +132 -66
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-default-subscriptions.mjs +32 -16
- package/fesm2022/c8y-ngx-components-default-subscriptions.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-grid.mjs +50 -45
- package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-list.mjs +50 -25
- package/fesm2022/c8y-ngx-components-device-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-protocols.mjs +6 -9
- package/fesm2022/c8y-ngx-components-device-protocols.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +36 -8
- package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +155 -72
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs +13 -7
- package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs +43 -12
- package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +179 -80
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem.mjs +353 -1316
- package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-file-preview.mjs +17 -8
- package/fesm2022/c8y-ngx-components-file-preview.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-files-repository.mjs +55 -22
- package/fesm2022/c8y-ngx-components-files-repository.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-icon-selector.mjs +46 -28
- package/fesm2022/c8y-ngx-components-icon-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-location.mjs +28 -15
- package/fesm2022/c8y-ngx-components-location.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs +36 -12
- package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-map.mjs +260 -28
- package/fesm2022/c8y-ngx-components-map.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-platform-configuration.mjs +24 -13
- package/fesm2022/c8y-ngx-components-platform-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +133 -26
- package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-register-device.mjs +314 -249
- package/fesm2022/c8y-ngx-components-register-device.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-report-dashboard.mjs +41 -17
- package/fesm2022/c8y-ngx-components-report-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-reports.mjs +61 -21
- package/fesm2022/c8y-ngx-components-reports.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-search.mjs +34 -21
- package/fesm2022/c8y-ngx-components-search.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs +43 -19
- package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-sub-assets.mjs +207 -72
- package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-tenants.mjs +96 -39
- package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +173 -53
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-upgrade.mjs +19 -10
- package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-user-roles.mjs +19 -14
- package/fesm2022/c8y-ngx-components-user-roles.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +76 -50
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs +15 -8
- package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +166 -80
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/file-preview/file-preview.component.d.ts +1 -1
- package/file-preview/file-preview.component.d.ts.map +1 -1
- package/file-preview/file-preview.module.d.ts +3 -3
- package/file-preview/file-preview.module.d.ts.map +1 -1
- package/files-repository/files-repository-upload.component.d.ts +1 -1
- package/files-repository/files-repository-upload.component.d.ts.map +1 -1
- package/files-repository/files-repository.component.d.ts +1 -1
- package/files-repository/files-repository.component.d.ts.map +1 -1
- package/files-repository/files-repository.module.d.ts +6 -6
- package/files-repository/files-repository.module.d.ts.map +1 -1
- package/icon-selector/icon-name.pipe.d.ts +1 -1
- package/icon-selector/icon-name.pipe.d.ts.map +1 -1
- package/icon-selector/icon-selector-modal/icon-selector-modal.component.d.ts +1 -1
- package/icon-selector/icon-selector-modal/icon-selector-modal.component.d.ts.map +1 -1
- package/icon-selector/icon-selector-wrapper/icon-selector-wrapper.component.d.ts +1 -1
- package/icon-selector/icon-selector-wrapper/icon-selector-wrapper.component.d.ts.map +1 -1
- package/icon-selector/icon-selector.component.d.ts +1 -1
- package/icon-selector/icon-selector.component.d.ts.map +1 -1
- package/icon-selector/icon-selector.module.d.ts +8 -8
- package/icon-selector/icon-selector.module.d.ts.map +1 -1
- package/locales/de.po +23 -2
- package/locales/es.po +23 -2
- package/locales/fr.po +23 -2
- package/locales/ja_JP.po +23 -2
- package/locales/ko.po +23 -2
- package/locales/locales.pot +22 -1
- package/locales/nl.po +23 -2
- package/locales/pl.po +23 -2
- package/locales/pt_BR.po +23 -2
- package/locales/zh_CN.po +23 -2
- package/locales/zh_TW.po +23 -2
- package/location/add-location.component.d.ts +1 -1
- package/location/add-location.component.d.ts.map +1 -1
- package/location/location.component.d.ts +1 -1
- package/location/location.component.d.ts.map +1 -1
- package/location/location.module.d.ts +6 -6
- package/location/location.module.d.ts.map +1 -1
- package/loriot-device-registration/loriot-device-registration-button.component.d.ts +1 -1
- package/loriot-device-registration/loriot-device-registration-button.component.d.ts.map +1 -1
- package/loriot-device-registration/loriot-device-registration.component.d.ts +1 -1
- package/loriot-device-registration/loriot-device-registration.component.d.ts.map +1 -1
- package/loriot-device-registration/loriot-device-registration.module.d.ts +4 -4
- package/loriot-device-registration/loriot-device-registration.module.d.ts.map +1 -1
- package/map/cluster-map.component.d.ts +61 -1
- package/map/cluster-map.component.d.ts.map +1 -1
- package/map/map-popup.directive.d.ts +1 -1
- package/map/map-popup.directive.d.ts.map +1 -1
- package/map/map-status.component.d.ts +86 -3
- package/map/map-status.component.d.ts.map +1 -1
- package/map/map.component.d.ts +100 -5
- package/map/map.component.d.ts.map +1 -1
- package/map/map.model.d.ts +98 -4
- package/map/map.model.d.ts.map +1 -1
- package/map/map.module.d.ts +9 -9
- package/map/map.module.d.ts.map +1 -1
- package/package.json +1 -1
- package/platform-configuration/platform-configuration-form.component.d.ts +1 -1
- package/platform-configuration/platform-configuration-form.component.d.ts.map +1 -1
- package/platform-configuration/platform-configuration.module.d.ts +4 -4
- package/platform-configuration/platform-configuration.module.d.ts.map +1 -1
- package/protocol-lpwan/lpwan-protocol.module.d.ts +4 -4
- package/protocol-lpwan/lpwan-protocol.module.d.ts.map +1 -1
- package/protocol-lpwan/lpwan-set-connections.component.d.ts +1 -1
- package/protocol-lpwan/lpwan-set-connections.component.d.ts.map +1 -1
- package/protocol-lpwan/lpwan-set-device-protocol.component.d.ts +1 -1
- package/protocol-lpwan/lpwan-set-device-protocol.component.d.ts.map +1 -1
- package/protocol-lpwan/multiple-lns-connectors/actility-multiple-lns-connector.component.d.ts +1 -1
- package/protocol-lpwan/multiple-lns-connectors/actility-multiple-lns-connector.component.d.ts.map +1 -1
- package/protocol-lpwan/multiple-lns-connectors/connection-info-with-download-csv.component.d.ts +1 -1
- package/protocol-lpwan/multiple-lns-connectors/connection-info-with-download-csv.component.d.ts.map +1 -1
- package/protocol-lpwan/multiple-lns-connectors/loriot/loriot-multiple-lns-connector.component.d.ts +1 -1
- package/protocol-lpwan/multiple-lns-connectors/loriot/loriot-multiple-lns-connector.component.d.ts.map +1 -1
- package/protocol-lpwan/multiple-lns-connectors/multiple-lns-connectors.module.d.ts +8 -8
- package/protocol-lpwan/multiple-lns-connectors/multiple-lns-connectors.module.d.ts.map +1 -1
- package/protocol-lpwan/multiple-lns-connectors/no-connections-found.component.d.ts +1 -1
- package/protocol-lpwan/multiple-lns-connectors/sigfox-multiple-lns-connector.component.d.ts +1 -1
- package/protocol-lpwan/multiple-lns-connectors/sigfox-multiple-lns-connector.component.d.ts.map +1 -1
- package/register-device/bulk/bulk-device-registration-button.component.d.ts +1 -1
- package/register-device/bulk/bulk-device-registration-button.component.d.ts.map +1 -1
- package/register-device/bulk/bulk-device-registration-modal.component.d.ts +1 -1
- package/register-device/bulk/bulk-device-registration-modal.component.d.ts.map +1 -1
- package/register-device/device-registration-view.component.d.ts +1 -1
- package/register-device/device-registration-view.component.d.ts.map +1 -1
- package/register-device/dropdown/register-device-dropdown.component.d.ts +1 -1
- package/register-device/dropdown/register-device-dropdown.component.d.ts.map +1 -1
- package/register-device/extensible/bulk/extensible-bulk-device-registration-button.component.d.ts +1 -1
- package/register-device/extensible/bulk/extensible-bulk-device-registration-button.component.d.ts.map +1 -1
- package/register-device/extensible/bulk/extensible-bulk-device-registration-modal.component.d.ts +1 -1
- package/register-device/extensible/bulk/extensible-bulk-device-registration-modal.component.d.ts.map +1 -1
- package/register-device/extensible/single/extensible-device-registration-button.component.d.ts +1 -1
- package/register-device/extensible/single/extensible-device-registration-button.component.d.ts.map +1 -1
- package/register-device/extensible/single/extensible-device-registration-modal.component.d.ts +1 -1
- package/register-device/extensible/single/extensible-device-registration-modal.component.d.ts.map +1 -1
- package/register-device/extensible/single/extensible-device-registration-stepper.component.d.ts +1 -1
- package/register-device/extensible/single/extensible-device-registration-stepper.component.d.ts.map +1 -1
- package/register-device/general/general-device-registration-button.component.d.ts +1 -1
- package/register-device/general/general-device-registration-button.component.d.ts.map +1 -1
- package/register-device/general/general-device-registration.component.d.ts +3 -6
- package/register-device/general/general-device-registration.component.d.ts.map +1 -1
- package/register-device/register-device.module.d.ts +16 -16
- package/register-device/register-device.module.d.ts.map +1 -1
- package/report-dashboard/report-dashboard-list.component.d.ts +1 -1
- package/report-dashboard/report-dashboard-list.component.d.ts.map +1 -1
- package/report-dashboard/report-dashboard.module.d.ts +7 -7
- package/reports/cron.component.d.ts +1 -1
- package/reports/cron.component.d.ts.map +1 -1
- package/reports/export-schedules.component.d.ts +2 -3
- package/reports/export-schedules.component.d.ts.map +1 -1
- package/reports/reports.module.d.ts +7 -7
- package/reports/reports.module.d.ts.map +1 -1
- package/reports/schedule-modal.component.d.ts +2 -3
- package/reports/schedule-modal.component.d.ts.map +1 -1
- package/search/search-action.component.d.ts +1 -1
- package/search/search-action.component.d.ts.map +1 -1
- package/search/search-custom-filters.component.d.ts +1 -1
- package/search/search-custom-filters.component.d.ts.map +1 -1
- package/search/search-grid.component.d.ts +1 -1
- package/search/search-grid.component.d.ts.map +1 -1
- package/search/search-results.component.d.ts +1 -1
- package/search/search-results.component.d.ts.map +1 -1
- package/search/search.module.d.ts +8 -8
- package/search/search.module.d.ts.map +1 -1
- package/sigfox-device-registration/sigfox-device-registration-button.component.d.ts +1 -1
- package/sigfox-device-registration/sigfox-device-registration-button.component.d.ts.map +1 -1
- package/sigfox-device-registration/sigfox-device-registration.component.d.ts +1 -1
- package/sigfox-device-registration/sigfox-device-registration.component.d.ts.map +1 -1
- package/sigfox-device-registration/sigfox-device-registration.module.d.ts +4 -4
- package/sigfox-device-registration/sigfox-device-registration.module.d.ts.map +1 -1
- package/sub-assets/add-group/add-group.component.d.ts +1 -1
- package/sub-assets/add-group/add-group.component.d.ts.map +1 -1
- package/sub-assets/add-group/add-group.module.d.ts +7 -7
- package/sub-assets/asset-properties-item.component.d.ts +1 -1
- package/sub-assets/asset-properties-item.component.d.ts.map +1 -1
- package/sub-assets/asset-properties.component.d.ts +1 -1
- package/sub-assets/asset-properties.component.d.ts.map +1 -1
- package/sub-assets/assign-devices/assign-child-devices.component.d.ts +2 -3
- package/sub-assets/assign-devices/assign-child-devices.component.d.ts.map +1 -1
- package/sub-assets/assign-devices/assign-devices.component.d.ts +1 -1
- package/sub-assets/assign-devices/assign-devices.component.d.ts.map +1 -1
- package/sub-assets/delete-assets-modal/delete-assets-modal.component.d.ts +1 -1
- package/sub-assets/delete-assets-modal/delete-assets-modal.component.d.ts.map +1 -1
- package/sub-assets/group-info.component.d.ts +1 -1
- package/sub-assets/group-info.component.d.ts.map +1 -1
- package/sub-assets/groups.component.d.ts +1 -1
- package/sub-assets/groups.component.d.ts.map +1 -1
- package/sub-assets/location/asset-location.component.d.ts +1 -1
- package/sub-assets/location/asset-location.component.d.ts.map +1 -1
- package/sub-assets/sub-assets-grid.component.d.ts +1 -1
- package/sub-assets/sub-assets-grid.component.d.ts.map +1 -1
- package/sub-assets/sub-assets-grids.module.d.ts +9 -9
- package/sub-assets/sub-assets-grids.module.d.ts.map +1 -1
- package/sub-assets/sub-assets.component.d.ts +1 -1
- package/sub-assets/sub-assets.component.d.ts.map +1 -1
- package/sub-assets/sub-assets.module.d.ts +18 -18
- package/sub-assets/sub-assets.module.d.ts.map +1 -1
- package/sub-assets/unassign-assets-modal/unassign-modal.component.d.ts +1 -1
- package/sub-assets/unassign-assets-modal/unassign-modal.component.d.ts.map +1 -1
- package/tenants/tenant-form/tenant-form.component.d.ts +1 -1
- package/tenants/tenant-form/tenant-form.component.d.ts.map +1 -1
- package/tenants/tenant-list/creation-time.filtering-form-renderer.component.d.ts +2 -3
- package/tenants/tenant-list/creation-time.filtering-form-renderer.component.d.ts.map +1 -1
- package/tenants/tenant-list/status.filtering-form-renderer.component.d.ts +1 -1
- package/tenants/tenant-list/status.filtering-form-renderer.component.d.ts.map +1 -1
- package/tenants/tenant-list/tenant-list.component.d.ts +1 -1
- package/tenants/tenant-list/tenant-list.component.d.ts.map +1 -1
- package/tenants/tenants.module.d.ts +9 -9
- package/tenants/tenants.module.d.ts.map +1 -1
- package/trusted-certificates/crl/crl-check-settings.component.d.ts +1 -1
- package/trusted-certificates/crl/crl-check-settings.component.d.ts.map +1 -1
- package/trusted-certificates/crl/crl-settings.component.d.ts +1 -1
- package/trusted-certificates/crl/crl-settings.component.d.ts.map +1 -1
- package/trusted-certificates/crl/crl-settings.module.d.ts +8 -8
- package/trusted-certificates/crl/crl-settings.module.d.ts.map +1 -1
- package/trusted-certificates/list/add-trusted-certificate.component.d.ts +4 -3
- package/trusted-certificates/list/add-trusted-certificate.component.d.ts.map +1 -1
- package/trusted-certificates/list/trusted-certificate-list.component.d.ts +11 -2
- package/trusted-certificates/list/trusted-certificate-list.component.d.ts.map +1 -1
- package/trusted-certificates/list/trusted-certificate-list.module.d.ts +10 -10
- package/trusted-certificates/list/trusted-certificate-list.module.d.ts.map +1 -1
- package/trusted-certificates/list/trusted-certificate.model.d.ts +2 -0
- package/trusted-certificates/list/trusted-certificate.model.d.ts.map +1 -1
- package/trusted-certificates/pattern-messages.data.d.ts +6 -0
- package/trusted-certificates/pattern-messages.data.d.ts.map +1 -1
- package/upgrade/dashboard/dashboard-upgrade.module.d.ts +6 -6
- package/upgrade/dashboard/dashboard-upgrade.module.d.ts.map +1 -1
- package/upgrade/dashboard/device-selector.component.d.ts +1 -1
- package/upgrade/dashboard/device-selector.component.d.ts.map +1 -1
- package/upgrade/dashboard/widget.component.d.ts +1 -1
- package/upgrade/dashboard/widget.component.d.ts.map +1 -1
- package/user-roles/inventory-role-selector/inventory-role-selector.component.d.ts +1 -1
- package/user-roles/inventory-role-selector/inventory-role-selector.component.d.ts.map +1 -1
- package/user-roles/roles-asset-tree/roles-asset-tree.component.d.ts +1 -1
- package/user-roles/roles-asset-tree/roles-asset-tree.component.d.ts.map +1 -1
- package/user-roles/user-roles.module.d.ts +4 -4
- package/user-roles/user-roles.module.d.ts.map +1 -1
- package/widgets/implementations/alarms/alarm-list-widget-config/alarm-list-widget-config.component.d.ts +1 -1
- package/widgets/implementations/alarms/alarm-list-widget-config/alarm-list-widget-config.component.d.ts.map +1 -1
- package/widgets/implementations/alarms/alarm-list-widget-view/alarm-list-widget.component.d.ts +1 -1
- package/widgets/implementations/alarms/alarm-list-widget-view/alarm-list-widget.component.d.ts.map +1 -1
- package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts +1 -1
- package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts.map +1 -1
- package/widgets/implementations/alarms/alarms-widget.module.d.ts +13 -13
- package/widgets/implementations/alarms/alarms-widget.module.d.ts.map +1 -1
- package/widgets/implementations/alarms/severity-icon.pipe.d.ts +1 -1
- package/widgets/implementations/alarms/severity-icon.pipe.d.ts.map +1 -1
- package/widgets/implementations/alarms/sorting-description-popover-message.pipe.d.ts +1 -1
- package/widgets/implementations/alarms/sorting-description-popover-message.pipe.d.ts.map +1 -1
- package/widgets/implementations/device-management-welcome/device-management-welcome-widget.module.d.ts +4 -4
- package/widgets/implementations/device-management-welcome/device-management-welcome-widget.module.d.ts.map +1 -1
- package/widgets/implementations/device-management-welcome/welcome.component.d.ts +1 -1
- package/widgets/implementations/device-management-welcome/welcome.component.d.ts.map +1 -1
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, Component, inject, InjectionToken, EventEmitter, Output, Input, TemplateRef, ViewChild, Optional, Inject, HostListener, HostBinding, NgModule } from '@angular/core';
|
|
3
3
|
import * as i2 from '@c8y/ngx-components';
|
|
4
|
-
import { gettext, Permissions, ContextRouteService, Status, NavigatorNode, NEW_DASHBOARD_ROUTER_STATE_PROP, getActivatedRoute, ViewContext, memoize, hookGeneric, ExtensionPointForPlugins, fromTriggerOnce, getInjectedHooks, stateToFactory, ListGroupModule, C8yComponentOutlet,
|
|
4
|
+
import { gettext, IconDirective, C8yTranslatePipe, Permissions, ContextRouteService, Status, NavigatorNode, NEW_DASHBOARD_ROUTER_STATE_PROP, getActivatedRoute, ViewContext, TabsOutletComponent, memoize, hookGeneric, ExtensionPointForPlugins, fromTriggerOnce, getInjectedHooks, stateToFactory, ListGroupModule, C8yComponentOutlet, AlertService, DynamicComponentModule, DynamicComponentComponent, sortByPriority, isPromise, CoreModule, C8yTranslateDirective, HighlightComponent, EmptyStateComponent, FormGroupComponent, RequiredInputPlaceholderDirective, ProductExperienceDirective, DashboardChildChange, CopyDashboardDisabledReason, TitleComponent, ActionBarItemComponent, HelpComponent, WidgetsDashboardComponent, DatePipe, hookRoute, hookTab, hookNavigator } from '@c8y/ngx-components';
|
|
5
5
|
import * as i1 from '@angular/router';
|
|
6
|
-
import { ActivatedRoute, RouterModule } from '@angular/router';
|
|
6
|
+
import { RouterOutlet, ActivatedRoute, RouterModule } from '@angular/router';
|
|
7
7
|
import { of, Subject, from, combineLatest, map as map$1, timer, BehaviorSubject, tap as tap$1, withLatestFrom, mergeMap as mergeMap$1, shareReplay as shareReplay$1, merge, scan, debounceTime, isObservable, iif } from 'rxjs';
|
|
8
8
|
import { __decorate, __metadata } from 'tslib';
|
|
9
9
|
import * as i2$1 from '@ngx-translate/core';
|
|
10
|
-
import { assign, pick, cloneDeep, some, keys, keyBy, has, set, reduce, forEach, get, isEqual, clone, omit, sortBy, escapeRegExp, findIndex, kebabCase, every } from 'lodash-es';
|
|
10
|
+
import { assign, pick, isEmpty, cloneDeep, some, keys, keyBy, has, set, reduce, forEach, get, isEqual, clone, omit, sortBy, escapeRegExp, findIndex, kebabCase, every } from 'lodash-es';
|
|
11
11
|
import * as i1$1 from '@c8y/client';
|
|
12
12
|
import { QueriesUtil, InventoryService } from '@c8y/client';
|
|
13
13
|
import { tap, map, catchError, throwIfEmpty, filter, mergeMap, toArray, first, take, distinctUntilChanged, takeUntil, shareReplay, switchMap } from 'rxjs/operators';
|
|
14
|
-
import * as
|
|
14
|
+
import * as i5 from '@angular/forms';
|
|
15
15
|
import { Validators, NgForm, ControlContainer, FormsModule } from '@angular/forms';
|
|
16
16
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
17
|
-
import * as
|
|
18
|
-
import {
|
|
19
|
-
import * as
|
|
20
|
-
import {
|
|
17
|
+
import * as i2$3 from 'ngx-bootstrap/collapse';
|
|
18
|
+
import { CollapseDirective, CollapseModule } from 'ngx-bootstrap/collapse';
|
|
19
|
+
import * as i3 from '@angular/common';
|
|
20
|
+
import { NgIf, NgTemplateOutlet, CommonModule, AsyncPipe, NgClass, NgFor, NgForOf } from '@angular/common';
|
|
21
21
|
import * as i1$2 from '@c8y/ngx-components/assets-navigator';
|
|
22
22
|
import { AssetSelectorModule } from '@c8y/ngx-components/assets-navigator';
|
|
23
23
|
import * as i2$2 from 'ngx-bootstrap/popover';
|
|
24
|
-
import { PopoverModule } from 'ngx-bootstrap/popover';
|
|
24
|
+
import { PopoverModule, PopoverDirective } from 'ngx-bootstrap/popover';
|
|
25
25
|
import { IconSelectorModule } from '@c8y/ngx-components/icon-selector';
|
|
26
26
|
import * as i1$3 from 'ngx-bootstrap/dropdown';
|
|
27
27
|
import { BsDropdownModule } from 'ngx-bootstrap/dropdown';
|
|
@@ -80,11 +80,11 @@ class AddDashboardComponent {
|
|
|
80
80
|
this.tabsService.refresh();
|
|
81
81
|
}
|
|
82
82
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AddDashboardComponent, deps: [{ token: i2.TabsService }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
83
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: AddDashboardComponent, isStandalone:
|
|
83
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: AddDashboardComponent, isStandalone: true, selector: "[c8y-add-dashboard]", host: { classAttribute: "d-flex a-i-stretch sticky-right" }, ngImport: i0, template: "<div class=\"d-flex a-i-stretch m-b-8 m-t-8 p-l-8 hidden-xs\">\n <button\n class=\"btn btn-default btn-sm p-l-8 p-r-8 fit-h p-b-0 p-t-0 d-flex a-i-center\"\n title=\"{{ 'Add dashboard' | translate }}\"\n type=\"button\"\n (click)=\"addDashboard()\"\n >\n <i\n class=\"icon-20 m-r-4\"\n c8yIcon=\"add-circle-outline\"\n ></i>\n <span>{{ 'Add dashboard' | translate }}</span>\n </button>\n <div class=\"p-r-sm-40\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
|
|
84
84
|
}
|
|
85
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AddDashboardComponent, decorators: [{
|
|
86
86
|
type: Component,
|
|
87
|
-
args: [{ selector: '[c8y-add-dashboard]', host: { class: 'd-flex a-i-stretch sticky-right' },
|
|
87
|
+
args: [{ selector: '[c8y-add-dashboard]', host: { class: 'd-flex a-i-stretch sticky-right' }, imports: [IconDirective, C8yTranslatePipe], template: "<div class=\"d-flex a-i-stretch m-b-8 m-t-8 p-l-8 hidden-xs\">\n <button\n class=\"btn btn-default btn-sm p-l-8 p-r-8 fit-h p-b-0 p-t-0 d-flex a-i-center\"\n title=\"{{ 'Add dashboard' | translate }}\"\n type=\"button\"\n (click)=\"addDashboard()\"\n >\n <i\n class=\"icon-20 m-r-4\"\n c8yIcon=\"add-circle-outline\"\n ></i>\n <span>{{ 'Add dashboard' | translate }}</span>\n </button>\n <div class=\"p-r-sm-40\"></div>\n</div>\n" }]
|
|
88
88
|
}], ctorParameters: () => [{ type: i2.TabsService }, { type: i1.Router }] });
|
|
89
89
|
|
|
90
90
|
class AddDashboardFactory {
|
|
@@ -320,7 +320,7 @@ class ContextDashboardService {
|
|
|
320
320
|
dashboard.name = dashboard.c8y_Dashboard.name;
|
|
321
321
|
const { data } = dashboardType === ContextDashboardType.Group ||
|
|
322
322
|
dashboardType === ContextDashboardType.Device ||
|
|
323
|
-
(context && dashboardType === ContextDashboardType.Named)
|
|
323
|
+
(context?.contextData?.id && dashboardType === ContextDashboardType.Named)
|
|
324
324
|
? await this.inventory.childAdditionsCreate(dashboard, context?.contextData.id || '')
|
|
325
325
|
: await this.inventory.create(dashboard);
|
|
326
326
|
return data;
|
|
@@ -376,7 +376,7 @@ class ContextDashboardService {
|
|
|
376
376
|
if (!dashboard.c8y_DashboardHistory) {
|
|
377
377
|
dashboard.c8y_DashboardHistory = [];
|
|
378
378
|
}
|
|
379
|
-
if (
|
|
379
|
+
if (isEmpty(dashboardCfg?.historyDescription)) {
|
|
380
380
|
dashboardCfg.historyDescription = { changeType: 'create' };
|
|
381
381
|
}
|
|
382
382
|
dashboardCfg.created = new Date().toISOString();
|
|
@@ -400,12 +400,29 @@ class ContextDashboardService {
|
|
|
400
400
|
this.dashboardTabs$ = this.getTabs$(route.data.contextData, types, route?.parent?.data);
|
|
401
401
|
return this.dashboardTabs$;
|
|
402
402
|
}
|
|
403
|
+
getDashboard(name, defaultWidgets) {
|
|
404
|
+
const children = this.mapWidgets(defaultWidgets);
|
|
405
|
+
return this.getDashboard$(name, [ContextDashboardType.Named]).pipe(throwIfEmpty(), catchError(() => {
|
|
406
|
+
if (!this.hasPermissionsToCopyDashboard()) {
|
|
407
|
+
this.alert.warning(gettext('You are viewing a read-only dashboard because you don’t have the necessary permissions to modify it.'));
|
|
408
|
+
}
|
|
409
|
+
return of(this.getDefaultDashboard({
|
|
410
|
+
name,
|
|
411
|
+
children,
|
|
412
|
+
widgetClasses: { 'dashboard-theme-light': true, 'panel-title-regular': true }
|
|
413
|
+
}));
|
|
414
|
+
}));
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* @deprecated Use `getDashboard()` instead.
|
|
418
|
+
* This function will be removed in the future.
|
|
419
|
+
*/
|
|
403
420
|
getNamedDashboardOrCreate(name, defaultWidgets, context) {
|
|
404
421
|
const children = this.mapWidgets(defaultWidgets);
|
|
405
422
|
return this.getDashboard$(name, [ContextDashboardType.Named]).pipe(throwIfEmpty(), catchError(() => {
|
|
406
423
|
if (!this.hasPermissionsToCopyDashboard()) {
|
|
407
424
|
this.alert.warning(gettext('You are viewing a read-only dashboard because you don’t have the necessary permissions to modify it.'));
|
|
408
|
-
return of(this.
|
|
425
|
+
return of(this.getDefaultDashboard({
|
|
409
426
|
name,
|
|
410
427
|
children,
|
|
411
428
|
widgetClasses: { 'dashboard-theme-light': true, 'panel-title-regular': true }
|
|
@@ -452,6 +469,14 @@ class ContextDashboardService {
|
|
|
452
469
|
})
|
|
453
470
|
});
|
|
454
471
|
}
|
|
472
|
+
else if (/^\/(device|group)\/[0-9]+\/device-info$/.test(this.router.url)) {
|
|
473
|
+
this.router.navigate(['.'], {
|
|
474
|
+
relativeTo: getActivatedRoute(this.router),
|
|
475
|
+
...(isNewDashboard && {
|
|
476
|
+
state: { [NEW_DASHBOARD_ROUTER_STATE_PROP]: true }
|
|
477
|
+
})
|
|
478
|
+
});
|
|
479
|
+
}
|
|
455
480
|
else {
|
|
456
481
|
this.router.navigate(['..', this.DASHBOARD_ROUTE_PATH, dashboardMO.id], {
|
|
457
482
|
relativeTo: getActivatedRoute(this.router),
|
|
@@ -940,13 +965,12 @@ class ContextDashboardService {
|
|
|
940
965
|
}
|
|
941
966
|
return null;
|
|
942
967
|
}
|
|
943
|
-
|
|
968
|
+
getDefaultDashboard(dashboardCfg) {
|
|
944
969
|
return {
|
|
945
970
|
c8y_Dashboard: {
|
|
946
971
|
...dashboardCfg,
|
|
947
|
-
name: dashboardCfg.name || '
|
|
948
|
-
|
|
949
|
-
description: gettext('This is a temporary, non-editable dashboard displayed due to insufficient permissions.')
|
|
972
|
+
name: dashboardCfg.name || 'Default Dashboard',
|
|
973
|
+
description: gettext('This is a default dashboard.')
|
|
950
974
|
},
|
|
951
975
|
[`c8y_Dashboard!name!${dashboardCfg.name}`]: {}
|
|
952
976
|
};
|
|
@@ -1101,12 +1125,12 @@ class DashboardDetailService {
|
|
|
1101
1125
|
children: dashboard?.children || {}
|
|
1102
1126
|
});
|
|
1103
1127
|
}
|
|
1104
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DashboardDetailService, deps: [{ token:
|
|
1128
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DashboardDetailService, deps: [{ token: i5.FormBuilder }, { token: i2$1.TranslateService }, { token: i2.TabsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1105
1129
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DashboardDetailService }); }
|
|
1106
1130
|
}
|
|
1107
1131
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DashboardDetailService, decorators: [{
|
|
1108
1132
|
type: Injectable
|
|
1109
|
-
}], ctorParameters: () => [{ type:
|
|
1133
|
+
}], ctorParameters: () => [{ type: i5.FormBuilder }, { type: i2$1.TranslateService }, { type: i2.TabsService }] });
|
|
1110
1134
|
|
|
1111
1135
|
class DashboardDetailComponent {
|
|
1112
1136
|
constructor(contextDashboardService, translateService, contextRoute, activatedRoute, tabsService, router, inventory, route, dashboardDetailService, appState, groupService, modal, gainsightService) {
|
|
@@ -1297,7 +1321,7 @@ class DashboardDetailComponent {
|
|
|
1297
1321
|
}
|
|
1298
1322
|
}
|
|
1299
1323
|
async createNewDashboard() {
|
|
1300
|
-
const mo = await this.contextDashboardService.create(this.dashboard, this.currentContext);
|
|
1324
|
+
const mo = await this.contextDashboardService.create(this.dashboard, this.currentContext, this.isNamedDashboard ? this.dashboard.name : undefined);
|
|
1301
1325
|
await this.onCreateGSEvent(mo);
|
|
1302
1326
|
await this.clearNamedOutletPath();
|
|
1303
1327
|
this.cleanupAfterDetailsClose();
|
|
@@ -1326,7 +1350,7 @@ class DashboardDetailComponent {
|
|
|
1326
1350
|
? `${parentName}_${this.context.id}_${dashboardName}_${this.mo.id}`
|
|
1327
1351
|
: 'noContext',
|
|
1328
1352
|
dashboardType: mo.c8y_Dashboard.deviceType ? mo.c8y_Dashboard.deviceTypeValue : null,
|
|
1329
|
-
context: this.contextDashboardService.getContextForGS(this.currentContext
|
|
1353
|
+
context: this.contextDashboardService.getContextForGS(this.currentContext?.contextData)
|
|
1330
1354
|
});
|
|
1331
1355
|
}
|
|
1332
1356
|
async convertStringToHash(str) {
|
|
@@ -1475,7 +1499,7 @@ class DashboardDetailComponent {
|
|
|
1475
1499
|
this.tabs = this.dashboardDetailService.getTabs();
|
|
1476
1500
|
}
|
|
1477
1501
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DashboardDetailComponent, deps: [{ token: ContextDashboardService }, { token: i2$1.TranslateService }, { token: i2.ContextRouteService }, { token: i1.ActivatedRoute }, { token: i2.TabsService }, { token: i1.Router }, { token: i1$1.InventoryService }, { token: i1.ActivatedRoute }, { token: DashboardDetailService }, { token: i2.AppStateService }, { token: i2.GroupService }, { token: i2.ModalService }, { token: i2.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1478
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DashboardDetailComponent, isStandalone:
|
|
1502
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DashboardDetailComponent, isStandalone: true, selector: "c8y-dashboard-detail", inputs: { isReport: "isReport", deviceType: "deviceType", context: "context", mo: "mo", dashboard: "dashboard", isNamedDashboard: "isNamedDashboard", hideAvailability: "hideAvailability" }, outputs: { dashboardSaved: "dashboardSaved", previewChanged: "previewChanged" }, providers: [DashboardDetailService], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"collapse c8y-top-drawer\"\n [collapse]=\"isCollapsed\"\n [isAnimated]=\"true\"\n>\n <div class=\"p-t-16 p-b-16 p-l-24 p-r-24 separator-bottom\">\n <span class=\"h4\">{{ 'Dashboard settings' | translate }}</span>\n </div>\n\n <div\n class=\"d-flex\"\n *ngIf=\"!isCollapsed\"\n >\n <c8y-tabs-outlet\n class=\"c8y-top-drawer--tabs\"\n [tabs]=\"tabs\"\n [outletName]=\"TABS_OUTLET_NAME\"\n [orientation]=\"'vertical'\"\n [openFirstTab]=\"true\"\n ></c8y-tabs-outlet>\n\n <div\n class=\"inner-scroll c8y-top-drawer__tabs-container flex-grow p-l-24 p-r-lg-32 p-r-xs-24 p-r-sm-24\"\n >\n <router-outlet name=\"dashboard-details\"></router-outlet>\n </div>\n </div>\n\n <div class=\"c8y-top-drawer--footer\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n data-cy=\"dashboard-detail--cancel-dashboard\"\n (click)=\"cancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"button\"\n data-cy=\"dashboard-detail--save-dashboard\"\n (click)=\"save()\"\n [disabled]=\"((dashboardDetailsForm?.invalid || dashboardDetailsForm?.pristine) && this.isEdit) || dashboardDetailService.saveButtonDisabled\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: CollapseDirective, selector: "[collapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TabsOutletComponent, selector: "c8y-tabs-outlet,c8y-ui-tabs", inputs: ["tabs", "orientation", "navigatorOpen", "outletName", "context", "openFirstTab", "hasHeader"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
|
|
1479
1503
|
}
|
|
1480
1504
|
__decorate([
|
|
1481
1505
|
memoize(),
|
|
@@ -1485,7 +1509,7 @@ __decorate([
|
|
|
1485
1509
|
], DashboardDetailComponent.prototype, "convertStringToHash", null);
|
|
1486
1510
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DashboardDetailComponent, decorators: [{
|
|
1487
1511
|
type: Component,
|
|
1488
|
-
args: [{ selector: 'c8y-dashboard-detail',
|
|
1512
|
+
args: [{ selector: 'c8y-dashboard-detail', providers: [DashboardDetailService], imports: [CollapseDirective, NgIf, TabsOutletComponent, RouterOutlet, C8yTranslatePipe], template: "<div\n class=\"collapse c8y-top-drawer\"\n [collapse]=\"isCollapsed\"\n [isAnimated]=\"true\"\n>\n <div class=\"p-t-16 p-b-16 p-l-24 p-r-24 separator-bottom\">\n <span class=\"h4\">{{ 'Dashboard settings' | translate }}</span>\n </div>\n\n <div\n class=\"d-flex\"\n *ngIf=\"!isCollapsed\"\n >\n <c8y-tabs-outlet\n class=\"c8y-top-drawer--tabs\"\n [tabs]=\"tabs\"\n [outletName]=\"TABS_OUTLET_NAME\"\n [orientation]=\"'vertical'\"\n [openFirstTab]=\"true\"\n ></c8y-tabs-outlet>\n\n <div\n class=\"inner-scroll c8y-top-drawer__tabs-container flex-grow p-l-24 p-r-lg-32 p-r-xs-24 p-r-sm-24\"\n >\n <router-outlet name=\"dashboard-details\"></router-outlet>\n </div>\n </div>\n\n <div class=\"c8y-top-drawer--footer\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n data-cy=\"dashboard-detail--cancel-dashboard\"\n (click)=\"cancel()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"button\"\n data-cy=\"dashboard-detail--save-dashboard\"\n (click)=\"save()\"\n [disabled]=\"((dashboardDetailsForm?.invalid || dashboardDetailsForm?.pristine) && this.isEdit) || dashboardDetailService.saveButtonDisabled\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</div>\n" }]
|
|
1489
1513
|
}], ctorParameters: () => [{ type: ContextDashboardService }, { type: i2$1.TranslateService }, { type: i2.ContextRouteService }, { type: i1.ActivatedRoute }, { type: i2.TabsService }, { type: i1.Router }, { type: i1$1.InventoryService }, { type: i1.ActivatedRoute }, { type: DashboardDetailService }, { type: i2.AppStateService }, { type: i2.GroupService }, { type: i2.ModalService }, { type: i2.GainsightService }], propDecorators: { isReport: [{
|
|
1490
1514
|
type: Input
|
|
1491
1515
|
}], deviceType: [{
|
|
@@ -1878,7 +1902,7 @@ class WidgetAssetSelectorComponent {
|
|
|
1878
1902
|
this.widgetConfigService.updateConfig({ device });
|
|
1879
1903
|
}
|
|
1880
1904
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: WidgetAssetSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1881
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: WidgetAssetSelectorComponent, isStandalone: true, selector: "c8y-widget-asset-selector", inputs: { isRequired: "isRequired", showUnassigned: "showUnassigned", groupsSelectable: "groupsSelectable", assetSelectorConfig: "assetSelectorConfig", selectedDevice: "selectedDevice" }, host: { classAttribute: "bg-level-1" }, ngImport: i0, template: "<div class=\"card borderless\">\n <div\n class=\"card-block p-0 bg-inherit\"\n style=\"height: 315px\"\n >\n <!-- \n ngIf is needed to avoid a race condition as \n asset-selector seems not to support dynamic config changes\n -->\n <c8y-asset-selector-miller\n class=\"d-block bg-inherit p-relative\"\n *ngIf=\"assetSelectorConfig\"\n (onSelected)=\"selectionChanged($event)\"\n [config]=\"assetSelectorConfig\"\n [asset]=\"(widgetConfigService.currentConfig$ | async).settings?.context\"\n [(ngModel)]=\"selectedDevice\"\n [required]=\"isRequired\"\n name=\"configAsset\"\n ></c8y-asset-selector-miller>\n </div>\n\n <c8y-widget-config-feedback>\n <span\n class=\"tag chip text-12 m-4\"\n [ngClass]=\"{\n 'tag--info': selectedDevice || !isRequired,\n 'tag--danger': !selectedDevice && isRequired\n }\"\n >\n <button\n class=\"btn-clean text-12 m-r-4\"\n title=\"{{ 'Deselect' | translate }}\"\n type=\"button\"\n *ngIf=\"selectedDevice\"\n (click)=\"selectedDevice = null; updateConfig(null)\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n <span\n class=\"text-truncate\"\n title=\"{{ selectedDevice.name || 'Device ' + selectedDevice.id }}\"\n *ngIf=\"selectedDevice\"\n >\n {{ selectedDevice.name || 'Device ' + selectedDevice.id }}\n </span>\n <span\n *ngIf=\"!selectedDevice\"\n translate\n >\n No asset selected\n </span>\n </span>\n </c8y-widget-config-feedback>\n</div>\n", dependencies: [{ kind: "ngmodule", type: AssetSelectorModule }, { kind: "component", type: i1$2.MillerViewComponent, selector: "c8y-asset-selector-miller", inputs: ["config", "asset", "selectedDevice", "rootNode", "container"], outputs: ["onSelected", "onClearSelected"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: WidgetConfigFeedbackComponent, selector: "c8y-widget-config-feedback" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
1905
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: WidgetAssetSelectorComponent, isStandalone: true, selector: "c8y-widget-asset-selector", inputs: { isRequired: "isRequired", showUnassigned: "showUnassigned", groupsSelectable: "groupsSelectable", assetSelectorConfig: "assetSelectorConfig", selectedDevice: "selectedDevice" }, host: { classAttribute: "bg-level-1" }, ngImport: i0, template: "<div class=\"card borderless\">\n <div\n class=\"card-block p-0 bg-inherit\"\n style=\"height: 315px\"\n >\n <!-- \n ngIf is needed to avoid a race condition as \n asset-selector seems not to support dynamic config changes\n -->\n <c8y-asset-selector-miller\n class=\"d-block bg-inherit p-relative\"\n *ngIf=\"assetSelectorConfig\"\n (onSelected)=\"selectionChanged($event)\"\n [config]=\"assetSelectorConfig\"\n [asset]=\"(widgetConfigService.currentConfig$ | async).settings?.context\"\n [(ngModel)]=\"selectedDevice\"\n [required]=\"isRequired\"\n name=\"configAsset\"\n ></c8y-asset-selector-miller>\n </div>\n\n <c8y-widget-config-feedback>\n <span\n class=\"tag chip text-12 m-4\"\n [ngClass]=\"{\n 'tag--info': selectedDevice || !isRequired,\n 'tag--danger': !selectedDevice && isRequired\n }\"\n >\n <button\n class=\"btn-clean text-12 m-r-4\"\n title=\"{{ 'Deselect' | translate }}\"\n type=\"button\"\n *ngIf=\"selectedDevice\"\n (click)=\"selectedDevice = null; updateConfig(null)\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n <span\n class=\"text-truncate\"\n title=\"{{ selectedDevice.name || 'Device ' + selectedDevice.id }}\"\n *ngIf=\"selectedDevice\"\n >\n {{ selectedDevice.name || 'Device ' + selectedDevice.id }}\n </span>\n <span\n *ngIf=\"!selectedDevice\"\n translate\n >\n No asset selected\n </span>\n </span>\n </c8y-widget-config-feedback>\n</div>\n", dependencies: [{ kind: "ngmodule", type: AssetSelectorModule }, { kind: "component", type: i1$2.MillerViewComponent, selector: "c8y-asset-selector-miller", inputs: ["config", "asset", "selectedDevice", "rootNode", "container"], outputs: ["onSelected", "onClearSelected"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: WidgetConfigFeedbackComponent, selector: "c8y-widget-config-feedback" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
|
|
1882
1906
|
}
|
|
1883
1907
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: WidgetAssetSelectorComponent, decorators: [{
|
|
1884
1908
|
type: Component,
|
|
@@ -1963,7 +1987,7 @@ class WidgetConfigService {
|
|
|
1963
1987
|
* Returns all the current sections.
|
|
1964
1988
|
*
|
|
1965
1989
|
* A configuration section is a component that can be used to configure a widget.
|
|
1966
|
-
* Sections should be added via the hookWidgetConfig
|
|
1990
|
+
* Sections should be added via the `hookWidgetConfig`.
|
|
1967
1991
|
*/
|
|
1968
1992
|
this.currentSections$ = this.selected$.pipe(tap$1(() => (this.beforeSaveCallbacks = [])), withLatestFrom(this._currentConfig$), mergeMap$1(([selectedWidget, config]) => selectedWidget === null
|
|
1969
1993
|
? of([])
|
|
@@ -2259,6 +2283,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
2259
2283
|
args: [CONTEXT_DASHBOARD_CONFIG]
|
|
2260
2284
|
}] }] });
|
|
2261
2285
|
|
|
2286
|
+
class WidgetPreviewComponent {
|
|
2287
|
+
constructor() {
|
|
2288
|
+
this.widgetConfigService = inject(WidgetConfigService);
|
|
2289
|
+
this.previewClasses = {
|
|
2290
|
+
'dashboard-theme-light': true,
|
|
2291
|
+
'panel-title-regular': true
|
|
2292
|
+
};
|
|
2293
|
+
}
|
|
2294
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: WidgetPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2295
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: WidgetPreviewComponent, isStandalone: true, selector: "c8y-widget-preview", inputs: { previewClasses: "previewClasses" }, ngImport: i0, template: "<fieldset class=\"c8y-fieldset p-l-24 p-r-24 p-t-16 p-b-16\">\n <legend>{{ 'Preview' | translate }}</legend>\n <c8y-dashboard\n class=\"dashboard-preview-slot\"\n [columns]=\"1\"\n [ngClass]=\"previewClasses\"\n >\n <c8y-dashboard-child\n [title]=\"(widgetConfigService.selected$ | async)?.data?.title\"\n [isFrozen]=\"true\"\n [width]=\"1\"\n [height]=\"6\"\n >\n <c8y-dashboard-child-title>\n <span translate>{{ (widgetConfigService.selected$ | async)?.data?.title }}</span>\n </c8y-dashboard-child-title>\n\n <div\n class=\"fit-h d-flex d-col j-c-center a-i-center\"\n *ngIf=\"(widgetConfigService.previewViewState$ | async) === 'noPreview'\"\n >\n <c8y-ui-empty-state\n [icon]=\"'visibility-off'\"\n [title]=\"'No preview available.' | translate\"\n [subtitle]=\"'This widget does not provide any preview.' | translate\"\n [horizontal]=\"false\"\n ></c8y-ui-empty-state>\n </div>\n\n <c8y-dynamic-component\n *ngIf=\"(widgetConfigService.previewViewState$ | async) === 'configPreview'\"\n [componentId]=\"(widgetConfigService.selected$ | async)?.id\"\n [config]=\"(widgetConfigService.currentConfig$ | async)?.config\"\n ></c8y-dynamic-component>\n\n <ng-template\n *ngIf=\"(widgetConfigService.previewViewState$ | async) === 'templatePreview'\"\n [ngTemplateOutlet]=\"widgetConfigService.preview$ | async\"\n ></ng-template>\n </c8y-dashboard-child>\n </c8y-dashboard>\n</fieldset>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CoreModule }, { kind: "component", type: i2.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: i2.DynamicComponentComponent, selector: "c8y-dynamic-component", inputs: ["componentId", "config", "mode", "notFoundError", "executeResolvers"], outputs: ["updateWidgetClasses"] }, { kind: "component", type: i2.DashboardComponent, selector: "c8y-dashboard", inputs: ["columns", "gap", "rows"], outputs: ["dashboardChange"] }, { kind: "component", type: i2.DashboardChildComponent, selector: "c8y-dashboard-child", inputs: ["x", "y", "width", "height", "data", "margin", "useIntersection", "isFrozen", "canToggleFullscreen", "editMode", "class"], outputs: ["changeStart", "changeEnd", "toggleFullscreen"] }, { kind: "component", type: i2.DashboardChildTitleComponent, selector: "c8y-dashboard-child-title" }] }); }
|
|
2296
|
+
}
|
|
2297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: WidgetPreviewComponent, decorators: [{
|
|
2298
|
+
type: Component,
|
|
2299
|
+
args: [{ selector: 'c8y-widget-preview', standalone: true, imports: [NgIf, NgClass, C8yTranslatePipe, CommonModule, CoreModule], template: "<fieldset class=\"c8y-fieldset p-l-24 p-r-24 p-t-16 p-b-16\">\n <legend>{{ 'Preview' | translate }}</legend>\n <c8y-dashboard\n class=\"dashboard-preview-slot\"\n [columns]=\"1\"\n [ngClass]=\"previewClasses\"\n >\n <c8y-dashboard-child\n [title]=\"(widgetConfigService.selected$ | async)?.data?.title\"\n [isFrozen]=\"true\"\n [width]=\"1\"\n [height]=\"6\"\n >\n <c8y-dashboard-child-title>\n <span translate>{{ (widgetConfigService.selected$ | async)?.data?.title }}</span>\n </c8y-dashboard-child-title>\n\n <div\n class=\"fit-h d-flex d-col j-c-center a-i-center\"\n *ngIf=\"(widgetConfigService.previewViewState$ | async) === 'noPreview'\"\n >\n <c8y-ui-empty-state\n [icon]=\"'visibility-off'\"\n [title]=\"'No preview available.' | translate\"\n [subtitle]=\"'This widget does not provide any preview.' | translate\"\n [horizontal]=\"false\"\n ></c8y-ui-empty-state>\n </div>\n\n <c8y-dynamic-component\n *ngIf=\"(widgetConfigService.previewViewState$ | async) === 'configPreview'\"\n [componentId]=\"(widgetConfigService.selected$ | async)?.id\"\n [config]=\"(widgetConfigService.currentConfig$ | async)?.config\"\n ></c8y-dynamic-component>\n\n <ng-template\n *ngIf=\"(widgetConfigService.previewViewState$ | async) === 'templatePreview'\"\n [ngTemplateOutlet]=\"widgetConfigService.preview$ | async\"\n ></ng-template>\n </c8y-dashboard-child>\n </c8y-dashboard>\n</fieldset>\n" }]
|
|
2300
|
+
}], propDecorators: { previewClasses: [{
|
|
2301
|
+
type: Input
|
|
2302
|
+
}] } });
|
|
2303
|
+
|
|
2262
2304
|
class AppearanceSettingsComponent {
|
|
2263
2305
|
constructor() {
|
|
2264
2306
|
this.themeClass = 'dashboard-theme-light';
|
|
@@ -2290,7 +2332,7 @@ class AppearanceSettingsComponent {
|
|
|
2290
2332
|
return value;
|
|
2291
2333
|
}
|
|
2292
2334
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AppearanceSettingsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2293
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: AppearanceSettingsComponent, isStandalone: true, selector: "c8y-appearance-settings", inputs: { themeClass: "themeClass", headerClass: "headerClass", defaultThemeClass: "defaultThemeClass", defaultHeaderClass: "defaultHeaderClass", dashboardSettings: "dashboardSettings", possibleStylingTheme: "possibleStylingTheme", possibleStylingHeader: "possibleStylingHeader", columns: "columns" }, outputs: { themeClassChange: "themeClassChange", headerClassChange: "headerClassChange", onChange: "onChange" }, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-lg-{{ 12 / columns }} col-xs-12\">\n <fieldset class=\"c8y-fieldset c8y-fieldset--lg\">\n <legend *ngIf=\"dashboardSettings\">{{ 'Default theme' | translate }}</legend>\n <legend *ngIf=\"!dashboardSettings\">{{ 'Theme' | translate }}</legend>\n <ul class=\"list-group\">\n <li\n class=\"list-group-item d-flex a-i-center p-l-0 p-r-0 fit-w\"\n *ngFor=\"let themeClassItem of possibleStylingTheme; let i = index\"\n >\n <div\n class=\"list-item-checkbox\"\n style=\"max-width: calc(100% - 24px)\"\n >\n <label class=\"c8y-radio\">\n <input\n name=\"content\"\n type=\"radio\"\n [id]=\"'groupradiocontentclass' + i\"\n [value]=\"themeClassItem.class\"\n [ngModel]=\"themeClass\"\n (click)=\"themeClassClick(themeClassItem.class)\"\n />\n <span></span>\n <span\n class=\"text-truncate\"\n title=\"{{ themeClassItem.label | translate }}{{\n themeClassItem.class === defaultThemeClass\n ? ' | ' + (dashboardDefaultLabel | translate)\n : ''\n }}\"\n >\n <span>{{ themeClassItem.label | translate }}</span>\n <br />\n <small\n class=\"text-muted\"\n *ngIf=\"themeClassItem.class === defaultThemeClass\"\n >\n {{ dashboardDefaultLabel | translate }}\n </small>\n </span>\n </label>\n </div>\n\n <button\n class=\"btn-help btn-help--sm m-l-auto\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ themeClassItem.description | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </li>\n </ul>\n </fieldset>\n </div>\n <div class=\"col-lg-{{ 12 / columns }} col-xs-12\">\n <fieldset class=\"c8y-fieldset c8y-fieldset--lg\">\n <legend *ngIf=\"dashboardSettings\">\n {{ 'Default widget header style' | translate }}\n </legend>\n <legend *ngIf=\"!dashboardSettings\">\n {{ 'Widget header style' | translate }}\n </legend>\n <ul class=\"list-group\">\n <li\n class=\"list-group-item d-flex a-i-center p-l-0 p-r-0\"\n *ngFor=\"let headerClassItem of possibleStylingHeader; let i = index\"\n >\n <div\n class=\"list-item-checkbox\"\n style=\"max-width: calc(100% - 24px)\"\n >\n <label class=\"c8y-radio\">\n <input\n name=\"header\"\n type=\"radio\"\n [id]=\"'groupradioheaderclass' + i\"\n [value]=\"headerClassItem.class\"\n [ngModel]=\"headerClass\"\n (click)=\"headerClassClick(headerClassItem.class)\"\n />\n <span></span>\n <span\n class=\"text-truncate\"\n title=\"{{ headerClassItem.label | translate }}{{\n headerClassItem.class === defaultHeaderClass\n ? ' | ' + (dashboardDefaultLabel | translate)\n : ''\n }}\"\n >\n <span>{{ headerClassItem.label | translate }}</span>\n <br />\n <small\n class=\"text-muted\"\n *ngIf=\"headerClassItem.class === defaultHeaderClass\"\n >\n {{ dashboardDefaultLabel | translate }}\n </small>\n </span>\n </label>\n </div>\n <button\n class=\"btn-help btn-help--sm m-l-auto\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ headerClassItem.description | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </li>\n </ul>\n </fieldset>\n </div>\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type:
|
|
2335
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: AppearanceSettingsComponent, isStandalone: true, selector: "c8y-appearance-settings", inputs: { themeClass: "themeClass", headerClass: "headerClass", defaultThemeClass: "defaultThemeClass", defaultHeaderClass: "defaultHeaderClass", dashboardSettings: "dashboardSettings", possibleStylingTheme: "possibleStylingTheme", possibleStylingHeader: "possibleStylingHeader", columns: "columns" }, outputs: { themeClassChange: "themeClassChange", headerClassChange: "headerClassChange", onChange: "onChange" }, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-lg-{{ 12 / columns }} col-xs-12\">\n <fieldset class=\"c8y-fieldset c8y-fieldset--lg\">\n <legend *ngIf=\"dashboardSettings\">{{ 'Default theme' | translate }}</legend>\n <legend *ngIf=\"!dashboardSettings\">{{ 'Theme' | translate }}</legend>\n <ul class=\"list-group\">\n <li\n class=\"list-group-item d-flex a-i-center p-l-0 p-r-0 fit-w\"\n *ngFor=\"let themeClassItem of possibleStylingTheme; let i = index\"\n >\n <div\n class=\"list-item-checkbox\"\n style=\"max-width: calc(100% - 24px)\"\n >\n <label class=\"c8y-radio\">\n <input\n name=\"content\"\n type=\"radio\"\n [id]=\"'groupradiocontentclass' + i\"\n [value]=\"themeClassItem.class\"\n [ngModel]=\"themeClass\"\n (click)=\"themeClassClick(themeClassItem.class)\"\n />\n <span></span>\n <span\n class=\"text-truncate\"\n title=\"{{ themeClassItem.label | translate }}{{\n themeClassItem.class === defaultThemeClass\n ? ' | ' + (dashboardDefaultLabel | translate)\n : ''\n }}\"\n >\n <span>{{ themeClassItem.label | translate }}</span>\n <br />\n <small\n class=\"text-muted\"\n *ngIf=\"themeClassItem.class === defaultThemeClass\"\n >\n {{ dashboardDefaultLabel | translate }}\n </small>\n </span>\n </label>\n </div>\n\n <button\n class=\"btn-help btn-help--sm m-l-auto\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ themeClassItem.description | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </li>\n </ul>\n </fieldset>\n </div>\n <div class=\"col-lg-{{ 12 / columns }} col-xs-12\">\n <fieldset class=\"c8y-fieldset c8y-fieldset--lg\">\n <legend *ngIf=\"dashboardSettings\">\n {{ 'Default widget header style' | translate }}\n </legend>\n <legend *ngIf=\"!dashboardSettings\">\n {{ 'Widget header style' | translate }}\n </legend>\n <ul class=\"list-group\">\n <li\n class=\"list-group-item d-flex a-i-center p-l-0 p-r-0\"\n *ngFor=\"let headerClassItem of possibleStylingHeader; let i = index\"\n >\n <div\n class=\"list-item-checkbox\"\n style=\"max-width: calc(100% - 24px)\"\n >\n <label class=\"c8y-radio\">\n <input\n name=\"header\"\n type=\"radio\"\n [id]=\"'groupradioheaderclass' + i\"\n [value]=\"headerClassItem.class\"\n [ngModel]=\"headerClass\"\n (click)=\"headerClassClick(headerClassItem.class)\"\n />\n <span></span>\n <span\n class=\"text-truncate\"\n title=\"{{ headerClassItem.label | translate }}{{\n headerClassItem.class === defaultHeaderClass\n ? ' | ' + (dashboardDefaultLabel | translate)\n : ''\n }}\"\n >\n <span>{{ headerClassItem.label | translate }}</span>\n <br />\n <small\n class=\"text-muted\"\n *ngIf=\"headerClassItem.class === defaultHeaderClass\"\n >\n {{ dashboardDefaultLabel | translate }}\n </small>\n </span>\n </label>\n </div>\n <button\n class=\"btn-help btn-help--sm m-l-auto\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ headerClassItem.description | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </li>\n </ul>\n </fieldset>\n </div>\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { 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.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { 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: "ngmodule", type: PopoverModule }, { kind: "directive", type: i2$2.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
|
|
2294
2336
|
}
|
|
2295
2337
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AppearanceSettingsComponent, decorators: [{
|
|
2296
2338
|
type: Component,
|
|
@@ -2319,24 +2361,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
2319
2361
|
type: Input
|
|
2320
2362
|
}] } });
|
|
2321
2363
|
|
|
2322
|
-
class WidgetPreviewComponent {
|
|
2323
|
-
constructor() {
|
|
2324
|
-
this.widgetConfigService = inject(WidgetConfigService);
|
|
2325
|
-
this.previewClasses = {
|
|
2326
|
-
'dashboard-theme-light': true,
|
|
2327
|
-
'panel-title-regular': true
|
|
2328
|
-
};
|
|
2329
|
-
}
|
|
2330
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: WidgetPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2331
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: WidgetPreviewComponent, isStandalone: true, selector: "c8y-widget-preview", inputs: { previewClasses: "previewClasses" }, ngImport: i0, template: "<fieldset class=\"c8y-fieldset p-l-24 p-r-24 p-t-16 p-b-16\">\n <legend>{{ 'Preview' | translate }}</legend>\n <c8y-dashboard\n class=\"dashboard-preview-slot\"\n [columns]=\"1\"\n [ngClass]=\"previewClasses\"\n >\n <c8y-dashboard-child\n [title]=\"(widgetConfigService.selected$ | async)?.data?.title\"\n [isFrozen]=\"true\"\n [width]=\"1\"\n [height]=\"6\"\n >\n <c8y-dashboard-child-title>\n <span translate>{{ (widgetConfigService.selected$ | async)?.data?.title }}</span>\n </c8y-dashboard-child-title>\n\n <div\n class=\"fit-h d-flex d-col j-c-center a-i-center\"\n *ngIf=\"(widgetConfigService.previewViewState$ | async) === 'noPreview'\"\n >\n <c8y-ui-empty-state\n [icon]=\"'visibility-off'\"\n [title]=\"'No preview available.' | translate\"\n [subtitle]=\"'This widget does not provide any preview.' | translate\"\n [horizontal]=\"false\"\n ></c8y-ui-empty-state>\n </div>\n\n <c8y-dynamic-component\n *ngIf=\"(widgetConfigService.previewViewState$ | async) === 'configPreview'\"\n [componentId]=\"(widgetConfigService.selected$ | async)?.id\"\n [config]=\"(widgetConfigService.currentConfig$ | async)?.config\"\n ></c8y-dynamic-component>\n\n <ng-template\n *ngIf=\"(widgetConfigService.previewViewState$ | async) === 'templatePreview'\"\n [ngTemplateOutlet]=\"widgetConfigService.preview$ | async\"\n ></ng-template>\n </c8y-dashboard-child>\n </c8y-dashboard>\n</fieldset>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CoreModule }, { kind: "component", type: i2.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: i2.DynamicComponentComponent, selector: "c8y-dynamic-component", inputs: ["componentId", "config", "mode", "notFoundError", "executeResolvers"], outputs: ["updateWidgetClasses"] }, { kind: "component", type: i2.DashboardComponent, selector: "c8y-dashboard", inputs: ["columns", "gap", "rows"], outputs: ["dashboardChange"] }, { kind: "component", type: i2.DashboardChildComponent, selector: "c8y-dashboard-child", inputs: ["x", "y", "width", "height", "data", "margin", "useIntersection", "isFrozen", "canToggleFullscreen", "editMode", "class"], outputs: ["changeStart", "changeEnd", "toggleFullscreen"] }, { kind: "component", type: i2.DashboardChildTitleComponent, selector: "c8y-dashboard-child-title" }] }); }
|
|
2332
|
-
}
|
|
2333
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: WidgetPreviewComponent, decorators: [{
|
|
2334
|
-
type: Component,
|
|
2335
|
-
args: [{ selector: 'c8y-widget-preview', standalone: true, imports: [NgIf, NgClass, C8yTranslatePipe, CommonModule, CoreModule], template: "<fieldset class=\"c8y-fieldset p-l-24 p-r-24 p-t-16 p-b-16\">\n <legend>{{ 'Preview' | translate }}</legend>\n <c8y-dashboard\n class=\"dashboard-preview-slot\"\n [columns]=\"1\"\n [ngClass]=\"previewClasses\"\n >\n <c8y-dashboard-child\n [title]=\"(widgetConfigService.selected$ | async)?.data?.title\"\n [isFrozen]=\"true\"\n [width]=\"1\"\n [height]=\"6\"\n >\n <c8y-dashboard-child-title>\n <span translate>{{ (widgetConfigService.selected$ | async)?.data?.title }}</span>\n </c8y-dashboard-child-title>\n\n <div\n class=\"fit-h d-flex d-col j-c-center a-i-center\"\n *ngIf=\"(widgetConfigService.previewViewState$ | async) === 'noPreview'\"\n >\n <c8y-ui-empty-state\n [icon]=\"'visibility-off'\"\n [title]=\"'No preview available.' | translate\"\n [subtitle]=\"'This widget does not provide any preview.' | translate\"\n [horizontal]=\"false\"\n ></c8y-ui-empty-state>\n </div>\n\n <c8y-dynamic-component\n *ngIf=\"(widgetConfigService.previewViewState$ | async) === 'configPreview'\"\n [componentId]=\"(widgetConfigService.selected$ | async)?.id\"\n [config]=\"(widgetConfigService.currentConfig$ | async)?.config\"\n ></c8y-dynamic-component>\n\n <ng-template\n *ngIf=\"(widgetConfigService.previewViewState$ | async) === 'templatePreview'\"\n [ngTemplateOutlet]=\"widgetConfigService.preview$ | async\"\n ></ng-template>\n </c8y-dashboard-child>\n </c8y-dashboard>\n</fieldset>\n" }]
|
|
2336
|
-
}], propDecorators: { previewClasses: [{
|
|
2337
|
-
type: Input
|
|
2338
|
-
}] } });
|
|
2339
|
-
|
|
2340
2364
|
class WidgetConfigComponent {
|
|
2341
2365
|
get isEdit() {
|
|
2342
2366
|
return !!this.current;
|
|
@@ -2561,11 +2585,27 @@ class WidgetConfigComponent {
|
|
|
2561
2585
|
return widgetConfig;
|
|
2562
2586
|
}
|
|
2563
2587
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: WidgetConfigComponent, deps: [{ token: WidgetService }, { token: i2.BottomDrawerRef }, { token: ContextDashboardService }, { token: WidgetConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2564
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: WidgetConfigComponent, isStandalone: false, selector: "c8y-widget-config", host: { classAttribute: "d-contents" }, viewQueries: [{ propertyName: "configForm", first: true, predicate: ["configForm"], descendants: true }], ngImport: i0, template: "<!-- select widget -->\n<ng-container *ngIf=\"!(widgetConfigService.selected$ | async)\">\n <div class=\"card-header j-c-center separator\">\n <div class=\"h4 text-center\">\n {{ 'Select widget' | translate }}\n </div>\n </div>\n <div class=\"card-inner-scroll fit-h bg-level-2\">\n <div\n class=\"bg-level-0 p-l-24 p-r-24 p-t-8 p-b-8 sticky-header-top-0 elevation-md\"\n style=\"z-index: 2\"\n >\n <div class=\"row\">\n <div class=\"col-sm-6 col-sm-offset-3\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n [attr.aria-label]=\"'Search' | translate\"\n placeholder=\"{{ 'Search\u2026' | translate }}\"\n type=\"text\"\n data-cy=\"widget-config--Search\"\n [(ngModel)]=\"searchTerm\"\n [ngModelOptions]=\"{ standalone: true }\"\n (keydown)=\"searchChange$.next($event)\"\n />\n <span class=\"input-group-btn\">\n <button\n class=\"btn btn-dot\"\n title=\"{{ 'Search' | translate }}\"\n type=\"button\"\n (click)=\"resetSearch()\"\n >\n <i [c8yIcon]=\"searchTerm.length === 0 ? 'search' : 'close'\"></i>\n </button>\n </span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"card-block\">\n <div class=\"card-group p-l-24 p-r-24 d-grid grid__col--auto-300 gap-24 card-select m-b-0\">\n <button\n class=\"btn-clean d-col card m-b-0\"\n [title]=\"cmp.description || cmp.label | translate\"\n type=\"button\"\n data-cy=\"widget-config--widget-list\"\n *ngFor=\"let cmp of searchResult || components\"\n (click)=\"select(cmp)\"\n >\n <div\n class=\"border-bottom\"\n role=\"presentation\"\n >\n <ng-container *ngIf=\"!cmp.previewImage; else previewImage\">\n <div class=\"h1\"><i c8yIcon=\"file-image-o\"></i></div>\n <small translate>Preview not available</small>\n </ng-container>\n <ng-template #previewImage>\n <img\n class=\"widget-thumbnail\"\n alt=\"{{ cmp.label | translate }}\"\n [src]=\"cmp.previewImage\"\n />\n </ng-template>\n </div>\n <div class=\"card-block\">\n <p class=\"card-title text-truncate text-medium\">\n <c8y-highlight\n text=\"{{ cmp.label | translate }}\"\n [pattern]=\"searchTerm\"\n ></c8y-highlight>\n </p>\n <p\n class=\"small text-default\"\n style=\"white-space: wrap\"\n >\n {{ cmp.description | translate }}\n </p>\n </div>\n </button>\n <c8y-ui-empty-state\n class=\"p-24 grid__col--fullspan\"\n [icon]=\"'search'\"\n [title]=\"'No widgets found.' | translate\"\n [subtitle]=\"' Rephrase your search term.' | translate\"\n *ngIf=\"searchResult && searchResult.length === 0\"\n >\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Reset search' | translate }}\"\n type=\"button\"\n (click)=\"resetSearch()\"\n >\n {{ 'Reset search' | translate }}\n </button>\n </c8y-ui-empty-state>\n </div>\n </div>\n </div>\n <div class=\"card-footer text-center separator flex-no-shrink\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n data-cy=\"widget-config--cancel-widget\"\n (click)=\"close()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n </div>\n</ng-container>\n\n<!-- widget configuration -->\n<ng-container *ngIf=\"!!(widgetConfigService.selected$ | async)\">\n <div class=\"card-header d-block separator-bottom flex-no-shrink\">\n <div\n class=\"h3 p-t-16\"\n title=\"{{ selected?.label | translate }}\"\n >\n <span>{{ selected?.label | translate }}</span>\n <button\n class=\"btn btn-default btn-sm m-l-8\"\n [title]=\"'Change widget' | translate\"\n (click)=\"backToWidgetSelection(); (false)\"\n >\n <i c8yIcon=\"replace\"></i>\n {{ 'Change widget' | translate }}\n </button>\n </div>\n <div\n class=\"p-t-8\"\n *ngIf=\"selected\"\n >\n <p>\n {{ selected.description | translate }}\n </p>\n </div>\n </div>\n\n <div class=\"d-grid grid__col--560-auto min-height-0 flex-grow\">\n <div class=\"bg-level-1 inner-scroll\">\n <div class=\"p-16 flex-no-shrink separator-bottom bg-level-1\">\n <c8y-form-group>\n <label\n for=\"widgetTitle\"\n translate\n >\n Widget title\n </label>\n <input\n class=\"form-control\"\n id=\"widgetTitle\"\n placeholder=\"{{ 'e.g.' | translate }} {{ componentLabel | translate }}\"\n name=\"title\"\n type=\"text\"\n required\n [(ngModel)]=\"selected?.data.title\"\n />\n </c8y-form-group>\n </div>\n\n <c8y-ui-empty-state\n class=\"p-24\"\n [icon]=\"'settings'\"\n [title]=\"'No configuration needed.' | translate\"\n [subtitle]=\"'This widget does not need any specific configuration.' | translate\"\n [horizontal]=\"true\"\n *ngIf=\"!(widgetConfigService.hasConfig$ | async)\"\n ></c8y-ui-empty-state>\n <div>\n <form\n name=\"form\"\n #configForm=\"ngForm\"\n >\n <ng-container *ngIf=\"widgetConfigService.hasConfig$ | async\">\n <ng-container *ngIf=\"widgetConfigService.providers$ | async as providers\">\n <ng-container\n *c8yComponentOutlet=\"widgetConfigRoot; providers: providers\"\n ></ng-container>\n </ng-container>\n </ng-container>\n </form>\n </div>\n </div>\n <div class=\"inner-scroll p-32 p-t-0\">\n <c8y-widget-preview [previewClasses]=\"getStyle(true)\"></c8y-widget-preview>\n\n <c8y-appearance-settings\n [(themeClass)]=\"styling.contentClass\"\n [(headerClass)]=\"styling.headerClass\"\n [possibleStylingTheme]=\"possibleStyling.WIDGET_CONTENT_CLASSES\"\n [possibleStylingHeader]=\"possibleStyling.WIDGET_HEADER_CLASSES\"\n [defaultThemeClass]=\"defaultStyling.contentClass\"\n [defaultHeaderClass]=\"defaultStyling.headerClass\"\n [columns]=\"2\"\n ></c8y-appearance-settings>\n </div>\n </div>\n\n <div class=\"card-footer separator text-center\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n data-cy=\"widget-config--cancel-widget\"\n (click)=\"close()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"submit\"\n data-cy=\"widget-config--save-widget\"\n (click)=\"save()\"\n [disabled]=\"(contextDashboardService.formDisabled$ | async) || isSaveDisabled()\"\n c8yProductExperience\n [actionName]=\"current ? 'editWidget' : 'createWidget'\"\n [actionData]=\"{ widgetName: selected && selected.id }\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</ng-container>\n", dependencies: [{ kind: "component", type: i2.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.C8yComponentOutlet, selector: "[c8yComponentOutlet]", inputs: ["c8yComponentOutlet", "c8yComponentOutletInjector", "c8yComponentOutletEnvironmentInjector", "c8yComponentOutletProviders", "c8yComponentOutletInitialState"] }, { kind: "component", type: i2.HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i2.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i2.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "directive", type: i2.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "component", type: AppearanceSettingsComponent, selector: "c8y-appearance-settings", inputs: ["themeClass", "headerClass", "defaultThemeClass", "defaultHeaderClass", "dashboardSettings", "possibleStylingTheme", "possibleStylingHeader", "columns"], outputs: ["themeClassChange", "headerClassChange", "onChange"] }, { kind: "component", type: WidgetPreviewComponent, selector: "c8y-widget-preview", inputs: ["previewClasses"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] }); }
|
|
2588
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: WidgetConfigComponent, isStandalone: true, selector: "c8y-widget-config", host: { classAttribute: "d-contents" }, viewQueries: [{ propertyName: "configForm", first: true, predicate: ["configForm"], descendants: true }], ngImport: i0, template: "<!-- select widget -->\n<ng-container *ngIf=\"!(widgetConfigService.selected$ | async)\">\n <div class=\"card-header j-c-center separator\">\n <div class=\"h4 text-center\">\n {{ 'Select widget' | translate }}\n </div>\n </div>\n <div class=\"card-inner-scroll fit-h bg-level-2\">\n <div\n class=\"bg-level-0 p-l-24 p-r-24 p-t-8 p-b-8 sticky-header-top-0 elevation-md\"\n style=\"z-index: 2\"\n >\n <div class=\"row\">\n <div class=\"col-sm-6 col-sm-offset-3\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n [attr.aria-label]=\"'Search' | translate\"\n placeholder=\"{{ 'Search\u2026' | translate }}\"\n type=\"text\"\n data-cy=\"widget-config--Search\"\n [(ngModel)]=\"searchTerm\"\n [ngModelOptions]=\"{ standalone: true }\"\n (keydown)=\"searchChange$.next($event)\"\n />\n <span class=\"input-group-btn\">\n <button\n class=\"btn btn-dot\"\n title=\"{{ 'Search' | translate }}\"\n type=\"button\"\n (click)=\"resetSearch()\"\n >\n <i [c8yIcon]=\"searchTerm.length === 0 ? 'search' : 'close'\"></i>\n </button>\n </span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"card-block\">\n <div class=\"card-group p-l-24 p-r-24 d-grid grid__col--auto-300 gap-24 card-select m-b-0\">\n <button\n class=\"btn-clean d-col card m-b-0\"\n [title]=\"cmp.description || cmp.label | translate\"\n type=\"button\"\n data-cy=\"widget-config--widget-list\"\n *ngFor=\"let cmp of searchResult || components\"\n (click)=\"select(cmp)\"\n >\n <div\n class=\"border-bottom\"\n role=\"presentation\"\n >\n <ng-container *ngIf=\"!cmp.previewImage; else previewImage\">\n <div class=\"h1\"><i c8yIcon=\"file-image-o\"></i></div>\n <small translate>Preview not available</small>\n </ng-container>\n <ng-template #previewImage>\n <img\n class=\"widget-thumbnail\"\n alt=\"{{ cmp.label | translate }}\"\n [src]=\"cmp.previewImage\"\n />\n </ng-template>\n </div>\n <div class=\"card-block\">\n <p class=\"card-title text-truncate text-medium\">\n <c8y-highlight\n text=\"{{ cmp.label | translate }}\"\n [pattern]=\"searchTerm\"\n ></c8y-highlight>\n </p>\n <p\n class=\"small text-default\"\n style=\"white-space: wrap\"\n >\n {{ cmp.description | translate }}\n </p>\n </div>\n </button>\n <c8y-ui-empty-state\n class=\"p-24 grid__col--fullspan\"\n [icon]=\"'search'\"\n [title]=\"'No widgets found.' | translate\"\n [subtitle]=\"' Rephrase your search term.' | translate\"\n *ngIf=\"searchResult && searchResult.length === 0\"\n >\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Reset search' | translate }}\"\n type=\"button\"\n (click)=\"resetSearch()\"\n >\n {{ 'Reset search' | translate }}\n </button>\n </c8y-ui-empty-state>\n </div>\n </div>\n </div>\n <div class=\"card-footer text-center separator flex-no-shrink\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n data-cy=\"widget-config--cancel-widget\"\n (click)=\"close()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n </div>\n</ng-container>\n\n<!-- widget configuration -->\n<ng-container *ngIf=\"!!(widgetConfigService.selected$ | async)\">\n <div class=\"card-header d-block separator-bottom flex-no-shrink\">\n <div\n class=\"h3 p-t-16\"\n title=\"{{ selected?.label | translate }}\"\n >\n <span>{{ selected?.label | translate }}</span>\n <button\n class=\"btn btn-default btn-sm m-l-8\"\n [title]=\"'Change widget' | translate\"\n (click)=\"backToWidgetSelection(); (false)\"\n >\n <i c8yIcon=\"replace\"></i>\n {{ 'Change widget' | translate }}\n </button>\n </div>\n <div\n class=\"p-t-8\"\n *ngIf=\"selected\"\n >\n <p>\n {{ selected.description | translate }}\n </p>\n </div>\n </div>\n\n <div class=\"d-grid grid__col--560-auto min-height-0 flex-grow\">\n <div class=\"bg-level-1 inner-scroll\">\n <div class=\"p-16 flex-no-shrink separator-bottom bg-level-1\">\n <c8y-form-group>\n <label\n for=\"widgetTitle\"\n translate\n >\n Widget title\n </label>\n <input\n class=\"form-control\"\n id=\"widgetTitle\"\n placeholder=\"{{ 'e.g.' | translate }} {{ componentLabel | translate }}\"\n name=\"title\"\n type=\"text\"\n required\n [(ngModel)]=\"selected?.data.title\"\n />\n </c8y-form-group>\n </div>\n\n <c8y-ui-empty-state\n class=\"p-24\"\n [icon]=\"'settings'\"\n [title]=\"'No configuration needed.' | translate\"\n [subtitle]=\"'This widget does not need any specific configuration.' | translate\"\n [horizontal]=\"true\"\n *ngIf=\"!(widgetConfigService.hasConfig$ | async)\"\n ></c8y-ui-empty-state>\n <div>\n <form\n name=\"form\"\n #configForm=\"ngForm\"\n >\n <ng-container *ngIf=\"widgetConfigService.hasConfig$ | async\">\n <ng-container *ngIf=\"widgetConfigService.providers$ | async as providers\">\n <ng-container\n *c8yComponentOutlet=\"widgetConfigRoot; providers: providers\"\n ></ng-container>\n </ng-container>\n </ng-container>\n </form>\n </div>\n </div>\n <div class=\"inner-scroll p-32 p-t-0\">\n <c8y-widget-preview [previewClasses]=\"getStyle(true)\"></c8y-widget-preview>\n\n <c8y-appearance-settings\n [(themeClass)]=\"styling.contentClass\"\n [(headerClass)]=\"styling.headerClass\"\n [possibleStylingTheme]=\"possibleStyling.WIDGET_CONTENT_CLASSES\"\n [possibleStylingHeader]=\"possibleStyling.WIDGET_HEADER_CLASSES\"\n [defaultThemeClass]=\"defaultStyling.contentClass\"\n [defaultHeaderClass]=\"defaultStyling.headerClass\"\n [columns]=\"2\"\n ></c8y-appearance-settings>\n </div>\n </div>\n\n <div class=\"card-footer separator text-center\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n data-cy=\"widget-config--cancel-widget\"\n (click)=\"close()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"submit\"\n data-cy=\"widget-config--save-widget\"\n (click)=\"save()\"\n [disabled]=\"(contextDashboardService.formDisabled$ | async) || isSaveDisabled()\"\n c8yProductExperience\n [actionName]=\"current ? 'editWidget' : 'createWidget'\"\n [actionData]=\"{ widgetName: selected && selected.id }\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "directive", type: C8yComponentOutlet, selector: "[c8yComponentOutlet]", inputs: ["c8yComponentOutlet", "c8yComponentOutletInjector", "c8yComponentOutletEnvironmentInjector", "c8yComponentOutletProviders", "c8yComponentOutletInitialState"] }, { kind: "component", type: WidgetPreviewComponent, selector: "c8y-widget-preview", inputs: ["previewClasses"] }, { kind: "component", type: AppearanceSettingsComponent, selector: "c8y-appearance-settings", inputs: ["themeClass", "headerClass", "defaultThemeClass", "defaultHeaderClass", "dashboardSettings", "possibleStylingTheme", "possibleStylingHeader", "columns"], outputs: ["themeClassChange", "headerClassChange", "onChange"] }, { kind: "directive", type: ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
2565
2589
|
}
|
|
2566
2590
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: WidgetConfigComponent, decorators: [{
|
|
2567
2591
|
type: Component,
|
|
2568
|
-
args: [{ selector: 'c8y-widget-config', host: { class: 'd-contents' },
|
|
2592
|
+
args: [{ selector: 'c8y-widget-config', host: { class: 'd-contents' }, imports: [
|
|
2593
|
+
NgIf,
|
|
2594
|
+
FormsModule,
|
|
2595
|
+
IconDirective,
|
|
2596
|
+
NgFor,
|
|
2597
|
+
C8yTranslateDirective,
|
|
2598
|
+
HighlightComponent,
|
|
2599
|
+
EmptyStateComponent,
|
|
2600
|
+
FormGroupComponent,
|
|
2601
|
+
RequiredInputPlaceholderDirective,
|
|
2602
|
+
C8yComponentOutlet,
|
|
2603
|
+
WidgetPreviewComponent,
|
|
2604
|
+
AppearanceSettingsComponent,
|
|
2605
|
+
ProductExperienceDirective,
|
|
2606
|
+
C8yTranslatePipe,
|
|
2607
|
+
AsyncPipe
|
|
2608
|
+
], template: "<!-- select widget -->\n<ng-container *ngIf=\"!(widgetConfigService.selected$ | async)\">\n <div class=\"card-header j-c-center separator\">\n <div class=\"h4 text-center\">\n {{ 'Select widget' | translate }}\n </div>\n </div>\n <div class=\"card-inner-scroll fit-h bg-level-2\">\n <div\n class=\"bg-level-0 p-l-24 p-r-24 p-t-8 p-b-8 sticky-header-top-0 elevation-md\"\n style=\"z-index: 2\"\n >\n <div class=\"row\">\n <div class=\"col-sm-6 col-sm-offset-3\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n [attr.aria-label]=\"'Search' | translate\"\n placeholder=\"{{ 'Search\u2026' | translate }}\"\n type=\"text\"\n data-cy=\"widget-config--Search\"\n [(ngModel)]=\"searchTerm\"\n [ngModelOptions]=\"{ standalone: true }\"\n (keydown)=\"searchChange$.next($event)\"\n />\n <span class=\"input-group-btn\">\n <button\n class=\"btn btn-dot\"\n title=\"{{ 'Search' | translate }}\"\n type=\"button\"\n (click)=\"resetSearch()\"\n >\n <i [c8yIcon]=\"searchTerm.length === 0 ? 'search' : 'close'\"></i>\n </button>\n </span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"card-block\">\n <div class=\"card-group p-l-24 p-r-24 d-grid grid__col--auto-300 gap-24 card-select m-b-0\">\n <button\n class=\"btn-clean d-col card m-b-0\"\n [title]=\"cmp.description || cmp.label | translate\"\n type=\"button\"\n data-cy=\"widget-config--widget-list\"\n *ngFor=\"let cmp of searchResult || components\"\n (click)=\"select(cmp)\"\n >\n <div\n class=\"border-bottom\"\n role=\"presentation\"\n >\n <ng-container *ngIf=\"!cmp.previewImage; else previewImage\">\n <div class=\"h1\"><i c8yIcon=\"file-image-o\"></i></div>\n <small translate>Preview not available</small>\n </ng-container>\n <ng-template #previewImage>\n <img\n class=\"widget-thumbnail\"\n alt=\"{{ cmp.label | translate }}\"\n [src]=\"cmp.previewImage\"\n />\n </ng-template>\n </div>\n <div class=\"card-block\">\n <p class=\"card-title text-truncate text-medium\">\n <c8y-highlight\n text=\"{{ cmp.label | translate }}\"\n [pattern]=\"searchTerm\"\n ></c8y-highlight>\n </p>\n <p\n class=\"small text-default\"\n style=\"white-space: wrap\"\n >\n {{ cmp.description | translate }}\n </p>\n </div>\n </button>\n <c8y-ui-empty-state\n class=\"p-24 grid__col--fullspan\"\n [icon]=\"'search'\"\n [title]=\"'No widgets found.' | translate\"\n [subtitle]=\"' Rephrase your search term.' | translate\"\n *ngIf=\"searchResult && searchResult.length === 0\"\n >\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Reset search' | translate }}\"\n type=\"button\"\n (click)=\"resetSearch()\"\n >\n {{ 'Reset search' | translate }}\n </button>\n </c8y-ui-empty-state>\n </div>\n </div>\n </div>\n <div class=\"card-footer text-center separator flex-no-shrink\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n data-cy=\"widget-config--cancel-widget\"\n (click)=\"close()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n </div>\n</ng-container>\n\n<!-- widget configuration -->\n<ng-container *ngIf=\"!!(widgetConfigService.selected$ | async)\">\n <div class=\"card-header d-block separator-bottom flex-no-shrink\">\n <div\n class=\"h3 p-t-16\"\n title=\"{{ selected?.label | translate }}\"\n >\n <span>{{ selected?.label | translate }}</span>\n <button\n class=\"btn btn-default btn-sm m-l-8\"\n [title]=\"'Change widget' | translate\"\n (click)=\"backToWidgetSelection(); (false)\"\n >\n <i c8yIcon=\"replace\"></i>\n {{ 'Change widget' | translate }}\n </button>\n </div>\n <div\n class=\"p-t-8\"\n *ngIf=\"selected\"\n >\n <p>\n {{ selected.description | translate }}\n </p>\n </div>\n </div>\n\n <div class=\"d-grid grid__col--560-auto min-height-0 flex-grow\">\n <div class=\"bg-level-1 inner-scroll\">\n <div class=\"p-16 flex-no-shrink separator-bottom bg-level-1\">\n <c8y-form-group>\n <label\n for=\"widgetTitle\"\n translate\n >\n Widget title\n </label>\n <input\n class=\"form-control\"\n id=\"widgetTitle\"\n placeholder=\"{{ 'e.g.' | translate }} {{ componentLabel | translate }}\"\n name=\"title\"\n type=\"text\"\n required\n [(ngModel)]=\"selected?.data.title\"\n />\n </c8y-form-group>\n </div>\n\n <c8y-ui-empty-state\n class=\"p-24\"\n [icon]=\"'settings'\"\n [title]=\"'No configuration needed.' | translate\"\n [subtitle]=\"'This widget does not need any specific configuration.' | translate\"\n [horizontal]=\"true\"\n *ngIf=\"!(widgetConfigService.hasConfig$ | async)\"\n ></c8y-ui-empty-state>\n <div>\n <form\n name=\"form\"\n #configForm=\"ngForm\"\n >\n <ng-container *ngIf=\"widgetConfigService.hasConfig$ | async\">\n <ng-container *ngIf=\"widgetConfigService.providers$ | async as providers\">\n <ng-container\n *c8yComponentOutlet=\"widgetConfigRoot; providers: providers\"\n ></ng-container>\n </ng-container>\n </ng-container>\n </form>\n </div>\n </div>\n <div class=\"inner-scroll p-32 p-t-0\">\n <c8y-widget-preview [previewClasses]=\"getStyle(true)\"></c8y-widget-preview>\n\n <c8y-appearance-settings\n [(themeClass)]=\"styling.contentClass\"\n [(headerClass)]=\"styling.headerClass\"\n [possibleStylingTheme]=\"possibleStyling.WIDGET_CONTENT_CLASSES\"\n [possibleStylingHeader]=\"possibleStyling.WIDGET_HEADER_CLASSES\"\n [defaultThemeClass]=\"defaultStyling.contentClass\"\n [defaultHeaderClass]=\"defaultStyling.headerClass\"\n [columns]=\"2\"\n ></c8y-appearance-settings>\n </div>\n </div>\n\n <div class=\"card-footer separator text-center\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n data-cy=\"widget-config--cancel-widget\"\n (click)=\"close()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"submit\"\n data-cy=\"widget-config--save-widget\"\n (click)=\"save()\"\n [disabled]=\"(contextDashboardService.formDisabled$ | async) || isSaveDisabled()\"\n c8yProductExperience\n [actionName]=\"current ? 'editWidget' : 'createWidget'\"\n [actionData]=\"{ widgetName: selected && selected.id }\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</ng-container>\n" }]
|
|
2569
2609
|
}], ctorParameters: () => [{ type: WidgetService }, { type: i2.BottomDrawerRef }, { type: ContextDashboardService }, { type: WidgetConfigService }], propDecorators: { configForm: [{
|
|
2570
2610
|
type: ViewChild,
|
|
2571
2611
|
args: ['configForm', { static: false }]
|
|
@@ -2759,6 +2799,10 @@ class ContextDashboardComponent {
|
|
|
2759
2799
|
}
|
|
2760
2800
|
this.actionBarService.refresh();
|
|
2761
2801
|
}
|
|
2802
|
+
editDashboard() {
|
|
2803
|
+
const isEdit = !!this.mo.id;
|
|
2804
|
+
this.dashboardDetails.show(isEdit);
|
|
2805
|
+
}
|
|
2762
2806
|
/**
|
|
2763
2807
|
* Remove the complete dashboard and navigate away.
|
|
2764
2808
|
*/
|
|
@@ -2833,7 +2877,12 @@ class ContextDashboardComponent {
|
|
|
2833
2877
|
}
|
|
2834
2878
|
async saveWidgetsToDashboard() {
|
|
2835
2879
|
const currentState = this.editModeService.getCurrentState();
|
|
2836
|
-
|
|
2880
|
+
const editedChildren = currentState.children;
|
|
2881
|
+
// first-time save (no `id` yet): create the dashboard, then immediately update it with the edited widgets
|
|
2882
|
+
if (!this.mo.id) {
|
|
2883
|
+
this.mo = await this.contextDashboardService.create(this.mo.c8y_Dashboard, this.context, this.name);
|
|
2884
|
+
}
|
|
2885
|
+
this.mo.c8y_Dashboard.children = editedChildren;
|
|
2837
2886
|
this.mo.c8y_Dashboard.historyDescription = {
|
|
2838
2887
|
changeType: 'update',
|
|
2839
2888
|
widgetChanges: this.mapStateToHistoryDescription(currentState.changeHistory)
|
|
@@ -2842,7 +2891,7 @@ class ContextDashboardComponent {
|
|
|
2842
2891
|
this.editModeService.reset();
|
|
2843
2892
|
this.editModeService.init({
|
|
2844
2893
|
name: DASHBOARD_CHILDREN_STATE_NAME.initial,
|
|
2845
|
-
children:
|
|
2894
|
+
children: editedChildren,
|
|
2846
2895
|
changeHistory: {}
|
|
2847
2896
|
});
|
|
2848
2897
|
this.isCopyDisabled = this.getDashboardCopyPermissionState();
|
|
@@ -2919,13 +2968,11 @@ class ContextDashboardComponent {
|
|
|
2919
2968
|
}
|
|
2920
2969
|
async onLoad(trackExperience) {
|
|
2921
2970
|
this.isNamedDashboard = this.contextDashboardService.isNamed(this.mo);
|
|
2922
|
-
this.hasPermissionToEditDashboard =
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
: false;
|
|
2971
|
+
this.hasPermissionToEditDashboard = this.dashboard
|
|
2972
|
+
? await this.contextDashboardService.canEditDashboard(this.mo)
|
|
2973
|
+
: false;
|
|
2926
2974
|
this.canCopy =
|
|
2927
2975
|
this._canCopy &&
|
|
2928
|
-
!this.dashboard?.isTransient &&
|
|
2929
2976
|
(this.contextDashboardService.isDeviceDashboard(this.mo) ||
|
|
2930
2977
|
this.contextDashboardService.isDeviceType(this.mo) ||
|
|
2931
2978
|
this.contextDashboardService.isGroupDashboard(this.mo));
|
|
@@ -3020,7 +3067,7 @@ class ContextDashboardComponent {
|
|
|
3020
3067
|
}
|
|
3021
3068
|
loadNamedDashboard() {
|
|
3022
3069
|
this.dataSub = this.contextDashboardService
|
|
3023
|
-
.
|
|
3070
|
+
.getDashboard(this.name, this.defaultWidgets)
|
|
3024
3071
|
.subscribe(mo => {
|
|
3025
3072
|
this.context = this.context || {};
|
|
3026
3073
|
this.mo = mo;
|
|
@@ -3184,7 +3231,7 @@ class ContextDashboardComponent {
|
|
|
3184
3231
|
: this.gainsightService.hashGroupName(str);
|
|
3185
3232
|
}
|
|
3186
3233
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ContextDashboardComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: ContextDashboardService }, { token: i2.AlertService }, { token: i0.Renderer2 }, { token: CONTEXT_DASHBOARD_CONFIG }, { token: WidgetService }, { token: i2.BottomDrawerService }, { token: i2.GainsightService }, { token: i2.ActionBarService }, { token: i2$1.TranslateService }, { token: i2.ModalService }, { token: DashboardEditModeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3187
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ContextDashboardComponent, isStandalone:
|
|
3234
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ContextDashboardComponent, isStandalone: true, selector: "c8y-context-dashboard", inputs: { name: "name", childrenClasses: "childrenClasses", context: "context", setTitle: "setTitle", defaultWidgets: "defaultWidgets", _canCopy: ["canCopy", "_canCopy"], canDelete: "canDelete", isLoading: "isLoading", breadcrumbSettings: "breadcrumbSettings", showContextHelpButton: "showContextHelpButton", translateWidgetTitle: "translateWidgetTitle", hideAvailability: "hideAvailability" }, host: { listeners: { "window:beforeunload": "beforeUnloadHandler($event)" }, properties: { "class": "this.class" }, styleAttribute: "\n display: block;\n ", classAttribute: "dashboard c8y-grid-dashboard" }, viewQueries: [{ propertyName: "dashboardDetails", first: true, predicate: DashboardDetailComponent, descendants: true, static: true }, { propertyName: "widgetsDashboard", first: true, predicate: WidgetsDashboardComponent, descendants: true, static: true }], ngImport: i0, template: "<c8y-title *ngIf=\"title\">\n {{ title }}\n</c8y-title>\n\n<c8y-action-bar-item\n [placement]=\"'right'\"\n [priority]=\"10000\"\n *ngIf=\"dashboard?.deviceType && dashboard.deviceTypeValue\"\n>\n <button\n class=\"btn-clean btn-link\"\n popoverTitle=\"{{ 'Dashboard template' | translate }}\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"dashboardTypePopoverRef\"\n placement=\"bottom\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n >\n <span class=\"tag tag--info text-12\">\n <span class=\"dashboard-template-marker\"></span>\n {{ dashboardTypeLabel | translate: { dashboardType: dashboard.deviceTypeValue } }}\n </span>\n </button>\n <ng-template #dashboardTypePopoverRef>\n <div\n [innerHTML]=\"dashboardTypePopover | translate: { dashboardType: dashboard.deviceTypeValue }\"\n ></div>\n </ng-template>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item\n [placement]=\"'right'\"\n [priority]=\"-1\"\n *ngIf=\"defaultWidgets.length > 0\"\n>\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reset widgets' | translate }}\"\n type=\"button\"\n px-event=\"Reset dashboard\"\n (click)=\"restore()\"\n [disabled]=\"disabled || !mo?.id || (widgetsDashboard?.editMode$ | async)\"\n data-cy=\"context-dashboard--button-reset-dashboard\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"reset\"\n ></i>\n <span class=\"visible-xs-inline hidden-sm visible-md-inline visible-lg-inline\">\n {{ 'Reset widgets' | translate }}\n </span>\n </button>\n</c8y-action-bar-item>\n\n<c8y-help\n src=\"/docs/cockpit/working-with-dashboards/#working-with-dashboards\"\n *ngIf=\"showContextHelpButton\"\n></c8y-help>\n\n<c8y-dashboard-detail\n class=\"d-contents\"\n [isReport]=\"isReport\"\n [dashboard]=\"dashboard\"\n [mo]=\"mo\"\n [context]=\"context\"\n [deviceType]=\"context?.type\"\n [hideAvailability]=\"hideAvailability\"\n [isNamedDashboard]=\"isNamedDashboard\"\n (dashboardSaved)=\"reloadDashboard($event)\"\n (previewChanged)=\"dashboardPreview($event)\"\n></c8y-dashboard-detail>\n\n<c8y-widgets-dashboard\n [context]=\"context\"\n [contextDashboard]=\"dashboard\"\n [widgets]=\"widgets\"\n [isCopyDisabled]=\"isCopyDisabled\"\n [settings]=\"{\n isLoading: isLoading,\n isDisabled: disabled,\n canDelete: canDelete && !!dashboard,\n translateWidgetTitle: dashboard?.translateWidgetTitle ?? translateWidgetTitle,\n allowFullscreen: moduleConfig.allowFullscreen,\n title: setTitle ? dashboard?.name || title : undefined,\n widgetMargin: dashboard?.widgetMargin,\n canCopy: canCopy && !!dashboard,\n defaultWidth: dashboard?.columns >= 24 ? 8 : 4,\n columns: dashboard?.columns || 12\n }\"\n [breadcrumb]=\"breadcrumbSettings\"\n [editModeButtons]=\"{\n undoButtonDisabled: editModeService.undoButtonDisabled,\n changeToUndoName: editModeService.changeToUndoName,\n redoButtonDisabled: !editModeService.redoStackLastItem,\n changeToRedoName: editModeService.redoStackLastItem?.name\n }\"\n (onChangeDashboard)=\"positionOrWidgetDimensionChange($event)\"\n (onAddWidget)=\"addWidget()\"\n (onEditWidget)=\"editWidget($event)\"\n (onDeleteWidget)=\"deleteWidget($event)\"\n (onSaveDashboard)=\"saveWidgetsToDashboard()\"\n (onCancelDashboard)=\"cancelEditMode()\"\n (revertChange)=\"revertChange($event)\"\n (onChangeStart)=\"addDashboardClassToBody()\"\n (onChangeEnd)=\"removeDashboardClassFromBody()\"\n (onEditDashboard)=\"editDashboard()\"\n (onCopyDashboard)=\"copyDashboard()\"\n (onDeleteDashboard)=\"deleteDashboard()\"\n></c8y-widgets-dashboard>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { 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: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "component", type: DashboardDetailComponent, selector: "c8y-dashboard-detail", inputs: ["isReport", "deviceType", "context", "mo", "dashboard", "isNamedDashboard", "hideAvailability"], outputs: ["dashboardSaved", "previewChanged"] }, { kind: "component", type: WidgetsDashboardComponent, selector: "c8y-widgets-dashboard", inputs: ["widgets", "context", "contextDashboard", "settings", "isCopyDisabled", "breadcrumb", "editModeButtons"], outputs: ["onAddWidget", "onEditWidget", "onDeleteWidget", "onChangeDashboard", "onResize", "onEditDashboard", "onCopyDashboard", "onDeleteDashboard", "onChangeStart", "onChangeEnd", "onSaveDashboard", "onCancelDashboard", "revertChange"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
3188
3235
|
}
|
|
3189
3236
|
__decorate([
|
|
3190
3237
|
memoize(),
|
|
@@ -3199,7 +3246,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
3199
3246
|
display: block;
|
|
3200
3247
|
`,
|
|
3201
3248
|
class: 'dashboard c8y-grid-dashboard'
|
|
3202
|
-
},
|
|
3249
|
+
}, imports: [
|
|
3250
|
+
NgIf,
|
|
3251
|
+
TitleComponent,
|
|
3252
|
+
ActionBarItemComponent,
|
|
3253
|
+
PopoverDirective,
|
|
3254
|
+
IconDirective,
|
|
3255
|
+
HelpComponent,
|
|
3256
|
+
DashboardDetailComponent,
|
|
3257
|
+
WidgetsDashboardComponent,
|
|
3258
|
+
C8yTranslatePipe,
|
|
3259
|
+
AsyncPipe
|
|
3260
|
+
], template: "<c8y-title *ngIf=\"title\">\n {{ title }}\n</c8y-title>\n\n<c8y-action-bar-item\n [placement]=\"'right'\"\n [priority]=\"10000\"\n *ngIf=\"dashboard?.deviceType && dashboard.deviceTypeValue\"\n>\n <button\n class=\"btn-clean btn-link\"\n popoverTitle=\"{{ 'Dashboard template' | translate }}\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"dashboardTypePopoverRef\"\n placement=\"bottom\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n >\n <span class=\"tag tag--info text-12\">\n <span class=\"dashboard-template-marker\"></span>\n {{ dashboardTypeLabel | translate: { dashboardType: dashboard.deviceTypeValue } }}\n </span>\n </button>\n <ng-template #dashboardTypePopoverRef>\n <div\n [innerHTML]=\"dashboardTypePopover | translate: { dashboardType: dashboard.deviceTypeValue }\"\n ></div>\n </ng-template>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item\n [placement]=\"'right'\"\n [priority]=\"-1\"\n *ngIf=\"defaultWidgets.length > 0\"\n>\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reset widgets' | translate }}\"\n type=\"button\"\n px-event=\"Reset dashboard\"\n (click)=\"restore()\"\n [disabled]=\"disabled || !mo?.id || (widgetsDashboard?.editMode$ | async)\"\n data-cy=\"context-dashboard--button-reset-dashboard\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"reset\"\n ></i>\n <span class=\"visible-xs-inline hidden-sm visible-md-inline visible-lg-inline\">\n {{ 'Reset widgets' | translate }}\n </span>\n </button>\n</c8y-action-bar-item>\n\n<c8y-help\n src=\"/docs/cockpit/working-with-dashboards/#working-with-dashboards\"\n *ngIf=\"showContextHelpButton\"\n></c8y-help>\n\n<c8y-dashboard-detail\n class=\"d-contents\"\n [isReport]=\"isReport\"\n [dashboard]=\"dashboard\"\n [mo]=\"mo\"\n [context]=\"context\"\n [deviceType]=\"context?.type\"\n [hideAvailability]=\"hideAvailability\"\n [isNamedDashboard]=\"isNamedDashboard\"\n (dashboardSaved)=\"reloadDashboard($event)\"\n (previewChanged)=\"dashboardPreview($event)\"\n></c8y-dashboard-detail>\n\n<c8y-widgets-dashboard\n [context]=\"context\"\n [contextDashboard]=\"dashboard\"\n [widgets]=\"widgets\"\n [isCopyDisabled]=\"isCopyDisabled\"\n [settings]=\"{\n isLoading: isLoading,\n isDisabled: disabled,\n canDelete: canDelete && !!dashboard,\n translateWidgetTitle: dashboard?.translateWidgetTitle ?? translateWidgetTitle,\n allowFullscreen: moduleConfig.allowFullscreen,\n title: setTitle ? dashboard?.name || title : undefined,\n widgetMargin: dashboard?.widgetMargin,\n canCopy: canCopy && !!dashboard,\n defaultWidth: dashboard?.columns >= 24 ? 8 : 4,\n columns: dashboard?.columns || 12\n }\"\n [breadcrumb]=\"breadcrumbSettings\"\n [editModeButtons]=\"{\n undoButtonDisabled: editModeService.undoButtonDisabled,\n changeToUndoName: editModeService.changeToUndoName,\n redoButtonDisabled: !editModeService.redoStackLastItem,\n changeToRedoName: editModeService.redoStackLastItem?.name\n }\"\n (onChangeDashboard)=\"positionOrWidgetDimensionChange($event)\"\n (onAddWidget)=\"addWidget()\"\n (onEditWidget)=\"editWidget($event)\"\n (onDeleteWidget)=\"deleteWidget($event)\"\n (onSaveDashboard)=\"saveWidgetsToDashboard()\"\n (onCancelDashboard)=\"cancelEditMode()\"\n (revertChange)=\"revertChange($event)\"\n (onChangeStart)=\"addDashboardClassToBody()\"\n (onChangeEnd)=\"removeDashboardClassFromBody()\"\n (onEditDashboard)=\"editDashboard()\"\n (onCopyDashboard)=\"copyDashboard()\"\n (onDeleteDashboard)=\"deleteDashboard()\"\n></c8y-widgets-dashboard>\n" }]
|
|
3203
3261
|
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: ContextDashboardService }, { type: i2.AlertService }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
3204
3262
|
type: Inject,
|
|
3205
3263
|
args: [CONTEXT_DASHBOARD_CONFIG]
|
|
@@ -3364,7 +3422,7 @@ class PasteDashboardActionComponent {
|
|
|
3364
3422
|
this.pasteDisabled = false;
|
|
3365
3423
|
}
|
|
3366
3424
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PasteDashboardActionComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.Router }, { token: ContextDashboardService }, { token: i1$1.InventoryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3367
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: PasteDashboardActionComponent, isStandalone:
|
|
3425
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: PasteDashboardActionComponent, isStandalone: true, selector: "c8y-paste-dashboard-action", viewQueries: [{ propertyName: "templatePaste", first: true, predicate: ["templatePaste"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
|
|
3368
3426
|
<ng-template #templatePaste>
|
|
3369
3427
|
<li>
|
|
3370
3428
|
<button
|
|
@@ -3381,7 +3439,7 @@ class PasteDashboardActionComponent {
|
|
|
3381
3439
|
</button>
|
|
3382
3440
|
</li>
|
|
3383
3441
|
</ng-template>
|
|
3384
|
-
`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
3442
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
|
|
3385
3443
|
}
|
|
3386
3444
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: PasteDashboardActionComponent, decorators: [{
|
|
3387
3445
|
type: Component,
|
|
@@ -3405,7 +3463,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
3405
3463
|
</li>
|
|
3406
3464
|
</ng-template>
|
|
3407
3465
|
`,
|
|
3408
|
-
|
|
3466
|
+
imports: [IconDirective, C8yTranslateDirective, C8yTranslatePipe]
|
|
3409
3467
|
}]
|
|
3410
3468
|
}], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i1.Router }, { type: ContextDashboardService }, { type: i1$1.InventoryService }], propDecorators: { templatePaste: [{
|
|
3411
3469
|
type: ViewChild,
|
|
@@ -3481,6 +3539,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
3481
3539
|
const defaultConfig = {
|
|
3482
3540
|
allowFullscreen: true
|
|
3483
3541
|
};
|
|
3542
|
+
/**
|
|
3543
|
+
* Module for the Context Dashboard feature.
|
|
3544
|
+
* This module provides components and configurations for managing dashboards,
|
|
3545
|
+
* {@link ContextDashboardComponent} is the main component for displaying the dashboard context.
|
|
3546
|
+
* {@link WidgetConfigComponent} allows for configuring widgets within the dashboard.
|
|
3547
|
+
* {@link DashboardDetailComponent} provides detailed views of individual dashboards.
|
|
3548
|
+
*/
|
|
3484
3549
|
class ContextDashboardModule {
|
|
3485
3550
|
static config(config = {}) {
|
|
3486
3551
|
return {
|
|
@@ -3495,20 +3560,21 @@ class ContextDashboardModule {
|
|
|
3495
3560
|
};
|
|
3496
3561
|
}
|
|
3497
3562
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ContextDashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3498
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: ContextDashboardModule,
|
|
3499
|
-
WidgetConfigComponent,
|
|
3500
|
-
DashboardDetailComponent,
|
|
3501
|
-
AddDashboardComponent,
|
|
3502
|
-
PasteDashboardActionComponent], imports: [CoreModule,
|
|
3563
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: ContextDashboardModule, imports: [CoreModule,
|
|
3503
3564
|
TooltipModule,
|
|
3504
3565
|
PopoverModule,
|
|
3505
3566
|
AssetSelectorModule,
|
|
3506
|
-
IconSelectorModule, i1$3.BsDropdownModule,
|
|
3567
|
+
IconSelectorModule, i1$3.BsDropdownModule, i2$3.CollapseModule, RouterModule,
|
|
3507
3568
|
AppearanceSettingsComponent,
|
|
3508
3569
|
TypeDashboardInfoComponent,
|
|
3509
3570
|
WidgetPreviewComponent,
|
|
3510
3571
|
WidgetConfigSectionComponent,
|
|
3511
|
-
WidgetPreviewWrapperComponent
|
|
3572
|
+
WidgetPreviewWrapperComponent,
|
|
3573
|
+
ContextDashboardComponent,
|
|
3574
|
+
WidgetConfigComponent,
|
|
3575
|
+
DashboardDetailComponent,
|
|
3576
|
+
AddDashboardComponent,
|
|
3577
|
+
PasteDashboardActionComponent], exports: [ContextDashboardComponent,
|
|
3512
3578
|
WidgetConfigComponent,
|
|
3513
3579
|
DashboardDetailComponent,
|
|
3514
3580
|
TypeDashboardInfoComponent,
|
|
@@ -3524,19 +3590,19 @@ class ContextDashboardModule {
|
|
|
3524
3590
|
hookRoute([
|
|
3525
3591
|
{
|
|
3526
3592
|
path: DashboardDetailsTabId.GENERAL,
|
|
3527
|
-
loadComponent: () => import('./c8y-ngx-components-context-dashboard-dashboard-general-settings.component-
|
|
3593
|
+
loadComponent: () => import('./c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RXvOcs04.mjs').then(m => m.DashboardGeneralSettingsComponent),
|
|
3528
3594
|
outlet: DASHBOARD_DETAILS_OUTLET,
|
|
3529
3595
|
context: ViewContext.Dashboard
|
|
3530
3596
|
},
|
|
3531
3597
|
{
|
|
3532
3598
|
path: DashboardDetailsTabId.APPEARANCE,
|
|
3533
|
-
loadComponent: () => import('./c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-
|
|
3599
|
+
loadComponent: () => import('./c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C-JLbcn5.mjs').then(m => m.DashboardAppearanceSettingsComponent),
|
|
3534
3600
|
outlet: DASHBOARD_DETAILS_OUTLET,
|
|
3535
3601
|
context: ViewContext.Dashboard
|
|
3536
3602
|
},
|
|
3537
3603
|
{
|
|
3538
3604
|
path: DashboardDetailsTabId.VERSIONHISTORY,
|
|
3539
|
-
loadComponent: () => import('./c8y-ngx-components-context-dashboard-dashboard-version-history.component-
|
|
3605
|
+
loadComponent: () => import('./c8y-ngx-components-context-dashboard-dashboard-version-history.component-DmPIJGXO.mjs').then(m => m.DashboardVersionHistoryComponent),
|
|
3540
3606
|
outlet: DASHBOARD_DETAILS_OUTLET,
|
|
3541
3607
|
context: ViewContext.Dashboard
|
|
3542
3608
|
}
|
|
@@ -3551,18 +3617,14 @@ class ContextDashboardModule {
|
|
|
3551
3617
|
RouterModule,
|
|
3552
3618
|
AppearanceSettingsComponent,
|
|
3553
3619
|
WidgetPreviewComponent,
|
|
3554
|
-
WidgetConfigSectionComponent
|
|
3620
|
+
WidgetConfigSectionComponent,
|
|
3621
|
+
ContextDashboardComponent,
|
|
3622
|
+
WidgetConfigComponent,
|
|
3623
|
+
DashboardDetailComponent] }); }
|
|
3555
3624
|
}
|
|
3556
3625
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ContextDashboardModule, decorators: [{
|
|
3557
3626
|
type: NgModule,
|
|
3558
3627
|
args: [{
|
|
3559
|
-
declarations: [
|
|
3560
|
-
ContextDashboardComponent,
|
|
3561
|
-
WidgetConfigComponent,
|
|
3562
|
-
DashboardDetailComponent,
|
|
3563
|
-
AddDashboardComponent,
|
|
3564
|
-
PasteDashboardActionComponent
|
|
3565
|
-
],
|
|
3566
3628
|
imports: [
|
|
3567
3629
|
CoreModule,
|
|
3568
3630
|
TooltipModule,
|
|
@@ -3576,7 +3638,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
3576
3638
|
TypeDashboardInfoComponent,
|
|
3577
3639
|
WidgetPreviewComponent,
|
|
3578
3640
|
WidgetConfigSectionComponent,
|
|
3579
|
-
WidgetPreviewWrapperComponent
|
|
3641
|
+
WidgetPreviewWrapperComponent,
|
|
3642
|
+
ContextDashboardComponent,
|
|
3643
|
+
WidgetConfigComponent,
|
|
3644
|
+
DashboardDetailComponent,
|
|
3645
|
+
AddDashboardComponent,
|
|
3646
|
+
PasteDashboardActionComponent
|
|
3580
3647
|
],
|
|
3581
3648
|
exports: [
|
|
3582
3649
|
ContextDashboardComponent,
|
|
@@ -3596,19 +3663,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
3596
3663
|
hookRoute([
|
|
3597
3664
|
{
|
|
3598
3665
|
path: DashboardDetailsTabId.GENERAL,
|
|
3599
|
-
loadComponent: () => import('./c8y-ngx-components-context-dashboard-dashboard-general-settings.component-
|
|
3666
|
+
loadComponent: () => import('./c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RXvOcs04.mjs').then(m => m.DashboardGeneralSettingsComponent),
|
|
3600
3667
|
outlet: DASHBOARD_DETAILS_OUTLET,
|
|
3601
3668
|
context: ViewContext.Dashboard
|
|
3602
3669
|
},
|
|
3603
3670
|
{
|
|
3604
3671
|
path: DashboardDetailsTabId.APPEARANCE,
|
|
3605
|
-
loadComponent: () => import('./c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-
|
|
3672
|
+
loadComponent: () => import('./c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C-JLbcn5.mjs').then(m => m.DashboardAppearanceSettingsComponent),
|
|
3606
3673
|
outlet: DASHBOARD_DETAILS_OUTLET,
|
|
3607
3674
|
context: ViewContext.Dashboard
|
|
3608
3675
|
},
|
|
3609
3676
|
{
|
|
3610
3677
|
path: DashboardDetailsTabId.VERSIONHISTORY,
|
|
3611
|
-
loadComponent: () => import('./c8y-ngx-components-context-dashboard-dashboard-version-history.component-
|
|
3678
|
+
loadComponent: () => import('./c8y-ngx-components-context-dashboard-dashboard-version-history.component-DmPIJGXO.mjs').then(m => m.DashboardVersionHistoryComponent),
|
|
3612
3679
|
outlet: DASHBOARD_DETAILS_OUTLET,
|
|
3613
3680
|
context: ViewContext.Dashboard
|
|
3614
3681
|
}
|
|
@@ -3963,11 +4030,11 @@ class DeviceInfoDashboardComponent {
|
|
|
3963
4030
|
return this.contextDashboard?.canDeactivate();
|
|
3964
4031
|
}
|
|
3965
4032
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DeviceInfoDashboardComponent, deps: [{ token: i1.ActivatedRoute }, { token: WidgetService }, { token: i2$1.TranslateService }, { token: i1$1.InventoryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3966
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DeviceInfoDashboardComponent, isStandalone:
|
|
4033
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DeviceInfoDashboardComponent, isStandalone: true, selector: "c8y-device-info-dashboard-dashboard", viewQueries: [{ propertyName: "contextDashboard", first: true, predicate: ContextDashboardComponent, descendants: true }], ngImport: i0, template: "<div *ngIf=\"!isLoading\">\n <c8y-title>\n {{ title }}\n </c8y-title>\n <c8y-context-dashboard\n [translateWidgetTitle]=\"true\"\n [name]=\"dashboardName\"\n [context]=\"currentContext\"\n [defaultWidgets]=\"widgetsList\"\n [canDelete]=\"false\"\n [hideAvailability]=\"true\"\n [canCopy]=\"false\"\n ></c8y-context-dashboard>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: ContextDashboardComponent, selector: "c8y-context-dashboard", inputs: ["name", "childrenClasses", "context", "setTitle", "defaultWidgets", "canCopy", "canDelete", "isLoading", "breadcrumbSettings", "showContextHelpButton", "translateWidgetTitle", "hideAvailability"] }] }); }
|
|
3967
4034
|
}
|
|
3968
4035
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DeviceInfoDashboardComponent, decorators: [{
|
|
3969
4036
|
type: Component,
|
|
3970
|
-
args: [{ selector: 'c8y-device-info-dashboard-dashboard',
|
|
4037
|
+
args: [{ selector: 'c8y-device-info-dashboard-dashboard', imports: [NgIf, TitleComponent, ContextDashboardComponent], template: "<div *ngIf=\"!isLoading\">\n <c8y-title>\n {{ title }}\n </c8y-title>\n <c8y-context-dashboard\n [translateWidgetTitle]=\"true\"\n [name]=\"dashboardName\"\n [context]=\"currentContext\"\n [defaultWidgets]=\"widgetsList\"\n [canDelete]=\"false\"\n [hideAvailability]=\"true\"\n [canCopy]=\"false\"\n ></c8y-context-dashboard>\n</div>\n" }]
|
|
3971
4038
|
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: WidgetService }, { type: i2$1.TranslateService }, { type: i1$1.InventoryService }], propDecorators: { contextDashboard: [{
|
|
3972
4039
|
type: ViewChild,
|
|
3973
4040
|
args: [ContextDashboardComponent, { static: false }]
|
|
@@ -3975,7 +4042,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
3975
4042
|
|
|
3976
4043
|
class DeviceInfoDashboardModule {
|
|
3977
4044
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DeviceInfoDashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3978
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: DeviceInfoDashboardModule,
|
|
4045
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: DeviceInfoDashboardModule, imports: [CommonModule, CoreModule, ContextDashboardModule, DeviceInfoDashboardComponent] }); }
|
|
3979
4046
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DeviceInfoDashboardModule, providers: [
|
|
3980
4047
|
hookRoute({
|
|
3981
4048
|
context: ViewContext.Device,
|
|
@@ -3987,13 +4054,12 @@ class DeviceInfoDashboardModule {
|
|
|
3987
4054
|
canDeactivate: [(component) => component.canDeactivate()],
|
|
3988
4055
|
rootContext: ViewContext.Dashboard
|
|
3989
4056
|
})
|
|
3990
|
-
], imports: [CommonModule, CoreModule, ContextDashboardModule] }); }
|
|
4057
|
+
], imports: [CommonModule, CoreModule, ContextDashboardModule, DeviceInfoDashboardComponent] }); }
|
|
3991
4058
|
}
|
|
3992
4059
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DeviceInfoDashboardModule, decorators: [{
|
|
3993
4060
|
type: NgModule,
|
|
3994
4061
|
args: [{
|
|
3995
|
-
|
|
3996
|
-
imports: [CommonModule, CoreModule, ContextDashboardModule],
|
|
4062
|
+
imports: [CommonModule, CoreModule, ContextDashboardModule, DeviceInfoDashboardComponent],
|
|
3997
4063
|
exports: [],
|
|
3998
4064
|
providers: [
|
|
3999
4065
|
hookRoute({
|
|
@@ -4045,11 +4111,11 @@ class DeviceManagementHomeDashboardComponent {
|
|
|
4045
4111
|
return this.contextDashboard?.canDeactivate();
|
|
4046
4112
|
}
|
|
4047
4113
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DeviceManagementHomeDashboardComponent, deps: [{ token: WidgetService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4048
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DeviceManagementHomeDashboardComponent, isStandalone:
|
|
4114
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DeviceManagementHomeDashboardComponent, isStandalone: true, selector: "c8y-device-management-home-dashboard", viewQueries: [{ propertyName: "contextDashboard", first: true, predicate: ContextDashboardComponent, descendants: true, static: true }], ngImport: i0, template: "<c8y-title>\n {{ 'Home' | 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: TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: ContextDashboardComponent, selector: "c8y-context-dashboard", inputs: ["name", "childrenClasses", "context", "setTitle", "defaultWidgets", "canCopy", "canDelete", "isLoading", "breadcrumbSettings", "showContextHelpButton", "translateWidgetTitle", "hideAvailability"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
|
|
4049
4115
|
}
|
|
4050
4116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DeviceManagementHomeDashboardComponent, decorators: [{
|
|
4051
4117
|
type: Component,
|
|
4052
|
-
args: [{ selector: 'c8y-device-management-home-dashboard',
|
|
4118
|
+
args: [{ selector: 'c8y-device-management-home-dashboard', imports: [TitleComponent, ContextDashboardComponent, C8yTranslatePipe], template: "<c8y-title>\n {{ 'Home' | 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" }]
|
|
4053
4119
|
}], ctorParameters: () => [{ type: WidgetService }], propDecorators: { contextDashboard: [{
|
|
4054
4120
|
type: ViewChild,
|
|
4055
4121
|
args: [ContextDashboardComponent, { static: true }]
|
|
@@ -4057,7 +4123,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
4057
4123
|
|
|
4058
4124
|
class DeviceManagementHomeDashboardModule {
|
|
4059
4125
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DeviceManagementHomeDashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
4060
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: DeviceManagementHomeDashboardModule,
|
|
4126
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: DeviceManagementHomeDashboardModule, imports: [CommonModule,
|
|
4127
|
+
CoreModule,
|
|
4128
|
+
ContextDashboardModule,
|
|
4129
|
+
DeviceManagementHomeDashboardComponent] }); }
|
|
4061
4130
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DeviceManagementHomeDashboardModule, providers: [
|
|
4062
4131
|
hookRoute({
|
|
4063
4132
|
path: 'home',
|
|
@@ -4066,13 +4135,20 @@ class DeviceManagementHomeDashboardModule {
|
|
|
4066
4135
|
rootContext: ViewContext.Dashboard
|
|
4067
4136
|
}),
|
|
4068
4137
|
hookNavigator({ label: gettext('Home'), icon: 'home', priority: 10000, path: '/home' })
|
|
4069
|
-
], imports: [CommonModule,
|
|
4138
|
+
], imports: [CommonModule,
|
|
4139
|
+
CoreModule,
|
|
4140
|
+
ContextDashboardModule,
|
|
4141
|
+
DeviceManagementHomeDashboardComponent] }); }
|
|
4070
4142
|
}
|
|
4071
4143
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DeviceManagementHomeDashboardModule, decorators: [{
|
|
4072
4144
|
type: NgModule,
|
|
4073
4145
|
args: [{
|
|
4074
|
-
|
|
4075
|
-
|
|
4146
|
+
imports: [
|
|
4147
|
+
CommonModule,
|
|
4148
|
+
CoreModule,
|
|
4149
|
+
ContextDashboardModule,
|
|
4150
|
+
DeviceManagementHomeDashboardComponent
|
|
4151
|
+
],
|
|
4076
4152
|
exports: [],
|
|
4077
4153
|
providers: [
|
|
4078
4154
|
hookRoute({
|