@c8y/ngx-components 1022.34.0 → 1022.44.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/actility-device-registration/actility-device-registration.component.d.ts.map +1 -1
- package/actility-device-registration/actility-device-registration.service.d.ts.map +1 -1
- package/alarms/alarm-details.component.d.ts.map +1 -1
- package/alarms/alarm-info.component.d.ts.map +1 -1
- package/alarms/alarm-severity-to-icon-class.pipe.d.ts +9 -0
- package/alarms/alarm-severity-to-icon-class.pipe.d.ts.map +1 -0
- package/alarms/alarms-icon.component.d.ts.map +1 -1
- package/alarms/alarms-interval-refresh.component.d.ts.map +1 -1
- package/alarms/alarms-list.component.d.ts.map +1 -1
- package/alarms/alarms-view.service.d.ts.map +1 -1
- package/alarms/alarms.component.d.ts.map +1 -1
- package/alarms/alarms.helper.d.ts.map +1 -1
- package/alarms/alarms.model.d.ts.map +1 -1
- package/alarms/cockpit/index.d.ts.map +1 -1
- package/alarms/devicemanagement/index.d.ts.map +1 -1
- package/alarms/index.d.ts +1 -0
- package/alarms/index.d.ts.map +1 -1
- package/asset-properties/asset-properties.model.d.ts +77 -1
- package/asset-properties/asset-properties.model.d.ts.map +1 -1
- package/asset-properties/asset-properties.service.d.ts +17 -0
- package/asset-properties/asset-properties.service.d.ts.map +1 -1
- package/asset-properties/asset-property-list/asset-property-collapse-button-title.pipe.d.ts +14 -0
- package/asset-properties/asset-property-list/asset-property-collapse-button-title.pipe.d.ts.map +1 -0
- package/asset-properties/asset-property-list/asset-property-icon.pipe.d.ts +2 -1
- package/asset-properties/asset-property-list/asset-property-icon.pipe.d.ts.map +1 -1
- package/asset-properties/asset-property-list/asset-property-list.component.d.ts +52 -13
- package/asset-properties/asset-property-list/asset-property-list.component.d.ts.map +1 -1
- package/asset-properties/asset-property-list/asset-property-value.pipe.d.ts +7 -3
- package/asset-properties/asset-property-list/asset-property-value.pipe.d.ts.map +1 -1
- package/asset-properties/asset-property-list/tree-data-source.d.ts +1 -0
- package/asset-properties/asset-property-list/tree-data-source.d.ts.map +1 -1
- package/asset-properties/asset-property-selector-drawer/asset-property-selector-drawer.component.d.ts.map +1 -1
- package/asset-properties/computed-properties-config/computed-properties-config.component.d.ts +39 -0
- package/asset-properties/computed-properties-config/computed-properties-config.component.d.ts.map +1 -0
- package/asset-properties/computed-properties.service.d.ts +27 -0
- package/asset-properties/computed-properties.service.d.ts.map +1 -0
- package/asset-properties/custom-properties-drawer/custom-properties-drawer.component.d.ts +11 -6
- package/asset-properties/custom-properties-drawer/custom-properties-drawer.component.d.ts.map +1 -1
- package/asset-properties/custom-properties-drawer.service.d.ts +2 -1
- package/asset-properties/custom-properties-drawer.service.d.ts.map +1 -1
- package/asset-properties/index.d.ts +1 -0
- package/asset-properties/index.d.ts.map +1 -1
- package/assets-navigator/asset-node.d.ts.map +1 -1
- package/assets-navigator/asset-node.service.d.ts.map +1 -1
- package/assets-navigator/asset-selector/asset-selector-node.component.d.ts.map +1 -1
- package/assets-navigator/asset-selector/asset-selector.model.d.ts +1 -2
- package/assets-navigator/asset-selector/asset-selector.model.d.ts.map +1 -1
- package/assets-navigator/asset-selector/miller-view.component.d.ts +17 -5
- package/assets-navigator/asset-selector/miller-view.component.d.ts.map +1 -1
- package/assets-navigator/asset-selector/unassigned-devices-node.d.ts.map +1 -1
- package/assets-navigator/load-more-node.d.ts.map +1 -1
- package/auth-configuration/basic-settings/login-settings.component.d.ts.map +1 -1
- package/auth-configuration/basic-settings/session-configuration.component.d.ts.map +1 -1
- package/auth-configuration/factories/navigation.factory.d.ts.map +1 -1
- package/auth-configuration/factories/tabs.factory.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/sso-configuration.component.d.ts.map +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/signature-configuration.component.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.d.ts.map +1 -1
- package/binary-file-download/binary-file-download.service.d.ts.map +1 -1
- package/bookmarks/bookmarks.component.d.ts.map +1 -1
- package/bookmarks/bookmarks.service.d.ts.map +1 -1
- package/bookmarks/edit-bookmarks/edit-bookmarks.component.d.ts.map +1 -1
- package/branding/dark-theme/dark-theme-tab.factory.d.ts.map +1 -1
- package/branding/extra-css-branding-editor/extra-css-branding-editor-tab.factory.d.ts.map +1 -1
- package/branding/plain-branding-editor/plain-branding-editor-tab.factory.d.ts.map +1 -1
- package/branding/shared/lazy/branding-form/branding-form.component.d.ts.map +1 -1
- package/branding/shared/lazy/branding-import-modal/branding-import-modal.component.d.ts.map +1 -1
- package/branding/shared/lazy/edit-branding-router-outlet/edit-branding-router-outlet.component.d.ts.map +1 -1
- package/cockpit-config/cockpit-config.guard.d.ts.map +1 -1
- package/cockpit-config/cockpit-configuration.component.d.ts.map +1 -1
- package/computed-asset-properties/alarm-count/alarm-count-3-months-computed-property.d.ts +8 -0
- package/computed-asset-properties/alarm-count/alarm-count-3-months-computed-property.d.ts.map +1 -0
- package/computed-asset-properties/alarm-count/alarm-count-config.component.d.ts +26 -0
- package/computed-asset-properties/alarm-count/alarm-count-config.component.d.ts.map +1 -0
- package/computed-asset-properties/alarm-count/alarm-count-today-computed-property.d.ts +8 -0
- package/computed-asset-properties/alarm-count/alarm-count-today-computed-property.d.ts.map +1 -0
- package/computed-asset-properties/alarm-count/alarm-count-value.d.ts +17 -0
- package/computed-asset-properties/alarm-count/alarm-count-value.d.ts.map +1 -0
- package/computed-asset-properties/alarm-count/alarm-count.model.d.ts +6 -0
- package/computed-asset-properties/alarm-count/alarm-count.model.d.ts.map +1 -0
- package/computed-asset-properties/c8y-ngx-components-computed-asset-properties.d.ts.map +1 -0
- package/computed-asset-properties/child-count/child-assets-count-computed-property.d.ts +14 -0
- package/computed-asset-properties/child-count/child-assets-count-computed-property.d.ts.map +1 -0
- package/computed-asset-properties/child-count/child-count-value.d.ts +14 -0
- package/computed-asset-properties/child-count/child-count-value.d.ts.map +1 -0
- package/computed-asset-properties/child-count/child-devices-count-computed-property.d.ts +14 -0
- package/computed-asset-properties/child-count/child-devices-count-computed-property.d.ts.map +1 -0
- package/computed-asset-properties/common/realtime-value-base.d.ts +32 -0
- package/computed-asset-properties/common/realtime-value-base.d.ts.map +1 -0
- package/computed-asset-properties/common/realtime-value-handler.d.ts +19 -0
- package/computed-asset-properties/common/realtime-value-handler.d.ts.map +1 -0
- package/computed-asset-properties/configuration-snapshot/configuration-snapshot-computed-property.d.ts +7 -0
- package/computed-asset-properties/configuration-snapshot/configuration-snapshot-computed-property.d.ts.map +1 -0
- package/computed-asset-properties/configuration-snapshot/configuration-snapshot-config.component.d.ts +21 -0
- package/computed-asset-properties/configuration-snapshot/configuration-snapshot-config.component.d.ts.map +1 -0
- package/computed-asset-properties/configuration-snapshot/configuration-snapshot.model.d.ts +8 -0
- package/computed-asset-properties/configuration-snapshot/configuration-snapshot.model.d.ts.map +1 -0
- package/computed-asset-properties/event-count/event-count-3-months.d.ts +8 -0
- package/computed-asset-properties/event-count/event-count-3-months.d.ts.map +1 -0
- package/computed-asset-properties/event-count/event-count-config.component.d.ts +18 -0
- package/computed-asset-properties/event-count/event-count-config.component.d.ts.map +1 -0
- package/computed-asset-properties/event-count/event-count-today.d.ts +8 -0
- package/computed-asset-properties/event-count/event-count-today.d.ts.map +1 -0
- package/computed-asset-properties/event-count/event-count-value.d.ts +17 -0
- package/computed-asset-properties/event-count/event-count-value.d.ts.map +1 -0
- package/computed-asset-properties/event-count/event-count.model.d.ts +4 -0
- package/computed-asset-properties/event-count/event-count.model.d.ts.map +1 -0
- package/computed-asset-properties/index.d.ts +3 -0
- package/computed-asset-properties/index.d.ts.map +1 -0
- package/computed-asset-properties/last-device-message/last-device-message-computed-property.d.ts +3 -0
- package/computed-asset-properties/last-device-message/last-device-message-computed-property.d.ts.map +1 -0
- package/computed-asset-properties/last-device-message/last-device-message-value.d.ts +13 -0
- package/computed-asset-properties/last-device-message/last-device-message-value.d.ts.map +1 -0
- package/computed-asset-properties/last-measurement/last-measurement-computed-property.d.ts +8 -0
- package/computed-asset-properties/last-measurement/last-measurement-computed-property.d.ts.map +1 -0
- package/computed-asset-properties/last-measurement/last-measurement-config.component.d.ts +48 -0
- package/computed-asset-properties/last-measurement/last-measurement-config.component.d.ts.map +1 -0
- package/computed-asset-properties/last-measurement/last-measurement-value.d.ts +13 -0
- package/computed-asset-properties/last-measurement/last-measurement-value.d.ts.map +1 -0
- package/computed-asset-properties/last-measurement/last-measurement.model.d.ts +28 -0
- package/computed-asset-properties/last-measurement/last-measurement.model.d.ts.map +1 -0
- package/computed-asset-properties/strategies/alarm-count-strategy.d.ts +17 -0
- package/computed-asset-properties/strategies/alarm-count-strategy.d.ts.map +1 -0
- package/computed-asset-properties/strategies/child-count-strategy.d.ts +14 -0
- package/computed-asset-properties/strategies/child-count-strategy.d.ts.map +1 -0
- package/computed-asset-properties/strategies/count-strategy-base.d.ts +12 -0
- package/computed-asset-properties/strategies/count-strategy-base.d.ts.map +1 -0
- package/computed-asset-properties/strategies/event-count-strategy.d.ts +16 -0
- package/computed-asset-properties/strategies/event-count-strategy.d.ts.map +1 -0
- package/computed-asset-properties/strategies/last-device-message-strategy.d.ts +20 -0
- package/computed-asset-properties/strategies/last-device-message-strategy.d.ts.map +1 -0
- package/computed-asset-properties/strategies/last-measurement-strategy.d.ts +16 -0
- package/computed-asset-properties/strategies/last-measurement-strategy.d.ts.map +1 -0
- package/connectivity/abstract-connectivity-node.factory.d.ts.map +1 -1
- package/connectivity/actility/actility-tab.factory.d.ts.map +1 -1
- package/connectivity/sigfox/sigfox-tab.factory.d.ts.map +1 -1
- package/connectivity/sim/sim.module.d.ts.map +1 -1
- package/context-dashboard/cockpit-home-dashboard/cockpit-dashboard.component.d.ts.map +1 -1
- package/context-dashboard/cockpit-home-dashboard/cockpit-dashboard.model.d.ts.map +1 -1
- package/context-dashboard/cockpit-home-dashboard/cockpit-dashboard.module.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.component.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.model.d.ts +16 -0
- package/context-dashboard/context-dashboard.model.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.service.d.ts.map +1 -1
- package/context-dashboard/dashboard-detail.component.d.ts.map +1 -1
- package/context-dashboard/dashboard-detail.service.d.ts.map +1 -1
- package/context-dashboard/dashboard-details-tabs.factory.d.ts.map +1 -1
- package/context-dashboard/dashboard-settings/dashboard-general-settings.component.d.ts.map +1 -1
- package/context-dashboard/dashboard-settings/dashboard-version-history.component.d.ts.map +1 -1
- package/context-dashboard/dashboard-settings/typed-dashboard-settings.component.d.ts.map +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.map +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.map +1 -1
- package/context-dashboard/new-dashboard.guard.d.ts.map +1 -1
- package/context-dashboard/widget-config/appearance-settings.component.d.ts.map +1 -1
- package/context-dashboard/widget-config.service.d.ts +11 -1
- package/context-dashboard/widget-config.service.d.ts.map +1 -1
- package/core/action/action.service.d.ts +1 -1
- package/core/action-bar/action-bar.service.d.ts +1 -1
- package/core/authentication/simplified-auth.service.d.ts +1 -1
- package/core/authentication/simplified-auth.service.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb.service.d.ts +1 -1
- package/core/common/date.pipe.d.ts.map +1 -1
- package/core/common/extension-hooks.d.ts.map +1 -1
- package/core/common/options.service.d.ts +1 -1
- package/core/common/service-registry.service.d.ts +1 -1
- package/core/common/ui-state.service.d.ts +7 -7
- package/core/common/ui-state.service.d.ts.map +1 -1
- package/core/common/user-preferences/user-preferences.service.d.ts +4 -4
- package/core/common/user-preferences/user-preferences.service.d.ts.map +1 -1
- package/core/dashboard/widgets-dashboard.component.d.ts +1 -1
- package/core/dashboard/widgets-dashboard.component.d.ts.map +1 -1
- package/core/data-grid/action-controls-extension.service.d.ts +1 -1
- package/core/data-grid/filter-chip/filter-mapper.factory.d.ts +1 -1
- package/core/date-picker/date-picker.component.d.ts.map +1 -1
- package/core/docs/docs.models.d.ts +1 -1
- package/core/docs/docs.module.d.ts +1 -1
- package/core/docs/help-and-support-outlet/help-and-support-outlet.module.d.ts +1 -1
- package/core/docs/legal-notices-outlet/legal-notices-outlet.module.d.ts +1 -1
- package/core/docs/support-outlet/support-outlet.component.d.ts +4 -3
- package/core/docs/support-outlet/support-outlet.component.d.ts.map +1 -1
- package/core/docs/support-outlet/support-outlet.module.d.ts +1 -1
- package/core/drawer/drawer.service.d.ts +1 -1
- package/core/dynamic-component/dynamic-component.model.d.ts +18 -4
- package/core/dynamic-component/dynamic-component.model.d.ts.map +1 -1
- package/core/dynamic-forms/i18n/translate.extension.d.ts.map +1 -1
- package/core/feedback-form/feedback-form.component.d.ts +27 -0
- package/core/feedback-form/feedback-form.component.d.ts.map +1 -0
- package/core/feedback-form/feedback-form.model.d.ts +6 -0
- package/core/feedback-form/feedback-form.model.d.ts.map +1 -0
- package/core/feedback-form/index.d.ts +2 -0
- package/core/feedback-form/index.d.ts.map +1 -0
- package/core/i18n/gettext.d.ts +4 -1
- package/core/i18n/gettext.d.ts.map +1 -1
- package/core/i18n/pattern-messages.data.d.ts +61 -0
- package/core/i18n/pattern-messages.data.d.ts.map +1 -1
- package/core/i18n/patterns-message.hook.d.ts +1 -1
- package/core/index.d.ts +1 -0
- package/core/index.d.ts.map +1 -1
- package/core/modal/modal.service.d.ts +0 -1
- package/core/modal/modal.service.d.ts.map +1 -1
- package/core/navigator/navigator-bottom/navigator-bottom.module.d.ts +1 -1
- package/core/navigator/navigator-top/navigator-top.module.d.ts +1 -1
- package/core/navigator/navigator.module.d.ts +1 -1
- package/core/navigator/navigator.service.d.ts +1 -1
- package/core/plugins/index.d.ts +1 -0
- package/core/plugins/index.d.ts.map +1 -1
- package/core/plugins/plugins-injection-token.d.ts +14 -0
- package/core/plugins/plugins-injection-token.d.ts.map +1 -0
- package/core/plugins/plugins-loader.service.d.ts +7 -21
- package/core/plugins/plugins-loader.service.d.ts.map +1 -1
- package/core/plugins/plugins-resolve.service.d.ts +1 -0
- package/core/plugins/plugins-resolve.service.d.ts.map +1 -1
- package/core/preview-feature/preview-feature.component.d.ts.map +1 -1
- package/core/preview-feature/preview-feature.service.d.ts +1 -1
- package/core/provider-configuration/provider-configuration-hook.d.ts +1 -1
- package/core/query-param-handler/index.d.ts +1 -1
- package/core/query-param-handler/query-param-bottom-drawer.service.d.ts +1 -1
- package/core/query-param-handler/query-param-handler.service.d.ts +1 -1
- package/core/query-param-handler/query-param-modal-handler.service.d.ts +1 -1
- package/core/router/router.service.d.ts +1 -1
- package/core/search/search.service.d.ts +1 -1
- package/core/stepper/stepper.service.d.ts +1 -1
- package/core/tabs/tab.component.d.ts +2 -2
- package/core/tabs/tab.component.d.ts.map +1 -1
- package/core/tabs/tab.model.d.ts +2 -2
- package/core/tabs/tab.model.d.ts.map +1 -1
- package/core/tabs/tabs.service.d.ts +1 -1
- package/core/tabs/tabs.service.d.ts.map +1 -1
- package/core/ui-settings/ui-settings.module.d.ts +1 -1
- package/core/user/change-current-user-password.service.d.ts +10 -0
- package/core/user/change-current-user-password.service.d.ts.map +1 -0
- package/core/user/index.d.ts +1 -0
- package/core/user/index.d.ts.map +1 -1
- package/core/user/user-details-drawer/user-details-drawer.module.d.ts +1 -1
- package/core/user/user-menu.service.d.ts +1 -1
- package/core/user/user.module.d.ts +1 -1
- package/core/version/version.model.d.ts +1 -1
- package/core/version/version.module.d.ts +1 -1
- package/core/wizard/wizard.model.d.ts +1 -1
- package/dashboard-details-advanced-tab/advanced-tab.factory.d.ts.map +1 -1
- package/dashboard-details-advanced-tab/assign-widget-assets/assign-widget-asset-modal.component.d.ts.map +1 -1
- package/dashboard-details-advanced-tab/dashboard-json-editor/dashboard-json-editor.component.d.ts.map +1 -1
- package/dashboard-details-advanced-tab/dashboard-json-editor/import-export-widgets.service.d.ts.map +1 -1
- package/dashboard-manager/dashboard-manager-tabs.factory.d.ts.map +1 -1
- package/dashboard-manager/dashboard-manager.service.d.ts.map +1 -1
- package/dashboard-manager/devicemanagement/index.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.map +1 -1
- package/dashboard-manager/type-dashboards-list/device-type-value.grid-column.d.ts.map +1 -1
- package/dashboard-manager/type-dashboards-list/type-dashboards-list.component.d.ts.map +1 -1
- package/data-grid-columns/asset-type/asset-type-grid-column.d.ts.map +1 -1
- package/data-grid-columns/asset-type/asset-type.cell-renderer.component.d.ts.map +1 -1
- package/datapoint-explorer/datapoint-explorer-navigation-factory.d.ts.map +1 -1
- package/datapoint-explorer/devicemanagement/index.d.ts +3 -0
- package/datapoint-explorer/devicemanagement/index.d.ts.map +1 -1
- package/datapoint-explorer/view/configuration/workspace-configuration.component.d.ts +4 -2
- package/datapoint-explorer/view/configuration/workspace-configuration.component.d.ts.map +1 -1
- package/datapoint-explorer/view/create-new-report-modal/create-new-report-modal.component.d.ts.map +1 -1
- package/datapoint-explorer/view/datapoint-explorer.component.d.ts +7 -3
- package/datapoint-explorer/view/datapoint-explorer.component.d.ts.map +1 -1
- package/datapoint-explorer/view/datapoint-explorer.model.d.ts +1 -0
- package/datapoint-explorer/view/datapoint-explorer.model.d.ts.map +1 -1
- package/datapoint-explorer/view/index.d.ts +3 -0
- package/datapoint-explorer/view/index.d.ts.map +1 -1
- package/datapoint-explorer/view/send-as-widget-to-dashboard-modal/send-as-widget-to-dashboard-modal.component.d.ts.map +1 -1
- package/datapoint-explorer/view/send-as-widget-to-report-modal/send-as-widget-to-report-modal.component.d.ts.map +1 -1
- package/datapoint-library/datapoint-library.module.d.ts.map +1 -1
- package/datapoint-library/details/datapoint-library-details.component.d.ts +1 -2
- package/datapoint-library/details/datapoint-library-details.component.d.ts.map +1 -1
- package/datapoint-library/list/datapoint-library-list.component.d.ts.map +1 -1
- package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form-validation.service.d.ts.map +1 -1
- package/datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.d.ts.map +1 -1
- package/datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.d.ts.map +1 -1
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.d.ts.map +1 -1
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.service.d.ts.map +1 -1
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-time-range/datapoints-exports-selector-time-range.component.d.ts.map +1 -1
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-modal.component.d.ts.map +1 -1
- package/datapoints-export-selector/datapoints-export-selector.model.d.ts.map +1 -1
- package/default-subscriptions/default-subscriptions-navigation.factory.d.ts.map +1 -1
- package/default-subscriptions/default-subscriptions.component.d.ts.map +1 -1
- package/device-grid/columns/alarms.cell-renderer.component.d.ts.map +1 -1
- package/device-grid/columns/alarms.device-grid-column.d.ts.map +1 -1
- package/device-grid/columns/group.device-grid-column.d.ts.map +1 -1
- package/device-grid/columns/imei.device-grid-column.d.ts.map +1 -1
- package/device-grid/columns/model.device-grid-column.d.ts.map +1 -1
- package/device-grid/columns/name.device-grid-column.d.ts.map +1 -1
- package/device-grid/columns/registration-date.device-grid-column.d.ts.map +1 -1
- package/device-grid/columns/serial-number.device-grid-column.d.ts.map +1 -1
- package/device-grid/columns/status.device-grid-column.d.ts.map +1 -1
- package/device-grid/columns/system-id.device-grid-column.d.ts.map +1 -1
- package/device-grid/columns/type.device-grid-column.d.ts.map +1 -1
- package/device-grid/device-grid.component.d.ts.map +1 -1
- package/device-grid/device-grid.service.d.ts.map +1 -1
- package/device-list/add-smart-group.component.d.ts.map +1 -1
- package/device-list/device-list-navigation.factory.d.ts.map +1 -1
- package/device-list/devices.breadcrumb-factory.d.ts.map +1 -1
- package/device-map/device-map-navigation.factory.d.ts.map +1 -1
- package/device-profile/add-device-profile.component.d.ts.map +1 -1
- package/device-profile/device-profile-list.component.d.ts.map +1 -1
- package/device-profile/device-profile-navigation.factory.d.ts.map +1 -1
- package/device-profile/device-profile.component.d.ts.map +1 -1
- package/device-profile/device-profile.service.d.ts.map +1 -1
- package/device-profile/device-tab-profile/device-tab-profile.component.d.ts.map +1 -1
- package/device-profile/select-configuration-modal.component.d.ts.map +1 -1
- package/device-protocols/device-protocols.guard.d.ts.map +1 -1
- package/device-provisioned-certificates/device-provisioned-certificates.module.d.ts.map +1 -1
- package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts.map +1 -1
- package/device-shell/device-shell.module.d.ts.map +1 -1
- package/device-shell/shared/device-shell.service.d.ts.map +1 -1
- package/device-shell/shell/shell.component.d.ts.map +1 -1
- package/diagnostics/diagnostics.module.d.ts.map +1 -1
- package/diagnostics/diagnostics.service.d.ts.map +1 -1
- package/echart/charts.component.d.ts +11 -2
- package/echart/charts.component.d.ts.map +1 -1
- package/echart/index.d.ts +1 -0
- package/echart/index.d.ts.map +1 -1
- package/echart/models/chart.model.d.ts +5 -0
- package/echart/models/chart.model.d.ts.map +1 -1
- package/echart/models/datapoints-graph-widget.model.d.ts +2 -0
- package/echart/models/datapoints-graph-widget.model.d.ts.map +1 -1
- package/echart/select-aggregated-datapoint/select-aggregated-datapoint.component.d.ts +18 -0
- package/echart/select-aggregated-datapoint/select-aggregated-datapoint.component.d.ts.map +1 -0
- package/echart/services/chart-helpers.service.d.ts +4 -0
- package/echart/services/chart-helpers.service.d.ts.map +1 -1
- package/echart/services/echarts-options.service.d.ts +4 -5
- package/echart/services/echarts-options.service.d.ts.map +1 -1
- package/ecosystem/application-plugins/application-plugins.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/application-plugins.module.d.ts.map +1 -1
- package/ecosystem/application-plugins/apps-to-update-remotes-select.component.d.ts.map +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.map +1 -1
- package/ecosystem/application-plugins/plugin-list.service.d.ts.map +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.map +1 -1
- package/ecosystem/application-properties/subscription-modal/subscription-modal.component.d.ts.map +1 -1
- package/ecosystem/ecosystem-tabs.factory.d.ts.map +1 -1
- package/ecosystem/license-confirm/license-confirm-modal.component.d.ts.map +1 -1
- package/ecosystem/license-confirm/license-view.component.d.ts.map +1 -1
- package/ecosystem/microservices/add-microservice.component.d.ts.map +1 -1
- package/ecosystem/packages/add-package.component.d.ts.map +1 -1
- package/ecosystem/packages/deploy-application/deploy-application.component.d.ts.map +1 -1
- package/ecosystem/packages/package-list/packages-list.component.d.ts.map +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.map +1 -1
- package/ecosystem/plugin-setup-stepper/plugin-setup-stepper.module.d.ts.map +1 -1
- package/ecosystem/shared/add-application.component.d.ts.map +1 -1
- package/ecosystem/shared/application-card.component.d.ts.map +1 -1
- package/ecosystem/shared/archived-filter/archived-filter.component.d.ts.map +1 -1
- package/ecosystem/shared/ecosystem.constants.d.ts.map +1 -1
- package/ecosystem/shared/ecosystem.service.d.ts.map +1 -1
- package/ecosystem/shared/package-availability.service.d.ts.map +1 -1
- package/ecosystem/shared/package-version-select/package-version-select.component.d.ts.map +1 -1
- package/ecosystem/shared/upload-archive.component.d.ts.map +1 -1
- package/editor/editor.component.d.ts +15 -0
- package/editor/editor.component.d.ts.map +1 -1
- package/exports/index.d.ts +1 -1
- package/exports/index.d.ts.map +1 -1
- package/exports/list/exports-grid.service.d.ts.map +1 -1
- package/exports/list/exports-list/exports-list.component.d.ts.map +1 -1
- package/fesm2022/c8y-ngx-components-actility-device-registration.mjs +2 -1
- package/fesm2022/c8y-ngx-components-actility-device-registration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +8 -7
- package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs +2 -1
- package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-alarms-devicemanagement.mjs +2 -1
- package/fesm2022/c8y-ngx-components-alarms-devicemanagement.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-alarms.mjs +40 -2
- package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-asset-properties.mjs +608 -97
- package/fesm2022/c8y-ngx-components-asset-properties.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-asset-property-grid.component-CRnyUbyz.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-assets-navigator.mjs +70 -23
- package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs +2 -1
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-binary-file-download.mjs +2 -1
- package/fesm2022/c8y-ngx-components-binary-file-download.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-bookmarks.mjs +2 -1
- package/fesm2022/c8y-ngx-components-bookmarks.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-branding-dark-theme.mjs +2 -1
- package/fesm2022/c8y-ngx-components-branding-dark-theme.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-branding-extra-css-branding-editor.mjs +3 -3
- package/fesm2022/c8y-ngx-components-branding-extra-css-branding-editor.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs +2 -1
- package/fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +22 -12
- package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-child-devices.mjs +2 -1
- package/fesm2022/c8y-ngx-components-child-devices.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-cockpit-config.mjs +2 -1
- package/fesm2022/c8y-ngx-components-cockpit-config.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-computed-asset-properties-alarm-count-config.component-BOpIFCYh.mjs +68 -0
- package/fesm2022/c8y-ngx-components-computed-asset-properties-alarm-count-config.component-BOpIFCYh.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-D8otkLI8.mjs +73 -0
- package/fesm2022/c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-D8otkLI8.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-computed-asset-properties-event-count-config.component-AVm6qa9k.mjs +44 -0
- package/fesm2022/c8y-ngx-components-computed-asset-properties-event-count-config.component-AVm6qa9k.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-computed-asset-properties-last-measurement-config.component-CtUoKGuU.mjs +91 -0
- package/fesm2022/c8y-ngx-components-computed-asset-properties-last-measurement-config.component-CtUoKGuU.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-computed-asset-properties.mjs +643 -0
- package/fesm2022/c8y-ngx-components-computed-asset-properties.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-connectivity.mjs +2 -1
- package/fesm2022/c8y-ngx-components-connectivity.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs +2 -1
- package/fesm2022/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs.map +1 -1
- package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-DjlpSztw.mjs → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-BkcNSexF.mjs} +3 -2
- package/fesm2022/c8y-ngx-components-context-dashboard-dashboard-general-settings.component-BkcNSexF.mjs.map +1 -0
- package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-B2zLhv0X.mjs → c8y-ngx-components-context-dashboard-dashboard-version-history.component-D9W68e7h.mjs} +3 -2
- package/fesm2022/c8y-ngx-components-context-dashboard-dashboard-version-history.component-D9W68e7h.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +43 -10
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-CwfVxTSx.mjs → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-D0lATUjO.mjs} +12 -8
- package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-D0lATUjO.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab.mjs +4 -3
- package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-dashboard-manager.mjs +2 -1
- package/fesm2022/c8y-ngx-components-dashboard-manager.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-data-broker.mjs +2 -1
- package/fesm2022/c8y-ngx-components-data-broker.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-data-grid-columns-asset-type.mjs +2 -1
- package/fesm2022/c8y-ngx-components-data-grid-columns-asset-type.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-data-grid-columns.mjs +2 -1
- package/fesm2022/c8y-ngx-components-data-grid-columns.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-explorer-devicemanagement.mjs +38 -9
- package/fesm2022/c8y-ngx-components-datapoint-explorer-devicemanagement.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +61 -46
- package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs +2 -1
- package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs +2 -1
- package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-library-list.mjs +2 -1
- package/fesm2022/c8y-ngx-components-datapoint-library-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-library.mjs +2 -1
- package/fesm2022/c8y-ngx-components-datapoint-library.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +2 -1
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +2 -1
- package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-default-subscriptions.mjs +2 -1
- package/fesm2022/c8y-ngx-components-default-subscriptions.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-grid.mjs +3 -3
- package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-list.mjs +2 -1
- package/fesm2022/c8y-ngx-components-device-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-map.mjs +2 -1
- package/fesm2022/c8y-ngx-components-device-map.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-profile.mjs +2 -1
- package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-protocol-object-mappings.mjs +3 -2
- package/fesm2022/c8y-ngx-components-device-protocol-object-mappings.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-protocols.mjs +2 -1
- package/fesm2022/c8y-ngx-components-device-protocols.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +2 -1
- package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-shell.mjs +2 -1
- package/fesm2022/c8y-ngx-components-device-shell.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-diagnostics.mjs +2 -1
- package/fesm2022/c8y-ngx-components-diagnostics.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-echart-models.mjs +9 -2
- package/fesm2022/c8y-ngx-components-echart-models.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-echart.mjs +319 -140
- package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +2 -1
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs +2 -1
- package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs +2 -1
- package/fesm2022/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +2 -1
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem.mjs +2 -1
- package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-editor.mjs +15 -0
- package/fesm2022/c8y-ngx-components-editor.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-events.mjs +1 -1
- package/fesm2022/c8y-ngx-components-events.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-exports-list.mjs +2 -1
- package/fesm2022/c8y-ngx-components-exports-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-exports.mjs +2 -1
- package/fesm2022/c8y-ngx-components-exports.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-file-preview.mjs +2 -1
- package/fesm2022/c8y-ngx-components-file-preview.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-files-repository.mjs +2 -1
- package/fesm2022/c8y-ngx-components-files-repository.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-icon-selector.mjs +2 -1
- package/fesm2022/c8y-ngx-components-icon-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-location.mjs +2 -1
- package/fesm2022/c8y-ngx-components-location.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs +2 -1
- package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-map.mjs +2 -1
- package/fesm2022/c8y-ngx-components-map.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-messaging-management.mjs +2 -1
- package/fesm2022/c8y-ngx-components-messaging-management.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs +2 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +2 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs +2 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs +2 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs +2 -1
- package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-grid-columns.mjs +2 -1
- package/fesm2022/c8y-ngx-components-operations-grid-columns.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs +2 -1
- package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +2 -1
- package/fesm2022/c8y-ngx-components-operations-operations-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-shared.mjs +2 -1
- package/fesm2022/c8y-ngx-components-operations-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +4 -4
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +4 -4
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs +4 -4
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +4 -4
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations.mjs +2 -1
- package/fesm2022/c8y-ngx-components-operations.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-pending-mo-request.mjs +2 -1
- package/fesm2022/c8y-ngx-components-pending-mo-request.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-platform-configuration.mjs +2 -1
- package/fesm2022/c8y-ngx-components-platform-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +2 -1
- package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-protocol-opcua-mappings.mjs +1 -1
- package/fesm2022/c8y-ngx-components-protocol-opcua-mappings.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +2 -1
- package/fesm2022/c8y-ngx-components-protocol-opcua.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-register-device.mjs +2 -1
- package/fesm2022/c8y-ngx-components-register-device.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs +3 -3
- package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-remote-access-passthrough.mjs +2 -1
- package/fesm2022/c8y-ngx-components-remote-access-passthrough.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-remote-access-shared.mjs +2 -1
- package/fesm2022/c8y-ngx-components-remote-access-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs +2 -1
- package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs +2 -1
- package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs +3 -3
- package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs +2 -1
- package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs +2 -1
- package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-replace-device.mjs +2 -1
- package/fesm2022/c8y-ngx-components-replace-device.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-report-dashboard.mjs +2 -1
- package/fesm2022/c8y-ngx-components-report-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-reports.mjs +2 -1
- package/fesm2022/c8y-ngx-components-reports.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs +2 -1
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-firmware.mjs +2 -1
- package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-shared.mjs +3 -2
- package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-software.mjs +2 -1
- package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-search.mjs +2 -1
- package/fesm2022/c8y-ngx-components-search.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs +2 -1
- package/fesm2022/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-sensor-phone.mjs +3 -2
- package/fesm2022/c8y-ngx-components-sensor-phone.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-services-service-command-tab.mjs +2 -1
- package/fesm2022/c8y-ngx-components-services-service-command-tab.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-services-shared.mjs +1 -1
- package/fesm2022/c8y-ngx-components-services-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-services.mjs +2 -1
- package/fesm2022/c8y-ngx-components-services.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs +2 -1
- package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-sms-gateway.mjs +3 -2
- package/fesm2022/c8y-ngx-components-sms-gateway.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-sub-assets.mjs +2 -1
- package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-tenants.mjs +37 -37
- package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-tracking.mjs +2 -1
- package/fesm2022/c8y-ngx-components-tracking.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +5 -5
- package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +2 -1
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-upgrade.mjs +10 -3
- package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-user-roles.mjs +2 -1
- package/fesm2022/c8y-ngx-components-user-roles.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-applications.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-applications.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-asset-notes.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-asset-notes.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-device-control-message.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-device-control-message.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-help-and-service.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-help-and-service.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs +3 -3
- package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-image.mjs +3 -6
- package/fesm2022/c8y-ngx-components-widgets-definitions-image.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-linear-gauge.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-linear-gauge.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-quick-links.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-quick-links.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-silo.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-silo.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-asset-notes.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-asset-notes.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs +9 -6
- package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +15 -7
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-device-control-message.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-device-control-message.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs +13 -8
- package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs +2 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-import-export-config.mjs +3 -10
- package/fesm2022/c8y-ngx-components-widgets-import-export-config.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +694 -504
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/file-preview/file-preview.component.d.ts.map +1 -1
- package/files-repository/files-repository-navigation.factory.d.ts.map +1 -1
- package/files-repository/files-repository-upload.component.d.ts.map +1 -1
- package/files-repository/files-repository.component.d.ts.map +1 -1
- package/files-repository/files-repository.service.d.ts +1 -2
- package/files-repository/files-repository.service.d.ts.map +1 -1
- package/icon-selector/icon-selector-modal/icon-selector-modal.component.d.ts.map +1 -1
- package/icon-selector/icon-selector.component.d.ts.map +1 -1
- package/locales/de.po +138 -12
- package/locales/es.po +138 -12
- package/locales/fr.po +138 -12
- package/locales/ja_JP.po +132 -12
- package/locales/ko.po +137 -12
- package/locales/locales.pot +103 -12
- package/locales/nl.po +138 -12
- package/locales/pl.po +138 -12
- package/locales/pt_BR.po +138 -12
- package/locales/zh_CN.po +137 -12
- package/locales/zh_TW.po +137 -12
- package/location/location-tab.factory.d.ts.map +1 -1
- package/location/location.component.d.ts.map +1 -1
- package/loriot-device-registration/loriot-device-registration.component.d.ts.map +1 -1
- package/loriot-device-registration/loriot-provider.service.d.ts.map +1 -1
- package/map/map.component.d.ts.map +1 -1
- package/messaging-management/messaging/namespace-list/namespace-item/namespace-item-card/namespace-item-card.component.d.ts.map +1 -1
- package/messaging-management/messaging/shared/usage/usage.component.d.ts.map +1 -1
- package/messaging-management/messaging/topic/topic-list-view.component.d.ts.map +1 -1
- package/messaging-management/messaging/topic/topic-subscribers-view/topic-subscribers-data-grid.service.d.ts.map +1 -1
- package/messaging-management/messaging/topic/topic-subscribers-view/topic-subscribers-view.component.d.ts.map +1 -1
- package/messaging-management/messaging/topic/topics-data-grid.service.d.ts.map +1 -1
- package/messaging-management/navigator/messaging-navigator-factory.d.ts.map +1 -1
- package/messaging-management/navigator/topic-details-tab.factory.d.ts.map +1 -1
- package/operations/bulk-operation-list-item/bulk-operation-list-item.component.d.ts.map +1 -1
- package/operations/bulk-operation-list-item/modals/bulk-operations-reschedule-modal.component.d.ts.map +1 -1
- package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts.map +1 -1
- package/operations/bulk-operation-stepper/bulk-operation-stepper.component.d.ts.map +1 -1
- package/operations/bulk-single-operations-list/single-operation-item.component.d.ts.map +1 -1
- package/operations/bulk-single-operations-list/single-operations-list.component.d.ts.map +1 -1
- package/operations/factories/bulk-operations-tab.factory.d.ts.map +1 -1
- package/operations/grid-columns/creation-time.grid-column.d.ts.map +1 -1
- package/operations/grid-columns/device.grid-column.d.ts.map +1 -1
- package/operations/grid-columns/failure-reason.grid-column.d.ts.map +1 -1
- package/operations/grid-columns/status.grid-column.d.ts.map +1 -1
- package/operations/operations-list/device-control.feature.d.ts.map +1 -1
- package/operations/operations-list/operations-list-item.component.d.ts.map +1 -1
- package/operations/operations-list/operations-list.component.d.ts.map +1 -1
- package/operations/operations-list/single-operations-tab.factory.d.ts.map +1 -1
- package/operations/operations-list-item-details/operation-details-tabs.component.d.ts.map +1 -1
- package/operations/shared/nav.factory.d.ts.map +1 -1
- package/operations/shared/operations.service.d.ts.map +1 -1
- package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.component.d.ts.map +1 -1
- package/operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.component.d.ts.map +1 -1
- package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.component.d.ts.map +1 -1
- package/operations/stepper-bulk-type-software/select-software-step.component.d.ts.map +1 -1
- package/operations/stepper-bulk-type-software/stepper-bulk-type-software.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/pending-mo-request/pending-mo-request-interceptor.d.ts.map +1 -1
- package/pending-mo-request/pending-mo-request.service.d.ts.map +1 -1
- package/platform-configuration/platform-configuration-form-provider.service.d.ts.map +1 -1
- package/protocol-lpwan/lpwan-protocol.module.d.ts.map +1 -1
- package/protocol-lpwan/lpwan-set-connections.component.d.ts.map +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.map +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.map +1 -1
- package/protocol-lpwan/multiple-lns-connectors/no-connections-found.component.d.ts.map +1 -1
- package/protocol-lpwan/multiple-lns-connectors/sigfox-multiple-lns-connector.component.d.ts.map +1 -1
- package/protocol-opcua/opcua-address-space.component.d.ts.map +1 -1
- package/protocol-opcua/opcua-device-protocol-detail.component.d.ts.map +1 -1
- package/protocol-opcua/opcua-server-config.component.d.ts.map +1 -1
- package/protocol-opcua/opcua-servers.component.d.ts.map +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.map +1 -1
- package/register-device/extensible/base-extensible-device-registration.service.d.ts.map +1 -1
- package/register-device/extensible/bulk/extensible-bulk-device-registration-modal.component.d.ts.map +1 -1
- package/register-device/extensible/bulk/extensible-bulk-device-registration.service.d.ts.map +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.map +1 -1
- package/register-device/extensible/single/extensible-device-registration.service.d.ts.map +1 -1
- package/register-device/general/general-device-registration.component.d.ts.map +1 -1
- package/register-device/register-device-navigation.factory.d.ts.map +1 -1
- package/register-device/register-device.service.d.ts.map +1 -1
- package/remote-access/configurations/remote-access-configuration-list/remote-access-configuration-list.component.d.ts.map +1 -1
- package/remote-access/configurations/remote-access-pick-protocol-modal/remote-access-pick-protocol-modal.component.d.ts.map +1 -1
- package/remote-access/passthrough/index.d.ts +1 -1
- package/remote-access/passthrough/index.d.ts.map +1 -1
- package/remote-access/shared/remote-access-basic-endpoint-modal/remote-access-basic-endpoint-modal.component.d.ts.map +1 -1
- package/remote-access/ssh/index.d.ts.map +1 -1
- package/remote-access/telnet/index.d.ts.map +1 -1
- package/remote-access/vnc/index.d.ts.map +1 -1
- package/replace-device/replace-device-grid-action.factory.d.ts.map +1 -1
- package/replace-device/replace-device-wizard/replace-device-wizard.component.d.ts.map +1 -1
- package/replace-device/replace-device-wizard/replace-device-wizard.service.d.ts.map +1 -1
- package/replace-device/replace-device.service.d.ts.map +1 -1
- package/report-dashboard/report-dashboard-list.component.d.ts.map +1 -1
- package/report-dashboard/report-dashboard-navigation.factory.d.ts.map +1 -1
- package/reports/export-schedules.component.d.ts.map +1 -1
- package/repository/configuration/device-tab/configuration-repository-device-tab.module.d.ts.map +1 -1
- package/repository/configuration/device-tab/save-to-repository.component.d.ts.map +1 -1
- package/repository/configuration/device-tab/text-based-configuration.component.d.ts.map +1 -1
- package/repository/configuration/list/configuration-detail.component.d.ts.map +1 -1
- package/repository/configuration/list/configuration-list.component.d.ts.map +1 -1
- package/repository/configuration/list/configuration-repository-navigation-factory.d.ts.map +1 -1
- package/repository/firmware/device-tab/firmware-device-tab.component.d.ts.map +1 -1
- package/repository/firmware/device-tab/firmware-repository-device-tab.module.d.ts.map +1 -1
- package/repository/firmware/list/add-firmware-modal.component.d.ts.map +1 -1
- package/repository/firmware/list/add-firmware-patch-modal.component.d.ts.map +1 -1
- package/repository/firmware/list/firmware-details.component.d.ts.map +1 -1
- package/repository/firmware/list/firmware-list.component.d.ts.map +1 -1
- package/repository/firmware/list/firmware-repository-navigation-factory.d.ts.map +1 -1
- package/repository/shared/columns/description.grid-column.d.ts.map +1 -1
- package/repository/shared/columns/device-type.grid-column.d.ts.map +1 -1
- package/repository/shared/columns/file.grid-column.d.ts.map +1 -1
- package/repository/shared/columns/name.grid-column.d.ts.map +1 -1
- package/repository/shared/columns/type.filtering-form-renderer.component.d.ts.map +1 -1
- package/repository/shared/columns/type.grid-column.d.ts.map +1 -1
- package/repository/shared/columns/versions.grid-column.d.ts.map +1 -1
- package/repository/shared/repository.service.d.ts.map +1 -1
- package/repository/shared/select-modal/repository-select-modal.component.d.ts +1 -1
- package/repository/shared/select-modal/repository-select-modal.component.d.ts.map +1 -1
- package/repository/shared/software-type/software-type.component.d.ts.map +1 -1
- package/repository/software/device-tab/installed-software.component.d.ts.map +1 -1
- package/repository/software/device-tab/software-repository-device-tab.module.d.ts.map +1 -1
- package/repository/software/list/add-software-modal.component.d.ts.map +1 -1
- package/repository/software/list/software-details.component.d.ts.map +1 -1
- package/repository/software/list/software-list.component.d.ts.map +1 -1
- package/repository/software/list/software-repository-navigation-factory.d.ts.map +1 -1
- package/search/columns/asset-type-search-grid-column.d.ts.map +1 -1
- package/search/search-grid.component.d.ts.map +1 -1
- package/search/search-results.component.d.ts.map +1 -1
- package/sensor-phone/connect-smartphone.factory.d.ts.map +1 -1
- package/sensor-phone/sensor-phone-modal/sensor-phone-modal.component.d.ts.map +1 -1
- package/sensor-phone/sensor-phone-modal/sensor-phone.service.d.ts.map +1 -1
- package/services/service-command-tab/service-command.feature.d.ts.map +1 -1
- package/services/services-device-tab/columns/last-updated-date.device-grid-column.d.ts.map +1 -1
- package/services/services-device-tab/columns/name.grid-column.d.ts.map +1 -1
- package/services/services-device-tab/columns/service-type.grid-column.d.ts.map +1 -1
- package/services/services-device-tab/columns/status.grid-column.d.ts.map +1 -1
- package/services/services-device-tab/services-device-tab.component.d.ts.map +1 -1
- package/services/services-device-tab/services-device-tab.module.d.ts.map +1 -1
- package/services/services-device-tab/services.breadcrumb-factory.d.ts.map +1 -1
- package/services/shared/service-command.service.d.ts.map +1 -1
- package/services/status-options/status-options.model.d.ts.map +1 -1
- package/sigfox-device-registration/sigfox-device-registration.component.d.ts.map +1 -1
- package/sigfox-device-registration/sigfox-provider.service.d.ts.map +1 -1
- package/sms-gateway/sms-gateway.module.d.ts.map +1 -1
- package/sub-assets/add-group/add-group.component.d.ts.map +1 -1
- package/sub-assets/asset-properties-item.component.d.ts.map +1 -1
- package/sub-assets/asset-properties.component.d.ts.map +1 -1
- package/sub-assets/assign-devices/assign-child-devices.component.d.ts.map +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.map +1 -1
- package/sub-assets/group-info.component.d.ts.map +1 -1
- package/sub-assets/sub-assets-grid.component.d.ts.map +1 -1
- package/sub-assets/sub-assets.module.d.ts.map +1 -1
- package/sub-assets/sub-assets.service.d.ts.map +1 -1
- package/sub-assets/unassign-assets-modal/unassign-modal.component.d.ts.map +1 -1
- package/tenants/custom-properties/custom-properties.component.d.ts.map +1 -1
- package/tenants/tenant-form/tenant-form.component.d.ts.map +1 -1
- package/tenants/tenant-limits/tenant-limits.component.d.ts.map +1 -1
- package/tenants/tenant-list/creation-time.filtering-form-renderer.component.d.ts.map +1 -1
- package/tenants/tenant-list/tenant-list.component.d.ts.map +1 -1
- package/tenants/tenants-navigation.factory.d.ts.map +1 -1
- package/tenants/tenants.module.d.ts.map +1 -1
- package/tracking/tracking.feature.d.ts.map +1 -1
- package/translation-editor/lazy/translation-editor/translation-editor.component.d.ts.map +1 -1
- package/trusted-certificates/crl/crl-check-settings.component.d.ts.map +1 -1
- package/trusted-certificates/crl/crl-settings.component.d.ts.map +1 -1
- package/trusted-certificates/factories/tabs.factory.d.ts.map +1 -1
- package/trusted-certificates/factories/trusted-certificates-navigation.factory.d.ts.map +1 -1
- package/trusted-certificates/list/add-trusted-certificate.component.d.ts.map +1 -1
- package/trusted-certificates/list/trusted-certificate-list.component.d.ts.map +1 -1
- package/upgrade/auth-bridge.service.d.ts.map +1 -1
- package/upgrade/bridge.service.d.ts.map +1 -1
- package/upgrade/ng1/downgraded.services.d.ts +1 -0
- package/upgrade/ng1/downgraded.services.d.ts.map +1 -1
- package/upgrade/ng1/index.d.ts.map +1 -1
- package/user-roles/roles-asset-tree/roles-asset-tree.component.d.ts.map +1 -1
- package/widgets/cockpit/index.d.ts +4 -4
- package/widgets/definitions/alarms/alarm-list/index.d.ts +1 -1
- package/widgets/definitions/alarms/alarm-list/index.d.ts.map +1 -1
- package/widgets/definitions/alarms/all-critical-alarms/index.d.ts +1 -1
- package/widgets/definitions/alarms/all-critical-alarms/index.d.ts.map +1 -1
- package/widgets/definitions/alarms/recent-alarms/index.d.ts +1 -1
- package/widgets/definitions/alarms/recent-alarms/index.d.ts.map +1 -1
- package/widgets/definitions/applications/index.d.ts +1 -1
- package/widgets/definitions/applications/index.d.ts.map +1 -1
- package/widgets/definitions/asset-notes/index.d.ts +1 -1
- package/widgets/definitions/asset-notes/index.d.ts.map +1 -1
- package/widgets/definitions/cockpit-legacy-welcome/index.d.ts +1 -1
- package/widgets/definitions/cockpit-legacy-welcome/index.d.ts.map +1 -1
- package/widgets/definitions/cockpit-welcome/index.d.ts +1 -1
- package/widgets/definitions/cockpit-welcome/index.d.ts.map +1 -1
- package/widgets/definitions/datapoints-graph/datapoint-graph-widget-factory.d.ts.map +1 -1
- package/widgets/definitions/datapoints-graph/index.d.ts +1 -1
- package/widgets/definitions/datapoints-table/index.d.ts +1 -1
- package/widgets/definitions/datapoints-table/index.d.ts.map +1 -1
- package/widgets/definitions/device-control-message/index.d.ts +1 -1
- package/widgets/definitions/device-control-message/index.d.ts.map +1 -1
- package/widgets/definitions/help-and-service/index.d.ts +1 -1
- package/widgets/definitions/help-and-service/index.d.ts.map +1 -1
- package/widgets/definitions/html-widget/html-widget.factory.d.ts.map +1 -1
- package/widgets/definitions/html-widget/index.d.ts +1 -1
- package/widgets/definitions/image/index.d.ts +5 -3
- package/widgets/definitions/image/index.d.ts.map +1 -1
- package/widgets/definitions/info-gauge/index.d.ts +2 -3
- package/widgets/definitions/info-gauge/index.d.ts.map +1 -1
- package/widgets/definitions/kpi/index.d.ts +1 -1
- package/widgets/definitions/kpi/index.d.ts.map +1 -1
- package/widgets/definitions/linear-gauge/index.d.ts +1 -1
- package/widgets/definitions/linear-gauge/index.d.ts.map +1 -1
- package/widgets/definitions/map/index.d.ts +1 -1
- package/widgets/definitions/map/index.d.ts.map +1 -1
- package/widgets/definitions/markdown/index.d.ts +5 -3
- package/widgets/definitions/markdown/index.d.ts.map +1 -1
- package/widgets/definitions/quick-links/index.d.ts +1 -1
- package/widgets/definitions/quick-links/index.d.ts.map +1 -1
- package/widgets/definitions/radial-gauge/index.d.ts +1 -1
- package/widgets/definitions/radial-gauge/index.d.ts.map +1 -1
- package/widgets/definitions/silo/index.d.ts +1 -1
- package/widgets/definitions/silo/index.d.ts.map +1 -1
- package/widgets/definitions/three-d-rotation/index.d.ts +1 -1
- package/widgets/definitions/three-d-rotation/index.d.ts.map +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.map +1 -1
- package/widgets/implementations/alarms/alarm-list-widget.model.d.ts.map +1 -1
- package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts.map +1 -1
- package/widgets/implementations/cockpit-welcome/welcome.component.d.ts +3 -2
- package/widgets/implementations/cockpit-welcome/welcome.component.d.ts.map +1 -1
- package/widgets/implementations/datapoints-graph/datapoints-graph-config/datapoints-graph-widget-config.component.d.ts +4 -1
- package/widgets/implementations/datapoints-graph/datapoints-graph-config/datapoints-graph-widget-config.component.d.ts.map +1 -1
- package/widgets/implementations/datapoints-graph/datapoints-graph-view/datapoints-graph-widget-view.component.d.ts +2 -1
- package/widgets/implementations/datapoints-graph/datapoints-graph-view/datapoints-graph-widget-view.component.d.ts.map +1 -1
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-reload/datapoints-reload.component.d.ts.map +1 -1
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table/datapoints-table.component.d.ts.map +1 -1
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.d.ts.map +1 -1
- package/widgets/implementations/datapoints-table/datapoints-table-widget.model.d.ts.map +1 -1
- package/widgets/implementations/datapoints-table/date-range-picker.component.d.ts.map +1 -1
- package/widgets/implementations/device-control-message/device-control-message-widget-view/device-control-message-widget-view.component.d.ts.map +1 -1
- package/widgets/implementations/device-management-welcome/welcome.component.d.ts.map +1 -1
- package/widgets/implementations/help-and-service-widget/help-and-service-view/help-and-service-view.component.d.ts.map +1 -1
- package/widgets/implementations/html-widget/advanced-settings/advanced-settings.component.d.ts.map +1 -1
- package/widgets/implementations/html-widget/html-widget-config.service.d.ts.map +1 -1
- package/widgets/implementations/html-widget/widget-code-editor-section/widget-code-editor.component.d.ts +5 -3
- package/widgets/implementations/html-widget/widget-code-editor-section/widget-code-editor.component.d.ts.map +1 -1
- package/widgets/implementations/image/image-widget-config/image-widget-config.component.d.ts.map +1 -1
- package/widgets/implementations/image/image-widget.service.d.ts +1 -2
- package/widgets/implementations/image/image-widget.service.d.ts.map +1 -1
- package/widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.d.ts.map +1 -1
- package/widgets/implementations/linear-gauge/linear-gauge-widget-view/linear-gauge-widget-view.component.d.ts.map +1 -1
- package/widgets/implementations/map/map-widget-config.component.d.ts.map +1 -1
- package/widgets/implementations/map/map-widget.component.d.ts.map +1 -1
- package/widgets/implementations/markdown/markdown-widget-config/markdown-widget-config.component.d.ts.map +1 -1
- package/widgets/implementations/markdown/markdown-widget.service.d.ts.map +1 -1
- package/widgets/implementations/quick-links/quick-links-widget-config/quick-links-widget-config.component.d.ts.map +1 -1
- package/widgets/import-export-config/config-target-export.d.ts +3 -1
- package/widgets/import-export-config/config-target-export.d.ts.map +1 -1
- package/widgets/import-export-config/config-target-import.d.ts +3 -1
- package/widgets/import-export-config/config-target-import.d.ts.map +1 -1
- package/widgets/import-export-config/device-import-export.d.ts +3 -1
- package/widgets/import-export-config/device-import-export.d.ts.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard-dashboard-general-settings.component-DjlpSztw.mjs.map +0 -1
- package/fesm2022/c8y-ngx-components-context-dashboard-dashboard-version-history.component-B2zLhv0X.mjs.map +0 -1
- package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-CwfVxTSx.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-datapoint-explorer-view.mjs","sources":["../../datapoint-explorer/view/configuration/workspace-configuration.service.ts","../../datapoint-explorer/view/configuration/naming-dictionary.ts","../../datapoint-explorer/view/configuration/name-generator.service.ts","../../datapoint-explorer/view/configuration/workspace-configuration.component.ts","../../datapoint-explorer/view/configuration/workspace-configuration.component.html","../../datapoint-explorer/view/create-new-report-modal/create-new-report-modal.component.ts","../../datapoint-explorer/view/create-new-report-modal/create-new-report-modal.component.html","../../datapoint-explorer/view/datapoint-explorer.service.ts","../../datapoint-explorer/view/send-as-widget-to-dashboard-modal/send-as-widget-to-dashboard-modal.component.ts","../../datapoint-explorer/view/send-as-widget-to-dashboard-modal/send-as-widget-to-dashboard-modal.component.html","../../datapoint-explorer/view/send-as-widget-to-report-modal/send-as-widget-to-report-modal.component.ts","../../datapoint-explorer/view/send-as-widget-to-report-modal/send-as-widget-to-report-modal.component.html","../../datapoint-explorer/view/datapoint-explorer.component.ts","../../datapoint-explorer/view/datapoint-explorer.component.html","../../datapoint-explorer/view/c8y-ngx-components-datapoint-explorer-view.ts"],"sourcesContent":["import { Injectable, signal, WritableSignal } from '@angular/core';\nimport { WorkspaceConfiguration } from './workspace-configuration.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WorkspaceConfigurationService {\n private readonly baseKey = 'c8y-configs';\n private readonly baseDefaultKey = 'c8y-default-config-id';\n contextIdSignal: WritableSignal<number | string | null> = signal(null);\n\n get LOCAL_STORAGE_KEY(): string {\n const id = this.contextIdSignal();\n return id !== null ? `${this.baseKey}-${id}` : this.baseKey;\n }\n\n get LOCAL_STORAGE_DEFAULT_ID_KEY(): string {\n const id = this.contextIdSignal();\n return id !== null ? `${this.baseDefaultKey}-${id}` : this.baseDefaultKey;\n }\n\n getConfigurations(): WorkspaceConfiguration[] {\n const configurations = localStorage.getItem(this.LOCAL_STORAGE_KEY);\n return configurations ? JSON.parse(configurations) : [];\n }\n\n getDefaultConfigurationId(): string | null {\n return localStorage.getItem(this.LOCAL_STORAGE_DEFAULT_ID_KEY);\n }\n\n saveConfigurations(configurations: WorkspaceConfiguration[], id: string): void {\n localStorage.setItem(this.LOCAL_STORAGE_KEY, JSON.stringify(configurations));\n localStorage.setItem(this.LOCAL_STORAGE_DEFAULT_ID_KEY, id);\n }\n}\n","export const adjectives = [\n 'caffeinated',\n 'sleepy',\n 'hungry',\n 'puzzled',\n 'overexcited',\n 'daydreaming',\n 'chocolate-loving',\n 'coffee-powered',\n 'cookie-craving',\n 'disco-ready',\n 'weekend-mode',\n 'pizza-powered',\n 'nap-seeking',\n 'wifi-hunting',\n 'battery-hungry',\n 'donut-powered',\n 'tea-sipping',\n 'keyboard-loving',\n 'screen-staring',\n 'mouse-chasing',\n 'code-dreaming',\n 'pixel-perfect',\n 'bug-finding',\n 'zoom-tired',\n 'meeting-dodging',\n 'deadline-racing',\n 'coffee-seeking',\n 'sandwich-craving',\n 'debug-ready',\n 'rest-needing'\n];\nexport const nouns = [\n 'sensor',\n 'robot',\n 'thermostat',\n 'gateway',\n 'dashboard',\n 'widget',\n 'gadget',\n 'button',\n 'antenna',\n 'beacon',\n 'adapter',\n 'gizmo',\n 'hub',\n 'switch',\n 'chip',\n 'controller',\n 'display',\n 'terminal',\n 'processor',\n 'transmitter',\n 'receiver',\n 'pod',\n 'device',\n 'module',\n 'relay',\n 'node',\n 'bridge',\n 'screen',\n 'router',\n 'box'\n];\n","import { Injectable } from '@angular/core';\nimport { adjectives, nouns } from './naming-dictionary';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NameGeneratorService {\n generateName(): string {\n const getRandomElement = (arr: string[]) => arr[Math.floor(Math.random() * arr.length)];\n const randomAdjective = getRandomElement(adjectives);\n const randomNoun = getRandomElement(nouns);\n\n return `${randomAdjective}_${randomNoun}`;\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport {\n Component,\n EventEmitter,\n inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges\n} from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, FormsModule } from '@angular/forms';\nimport {\n ClipboardService,\n ContextRouteService,\n CoreModule,\n gettext,\n ViewContext\n} from '@c8y/ngx-components';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { WorkspaceConfiguration } from './workspace-configuration.model';\nimport { DatapointsGraphWidgetConfig } from '@c8y/ngx-components/echart';\nimport { WorkspaceConfigurationService } from './workspace-configuration.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NameGeneratorService } from './name-generator.service';\n\n@Component({\n selector: 'c8y-workspace-config',\n templateUrl: './workspace-configuration.component.html',\n standalone: true,\n imports: [CoreModule, BsDropdownModule, FormsModule, A11yModule, TooltipModule]\n})\nexport class WorkspaceConfigComponent implements OnInit, OnChanges {\n @Input() updatedConfig: DatapointsGraphWidgetConfig;\n @Output() onConfigurationChange = new EventEmitter<DatapointsGraphWidgetConfig>();\n\n currentConfiguration: WorkspaceConfiguration;\n configurations: WorkspaceConfiguration[] = [];\n configurationsFormGroup: FormGroup;\n activeConfigTooltip = gettext('Active configuration cannot be removed');\n removeConfigTooltip = gettext('Remove configuration');\n\n private readonly formBuilder = inject(FormBuilder);\n private readonly workspaceConfigurationService = inject(WorkspaceConfigurationService);\n private readonly contextRouteService = inject(ContextRouteService);\n private readonly clipboardService = inject(ClipboardService);\n private readonly activatedRoute = inject(ActivatedRoute);\n private readonly router = inject(Router);\n private readonly nameGeneratorService = inject(NameGeneratorService);\n\n ngOnInit(): void {\n this.initializeContextSourceId();\n this.initializeConfigurations();\n this.initWorkspaceForm();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.updatedConfig && !changes.updatedConfig.firstChange) {\n this.updateConfigurations();\n }\n }\n\n addConfig(duplicatedConfig?: DatapointsGraphWidgetConfig): void {\n const name = this.nameGeneratorService.generateName();\n const workspace: WorkspaceConfiguration = {\n id: new Date().toISOString(),\n label: name,\n config: { datapoints: [], alarmsEventsConfigs: [] }\n };\n if (duplicatedConfig) {\n workspace.config = duplicatedConfig;\n }\n this.configurations = [workspace, ...this.configurations];\n this.initWorkspaceForm();\n this.changeConfiguration(true, workspace);\n }\n\n changeConfiguration(selected: boolean, configuration: WorkspaceConfiguration): void {\n if (!selected) {\n return;\n }\n this.currentConfiguration = configuration;\n localStorage.setItem(\n this.workspaceConfigurationService.LOCAL_STORAGE_DEFAULT_ID_KEY,\n this.currentConfiguration.id\n );\n this.onConfigurationChange.emit(configuration.config);\n }\n\n updateConfigurationLabel(configuration: WorkspaceConfiguration): void {\n this.configurations = this.configurations.map(c =>\n c.id === configuration.id ? configuration : c\n );\n this.workspaceConfigurationService.saveConfigurations(\n this.configurations,\n this.currentConfiguration?.id || ''\n );\n this.currentConfiguration = configuration;\n this.onConfigurationChange.emit(configuration.config);\n }\n\n deleteConfiguration(configuration: WorkspaceConfiguration): void {\n this.configurations = this.configurations.filter(c => c.id !== configuration.id);\n this.initWorkspaceForm();\n this.workspaceConfigurationService.saveConfigurations(\n this.configurations,\n this.currentConfiguration?.id || ''\n );\n }\n\n clearAll(): void {\n this.configurations = [this.currentConfiguration];\n this.initWorkspaceForm();\n this.workspaceConfigurationService.saveConfigurations(\n this.configurations,\n this.currentConfiguration?.id || ''\n );\n }\n\n async shareConfig(configuration: WorkspaceConfiguration): Promise<void> {\n await this.clipboardService.writeText(JSON.stringify(configuration.config));\n }\n\n private addConfigFromUrl(queryParams: any): void {\n this.addConfig();\n const config = JSON.parse(queryParams.config);\n this.onConfigurationChange.emit(config);\n }\n\n private updateConfigurations(): void {\n this.currentConfiguration.config = this.updatedConfig;\n this.configurations = this.configurations.map(currentConfig =>\n currentConfig.id === this.currentConfiguration.id ? this.currentConfiguration : currentConfig\n );\n const queryParams = {\n configId: this.currentConfiguration.id,\n label: this.currentConfiguration.label,\n config: JSON.stringify(this.updatedConfig)\n };\n this.workspaceConfigurationService.saveConfigurations(\n this.configurations,\n this.currentConfiguration.id\n );\n const control = <FormArray>this.configurationsFormGroup.controls['configurations'];\n const index = this.configurations.findIndex(c => c.id === this.currentConfiguration.id);\n if (index !== -1) {\n control.at(index).patchValue({\n label: this.currentConfiguration.label,\n config: this.currentConfiguration.config,\n id: this.currentConfiguration.id\n });\n }\n this.router.navigate([], { queryParams });\n }\n\n private initializeConfigurations(): void {\n const configurations = this.workspaceConfigurationService.getConfigurations();\n const defaultId = this.workspaceConfigurationService.getDefaultConfigurationId();\n const queryParams = this.router.parseUrl(this.router.url).queryParams;\n if (configurations.length) {\n this.configurations = configurations;\n this.currentConfiguration =\n this.configurations.find(c => c.id === defaultId) || this.configurations[0];\n\n this.onConfigurationChange.emit(this.currentConfiguration.config);\n if (queryParams?.configId && !this.configurations.find(c => c.id === queryParams.configId)) {\n this.addConfigFromUrl(queryParams);\n } else if (\n queryParams?.configId &&\n this.configurations.find(c => c.id === queryParams.configId) &&\n this.currentConfiguration.id !== queryParams.configId\n ) {\n this.currentConfiguration = this.configurations.find(c => c.id === queryParams.configId);\n this.changeConfiguration(true, this.currentConfiguration);\n }\n }\n\n if (!this.currentConfiguration) {\n if (Object.keys(queryParams).length === 0) {\n this.addConfig();\n return;\n }\n this.addConfigFromUrl(queryParams);\n }\n }\n\n private initWorkspaceForm(): void {\n this.configurationsFormGroup = this.formBuilder.group({\n configurations: this.formBuilder.array([])\n });\n\n this.patchForm();\n }\n\n private patchForm(): void {\n const control = <FormArray>this.configurationsFormGroup.controls['configurations'];\n this.configurations.forEach(workspace => {\n control.push(this.patchValues(workspace));\n });\n }\n\n private patchValues(workspace: WorkspaceConfiguration): FormGroup {\n return this.formBuilder.group({\n label: [workspace.label],\n config: [workspace.config],\n id: [workspace.id]\n });\n }\n\n private initializeContextSourceId(): void {\n const routeContext = this.contextRouteService.getContextData(this.activatedRoute);\n if (!routeContext) {\n this.workspaceConfigurationService.contextIdSignal.set(null);\n return;\n }\n const { context, contextData } = routeContext;\n if ([ViewContext.Device, ViewContext.Group].includes(context)) {\n this.workspaceConfigurationService.contextIdSignal.set(contextData?.id);\n }\n }\n}\n","<div\n class=\"dropdown\"\n #actionbar_dropdown=\"bs-dropdown\"\n [cdkTrapFocus]=\"actionbar_dropdown.isOpen\"\n dropdown\n [insideClick]=\"true\"\n>\n\n <button\n class=\"dropdown-toggle form-control l-h-tight d-flex a-i-center\"\n attr.aria-label=\"{{ currentConfiguration.label }}\"\n tooltip=\"{{ 'Selected configuration' | translate }}\"\n placement=\"top\"\n container=\"body\"\n data-cy=\"current-configuration-dropdown-button\"\n [adaptivePosition]=\"false\"\n [delay]=\"500\"\n dropdownToggle\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"list\"\n ></i>\n <div class=\"d-col text-left fit-w\">\n <span class=\"text-12\">\n {{ 'Configuration' | translate }}\n </span>\n <span class=\"text-10 text-muted text-truncate\">\n {{ currentConfiguration.label }}\n </span>\n </div>\n <span class=\"caret m-r-16 m-l-4\"></span>\n </button>\n <div\n class=\"dropdown-menu dropdown-menu-wide dropdown-menu-action-bar\"\n *dropdownMenu\n >\n <div class=\"sticky-top separator-bottom p-t-8 p-b-8 p-l-16 p-r-16\">\n <p>\n <strong>{{ 'Data explorer configurations' | translate }}</strong>\n </p>\n <p>\n <small>{{ 'Easily switch and manage configurations.' | translate }}</small>\n </p>\n </div>\n <c8y-list-group class=\"no-border-last\">\n <form [formGroup]=\"configurationsFormGroup\">\n <div formArrayName=\"configurations\">\n <c8y-li\n class=\"p-0\"\n *ngFor=\"\n let configuration of configurationsFormGroup.controls.configurations['controls'];\n let i = index\n \"\n [dense]=\"true\"\n >\n <c8y-li-radio\n [selected]=\"configuration.value.id === currentConfiguration.id\"\n (onSelect)=\"changeConfiguration($event, configuration.value)\"\n ></c8y-li-radio>\n <div class=\"d-flex a-i-center gap-8\">\n <div\n class=\"flex-grow min-width-0\"\n [formGroupName]=\"i\"\n >\n <label\n class=\"editable\"\n [ngClass]=\"{\n updated:\n configuration.controls.label.touched && configuration.controls.label.dirty\n }\"\n >\n <input\n class=\"form-control\"\n [style.width.ch]=\"configuration.value.label || 25\"\n [attr.aria-label]=\"'Configuration label' | translate\"\n placeholder=\"{{ 'Configuration 1' | translate }}\"\n type=\"text\"\n autocomplete=\"off\"\n required\n formControlName=\"label\"\n (blur)=\"updateConfigurationLabel(configuration.value)\"\n />\n </label>\n </div>\n <div class=\"flex-nogrow d-flex gap-8\">\n <button\n class=\"btn-dot btn\"\n [attr.aria-label]=\"'Duplicate configuration' | translate\"\n tooltip=\"{{ 'Duplicate configuration' | translate }}\"\n placement=\"left\"\n (click)=\"addConfig(configuration.value.config)\"\n [delay]=\"500\"\n >\n <i c8yIcon=\"copy\"></i>\n </button>\n\n <button\n class=\"btn-dot btn btn-dot--danger\"\n [attr.aria-label]=\"'Remove configurations' | translate\"\n tooltip=\"{{\n (configuration.value.id === currentConfiguration.id\n ? activeConfigTooltip\n : removeConfigTooltip\n ) | translate\n }}\"\n placement=\"left\"\n [delay]=\"500\"\n (click)=\"$event.stopPropagation(); deleteConfiguration(configuration.value)\"\n [disabled]=\"configuration.value.id === currentConfiguration.id\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n </div>\n </c8y-li>\n </div>\n </form>\n </c8y-list-group>\n <div class=\"sticky-bottom separator-top\">\n <div class=\"d-flex p-l-16 p-r-16 p-t-8 p-b-8\">\n <button\n class=\"btn btn-danger btn-sm flex-grow\"\n (click)=\"clearAll()\"\n [disabled]=\"configurations.length < 2\"\n >\n <i [c8yIcon]=\"'delete'\"></i>\n {{ 'Delete all configurations' | translate }}\n </button>\n <button\n class=\"btn btn-default btn-sm flex-grow\"\n type=\"button\"\n (click)=\"addConfig()\"\n >\n <i [c8yIcon]=\"'add-circle-outline'\"></i>\n {{ 'Add configuration' | translate }}\n </button>\n </div>\n </div>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { CoreModule, gettext, ModalLabels } from '@c8y/ngx-components';\nimport { ReportDashboardModule } from '@c8y/ngx-components/report-dashboard';\nimport { ContextDashboardService } from '@c8y/ngx-components/context-dashboard';\nimport { IManagedObject } from '@c8y/client';\n\n@Component({\n selector: 'c8y-create-new-report-modal',\n templateUrl: './create-new-report-modal.component.html',\n standalone: true,\n imports: [ReactiveFormsModule, CoreModule, ReportDashboardModule]\n})\nexport class CreateNewReportModalComponent {\n reportName = '';\n labels: ModalLabels = { cancel: gettext('Cancel'), ok: gettext('Send') };\n\n result = new Promise<IManagedObject>((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n\n styling = {\n themeClass: 'dashboard-theme-light',\n headerClass: 'panel-title-regular'\n };\n\n readonly DEFAULT_DASHBOARD_ICON = 'th';\n readonly DEFAULT_DASHBOARD_PRIORITY = 5000;\n readonly DEFAULT_DASHBOARD_MARGIN = 12;\n private _resolve: (value: IManagedObject) => void;\n private _reject: (reason?: any) => void;\n constructor(private contextDashboardService: ContextDashboardService) {}\n\n async save() {\n const dashboard = {\n name: this.reportName,\n icon: this.DEFAULT_DASHBOARD_ICON,\n c8y_IsNavigatorNode: null,\n priority: this.DEFAULT_DASHBOARD_PRIORITY,\n description: '',\n widgetMargin: this.DEFAULT_DASHBOARD_MARGIN,\n classes: { [this.styling.headerClass]: true },\n widgetClasses: { [this.styling.headerClass]: true }\n };\n try {\n const { name, icon, c8y_IsNavigatorNode, priority, description } = dashboard;\n const report = (\n await this.contextDashboardService.createReport({\n name,\n icon,\n c8y_IsNavigatorNode,\n priority,\n description\n } as Partial<IManagedObject>)\n ).data;\n\n await this.contextDashboardService.create(\n dashboard,\n undefined,\n `${this.contextDashboardService.REPORT_PARTIAL_NAME}${report.id}`\n );\n\n this._resolve(report);\n } catch (ex) {\n this._reject(ex);\n }\n }\n\n cancel() {\n this._reject();\n }\n}\n","<c8y-modal\n [title]=\"'Create new report with widget' | translate\"\n [headerClasses]=\"'dialog-header'\"\n [disabled]=\"reportName === ''\"\n (onDismiss)=\"cancel()\"\n (onClose)=\"save()\"\n [labels]=\"labels\"\n>\n <ng-container c8y-modal-title>\n <span c8yIcon=\"c8y-reports\"></span>\n </ng-container>\n\n <p class=\"text-center bg-component text-balance sticky-top p-l-24 p-r-24 p-t-8 p-b-8 separator-bottom\">\n {{' Create a new report with the Data points graph widget using the current configuration.' | translate}}\n </p>\n <div class=\"p-24 p-t-8\">\n <c8y-form-group>\n <label\n for=\"reportName\"\n translate\n >\n Report name\n </label>\n <input\n class=\"form-control\"\n id=\"reportName\"\n placeholder=\"{{ 'e.g. My data point Report' }}\"\n name=\"name\"\n type=\"text\"\n autocomplete=\"off\"\n required\n [(ngModel)]=\"reportName\"\n />\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n </div>\n</c8y-modal>\n","import { inject, Injectable } from '@angular/core';\nimport { IManagedObject, InventoryService } from '@c8y/client';\nimport {\n ContextDashboardService,\n ContextDashboardType\n} from '@c8y/ngx-components/context-dashboard';\nimport { firstValueFrom } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DataExplorerService {\n private readonly inventory = inject(InventoryService);\n private readonly contextDashboardService = inject(ContextDashboardService);\n\n async fetchReportDashboard(reportId: string): Promise<IManagedObject> {\n return (\n await this.inventory.list({\n pageSize: 1,\n query: `has('c8y_Dashboard!name!report_${reportId}')`\n })\n ).data[0];\n }\n\n async fetchContextDashboard(\n dashboardId: string,\n contextAsset: IManagedObject\n ): Promise<IManagedObject> {\n const context = contextAsset.c8y_isDevice\n ? ContextDashboardType.Device\n : ContextDashboardType.Group;\n return firstValueFrom(this.contextDashboardService.getDashboard$(dashboardId, [context]));\n }\n}\n","import { Component, inject, Input } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { CoreModule, gettext, ModalLabels } from '@c8y/ngx-components';\nimport { Observable, merge, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { IIdentified, IManagedObject } from '@c8y/client';\nimport {\n ContextDashboardModule,\n ContextDashboardService,\n ContextDashboardType\n} from '@c8y/ngx-components/context-dashboard';\n\n@Component({\n selector: 'c8y-send-as-widget-to-dashboard-modal',\n templateUrl: './send-as-widget-to-dashboard-modal.component.html',\n standalone: true,\n imports: [ReactiveFormsModule, CoreModule, ContextDashboardModule]\n})\nexport class SendAsWidgetToDashboardModal {\n @Input() contextAsset: IIdentified;\n dashboards: IManagedObject[] = [];\n numberOfSelectedDashboards$: Observable<number>;\n form: ReturnType<typeof this.initForm>;\n result = new Promise<ReturnType<typeof this.initForm>['value']>((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n labels: ModalLabels = { cancel: gettext('Cancel'), ok: gettext('Send') };\n private contextDashboardService = inject(ContextDashboardService);\n private _resolve: (value: ReturnType<typeof this.initForm>['value']) => void;\n private _reject: (reason?: any) => void;\n\n async ngOnInit() {\n const context = this.contextAsset.c8y_IsDevice\n ? ContextDashboardType.Device\n : ContextDashboardType.Group;\n\n this.dashboards = (\n await this.contextDashboardService.getContextDashboards(this.contextAsset as IManagedObject, [\n context\n ])\n ).data;\n\n if (this.dashboards.length > 0) {\n this.form = this.initForm();\n }\n this.numberOfSelectedDashboards$ = merge(this.form.valueChanges, of(this.form.value)).pipe(\n map(value => Object.values(value).filter(Boolean).length)\n );\n }\n\n save() {\n this._resolve(this.form.value);\n }\n\n cancel() {\n this._reject();\n }\n\n private initForm(): FormGroup<Record<string, FormControl<boolean>>> {\n const controls = this.dashboards.reduce(\n (acc, dashboard) => ({\n ...acc,\n [dashboard.id]: new FormControl(false)\n }),\n {}\n );\n return new FormGroup(controls);\n }\n}\n","<c8y-modal\n [title]=\"'Send as widget to dashboards' | translate\"\n [disabled]=\"!form || form.invalid\"\n [headerClasses]=\"'dialog-header'\"\n (onDismiss)=\"cancel()\"\n (onClose)=\"save()\"\n [labels]=\"labels\"\n>\n <ng-container c8y-modal-title>\n <span c8yIcon=\"th\"></span>\n </ng-container>\n\n <c8y-list-group\n class=\"m-b-0 no-border-last\"\n *ngIf=\"form\"\n [formGroup]=\"form\"\n >\n <c8y-li>\n <p\n class=\"text-center text-medium\"\n *ngIf=\"numberOfSelectedDashboards$ | async as numberOfDashboards; else noSelectedDashboards\"\n translate\n [translateParams]=\"{ numberOfDashboards: numberOfDashboards }\"\n ngNonBindable\n >\n {{ numberOfDashboards }} dashboards selected for widget\n </p>\n <ng-template #noSelectedDashboards>\n <p\n class=\"text-center text-medium\"\n translate\n >\n Select one or more dashboards to send the Data points graph widget with the current\n configuration\n </p>\n </ng-template>\n </c8y-li>\n <c8y-li *ngFor=\"let dashboard of dashboards\">\n <c8y-li-checkbox\n [attr.data-cy]=\"'branding-apply-branding-to-app-checkbox-' + dashboard.id\"\n [formControlName]=\"dashboard.id\"\n ></c8y-li-checkbox>\n <c8y-li-icon class=\"p-l-0\">\n <i c8yIcon=\"{{ dashboard.icon }}\"></i>\n </c8y-li-icon>\n <div\n class=\"text-truncate\"\n title=\"{{ dashboard.name }}\"\n >\n {{ dashboard.name }}\n </div>\n </c8y-li>\n </c8y-list-group>\n\n <c8y-ui-empty-state\n [icon]=\"'th'\"\n [title]=\"'There are no dashboards defined.' | translate\"\n [subtitle]=\"'Add a dashboard first.' | translate\"\n *ngIf=\"dashboards.length === 0\"\n ></c8y-ui-empty-state>\n</c8y-modal>\n","import { Component, inject } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { CoreModule, gettext, ModalLabels } from '@c8y/ngx-components';\nimport { Observable, merge, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport {\n ReportDashboardModule,\n ReportDashboardService\n} from '@c8y/ngx-components/report-dashboard';\nimport { IManagedObject } from '@c8y/client';\n@Component({\n selector: 'c8y-send-as-widget-to-report-modal',\n templateUrl: './send-as-widget-to-report-modal.component.html',\n standalone: true,\n imports: [ReactiveFormsModule, CoreModule, ReportDashboardModule]\n})\nexport class SendAsWidgetToReportModal {\n reports: IManagedObject[] = [];\n numberOfSelectedReports$: Observable<number>;\n form: ReturnType<typeof this.initForm>;\n result = new Promise<ReturnType<typeof this.initForm>['value']>((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n labels: ModalLabels = { cancel: gettext('Cancel'), ok: gettext('Send') };\n private reportDashboardService = inject(ReportDashboardService);\n private _resolve: (value: ReturnType<typeof this.initForm>['value']) => void;\n private _reject: (reason?: any) => void;\n async ngOnInit() {\n this.reports = (await this.reportDashboardService.listReports({ pageSize: 2000 })).data;\n if (this.reports.length > 0) {\n this.form = this.initForm();\n }\n this.numberOfSelectedReports$ = merge(this.form.valueChanges, of(this.form.value)).pipe(\n map(value => Object.values(value).filter(Boolean).length)\n );\n }\n save() {\n this._resolve(this.form.value);\n }\n cancel() {\n this._reject();\n }\n private initForm(): FormGroup<Record<string, FormControl<boolean>>> {\n const controls = this.reports.reduce(\n (acc, report) => ({\n ...acc,\n [report.id]: new FormControl(false)\n }),\n {}\n );\n return new FormGroup(controls);\n }\n}\n","<c8y-modal\n [title]=\"'Send as widget to reports' | translate\"\n [disabled]=\"!form || form.invalid\"\n [headerClasses]=\"'dialog-header'\"\n (onDismiss)=\"cancel()\"\n (onClose)=\"save()\"\n [labels]=\"labels\"\n>\n <ng-container c8y-modal-title>\n <span c8yIcon=\"c8y-reports\"></span>\n </ng-container>\n\n <c8y-list-group\n class=\"m-b-0 no-border-last\"\n *ngIf=\"form\"\n [formGroup]=\"form\"\n >\n <c8y-li>\n <p\n class=\"text-center text-medium\"\n *ngIf=\"numberOfSelectedReports$ | async as numberOfReports; else noSelectedReports\"\n translate\n [translateParams]=\"{ numberOfReports: numberOfReports }\"\n ngNonBindable\n >\n {{ numberOfReports }} reports selected for widget\n </p>\n <ng-template #noSelectedReports>\n <p\n class=\"text-center text-medium\"\n translate\n >\n Select one or more reports to send the Data points graph widget with the current configuration\n </p>\n </ng-template>\n </c8y-li>\n <c8y-li *ngFor=\"let report of reports\">\n <c8y-li-checkbox\n [attr.data-cy]=\"'branding-apply-branding-to-app-checkbox-' + report.id\"\n [formControlName]=\"report.id\"\n ></c8y-li-checkbox>\n <c8y-li-icon class=\"p-l-0\">\n <i c8yIcon=\"{{ report.icon }}\"></i>\n </c8y-li-icon>\n <div class=\"text-truncate\" title=\"{{report.name}}\">{{ report.name }}</div>\n </c8y-li>\n </c8y-list-group>\n\n <c8y-ui-empty-state\n [icon]=\"'c8y-reports'\"\n [title]=\"'There are no reports defined.' | translate\"\n [subtitle]=\"'Add a report first.' | translate\"\n *ngIf=\"reports.length === 0\"\n ></c8y-ui-empty-state>\n</c8y-modal>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { Component, DestroyRef, ElementRef, inject, ViewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { aggregationType, IIdentified, IManagedObject } from '@c8y/client';\nimport {\n AlertService,\n CommonModule,\n ContextRouteService,\n CoreModule,\n DynamicComponentAlertAggregator,\n FormsModule,\n GainsightService,\n gettext,\n Permissions,\n ViewContext\n} from '@c8y/ngx-components';\nimport { AlarmEventSelectorModule } from '@c8y/ngx-components/alarm-event-selector';\nimport { ContextDashboardService } from '@c8y/ngx-components/context-dashboard';\nimport {\n DatapointAttributesFormConfig,\n DatapointSelectorModule,\n KPIDetails\n} from '@c8y/ngx-components/datapoint-selector';\nimport {\n DatapointsExportSelectorComponent,\n ExportConfig\n} from '@c8y/ngx-components/datapoints-export-selector';\nimport {\n AlarmDetailsExtended,\n AlarmOrEventExtended,\n DatapointsGraphKPIDetails,\n DatapointsGraphWidgetConfig,\n EventDetailsExtended,\n PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH,\n TimeContextProps\n} from '@c8y/ngx-components/echart/models';\nimport {\n ChartAlarmsService,\n ChartEventsService,\n ChartHelpersService,\n ChartsComponent\n} from '@c8y/ngx-components/echart';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { Interval } from '@c8y/ngx-components/interval-picker';\nimport { TimeContextComponent } from '@c8y/ngx-components/time-context';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { map, Observable } from 'rxjs';\nimport { WorkspaceConfigComponent } from './configuration/workspace-configuration.component';\nimport { CreateNewReportModalComponent } from './create-new-report-modal/create-new-report-modal.component';\nimport { Settings } from './datapoint-explorer.model';\nimport { DataExplorerService } from './datapoint-explorer.service';\nimport { SendAsWidgetToDashboardModal } from './send-as-widget-to-dashboard-modal/send-as-widget-to-dashboard-modal.component';\nimport { SendAsWidgetToReportModal } from './send-as-widget-to-report-modal/send-as-widget-to-report-modal.component';\n\n@Component({\n selector: 'c8y-datapoint-explorer',\n templateUrl: './datapoint-explorer.component.html',\n standalone: true,\n imports: [\n CoreModule,\n CommonModule,\n DatapointSelectorModule,\n AlarmEventSelectorModule,\n TooltipModule,\n PopoverModule,\n TimeContextComponent,\n ChartsComponent,\n BsDropdownModule,\n FormsModule,\n A11yModule,\n DatapointsExportSelectorComponent,\n WorkspaceConfigComponent\n ],\n providers: [ChartEventsService, ChartAlarmsService, ChartHelpersService]\n})\nexport class DatapointExplorerComponent {\n settings$!: Observable<Settings>;\n @ViewChild('chart') chart: ElementRef;\n config: DatapointsGraphWidgetConfig = { datapoints: [], alarmsEventsConfigs: [] };\n exportConfig: ExportConfig;\n alerts: DynamicComponentAlertAggregator | undefined;\n alarms: AlarmDetailsExtended[] = [];\n events: EventDetailsExtended[] = [];\n datapointsOutOfSync = new Map<DatapointsGraphKPIDetails, boolean>();\n contextAsset: IIdentified;\n formGroup: FormGroup;\n hasAtLeastOneDatapointActive = true;\n hasAtLeastOneAlarmActive = true;\n isMarkedAreaEnabled = false;\n alarmsOrEventsHaveNoMatchingDps = false;\n canAddReport = false;\n timeProps: {\n dateFrom: Date;\n dateTo: Date;\n interval?: Interval['id'];\n realtime?: boolean;\n aggregation?: aggregationType | null;\n };\n datapointSelectDefaultFormOptions: Partial<DatapointAttributesFormConfig> = {\n showRange: true,\n showChart: true\n };\n\n #destroyRef = inject(DestroyRef);\n\n private readonly dataExplorerService = inject(DataExplorerService);\n private readonly formBuilder = inject(FormBuilder);\n private readonly alertService = inject(AlertService);\n private readonly bsModalService = inject(BsModalService);\n private readonly permissions = inject(Permissions);\n private readonly contextDashboardService = inject(ContextDashboardService);\n private readonly activatedRoute = inject(ActivatedRoute);\n private readonly contextRouteService = inject(ContextRouteService);\n private readonly chartHelpersService = inject(ChartHelpersService);\n private readonly gainsightService = inject(GainsightService);\n\n constructor() {\n this.formGroup = this.initForm();\n this.settings$ = this.activatedRoute.data.pipe(map(data => data.settings as Settings));\n }\n\n ngOnInit(): void {\n this.contextAsset = this.initializeContextSourceId();\n this.checkForMatchingDatapoints();\n this.canAddReport = this.permissions.hasAnyRole([\n Permissions.ROLE_INVENTORY_CREATE,\n Permissions.ROLE_INVENTORY_ADMIN,\n Permissions.ROLE_MANAGED_OBJECT_ADMIN,\n Permissions.ROLE_MANAGED_OBJECT_CREATE\n ]);\n\n this.formGroup.valueChanges\n .pipe(takeUntilDestroyed(this.#destroyRef))\n .subscribe(configChange => {\n const { alarms, events, ...configValues } = configChange;\n this.config = {\n ...configValues,\n alarmsEventsConfigs: [...(alarms || []), ...(events || [])]\n };\n\n this.updateExportConfig();\n this.checkForMatchingDatapoints();\n });\n\n const configSummaryGS = this.chartHelpersService.getConfigSummaryForGainsight(this.config);\n\n this.gainsightService.triggerEvent(\n PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH.EVENTS.DATA_EXPLORER_AND_GRAPH,\n {\n component: PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH.COMPONENTS.DATA_EXPLORER_DETAILS,\n action: PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH.ACTIONS.DATA_EXPLORER_CONFIG_INIT,\n ...configSummaryGS\n }\n );\n }\n\n onTimeContextChange(timeProps: TimeContextProps): void {\n const realtime = this.formGroup.controls.realtime.value;\n if (timeProps.realtime !== realtime) {\n this.formGroup.patchValue({ realtime: timeProps.realtime });\n }\n if (timeProps.realtime) {\n if (timeProps.currentDateContextInterval !== this.formGroup.value.interval) {\n this.formGroup.patchValue({ interval: timeProps.currentDateContextInterval });\n }\n return;\n }\n this.formGroup.patchValue({\n dateFrom: timeProps.currentDateContextFromDate,\n dateTo: timeProps.currentDateContextToDate,\n interval: timeProps.currentDateContextInterval,\n aggregation: timeProps.aggregation || null\n });\n }\n\n onConfigurationChange(config: DatapointsGraphWidgetConfig): void {\n if (config.dateFrom && config.dateTo) {\n this.timeProps = {\n dateFrom: new Date(config?.dateFrom),\n dateTo: new Date(config?.dateTo),\n interval: config?.interval,\n realtime: config?.realtime,\n aggregation: config?.realtime ? null : config?.aggregation\n };\n }\n this.alarms = config.alarmsEventsConfigs.filter(ae => ae.timelineType === 'ALARM');\n this.events = config.alarmsEventsConfigs.filter(ae => ae.timelineType === 'EVENT');\n\n const configSummaryGS = this.chartHelpersService.getConfigSummaryForGainsight(config);\n\n this.gainsightService.triggerEvent(\n PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH.EVENTS.DATA_EXPLORER_AND_GRAPH,\n {\n component: PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH.COMPONENTS.DATA_EXPLORER_DETAILS,\n action: PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH.ACTIONS.DATA_EXPLORER_CONFIG_CHANGE,\n ...configSummaryGS\n }\n );\n\n this.formGroup.patchValue({ alarms: this.alarms, events: this.events, ...config });\n }\n\n onSliderZoom(timeProps: { dateFrom: Date; dateTo: Date; interval?: Interval['id'] }) {\n this.formGroup.patchValue(timeProps);\n this.timeProps = { ...timeProps, realtime: false };\n }\n\n updateTimeRangeOnRealtime(\n timeRange: Pick<DatapointsGraphWidgetConfig, 'dateFrom' | 'dateTo'>\n ): void {\n this.formGroup.patchValue(timeRange, { emitEvent: false });\n }\n\n updateAlarmsAndEvents(alarmsEventsConfigs: AlarmOrEventExtended[]): void {\n this.alarms = alarmsEventsConfigs.filter(this.isAlarm);\n this.events = alarmsEventsConfigs.filter(this.isEvent);\n this.hasAtLeastOneAlarmActive = this.hasActiveAlarms(this.alarms);\n }\n\n handleDatapointOutOfSync(dpOutOfSync: DatapointsGraphKPIDetails): void {\n const key = (dp: KPIDetails) => dp.__target?.id + dp.fragment + dp.series;\n const dpMatch = this.config.datapoints?.find(dp => key(dp) === key(dpOutOfSync));\n if (!dpMatch) {\n return;\n }\n this.datapointsOutOfSync.set(dpMatch, true);\n }\n\n async createNewReportWithWidget(): Promise<void> {\n const modal = this.bsModalService.show(CreateNewReportModalComponent, {\n ignoreBackdropClick: true,\n keyboard: false,\n class: 'modal-sm'\n });\n const content = modal.content as CreateNewReportModalComponent;\n try {\n const report = await content.result;\n const reportDashboard = await this.dataExplorerService.fetchReportDashboard(report.id);\n const widget = this.createWidgetConfig();\n reportDashboard.c8y_Dashboard.children = { [widget.id]: widget };\n await this.contextDashboardService.update(reportDashboard);\n this.alertService.success(gettext('Report and widget created.'));\n } catch (e) {\n if (e) {\n this.alertService.danger(gettext('Failed to create report and widget.'));\n this.alertService.addServerFailure(e);\n }\n // else: modal was closed\n }\n }\n\n async sendAsWidgetToReport(): Promise<void> {\n const modal = this.bsModalService.show(SendAsWidgetToReportModal, {\n ignoreBackdropClick: true,\n keyboard: false,\n class: 'modal-sm'\n });\n const content = modal.content as SendAsWidgetToReportModal;\n try {\n const reports = await content.result;\n const selectedReports = Object.entries(reports).filter(([, value]) => value);\n const reportPromises = selectedReports.map(async ([reportId]) => {\n const reportDashboard = await this.dataExplorerService.fetchReportDashboard(reportId);\n const widget = this.createWidgetConfig();\n const children = reportDashboard.c8y_Dashboard.children || {};\n reportDashboard.c8y_Dashboard.children = { ...children, [widget.id]: widget };\n await this.contextDashboardService.update(reportDashboard);\n });\n\n await Promise.all(reportPromises);\n\n this.alertService.success(gettext('Widget created.'));\n } catch (e) {\n if (e) {\n this.alertService.danger(gettext('Failed to create widget.'));\n this.alertService.addServerFailure(e);\n }\n // else: modal was closed\n }\n }\n\n async sendAsWidgetToDashboard(): Promise<void> {\n const modal = this.bsModalService.show(SendAsWidgetToDashboardModal, {\n ignoreBackdropClick: true,\n keyboard: false,\n class: 'modal-sm',\n initialState: {\n contextAsset: this.contextAsset\n }\n });\n const content = modal.content as SendAsWidgetToDashboardModal;\n try {\n const dashboards = await content.result;\n const selectedDashboards = Object.entries(dashboards).filter(([, value]) => value);\n const dashboardPromises = selectedDashboards.map(async ([dashboardId]) => {\n const dashboard = await this.dataExplorerService.fetchContextDashboard(\n dashboardId,\n this.contextAsset as IManagedObject\n );\n const widget = this.createWidgetConfig();\n const children = dashboard.c8y_Dashboard.children || {};\n dashboard.c8y_Dashboard.children = { ...children, [widget.id]: widget };\n await this.contextDashboardService.update(dashboard);\n });\n\n await Promise.all(dashboardPromises);\n this.alertService.success(gettext('Widget created.'));\n } catch (e) {\n if (e) {\n this.alertService.danger(gettext('Failed to create widget.'));\n this.alertService.addServerFailure(e);\n }\n // else: modal was closed\n }\n }\n\n private isAlarm(item: AlarmOrEventExtended): item is AlarmDetailsExtended {\n return item.timelineType === 'ALARM';\n }\n\n private isEvent(item: AlarmOrEventExtended): item is EventDetailsExtended {\n return item.timelineType === 'EVENT';\n }\n\n private hasActiveAlarms(alarms: AlarmDetailsExtended[]): boolean {\n return alarms.length > 0 && alarms.some(alarm => alarm.__active);\n }\n\n private checkForMatchingDatapoints(): void {\n const allMatch = this.config?.alarmsEventsConfigs?.every(ae =>\n this.formGroup.value.datapoints?.some(dp => dp.__target?.id === ae.__target?.id)\n );\n\n queueMicrotask(() => {\n this.alarmsOrEventsHaveNoMatchingDps = !allMatch;\n });\n }\n\n private updateExportConfig(): void {\n const datapointDetails = this.config.datapoints\n .filter(({ __active }) => __active)\n .map(({ __target, fragment, series }) => ({\n deviceName: __target.name,\n source: __target.id,\n valueFragmentSeries: series,\n valueFragmentType: fragment\n }));\n\n if (datapointDetails.length === 0) {\n this.exportConfig = null;\n } else {\n this.exportConfig = {\n aggregation: this.config.aggregation,\n dateFrom: new Date(this.config.dateFrom).toISOString(),\n dateTo: new Date(this.config.dateTo).toISOString(),\n datapointDetails: datapointDetails\n };\n }\n }\n\n private initializeContextSourceId(): IIdentified {\n const routeContext = this.contextRouteService.getContextData(this.activatedRoute);\n if (!routeContext) {\n return;\n }\n const { context, contextData } = routeContext;\n if ([ViewContext.Device, ViewContext.Group].includes(context)) {\n return contextData;\n }\n }\n\n private createWidgetConfig(): any {\n return {\n name: gettext('Data points graph'),\n title: gettext('Data points'),\n _width: 24,\n _height: 12,\n config: this.config\n };\n }\n\n private initForm() {\n return this.formBuilder.group({\n datapoints: [this.config.datapoints || []],\n alarms: [this.alarms || []],\n events: [this.events || []],\n dateFrom: [this.config.dateFrom || (null as Date)],\n dateTo: [this.config.dateFrom || (null as Date)],\n interval: [this.config.interval || 'hours'],\n aggregation: [this.config.aggregation || (null as aggregationType | null)],\n realtime: [this.config.realtime || false],\n displayMarkedLine: [true, []],\n displayMarkedPoint: [true, []],\n mergeMatchingDatapoints: [true, []],\n forceMergeDatapoints: [false, []],\n showLabelAndUnit: [true, []],\n showSlider: [true, []],\n displayDateSelection: [false, []],\n yAxisSplitLines: [false],\n xAxisSplitLines: [false],\n numberOfDecimalPlaces: [2, [Validators.required, Validators.min(0), Validators.max(10)]]\n });\n }\n}\n","<c8y-title>{{ 'Data explorer' | translate }}</c8y-title>\n\n<c8y-time-context\n (contextChange)=\"onTimeContextChange($event)\"\n [changedDateContext]=\"timeProps\"\n [timeContext]=\"(settings$ | async)?.timeContext\"\n></c8y-time-context>\n\n<c8y-action-bar-item\n *ngIf=\"!(settings$ | async)?.hideWorkspaceConfig\"\n [placement]=\"'left'\"\n>\n <c8y-workspace-config\n [updatedConfig]=\"config\"\n (onConfigurationChange)=\"onConfigurationChange($event)\"\n ></c8y-workspace-config>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item\n *ngIf=\"!(settings$ | async)?.hideExportSelector\"\n [placement]=\"'right'\"\n>\n <c8y-datapoints-export-selector\n [exportConfig]=\"exportConfig\"\n [containerClass]=\"'d-contents'\"\n ></c8y-datapoints-export-selector>\n</c8y-action-bar-item>\n\n@if (!(settings$ | async)?.hideWidgetActions) {\n <ng-container *ngIf=\"contextAsset\">\n <c8y-action-bar-item\n [placement]=\"'more'\"\n [priority]=\"-2000\"\n >\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Send as widget to dashboard' | translate }}\"\n type=\"button\"\n data-cy=\"widgets-dashboard--copy-dashboard\"\n (click)=\"sendAsWidgetToDashboard()\"\n [disabled]=\"config?.datapoints?.length === 0 || !canAddReport\"\n >\n <i c8yIcon=\"th\"></i>\n <span>{{ 'Send as widget to dashboard' | translate }}</span>\n </button>\n </c8y-action-bar-item>\n </ng-container>\n\n <ng-container *ngIf=\"!contextAsset\">\n <c8y-action-bar-item\n [placement]=\"'more'\"\n [priority]=\"-2000\"\n >\n <button\n title=\"{{ 'Send as widget to report' | translate }}\"\n type=\"button\"\n data-cy=\"widgets-dashboard--copy-dashboard\"\n (click)=\"sendAsWidgetToReport()\"\n [disabled]=\"config?.datapoints?.length === 0 || !canAddReport\"\n >\n <i c8yIcon=\"c8y-reports\"></i>\n <span>{{ 'Send as widget to report' | translate }}</span>\n </button>\n </c8y-action-bar-item>\n\n <c8y-action-bar-item\n [placement]=\"'more'\"\n [priority]=\"-2000\"\n >\n <button\n title=\"{{ 'Create a new report with widget' | translate }}\"\n type=\"button\"\n data-cy=\"widgets-dashboard--copy-dashboard\"\n (click)=\"createNewReportWithWidget()\"\n [disabled]=\"config?.datapoints?.length === 0 || !canAddReport\"\n >\n <i c8yIcon=\"c8y-reports\"></i>\n <span>{{ 'Create a new report with widget' | translate }}</span>\n </button>\n </c8y-action-bar-item>\n </ng-container>\n}\n\n<div class=\"content-fullpage d-grid grid__col--auto-360 gap-24\">\n <div class=\"d-col gap-16\">\n <c8y-charts\n class=\"flex-grow data-point-explorer\"\n #chart\n [config]=\"config\"\n [alerts]=\"alerts\"\n (updateAlarmsAndEvents)=\"updateAlarmsAndEvents($event)\"\n (configChangeOnZoomOut)=\"onSliderZoom($event)\"\n (datapointOutOfSync)=\"handleDatapointOutOfSync($event)\"\n (timeRangeChangeOnRealtime)=\"updateTimeRangeOnRealtime($event)\"\n (isMarkedAreaEnabled)=\"isMarkedAreaEnabled = $event\"\n ></c8y-charts>\n <form\n class=\"m-l-48 m-r-48\"\n [formGroup]=\"formGroup\"\n >\n <div class=\"d-grid-md grid__col--4-4-4 gap-16\">\n <fieldset class=\"c8y-fieldset form-group-sm m-t-md-0 p-b-8\">\n <legend>{{ 'Axis' | translate }}</legend>\n <label\n class=\"c8y-checkbox\"\n [title]=\"'Y-axis helper lines' | translate\"\n >\n <input\n name=\"yAxisSplitLines\"\n type=\"checkbox\"\n formControlName=\"yAxisSplitLines\"\n />\n <span></span>\n <span translate>Y-axis helper lines</span>\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"'X-axis helper lines' | translate\"\n >\n <input\n name=\"xAxisSplitLines\"\n type=\"checkbox\"\n formControlName=\"xAxisSplitLines\"\n />\n <span></span>\n <span translate>X-axis helper lines</span>\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"'Merge matching data points into single axis' | translate\"\n >\n <input\n name=\"mergeMatchingDatapoints\"\n type=\"checkbox\"\n formControlName=\"mergeMatchingDatapoints\"\n />\n <span></span>\n <span translate>Merge matching data points into single axis</span>\n <button\n class=\"btn-dot m-l-8\"\n [attr.aria-label]=\"\n 'Data points with the same min and max values will be merged into a single axis. The values must be defined in the data point configuration.'\n | translate\n \"\n [tooltip]=\"\n 'Data points with the same min and max values will be merged into a single axis. The values must be defined in the data point configuration.'\n | translate\n \"\n container=\"body\"\n type=\"button\"\n (click)=\"$event.stopPropagation()\"\n [adaptivePosition]=\"false\"\n >\n <i\n class=\"text-info\"\n c8yIcon=\"info\"\n ></i>\n </button>\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"'Force merge all data points into single axis' | translate\"\n >\n <input\n name=\"forceMergeDatapoints\"\n type=\"checkbox\"\n formControlName=\"forceMergeDatapoints\"\n />\n <span></span>\n <span translate>Force merge all data points into single axis</span>\n <button\n class=\"btn-dot m-l-8\"\n [attr.aria-label]=\"\n 'All axes will be force merged to a single axis with the scale being set to the max and min value of all axes. It\\'s recommended to use this option for data points with similar values.'\n | translate\n \"\n [tooltip]=\"\n 'All axes will be force merged to a single axis with the scale being set to the max and min value of all axes. It\\'s recommended to use this option for data points with similar values.'\n | translate\n \"\n container=\"body\"\n type=\"button\"\n (click)=\"$event.stopPropagation()\"\n [adaptivePosition]=\"false\"\n >\n <i\n class=\"text-info\"\n c8yIcon=\"info\"\n ></i>\n </button>\n </label>\n </fieldset>\n <fieldset class=\"c8y-fieldset form-group-sm m-t-md-0 p-b-8\">\n <legend>{{ 'Alarms & events' | translate }}</legend>\n <label\n class=\"c8y-checkbox\"\n [title]=\"'Show vertical line when alarm occurs' | translate\"\n >\n <input\n name=\"displayMarkedLine\"\n type=\"checkbox\"\n formControlName=\"displayMarkedLine\"\n />\n <span></span>\n <span translate>Show vertical line on every occurrence</span>\n </label>\n\n <label\n class=\"c8y-checkbox\"\n [title]=\"'Show icon when alarm or event occurs' | translate\"\n >\n <input\n name=\"displayMarkedPoint\"\n type=\"checkbox\"\n formControlName=\"displayMarkedPoint\"\n />\n <span></span>\n <span>\n {{\n 'Show icon when triggered`When alarms and events occur the icon will be shown`'\n | translate\n }}\n </span>\n <button\n class=\"btn-dot m-l-8\"\n [attr.aria-label]=\"\n 'Some alarms or events have no matching data points. No icons will be shown for them.'\n | translate\n \"\n [tooltip]=\"\n 'Some alarms or events have no matching data points. No icons will be shown for them.'\n | translate\n \"\n container=\"body\"\n type=\"button\"\n *ngIf=\"alarmsOrEventsHaveNoMatchingDps\"\n (click)=\"$event.stopPropagation()\"\n [adaptivePosition]=\"false\"\n >\n <i\n class=\"text-info\"\n c8yIcon=\"info\"\n ></i>\n </button>\n </label>\n </fieldset>\n <fieldset class=\"c8y-fieldset form-group-sm m-t-md-0 p-b-8\">\n <legend>{{ 'Chart' | translate }}</legend>\n <label\n class=\"c8y-checkbox\"\n [title]=\"'Show labels and units' | translate\"\n >\n <input\n name=\"showLabelAndUnit\"\n type=\"checkbox\"\n formControlName=\"showLabelAndUnit\"\n />\n <span></span>\n <span translate>Display labels and units on Y-axis</span>\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"'Show slider' | translate\"\n >\n <input\n name=\"showSlider\"\n type=\"checkbox\"\n formControlName=\"showSlider\"\n />\n <span></span>\n <span translate>Show slider</span>\n </label>\n </fieldset>\n </div>\n </form>\n </div>\n <div class=\"card inner-scroll bg-level-1\">\n <form\n class=\"bg-inherit\"\n [formGroup]=\"formGroup\"\n >\n <c8y-datapoint-selection-list\n class=\"bg-inherit separator-top d-block\"\n name=\"datapoints\"\n [minActiveCount]=\"0\"\n [defaultFormOptions]=\"datapointSelectDefaultFormOptions\"\n [config]=\"{ contextAsset: contextAsset }\"\n formControlName=\"datapoints\"\n [allowDragAndDrop]=\"true\"\n ></c8y-datapoint-selection-list>\n\n <c8y-alarm-event-selection-list\n class=\"bg-inherit\"\n name=\"alarms\"\n formControlName=\"alarms\"\n [timelineType]=\"'ALARM'\"\n [datapoints]=\"config.datapoints\"\n ></c8y-alarm-event-selection-list>\n\n <c8y-alarm-event-selection-list\n class=\"bg-inherit\"\n name=\"events\"\n formControlName=\"events\"\n [timelineType]=\"'EVENT'\"\n [datapoints]=\"config.datapoints\"\n ></c8y-alarm-event-selection-list>\n\n <div class=\"p-l-16 p-r-16 form-group p-b-16\">\n <label\n [title]=\"'Number of decimal places' | translate\"\n translate\n >\n Number of decimal places\n </label>\n <input\n class=\"form-control\"\n name=\"numberOfDecimalPlaces\"\n type=\"number\"\n formControlName=\"numberOfDecimalPlaces\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 1 }\"\n />\n <c8y-messages\n [show]=\"\n formGroup.controls?.numberOfDecimalPlaces?.touched &&\n formGroup?.controls?.numberOfDecimalPlaces?.errors\n \"\n ></c8y-messages>\n </div>\n </form>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","map","i4","i5","FormsModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-datapoint-explorer-view.mjs","sources":["../../datapoint-explorer/view/configuration/naming-dictionary.ts","../../datapoint-explorer/view/configuration/name-generator.service.ts","../../datapoint-explorer/view/configuration/workspace-configuration.service.ts","../../datapoint-explorer/view/configuration/workspace-configuration.component.ts","../../datapoint-explorer/view/configuration/workspace-configuration.component.html","../../datapoint-explorer/view/create-new-report-modal/create-new-report-modal.component.ts","../../datapoint-explorer/view/create-new-report-modal/create-new-report-modal.component.html","../../datapoint-explorer/view/datapoint-explorer.service.ts","../../datapoint-explorer/view/send-as-widget-to-dashboard-modal/send-as-widget-to-dashboard-modal.component.ts","../../datapoint-explorer/view/send-as-widget-to-dashboard-modal/send-as-widget-to-dashboard-modal.component.html","../../datapoint-explorer/view/send-as-widget-to-report-modal/send-as-widget-to-report-modal.component.ts","../../datapoint-explorer/view/send-as-widget-to-report-modal/send-as-widget-to-report-modal.component.html","../../datapoint-explorer/view/datapoint-explorer.component.ts","../../datapoint-explorer/view/datapoint-explorer.component.html","../../datapoint-explorer/view/c8y-ngx-components-datapoint-explorer-view.ts"],"sourcesContent":["export const adjectives = [\n 'caffeinated',\n 'sleepy',\n 'hungry',\n 'puzzled',\n 'overexcited',\n 'daydreaming',\n 'chocolate-loving',\n 'coffee-powered',\n 'cookie-craving',\n 'disco-ready',\n 'weekend-mode',\n 'pizza-powered',\n 'nap-seeking',\n 'wifi-hunting',\n 'battery-hungry',\n 'donut-powered',\n 'tea-sipping',\n 'keyboard-loving',\n 'screen-staring',\n 'mouse-chasing',\n 'code-dreaming',\n 'pixel-perfect',\n 'bug-finding',\n 'zoom-tired',\n 'meeting-dodging',\n 'deadline-racing',\n 'coffee-seeking',\n 'sandwich-craving',\n 'debug-ready',\n 'rest-needing'\n];\nexport const nouns = [\n 'sensor',\n 'robot',\n 'thermostat',\n 'gateway',\n 'dashboard',\n 'widget',\n 'gadget',\n 'button',\n 'antenna',\n 'beacon',\n 'adapter',\n 'gizmo',\n 'hub',\n 'switch',\n 'chip',\n 'controller',\n 'display',\n 'terminal',\n 'processor',\n 'transmitter',\n 'receiver',\n 'pod',\n 'device',\n 'module',\n 'relay',\n 'node',\n 'bridge',\n 'screen',\n 'router',\n 'box'\n];\n","import { Injectable } from '@angular/core';\nimport { adjectives, nouns } from './naming-dictionary';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NameGeneratorService {\n generateName(): string {\n const getRandomElement = (arr: string[]) => arr[Math.floor(Math.random() * arr.length)];\n const randomAdjective = getRandomElement(adjectives);\n const randomNoun = getRandomElement(nouns);\n\n return `${randomAdjective}_${randomNoun}`;\n }\n}\n","import { Injectable, signal, WritableSignal } from '@angular/core';\nimport { WorkspaceConfiguration } from './workspace-configuration.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WorkspaceConfigurationService {\n private readonly baseKey = 'c8y-configs';\n private readonly baseDefaultKey = 'c8y-default-config-id';\n contextIdSignal: WritableSignal<number | string | null> = signal(null);\n\n get LOCAL_STORAGE_KEY(): string {\n const id = this.contextIdSignal();\n return id !== null ? `${this.baseKey}-${id}` : this.baseKey;\n }\n\n get LOCAL_STORAGE_DEFAULT_ID_KEY(): string {\n const id = this.contextIdSignal();\n return id !== null ? `${this.baseDefaultKey}-${id}` : this.baseDefaultKey;\n }\n\n getConfigurations(): WorkspaceConfiguration[] {\n const configurations = localStorage.getItem(this.LOCAL_STORAGE_KEY);\n return configurations ? JSON.parse(configurations) : [];\n }\n\n getDefaultConfigurationId(): string | null {\n return localStorage.getItem(this.LOCAL_STORAGE_DEFAULT_ID_KEY);\n }\n\n saveConfigurations(configurations: WorkspaceConfiguration[], id: string): void {\n localStorage.setItem(this.LOCAL_STORAGE_KEY, JSON.stringify(configurations));\n localStorage.setItem(this.LOCAL_STORAGE_DEFAULT_ID_KEY, id);\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport {\n Component,\n EventEmitter,\n inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges\n} from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, FormsModule } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {\n ClipboardService,\n ContextRouteService,\n CoreModule,\n ViewContext\n} from '@c8y/ngx-components';\nimport { DatapointsGraphWidgetConfig } from '@c8y/ngx-components/echart';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { NameGeneratorService } from './name-generator.service';\nimport { WorkspaceConfiguration } from './workspace-configuration.model';\nimport { WorkspaceConfigurationService } from './workspace-configuration.service';\n\n@Component({\n selector: 'c8y-workspace-config',\n templateUrl: './workspace-configuration.component.html',\n standalone: true,\n imports: [CoreModule, BsDropdownModule, FormsModule, A11yModule, TooltipModule]\n})\nexport class WorkspaceConfigComponent implements OnInit, OnChanges {\n @Input() updatedConfig: DatapointsGraphWidgetConfig;\n @Input() silent = false;\n @Input() defaultConfigurationId: string;\n @Output() onConfigurationChange = new EventEmitter<DatapointsGraphWidgetConfig>();\n\n currentConfiguration: WorkspaceConfiguration;\n configurations: WorkspaceConfiguration[] = [];\n configurationsFormGroup: FormGroup;\n activeConfigTooltip = gettext('Active configuration cannot be removed');\n removeConfigTooltip = gettext('Remove configuration');\n\n private readonly formBuilder = inject(FormBuilder);\n private readonly workspaceConfigurationService = inject(WorkspaceConfigurationService);\n private readonly contextRouteService = inject(ContextRouteService);\n private readonly clipboardService = inject(ClipboardService);\n private readonly activatedRoute = inject(ActivatedRoute);\n private readonly router = inject(Router);\n private readonly nameGeneratorService = inject(NameGeneratorService);\n\n ngOnInit(): void {\n this.initializeContextSourceId();\n this.initializeConfigurations();\n this.initWorkspaceForm();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.updatedConfig && !changes.updatedConfig.firstChange) {\n this.updateConfigurations();\n }\n }\n\n addConfig(duplicatedConfig?: DatapointsGraphWidgetConfig): void {\n const name = this.nameGeneratorService.generateName();\n const workspace: WorkspaceConfiguration = {\n id: new Date().toISOString(),\n label: name,\n config: { datapoints: [], alarmsEventsConfigs: [] }\n };\n if (duplicatedConfig) {\n workspace.config = duplicatedConfig;\n }\n this.configurations = [workspace, ...this.configurations];\n this.initWorkspaceForm();\n this.changeConfiguration(true, workspace);\n }\n\n changeConfiguration(selected: boolean, configuration: WorkspaceConfiguration): void {\n if (!selected) {\n return;\n }\n this.currentConfiguration = configuration;\n localStorage.setItem(\n this.workspaceConfigurationService.LOCAL_STORAGE_DEFAULT_ID_KEY,\n this.currentConfiguration.id\n );\n this.onConfigurationChange.emit(configuration.config);\n }\n\n updateConfigurationLabel(configuration: WorkspaceConfiguration): void {\n this.configurations = this.configurations.map(c =>\n c.id === configuration.id ? configuration : c\n );\n this.workspaceConfigurationService.saveConfigurations(\n this.configurations,\n this.currentConfiguration?.id || ''\n );\n this.currentConfiguration = configuration;\n this.onConfigurationChange.emit(configuration.config);\n }\n\n deleteConfiguration(configuration: WorkspaceConfiguration): void {\n this.configurations = this.configurations.filter(c => c.id !== configuration.id);\n this.initWorkspaceForm();\n this.workspaceConfigurationService.saveConfigurations(\n this.configurations,\n this.currentConfiguration?.id || ''\n );\n }\n\n clearAll(): void {\n this.configurations = [this.currentConfiguration];\n this.initWorkspaceForm();\n this.workspaceConfigurationService.saveConfigurations(\n this.configurations,\n this.currentConfiguration?.id || ''\n );\n }\n\n async shareConfig(configuration: WorkspaceConfiguration): Promise<void> {\n await this.clipboardService.writeText(JSON.stringify(configuration.config));\n }\n\n private addConfigFromUrl(queryParams: any): void {\n this.addConfig();\n const config = JSON.parse(queryParams.config);\n this.onConfigurationChange.emit(config);\n }\n\n private updateConfigurations(): void {\n this.currentConfiguration.config = this.updatedConfig;\n this.configurations = this.configurations.map(currentConfig =>\n currentConfig.id === this.currentConfiguration.id ? this.currentConfiguration : currentConfig\n );\n const queryParams = {\n configId: this.currentConfiguration.id,\n label: this.currentConfiguration.label,\n config: JSON.stringify(this.updatedConfig)\n };\n this.workspaceConfigurationService.saveConfigurations(\n this.configurations,\n this.currentConfiguration.id\n );\n const control = <FormArray>this.configurationsFormGroup.controls['configurations'];\n const index = this.configurations.findIndex(c => c.id === this.currentConfiguration.id);\n if (index !== -1) {\n control.at(index).patchValue({\n label: this.currentConfiguration.label,\n config: this.currentConfiguration.config,\n id: this.currentConfiguration.id\n });\n }\n this.router.navigate([], { queryParams });\n }\n\n private initializeConfigurations(): void {\n const configurations = this.workspaceConfigurationService.getConfigurations();\n const defaultId =\n this.defaultConfigurationId ?? this.workspaceConfigurationService.getDefaultConfigurationId();\n const queryParams = this.router.parseUrl(this.router.url).queryParams;\n if (configurations.length) {\n this.configurations = configurations;\n this.currentConfiguration =\n this.configurations.find(c => c.id === defaultId) || this.configurations[0];\n\n this.onConfigurationChange.emit(this.currentConfiguration.config);\n if (queryParams?.configId && !this.configurations.find(c => c.id === queryParams.configId)) {\n this.addConfigFromUrl(queryParams);\n } else if (\n queryParams?.configId &&\n this.configurations.find(c => c.id === queryParams.configId) &&\n this.currentConfiguration.id !== queryParams.configId\n ) {\n this.currentConfiguration = this.configurations.find(c => c.id === queryParams.configId);\n this.changeConfiguration(true, this.currentConfiguration);\n }\n }\n\n if (!this.currentConfiguration) {\n if (Object.keys(queryParams).length === 0) {\n this.addConfig();\n return;\n }\n this.addConfigFromUrl(queryParams);\n }\n }\n\n private initWorkspaceForm(): void {\n this.configurationsFormGroup = this.formBuilder.group({\n configurations: this.formBuilder.array([])\n });\n\n this.patchForm();\n }\n\n private patchForm(): void {\n const control = <FormArray>this.configurationsFormGroup.controls['configurations'];\n this.configurations.forEach(workspace => {\n control.push(this.patchValues(workspace));\n });\n }\n\n private patchValues(workspace: WorkspaceConfiguration): FormGroup {\n return this.formBuilder.group({\n label: [workspace.label],\n config: [workspace.config],\n id: [workspace.id]\n });\n }\n\n private initializeContextSourceId(): void {\n const routeContext = this.contextRouteService.getContextData(this.activatedRoute);\n if (!routeContext) {\n this.workspaceConfigurationService.contextIdSignal.set(null);\n return;\n }\n const { context, contextData } = routeContext;\n if ([ViewContext.Device, ViewContext.Group].includes(context)) {\n this.workspaceConfigurationService.contextIdSignal.set(contextData?.id);\n }\n }\n}\n","@if (!silent) {\n <div\n class=\"dropdown\"\n #actionbar_dropdown=\"bs-dropdown\"\n [cdkTrapFocus]=\"actionbar_dropdown.isOpen\"\n dropdown\n [insideClick]=\"true\"\n >\n <button\n class=\"dropdown-toggle form-control l-h-tight d-flex a-i-center\"\n attr.aria-label=\"{{ currentConfiguration.label }}\"\n tooltip=\"{{ 'Selected configuration' | translate }}\"\n placement=\"top\"\n container=\"body\"\n data-cy=\"current-configuration-dropdown-button\"\n [adaptivePosition]=\"false\"\n [delay]=\"500\"\n dropdownToggle\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"list\"\n ></i>\n <div class=\"d-col text-left fit-w\">\n <span class=\"text-12\">\n {{ 'Configuration' | translate }}\n </span>\n <span class=\"text-10 text-muted text-truncate\">\n {{ currentConfiguration.label }}\n </span>\n </div>\n <span class=\"caret m-r-16 m-l-4\"></span>\n </button>\n <div\n class=\"dropdown-menu dropdown-menu-wide dropdown-menu-action-bar\"\n *dropdownMenu\n >\n <div class=\"sticky-top separator-bottom p-t-8 p-b-8 p-l-16 p-r-16\">\n <p>\n <strong>{{ 'Data explorer configurations' | translate }}</strong>\n </p>\n <p>\n <small>{{ 'Easily switch and manage configurations.' | translate }}</small>\n </p>\n </div>\n <c8y-list-group class=\"no-border-last\">\n <form [formGroup]=\"configurationsFormGroup\">\n <div formArrayName=\"configurations\">\n <c8y-li\n class=\"p-0\"\n *ngFor=\"\n let configuration of configurationsFormGroup.controls.configurations['controls'];\n let i = index\n \"\n [dense]=\"true\"\n >\n <c8y-li-radio\n [selected]=\"configuration.value.id === currentConfiguration.id\"\n (onSelect)=\"changeConfiguration($event, configuration.value)\"\n ></c8y-li-radio>\n <div class=\"d-flex a-i-center gap-8\">\n <div\n class=\"flex-grow min-width-0\"\n [formGroupName]=\"i\"\n >\n <label\n class=\"editable\"\n [ngClass]=\"{\n updated:\n configuration.controls.label.touched && configuration.controls.label.dirty\n }\"\n >\n <input\n class=\"form-control\"\n [style.width.ch]=\"configuration.value.label || 25\"\n [attr.aria-label]=\"'Configuration label' | translate\"\n placeholder=\"{{ 'Configuration 1' | translate }}\"\n type=\"text\"\n autocomplete=\"off\"\n required\n formControlName=\"label\"\n (blur)=\"updateConfigurationLabel(configuration.value)\"\n />\n </label>\n </div>\n <div class=\"flex-nogrow d-flex gap-8\">\n <button\n class=\"btn-dot btn\"\n [attr.aria-label]=\"'Duplicate configuration' | translate\"\n tooltip=\"{{ 'Duplicate configuration' | translate }}\"\n placement=\"left\"\n (click)=\"addConfig(configuration.value.config)\"\n [delay]=\"500\"\n >\n <i c8yIcon=\"copy\"></i>\n </button>\n\n <button\n class=\"btn-dot btn btn-dot--danger\"\n [attr.aria-label]=\"'Remove configurations' | translate\"\n tooltip=\"{{\n (configuration.value.id === currentConfiguration.id\n ? activeConfigTooltip\n : removeConfigTooltip\n ) | translate\n }}\"\n placement=\"left\"\n [delay]=\"500\"\n (click)=\"$event.stopPropagation(); deleteConfiguration(configuration.value)\"\n [disabled]=\"configuration.value.id === currentConfiguration.id\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n </div>\n </c8y-li>\n </div>\n </form>\n </c8y-list-group>\n <div class=\"sticky-bottom separator-top\">\n <div class=\"d-flex p-l-16 p-r-16 p-t-8 p-b-8\">\n <button\n class=\"btn btn-danger btn-sm flex-grow\"\n (click)=\"clearAll()\"\n [disabled]=\"configurations.length < 2\"\n >\n <i [c8yIcon]=\"'delete'\"></i>\n {{ 'Delete all configurations' | translate }}\n </button>\n <button\n class=\"btn btn-default btn-sm flex-grow\"\n type=\"button\"\n (click)=\"addConfig()\"\n >\n <i [c8yIcon]=\"'add-circle-outline'\"></i>\n {{ 'Add configuration' | translate }}\n </button>\n </div>\n </div>\n </div>\n </div>\n}\n","import { Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { CoreModule, ModalLabels } from '@c8y/ngx-components';\nimport { ReportDashboardModule } from '@c8y/ngx-components/report-dashboard';\nimport { ContextDashboardService } from '@c8y/ngx-components/context-dashboard';\nimport { IManagedObject } from '@c8y/client';\n\n@Component({\n selector: 'c8y-create-new-report-modal',\n templateUrl: './create-new-report-modal.component.html',\n standalone: true,\n imports: [ReactiveFormsModule, CoreModule, ReportDashboardModule]\n})\nexport class CreateNewReportModalComponent {\n reportName = '';\n labels: ModalLabels = { cancel: gettext('Cancel'), ok: gettext('Send') };\n\n result = new Promise<IManagedObject>((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n\n styling = {\n themeClass: 'dashboard-theme-light',\n headerClass: 'panel-title-regular'\n };\n\n readonly DEFAULT_DASHBOARD_ICON = 'th';\n readonly DEFAULT_DASHBOARD_PRIORITY = 5000;\n readonly DEFAULT_DASHBOARD_MARGIN = 12;\n private _resolve: (value: IManagedObject) => void;\n private _reject: (reason?: any) => void;\n constructor(private contextDashboardService: ContextDashboardService) {}\n\n async save() {\n const dashboard = {\n name: this.reportName,\n icon: this.DEFAULT_DASHBOARD_ICON,\n c8y_IsNavigatorNode: null,\n priority: this.DEFAULT_DASHBOARD_PRIORITY,\n description: '',\n widgetMargin: this.DEFAULT_DASHBOARD_MARGIN,\n classes: { [this.styling.headerClass]: true },\n widgetClasses: { [this.styling.headerClass]: true }\n };\n try {\n const { name, icon, c8y_IsNavigatorNode, priority, description } = dashboard;\n const report = (\n await this.contextDashboardService.createReport({\n name,\n icon,\n c8y_IsNavigatorNode,\n priority,\n description\n } as Partial<IManagedObject>)\n ).data;\n\n await this.contextDashboardService.create(\n dashboard,\n undefined,\n `${this.contextDashboardService.REPORT_PARTIAL_NAME}${report.id}`\n );\n\n this._resolve(report);\n } catch (ex) {\n this._reject(ex);\n }\n }\n\n cancel() {\n this._reject();\n }\n}\n","<c8y-modal\n [title]=\"'Create new report with widget' | translate\"\n [headerClasses]=\"'dialog-header'\"\n [disabled]=\"reportName === ''\"\n (onDismiss)=\"cancel()\"\n (onClose)=\"save()\"\n [labels]=\"labels\"\n>\n <ng-container c8y-modal-title>\n <span c8yIcon=\"c8y-reports\"></span>\n </ng-container>\n\n <p class=\"text-center bg-component text-balance sticky-top p-l-24 p-r-24 p-t-8 p-b-8 separator-bottom\">\n {{' Create a new report with the Data points graph widget using the current configuration.' | translate}}\n </p>\n <div class=\"p-24 p-t-8\">\n <c8y-form-group>\n <label\n for=\"reportName\"\n translate\n >\n Report name\n </label>\n <input\n class=\"form-control\"\n id=\"reportName\"\n placeholder=\"{{ 'e.g. My data point Report' }}\"\n name=\"name\"\n type=\"text\"\n autocomplete=\"off\"\n required\n [(ngModel)]=\"reportName\"\n />\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n </div>\n</c8y-modal>\n","import { inject, Injectable } from '@angular/core';\nimport { IManagedObject, InventoryService } from '@c8y/client';\nimport {\n ContextDashboardService,\n ContextDashboardType\n} from '@c8y/ngx-components/context-dashboard';\nimport { firstValueFrom } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DataExplorerService {\n private readonly inventory = inject(InventoryService);\n private readonly contextDashboardService = inject(ContextDashboardService);\n\n async fetchReportDashboard(reportId: string): Promise<IManagedObject> {\n return (\n await this.inventory.list({\n pageSize: 1,\n query: `has('c8y_Dashboard!name!report_${reportId}')`\n })\n ).data[0];\n }\n\n async fetchContextDashboard(\n dashboardId: string,\n contextAsset: IManagedObject\n ): Promise<IManagedObject> {\n const context = contextAsset.c8y_isDevice\n ? ContextDashboardType.Device\n : ContextDashboardType.Group;\n return firstValueFrom(this.contextDashboardService.getDashboard$(dashboardId, [context]));\n }\n}\n","import { Component, inject, Input } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { CoreModule, ModalLabels } from '@c8y/ngx-components';\nimport { Observable, merge, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { IIdentified, IManagedObject } from '@c8y/client';\nimport {\n ContextDashboardModule,\n ContextDashboardService,\n ContextDashboardType\n} from '@c8y/ngx-components/context-dashboard';\n\n@Component({\n selector: 'c8y-send-as-widget-to-dashboard-modal',\n templateUrl: './send-as-widget-to-dashboard-modal.component.html',\n standalone: true,\n imports: [ReactiveFormsModule, CoreModule, ContextDashboardModule]\n})\nexport class SendAsWidgetToDashboardModal {\n @Input() contextAsset: IIdentified;\n dashboards: IManagedObject[] = [];\n numberOfSelectedDashboards$: Observable<number>;\n form: ReturnType<typeof this.initForm>;\n result = new Promise<ReturnType<typeof this.initForm>['value']>((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n labels: ModalLabels = { cancel: gettext('Cancel'), ok: gettext('Send') };\n private contextDashboardService = inject(ContextDashboardService);\n private _resolve: (value: ReturnType<typeof this.initForm>['value']) => void;\n private _reject: (reason?: any) => void;\n\n async ngOnInit() {\n const context = this.contextAsset.c8y_IsDevice\n ? ContextDashboardType.Device\n : ContextDashboardType.Group;\n\n this.dashboards = (\n await this.contextDashboardService.getContextDashboards(this.contextAsset as IManagedObject, [\n context\n ])\n ).data;\n\n if (this.dashboards.length > 0) {\n this.form = this.initForm();\n }\n this.numberOfSelectedDashboards$ = merge(this.form.valueChanges, of(this.form.value)).pipe(\n map(value => Object.values(value).filter(Boolean).length)\n );\n }\n\n save() {\n this._resolve(this.form.value);\n }\n\n cancel() {\n this._reject();\n }\n\n private initForm(): FormGroup<Record<string, FormControl<boolean>>> {\n const controls = this.dashboards.reduce(\n (acc, dashboard) => ({\n ...acc,\n [dashboard.id]: new FormControl(false)\n }),\n {}\n );\n return new FormGroup(controls);\n }\n}\n","<c8y-modal\n [title]=\"'Send as widget to dashboards' | translate\"\n [disabled]=\"!form || form.invalid\"\n [headerClasses]=\"'dialog-header'\"\n (onDismiss)=\"cancel()\"\n (onClose)=\"save()\"\n [labels]=\"labels\"\n>\n <ng-container c8y-modal-title>\n <span c8yIcon=\"th\"></span>\n </ng-container>\n\n <c8y-list-group\n class=\"m-b-0 no-border-last\"\n *ngIf=\"form\"\n [formGroup]=\"form\"\n >\n <c8y-li>\n <p\n class=\"text-center text-medium\"\n *ngIf=\"numberOfSelectedDashboards$ | async as numberOfDashboards; else noSelectedDashboards\"\n translate\n [translateParams]=\"{ numberOfDashboards: numberOfDashboards }\"\n ngNonBindable\n >\n {{ numberOfDashboards }} dashboards selected for widget\n </p>\n <ng-template #noSelectedDashboards>\n <p\n class=\"text-center text-medium\"\n translate\n >\n Select one or more dashboards to send the Data points graph widget with the current\n configuration\n </p>\n </ng-template>\n </c8y-li>\n <c8y-li *ngFor=\"let dashboard of dashboards\">\n <c8y-li-checkbox\n [attr.data-cy]=\"'branding-apply-branding-to-app-checkbox-' + dashboard.id\"\n [formControlName]=\"dashboard.id\"\n ></c8y-li-checkbox>\n <c8y-li-icon class=\"p-l-0\">\n <i c8yIcon=\"{{ dashboard.icon }}\"></i>\n </c8y-li-icon>\n <div\n class=\"text-truncate\"\n title=\"{{ dashboard.name }}\"\n >\n {{ dashboard.name }}\n </div>\n </c8y-li>\n </c8y-list-group>\n\n <c8y-ui-empty-state\n [icon]=\"'th'\"\n [title]=\"'There are no dashboards defined.' | translate\"\n [subtitle]=\"'Add a dashboard first.' | translate\"\n *ngIf=\"dashboards.length === 0\"\n ></c8y-ui-empty-state>\n</c8y-modal>\n","import { Component, inject } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { CoreModule, ModalLabels } from '@c8y/ngx-components';\nimport { Observable, merge, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport {\n ReportDashboardModule,\n ReportDashboardService\n} from '@c8y/ngx-components/report-dashboard';\nimport { IManagedObject } from '@c8y/client';\n@Component({\n selector: 'c8y-send-as-widget-to-report-modal',\n templateUrl: './send-as-widget-to-report-modal.component.html',\n standalone: true,\n imports: [ReactiveFormsModule, CoreModule, ReportDashboardModule]\n})\nexport class SendAsWidgetToReportModal {\n reports: IManagedObject[] = [];\n numberOfSelectedReports$: Observable<number>;\n form: ReturnType<typeof this.initForm>;\n result = new Promise<ReturnType<typeof this.initForm>['value']>((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n labels: ModalLabels = { cancel: gettext('Cancel'), ok: gettext('Send') };\n private reportDashboardService = inject(ReportDashboardService);\n private _resolve: (value: ReturnType<typeof this.initForm>['value']) => void;\n private _reject: (reason?: any) => void;\n async ngOnInit() {\n this.reports = (await this.reportDashboardService.listReports({ pageSize: 2000 })).data;\n if (this.reports.length > 0) {\n this.form = this.initForm();\n }\n this.numberOfSelectedReports$ = merge(this.form.valueChanges, of(this.form.value)).pipe(\n map(value => Object.values(value).filter(Boolean).length)\n );\n }\n save() {\n this._resolve(this.form.value);\n }\n cancel() {\n this._reject();\n }\n private initForm(): FormGroup<Record<string, FormControl<boolean>>> {\n const controls = this.reports.reduce(\n (acc, report) => ({\n ...acc,\n [report.id]: new FormControl(false)\n }),\n {}\n );\n return new FormGroup(controls);\n }\n}\n","<c8y-modal\n [title]=\"'Send as widget to reports' | translate\"\n [disabled]=\"!form || form.invalid\"\n [headerClasses]=\"'dialog-header'\"\n (onDismiss)=\"cancel()\"\n (onClose)=\"save()\"\n [labels]=\"labels\"\n>\n <ng-container c8y-modal-title>\n <span c8yIcon=\"c8y-reports\"></span>\n </ng-container>\n\n <c8y-list-group\n class=\"m-b-0 no-border-last\"\n *ngIf=\"form\"\n [formGroup]=\"form\"\n >\n <c8y-li>\n <p\n class=\"text-center text-medium\"\n *ngIf=\"numberOfSelectedReports$ | async as numberOfReports; else noSelectedReports\"\n translate\n [translateParams]=\"{ numberOfReports: numberOfReports }\"\n ngNonBindable\n >\n {{ numberOfReports }} reports selected for widget\n </p>\n <ng-template #noSelectedReports>\n <p\n class=\"text-center text-medium\"\n translate\n >\n Select one or more reports to send the Data points graph widget with the current configuration\n </p>\n </ng-template>\n </c8y-li>\n <c8y-li *ngFor=\"let report of reports\">\n <c8y-li-checkbox\n [attr.data-cy]=\"'branding-apply-branding-to-app-checkbox-' + report.id\"\n [formControlName]=\"report.id\"\n ></c8y-li-checkbox>\n <c8y-li-icon class=\"p-l-0\">\n <i c8yIcon=\"{{ report.icon }}\"></i>\n </c8y-li-icon>\n <div class=\"text-truncate\" title=\"{{report.name}}\">{{ report.name }}</div>\n </c8y-li>\n </c8y-list-group>\n\n <c8y-ui-empty-state\n [icon]=\"'c8y-reports'\"\n [title]=\"'There are no reports defined.' | translate\"\n [subtitle]=\"'Add a report first.' | translate\"\n *ngIf=\"reports.length === 0\"\n ></c8y-ui-empty-state>\n</c8y-modal>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { Component, DestroyRef, ElementRef, inject, ViewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { aggregationType, IIdentified, IManagedObject } from '@c8y/client';\nimport {\n AlertService,\n CommonModule,\n ContextRouteService,\n CoreModule,\n DynamicComponentAlertAggregator,\n FormsModule,\n GainsightService,\n Permissions,\n ViewContext\n} from '@c8y/ngx-components';\nimport {\n AlarmEventSelectorModule,\n SelectedDatapoint\n} from '@c8y/ngx-components/alarm-event-selector';\nimport { ContextDashboardService } from '@c8y/ngx-components/context-dashboard';\nimport {\n DatapointAttributesFormConfig,\n DatapointSelectorModule,\n KPIDetails\n} from '@c8y/ngx-components/datapoint-selector';\nimport {\n DatapointsExportSelectorComponent,\n ExportConfig\n} from '@c8y/ngx-components/datapoints-export-selector';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n AlarmDetailsExtended,\n AlarmOrEventExtended,\n CHART_VIEW_CONTEXT,\n DatapointsGraphKPIDetails,\n DatapointsGraphWidgetConfig,\n EventDetailsExtended,\n PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH,\n TimeContextProps\n} from '@c8y/ngx-components/echart/models';\nimport {\n ChartAlarmsService,\n ChartEventsService,\n ChartHelpersService,\n ChartsComponent\n} from '@c8y/ngx-components/echart';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { Interval } from '@c8y/ngx-components/interval-picker';\nimport { TimeContextComponent } from '@c8y/ngx-components/time-context';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { map, Observable } from 'rxjs';\nimport { WorkspaceConfigComponent } from './configuration/workspace-configuration.component';\nimport { CreateNewReportModalComponent } from './create-new-report-modal/create-new-report-modal.component';\nimport { Settings } from './datapoint-explorer.model';\nimport { DataExplorerService } from './datapoint-explorer.service';\nimport { SendAsWidgetToDashboardModal } from './send-as-widget-to-dashboard-modal/send-as-widget-to-dashboard-modal.component';\nimport { SendAsWidgetToReportModal } from './send-as-widget-to-report-modal/send-as-widget-to-report-modal.component';\n\n@Component({\n selector: 'c8y-datapoint-explorer',\n templateUrl: './datapoint-explorer.component.html',\n standalone: true,\n imports: [\n CoreModule,\n CommonModule,\n DatapointSelectorModule,\n AlarmEventSelectorModule,\n TooltipModule,\n PopoverModule,\n TimeContextComponent,\n ChartsComponent,\n BsDropdownModule,\n FormsModule,\n A11yModule,\n DatapointsExportSelectorComponent,\n WorkspaceConfigComponent\n ],\n providers: [ChartEventsService, ChartAlarmsService, ChartHelpersService]\n})\nexport class DatapointExplorerComponent {\n settings$!: Observable<Settings>;\n @ViewChild('chart') chart: ElementRef;\n config: DatapointsGraphWidgetConfig = { datapoints: [], alarmsEventsConfigs: [] };\n exportConfig: ExportConfig;\n alerts: DynamicComponentAlertAggregator | undefined;\n alarms: AlarmDetailsExtended[] = [];\n events: EventDetailsExtended[] = [];\n datapointsOutOfSync = new Map<DatapointsGraphKPIDetails, boolean>();\n contextAsset: IIdentified;\n formGroup: FormGroup;\n activeDatapoints: KPIDetails[] = [];\n hasAtLeastOneAlarmActive = true;\n isMarkedAreaEnabled = false;\n alarmsOrEventsHaveNoMatchingDps = false;\n canAddReport = false;\n timeProps: {\n dateFrom: Date;\n dateTo: Date;\n interval?: Interval['id'];\n realtime?: boolean;\n aggregation?: aggregationType | null;\n };\n datapointSelectDefaultFormOptions: Partial<DatapointAttributesFormConfig> = {\n showRange: true,\n showChart: true\n };\n chartViewContext = CHART_VIEW_CONTEXT.DATAPOINT_EXPLORER;\n\n #destroyRef = inject(DestroyRef);\n\n private readonly dataExplorerService = inject(DataExplorerService);\n private readonly formBuilder = inject(FormBuilder);\n private readonly alertService = inject(AlertService);\n private readonly bsModalService = inject(BsModalService);\n private readonly permissions = inject(Permissions);\n private readonly contextDashboardService = inject(ContextDashboardService);\n private readonly activatedRoute = inject(ActivatedRoute);\n private readonly contextRouteService = inject(ContextRouteService);\n private readonly chartHelpersService = inject(ChartHelpersService);\n private readonly gainsightService = inject(GainsightService);\n\n constructor() {\n this.formGroup = this.initForm();\n this.settings$ = this.activatedRoute.data.pipe(map(data => data.settings as Settings));\n }\n\n ngOnInit(): void {\n this.contextAsset = this.initializeContextSourceId();\n this.checkForMatchingDatapoints();\n this.canAddReport = this.permissions.hasAnyRole([\n Permissions.ROLE_INVENTORY_CREATE,\n Permissions.ROLE_INVENTORY_ADMIN,\n Permissions.ROLE_MANAGED_OBJECT_ADMIN,\n Permissions.ROLE_MANAGED_OBJECT_CREATE\n ]);\n\n this.formGroup.valueChanges\n .pipe(takeUntilDestroyed(this.#destroyRef))\n .subscribe(configChange => {\n const { alarms, events, ...configValues } = configChange;\n this.config = {\n ...configValues,\n alarmsEventsConfigs: [...(alarms || []), ...(events || [])]\n };\n\n this.updateExportConfig();\n this.checkForMatchingDatapoints();\n });\n\n const configSummaryGS = this.chartHelpersService.getConfigSummaryForGainsight(this.config);\n\n this.gainsightService.triggerEvent(\n PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH.EVENTS.DATA_EXPLORER_AND_GRAPH,\n {\n component: PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH.COMPONENTS.DATA_EXPLORER_DETAILS,\n action: PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH.ACTIONS.DATA_EXPLORER_CONFIG_INIT,\n ...configSummaryGS\n }\n );\n }\n\n onTimeContextChange(timeProps: TimeContextProps): void {\n const realtime = this.formGroup.controls.realtime.value;\n if (timeProps.realtime !== realtime) {\n this.formGroup.patchValue({ realtime: timeProps.realtime });\n }\n if (timeProps.realtime) {\n if (timeProps.currentDateContextInterval !== this.formGroup.value.interval) {\n this.formGroup.patchValue({ interval: timeProps.currentDateContextInterval });\n }\n return;\n }\n this.formGroup.patchValue({\n dateFrom: timeProps.currentDateContextFromDate,\n dateTo: timeProps.currentDateContextToDate,\n interval: timeProps.currentDateContextInterval,\n aggregation: timeProps.aggregation || null\n });\n }\n\n onConfigurationChange(config: DatapointsGraphWidgetConfig): void {\n if (config.dateFrom && config.dateTo) {\n this.timeProps = {\n dateFrom: new Date(config?.dateFrom),\n dateTo: new Date(config?.dateTo),\n interval: config?.interval,\n realtime: config?.realtime,\n aggregation: config?.realtime ? null : config?.aggregation\n };\n }\n this.alarms = config.alarmsEventsConfigs.filter(ae => ae.timelineType === 'ALARM');\n this.events = config.alarmsEventsConfigs.filter(ae => ae.timelineType === 'EVENT');\n\n const configSummaryGS = this.chartHelpersService.getConfigSummaryForGainsight(config);\n\n this.gainsightService.triggerEvent(\n PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH.EVENTS.DATA_EXPLORER_AND_GRAPH,\n {\n component: PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH.COMPONENTS.DATA_EXPLORER_DETAILS,\n action: PRODUCT_EXPERIENCE_DATA_EXPLORER_AND_GRAPH.ACTIONS.DATA_EXPLORER_CONFIG_CHANGE,\n ...configSummaryGS\n }\n );\n\n this.formGroup.patchValue({ alarms: this.alarms, events: this.events, ...config });\n }\n\n onSliderZoom(timeProps: { dateFrom: Date; dateTo: Date; interval?: Interval['id'] }) {\n this.formGroup.patchValue(timeProps);\n this.timeProps = { ...timeProps, realtime: false };\n }\n\n updateTimeRangeOnRealtime(\n timeRange: Pick<DatapointsGraphWidgetConfig, 'dateFrom' | 'dateTo'>\n ): void {\n this.formGroup.patchValue(timeRange, { emitEvent: false });\n }\n\n updateAlarmsAndEvents(alarmsEventsConfigs: AlarmOrEventExtended[]): void {\n this.alarms = alarmsEventsConfigs.filter(this.isAlarm);\n this.events = alarmsEventsConfigs.filter(this.isEvent);\n this.hasAtLeastOneAlarmActive = this.hasActiveAlarms(this.alarms);\n }\n\n handleDatapointOutOfSync(dpOutOfSync: DatapointsGraphKPIDetails): void {\n const key = (dp: KPIDetails) => dp.__target?.id + dp.fragment + dp.series;\n const dpMatch = this.config.datapoints?.find(dp => key(dp) === key(dpOutOfSync));\n if (!dpMatch) {\n return;\n }\n this.datapointsOutOfSync.set(dpMatch, true);\n }\n\n updateActiveDatapoints(activeDatapoints: KPIDetails[]): void {\n this.activeDatapoints = [...activeDatapoints];\n }\n\n updateAggregatedSliderDatapoint(selectedDatapoint: SelectedDatapoint | null): void {\n const aggregatedDatapoint = this.chartHelpersService.findMatchingDatapoint(\n this.activeDatapoints,\n selectedDatapoint\n );\n this.formGroup.patchValue({ aggregatedDatapoint });\n }\n\n async createNewReportWithWidget(): Promise<void> {\n const modal = this.bsModalService.show(CreateNewReportModalComponent, {\n ignoreBackdropClick: true,\n keyboard: false,\n class: 'modal-sm'\n });\n const content = modal.content as CreateNewReportModalComponent;\n try {\n const report = await content.result;\n const reportDashboard = await this.dataExplorerService.fetchReportDashboard(report.id);\n const widget = this.createWidgetConfig();\n reportDashboard.c8y_Dashboard.children = { [widget.id]: widget };\n await this.contextDashboardService.update(reportDashboard);\n this.alertService.success(gettext('Report and widget created.'));\n } catch (e) {\n if (e) {\n this.alertService.danger(gettext('Failed to create report and widget.'));\n this.alertService.addServerFailure(e);\n }\n // else: modal was closed\n }\n }\n\n async sendAsWidgetToReport(): Promise<void> {\n const modal = this.bsModalService.show(SendAsWidgetToReportModal, {\n ignoreBackdropClick: true,\n keyboard: false,\n class: 'modal-sm'\n });\n const content = modal.content as SendAsWidgetToReportModal;\n try {\n const reports = await content.result;\n const selectedReports = Object.entries(reports).filter(([, value]) => value);\n const reportPromises = selectedReports.map(async ([reportId]) => {\n const reportDashboard = await this.dataExplorerService.fetchReportDashboard(reportId);\n const widget = this.createWidgetConfig();\n const children = reportDashboard.c8y_Dashboard.children || {};\n reportDashboard.c8y_Dashboard.children = { ...children, [widget.id]: widget };\n await this.contextDashboardService.update(reportDashboard);\n });\n\n await Promise.all(reportPromises);\n\n this.alertService.success(gettext('Widget created.'));\n } catch (e) {\n if (e) {\n this.alertService.danger(gettext('Failed to create widget.'));\n this.alertService.addServerFailure(e);\n }\n // else: modal was closed\n }\n }\n\n async sendAsWidgetToDashboard(): Promise<void> {\n const modal = this.bsModalService.show(SendAsWidgetToDashboardModal, {\n ignoreBackdropClick: true,\n keyboard: false,\n class: 'modal-sm',\n initialState: {\n contextAsset: this.contextAsset\n }\n });\n const content = modal.content as SendAsWidgetToDashboardModal;\n try {\n const dashboards = await content.result;\n const selectedDashboards = Object.entries(dashboards).filter(([, value]) => value);\n const dashboardPromises = selectedDashboards.map(async ([dashboardId]) => {\n const dashboard = await this.dataExplorerService.fetchContextDashboard(\n dashboardId,\n this.contextAsset as IManagedObject\n );\n const widget = this.createWidgetConfig();\n const children = dashboard.c8y_Dashboard.children || {};\n dashboard.c8y_Dashboard.children = { ...children, [widget.id]: widget };\n await this.contextDashboardService.update(dashboard);\n });\n\n await Promise.all(dashboardPromises);\n this.alertService.success(gettext('Widget created.'));\n } catch (e) {\n if (e) {\n this.alertService.danger(gettext('Failed to create widget.'));\n this.alertService.addServerFailure(e);\n }\n // else: modal was closed\n }\n }\n\n private isAlarm(item: AlarmOrEventExtended): item is AlarmDetailsExtended {\n return item.timelineType === 'ALARM';\n }\n\n private isEvent(item: AlarmOrEventExtended): item is EventDetailsExtended {\n return item.timelineType === 'EVENT';\n }\n\n private hasActiveAlarms(alarms: AlarmDetailsExtended[]): boolean {\n return alarms.length > 0 && alarms.some(alarm => alarm.__active);\n }\n\n private checkForMatchingDatapoints(): void {\n const allMatch = this.config?.alarmsEventsConfigs?.every(ae =>\n this.formGroup.value.datapoints?.some(dp => dp.__target?.id === ae.__target?.id)\n );\n\n queueMicrotask(() => {\n this.alarmsOrEventsHaveNoMatchingDps = !allMatch;\n });\n }\n\n private updateExportConfig(): void {\n const datapointDetails = this.config.datapoints\n .filter(({ __active }) => __active)\n .map(({ __target, fragment, series }) => ({\n deviceName: __target.name,\n source: __target.id,\n valueFragmentSeries: series,\n valueFragmentType: fragment\n }));\n\n if (datapointDetails.length === 0) {\n this.exportConfig = null;\n } else {\n this.exportConfig = {\n aggregation: this.config.aggregation,\n dateFrom: new Date(this.config.dateFrom).toISOString(),\n dateTo: new Date(this.config.dateTo).toISOString(),\n datapointDetails: datapointDetails\n };\n }\n }\n\n private initializeContextSourceId(): IIdentified {\n const routeContext = this.contextRouteService.getContextData(this.activatedRoute);\n if (!routeContext) {\n return;\n }\n const { context, contextData } = routeContext;\n if ([ViewContext.Device, ViewContext.Group].includes(context)) {\n return contextData;\n }\n }\n\n private createWidgetConfig(): any {\n return {\n name: gettext('Data points graph'),\n title: gettext('Data points'),\n _width: 24,\n _height: 12,\n config: this.config\n };\n }\n\n private initForm() {\n return this.formBuilder.group({\n datapoints: [this.config.datapoints || []],\n aggregatedDatapoint: [this.config.aggregatedDatapoint || null],\n alarms: [this.alarms || []],\n events: [this.events || []],\n dateFrom: [this.config.dateFrom || (null as Date)],\n dateTo: [this.config.dateFrom || (null as Date)],\n interval: [this.config.interval || 'hours'],\n aggregation: [this.config.aggregation || (null as aggregationType | null)],\n realtime: [this.config.realtime || false],\n displayMarkedLine: [true, []],\n displayMarkedPoint: [true, []],\n mergeMatchingDatapoints: [true, []],\n forceMergeDatapoints: [false, []],\n showLabelAndUnit: [true, []],\n showSlider: [true, []],\n displayDateSelection: [false, []],\n yAxisSplitLines: [false],\n xAxisSplitLines: [false],\n numberOfDecimalPlaces: [2, [Validators.required, Validators.min(0), Validators.max(10)]]\n });\n }\n}\n","<c8y-title>{{ 'Data explorer' | translate }}</c8y-title>\n\n<c8y-time-context\n (contextChange)=\"onTimeContextChange($event)\"\n [changedDateContext]=\"timeProps\"\n [timeContext]=\"(settings$ | async)?.timeContext\"\n></c8y-time-context>\n\n<c8y-action-bar-item [placement]=\"'left'\">\n <c8y-workspace-config\n [updatedConfig]=\"config\"\n [silent]=\"(settings$ | async)?.hideWorkspaceConfig\"\n (onConfigurationChange)=\"onConfigurationChange($event)\"\n ></c8y-workspace-config>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item\n *ngIf=\"!(settings$ | async)?.hideExportSelector\"\n [placement]=\"'right'\"\n>\n <c8y-datapoints-export-selector\n [exportConfig]=\"exportConfig\"\n [containerClass]=\"'d-contents'\"\n ></c8y-datapoints-export-selector>\n</c8y-action-bar-item>\n\n@if (!(settings$ | async)?.hideWidgetActions) {\n <ng-container *ngIf=\"contextAsset\">\n <c8y-action-bar-item\n [placement]=\"'more'\"\n [priority]=\"-2000\"\n >\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Send as widget to dashboard' | translate }}\"\n type=\"button\"\n data-cy=\"widgets-dashboard--copy-dashboard\"\n (click)=\"sendAsWidgetToDashboard()\"\n [disabled]=\"config?.datapoints?.length === 0 || !canAddReport\"\n >\n <i c8yIcon=\"th\"></i>\n <span>{{ 'Send as widget to dashboard' | translate }}</span>\n </button>\n </c8y-action-bar-item>\n </ng-container>\n\n <ng-container *ngIf=\"!contextAsset\">\n <c8y-action-bar-item\n [placement]=\"'more'\"\n [priority]=\"-2000\"\n >\n <button\n title=\"{{ 'Send as widget to report' | translate }}\"\n type=\"button\"\n data-cy=\"widgets-dashboard--copy-dashboard\"\n (click)=\"sendAsWidgetToReport()\"\n [disabled]=\"config?.datapoints?.length === 0 || !canAddReport\"\n >\n <i c8yIcon=\"c8y-reports\"></i>\n <span>{{ 'Send as widget to report' | translate }}</span>\n </button>\n </c8y-action-bar-item>\n\n <c8y-action-bar-item\n [placement]=\"'more'\"\n [priority]=\"-2000\"\n >\n <button\n title=\"{{ 'Create a new report with widget' | translate }}\"\n type=\"button\"\n data-cy=\"widgets-dashboard--copy-dashboard\"\n (click)=\"createNewReportWithWidget()\"\n [disabled]=\"config?.datapoints?.length === 0 || !canAddReport\"\n >\n <i c8yIcon=\"c8y-reports\"></i>\n <span>{{ 'Create a new report with widget' | translate }}</span>\n </button>\n </c8y-action-bar-item>\n </ng-container>\n}\n\n<div class=\"content-fullpage d-grid grid__col--auto-360 gap-24\">\n <div class=\"d-col gap-16\">\n <c8y-charts\n class=\"flex-grow data-point-explorer\"\n #chart\n [config]=\"config\"\n [alerts]=\"alerts\"\n [chartViewContext]=\"chartViewContext\"\n (updateAlarmsAndEvents)=\"updateAlarmsAndEvents($event)\"\n (configChangeOnZoomOut)=\"onSliderZoom($event)\"\n (datapointOutOfSync)=\"handleDatapointOutOfSync($event)\"\n (timeRangeChangeOnRealtime)=\"updateTimeRangeOnRealtime($event)\"\n (isMarkedAreaEnabled)=\"isMarkedAreaEnabled = $event\"\n (updateActiveDatapoints)=\"updateActiveDatapoints($event)\"\n (updateAggregatedSliderDatapoint)=\"updateAggregatedSliderDatapoint($event)\"\n ></c8y-charts>\n <form\n class=\"m-l-48 m-r-48\"\n [formGroup]=\"formGroup\"\n >\n <div class=\"d-grid-lg grid__col--4-4-4 gap-16\">\n <fieldset class=\"c8y-fieldset form-group-sm m-t-md-0 p-b-8\">\n <legend>{{ 'Axis' | translate }}</legend>\n <label\n class=\"c8y-checkbox\"\n [title]=\"'Y-axis helper lines' | translate\"\n >\n <input\n name=\"yAxisSplitLines\"\n type=\"checkbox\"\n formControlName=\"yAxisSplitLines\"\n />\n <span></span>\n <span translate>Y-axis helper lines</span>\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"'X-axis helper lines' | translate\"\n >\n <input\n name=\"xAxisSplitLines\"\n type=\"checkbox\"\n formControlName=\"xAxisSplitLines\"\n />\n <span></span>\n <span translate>X-axis helper lines</span>\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"'Merge matching data points into single axis' | translate\"\n >\n <input\n name=\"mergeMatchingDatapoints\"\n type=\"checkbox\"\n formControlName=\"mergeMatchingDatapoints\"\n />\n <span></span>\n <span translate>Merge matching data points into single axis</span>\n <button\n class=\"btn-dot m-l-8\"\n [attr.aria-label]=\"\n 'Data points with the same min and max values will be merged into a single axis. The values must be defined in the data point configuration.'\n | translate\n \"\n [tooltip]=\"\n 'Data points with the same min and max values will be merged into a single axis. The values must be defined in the data point configuration.'\n | translate\n \"\n container=\"body\"\n type=\"button\"\n (click)=\"$event.stopPropagation()\"\n [adaptivePosition]=\"false\"\n >\n <i\n class=\"text-info\"\n c8yIcon=\"info\"\n ></i>\n </button>\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"'Force merge all data points into single axis' | translate\"\n >\n <input\n name=\"forceMergeDatapoints\"\n type=\"checkbox\"\n formControlName=\"forceMergeDatapoints\"\n />\n <span></span>\n <span translate>Force merge all data points into single axis</span>\n <button\n class=\"btn-dot m-l-8\"\n [attr.aria-label]=\"\n 'All axes will be force merged to a single axis with the scale being set to the max and min value of all axes. It\\'s recommended to use this option for data points with similar values.'\n | translate\n \"\n [tooltip]=\"\n 'All axes will be force merged to a single axis with the scale being set to the max and min value of all axes. It\\'s recommended to use this option for data points with similar values.'\n | translate\n \"\n container=\"body\"\n type=\"button\"\n (click)=\"$event.stopPropagation()\"\n [adaptivePosition]=\"false\"\n >\n <i\n class=\"text-info\"\n c8yIcon=\"info\"\n ></i>\n </button>\n </label>\n </fieldset>\n <fieldset class=\"c8y-fieldset form-group-sm m-t-md-0 p-b-8\">\n <legend>{{ 'Alarms & events' | translate }}</legend>\n <label\n class=\"c8y-checkbox\"\n [title]=\"'Show vertical line when alarm occurs' | translate\"\n >\n <input\n name=\"displayMarkedLine\"\n type=\"checkbox\"\n formControlName=\"displayMarkedLine\"\n />\n <span></span>\n <span translate>Show vertical line on every occurrence</span>\n </label>\n\n <label\n class=\"c8y-checkbox\"\n [title]=\"'Show icon when alarm or event occurs' | translate\"\n >\n <input\n name=\"displayMarkedPoint\"\n type=\"checkbox\"\n formControlName=\"displayMarkedPoint\"\n />\n <span></span>\n <span>\n {{\n 'Show icon when triggered`When alarms and events occur the icon will be shown`'\n | translate\n }}\n </span>\n <button\n class=\"btn-dot m-l-8\"\n [attr.aria-label]=\"\n 'Some alarms or events have no matching data points. No icons will be shown for them.'\n | translate\n \"\n [tooltip]=\"\n 'Some alarms or events have no matching data points. No icons will be shown for them.'\n | translate\n \"\n container=\"body\"\n type=\"button\"\n *ngIf=\"alarmsOrEventsHaveNoMatchingDps\"\n (click)=\"$event.stopPropagation()\"\n [adaptivePosition]=\"false\"\n >\n <i\n class=\"text-info\"\n c8yIcon=\"info\"\n ></i>\n </button>\n </label>\n </fieldset>\n <fieldset class=\"c8y-fieldset form-group-sm m-t-md-0 p-b-8\">\n <legend>{{ 'Chart' | translate }}</legend>\n <label\n class=\"c8y-checkbox\"\n [title]=\"'Show labels and units' | translate\"\n >\n <input\n name=\"showLabelAndUnit\"\n type=\"checkbox\"\n formControlName=\"showLabelAndUnit\"\n />\n <span></span>\n <span translate>Display labels and units on Y-axis</span>\n </label>\n <label\n class=\"c8y-checkbox\"\n [title]=\"'Show slider' | translate\"\n >\n <input\n name=\"showSlider\"\n type=\"checkbox\"\n formControlName=\"showSlider\"\n />\n <span></span>\n <span translate>Show slider</span>\n </label>\n </fieldset>\n </div>\n </form>\n </div>\n <div class=\"card inner-scroll bg-level-1\">\n <form\n class=\"bg-inherit\"\n [formGroup]=\"formGroup\"\n >\n <c8y-datapoint-selection-list\n class=\"bg-inherit separator-top d-block\"\n name=\"datapoints\"\n [minActiveCount]=\"0\"\n [defaultFormOptions]=\"datapointSelectDefaultFormOptions\"\n [config]=\"{ contextAsset: contextAsset }\"\n formControlName=\"datapoints\"\n [allowDragAndDrop]=\"true\"\n ></c8y-datapoint-selection-list>\n\n <c8y-alarm-event-selection-list\n class=\"bg-inherit\"\n name=\"alarms\"\n formControlName=\"alarms\"\n [timelineType]=\"'ALARM'\"\n [datapoints]=\"config.datapoints\"\n ></c8y-alarm-event-selection-list>\n\n <c8y-alarm-event-selection-list\n class=\"bg-inherit\"\n name=\"events\"\n formControlName=\"events\"\n [timelineType]=\"'EVENT'\"\n [datapoints]=\"config.datapoints\"\n ></c8y-alarm-event-selection-list>\n\n <div class=\"p-l-16 p-r-16 form-group p-b-16\">\n <label\n [title]=\"'Number of decimal places' | translate\"\n translate\n >\n Number of decimal places\n </label>\n <input\n class=\"form-control\"\n name=\"numberOfDecimalPlaces\"\n type=\"number\"\n formControlName=\"numberOfDecimalPlaces\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 1 }\"\n />\n <c8y-messages\n [show]=\"\n formGroup.controls?.numberOfDecimalPlaces?.touched &&\n formGroup?.controls?.numberOfDecimalPlaces?.errors\n \"\n ></c8y-messages>\n </div>\n </form>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","map","i4","i5","FormsModule"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, Injectable, NgModule } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { gettext } from '@c8y/ngx-components/gettext';
|
|
4
|
+
import { PreviewService, NavigatorNode, hookRoute, hookNavigator, hookPreview, ViewContext } from '@c8y/ngx-components';
|
|
4
5
|
import { map, first } from 'rxjs';
|
|
5
6
|
|
|
6
7
|
class DatapointExplorerNavigationFactory {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-datapoint-explorer.mjs","sources":["../../datapoint-explorer/datapoint-explorer-navigation-factory.ts","../../datapoint-explorer/datapoint-explorer.module.ts","../../datapoint-explorer/c8y-ngx-components-datapoint-explorer.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { gettext
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-datapoint-explorer.mjs","sources":["../../datapoint-explorer/datapoint-explorer-navigation-factory.ts","../../datapoint-explorer/datapoint-explorer.module.ts","../../datapoint-explorer/c8y-ngx-components-datapoint-explorer.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { NavigatorNode, NavigatorNodeFactory, PreviewService } from '@c8y/ngx-components';\nimport { map, Observable } from 'rxjs';\n\n@Injectable()\nexport class DatapointExplorerNavigationFactory implements NavigatorNodeFactory {\n private readonly previewFeatureService = inject(PreviewService);\n\n get(): Observable<NavigatorNode[]> {\n return this.previewFeatureService.getState$('ui.datapoint-explorer.v2').pipe(\n map(state => {\n if (state) {\n return [\n new NavigatorNode({\n label: gettext('Data explorer'),\n featureId: 'dataPointExplorer',\n path: 'datapointexplorer-v2',\n icon: 'c8y-data-explorer',\n routerLinkExact: false,\n preventDuplicates: true\n })\n ];\n }\n return [];\n })\n );\n }\n}\n","import { inject, NgModule } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n hookNavigator,\n hookPreview,\n hookRoute,\n PreviewService,\n ViewContext\n} from '@c8y/ngx-components';\nimport { first, Observable } from 'rxjs';\nimport { DatapointExplorerNavigationFactory } from './datapoint-explorer-navigation-factory';\n\nexport function canActivateDatapointExplorer(): Observable<boolean> {\n const previewFeatureService = inject(PreviewService);\n return previewFeatureService.getState$('ui.datapoint-explorer.v2').pipe(first());\n}\n\n@NgModule({\n providers: [\n hookRoute([\n {\n path: 'datapointexplorer-v2',\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-explorer/view').then(\n m => m.DatapointExplorerComponent\n ),\n canActivate: [canActivateDatapointExplorer]\n },\n {\n context: ViewContext.Group,\n path: 'data_explorer-v2',\n priority: 800,\n icon: 'c8y-data-explorer',\n label: gettext('Data Explorer'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-explorer/view').then(\n m => m.DatapointExplorerComponent\n ),\n featureId: 'dataExplorer',\n canActivate: [canActivateDatapointExplorer]\n },\n {\n context: ViewContext.Device,\n path: 'data_explorer-v2',\n priority: 800,\n icon: 'c8y-data-explorer',\n label: gettext('Data Explorer'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-explorer/view').then(\n m => m.DatapointExplorerComponent\n ),\n featureId: 'dataExplorer',\n canActivate: [canActivateDatapointExplorer]\n }\n ]),\n hookNavigator(DatapointExplorerNavigationFactory),\n hookPreview({\n key: 'ui.datapoint-explorer.v2',\n label: 'Data point explorer',\n description: () =>\n import('@c8y/style/markdown-files/datapoint-explorer-preview.md').then(m => m.default),\n settings: {\n reload: true\n }\n })\n ]\n})\nexport class DatapointExplorerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,9 @@ import { Validators } from '@angular/forms';
|
|
|
5
5
|
import * as i1 from '@angular/router';
|
|
6
6
|
import { RouterModule } from '@angular/router';
|
|
7
7
|
import * as i2 from '@c8y/client';
|
|
8
|
+
import { gettext } from '@c8y/ngx-components/gettext';
|
|
8
9
|
import * as i4 from '@c8y/ngx-components';
|
|
9
|
-
import {
|
|
10
|
+
import { HumanizePipe, C8yValidators, CoreModule } from '@c8y/ngx-components';
|
|
10
11
|
import * as i5 from '@ngx-translate/core';
|
|
11
12
|
import { get, isEmpty } from 'lodash-es';
|
|
12
13
|
import { pathToDatapointLibrary, DATAPOINT_LIBRARY_CONFIG } from '@c8y/ngx-components/datapoint-library/model';
|