@alauda-fe/common 1.3.0 → 1.4.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/api/helpers.d.ts +8 -16
- package/array-form-table/form/component.d.ts +2 -2
- package/authorization/interceptor.service.d.ts +0 -1
- package/authorization/state.service.d.ts +13 -13
- package/business/resource-select/internals/namespace-list/component.d.ts +3 -1
- package/business/resource-select/module.d.ts +2 -1
- package/core/abstract/base-nested-form-control.d.ts +1 -1
- package/core/components/tree/toggle.d.ts +3 -3
- package/core/constants/constants.d.ts +4 -1
- package/core/constants/patterns.d.ts +12 -0
- package/core/constants/status-icons.d.ts +2 -1
- package/core/directives/scroll-to-first-invalid.directive.d.ts +1 -1
- package/core/module.d.ts +21 -21
- package/core/pipes/time.pipe.d.ts +1 -1
- package/core/services/context.service.d.ts +3 -4
- package/core/services/encode-url-param.interceptor.d.ts +12 -0
- package/core/services/feature-gate.service.d.ts +1 -1
- package/core/services/public-api.d.ts +1 -0
- package/core/services/time.service.d.ts +1 -0
- package/core/services/workspace-helper.service.d.ts +3 -1
- package/core/types/k8s/crd.d.ts +11 -5
- package/core/types/k8s/raw.d.ts +25 -38
- package/core/types/resource-definitions.d.ts +57 -71
- package/core/utils/common.d.ts +5 -13
- package/core/utils/disabled-state.d.ts +20 -0
- package/core/utils/public-api.d.ts +3 -0
- package/core/utils/router.d.ts +3 -0
- package/core/utils/version.d.ts +1 -1
- package/core/utils/workload.d.ts +66 -0
- package/editable/editable.component.d.ts +23 -0
- package/editable/editable.directive.d.ts +9 -0
- package/editable/editable.type.d.ts +5 -0
- package/editable/public-api.d.ts +2 -0
- package/esm2022/abnormal-page/abnormal-page.component.mjs +5 -4
- package/esm2022/abnormal-page/abnormal-page.module.mjs +2 -2
- package/esm2022/api/acp-common-api.service.mjs +3 -3
- package/esm2022/api/api-compatible.interceptor.mjs +1 -1
- package/esm2022/api/api-gateway.interceptor.mjs +3 -3
- package/esm2022/api/api-gateway.service.mjs +2 -2
- package/esm2022/api/cluster-version.service.mjs +3 -3
- package/esm2022/api/crypto.interceptor.mjs +4 -4
- package/esm2022/api/helpers.mjs +1 -1
- package/esm2022/api/k8s-api-resource.service.mjs +4 -4
- package/esm2022/api/k8s-api.service.mjs +6 -6
- package/esm2022/api/page-visibility.service.mjs +2 -2
- package/esm2022/api/platform-ui.service.mjs +2 -2
- package/esm2022/api/product.service.mjs +3 -3
- package/esm2022/api/project-api.service.mjs +3 -3
- package/esm2022/api/resource-update.service.mjs +3 -3
- package/esm2022/array-form-table/base-string-map-form.component.mjs +3 -3
- package/esm2022/array-form-table/form/component.mjs +104 -111
- package/esm2022/array-form-table/form/module.mjs +2 -2
- package/esm2022/array-form-table/key-value-form/component.mjs +53 -58
- package/esm2022/array-form-table/key-value-table/component.mjs +7 -7
- package/esm2022/array-form-table/string-array-form/component.mjs +48 -52
- package/esm2022/async-data/async-data-loader.mjs +1 -1
- package/esm2022/async-data/async-data.module.mjs +2 -2
- package/esm2022/async-data/error-page/component.mjs +21 -22
- package/esm2022/async-data/page-state/component.mjs +16 -15
- package/esm2022/authorization/app-init-url.mjs +1 -1
- package/esm2022/authorization/guard.service.mjs +5 -5
- package/esm2022/authorization/interceptor.service.mjs +10 -25
- package/esm2022/authorization/session-manage.service.mjs +5 -5
- package/esm2022/authorization/state.service.mjs +59 -93
- package/esm2022/authorization/storage-token.mjs +2 -2
- package/esm2022/business/module-info/api.service.mjs +3 -3
- package/esm2022/business/notification-disabled-container/component.mjs +14 -14
- package/esm2022/business/resource-select/base-list.mjs +3 -3
- package/esm2022/business/resource-select/context.service.mjs +3 -3
- package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +22 -20
- package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +22 -20
- package/esm2022/business/resource-select/exports/namespace-page/component.mjs +6 -5
- package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +37 -35
- package/esm2022/business/resource-select/exports/project-page/component.mjs +6 -5
- package/esm2022/business/resource-select/exports/project-selector/component.mjs +23 -22
- package/esm2022/business/resource-select/helpers.directive.mjs +2 -2
- package/esm2022/business/resource-select/internals/cluster-list/component.mjs +7 -6
- package/esm2022/business/resource-select/internals/data-grid/component.mjs +173 -176
- package/esm2022/business/resource-select/internals/icon/component.mjs +3 -2
- package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +5 -4
- package/esm2022/business/resource-select/internals/namespace-list/component.mjs +145 -100
- package/esm2022/business/resource-select/internals/no-data/component.mjs +12 -14
- package/esm2022/business/resource-select/internals/project-list/component.mjs +5 -4
- package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +7 -6
- package/esm2022/business/resource-select/internals/selector-popup/component.mjs +6 -5
- package/esm2022/business/resource-select/internals/selector-popup/ref.mjs +1 -1
- package/esm2022/business/resource-select/internals/selector-popup/service.mjs +3 -3
- package/esm2022/business/resource-select/module.mjs +17 -14
- package/esm2022/business/resource-select/project.service.mjs +3 -3
- package/esm2022/business/resource-select/utils.mjs +1 -1
- package/esm2022/chart/chart.module.mjs +2 -2
- package/esm2022/chart/chart.service.mjs +4 -4
- package/esm2022/chart/common/axis/axis-label.component.mjs +4 -3
- package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +27 -27
- package/esm2022/chart/common/axis/x-axis.component.mjs +6 -5
- package/esm2022/chart/common/axis/x-plot-lines.component.mjs +7 -6
- package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +35 -35
- package/esm2022/chart/common/axis/y-axis.component.mjs +9 -8
- package/esm2022/chart/common/axis/y-plot-lines.component.mjs +6 -5
- package/esm2022/chart/common/chart/chart.component.mjs +41 -43
- package/esm2022/chart/common/legend/legend.component.mjs +62 -65
- package/esm2022/chart/common/range-area/range-area.component.mjs +13 -11
- package/esm2022/chart/common/reference-area/reference-area.component.mjs +4 -3
- package/esm2022/chart/common/series/area-series.component.mjs +15 -14
- package/esm2022/chart/common/series/bar-path.component.mjs +20 -21
- package/esm2022/chart/common/series/bar-series.component.mjs +8 -7
- package/esm2022/chart/common/series/line-series.component.mjs +7 -6
- package/esm2022/chart/common/series/series.component.mjs +3 -3
- package/esm2022/chart/common/tooltip/tooltip.component.mjs +73 -81
- package/esm2022/chart/custom-template/dropdown-legend.mjs +23 -25
- package/esm2022/chart/utils.mjs +1 -1
- package/esm2022/code/code-display-dialog/component.mjs +9 -8
- package/esm2022/code/code-editor-configs.mjs +2 -2
- package/esm2022/code/code.module.mjs +2 -2
- package/esm2022/code/k8s-yaml-display-dialog/component.mjs +9 -8
- package/esm2022/code/resource-yaml-display/component.mjs +21 -22
- package/esm2022/core/abstract/base-form-container.mjs +3 -3
- package/esm2022/core/abstract/base-nested-form-control.mjs +5 -5
- package/esm2022/core/components/tree/module.mjs +2 -2
- package/esm2022/core/components/tree/node/component.mjs +7 -6
- package/esm2022/core/components/tree/outlet.mjs +4 -4
- package/esm2022/core/components/tree/padding.mjs +6 -6
- package/esm2022/core/components/tree/toggle.mjs +9 -9
- package/esm2022/core/components/tree/tree/component.mjs +4 -3
- package/esm2022/core/constants/constants.mjs +4 -1
- package/esm2022/core/constants/patterns.mjs +15 -4
- package/esm2022/core/constants/status-icons.mjs +2 -1
- package/esm2022/core/constants/tokens.mjs +1 -1
- package/esm2022/core/directives/aui-code-editor.directive.mjs +3 -3
- package/esm2022/core/directives/click-outside.directive.mjs +4 -4
- package/esm2022/core/directives/declare.directive.mjs +2 -2
- package/esm2022/core/directives/disabled.directive.mjs +4 -4
- package/esm2022/core/directives/feature-gate.directive.mjs +4 -4
- package/esm2022/core/directives/intercept-deactivate.directive.mjs +4 -4
- package/esm2022/core/directives/last-form-item.directive.mjs +3 -3
- package/esm2022/core/directives/page-header-content.directive.mjs +3 -3
- package/esm2022/core/directives/readonly-field.directive.mjs +8 -7
- package/esm2022/core/directives/resize.directive.mjs +3 -3
- package/esm2022/core/directives/scroll-border-observer.directive.mjs +4 -4
- package/esm2022/core/directives/scroll-to-first-invalid.directive.mjs +5 -5
- package/esm2022/core/guards/feature.guard.mjs +4 -4
- package/esm2022/core/guards/intercept-deactivate.guard.mjs +3 -3
- package/esm2022/core/guards/leave-edit-page.guard.mjs +3 -3
- package/esm2022/core/guards/project-namespace.guard.mjs +5 -5
- package/esm2022/core/module.mjs +8 -13
- package/esm2022/core/pipes/calc.pipe.mjs +2 -2
- package/esm2022/core/pipes/cron-human-readable.pipe.mjs +2 -2
- package/esm2022/core/pipes/crontab-next.pipe.mjs +3 -3
- package/esm2022/core/pipes/duration.pipe.mjs +3 -3
- package/esm2022/core/pipes/field-not-available.pipe.mjs +2 -2
- package/esm2022/core/pipes/img-header.pipe.mjs +2 -2
- package/esm2022/core/pipes/img-theme.pipe.mjs +3 -3
- package/esm2022/core/pipes/k8s-util.pipe.mjs +24 -24
- package/esm2022/core/pipes/k8s-util.pipe.module.mjs +2 -2
- package/esm2022/core/pipes/keyvalue.pipe.mjs +3 -3
- package/esm2022/core/pipes/marked.pipe.mjs +2 -2
- package/esm2022/core/pipes/minimum-format.pipe.mjs +3 -3
- package/esm2022/core/pipes/page-env.pipe.mjs +5 -5
- package/esm2022/core/pipes/parse-json-translate.pipe.mjs +3 -3
- package/esm2022/core/pipes/parse-json.pipe.mjs +2 -2
- package/esm2022/core/pipes/pure.pipe.mjs +2 -2
- package/esm2022/core/pipes/pure.pipe.module.mjs +2 -2
- package/esm2022/core/pipes/safe.pipe.mjs +3 -3
- package/esm2022/core/pipes/sanitize.pipe.mjs +3 -3
- package/esm2022/core/pipes/time.pipe.mjs +11 -11
- package/esm2022/core/pipes/timezone-display.pipe.mjs +2 -2
- package/esm2022/core/services/aui-paginator-intl.service.mjs +3 -3
- package/esm2022/core/services/aui-tooltip-copy-intl.service.mjs +3 -3
- package/esm2022/core/services/context.service.mjs +10 -13
- package/esm2022/core/services/custom-code-editor-intl.service.mjs +3 -3
- package/esm2022/core/services/encode-url-param.interceptor.mjs +32 -0
- package/esm2022/core/services/feature-gate.service.mjs +3 -3
- package/esm2022/core/services/form-row-duplicate/form-row-duplicate.service.mjs +3 -3
- package/esm2022/core/services/intercept-deactivate.service.mjs +3 -3
- package/esm2022/core/services/k8s-util.service.mjs +3 -3
- package/esm2022/core/services/on-resize.service.mjs +5 -5
- package/esm2022/core/services/public-api.mjs +2 -1
- package/esm2022/core/services/silently-navigate.service.mjs +3 -3
- package/esm2022/core/services/time.service.mjs +4 -3
- package/esm2022/core/services/ui-state.service.mjs +2 -2
- package/esm2022/core/services/workspace-helper.service.mjs +8 -2
- package/esm2022/core/services/yaml-util.service.mjs +4 -4
- package/esm2022/core/types/k8s/crd.mjs +1 -1
- package/esm2022/core/types/k8s/raw.mjs +1 -1
- package/esm2022/core/types/resource-definitions.mjs +42 -65
- package/esm2022/core/utils/cache-store.mjs +1 -1
- package/esm2022/core/utils/common.mjs +3 -12
- package/esm2022/core/utils/create-recursive-filter.mjs +1 -1
- package/esm2022/core/utils/cron-util.mjs +1 -1
- package/esm2022/core/utils/decorators.mjs +1 -1
- package/esm2022/core/utils/disabled-state.mjs +47 -0
- package/esm2022/core/utils/format-number.mjs +1 -1
- package/esm2022/core/utils/k8s-util.mjs +1 -1
- package/esm2022/core/utils/observable.mjs +1 -1
- package/esm2022/core/utils/operators.mjs +1 -1
- package/esm2022/core/utils/public-api.mjs +4 -1
- package/esm2022/core/utils/request-pool.mjs +1 -1
- package/esm2022/core/utils/resources.mjs +1 -1
- package/esm2022/core/utils/router.mjs +20 -0
- package/esm2022/core/utils/sort-fn.mjs +1 -1
- package/esm2022/core/utils/tree.mjs +1 -1
- package/esm2022/core/utils/unit.mjs +1 -1
- package/esm2022/core/utils/version.mjs +1 -1
- package/esm2022/core/utils/workload.mjs +183 -0
- package/esm2022/core/utils/workspace.mjs +1 -1
- package/esm2022/core/utils/yaml.mjs +1 -1
- package/esm2022/custom-columns-setting/component.mjs +30 -23
- package/esm2022/disabled-container/disabled-container.component.mjs +4 -3
- package/esm2022/disabled-container/disabled-container.module.mjs +2 -2
- package/esm2022/editable/editable.component.mjs +136 -0
- package/esm2022/editable/editable.directive.mjs +25 -0
- package/esm2022/editable/editable.type.mjs +6 -0
- package/esm2022/editable/public-api.mjs +3 -0
- package/esm2022/editable-text/component.mjs +14 -12
- package/esm2022/editable-text/module.mjs +2 -2
- package/esm2022/effect-directive/coerce-number.directive.mjs +4 -4
- package/esm2022/effect-directive/e2e-attribute-binding.directive.mjs +3 -3
- package/esm2022/effect-directive/event.directive.mjs +3 -3
- package/esm2022/effect-directive/min-max.directive.mjs +3 -3
- package/esm2022/effect-directive/module.mjs +2 -2
- package/esm2022/effect-directive/trim.directive.mjs +3 -3
- package/esm2022/effect-directive/validators.directive.mjs +3 -3
- package/esm2022/exec/module.mjs +2 -2
- package/esm2022/exec/placeholder/component.mjs +4 -3
- package/esm2022/exec/service.mjs +3 -3
- package/esm2022/exec/terminal/component.mjs +87 -86
- package/esm2022/exec/terminal-group/component.mjs +42 -44
- package/esm2022/feature-gate-forbidden/component/component.mjs +9 -8
- package/esm2022/feature-gate-forbidden/module.mjs +2 -2
- package/esm2022/form/directives/value-trace.directive.mjs +4 -4
- package/esm2022/form/errors-mapper/base-errors-mapper.mjs +3 -3
- package/esm2022/form/errors-mapper/default-errors-mapper.service.mjs +3 -3
- package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +6 -5
- package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +7 -6
- package/esm2022/form/errors-mapper/errors-mapper.module.mjs +2 -2
- package/esm2022/form/labels-editor/component.mjs +36 -36
- package/esm2022/form/taints-editor/component.mjs +42 -42
- package/esm2022/form/upload-file/component.mjs +9 -7
- package/esm2022/form/utils.mjs +1 -1
- package/esm2022/form/validators/async-function-validator.directive.mjs +4 -3
- package/esm2022/form/validators/dns1123-subdomain.mjs +1 -1
- package/esm2022/form/validators/function-validator.directive.mjs +4 -3
- package/esm2022/form/validators/maxlength-minlength-validator.directive.mjs +9 -7
- package/esm2022/form/validators/module.mjs +7 -8
- package/esm2022/form/validators/not-be-validator.directive.mjs +4 -3
- package/esm2022/form/validators/one-of-validator.directive.mjs +4 -3
- package/esm2022/form/validators/resource-limit.mjs +1 -1
- package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +30 -28
- package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +3 -3
- package/esm2022/form/validators/strong-password/strong-password-validator.module.mjs +6 -7
- package/esm2022/form/validators/utils.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-actions.component.mjs +3 -2
- package/esm2022/graph-canvas/components/graph-canvas.component.mjs +25 -23
- package/esm2022/graph-canvas/components/graph-link.component.mjs +12 -13
- package/esm2022/graph-canvas/components/graph-links.component.mjs +3 -2
- package/esm2022/graph-canvas/components/graph-node.directive.mjs +4 -4
- package/esm2022/graph-canvas/graph-canvas.module.mjs +2 -2
- package/esm2022/graph-canvas/graph-store.service.mjs +2 -2
- package/esm2022/grid-layout/components/grid/component.mjs +5 -4
- package/esm2022/grid-layout/components/grid-items/component.mjs +8 -7
- package/esm2022/grid-layout/directives/drag-handler.directive.mjs +3 -3
- package/esm2022/grid-layout/directives/placeholder.directive.mjs +3 -3
- package/esm2022/grid-layout/directives/remove-handler.directive.mjs +3 -3
- package/esm2022/grid-layout/directives/resize-handler.directive.mjs +3 -3
- package/esm2022/grid-layout/grid-layout.service.mjs +2 -2
- package/esm2022/grid-layout/grid-placeholder.service.mjs +3 -3
- package/esm2022/grid-layout/module.mjs +2 -2
- package/esm2022/grid-layout/utils/grid.utils.mjs +1 -1
- package/esm2022/grid-layout/utils/react-grid-layout.utils.mjs +1 -1
- package/esm2022/grid-layout/utils/scroll.utils.mjs +1 -1
- package/esm2022/help-document/component.mjs +18 -16
- package/esm2022/help-document/directive.mjs +4 -4
- package/esm2022/help-document/module.mjs +2 -2
- package/esm2022/help-document/service.mjs +4 -4
- package/esm2022/iframe-config/config.service.mjs +3 -3
- package/esm2022/k8s-resource-list/footer/component.mjs +103 -65
- package/esm2022/k8s-resource-list/k8s-resource-list.mjs +3 -6
- package/esm2022/k8s-resource-list/k8s-resource-list.module.mjs +19 -7
- package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +1 -1
- package/esm2022/k8s-resource-list/utils.mjs +7 -3
- package/esm2022/k8s-shared/constants.mjs +53 -0
- package/esm2022/k8s-shared/k8s-resource-translate-key.pipe.mjs +30 -0
- package/esm2022/k8s-shared/k8s-shared-util.service.mjs +3 -3
- package/esm2022/k8s-shared/public-api.mjs +2 -1
- package/esm2022/k8s-shared/update-description-dialog/component.mjs +10 -9
- package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +22 -20
- package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +13 -11
- package/esm2022/lazy-component/lazy-load-component.mjs +25 -26
- package/esm2022/lazy-component/visibility.service.mjs +2 -2
- package/esm2022/license/license-api.mjs +3 -3
- package/esm2022/license/license-error/component.mjs +25 -25
- package/esm2022/license/license-error/module.mjs +2 -2
- package/esm2022/license/license.guard.mjs +4 -4
- package/esm2022/license/license.service.mjs +4 -4
- package/esm2022/list-display/component.mjs +39 -40
- package/esm2022/metric-chart/common-chart.service.mjs +3 -3
- package/esm2022/metric-chart/helpers.mjs +1 -1
- package/esm2022/metric-chart/metric-chart.component.mjs +6 -5
- package/esm2022/metric-chart/metric-chart.module.mjs +2 -2
- package/esm2022/metric-chart/metric-time-pick.mjs +20 -17
- package/esm2022/metric-chart/utils.mjs +1 -1
- package/esm2022/multi-search/action-input/component.mjs +180 -181
- package/esm2022/multi-search/form/component.mjs +26 -22
- package/esm2022/multi-search/multi-search-tags/component.mjs +33 -31
- package/esm2022/mutable/element.mjs +1 -1
- package/esm2022/mutable/mosaic/mosaic.component.mjs +6 -5
- package/esm2022/mutable/mosaic/mosaic.directive.mjs +3 -3
- package/esm2022/mutable/mutable.directive.mjs +4 -4
- package/esm2022/mutable/mutable.module.mjs +2 -2
- package/esm2022/notification/feedback-notification/component.mjs +22 -23
- package/esm2022/notification/notification-util.service.mjs +3 -3
- package/esm2022/notification/resource-error.interceptor.mjs +3 -3
- package/esm2022/overview-banner/overview-banner.component.mjs +3 -2
- package/esm2022/overview-banner/overview-banner.module.mjs +2 -2
- package/esm2022/page-guard/component/component.mjs +70 -78
- package/esm2022/page-guard/component/helper-directives.mjs +5 -5
- package/esm2022/page-guard/module.mjs +2 -2
- package/esm2022/page-scaffold/module.mjs +2 -2
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.mjs +3 -3
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +182 -91
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.service.mjs +2 -2
- package/esm2022/page-scaffold/navigation/breadcrumb/module.mjs +2 -2
- package/esm2022/page-scaffold/navigation/lottie-icons/animation-data.mjs +1 -3
- package/esm2022/page-scaffold/navigation/lottie-icons/lottie-icon.directive.mjs +3 -3
- package/esm2022/page-scaffold/navigation/lottie-icons/module.mjs +2 -2
- package/esm2022/page-scaffold/navigation/lottie-icons/replace-lottie-colors.mjs +11 -11
- package/esm2022/page-scaffold/navigation/module.mjs +2 -2
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +128 -99
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.mjs +30 -32
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +21 -19
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.module.mjs +4 -4
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.types.mjs +1 -1
- package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +9 -8
- package/esm2022/page-scaffold/page/context.service.mjs +2 -2
- package/esm2022/page-scaffold/page/helper-directives.mjs +10 -10
- package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +11 -11
- package/esm2022/page-scaffold/page/notices/notice.component.mjs +15 -15
- package/esm2022/page-scaffold/page/page.component.mjs +20 -20
- package/esm2022/page-scaffold/page/page.module.mjs +2 -2
- package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +40 -39
- package/esm2022/page-scaffold/page-header/account-menu/module.mjs +2 -2
- package/esm2022/page-scaffold/page-header/common-layout/common-layout.module.mjs +2 -2
- package/esm2022/page-scaffold/page-header/common-layout/context.service.mjs +4 -4
- package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +58 -59
- package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +68 -73
- package/esm2022/page-scaffold/page-header/common-layout/product-select/service.mjs +2 -2
- package/esm2022/page-scaffold/page-header/common-layout/project-select/base-selection.mjs +3 -3
- package/esm2022/page-scaffold/page-header/common-layout/store.service.mjs +3 -3
- package/esm2022/page-scaffold/page-header/component.mjs +24 -25
- package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +15 -14
- package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +27 -27
- package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +22 -21
- package/esm2022/page-scaffold/page-header/header-notify/header-notify.module.mjs +2 -2
- package/esm2022/page-scaffold/page-header/header-notify/notify.service.mjs +5 -5
- package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +59 -62
- package/esm2022/page-scaffold/page-header/help-menu/module.mjs +2 -2
- package/esm2022/page-scaffold/page-header/module.mjs +2 -2
- package/esm2022/permission/helpers.mjs +1 -1
- package/esm2022/permission/k8s-permission.service.mjs +3 -3
- package/esm2022/permission/permission.guard.mjs +3 -3
- package/esm2022/pie-derivative-chart/donut-status/component.mjs +29 -28
- package/esm2022/pie-derivative-chart/indicator-color.directive.mjs +3 -3
- package/esm2022/pie-derivative-chart/numerical-limit.pipe.mjs +3 -3
- package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +7 -7
- package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +84 -78
- package/esm2022/pie-derivative-chart/units.mjs +14 -0
- package/esm2022/pod-status/component.mjs +167 -0
- package/esm2022/pod-status/public-api.mjs +4 -0
- package/esm2022/pod-status/status.mjs +84 -0
- package/esm2022/pod-status/typings.mjs +19 -0
- package/esm2022/public-api.mjs +4 -1
- package/esm2022/searchable-selector/component.mjs +73 -75
- package/esm2022/searchable-selector/module.mjs +2 -2
- package/esm2022/skeleton/item/component.mjs +4 -3
- package/esm2022/skeleton/module.mjs +2 -2
- package/esm2022/skeleton/nav-skeleton/component.mjs +8 -7
- package/esm2022/table/component.mjs +275 -276
- package/esm2022/table/helper.mjs +1 -1
- package/esm2022/table/helpers.directive.mjs +3 -3
- package/esm2022/table/module.mjs +40 -31
- package/esm2022/table/util.service.mjs +4 -4
- package/esm2022/translate/helpers.mjs +1 -1
- package/esm2022/translate/i18n-config.mjs +3 -8
- package/esm2022/translate/translate.directive.mjs +9 -9
- package/esm2022/translate/translate.module.mjs +2 -2
- package/esm2022/translate/translate.pipe.mjs +3 -3
- package/esm2022/translate/translate.service.mjs +4 -4
- package/esm2022/view-chart/custom-template/dropdown-legend.mjs +24 -26
- package/esm2022/view-chart/legend/legend.component.mjs +66 -70
- package/esm2022/view-chart/view-chart.component.mjs +94 -105
- package/esm2022/view-chart/view-chart.module.mjs +2 -2
- package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +24 -26
- package/esm2022/view-zchart/legend/legend.component.mjs +77 -82
- package/esm2022/view-zchart/units.mjs +1 -1
- package/esm2022/view-zchart/view-zchart.component.mjs +111 -120
- package/esm2022/view-zchart/view-zchart.module.mjs +2 -2
- package/esm2022/widget/card-section/card-section.component.mjs +13 -12
- package/esm2022/widget/confirm-delete/confirm-delete.component.mjs +45 -46
- package/esm2022/widget/current-time/component.mjs +4 -3
- package/esm2022/widget/date-range-picker/component.mjs +42 -40
- package/esm2022/widget/field-set/column/component.mjs +5 -3
- package/esm2022/widget/field-set/group/component.mjs +3 -2
- package/esm2022/widget/field-set/item/component.mjs +8 -7
- package/esm2022/widget/foldable-block/component.mjs +25 -24
- package/esm2022/widget/foldable-item-in-table/component.mjs +41 -42
- package/esm2022/widget/loading-mask/loading-mask.component.mjs +9 -9
- package/esm2022/widget/password-input/component.mjs +72 -71
- package/esm2022/widget/public-api.mjs +2 -1
- package/esm2022/widget/relative-time/component.mjs +4 -3
- package/esm2022/widget/resource-label/component.mjs +131 -0
- package/esm2022/widget/resource-multi-select/component.mjs +20 -19
- package/esm2022/widget/resource-multi-select/util.mjs +1 -1
- package/esm2022/widget/search-panel/component.mjs +3 -2
- package/esm2022/widget/search-panel/helper.directive.mjs +2 -2
- package/esm2022/widget/search-panel/search-item/component.mjs +3 -2
- package/esm2022/widget/select-prefix-label/directive.mjs +4 -4
- package/esm2022/widget/status-icon/status-icon.component.mjs +16 -15
- package/esm2022/widget/tags-label/component.mjs +61 -62
- package/esm2022/widget/terminating-tag/component.mjs +4 -3
- package/esm2022/widget/text-ellipsis/component.mjs +11 -11
- package/esm2022/widget/text-tooltip/directive.mjs +3 -3
- package/esm2022/widget/text-with-url/component.mjs +8 -8
- package/esm2022/widget/widget.module.mjs +2 -2
- package/esm2022/widget/zero-state/zero-state.component.mjs +45 -30
- package/esm2022/window-channel/base-window-channel.mjs +1 -1
- package/esm2022/window-channel/directives/host-link.directive.mjs +2 -2
- package/esm2022/window-channel/host-window-channel.service.mjs +3 -3
- package/esm2022/window-channel/plugin-window-channel.service.mjs +3 -3
- package/esm2022/workload-status-icon/component.mjs +72 -0
- package/esm2022/workload-status-icon/public-api.mjs +2 -0
- package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +68 -71
- package/esm2022/xterm/xterm-terminal/xterm-terminal.directive.mjs +3 -3
- package/esm2022/xterm/xterm.component.mjs +5 -4
- package/exec/terminal/component.d.ts +1 -4
- package/form/validators/async-function-validator.directive.d.ts +1 -1
- package/form/validators/function-validator.directive.d.ts +1 -1
- package/form/validators/maxlength-minlength-validator.directive.d.ts +2 -2
- package/form/validators/module.d.ts +8 -8
- package/form/validators/not-be-validator.directive.d.ts +1 -1
- package/form/validators/one-of-validator.directive.d.ts +1 -1
- package/form/validators/resource-limit.d.ts +1 -1
- package/form/validators/strong-password/strong-password-validator.module.d.ts +2 -2
- package/graph-canvas/components/graph-canvas.component.d.ts +2 -2
- package/k8s-resource-list/footer/component.d.ts +9 -1
- package/k8s-resource-list/k8s-resource-list.module.d.ts +1 -1
- package/k8s-resource-list/k8s-resource-paged-list.d.ts +2 -2
- package/k8s-shared/constants.d.ts +7 -0
- package/k8s-shared/k8s-resource-translate-key.pipe.d.ts +9 -0
- package/k8s-shared/public-api.d.ts +1 -0
- package/license/license-api.d.ts +1 -1
- package/license/license-error/component.d.ts +1 -1
- package/metric-chart/helpers.d.ts +1 -1
- package/package.json +2 -1
- package/page-guard/component/component.d.ts +1 -1
- package/page-scaffold/navigation/breadcrumb/breadcrumb.component.d.ts +2 -0
- package/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.d.ts +1 -0
- package/page-scaffold/navigation/nav-menu/nav-menu.types.d.ts +8 -1
- package/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.d.ts +2 -1
- package/page-scaffold/page-header/common-layout/product-select/component.d.ts +1 -3
- package/page-scaffold/page-header/header-notify/utils.d.ts +3 -3
- package/pie-derivative-chart/radial-bar/radial-bar-chart.component.d.ts +4 -0
- package/pie-derivative-chart/units.d.ts +2 -0
- package/pod-status/component.d.ts +27 -0
- package/pod-status/public-api.d.ts +3 -0
- package/pod-status/status.d.ts +4 -0
- package/pod-status/typings.d.ts +16 -0
- package/public-api.d.ts +3 -0
- package/styles/ansi-color.scss +131 -0
- package/styles/global.scss +4 -1
- package/styles/tailwind-preset.scss +1 -1
- package/table/component.d.ts +6 -4
- package/table/helper.d.ts +1 -1
- package/table/module.d.ts +23 -7
- package/widget/public-api.d.ts +1 -0
- package/widget/resource-label/component.d.ts +25 -0
- package/widget/zero-state/zero-state.component.d.ts +5 -2
- package/workload-status-icon/component.d.ts +36 -0
- package/workload-status-icon/public-api.d.ts +1 -0
- package/a-chart/a-chart.module.d.ts +0 -16
- package/a-chart/base-chart.d.ts +0 -24
- package/a-chart/chart-status.component.d.ts +0 -15
- package/a-chart/chart.component.d.ts +0 -56
- package/a-chart/components/base-component.d.ts +0 -12
- package/a-chart/components/legend/base-legend.component.d.ts +0 -31
- package/a-chart/components/legend/dropdown-legend.d.ts +0 -17
- package/a-chart/components/legend/legend.component.d.ts +0 -17
- package/a-chart/components/legend/public-api.d.ts +0 -3
- package/a-chart/components/public-api.d.ts +0 -3
- package/a-chart/components/title.component.d.ts +0 -17
- package/a-chart/constant.d.ts +0 -6
- package/a-chart/public-api.d.ts +0 -12
- package/a-chart/types.d.ts +0 -38
- package/a-chart/utils.d.ts +0 -13
- package/a-metric-chart/a-metric-chart.component.d.ts +0 -154
- package/a-metric-chart/a-metric-chart.module.d.ts +0 -16
- package/a-metric-chart/bar-gauge/bar-gauge.component.d.ts +0 -25
- package/a-metric-chart/base-chart.component.d.ts +0 -14
- package/a-metric-chart/metric-chart-refresh.service.d.ts +0 -8
- package/a-metric-chart/public-api.d.ts +0 -14
- package/a-metric-chart/stat-chart/stat-chart.component.d.ts +0 -11
- package/a-metric-chart/table-chart/table-chart.component.d.ts +0 -29
- package/a-metric-chart/types.d.ts +0 -130
- package/a-metric-chart/utils/public-api.d.ts +0 -3
- package/a-metric-chart/utils/range.d.ts +0 -1
- package/a-metric-chart/utils/unit.d.ts +0 -48
- package/a-metric-chart/utils/util.d.ts +0 -45
- package/api/monitor-api.service.d.ts +0 -104
- package/esm2022/a-chart/a-chart.module.mjs +0 -76
- package/esm2022/a-chart/base-chart.mjs +0 -98
- package/esm2022/a-chart/chart-status.component.mjs +0 -195
- package/esm2022/a-chart/chart.component.mjs +0 -307
- package/esm2022/a-chart/components/base-component.mjs +0 -23
- package/esm2022/a-chart/components/legend/base-legend.component.mjs +0 -111
- package/esm2022/a-chart/components/legend/dropdown-legend.mjs +0 -199
- package/esm2022/a-chart/components/legend/legend.component.mjs +0 -102
- package/esm2022/a-chart/components/legend/public-api.mjs +0 -4
- package/esm2022/a-chart/components/public-api.mjs +0 -4
- package/esm2022/a-chart/components/title.component.mjs +0 -99
- package/esm2022/a-chart/constant.mjs +0 -24
- package/esm2022/a-chart/public-api.mjs +0 -13
- package/esm2022/a-chart/types.mjs +0 -7
- package/esm2022/a-chart/utils.mjs +0 -37
- package/esm2022/a-metric-chart/a-metric-chart.component.mjs +0 -937
- package/esm2022/a-metric-chart/a-metric-chart.module.mjs +0 -74
- package/esm2022/a-metric-chart/bar-gauge/bar-gauge.component.mjs +0 -166
- package/esm2022/a-metric-chart/base-chart.component.mjs +0 -30
- package/esm2022/a-metric-chart/metric-chart-refresh.service.mjs +0 -18
- package/esm2022/a-metric-chart/public-api.mjs +0 -15
- package/esm2022/a-metric-chart/stat-chart/stat-chart.component.mjs +0 -122
- package/esm2022/a-metric-chart/table-chart/table-chart.component.mjs +0 -201
- package/esm2022/a-metric-chart/types.mjs +0 -26
- package/esm2022/a-metric-chart/utils/public-api.mjs +0 -4
- package/esm2022/a-metric-chart/utils/range.mjs +0 -35
- package/esm2022/a-metric-chart/utils/unit.mjs +0 -83
- package/esm2022/a-metric-chart/utils/util.mjs +0 -243
- package/esm2022/api/monitor-api.service.mjs +0 -158
- package/esm2022/notification/notification-util.module.mjs +0 -32
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/dashboard.json +0 -1
- package/notification/notification-util.module.d.ts +0 -10
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
import dayjs from 'dayjs';
|
|
2
|
-
import { get, isFunction, template } from 'lodash-es';
|
|
3
|
-
import { CHART_TIME_FORMAT } from '../../a-chart/public-api';
|
|
4
|
-
import { FIELD_NOT_AVAILABLE_PLACEHOLDER, } from '../../core/public-api';
|
|
5
|
-
import { PICKER_TIME_RANGES } from '../../metric-chart/public-api';
|
|
6
|
-
import { roundInterval } from './range';
|
|
7
|
-
export function handleMetricParams(params, { variableSource, start, end, step, isIndex }) {
|
|
8
|
-
// eslint-disable-next-line sonarjs/cognitive-complexity
|
|
9
|
-
const value = params.map((cur, index) => {
|
|
10
|
-
const v = Array.isArray(variableSource)
|
|
11
|
-
? variableSource.filter((item, i) => Object.keys(item).length &&
|
|
12
|
-
((isIndex
|
|
13
|
-
? index === i
|
|
14
|
-
: cur?.variables?.every(v => Object.keys(item).includes(v))) ||
|
|
15
|
-
cur.expr))
|
|
16
|
-
: cur.variables?.length && variableSource
|
|
17
|
-
? [variableSource]
|
|
18
|
-
: [];
|
|
19
|
-
const variable = v.map(value => {
|
|
20
|
-
return cur.expr
|
|
21
|
-
? value
|
|
22
|
-
: cur.variables?.reduce((pre, key) => value[key]
|
|
23
|
-
? {
|
|
24
|
-
...pre,
|
|
25
|
-
[key]: value[key],
|
|
26
|
-
}
|
|
27
|
-
: pre, {});
|
|
28
|
-
});
|
|
29
|
-
const indicators = cur.indicators || cur.expr;
|
|
30
|
-
return {
|
|
31
|
-
indicators: cur.indicators,
|
|
32
|
-
range: cur.range,
|
|
33
|
-
instant: cur.instant,
|
|
34
|
-
exprs: cur.expr ? [indicators] : [],
|
|
35
|
-
variables: variable,
|
|
36
|
-
};
|
|
37
|
-
});
|
|
38
|
-
return {
|
|
39
|
-
indicators: value,
|
|
40
|
-
start,
|
|
41
|
-
end,
|
|
42
|
-
step,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
export function handleChartData({ indicatorParams, metricParams }, data) {
|
|
46
|
-
if (!data) {
|
|
47
|
-
return [];
|
|
48
|
-
}
|
|
49
|
-
const { dependentData } = metricParams;
|
|
50
|
-
return dependentData
|
|
51
|
-
? dependOnData(indicatorParams, data)
|
|
52
|
-
: dependOnIndicator(indicatorParams, data);
|
|
53
|
-
}
|
|
54
|
-
export function dependOnIndicator(indicatorParams, data) {
|
|
55
|
-
return indicatorParams.reduce((pre, params) => {
|
|
56
|
-
const metricData = data?.find(item => item.indicator === params.indicators);
|
|
57
|
-
return [...pre, handleDataResult(params, metricData?.result?.[0])];
|
|
58
|
-
}, []);
|
|
59
|
-
}
|
|
60
|
-
export function dependOnData(indicatorParams, data) {
|
|
61
|
-
const params = indicatorParams[0];
|
|
62
|
-
return data?.reduce((pre, res) => {
|
|
63
|
-
if (params.indicators === res.indicator || params.expr === res.query) {
|
|
64
|
-
return [
|
|
65
|
-
...pre,
|
|
66
|
-
...res.result.map(item => handleDataResult(params, item)),
|
|
67
|
-
];
|
|
68
|
-
}
|
|
69
|
-
return pre;
|
|
70
|
-
}, []);
|
|
71
|
-
}
|
|
72
|
-
export function handleDataResult(params, res) {
|
|
73
|
-
return {
|
|
74
|
-
name: handleLegend(params, res),
|
|
75
|
-
...(params.instant && !params.range && { type: 'point' }),
|
|
76
|
-
...(params.instant && { instant: true }),
|
|
77
|
-
range: params.range,
|
|
78
|
-
values: res?.values?.map(d => ({
|
|
79
|
-
x: d[0],
|
|
80
|
-
y: d[1],
|
|
81
|
-
})),
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
export function handleLegend(params, result) {
|
|
85
|
-
return isFunction(params?.legend)
|
|
86
|
-
? params.legend(params, result)
|
|
87
|
-
: getLegendName(params?.legend, result?.metric || {});
|
|
88
|
-
}
|
|
89
|
-
export const LEGEND_TEMPLATE_OPTIONS = Object.freeze({
|
|
90
|
-
// eslint-disable-next-line regexp/match-any, regexp/strict
|
|
91
|
-
interpolate: /{{\.([\S\s]+?)}}/g,
|
|
92
|
-
});
|
|
93
|
-
export function getLegendName(metricKey, metric) {
|
|
94
|
-
if (!metricKey && !Object.keys(metric || {})?.length) {
|
|
95
|
-
return FIELD_NOT_AVAILABLE_PLACEHOLDER;
|
|
96
|
-
}
|
|
97
|
-
if (!metricKey && metric) {
|
|
98
|
-
return JSON.stringify(metric);
|
|
99
|
-
}
|
|
100
|
-
const metricKeys = metricKey?.split(',').map(matchLegend);
|
|
101
|
-
if (metricKeys?.length > 1) {
|
|
102
|
-
const value = metric?.[metricKeys.find(item => metric[item])];
|
|
103
|
-
return value || metricKey;
|
|
104
|
-
}
|
|
105
|
-
return (getLegendTemplate(metricKey, metric) ||
|
|
106
|
-
legendFormat(metricKey, metric) ||
|
|
107
|
-
metricKey);
|
|
108
|
-
}
|
|
109
|
-
function legendFormat(str, vars) {
|
|
110
|
-
// eslint-disable-next-line unicorn/better-regex
|
|
111
|
-
const regex = /\{\{\.(.+?)\}\}/g;
|
|
112
|
-
return (str.replaceAll(regex, (match, capture) => {
|
|
113
|
-
if (vars[capture]) {
|
|
114
|
-
return vars[capture];
|
|
115
|
-
}
|
|
116
|
-
if (match) {
|
|
117
|
-
return '';
|
|
118
|
-
}
|
|
119
|
-
return '';
|
|
120
|
-
}) || 'Value');
|
|
121
|
-
}
|
|
122
|
-
function getLegendTemplate(str, obj) {
|
|
123
|
-
let name;
|
|
124
|
-
try {
|
|
125
|
-
name = get(obj, str) || template(str, LEGEND_TEMPLATE_OPTIONS)(obj);
|
|
126
|
-
}
|
|
127
|
-
catch {
|
|
128
|
-
name = '';
|
|
129
|
-
}
|
|
130
|
-
return name;
|
|
131
|
-
}
|
|
132
|
-
function matchLegend(value) {
|
|
133
|
-
// eslint-disable-next-line unicorn/better-regex
|
|
134
|
-
return value.match(/\{\{\.(.+?)\}\}/)?.[1] || value;
|
|
135
|
-
}
|
|
136
|
-
// 填充空数据
|
|
137
|
-
// eslint-disable-next-line sonarjs/cognitive-complexity
|
|
138
|
-
export function fillNullData({ start, end, step }, res = [], isZero = false, stepLine = false) {
|
|
139
|
-
if (!+start || !+end) {
|
|
140
|
-
return res;
|
|
141
|
-
}
|
|
142
|
-
const _step = step || roundInterval(start, end);
|
|
143
|
-
const curStart = +start;
|
|
144
|
-
const nullValue = isZero ? 0 : null;
|
|
145
|
-
const curEnd = start + step * ((end - start) / step);
|
|
146
|
-
const preX = stepLine
|
|
147
|
-
? {
|
|
148
|
-
preX: dayjs(curStart)
|
|
149
|
-
.subtract((end - start) / 6, 's')
|
|
150
|
-
.valueOf(),
|
|
151
|
-
}
|
|
152
|
-
: {};
|
|
153
|
-
const result = [
|
|
154
|
-
...(curStart === res[0]?.x ? [] : [{ x: curStart, y: nullValue, ...preX }]),
|
|
155
|
-
...res,
|
|
156
|
-
...(res.at(-1)?.x >= curEnd ? [] : [{ x: curEnd, y: nullValue }]),
|
|
157
|
-
];
|
|
158
|
-
// query 返回数据可能存在某个时间段无数据情况,会导致前端bug
|
|
159
|
-
// 通过 step 计算出 总数据。
|
|
160
|
-
// 在出现一开始数据缺失情况,先给数据添加开始时间数据,和结束时间数据。
|
|
161
|
-
// 在进行遍历,判读当前数据和下一跳数据事件差 是否是这个 step,
|
|
162
|
-
// 如果不是计算出两者相差 几条数据,然后进行填充
|
|
163
|
-
const data = result.reduce((acc, prev, index) => {
|
|
164
|
-
const diff = result[index + 1] && result[index + 1].x * 1000 - prev.x * 1000;
|
|
165
|
-
const stepM = _step * 1000;
|
|
166
|
-
// 后端可能出现 +Ifn 导致成 NaN,设置为 null
|
|
167
|
-
const curValue = {
|
|
168
|
-
...prev,
|
|
169
|
-
y: prev.y,
|
|
170
|
-
};
|
|
171
|
-
if (diff && diff !== stepM) {
|
|
172
|
-
const total = Math.ceil(diff / stepM - 1);
|
|
173
|
-
const data = Array.from({ length: total || 0 })
|
|
174
|
-
.fill(0)
|
|
175
|
-
.reduce((old, _curr, i) => {
|
|
176
|
-
const x = i === 0 ? prev.x * 1000 + stepM : old[i - 1].x * 1000 + stepM;
|
|
177
|
-
return [
|
|
178
|
-
...old,
|
|
179
|
-
{
|
|
180
|
-
x: x / 1000,
|
|
181
|
-
y: nullValue,
|
|
182
|
-
...(stepLine
|
|
183
|
-
? { preX: i === 0 ? result[index].x : old[i - 1].x }
|
|
184
|
-
: {}),
|
|
185
|
-
},
|
|
186
|
-
];
|
|
187
|
-
}, []);
|
|
188
|
-
return [...acc, curValue, ...data];
|
|
189
|
-
}
|
|
190
|
-
return [...acc, curValue];
|
|
191
|
-
}, []);
|
|
192
|
-
return data.sort((a, b) => a.x - b.x);
|
|
193
|
-
}
|
|
194
|
-
export function handleDateAxisLabelFormats(params, isRich) {
|
|
195
|
-
if (params) {
|
|
196
|
-
const diff = params.end - params.start;
|
|
197
|
-
const m1 = 24 * 60 * 60;
|
|
198
|
-
const m3 = 3 * m1;
|
|
199
|
-
const m7 = 7 * m1;
|
|
200
|
-
const M_D_FORMAT = 'MM-DD';
|
|
201
|
-
const MD_HS_FORMAT = `${M_D_FORMAT} ${CHART_TIME_FORMAT}`;
|
|
202
|
-
return diff >= m7
|
|
203
|
-
? isRich
|
|
204
|
-
? MD_HS_FORMAT
|
|
205
|
-
: M_D_FORMAT
|
|
206
|
-
: diff < m7 && (diff >= m3 || diff > m1)
|
|
207
|
-
? MD_HS_FORMAT
|
|
208
|
-
: CHART_TIME_FORMAT;
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
export function limitMaxTooltipItem(context, limit = 15) {
|
|
212
|
-
return context.slice(0, limit);
|
|
213
|
-
}
|
|
214
|
-
export const VARIABLE_KEY_CLUSTER = '$cluster';
|
|
215
|
-
export const VARIABLE_KEY_NAMESPACE = '$namespace';
|
|
216
|
-
export function replaceExprVariable(expr, variable) {
|
|
217
|
-
let data = Array.isArray(expr) ? expr.join('|') : expr;
|
|
218
|
-
const variableKeys = Object.keys(variable || {});
|
|
219
|
-
const variableValues = Object.values(variable || {});
|
|
220
|
-
const vars = data && typeof data.match === 'function' ? data.match(/\$\w+/g) : [];
|
|
221
|
-
if (!variableKeys.length ||
|
|
222
|
-
!variableKeys.some(v => vars?.some(item => item.replace('$', '') === v))) {
|
|
223
|
-
return data;
|
|
224
|
-
}
|
|
225
|
-
vars
|
|
226
|
-
.sort((a, b) => b.length - a.length)
|
|
227
|
-
.forEach(key => {
|
|
228
|
-
const k = key.replace('$', '');
|
|
229
|
-
const index = variableKeys.indexOf(k);
|
|
230
|
-
if (index >= 0) {
|
|
231
|
-
const v = variableValues[index];
|
|
232
|
-
data = data?.replace(new RegExp(`\\$${k}`, 'g'), Array.isArray(v) ? v.join('|') : v);
|
|
233
|
-
}
|
|
234
|
-
});
|
|
235
|
-
return data;
|
|
236
|
-
}
|
|
237
|
-
export function findTimeRange(diff) {
|
|
238
|
-
const time = PICKER_TIME_RANGES.find(item => {
|
|
239
|
-
return item.endTime() - item.startTime() === diff;
|
|
240
|
-
});
|
|
241
|
-
return time ? { start: time.startTime(), end: time.endTime() } : null;
|
|
242
|
-
}
|
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hLW1ldHJpYy1jaGFydC91dGlscy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFjLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUVMLCtCQUErQixHQUVoQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFeEMsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxNQUF5QixFQUN6QixFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQWdCO0lBRTNELHdEQUF3RDtJQUN4RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUNuQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTTtnQkFDeEIsQ0FBQyxDQUFDLE9BQU87b0JBQ1AsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDO29CQUNiLENBQUMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFB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dCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgeyBnZXQsIGlzRnVuY3Rpb24sIHRlbXBsYXRlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IERhdGFJdGVtLCBUb29sdGlwVmFsdWUgfSBmcm9tICd6ei1jaGFydCc7XG5cbmltcG9ydCB7IENIQVJUX1RJTUVfRk9STUFULCBBQ2hhcnREYXRhIH0gZnJvbSAnLi4vLi4vYS1jaGFydC9wdWJsaWMtYXBpJztcbmltcG9ydCB7IE1vbml0b3JNZXRyaWMsIE1vbml0b3JNZXRyaWNSZXN1bHQgfSBmcm9tICcuLi8uLi9hcGkvcHVibGljLWFwaSc7XG5pbXBvcnQge1xuICBEaWN0aW9uYXJ5LFxuICBGSUVMRF9OT1RfQVZBSUxBQkxFX1BMQUNFSE9MREVSLFxuICBTdHJpbmdNYXAsXG59IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBQSUNLRVJfVElNRV9SQU5HRVMgfSBmcm9tICcuLi8uLi9tZXRyaWMtY2hhcnQvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBGZXRjaFBhcmFtcywgSW5kaWNhdG9yUGFyYW1zLCBNZXRyaWNQYXJhbXMgfSBmcm9tICcuLi90eXBlcyc7XG5cbmltcG9ydCB7IHJvdW5kSW50ZXJ2YWwgfSBmcm9tICcuL3JhbmdlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZU1ldHJpY1BhcmFtcyhcbiAgcGFyYW1zOiBJbmRpY2F0b3JQYXJhbXNbXSxcbiAgeyB2YXJpYWJsZVNvdXJjZSwgc3RhcnQsIGVuZCwgc3RlcCwgaXNJbmRleCB9OiBNZXRyaWNQYXJhbXMsXG4pIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvY29nbml0aXZlLWNvbXBsZXhpdHlcbiAgY29uc3QgdmFsdWUgPSBwYXJhbXMubWFwKChjdXIsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgdiA9IEFycmF5LmlzQXJyYXkodmFyaWFibGVTb3VyY2UpXG4gICAgICA/IHZhcmlhYmxlU291cmNlLmZpbHRlcihcbiAgICAgICAgICAoaXRlbSwgaSkgPT5cbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGl0ZW0pLmxlbmd0aCAmJlxuICAgICAgICAgICAgKChpc0luZGV4XG4gICAgICAgICAgICAgID8gaW5kZXggPT09IGlcbiAgICAgICAgICAgICAgOiBjdXI/LnZhcmlhYmxlcz8uZXZlcnkodiA9PiBPYmplY3Qua2V5cyhpdGVtKS5pbmNsdWRlcyh2KSkpIHx8XG4gICAgICAgICAgICAgIGN1ci5leHByKSxcbiAgICAgICAgKVxuICAgICAgOiBjdXIudmFyaWFibGVzPy5sZW5ndGggJiYgdmFyaWFibGVTb3VyY2VcbiAgICAgID8gW3ZhcmlhYmxlU291cmNlXVxuICAgICAgOiBbXTtcbiAgICBjb25zdCB2YXJpYWJsZTogU3RyaW5nTWFwW10gPSB2Lm1hcCh2YWx1ZSA9PiB7XG4gICAgICByZXR1cm4gY3VyLmV4cHJcbiAgICAgICAgPyB2YWx1ZVxuICAgICAgICA6IGN1ci52YXJpYWJsZXM/LnJlZHVjZShcbiAgICAgICAgICAgIChwcmUsIGtleSkgPT5cbiAgICAgICAgICAgICAgdmFsdWVba2V5XVxuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAuLi5wcmUsXG4gICAgICAgICAgICAgICAgICAgIFtrZXldOiB2YWx1ZVtrZXldLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDogcHJlLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgKTtcbiAgICB9KTtcbiAgICBjb25zdCBpbmRpY2F0b3JzID0gY3VyLmluZGljYXRvcnMgfHwgY3VyLmV4cHI7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluZGljYXRvcnM6IGN1ci5pbmRpY2F0b3JzLFxuICAgICAgcmFuZ2U6IGN1ci5yYW5nZSxcbiAgICAgIGluc3RhbnQ6IGN1ci5pbnN0YW50LFxuICAgICAgZXhwcnM6IGN1ci5leHByID8gW2luZGljYXRvcnNdIDogW10sXG4gICAgICB2YXJpYWJsZXM6IHZhcmlhYmxlLFxuICAgIH07XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIGluZGljYXRvcnM6IHZhbHVlLFxuICAgIHN0YXJ0LFxuICAgIGVuZCxcbiAgICBzdGVwLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlQ2hhcnREYXRhKFxuICB7IGluZGljYXRvclBhcmFtcywgbWV0cmljUGFyYW1zIH06IEZldGNoUGFyYW1zLFxuICBkYXRhOiBNb25pdG9yTWV0cmljW10sXG4pIHtcbiAgaWYgKCFkYXRhKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGNvbnN0IHsgZGVwZW5kZW50RGF0YSB9ID0gbWV0cmljUGFyYW1zO1xuICByZXR1cm4gZGVwZW5kZW50RGF0YVxuICAgID8gZGVwZW5kT25EYXRhKGluZGljYXRvclBhcmFtcywgZGF0YSlcbiAgICA6IGRlcGVuZE9uSW5kaWNhdG9yKGluZGljYXRvclBhcmFtcywgZGF0YSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXBlbmRPbkluZGljYXRvcihcbiAgaW5kaWNhdG9yUGFyYW1zOiBJbmRpY2F0b3JQYXJhbXNbXSxcbiAgZGF0YTogTW9uaXRvck1ldHJpY1tdLFxuKTogQUNoYXJ0RGF0YVtdIHtcbiAgcmV0dXJuIGluZGljYXRvclBhcmFtcy5yZWR1Y2UoKHByZSwgcGFyYW1zKSA9PiB7XG4gICAgY29uc3QgbWV0cmljRGF0YSA9IGRhdGE/LmZpbmQoaXRlbSA9PiBpdGVtLmluZGljYXRvciA9PT0gcGFyYW1zLmluZGljYXRvcnMpO1xuICAgIHJldHVybiBbLi4ucHJlLCBoYW5kbGVEYXRhUmVzdWx0KHBhcmFtcywgbWV0cmljRGF0YT8ucmVzdWx0Py5bMF0pXTtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kT25EYXRhKFxuICBpbmRpY2F0b3JQYXJhbXM6IEluZGljYXRvclBhcmFtc1tdLFxuICBkYXRhOiBNb25pdG9yTWV0cmljW10sXG4pOiBBQ2hhcnREYXRhW10ge1xuICBjb25zdCBwYXJhbXMgPSBpbmRpY2F0b3JQYXJhbXNbMF07XG4gIHJldHVybiBkYXRhPy5yZWR1Y2UoKHByZSwgcmVzKSA9PiB7XG4gICAgaWYgKHBhcmFtcy5pbmRpY2F0b3JzID09PSByZXMuaW5kaWNhdG9yIHx8IHBhcmFtcy5leHByID09PSByZXMucXVlcnkpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLnByZSxcbiAgICAgICAgLi4ucmVzLnJlc3VsdC5tYXAoaXRlbSA9PiBoYW5kbGVEYXRhUmVzdWx0KHBhcmFtcywgaXRlbSkpLFxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIHByZTtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRGF0YVJlc3VsdChcbiAgcGFyYW1zOiBJbmRpY2F0b3JQYXJhbXMsXG4gIHJlczogTW9uaXRvck1ldHJpY1Jlc3VsdCxcbikge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IGhhbmRsZUxlZ2VuZChwYXJhbXMsIHJlcyksXG4gICAgLi4uKHBhcmFtcy5pbnN0YW50ICYmICFwYXJhbXMucmFuZ2UgJiYgeyB0eXBlOiAncG9pbnQnIH0pLFxuICAgIC4uLihwYXJhbXMuaW5zdGFudCAmJiB7IGluc3RhbnQ6IHRydWUgfSksXG4gICAgcmFuZ2U6IHBhcmFtcy5yYW5nZSxcbiAgICB2YWx1ZXM6IHJlcz8udmFsdWVzPy5tYXAoZCA9PiAoe1xuICAgICAgeDogZFswXSxcbiAgICAgIHk6IGRbMV0sXG4gICAgfSkpLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlTGVnZW5kKFxuICBwYXJhbXM6IEluZGljYXRvclBhcmFtcyxcbiAgcmVzdWx0OiBNb25pdG9yTWV0cmljUmVzdWx0LFxuKSB7XG4gIHJldHVybiBpc0Z1bmN0aW9uKHBhcmFtcz8ubGVnZW5kKVxuICAgID8gcGFyYW1zLmxlZ2VuZChwYXJhbXMsIHJlc3VsdClcbiAgICA6IGdldExlZ2VuZE5hbWUocGFyYW1zPy5sZWdlbmQsIHJlc3VsdD8ubWV0cmljIHx8IHt9KTtcbn1cbmV4cG9ydCBjb25zdCBMRUdFTkRfVEVNUExBVEVfT1BUSU9OUyA9IE9iamVjdC5mcmVlemUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVnZXhwL21hdGNoLWFueSwgcmVnZXhwL3N0cmljdFxuICBpbnRlcnBvbGF0ZTogL3t7XFwuKFtcXFNcXHNdKz8pfX0vZyxcbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGVnZW5kTmFtZShtZXRyaWNLZXk6IHN0cmluZywgbWV0cmljOiBTdHJpbmdNYXApIHtcbiAgaWYgKCFtZXRyaWNLZXkgJiYgIU9iamVjdC5rZXlzKG1ldHJpYyB8fCB7fSk/Lmxlbmd0aCkge1xuICAgIHJldHVybiBGSUVMRF9OT1RfQVZBSUxBQkxFX1BMQUNFSE9MREVSO1xuICB9XG4gIGlmICghbWV0cmljS2V5ICYmIG1ldHJpYykge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShtZXRyaWMpO1xuICB9XG4gIGNvbnN0IG1ldHJpY0tleXMgPSBtZXRyaWNLZXk/LnNwbGl0KCcsJykubWFwKG1hdGNoTGVnZW5kKTtcbiAgaWYgKG1ldHJpY0tleXM/Lmxlbmd0aCA+IDEpIHtcbiAgICBjb25zdCB2YWx1ZSA9IG1ldHJpYz8uW21ldHJpY0tleXMuZmluZChpdGVtID0+IG1ldHJpY1tpdGVtXSldO1xuICAgIHJldHVybiB2YWx1ZSB8fCBtZXRyaWNLZXk7XG4gIH1cbiAgcmV0dXJuIChcbiAgICBnZXRMZWdlbmRUZW1wbGF0ZShtZXRyaWNLZXksIG1ldHJpYykgfHxcbiAgICBsZWdlbmRGb3JtYXQobWV0cmljS2V5LCBtZXRyaWMpIHx8XG4gICAgbWV0cmljS2V5XG4gICk7XG59XG5cbmZ1bmN0aW9uIGxlZ2VuZEZvcm1hdChzdHI6IHN0cmluZywgdmFyczogU3RyaW5nTWFwKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL2JldHRlci1yZWdleFxuICBjb25zdCByZWdleCA9IC9cXHtcXHtcXC4oLis/KVxcfVxcfS9nO1xuICByZXR1cm4gKFxuICAgIHN0ci5yZXBsYWNlQWxsKHJlZ2V4LCAobWF0Y2gsIGNhcHR1cmUpID0+IHtcbiAgICAgIGlmICh2YXJzW2NhcHR1cmVdKSB7XG4gICAgICAgIHJldHVybiB2YXJzW2NhcHR1cmVdO1xuICAgICAgfVxuICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICAgIH1cbiAgICAgIHJldHVybiAnJztcbiAgICB9KSB8fCAnVmFsdWUnXG4gICk7XG59XG5cbmZ1bmN0aW9uIGdldExlZ2VuZFRlbXBsYXRlKHN0cjogc3RyaW5nLCBvYmo6IG9iamVjdCkge1xuICBsZXQgbmFtZTogc3RyaW5nO1xuICB0cnkge1xuICAgIG5hbWUgPSBnZXQob2JqLCBzdHIpIHx8IHRlbXBsYXRlKHN0ciwgTEVHRU5EX1RFTVBMQVRFX09QVElPTlMpKG9iaik7XG4gIH0gY2F0Y2gge1xuICAgIG5hbWUgPSAnJztcbiAgfVxuICByZXR1cm4gbmFtZTtcbn1cblxuZnVuY3Rpb24gbWF0Y2hMZWdlbmQodmFsdWU6IHN0cmluZykge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9iZXR0ZXItcmVnZXhcbiAgcmV0dXJuIHZhbHVlLm1hdGNoKC9cXHtcXHtcXC4oLis/KVxcfVxcfS8pPy5bMV0gfHwgdmFsdWU7XG59XG5cbi8vIOWhq+WFheepuuaVsOaNrlxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvY29nbml0aXZlLWNvbXBsZXhpdHlcbmV4cG9ydCBmdW5jdGlvbiBmaWxsTnVsbERhdGEoXG4gIHsgc3RhcnQsIGVuZCwgc3RlcCB9OiBNZXRyaWNQYXJhbXMsXG4gIHJlczogRGF0YUl0ZW1bJ3ZhbHVlcyddID0gW10sXG4gIGlzWmVybyA9IGZhbHNlLFxuICBzdGVwTGluZSA9IGZhbHNlLFxuKSB7XG4gIGlmICghK3N0YXJ0IHx8ICErZW5kKSB7XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuICBjb25zdCBfc3RlcCA9IHN0ZXAgfHwgcm91bmRJbnRlcnZhbChzdGFydCwgZW5kKTtcbiAgY29uc3QgY3VyU3RhcnQgPSArc3RhcnQ7XG4gIGNvbnN0IG51bGxWYWx1ZSA9IGlzWmVybyA/IDAgOiBudWxsO1xuICBjb25zdCBjdXJFbmQgPSBzdGFydCArIHN0ZXAgKiAoKGVuZCAtIHN0YXJ0KSAvIHN0ZXApO1xuICBjb25zdCBwcmVYID0gc3RlcExpbmVcbiAgICA/IHtcbiAgICAgICAgcHJlWDogZGF5anMoY3VyU3RhcnQpXG4gICAgICAgICAgLnN1YnRyYWN0KChlbmQgLSBzdGFydCkgLyA2LCAncycpXG4gICAgICAgICAgLnZhbHVlT2YoKSxcbiAgICAgIH1cbiAgICA6IHt9O1xuICBjb25zdCByZXN1bHQgPSBbXG4gICAgLi4uKGN1clN0YXJ0ID09PSByZXNbMF0/LnggPyBbXSA6IFt7IHg6IGN1clN0YXJ0LCB5OiBudWxsVmFsdWUsIC4uLnByZVggfV0pLFxuICAgIC4uLnJlcyxcbiAgICAuLi4ocmVzLmF0KC0xKT8ueCA+PSBjdXJFbmQgPyBbXSA6IFt7IHg6IGN1ckVuZCwgeTogbnVsbFZhbHVlIH1dKSxcbiAgXTtcblxuICAvLyBxdWVyeSDov5Tlm57mlbDmja7lj6/og73lrZjlnKjmn5DkuKrml7bpl7TmrrXml6DmlbDmja7mg4XlhrXvvIzkvJrlr7zoh7TliY3nq69idWdcbiAgLy8g6YCa6L+HIHN0ZXAg6K6h566X5Ye6IOaAu+aVsOaNruOAglxuICAvLyDlnKjlh7rnjrDkuIDlvIDlp4vmlbDmja7nvLrlpLHmg4XlhrXvvIzlhYjnu5nmlbDmja7mt7vliqDlvIDlp4vml7bpl7TmlbDmja7vvIzlkoznu5PmnZ/ml7bpl7TmlbDmja7jgIJcbiAgLy8g5Zyo6L+b6KGM6YGN5Y6G77yM5Yik6K+75b2T5YmN5pWw5o2u5ZKM5LiL5LiA6Lez5pWw5o2u5LqL5Lu25beuIOaYr+WQpuaYr+i/meS4qiBzdGVwLFxuICAvLyDlpoLmnpzkuI3mmK/orqHnrpflh7rkuKTogIXnm7jlt64g5Yeg5p2h5pWw5o2u77yM54S25ZCO6L+b6KGM5aGr5YWFXG4gIGNvbnN0IGRhdGEgPSByZXN1bHQucmVkdWNlKChhY2MsIHByZXYsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgZGlmZiA9XG4gICAgICByZXN1bHRbaW5kZXggKyAxXSAmJiByZXN1bHRbaW5kZXggKyAxXS54ICogMTAwMCAtIHByZXYueCAqIDEwMDA7XG4gICAgY29uc3Qgc3RlcE0gPSBfc3RlcCAqIDEwMDA7XG4gICAgLy8g5ZCO56uv5Y+v6IO95Ye6546wICtJZm4g5a+86Ie05oiQIE5hTu+8jOiuvue9ruS4uiBudWxsXG4gICAgY29uc3QgY3VyVmFsdWUgPSB7XG4gICAgICAuLi5wcmV2LFxuICAgICAgeTogcHJldi55LFxuICAgIH07XG4gICAgaWYgKGRpZmYgJiYgZGlmZiAhPT0gc3RlcE0pIHtcbiAgICAgIGNvbnN0IHRvdGFsID0gTWF0aC5jZWlsKGRpZmYgLyBzdGVwTSAtIDEpO1xuICAgICAgY29uc3QgZGF0YSA9IEFycmF5LmZyb208bnVtYmVyPih7IGxlbmd0aDogdG90YWwgfHwgMCB9KVxuICAgICAgICAuZmlsbCgwKVxuICAgICAgICAucmVkdWNlKChvbGQsIF9jdXJyLCBpKSA9PiB7XG4gICAgICAgICAgY29uc3QgeCA9XG4gICAgICAgICAgICBpID09PSAwID8gcHJldi54ICogMTAwMCArIHN0ZXBNIDogb2xkW2kgLSAxXS54ICogMTAwMCArIHN0ZXBNO1xuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAuLi5vbGQsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHg6IHggLyAxMDAwLFxuICAgICAgICAgICAgICB5OiBudWxsVmFsdWUsXG4gICAgICAgICAgICAgIC4uLihzdGVwTGluZVxuICAgICAgICAgICAgICAgID8geyBwcmVYOiBpID09PSAwID8gcmVzdWx0W2luZGV4XS54IDogb2xkW2kgLSAxXS54IH1cbiAgICAgICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXTtcbiAgICAgICAgfSwgW10pO1xuICAgICAgcmV0dXJuIFsuLi5hY2MsIGN1clZhbHVlLCAuLi5kYXRhXTtcbiAgICB9XG4gICAgcmV0dXJuIFsuLi5hY2MsIGN1clZhbHVlXTtcbiAgfSwgW10pO1xuICByZXR1cm4gZGF0YS5zb3J0KChhLCBiKSA9PiBhLnggLSBiLngpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRGF0ZUF4aXNMYWJlbEZvcm1hdHMoXG4gIHBhcmFtczogTWV0cmljUGFyYW1zLFxuICBpc1JpY2g/OiBib29sZWFuLFxuKSB7XG4gIGlmIChwYXJhbXMpIHtcbiAgICBjb25zdCBkaWZmID0gcGFyYW1zLmVuZCAtIHBhcmFtcy5zdGFydDtcbiAgICBjb25zdCBtMSA9IDI0ICogNjAgKiA2MDtcbiAgICBjb25zdCBtMyA9IDMgKiBtMTtcbiAgICBjb25zdCBtNyA9IDcgKiBtMTtcbiAgICBjb25zdCBNX0RfRk9STUFUID0gJ01NLUREJztcbiAgICBjb25zdCBNRF9IU19GT1JNQVQgPSBgJHtNX0RfRk9STUFUfSAke0NIQVJUX1RJTUVfRk9STUFUfWA7XG4gICAgcmV0dXJuIGRpZmYgPj0gbTdcbiAgICAgID8gaXNSaWNoXG4gICAgICAgID8gTURfSFNfRk9STUFUXG4gICAgICAgIDogTV9EX0ZPUk1BVFxuICAgICAgOiBkaWZmIDwgbTcgJiYgKGRpZmYgPj0gbTMgfHwgZGlmZiA+IG0xKVxuICAgICAgPyBNRF9IU19GT1JNQVRcbiAgICAgIDogQ0hBUlRfVElNRV9GT1JNQVQ7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpbWl0TWF4VG9vbHRpcEl0ZW0oY29udGV4dDogVG9vbHRpcFZhbHVlW10sIGxpbWl0ID0gMTUpIHtcbiAgcmV0dXJuIGNvbnRleHQuc2xpY2UoMCwgbGltaXQpO1xufVxuXG5leHBvcnQgY29uc3QgVkFSSUFCTEVfS0VZX0NMVVNURVIgPSAnJGNsdXN0ZXInO1xuZXhwb3J0IGNvbnN0IFZBUklBQkxFX0tFWV9OQU1FU1BBQ0UgPSAnJG5hbWVzcGFjZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlRXhwclZhcmlhYmxlKFxuICBleHByOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgdmFyaWFibGU6IERpY3Rpb25hcnk8YW55Pixcbikge1xuICBsZXQgZGF0YSA9IEFycmF5LmlzQXJyYXkoZXhwcikgPyBleHByLmpvaW4oJ3wnKSA6IGV4cHI7XG4gIGNvbnN0IHZhcmlhYmxlS2V5cyA9IE9iamVjdC5rZXlzKHZhcmlhYmxlIHx8IHt9KTtcbiAgY29uc3QgdmFyaWFibGVWYWx1ZXMgPSBPYmplY3QudmFsdWVzKHZhcmlhYmxlIHx8IHt9KTtcbiAgY29uc3QgdmFyczogc3RyaW5nW10gPVxuICAgIGRhdGEgJiYgdHlwZW9mIGRhdGEubWF0Y2ggPT09ICdmdW5jdGlvbicgPyBkYXRhLm1hdGNoKC9cXCRcXHcrL2cpIDogW107XG4gIGlmIChcbiAgICAhdmFyaWFibGVLZXlzLmxlbmd0aCB8fFxuICAgICF2YXJpYWJsZUtleXMuc29tZSh2ID0+IHZhcnM/LnNvbWUoaXRlbSA9PiBpdGVtLnJlcGxhY2UoJyQnLCAnJykgPT09IHYpKVxuICApIHtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHZhcnNcbiAgICAuc29ydCgoYSwgYikgPT4gYi5sZW5ndGggLSBhLmxlbmd0aClcbiAgICAuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgY29uc3QgayA9IGtleS5yZXBsYWNlKCckJywgJycpO1xuICAgICAgY29uc3QgaW5kZXggPSB2YXJpYWJsZUtleXMuaW5kZXhPZihrKTtcbiAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgIGNvbnN0IHYgPSB2YXJpYWJsZVZhbHVlc1tpbmRleF07XG4gICAgICAgIGRhdGEgPSBkYXRhPy5yZXBsYWNlKFxuICAgICAgICAgIG5ldyBSZWdFeHAoYFxcXFwkJHtrfWAsICdnJyksXG4gICAgICAgICAgQXJyYXkuaXNBcnJheSh2KSA/IHYuam9pbignfCcpIDogdixcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgcmV0dXJuIGRhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kVGltZVJhbmdlKGRpZmY6IG51bWJlcikge1xuICBjb25zdCB0aW1lID0gUElDS0VSX1RJTUVfUkFOR0VTLmZpbmQoaXRlbSA9PiB7XG4gICAgcmV0dXJuIGl0ZW0uZW5kVGltZSgpIC0gaXRlbS5zdGFydFRpbWUoKSA9PT0gZGlmZjtcbiAgfSk7XG4gIHJldHVybiB0aW1lID8geyBzdGFydDogdGltZS5zdGFydFRpbWUoKSwgZW5kOiB0aW1lLmVuZFRpbWUoKSB9IDogbnVsbDtcbn1cbiJdfQ==
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { catchError, map, of, shareReplay } from 'rxjs';
|
|
4
|
-
import { API_GATEWAY, CacheStore, GLOBAL_CLUSTER, RESOURCE_TYPES, parseJson, } from '../core/public-api';
|
|
5
|
-
import { K8sApiService } from './k8s-api.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common/http";
|
|
8
|
-
import * as i2 from "./k8s-api.service";
|
|
9
|
-
export const INDICATOR_PROMETHEUS_NOT_DEPLOYED = 'platform.cluster.prometheus.not.deployed';
|
|
10
|
-
export const INDICATOR_PROMETHEUS_DOWN = 'platform.cluster.prometheus.down';
|
|
11
|
-
// 监控 API 说明 https://confluence.alauda.cn/pages/viewpage.action?pageId=140811834
|
|
12
|
-
// 监控指标 http://confluence.alauda.cn/x/SIeeAQ
|
|
13
|
-
export const LIMITED_OLD_VERSION_3_14 = '3.12';
|
|
14
|
-
export class MonitorApiService {
|
|
15
|
-
constructor(http, k8sApi) {
|
|
16
|
-
this.http = http;
|
|
17
|
-
this.k8sApi = k8sApi;
|
|
18
|
-
this.urlPrefix = `${API_GATEWAY}/platform/monitoring.alauda.io/v1beta1`;
|
|
19
|
-
this.getClusterMetrics = (cluster, params) => {
|
|
20
|
-
return this.http.get(`${this.urlPrefix}/clusters/${cluster}/metrics`, {
|
|
21
|
-
params: stringifyMetricParams(params),
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
this.getProjectMetrics = (project, params) => {
|
|
25
|
-
return this.http.get(`${this.urlPrefix}/projects/${project}/metrics`, {
|
|
26
|
-
params: stringifyMetricParams(params),
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
this.getNamespaceMetrics = (workspace, params) => {
|
|
30
|
-
return this.http.get(`${this.urlPrefix}/projects/${workspace.project}/clusters/${workspace.cluster}/namespaces/${workspace.namespace}/metrics`, {
|
|
31
|
-
params: stringifyMetricParams(params),
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
this.indicatorStore$ = new CacheStore({
|
|
35
|
-
share: () => shareReplay(1),
|
|
36
|
-
fetcher: ({ cluster, params }) => this.http
|
|
37
|
-
.get(`${API_GATEWAY}/v2/metrics/${cluster}/indicators`, params ? { params } : undefined)
|
|
38
|
-
.pipe(map((result) => [...result].sort((a, b) => ('' + a.displayName).localeCompare(b.displayName))), catchError(() => of([]))),
|
|
39
|
-
});
|
|
40
|
-
this.indicatorUnitsStore$ = new CacheStore({
|
|
41
|
-
idGenerator: () => 'cpaas-indicator-units',
|
|
42
|
-
share: () => shareReplay(1),
|
|
43
|
-
fetcher: () => this.k8sApi
|
|
44
|
-
.getGlobalResource({
|
|
45
|
-
type: RESOURCE_TYPES.CONFIG_MAP,
|
|
46
|
-
name: 'cpaas-indicator-units',
|
|
47
|
-
namespaced: true,
|
|
48
|
-
})
|
|
49
|
-
.pipe(catchError(() => of(null))),
|
|
50
|
-
});
|
|
51
|
-
this.getClusterVariables = (cluster, params) => {
|
|
52
|
-
return this.http.get(`${this.urlPrefix}/clusters/${cluster}/variables`, {
|
|
53
|
-
params: {
|
|
54
|
-
...params,
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
};
|
|
58
|
-
this.getProjectVariables = (project, params) => {
|
|
59
|
-
return this.http.get(`${this.urlPrefix}/projects/${project}/variables`, {
|
|
60
|
-
params: {
|
|
61
|
-
...params,
|
|
62
|
-
},
|
|
63
|
-
});
|
|
64
|
-
};
|
|
65
|
-
this.getNamespaceVariables = (workspace, params) => {
|
|
66
|
-
return this.http.get(`${this.urlPrefix}/projects/${workspace.project}/clusters/${workspace.cluster}/namespaces/${workspace.namespace}/variables`, {
|
|
67
|
-
params: {
|
|
68
|
-
...params,
|
|
69
|
-
},
|
|
70
|
-
});
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
checkPrometheusStatus(cluster, scope) {
|
|
74
|
-
scope = scope || { cluster };
|
|
75
|
-
return this.getMetrics(scope, {
|
|
76
|
-
indicators: joinMetricSeparator([
|
|
77
|
-
INDICATOR_PROMETHEUS_NOT_DEPLOYED,
|
|
78
|
-
INDICATOR_PROMETHEUS_DOWN,
|
|
79
|
-
]),
|
|
80
|
-
variables: { cluster },
|
|
81
|
-
}).pipe(map(metrics => ({
|
|
82
|
-
notDeployed: parsePrometheusStatus(cluster, metrics.find(metric => metric.indicator === INDICATOR_PROMETHEUS_NOT_DEPLOYED).result),
|
|
83
|
-
abnormal: parsePrometheusStatus(cluster, metrics.find(metric => metric.indicator === INDICATOR_PROMETHEUS_DOWN)
|
|
84
|
-
.result),
|
|
85
|
-
})), map(({ notDeployed, abnormal }) => ({
|
|
86
|
-
notDeployed,
|
|
87
|
-
abnormal: notDeployed ? false : abnormal,
|
|
88
|
-
})));
|
|
89
|
-
}
|
|
90
|
-
checkPrometheusDeployed(cluster, scope) {
|
|
91
|
-
scope = scope || { cluster };
|
|
92
|
-
return this.getMetrics(scope, {
|
|
93
|
-
indicators: INDICATOR_PROMETHEUS_NOT_DEPLOYED,
|
|
94
|
-
variables: { cluster },
|
|
95
|
-
}).pipe(map(([{ result }]) => !parsePrometheusStatus(cluster, result)));
|
|
96
|
-
}
|
|
97
|
-
checkPrometheusAbnormal(cluster, scope) {
|
|
98
|
-
scope = scope || { cluster };
|
|
99
|
-
return this.getMetrics(scope, {
|
|
100
|
-
indicators: INDICATOR_PROMETHEUS_DOWN,
|
|
101
|
-
variables: { cluster },
|
|
102
|
-
}).pipe(map(([{ result }]) => parsePrometheusStatus(cluster, result)));
|
|
103
|
-
}
|
|
104
|
-
getMetrics(workspace, params) {
|
|
105
|
-
return workspace?.namespace
|
|
106
|
-
? this.getNamespaceMetrics(workspace, params)
|
|
107
|
-
: workspace?.project
|
|
108
|
-
? this.getProjectMetrics(workspace.project, params)
|
|
109
|
-
: this.getClusterMetrics(workspace.cluster, params);
|
|
110
|
-
}
|
|
111
|
-
getIndicators(cluster, params) {
|
|
112
|
-
return this.indicatorStore$.fetch({ cluster, ...(params && { params }) });
|
|
113
|
-
}
|
|
114
|
-
getIndicatorUnits() {
|
|
115
|
-
return this.indicatorUnitsStore$
|
|
116
|
-
.fetch(null)
|
|
117
|
-
.pipe(map(item => parseJson(item?.data?.units)));
|
|
118
|
-
}
|
|
119
|
-
static { this.ɵfac = function MonitorApiService_Factory(t) { return new (t || MonitorApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.K8sApiService)); }; }
|
|
120
|
-
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MonitorApiService, factory: MonitorApiService.ɵfac, providedIn: 'root' }); }
|
|
121
|
-
}
|
|
122
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MonitorApiService, [{
|
|
123
|
-
type: Injectable,
|
|
124
|
-
args: [{ providedIn: 'root' }]
|
|
125
|
-
}], function () { return [{ type: i1.HttpClient }, { type: i2.K8sApiService }]; }, null); })();
|
|
126
|
-
function parsePrometheusStatus(cluster, result) {
|
|
127
|
-
return cluster === GLOBAL_CLUSTER
|
|
128
|
-
? result.length !== 0
|
|
129
|
-
: !!result[0]?.values?.length;
|
|
130
|
-
}
|
|
131
|
-
export function joinMetricSeparator(indicators) {
|
|
132
|
-
return indicators.join('|');
|
|
133
|
-
}
|
|
134
|
-
export function stringifyMetricVariables(variables) {
|
|
135
|
-
return Object.entries(variables)
|
|
136
|
-
.map(([key, value]) => `${key}=${value}`)
|
|
137
|
-
.join(',');
|
|
138
|
-
}
|
|
139
|
-
export function stringifyMetricParams(params) {
|
|
140
|
-
return Object.entries(params).reduce((acc, [key, value]) => {
|
|
141
|
-
if (key === 'variables') {
|
|
142
|
-
acc[key] = stringifyMetricVariables(Object.entries(value).reduce((a, [k, v]) => {
|
|
143
|
-
a[k] = Array.isArray(v) ? joinMetricSeparator(v) : v;
|
|
144
|
-
return a;
|
|
145
|
-
}, {}));
|
|
146
|
-
}
|
|
147
|
-
else if (key === 'indicators') {
|
|
148
|
-
acc[key] = Array.isArray(value)
|
|
149
|
-
? joinMetricSeparator(value)
|
|
150
|
-
: value;
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
acc[key] = value + '';
|
|
154
|
-
}
|
|
155
|
-
return acc;
|
|
156
|
-
}, {});
|
|
157
|
-
}
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uaXRvci1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hcGkvbW9uaXRvci1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXBFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsVUFBVSxFQUVWLGNBQWMsRUFDZCxjQUFjLEVBR2QsU0FBUyxHQUNWLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBRWxELE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUM1QywwQ0FBMEMsQ0FBQztBQUM3QyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxrQ0FBa0MsQ0FBQztBQU01RSxnRkFBZ0Y7QUFDaEYsNENBQTRDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLE1BQU0sQ0FBQztBQUcvQyxNQUFNLE9BQU8saUJBQWlCO0lBRzVCLFlBQ21CLElBQWdCLEVBQ2hCLE1BQXFCO1FBRHJCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUp2QixjQUFTLEdBQUcsR0FBRyxXQUFXLHdDQUF3QyxDQUFDO1FBT3BGLHNCQUFpQixHQUFHLENBQUMsT0FBZSxFQUFFLE1BQTRCLEVBQUUsRUFBRTtZQUNwRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixHQUFHLElBQUksQ0FBQyxTQUFTLGFBQWEsT0FBTyxVQUFVLEVBQy9DO2dCQUNFLE1BQU0sRUFBRSxxQkFBcUIsQ0FB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RUFBRSxFQUE0QixDQUFDLENBQUM7QUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjYXRjaEVycm9yLCBtYXAsIG9mLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgWE9SIH0gZnJvbSAndHMtZXNzZW50aWFscyc7XG5cbmltcG9ydCB7IEluZGljYXRvclVuaXQgfSBmcm9tICcuLi9hLW1ldHJpYy1jaGFydC90eXBlcyc7XG5pbXBvcnQge1xuICBBUElfR0FURVdBWSxcbiAgQ2FjaGVTdG9yZSxcbiAgQ29uZmlnTWFwLFxuICBHTE9CQUxfQ0xVU1RFUixcbiAgUkVTT1VSQ0VfVFlQRVMsXG4gIFN0cmluZ01hcCxcbiAgV29ya3NwYWNlUGFyYW1zLFxuICBwYXJzZUpzb24sXG59IGZyb20gJy4uL2NvcmUvcHVibGljLWFwaSc7XG5cbmltcG9ydCB7IEs4c0FwaVNlcnZpY2UgfSBmcm9tICcuL2s4cy1hcGkuc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBJTkRJQ0FUT1JfUFJPTUVUSEVVU19OT1RfREVQTE9ZRUQgPVxuICAncGxhdGZvcm0uY2x1c3Rlci5wcm9tZXRoZXVzLm5vdC5kZXBsb3llZCc7XG5leHBvcnQgY29uc3QgSU5ESUNBVE9SX1BST01FVEhFVVNfRE9XTiA9ICdwbGF0Zm9ybS5jbHVzdGVyLnByb21ldGhldXMuZG93bic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFyaWFibGVzUmVzdWx0IHtcbiAgb3B0aW9uczogc3RyaW5nW107XG59XG5cbi8vIOebkeaOpyBBUEkg6K+05piOIGh0dHBzOi8vY29uZmx1ZW5jZS5hbGF1ZGEuY24vcGFnZXMvdmlld3BhZ2UuYWN0aW9uP3BhZ2VJZD0xNDA4MTE4MzRcbi8vIOebkeaOp+aMh+aghyBodHRwOi8vY29uZmx1ZW5jZS5hbGF1ZGEuY24veC9TSWVlQVFcblxuZXhwb3J0IGNvbnN0IExJTUlURURfT0xEX1ZFUlNJT05fM18xNCA9ICczLjEyJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBNb25pdG9yQXBpU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdXJsUHJlZml4ID0gYCR7QVBJX0dBVEVXQVl9L3BsYXRmb3JtL21vbml0b3JpbmcuYWxhdWRhLmlvL3YxYmV0YTFgO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGs4c0FwaTogSzhzQXBpU2VydmljZSxcbiAgKSB7fVxuXG4gIGdldENsdXN0ZXJNZXRyaWNzID0gKGNsdXN0ZXI6IHN0cmluZywgcGFyYW1zPzogTW9uaXRvck1ldHJpY1BhcmFtcykgPT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE1vbml0b3JNZXRyaWNbXT4oXG4gICAgICBgJHt0aGlzLnVybFByZWZpeH0vY2x1c3RlcnMvJHtjbHVzdGVyfS9tZXRyaWNzYCxcbiAgICAgIHtcbiAgICAgICAgcGFyYW1zOiBzdHJpbmdpZnlNZXRyaWNQYXJhbXMocGFyYW1zKSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfTtcblxuICBnZXRQcm9qZWN0TWV0cmljcyA9IChwcm9qZWN0OiBzdHJpbmcsIHBhcmFtcz86IE1vbml0b3JNZXRyaWNQYXJhbXMpID0+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxNb25pdG9yTWV0cmljW10+KFxuICAgICAgYCR7dGhpcy51cmxQcmVmaXh9L3Byb2plY3RzLyR7cHJvamVjdH0vbWV0cmljc2AsXG4gICAgICB7XG4gICAgICAgIHBhcmFtczogc3RyaW5naWZ5TWV0cmljUGFyYW1zKHBhcmFtcyksXG4gICAgICB9LFxuICAgICk7XG4gIH07XG5cbiAgZ2V0TmFtZXNwYWNlTWV0cmljcyA9IChcbiAgICB3b3Jrc3BhY2U6IFdvcmtzcGFjZVBhcmFtcyxcbiAgICBwYXJhbXM/OiBNb25pdG9yTWV0cmljUGFyYW1zLFxuICApID0+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxNb25pdG9yTWV0cmljW10+KFxuICAgICAgYCR7dGhpcy51cmxQcmVmaXh9L3Byb2plY3RzLyR7d29ya3NwYWNlLnByb2plY3R9L2NsdXN0ZXJzLyR7d29ya3NwYWNlLmNsdXN0ZXJ9L25hbWVzcGFjZXMvJHt3b3Jrc3BhY2UubmFtZXNwYWNlfS9tZXRyaWNzYCxcbiAgICAgIHtcbiAgICAgICAgcGFyYW1zOiBzdHJpbmdpZnlNZXRyaWNQYXJhbXMocGFyYW1zKSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfTtcblxuICBjaGVja1Byb21ldGhldXNTdGF0dXMoY2x1c3Rlcjogc3RyaW5nLCBzY29wZT86IFBhcnRpYWw8V29ya3NwYWNlUGFyYW1zPikge1xuICAgIHNjb3BlID0gc2NvcGUgfHwgeyBjbHVzdGVyIH07XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWV0cmljcyhzY29wZSwge1xuICAgICAgaW5kaWNhdG9yczogam9pbk1ldHJpY1NlcGFyYXRvcihbXG4gICAgICAgIElORElDQVRPUl9QUk9NRVRIRVVTX05PVF9ERVBMT1lFRCxcbiAgICAgICAgSU5ESUNBVE9SX1BST01FVEhFVVNfRE9XTixcbiAgICAgIF0pLFxuICAgICAgdmFyaWFibGVzOiB7IGNsdXN0ZXIgfSxcbiAgICB9KS5waXBlKFxuICAgICAgbWFwKG1ldHJpY3MgPT4gKHtcbiAgICAgICAgbm90RGVwbG95ZWQ6IHBhcnNlUHJvbWV0aGV1c1N0YXR1cyhcbiAgICAgICAgICBjbHVzdGVyLFxuICAgICAgICAgIG1ldHJpY3MuZmluZChcbiAgICAgICAgICAgIG1ldHJpYyA9PiBtZXRyaWMuaW5kaWNhdG9yID09PSBJTkRJQ0FUT1JfUFJPTUVUSEVVU19OT1RfREVQTE9ZRUQsXG4gICAgICAgICAgKS5yZXN1bHQsXG4gICAgICAgICksXG4gICAgICAgIGFibm9ybWFsOiBwYXJzZVByb21ldGhldXNTdGF0dXMoXG4gICAgICAgICAgY2x1c3RlcixcbiAgICAgICAgICBtZXRyaWNzLmZpbmQobWV0cmljID0+IG1ldHJpYy5pbmRpY2F0b3IgPT09IElORElDQVRPUl9QUk9NRVRIRVVTX0RPV04pXG4gICAgICAgICAgICAucmVzdWx0LFxuICAgICAgICApLFxuICAgICAgfSkpLFxuICAgICAgbWFwKCh7IG5vdERlcGxveWVkLCBhYm5vcm1hbCB9KSA9PiAoe1xuICAgICAgICBub3REZXBsb3llZCxcbiAgICAgICAgYWJub3JtYWw6IG5vdERlcGxveWVkID8gZmFsc2UgOiBhYm5vcm1hbCxcbiAgICAgIH0pKSxcbiAgICApO1xuICB9XG5cbiAgY2hlY2tQcm9tZXRoZXVzRGVwbG95ZWQoY2x1c3Rlcjogc3RyaW5nLCBzY29wZT86IFBhcnRpYWw8V29ya3NwYWNlUGFyYW1zPikge1xuICAgIHNjb3BlID0gc2NvcGUgfHwgeyBjbHVzdGVyIH07XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWV0cmljcyhzY29wZSwge1xuICAgICAgaW5kaWNhdG9yczogSU5ESUNBVE9SX1BST01FVEhFVVNfTk9UX0RFUExPWUVELFxuICAgICAgdmFyaWFibGVzOiB7IGNsdXN0ZXIgfSxcbiAgICB9KS5waXBlKG1hcCgoW3sgcmVzdWx0IH1dKSA9PiAhcGFyc2VQcm9tZXRoZXVzU3RhdHVzKGNsdXN0ZXIsIHJlc3VsdCkpKTtcbiAgfVxuXG4gIGNoZWNrUHJvbWV0aGV1c0Fibm9ybWFsKGNsdXN0ZXI6IHN0cmluZywgc2NvcGU/OiBQYXJ0aWFsPFdvcmtzcGFjZVBhcmFtcz4pIHtcbiAgICBzY29wZSA9IHNjb3BlIHx8IHsgY2x1c3RlciB9O1xuICAgIHJldHVybiB0aGlzLmdldE1ldHJpY3Moc2NvcGUsIHtcbiAgICAgIGluZGljYXRvcnM6IElORElDQVRPUl9QUk9NRVRIRVVTX0RPV04sXG4gICAgICB2YXJpYWJsZXM6IHsgY2x1c3RlciB9LFxuICAgIH0pLnBpcGUobWFwKChbeyByZXN1bHQgfV0pID0+IHBhcnNlUHJvbWV0aGV1c1N0YXR1cyhjbHVzdGVyLCByZXN1bHQpKSk7XG4gIH1cblxuICBwcml2YXRlIGdldE1ldHJpY3MoXG4gICAgd29ya3NwYWNlOiBQYXJ0aWFsPFdvcmtzcGFjZVBhcmFtcz4sXG4gICAgcGFyYW1zOiBNb25pdG9yTWV0cmljUGFyYW1zLFxuICApIHtcbiAgICByZXR1cm4gd29ya3NwYWNlPy5uYW1lc3BhY2VcbiAgICAgID8gdGhpcy5nZXROYW1lc3BhY2VNZXRyaWNzKHdvcmtzcGFjZSBhcyBXb3Jrc3BhY2VQYXJhbXMsIHBhcmFtcylcbiAgICAgIDogd29ya3NwYWNlPy5wcm9qZWN0XG4gICAgICA/IHRoaXMuZ2V0UHJvamVjdE1ldHJpY3Mod29ya3NwYWNlLnByb2plY3QsIHBhcmFtcylcbiAgICAgIDogdGhpcy5nZXRDbHVzdGVyTWV0cmljcyh3b3Jrc3BhY2UuY2x1c3RlciwgcGFyYW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5kaWNhdG9yU3RvcmUkID0gbmV3IENhY2hlU3RvcmUoe1xuICAgIHNoYXJlOiAoKSA9PiBzaGFyZVJlcGxheSgxKSxcbiAgICBmZXRjaGVyOiAoeyBjbHVzdGVyLCBwYXJhbXMgfTogeyBjbHVzdGVyOiBzdHJpbmc7IHBhcmFtczogU3RyaW5nTWFwIH0pID0+XG4gICAgICB0aGlzLmh0dHBcbiAgICAgICAgLmdldChcbiAgICAgICAgICBgJHtBUElfR0FURVdBWX0vdjIvbWV0cmljcy8ke2NsdXN0ZXJ9L2luZGljYXRvcnNgLFxuICAgICAgICAgIHBhcmFtcyA/IHsgcGFyYW1zIH0gOiB1bmRlZmluZWQsXG4gICAgICAgIClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXN1bHQ6IEluZGljYXRvclR5cGVbXSkgPT5cbiAgICAgICAgICAgIFsuLi5yZXN1bHRdLnNvcnQoKGEsIGIpID0+XG4gICAgICAgICAgICAgICgnJyArIGEuZGlzcGxheU5hbWUpLmxvY2FsZUNvbXBhcmUoYi5kaXNwbGF5TmFtZSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihbXSkpLFxuICAgICAgICApLFxuICB9KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGluZGljYXRvclVuaXRzU3RvcmUkID0gbmV3IENhY2hlU3RvcmUoe1xuICAgIGlkR2VuZXJhdG9yOiAoKSA9PiAnY3BhYXMtaW5kaWNhdG9yLXVuaXRzJyxcbiAgICBzaGFyZTogKCkgPT4gc2hhcmVSZXBsYXkoMSksXG4gICAgZmV0Y2hlcjogKCkgPT5cbiAgICAgIHRoaXMuazhzQXBpXG4gICAgICAgIC5nZXRHbG9iYWxSZXNvdXJjZTxDb25maWdNYXA8eyB1bml0czogc3RyaW5nIH0+Pih7XG4gICAgICAgICAgdHlwZTogUkVTT1VSQ0VfVFlQRVMuQ09ORklHX01BUCxcbiAgICAgICAgICBuYW1lOiAnY3BhYXMtaW5kaWNhdG9yLXVuaXRzJyxcbiAgICAgICAgICBuYW1lc3BhY2VkOiB0cnVlLFxuICAgICAgICB9KVxuICAgICAgICAucGlwZShjYXRjaEVycm9yKCgpID0+IG9mKG51bGwpKSksXG4gIH0pO1xuXG4gIGdldEluZGljYXRvcnMoXG4gICAgY2x1c3Rlcjogc3RyaW5nLFxuICAgIHBhcmFtcz86IFN0cmluZ01hcCxcbiAgKTogT2JzZXJ2YWJsZTxJbmRpY2F0b3JUeXBlW10+IHtcbiAgICByZXR1cm4gdGhpcy5pbmRpY2F0b3JTdG9yZSQuZmV0Y2goeyBjbHVzdGVyLCAuLi4ocGFyYW1zICYmIHsgcGFyYW1zIH0pIH0pO1xuICB9XG5cbiAgZ2V0SW5kaWNhdG9yVW5pdHMoKTogT2JzZXJ2YWJsZTxJbmRpY2F0b3JVbml0W10+IHtcbiAgICByZXR1cm4gdGhpcy5pbmRpY2F0b3JVbml0c1N0b3JlJFxuICAgICAgLmZldGNoKG51bGwpXG4gICAgICAucGlwZShtYXAoaXRlbSA9PiBwYXJzZUpzb24oaXRlbT8uZGF0YT8udW5pdHMpKSk7XG4gIH1cblxuICBnZXRDbHVzdGVyVmFyaWFibGVzID0gKGNsdXN0ZXI6IHN0cmluZywgcGFyYW1zPzogTW9uaXRvclZhcmlhYmxlc1BhcmFtcykgPT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFZhcmlhYmxlc1Jlc3VsdD4oXG4gICAgICBgJHt0aGlzLnVybFByZWZpeH0vY2x1c3RlcnMvJHtjbHVzdGVyfS92YXJpYWJsZXNgLFxuICAgICAge1xuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICk7XG4gIH07XG5cbiAgZ2V0UHJvamVjdFZhcmlhYmxlcyA9IChwcm9qZWN0OiBzdHJpbmcsIHBhcmFtcz86IE1vbml0b3JWYXJpYWJsZXNQYXJhbXMpID0+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxWYXJpYWJsZXNSZXN1bHQ+KFxuICAgICAgYCR7dGhpcy51cmxQcmVmaXh9L3Byb2plY3RzLyR7cHJvamVjdH0vdmFyaWFibGVzYCxcbiAgICAgIHtcbiAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICApO1xuICB9O1xuXG4gIGdldE5hbWVzcGFjZVZhcmlhYmxlcyA9IChcbiAgICB3b3Jrc3BhY2U6IFdvcmtzcGFjZVBhcmFtcyxcbiAgICBwYXJhbXM/OiBNb25pdG9yVmFyaWFibGVzUGFyYW1zLFxuICApID0+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxWYXJpYWJsZXNSZXN1bHQ+KFxuICAgICAgYCR7dGhpcy51cmxQcmVmaXh9L3Byb2plY3RzLyR7d29ya3NwYWNlLnByb2plY3R9L2NsdXN0ZXJzLyR7d29ya3NwYWNlLmNsdXN0ZXJ9L25hbWVzcGFjZXMvJHt3b3Jrc3BhY2UubmFtZXNwYWNlfS92YXJpYWJsZXNgLFxuICAgICAge1xuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIHBhcnNlUHJvbWV0aGV1c1N0YXR1cyhjbHVzdGVyOiBzdHJpbmcsIHJlc3VsdDogTW9uaXRvck1ldHJpY1Jlc3VsdFtdKSB7XG4gIHJldHVybiBjbHVzdGVyID09PSBHTE9CQUxfQ0xVU1RFUlxuICAgID8gcmVzdWx0Lmxlbmd0aCAhPT0gMFxuICAgIDogISFyZXN1bHRbMF0/LnZhbHVlcz8ubGVuZ3RoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gam9pbk1ldHJpY1NlcGFyYXRvcihpbmRpY2F0b3JzOiBzdHJpbmdbXSkge1xuICByZXR1cm4gaW5kaWNhdG9ycy5qb2luKCd8Jyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnlNZXRyaWNWYXJpYWJsZXMoXG4gIHZhcmlhYmxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbik6IHN0cmluZyB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyh2YXJpYWJsZXMpXG4gICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9PSR7dmFsdWV9YClcbiAgICAuam9pbignLCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5naWZ5TWV0cmljUGFyYW1zKHBhcmFtczogTW9uaXRvck1ldHJpY1BhcmFtcykge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocGFyYW1zKS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgaWYgKGtleSA9PT0gJ3ZhcmlhYmxlcycpIHtcbiAgICAgIGFjY1trZXldID0gc3RyaW5naWZ5TWV0cmljVmFyaWFibGVzKFxuICAgICAgICBPYmplY3QuZW50cmllcyh2YWx1ZSkucmVkdWNlKChhLCBbaywgdl0pID0+IHtcbiAgICAgICAgICBhW2tdID0gQXJyYXkuaXNBcnJheSh2KSA/IGpvaW5NZXRyaWNTZXBhcmF0b3IodikgOiB2O1xuICAgICAgICAgIHJldHVybiBhO1xuICAgICAgICB9LCB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChrZXkgPT09ICdpbmRpY2F0b3JzJykge1xuICAgICAgYWNjW2tleV0gPSBBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgICA/IGpvaW5NZXRyaWNTZXBhcmF0b3IodmFsdWUpXG4gICAgICAgIDogKHZhbHVlIGFzIHN0cmluZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFjY1trZXldID0gdmFsdWUgKyAnJztcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPik7XG59XG5cbmV4cG9ydCB0eXBlIE1vbml0b3JNZXRyaWNQYXJhbXMgPSBQYXJ0aWFsPFxuICBYT1I8eyBzdGFydDogbnVtYmVyOyBlbmQ6IG51bWJlcjsgc3RlcDogbnVtYmVyIH0sIHsgdGltZTogbnVtYmVyIH0+ICZcbiAgICBYT1I8eyBpbmRpY2F0b3JzOiBzdHJpbmcgfCBzdHJpbmdbXSB9LCB7IGV4cHI6IHN0cmluZyB9PiAmIHtcbiAgICAgIHRpbWVvdXQ6IG51bWJlcjtcbiAgICAgIHZhcmlhYmxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10+O1xuICAgIH1cbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9uaXRvclZhcmlhYmxlc1BhcmFtcyB7XG4gIGV4cHI6IHN0cmluZztcbiAgcmVnZXg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9uaXRvck1ldHJpYyB7XG4gIGluZGljYXRvcjogc3RyaW5nO1xuICBxdWVyeTogc3RyaW5nO1xuICByZXN1bHQ6IE1vbml0b3JNZXRyaWNSZXN1bHRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb3N0TWV0cmljIHtcbiAgaW5kaWNhdG9yOiBzdHJpbmc7XG4gIHJlc3VsdDogQ29zdE1ldHJpY1Jlc3VsdFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vbml0b3JNZXRyaWNSZXN1bHQge1xuICBtZXRyaWM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHZhbHVlczogQXJyYXk8W251bWJlciwgc3RyaW5nXT47XG59XG5leHBvcnQgaW50ZXJmYWNlIENvc3RNZXRyaWNSZXN1bHQge1xuICBtZXRyaWM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHZhbHVlczogQXJyYXk8W251bWJlciwgc3RyaW5nXT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5kaWNhdG9yVHlwZSB7XG4gIGtpbmQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBhbGlhczogc3RyaW5nO1xuICB1bml0OiBzdHJpbmc7XG4gIHN0cmluZz86IHN0cmluZztcbiAgdmFsdWVfdHlwZT86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgcXVlcnk/OiBzdHJpbmc7XG4gIGFsZXJ0X2VuYWJsZWQ/OiBib29sZWFuO1xuICBhbGVydEVuYWJsZWQ/OiBib29sZWFuO1xuICBhZ2dyZWdhdGlvbl9lbmFibGVkPzogYm9vbGVhbjtcbiAgZGlzcGxheV9uYW1lPzogc3RyaW5nO1xuICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgbGVnZW5kPzogc3RyaW5nO1xuICBzdW1tYXJ5Pzogc3RyaW5nO1xuICBhbm5vdGF0aW9ucz86IEluZGljYXRvckFubm90YXRpb25zO1xuICB2YXJpYWJsZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmRpY2F0b3JBbm5vdGF0aW9ucyB7XG4gIGNuOiBzdHJpbmc7XG4gIGVuOiBzdHJpbmc7XG4gIGFzbUV4dHJhRmVhdHVyZXM/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uRU4/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uWkg/OiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lRU4/OiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lWkg/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @packageDocumentation
|
|
3
|
-
* @module notification
|
|
4
|
-
*/
|
|
5
|
-
import { ButtonModule } from '@alauda/ui';
|
|
6
|
-
import { NgModule } from '@angular/core';
|
|
7
|
-
import { CodeModule } from '../code/code.module';
|
|
8
|
-
import { TranslateModule } from '../translate/translate.module';
|
|
9
|
-
import { FeedbackNotificationComponent } from './feedback-notification/component';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/common";
|
|
12
|
-
import * as i2 from "@alauda/ui";
|
|
13
|
-
import * as i3 from "../translate/translate.pipe";
|
|
14
|
-
const EXPORTABLE_MODULES = [CodeModule, TranslateModule, ButtonModule];
|
|
15
|
-
const ENTRY_COMPONENTS = [FeedbackNotificationComponent];
|
|
16
|
-
const EXPORTABLE_COMPONENTS = ENTRY_COMPONENTS;
|
|
17
|
-
export class NotificationUtilModule {
|
|
18
|
-
static { this.ɵfac = function NotificationUtilModule_Factory(t) { return new (t || NotificationUtilModule)(); }; }
|
|
19
|
-
static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: NotificationUtilModule }); }
|
|
20
|
-
static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [EXPORTABLE_MODULES, CodeModule, TranslateModule, ButtonModule] }); }
|
|
21
|
-
}
|
|
22
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NotificationUtilModule, [{
|
|
23
|
-
type: NgModule,
|
|
24
|
-
args: [{
|
|
25
|
-
imports: EXPORTABLE_MODULES,
|
|
26
|
-
declarations: EXPORTABLE_COMPONENTS,
|
|
27
|
-
exports: [...EXPORTABLE_MODULES, ...EXPORTABLE_COMPONENTS],
|
|
28
|
-
}]
|
|
29
|
-
}], null, null); })();
|
|
30
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(NotificationUtilModule, { declarations: [FeedbackNotificationComponent], imports: [CodeModule, TranslateModule, ButtonModule], exports: [CodeModule, TranslateModule, ButtonModule, FeedbackNotificationComponent] }); })();
|
|
31
|
-
i0.ɵɵsetComponentScope(FeedbackNotificationComponent, [i1.NgIf, i2.ButtonComponent], [i3.TranslatePipe]);
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXV0aWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24tdXRpbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMxQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7O0FBRWxGLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxVQUFVLEVBQUUsZUFBZSxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBRXZFLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBRXpELE1BQU0scUJBQXFCLEdBQUcsZ0JBQWdCLENBQUM7QUFPL0MsTUFBTSxPQUFPLHNCQUFzQjt1RkFBdEIsc0JBQXNCO21FQUF0QixzQkFBc0I7dUVBSnhCLGtCQUFrQixFQVBELFVBQVUsRUFBRSxlQUFlLEVBQUUsWUFBWTs7dUZBV3hELHNCQUFzQjtjQUxsQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsWUFBWSxFQUFFLHFCQUFxQjtnQkFDbkMsT0FBTyxFQUFFLENBQUMsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLHFCQUFxQixDQUFDO2FBQzNEOzt3RkFDWSxzQkFBc0IsbUJBVFQsNkJBQTZCLGFBRjNCLFVBQVUsRUFBRSxlQUFlLEVBQUUsWUFBWSxhQUF6QyxVQUFVLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFFM0MsNkJBQTZCO3VCQUE3Qiw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSBub3RpZmljYXRpb25cbiAqL1xuXG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvZGVNb2R1bGUgfSBmcm9tICcuLi9jb2RlL2NvZGUubW9kdWxlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJy4uL3RyYW5zbGF0ZS90cmFuc2xhdGUubW9kdWxlJztcblxuaW1wb3J0IHsgRmVlZGJhY2tOb3RpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2ZlZWRiYWNrLW5vdGlmaWNhdGlvbi9jb21wb25lbnQnO1xuXG5jb25zdCBFWFBPUlRBQkxFX01PRFVMRVMgPSBbQ29kZU1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBCdXR0b25Nb2R1bGVdO1xuXG5jb25zdCBFTlRSWV9DT01QT05FTlRTID0gW0ZlZWRiYWNrTm90aWZpY2F0aW9uQ29tcG9uZW50XTtcblxuY29uc3QgRVhQT1JUQUJMRV9DT01QT05FTlRTID0gRU5UUllfQ09NUE9ORU5UUztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogRVhQT1JUQUJMRV9NT0RVTEVTLFxuICBkZWNsYXJhdGlvbnM6IEVYUE9SVEFCTEVfQ09NUE9ORU5UUyxcbiAgZXhwb3J0czogWy4uLkVYUE9SVEFCTEVfTU9EVUxFUywgLi4uRVhQT1JUQUJMRV9DT01QT05FTlRTXSxcbn0pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uVXRpbE1vZHVsZSB7fVxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{ "v": "5.10.0", "fr": 60, "ip": 0, "op": 68, "w": 1440, "h": 1440, "nm": "Dashboard", "ddd": 0, "assets": [], "layers": [{ "ddd": 0, "ind": 1, "ty": 4, "nm": "矩形 3", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [1212, 650, 0], "ix": 2, "l": 2 }, "a": { "a": 0, "k": [45.933, 8, 0], "ix": 1, "l": 2 }, "s": { "a": 1, "k": [{ "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, "t": 39, "s": [1192, 62, 100] }, { "t": 66, "s": [14, 62, 100] }], "ix": 6, "l": 2 } }, "ao": 0, "shapes": [{ "ty": "gr", "it": [{ "ty": "rc", "d": 1, "s": { "a": 0, "k": [30, 416], "ix": 2 }, "p": { "a": 0, "k": [0, 0], "ix": 3 }, "r": { "a": 0, "k": 0, "ix": 4 }, "nm": "矩形路径 1", "mn": "ADBE Vector Shape - Rect", "hd": false }, { "ty": "fl", "c": { "a": 0, "k": [0, 0.478431373835, 0.960784316063, 1], "ix": 4 }, "o": { "a": 0, "k": 100, "ix": 5 }, "r": 1, "bm": 0, "nm": "填充 1", "mn": "ADBE Vector Graphic - Fill", "hd": false }, { "ty": "tr", "p": { "a": 0, "k": [0, 0], "ix": 2 }, "a": { "a": 0, "k": [0, 0], "ix": 1 }, "s": { "a": 0, "k": [300, 300], "ix": 3 }, "r": { "a": 0, "k": 0, "ix": 6 }, "o": { "a": 0, "k": 100, "ix": 7 }, "sk": { "a": 0, "k": 0, "ix": 4 }, "sa": { "a": 0, "k": 0, "ix": 5 }, "nm": "变换" }], "nm": "矩形", "np": 2, "cix": 2, "bm": 0, "ix": 1, "mn": "ADBE Vector Group", "hd": false }], "ip": 39, "op": 289, "st": -14, "ct": 1, "bm": 0 }, { "ddd": 0, "ind": 2, "ty": 4, "nm": "矩形", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [140, 650, 0], "ix": 2, "l": 2 }, "a": { "a": 0, "k": [-44, 8, 0], "ix": 1, "l": 2 }, "s": { "a": 1, "k": [{ "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, "t": 0, "s": [100, 62, 100] }, { "i": { "x": [0.833, 0.833, 0.833], "y": [0.833, 0.833, 0.833] }, "o": { "x": [0.167, 0.167, 0.167], "y": [0.167, 0.167, 0.167] }, "t": 27, "s": [1192, 62, 100] }, { "t": 39, "s": [1192, 62, 100] }], "ix": 6, "l": 2 } }, "ao": 0, "shapes": [{ "ty": "gr", "it": [{ "ty": "rc", "d": 1, "s": { "a": 0, "k": [30, 416], "ix": 2 }, "p": { "a": 0, "k": [0, 0], "ix": 3 }, "r": { "a": 0, "k": 0, "ix": 4 }, "nm": "矩形路径 1", "mn": "ADBE Vector Shape - Rect", "hd": false }, { "ty": "fl", "c": { "a": 1, "k": [{ "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "t": 0, "s": [0.486274510622, 0.494117647409, 0.505882382393, 1] }, { "t": 1, "s": [0, 0.478431373835, 0.960784316063, 1] }], "ix": 4 }, "o": { "a": 0, "k": 100, "ix": 5 }, "r": 1, "bm": 0, "nm": "填充 1", "mn": "ADBE Vector Graphic - Fill", "hd": false }, { "ty": "tr", "p": { "a": 0, "k": [0, 0], "ix": 2 }, "a": { "a": 0, "k": [0, 0], "ix": 1 }, "s": { "a": 0, "k": [300, 300], "ix": 3 }, "r": { "a": 0, "k": 0, "ix": 6 }, "o": { "a": 0, "k": 100, "ix": 7 }, "sk": { "a": 0, "k": 0, "ix": 4 }, "sa": { "a": 0, "k": 0, "ix": 5 }, "nm": "变换" }], "nm": "矩形", "np": 2, "cix": 2, "bm": 0, "ix": 1, "mn": "ADBE Vector Group", "hd": false }], "ip": 0, "op": 39, "st": 0, "ct": 1, "bm": 0 }, { "ddd": 0, "ind": 3, "ty": 4, "nm": "路径 2", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [720, 1282.5, 0], "ix": 2, "l": 2 }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1, "l": 2 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6, "l": 2 } }, "ao": 0, "shapes": [{ "ty": "gr", "it": [{ "ind": 0, "ty": "sh", "ix": 1, "ks": { "a": 0, "k": { "i": [[0, 0], [0, -8.28], [0, 0], [9.94, 0], [0, 0], [0, 8.28], [0, 0], [-9.94, 0]], "o": [[9.94, 0], [0, 0], [0, 8.28], [0, 0], [-9.94, 0], [0, 0], [0, -8.28], [0, 0]], "v": [[162, -22.5], [180, -7.5], [180, 7.5], [162, 22.5], [-162, 22.5], [-180, 7.5], [-180, -7.5], [-162, -22.5]], "c": true }, "ix": 2 }, "nm": "路径 1", "mn": "ADBE Vector Shape - Group", "hd": false }, { "ty": "fl", "c": { "a": 1, "k": [{ "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "t": 0, "s": [0.68235296011, 0.690196096897, 0.701960802078, 1] }, { "t": 1, "s": [0.40000000596, 0.686274528503, 0.976470589638, 1] }], "ix": 4 }, "o": { "a": 0, "k": 100, "ix": 5 }, "r": 1, "bm": 0, "nm": "填充 1", "mn": "ADBE Vector Graphic - Fill", "hd": false }, { "ty": "tr", "p": { "a": 0, "k": [0, 0], "ix": 2 }, "a": { "a": 0, "k": [0, 0], "ix": 1 }, "s": { "a": 0, "k": [300, 300], "ix": 3 }, "r": { "a": 0, "k": 0, "ix": 6 }, "o": { "a": 0, "k": 100, "ix": 7 }, "sk": { "a": 0, "k": 0, "ix": 4 }, "sa": { "a": 0, "k": 0, "ix": 5 }, "nm": "变换" }], "nm": "路径", "np": 2, "cix": 2, "bm": 0, "ix": 1, "mn": "ADBE Vector Group", "hd": false }], "ip": 0, "op": 86, "st": 0, "ct": 1, "bm": 0 }, { "ddd": 0, "ind": 4, "ty": 4, "nm": "形状结合 2", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [720, 630, 0], "ix": 2, "l": 2 }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1, "l": 2 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6, "l": 2 } }, "ao": 0, "shapes": [{ "ty": "gr", "it": [{ "ind": 0, "ty": "sh", "ix": 1, "ks": { "a": 0, "k": { "i": [[0, 0], [0, -15.78], [0, 0], [16.57, 0], [0, 0], [0, 15.78], [0, 0], [-16.57, 0]], "o": [[16.57, 0], [0, 0], [0, 15.78], [0, 0], [-16.57, 0], [0, 0], [0, -15.78], [0, 0]], "v": [[180, -150], [210, -121.43], [210, 121.43], [180, 150], [-180, 150], [-210, 121.43], [-210, -121.43], [-180, -150]], "c": true }, "ix": 2 }, "nm": "路径 1", "mn": "ADBE Vector Shape - Group", "hd": false }, { "ind": 1, "ty": "sh", "ix": 2, "ks": { "a": 0, "k": { "i": [[0, 0], [9.42, -13.36], [0, 0], [0, 0], [0, 0], [0, 0], [5.93, 0.8], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [-8.63, 12.26], [0, 0], [0, 0], [0, 0], [0, 0], [-7.05, -0.97], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], "o": [[-7.92, -14.3], [0, 0], [0, 0], [0, 0], [0, 0], [-3.62, -4.77], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [9.12, 11.9], [0, 0], [0, 0], [0, 0], [0, 0], [3.42, 6.25], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], "v": [[19.98, -83.56], [-17.92, -85.62], [-19.65, -82.76], [-77.46, 30.02], [-87.43, 12.35], [-89.08, 9.83], [-104.01, 1.12], [-107.02, 0.91], [-150, 0.91], [-150, 45.91], [-120.18, 45.89], [-96.07, 88.56], [-94.26, 91.3], [-58.15, 90.57], [-56.45, 87.76], [-2.67, -17.29], [28.06, 63.13], [29.35, 65.92], [46.01, 77.4], [49.08, 77.61], [150, 77.61], [150, 32.61], [64.56, 32.6], [21.39, -80.52]], "c": true }, "ix": 2 }, "nm": "路径 2", "mn": "ADBE Vector Shape - Group", "hd": false }, { "ty": "mm", "mm": 3, "nm": "合并路径 1", "mn": "ADBE Vector Filter - Merge", "hd": false }, { "ty": "fl", "c": { "a": 1, "k": [{ "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "t": 0, "s": [0.486274510622, 0.494117647409, 0.505882382393, 1] }, { "t": 1, "s": [0, 0.478431373835, 0.960784316063, 1] }], "ix": 4 }, "o": { "a": 0, "k": 100, "ix": 5 }, "r": 1, "bm": 0, "nm": "填充 1", "mn": "ADBE Vector Graphic - Fill", "hd": false }, { "ty": "tr", "p": { "a": 0, "k": [0, 0], "ix": 2 }, "a": { "a": 0, "k": [0, 0], "ix": 1 }, "s": { "a": 0, "k": [300, 300], "ix": 3 }, "r": { "a": 0, "k": 0, "ix": 6 }, "o": { "a": 0, "k": 100, "ix": 7 }, "sk": { "a": 0, "k": 0, "ix": 4 }, "sa": { "a": 0, "k": 0, "ix": 5 }, "nm": "变换" }], "nm": "形状结合", "np": 4, "cix": 2, "bm": 0, "ix": 1, "mn": "ADBE Vector Group", "hd": false }], "ip": 0, "op": 86, "st": 0, "ct": 1, "bm": 0 }], "markers": [] }
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./feedback-notification/component";
|
|
3
|
-
import * as i2 from "../code/code.module";
|
|
4
|
-
import * as i3 from "../translate/translate.module";
|
|
5
|
-
import * as i4 from "@alauda/ui";
|
|
6
|
-
export declare class NotificationUtilModule {
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationUtilModule, never>;
|
|
8
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NotificationUtilModule, [typeof i1.FeedbackNotificationComponent], [typeof i2.CodeModule, typeof i3.TranslateModule, typeof i4.ButtonModule], [typeof i2.CodeModule, typeof i3.TranslateModule, typeof i4.ButtonModule, typeof i1.FeedbackNotificationComponent]>;
|
|
9
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<NotificationUtilModule>;
|
|
10
|
-
}
|