@c8y/ngx-components 1022.13.0 → 1022.21.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/alarms/alarms.helper.d.ts.map +1 -1
- package/auth-configuration/sso-configuration/templates/template.component.d.ts +1 -1
- package/core/asset-property/asset-property.model.d.ts +0 -6
- package/core/asset-property/asset-property.model.d.ts.map +1 -1
- package/core/authentication/authentication.module.d.ts.map +1 -1
- package/core/authentication/new-password.component.d.ts +3 -2
- package/core/authentication/new-password.component.d.ts.map +1 -1
- package/core/dashboard/widget-auto-refresh-context/auto-refresh-control.component.d.ts.map +1 -1
- package/core/drop-area/drop-area.component.d.ts +2 -0
- package/core/drop-area/drop-area.component.d.ts.map +1 -1
- package/core/dynamic-forms/file/file.type.component.d.ts.map +1 -1
- package/core/modal/modal.module.d.ts.map +1 -1
- package/core/modal/modal.service.d.ts +1 -0
- package/core/modal/modal.service.d.ts.map +1 -1
- package/core/plugins/plugins.module.d.ts.map +1 -1
- package/core/plugins/plugins.service.d.ts +1 -2
- package/core/plugins/plugins.service.d.ts.map +1 -1
- package/core/select/select.component.d.ts.map +1 -1
- package/core/user/user-edit-modal.component.d.ts +1 -0
- package/core/user/user-edit-modal.component.d.ts.map +1 -1
- package/core/user/user-edit.component.d.ts +4 -1
- package/core/user/user-edit.component.d.ts.map +1 -1
- package/datapoint-explorer/datapoint-explorer.module.d.ts +2 -0
- package/datapoint-explorer/datapoint-explorer.module.d.ts.map +1 -1
- package/datapoint-explorer/devicemanagement/c8y-ngx-components-datapoint-explorer-devicemanagement.d.ts.map +1 -0
- package/datapoint-explorer/devicemanagement/index.d.ts +2 -0
- package/datapoint-explorer/devicemanagement/index.d.ts.map +1 -0
- package/datapoint-explorer/view/datapoint-explorer.component.d.ts +6 -3
- package/datapoint-explorer/view/datapoint-explorer.component.d.ts.map +1 -1
- package/datapoint-explorer/view/datapoint-explorer.model.d.ts +8 -0
- package/datapoint-explorer/view/datapoint-explorer.model.d.ts.map +1 -0
- package/datapoint-explorer/view/index.d.ts +1 -0
- package/datapoint-explorer/view/index.d.ts.map +1 -1
- package/device-list/devices.breadcrumb-factory.d.ts +1 -0
- package/device-list/devices.breadcrumb-factory.d.ts.map +1 -1
- package/device-profile/add-device-profile.component.d.ts +1 -1
- package/device-profile/add-device-profile.component.d.ts.map +1 -1
- package/device-profile/device-profile-list.component.d.ts +1 -1
- package/device-profile/device-profile-list.component.d.ts.map +1 -1
- package/device-profile/device-profile.component.d.ts +1 -1
- package/device-profile/device-profile.component.d.ts.map +1 -1
- package/device-profile/device-profile.module.d.ts +17 -17
- package/device-profile/device-profile.module.d.ts.map +1 -1
- package/device-profile/device-tab-profile/device-profile-item-list.component.d.ts +1 -1
- package/device-profile/device-tab-profile/device-profile-item-list.component.d.ts.map +1 -1
- package/device-profile/device-tab-profile/device-tab-profile-detail.component.d.ts +1 -1
- package/device-profile/device-tab-profile/device-tab-profile-detail.component.d.ts.map +1 -1
- package/device-profile/device-tab-profile/device-tab-profile.component.d.ts +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 +1 -1
- package/device-profile/select-configuration-modal.component.d.ts.map +1 -1
- package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts +4 -2
- package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts.map +1 -1
- package/device-shell/command-templates/command-templates.component.d.ts +1 -1
- package/device-shell/command-templates/command-templates.component.d.ts.map +1 -1
- package/device-shell/command-templates/command-templates.directive.d.ts +1 -1
- package/device-shell/command-templates/command-templates.directive.d.ts.map +1 -1
- package/device-shell/command-templates/command-templates.module.d.ts +1 -1
- package/device-shell/shell/shell.component.d.ts +1 -1
- package/device-shell/shell/shell.component.d.ts.map +1 -1
- package/device-shell/shell/shell.module.d.ts +7 -7
- package/diagnostics/diagnostics.component.d.ts +1 -1
- package/diagnostics/diagnostics.component.d.ts.map +1 -1
- package/diagnostics/diagnostics.module.d.ts +8 -8
- package/diagnostics/diagnostics.module.d.ts.map +1 -1
- package/echart/services/chart-realtime.service.d.ts +2 -0
- package/echart/services/chart-realtime.service.d.ts.map +1 -1
- package/echart/services/echarts-options.service.d.ts +4 -4
- package/echart/services/echarts-options.service.d.ts.map +1 -1
- package/events/c8y-ngx-components-events.d.ts.map +1 -0
- package/events/events-timeline/c8y-ngx-components-events-events-timeline.d.ts.map +1 -0
- package/events/events-timeline/events-timeline.component.d.ts +19 -0
- package/events/events-timeline/events-timeline.component.d.ts.map +1 -0
- package/events/events-timeline/index.d.ts +2 -0
- package/events/events-timeline/index.d.ts.map +1 -0
- package/events/events.model.d.ts +6 -0
- package/events/events.model.d.ts.map +1 -0
- package/events/events.service.d.ts +10 -0
- package/events/events.service.d.ts.map +1 -0
- package/events/index.d.ts +3 -0
- package/events/index.d.ts.map +1 -0
- package/fesm2022/c8y-ngx-components-alarms.mjs +2 -1
- package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs +2 -2
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-explorer-devicemanagement.mjs +38 -0
- package/fesm2022/c8y-ngx-components-datapoint-explorer-devicemanagement.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +143 -142
- package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-list.mjs +10 -3
- package/fesm2022/c8y-ngx-components-device-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-profile.mjs +126 -49
- package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +44 -12
- package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-device-shell.mjs +31 -22
- package/fesm2022/c8y-ngx-components-device-shell.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-diagnostics.mjs +36 -19
- package/fesm2022/c8y-ngx-components-diagnostics.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-echart.mjs +53 -17
- package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-events-events-timeline.mjs +45 -0
- package/fesm2022/c8y-ngx-components-events-events-timeline.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-events.mjs +44 -0
- package/fesm2022/c8y-ngx-components-events.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs +8 -14
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs +49 -49
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +27 -14
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs +27 -33
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs +51 -39
- package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs +10 -8
- package/fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs +16 -11
- package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-device-selector.mjs +8 -11
- package/fesm2022/c8y-ngx-components-operations-device-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-operation-details.mjs +25 -21
- package/fesm2022/c8y-ngx-components-operations-operation-details.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-operation-summary.mjs +7 -9
- package/fesm2022/c8y-ngx-components-operations-operation-summary.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs +31 -31
- package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +3 -3
- package/fesm2022/c8y-ngx-components-operations-operations-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs +33 -13
- package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-status-filter.mjs +19 -13
- package/fesm2022/c8y-ngx-components-operations-status-filter.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +40 -36
- 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 +60 -41
- 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 +122 -109
- 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 +66 -41
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-stepper-frames.mjs +11 -16
- package/fesm2022/c8y-ngx-components-operations-stepper-frames.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +212 -83
- package/fesm2022/c8y-ngx-components-protocol-opcua.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs +113 -54
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-firmware.mjs +130 -62
- package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-shared.mjs +37 -28
- package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-repository-software.mjs +156 -83
- package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-services.mjs +32 -19
- package/fesm2022/c8y-ngx-components-services.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-time-context.mjs +12 -5
- package/fesm2022/c8y-ngx-components-time-context.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +68 -31
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs +16 -3
- package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-upgrade.mjs +1 -14
- package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-user-roles.mjs +8 -3
- package/fesm2022/c8y-ngx-components-user-roles.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +4 -4
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +1219 -1190
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/de.po +53 -35
- package/locales/es.po +26 -5
- package/locales/fr.po +51 -30
- package/locales/ja_JP.po +90 -67
- package/locales/ko.po +26 -5
- package/locales/locales.pot +22 -13
- package/locales/nl.po +26 -5
- package/locales/pl.po +26 -5
- package/locales/pt_BR.po +26 -5
- package/locales/zh_CN.po +27 -6
- package/locales/zh_TW.po +26 -5
- package/operations/bulk-operation-from-single/bulk-operation-from-single.component.d.ts +1 -1
- package/operations/bulk-operation-from-single/bulk-operation-from-single.component.d.ts.map +1 -1
- package/operations/bulk-operation-from-single/bulk-operation-from-single.module.d.ts +3 -5
- package/operations/bulk-operation-from-single/bulk-operation-from-single.module.d.ts.map +1 -1
- package/operations/bulk-operation-list-item/bulk-operation-list-item.component.d.ts +1 -1
- package/operations/bulk-operation-list-item/bulk-operation-list-item.component.d.ts.map +1 -1
- package/operations/bulk-operation-list-item/bulk-operation-list-item.module.d.ts +1 -7
- package/operations/bulk-operation-list-item/bulk-operation-list-item.module.d.ts.map +1 -1
- package/operations/bulk-operation-list-item/bulk-operation-wrapper.component.d.ts +1 -1
- package/operations/bulk-operation-list-item/bulk-operation-wrapper.component.d.ts.map +1 -1
- package/operations/bulk-operation-list-item/modal-body-host.directive.d.ts +1 -1
- package/operations/bulk-operation-list-item/modal-body-host.directive.d.ts.map +1 -1
- package/operations/bulk-operation-list-item/modals/bulk-operations-reschedule-modal.component.d.ts +1 -1
- package/operations/bulk-operation-list-item/modals/bulk-operations-reschedule-modal.component.d.ts.map +1 -1
- package/operations/bulk-operation-scheduler/bulk-operation-scheduler.module.d.ts +6 -6
- package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts +1 -1
- package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts.map +1 -1
- package/operations/bulk-operation-stepper/base-stepper.component.d.ts +1 -1
- package/operations/bulk-operation-stepper/bulk-operation-stepper.component.d.ts +1 -1
- package/operations/bulk-operation-stepper/bulk-operation-stepper.component.d.ts.map +1 -1
- package/operations/bulk-operation-stepper/bulk-operation-stepper.module.d.ts +1 -5
- package/operations/bulk-operation-stepper/bulk-operation-stepper.module.d.ts.map +1 -1
- package/operations/bulk-operation-stepper/custom-step.directive.d.ts +1 -1
- package/operations/bulk-operation-stepper/custom-step.directive.d.ts.map +1 -1
- package/operations/bulk-operations-list/bulk-operations-list.component.d.ts +1 -1
- package/operations/bulk-operations-list/bulk-operations-list.component.d.ts.map +1 -1
- package/operations/bulk-operations-list/bulk-operations-list.module.d.ts +4 -10
- package/operations/bulk-operations-list/bulk-operations-list.module.d.ts.map +1 -1
- package/operations/bulk-operations-list/modals/bulk-operations-modal.component.d.ts +1 -1
- package/operations/bulk-operations-list/modals/bulk-operations-modal.component.d.ts.map +1 -1
- package/operations/bulk-operations-stepper-container/bulk-operations-stepper-container.component.d.ts +1 -1
- package/operations/bulk-operations-stepper-container/bulk-operations-stepper-container.component.d.ts.map +1 -1
- package/operations/bulk-operations-stepper-container/bulk-operations-stepper-container.module.d.ts +3 -4
- package/operations/bulk-operations-stepper-container/bulk-operations-stepper-container.module.d.ts.map +1 -1
- package/operations/create-bulk-operation-details/create-bulk-operation-details.component.d.ts +1 -1
- package/operations/create-bulk-operation-details/create-bulk-operation-details.component.d.ts.map +1 -1
- package/operations/create-bulk-operation-details/create-bulk-operation-details.module.d.ts +1 -4
- package/operations/create-bulk-operation-details/create-bulk-operation-details.module.d.ts.map +1 -1
- package/operations/device-selector/device-selector.component.d.ts +1 -1
- package/operations/device-selector/device-selector.component.d.ts.map +1 -1
- package/operations/device-selector/device-selector.module.d.ts +1 -3
- package/operations/device-selector/device-selector.module.d.ts.map +1 -1
- package/operations/operation-details/operation-details-modal.component.d.ts +1 -1
- package/operations/operation-details/operation-details-modal.component.d.ts.map +1 -1
- package/operations/operation-details/operation-details.component.d.ts +1 -1
- package/operations/operation-details/operation-details.component.d.ts.map +1 -1
- package/operations/operation-details/operation-details.module.d.ts +1 -7
- package/operations/operation-details/operation-details.module.d.ts.map +1 -1
- package/operations/operation-details/operation-details.service.d.ts.map +1 -1
- package/operations/operation-summary/operation-summary.component.d.ts +1 -1
- package/operations/operation-summary/operation-summary.component.d.ts.map +1 -1
- package/operations/operation-summary/operation-summary.module.d.ts +1 -2
- package/operations/operation-summary/operation-summary.module.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/operations-list.service.d.ts +1 -1
- package/operations/operations-list/operations-list.service.d.ts.map +1 -1
- package/operations/operations-list-item-details/operation-details-tabs.component.d.ts +1 -1
- package/operations/operations-list-item-details/operation-details-tabs.component.d.ts.map +1 -1
- package/operations/operations-list-item-details/operation-details.component.d.ts +1 -1
- package/operations/operations-list-item-details/operation-details.component.d.ts.map +1 -1
- package/operations/operations-list-item-details/operations-list-item-details.module.d.ts +1 -6
- package/operations/operations-list-item-details/operations-list-item-details.module.d.ts.map +1 -1
- package/operations/operations-timeline/operations-timeline.component.d.ts +5 -5
- package/operations/operations-timeline/operations-timeline.component.d.ts.map +1 -1
- package/operations/operations-timeline/operations-timeline.module.d.ts +4 -6
- package/operations/operations-timeline/operations-timeline.module.d.ts.map +1 -1
- package/operations/status-filter/status-filter.component.d.ts +1 -1
- package/operations/status-filter/status-filter.component.d.ts.map +1 -1
- package/operations/status-filter/status-filter.module.d.ts +1 -4
- package/operations/status-filter/status-filter.module.d.ts.map +1 -1
- package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.component.d.ts +1 -1
- package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.component.d.ts.map +1 -1
- package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.module.d.ts +1 -6
- package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.module.d.ts.map +1 -1
- package/operations/stepper-bulk-type-device-profile/confirm-device-profile-selection-step.component.d.ts +1 -1
- package/operations/stepper-bulk-type-device-profile/confirm-device-profile-selection-step.component.d.ts.map +1 -1
- package/operations/stepper-bulk-type-device-profile/select-device-profile-step.component.d.ts +1 -1
- package/operations/stepper-bulk-type-device-profile/select-device-profile-step.component.d.ts.map +1 -1
- package/operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.component.d.ts +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-device-profile/stepper-bulk-type-device-profile.module.d.ts +1 -6
- package/operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.module.d.ts.map +1 -1
- package/operations/stepper-bulk-type-firmware/select-firmware.component.d.ts +1 -1
- package/operations/stepper-bulk-type-firmware/select-firmware.component.d.ts.map +1 -1
- package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.component.d.ts +1 -1
- package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.component.d.ts.map +1 -1
- package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.module.d.ts +1 -6
- package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.module.d.ts.map +1 -1
- package/operations/stepper-bulk-type-firmware/version-or-patch.component.d.ts +1 -1
- package/operations/stepper-bulk-type-firmware/version-or-patch.component.d.ts.map +1 -1
- package/operations/stepper-bulk-type-software/confirm-software-selection-step.component.d.ts +1 -1
- package/operations/stepper-bulk-type-software/confirm-software-selection-step.component.d.ts.map +1 -1
- package/operations/stepper-bulk-type-software/select-software-step.component.d.ts +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 +1 -1
- package/operations/stepper-bulk-type-software/stepper-bulk-type-software.component.d.ts.map +1 -1
- package/operations/stepper-bulk-type-software/stepper-bulk-type-software.module.d.ts +1 -6
- package/operations/stepper-bulk-type-software/stepper-bulk-type-software.module.d.ts.map +1 -1
- package/operations/stepper-frames/preview-block.directive.d.ts +1 -1
- package/operations/stepper-frames/preview-block.directive.d.ts.map +1 -1
- package/operations/stepper-frames/preview-selection-frame.component.d.ts +1 -1
- package/operations/stepper-frames/preview-selection-frame.component.d.ts.map +1 -1
- package/operations/stepper-frames/select-step-frame.component.d.ts +1 -1
- package/operations/stepper-frames/select-step-frame.component.d.ts.map +1 -1
- package/operations/stepper-frames/stepper-frames.modules.d.ts +1 -2
- package/operations/stepper-frames/stepper-frames.modules.d.ts.map +1 -1
- package/package.json +1 -1
- package/protocol-opcua/opcua-address-space-detail.component.d.ts +1 -1
- package/protocol-opcua/opcua-address-space-detail.component.d.ts.map +1 -1
- package/protocol-opcua/opcua-address-space-tree.component.d.ts +1 -1
- package/protocol-opcua/opcua-address-space-tree.component.d.ts.map +1 -1
- package/protocol-opcua/opcua-address-space.component.d.ts +1 -1
- package/protocol-opcua/opcua-address-space.component.d.ts.map +1 -1
- package/protocol-opcua/opcua-auto-apply-settings.component.d.ts +1 -1
- package/protocol-opcua/opcua-auto-apply-settings.component.d.ts.map +1 -1
- package/protocol-opcua/opcua-device-protocol-browse-path-validation.directive.d.ts +1 -1
- package/protocol-opcua/opcua-device-protocol-browse-path-validation.directive.d.ts.map +1 -1
- package/protocol-opcua/opcua-device-protocol-data-reporting.component.d.ts +1 -1
- package/protocol-opcua/opcua-device-protocol-data-reporting.component.d.ts.map +1 -1
- package/protocol-opcua/opcua-device-protocol-description.component.d.ts +1 -1
- package/protocol-opcua/opcua-device-protocol-description.component.d.ts.map +1 -1
- package/protocol-opcua/opcua-device-protocol-detail.component.d.ts +1 -1
- package/protocol-opcua/opcua-device-protocol-detail.component.d.ts.map +1 -1
- package/protocol-opcua/opcua-device-protocol-mapping.component.d.ts +1 -1
- package/protocol-opcua/opcua-device-protocol-mapping.component.d.ts.map +1 -1
- package/protocol-opcua/opcua-device-protocol-object-mapping-status-icon.component.d.ts +1 -1
- package/protocol-opcua/opcua-device-protocol-object-mapping-status-icon.component.d.ts.map +1 -1
- package/protocol-opcua/opcua-protocol.module.d.ts +26 -26
- package/protocol-opcua/opcua-protocol.module.d.ts.map +1 -1
- package/protocol-opcua/opcua-server-config.component.d.ts +1 -1
- package/protocol-opcua/opcua-server-config.component.d.ts.map +1 -1
- package/protocol-opcua/opcua-server-list.component.d.ts +1 -1
- package/protocol-opcua/opcua-server-list.component.d.ts.map +1 -1
- package/protocol-opcua/opcua-servers.component.d.ts +1 -1
- package/protocol-opcua/opcua-servers.component.d.ts.map +1 -1
- package/repository/configuration/device-tab/configuration-filter.pipe.d.ts +1 -1
- package/repository/configuration/device-tab/configuration-filter.pipe.d.ts.map +1 -1
- package/repository/configuration/device-tab/configuration-preview.component.d.ts +1 -1
- package/repository/configuration/device-tab/configuration-preview.component.d.ts.map +1 -1
- package/repository/configuration/device-tab/configuration-repository-device-tab.module.d.ts +11 -13
- package/repository/configuration/device-tab/configuration-repository-device-tab.module.d.ts.map +1 -1
- package/repository/configuration/device-tab/device-configuration-list.component.d.ts +1 -1
- package/repository/configuration/device-tab/device-configuration-list.component.d.ts.map +1 -1
- package/repository/configuration/device-tab/device-configuration.component.d.ts +1 -1
- package/repository/configuration/device-tab/device-configuration.component.d.ts.map +1 -1
- package/repository/configuration/device-tab/save-to-repository.component.d.ts +1 -1
- package/repository/configuration/device-tab/save-to-repository.component.d.ts.map +1 -1
- package/repository/configuration/device-tab/source-code-preview.component.d.ts +1 -1
- package/repository/configuration/device-tab/source-code-preview.component.d.ts.map +1 -1
- package/repository/configuration/device-tab/text-based-configuration.component.d.ts +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 +1 -1
- package/repository/configuration/list/configuration-detail.component.d.ts.map +1 -1
- package/repository/configuration/list/configuration-list.component.d.ts +1 -1
- package/repository/configuration/list/configuration-list.component.d.ts.map +1 -1
- package/repository/configuration/list/configuration-repository-list.module.d.ts +4 -7
- package/repository/configuration/list/configuration-repository-list.module.d.ts.map +1 -1
- package/repository/firmware/device-tab/firmware-device-tab.component.d.ts +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 +4 -6
- 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 +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 +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 +1 -1
- package/repository/firmware/list/firmware-details.component.d.ts.map +1 -1
- package/repository/firmware/list/firmware-list.component.d.ts +1 -1
- package/repository/firmware/list/firmware-list.component.d.ts.map +1 -1
- package/repository/firmware/list/firmware-repository-list.module.d.ts +6 -11
- package/repository/firmware/list/firmware-repository-list.module.d.ts.map +1 -1
- package/repository/shared/file-download/file-download.component.d.ts +1 -1
- package/repository/shared/file-download/file-download.component.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/shared-repository.module.d.ts +1 -4
- package/repository/shared/shared-repository.module.d.ts.map +1 -1
- package/repository/shared/software-type/software-type.component.d.ts +1 -1
- package/repository/shared/software-type/software-type.component.d.ts.map +1 -1
- package/repository/software/device-tab/device-software-changes.component.d.ts +1 -1
- package/repository/software/device-tab/device-software-changes.component.d.ts.map +1 -1
- package/repository/software/device-tab/device-software-list.component.d.ts +1 -1
- package/repository/software/device-tab/device-software-list.component.d.ts.map +1 -1
- package/repository/software/device-tab/installed-software.component.d.ts +1 -1
- package/repository/software/device-tab/installed-software.component.d.ts.map +1 -1
- package/repository/software/device-tab/software-device-tab.component.d.ts +1 -1
- package/repository/software/device-tab/software-device-tab.component.d.ts.map +1 -1
- package/repository/software/device-tab/software-repository-device-tab.module.d.ts +7 -11
- 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 +1 -1
- package/repository/software/list/add-software-modal.component.d.ts.map +1 -1
- package/repository/software/list/software-details.component.d.ts +1 -1
- package/repository/software/list/software-details.component.d.ts.map +1 -1
- package/repository/software/list/software-list.component.d.ts +1 -1
- package/repository/software/list/software-list.component.d.ts.map +1 -1
- package/repository/software/list/software-repository-list.module.d.ts +5 -11
- package/repository/software/list/software-repository-list.module.d.ts.map +1 -1
- package/services/services-device-tab/columns/last-updated-date.cell-renderer.component.d.ts +1 -1
- package/services/services-device-tab/columns/last-updated-date.cell-renderer.component.d.ts.map +1 -1
- package/services/services-device-tab/columns/name.cell-renderer.component.d.ts +1 -1
- package/services/services-device-tab/columns/name.cell-renderer.component.d.ts.map +1 -1
- package/services/services-device-tab/columns/status.cell-renderer.component.d.ts +1 -1
- package/services/services-device-tab/columns/status.cell-renderer.component.d.ts.map +1 -1
- package/services/services-device-tab/services-device-tab.component.d.ts +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 +1 -4
- package/services/services-device-tab/services-device-tab.module.d.ts.map +1 -1
- package/time-context/index.d.ts +1 -0
- package/time-context/index.d.ts.map +1 -1
- package/time-context/time-context.component.d.ts +6 -3
- package/time-context/time-context.component.d.ts.map +1 -1
- package/time-context/time-context.model.d.ts +10 -0
- package/time-context/time-context.model.d.ts.map +1 -0
- package/time-context/time-context.service.d.ts +2 -6
- package/time-context/time-context.service.d.ts.map +1 -1
- package/trusted-certificates/crl/crl-settings.component.d.ts +5 -1
- package/trusted-certificates/crl/crl-settings.component.d.ts.map +1 -1
- package/trusted-certificates/factories/tabs.factory.d.ts +3 -2
- package/trusted-certificates/factories/tabs.factory.d.ts.map +1 -1
- package/trusted-certificates/factories/trusted-certificates-navigation.factory.d.ts +2 -0
- package/trusted-certificates/factories/trusted-certificates-navigation.factory.d.ts.map +1 -1
- package/trusted-certificates/list/trusted-certificate-list.component.d.ts +5 -1
- package/trusted-certificates/list/trusted-certificate-list.component.d.ts.map +1 -1
- package/trusted-certificates/trusted-certificates.guard.d.ts +11 -0
- package/trusted-certificates/trusted-certificates.guard.d.ts.map +1 -0
- package/upgrade/index.d.ts +0 -1
- package/upgrade/index.d.ts.map +1 -1
- package/upgrade/upgrade.module.d.ts.map +1 -1
- package/upgrade/upgraded-services/index.d.ts +1 -0
- package/upgrade/upgraded-services/index.d.ts.map +1 -1
- package/upgrade/upgraded-services/smart-rules.service.d.ts.map +1 -0
- package/upgrade/upgraded-services/upgraded-services.module.d.ts.map +1 -1
- package/user-roles/inventory-role-selector/inventory-role-selector.component.d.ts +2 -1
- package/user-roles/inventory-role-selector/inventory-role-selector.component.d.ts.map +1 -1
- package/user-roles/roles-asset-tree/roles-asset-tree.component.d.ts +2 -1
- package/user-roles/roles-asset-tree/roles-asset-tree.component.d.ts.map +1 -1
- package/device-parameters/c8y-ngx-components-device-parameters.d.ts.map +0 -1
- package/device-parameters/device-parameters-list.component.d.ts +0 -22
- package/device-parameters/device-parameters-list.component.d.ts.map +0 -1
- package/device-parameters/device-parameters-tab.guard.d.ts +0 -11
- package/device-parameters/device-parameters-tab.guard.d.ts.map +0 -1
- package/device-parameters/index.d.ts +0 -2
- package/device-parameters/index.d.ts.map +0 -1
- package/fesm2022/c8y-ngx-components-device-parameters.mjs +0 -118
- package/fesm2022/c8y-ngx-components-device-parameters.mjs.map +0 -1
- package/upgrade/smart-rules.service.d.ts.map +0 -1
- /package/upgrade/{smart-rules.service.d.ts → upgraded-services/smart-rules.service.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-upgrade.mjs","sources":["../../upgrade/absolute-date.service.ts","../../upgrade/ng1/views.provider.ts","../../upgrade/bridge.service.ts","../../upgrade/action-bar.factory.ts","../../upgrade/action.factory.ts","../../upgrade/auth-bridge.service.ts","../../upgrade/breadcrumb.factory.ts","../../upgrade/docs.factory.ts","../../upgrade/nodes.factory.ts","../../upgrade/smart-rules.service.ts","../../upgrade/tabs.factory.ts","../../upgrade/upgrade.module.ts","../../upgrade/ng1/alert.decorator.ts","../../upgrade/ng1/downgraded.components.ts","../../upgrade/ng1/serverMessages.service.ts","../../upgrade/ng1/downgraded.services.ts","../../upgrade/ng1/gettextCatalog.decorator.ts","../../upgrade/ng1/groupsHierarchyNavigator.decorator.ts","../../upgrade/ng1/http.interceptor.ts","../../upgrade/ng1/navigator-node-root-legacy.ts","../../upgrade/ng1/navigator.provider.ts","../../upgrade/ng1/root.component.ts","../../upgrade/ng1/title.decorator.ts","../../upgrade/ng1/index.ts","../../upgrade/hybrid-app.module.ts","../../upgrade/upgrade.routes.ts","../../upgrade/dashboard/dashboard-bridge.service.ts","../../upgrade/dashboard/widget.component.ts","../../upgrade/dashboard/device-selector.component.ts","../../upgrade/dashboard/component.factory.ts","../../upgrade/dashboard/dashboard-upgrade.module.ts","../../upgrade/c8y-ngx-components-upgrade.ts"],"sourcesContent":["import { DatePipe } from '@c8y/ngx-components';\n\nexport class AbsoluteDateService {\n constructor(private datePipe: DatePipe) {}\n getFilter() {\n return (value: any, format = 'medium', timezone?: string, locale?: string) =>\n this.datePipe.transform(value, format, timezone, locale);\n }\n}\nexport function absoluteDateServiceFactory(datePipe: DatePipe) {\n return new AbsoluteDateService(datePipe).getFilter();\n}\nexport const absoluteDateServiceProvider = {\n provide: AbsoluteDateService,\n useFactory: absoluteDateServiceFactory,\n deps: [DatePipe]\n};\n","import { ViewContext } from '@c8y/ngx-components';\nimport { find, forEach, map, startsWith, unary } from 'lodash-es';\nimport { ReplaySubject } from 'rxjs';\n\nexport enum ViewContextLegacyParameter {\n Device = 'deviceId',\n Group = 'groupId',\n User = 'userId',\n Application = 'applicationId',\n Microservice = 'applicationId',\n SubscribedApplications = 'applicationId',\n Tenant = 'tenantId',\n Service = 'deviceId', // use 'deviceId' as parameter name so that device views (Measurements, Events, Alarms) can be reused for service\n Simulators = 'deviceId' // required to hook the Alarms tab to a Simulator view\n}\n\nfunction c8yViewsProvider($routeProvider, c8yTabsProvider, c8yPathUtils) {\n 'ngInject';\n\n const viewMap = {};\n const contextViews = new ReplaySubject();\n\n return {\n when,\n $get() {\n return {\n contextViews,\n when(path, cfg) {\n return when(path, cfg, true);\n },\n getByPath,\n prefixWithSlash\n };\n }\n };\n\n /**\n * @ngdoc function\n * @name when\n * @methodOf c8y.ui.provider:c8yViewsProvider\n *\n * @description\n * Defines a view for given route.\n * If multiple views are defined for a single route then there will be a separate tab for each view available when user visits that route.\n *\n * @param path Target route.\n * @param cfg View configuration object with the following properties:\n *\n * - **name** - `string` - View's name (in case of multiple views at single route this will be displayed as tab's title).\n * - **priority** - `integer` - View's priority (in case of multiple views at single route this will determine the position of view's tab in the tabs stack).\n * - **icon** - `string` - Font Awesome icon name for the view (displayed on the tab's header).\n * - **showIf** - `function` - Function returning boolean value indicating whether to show a tab for the view or not.\n * - **templateUrl** - `string` - Path to the template to use for displaying the view.\n *\n * You can also provide other view options - the same as available for standard {@link https://docs.angularjs.org/api/ngRoute/provider/$routeProvider $routeProvider} in AngularJS.\n *\n * ```html\n * The following example demonstrates how to add a new view to device details route\n * (which will be displayed as a tab if other views are assigned to the same route):\n * <pre>\n * c8yViewsProvider.when('/device/:deviceId', {\n * name: 'Tracking',\n * templateUrl: ':::PLUGIN_PATH:::/views/index.html',\n * icon: 'crosshairs',\n * showIf: ['$routeParams', 'c8yDevices', function ($routeParams, c8yDevices) {\n * var deviceId = $routeParams.deviceId;\n * return c8yDevices.detailCached(deviceId).then(function (res) {\n * var device = res.data;\n * return device && (device.c8y_MotionTracking || device.c8y_Geofence);\n * });\n * }]\n * });\n * </pre>\n * ```\n */\n function when(path, cfg, runPhase) {\n const newPath = prefixWithSlash(path);\n cfg.resolve = cfg.resolve || {};\n // eslint-disable-next-line no-underscore-dangle\n cfg.resolve.__c8y_locales = [\n 'c8yLocales',\n c8yLocales => {\n return c8yLocales.initDone;\n }\n ];\n\n let currentCfg = viewMap[newPath];\n const originalPath = newPath;\n\n if (!cfg.name) {\n // console.warn('View name not defined');\n }\n\n if (!currentCfg) {\n viewMap[newPath] = [];\n currentCfg = viewMap[newPath];\n }\n\n const upgradedContext = Object.keys(ViewContext)\n .map(key => ({\n key,\n isUpgrade:\n prefixWithSlash(ViewContext[key].replace('id', ViewContextLegacyParameter[key])) === path\n }))\n .find(({ isUpgrade }) => isUpgrade);\n\n if (upgradedContext) {\n currentCfg.push(cfg);\n cfg.path = newPath;\n\n const p = c8yPathUtils.appendSegment(originalPath.replace(path, ''), cfg.name);\n contextViews.next({\n ...cfg,\n path: cfg.name ? p.substring(1) : '',\n contextKey: upgradedContext.key,\n runPhase\n });\n cfg.showIf = undefined;\n if (cfg.name) {\n cfg.path = c8yPathUtils.appendSegment(originalPath, cfg.name);\n }\n } else {\n if (currentCfg.length === 1) {\n const [existingConfig] = currentCfg;\n existingConfig.path = c8yPathUtils.appendSegment(originalPath, existingConfig.name);\n existingConfig.tab = createTab(originalPath, existingConfig);\n $routeProvider.when(existingConfig.path, existingConfig);\n }\n\n currentCfg.push(cfg);\n cfg.path = newPath;\n\n if (currentCfg.length > 1) {\n cfg.path = c8yPathUtils.appendSegment(originalPath, cfg.name);\n createTab(originalPath, cfg);\n\n $routeProvider.when(prefixWithSlash(originalPath), {\n resolveRedirectTo($route, $q, c8yUiUtil, c8yTabs, gettextCatalog) {\n 'ngInject';\n\n const sortedCurrentCfg = c8yTabsProvider.sortTabsViews(currentCfg, gettextCatalog);\n const params = $route.current.pathParams;\n\n return $q\n .all(map(sortedCurrentCfg, unary(c8yUiUtil.configureVisibility)))\n .then(views => {\n const first = find(views, 'show');\n let url = first.path;\n forEach(params, (val, key) => {\n url = url.replace(`:${key}`, val);\n });\n c8yTabs.redirectedViewPath = url;\n return url;\n });\n }\n });\n }\n }\n return $routeProvider.when(prefixWithSlash(cfg.path), cfg);\n }\n\n function getByPath(path) {\n return viewMap[prefixWithSlash(path)];\n }\n\n function createTab(path, cfg) {\n c8yTabsProvider.addTab(path, cfg);\n }\n\n function prefixWithSlash(path) {\n const prefix = startsWith(path, '/') ? '' : '/';\n return prefix + path;\n }\n}\n\nexport { c8yViewsProvider };\n","import {\n Action,\n ActionBarItem,\n ActionService,\n AppStateService,\n Breadcrumb,\n BreadcrumbItem,\n DocLink,\n EmptyComponent,\n gettext,\n PluginsResolveService,\n RouterService,\n Search,\n Tab,\n ViewContext\n} from '@c8y/ngx-components';\nimport { isArray } from 'lodash-es';\nimport {\n BehaviorSubject,\n combineLatest,\n from,\n fromEventPattern,\n merge,\n Observable,\n of,\n Subject\n} from 'rxjs';\nimport { debounceTime, delay, filter, map, startWith, switchMap, take } from 'rxjs/operators';\n\nimport { NgZone } from '@angular/core';\nimport { ActivatedRouteSnapshot, ActivationEnd, ResolveEnd, Router } from '@angular/router';\nimport { ViewContextLegacyParameter } from './ng1/views.provider';\n\nexport class BridgeService {\n $routeChanges: Observable<any>;\n $ng1RouteChangeSuccess: Observable<any>;\n $ng1RouteChangeStart: Observable<any>;\n $liveTabs: Subject<Tab[]> = new BehaviorSubject([]);\n navigationNodes$: Observable<any>;\n initialNavigationDone = false;\n\n constructor(\n public injector: any,\n private appState: AppStateService,\n public router: Router,\n private ngZone: NgZone,\n private routerService: RouterService,\n private actionService: ActionService,\n plugins: PluginsResolveService\n ) {\n this.fixE2eIssues();\n this.$ng1RouteChangeSuccess = this.fromNg1Event(\n this.injector.get('$rootScope'),\n '$routeChangeSuccess'\n );\n this.$ng1RouteChangeStart = this.fromNg1Event(\n this.injector.get('$rootScope'),\n '$routeChangeStart'\n );\n this.hookLanguage();\n this.hookTab();\n this.hookNavigator();\n this.hookUserMenu();\n this.hookViewProvider();\n this.hookRoute();\n\n plugins.allPluginsLoaded$\n .pipe(\n filter(tmp => !!tmp),\n take(1),\n delay(1)\n )\n .subscribe(() => {\n this.initialNavigationDone = true;\n this.router.initialNavigation();\n });\n this.ng1Routes();\n }\n\n /**\n * Ensure that angularjs routes are not using any\n * secondary router outlets\n */\n hookRoute() {\n this.router.events\n .pipe(\n filter(event => event instanceof ResolveEnd),\n map((event: ResolveEnd) => event.state.root.firstChild),\n filter(route => route && route.routeConfig && route.routeConfig.path === '**')\n )\n .subscribe((event: ActivatedRouteSnapshot) => {\n if (event.root.children.length > 1) {\n window.location.hash = event.root.children[0].url.toString();\n }\n });\n }\n\n hookViewProvider() {\n const c8yViews = this.injector.get('c8yViews');\n // fix to trigger an angularjs route change success\n // event on context route match to make legacy\n // view-providers resolve.\n c8yViews.when('/device/:id', {\n template: ''\n });\n c8yViews.when('/group/:id', {\n template: ''\n });\n c8yViews.contextViews.subscribe(cfg => this.addRoute(cfg));\n }\n\n addRoute(cfg) {\n this.routerService.addRoute({\n label: cfg.label || cfg.name,\n path: cfg.path,\n icon: cfg.icon,\n context: ViewContext[cfg.contextKey] as ViewContext,\n priority: cfg.priority,\n component: EmptyComponent,\n data: {\n showIf: cfg.showIf\n ? ngxRoute => {\n const params = {\n ...ngxRoute.params,\n [ViewContextLegacyParameter[cfg.contextKey]]: ngxRoute.params.id\n };\n const showIfResult = this.injector.invoke(cfg.showIf, undefined, {\n $routeParams: params\n });\n // make sure showIf result is a promise with boolean result:\n return this.injector.get('$q').when(showIfResult).then(Boolean);\n }\n : undefined\n },\n ...(cfg.featureId && { featureId: cfg.featureId })\n });\n\n if (cfg.runPhase) {\n this.routerService.refresh();\n }\n }\n\n ng1Routes() {\n const template = '';\n const fallbackRoutes = [];\n\n for (const context in ViewContext) {\n if (ViewContext[context] !== ViewContext.Alarms) {\n const path = ViewContext[context].match(/(\\w+)\\//)[1];\n const regexp = new RegExp(`^/${path}/(?:([^/]+)).*$`);\n fallbackRoutes.push({\n keys: [{ name: ViewContextLegacyParameter[context], optional: false }],\n regexp,\n template\n });\n }\n }\n\n /**\n * When asset detail routes (/device/:id, /group/:id) are matched in Angular Router, ngRoute in\n * angular.js must also have matching generic routes so that the ids can be extracted from the paths and\n * injected in multiple calls (showIf, c8yActions, etc) as properties of $routeParams.\n *\n * The function in src/ngRoute/route.js (angular.js) where the routes are matched is called parseRoute(). This\n * function calls angular.forEach and in turn this function checks for the presence of a forEach method before\n * trying object key iteration.\n * By attaching a non enumerable forEach method to the routes object we guarantee that the fallback generic routes\n * are only matched after any other registered through $routeProvider.when.\n */\n const $route = this.injector.get('$route');\n Object.defineProperty($route.routes, 'forEach', {\n // make non enumerable\n value: function forEach(iterator, context) {\n // tslint:disable-next-line: forin\n for (const key in this) {\n iterator.call(context, this[key], key, this);\n }\n fallbackRoutes.forEach(r => iterator.call(context, r));\n },\n configurable: true\n });\n\n /**\n * Some functions use the current context. As some parts are upgraded and some not, the following updates the\n * angularjs getContext function to resolve always the right context.\n */\n const c8yUiUtil = this.injector.get('c8yUiUtil');\n const _getContext = c8yUiUtil.getContext;\n this.router.events\n .pipe(filter(event => event instanceof ActivationEnd))\n .subscribe((event: ActivationEnd) => {\n if (event.snapshot.routeConfig.path === '**') {\n c8yUiUtil.getContext = _getContext;\n } else if (event.snapshot.data && event.snapshot.data.context) {\n c8yUiUtil.getContext = () => {\n return {\n context: event.snapshot.data.context.replace('/:id', ''),\n id: event.snapshot.data.contextData.id,\n contextData: event.snapshot.data.contextData\n };\n };\n } else {\n c8yUiUtil.getContext = () => ({ context: null, id: null });\n }\n });\n }\n\n fixE2eIssues() {\n try {\n const { ngZone } = this;\n const { Utils } = (window as any).org.cometd;\n const timeoutFn = Utils.setTimeout;\n // tslint:disable-next-line:only-arrow-functions\n Utils.setTimeout = function (...args) {\n return ngZone.runOutsideAngular(() => timeoutFn.apply(Utils, args));\n };\n } catch (e) {\n // do nothing\n }\n\n try {\n const { ace } = window as any;\n const editFn = ace.edit;\n const { ngZone } = this;\n // tslint:disable-next-line:only-arrow-functions\n ace.edit = function (...args) {\n return ngZone.runOutsideAngular(() => editFn.apply(ace, args));\n };\n } catch (e) {\n // do nothing\n }\n }\n\n hookLanguage() {\n let first = true;\n this.appState\n .map(store => store.lang)\n .subscribe(lang => {\n this.injector.get('c8yLocales').switchToLanguage(lang);\n if (!first) {\n this.injector.get('$rootScope').$apply();\n }\n first = false;\n });\n }\n\n hookTab() {\n // Just for instantiation of the c8yAction service\n this.injector.get('c8yActions');\n const $location = this.injector.get('$location');\n const c8yTabs = this.injector.get('c8yTabs');\n let liveTabs = [];\n c8yTabs.addTab = tab => {\n liveTabs.push({\n ...tab,\n label: tab.label || tab.name,\n path: decodeURIComponent(tab.path)\n });\n this.$liveTabs.next(liveTabs);\n };\n this.$ng1RouteChangeStart.subscribe(() => {\n liveTabs = [];\n this.$liveTabs.next(liveTabs);\n });\n this.$ng1RouteChangeSuccess.subscribe(() => {\n const path = $location.path();\n if (this.router.url !== path && this.initialNavigationDone) {\n this.router.navigate(path === '/' ? '' : path.split('/'), {\n queryParams: $location.search(),\n skipLocationChange: true\n });\n }\n if (this.actionService) {\n this.actionService.refresh();\n }\n });\n this.$routeChanges = merge(\n this.$ng1RouteChangeSuccess,\n this.fromNg1Event(c8yTabs, c8yTabs.EVENT_UPDATE),\n of(1)\n ).pipe(debounceTime(100));\n }\n\n hookNavigator() {\n this.navigationNodes$ = this.injector.get('c8yNavigator').rootNodes$;\n }\n\n getTabs(): Observable<any> {\n const onlyVisible = ({ show }) => show;\n const upgradeTab = tab => ({\n ...tab,\n label: tab.label || tab.name,\n path: decodeURIComponent(tab.path)\n });\n const routeTabs = this.$routeChanges.pipe(\n switchMap(() => {\n const routes = this.injector.get('c8yTabs').routeTabs;\n const visibilityPromise = Promise.all(\n routes.map(({ checkingVisibility }) => checkingVisibility)\n );\n return visibilityPromise.then(() => routes.filter(onlyVisible).map(upgradeTab));\n }),\n startWith([])\n );\n return combineLatest([routeTabs, this.$liveTabs]).pipe(\n map(([route, live]) => route.concat(live))\n );\n }\n\n getQuickLinks(): Promise<DocLink[]> {\n const c8yQuickLinks = this.injector.get('c8yQuickLinks');\n return c8yQuickLinks.list();\n }\n\n getActionBarItems(): Observable<ActionBarItem> {\n const c8yActionBar = this.injector.get('c8yActionBar');\n const $rootScope = this.injector.get('$rootScope');\n const getActionBarElements = () =>\n c8yActionBar.elements.map(element => ({\n priority: element.getAttribute('action-bar-priority') || 0,\n template: element,\n placement: element.getAttribute('action-bar-position') || 'right'\n }));\n return this.fromNg1Event($rootScope, 'c8yActionBarChanged').pipe(\n startWith(1),\n map(getActionBarElements)\n );\n }\n\n getBreadcrumbs(): Observable<Breadcrumb[]> {\n const $location = this.injector.get('$location');\n const c8yBreadcrumbs = this.injector.get('c8yBreadcrumbs');\n const breadcrumbsUpdate$ = new Observable(subscriber =>\n c8yBreadcrumbs.$on('update', () => subscriber.next())\n );\n return breadcrumbsUpdate$.pipe(\n startWith(0),\n switchMap(() => {\n const path = $location.path();\n const breadcrumbs = c8yBreadcrumbs.get(path) || {};\n const breadcrumbsData = this.resolveBreadcrumbsData(breadcrumbs.data);\n return from(breadcrumbsData).pipe(\n map((value: any[]) => {\n const liveBreadcrumbs = c8yBreadcrumbs.getLiveBreadcrumbs();\n value = value.concat(liveBreadcrumbs);\n return value.map(items => ({ items: items as BreadcrumbItem[] }) as Breadcrumb);\n })\n );\n })\n );\n }\n\n resolveBreadcrumbsData(data): Observable<any[]> {\n try {\n return this.injector.invoke(data);\n } catch (ex) {\n // empty\n }\n if (isArray(data)) {\n return of([data]);\n }\n return of([]);\n }\n\n getSearch(): Search[] {\n const c8ySearch = this.injector.get('c8ySearch');\n return c8ySearch.list().map(item => {\n return {\n icon: 'search',\n name: item.name,\n term: '',\n onSearch() {\n if (this.term) {\n c8ySearch.search(this.term);\n }\n }\n } as Search;\n });\n }\n\n getActions(): Observable<Action> {\n const registeredActions = this.injector.get('c8yActions').registeredActions;\n return of(\n registeredActions\n .filter(action => !action.hidden)\n .map(action => ({\n // The priority was reversed: Aligned it to dashboard, high first, low last.\n priority: (action.priority || 0) * -1,\n label: action.text,\n icon: action.icon,\n disabled: action.disabled,\n action: () => {\n this.injector.invoke(action.action, action);\n }\n }))\n );\n }\n\n fromNg1Event(obj, evt) {\n let stopListening;\n function add(handler) {\n stopListening = obj.$on(evt, handler);\n }\n return fromEventPattern(add, () => stopListening());\n }\n\n private hookUserMenu() {\n const userMenuService = this.injector.get('c8yUserMenuService');\n const c8yAccessDenied = this.injector.get('c8yAccessDenied');\n userMenuService.add({\n icon: 'access',\n priority: 10,\n label: gettext('Access denied requests'),\n click: c8yAccessDenied.showAccessDeniedRequestsList\n });\n }\n}\n\nexport function bridgeServiceFactory(\n injector: any,\n appState: AppStateService,\n router: Router,\n ngZone: NgZone,\n routerService: RouterService,\n actionService: ActionService,\n plugins: PluginsResolveService\n) {\n return new BridgeService(\n injector,\n appState,\n router,\n ngZone,\n routerService,\n actionService,\n plugins\n );\n}\n\nexport const bridgeServiceProvider = {\n provide: BridgeService,\n useFactory: bridgeServiceFactory,\n deps: [\n '$injector',\n AppStateService,\n Router,\n NgZone,\n RouterService,\n ActionService,\n PluginsResolveService\n ]\n};\n","import { Injectable } from '@angular/core';\nimport { ActionBarFactory, ActionBarItem } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\nimport { Observable } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n@Injectable()\nexport class Ng1ActionBarFactoryService implements ActionBarFactory {\n routeChanges$: Observable<any>;\n $ng1RouteChangeSuccess: Observable<any>;\n constructor(private bridge: BridgeService) {\n this.routeChanges$ = bridge.$routeChanges;\n this.$ng1RouteChangeSuccess = bridge.$ng1RouteChangeSuccess;\n }\n\n get(): Observable<ActionBarItem> {\n return this.routeChanges$.pipe(\n switchMap(() => {\n return this.bridge.getActionBarItems();\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActionFactory, TabsService } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class Ng1ActionFactoryService implements ActionFactory {\n routeChanges$: Observable<any>;\n $location: any;\n constructor(private bridge: BridgeService, private tabs: TabsService) {\n this.routeChanges$ = bridge.$routeChanges;\n this.$location = bridge.injector.get('$location');\n this.tabs.items$.subscribe(newTabs => this.handleTabsRedirect(newTabs));\n }\n\n handleTabsRedirect(tabs) {\n /**\n * This function is doing the same process as function redirect in the file\n * modules/core/ui/navigation/tabs.provider.js\n * That function is not run because bridge.service.ts overrides the method addTab where the redirect() was called.\n */\n const redirectedTab = tabs.find(tab => tab.redirectedTo);\n const [topPriorityTab] = tabs;\n if (redirectedTab && !topPriorityTab.redirectedTo) {\n this.$location.replace();\n this.$location.path(topPriorityTab.path);\n topPriorityTab.redirectedTo = true;\n redirectedTab.redirectedTo = false;\n }\n }\n\n get() {\n return this.bridge.getActions();\n }\n}\n","import { AppStateService, TenantUiService } from '@c8y/ngx-components';\nimport { BasicAuth, FetchClient, ICredentials } from '@c8y/client';\n\nexport class AuthBridgeService {\n constructor(\n public injector: any,\n private basicAuth: BasicAuth,\n private fetchClient: FetchClient,\n private appState: AppStateService,\n private tenantUiService: TenantUiService\n ) {\n this.hookAuth();\n }\n\n updateBasicAuth(credentials: ICredentials) {\n const { headers } = this.fetchClient.getFetchOptions({});\n if (headers.Authorization) {\n const token = headers.Authorization.match(/basic\\s(.*)$/i)[1];\n if (token) {\n this.basicAuth.updateCredentials(credentials);\n this.fetchClient.setAuth(this.basicAuth);\n }\n }\n }\n\n hookAuth() {\n this.appState.currentUser.subscribe(user => {\n if (!user) {\n this.injector.get('$rootScope').$emit('authStateChange', { hasAuth: false });\n return;\n }\n this.injector.get('c8yAuth').headers = () => this.fetchClient.getFetchOptions({}).headers;\n const { headers } = this.fetchClient.getFetchOptions({});\n const authorizationHeader = headers.Authorization;\n if (typeof authorizationHeader === 'string' && authorizationHeader.startsWith('Basic')) {\n const matches = authorizationHeader.match(/basic\\s(.*)$/i);\n const token = matches && matches[1];\n if (token) {\n this.setToken(token, headers.tfatoken);\n }\n } else if (\n typeof authorizationHeader === 'string' &&\n authorizationHeader.startsWith('Bearer')\n ) {\n this.setToken(undefined, headers.tfatoken, 'Bearer');\n } else {\n this.setToken(undefined, headers.tfatoken, 'Oauth');\n }\n this.injector.get('$rootScope').$emit('authStateChange', { hasAuth: true });\n });\n }\n\n setToken(token?: string, tfa?: string, type = 'Basic') {\n const c8yAuth = this.injector.get('c8yAuth');\n if (type === 'Basic') {\n c8yAuth.onSetToken({ token, type });\n if (tfa) {\n c8yAuth.setTFAToken(tfa);\n }\n } else {\n c8yAuth.authReady();\n }\n }\n\n getPreferredLoginOption() {\n return this.tenantUiService.getPreferredLoginOption(this.appState.state.loginOptions);\n }\n}\n\nexport function authBridgeServiceFactory(\n injector: any,\n basicAuth: BasicAuth,\n fetchClient: FetchClient,\n appState: AppStateService,\n tenantUiService: TenantUiService\n) {\n return new AuthBridgeService(injector, basicAuth, fetchClient, appState, tenantUiService);\n}\n\nexport const authBridgeServiceProvider = {\n provide: AuthBridgeService,\n useFactory: authBridgeServiceFactory,\n deps: ['$injector', BasicAuth, FetchClient, AppStateService, TenantUiService]\n};\n","import { Injectable } from '@angular/core';\nimport { BreadcrumbFactory } from '@c8y/ngx-components';\nimport { ReplaySubject } from 'rxjs';\nimport { debounceTime, switchMap } from 'rxjs/operators';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1BreadcrumbFactoryService implements BreadcrumbFactory {\n private trigger: any = new ReplaySubject(1);\n private breadcrumbs = this.trigger.pipe(\n debounceTime(100),\n switchMap(() => {\n return this.bridge.getBreadcrumbs();\n })\n );\n constructor(private bridge: BridgeService) {}\n\n get() {\n this.trigger.next();\n return this.breadcrumbs;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { DocLink, ExtensionFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1DocsFactoryService implements ExtensionFactory<DocLink> {\n private links: Promise<DocLink[]>;\n constructor(private bridge: BridgeService) {\n this.links = this.bridge.getQuickLinks();\n this.links.then(list => {\n list.map(el => {\n el.type = el.type || 'quicklink';\n return el;\n });\n });\n }\n\n get() {\n return this.links;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NavigatorNodeFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1NodesFactoryService implements NavigatorNodeFactory {\n constructor(private bridge: BridgeService) {}\n\n get() {\n return this.bridge.navigationNodes$;\n }\n}\n","export abstract class Ng1SmartRulesService {\n abstract permissionsCfgs;\n abstract addNewForOutputOperationWithUI(operation);\n abstract addNewForInputAlarmAndOutputUserWithUI(alarm, user);\n}\n\nexport function SmartRulesServiceFactory(injector: any) {\n return injector.get('smartRulesSvc');\n}\n\nexport const smartRulesServiceProvider = {\n provide: Ng1SmartRulesService,\n useFactory: SmartRulesServiceFactory,\n deps: ['$injector']\n};\n","import { Injectable } from '@angular/core';\nimport { TabFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1TabsFactoryService implements TabFactory {\n tabsObservable;\n constructor(private bridge: BridgeService) {\n this.tabsObservable = bridge.getTabs();\n }\n get() {\n return this.tabsObservable;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { setAngularJSGlobal } from '@angular/upgrade/static';\nimport {\n hookAction,\n hookActionBar,\n hookBreadcrumb,\n hookDocs,\n hookNavigator,\n hookTab,\n RouterModule\n} from '@c8y/ngx-components';\nimport { UpgradedServicesModule } from '@c8y/ngx-components/upgrade/upgraded-services';\nimport * as angular from 'angular';\nimport { absoluteDateServiceProvider } from './absolute-date.service';\nimport { Ng1ActionBarFactoryService } from './action-bar.factory';\nimport { Ng1ActionFactoryService } from './action.factory';\nimport { authBridgeServiceProvider } from './auth-bridge.service';\nimport { Ng1BreadcrumbFactoryService } from './breadcrumb.factory';\nimport { bridgeServiceProvider } from './bridge.service';\nimport { Ng1DocsFactoryService } from './docs.factory';\nimport { Ng1NodesFactoryService } from './nodes.factory';\nimport { smartRulesServiceProvider } from './smart-rules.service';\nimport { Ng1TabsFactoryService } from './tabs.factory';\n\nsetAngularJSGlobal(angular);\n\n@NgModule({\n imports: [RouterModule, UpgradedServicesModule],\n exports: [],\n providers: [\n absoluteDateServiceProvider,\n bridgeServiceProvider,\n authBridgeServiceProvider,\n smartRulesServiceProvider,\n hookNavigator(Ng1NodesFactoryService),\n hookTab(Ng1TabsFactoryService),\n hookActionBar(Ng1ActionBarFactoryService),\n hookAction(Ng1ActionFactoryService),\n hookBreadcrumb(Ng1BreadcrumbFactoryService),\n hookDocs(Ng1DocsFactoryService)\n ]\n})\nexport class UpgradeModule {}\n","function c8yAlertDecorator($delegate, $rootScope, $injector) {\r\n 'ngInject';\r\n\r\n $delegate.add = alert => {\r\n $delegate.addAlert(transformAlert(alert));\r\n };\r\n\r\n $rootScope.$on('alert', (evt, alert) => {\r\n $delegate.addAlert(transformAlert(alert));\r\n });\r\n\r\n $rootScope.$on('message', (evt, alert) => {\r\n $delegate.addAlert(transformAlert(alert));\r\n });\r\n\r\n /**\r\n * Solution based on the: https://stackoverflow.com/questions/40102148/how-to-iterate-over-all-properties-in-objects-prototype-chain.\r\n * Problem came after switching to ES6, as all prototype properties of classes are non-enumerable.\r\n */\r\n const allNames = new Set();\r\n for (let o = $delegate; o !== Object.prototype; o = Object.getPrototypeOf(o)) {\r\n for (const name of Object.getOwnPropertyNames(o)) {\r\n allNames.add(name);\r\n }\r\n }\r\n Array.from(allNames).forEach((property: string) => {\r\n if (typeof $delegate[property] === 'function') {\r\n $delegate[property] = $delegate[property].bind($delegate);\r\n }\r\n });\r\n\r\n function transformAlert(alert: any) {\r\n const newAlert: any = { ...alert };\r\n if (alert.onClose) {\r\n newAlert.onClose = () => {\r\n $injector.invoke(alert.onClose);\r\n };\r\n }\r\n if (alert.onDetail) {\r\n newAlert.onDetail = () => {\r\n $injector.invoke(alert.onDetail);\r\n };\r\n }\r\n return newAlert;\r\n }\r\n\r\n return $delegate;\r\n}\r\n\r\nexport { c8yAlertDecorator };\r\n","import { downgradeComponent } from '@angular/upgrade/static';\nimport {\n BootstrapComponent,\n DataGridComponent,\n UserTotpRevokeComponent,\n LoadingComponent,\n HighlightComponent,\n EmptyStateComponent,\n PasswordInputComponent\n} from '@c8y/ngx-components';\nimport { AppLogsAutoRefreshComponent } from '@c8y/ngx-components/app-logs';\nimport { RangeDisplayComponent } from '@c8y/ngx-components';\nimport { HelpComponent } from '@c8y/ngx-components';\nimport { DatapointSelectionListComponent } from '@c8y/ngx-components/datapoint-selector';\nimport { PaginationComponent } from 'ngx-bootstrap/pagination';\nimport { RolesAssetTreeComponent } from '@c8y/ngx-components/user-roles';\nimport { PlatformConfigurationFormComponent } from '@c8y/ngx-components/platform-configuration';\nimport { WidgetPreviewWrapperComponent } from '@c8y/ngx-components/context-dashboard';\n\nexport const bootstrapComponentDowngradedComponent = downgradeComponent({\n component: BootstrapComponent\n});\nexport const userTotpComponentDowngradedComponent = downgradeComponent({\n component: UserTotpRevokeComponent\n});\nexport const appLogsAutoRefreshComponentDowngradedComponent = downgradeComponent({\n component: AppLogsAutoRefreshComponent\n});\nexport const dataGridComponentDowngradedComponent = downgradeComponent({\n component: DataGridComponent\n});\nexport const loadingComponentDowngradedComponent = downgradeComponent({\n component: LoadingComponent\n});\nexport const rangeDisplayComponentDowngradedComponent = downgradeComponent({\n component: RangeDisplayComponent\n});\nexport const helpComponentDowngradedComponent = downgradeComponent({ component: HelpComponent });\nexport const highlightComponentDowngradedComponent = downgradeComponent({\n component: HighlightComponent,\n inputs: ['pattern', 'text']\n});\nexport const emptyStateComponentDowngradedComponent = downgradeComponent({\n component: EmptyStateComponent\n});\nexport const datapointSelectionListComponentDowngradedComponent = downgradeComponent({\n component: DatapointSelectionListComponent\n});\n\nexport const paginationComponentDowngradedComponent = downgradeComponent({\n component: PaginationComponent\n});\nexport const rolesAssetTreeComponentDowngradedComponent = downgradeComponent({\n component: RolesAssetTreeComponent\n});\nexport const passwordInputComponentDowngradedComponent = downgradeComponent({\n component: PasswordInputComponent\n});\nexport const platformConfigurationFormDowngradedComponent = downgradeComponent({\n component: PlatformConfigurationFormComponent\n});\nexport const widgetPreviewWrapperDowngradedComponent = downgradeComponent({\n component: WidgetPreviewWrapperComponent\n});\n","import { Injectable, Inject } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { HOOK_PATTERN_MESSAGES } from '@c8y/ngx-components';\n\n@Injectable()\nexport class ServerMessagesService {\n MESSAGE_PATTERNS: any;\n constructor(private translateService: TranslateService, @Inject(HOOK_PATTERN_MESSAGES) patterns) {\n this.MESSAGE_PATTERNS = patterns;\n }\n\n translate(s: string) {\n return this.translateService.instant(s);\n }\n}\n","import { downgradeInjectable } from '@angular/upgrade/static';\nimport {\n AlertService,\n AppStateService,\n AssetLinkPipe,\n CachedLocaleDictionaryService,\n DateFormatService,\n DocsService,\n FeatureCacheService,\n FilesService,\n GainsightService,\n GlobalConfigService,\n HeaderService,\n ModalService,\n PasswordService,\n PropertyValueTransformService,\n ServiceRegistry,\n UserMenuService\n} from '@c8y/ngx-components';\nimport { ApiService } from '@c8y/ngx-components/api';\nimport { DeviceGridService } from '@c8y/ngx-components/device-grid';\nimport { DeviceTypeDetailEditedService } from '@c8y/ngx-components/device-protocols';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AbsoluteDateService } from '../absolute-date.service';\nimport { AuthBridgeService } from '../auth-bridge.service';\nimport { BridgeService } from '../bridge.service';\nimport { ServerMessagesService } from './serverMessages.service';\nimport { DatapointSelectorService } from '@c8y/ngx-components/datapoint-selector';\n\nexport const absoluteDateServiceDowngradedInjectable = downgradeInjectable(AbsoluteDateService);\nexport const bridgeServiceDowngradedInjectable = downgradeInjectable(BridgeService);\nexport const authBridgeServiceDowngradedInjectable = downgradeInjectable(AuthBridgeService);\nexport const appStateServiceDowngradedInjectable = downgradeInjectable(AppStateService);\nexport const headerServiceDowngradedInjectable = downgradeInjectable(HeaderService);\nexport const alertsServiceDowngradedInjectable = downgradeInjectable(AlertService);\nexport const userMenuServiceDowngradedInjectable = downgradeInjectable(UserMenuService);\nexport const apiServiceDowngradedInjectable = downgradeInjectable(ApiService);\nexport const docsServiceDowngradedInjectable = downgradeInjectable(DocsService);\nexport const passwordServiceDowngradedInjectable = downgradeInjectable(PasswordService);\nexport const translateServiceDowngradedInjectable = downgradeInjectable(TranslateService);\nexport const cachedLocaleDictionaryServiceDowngradedInjectable = downgradeInjectable(\n CachedLocaleDictionaryService\n);\nexport const globalConfigServiceDowngradedInjectable = downgradeInjectable(GlobalConfigService);\nexport const serverMessagesServiceDowngradedInjectable = downgradeInjectable(ServerMessagesService);\nexport const modalServiceDowngradedInjectable = downgradeInjectable(ModalService);\nexport const gainsightServiceDowngradedInjectable = downgradeInjectable(GainsightService);\nexport const filesServiceDowngradedInjectable = downgradeInjectable(FilesService);\nexport const deviceTypeDetailEditedServiceDowngradedInjectable = downgradeInjectable(\n DeviceTypeDetailEditedService\n);\nexport const deviceGridServiceDowngradedInjectable = downgradeInjectable(DeviceGridService);\nexport const serviceRegistryInjectable = downgradeInjectable(ServiceRegistry);\nexport const assetLinkPipeDowngradedInjectable = downgradeInjectable(AssetLinkPipe);\nexport const propertyValueTransformServiceDowngradedInjectable = downgradeInjectable(\n PropertyValueTransformService\n);\nexport const featureCacheServiceDowngradedInjectable = downgradeInjectable(FeatureCacheService);\nexport const datapointSelectorServiceDowngradedInjectable =\n downgradeInjectable(DatapointSelectorService);\nexport const dateFormatServiceInjectable = downgradeInjectable(DateFormatService);\n","import * as angular from 'angular';\n\nfunction gettextCatalogDecorator($delegate, $interpolate, c8yTranslate) {\n 'ngInject';\n\n const gettextCatalog = $delegate;\n const originalGetString = angular.bind(gettextCatalog, gettextCatalog.getString);\n\n function newGetString(input, scope, context) {\n if (typeof input === 'string') {\n const translatedString = originalGetString(input, scope, context);\n const interpolatedString = scope ? $interpolate(input)(scope) : input;\n\n let stringToReturn = translatedString;\n\n if (translatedString && translatedString === interpolatedString) {\n const translatedServerMessage = c8yTranslate.instant(interpolatedString);\n stringToReturn = translatedServerMessage;\n }\n\n return stringToReturn;\n }\n\n return input;\n }\n\n gettextCatalog.getString = newGetString;\n\n return gettextCatalog;\n}\n\nexport { gettextCatalogDecorator };\n","function groupTypesHierarchyNavigatorDecorator($delegate, $q) {\n 'ngInject';\n $delegate.loadAll = () => $q.when();\n $delegate.addGroupNavigation = () => $q.when();\n return $delegate;\n}\n\nexport { groupTypesHierarchyNavigatorDecorator };\n","function c8yNg1HttpInterceptor($q, c8yLoadingIndicator, c8yApiService) {\r\n 'ngInject';\r\n\r\n function request(config) {\r\n const { url, method } = config;\r\n c8yApiService.onStart({ url, method, options: config });\r\n return config;\r\n }\r\n\r\n function requestError(rejection) {\r\n finishRequest(rejection);\r\n return $q.reject(rejection);\r\n }\r\n\r\n function response(res) {\r\n finishRequest(res);\r\n return res;\r\n }\r\n\r\n function responseError(rejection) {\r\n finishRequest(rejection);\r\n c8yLoadingIndicator.responseError(rejection);\r\n return $q.reject(rejection);\r\n }\r\n\r\n function finishRequest(res) {\r\n const { url, method } = res.config;\r\n c8yApiService.onFinish({\r\n url,\r\n method,\r\n response: res,\r\n options: res.config\r\n });\r\n }\r\n\r\n return {\r\n request,\r\n requestError,\r\n response,\r\n responseError\r\n };\r\n}\r\n\r\nexport { c8yNg1HttpInterceptor };\r\n","import { NavigatorNodeRoot, NavigatorNode } from '@c8y/ngx-components';\nimport { assign } from 'lodash-es';\n\nexport class NavigatorNodeRootLegacy extends NavigatorNodeRoot {\n addRoot(nodeData): NavigatorNode {\n let duplicate;\n if (nodeData.path === '') {\n nodeData.path = '/';\n }\n nodeData.label = nodeData.name;\n if (typeof nodeData.parent === 'object') {\n nodeData.parent.label = nodeData.parent.name;\n }\n\n if (nodeData.preventDuplicates) {\n duplicate = this.find(({ path, parents, label }) => {\n return (\n path === nodeData.path &&\n label === nodeData.label &&\n parents.some(p => p.label === nodeData.parent)\n );\n });\n if (duplicate) {\n duplicate.routerLinkExact = false;\n }\n }\n\n return duplicate || super.addRoot(nodeData);\n }\n\n createNode(node) {\n const newNode = super.createNode(node);\n const update = newNode.update.bind(newNode);\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const root = this;\n return Object.defineProperties(\n assign(newNode, {\n realName: (newNode as any).name || newNode.label,\n _parent: true, // just use it to detect if it has been deleted\n update(data) {\n if (this._parent === undefined) {\n // _parent was deleted somene instead to put this in root\n root.addRoot(this);\n // put it back so it can be deleted again\n this._parent = true;\n }\n update(data);\n },\n addChild(nodeChild) {\n this.add(root.createNode(nodeChild));\n }\n }),\n {\n label: {\n get() {\n return this.realName || '';\n },\n set(name) {\n this.realName = name;\n }\n },\n name: {\n get() {\n return this.realName || '';\n },\n set(name) {\n this.realName = name;\n }\n },\n show: {\n get() {\n return !this.hidden;\n },\n set(show) {\n this.hidden = !show;\n },\n configurable: true\n }\n }\n );\n }\n}\n","import { NavigatorNode } from '@c8y/ngx-components';\nimport { Observable, Subject, defer, of } from 'rxjs';\nimport { merge } from 'rxjs/operators';\nimport { pick, map, property, some, every } from 'lodash-es';\nimport { NavigatorNodeRootLegacy } from './navigator-node-root-legacy';\n\n// Just to hook into the bridge service\nexport function c8yNavigatorProvider() {\n const root = new NavigatorNodeRootLegacy();\n const rootNodesSubject: Subject<NavigatorNode[]> = new Subject();\n const conditionalNodes = [];\n const rootNodes$: Observable<NavigatorNode[]> = rootNodesSubject.pipe(\n merge(defer(() => of(root.children)))\n );\n\n function addNavigation(nodes) {\n const nodeList = Array.isArray(nodes) ? nodes : [nodes];\n nodeList.forEach(node => {\n if (isConditional(node)) {\n node.hidden = undefined;\n conditionalNodes.push(node);\n }\n node.navNode = root.addRoot(node);\n });\n rootNodesSubject.next(root.children);\n }\n\n function removeNavigation(node) {\n const found = root.find(n => n === node);\n if (found) {\n found.parents.forEach(p => p.remove(found));\n rootNodesSubject.next(root.children);\n }\n }\n\n function findNode(node) {\n return root.find(node);\n }\n\n function isConditional(node) {\n return node.showIf || node.showIfPermissions || node.showIfContainsVisibleViews;\n }\n\n function $get($q, $injector) {\n 'ngInject';\n\n // This avoids the circular dependency\n setTimeout(() => conditionalNodes.forEach(processShowIf));\n\n function processShowIf(node) {\n const c8yUiUtil = $injector.get('c8yUiUtil');\n const visibilityPromises = [];\n const { showIf, showIfPermissions, showIfContainsVisibleViews } = node;\n\n if (showIf) {\n visibilityPromises.push($injector.invoke(showIf));\n }\n if (showIfContainsVisibleViews) {\n visibilityPromises.push(viewsConditionalVisibility(node));\n }\n\n c8yUiUtil\n .configureVisibility(\n {\n showIf: () => $q.all(visibilityPromises).then(every),\n showIfPermissions\n },\n 'visible'\n )\n .then(({ visible }) => {\n if (visible) {\n node.navNode.update({\n hidden: false,\n showIf: null,\n showIfPermission: null,\n showIfContainsVisibleViews: null\n });\n } else {\n node.navNode.update({\n hidden: true\n });\n }\n });\n }\n\n function viewsConditionalVisibility(node) {\n const c8yUiUtil = $injector.get('c8yUiUtil');\n const c8yViews = $injector.get('c8yViews');\n const views = c8yViews.getByPath(node.path);\n return $q\n .all(\n map(views, view =>\n c8yUiUtil\n .configureVisibility(pick(view, ['showIf', 'showIfPermissions']), 'show', false)\n .then(property('show'))\n )\n )\n .then(some);\n }\n\n return {\n rootNodes() {\n return root.children;\n },\n findNode,\n addNavigation,\n removeNavigation,\n rootNodes$\n };\n }\n\n return {\n $get,\n addNavigation,\n removeNavigation\n };\n}\n","const rootComponent = {\n template: `\n <c8y-bootstrap>\n <div id=\"c8y-legacy-view\">\n <div ng-view ng-if=\"vm.widthSet && vm.authState.hasAuth\"></div>\n </div>\n </c8y-bootstrap>`,\n controller: c8yUiRootController,\n controllerAs: 'vm'\n};\n\nfunction c8yUiRootController(\n $rootScope,\n $timeout,\n c8yBase,\n c8yNavigator,\n c8yApplication,\n c8yHeaderService\n) {\n 'ngInject';\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const vm = this;\n\n Object.assign(vm, {\n $onInit,\n navOpen: false\n });\n\n ////////////\n\n function $onInit() {\n c8yHeaderService\n .map(states => states.nav.open)\n .subscribe(isOpen => {\n vm.navOpen = isOpen;\n });\n c8yHeaderService.configNavigator({ canToggle: true });\n $rootScope.$on('authStateChange', onAuthStateChange);\n vm.rootNodes = c8yNavigator.rootNodes;\n c8yApplication.currentAppCached().then(onAppInfo);\n vm.navHiddenOnStartup = c8yBase.appOption('hide_navigator');\n checkReady();\n }\n\n function onAuthStateChange(evt, data) {\n vm.authState = data;\n }\n\n function onAppInfo() {\n vm.tabsHorizontal = c8yBase.appOption('tabsHorizontal');\n }\n\n function checkReady() {\n const element = document.querySelector('#c8y-legacy-view');\n const hasWidth = element && element.clientWidth;\n if (hasWidth) {\n vm.widthSet = true;\n } else {\n $timeout(checkReady);\n }\n }\n}\nexport { rootComponent };\n","import * as angular from 'angular';\n\nfunction c8yTitleDecorator(\n $q,\n $delegate,\n $injector,\n $rootScope,\n $location,\n $templateCache,\n $compile,\n c8yHeaderService\n) {\n 'ngInject';\n\n $delegate.changeTitle = changeTitle;\n $delegate.setTitleElement = setTitleElement;\n\n $rootScope.$on('$routeChangeStart', () => {\n changeTitle({});\n });\n\n $rootScope.$on('$routeChangeSuccess', event => {\n resolveTitle(event);\n });\n\n $rootScope.$on('$routeUpdate', event => {\n resolveTitle(event);\n });\n\n function resolveTitle(event: any) {\n const title = $delegate.get($location.path());\n if (title) {\n const titleData = $q.when(title.data ? $injector.invoke(title.data) : {});\n titleData.then(data => {\n const { templateUrl } = data;\n if (templateUrl) {\n const template = $templateCache.get(templateUrl);\n setTitleElement($compile(template)(event.targetScope));\n } else {\n changeTitle(data);\n }\n });\n }\n }\n\n function changeTitle(\n newTitleSubtitleObjOrPromise,\n options = { skipTitleTranslation: false, skipSubtitleTranslation: false }\n ) {\n $q.when(newTitleSubtitleObjOrPromise).then(newTitleSubtitleObj =>\n changeTitleInAngular(translate(newTitleSubtitleObj, options))\n );\n }\n\n function translate(\n { title = '', subtitle = '' },\n { skipTitleTranslation = false, skipSubtitleTranslation = false }\n ) {\n const titleTemplate = skipTitleTranslation ? '{{ title }}' : '{{ title | translate }}';\n const subtitleTemplate = skipSubtitleTranslation\n ? '{{ subtitle }}'\n : '{{ subtitle | translate }}';\n const template = `\n <h1 class=\"text-truncate\">${titleTemplate}\n <small>${subtitleTemplate}</small></h1>\n `;\n\n const isolatedScope = $rootScope.$new(true);\n isolatedScope.title = title;\n isolatedScope.subtitle = subtitle;\n\n return $compile(angular.element(template))(isolatedScope)[0];\n }\n\n function changeTitleInAngular(domElement) {\n c8yHeaderService.changeTitle(domElement);\n }\n\n function setTitleElement($element) {\n $element.show();\n changeTitleInAngular($element[0]);\n }\n\n return $delegate;\n}\n\nexport { c8yTitleDecorator };\n","import { NgZone } from '@angular/core';\nimport { downgradeInjectable } from '@angular/upgrade/static';\nimport { QueriesUtil } from '@c8y/client';\nimport * as angular from 'angular';\nimport { c8yAlertDecorator } from './alert.decorator';\nimport {\n appLogsAutoRefreshComponentDowngradedComponent,\n bootstrapComponentDowngradedComponent,\n dataGridComponentDowngradedComponent,\n datapointSelectionListComponentDowngradedComponent,\n emptyStateComponentDowngradedComponent,\n helpComponentDowngradedComponent,\n highlightComponentDowngradedComponent,\n loadingComponentDowngradedComponent,\n paginationComponentDowngradedComponent,\n passwordInputComponentDowngradedComponent,\n platformConfigurationFormDowngradedComponent,\n rangeDisplayComponentDowngradedComponent,\n rolesAssetTreeComponentDowngradedComponent,\n userTotpComponentDowngradedComponent,\n widgetPreviewWrapperDowngradedComponent\n} from './downgraded.components';\nimport {\n absoluteDateServiceDowngradedInjectable,\n alertsServiceDowngradedInjectable,\n apiServiceDowngradedInjectable,\n appStateServiceDowngradedInjectable,\n assetLinkPipeDowngradedInjectable,\n authBridgeServiceDowngradedInjectable,\n bridgeServiceDowngradedInjectable,\n cachedLocaleDictionaryServiceDowngradedInjectable,\n datapointSelectorServiceDowngradedInjectable,\n dateFormatServiceInjectable,\n deviceGridServiceDowngradedInjectable,\n deviceTypeDetailEditedServiceDowngradedInjectable,\n docsServiceDowngradedInjectable,\n featureCacheServiceDowngradedInjectable,\n filesServiceDowngradedInjectable,\n gainsightServiceDowngradedInjectable,\n globalConfigServiceDowngradedInjectable,\n headerServiceDowngradedInjectable,\n modalServiceDowngradedInjectable,\n passwordServiceDowngradedInjectable,\n propertyValueTransformServiceDowngradedInjectable,\n serverMessagesServiceDowngradedInjectable,\n serviceRegistryInjectable,\n translateServiceDowngradedInjectable,\n userMenuServiceDowngradedInjectable\n} from './downgraded.services';\nimport { gettextCatalogDecorator } from './gettextCatalog.decorator';\nimport { groupTypesHierarchyNavigatorDecorator } from './groupsHierarchyNavigator.decorator';\nimport { c8yNg1HttpInterceptor } from './http.interceptor';\nimport { c8yNavigatorProvider } from './navigator.provider';\nimport { rootComponent } from './root.component';\nimport { c8yTitleDecorator } from './title.decorator';\nimport { c8yViewsProvider } from './views.provider';\n\nconst NAME_UPGRADE = 'c8y.upgrade';\n(window as any).preventNg1Bootstrap = true;\n\nangular\n .module(NAME_UPGRADE, [])\n // tslint:disable-next-line:only-arrow-functions\n .config(function ($httpProvider) {\n 'ngInject';\n\n const ng1InterceptorIndex = $httpProvider.interceptors.indexOf('c8yLoadingIndicator');\n if (ng1InterceptorIndex > -1) {\n $httpProvider.interceptors.splice(ng1InterceptorIndex, 1);\n }\n $httpProvider.interceptors.push(c8yNg1HttpInterceptor);\n })\n .component('c8yUiRoot', rootComponent)\n .directive('c8yBootstrap', bootstrapComponentDowngradedComponent)\n .factory('c8yBridgeService', bridgeServiceDowngradedInjectable)\n .factory('c8yAuthBridgeService', authBridgeServiceDowngradedInjectable)\n .factory('c8yAppStateService', appStateServiceDowngradedInjectable)\n .factory('c8yDateFormatService', dateFormatServiceInjectable)\n .factory('c8yHeaderService', headerServiceDowngradedInjectable)\n .factory('c8yUserMenuService', userMenuServiceDowngradedInjectable)\n // tslint:disable-next-line:only-arrow-functions\n .service('c8yQueriesUtil', function () {\n return new QueriesUtil();\n })\n .factory('c8yAlert', alertsServiceDowngradedInjectable)\n .decorator('c8yAlert', c8yAlertDecorator)\n .decorator('groupTypesHierarchyNavigator', groupTypesHierarchyNavigatorDecorator) // prevents loading the groups\n .factory('c8yApiService', apiServiceDowngradedInjectable)\n .factory('c8yDocs', docsServiceDowngradedInjectable)\n .service('c8yPasswordConfirm', passwordServiceDowngradedInjectable)\n .service('c8yModalService', modalServiceDowngradedInjectable)\n .service('c8yGainsightService', gainsightServiceDowngradedInjectable)\n .service('c8yFilesService', filesServiceDowngradedInjectable)\n .service('c8yGlobalConfigService', globalConfigServiceDowngradedInjectable)\n .service('c8yPropertyValueTransformService', propertyValueTransformServiceDowngradedInjectable)\n .service('c8yFeatureCacheService', featureCacheServiceDowngradedInjectable)\n .service('c8yDatapointSelectorService', datapointSelectorServiceDowngradedInjectable);\n\nangular\n .module('c8y.ui')\n .filter('absoluteDate', absoluteDateServiceDowngradedInjectable as any)\n .directive('c8yLoading', loadingComponentDowngradedComponent)\n .provider('c8yNavigator', c8yNavigatorProvider)\n .provider('c8yViews', c8yViewsProvider)\n .directive('c8yUserTotpRevoke', userTotpComponentDowngradedComponent)\n .directive('c8yAppLogsAutoRefresh', appLogsAutoRefreshComponentDowngradedComponent)\n .directive('c8yDataGrid', dataGridComponentDowngradedComponent)\n .directive('c8yRangeDisplay', rangeDisplayComponentDowngradedComponent)\n .directive('c8yHelp', helpComponentDowngradedComponent)\n .directive('c8yUiEmptyState', emptyStateComponentDowngradedComponent)\n .directive('c8yDatapointSelectionList', datapointSelectionListComponentDowngradedComponent)\n .directive('c8yHighlight', highlightComponentDowngradedComponent)\n .directive('c8yPasswordInput', passwordInputComponentDowngradedComponent)\n .directive('pagination', paginationComponentDowngradedComponent)\n .directive('c8yRolesAssetTreeDowngraded', rolesAssetTreeComponentDowngradedComponent)\n .directive('c8yPlatformConfigurationForm', platformConfigurationFormDowngradedComponent)\n .directive('c8yWidgetPreviewWrapper', widgetPreviewWrapperDowngradedComponent)\n .factory('c8yTranslate', translateServiceDowngradedInjectable)\n .factory('c8yCachedLocaleDictionaryService', cachedLocaleDictionaryServiceDowngradedInjectable)\n .decorator('gettextCatalog', gettextCatalogDecorator)\n .factory('c8yServerMessages', serverMessagesServiceDowngradedInjectable)\n .factory('ngZone', downgradeInjectable(NgZone))\n .factory('c8yDeviceTypeDetailEdited', deviceTypeDetailEditedServiceDowngradedInjectable)\n .factory('c8yDeviceGridService', deviceGridServiceDowngradedInjectable)\n .factory('c8yServiceRegistry', serviceRegistryInjectable)\n .factory('assetLink', assetLinkPipeDowngradedInjectable);\n\nangular\n .module('c8y.ui')\n .decorator('c8yTitle', c8yTitleDecorator)\n .run([\n 'c8yTitle',\n function () {\n // needed to inject c8yTitle with decorator applied to it, to ensure displaying ng1 titles\n }\n ]);\n\nexport const ng1ModulesUpgrade = ['app', NAME_UPGRADE];\n","import { UpgradeModule as NgUpgradeModule } from '@angular/upgrade/static';\nimport { ng1ModulesUpgrade } from './ng1';\n\nexport abstract class HybridAppModule {\n ng1Modules = ng1ModulesUpgrade;\n protected upgrade: NgUpgradeModule;\n\n ngDoBootstrap() {\n (window as any).bootstrap();\n this.upgrade.bootstrap(document.getElementById('app'), this.ng1Modules, { strictDi: false });\n }\n}\n","import { EmptyComponent } from '@c8y/ngx-components';\n\nexport const UPGRADE_ROUTES = [{ path: '**', component: EmptyComponent }];\n","import { Injectable, NgZone, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { getActivatedRoute } from '@c8y/ngx-components';\nimport {\n ContextDashboardService,\n ContextWidgetConfig\n} from '@c8y/ngx-components/context-dashboard';\nimport { get } from 'lodash-es';\n\n@Injectable({ providedIn: 'root' })\nexport class DashboardBridgeService {\n dashboardSvc;\n compile;\n dashboardClipboard;\n\n private ng1Injector: any = inject('$injector' as any);\n private zone = inject(NgZone);\n private router = inject(Router);\n private contextDashboardService = inject(ContextDashboardService, { optional: true });\n\n constructor() {\n this.dashboardSvc = this.ng1Injector.get('dashboardSvc');\n this.compile = this.ng1Injector.get('$compile');\n }\n\n get ng1Components() {\n return this.ng1Injector.get('c8yComponents');\n }\n\n async instantiateComponent(widget, element) {\n const { dashboard, context, child } = widget;\n if (dashboard) {\n const transformedChild = await this.dashboardSvc.transformChildWithContext(\n this.dashboardSvc.forcedContext || context,\n dashboard,\n child\n );\n if (this.dashboardSvc.forcedContext || dashboard.deviceType || dashboard.updateTarget) {\n await this.dashboardSvc.updateConfigTargetsWithContext(\n this.dashboardSvc.forcedContext || context,\n transformedChild.config\n );\n }\n return this.zone.runOutsideAngular(() =>\n this.loadTemplate(transformedChild, child, element, context)\n );\n } else {\n return this.loadConfigTemplate(element, widget);\n }\n }\n\n instantiateDeviceSelector(element, widgetConfig: ContextWidgetConfig) {\n return this.loadConfigTemplate(element, widgetConfig, true);\n }\n\n private loadTemplate(transformedChild, child, element, context) {\n const scope = this.ng1Injector.get('$rootScope').$new(true);\n scope.child = transformedChild;\n scope.dashboardContext = context;\n if (child.widgetComponent) {\n element.innerHTML = `<c8y-ui-component component-name=\"'${child.widgetComponent}'\" config=\"child.config\" context=\"dashboardContext\"></c8y-ui-component>`;\n } else if (child.templateUrl) {\n element.innerHTML = `<ng-include src=\"'${child.templateUrl}'\"></ng-include>`;\n }\n this.compile(element)(scope);\n return scope;\n }\n\n private getDashboard() {\n return getActivatedRoute(this.router).snapshot.data.dashboard;\n }\n\n private loadConfigTemplate(\n element,\n widgetConfig: ContextWidgetConfig,\n onlyDeviceSelector = false\n ) {\n const { settings } = widgetConfig;\n const scope = this.ng1Injector.get('$rootScope').$new(true);\n\n scope.settings = { ...settings, ...settings.ng1 };\n scope.options = widgetConfig.options;\n scope.config = widgetConfig;\n scope.forms = {};\n scope.rootId = settings.context.id;\n scope.dashboard = get(widgetConfig, 'settings.dashboardMo');\n\n let configCmp = '';\n if (!onlyDeviceSelector) {\n if (widgetConfig.settings.configComponent) {\n configCmp = `<c8y-ui-component component-name=\"'${widgetConfig.settings.configComponent}'\" config=\"config\"></c8y-ui-component>`;\n } else if (widgetConfig.settings.configTemplateUrl) {\n configCmp = `<ng-include src=\"'${widgetConfig.settings.configTemplateUrl}'\"></ng-include>`;\n }\n }\n\n element.innerHTML = `\n <ng-form name=\"forms.componentForm\">\n <div class=\"form-group m-0\"\n ng-if=\"!settings.noDeviceTarget\"\n ng-style=\"{height: settings.hideTarget && '0', overflow: 'hidden'}\"\n >\n </div>\n ${configCmp}\n </ng-form>`;\n\n scope.$watch('forms.componentForm.$invalid', formStatus => {\n this.contextDashboardService.formDisabled = formStatus;\n });\n this.compile(element)(scope);\n this.contextDashboardService.formDisabled = scope.forms.componentForm.$invalid;\n\n return scope;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n OnInit,\n OnDestroy,\n Optional\n} from '@angular/core';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\nimport { OnBeforeSave, WidgetsDashboardComponent } from '@c8y/ngx-components';\nimport { debounceTime, merge, Subscription } from 'rxjs';\n\n@Component({\n selector: 'c8y-widget-legacy',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetComponent implements OnInit, OnDestroy, OnBeforeSave {\n ng1Scope;\n config;\n alerts;\n private resizeSubscription?: Subscription;\n private readonly DEBOUNCE_TIME_UNTIL_WIDGET_HAS_SNAPPED = 400;\n\n constructor(\n @Optional() private dashboard: WidgetsDashboardComponent,\n private dashboardBridgeService: DashboardBridgeService,\n private el: ElementRef\n ) {}\n\n onBeforeSave(): boolean {\n this.ng1Scope.$broadcast('saveWidget');\n return true;\n }\n\n async ngOnInit() {\n if (this.config) {\n if (this.config.child) {\n this.config.child.alerts = this.alerts;\n }\n this.ng1Scope = await this.dashboardBridgeService.instantiateComponent(\n this.config,\n this.el.nativeElement\n );\n if (this.dashboard) {\n this.resizeSubscription = merge(this.dashboard.onChangeDashboard, this.dashboard.onResize)\n .pipe(debounceTime(this.DEBOUNCE_TIME_UNTIL_WIDGET_HAS_SNAPPED))\n .subscribe(() => {\n this.ng1Scope.$broadcast('dashboardResize');\n });\n }\n }\n }\n\n ngOnDestroy(): void {\n if (this.ng1Scope) {\n this.ng1Scope.$destroy();\n }\n if (this.resizeSubscription) {\n this.resizeSubscription.unsubscribe();\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, OnDestroy } from '@angular/core';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\n\n@Component({\n selector: 'c8y-device-selector-legacy',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LegacyDeviceSelectorComponent implements OnInit, OnDestroy {\n ng1Scope;\n config;\n\n constructor(\n private dashboardBridgeService: DashboardBridgeService,\n private el: ElementRef\n ) {}\n\n async ngOnInit() {\n this.ng1Scope = this.dashboardBridgeService.instantiateDeviceSelector(\n this.el.nativeElement,\n this.config\n );\n }\n\n ngOnDestroy(): void {\n if (this.ng1Scope) {\n this.ng1Scope.$destroy();\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n DynamicComponentDefinition,\n DynamicDatapointsResolver,\n DynamicManagedObjectResolver\n} from '@c8y/ngx-components';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\nimport { WidgetComponent } from './widget.component';\nimport { LegacyDeviceSelectorComponent } from './device-selector.component';\nimport { of, Observable } from 'rxjs';\nimport { shareReplay, switchMap, take } from 'rxjs/operators';\n\n@Injectable()\nexport class Ng1ComponentFactoryService {\n private components$: Observable<DynamicComponentDefinition[]>;\n constructor(private bridge: DashboardBridgeService) {\n this.components$ = of(1).pipe(\n switchMap(() => this.getComponents()),\n shareReplay(1),\n take(1)\n );\n }\n\n get() {\n return this.components$;\n }\n\n private async getComponents(): Promise<DynamicComponentDefinition[]> {\n const ng1Components = await this.bridge.ng1Components.list();\n const components: DynamicComponentDefinition[] = ng1Components.map(cmp => {\n const resolve = {};\n if (cmp.options?.datapointAttributes && Array.isArray(cmp.options?.datapointAttributes)) {\n cmp.options?.datapointAttributes.forEach(\n attribute => (resolve[attribute] = DynamicDatapointsResolver as any)\n );\n }\n if (\n cmp.options?.managedObjectAttributes &&\n Array.isArray(cmp.options?.managedObjectAttributes)\n ) {\n cmp.options?.managedObjectAttributes.forEach(\n attribute => (resolve[attribute] = DynamicManagedObjectResolver as any)\n );\n }\n const data = {\n settings: {\n ...cmp.options,\n configTemplateUrl: cmp.configTemplateUrl,\n widgetComponent: cmp.widgetComponent,\n configComponent: cmp.configComponent,\n transformConfigWithContext:\n cmp.transformConfigWithContext || cmp.componentTransformConfigWithContext,\n upgrade: true\n }\n } as any;\n data.settings.templateUrl = cmp.templateUrl; // workaround as in object it creates build error\n data.displaySettings = cmp.displaySettings;\n\n return {\n id: cmp.name,\n label: cmp.nameDisplay || cmp.name,\n description: cmp.description,\n component: WidgetComponent,\n configComponent: WidgetComponent,\n previewImage: cmp.previewImage,\n errorStrategy: cmp.errorStrategy,\n resolve,\n data\n } as DynamicComponentDefinition;\n });\n\n // add the device selector legacy component\n components.push({\n id: 'device.selector.legacy',\n label: 'Device selector',\n description: '',\n data: { settings: { noNewWidgets: true, upgrade: true } },\n component: LegacyDeviceSelectorComponent\n });\n\n return components;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { Ng1ComponentFactoryService } from './component.factory';\nimport { WidgetComponent } from './widget.component';\nimport { LegacyDeviceSelectorComponent } from './device-selector.component';\nimport { C8yTranslateModule, hookComponent } from '@c8y/ngx-components';\nimport { AssetSelectorModule } from '@c8y/ngx-components/assets-navigator';\n\n@NgModule({\n imports: [\n CommonModule,\n C8yTranslateModule,\n AssetSelectorModule,\n LegacyDeviceSelectorComponent,\n WidgetComponent\n ],\n providers: [hookComponent(Ng1ComponentFactoryService)]\n})\nexport class DashboardUpgradeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map","i1.BridgeService","merge","debounceTime","i1","i2.DashboardBridgeService","i1.DashboardBridgeService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-upgrade.mjs","sources":["../../upgrade/absolute-date.service.ts","../../upgrade/ng1/views.provider.ts","../../upgrade/bridge.service.ts","../../upgrade/action-bar.factory.ts","../../upgrade/action.factory.ts","../../upgrade/auth-bridge.service.ts","../../upgrade/breadcrumb.factory.ts","../../upgrade/docs.factory.ts","../../upgrade/nodes.factory.ts","../../upgrade/tabs.factory.ts","../../upgrade/upgrade.module.ts","../../upgrade/ng1/alert.decorator.ts","../../upgrade/ng1/downgraded.components.ts","../../upgrade/ng1/serverMessages.service.ts","../../upgrade/ng1/downgraded.services.ts","../../upgrade/ng1/gettextCatalog.decorator.ts","../../upgrade/ng1/groupsHierarchyNavigator.decorator.ts","../../upgrade/ng1/http.interceptor.ts","../../upgrade/ng1/navigator-node-root-legacy.ts","../../upgrade/ng1/navigator.provider.ts","../../upgrade/ng1/root.component.ts","../../upgrade/ng1/title.decorator.ts","../../upgrade/ng1/index.ts","../../upgrade/hybrid-app.module.ts","../../upgrade/upgrade.routes.ts","../../upgrade/dashboard/dashboard-bridge.service.ts","../../upgrade/dashboard/widget.component.ts","../../upgrade/dashboard/device-selector.component.ts","../../upgrade/dashboard/component.factory.ts","../../upgrade/dashboard/dashboard-upgrade.module.ts","../../upgrade/c8y-ngx-components-upgrade.ts"],"sourcesContent":["import { DatePipe } from '@c8y/ngx-components';\n\nexport class AbsoluteDateService {\n constructor(private datePipe: DatePipe) {}\n getFilter() {\n return (value: any, format = 'medium', timezone?: string, locale?: string) =>\n this.datePipe.transform(value, format, timezone, locale);\n }\n}\nexport function absoluteDateServiceFactory(datePipe: DatePipe) {\n return new AbsoluteDateService(datePipe).getFilter();\n}\nexport const absoluteDateServiceProvider = {\n provide: AbsoluteDateService,\n useFactory: absoluteDateServiceFactory,\n deps: [DatePipe]\n};\n","import { ViewContext } from '@c8y/ngx-components';\nimport { find, forEach, map, startsWith, unary } from 'lodash-es';\nimport { ReplaySubject } from 'rxjs';\n\nexport enum ViewContextLegacyParameter {\n Device = 'deviceId',\n Group = 'groupId',\n User = 'userId',\n Application = 'applicationId',\n Microservice = 'applicationId',\n SubscribedApplications = 'applicationId',\n Tenant = 'tenantId',\n Service = 'deviceId', // use 'deviceId' as parameter name so that device views (Measurements, Events, Alarms) can be reused for service\n Simulators = 'deviceId' // required to hook the Alarms tab to a Simulator view\n}\n\nfunction c8yViewsProvider($routeProvider, c8yTabsProvider, c8yPathUtils) {\n 'ngInject';\n\n const viewMap = {};\n const contextViews = new ReplaySubject();\n\n return {\n when,\n $get() {\n return {\n contextViews,\n when(path, cfg) {\n return when(path, cfg, true);\n },\n getByPath,\n prefixWithSlash\n };\n }\n };\n\n /**\n * @ngdoc function\n * @name when\n * @methodOf c8y.ui.provider:c8yViewsProvider\n *\n * @description\n * Defines a view for given route.\n * If multiple views are defined for a single route then there will be a separate tab for each view available when user visits that route.\n *\n * @param path Target route.\n * @param cfg View configuration object with the following properties:\n *\n * - **name** - `string` - View's name (in case of multiple views at single route this will be displayed as tab's title).\n * - **priority** - `integer` - View's priority (in case of multiple views at single route this will determine the position of view's tab in the tabs stack).\n * - **icon** - `string` - Font Awesome icon name for the view (displayed on the tab's header).\n * - **showIf** - `function` - Function returning boolean value indicating whether to show a tab for the view or not.\n * - **templateUrl** - `string` - Path to the template to use for displaying the view.\n *\n * You can also provide other view options - the same as available for standard {@link https://docs.angularjs.org/api/ngRoute/provider/$routeProvider $routeProvider} in AngularJS.\n *\n * ```html\n * The following example demonstrates how to add a new view to device details route\n * (which will be displayed as a tab if other views are assigned to the same route):\n * <pre>\n * c8yViewsProvider.when('/device/:deviceId', {\n * name: 'Tracking',\n * templateUrl: ':::PLUGIN_PATH:::/views/index.html',\n * icon: 'crosshairs',\n * showIf: ['$routeParams', 'c8yDevices', function ($routeParams, c8yDevices) {\n * var deviceId = $routeParams.deviceId;\n * return c8yDevices.detailCached(deviceId).then(function (res) {\n * var device = res.data;\n * return device && (device.c8y_MotionTracking || device.c8y_Geofence);\n * });\n * }]\n * });\n * </pre>\n * ```\n */\n function when(path, cfg, runPhase) {\n const newPath = prefixWithSlash(path);\n cfg.resolve = cfg.resolve || {};\n // eslint-disable-next-line no-underscore-dangle\n cfg.resolve.__c8y_locales = [\n 'c8yLocales',\n c8yLocales => {\n return c8yLocales.initDone;\n }\n ];\n\n let currentCfg = viewMap[newPath];\n const originalPath = newPath;\n\n if (!cfg.name) {\n // console.warn('View name not defined');\n }\n\n if (!currentCfg) {\n viewMap[newPath] = [];\n currentCfg = viewMap[newPath];\n }\n\n const upgradedContext = Object.keys(ViewContext)\n .map(key => ({\n key,\n isUpgrade:\n prefixWithSlash(ViewContext[key].replace('id', ViewContextLegacyParameter[key])) === path\n }))\n .find(({ isUpgrade }) => isUpgrade);\n\n if (upgradedContext) {\n currentCfg.push(cfg);\n cfg.path = newPath;\n\n const p = c8yPathUtils.appendSegment(originalPath.replace(path, ''), cfg.name);\n contextViews.next({\n ...cfg,\n path: cfg.name ? p.substring(1) : '',\n contextKey: upgradedContext.key,\n runPhase\n });\n cfg.showIf = undefined;\n if (cfg.name) {\n cfg.path = c8yPathUtils.appendSegment(originalPath, cfg.name);\n }\n } else {\n if (currentCfg.length === 1) {\n const [existingConfig] = currentCfg;\n existingConfig.path = c8yPathUtils.appendSegment(originalPath, existingConfig.name);\n existingConfig.tab = createTab(originalPath, existingConfig);\n $routeProvider.when(existingConfig.path, existingConfig);\n }\n\n currentCfg.push(cfg);\n cfg.path = newPath;\n\n if (currentCfg.length > 1) {\n cfg.path = c8yPathUtils.appendSegment(originalPath, cfg.name);\n createTab(originalPath, cfg);\n\n $routeProvider.when(prefixWithSlash(originalPath), {\n resolveRedirectTo($route, $q, c8yUiUtil, c8yTabs, gettextCatalog) {\n 'ngInject';\n\n const sortedCurrentCfg = c8yTabsProvider.sortTabsViews(currentCfg, gettextCatalog);\n const params = $route.current.pathParams;\n\n return $q\n .all(map(sortedCurrentCfg, unary(c8yUiUtil.configureVisibility)))\n .then(views => {\n const first = find(views, 'show');\n let url = first.path;\n forEach(params, (val, key) => {\n url = url.replace(`:${key}`, val);\n });\n c8yTabs.redirectedViewPath = url;\n return url;\n });\n }\n });\n }\n }\n return $routeProvider.when(prefixWithSlash(cfg.path), cfg);\n }\n\n function getByPath(path) {\n return viewMap[prefixWithSlash(path)];\n }\n\n function createTab(path, cfg) {\n c8yTabsProvider.addTab(path, cfg);\n }\n\n function prefixWithSlash(path) {\n const prefix = startsWith(path, '/') ? '' : '/';\n return prefix + path;\n }\n}\n\nexport { c8yViewsProvider };\n","import {\n Action,\n ActionBarItem,\n ActionService,\n AppStateService,\n Breadcrumb,\n BreadcrumbItem,\n DocLink,\n EmptyComponent,\n gettext,\n PluginsResolveService,\n RouterService,\n Search,\n Tab,\n ViewContext\n} from '@c8y/ngx-components';\nimport { isArray } from 'lodash-es';\nimport {\n BehaviorSubject,\n combineLatest,\n from,\n fromEventPattern,\n merge,\n Observable,\n of,\n Subject\n} from 'rxjs';\nimport { debounceTime, delay, filter, map, startWith, switchMap, take } from 'rxjs/operators';\n\nimport { NgZone } from '@angular/core';\nimport { ActivatedRouteSnapshot, ActivationEnd, ResolveEnd, Router } from '@angular/router';\nimport { ViewContextLegacyParameter } from './ng1/views.provider';\n\nexport class BridgeService {\n $routeChanges: Observable<any>;\n $ng1RouteChangeSuccess: Observable<any>;\n $ng1RouteChangeStart: Observable<any>;\n $liveTabs: Subject<Tab[]> = new BehaviorSubject([]);\n navigationNodes$: Observable<any>;\n initialNavigationDone = false;\n\n constructor(\n public injector: any,\n private appState: AppStateService,\n public router: Router,\n private ngZone: NgZone,\n private routerService: RouterService,\n private actionService: ActionService,\n plugins: PluginsResolveService\n ) {\n this.fixE2eIssues();\n this.$ng1RouteChangeSuccess = this.fromNg1Event(\n this.injector.get('$rootScope'),\n '$routeChangeSuccess'\n );\n this.$ng1RouteChangeStart = this.fromNg1Event(\n this.injector.get('$rootScope'),\n '$routeChangeStart'\n );\n this.hookLanguage();\n this.hookTab();\n this.hookNavigator();\n this.hookUserMenu();\n this.hookViewProvider();\n this.hookRoute();\n\n plugins.allPluginsLoaded$\n .pipe(\n filter(tmp => !!tmp),\n take(1),\n delay(1)\n )\n .subscribe(() => {\n this.initialNavigationDone = true;\n this.router.initialNavigation();\n });\n this.ng1Routes();\n }\n\n /**\n * Ensure that angularjs routes are not using any\n * secondary router outlets\n */\n hookRoute() {\n this.router.events\n .pipe(\n filter(event => event instanceof ResolveEnd),\n map((event: ResolveEnd) => event.state.root.firstChild),\n filter(route => route && route.routeConfig && route.routeConfig.path === '**')\n )\n .subscribe((event: ActivatedRouteSnapshot) => {\n if (event.root.children.length > 1) {\n window.location.hash = event.root.children[0].url.toString();\n }\n });\n }\n\n hookViewProvider() {\n const c8yViews = this.injector.get('c8yViews');\n // fix to trigger an angularjs route change success\n // event on context route match to make legacy\n // view-providers resolve.\n c8yViews.when('/device/:id', {\n template: ''\n });\n c8yViews.when('/group/:id', {\n template: ''\n });\n c8yViews.contextViews.subscribe(cfg => this.addRoute(cfg));\n }\n\n addRoute(cfg) {\n this.routerService.addRoute({\n label: cfg.label || cfg.name,\n path: cfg.path,\n icon: cfg.icon,\n context: ViewContext[cfg.contextKey] as ViewContext,\n priority: cfg.priority,\n component: EmptyComponent,\n data: {\n showIf: cfg.showIf\n ? ngxRoute => {\n const params = {\n ...ngxRoute.params,\n [ViewContextLegacyParameter[cfg.contextKey]]: ngxRoute.params.id\n };\n const showIfResult = this.injector.invoke(cfg.showIf, undefined, {\n $routeParams: params\n });\n // make sure showIf result is a promise with boolean result:\n return this.injector.get('$q').when(showIfResult).then(Boolean);\n }\n : undefined\n },\n ...(cfg.featureId && { featureId: cfg.featureId })\n });\n\n if (cfg.runPhase) {\n this.routerService.refresh();\n }\n }\n\n ng1Routes() {\n const template = '';\n const fallbackRoutes = [];\n\n for (const context in ViewContext) {\n if (ViewContext[context] !== ViewContext.Alarms) {\n const path = ViewContext[context].match(/(\\w+)\\//)[1];\n const regexp = new RegExp(`^/${path}/(?:([^/]+)).*$`);\n fallbackRoutes.push({\n keys: [{ name: ViewContextLegacyParameter[context], optional: false }],\n regexp,\n template\n });\n }\n }\n\n /**\n * When asset detail routes (/device/:id, /group/:id) are matched in Angular Router, ngRoute in\n * angular.js must also have matching generic routes so that the ids can be extracted from the paths and\n * injected in multiple calls (showIf, c8yActions, etc) as properties of $routeParams.\n *\n * The function in src/ngRoute/route.js (angular.js) where the routes are matched is called parseRoute(). This\n * function calls angular.forEach and in turn this function checks for the presence of a forEach method before\n * trying object key iteration.\n * By attaching a non enumerable forEach method to the routes object we guarantee that the fallback generic routes\n * are only matched after any other registered through $routeProvider.when.\n */\n const $route = this.injector.get('$route');\n Object.defineProperty($route.routes, 'forEach', {\n // make non enumerable\n value: function forEach(iterator, context) {\n // tslint:disable-next-line: forin\n for (const key in this) {\n iterator.call(context, this[key], key, this);\n }\n fallbackRoutes.forEach(r => iterator.call(context, r));\n },\n configurable: true\n });\n\n /**\n * Some functions use the current context. As some parts are upgraded and some not, the following updates the\n * angularjs getContext function to resolve always the right context.\n */\n const c8yUiUtil = this.injector.get('c8yUiUtil');\n const _getContext = c8yUiUtil.getContext;\n this.router.events\n .pipe(filter(event => event instanceof ActivationEnd))\n .subscribe((event: ActivationEnd) => {\n if (event.snapshot.routeConfig.path === '**') {\n c8yUiUtil.getContext = _getContext;\n } else if (event.snapshot.data && event.snapshot.data.context) {\n c8yUiUtil.getContext = () => {\n return {\n context: event.snapshot.data.context.replace('/:id', ''),\n id: event.snapshot.data.contextData.id,\n contextData: event.snapshot.data.contextData\n };\n };\n } else {\n c8yUiUtil.getContext = () => ({ context: null, id: null });\n }\n });\n }\n\n fixE2eIssues() {\n try {\n const { ngZone } = this;\n const { Utils } = (window as any).org.cometd;\n const timeoutFn = Utils.setTimeout;\n // tslint:disable-next-line:only-arrow-functions\n Utils.setTimeout = function (...args) {\n return ngZone.runOutsideAngular(() => timeoutFn.apply(Utils, args));\n };\n } catch (e) {\n // do nothing\n }\n\n try {\n const { ace } = window as any;\n const editFn = ace.edit;\n const { ngZone } = this;\n // tslint:disable-next-line:only-arrow-functions\n ace.edit = function (...args) {\n return ngZone.runOutsideAngular(() => editFn.apply(ace, args));\n };\n } catch (e) {\n // do nothing\n }\n }\n\n hookLanguage() {\n let first = true;\n this.appState\n .map(store => store.lang)\n .subscribe(lang => {\n this.injector.get('c8yLocales').switchToLanguage(lang);\n if (!first) {\n this.injector.get('$rootScope').$apply();\n }\n first = false;\n });\n }\n\n hookTab() {\n // Just for instantiation of the c8yAction service\n this.injector.get('c8yActions');\n const $location = this.injector.get('$location');\n const c8yTabs = this.injector.get('c8yTabs');\n let liveTabs = [];\n c8yTabs.addTab = tab => {\n liveTabs.push({\n ...tab,\n label: tab.label || tab.name,\n path: decodeURIComponent(tab.path)\n });\n this.$liveTabs.next(liveTabs);\n };\n this.$ng1RouteChangeStart.subscribe(() => {\n liveTabs = [];\n this.$liveTabs.next(liveTabs);\n });\n this.$ng1RouteChangeSuccess.subscribe(() => {\n const path = $location.path();\n if (this.router.url !== path && this.initialNavigationDone) {\n this.router.navigate(path === '/' ? '' : path.split('/'), {\n queryParams: $location.search(),\n skipLocationChange: true\n });\n }\n if (this.actionService) {\n this.actionService.refresh();\n }\n });\n this.$routeChanges = merge(\n this.$ng1RouteChangeSuccess,\n this.fromNg1Event(c8yTabs, c8yTabs.EVENT_UPDATE),\n of(1)\n ).pipe(debounceTime(100));\n }\n\n hookNavigator() {\n this.navigationNodes$ = this.injector.get('c8yNavigator').rootNodes$;\n }\n\n getTabs(): Observable<any> {\n const onlyVisible = ({ show }) => show;\n const upgradeTab = tab => ({\n ...tab,\n label: tab.label || tab.name,\n path: decodeURIComponent(tab.path)\n });\n const routeTabs = this.$routeChanges.pipe(\n switchMap(() => {\n const routes = this.injector.get('c8yTabs').routeTabs;\n const visibilityPromise = Promise.all(\n routes.map(({ checkingVisibility }) => checkingVisibility)\n );\n return visibilityPromise.then(() => routes.filter(onlyVisible).map(upgradeTab));\n }),\n startWith([])\n );\n return combineLatest([routeTabs, this.$liveTabs]).pipe(\n map(([route, live]) => route.concat(live))\n );\n }\n\n getQuickLinks(): Promise<DocLink[]> {\n const c8yQuickLinks = this.injector.get('c8yQuickLinks');\n return c8yQuickLinks.list();\n }\n\n getActionBarItems(): Observable<ActionBarItem> {\n const c8yActionBar = this.injector.get('c8yActionBar');\n const $rootScope = this.injector.get('$rootScope');\n const getActionBarElements = () =>\n c8yActionBar.elements.map(element => ({\n priority: element.getAttribute('action-bar-priority') || 0,\n template: element,\n placement: element.getAttribute('action-bar-position') || 'right'\n }));\n return this.fromNg1Event($rootScope, 'c8yActionBarChanged').pipe(\n startWith(1),\n map(getActionBarElements)\n );\n }\n\n getBreadcrumbs(): Observable<Breadcrumb[]> {\n const $location = this.injector.get('$location');\n const c8yBreadcrumbs = this.injector.get('c8yBreadcrumbs');\n const breadcrumbsUpdate$ = new Observable(subscriber =>\n c8yBreadcrumbs.$on('update', () => subscriber.next())\n );\n return breadcrumbsUpdate$.pipe(\n startWith(0),\n switchMap(() => {\n const path = $location.path();\n const breadcrumbs = c8yBreadcrumbs.get(path) || {};\n const breadcrumbsData = this.resolveBreadcrumbsData(breadcrumbs.data);\n return from(breadcrumbsData).pipe(\n map((value: any[]) => {\n const liveBreadcrumbs = c8yBreadcrumbs.getLiveBreadcrumbs();\n value = value.concat(liveBreadcrumbs);\n return value.map(items => ({ items: items as BreadcrumbItem[] }) as Breadcrumb);\n })\n );\n })\n );\n }\n\n resolveBreadcrumbsData(data): Observable<any[]> {\n try {\n return this.injector.invoke(data);\n } catch (ex) {\n // empty\n }\n if (isArray(data)) {\n return of([data]);\n }\n return of([]);\n }\n\n getSearch(): Search[] {\n const c8ySearch = this.injector.get('c8ySearch');\n return c8ySearch.list().map(item => {\n return {\n icon: 'search',\n name: item.name,\n term: '',\n onSearch() {\n if (this.term) {\n c8ySearch.search(this.term);\n }\n }\n } as Search;\n });\n }\n\n getActions(): Observable<Action> {\n const registeredActions = this.injector.get('c8yActions').registeredActions;\n return of(\n registeredActions\n .filter(action => !action.hidden)\n .map(action => ({\n // The priority was reversed: Aligned it to dashboard, high first, low last.\n priority: (action.priority || 0) * -1,\n label: action.text,\n icon: action.icon,\n disabled: action.disabled,\n action: () => {\n this.injector.invoke(action.action, action);\n }\n }))\n );\n }\n\n fromNg1Event(obj, evt) {\n let stopListening;\n function add(handler) {\n stopListening = obj.$on(evt, handler);\n }\n return fromEventPattern(add, () => stopListening());\n }\n\n private hookUserMenu() {\n const userMenuService = this.injector.get('c8yUserMenuService');\n const c8yAccessDenied = this.injector.get('c8yAccessDenied');\n userMenuService.add({\n icon: 'access',\n priority: 10,\n label: gettext('Access denied requests'),\n click: c8yAccessDenied.showAccessDeniedRequestsList\n });\n }\n}\n\nexport function bridgeServiceFactory(\n injector: any,\n appState: AppStateService,\n router: Router,\n ngZone: NgZone,\n routerService: RouterService,\n actionService: ActionService,\n plugins: PluginsResolveService\n) {\n return new BridgeService(\n injector,\n appState,\n router,\n ngZone,\n routerService,\n actionService,\n plugins\n );\n}\n\nexport const bridgeServiceProvider = {\n provide: BridgeService,\n useFactory: bridgeServiceFactory,\n deps: [\n '$injector',\n AppStateService,\n Router,\n NgZone,\n RouterService,\n ActionService,\n PluginsResolveService\n ]\n};\n","import { Injectable } from '@angular/core';\nimport { ActionBarFactory, ActionBarItem } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\nimport { Observable } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n@Injectable()\nexport class Ng1ActionBarFactoryService implements ActionBarFactory {\n routeChanges$: Observable<any>;\n $ng1RouteChangeSuccess: Observable<any>;\n constructor(private bridge: BridgeService) {\n this.routeChanges$ = bridge.$routeChanges;\n this.$ng1RouteChangeSuccess = bridge.$ng1RouteChangeSuccess;\n }\n\n get(): Observable<ActionBarItem> {\n return this.routeChanges$.pipe(\n switchMap(() => {\n return this.bridge.getActionBarItems();\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActionFactory, TabsService } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class Ng1ActionFactoryService implements ActionFactory {\n routeChanges$: Observable<any>;\n $location: any;\n constructor(private bridge: BridgeService, private tabs: TabsService) {\n this.routeChanges$ = bridge.$routeChanges;\n this.$location = bridge.injector.get('$location');\n this.tabs.items$.subscribe(newTabs => this.handleTabsRedirect(newTabs));\n }\n\n handleTabsRedirect(tabs) {\n /**\n * This function is doing the same process as function redirect in the file\n * modules/core/ui/navigation/tabs.provider.js\n * That function is not run because bridge.service.ts overrides the method addTab where the redirect() was called.\n */\n const redirectedTab = tabs.find(tab => tab.redirectedTo);\n const [topPriorityTab] = tabs;\n if (redirectedTab && !topPriorityTab.redirectedTo) {\n this.$location.replace();\n this.$location.path(topPriorityTab.path);\n topPriorityTab.redirectedTo = true;\n redirectedTab.redirectedTo = false;\n }\n }\n\n get() {\n return this.bridge.getActions();\n }\n}\n","import { AppStateService, TenantUiService } from '@c8y/ngx-components';\nimport { BasicAuth, FetchClient, ICredentials } from '@c8y/client';\n\nexport class AuthBridgeService {\n constructor(\n public injector: any,\n private basicAuth: BasicAuth,\n private fetchClient: FetchClient,\n private appState: AppStateService,\n private tenantUiService: TenantUiService\n ) {\n this.hookAuth();\n }\n\n updateBasicAuth(credentials: ICredentials) {\n const { headers } = this.fetchClient.getFetchOptions({});\n if (headers.Authorization) {\n const token = headers.Authorization.match(/basic\\s(.*)$/i)[1];\n if (token) {\n this.basicAuth.updateCredentials(credentials);\n this.fetchClient.setAuth(this.basicAuth);\n }\n }\n }\n\n hookAuth() {\n this.appState.currentUser.subscribe(user => {\n if (!user) {\n this.injector.get('$rootScope').$emit('authStateChange', { hasAuth: false });\n return;\n }\n this.injector.get('c8yAuth').headers = () => this.fetchClient.getFetchOptions({}).headers;\n const { headers } = this.fetchClient.getFetchOptions({});\n const authorizationHeader = headers.Authorization;\n if (typeof authorizationHeader === 'string' && authorizationHeader.startsWith('Basic')) {\n const matches = authorizationHeader.match(/basic\\s(.*)$/i);\n const token = matches && matches[1];\n if (token) {\n this.setToken(token, headers.tfatoken);\n }\n } else if (\n typeof authorizationHeader === 'string' &&\n authorizationHeader.startsWith('Bearer')\n ) {\n this.setToken(undefined, headers.tfatoken, 'Bearer');\n } else {\n this.setToken(undefined, headers.tfatoken, 'Oauth');\n }\n this.injector.get('$rootScope').$emit('authStateChange', { hasAuth: true });\n });\n }\n\n setToken(token?: string, tfa?: string, type = 'Basic') {\n const c8yAuth = this.injector.get('c8yAuth');\n if (type === 'Basic') {\n c8yAuth.onSetToken({ token, type });\n if (tfa) {\n c8yAuth.setTFAToken(tfa);\n }\n } else {\n c8yAuth.authReady();\n }\n }\n\n getPreferredLoginOption() {\n return this.tenantUiService.getPreferredLoginOption(this.appState.state.loginOptions);\n }\n}\n\nexport function authBridgeServiceFactory(\n injector: any,\n basicAuth: BasicAuth,\n fetchClient: FetchClient,\n appState: AppStateService,\n tenantUiService: TenantUiService\n) {\n return new AuthBridgeService(injector, basicAuth, fetchClient, appState, tenantUiService);\n}\n\nexport const authBridgeServiceProvider = {\n provide: AuthBridgeService,\n useFactory: authBridgeServiceFactory,\n deps: ['$injector', BasicAuth, FetchClient, AppStateService, TenantUiService]\n};\n","import { Injectable } from '@angular/core';\nimport { BreadcrumbFactory } from '@c8y/ngx-components';\nimport { ReplaySubject } from 'rxjs';\nimport { debounceTime, switchMap } from 'rxjs/operators';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1BreadcrumbFactoryService implements BreadcrumbFactory {\n private trigger: any = new ReplaySubject(1);\n private breadcrumbs = this.trigger.pipe(\n debounceTime(100),\n switchMap(() => {\n return this.bridge.getBreadcrumbs();\n })\n );\n constructor(private bridge: BridgeService) {}\n\n get() {\n this.trigger.next();\n return this.breadcrumbs;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { DocLink, ExtensionFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1DocsFactoryService implements ExtensionFactory<DocLink> {\n private links: Promise<DocLink[]>;\n constructor(private bridge: BridgeService) {\n this.links = this.bridge.getQuickLinks();\n this.links.then(list => {\n list.map(el => {\n el.type = el.type || 'quicklink';\n return el;\n });\n });\n }\n\n get() {\n return this.links;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NavigatorNodeFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1NodesFactoryService implements NavigatorNodeFactory {\n constructor(private bridge: BridgeService) {}\n\n get() {\n return this.bridge.navigationNodes$;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { TabFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1TabsFactoryService implements TabFactory {\n tabsObservable;\n constructor(private bridge: BridgeService) {\n this.tabsObservable = bridge.getTabs();\n }\n get() {\n return this.tabsObservable;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { setAngularJSGlobal } from '@angular/upgrade/static';\nimport {\n hookAction,\n hookActionBar,\n hookBreadcrumb,\n hookDocs,\n hookNavigator,\n hookTab,\n RouterModule\n} from '@c8y/ngx-components';\nimport { UpgradedServicesModule } from '@c8y/ngx-components/upgrade/upgraded-services';\nimport * as angular from 'angular';\nimport { absoluteDateServiceProvider } from './absolute-date.service';\nimport { Ng1ActionBarFactoryService } from './action-bar.factory';\nimport { Ng1ActionFactoryService } from './action.factory';\nimport { authBridgeServiceProvider } from './auth-bridge.service';\nimport { Ng1BreadcrumbFactoryService } from './breadcrumb.factory';\nimport { bridgeServiceProvider } from './bridge.service';\nimport { Ng1DocsFactoryService } from './docs.factory';\nimport { Ng1NodesFactoryService } from './nodes.factory';\nimport { Ng1TabsFactoryService } from './tabs.factory';\n\nsetAngularJSGlobal(angular);\n\n@NgModule({\n imports: [RouterModule, UpgradedServicesModule],\n exports: [],\n providers: [\n absoluteDateServiceProvider,\n bridgeServiceProvider,\n authBridgeServiceProvider,\n hookNavigator(Ng1NodesFactoryService),\n hookTab(Ng1TabsFactoryService),\n hookActionBar(Ng1ActionBarFactoryService),\n hookAction(Ng1ActionFactoryService),\n hookBreadcrumb(Ng1BreadcrumbFactoryService),\n hookDocs(Ng1DocsFactoryService)\n ]\n})\nexport class UpgradeModule {}\n","function c8yAlertDecorator($delegate, $rootScope, $injector) {\r\n 'ngInject';\r\n\r\n $delegate.add = alert => {\r\n $delegate.addAlert(transformAlert(alert));\r\n };\r\n\r\n $rootScope.$on('alert', (evt, alert) => {\r\n $delegate.addAlert(transformAlert(alert));\r\n });\r\n\r\n $rootScope.$on('message', (evt, alert) => {\r\n $delegate.addAlert(transformAlert(alert));\r\n });\r\n\r\n /**\r\n * Solution based on the: https://stackoverflow.com/questions/40102148/how-to-iterate-over-all-properties-in-objects-prototype-chain.\r\n * Problem came after switching to ES6, as all prototype properties of classes are non-enumerable.\r\n */\r\n const allNames = new Set();\r\n for (let o = $delegate; o !== Object.prototype; o = Object.getPrototypeOf(o)) {\r\n for (const name of Object.getOwnPropertyNames(o)) {\r\n allNames.add(name);\r\n }\r\n }\r\n Array.from(allNames).forEach((property: string) => {\r\n if (typeof $delegate[property] === 'function') {\r\n $delegate[property] = $delegate[property].bind($delegate);\r\n }\r\n });\r\n\r\n function transformAlert(alert: any) {\r\n const newAlert: any = { ...alert };\r\n if (alert.onClose) {\r\n newAlert.onClose = () => {\r\n $injector.invoke(alert.onClose);\r\n };\r\n }\r\n if (alert.onDetail) {\r\n newAlert.onDetail = () => {\r\n $injector.invoke(alert.onDetail);\r\n };\r\n }\r\n return newAlert;\r\n }\r\n\r\n return $delegate;\r\n}\r\n\r\nexport { c8yAlertDecorator };\r\n","import { downgradeComponent } from '@angular/upgrade/static';\nimport {\n BootstrapComponent,\n DataGridComponent,\n UserTotpRevokeComponent,\n LoadingComponent,\n HighlightComponent,\n EmptyStateComponent,\n PasswordInputComponent\n} from '@c8y/ngx-components';\nimport { AppLogsAutoRefreshComponent } from '@c8y/ngx-components/app-logs';\nimport { RangeDisplayComponent } from '@c8y/ngx-components';\nimport { HelpComponent } from '@c8y/ngx-components';\nimport { DatapointSelectionListComponent } from '@c8y/ngx-components/datapoint-selector';\nimport { PaginationComponent } from 'ngx-bootstrap/pagination';\nimport { RolesAssetTreeComponent } from '@c8y/ngx-components/user-roles';\nimport { PlatformConfigurationFormComponent } from '@c8y/ngx-components/platform-configuration';\nimport { WidgetPreviewWrapperComponent } from '@c8y/ngx-components/context-dashboard';\n\nexport const bootstrapComponentDowngradedComponent = downgradeComponent({\n component: BootstrapComponent\n});\nexport const userTotpComponentDowngradedComponent = downgradeComponent({\n component: UserTotpRevokeComponent\n});\nexport const appLogsAutoRefreshComponentDowngradedComponent = downgradeComponent({\n component: AppLogsAutoRefreshComponent\n});\nexport const dataGridComponentDowngradedComponent = downgradeComponent({\n component: DataGridComponent\n});\nexport const loadingComponentDowngradedComponent = downgradeComponent({\n component: LoadingComponent\n});\nexport const rangeDisplayComponentDowngradedComponent = downgradeComponent({\n component: RangeDisplayComponent\n});\nexport const helpComponentDowngradedComponent = downgradeComponent({ component: HelpComponent });\nexport const highlightComponentDowngradedComponent = downgradeComponent({\n component: HighlightComponent,\n inputs: ['pattern', 'text']\n});\nexport const emptyStateComponentDowngradedComponent = downgradeComponent({\n component: EmptyStateComponent\n});\nexport const datapointSelectionListComponentDowngradedComponent = downgradeComponent({\n component: DatapointSelectionListComponent\n});\n\nexport const paginationComponentDowngradedComponent = downgradeComponent({\n component: PaginationComponent\n});\nexport const rolesAssetTreeComponentDowngradedComponent = downgradeComponent({\n component: RolesAssetTreeComponent\n});\nexport const passwordInputComponentDowngradedComponent = downgradeComponent({\n component: PasswordInputComponent\n});\nexport const platformConfigurationFormDowngradedComponent = downgradeComponent({\n component: PlatformConfigurationFormComponent\n});\nexport const widgetPreviewWrapperDowngradedComponent = downgradeComponent({\n component: WidgetPreviewWrapperComponent\n});\n","import { Injectable, Inject } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { HOOK_PATTERN_MESSAGES } from '@c8y/ngx-components';\n\n@Injectable()\nexport class ServerMessagesService {\n MESSAGE_PATTERNS: any;\n constructor(private translateService: TranslateService, @Inject(HOOK_PATTERN_MESSAGES) patterns) {\n this.MESSAGE_PATTERNS = patterns;\n }\n\n translate(s: string) {\n return this.translateService.instant(s);\n }\n}\n","import { downgradeInjectable } from '@angular/upgrade/static';\nimport {\n AlertService,\n AppStateService,\n AssetLinkPipe,\n CachedLocaleDictionaryService,\n DateFormatService,\n DocsService,\n FeatureCacheService,\n FilesService,\n GainsightService,\n GlobalConfigService,\n HeaderService,\n ModalService,\n PasswordService,\n PropertyValueTransformService,\n ServiceRegistry,\n UserMenuService\n} from '@c8y/ngx-components';\nimport { ApiService } from '@c8y/ngx-components/api';\nimport { DeviceGridService } from '@c8y/ngx-components/device-grid';\nimport { DeviceTypeDetailEditedService } from '@c8y/ngx-components/device-protocols';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AbsoluteDateService } from '../absolute-date.service';\nimport { AuthBridgeService } from '../auth-bridge.service';\nimport { BridgeService } from '../bridge.service';\nimport { ServerMessagesService } from './serverMessages.service';\nimport { DatapointSelectorService } from '@c8y/ngx-components/datapoint-selector';\n\nexport const absoluteDateServiceDowngradedInjectable = downgradeInjectable(AbsoluteDateService);\nexport const bridgeServiceDowngradedInjectable = downgradeInjectable(BridgeService);\nexport const authBridgeServiceDowngradedInjectable = downgradeInjectable(AuthBridgeService);\nexport const appStateServiceDowngradedInjectable = downgradeInjectable(AppStateService);\nexport const headerServiceDowngradedInjectable = downgradeInjectable(HeaderService);\nexport const alertsServiceDowngradedInjectable = downgradeInjectable(AlertService);\nexport const userMenuServiceDowngradedInjectable = downgradeInjectable(UserMenuService);\nexport const apiServiceDowngradedInjectable = downgradeInjectable(ApiService);\nexport const docsServiceDowngradedInjectable = downgradeInjectable(DocsService);\nexport const passwordServiceDowngradedInjectable = downgradeInjectable(PasswordService);\nexport const translateServiceDowngradedInjectable = downgradeInjectable(TranslateService);\nexport const cachedLocaleDictionaryServiceDowngradedInjectable = downgradeInjectable(\n CachedLocaleDictionaryService\n);\nexport const globalConfigServiceDowngradedInjectable = downgradeInjectable(GlobalConfigService);\nexport const serverMessagesServiceDowngradedInjectable = downgradeInjectable(ServerMessagesService);\nexport const modalServiceDowngradedInjectable = downgradeInjectable(ModalService);\nexport const gainsightServiceDowngradedInjectable = downgradeInjectable(GainsightService);\nexport const filesServiceDowngradedInjectable = downgradeInjectable(FilesService);\nexport const deviceTypeDetailEditedServiceDowngradedInjectable = downgradeInjectable(\n DeviceTypeDetailEditedService\n);\nexport const deviceGridServiceDowngradedInjectable = downgradeInjectable(DeviceGridService);\nexport const serviceRegistryInjectable = downgradeInjectable(ServiceRegistry);\nexport const assetLinkPipeDowngradedInjectable = downgradeInjectable(AssetLinkPipe);\nexport const propertyValueTransformServiceDowngradedInjectable = downgradeInjectable(\n PropertyValueTransformService\n);\nexport const featureCacheServiceDowngradedInjectable = downgradeInjectable(FeatureCacheService);\nexport const datapointSelectorServiceDowngradedInjectable =\n downgradeInjectable(DatapointSelectorService);\nexport const dateFormatServiceInjectable = downgradeInjectable(DateFormatService);\n","import * as angular from 'angular';\n\nfunction gettextCatalogDecorator($delegate, $interpolate, c8yTranslate) {\n 'ngInject';\n\n const gettextCatalog = $delegate;\n const originalGetString = angular.bind(gettextCatalog, gettextCatalog.getString);\n\n function newGetString(input, scope, context) {\n if (typeof input === 'string') {\n const translatedString = originalGetString(input, scope, context);\n const interpolatedString = scope ? $interpolate(input)(scope) : input;\n\n let stringToReturn = translatedString;\n\n if (translatedString && translatedString === interpolatedString) {\n const translatedServerMessage = c8yTranslate.instant(interpolatedString);\n stringToReturn = translatedServerMessage;\n }\n\n return stringToReturn;\n }\n\n return input;\n }\n\n gettextCatalog.getString = newGetString;\n\n return gettextCatalog;\n}\n\nexport { gettextCatalogDecorator };\n","function groupTypesHierarchyNavigatorDecorator($delegate, $q) {\n 'ngInject';\n $delegate.loadAll = () => $q.when();\n $delegate.addGroupNavigation = () => $q.when();\n return $delegate;\n}\n\nexport { groupTypesHierarchyNavigatorDecorator };\n","function c8yNg1HttpInterceptor($q, c8yLoadingIndicator, c8yApiService) {\r\n 'ngInject';\r\n\r\n function request(config) {\r\n const { url, method } = config;\r\n c8yApiService.onStart({ url, method, options: config });\r\n return config;\r\n }\r\n\r\n function requestError(rejection) {\r\n finishRequest(rejection);\r\n return $q.reject(rejection);\r\n }\r\n\r\n function response(res) {\r\n finishRequest(res);\r\n return res;\r\n }\r\n\r\n function responseError(rejection) {\r\n finishRequest(rejection);\r\n c8yLoadingIndicator.responseError(rejection);\r\n return $q.reject(rejection);\r\n }\r\n\r\n function finishRequest(res) {\r\n const { url, method } = res.config;\r\n c8yApiService.onFinish({\r\n url,\r\n method,\r\n response: res,\r\n options: res.config\r\n });\r\n }\r\n\r\n return {\r\n request,\r\n requestError,\r\n response,\r\n responseError\r\n };\r\n}\r\n\r\nexport { c8yNg1HttpInterceptor };\r\n","import { NavigatorNodeRoot, NavigatorNode } from '@c8y/ngx-components';\nimport { assign } from 'lodash-es';\n\nexport class NavigatorNodeRootLegacy extends NavigatorNodeRoot {\n addRoot(nodeData): NavigatorNode {\n let duplicate;\n if (nodeData.path === '') {\n nodeData.path = '/';\n }\n nodeData.label = nodeData.name;\n if (typeof nodeData.parent === 'object') {\n nodeData.parent.label = nodeData.parent.name;\n }\n\n if (nodeData.preventDuplicates) {\n duplicate = this.find(({ path, parents, label }) => {\n return (\n path === nodeData.path &&\n label === nodeData.label &&\n parents.some(p => p.label === nodeData.parent)\n );\n });\n if (duplicate) {\n duplicate.routerLinkExact = false;\n }\n }\n\n return duplicate || super.addRoot(nodeData);\n }\n\n createNode(node) {\n const newNode = super.createNode(node);\n const update = newNode.update.bind(newNode);\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const root = this;\n return Object.defineProperties(\n assign(newNode, {\n realName: (newNode as any).name || newNode.label,\n _parent: true, // just use it to detect if it has been deleted\n update(data) {\n if (this._parent === undefined) {\n // _parent was deleted somene instead to put this in root\n root.addRoot(this);\n // put it back so it can be deleted again\n this._parent = true;\n }\n update(data);\n },\n addChild(nodeChild) {\n this.add(root.createNode(nodeChild));\n }\n }),\n {\n label: {\n get() {\n return this.realName || '';\n },\n set(name) {\n this.realName = name;\n }\n },\n name: {\n get() {\n return this.realName || '';\n },\n set(name) {\n this.realName = name;\n }\n },\n show: {\n get() {\n return !this.hidden;\n },\n set(show) {\n this.hidden = !show;\n },\n configurable: true\n }\n }\n );\n }\n}\n","import { NavigatorNode } from '@c8y/ngx-components';\nimport { Observable, Subject, defer, of } from 'rxjs';\nimport { merge } from 'rxjs/operators';\nimport { pick, map, property, some, every } from 'lodash-es';\nimport { NavigatorNodeRootLegacy } from './navigator-node-root-legacy';\n\n// Just to hook into the bridge service\nexport function c8yNavigatorProvider() {\n const root = new NavigatorNodeRootLegacy();\n const rootNodesSubject: Subject<NavigatorNode[]> = new Subject();\n const conditionalNodes = [];\n const rootNodes$: Observable<NavigatorNode[]> = rootNodesSubject.pipe(\n merge(defer(() => of(root.children)))\n );\n\n function addNavigation(nodes) {\n const nodeList = Array.isArray(nodes) ? nodes : [nodes];\n nodeList.forEach(node => {\n if (isConditional(node)) {\n node.hidden = undefined;\n conditionalNodes.push(node);\n }\n node.navNode = root.addRoot(node);\n });\n rootNodesSubject.next(root.children);\n }\n\n function removeNavigation(node) {\n const found = root.find(n => n === node);\n if (found) {\n found.parents.forEach(p => p.remove(found));\n rootNodesSubject.next(root.children);\n }\n }\n\n function findNode(node) {\n return root.find(node);\n }\n\n function isConditional(node) {\n return node.showIf || node.showIfPermissions || node.showIfContainsVisibleViews;\n }\n\n function $get($q, $injector) {\n 'ngInject';\n\n // This avoids the circular dependency\n setTimeout(() => conditionalNodes.forEach(processShowIf));\n\n function processShowIf(node) {\n const c8yUiUtil = $injector.get('c8yUiUtil');\n const visibilityPromises = [];\n const { showIf, showIfPermissions, showIfContainsVisibleViews } = node;\n\n if (showIf) {\n visibilityPromises.push($injector.invoke(showIf));\n }\n if (showIfContainsVisibleViews) {\n visibilityPromises.push(viewsConditionalVisibility(node));\n }\n\n c8yUiUtil\n .configureVisibility(\n {\n showIf: () => $q.all(visibilityPromises).then(every),\n showIfPermissions\n },\n 'visible'\n )\n .then(({ visible }) => {\n if (visible) {\n node.navNode.update({\n hidden: false,\n showIf: null,\n showIfPermission: null,\n showIfContainsVisibleViews: null\n });\n } else {\n node.navNode.update({\n hidden: true\n });\n }\n });\n }\n\n function viewsConditionalVisibility(node) {\n const c8yUiUtil = $injector.get('c8yUiUtil');\n const c8yViews = $injector.get('c8yViews');\n const views = c8yViews.getByPath(node.path);\n return $q\n .all(\n map(views, view =>\n c8yUiUtil\n .configureVisibility(pick(view, ['showIf', 'showIfPermissions']), 'show', false)\n .then(property('show'))\n )\n )\n .then(some);\n }\n\n return {\n rootNodes() {\n return root.children;\n },\n findNode,\n addNavigation,\n removeNavigation,\n rootNodes$\n };\n }\n\n return {\n $get,\n addNavigation,\n removeNavigation\n };\n}\n","const rootComponent = {\n template: `\n <c8y-bootstrap>\n <div id=\"c8y-legacy-view\">\n <div ng-view ng-if=\"vm.widthSet && vm.authState.hasAuth\"></div>\n </div>\n </c8y-bootstrap>`,\n controller: c8yUiRootController,\n controllerAs: 'vm'\n};\n\nfunction c8yUiRootController(\n $rootScope,\n $timeout,\n c8yBase,\n c8yNavigator,\n c8yApplication,\n c8yHeaderService\n) {\n 'ngInject';\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const vm = this;\n\n Object.assign(vm, {\n $onInit,\n navOpen: false\n });\n\n ////////////\n\n function $onInit() {\n c8yHeaderService\n .map(states => states.nav.open)\n .subscribe(isOpen => {\n vm.navOpen = isOpen;\n });\n c8yHeaderService.configNavigator({ canToggle: true });\n $rootScope.$on('authStateChange', onAuthStateChange);\n vm.rootNodes = c8yNavigator.rootNodes;\n c8yApplication.currentAppCached().then(onAppInfo);\n vm.navHiddenOnStartup = c8yBase.appOption('hide_navigator');\n checkReady();\n }\n\n function onAuthStateChange(evt, data) {\n vm.authState = data;\n }\n\n function onAppInfo() {\n vm.tabsHorizontal = c8yBase.appOption('tabsHorizontal');\n }\n\n function checkReady() {\n const element = document.querySelector('#c8y-legacy-view');\n const hasWidth = element && element.clientWidth;\n if (hasWidth) {\n vm.widthSet = true;\n } else {\n $timeout(checkReady);\n }\n }\n}\nexport { rootComponent };\n","import * as angular from 'angular';\n\nfunction c8yTitleDecorator(\n $q,\n $delegate,\n $injector,\n $rootScope,\n $location,\n $templateCache,\n $compile,\n c8yHeaderService\n) {\n 'ngInject';\n\n $delegate.changeTitle = changeTitle;\n $delegate.setTitleElement = setTitleElement;\n\n $rootScope.$on('$routeChangeStart', () => {\n changeTitle({});\n });\n\n $rootScope.$on('$routeChangeSuccess', event => {\n resolveTitle(event);\n });\n\n $rootScope.$on('$routeUpdate', event => {\n resolveTitle(event);\n });\n\n function resolveTitle(event: any) {\n const title = $delegate.get($location.path());\n if (title) {\n const titleData = $q.when(title.data ? $injector.invoke(title.data) : {});\n titleData.then(data => {\n const { templateUrl } = data;\n if (templateUrl) {\n const template = $templateCache.get(templateUrl);\n setTitleElement($compile(template)(event.targetScope));\n } else {\n changeTitle(data);\n }\n });\n }\n }\n\n function changeTitle(\n newTitleSubtitleObjOrPromise,\n options = { skipTitleTranslation: false, skipSubtitleTranslation: false }\n ) {\n $q.when(newTitleSubtitleObjOrPromise).then(newTitleSubtitleObj =>\n changeTitleInAngular(translate(newTitleSubtitleObj, options))\n );\n }\n\n function translate(\n { title = '', subtitle = '' },\n { skipTitleTranslation = false, skipSubtitleTranslation = false }\n ) {\n const titleTemplate = skipTitleTranslation ? '{{ title }}' : '{{ title | translate }}';\n const subtitleTemplate = skipSubtitleTranslation\n ? '{{ subtitle }}'\n : '{{ subtitle | translate }}';\n const template = `\n <h1 class=\"text-truncate\">${titleTemplate}\n <small>${subtitleTemplate}</small></h1>\n `;\n\n const isolatedScope = $rootScope.$new(true);\n isolatedScope.title = title;\n isolatedScope.subtitle = subtitle;\n\n return $compile(angular.element(template))(isolatedScope)[0];\n }\n\n function changeTitleInAngular(domElement) {\n c8yHeaderService.changeTitle(domElement);\n }\n\n function setTitleElement($element) {\n $element.show();\n changeTitleInAngular($element[0]);\n }\n\n return $delegate;\n}\n\nexport { c8yTitleDecorator };\n","import { NgZone } from '@angular/core';\nimport { downgradeInjectable } from '@angular/upgrade/static';\nimport { QueriesUtil } from '@c8y/client';\nimport * as angular from 'angular';\nimport { c8yAlertDecorator } from './alert.decorator';\nimport {\n appLogsAutoRefreshComponentDowngradedComponent,\n bootstrapComponentDowngradedComponent,\n dataGridComponentDowngradedComponent,\n datapointSelectionListComponentDowngradedComponent,\n emptyStateComponentDowngradedComponent,\n helpComponentDowngradedComponent,\n highlightComponentDowngradedComponent,\n loadingComponentDowngradedComponent,\n paginationComponentDowngradedComponent,\n passwordInputComponentDowngradedComponent,\n platformConfigurationFormDowngradedComponent,\n rangeDisplayComponentDowngradedComponent,\n rolesAssetTreeComponentDowngradedComponent,\n userTotpComponentDowngradedComponent,\n widgetPreviewWrapperDowngradedComponent\n} from './downgraded.components';\nimport {\n absoluteDateServiceDowngradedInjectable,\n alertsServiceDowngradedInjectable,\n apiServiceDowngradedInjectable,\n appStateServiceDowngradedInjectable,\n assetLinkPipeDowngradedInjectable,\n authBridgeServiceDowngradedInjectable,\n bridgeServiceDowngradedInjectable,\n cachedLocaleDictionaryServiceDowngradedInjectable,\n datapointSelectorServiceDowngradedInjectable,\n dateFormatServiceInjectable,\n deviceGridServiceDowngradedInjectable,\n deviceTypeDetailEditedServiceDowngradedInjectable,\n docsServiceDowngradedInjectable,\n featureCacheServiceDowngradedInjectable,\n filesServiceDowngradedInjectable,\n gainsightServiceDowngradedInjectable,\n globalConfigServiceDowngradedInjectable,\n headerServiceDowngradedInjectable,\n modalServiceDowngradedInjectable,\n passwordServiceDowngradedInjectable,\n propertyValueTransformServiceDowngradedInjectable,\n serverMessagesServiceDowngradedInjectable,\n serviceRegistryInjectable,\n translateServiceDowngradedInjectable,\n userMenuServiceDowngradedInjectable\n} from './downgraded.services';\nimport { gettextCatalogDecorator } from './gettextCatalog.decorator';\nimport { groupTypesHierarchyNavigatorDecorator } from './groupsHierarchyNavigator.decorator';\nimport { c8yNg1HttpInterceptor } from './http.interceptor';\nimport { c8yNavigatorProvider } from './navigator.provider';\nimport { rootComponent } from './root.component';\nimport { c8yTitleDecorator } from './title.decorator';\nimport { c8yViewsProvider } from './views.provider';\n\nconst NAME_UPGRADE = 'c8y.upgrade';\n(window as any).preventNg1Bootstrap = true;\n\nangular\n .module(NAME_UPGRADE, [])\n // tslint:disable-next-line:only-arrow-functions\n .config(function ($httpProvider) {\n 'ngInject';\n\n const ng1InterceptorIndex = $httpProvider.interceptors.indexOf('c8yLoadingIndicator');\n if (ng1InterceptorIndex > -1) {\n $httpProvider.interceptors.splice(ng1InterceptorIndex, 1);\n }\n $httpProvider.interceptors.push(c8yNg1HttpInterceptor);\n })\n .component('c8yUiRoot', rootComponent)\n .directive('c8yBootstrap', bootstrapComponentDowngradedComponent)\n .factory('c8yBridgeService', bridgeServiceDowngradedInjectable)\n .factory('c8yAuthBridgeService', authBridgeServiceDowngradedInjectable)\n .factory('c8yAppStateService', appStateServiceDowngradedInjectable)\n .factory('c8yDateFormatService', dateFormatServiceInjectable)\n .factory('c8yHeaderService', headerServiceDowngradedInjectable)\n .factory('c8yUserMenuService', userMenuServiceDowngradedInjectable)\n // tslint:disable-next-line:only-arrow-functions\n .service('c8yQueriesUtil', function () {\n return new QueriesUtil();\n })\n .factory('c8yAlert', alertsServiceDowngradedInjectable)\n .decorator('c8yAlert', c8yAlertDecorator)\n .decorator('groupTypesHierarchyNavigator', groupTypesHierarchyNavigatorDecorator) // prevents loading the groups\n .factory('c8yApiService', apiServiceDowngradedInjectable)\n .factory('c8yDocs', docsServiceDowngradedInjectable)\n .service('c8yPasswordConfirm', passwordServiceDowngradedInjectable)\n .service('c8yModalService', modalServiceDowngradedInjectable)\n .service('c8yGainsightService', gainsightServiceDowngradedInjectable)\n .service('c8yFilesService', filesServiceDowngradedInjectable)\n .service('c8yGlobalConfigService', globalConfigServiceDowngradedInjectable)\n .service('c8yPropertyValueTransformService', propertyValueTransformServiceDowngradedInjectable)\n .service('c8yFeatureCacheService', featureCacheServiceDowngradedInjectable)\n .service('c8yDatapointSelectorService', datapointSelectorServiceDowngradedInjectable);\n\nangular\n .module('c8y.ui')\n .filter('absoluteDate', absoluteDateServiceDowngradedInjectable as any)\n .directive('c8yLoading', loadingComponentDowngradedComponent)\n .provider('c8yNavigator', c8yNavigatorProvider)\n .provider('c8yViews', c8yViewsProvider)\n .directive('c8yUserTotpRevoke', userTotpComponentDowngradedComponent)\n .directive('c8yAppLogsAutoRefresh', appLogsAutoRefreshComponentDowngradedComponent)\n .directive('c8yDataGrid', dataGridComponentDowngradedComponent)\n .directive('c8yRangeDisplay', rangeDisplayComponentDowngradedComponent)\n .directive('c8yHelp', helpComponentDowngradedComponent)\n .directive('c8yUiEmptyState', emptyStateComponentDowngradedComponent)\n .directive('c8yDatapointSelectionList', datapointSelectionListComponentDowngradedComponent)\n .directive('c8yHighlight', highlightComponentDowngradedComponent)\n .directive('c8yPasswordInput', passwordInputComponentDowngradedComponent)\n .directive('pagination', paginationComponentDowngradedComponent)\n .directive('c8yRolesAssetTreeDowngraded', rolesAssetTreeComponentDowngradedComponent)\n .directive('c8yPlatformConfigurationForm', platformConfigurationFormDowngradedComponent)\n .directive('c8yWidgetPreviewWrapper', widgetPreviewWrapperDowngradedComponent)\n .factory('c8yTranslate', translateServiceDowngradedInjectable)\n .factory('c8yCachedLocaleDictionaryService', cachedLocaleDictionaryServiceDowngradedInjectable)\n .decorator('gettextCatalog', gettextCatalogDecorator)\n .factory('c8yServerMessages', serverMessagesServiceDowngradedInjectable)\n .factory('ngZone', downgradeInjectable(NgZone))\n .factory('c8yDeviceTypeDetailEdited', deviceTypeDetailEditedServiceDowngradedInjectable)\n .factory('c8yDeviceGridService', deviceGridServiceDowngradedInjectable)\n .factory('c8yServiceRegistry', serviceRegistryInjectable)\n .factory('assetLink', assetLinkPipeDowngradedInjectable);\n\nangular\n .module('c8y.ui')\n .decorator('c8yTitle', c8yTitleDecorator)\n .run([\n 'c8yTitle',\n function () {\n // needed to inject c8yTitle with decorator applied to it, to ensure displaying ng1 titles\n }\n ]);\n\nexport const ng1ModulesUpgrade = ['app', NAME_UPGRADE];\n","import { UpgradeModule as NgUpgradeModule } from '@angular/upgrade/static';\nimport { ng1ModulesUpgrade } from './ng1';\n\nexport abstract class HybridAppModule {\n ng1Modules = ng1ModulesUpgrade;\n protected upgrade: NgUpgradeModule;\n\n ngDoBootstrap() {\n (window as any).bootstrap();\n this.upgrade.bootstrap(document.getElementById('app'), this.ng1Modules, { strictDi: false });\n }\n}\n","import { EmptyComponent } from '@c8y/ngx-components';\n\nexport const UPGRADE_ROUTES = [{ path: '**', component: EmptyComponent }];\n","import { Injectable, NgZone, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { getActivatedRoute } from '@c8y/ngx-components';\nimport {\n ContextDashboardService,\n ContextWidgetConfig\n} from '@c8y/ngx-components/context-dashboard';\nimport { get } from 'lodash-es';\n\n@Injectable({ providedIn: 'root' })\nexport class DashboardBridgeService {\n dashboardSvc;\n compile;\n dashboardClipboard;\n\n private ng1Injector: any = inject('$injector' as any);\n private zone = inject(NgZone);\n private router = inject(Router);\n private contextDashboardService = inject(ContextDashboardService, { optional: true });\n\n constructor() {\n this.dashboardSvc = this.ng1Injector.get('dashboardSvc');\n this.compile = this.ng1Injector.get('$compile');\n }\n\n get ng1Components() {\n return this.ng1Injector.get('c8yComponents');\n }\n\n async instantiateComponent(widget, element) {\n const { dashboard, context, child } = widget;\n if (dashboard) {\n const transformedChild = await this.dashboardSvc.transformChildWithContext(\n this.dashboardSvc.forcedContext || context,\n dashboard,\n child\n );\n if (this.dashboardSvc.forcedContext || dashboard.deviceType || dashboard.updateTarget) {\n await this.dashboardSvc.updateConfigTargetsWithContext(\n this.dashboardSvc.forcedContext || context,\n transformedChild.config\n );\n }\n return this.zone.runOutsideAngular(() =>\n this.loadTemplate(transformedChild, child, element, context)\n );\n } else {\n return this.loadConfigTemplate(element, widget);\n }\n }\n\n instantiateDeviceSelector(element, widgetConfig: ContextWidgetConfig) {\n return this.loadConfigTemplate(element, widgetConfig, true);\n }\n\n private loadTemplate(transformedChild, child, element, context) {\n const scope = this.ng1Injector.get('$rootScope').$new(true);\n scope.child = transformedChild;\n scope.dashboardContext = context;\n if (child.widgetComponent) {\n element.innerHTML = `<c8y-ui-component component-name=\"'${child.widgetComponent}'\" config=\"child.config\" context=\"dashboardContext\"></c8y-ui-component>`;\n } else if (child.templateUrl) {\n element.innerHTML = `<ng-include src=\"'${child.templateUrl}'\"></ng-include>`;\n }\n this.compile(element)(scope);\n return scope;\n }\n\n private getDashboard() {\n return getActivatedRoute(this.router).snapshot.data.dashboard;\n }\n\n private loadConfigTemplate(\n element,\n widgetConfig: ContextWidgetConfig,\n onlyDeviceSelector = false\n ) {\n const { settings } = widgetConfig;\n const scope = this.ng1Injector.get('$rootScope').$new(true);\n\n scope.settings = { ...settings, ...settings.ng1 };\n scope.options = widgetConfig.options;\n scope.config = widgetConfig;\n scope.forms = {};\n scope.rootId = settings.context.id;\n scope.dashboard = get(widgetConfig, 'settings.dashboardMo');\n\n let configCmp = '';\n if (!onlyDeviceSelector) {\n if (widgetConfig.settings.configComponent) {\n configCmp = `<c8y-ui-component component-name=\"'${widgetConfig.settings.configComponent}'\" config=\"config\"></c8y-ui-component>`;\n } else if (widgetConfig.settings.configTemplateUrl) {\n configCmp = `<ng-include src=\"'${widgetConfig.settings.configTemplateUrl}'\"></ng-include>`;\n }\n }\n\n element.innerHTML = `\n <ng-form name=\"forms.componentForm\">\n <div class=\"form-group m-0\"\n ng-if=\"!settings.noDeviceTarget\"\n ng-style=\"{height: settings.hideTarget && '0', overflow: 'hidden'}\"\n >\n </div>\n ${configCmp}\n </ng-form>`;\n\n scope.$watch('forms.componentForm.$invalid', formStatus => {\n this.contextDashboardService.formDisabled = formStatus;\n });\n this.compile(element)(scope);\n this.contextDashboardService.formDisabled = scope.forms.componentForm.$invalid;\n\n return scope;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n OnInit,\n OnDestroy,\n Optional\n} from '@angular/core';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\nimport { OnBeforeSave, WidgetsDashboardComponent } from '@c8y/ngx-components';\nimport { debounceTime, merge, Subscription } from 'rxjs';\n\n@Component({\n selector: 'c8y-widget-legacy',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetComponent implements OnInit, OnDestroy, OnBeforeSave {\n ng1Scope;\n config;\n alerts;\n private resizeSubscription?: Subscription;\n private readonly DEBOUNCE_TIME_UNTIL_WIDGET_HAS_SNAPPED = 400;\n\n constructor(\n @Optional() private dashboard: WidgetsDashboardComponent,\n private dashboardBridgeService: DashboardBridgeService,\n private el: ElementRef\n ) {}\n\n onBeforeSave(): boolean {\n this.ng1Scope.$broadcast('saveWidget');\n return true;\n }\n\n async ngOnInit() {\n if (this.config) {\n if (this.config.child) {\n this.config.child.alerts = this.alerts;\n }\n this.ng1Scope = await this.dashboardBridgeService.instantiateComponent(\n this.config,\n this.el.nativeElement\n );\n if (this.dashboard) {\n this.resizeSubscription = merge(this.dashboard.onChangeDashboard, this.dashboard.onResize)\n .pipe(debounceTime(this.DEBOUNCE_TIME_UNTIL_WIDGET_HAS_SNAPPED))\n .subscribe(() => {\n this.ng1Scope.$broadcast('dashboardResize');\n });\n }\n }\n }\n\n ngOnDestroy(): void {\n if (this.ng1Scope) {\n this.ng1Scope.$destroy();\n }\n if (this.resizeSubscription) {\n this.resizeSubscription.unsubscribe();\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, OnDestroy } from '@angular/core';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\n\n@Component({\n selector: 'c8y-device-selector-legacy',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LegacyDeviceSelectorComponent implements OnInit, OnDestroy {\n ng1Scope;\n config;\n\n constructor(\n private dashboardBridgeService: DashboardBridgeService,\n private el: ElementRef\n ) {}\n\n async ngOnInit() {\n this.ng1Scope = this.dashboardBridgeService.instantiateDeviceSelector(\n this.el.nativeElement,\n this.config\n );\n }\n\n ngOnDestroy(): void {\n if (this.ng1Scope) {\n this.ng1Scope.$destroy();\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n DynamicComponentDefinition,\n DynamicDatapointsResolver,\n DynamicManagedObjectResolver\n} from '@c8y/ngx-components';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\nimport { WidgetComponent } from './widget.component';\nimport { LegacyDeviceSelectorComponent } from './device-selector.component';\nimport { of, Observable } from 'rxjs';\nimport { shareReplay, switchMap, take } from 'rxjs/operators';\n\n@Injectable()\nexport class Ng1ComponentFactoryService {\n private components$: Observable<DynamicComponentDefinition[]>;\n constructor(private bridge: DashboardBridgeService) {\n this.components$ = of(1).pipe(\n switchMap(() => this.getComponents()),\n shareReplay(1),\n take(1)\n );\n }\n\n get() {\n return this.components$;\n }\n\n private async getComponents(): Promise<DynamicComponentDefinition[]> {\n const ng1Components = await this.bridge.ng1Components.list();\n const components: DynamicComponentDefinition[] = ng1Components.map(cmp => {\n const resolve = {};\n if (cmp.options?.datapointAttributes && Array.isArray(cmp.options?.datapointAttributes)) {\n cmp.options?.datapointAttributes.forEach(\n attribute => (resolve[attribute] = DynamicDatapointsResolver as any)\n );\n }\n if (\n cmp.options?.managedObjectAttributes &&\n Array.isArray(cmp.options?.managedObjectAttributes)\n ) {\n cmp.options?.managedObjectAttributes.forEach(\n attribute => (resolve[attribute] = DynamicManagedObjectResolver as any)\n );\n }\n const data = {\n settings: {\n ...cmp.options,\n configTemplateUrl: cmp.configTemplateUrl,\n widgetComponent: cmp.widgetComponent,\n configComponent: cmp.configComponent,\n transformConfigWithContext:\n cmp.transformConfigWithContext || cmp.componentTransformConfigWithContext,\n upgrade: true\n }\n } as any;\n data.settings.templateUrl = cmp.templateUrl; // workaround as in object it creates build error\n data.displaySettings = cmp.displaySettings;\n\n return {\n id: cmp.name,\n label: cmp.nameDisplay || cmp.name,\n description: cmp.description,\n component: WidgetComponent,\n configComponent: WidgetComponent,\n previewImage: cmp.previewImage,\n errorStrategy: cmp.errorStrategy,\n resolve,\n data\n } as DynamicComponentDefinition;\n });\n\n // add the device selector legacy component\n components.push({\n id: 'device.selector.legacy',\n label: 'Device selector',\n description: '',\n data: { settings: { noNewWidgets: true, upgrade: true } },\n component: LegacyDeviceSelectorComponent\n });\n\n return components;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { Ng1ComponentFactoryService } from './component.factory';\nimport { WidgetComponent } from './widget.component';\nimport { LegacyDeviceSelectorComponent } from './device-selector.component';\nimport { C8yTranslateModule, hookComponent } from '@c8y/ngx-components';\nimport { AssetSelectorModule } from '@c8y/ngx-components/assets-navigator';\n\n@NgModule({\n imports: [\n CommonModule,\n C8yTranslateModule,\n AssetSelectorModule,\n LegacyDeviceSelectorComponent,\n WidgetComponent\n ],\n providers: [hookComponent(Ng1ComponentFactoryService)]\n})\nexport class DashboardUpgradeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map","i1.BridgeService","merge","debounceTime","i1","i2.DashboardBridgeService","i1.DashboardBridgeService"],"mappings":"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"}
|