@c8y/ngx-components 1021.11.1 → 1021.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/alarms/alarms-date-filter.component.d.ts +34 -0
- package/alarms/alarms-date-filter.component.d.ts.map +1 -0
- package/alarms/alarms-filter.component.d.ts +2 -1
- package/alarms/alarms-filter.component.d.ts.map +1 -1
- package/alarms/alarms-list.component.d.ts +2 -17
- package/alarms/alarms-list.component.d.ts.map +1 -1
- package/alarms/alarms-view.service.d.ts +5 -2
- package/alarms/alarms-view.service.d.ts.map +1 -1
- package/alarms/alarms.component.d.ts +3 -1
- package/alarms/alarms.component.d.ts.map +1 -1
- package/alarms/alarms.model.d.ts +47 -1
- package/alarms/alarms.model.d.ts.map +1 -1
- package/alarms/alarms.module.d.ts +15 -13
- package/alarms/alarms.module.d.ts.map +1 -1
- package/branding/shared/data/store-branding.service.d.ts +5 -0
- package/branding/shared/data/store-branding.service.d.ts.map +1 -1
- package/branding/shared/lazy/branding/branding.component.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.model.d.ts +1 -0
- package/context-dashboard/context-dashboard.model.d.ts.map +1 -1
- package/context-dashboard/context-dashboard.service.d.ts +7 -5
- package/context-dashboard/context-dashboard.service.d.ts.map +1 -1
- package/context-dashboard/dashboard-detail.component.d.ts +4 -7
- package/context-dashboard/dashboard-detail.component.d.ts.map +1 -1
- package/context-dashboard/dashboard-detail.service.d.ts +4 -4
- package/context-dashboard/dashboard-detail.service.d.ts.map +1 -1
- package/context-dashboard/dashboard-settings/dashboard-general-settings.component.d.ts +2 -2
- package/context-dashboard/dashboard-settings/dashboard-general-settings.component.d.ts.map +1 -1
- package/context-dashboard/dashboard-settings/typed-dashboard-settings.component.d.ts +19 -6
- package/context-dashboard/dashboard-settings/typed-dashboard-settings.component.d.ts.map +1 -1
- package/core/action-bar/action-bar-item.component.d.ts +1 -1
- package/core/action-bar/action-bar-item.component.d.ts.map +1 -1
- package/core/action-bar/action-bar.module.d.ts +6 -6
- package/core/action-bar/action-bar.module.d.ts.map +1 -1
- package/core/bootstrap/bootstrap.component.d.ts +3 -1
- package/core/bootstrap/bootstrap.component.d.ts.map +1 -1
- package/core/common/aggregation/aggregation.model.d.ts +39 -0
- package/core/common/aggregation/aggregation.model.d.ts.map +1 -0
- package/core/common/aggregation/aggregation.service.d.ts +17 -0
- package/core/common/aggregation/aggregation.service.d.ts.map +1 -0
- package/core/common/index.d.ts +4 -0
- package/core/common/index.d.ts.map +1 -1
- package/core/common/inter-app.service.d.ts +48 -0
- package/core/common/inter-app.service.d.ts.map +1 -0
- package/core/common/interval-based-reload.abstract.d.ts +120 -0
- package/core/common/interval-based-reload.abstract.d.ts.map +1 -0
- package/core/dashboard/dashboard.module.d.ts +26 -20
- package/core/dashboard/dashboard.module.d.ts.map +1 -1
- package/core/dashboard/index.d.ts +3 -0
- package/core/dashboard/index.d.ts.map +1 -1
- package/core/dashboard/widget-auto-refresh-context/auto-refresh-control.component.d.ts +31 -0
- package/core/dashboard/widget-auto-refresh-context/auto-refresh-control.component.d.ts.map +1 -0
- package/core/dashboard/widget-auto-refresh-context/auto-refresh-select-control.component.d.ts +17 -0
- package/core/dashboard/widget-auto-refresh-context/auto-refresh-select-control.component.d.ts.map +1 -0
- package/core/dashboard/widget-auto-refresh-context/global-refresh-loading.operator.d.ts +4 -0
- package/core/dashboard/widget-auto-refresh-context/global-refresh-loading.operator.d.ts.map +1 -0
- package/core/dashboard/widget-auto-refresh-context/index.d.ts +8 -0
- package/core/dashboard/widget-auto-refresh-context/index.d.ts.map +1 -0
- package/core/dashboard/widget-auto-refresh-context/widget-auto-refresh-context-icon-bar.component.d.ts +7 -0
- package/core/dashboard/widget-auto-refresh-context/widget-auto-refresh-context-icon-bar.component.d.ts.map +1 -0
- package/core/dashboard/widget-auto-refresh-context/widget-auto-refresh-context.component.d.ts +29 -0
- package/core/dashboard/widget-auto-refresh-context/widget-auto-refresh-context.component.d.ts.map +1 -0
- package/core/dashboard/widget-auto-refresh-context/widget-auto-refresh-context.model.d.ts +15 -0
- package/core/dashboard/widget-auto-refresh-context/widget-auto-refresh-context.model.d.ts.map +1 -0
- package/core/dashboard/widget-auto-refresh-context/widget-global-auto-refresh.service.d.ts +169 -0
- package/core/dashboard/widget-auto-refresh-context/widget-global-auto-refresh.service.d.ts.map +1 -0
- package/core/dashboard/widget-change-event.model.d.ts +1 -1
- package/core/dashboard/widget-change-event.model.d.ts.map +1 -1
- package/core/dashboard/widgets-dashboard.component.d.ts +6 -3
- package/core/dashboard/widgets-dashboard.component.d.ts.map +1 -1
- package/core/dashboard/wiget-time-context/aggregation-picker/aggregation-picker.component.d.ts +2 -2
- package/core/dashboard/wiget-time-context/aggregation-picker/aggregation-picker.component.d.ts.map +1 -1
- package/core/dashboard/wiget-time-context/widget-time-context-helper.service.d.ts +2 -1
- package/core/dashboard/wiget-time-context/widget-time-context-helper.service.d.ts.map +1 -1
- package/core/dashboard/wiget-time-context/widget-time-context-icon-bar/widget-time-context-icon-bar.component.d.ts +1 -1
- package/core/dashboard/wiget-time-context/widget-time-context-icon-bar/widget-time-context-icon-bar.component.d.ts.map +1 -1
- package/core/dashboard/wiget-time-context/widget-time-context-query.service.d.ts.map +1 -1
- package/core/dashboard/wiget-time-context/widget-time-context.component.d.ts +12 -8
- package/core/dashboard/wiget-time-context/widget-time-context.component.d.ts.map +1 -1
- package/core/dashboard/wiget-time-context/widget-time-context.model.d.ts +7 -26
- package/core/dashboard/wiget-time-context/widget-time-context.model.d.ts.map +1 -1
- package/core/date-time-picker/date-time-picker.component.d.ts.map +1 -1
- package/core/header/header.module.d.ts +18 -18
- package/core/header/header.module.d.ts.map +1 -1
- package/core/header/title/title.component.d.ts +1 -1
- package/core/header/title/title.component.d.ts.map +1 -1
- package/core/i18n/cached-locale-dictionary.service.d.ts +5 -1
- package/core/i18n/cached-locale-dictionary.service.d.ts.map +1 -1
- package/core/i18n/i18n.module.d.ts +0 -4
- package/core/i18n/i18n.module.d.ts.map +1 -1
- package/core/i18n/index.d.ts +2 -1
- package/core/i18n/index.d.ts.map +1 -1
- package/core/i18n/translation-loader.service.d.ts +50 -0
- package/core/i18n/translation-loader.service.d.ts.map +1 -0
- package/core/i18n/translation-utils.d.ts +14 -0
- package/core/i18n/translation-utils.d.ts.map +1 -0
- package/core/plugins/plugins-resolve.service.d.ts +7 -10
- package/core/plugins/plugins-resolve.service.d.ts.map +1 -1
- package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form-validation.service.d.ts +2 -1
- package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form-validation.service.d.ts.map +1 -1
- package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.d.ts +11 -2
- package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.d.ts.map +1 -1
- package/datapoint-selector/datapoint-selection.model.d.ts +6 -0
- package/datapoint-selector/datapoint-selection.model.d.ts.map +1 -1
- package/datapoints-export-selector/c8y-ngx-components-datapoints-export-selector.d.ts.map +1 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.d.ts +117 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.d.ts.map +1 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-processing.service.d.ts +90 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-processing.service.d.ts.map +1 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.component.d.ts +160 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.component.d.ts.map +1 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.service.d.ts +89 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.service.d.ts.map +1 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-preview/datapoints-export-selector-preview.component.d.ts +11 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-preview/datapoints-export-selector-preview.component.d.ts.map +1 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-data-scope/datapoints-exports-selector-data-scope.component.d.ts +27 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-data-scope/datapoints-exports-selector-data-scope.component.d.ts.map +1 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-file-types/datapoints-exports-selector-file-types.component.d.ts +12 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-file-types/datapoints-exports-selector-file-types.component.d.ts.map +1 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-time-range/datapoints-exports-selector-time-range.component.d.ts +22 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-time-range/datapoints-exports-selector-time-range.component.d.ts.map +1 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/generators/csv-generator.d.ts +3 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/generators/csv-generator.d.ts.map +1 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/generators/excel-generator.d.ts +9 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/generators/excel-generator.d.ts.map +1 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/utils.service.d.ts +56 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/utils.service.d.ts.map +1 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-modal.component.d.ts +21 -0
- package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-modal.component.d.ts.map +1 -0
- package/datapoints-export-selector/datapoints-export-selector.component.d.ts +14 -0
- package/datapoints-export-selector/datapoints-export-selector.component.d.ts.map +1 -0
- package/datapoints-export-selector/datapoints-export-selector.model.d.ts +232 -0
- package/datapoints-export-selector/datapoints-export-selector.model.d.ts.map +1 -0
- package/datapoints-export-selector/index.d.ts +15 -0
- package/datapoints-export-selector/index.d.ts.map +1 -0
- package/device-list/device-list.module.d.ts +4 -2
- package/device-list/device-list.module.d.ts.map +1 -1
- package/esm2022/alarm-event-selector/alarm-event-selection-list/alarm-event-selection-list.component.mjs +4 -4
- package/esm2022/alarm-event-selector/alarm-event-selector-list-item/alarm-event-selector-list-item.component.mjs +3 -3
- package/esm2022/alarms/alarms-date-filter.component.mjs +139 -0
- package/esm2022/alarms/alarms-filter.component.mjs +11 -5
- package/esm2022/alarms/alarms-list.component.mjs +5 -16
- package/esm2022/alarms/alarms-type-filter.component.mjs +3 -3
- package/esm2022/alarms/alarms-view.service.mjs +16 -2
- package/esm2022/alarms/alarms.component.mjs +12 -6
- package/esm2022/alarms/alarms.model.mjs +17 -1
- package/esm2022/alarms/alarms.module.mjs +11 -4
- package/esm2022/branding/shared/data/store-branding.service.mjs +24 -1
- package/esm2022/branding/shared/lazy/branding/branding.component.mjs +3 -1
- package/esm2022/context-dashboard/context-dashboard.component.mjs +4 -4
- package/esm2022/context-dashboard/context-dashboard.model.mjs +1 -1
- package/esm2022/context-dashboard/context-dashboard.service.mjs +47 -21
- package/esm2022/context-dashboard/dashboard-detail.component.mjs +8 -16
- package/esm2022/context-dashboard/dashboard-detail.service.mjs +13 -6
- package/esm2022/context-dashboard/dashboard-settings/dashboard-general-settings.component.mjs +3 -3
- package/esm2022/context-dashboard/dashboard-settings/typed-dashboard-settings.component.mjs +32 -11
- package/esm2022/core/action-bar/action-bar-item.component.mjs +3 -3
- package/esm2022/core/action-bar/action-bar.component.mjs +3 -3
- package/esm2022/core/action-bar/action-bar.module.mjs +16 -5
- package/esm2022/core/bootstrap/bootstrap.component.mjs +21 -16
- package/esm2022/core/common/aggregation/aggregation.model.mjs +46 -0
- package/esm2022/core/common/aggregation/aggregation.service.mjs +34 -0
- package/esm2022/core/common/humanize-app-name.model.mjs +2 -2
- package/esm2022/core/common/humanize-app-name.pipe.mjs +2 -2
- package/esm2022/core/common/index.mjs +5 -1
- package/esm2022/core/common/inter-app.service.mjs +76 -0
- package/esm2022/core/common/interval-based-reload.abstract.mjs +110 -0
- package/esm2022/core/countdown-interval/countdown-interval.component.mjs +3 -3
- package/esm2022/core/dashboard/dashboard-child.component.mjs +6 -5
- package/esm2022/core/dashboard/dashboard.module.mjs +22 -4
- package/esm2022/core/dashboard/index.mjs +4 -1
- package/esm2022/core/dashboard/widget-auto-refresh-context/auto-refresh-control.component.mjs +101 -0
- package/esm2022/core/dashboard/widget-auto-refresh-context/auto-refresh-select-control.component.mjs +50 -0
- package/esm2022/core/dashboard/widget-auto-refresh-context/global-refresh-loading.operator.mjs +7 -0
- package/esm2022/core/dashboard/widget-auto-refresh-context/index.mjs +8 -0
- package/esm2022/core/dashboard/widget-auto-refresh-context/widget-auto-refresh-context-icon-bar.component.mjs +18 -0
- package/esm2022/core/dashboard/widget-auto-refresh-context/widget-auto-refresh-context.component.mjs +127 -0
- package/esm2022/core/dashboard/widget-auto-refresh-context/widget-auto-refresh-context.model.mjs +5 -0
- package/esm2022/core/dashboard/widget-auto-refresh-context/widget-global-auto-refresh.service.mjs +233 -0
- package/esm2022/core/dashboard/widget-change-event.model.mjs +1 -1
- package/esm2022/core/dashboard/widgets-dashboard.component.mjs +35 -30
- package/esm2022/core/dashboard/wiget-time-context/aggregation-picker/aggregation-picker.component.mjs +4 -4
- package/esm2022/core/dashboard/wiget-time-context/realtime-control/realtime-control.component.mjs +2 -2
- package/esm2022/core/dashboard/wiget-time-context/widget-time-context-helper.service.mjs +3 -2
- package/esm2022/core/dashboard/wiget-time-context/widget-time-context-icon-bar/widget-time-context-icon-bar.component.mjs +5 -5
- package/esm2022/core/dashboard/wiget-time-context/widget-time-context-query.service.mjs +7 -4
- package/esm2022/core/dashboard/wiget-time-context/widget-time-context.component.mjs +37 -36
- package/esm2022/core/dashboard/wiget-time-context/widget-time-context.model.mjs +1 -72
- package/esm2022/core/date-time-picker/date-time-picker.component.mjs +9 -3
- package/esm2022/core/header/header.module.mjs +7 -5
- package/esm2022/core/header/title/title.component.mjs +3 -3
- package/esm2022/core/i18n/cached-locale-dictionary.service.mjs +1 -1
- package/esm2022/core/i18n/i18n.module.mjs +7 -14
- package/esm2022/core/i18n/index.mjs +3 -2
- package/esm2022/core/i18n/translate.parser.mjs +2 -2
- package/esm2022/core/i18n/translation-loader.service.mjs +132 -0
- package/esm2022/core/i18n/translation-utils.mjs +24 -0
- package/esm2022/core/list-display-switch/list-display-switch.component.mjs +3 -3
- package/esm2022/core/plugins/plugins-resolve.service.mjs +12 -37
- package/esm2022/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form-validation.service.mjs +13 -6
- package/esm2022/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.mjs +22 -5
- package/esm2022/datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.mjs +3 -3
- package/esm2022/datapoint-selector/datapoint-selection.model.mjs +1 -1
- package/esm2022/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.mjs +3 -3
- package/esm2022/datapoints-export-selector/c8y-ngx-components-datapoints-export-selector.mjs +5 -0
- package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.mjs +407 -0
- package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-processing.service.mjs +207 -0
- package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.component.mjs +467 -0
- package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.service.mjs +187 -0
- package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-preview/datapoints-export-selector-preview.component.mjs +27 -0
- package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-data-scope/datapoints-exports-selector-data-scope.component.mjs +41 -0
- package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-file-types/datapoints-exports-selector-file-types.component.mjs +23 -0
- package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-time-range/datapoints-exports-selector-time-range.component.mjs +42 -0
- package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/generators/csv-generator.mjs +120 -0
- package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/generators/excel-generator.mjs +282 -0
- package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/utils.service.mjs +76 -0
- package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-modal.component.mjs +46 -0
- package/esm2022/datapoints-export-selector/datapoints-export-selector.component.mjs +42 -0
- package/esm2022/datapoints-export-selector/datapoints-export-selector.model.mjs +43 -0
- package/esm2022/datapoints-export-selector/index.mjs +15 -0
- package/esm2022/device-list/add-smart-group.component.mjs +4 -3
- package/esm2022/device-list/device-list.module.mjs +22 -4
- package/esm2022/interval-picker/c8y-ngx-components-interval-picker.mjs +5 -0
- package/esm2022/interval-picker/index.mjs +3 -0
- package/esm2022/interval-picker/interval-picker.component.mjs +68 -0
- package/esm2022/interval-picker/interval-picker.model.mjs +47 -0
- package/esm2022/map/cluster-map.component.mjs +41 -13
- package/esm2022/map/map-status.component.mjs +6 -5
- package/esm2022/map/map.component.mjs +9 -5
- package/esm2022/map/map.model.mjs +1 -1
- package/esm2022/translation-editor/c8y-ngx-components-translation-editor.mjs +5 -0
- package/esm2022/translation-editor/data/c8y-ngx-components-translation-editor-data.mjs +5 -0
- package/esm2022/translation-editor/data/index.mjs +2 -0
- package/esm2022/translation-editor/data/translation-store.service.mjs +175 -0
- package/esm2022/translation-editor/index.mjs +10 -0
- package/esm2022/translation-editor/lazy/add-translation-modal/add-translation-modal.component.mjs +70 -0
- package/esm2022/translation-editor/lazy/c8y-ngx-components-translation-editor-lazy.mjs +5 -0
- package/esm2022/translation-editor/lazy/index.mjs +2 -0
- package/esm2022/translation-editor/lazy/manage-translation-cell-renderer/manage-translation-cell-renderer.component.mjs +53 -0
- package/esm2022/translation-editor/lazy/translation-editor/translation-editor.component.mjs +124 -0
- package/esm2022/translation-editor/translation-editor-naviagtor-factory.service.mjs +31 -0
- package/esm2022/widgets/cockpit/index.mjs +4 -2
- package/esm2022/widgets/cockpit-exports/index.mjs +8 -1
- package/esm2022/widgets/definitions/alarms/alarm-list/index.mjs +6 -2
- package/esm2022/widgets/definitions/alarms/all-critical-alarms/index.mjs +6 -2
- package/esm2022/widgets/definitions/alarms/recent-alarms/index.mjs +6 -2
- package/esm2022/widgets/definitions/datapoints-table/c8y-ngx-components-widgets-definitions-datapoints-table.mjs +5 -0
- package/esm2022/widgets/definitions/datapoints-table/index.mjs +34 -0
- package/esm2022/widgets/definitions/index.mjs +2 -1
- package/esm2022/widgets/definitions/map/index.mjs +4 -2
- package/esm2022/widgets/implementations/alarms/alarm-list-widget-config/alarm-list-widget-config.component.mjs +29 -15
- package/esm2022/widgets/implementations/alarms/alarm-list-widget-view/alarm-list-widget.component.mjs +57 -25
- package/esm2022/widgets/implementations/alarms/alarm-list-widget.model.mjs +2 -1
- package/esm2022/widgets/implementations/alarms/alarm-widget-alarms-reload.component.mjs +19 -21
- package/esm2022/widgets/implementations/datapoints-table/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +5 -0
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.mjs +383 -0
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.service.mjs +124 -0
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/adjust-aggregated-time-range.pipe.mjs +191 -0
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/apply-range-class.pipe.mjs +36 -0
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/column-title.pipe.mjs +45 -0
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-reload/datapoints-reload.component.mjs +116 -0
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table/datapoints-table.component.mjs +116 -0
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table/dynamic-column.directive.mjs +43 -0
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.mjs +282 -0
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.service.mjs +430 -0
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/virtual-scroll-listener.directive.mjs +75 -0
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table-widget.model.mjs +76 -0
- package/esm2022/widgets/implementations/datapoints-table/datapoints-table.service.mjs +52 -0
- package/esm2022/widgets/implementations/datapoints-table/date-range-picker.component.mjs +68 -0
- package/esm2022/widgets/implementations/datapoints-table/index.mjs +10 -0
- package/esm2022/widgets/implementations/map/map-widget-config.component.mjs +19 -11
- package/esm2022/widgets/implementations/map/map-widget.component.mjs +20 -2
- package/esm2022/widgets/implementations/map/map-widget.model.mjs +1 -1
- package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +5 -5
- package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-alarms.mjs +189 -31
- package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-branding-shared-data.mjs +23 -0
- package/fesm2022/c8y-ngx-components-branding-shared-data.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +2 -0
- package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs +135 -91
- package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +37 -13
- package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +1928 -0
- package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-device-list.mjs +24 -5
- package/fesm2022/c8y-ngx-components-device-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-interval-picker.mjs +120 -0
- package/fesm2022/c8y-ngx-components-interval-picker.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-map.mjs +52 -19
- package/fesm2022/c8y-ngx-components-map.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-translation-editor-data.mjs +181 -0
- package/fesm2022/c8y-ngx-components-translation-editor-data.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +236 -0
- package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-translation-editor.mjs +46 -0
- package/fesm2022/c8y-ngx-components-translation-editor.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-widgets-cockpit-exports.mjs +7 -0
- package/fesm2022/c8y-ngx-components-widgets-cockpit-exports.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-cockpit.mjs +3 -1
- package/fesm2022/c8y-ngx-components-widgets-cockpit.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs +5 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs +5 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs +5 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs +41 -0
- package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs +3 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-definitions.mjs +1 -0
- package/fesm2022/c8y-ngx-components-widgets-definitions.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +101 -58
- package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +1967 -0
- package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -0
- package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +37 -11
- package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +5093 -4369
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/interval-picker/c8y-ngx-components-interval-picker.d.ts.map +1 -0
- package/interval-picker/index.d.ts +3 -0
- package/interval-picker/index.d.ts.map +1 -0
- package/{core/dashboard/wiget-time-context/interval-picker → interval-picker}/interval-picker.component.d.ts +10 -2
- package/interval-picker/interval-picker.component.d.ts.map +1 -0
- package/interval-picker/interval-picker.model.d.ts +15 -0
- package/interval-picker/interval-picker.model.d.ts.map +1 -0
- package/locales/de.po +289 -18
- package/locales/en.po +12 -0
- package/locales/en_US.po +3 -0
- package/locales/es.po +253 -18
- package/locales/fr.po +253 -18
- package/locales/ja_JP.po +282 -18
- package/locales/locales.pot +266 -21
- package/locales/nl.po +253 -18
- package/locales/pl.po +253 -18
- package/locales/pt_BR.po +253 -18
- package/map/cluster-map.component.d.ts +8 -3
- package/map/cluster-map.component.d.ts.map +1 -1
- package/map/map-status.component.d.ts +0 -3
- package/map/map-status.component.d.ts.map +1 -1
- package/map/map.component.d.ts +4 -2
- package/map/map.component.d.ts.map +1 -1
- package/map/map.model.d.ts +2 -1
- package/map/map.model.d.ts.map +1 -1
- package/package.json +1 -1
- package/translation-editor/c8y-ngx-components-translation-editor.d.ts.map +1 -0
- package/translation-editor/data/c8y-ngx-components-translation-editor-data.d.ts.map +1 -0
- package/translation-editor/data/index.d.ts +2 -0
- package/translation-editor/data/index.d.ts.map +1 -0
- package/translation-editor/data/translation-store.service.d.ts +61 -0
- package/translation-editor/data/translation-store.service.d.ts.map +1 -0
- package/translation-editor/index.d.ts +2 -0
- package/translation-editor/index.d.ts.map +1 -0
- package/translation-editor/lazy/add-translation-modal/add-translation-modal.component.d.ts +30 -0
- package/translation-editor/lazy/add-translation-modal/add-translation-modal.component.d.ts.map +1 -0
- package/translation-editor/lazy/c8y-ngx-components-translation-editor-lazy.d.ts.map +1 -0
- package/translation-editor/lazy/index.d.ts +2 -0
- package/translation-editor/lazy/index.d.ts.map +1 -0
- package/translation-editor/lazy/manage-translation-cell-renderer/manage-translation-cell-renderer.component.d.ts +22 -0
- package/translation-editor/lazy/manage-translation-cell-renderer/manage-translation-cell-renderer.component.d.ts.map +1 -0
- package/translation-editor/lazy/translation-editor/translation-editor.component.d.ts +34 -0
- package/translation-editor/lazy/translation-editor/translation-editor.component.d.ts.map +1 -0
- package/translation-editor/translation-editor-naviagtor-factory.service.d.ts +11 -0
- package/translation-editor/translation-editor-naviagtor-factory.service.d.ts.map +1 -0
- package/widgets/cockpit/index.d.ts +13 -0
- package/widgets/cockpit/index.d.ts.map +1 -1
- package/widgets/cockpit-exports/index.d.ts +6 -0
- package/widgets/cockpit-exports/index.d.ts.map +1 -1
- package/widgets/definitions/alarms/alarm-list/index.d.ts +2 -0
- package/widgets/definitions/alarms/alarm-list/index.d.ts.map +1 -1
- package/widgets/definitions/alarms/all-critical-alarms/index.d.ts +2 -0
- package/widgets/definitions/alarms/all-critical-alarms/index.d.ts.map +1 -1
- package/widgets/definitions/alarms/recent-alarms/index.d.ts +2 -0
- package/widgets/definitions/alarms/recent-alarms/index.d.ts.map +1 -1
- package/widgets/definitions/datapoints-table/c8y-ngx-components-widgets-definitions-datapoints-table.d.ts.map +1 -0
- package/widgets/definitions/datapoints-table/index.d.ts +14 -0
- package/widgets/definitions/datapoints-table/index.d.ts.map +1 -0
- package/widgets/definitions/index.d.ts +1 -0
- package/widgets/definitions/index.d.ts.map +1 -1
- package/widgets/definitions/map/index.d.ts +2 -1
- package/widgets/definitions/map/index.d.ts.map +1 -1
- package/widgets/implementations/alarms/alarm-list-widget-config/alarm-list-widget-config.component.d.ts +5 -9
- package/widgets/implementations/alarms/alarm-list-widget-config/alarm-list-widget-config.component.d.ts.map +1 -1
- package/widgets/implementations/alarms/alarm-list-widget-view/alarm-list-widget.component.d.ts +17 -10
- package/widgets/implementations/alarms/alarm-list-widget-view/alarm-list-widget.component.d.ts.map +1 -1
- package/widgets/implementations/alarms/alarm-list-widget.model.d.ts +5 -1
- package/widgets/implementations/alarms/alarm-list-widget.model.d.ts.map +1 -1
- package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts +5 -11
- package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts.map +1 -1
- package/widgets/implementations/datapoints-table/c8y-ngx-components-widgets-implementations-datapoints-table.d.ts.map +1 -0
- package/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.d.ts +129 -0
- package/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.d.ts.map +1 -0
- package/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.service.d.ts +56 -0
- package/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.service.d.ts.map +1 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/adjust-aggregated-time-range.pipe.d.ts +88 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/adjust-aggregated-time-range.pipe.d.ts.map +1 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/apply-range-class.pipe.d.ts +19 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/apply-range-class.pipe.d.ts.map +1 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/column-title.pipe.d.ts +26 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/column-title.pipe.d.ts.map +1 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-reload/datapoints-reload.component.d.ts +63 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-reload/datapoints-reload.component.d.ts.map +1 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table/datapoints-table.component.d.ts +38 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table/datapoints-table.component.d.ts.map +1 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table/dynamic-column.directive.d.ts +13 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table/dynamic-column.directive.d.ts.map +1 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.d.ts +123 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.d.ts.map +1 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.service.d.ts +196 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.service.d.ts.map +1 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/virtual-scroll-listener.directive.d.ts +41 -0
- package/widgets/implementations/datapoints-table/datapoints-table-view/virtual-scroll-listener.directive.d.ts.map +1 -0
- package/widgets/implementations/datapoints-table/datapoints-table-widget.model.d.ts +175 -0
- package/widgets/implementations/datapoints-table/datapoints-table-widget.model.d.ts.map +1 -0
- package/widgets/implementations/datapoints-table/datapoints-table.service.d.ts +12 -0
- package/widgets/implementations/datapoints-table/datapoints-table.service.d.ts.map +1 -0
- package/widgets/implementations/datapoints-table/date-range-picker.component.d.ts +34 -0
- package/widgets/implementations/datapoints-table/date-range-picker.component.d.ts.map +1 -0
- package/widgets/implementations/datapoints-table/index.d.ts +10 -0
- package/widgets/implementations/datapoints-table/index.d.ts.map +1 -0
- package/widgets/implementations/map/map-widget-config.component.d.ts +4 -4
- package/widgets/implementations/map/map-widget-config.component.d.ts.map +1 -1
- package/widgets/implementations/map/map-widget.component.d.ts +8 -3
- package/widgets/implementations/map/map-widget.component.d.ts.map +1 -1
- package/widgets/implementations/map/map-widget.model.d.ts +4 -3
- package/widgets/implementations/map/map-widget.model.d.ts.map +1 -1
- package/core/dashboard/wiget-time-context/interval-picker/interval-picker.component.d.ts.map +0 -1
- package/core/i18n/translate.loader.d.ts +0 -31
- package/core/i18n/translate.loader.d.ts.map +0 -1
- package/esm2022/core/dashboard/wiget-time-context/interval-picker/interval-picker.component.mjs +0 -55
- package/esm2022/core/i18n/translate.loader.mjs +0 -71
package/esm2022/core/dashboard/widget-auto-refresh-context/widget-auto-refresh-context.component.mjs
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { Component, inject, Input } from '@angular/core';
|
|
2
|
+
import { FormBuilder } from '@angular/forms';
|
|
3
|
+
import { filter, takeUntil, tap } from 'rxjs/operators';
|
|
4
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
5
|
+
import { GLOBAL_CONTEXT_AUTO_REFRESH } from './widget-auto-refresh-context.model';
|
|
6
|
+
import { WidgetGlobalAutoRefreshService } from './widget-global-auto-refresh.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../common/icon.directive";
|
|
9
|
+
import * as i2 from "@angular/common";
|
|
10
|
+
import * as i3 from "../../action-bar/action-bar-item.component";
|
|
11
|
+
import * as i4 from "ngx-bootstrap/tooltip";
|
|
12
|
+
import * as i5 from "@angular/forms";
|
|
13
|
+
import * as i6 from "./auto-refresh-control.component";
|
|
14
|
+
import * as i7 from "./auto-refresh-select-control.component";
|
|
15
|
+
import * as i8 from "@ngx-translate/core";
|
|
16
|
+
export class WidgetAutoRefreshContextComponent {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.globalRefreshWidgetLoading = true;
|
|
19
|
+
this.ACTION_BAR_GROUP_ID = 'globalrefreshcontext';
|
|
20
|
+
this.ACTION_BAR_PRIORITY = 5;
|
|
21
|
+
this.destroy$ = new Subject();
|
|
22
|
+
this.fb = inject(FormBuilder);
|
|
23
|
+
this.widgetGlobalAutoRefresh = inject(WidgetGlobalAutoRefreshService);
|
|
24
|
+
}
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
this.widgetGlobalAutoRefresh.globalRefreshWidgetsCount.update(count => count + 1);
|
|
27
|
+
this.form = this.createForm();
|
|
28
|
+
this.subscribeOnAutoRefreshSecondsChange();
|
|
29
|
+
this.subscribeOnAutoRefreshChange();
|
|
30
|
+
this.subscribeOnRouterEvents();
|
|
31
|
+
}
|
|
32
|
+
ngAfterViewInit() {
|
|
33
|
+
this.initializeWidgetSubscriptions();
|
|
34
|
+
this.subscribeOnQueryParamChange();
|
|
35
|
+
this.widgetGlobalAutoRefresh.autoRefreshSettings.isEnabled$
|
|
36
|
+
.pipe(tap(() => this.setAutoRefreshQueryParam()))
|
|
37
|
+
.pipe(takeUntil(this.destroy$))
|
|
38
|
+
.subscribe();
|
|
39
|
+
this.widgetGlobalAutoRefresh
|
|
40
|
+
.initializeAutoRefreshCountdownLoading$(this.editMode$)
|
|
41
|
+
.pipe(takeUntil(this.destroy$))
|
|
42
|
+
.subscribe();
|
|
43
|
+
this.listenOnDashboardSaveOperation();
|
|
44
|
+
}
|
|
45
|
+
ngOnDestroy() {
|
|
46
|
+
this.onContextDestroy();
|
|
47
|
+
}
|
|
48
|
+
onRefresh() {
|
|
49
|
+
this.widgetGlobalAutoRefresh.countdownActions.countdownEnded$.next();
|
|
50
|
+
}
|
|
51
|
+
createForm() {
|
|
52
|
+
return this.fb.group({
|
|
53
|
+
autoRefresh: this.widgetGlobalAutoRefresh.autoRefreshSettings.isEnabled$.getValue(),
|
|
54
|
+
autoRefreshSeconds: this.widgetGlobalAutoRefresh.autoRefreshSettings.refreshInterval$.getValue()
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
subscribeOnAutoRefreshSecondsChange() {
|
|
58
|
+
const autoRefreshSecondsChanges$ = this.form.controls.autoRefreshSeconds.valueChanges;
|
|
59
|
+
autoRefreshSecondsChanges$
|
|
60
|
+
.pipe(tap(value => this.widgetGlobalAutoRefresh.autoRefreshSettings.refreshInterval$.next(value)), this.widgetGlobalAutoRefresh.resetCountdownOnLoadingComplete$(), takeUntil(this.destroy$))
|
|
61
|
+
.subscribe();
|
|
62
|
+
}
|
|
63
|
+
subscribeOnAutoRefreshChange() {
|
|
64
|
+
const autoRefreshChanges$ = this.form.controls.autoRefresh.valueChanges;
|
|
65
|
+
autoRefreshChanges$
|
|
66
|
+
.pipe(tap(value => this.widgetGlobalAutoRefresh.autoRefreshSettings.isEnabled$.next(value)), filter(Boolean), this.widgetGlobalAutoRefresh.resetCountdownOnLoadingComplete$(), takeUntil(this.destroy$))
|
|
67
|
+
.subscribe();
|
|
68
|
+
}
|
|
69
|
+
initializeWidgetSubscriptions() {
|
|
70
|
+
this.editMode$
|
|
71
|
+
.pipe(takeUntil(this.destroy$))
|
|
72
|
+
.subscribe(editMode => this.widgetGlobalAutoRefresh.onEditModeChange(editMode));
|
|
73
|
+
}
|
|
74
|
+
setAutoRefreshQueryParam() {
|
|
75
|
+
queueMicrotask(() => {
|
|
76
|
+
if (this.widgetGlobalAutoRefresh.globalRefreshWidgetsCount() === 0) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const queryParam = {
|
|
80
|
+
[GLOBAL_CONTEXT_AUTO_REFRESH]: this.widgetGlobalAutoRefresh.autoRefreshSettings.isEnabled$.getValue()
|
|
81
|
+
};
|
|
82
|
+
this.widgetGlobalAutoRefresh.setAutoRefreshQueryParam(queryParam);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
subscribeOnQueryParamChange() {
|
|
86
|
+
this.widgetGlobalAutoRefresh
|
|
87
|
+
.getQueryParamChangeValue$()
|
|
88
|
+
.pipe(tap(paramValue => paramValue === null && this.setAutoRefreshQueryParam()), filter(paramValue => paramValue !== null &&
|
|
89
|
+
this.widgetGlobalAutoRefresh.autoRefreshSettings.isEnabled$.getValue() !== paramValue), tap(paramValue => {
|
|
90
|
+
this.widgetGlobalAutoRefresh.autoRefreshSettings.isEnabled$.next(paramValue);
|
|
91
|
+
this.setAutoRefreshQueryParam();
|
|
92
|
+
if (paramValue) {
|
|
93
|
+
this.widgetGlobalAutoRefresh.resetCountdown();
|
|
94
|
+
}
|
|
95
|
+
}), takeUntil(this.destroy$))
|
|
96
|
+
.subscribe();
|
|
97
|
+
}
|
|
98
|
+
subscribeOnRouterEvents() {
|
|
99
|
+
this.widgetGlobalAutoRefresh
|
|
100
|
+
.handleNavigationInProgress$()
|
|
101
|
+
.pipe(takeUntil(this.destroy$))
|
|
102
|
+
.subscribe();
|
|
103
|
+
}
|
|
104
|
+
onContextDestroy() {
|
|
105
|
+
const widgetsCount = this.widgetGlobalAutoRefresh.globalRefreshWidgetsCount;
|
|
106
|
+
widgetsCount.update(count => count - 1);
|
|
107
|
+
if (widgetsCount() === 0) {
|
|
108
|
+
this.destroy$.next();
|
|
109
|
+
this.destroy$.complete();
|
|
110
|
+
this.widgetGlobalAutoRefresh.resetServiceToDefaults();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
listenOnDashboardSaveOperation() {
|
|
114
|
+
this.widgetGlobalAutoRefresh.onDashboardSave$
|
|
115
|
+
.pipe(this.widgetGlobalAutoRefresh.resetCountdownOnLoadingComplete$(), takeUntil(this.destroy$))
|
|
116
|
+
.subscribe();
|
|
117
|
+
}
|
|
118
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: WidgetAutoRefreshContextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
119
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: WidgetAutoRefreshContextComponent, selector: "c8y-widget-auto-refresh-context", inputs: { editMode$: "editMode$" }, ngImport: i0, template: "<c8y-action-bar-item\n [groupId]=\"ACTION_BAR_GROUP_ID\"\n [priority]=\"ACTION_BAR_PRIORITY\"\n [placement]=\"'left'\"\n>\n <form\n class=\"d-flex\"\n [formGroup]=\"form\"\n >\n <c8y-auto-refresh-control\n [hidden]=\"editMode$ | async\"\n (loading)=\"globalRefreshWidgetLoading = $event\"\n formControlName=\"autoRefresh\"\n ></c8y-auto-refresh-control>\n\n <c8y-auto-refresh-select-control\n [hidden]=\"editMode$ | async\"\n formControlName=\"autoRefreshSeconds\"\n ></c8y-auto-refresh-select-control>\n </form>\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n style=\"border-left: 0\"\n [attr.aria-label]=\"'Refresh' | translate\"\n [tooltip]=\"'Refresh' | translate\"\n placement=\"bottom\"\n type=\"button\"\n *ngIf=\"!(editMode$ | async)\"\n [adaptivePosition]=\"false\"\n [delay]=\"500\"\n [disabled]=\"globalRefreshWidgetLoading\"\n (click)=\"onRefresh()\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': globalRefreshWidgetLoading }\"\n ></i>\n </button>\n </div>\n</c8y-action-bar-item>\n", dependencies: [{ kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "directive", type: i4.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.AutoRefreshControlComponent, selector: "c8y-auto-refresh-control", outputs: ["loading"] }, { kind: "component", type: i7.AutoRefreshSelectControlComponent, selector: "c8y-auto-refresh-select-control" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
|
|
120
|
+
}
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: WidgetAutoRefreshContextComponent, decorators: [{
|
|
122
|
+
type: Component,
|
|
123
|
+
args: [{ selector: 'c8y-widget-auto-refresh-context', template: "<c8y-action-bar-item\n [groupId]=\"ACTION_BAR_GROUP_ID\"\n [priority]=\"ACTION_BAR_PRIORITY\"\n [placement]=\"'left'\"\n>\n <form\n class=\"d-flex\"\n [formGroup]=\"form\"\n >\n <c8y-auto-refresh-control\n [hidden]=\"editMode$ | async\"\n (loading)=\"globalRefreshWidgetLoading = $event\"\n formControlName=\"autoRefresh\"\n ></c8y-auto-refresh-control>\n\n <c8y-auto-refresh-select-control\n [hidden]=\"editMode$ | async\"\n formControlName=\"autoRefreshSeconds\"\n ></c8y-auto-refresh-select-control>\n </form>\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n style=\"border-left: 0\"\n [attr.aria-label]=\"'Refresh' | translate\"\n [tooltip]=\"'Refresh' | translate\"\n placement=\"bottom\"\n type=\"button\"\n *ngIf=\"!(editMode$ | async)\"\n [adaptivePosition]=\"false\"\n [delay]=\"500\"\n [disabled]=\"globalRefreshWidgetLoading\"\n (click)=\"onRefresh()\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': globalRefreshWidgetLoading }\"\n ></i>\n </button>\n </div>\n</c8y-action-bar-item>\n" }]
|
|
124
|
+
}], propDecorators: { editMode$: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}] } });
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWF1dG8tcmVmcmVzaC1jb250ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvcmUvZGFzaGJvYXJkL3dpZGdldC1hdXRvLXJlZnJlc2gtY29udGV4dC93aWRnZXQtYXV0by1yZWZyZXNoLWNvbnRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vY29yZS9kYXNoYm9hcmQvd2lkZ2V0LWF1dG8tcmVmcmVzaC1jb250ZXh0L3dpZGdldC1hdXRvLXJlZnJlc2gtY29udGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUNMLDJCQUEyQixFQUU1QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7Ozs7O0FBTXRGLE1BQU0sT0FBTyxpQ0FBaUM7SUFKOUM7UUFVRSwrQkFBMEIsR0FBRyxJQUFJLENBQUM7UUFDekIsd0JBQW1CLEdBQUcsc0JBQXNCLENBQUM7UUFDN0Msd0JBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBRXpCLGFBQVEsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUUvQixPQUFFLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pCLDRCQUF1QixHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0tBMEluRjtJQXhJQyxRQUFRO1FBQ04sSUFB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bXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgR0xPQkFMX0NPTlRFWFRfQVVUT19SRUZSRVNILFxuICBHbG9iYWxBdXRvUmVmcmVzaFF1ZXJ5UGFyYW1cbn0gZnJvbSAnLi93aWRnZXQtYXV0by1yZWZyZXNoLWNvbnRleHQubW9kZWwnO1xuaW1wb3J0IHsgV2lkZ2V0R2xvYmFsQXV0b1JlZnJlc2hTZXJ2aWNlIH0gZnJvbSAnLi93aWRnZXQtZ2xvYmFsLWF1dG8tcmVmcmVzaC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LXdpZGdldC1hdXRvLXJlZnJlc2gtY29udGV4dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93aWRnZXQtYXV0by1yZWZyZXNoLWNvbnRleHQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFdpZGdldEF1dG9SZWZyZXNoQ29udGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgZm9ybTogUmV0dXJuVHlwZTxXaWRnZXRBdXRvUmVmcmVzaENvbnRleHRDb21wb25lbnRbJ2NyZWF0ZUZvcm0nXT47XG5cbiAgQElucHV0KClcbiAgZWRpdE1vZGUkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG5cbiAgZ2xvYmFsUmVmcmVzaFdpZGdldExvYWRpbmcgPSB0cnVlO1xuICByZWFkb25seSBBQ1RJT05fQkFSX0dST1VQX0lEID0gJ2dsb2JhbHJlZnJlc2hjb250ZXh0JztcbiAgcmVhZG9ubHkgQUNUSU9OX0JBUl9QUklPUklUWSA9IDU7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBmYiA9IGluamVjdChGb3JtQnVpbGRlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2lkZ2V0R2xvYmFsQXV0b1JlZnJlc2ggPSBpbmplY3QoV2lkZ2V0R2xvYmFsQXV0b1JlZnJlc2hTZXJ2aWNlKTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLndpZGdldEdsb2JhbEF1dG9SZWZyZXNoLmdsb2JhbFJlZnJlc2hXaWRnZXRzQ291bnQudXBkYXRlKGNvdW50ID0+IGNvdW50ICsgMSk7XG5cbiAgICB0aGlzLmZvcm0gPSB0aGlzLmNyZWF0ZUZvcm0oKTtcblxuICAgIHRoaXMuc3Vic2NyaWJlT25BdXRvUmVmcmVzaFNlY29uZHNDaGFuZ2UoKTtcbiAgICB0aGlzLnN1YnNjcmliZU9uQXV0b1JlZnJlc2hDaGFuZ2UoKTtcbiAgICB0aGlzLnN1YnNjcmliZU9uUm91dGVyRXZlbnRzKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplV2lkZ2V0U3Vic2NyaXB0aW9ucygpO1xuICAgIHRoaXMuc3Vic2NyaWJlT25RdWVyeVBhcmFtQ2hhbmdlKCk7XG5cbiAgICB0aGlzLndpZGdldEdsb2JhbEF1dG9SZWZyZXNoLmF1dG9SZWZyZXNoU2V0dGluZ3MuaXNFbmFibGVkJFxuICAgICAgLnBpcGUodGFwKCgpID0+IHRoaXMuc2V0QXV0b1JlZnJlc2hRdWVyeVBhcmFtKCkpKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy53aWRnZXRHbG9iYWxBdXRvUmVmcmVzaFxuICAgICAgLmluaXRpYWxpemVBdXRvUmVmcmVzaENvdW50ZG93bkxvYWRpbmckKHRoaXMuZWRpdE1vZGUkKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5saXN0ZW5PbkRhc2hib2FyZFNhdmVPcGVyYXRpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25Db250ZXh0RGVzdHJveSgpO1xuICB9XG5cbiAgb25SZWZyZXNoKCkge1xuICAgIHRoaXMud2lkZ2V0R2xvYmFsQXV0b1JlZnJlc2guY291bnRkb3duQWN0aW9ucy5jb3VudGRvd25FbmRlZCQubmV4dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGb3JtKCkge1xuICAgIHJldHVybiB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGF1dG9SZWZyZXNoOiB0aGlzLndpZGdldEdsb2JhbEF1dG9SZWZyZXNoLmF1dG9SZWZyZXNoU2V0dGluZ3MuaXNFbmFibGVkJC5nZXRWYWx1ZSgpLFxuICAgICAgYXV0b1JlZnJlc2hTZWNvbmRzOlxuICAgICAgICB0aGlzLndpZGdldEdsb2JhbEF1dG9SZWZyZXNoLmF1dG9SZWZyZXNoU2V0dGluZ3MucmVmcmVzaEludGVydmFsJC5nZXRWYWx1ZSgpXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZU9uQXV0b1JlZnJlc2hTZWNvbmRzQ2hhbmdlKCkge1xuICAgIGNvbnN0IGF1dG9SZWZyZXNoU2Vjb25kc0NoYW5nZXMkID0gdGhpcy5mb3JtLmNvbnRyb2xzLmF1dG9SZWZyZXNoU2Vjb25kcy52YWx1ZUNoYW5nZXM7XG5cbiAgICBhdXRvUmVmcmVzaFNlY29uZHNDaGFuZ2VzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCh2YWx1ZSA9PiB0aGlzLndpZGdldEdsb2JhbEF1dG9SZWZyZXNoLmF1dG9SZWZyZXNoU2V0dGluZ3MucmVmcmVzaEludGVydmFsJC5uZXh0KHZhbHVlKSksXG4gICAgICAgIHRoaXMud2lkZ2V0R2xvYmFsQXV0b1JlZnJlc2gucmVzZXRDb3VudGRvd25PbkxvYWRpbmdDb21wbGV0ZSQoKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZU9uQXV0b1JlZnJlc2hDaGFuZ2UoKSB7XG4gICAgY29uc3QgYXV0b1JlZnJlc2hDaGFuZ2VzJCA9IHRoaXMuZm9ybS5jb250cm9scy5hdXRvUmVmcmVzaC52YWx1ZUNoYW5nZXM7XG5cbiAgICBhdXRvUmVmcmVzaENoYW5nZXMkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHZhbHVlID0+IHRoaXMud2lkZ2V0R2xvYmFsQXV0b1JlZnJlc2guYXV0b1JlZnJlc2hTZXR0aW5ncy5pc0VuYWJsZWQkLm5leHQodmFsdWUpKSxcbiAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICB0aGlzLndpZGdldEdsb2JhbEF1dG9SZWZyZXNoLnJlc2V0Q291bnRkb3duT25Mb2FkaW5nQ29tcGxldGUkKCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplV2lkZ2V0U3Vic2NyaXB0aW9ucygpIHtcbiAgICB0aGlzLmVkaXRNb2RlJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShlZGl0TW9kZSA9PiB0aGlzLndpZGdldEdsb2JhbEF1dG9SZWZyZXNoLm9uRWRpdE1vZGVDaGFuZ2UoZWRpdE1vZGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QXV0b1JlZnJlc2hRdWVyeVBhcmFtKCkge1xuICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLndpZGdldEdsb2JhbEF1dG9SZWZyZXNoLmdsb2JhbFJlZnJlc2hXaWRnZXRzQ291bnQoKSA9PT0gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBxdWVyeVBhcmFtOiBHbG9iYWxBdXRvUmVmcmVzaFF1ZXJ5UGFyYW0gPSB7XG4gICAgICAgIFtHTE9CQUxfQ09OVEVYVF9BVVRPX1JFRlJFU0hdOlxuICAgICAgICAgIHRoaXMud2lkZ2V0R2xvYmFsQXV0b1JlZnJlc2guYXV0b1JlZnJlc2hTZXR0aW5ncy5pc0VuYWJsZWQkLmdldFZhbHVlKClcbiAgICAgIH07XG4gICAgICB0aGlzLndpZGdldEdsb2JhbEF1dG9SZWZyZXNoLnNldEF1dG9SZWZyZXNoUXVlcnlQYXJhbShxdWVyeVBhcmFtKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlT25RdWVyeVBhcmFtQ2hhbmdlKCkge1xuICAgIHRoaXMud2lkZ2V0R2xvYmFsQXV0b1JlZnJlc2hcbiAgICAgIC5nZXRRdWVyeVBhcmFtQ2hhbmdlVmFsdWUkKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAocGFyYW1WYWx1ZSA9PiBwYXJhbVZhbHVlID09PSBudWxsICYmIHRoaXMuc2V0QXV0b1JlZnJlc2hRdWVyeVBhcmFtKCkpLFxuICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgcGFyYW1WYWx1ZSA9PlxuICAgICAgICAgICAgcGFyYW1WYWx1ZSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgdGhpcy53aWRnZXRHbG9iYWxBdXRvUmVmcmVzaC5hdXRvUmVmcmVzaFNldHRpbmdzLmlzRW5hYmxlZCQuZ2V0VmFsdWUoKSAhPT0gcGFyYW1WYWx1ZVxuICAgICAgICApLFxuICAgICAgICB0YXAocGFyYW1WYWx1ZSA9PiB7XG4gICAgICAgICAgdGhpcy53aWRnZXRHbG9iYWxBdXRvUmVmcmVzaC5hdXRvUmVmcmVzaFNldHRpbmdzLmlzRW5hYmxlZCQubmV4dChwYXJhbVZhbHVlKTtcbiAgICAgICAgICB0aGlzLnNldEF1dG9SZWZyZXNoUXVlcnlQYXJhbSgpO1xuICAgICAgICAgIGlmIChwYXJhbVZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLndpZGdldEdsb2JhbEF1dG9SZWZyZXNoLnJlc2V0Q291bnRkb3duKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZU9uUm91dGVyRXZlbnRzKCkge1xuICAgIHRoaXMud2lkZ2V0R2xvYmFsQXV0b1JlZnJlc2hcbiAgICAgIC5oYW5kbGVOYXZpZ2F0aW9uSW5Qcm9ncmVzcyQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNvbnRleHREZXN0cm95KCkge1xuICAgIGNvbnN0IHdpZGdldHNDb3VudCA9IHRoaXMud2lkZ2V0R2xvYmFsQXV0b1JlZnJlc2guZ2xvYmFsUmVmcmVzaFdpZGdldHNDb3VudDtcbiAgICB3aWRnZXRzQ291bnQudXBkYXRlKGNvdW50ID0+IGNvdW50IC0gMSk7XG5cbiAgICBpZiAod2lkZ2V0c0NvdW50KCkgPT09IDApIHtcbiAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuXG4gICAgICB0aGlzLndpZGdldEdsb2JhbEF1dG9SZWZyZXNoLnJlc2V0U2VydmljZVRvRGVmYXVsdHMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxpc3Rlbk9uRGFzaGJvYXJkU2F2ZU9wZXJhdGlvbigpIHtcbiAgICB0aGlzLndpZGdldEdsb2JhbEF1dG9SZWZyZXNoLm9uRGFzaGJvYXJkU2F2ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0aGlzLndpZGdldEdsb2JhbEF1dG9SZWZyZXNoLnJlc2V0Q291bnRkb3duT25Mb2FkaW5nQ29tcGxldGUkKCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8Yzh5LWFjdGlvbi1iYXItaXRlbVxuICBbZ3JvdXBJZF09XCJBQ1RJT05fQkFSX0dST1VQX0lEXCJcbiAgW3ByaW9yaXR5XT1cIkFDVElPTl9CQVJfUFJJT1JJVFlcIlxuICBbcGxhY2VtZW50XT1cIidsZWZ0J1wiXG4+XG4gIDxmb3JtXG4gICAgY2xhc3M9XCJkLWZsZXhcIlxuICAgIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gID5cbiAgICA8Yzh5LWF1dG8tcmVmcmVzaC1jb250cm9sXG4gICAgICBbaGlkZGVuXT1cImVkaXRNb2RlJCB8IGFzeW5jXCJcbiAgICAgIChsb2FkaW5nKT1cImdsb2JhbFJlZnJlc2hXaWRnZXRMb2FkaW5nID0gJGV2ZW50XCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImF1dG9SZWZyZXNoXCJcbiAgICA+PC9jOHktYXV0by1yZWZyZXNoLWNvbnRyb2w+XG5cbiAgICA8Yzh5LWF1dG8tcmVmcmVzaC1zZWxlY3QtY29udHJvbFxuICAgICAgW2hpZGRlbl09XCJlZGl0TW9kZSQgfCBhc3luY1wiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJhdXRvUmVmcmVzaFNlY29uZHNcIlxuICAgID48L2M4eS1hdXRvLXJlZnJlc2gtc2VsZWN0LWNvbnRyb2w+XG4gIDwvZm9ybT5cbiAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLWJ0blwiPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICAgIHN0eWxlPVwiYm9yZGVyLWxlZnQ6IDBcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInUmVmcmVzaCcgfCB0cmFuc2xhdGVcIlxuICAgICAgW3Rvb2x0aXBdPVwiJ1JlZnJlc2gnIHwgdHJhbnNsYXRlXCJcbiAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICpuZ0lmPVwiIShlZGl0TW9kZSQgfCBhc3luYylcIlxuICAgICAgW2FkYXB0aXZlUG9zaXRpb25dPVwiZmFsc2VcIlxuICAgICAgW2RlbGF5XT1cIjUwMFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZ2xvYmFsUmVmcmVzaFdpZGdldExvYWRpbmdcIlxuICAgICAgKGNsaWNrKT1cIm9uUmVmcmVzaCgpXCJcbiAgICA+XG4gICAgICA8aVxuICAgICAgICBjOHlJY29uPVwicmVmcmVzaFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ljb24tc3Bpbic6IGdsb2JhbFJlZnJlc2hXaWRnZXRMb2FkaW5nIH1cIlxuICAgICAgPjwvaT5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG4iXX0=
|
package/esm2022/core/dashboard/widget-auto-refresh-context/widget-auto-refresh-context.model.mjs
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const DEFAULT_INTERVAL_VALUE = 30_000;
|
|
2
|
+
export const DEFAULT_INTERVAL_VALUES = [5_000, 10_000, 15_000, 30_000, 60_000];
|
|
3
|
+
export const DEFAULT_INTERVAL_STATE = true;
|
|
4
|
+
export const GLOBAL_CONTEXT_AUTO_REFRESH = 'globalContextAutoRefresh';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWF1dG8tcmVmcmVzaC1jb250ZXh0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29yZS9kYXNoYm9hcmQvd2lkZ2V0LWF1dG8tcmVmcmVzaC1jb250ZXh0L3dpZGdldC1hdXRvLXJlZnJlc2gtY29udGV4dC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLENBQUM7QUFDN0MsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0UsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5URVJWQUxfVkFMVUUgPSAzMF8wMDA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlRFUlZBTF9WQUxVRVMgPSBbNV8wMDAsIDEwXzAwMCwgMTVfMDAwLCAzMF8wMDAsIDYwXzAwMF07XG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlRFUlZBTF9TVEFURSA9IHRydWU7XG5cbmV4cG9ydCBjb25zdCBHTE9CQUxfQ09OVEVYVF9BVVRPX1JFRlJFU0ggPSAnZ2xvYmFsQ29udGV4dEF1dG9SZWZyZXNoJztcbmV4cG9ydCB0eXBlIEdsb2JhbEF1dG9SZWZyZXNoUXVlcnlQYXJhbSA9IHtcbiAgW0dMT0JBTF9DT05URVhUX0FVVE9fUkVGUkVTSF06IGJvb2xlYW47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEdsb2JhbEF1dG9SZWZyZXNoV2lkZ2V0Q29uZmlnIHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiBpbnN0YW5jZSBvZiB3aWRnZXQgaXMgYm91bmQgdG8gZ2xvYmFsIGF1dG8gcmVmcmVzaCBjb250ZXh0LiBJdCBjYW4gYmUgb25seSB1c2VkIHdpdGggd2lkZ2V0cyB3aGljaFxuICAgKiBkeW5hbWljIGNvbXBvbmVudCBkZWZpbml0aW9uIGNvbnRhaW5zIGRpc3BsYXlTZXR0aW5ncyBhbGxvd2luZyB0byB1c2UgaXQgd2l0aCBnbG9iYWwgYXV0byByZWZyZXNoIGNvbnRleHQuXG4gICAqL1xuICB3aWRnZXRJbnN0YW5jZUdsb2JhbEF1dG9SZWZyZXNoQ29udGV4dD86IGJvb2xlYW47XG59XG4iXX0=
|
package/esm2022/core/dashboard/widget-auto-refresh-context/widget-global-auto-refresh.service.mjs
ADDED
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { inject, Injectable, signal } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
3
|
+
import { distinctUntilChanged, filter, map, skip, switchMap, tap } from 'rxjs/operators';
|
|
4
|
+
import { DEFAULT_INTERVAL_STATE, DEFAULT_INTERVAL_VALUE, GLOBAL_CONTEXT_AUTO_REFRESH } from './widget-auto-refresh-context.model';
|
|
5
|
+
import { ActivatedRoute, NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class WidgetGlobalAutoRefreshService {
|
|
8
|
+
constructor() {
|
|
9
|
+
/**
|
|
10
|
+
* A BehaviorSubject that tracks the number of loading operations in progress.
|
|
11
|
+
* Initialized with a count of 0.
|
|
12
|
+
*/
|
|
13
|
+
this.loadingCount$ = new BehaviorSubject(0);
|
|
14
|
+
/**
|
|
15
|
+
* An Observable that emits a boolean indicating whether any widgets with global refresh option are currently loading.
|
|
16
|
+
* The value is true if the loading count is non-zero, and false if the loading count is zero.
|
|
17
|
+
* Uses distinctUntilChanged() to emit only when the boolean value changes.
|
|
18
|
+
*/
|
|
19
|
+
this.isLoadingWidgets$ = this.loadingCount$.pipe(distinctUntilChanged(), map(count => count !== 0));
|
|
20
|
+
/**
|
|
21
|
+
* Object containing behavior subjects for managing auto-refresh settings.
|
|
22
|
+
*/
|
|
23
|
+
this.autoRefreshSettings = {
|
|
24
|
+
/**
|
|
25
|
+
* BehaviorSubject that emits the current state of auto-refresh button.
|
|
26
|
+
* Defaults to DEFAULT_INTERVAL_STATE.
|
|
27
|
+
*/
|
|
28
|
+
isEnabled$: new BehaviorSubject(DEFAULT_INTERVAL_STATE),
|
|
29
|
+
/**
|
|
30
|
+
* BehaviorSubject that emits the current auto-refresh interval value.
|
|
31
|
+
* Defaults to DEFAULT_INTERVAL_VALUE.
|
|
32
|
+
*/
|
|
33
|
+
refreshInterval$: new BehaviorSubject(DEFAULT_INTERVAL_VALUE),
|
|
34
|
+
/**
|
|
35
|
+
* BehaviorSubject that emits whether auto-refresh has been manually disabled by the user.
|
|
36
|
+
* Defaults to false.
|
|
37
|
+
*/
|
|
38
|
+
userDisabledManually$: new BehaviorSubject(false)
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Object containing subjects for managing countdown actions.
|
|
42
|
+
*/
|
|
43
|
+
this.countdownActions = {
|
|
44
|
+
/**
|
|
45
|
+
* Subject used to stop the countdown.
|
|
46
|
+
*/
|
|
47
|
+
stop$: new Subject(),
|
|
48
|
+
/**
|
|
49
|
+
* Subject used to reset the countdown.
|
|
50
|
+
*/
|
|
51
|
+
reset$: new Subject(),
|
|
52
|
+
/**
|
|
53
|
+
* Subject that emits when the countdown has ended.
|
|
54
|
+
*/
|
|
55
|
+
countdownEnded$: new Subject()
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Subject that emits when a dashboard save operation is triggered.
|
|
59
|
+
*/
|
|
60
|
+
this.onDashboardSave$ = new Subject();
|
|
61
|
+
/**
|
|
62
|
+
* A signal representing the number of widgets with the global auto-refresh option enabled.
|
|
63
|
+
*/
|
|
64
|
+
this.globalRefreshWidgetsCount = signal(0);
|
|
65
|
+
/**
|
|
66
|
+
* Tracks the navigation state.
|
|
67
|
+
*
|
|
68
|
+
* The signal returns a boolean indicating whether a navigation operation is currently in progress.
|
|
69
|
+
* It initializes with a default value of `false` and can be toggled to `true` during navigation events from `handleNavigationInProgress$`.
|
|
70
|
+
*/
|
|
71
|
+
this.navigationInProgress = signal(false);
|
|
72
|
+
this.router = inject(Router);
|
|
73
|
+
this.activatedRoute = inject(ActivatedRoute);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Increments the loading count by 1.
|
|
77
|
+
*/
|
|
78
|
+
incrementLoading() {
|
|
79
|
+
this.loadingCount$.next(this.loadingCount$.value + 1);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Decrements the loading count by 1.
|
|
83
|
+
*/
|
|
84
|
+
decrementLoading() {
|
|
85
|
+
this.loadingCount$.next(this.loadingCount$.value - 1);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Retrieves an observable that emits the value of a Global Auto Refresh query parameter
|
|
89
|
+
* whenever it changes. The query parameter being tracked is determined by
|
|
90
|
+
* `GlobalAutoRefreshName.GLOBAL_CONTEXT_AUTO_REFRESH`.
|
|
91
|
+
*
|
|
92
|
+
* @returns An observable that emits the parsed value of the `GLOBAL_CONTEXT_AUTO_REFRESH` query parameter.
|
|
93
|
+
*/
|
|
94
|
+
getQueryParamChangeValue$() {
|
|
95
|
+
return this.activatedRoute.queryParams.pipe(map(params => params[GLOBAL_CONTEXT_AUTO_REFRESH]), map(this.parseGlobalAutoRefreshParam));
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Monitors router navigation events and updates the navigation progress state.
|
|
99
|
+
*
|
|
100
|
+
* @returns An Observable that emits router events of types NavigationStart, NavigationEnd,
|
|
101
|
+
* NavigationCancel, and NavigationError.
|
|
102
|
+
*/
|
|
103
|
+
handleNavigationInProgress$() {
|
|
104
|
+
return this.router.events.pipe(filter(event => event instanceof NavigationStart ||
|
|
105
|
+
event instanceof NavigationEnd ||
|
|
106
|
+
event instanceof NavigationCancel ||
|
|
107
|
+
event instanceof NavigationError), tap(e => this.navigationInProgress.set(e instanceof NavigationStart)));
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Sets the global auto-refresh query parameter in the current route.
|
|
111
|
+
*
|
|
112
|
+
* @param queryParams - An object representing the query parameters to set for the global auto-refresh option.
|
|
113
|
+
* The existing query parameters will be merged with these.
|
|
114
|
+
*/
|
|
115
|
+
async setAutoRefreshQueryParam(queryParams) {
|
|
116
|
+
if (this.navigationInProgress()) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
this.navigationInProgress.set(true);
|
|
120
|
+
await this.router.navigate([], {
|
|
121
|
+
relativeTo: this.activatedRoute,
|
|
122
|
+
queryParams,
|
|
123
|
+
queryParamsHandling: 'merge'
|
|
124
|
+
});
|
|
125
|
+
this.navigationInProgress.set(false);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Handles changes to the edit mode and updates the isEnabled$ variable.
|
|
129
|
+
*
|
|
130
|
+
* - If auto-refresh was manually disabled by the user (`userDisabledManually$` is `true`), auto-refresh will remain disabled regardless of the edit mode state.
|
|
131
|
+
* - If auto-refresh was not manually disabled, it will be disabled when entering edit mode and enabled when exiting edit mode.
|
|
132
|
+
*
|
|
133
|
+
* @param editMode - A boolean indicating the current state of edit mode (`true` if edit mode is active, `false` otherwise).
|
|
134
|
+
*/
|
|
135
|
+
onEditModeChange(editMode) {
|
|
136
|
+
if (this.autoRefreshSettings.userDisabledManually$.getValue()) {
|
|
137
|
+
this.autoRefreshSettings.isEnabled$.next(false);
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
this.autoRefreshSettings.isEnabled$.next(!editMode);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Returns an Observable that triggers the countdown reset action when loading completes.
|
|
144
|
+
*
|
|
145
|
+
* This method creates an Observable that:
|
|
146
|
+
* - Skips a specified number of initial emissions from `isLoadingWidgets$` based on the `skipInitialBehaviorSubjectEmission$` method.
|
|
147
|
+
* - Filters out emissions where the loading state is true.
|
|
148
|
+
* - On emission where the loading state is false, it triggers a countdown reset action.
|
|
149
|
+
*
|
|
150
|
+
*/
|
|
151
|
+
resetCountdownOnLoadingComplete$() {
|
|
152
|
+
return switchMap(() => this.isLoadingWidgets$.pipe(tap(isLoading => isLoading && this.countdownActions.stop$.next()), filter(loading => !loading), tap(() => this.resetCountdown())));
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Resets the service's settings and parameters to their default values.
|
|
156
|
+
*/
|
|
157
|
+
resetServiceToDefaults() {
|
|
158
|
+
setTimeout(() => !this.navigationInProgress() && this.clearQueryParam());
|
|
159
|
+
this.autoRefreshSettings.refreshInterval$.next(DEFAULT_INTERVAL_VALUE);
|
|
160
|
+
this.autoRefreshSettings.userDisabledManually$.next(false);
|
|
161
|
+
setTimeout(() => {
|
|
162
|
+
this.autoRefreshSettings.isEnabled$.next(DEFAULT_INTERVAL_STATE);
|
|
163
|
+
this.resetLoadingToZero();
|
|
164
|
+
this.navigationInProgress.set(false);
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Resets the countdown timer by emitting a reset action after a short delay.
|
|
169
|
+
*/
|
|
170
|
+
resetCountdown() {
|
|
171
|
+
queueMicrotask(() => this.countdownActions.reset$.next());
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Initializes the auto-refresh countdown logic based on the widget loading state and edit mode.
|
|
175
|
+
*
|
|
176
|
+
* This method returns an observable that monitors the widget loading state and triggers specific actions
|
|
177
|
+
* related to the countdown process. It performs the following steps:
|
|
178
|
+
*
|
|
179
|
+
* 1. Skips the initial loading state emitted by `isLoadingWidgets$`.
|
|
180
|
+
* 2. Stops the countdown if the widgets are currently loading.
|
|
181
|
+
* 3. Filters out cases where widgets are loading or the application is in edit mode.
|
|
182
|
+
* 4. Resets the countdown when widgets are not loading and the application is not in edit mode.
|
|
183
|
+
*
|
|
184
|
+
* @param editMode$ - A `BehaviorSubject` representing whether the application is currently in edit mode.
|
|
185
|
+
*
|
|
186
|
+
* @returns An `Observable<boolean>` that emits the loading state of the widgets after the initialization steps.
|
|
187
|
+
*/
|
|
188
|
+
initializeAutoRefreshCountdownLoading$(editMode$) {
|
|
189
|
+
return this.isLoadingWidgets$.pipe(skip(1), tap(isLoading => isLoading && this.countdownActions.stop$.next()), filter(isWidgetsLoading => !isWidgetsLoading && !editMode$.getValue()), tap(() => this.resetCountdown()));
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Parses a string representation of global auto-refresh parameter into a boolean or null.
|
|
193
|
+
*
|
|
194
|
+
* Converts the provided `globalAutoRefresh` string into a boolean value or null based on its content:
|
|
195
|
+
* - Returns `true` if `globalAutoRefresh` is 'true'.
|
|
196
|
+
* - Returns `false` if `globalAutoRefresh` is 'false'.
|
|
197
|
+
* - Returns `null` if `globalAutoRefresh` is neither 'true' nor 'false'.
|
|
198
|
+
*
|
|
199
|
+
* @param globalAutoRefresh - The string representation of the global auto-refresh parameter.
|
|
200
|
+
*
|
|
201
|
+
* @returns A boolean value corresponding to the parsed global auto-refresh state, or null if the input is not 'true' or 'false'.
|
|
202
|
+
*/
|
|
203
|
+
parseGlobalAutoRefreshParam(globalAutoRefresh) {
|
|
204
|
+
return globalAutoRefresh === 'false' ? false : globalAutoRefresh === 'true' ? true : null;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Resets the loading count to zero.
|
|
208
|
+
*/
|
|
209
|
+
resetLoadingToZero() {
|
|
210
|
+
this.loadingCount$.next(0);
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Clears the global auto-refresh query parameter by navigating to the current route with the parameter set to null.
|
|
214
|
+
*
|
|
215
|
+
*/
|
|
216
|
+
clearQueryParam() {
|
|
217
|
+
const queryParams = {
|
|
218
|
+
globalContextAutoRefresh: null
|
|
219
|
+
};
|
|
220
|
+
this.router.navigate([], {
|
|
221
|
+
relativeTo: this.activatedRoute,
|
|
222
|
+
queryParams,
|
|
223
|
+
queryParamsHandling: 'merge'
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: WidgetGlobalAutoRefreshService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
227
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: WidgetGlobalAutoRefreshService, providedIn: 'root' }); }
|
|
228
|
+
}
|
|
229
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: WidgetGlobalAutoRefreshService, decorators: [{
|
|
230
|
+
type: Injectable,
|
|
231
|
+
args: [{ providedIn: 'root' }]
|
|
232
|
+
}] });
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWdsb2JhbC1hdXRvLXJlZnJlc2guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvcmUvZGFzaGJvYXJkL3dpZGdldC1hdXRvLXJlZnJlc2gtY29udGV4dC93aWRnZXQtZ2xvYmFsLWF1dG8tcmVmcmVzaC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUF3QyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHNCQUFzQixFQUN0QiwyQkFBMkIsRUFFNUIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsY0FBYyxFQUVkLGdCQUFnQixFQUNoQixhQUFhLEVBQ2IsZUFBZSxFQUNmLGVBQWUsRUFDZixNQUFNLEVBQ1AsTUFBTSxpQkFBaUIsQ0FBQzs7QUFHekIsTUFBTSxPQUFPLDhCQUE4QjtJQUQzQztRQUVFOzs7V0FHRztRQUNLLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFdkQ7Ozs7V0FJRztRQUNLLHNCQUFpQixHQUF3QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDdEUsb0JBQW9CLEVBQUUsRUFDdEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUMxQixDQUFDO1FBRUY7O1dBRUc7UUFDSCx3QkFBbUIsR0FBRztZQUNwQjs7O2VBR0c7WUFDSCxVQUFVLEVBQUUsSUFBSSxlQUFlLENBQVUsc0JBQXNCLENBQUM7WUFD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QUMsQ0FBQztJQUNMLENBQUM7OEdBdlFVLDhCQUE4QjtrSEFBOUIsOEJBQThCLGNBRGpCLE1BQU07OzJGQUNuQiw4QkFBOEI7a0JBRDFDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNraXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9JTlRFUlZBTF9TVEFURSxcbiAgREVGQVVMVF9JTlRFUlZBTF9WQUxVRSxcbiAgR0xPQkFMX0NPTlRFWFRfQVVUT19SRUZSRVNILFxuICBHbG9iYWxBdXRvUmVmcmVzaFF1ZXJ5UGFyYW1cbn0gZnJvbSAnLi93aWRnZXQtYXV0by1yZWZyZXNoLWNvbnRleHQubW9kZWwnO1xuaW1wb3J0IHtcbiAgQWN0aXZhdGVkUm91dGUsXG4gIEV2ZW50LFxuICBOYXZpZ2F0aW9uQ2FuY2VsLFxuICBOYXZpZ2F0aW9uRW5kLFxuICBOYXZpZ2F0aW9uRXJyb3IsXG4gIE5hdmlnYXRpb25TdGFydCxcbiAgUm91dGVyXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0R2xvYmFsQXV0b1JlZnJlc2hTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEEgQmVoYXZpb3JTdWJqZWN0IHRoYXQgdHJhY2tzIHRoZSBudW1iZXIgb2YgbG9hZGluZyBvcGVyYXRpb25zIGluIHByb2dyZXNzLlxuICAgKiBJbml0aWFsaXplZCB3aXRoIGEgY291bnQgb2YgMC5cbiAgICovXG4gIHByaXZhdGUgbG9hZGluZ0NvdW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcblxuICAvKipcbiAgICogQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgYW55IHdpZGdldHMgd2l0aCBnbG9iYWwgcmVmcmVzaCBvcHRpb24gYXJlIGN1cnJlbnRseSBsb2FkaW5nLlxuICAgKiBUaGUgdmFsdWUgaXMgdHJ1ZSBpZiB0aGUgbG9hZGluZyBjb3VudCBpcyBub24temVybywgYW5kIGZhbHNlIGlmIHRoZSBsb2FkaW5nIGNvdW50IGlzIHplcm8uXG4gICAqIFVzZXMgZGlzdGluY3RVbnRpbENoYW5nZWQoKSB0byBlbWl0IG9ubHkgd2hlbiB0aGUgYm9vbGVhbiB2YWx1ZSBjaGFuZ2VzLlxuICAgKi9cbiAgcHJpdmF0ZSBpc0xvYWRpbmdXaWRnZXRzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMubG9hZGluZ0NvdW50JC5waXBlKFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgbWFwKGNvdW50ID0+IGNvdW50ICE9PSAwKVxuICApO1xuXG4gIC8qKlxuICAgKiBPYmplY3QgY29udGFpbmluZyBiZWhhdmlvciBzdWJqZWN0cyBmb3IgbWFuYWdpbmcgYXV0by1yZWZyZXNoIHNldHRpbmdzLlxuICAgKi9cbiAgYXV0b1JlZnJlc2hTZXR0aW5ncyA9IHtcbiAgICAvKipcbiAgICAgKiBCZWhhdmlvclN1YmplY3QgdGhhdCBlbWl0cyB0aGUgY3VycmVudCBzdGF0ZSBvZiBhdXRvLXJlZnJlc2ggYnV0dG9uLlxuICAgICAqIERlZmF1bHRzIHRvIERFRkFVTFRfSU5URVJWQUxfU1RBVEUuXG4gICAgICovXG4gICAgaXNFbmFibGVkJDogbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihERUZBVUxUX0lOVEVSVkFMX1NUQVRFKSxcbiAgICAvKipcbiAgICAgKiBCZWhhdmlvclN1YmplY3QgdGhhdCBlbWl0cyB0aGUgY3VycmVudCBhdXRvLXJlZnJlc2ggaW50ZXJ2YWwgdmFsdWUuXG4gICAgICogRGVmYXVsdHMgdG8gREVGQVVMVF9JTlRFUlZBTF9WQUxVRS5cbiAgICAgKi9cbiAgICByZWZyZXNoSW50ZXJ2YWwkOiBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oREVGQVVMVF9JTlRFUlZBTF9WQUxVRSksXG4gICAgLyoqXG4gICAgICogQmVoYXZpb3JTdWJqZWN0IHRoYXQgZW1pdHMgd2hldGhlciBhdXRvLXJlZnJlc2ggaGFzIGJlZW4gbWFudWFsbHkgZGlzYWJsZWQgYnkgdGhlIHVzZXIuXG4gICAgICogRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAgICovXG4gICAgdXNlckRpc2FibGVkTWFudWFsbHkkOiBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKVxuICB9O1xuXG4gIC8qKlxuICAgKiBPYmplY3QgY29udGFpbmluZyBzdWJqZWN0cyBmb3IgbWFuYWdpbmcgY291bnRkb3duIGFjdGlvbnMuXG4gICAqL1xuICBjb3VudGRvd25BY3Rpb25zID0ge1xuICAgIC8qKlxuICAgICAqIFN1YmplY3QgdXNlZCB0byBzdG9wIHRoZSBjb3VudGRvd24uXG4gICAgICovXG4gICAgc3RvcCQ6IG5ldyBTdWJqZWN0PHZvaWQ+KCksXG4gICAgLyoqXG4gICAgICogU3ViamVjdCB1c2VkIHRvIHJlc2V0IHRoZSBjb3VudGRvd24uXG4gICAgICovXG4gICAgcmVzZXQkOiBuZXcgU3ViamVjdDx2b2lkPigpLFxuICAgIC8qKlxuICAgICAqIFN1YmplY3QgdGhhdCBlbWl0cyB3aGVuIHRoZSBjb3VudGRvd24gaGFzIGVuZGVkLlxuICAgICAqL1xuICAgIGNvdW50ZG93bkVuZGVkJDogbmV3IFN1YmplY3Q8dm9pZD4oKVxuICB9O1xuXG4gIC8qKlxuICAgKiBTdWJqZWN0IHRoYXQgZW1pdHMgd2hlbiBhIGRhc2hib2FyZCBzYXZlIG9wZXJhdGlvbiBpcyB0cmlnZ2VyZWQuXG4gICAqL1xuICBvbkRhc2hib2FyZFNhdmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvKipcbiAgICogQSBzaWduYWwgcmVwcmVzZW50aW5nIHRoZSBudW1iZXIgb2Ygd2lkZ2V0cyB3aXRoIHRoZSBnbG9iYWwgYXV0by1yZWZyZXNoIG9wdGlvbiBlbmFibGVkLlxuICAgKi9cbiAgZ2xvYmFsUmVmcmVzaFdpZGdldHNDb3VudCA9IHNpZ25hbCgwKTtcblxuICAvKipcbiAgICogVHJhY2tzIHRoZSBuYXZpZ2F0aW9uIHN0YXRlLlxuICAgKlxuICAgKiBUaGUgc2lnbmFsIHJldHVybnMgYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciBhIG5hdmlnYXRpb24gb3BlcmF0aW9uIGlzIGN1cnJlbnRseSBpbiBwcm9ncmVzcy5cbiAgICogSXQgaW5pdGlhbGl6ZXMgd2l0aCBhIGRlZmF1bHQgdmFsdWUgb2YgYGZhbHNlYCBhbmQgY2FuIGJlIHRvZ2dsZWQgdG8gYHRydWVgIGR1cmluZyBuYXZpZ2F0aW9uIGV2ZW50cyBmcm9tIGBoYW5kbGVOYXZpZ2F0aW9uSW5Qcm9ncmVzcyRgLlxuICAgKi9cbiAgcHJpdmF0ZSBuYXZpZ2F0aW9uSW5Qcm9ncmVzcyA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmF0ZWRSb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG5cbiAgLyoqXG4gICAqIEluY3JlbWVudHMgdGhlIGxvYWRpbmcgY291bnQgYnkgMS5cbiAgICovXG4gIGluY3JlbWVudExvYWRpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkaW5nQ291bnQkLm5leHQodGhpcy5sb2FkaW5nQ291bnQkLnZhbHVlICsgMSk7XG4gIH1cblxuICAvKipcbiAgICogRGVjcmVtZW50cyB0aGUgbG9hZGluZyBjb3VudCBieSAxLlxuICAgKi9cbiAgZGVjcmVtZW50TG9hZGluZygpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRpbmdDb3VudCQubmV4dCh0aGlzLmxvYWRpbmdDb3VudCQudmFsdWUgLSAxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSB2YWx1ZSBvZiBhIEdsb2JhbCBBdXRvIFJlZnJlc2ggcXVlcnkgcGFyYW1ldGVyXG4gICAqIHdoZW5ldmVyIGl0IGNoYW5nZXMuIFRoZSBxdWVyeSBwYXJhbWV0ZXIgYmVpbmcgdHJhY2tlZCBpcyBkZXRlcm1pbmVkIGJ5XG4gICAqIGBHbG9iYWxBdXRvUmVmcmVzaE5hbWUuR0xPQkFMX0NPTlRFWFRfQVVUT19SRUZSRVNIYC5cbiAgICpcbiAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBwYXJzZWQgdmFsdWUgb2YgdGhlIGBHTE9CQUxfQ09OVEVYVF9BVVRPX1JFRlJFU0hgIHF1ZXJ5IHBhcmFtZXRlci5cbiAgICovXG4gIGdldFF1ZXJ5UGFyYW1DaGFuZ2VWYWx1ZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2YXRlZFJvdXRlLnF1ZXJ5UGFyYW1zLnBpcGUoXG4gICAgICBtYXAocGFyYW1zID0+IHBhcmFtc1tHTE9CQUxfQ09OVEVYVF9BVVRPX1JFRlJFU0hdKSxcbiAgICAgIG1hcCh0aGlzLnBhcnNlR2xvYmFsQXV0b1JlZnJlc2hQYXJhbSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vbml0b3JzIHJvdXRlciBuYXZpZ2F0aW9uIGV2ZW50cyBhbmQgdXBkYXRlcyB0aGUgbmF2aWdhdGlvbiBwcm9ncmVzcyBzdGF0ZS5cbiAgICpcbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHJvdXRlciBldmVudHMgb2YgdHlwZXMgTmF2aWdhdGlvblN0YXJ0LCBOYXZpZ2F0aW9uRW5kLFxuICAgKiAgICAgICAgICBOYXZpZ2F0aW9uQ2FuY2VsLCBhbmQgTmF2aWdhdGlvbkVycm9yLlxuICAgKi9cbiAgaGFuZGxlTmF2aWdhdGlvbkluUHJvZ3Jlc3MkKCk6IE9ic2VydmFibGU8RXZlbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgICBmaWx0ZXIoXG4gICAgICAgIGV2ZW50ID0+XG4gICAgICAgICAgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQgfHxcbiAgICAgICAgICBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgfHxcbiAgICAgICAgICBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwgfHxcbiAgICAgICAgICBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FcnJvclxuICAgICAgKSxcbiAgICAgIHRhcChlID0+IHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3Muc2V0KGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZ2xvYmFsIGF1dG8tcmVmcmVzaCBxdWVyeSBwYXJhbWV0ZXIgaW4gdGhlIGN1cnJlbnQgcm91dGUuXG4gICAqXG4gICAqIEBwYXJhbSBxdWVyeVBhcmFtcyAtIEFuIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gc2V0IGZvciB0aGUgZ2xvYmFsIGF1dG8tcmVmcmVzaCBvcHRpb24uXG4gICAqICAgICAgICAgICAgICAgICAgICAgIFRoZSBleGlzdGluZyBxdWVyeSBwYXJhbWV0ZXJzIHdpbGwgYmUgbWVyZ2VkIHdpdGggdGhlc2UuXG4gICAqL1xuICBhc3luYyBzZXRBdXRvUmVmcmVzaFF1ZXJ5UGFyYW0ocXVlcnlQYXJhbXM6IEdsb2JhbEF1dG9SZWZyZXNoUXVlcnlQYXJhbSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzLnNldCh0cnVlKTtcbiAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZSxcbiAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJ1xuICAgIH0pO1xuICAgIHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3Muc2V0KGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGNoYW5nZXMgdG8gdGhlIGVkaXQgbW9kZSBhbmQgdXBkYXRlcyB0aGUgaXNFbmFibGVkJCB2YXJpYWJsZS5cbiAgICpcbiAgICogLSBJZiBhdXRvLXJlZnJlc2ggd2FzIG1hbnVhbGx5IGRpc2FibGVkIGJ5IHRoZSB1c2VyIChgdXNlckRpc2FibGVkTWFudWFsbHkkYCBpcyBgdHJ1ZWApLCBhdXRvLXJlZnJlc2ggd2lsbCByZW1haW4gZGlzYWJsZWQgcmVnYXJkbGVzcyBvZiB0aGUgZWRpdCBtb2RlIHN0YXRlLlxuICAgKiAtIElmIGF1dG8tcmVmcmVzaCB3YXMgbm90IG1hbnVhbGx5IGRpc2FibGVkLCBpdCB3aWxsIGJlIGRpc2FibGVkIHdoZW4gZW50ZXJpbmcgZWRpdCBtb2RlIGFuZCBlbmFibGVkIHdoZW4gZXhpdGluZyBlZGl0IG1vZGUuXG4gICAqXG4gICAqIEBwYXJhbSBlZGl0TW9kZSAtIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHRoZSBjdXJyZW50IHN0YXRlIG9mIGVkaXQgbW9kZSAoYHRydWVgIGlmIGVkaXQgbW9kZSBpcyBhY3RpdmUsIGBmYWxzZWAgb3RoZXJ3aXNlKS5cbiAgICovXG4gIG9uRWRpdE1vZGVDaGFuZ2UoZWRpdE1vZGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hdXRvUmVmcmVzaFNldHRpbmdzLnVzZXJEaXNhYmxlZE1hbnVhbGx5JC5nZXRWYWx1ZSgpKSB7XG4gICAgICB0aGlzLmF1dG9SZWZyZXNoU2V0dGluZ3MuaXNFbmFibGVkJC5uZXh0KGZhbHNlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5hdXRvUmVmcmVzaFNldHRpbmdzLmlzRW5hYmxlZCQubmV4dCghZWRpdE1vZGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IHRyaWdnZXJzIHRoZSBjb3VudGRvd24gcmVzZXQgYWN0aW9uIHdoZW4gbG9hZGluZyBjb21wbGV0ZXMuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIGNyZWF0ZXMgYW4gT2JzZXJ2YWJsZSB0aGF0OlxuICAgKiAtIFNraXBzIGEgc3BlY2lmaWVkIG51bWJlciBvZiBpbml0aWFsIGVtaXNzaW9ucyBmcm9tIGBpc0xvYWRpbmdXaWRnZXRzJGAgYmFzZWQgb24gdGhlIGBza2lwSW5pdGlhbEJlaGF2aW9yU3ViamVjdEVtaXNzaW9uJGAgbWV0aG9kLlxuICAgKiAtIEZpbHRlcnMgb3V0IGVtaXNzaW9ucyB3aGVyZSB0aGUgbG9hZGluZyBzdGF0ZSBpcyB0cnVlLlxuICAgKiAtIE9uIGVtaXNzaW9uIHdoZXJlIHRoZSBsb2FkaW5nIHN0YXRlIGlzIGZhbHNlLCBpdCB0cmlnZ2VycyBhIGNvdW50ZG93biByZXNldCBhY3Rpb24uXG4gICAqXG4gICAqL1xuICByZXNldENvdW50ZG93bk9uTG9hZGluZ0NvbXBsZXRlJCgpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248YW55PiB7XG4gICAgcmV0dXJuIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgdGhpcy5pc0xvYWRpbmdXaWRnZXRzJC5waXBlKFxuICAgICAgICB0YXAoaXNMb2FkaW5nID0+IGlzTG9hZGluZyAmJiB0aGlzLmNvdW50ZG93bkFjdGlvbnMuc3RvcCQubmV4dCgpKSxcbiAgICAgICAgZmlsdGVyKGxvYWRpbmcgPT4gIWxvYWRpbmcpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5yZXNldENvdW50ZG93bigpKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBzZXJ2aWNlJ3Mgc2V0dGluZ3MgYW5kIHBhcmFtZXRlcnMgdG8gdGhlaXIgZGVmYXVsdCB2YWx1ZXMuXG4gICAqL1xuICByZXNldFNlcnZpY2VUb0RlZmF1bHRzKCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gIXRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3MoKSAmJiB0aGlzLmNsZWFyUXVlcnlQYXJhbSgpKTtcblxuICAgIHRoaXMuYXV0b1JlZnJlc2hTZXR0aW5ncy5yZWZyZXNoSW50ZXJ2YWwkLm5leHQoREVGQVVMVF9JTlRFUlZBTF9WQUxVRSk7XG4gICAgdGhpcy5hdXRvUmVmcmVzaFNldHRpbmdzLnVzZXJEaXNhYmxlZE1hbnVhbGx5JC5uZXh0KGZhbHNlKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hdXRvUmVmcmVzaFNldHRpbmdzLmlzRW5hYmxlZCQubmV4dChERUZBVUxUX0lOVEVSVkFMX1NUQVRFKTtcbiAgICAgIHRoaXMucmVzZXRMb2FkaW5nVG9aZXJvKCk7XG4gICAgICB0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzLnNldChmYWxzZSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBjb3VudGRvd24gdGltZXIgYnkgZW1pdHRpbmcgYSByZXNldCBhY3Rpb24gYWZ0ZXIgYSBzaG9ydCBkZWxheS5cbiAgICovXG4gIHJlc2V0Q291bnRkb3duKCk6IHZvaWQge1xuICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHRoaXMuY291bnRkb3duQWN0aW9ucy5yZXNldCQubmV4dCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgYXV0by1yZWZyZXNoIGNvdW50ZG93biBsb2dpYyBiYXNlZCBvbiB0aGUgd2lkZ2V0IGxvYWRpbmcgc3RhdGUgYW5kIGVkaXQgbW9kZS5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgcmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQgbW9uaXRvcnMgdGhlIHdpZGdldCBsb2FkaW5nIHN0YXRlIGFuZCB0cmlnZ2VycyBzcGVjaWZpYyBhY3Rpb25zXG4gICAqIHJlbGF0ZWQgdG8gdGhlIGNvdW50ZG93biBwcm9jZXNzLiBJdCBwZXJmb3JtcyB0aGUgZm9sbG93aW5nIHN0ZXBzOlxuICAgKlxuICAgKiAxLiBTa2lwcyB0aGUgaW5pdGlhbCBsb2FkaW5nIHN0YXRlIGVtaXR0ZWQgYnkgYGlzTG9hZGluZ1dpZGdldHMkYC5cbiAgICogMi4gU3RvcHMgdGhlIGNvdW50ZG93biBpZiB0aGUgd2lkZ2V0cyBhcmUgY3VycmVudGx5IGxvYWRpbmcuXG4gICAqIDMuIEZpbHRlcnMgb3V0IGNhc2VzIHdoZXJlIHdpZGdldHMgYXJlIGxvYWRpbmcgb3IgdGhlIGFwcGxpY2F0aW9uIGlzIGluIGVkaXQgbW9kZS5cbiAgICogNC4gUmVzZXRzIHRoZSBjb3VudGRvd24gd2hlbiB3aWRnZXRzIGFyZSBub3QgbG9hZGluZyBhbmQgdGhlIGFwcGxpY2F0aW9uIGlzIG5vdCBpbiBlZGl0IG1vZGUuXG4gICAqXG4gICAqIEBwYXJhbSBlZGl0TW9kZSQgLSBBIGBCZWhhdmlvclN1YmplY3RgIHJlcHJlc2VudGluZyB3aGV0aGVyIHRoZSBhcHBsaWNhdGlvbiBpcyBjdXJyZW50bHkgaW4gZWRpdCBtb2RlLlxuICAgKlxuICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZTxib29sZWFuPmAgdGhhdCBlbWl0cyB0aGUgbG9hZGluZyBzdGF0ZSBvZiB0aGUgd2lkZ2V0cyBhZnRlciB0aGUgaW5pdGlhbGl6YXRpb24gc3RlcHMuXG4gICAqL1xuICBpbml0aWFsaXplQXV0b1JlZnJlc2hDb3VudGRvd25Mb2FkaW5nJChlZGl0TW9kZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmlzTG9hZGluZ1dpZGdldHMkLnBpcGUoXG4gICAgICBza2lwKDEpLFxuICAgICAgdGFwKGlzTG9hZGluZyA9PiBpc0xvYWRpbmcgJiYgdGhpcy5jb3VudGRvd25BY3Rpb25zLnN0b3AkLm5leHQoKSksXG4gICAgICBmaWx0ZXIoaXNXaWRnZXRzTG9hZGluZyA9PiAhaXNXaWRnZXRzTG9hZGluZyAmJiAhZWRpdE1vZGUkLmdldFZhbHVlKCkpLFxuICAgICAgdGFwKCgpID0+IHRoaXMucmVzZXRDb3VudGRvd24oKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlcyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBnbG9iYWwgYXV0by1yZWZyZXNoIHBhcmFtZXRlciBpbnRvIGEgYm9vbGVhbiBvciBudWxsLlxuICAgKlxuICAgKiBDb252ZXJ0cyB0aGUgcHJvdmlkZWQgYGdsb2JhbEF1dG9SZWZyZXNoYCBzdHJpbmcgaW50byBhIGJvb2xlYW4gdmFsdWUgb3IgbnVsbCBiYXNlZCBvbiBpdHMgY29udGVudDpcbiAgICogLSBSZXR1cm5zIGB0cnVlYCBpZiBgZ2xvYmFsQXV0b1JlZnJlc2hgIGlzICd0cnVlJy5cbiAgICogLSBSZXR1cm5zIGBmYWxzZWAgaWYgYGdsb2JhbEF1dG9SZWZyZXNoYCBpcyAnZmFsc2UnLlxuICAgKiAtIFJldHVybnMgYG51bGxgIGlmIGBnbG9iYWxBdXRvUmVmcmVzaGAgaXMgbmVpdGhlciAndHJ1ZScgbm9yICdmYWxzZScuXG4gICAqXG4gICAqIEBwYXJhbSBnbG9iYWxBdXRvUmVmcmVzaCAtIFRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGdsb2JhbCBhdXRvLXJlZnJlc2ggcGFyYW1ldGVyLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIGJvb2xlYW4gdmFsdWUgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyc2VkIGdsb2JhbCBhdXRvLXJlZnJlc2ggc3RhdGUsIG9yIG51bGwgaWYgdGhlIGlucHV0IGlzIG5vdCAndHJ1ZScgb3IgJ2ZhbHNlJy5cbiAgICovXG4gIHByaXZhdGUgcGFyc2VHbG9iYWxBdXRvUmVmcmVzaFBhcmFtKGdsb2JhbEF1dG9SZWZyZXNoOiBzdHJpbmcpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIGdsb2JhbEF1dG9SZWZyZXNoID09PSAnZmFsc2UnID8gZmFsc2UgOiBnbG9iYWxBdXRvUmVmcmVzaCA9PT0gJ3RydWUnID8gdHJ1ZSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBsb2FkaW5nIGNvdW50IHRvIHplcm8uXG4gICAqL1xuICBwcml2YXRlIHJlc2V0TG9hZGluZ1RvWmVybygpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRpbmdDb3VudCQubmV4dCgwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgdGhlIGdsb2JhbCBhdXRvLXJlZnJlc2ggcXVlcnkgcGFyYW1ldGVyIGJ5IG5hdmlnYXRpbmcgdG8gdGhlIGN1cnJlbnQgcm91dGUgd2l0aCB0aGUgcGFyYW1ldGVyIHNldCB0byBudWxsLlxuICAgKlxuICAgKi9cbiAgcHJpdmF0ZSBjbGVhclF1ZXJ5UGFyYW0oKTogdm9pZCB7XG4gICAgY29uc3QgcXVlcnlQYXJhbXM6IEdsb2JhbEF1dG9SZWZyZXNoUXVlcnlQYXJhbSA9IHtcbiAgICAgIGdsb2JhbENvbnRleHRBdXRvUmVmcmVzaDogbnVsbFxuICAgIH07XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZSxcbiAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJ1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNoYW5nZS1ldmVudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvZGFzaGJvYXJkL3dpZGdldC1jaGFuZ2UtZXZlbnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFnZ3JlZ2F0aW9uVHlwZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEludGVydmFsIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9pbnRlcnZhbC1waWNrZXInO1xuXG4vKipcbiAqIFR5cGUgZm9yIGRlc2NyaWJpbmcgd2lkZ2V0IGNoYW5nZSBldmVudHMuIEl0J3MgcG9zc2libGVcbiAqIHRvIGV4dGVuZCB0aGlzIGJ5IGFkZGluZyBhZGRpdGlvbmFsIGV2ZW50cyB0byBkaXNjcmltaW5hdGVkIHVuaW9uIHR5cGUuXG4gKi9cbmV4cG9ydCB0eXBlIFdpZGdldENoYW5nZUV2ZW50ID0gVGltZUNvbnRleHRFdmVudDtcblxuZXhwb3J0IGludGVyZmFjZSBUaW1lQ29udGV4dEV2ZW50IHtcbiAgdHlwZTogJ1RJTUVfQ09OVEVYVCc7XG4gIGRhdGE6IFdpZGdldFRpbWVDb250ZXh0O1xufVxuXG5leHBvcnQgdHlwZSBXaWRnZXRDaGFuZ2VFdmVudFR5cGUgPSBXaWRnZXRDaGFuZ2VFdmVudFsndHlwZSddO1xuXG5leHBvcnQgdHlwZSBSZXZlcnRDaGFuZ2VUeXBlID0gJ3VuZG8nIHwgJ3JlZG8nO1xuXG5leHBvcnQgdHlwZSBEYXRlVGltZUNvbnRleHQgPSBbRGF0ZSwgRGF0ZV07XG5cbmV4cG9ydCB0eXBlIFdpZGdldFRpbWVDb250ZXh0ID1cbiAgfCAoeyBkYXRlVGltZUNvbnRleHQ6IERhdGVUaW1lQ29udGV4dDsgcmVhbHRpbWU6IGJvb2xlYW47IGFnZ3JlZ2F0aW9uOiBhZ2dyZWdhdGlvblR5cGUgfSAmIHtcbiAgICAgIGludGVydmFsPzogbmV2ZXI7XG4gICAgfSlcbiAgfCAoeyBkYXRlVGltZUNvbnRleHQ/OiBuZXZlciB9ICYge1xuICAgICAgaW50ZXJ2YWw6IEludGVydmFsWydpZCddO1xuICAgICAgcmVhbHRpbWU6IGJvb2xlYW47XG4gICAgICBhZ2dyZWdhdGlvbjogYWdncmVnYXRpb25UeXBlO1xuICAgIH0pO1xuIl19
|