@c8y/ngx-components 1023.76.0 → 1023.78.1
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/cockpit/index.d.ts.map +1 -1
- package/alarms/devicemanagement/index.d.ts.map +1 -1
- package/alarms/index.d.ts +2 -25
- package/alarms/index.d.ts.map +1 -1
- package/asset-properties/index.d.ts +63 -0
- package/asset-properties/index.d.ts.map +1 -1
- package/assets-navigator/index.d.ts +4 -0
- package/assets-navigator/index.d.ts.map +1 -1
- package/exports/list/index.d.ts +7 -4
- package/exports/list/index.d.ts.map +1 -1
- package/fesm2022/c8y-ngx-components-actility-device-registration.mjs +16 -16
- package/fesm2022/c8y-ngx-components-advanced-software-management.mjs +7 -7
- package/fesm2022/c8y-ngx-components-ai-agent-chat.mjs +12 -12
- package/fesm2022/c8y-ngx-components-ai-ai-chat.mjs +21 -21
- package/fesm2022/c8y-ngx-components-ai.mjs +3 -3
- package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +40 -40
- package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs +15 -10
- package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-alarms-devicemanagement.mjs +11 -37
- package/fesm2022/c8y-ngx-components-alarms-devicemanagement.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-alarms.mjs +91 -132
- package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-api.mjs +7 -7
- package/fesm2022/c8y-ngx-components-app-logs.mjs +10 -10
- package/fesm2022/c8y-ngx-components-application-access-list.mjs +12 -12
- package/fesm2022/c8y-ngx-components-application-access-user-application-access-user-details-wrapper.mjs +3 -3
- package/fesm2022/c8y-ngx-components-asset-properties.mjs +223 -69
- package/fesm2022/c8y-ngx-components-asset-properties.mjs.map +1 -1
- package/fesm2022/{c8y-ngx-components-asset-property-grid.component-CEphJoqx.mjs → c8y-ngx-components-asset-property-grid.component-BJOPTjF1.mjs} +13 -13
- package/fesm2022/{c8y-ngx-components-asset-property-grid.component-CEphJoqx.mjs.map → c8y-ngx-components-asset-property-grid.component-BJOPTjF1.mjs.map} +1 -1
- package/fesm2022/c8y-ngx-components-assets-navigator.mjs +36 -32
- package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs +120 -120
- package/fesm2022/c8y-ngx-components-binary-file-download.mjs +7 -7
- package/fesm2022/c8y-ngx-components-bookmarks.mjs +13 -13
- package/fesm2022/c8y-ngx-components-branding-base-branding.mjs +4 -4
- package/fesm2022/c8y-ngx-components-branding-dark-theme.mjs +7 -7
- package/fesm2022/c8y-ngx-components-branding-extra-css-branding-editor.mjs +7 -7
- package/fesm2022/c8y-ngx-components-branding-plain-branding-editor-lazy.mjs +3 -3
- package/fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs +7 -7
- package/fesm2022/c8y-ngx-components-branding-shared-data.mjs +15 -15
- package/fesm2022/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs +6 -6
- package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +36 -36
- package/fesm2022/c8y-ngx-components-branding-shared.mjs +13 -13
- package/fesm2022/c8y-ngx-components-child-devices.mjs +13 -13
- package/fesm2022/c8y-ngx-components-cockpit-config.mjs +40 -40
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-alarm-count-config.component-DX9Rgjgl.mjs → c8y-ngx-components-computed-asset-properties-alarm-count-config.component-tP8yUdy3.mjs} +4 -4
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-alarm-count-config.component-DX9Rgjgl.mjs.map → c8y-ngx-components-computed-asset-properties-alarm-count-config.component-tP8yUdy3.mjs.map} +1 -1
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-CRpLJ5H7.mjs → c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-wNQ45CJ1.mjs} +11 -11
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-CRpLJ5H7.mjs.map → c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-wNQ45CJ1.mjs.map} +1 -1
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-2rDsrxcs.mjs → c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-BrYcCHYL.mjs} +4 -4
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-2rDsrxcs.mjs.map → c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-BrYcCHYL.mjs.map} +1 -1
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-event-count-config.component-BJNoqWZf.mjs → c8y-ngx-components-computed-asset-properties-event-count-config.component-BBKuA2rZ.mjs} +4 -4
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-event-count-config.component-BJNoqWZf.mjs.map → c8y-ngx-components-computed-asset-properties-event-count-config.component-BBKuA2rZ.mjs.map} +1 -1
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-DYac6foX.mjs → c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-uEdtPWC0.mjs} +5 -5
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-DYac6foX.mjs.map → c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-uEdtPWC0.mjs.map} +1 -1
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-last-measurement-config.component-3yTe6lIr.mjs → c8y-ngx-components-computed-asset-properties-last-measurement-config.component-BGhex-OP.mjs} +5 -5
- package/fesm2022/{c8y-ngx-components-computed-asset-properties-last-measurement-config.component-3yTe6lIr.mjs.map → c8y-ngx-components-computed-asset-properties-last-measurement-config.component-BGhex-OP.mjs.map} +1 -1
- package/fesm2022/c8y-ngx-components-computed-asset-properties.mjs +1 -1
- package/fesm2022/c8y-ngx-components-connectivity.mjs +53 -53
- package/fesm2022/c8y-ngx-components-context-dashboard-asset-add.mjs +10 -10
- package/fesm2022/c8y-ngx-components-context-dashboard-asset-view.mjs +7 -7
- package/fesm2022/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs +11 -11
- package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C7yXSDYC.mjs → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-BkwPfkeK.mjs} +4 -4
- package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C7yXSDYC.mjs.map → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-BkwPfkeK.mjs.map} +1 -1
- package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-w8N16Z3t.mjs → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-4aO0U4qs.mjs} +10 -10
- package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-w8N16Z3t.mjs.map → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-4aO0U4qs.mjs.map} +1 -1
- package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component--1OYYpR2.mjs → c8y-ngx-components-context-dashboard-dashboard-version-history.component-1xx4pGiq.mjs} +4 -4
- package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component--1OYYpR2.mjs.map → c8y-ngx-components-context-dashboard-dashboard-version-history.component-1xx4pGiq.mjs.map} +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard-device-add.mjs +10 -10
- package/fesm2022/c8y-ngx-components-context-dashboard-device-view.mjs +7 -7
- package/fesm2022/c8y-ngx-components-context-dashboard-devicemanagement.mjs +3 -3
- package/fesm2022/c8y-ngx-components-context-dashboard-state.mjs +3 -3
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +108 -108
- package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-DVEnCRzW.mjs → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-DFytXNdc.mjs} +16 -16
- package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-DVEnCRzW.mjs.map → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-DFytXNdc.mjs.map} +1 -1
- package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab.mjs +12 -12
- package/fesm2022/c8y-ngx-components-dashboard-manager-devicemanagement.mjs +6 -6
- package/fesm2022/c8y-ngx-components-dashboard-manager.mjs +22 -22
- package/fesm2022/c8y-ngx-components-data-broker.mjs +7 -7
- package/fesm2022/c8y-ngx-components-data-grid-columns-asset-type.mjs +3 -3
- package/fesm2022/c8y-ngx-components-data-grid-columns.mjs +3 -3
- package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +24 -24
- package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs +13 -13
- package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs +3 -3
- package/fesm2022/c8y-ngx-components-datapoint-library-list.mjs +3 -3
- package/fesm2022/c8y-ngx-components-datapoint-library-services.mjs +3 -3
- package/fesm2022/c8y-ngx-components-datapoint-library.mjs +4 -4
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +43 -43
- package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +36 -36
- package/fesm2022/c8y-ngx-components-default-subscriptions.mjs +16 -16
- package/fesm2022/c8y-ngx-components-device-enrolment-modal.mjs +9 -9
- package/fesm2022/c8y-ngx-components-device-enrolment.mjs +6 -6
- package/fesm2022/c8y-ngx-components-device-grid.mjs +43 -43
- package/fesm2022/c8y-ngx-components-device-list.mjs +22 -22
- package/fesm2022/c8y-ngx-components-device-map.mjs +12 -12
- package/fesm2022/c8y-ngx-components-device-profile.mjs +34 -34
- package/fesm2022/c8y-ngx-components-device-protocol-object-mappings.mjs +3 -3
- package/fesm2022/c8y-ngx-components-device-protocols.mjs +16 -16
- package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +13 -13
- package/fesm2022/c8y-ngx-components-device-shell.mjs +31 -31
- package/fesm2022/c8y-ngx-components-diagnostics.mjs +13 -13
- package/fesm2022/c8y-ngx-components-echart.mjs +32 -32
- package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +43 -43
- package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs +7 -7
- package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs +10 -10
- package/fesm2022/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs +7 -7
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +46 -46
- package/fesm2022/c8y-ngx-components-ecosystem.mjs +82 -82
- package/fesm2022/c8y-ngx-components-editor.mjs +6 -6
- package/fesm2022/c8y-ngx-components-events-events-timeline.mjs +3 -3
- package/fesm2022/c8y-ngx-components-events.mjs +33 -33
- package/fesm2022/c8y-ngx-components-exports-list.mjs +39 -14
- package/fesm2022/c8y-ngx-components-exports-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-feature-toggles-list.mjs +6 -6
- package/fesm2022/c8y-ngx-components-file-preview.mjs +7 -7
- package/fesm2022/c8y-ngx-components-files-repository.mjs +19 -19
- package/fesm2022/c8y-ngx-components-global-context.mjs +170 -130
- package/fesm2022/c8y-ngx-components-global-context.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-group-breadcrumbs.mjs +6 -6
- package/fesm2022/c8y-ngx-components-icon-selector.mjs +19 -19
- package/fesm2022/c8y-ngx-components-interval-picker.mjs +3 -3
- package/fesm2022/c8y-ngx-components-location.mjs +28 -28
- package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs +16 -16
- package/fesm2022/c8y-ngx-components-map.mjs +39 -51
- package/fesm2022/c8y-ngx-components-map.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-messaging-management.mjs +55 -55
- package/fesm2022/c8y-ngx-components-operation-picker.mjs +9 -9
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs +7 -7
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs +19 -19
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +7 -7
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs +13 -13
- package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs +13 -13
- package/fesm2022/c8y-ngx-components-operations-bulk-operations-service.mjs +7 -7
- package/fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs +7 -7
- package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs +3 -3
- package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs +7 -7
- package/fesm2022/c8y-ngx-components-operations-device-selector.mjs +7 -7
- package/fesm2022/c8y-ngx-components-operations-grid-columns.mjs +12 -12
- package/fesm2022/c8y-ngx-components-operations-operation-details.mjs +13 -13
- package/fesm2022/c8y-ngx-components-operations-operation-summary.mjs +7 -7
- package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs +10 -10
- package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +12 -12
- package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs +7 -7
- package/fesm2022/c8y-ngx-components-operations-shared.mjs +10 -10
- package/fesm2022/c8y-ngx-components-operations-status-filter.mjs +7 -7
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +7 -7
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +13 -13
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs +13 -13
- package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +13 -13
- package/fesm2022/c8y-ngx-components-operations-stepper-frames.mjs +13 -13
- package/fesm2022/c8y-ngx-components-operations.mjs +7 -7
- package/fesm2022/c8y-ngx-components-pending-mo-request.mjs +7 -7
- package/fesm2022/c8y-ngx-components-platform-configuration.mjs +10 -10
- package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +38 -38
- package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +58 -58
- package/fesm2022/c8y-ngx-components-register-device.mjs +58 -58
- package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs +9 -9
- package/fesm2022/c8y-ngx-components-remote-access-data.mjs +3 -3
- package/fesm2022/c8y-ngx-components-remote-access-passthrough.mjs +3 -3
- package/fesm2022/c8y-ngx-components-remote-access-shared.mjs +6 -6
- package/fesm2022/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs +3 -3
- package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs +3 -3
- package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs +3 -3
- package/fesm2022/c8y-ngx-components-remote-access-terminal-viewer.mjs +3 -3
- package/fesm2022/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs +3 -3
- package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs +6 -6
- package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs +3 -3
- package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs +6 -6
- package/fesm2022/c8y-ngx-components-replace-device.mjs +10 -10
- package/fesm2022/c8y-ngx-components-report-dashboard.mjs +16 -16
- package/fesm2022/c8y-ngx-components-reports.mjs +19 -19
- package/fesm2022/c8y-ngx-components-repository-configuration.mjs +48 -48
- package/fesm2022/c8y-ngx-components-repository-firmware.mjs +33 -33
- package/fesm2022/c8y-ngx-components-repository-shared.mjs +34 -34
- package/fesm2022/c8y-ngx-components-repository-software.mjs +42 -42
- package/fesm2022/c8y-ngx-components-repository.mjs +4 -4
- package/fesm2022/c8y-ngx-components-search.mjs +19 -19
- package/fesm2022/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs +6 -6
- package/fesm2022/c8y-ngx-components-sensor-phone.mjs +7 -7
- package/fesm2022/c8y-ngx-components-services-service-command-tab.mjs +3 -3
- package/fesm2022/c8y-ngx-components-services-shared.mjs +3 -3
- package/fesm2022/c8y-ngx-components-services.mjs +29 -29
- package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs +16 -16
- package/fesm2022/c8y-ngx-components-sms-gateway.mjs +7 -7
- package/fesm2022/c8y-ngx-components-static-assets-data.mjs +3 -3
- package/fesm2022/c8y-ngx-components-static-assets-modal.mjs +9 -9
- package/fesm2022/c8y-ngx-components-static-assets.mjs +6 -6
- package/fesm2022/c8y-ngx-components-sub-assets.mjs +64 -60
- package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-tenants.mjs +40 -40
- package/fesm2022/c8y-ngx-components-time-context.mjs +6 -6
- package/fesm2022/c8y-ngx-components-tracking.mjs +12 -12
- package/fesm2022/c8y-ngx-components-translation-editor-data.mjs +3 -3
- package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +12 -12
- package/fesm2022/c8y-ngx-components-translation-editor.mjs +6 -6
- package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +33 -33
- package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs +4 -4
- package/fesm2022/c8y-ngx-components-upgrade.mjs +41 -41
- package/fesm2022/c8y-ngx-components-user-roles.mjs +10 -10
- package/fesm2022/c8y-ngx-components-widgets-definitions-asset-table.mjs +6 -6
- package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs +3 -3
- package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs +3 -5
- package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget-ai-config.mjs +3 -3
- package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs +6 -6
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +27 -24
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-asset-notes.mjs +3 -3
- package/fesm2022/c8y-ngx-components-widgets-implementations-asset-table.mjs +111 -40
- package/fesm2022/c8y-ngx-components-widgets-implementations-asset-table.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs +3 -3
- package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs +3 -3
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +13 -11
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-list.mjs +13 -13
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +75 -60
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-device-control-message.mjs +3 -3
- package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs +10 -10
- package/fesm2022/c8y-ngx-components-widgets-implementations-events.mjs +6 -6
- package/fesm2022/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs +3 -3
- package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs +24 -24
- package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs +9 -9
- package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +18 -18
- package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs +6 -6
- package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs +6 -6
- package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +9 -9
- package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs +9 -9
- package/fesm2022/c8y-ngx-components-widgets-implementations-pie-chart.mjs +9 -9
- package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs +18 -18
- package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs +9 -9
- package/fesm2022/c8y-ngx-components.mjs +1398 -1398
- package/global-context/index.d.ts +2 -0
- package/global-context/index.d.ts.map +1 -1
- package/index.d.ts +2 -0
- package/index.d.ts.map +1 -1
- package/locales/de.po +0 -6
- package/locales/es.po +0 -6
- package/locales/fr.po +0 -6
- package/locales/ja_JP.po +0 -6
- package/locales/ko.po +0 -6
- package/locales/locales.pot +3 -6
- package/locales/nl.po +0 -6
- package/locales/pl.po +0 -6
- package/locales/pt_BR.po +0 -6
- package/locales/zh_CN.po +0 -6
- package/locales/zh_TW.po +0 -6
- package/map/index.d.ts +12 -1
- package/map/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/sub-assets/index.d.ts +4 -0
- package/sub-assets/index.d.ts.map +1 -1
- package/widgets/definitions/datapoints-table/index.d.ts +1 -2
- package/widgets/definitions/datapoints-table/index.d.ts.map +1 -1
- package/widgets/implementations/alarms/index.d.ts +2 -0
- package/widgets/implementations/alarms/index.d.ts.map +1 -1
- package/widgets/implementations/datapoints-graph/index.d.ts +1 -0
- package/widgets/implementations/datapoints-graph/index.d.ts.map +1 -1
- package/widgets/implementations/datapoints-table/index.d.ts +16 -8
- package/widgets/implementations/datapoints-table/index.d.ts.map +1 -1
- package/widgets/implementations/html-widget/index.d.ts +2 -0
- package/widgets/implementations/html-widget/index.d.ts.map +1 -1
|
@@ -2,11 +2,12 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Injectable, EventEmitter, Component } from '@angular/core';
|
|
3
3
|
import { gettext } from '@c8y/ngx-components/gettext';
|
|
4
4
|
import * as i3 from '@c8y/ngx-components';
|
|
5
|
-
import { DataGridService, BuiltInActionType, Status, alertOnError, DataGridComponent, TitleComponent, EmptyStateComponent, C8yTranslateDirective, ActionBarItemComponent, IconDirective, HelpComponent, BreadcrumbItemComponent, BreadcrumbComponent, ColumnDirective, CellRendererDefDirective, C8yTranslatePipe, DatePipe } from '@c8y/ngx-components';
|
|
5
|
+
import { DataGridService, BuiltInActionType, Status, Permissions, alertOnError, DataGridComponent, TitleComponent, EmptyStateComponent, C8yTranslateDirective, ActionBarItemComponent, IconDirective, HelpComponent, BreadcrumbItemComponent, BreadcrumbComponent, ColumnDirective, CellRendererDefDirective, C8yTranslatePipe, DatePipe } from '@c8y/ngx-components';
|
|
6
6
|
import * as i1 from '@c8y/client';
|
|
7
7
|
import * as i2 from '@angular/router';
|
|
8
8
|
import * as i4 from '@ngx-translate/core';
|
|
9
9
|
import * as i5 from '@c8y/ngx-components/reports';
|
|
10
|
+
import { TooltipDirective } from 'ngx-bootstrap/tooltip';
|
|
10
11
|
|
|
11
12
|
class ExportsGridService extends DataGridService {
|
|
12
13
|
constructor(inventory, userPreferencesService, fetchClient) {
|
|
@@ -72,10 +73,10 @@ class ExportsGridService extends DataGridService {
|
|
|
72
73
|
const fullQuery = this.queriesUtil.addAndFilter(queryFromColumns, this.baseQuery);
|
|
73
74
|
return this.queriesUtil.buildQuery(fullQuery);
|
|
74
75
|
}
|
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
76
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
76
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ExportsGridService, deps: [{ token: i1.InventoryService }, { token: i3.UserPreferencesService }, { token: i1.FetchClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
77
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ExportsGridService, providedIn: 'root' }); }
|
|
77
78
|
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ExportsGridService, decorators: [{
|
|
79
80
|
type: Injectable,
|
|
80
81
|
args: [{
|
|
81
82
|
providedIn: 'root'
|
|
@@ -83,13 +84,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
83
84
|
}], ctorParameters: () => [{ type: i1.InventoryService }, { type: i3.UserPreferencesService }, { type: i1.FetchClient }] });
|
|
84
85
|
|
|
85
86
|
class ExportsListComponent {
|
|
86
|
-
constructor(exportsGridService, router, modal, translateService, alert, reportsService) {
|
|
87
|
+
constructor(exportsGridService, router, modal, translateService, alert, reportsService, permissions) {
|
|
87
88
|
this.exportsGridService = exportsGridService;
|
|
88
89
|
this.router = router;
|
|
89
90
|
this.modal = modal;
|
|
90
91
|
this.translateService = translateService;
|
|
91
92
|
this.alert = alert;
|
|
92
93
|
this.reportsService = reportsService;
|
|
94
|
+
this.permissions = permissions;
|
|
93
95
|
this.title = gettext('Exports');
|
|
94
96
|
this.loadMoreItemsLabel = gettext('Load more exports');
|
|
95
97
|
this.loadingItemsLabel = gettext('Loading exports…');
|
|
@@ -101,10 +103,21 @@ class ExportsListComponent {
|
|
|
101
103
|
this.actionControls = [
|
|
102
104
|
{
|
|
103
105
|
type: BuiltInActionType.Edit,
|
|
106
|
+
icon: 'pencil',
|
|
104
107
|
text: gettext('Edit'),
|
|
105
108
|
callback: item => {
|
|
106
109
|
this.router.navigate(['export', item.id]);
|
|
107
|
-
}
|
|
110
|
+
},
|
|
111
|
+
showIf: () => this.canManageExports
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'view',
|
|
115
|
+
icon: 'eye',
|
|
116
|
+
text: gettext('View'),
|
|
117
|
+
callback: item => {
|
|
118
|
+
this.router.navigate(['export', item.id]);
|
|
119
|
+
},
|
|
120
|
+
showIf: () => !this.canManageExports
|
|
108
121
|
},
|
|
109
122
|
{
|
|
110
123
|
type: 'duplicate',
|
|
@@ -112,7 +125,8 @@ class ExportsListComponent {
|
|
|
112
125
|
text: gettext('Duplicate'),
|
|
113
126
|
callback: item => {
|
|
114
127
|
this.router.navigate(['export', item.id, 'clone']);
|
|
115
|
-
}
|
|
128
|
+
},
|
|
129
|
+
showIf: () => this.canManageExports
|
|
116
130
|
},
|
|
117
131
|
{
|
|
118
132
|
type: BuiltInActionType.Delete,
|
|
@@ -132,7 +146,8 @@ class ExportsListComponent {
|
|
|
132
146
|
this.alert.warning(gettext(`Failed to delete configuration.`));
|
|
133
147
|
}
|
|
134
148
|
reload();
|
|
135
|
-
}
|
|
149
|
+
},
|
|
150
|
+
showIf: () => this.canManageExports
|
|
136
151
|
}
|
|
137
152
|
];
|
|
138
153
|
this.bulkActionControls = [
|
|
@@ -159,8 +174,17 @@ class ExportsListComponent {
|
|
|
159
174
|
hover: false
|
|
160
175
|
};
|
|
161
176
|
this.refresh = new EventEmitter();
|
|
177
|
+
this.canManageExports = false;
|
|
162
178
|
this.serverSideDataCallback = this.onDataSourceModifier.bind(this);
|
|
163
179
|
}
|
|
180
|
+
ngOnInit() {
|
|
181
|
+
this.canManageExports = this.permissions.hasAnyRole([
|
|
182
|
+
Permissions.ROLE_INVENTORY_CREATE,
|
|
183
|
+
Permissions.ROLE_INVENTORY_ADMIN,
|
|
184
|
+
Permissions.ROLE_MANAGED_OBJECT_ADMIN,
|
|
185
|
+
Permissions.ROLE_MANAGED_OBJECT_CREATE
|
|
186
|
+
]);
|
|
187
|
+
}
|
|
164
188
|
addExport() {
|
|
165
189
|
this.router.navigate(['export', 'new']);
|
|
166
190
|
}
|
|
@@ -176,10 +200,10 @@ class ExportsListComponent {
|
|
|
176
200
|
size
|
|
177
201
|
};
|
|
178
202
|
}
|
|
179
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
180
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
203
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ExportsListComponent, deps: [{ token: ExportsGridService }, { token: i2.Router }, { token: i3.ModalService }, { token: i4.TranslateService }, { token: i3.AlertService }, { token: i5.ReportsService }, { token: i3.Permissions }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
204
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ExportsListComponent, isStandalone: true, selector: "c8y-exports-list", ngImport: i0, template: "<c8y-title>{{ 'Exports' | translate }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-tools'\"\n [label]=\"'Configuration' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-report'\"\n [label]=\"'Exports' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-help [src]=\"'/docs/cockpit/exports/#managing-exports'\"></c8y-help>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n @let addExportLabel = 'Add export' | translate;\n @let insufficientPermissionsText = 'Insufficient permissions for this action.' | translate;\n <button\n class=\"btn btn-link\"\n [tooltip]=\"canManageExports ? addExportLabel : insufficientPermissionsText\"\n placement=\"bottom\"\n container=\"body\"\n data-cy=\"c8y-exports-list--add-export-button\"\n (click)=\"addExport()\"\n [disabled]=\"!canManageExports\"\n >\n <i [c8yIcon]=\"'plus-circle'\"></i>\n <span>{{ addExportLabel }}</span>\n </button>\n</c8y-action-bar-item>\n\n<div class=\"content-fullpage d-flex d-col border-top border-bottom\">\n <c8y-data-grid\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [actionControls]=\"actionControls\"\n [bulkActionControls]=\"bulkActionControls\"\n [displayOptions]=\"displayOptions\"\n [refresh]=\"refresh\"\n [showSearch]=\"true\"\n [selectable]=\"canManageExports\"\n >\n <c8y-column name=\"exportType\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <ng-container>\n @switch (context.value) {\n @case ('csv') {\n <span title=\"CSV\">\n <i [c8yIcon]=\"'file-text-o'\"></i>\n CSV\n </span>\n }\n @case ('vnd.ms-excel') {\n <span title=\"XLS\">\n <i [c8yIcon]=\"'file-excel-o'\"></i>\n XLS\n </span>\n }\n @default {\n <span [title]=\"context.value\">\n <i [c8yIcon]=\"'file-text-o'\"></i>\n {{ context.value }}\n </span>\n }\n }\n </ng-container>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"dateType\">\n <ng-container *c8yCellRendererDef=\"let context\">\n @switch (context.value) {\n @case ('LAST_24HOURS') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last 24 hours</span>\n </span>\n }\n @case ('LAST_7DAYS') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last 7 days</span>\n </span>\n }\n @case ('LAST_30DAYS') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last 30 days</span>\n </span>\n }\n @case ('LAST_WEEK') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last week</span>\n </span>\n }\n @case ('LAST_MONTH') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last month</span>\n </span>\n }\n @case ('LAST_YEAR') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last year</span>\n </span>\n }\n @case ('CUSTOM') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span>\n <label class=\"text-label-small\">{{ 'From`date`' | translate }}</label>\n {{ context.item.queryParameters.from | c8yDate }} \n </span>\n <span>\n <label class=\"text-label-small\">{{ 'To`date`' | translate }}</label>\n {{ context.item.queryParameters.to | c8yDate }}\n </span>\n </span>\n }\n @default {\n <span>{{ context.value }}</span>\n }\n }\n </ng-container>\n </c8y-column>\n\n <c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No matching exports.' | translate\"\n [subtitle]=\"'Refine your search terms' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </c8y-data-grid>\n</div>\n", dependencies: [{ kind: "component", type: DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "loading", "columns", "rows", "pagination", "childNodePagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "treeGrid", "hideReload", "childNodesProperty", "parentNodeLabelProperty"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "component", type: TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "component", type: BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "component", type: BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "directive", type: ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "directive", type: CellRendererDefDirective, selector: "[c8yCellRendererDef]" }, { kind: "directive", type: TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "c8yDate" }] }); }
|
|
181
205
|
}
|
|
182
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ExportsListComponent, decorators: [{
|
|
183
207
|
type: Component,
|
|
184
208
|
args: [{ selector: 'c8y-exports-list', standalone: true, imports: [
|
|
185
209
|
DataGridComponent,
|
|
@@ -194,9 +218,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
194
218
|
BreadcrumbComponent,
|
|
195
219
|
ColumnDirective,
|
|
196
220
|
CellRendererDefDirective,
|
|
197
|
-
DatePipe
|
|
198
|
-
|
|
199
|
-
|
|
221
|
+
DatePipe,
|
|
222
|
+
TooltipDirective
|
|
223
|
+
], template: "<c8y-title>{{ 'Exports' | translate }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-tools'\"\n [label]=\"'Configuration' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-report'\"\n [label]=\"'Exports' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-help [src]=\"'/docs/cockpit/exports/#managing-exports'\"></c8y-help>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n @let addExportLabel = 'Add export' | translate;\n @let insufficientPermissionsText = 'Insufficient permissions for this action.' | translate;\n <button\n class=\"btn btn-link\"\n [tooltip]=\"canManageExports ? addExportLabel : insufficientPermissionsText\"\n placement=\"bottom\"\n container=\"body\"\n data-cy=\"c8y-exports-list--add-export-button\"\n (click)=\"addExport()\"\n [disabled]=\"!canManageExports\"\n >\n <i [c8yIcon]=\"'plus-circle'\"></i>\n <span>{{ addExportLabel }}</span>\n </button>\n</c8y-action-bar-item>\n\n<div class=\"content-fullpage d-flex d-col border-top border-bottom\">\n <c8y-data-grid\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [actionControls]=\"actionControls\"\n [bulkActionControls]=\"bulkActionControls\"\n [displayOptions]=\"displayOptions\"\n [refresh]=\"refresh\"\n [showSearch]=\"true\"\n [selectable]=\"canManageExports\"\n >\n <c8y-column name=\"exportType\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <ng-container>\n @switch (context.value) {\n @case ('csv') {\n <span title=\"CSV\">\n <i [c8yIcon]=\"'file-text-o'\"></i>\n CSV\n </span>\n }\n @case ('vnd.ms-excel') {\n <span title=\"XLS\">\n <i [c8yIcon]=\"'file-excel-o'\"></i>\n XLS\n </span>\n }\n @default {\n <span [title]=\"context.value\">\n <i [c8yIcon]=\"'file-text-o'\"></i>\n {{ context.value }}\n </span>\n }\n }\n </ng-container>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"dateType\">\n <ng-container *c8yCellRendererDef=\"let context\">\n @switch (context.value) {\n @case ('LAST_24HOURS') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last 24 hours</span>\n </span>\n }\n @case ('LAST_7DAYS') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last 7 days</span>\n </span>\n }\n @case ('LAST_30DAYS') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last 30 days</span>\n </span>\n }\n @case ('LAST_WEEK') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last week</span>\n </span>\n }\n @case ('LAST_MONTH') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last month</span>\n </span>\n }\n @case ('LAST_YEAR') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last year</span>\n </span>\n }\n @case ('CUSTOM') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span>\n <label class=\"text-label-small\">{{ 'From`date`' | translate }}</label>\n {{ context.item.queryParameters.from | c8yDate }} \n </span>\n <span>\n <label class=\"text-label-small\">{{ 'To`date`' | translate }}</label>\n {{ context.item.queryParameters.to | c8yDate }}\n </span>\n </span>\n }\n @default {\n <span>{{ context.value }}</span>\n }\n }\n </ng-container>\n </c8y-column>\n\n <c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No matching exports.' | translate\"\n [subtitle]=\"'Refine your search terms' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </c8y-data-grid>\n</div>\n" }]
|
|
224
|
+
}], ctorParameters: () => [{ type: ExportsGridService }, { type: i2.Router }, { type: i3.ModalService }, { type: i4.TranslateService }, { type: i3.AlertService }, { type: i5.ReportsService }, { type: i3.Permissions }] });
|
|
200
225
|
|
|
201
226
|
/**
|
|
202
227
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-exports-list.mjs","sources":["../../exports/list/exports-grid.service.ts","../../exports/list/exports-list/exports-list.component.ts","../../exports/list/exports-list/exports-list.component.html","../../exports/list/c8y-ngx-components-exports-list.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { FetchClient, IManagedObject, InventoryService, IResultList } from '@c8y/client';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { Column, DataGridService, Pagination, UserPreferencesService } from '@c8y/ngx-components';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExportsGridService extends DataGridService {\n baseQuery = {\n __has: 'c8y_ExportConfiguration'\n };\n constructor(\n protected inventory: InventoryService,\n protected userPreferencesService: UserPreferencesService,\n protected fetchClient: FetchClient\n ) {\n super(userPreferencesService);\n }\n\n getColumns(): Column[] {\n return [\n {\n name: 'name',\n header: gettext('Name'),\n path: 'name',\n sortable: true,\n sortingConfig: {\n pathSortingConfigs: [{ path: 'name' }]\n }\n },\n {\n name: 'exportType',\n header: gettext('File type'),\n path: 'exportType',\n sortable: true,\n sortingConfig: {\n pathSortingConfigs: [{ path: 'exportType' }]\n }\n },\n {\n name: 'dateType',\n header: gettext('Time range'),\n path: 'queryParameters.dateType',\n sortable: false\n }\n ];\n }\n\n async getData(\n columns: Column[],\n pagination: Pagination,\n text?: string\n ): Promise<IResultList<IManagedObject>> {\n const filters = this.getFilters(columns, pagination, text);\n\n return await this.inventory.list(filters);\n }\n\n async getTotal(): Promise<number> {\n const query = this.queriesUtil.buildQuery(this.baseQuery);\n return (\n await this.inventory.list({\n query,\n withTotalElements: true\n })\n ).paging.totalElements;\n }\n\n private getFilters(columns: Column[], pagination: Pagination, text?: string) {\n return {\n query: this.getQueryString(columns),\n ...(text && { text }),\n pageSize: pagination.pageSize,\n currentPage: pagination.currentPage,\n withTotalPages: true,\n withTotalElements: true\n };\n }\n\n private getQueryString(columns: Column[]): string {\n const queryFromColumns = this.getQueryObj(columns);\n const fullQuery = this.queriesUtil.addAndFilter(queryFromColumns, this.baseQuery);\n return this.queriesUtil.buildQuery(fullQuery);\n }\n}\n","import { Component, EventEmitter } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n ActionBarItemComponent,\n ActionControl,\n alertOnError,\n AlertService,\n BreadcrumbComponent,\n BreadcrumbItemComponent,\n BuiltInActionType,\n BulkActionControl,\n C8yTranslateDirective,\n C8yTranslatePipe,\n CellRendererDefDirective,\n Column,\n ColumnDirective,\n DataGridComponent,\n DataSourceModifier,\n DatePipe,\n DisplayOptions,\n EmptyStateComponent,\n HelpComponent,\n IconDirective,\n ModalService,\n Pagination,\n ServerSideDataCallback,\n ServerSideDataResult,\n Status,\n TitleComponent\n} from '@c8y/ngx-components';\nimport { ExportsGridService } from '../exports-grid.service';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ReportsService } from '@c8y/ngx-components/reports';\n\n@Component({\n selector: 'c8y-exports-list',\n templateUrl: './exports-list.component.html',\n standalone: true,\n imports: [\n DataGridComponent,\n TitleComponent,\n EmptyStateComponent,\n C8yTranslatePipe,\n C8yTranslateDirective,\n ActionBarItemComponent,\n IconDirective,\n HelpComponent,\n BreadcrumbItemComponent,\n BreadcrumbComponent,\n ColumnDirective,\n CellRendererDefDirective,\n DatePipe\n ]\n})\nexport class ExportsListComponent {\n title = gettext('Exports');\n loadMoreItemsLabel = gettext('Load more exports');\n loadingItemsLabel: string = gettext('Loading exports…');\n columns: Column[] = this.exportsGridService.getColumns();\n pagination: Pagination = {\n pageSize: 100,\n currentPage: 1\n };\n actionControls: ActionControl[] = [\n {\n type: BuiltInActionType.Edit,\n text: gettext('Edit'),\n callback: item => {\n this.router.navigate(['export', item.id]);\n }\n },\n {\n type: 'duplicate',\n icon: 'clone',\n text: gettext('Duplicate'),\n callback: item => {\n this.router.navigate(['export', item.id, 'clone']);\n }\n },\n {\n type: BuiltInActionType.Delete,\n text: gettext('Delete'),\n callback: async (item, reload) => {\n try {\n await this.modal.confirm(\n gettext('Delete configuration'),\n this.translateService.instant(\n 'You are about to delete the configuration \"{{name}}\". Do you want to proceed?',\n { name: item.name }\n ),\n Status.DANGER,\n { ok: gettext('Delete'), cancel: gettext('Cancel') }\n );\n } catch {\n // closed\n return;\n }\n\n try {\n await this.reportsService.removeConfiguration(item);\n } catch (e) {\n this.alert.warning(gettext(`Failed to delete configuration.`));\n }\n reload();\n }\n }\n ];\n bulkActionControls: BulkActionControl[] = [\n {\n callback: async items => {\n try {\n await Promise.all(items.map(item => this.reportsService.requestExport({ id: item })));\n this.alert.success(gettext('Export request accepted, you will receive an email.'));\n } catch {\n this.alert.warning(gettext(`Failed to request export.`));\n }\n },\n type: BuiltInActionType.Export,\n text: gettext('Export'),\n icon: 'data-export'\n }\n ];\n serverSideDataCallback: ServerSideDataCallback;\n displayOptions: DisplayOptions = {\n striped: true,\n bordered: false,\n gridHeader: true,\n filter: true,\n hover: false\n };\n refresh = new EventEmitter<void>();\n\n constructor(\n protected exportsGridService: ExportsGridService,\n protected router: Router,\n private modal: ModalService,\n private translateService: TranslateService,\n private alert: AlertService,\n private reportsService: ReportsService\n ) {\n this.serverSideDataCallback = this.onDataSourceModifier.bind(this);\n }\n\n addExport() {\n this.router.navigate(['export', 'new']);\n }\n\n async onDataSourceModifier(\n dataSourceModifier: DataSourceModifier\n ): Promise<ServerSideDataResult> {\n const { res, data, paging } = await alertOnError(\n this.exportsGridService.getData(\n dataSourceModifier.columns,\n dataSourceModifier.pagination,\n dataSourceModifier.searchText\n )\n );\n const filteredSize = paging.totalElements;\n const size = await alertOnError(this.exportsGridService.getTotal());\n\n return {\n res,\n data,\n paging,\n filteredSize,\n size\n };\n }\n}\n","<c8y-title>{{ 'Exports' | translate }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-tools'\"\n [label]=\"'Configuration' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-report'\"\n [label]=\"'Exports' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-help [src]=\"'/docs/cockpit/exports/#managing-exports'\"></c8y-help>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n [title]=\"'Add export' | translate\"\n (click)=\"addExport()\"\n >\n <i [c8yIcon]=\"'plus-circle'\"></i>\n <span translate>Add export</span>\n </button>\n</c8y-action-bar-item>\n\n<div class=\"content-fullpage d-flex d-col border-top border-bottom\">\n <c8y-data-grid\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [actionControls]=\"actionControls\"\n [bulkActionControls]=\"bulkActionControls\"\n [displayOptions]=\"displayOptions\"\n [refresh]=\"refresh\"\n [showSearch]=\"true\"\n [selectable]=\"true\"\n >\n <c8y-column name=\"exportType\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <ng-container>\n @switch (context.value) {\n @case ('csv') {\n <span title=\"CSV\">\n <i [c8yIcon]=\"'file-text-o'\"></i>\n CSV\n </span>\n }\n @case ('vnd.ms-excel') {\n <span title=\"XLS\">\n <i [c8yIcon]=\"'file-excel-o'\"></i>\n XLS\n </span>\n }\n @default {\n <span [title]=\"context.value\">\n <i [c8yIcon]=\"'file-text-o'\"></i>\n {{ context.value }}\n </span>\n }\n }\n </ng-container>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"dateType\">\n <ng-container *c8yCellRendererDef=\"let context\">\n @switch (context.value) {\n @case ('LAST_24HOURS') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last 24 hours</span>\n </span>\n }\n @case ('LAST_7DAYS') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last 7 days</span>\n </span>\n }\n @case ('LAST_30DAYS') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last 30 days</span>\n </span>\n }\n @case ('LAST_WEEK') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last week</span>\n </span>\n }\n @case ('LAST_MONTH') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last month</span>\n </span>\n }\n @case ('LAST_YEAR') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last year</span>\n </span>\n }\n @case ('CUSTOM') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span>\n <label class=\"text-label-small\">{{ 'From`date`' | translate }}</label>\n {{ context.item.queryParameters.from | c8yDate }} \n </span>\n <span>\n <label class=\"text-label-small\">{{ 'To`date`' | translate }}</label>\n {{ context.item.queryParameters.to | c8yDate }}\n </span>\n </span>\n }\n @default {\n <span>{{ context.value }}</span>\n }\n }\n </ng-container>\n </c8y-column>\n\n <c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No matching exports.' | translate\"\n [subtitle]=\"'Refine your search terms' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </c8y-data-grid>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1.ExportsGridService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-exports-list.mjs","sources":["../../exports/list/exports-grid.service.ts","../../exports/list/exports-list/exports-list.component.ts","../../exports/list/exports-list/exports-list.component.html","../../exports/list/c8y-ngx-components-exports-list.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { FetchClient, IManagedObject, InventoryService, IResultList } from '@c8y/client';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { Column, DataGridService, Pagination, UserPreferencesService } from '@c8y/ngx-components';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExportsGridService extends DataGridService {\n baseQuery = {\n __has: 'c8y_ExportConfiguration'\n };\n constructor(\n protected inventory: InventoryService,\n protected userPreferencesService: UserPreferencesService,\n protected fetchClient: FetchClient\n ) {\n super(userPreferencesService);\n }\n\n getColumns(): Column[] {\n return [\n {\n name: 'name',\n header: gettext('Name'),\n path: 'name',\n sortable: true,\n sortingConfig: {\n pathSortingConfigs: [{ path: 'name' }]\n }\n },\n {\n name: 'exportType',\n header: gettext('File type'),\n path: 'exportType',\n sortable: true,\n sortingConfig: {\n pathSortingConfigs: [{ path: 'exportType' }]\n }\n },\n {\n name: 'dateType',\n header: gettext('Time range'),\n path: 'queryParameters.dateType',\n sortable: false\n }\n ];\n }\n\n async getData(\n columns: Column[],\n pagination: Pagination,\n text?: string\n ): Promise<IResultList<IManagedObject>> {\n const filters = this.getFilters(columns, pagination, text);\n\n return await this.inventory.list(filters);\n }\n\n async getTotal(): Promise<number> {\n const query = this.queriesUtil.buildQuery(this.baseQuery);\n return (\n await this.inventory.list({\n query,\n withTotalElements: true\n })\n ).paging.totalElements;\n }\n\n private getFilters(columns: Column[], pagination: Pagination, text?: string) {\n return {\n query: this.getQueryString(columns),\n ...(text && { text }),\n pageSize: pagination.pageSize,\n currentPage: pagination.currentPage,\n withTotalPages: true,\n withTotalElements: true\n };\n }\n\n private getQueryString(columns: Column[]): string {\n const queryFromColumns = this.getQueryObj(columns);\n const fullQuery = this.queriesUtil.addAndFilter(queryFromColumns, this.baseQuery);\n return this.queriesUtil.buildQuery(fullQuery);\n }\n}\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n ActionBarItemComponent,\n ActionControl,\n alertOnError,\n AlertService,\n BreadcrumbComponent,\n BreadcrumbItemComponent,\n BuiltInActionType,\n BulkActionControl,\n C8yTranslateDirective,\n C8yTranslatePipe,\n CellRendererDefDirective,\n Column,\n ColumnDirective,\n DataGridComponent,\n DataSourceModifier,\n DatePipe,\n DisplayOptions,\n EmptyStateComponent,\n HelpComponent,\n IconDirective,\n ModalService,\n Pagination,\n Permissions,\n ServerSideDataCallback,\n ServerSideDataResult,\n Status,\n TitleComponent\n} from '@c8y/ngx-components';\nimport { ExportsGridService } from '../exports-grid.service';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ReportsService } from '@c8y/ngx-components/reports';\nimport { TooltipDirective } from 'ngx-bootstrap/tooltip';\n\n@Component({\n selector: 'c8y-exports-list',\n templateUrl: './exports-list.component.html',\n standalone: true,\n imports: [\n DataGridComponent,\n TitleComponent,\n EmptyStateComponent,\n C8yTranslatePipe,\n C8yTranslateDirective,\n ActionBarItemComponent,\n IconDirective,\n HelpComponent,\n BreadcrumbItemComponent,\n BreadcrumbComponent,\n ColumnDirective,\n CellRendererDefDirective,\n DatePipe,\n TooltipDirective\n ]\n})\nexport class ExportsListComponent implements OnInit {\n title = gettext('Exports');\n loadMoreItemsLabel = gettext('Load more exports');\n loadingItemsLabel: string = gettext('Loading exports…');\n columns: Column[] = this.exportsGridService.getColumns();\n pagination: Pagination = {\n pageSize: 100,\n currentPage: 1\n };\n actionControls: ActionControl[] = [\n {\n type: BuiltInActionType.Edit,\n icon: 'pencil',\n text: gettext('Edit'),\n callback: item => {\n this.router.navigate(['export', item.id]);\n },\n showIf: () => this.canManageExports\n },\n {\n type: 'view',\n icon: 'eye',\n text: gettext('View'),\n callback: item => {\n this.router.navigate(['export', item.id]);\n },\n showIf: () => !this.canManageExports\n },\n {\n type: 'duplicate',\n icon: 'clone',\n text: gettext('Duplicate'),\n callback: item => {\n this.router.navigate(['export', item.id, 'clone']);\n },\n showIf: () => this.canManageExports\n },\n {\n type: BuiltInActionType.Delete,\n text: gettext('Delete'),\n callback: async (item, reload) => {\n try {\n await this.modal.confirm(\n gettext('Delete configuration'),\n this.translateService.instant(\n 'You are about to delete the configuration \"{{name}}\". Do you want to proceed?',\n { name: item.name }\n ),\n Status.DANGER,\n { ok: gettext('Delete'), cancel: gettext('Cancel') }\n );\n } catch {\n // closed\n return;\n }\n\n try {\n await this.reportsService.removeConfiguration(item);\n } catch (e) {\n this.alert.warning(gettext(`Failed to delete configuration.`));\n }\n reload();\n },\n showIf: () => this.canManageExports\n }\n ];\n bulkActionControls: BulkActionControl[] = [\n {\n callback: async items => {\n try {\n await Promise.all(items.map(item => this.reportsService.requestExport({ id: item })));\n this.alert.success(gettext('Export request accepted, you will receive an email.'));\n } catch {\n this.alert.warning(gettext(`Failed to request export.`));\n }\n },\n type: BuiltInActionType.Export,\n text: gettext('Export'),\n icon: 'data-export'\n }\n ];\n serverSideDataCallback: ServerSideDataCallback;\n displayOptions: DisplayOptions = {\n striped: true,\n bordered: false,\n gridHeader: true,\n filter: true,\n hover: false\n };\n refresh = new EventEmitter<void>();\n canManageExports = false;\n\n constructor(\n protected exportsGridService: ExportsGridService,\n protected router: Router,\n private modal: ModalService,\n private translateService: TranslateService,\n private alert: AlertService,\n private reportsService: ReportsService,\n private permissions: Permissions\n ) {\n this.serverSideDataCallback = this.onDataSourceModifier.bind(this);\n }\n\n ngOnInit() {\n this.canManageExports = this.permissions.hasAnyRole([\n Permissions.ROLE_INVENTORY_CREATE,\n Permissions.ROLE_INVENTORY_ADMIN,\n Permissions.ROLE_MANAGED_OBJECT_ADMIN,\n Permissions.ROLE_MANAGED_OBJECT_CREATE\n ]);\n }\n\n addExport() {\n this.router.navigate(['export', 'new']);\n }\n\n async onDataSourceModifier(\n dataSourceModifier: DataSourceModifier\n ): Promise<ServerSideDataResult> {\n const { res, data, paging } = await alertOnError(\n this.exportsGridService.getData(\n dataSourceModifier.columns,\n dataSourceModifier.pagination,\n dataSourceModifier.searchText\n )\n );\n const filteredSize = paging.totalElements;\n const size = await alertOnError(this.exportsGridService.getTotal());\n\n return {\n res,\n data,\n paging,\n filteredSize,\n size\n };\n }\n}\n","<c8y-title>{{ 'Exports' | translate }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-tools'\"\n [label]=\"'Configuration' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-report'\"\n [label]=\"'Exports' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-help [src]=\"'/docs/cockpit/exports/#managing-exports'\"></c8y-help>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n @let addExportLabel = 'Add export' | translate;\n @let insufficientPermissionsText = 'Insufficient permissions for this action.' | translate;\n <button\n class=\"btn btn-link\"\n [tooltip]=\"canManageExports ? addExportLabel : insufficientPermissionsText\"\n placement=\"bottom\"\n container=\"body\"\n data-cy=\"c8y-exports-list--add-export-button\"\n (click)=\"addExport()\"\n [disabled]=\"!canManageExports\"\n >\n <i [c8yIcon]=\"'plus-circle'\"></i>\n <span>{{ addExportLabel }}</span>\n </button>\n</c8y-action-bar-item>\n\n<div class=\"content-fullpage d-flex d-col border-top border-bottom\">\n <c8y-data-grid\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [actionControls]=\"actionControls\"\n [bulkActionControls]=\"bulkActionControls\"\n [displayOptions]=\"displayOptions\"\n [refresh]=\"refresh\"\n [showSearch]=\"true\"\n [selectable]=\"canManageExports\"\n >\n <c8y-column name=\"exportType\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <ng-container>\n @switch (context.value) {\n @case ('csv') {\n <span title=\"CSV\">\n <i [c8yIcon]=\"'file-text-o'\"></i>\n CSV\n </span>\n }\n @case ('vnd.ms-excel') {\n <span title=\"XLS\">\n <i [c8yIcon]=\"'file-excel-o'\"></i>\n XLS\n </span>\n }\n @default {\n <span [title]=\"context.value\">\n <i [c8yIcon]=\"'file-text-o'\"></i>\n {{ context.value }}\n </span>\n }\n }\n </ng-container>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"dateType\">\n <ng-container *c8yCellRendererDef=\"let context\">\n @switch (context.value) {\n @case ('LAST_24HOURS') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last 24 hours</span>\n </span>\n }\n @case ('LAST_7DAYS') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last 7 days</span>\n </span>\n }\n @case ('LAST_30DAYS') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last 30 days</span>\n </span>\n }\n @case ('LAST_WEEK') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last week</span>\n </span>\n }\n @case ('LAST_MONTH') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last month</span>\n </span>\n }\n @case ('LAST_YEAR') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span translate>Last year</span>\n </span>\n }\n @case ('CUSTOM') {\n <span>\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n <span>\n <label class=\"text-label-small\">{{ 'From`date`' | translate }}</label>\n {{ context.item.queryParameters.from | c8yDate }} \n </span>\n <span>\n <label class=\"text-label-small\">{{ 'To`date`' | translate }}</label>\n {{ context.item.queryParameters.to | c8yDate }}\n </span>\n </span>\n }\n @default {\n <span>{{ context.value }}</span>\n }\n }\n </ng-container>\n </c8y-column>\n\n <c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No matching exports.' | translate\"\n [subtitle]=\"'Refine your search terms' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </c8y-data-grid>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1.ExportsGridService"],"mappings":"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"}
|
|
@@ -26,10 +26,10 @@ class CanToggleStatusOfFeatureTogglePipe {
|
|
|
26
26
|
}
|
|
27
27
|
return false;
|
|
28
28
|
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
30
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: CanToggleStatusOfFeatureTogglePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
30
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.19", ngImport: i0, type: CanToggleStatusOfFeatureTogglePipe, isStandalone: true, name: "canToggleStatusOfFeatureToggle" }); }
|
|
31
31
|
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: CanToggleStatusOfFeatureTogglePipe, decorators: [{
|
|
33
33
|
type: Pipe,
|
|
34
34
|
args: [{
|
|
35
35
|
name: 'canToggleStatusOfFeatureToggle'
|
|
@@ -205,10 +205,10 @@ class FeatureToggleListComponent {
|
|
|
205
205
|
}
|
|
206
206
|
await this.reload();
|
|
207
207
|
}
|
|
208
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
209
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
208
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: FeatureToggleListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
209
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: FeatureToggleListComponent, isStandalone: true, selector: "c8y-feature-toggle-list", ngImport: i0, template: "<c8y-title translate>{{ 'Feature toggles' | translate }}</c8y-title>\n\n<div class=\"content-fullpage d-flex d-col border-top border-bottom\">\n <c8y-data-grid\n [title]=\"'Feature toggles' | translate\"\n [actionControls]=\"actionControls\"\n [columns]=\"columns\"\n [rows]=\"items\"\n [pagination]=\"pagination\"\n [displayOptions]=\"displayOptions\"\n (onReload)=\"reload()\"\n >\n <c8y-column name=\"name\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <strong>{{ context.value || '--' | translate }}</strong>\n </ng-container>\n </c8y-column>\n <c8y-column name=\"description\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <p>{{ context.value || '--' | translate }}</p>\n </ng-container>\n </c8y-column>\n <c8y-column name=\"status\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <label class=\"c8y-switch c8y-switch--inline\">\n <input\n type=\"checkbox\"\n [ngModel]=\"context.value\"\n [disabled]=\"!(context.item | canToggleStatusOfFeatureToggle)\"\n (ngModelChange)=\"updateFeature(context.item, !context.value)\"\n [ngModelOptions]=\"{ standalone: true }\"\n />\n <span></span>\n <span class=\"text-12 a-s-center\">\n @if (context.value) {\n {{ 'Enabled' | translate }}\n } @else {\n {{ 'Disabled' | translate }}\n }\n </span>\n </label>\n </ng-container>\n </c8y-column>\n <c8y-column name=\"phase\">\n <ng-template #phasePopoverHelp>\n <p>\n <strong>{{ 'Feature phases' | translate }}</strong>\n </p>\n @for (phaseKey of phaseKeysOrder; track phaseKey) {\n @if (phaseKey !== 'PRIVATE_PREVIEW' || hasPrivatePreviewFeatures) {\n <span\n class=\"tag chip m-b-4\"\n [ngClass]=\"phaseDetails[phaseKey].class\"\n >\n {{ phaseDetails[phaseKey].name | translate }}\n </span>\n <p class=\"text-12 m-b-8\">\n {{ phaseDetails[phaseKey].description | translate }}\n </p>\n }\n }\n </ng-template>\n <ng-container *c8yHeaderCellRendererDef>\n {{ 'Phase' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"phasePopoverHelp\"\n placement=\"bottom\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </ng-container>\n <ng-container *c8yCellRendererDef=\"let context\">\n <span\n class=\"tag\"\n [ngClass]=\"phaseDetails[context.value]?.class || 'tag--warning'\"\n >\n {{ phaseDetails[context.value]?.name || context.value | translate }}\n </span>\n </ng-container>\n </c8y-column>\n <c8y-column name=\"strategy\">\n <ng-template #strategyPopoverHelp>\n <p>\n <strong>{{ 'Feature strategies' | translate }}</strong>\n </p>\n @for (strategy of strategyDetails; track strategy) {\n <span\n class=\"tag chip m-b-4\"\n [ngClass]=\"strategy.class\"\n >\n {{ strategy.name | translate }}\n </span>\n <p class=\"text-12 m-b-8\">\n {{ strategy.description | translate }}\n </p>\n }\n </ng-template>\n <ng-container *c8yHeaderCellRendererDef>\n {{ 'Strategy' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"strategyPopoverHelp\"\n placement=\"bottom\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </ng-container>\n <ng-container *c8yCellRendererDef=\"let context\">\n @for (strategy of strategyDetails; track strategy) {\n @if (context.value === strategy.key) {\n <span\n class=\"tag\"\n [ngClass]=\"strategy.class\"\n >\n {{ strategy.name | translate }}\n </span>\n }\n }\n </ng-container>\n </c8y-column>\n <c8y-ui-empty-state\n [icon]=\"'toggle-on'\"\n [title]=\"'No feature toggles available.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </c8y-data-grid>\n</div>\n", dependencies: [{ kind: "component", type: TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "loading", "columns", "rows", "pagination", "childNodePagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "treeGrid", "hideReload", "childNodesProperty", "parentNodeLabelProperty"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: CellRendererDefDirective, selector: "[c8yCellRendererDef]" }, { kind: "directive", type: ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "directive", type: PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: HeaderCellRendererDefDirective, selector: "[c8yHeaderCellRendererDef]" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: CanToggleStatusOfFeatureTogglePipe, name: "canToggleStatusOfFeatureToggle" }] }); }
|
|
210
210
|
}
|
|
211
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: FeatureToggleListComponent, decorators: [{
|
|
212
212
|
type: Component,
|
|
213
213
|
args: [{ selector: 'c8y-feature-toggle-list', imports: [
|
|
214
214
|
TitleComponent,
|
|
@@ -149,10 +149,10 @@ class FilePreviewComponent {
|
|
|
149
149
|
}
|
|
150
150
|
return 'unsupported';
|
|
151
151
|
}
|
|
152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
153
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: FilePreviewComponent, deps: [{ token: DOWNLOAD_EMITTER }, { token: i1.BsModalRef }, { token: i1.BsModalService }, { token: i2.DomSanitizer }, { token: i3.FilesService }, { token: i3.AlertService }, { token: i3.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
153
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: FilePreviewComponent, isStandalone: true, selector: "c8y-file-preview", inputs: { mo: { classPropertyName: "mo", publicName: "mo", isSignal: true, isRequired: true, transformFunction: null }, downloadFn: { classPropertyName: "downloadFn", publicName: "downloadFn", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (contentType() !== 'unsupported') {\n <div\n class=\"d-inline-block\"\n (click)=\"openModal(modalTemplate)\"\n >\n <div #customButtonRef>\n <ng-content select=\"[customButton]\"></ng-content>\n </div>\n\n @if (!customButtonRef.children.length) {\n <button\n class=\"btn btn-default btn-icon\"\n [title]=\"'Preview file' | translate\"\n type=\"button\"\n >\n <i c8yIcon=\"search\"></i>\n </button>\n }\n </div>\n}\n\n<ng-template #modalTemplate>\n <c8y-modal\n class=\"text-break-word\"\n [title]=\"mo().name\"\n [customFooter]=\"false\"\n (onClose)=\"modalRef.hide()\"\n (onDismiss)=\"modalRef.hide()\"\n [labels]=\"{ cancel: '', ok: 'Close' | translate }\"\n >\n @if (!dataUrl) {\n <div class=\"text-center d-block\">\n <c8y-loading\n layout=\"application\"\n [progress]=\"progress.percentage\"\n ></c8y-loading>\n {{\n BUFFERING_STATUS_TEXT\n | translate\n : {\n totalBytes: progress.totalBytes | bytes,\n bufferedBytes: progress.bufferedBytes | bytes,\n percentage: progress.percentage,\n speed: progress.bytesPerSecond | bytes\n }\n }}\n </div>\n }\n\n @if (dataUrl) {\n <div id=\"modal-body\">\n @switch (contentType()) {\n @case ('image') {\n <img\n class=\"fit-w\"\n alt=\"safeDataUrl\"\n [src]=\"safeDataUrl\"\n />\n }\n @case ('video') {\n <video\n class=\"fit-w\"\n controls\n autoplay\n >\n <source [src]=\"safeDataUrl\" />\n {{ 'Your browser does not support the video tag.' | translate }}\n </video>\n }\n @case ('text') {\n <!-- @TODO: Implement text viewer-->\n text\n }\n @case ('json') {\n <!-- @TODO: Implement json viewer-->\n json\n }\n }\n </div>\n }\n </c8y-modal>\n</ng-template>\n", dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: ModalComponent, selector: "c8y-modal", inputs: ["disabled", "close", "dismiss", "title", "body", "customFooter", "headerClasses", "labels"], outputs: ["onDismiss", "onClose"] }, { kind: "component", type: LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: BytesPipe, name: "bytes" }] }); }
|
|
154
154
|
}
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: FilePreviewComponent, decorators: [{
|
|
156
156
|
type: Component,
|
|
157
157
|
args: [{ selector: 'c8y-file-preview', imports: [IconDirective, ModalComponent, LoadingComponent, C8yTranslatePipe, BytesPipe], template: "@if (contentType() !== 'unsupported') {\n <div\n class=\"d-inline-block\"\n (click)=\"openModal(modalTemplate)\"\n >\n <div #customButtonRef>\n <ng-content select=\"[customButton]\"></ng-content>\n </div>\n\n @if (!customButtonRef.children.length) {\n <button\n class=\"btn btn-default btn-icon\"\n [title]=\"'Preview file' | translate\"\n type=\"button\"\n >\n <i c8yIcon=\"search\"></i>\n </button>\n }\n </div>\n}\n\n<ng-template #modalTemplate>\n <c8y-modal\n class=\"text-break-word\"\n [title]=\"mo().name\"\n [customFooter]=\"false\"\n (onClose)=\"modalRef.hide()\"\n (onDismiss)=\"modalRef.hide()\"\n [labels]=\"{ cancel: '', ok: 'Close' | translate }\"\n >\n @if (!dataUrl) {\n <div class=\"text-center d-block\">\n <c8y-loading\n layout=\"application\"\n [progress]=\"progress.percentage\"\n ></c8y-loading>\n {{\n BUFFERING_STATUS_TEXT\n | translate\n : {\n totalBytes: progress.totalBytes | bytes,\n bufferedBytes: progress.bufferedBytes | bytes,\n percentage: progress.percentage,\n speed: progress.bytesPerSecond | bytes\n }\n }}\n </div>\n }\n\n @if (dataUrl) {\n <div id=\"modal-body\">\n @switch (contentType()) {\n @case ('image') {\n <img\n class=\"fit-w\"\n alt=\"safeDataUrl\"\n [src]=\"safeDataUrl\"\n />\n }\n @case ('video') {\n <video\n class=\"fit-w\"\n controls\n autoplay\n >\n <source [src]=\"safeDataUrl\" />\n {{ 'Your browser does not support the video tag.' | translate }}\n </video>\n }\n @case ('text') {\n <!-- @TODO: Implement text viewer-->\n text\n }\n @case ('json') {\n <!-- @TODO: Implement json viewer-->\n json\n }\n }\n </div>\n }\n </c8y-modal>\n</ng-template>\n" }]
|
|
158
158
|
}], ctorParameters: () => [{ type: i0.EventEmitter, decorators: [{
|
|
@@ -162,16 +162,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
|
|
|
162
162
|
|
|
163
163
|
const downloadEmitter = new EventEmitter();
|
|
164
164
|
class FilePreviewModule {
|
|
165
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
166
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
167
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
165
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: FilePreviewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
166
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.19", ngImport: i0, type: FilePreviewModule, imports: [CoreModule, CommonModule, FilePreviewComponent], exports: [FilePreviewComponent] }); }
|
|
167
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: FilePreviewModule, providers: [
|
|
168
168
|
{
|
|
169
169
|
provide: DOWNLOAD_EMITTER,
|
|
170
170
|
useValue: downloadEmitter
|
|
171
171
|
}
|
|
172
172
|
], imports: [CoreModule, CommonModule, FilePreviewComponent] }); }
|
|
173
173
|
}
|
|
174
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
174
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: FilePreviewModule, decorators: [{
|
|
175
175
|
type: NgModule,
|
|
176
176
|
args: [{
|
|
177
177
|
imports: [CoreModule, CommonModule, FilePreviewComponent],
|