@alauda-fe/common 1.0.0-hotfix-znx-3.16.1-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/a-chart/a-chart.module.d.ts +16 -0
- package/a-chart/base-chart.d.ts +23 -0
- package/a-chart/chart-status.component.d.ts +15 -0
- package/a-chart/chart.component.d.ts +56 -0
- package/a-chart/components/base-component.d.ts +12 -0
- package/a-chart/components/legend/base-legend.component.d.ts +32 -0
- package/a-chart/components/legend/dropdown-legend.d.ts +17 -0
- package/a-chart/components/legend/legend.component.d.ts +17 -0
- package/a-chart/components/legend/public-api.d.ts +3 -0
- package/a-chart/components/public-api.d.ts +3 -0
- package/a-chart/components/title.component.d.ts +17 -0
- package/a-chart/constant.d.ts +3 -0
- package/a-chart/public-api.d.ts +12 -0
- package/a-chart/types.d.ts +33 -0
- package/a-chart/utils.d.ts +13 -0
- package/a-metric-chart/a-metric-chart.component.d.ts +151 -0
- package/a-metric-chart/a-metric-chart.module.d.ts +16 -0
- package/a-metric-chart/bar-gauge/bar-gauge.component.d.ts +25 -0
- package/a-metric-chart/base-chart.component.d.ts +14 -0
- package/a-metric-chart/metric-chart-refresh.service.d.ts +8 -0
- package/a-metric-chart/public-api.d.ts +14 -0
- package/a-metric-chart/stat-chart/stat-chart.component.d.ts +7 -0
- package/a-metric-chart/table-chart/table-chart.component.d.ts +29 -0
- package/a-metric-chart/types.d.ts +115 -0
- package/a-metric-chart/utils/public-api.d.ts +3 -0
- package/a-metric-chart/utils/range.d.ts +1 -0
- package/a-metric-chart/utils/unit.d.ts +48 -0
- package/a-metric-chart/utils/util.d.ts +40 -0
- package/abnormal-page/abnormal-page.component.d.ts +19 -0
- package/abnormal-page/abnormal-page.module.d.ts +11 -0
- package/abnormal-page/public-api.d.ts +2 -0
- package/api/api-compatible.interceptor.d.ts +46 -0
- package/api/api-gateway.interceptor.d.ts +14 -0
- package/api/api-gateway.service.d.ts +13 -0
- package/api/cluster-version.service.d.ts +19 -0
- package/api/crypto.interceptor.d.ts +18 -0
- package/api/helpers.d.ts +31 -0
- package/api/k8s-api-resource.service.d.ts +29 -0
- package/api/k8s-api.service.d.ts +112 -0
- package/api/monitor-api.service.d.ts +104 -0
- package/api/page-visibility.service.d.ts +7 -0
- package/api/platform-ui.service.d.ts +45 -0
- package/api/product.service.d.ts +13 -0
- package/api/project-api.service.d.ts +16 -0
- package/api/public-api.d.ts +21 -0
- package/api/resource-update.service.d.ts +31 -0
- package/api/types.d.ts +119 -0
- package/array-form-table/base-string-map-form.component.d.ts +22 -0
- package/array-form-table/form/component.d.ts +102 -0
- package/array-form-table/form/module.d.ts +7 -0
- package/array-form-table/key-value-form/component.d.ts +37 -0
- package/array-form-table/key-value-table/component.d.ts +9 -0
- package/array-form-table/public-api.d.ts +11 -0
- package/array-form-table/string-array-form/component.d.ts +39 -0
- package/assets/header/cluster-blue.svg +1 -0
- package/assets/header/cluster-white.svg +1 -0
- package/assets/header/namespace-blue.svg +1 -0
- package/assets/header/namespace-white.svg +1 -0
- package/assets/header/portrait.svg +1 -0
- package/assets/header/project-blue.svg +1 -0
- package/assets/header/project-white.svg +1 -0
- package/assets/header/servicemesh-blue.svg +1 -0
- package/assets/header/servicemesh-white.svg +1 -0
- package/assets/icons/ClickHouse.svg +1 -0
- package/assets/icons/Containerd.svg +1 -0
- package/assets/icons/Docker.svg +1 -0
- package/assets/icons/ETCD.svg +1 -0
- package/assets/icons/ElasticSearch.svg +1 -0
- package/assets/icons/Grafana.svg +1 -0
- package/assets/icons/Istio.svg +1 -0
- package/assets/icons/Jaeger.svg +1 -0
- package/assets/icons/Kafka.svg +1 -0
- package/assets/icons/Kibana.svg +1 -0
- package/assets/icons/KubeVela.svg +1 -0
- package/assets/icons/Kubernetes.svg +1 -0
- package/assets/icons/Prometheus.svg +1 -0
- package/assets/icons/VictoriaMetrics.svg +1 -0
- package/assets/icons/Zookeeper.svg +1 -0
- package/assets/icons/bicolor-icons.js +1 -0
- package/assets/icons/icon-card-blue.svg +1 -0
- package/assets/icons/icon-card.svg +1 -0
- package/assets/icons/icon-cluster-small-white.svg +1 -0
- package/assets/icons/icon-cluster-small.svg +1 -0
- package/assets/icons/icon-list-blue.svg +1 -0
- package/assets/icons/icon-list.svg +1 -0
- package/assets/icons/icon-namespace-small-white.svg +1 -0
- package/assets/icons/icon-namespace-small.svg +1 -0
- package/assets/icons/icon-project-small-white.svg +1 -0
- package/assets/icons/icon-project-small.svg +1 -0
- package/assets/icons/icon-servicemesh-small-white.svg +1 -0
- package/assets/icons/icon-servicemesh-small.svg +1 -0
- package/assets/icons/navigation-icons.js +1 -0
- package/assets/icons/os/centos.svg +1 -0
- package/assets/icons/os/debian.svg +1 -0
- package/assets/icons/os/linux.svg +1 -0
- package/assets/icons/os/other.svg +1 -0
- package/assets/icons/os/red-hat.svg +1 -0
- package/assets/icons/os/t-linux.svg +1 -0
- package/assets/icons/os/ubuntu.svg +1 -0
- package/assets/icons/os/windows.svg +1 -0
- package/assets/icons/prod-icons.js +1 -0
- package/assets/icons/time.svg +1 -0
- package/assets/images/abnormal.svg +1 -0
- package/assets/images/alarm_critical.png +0 -0
- package/assets/images/avatar.svg +1 -0
- package/assets/images/dark/disconnected.svg +1 -0
- package/assets/images/dark/feature-reach-bg.svg +1 -0
- package/assets/images/dark/license-abnormal.svg +1 -0
- package/assets/images/dark/network-abnormal.svg +1 -0
- package/assets/images/dark/no-data.svg +1 -0
- package/assets/images/dark/no-message.svg +1 -0
- package/assets/images/dark/no-permission.svg +1 -0
- package/assets/images/dark/no_realtime_alarm.svg +1 -0
- package/assets/images/dark/not-deployed.svg +1 -0
- package/assets/images/dark/not-found.svg +1 -0
- package/assets/images/dark/not-supported.svg +1 -0
- package/assets/images/dark/system-abnormal.svg +1 -0
- package/assets/images/light/disconnected.svg +1 -0
- package/assets/images/light/feature-reach-bg.svg +1 -0
- package/assets/images/light/license-abnormal.svg +1 -0
- package/assets/images/light/network-abnormal.svg +1 -0
- package/assets/images/light/no-data.svg +1 -0
- package/assets/images/light/no-message.svg +1 -0
- package/assets/images/light/no-permission.svg +1 -0
- package/assets/images/light/no_realtime_alarm.svg +1 -0
- package/assets/images/light/not-deployed.svg +1 -0
- package/assets/images/light/not-found.svg +1 -0
- package/assets/images/light/not-supported.svg +1 -0
- package/assets/images/light/system-abnormal.svg +1 -0
- package/assets/images/no-data.png +0 -0
- package/assets/images/overview-banner.svg +1 -0
- package/assets/images/platform_version_bg.svg +1 -0
- package/assets/images/product-default-logo.png +0 -0
- package/assets/logos/favicon.ico +0 -0
- package/assets/logos/logo.svg +1 -0
- package/assets/logos/tke_logo_white.svg +1 -0
- package/assets/themes/override-theme.js +11 -0
- package/assets/themes/refresh-favicon.js +6 -0
- package/async-data/async-data-loader.d.ts +31 -0
- package/async-data/async-data.module.d.ts +8 -0
- package/async-data/error-page/component.d.ts +30 -0
- package/async-data/page-state/component.d.ts +21 -0
- package/async-data/public-api.d.ts +11 -0
- package/async-data/types.d.ts +29 -0
- package/authorization/app-init-url.d.ts +6 -0
- package/authorization/guard.service.d.ts +22 -0
- package/authorization/interceptor.service.d.ts +34 -0
- package/authorization/public-api.d.ts +11 -0
- package/authorization/session-manage.service.d.ts +18 -0
- package/authorization/state.service.d.ts +45 -0
- package/authorization/storage-token.d.ts +11 -0
- package/business/module-info/api.service.d.ts +24 -0
- package/business/module-info/public-api.d.ts +1 -0
- package/business/notification-disabled-container/component.d.ts +14 -0
- package/business/notification-disabled-container/public-api.d.ts +1 -0
- package/business/public-api.d.ts +8 -0
- package/business/resource-select/base-list.d.ts +32 -0
- package/business/resource-select/context.service.d.ts +47 -0
- package/business/resource-select/exports/cluster-selector/component.d.ts +23 -0
- package/business/resource-select/exports/mesh-group-selector/component.d.ts +23 -0
- package/business/resource-select/exports/namespace-page/component.d.ts +25 -0
- package/business/resource-select/exports/namespace-selector/component.d.ts +33 -0
- package/business/resource-select/exports/project-page/component.d.ts +18 -0
- package/business/resource-select/exports/project-selector/component.d.ts +27 -0
- package/business/resource-select/helpers.directive.d.ts +5 -0
- package/business/resource-select/internals/cluster-list/component.d.ts +25 -0
- package/business/resource-select/internals/data-grid/component.d.ts +42 -0
- package/business/resource-select/internals/icon/component.d.ts +12 -0
- package/business/resource-select/internals/meshgroup-list/component.d.ts +22 -0
- package/business/resource-select/internals/namespace-list/component.d.ts +64 -0
- package/business/resource-select/internals/no-data/component.d.ts +11 -0
- package/business/resource-select/internals/project-list/component.d.ts +22 -0
- package/business/resource-select/internals/resource-dashboard/component.d.ts +14 -0
- package/business/resource-select/internals/selector-popup/component.d.ts +14 -0
- package/business/resource-select/internals/selector-popup/ref.d.ts +10 -0
- package/business/resource-select/internals/selector-popup/service.d.ts +21 -0
- package/business/resource-select/module.d.ts +31 -0
- package/business/resource-select/project.service.d.ts +17 -0
- package/business/resource-select/public-api.d.ts +16 -0
- package/business/resource-select/types.d.ts +77 -0
- package/business/resource-select/utils.d.ts +5 -0
- package/chart/chart.module.d.ts +29 -0
- package/chart/chart.service.d.ts +72 -0
- package/chart/common/axis/axis-label.component.d.ts +23 -0
- package/chart/common/axis/x-axis-ticks.component.d.ts +24 -0
- package/chart/common/axis/x-axis.component.d.ts +26 -0
- package/chart/common/axis/x-plot-lines.component.d.ts +23 -0
- package/chart/common/axis/y-axis-ticks.component.d.ts +33 -0
- package/chart/common/axis/y-axis.component.d.ts +28 -0
- package/chart/common/axis/y-plot-lines.component.d.ts +31 -0
- package/chart/common/chart/chart.component.d.ts +62 -0
- package/chart/common/legend/legend.component.d.ts +41 -0
- package/chart/common/public-api.d.ts +16 -0
- package/chart/common/range-area/range-area.component.d.ts +48 -0
- package/chart/common/reference-area/reference-area.component.d.ts +12 -0
- package/chart/common/series/area-series.component.d.ts +21 -0
- package/chart/common/series/bar-path.component.d.ts +47 -0
- package/chart/common/series/bar-series.component.d.ts +29 -0
- package/chart/common/series/line-series.component.d.ts +8 -0
- package/chart/common/series/series.component.d.ts +39 -0
- package/chart/common/tooltip/tooltip.component.d.ts +119 -0
- package/chart/constants.d.ts +10 -0
- package/chart/custom-template/dropdown-legend.d.ts +11 -0
- package/chart/public-api.d.ts +10 -0
- package/chart/types.d.ts +47 -0
- package/chart/utils.d.ts +36 -0
- package/code/code-display-dialog/component.d.ts +17 -0
- package/code/code-editor-configs.d.ts +19 -0
- package/code/code.module.d.ts +14 -0
- package/code/k8s-yaml-display-dialog/component.d.ts +16 -0
- package/code/public-api.d.ts +11 -0
- package/code/resource-yaml-display/component.d.ts +20 -0
- package/core/abstract/base-form-container.d.ts +41 -0
- package/core/abstract/base-nested-form-control.d.ts +58 -0
- package/core/abstract/public-api.d.ts +2 -0
- package/core/components/public-api.d.ts +6 -0
- package/core/components/tree/module.d.ts +12 -0
- package/core/components/tree/node/component.d.ts +12 -0
- package/core/components/tree/outlet.d.ts +10 -0
- package/core/components/tree/padding.d.ts +12 -0
- package/core/components/tree/toggle.d.ts +12 -0
- package/core/components/tree/tree/component.d.ts +8 -0
- package/core/constants/constants.d.ts +62 -0
- package/core/constants/patterns.d.ts +107 -0
- package/core/constants/public-api.d.ts +5 -0
- package/core/constants/status-icons.d.ts +31 -0
- package/core/constants/timezones.d.ts +6 -0
- package/core/constants/tokens.d.ts +26 -0
- package/core/directives/click-outside.directive.d.ts +12 -0
- package/core/directives/disabled.directive.d.ts +28 -0
- package/core/directives/feature-gate.directive.d.ts +30 -0
- package/core/directives/intercept-deactivate.directive.d.ts +18 -0
- package/core/directives/last-form-item.directive.d.ts +8 -0
- package/core/directives/page-header-content.directive.d.ts +25 -0
- package/core/directives/public-api.d.ts +10 -0
- package/core/directives/readonly-field.directive.d.ts +39 -0
- package/core/directives/resize.directive.d.ts +17 -0
- package/core/directives/scroll-border-observer.directive.d.ts +23 -0
- package/core/directives/scroll-to-first-invalid.directive.d.ts +24 -0
- package/core/guards/feature.guard.d.ts +28 -0
- package/core/guards/intercept-deactivate.guard.d.ts +13 -0
- package/core/guards/leave-edit-page.guard.d.ts +13 -0
- package/core/guards/project-namespace.guard.d.ts +23 -0
- package/core/guards/public-api.d.ts +4 -0
- package/core/module.d.ts +33 -0
- package/core/pipes/cron-human-readable.pipe.d.ts +14 -0
- package/core/pipes/crontab-next.pipe.d.ts +18 -0
- package/core/pipes/duration.pipe.d.ts +10 -0
- package/core/pipes/field-not-available.pipe.d.ts +13 -0
- package/core/pipes/img-header.pipe.d.ts +7 -0
- package/core/pipes/img-theme.pipe.d.ts +13 -0
- package/core/pipes/k8s-util.pipe.d.ts +98 -0
- package/core/pipes/k8s-util.pipe.module.d.ts +7 -0
- package/core/pipes/keyvalue.pipe.d.ts +9 -0
- package/core/pipes/marked.pipe.d.ts +8 -0
- package/core/pipes/minimum-format.pipe.d.ts +10 -0
- package/core/pipes/page-env.pipe.d.ts +34 -0
- package/core/pipes/parse-json-translate.pipe.d.ts +9 -0
- package/core/pipes/parse-json.pipe.d.ts +7 -0
- package/core/pipes/public-api.d.ts +18 -0
- package/core/pipes/safe.pipe.d.ts +10 -0
- package/core/pipes/sanitize.pipe.d.ts +10 -0
- package/core/pipes/time.pipe.d.ts +41 -0
- package/core/pipes/timezone-display.pipe.d.ts +10 -0
- package/core/public-api.d.ts +16 -0
- package/core/services/aui-paginator-intl.service.d.ts +13 -0
- package/core/services/aui-tooltip-copy-intl.service.d.ts +11 -0
- package/core/services/context.service.d.ts +33 -0
- package/core/services/custom-code-editor-intl.service.d.ts +33 -0
- package/core/services/feature-gate.service.d.ts +35 -0
- package/core/services/form-row-duplicate/form-row-duplicate.service.d.ts +45 -0
- package/core/services/intercept-deactivate.service.d.ts +28 -0
- package/core/services/k8s-util.service.d.ts +78 -0
- package/core/services/on-resize.service.d.ts +20 -0
- package/core/services/public-api.d.ts +14 -0
- package/core/services/silently-navigate.service.d.ts +11 -0
- package/core/services/time.service.d.ts +17 -0
- package/core/services/ui-state.service.d.ts +41 -0
- package/core/services/workspace-helper.service.d.ts +12 -0
- package/core/services/yaml-util.service.d.ts +20 -0
- package/core/types/commons.d.ts +40 -0
- package/core/types/helpers.d.ts +35 -0
- package/core/types/k8s/core.d.ts +101 -0
- package/core/types/k8s/crd.d.ts +539 -0
- package/core/types/k8s/public-api.d.ts +3 -0
- package/core/types/k8s/raw.d.ts +975 -0
- package/core/types/public-api.d.ts +10 -0
- package/core/types/resource-definitions.d.ts +759 -0
- package/core/types/schema.d.ts +14 -0
- package/core/utils/browser.d.ts +4 -0
- package/core/utils/cache-store.d.ts +33 -0
- package/core/utils/color-helpers.d.ts +4 -0
- package/core/utils/common.d.ts +65 -0
- package/core/utils/create-recursive-filter.d.ts +41 -0
- package/core/utils/cron-util.d.ts +8 -0
- package/core/utils/decorators.d.ts +14 -0
- package/core/utils/format-number.d.ts +11 -0
- package/core/utils/k8s-util.d.ts +30 -0
- package/core/utils/local-storage-constants.d.ts +1 -0
- package/core/utils/node.d.ts +8 -0
- package/core/utils/observable.d.ts +5 -0
- package/core/utils/operators.d.ts +19 -0
- package/core/utils/public-api.d.ts +22 -0
- package/core/utils/request-pool.d.ts +12 -0
- package/core/utils/resources.d.ts +19 -0
- package/core/utils/sort-fn.d.ts +2 -0
- package/core/utils/tree.d.ts +16 -0
- package/core/utils/unit.d.ts +20 -0
- package/core/utils/version.d.ts +39 -0
- package/core/utils/with-load-state.d.ts +11 -0
- package/core/utils/workspace.d.ts +28 -0
- package/core/utils/yaml.d.ts +11 -0
- package/custom-columns-setting/component.d.ts +16 -0
- package/custom-columns-setting/public-api.d.ts +1 -0
- package/disabled-container/disabled-container.component.d.ts +21 -0
- package/disabled-container/disabled-container.module.d.ts +10 -0
- package/disabled-container/public-api.d.ts +8 -0
- package/editable-text/component.d.ts +24 -0
- package/editable-text/module.d.ts +11 -0
- package/editable-text/public-api.d.ts +2 -0
- package/effect-directive/coerce-number.directive.d.ts +8 -0
- package/effect-directive/e2e-attribute-binding.directive.d.ts +10 -0
- package/effect-directive/event.directive.d.ts +11 -0
- package/effect-directive/min-max.directive.d.ts +30 -0
- package/effect-directive/module.d.ts +20 -0
- package/effect-directive/public-api.d.ts +7 -0
- package/effect-directive/trim.directive.d.ts +7 -0
- package/effect-directive/validators.directive.d.ts +12 -0
- package/errors-mapper/base-errors-mapper.d.ts +13 -0
- package/errors-mapper/default-errors-mapper.service.d.ts +10 -0
- package/errors-mapper/errors-mapper-component/component.d.ts +19 -0
- package/errors-mapper/errors-mapper.directive.d.ts +39 -0
- package/errors-mapper/errors-mapper.module.d.ts +8 -0
- package/errors-mapper/public-api.d.ts +4 -0
- package/errors-mapper/types.d.ts +16 -0
- package/esm2022/a-chart/a-chart.module.mjs +76 -0
- package/esm2022/a-chart/base-chart.mjs +84 -0
- package/esm2022/a-chart/chart-status.component.mjs +195 -0
- package/esm2022/a-chart/chart.component.mjs +292 -0
- package/esm2022/a-chart/components/base-component.mjs +23 -0
- package/esm2022/a-chart/components/legend/base-legend.component.mjs +110 -0
- package/esm2022/a-chart/components/legend/dropdown-legend.mjs +199 -0
- package/esm2022/a-chart/components/legend/legend.component.mjs +102 -0
- package/esm2022/a-chart/components/legend/public-api.mjs +4 -0
- package/esm2022/a-chart/components/public-api.mjs +4 -0
- package/esm2022/a-chart/components/title.component.mjs +99 -0
- package/esm2022/a-chart/constant.mjs +22 -0
- package/esm2022/a-chart/public-api.mjs +13 -0
- package/esm2022/a-chart/types.mjs +7 -0
- package/esm2022/a-chart/utils.mjs +37 -0
- package/esm2022/a-metric-chart/a-metric-chart.component.mjs +903 -0
- package/esm2022/a-metric-chart/a-metric-chart.module.mjs +76 -0
- package/esm2022/a-metric-chart/bar-gauge/bar-gauge.component.mjs +166 -0
- package/esm2022/a-metric-chart/base-chart.component.mjs +30 -0
- package/esm2022/a-metric-chart/metric-chart-refresh.service.mjs +18 -0
- package/esm2022/a-metric-chart/public-api.mjs +15 -0
- package/esm2022/a-metric-chart/stat-chart/stat-chart.component.mjs +84 -0
- package/esm2022/a-metric-chart/table-chart/table-chart.component.mjs +201 -0
- package/esm2022/a-metric-chart/types.mjs +18 -0
- package/esm2022/a-metric-chart/utils/public-api.mjs +4 -0
- package/esm2022/a-metric-chart/utils/range.mjs +35 -0
- package/esm2022/a-metric-chart/utils/unit.mjs +83 -0
- package/esm2022/a-metric-chart/utils/util.mjs +225 -0
- package/esm2022/abnormal-page/abnormal-page.component.mjs +66 -0
- package/esm2022/abnormal-page/abnormal-page.module.mjs +27 -0
- package/esm2022/abnormal-page/public-api.mjs +3 -0
- package/esm2022/alauda-fe-common.mjs +5 -0
- package/esm2022/api/api-compatible.interceptor.mjs +101 -0
- package/esm2022/api/api-gateway.interceptor.mjs +28 -0
- package/esm2022/api/api-gateway.service.mjs +28 -0
- package/esm2022/api/cluster-version.service.mjs +61 -0
- package/esm2022/api/crypto.interceptor.mjs +186 -0
- package/esm2022/api/helpers.mjs +101 -0
- package/esm2022/api/k8s-api-resource.service.mjs +73 -0
- package/esm2022/api/k8s-api.service.mjs +394 -0
- package/esm2022/api/monitor-api.service.mjs +158 -0
- package/esm2022/api/page-visibility.service.mjs +18 -0
- package/esm2022/api/platform-ui.service.mjs +95 -0
- package/esm2022/api/product.service.mjs +36 -0
- package/esm2022/api/project-api.service.mjs +32 -0
- package/esm2022/api/public-api.mjs +22 -0
- package/esm2022/api/resource-update.service.mjs +62 -0
- package/esm2022/api/types.mjs +30 -0
- package/esm2022/array-form-table/base-string-map-form.component.mjs +92 -0
- package/esm2022/array-form-table/form/component.mjs +509 -0
- package/esm2022/array-form-table/form/module.mjs +41 -0
- package/esm2022/array-form-table/key-value-form/component.mjs +280 -0
- package/esm2022/array-form-table/key-value-table/component.mjs +74 -0
- package/esm2022/array-form-table/public-api.mjs +12 -0
- package/esm2022/array-form-table/string-array-form/component.mjs +267 -0
- package/esm2022/async-data/async-data-loader.mjs +63 -0
- package/esm2022/async-data/async-data.module.mjs +22 -0
- package/esm2022/async-data/error-page/component.mjs +152 -0
- package/esm2022/async-data/page-state/component.mjs +129 -0
- package/esm2022/async-data/public-api.mjs +12 -0
- package/esm2022/async-data/types.mjs +6 -0
- package/esm2022/authorization/app-init-url.mjs +33 -0
- package/esm2022/authorization/guard.service.mjs +42 -0
- package/esm2022/authorization/interceptor.service.mjs +149 -0
- package/esm2022/authorization/public-api.mjs +12 -0
- package/esm2022/authorization/session-manage.service.mjs +60 -0
- package/esm2022/authorization/state.service.mjs +227 -0
- package/esm2022/authorization/storage-token.mjs +98 -0
- package/esm2022/business/module-info/api.service.mjs +39 -0
- package/esm2022/business/module-info/public-api.mjs +2 -0
- package/esm2022/business/notification-disabled-container/component.mjs +87 -0
- package/esm2022/business/notification-disabled-container/public-api.mjs +2 -0
- package/esm2022/business/public-api.mjs +9 -0
- package/esm2022/business/resource-select/base-list.mjs +84 -0
- package/esm2022/business/resource-select/context.service.mjs +69 -0
- package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +98 -0
- package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +96 -0
- package/esm2022/business/resource-select/exports/namespace-page/component.mjs +78 -0
- package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +186 -0
- package/esm2022/business/resource-select/exports/project-page/component.mjs +53 -0
- package/esm2022/business/resource-select/exports/project-selector/component.mjs +124 -0
- package/esm2022/business/resource-select/helpers.directive.mjs +13 -0
- package/esm2022/business/resource-select/internals/cluster-list/component.mjs +74 -0
- package/esm2022/business/resource-select/internals/data-grid/component.mjs +584 -0
- package/esm2022/business/resource-select/internals/icon/component.mjs +56 -0
- package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +64 -0
- package/esm2022/business/resource-select/internals/namespace-list/component.mjs +432 -0
- package/esm2022/business/resource-select/internals/no-data/component.mjs +142 -0
- package/esm2022/business/resource-select/internals/project-list/component.mjs +75 -0
- package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +79 -0
- package/esm2022/business/resource-select/internals/selector-popup/component.mjs +45 -0
- package/esm2022/business/resource-select/internals/selector-popup/ref.mjs +20 -0
- package/esm2022/business/resource-select/internals/selector-popup/service.mjs +60 -0
- package/esm2022/business/resource-select/module.mjs +166 -0
- package/esm2022/business/resource-select/project.service.mjs +47 -0
- package/esm2022/business/resource-select/public-api.mjs +17 -0
- package/esm2022/business/resource-select/types.mjs +17 -0
- package/esm2022/business/resource-select/utils.mjs +30 -0
- package/esm2022/chart/chart.module.mjs +120 -0
- package/esm2022/chart/chart.service.mjs +237 -0
- package/esm2022/chart/common/axis/axis-label.component.mjs +106 -0
- package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +217 -0
- package/esm2022/chart/common/axis/x-axis.component.mjs +109 -0
- package/esm2022/chart/common/axis/x-plot-lines.component.mjs +101 -0
- package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +233 -0
- package/esm2022/chart/common/axis/y-axis.component.mjs +122 -0
- package/esm2022/chart/common/axis/y-plot-lines.component.mjs +126 -0
- package/esm2022/chart/common/chart/chart.component.mjs +269 -0
- package/esm2022/chart/common/legend/legend.component.mjs +269 -0
- package/esm2022/chart/common/public-api.mjs +17 -0
- package/esm2022/chart/common/range-area/range-area.component.mjs +144 -0
- package/esm2022/chart/common/reference-area/reference-area.component.mjs +46 -0
- package/esm2022/chart/common/series/area-series.component.mjs +89 -0
- package/esm2022/chart/common/series/bar-path.component.mjs +156 -0
- package/esm2022/chart/common/series/bar-series.component.mjs +88 -0
- package/esm2022/chart/common/series/line-series.component.mjs +59 -0
- package/esm2022/chart/common/series/series.component.mjs +166 -0
- package/esm2022/chart/common/tooltip/tooltip.component.mjs +520 -0
- package/esm2022/chart/constants.mjs +22 -0
- package/esm2022/chart/custom-template/dropdown-legend.mjs +112 -0
- package/esm2022/chart/public-api.mjs +11 -0
- package/esm2022/chart/types.mjs +6 -0
- package/esm2022/chart/utils.mjs +117 -0
- package/esm2022/code/code-display-dialog/component.mjs +59 -0
- package/esm2022/code/code-editor-configs.mjs +66 -0
- package/esm2022/code/code.module.mjs +74 -0
- package/esm2022/code/k8s-yaml-display-dialog/component.mjs +53 -0
- package/esm2022/code/public-api.mjs +12 -0
- package/esm2022/code/resource-yaml-display/component.mjs +133 -0
- package/esm2022/core/abstract/base-form-container.mjs +131 -0
- package/esm2022/core/abstract/base-nested-form-control.mjs +195 -0
- package/esm2022/core/abstract/public-api.mjs +3 -0
- package/esm2022/core/components/public-api.mjs +7 -0
- package/esm2022/core/components/tree/module.mjs +41 -0
- package/esm2022/core/components/tree/node/component.mjs +47 -0
- package/esm2022/core/components/tree/outlet.mjs +34 -0
- package/esm2022/core/components/tree/padding.mjs +41 -0
- package/esm2022/core/components/tree/toggle.mjs +44 -0
- package/esm2022/core/components/tree/tree/component.mjs +27 -0
- package/esm2022/core/constants/constants.mjs +85 -0
- package/esm2022/core/constants/patterns.mjs +126 -0
- package/esm2022/core/constants/public-api.mjs +6 -0
- package/esm2022/core/constants/status-icons.mjs +60 -0
- package/esm2022/core/constants/timezones.mjs +234 -0
- package/esm2022/core/constants/tokens.mjs +84 -0
- package/esm2022/core/directives/click-outside.directive.mjs +51 -0
- package/esm2022/core/directives/disabled.directive.mjs +76 -0
- package/esm2022/core/directives/feature-gate.directive.mjs +87 -0
- package/esm2022/core/directives/intercept-deactivate.directive.mjs +52 -0
- package/esm2022/core/directives/last-form-item.directive.mjs +18 -0
- package/esm2022/core/directives/page-header-content.directive.mjs +41 -0
- package/esm2022/core/directives/public-api.mjs +11 -0
- package/esm2022/core/directives/readonly-field.directive.mjs +157 -0
- package/esm2022/core/directives/resize.directive.mjs +39 -0
- package/esm2022/core/directives/scroll-border-observer.directive.mjs +77 -0
- package/esm2022/core/directives/scroll-to-first-invalid.directive.mjs +130 -0
- package/esm2022/core/guards/feature.guard.mjs +58 -0
- package/esm2022/core/guards/intercept-deactivate.guard.mjs +40 -0
- package/esm2022/core/guards/leave-edit-page.guard.mjs +32 -0
- package/esm2022/core/guards/project-namespace.guard.mjs +70 -0
- package/esm2022/core/guards/public-api.mjs +5 -0
- package/esm2022/core/module.mjs +145 -0
- package/esm2022/core/pipes/cron-human-readable.pipe.mjs +33 -0
- package/esm2022/core/pipes/crontab-next.pipe.mjs +62 -0
- package/esm2022/core/pipes/duration.pipe.mjs +51 -0
- package/esm2022/core/pipes/field-not-available.pipe.mjs +25 -0
- package/esm2022/core/pipes/img-header.pipe.mjs +18 -0
- package/esm2022/core/pipes/img-theme.pipe.mjs +38 -0
- package/esm2022/core/pipes/k8s-util.pipe.mjs +196 -0
- package/esm2022/core/pipes/k8s-util.pipe.module.mjs +56 -0
- package/esm2022/core/pipes/keyvalue.pipe.mjs +20 -0
- package/esm2022/core/pipes/marked.pipe.mjs +17 -0
- package/esm2022/core/pipes/minimum-format.pipe.mjs +24 -0
- package/esm2022/core/pipes/page-env.pipe.mjs +66 -0
- package/esm2022/core/pipes/parse-json-translate.pipe.mjs +29 -0
- package/esm2022/core/pipes/parse-json.pipe.mjs +22 -0
- package/esm2022/core/pipes/public-api.mjs +19 -0
- package/esm2022/core/pipes/safe.pipe.mjs +49 -0
- package/esm2022/core/pipes/sanitize.pipe.mjs +31 -0
- package/esm2022/core/pipes/time.pipe.mjs +115 -0
- package/esm2022/core/pipes/timezone-display.pipe.mjs +21 -0
- package/esm2022/core/public-api.mjs +17 -0
- package/esm2022/core/services/aui-paginator-intl.service.mjs +26 -0
- package/esm2022/core/services/aui-tooltip-copy-intl.service.mjs +24 -0
- package/esm2022/core/services/context.service.mjs +48 -0
- package/esm2022/core/services/custom-code-editor-intl.service.mjs +54 -0
- package/esm2022/core/services/feature-gate.service.mjs +73 -0
- package/esm2022/core/services/form-row-duplicate/form-row-duplicate.service.mjs +280 -0
- package/esm2022/core/services/intercept-deactivate.service.mjs +78 -0
- package/esm2022/core/services/k8s-util.service.mjs +179 -0
- package/esm2022/core/services/on-resize.service.mjs +52 -0
- package/esm2022/core/services/public-api.mjs +15 -0
- package/esm2022/core/services/silently-navigate.service.mjs +28 -0
- package/esm2022/core/services/time.service.mjs +46 -0
- package/esm2022/core/services/ui-state.service.mjs +68 -0
- package/esm2022/core/services/workspace-helper.service.mjs +21 -0
- package/esm2022/core/services/yaml-util.service.mjs +98 -0
- package/esm2022/core/types/commons.mjs +6 -0
- package/esm2022/core/types/helpers.mjs +12 -0
- package/esm2022/core/types/k8s/core.mjs +2 -0
- package/esm2022/core/types/k8s/crd.mjs +41 -0
- package/esm2022/core/types/k8s/public-api.mjs +4 -0
- package/esm2022/core/types/k8s/raw.mjs +124 -0
- package/esm2022/core/types/public-api.mjs +11 -0
- package/esm2022/core/types/resource-definitions.mjs +423 -0
- package/esm2022/core/types/schema.mjs +2 -0
- package/esm2022/core/utils/browser.mjs +19 -0
- package/esm2022/core/utils/cache-store.mjs +55 -0
- package/esm2022/core/utils/color-helpers.mjs +6 -0
- package/esm2022/core/utils/common.mjs +313 -0
- package/esm2022/core/utils/create-recursive-filter.mjs +57 -0
- package/esm2022/core/utils/cron-util.mjs +44 -0
- package/esm2022/core/utils/decorators.mjs +137 -0
- package/esm2022/core/utils/format-number.mjs +229 -0
- package/esm2022/core/utils/k8s-util.mjs +99 -0
- package/esm2022/core/utils/local-storage-constants.mjs +2 -0
- package/esm2022/core/utils/node.mjs +18 -0
- package/esm2022/core/utils/observable.mjs +32 -0
- package/esm2022/core/utils/operators.mjs +32 -0
- package/esm2022/core/utils/public-api.mjs +23 -0
- package/esm2022/core/utils/request-pool.mjs +37 -0
- package/esm2022/core/utils/resources.mjs +66 -0
- package/esm2022/core/utils/sort-fn.mjs +7 -0
- package/esm2022/core/utils/tree.mjs +79 -0
- package/esm2022/core/utils/unit.mjs +187 -0
- package/esm2022/core/utils/version.mjs +76 -0
- package/esm2022/core/utils/with-load-state.mjs +21 -0
- package/esm2022/core/utils/workspace.mjs +59 -0
- package/esm2022/core/utils/yaml.mjs +54 -0
- package/esm2022/custom-columns-setting/component.mjs +107 -0
- package/esm2022/custom-columns-setting/public-api.mjs +2 -0
- package/esm2022/disabled-container/disabled-container.component.mjs +88 -0
- package/esm2022/disabled-container/disabled-container.module.mjs +28 -0
- package/esm2022/disabled-container/public-api.mjs +9 -0
- package/esm2022/editable-text/component.mjs +96 -0
- package/esm2022/editable-text/module.mjs +44 -0
- package/esm2022/editable-text/public-api.mjs +3 -0
- package/esm2022/effect-directive/coerce-number.directive.mjs +57 -0
- package/esm2022/effect-directive/e2e-attribute-binding.directive.mjs +57 -0
- package/esm2022/effect-directive/event.directive.mjs +56 -0
- package/esm2022/effect-directive/min-max.directive.mjs +111 -0
- package/esm2022/effect-directive/module.mjs +46 -0
- package/esm2022/effect-directive/public-api.mjs +8 -0
- package/esm2022/effect-directive/trim.directive.mjs +43 -0
- package/esm2022/effect-directive/validators.directive.mjs +43 -0
- package/esm2022/errors-mapper/base-errors-mapper.mjs +42 -0
- package/esm2022/errors-mapper/default-errors-mapper.service.mjs +65 -0
- package/esm2022/errors-mapper/errors-mapper-component/component.mjs +71 -0
- package/esm2022/errors-mapper/errors-mapper.directive.mjs +115 -0
- package/esm2022/errors-mapper/errors-mapper.module.mjs +18 -0
- package/esm2022/errors-mapper/public-api.mjs +5 -0
- package/esm2022/errors-mapper/types.mjs +2 -0
- package/esm2022/exec/constants.mjs +64 -0
- package/esm2022/exec/module.mjs +82 -0
- package/esm2022/exec/placeholder/component.mjs +42 -0
- package/esm2022/exec/public-api.mjs +8 -0
- package/esm2022/exec/service.mjs +37 -0
- package/esm2022/exec/terminal/component.mjs +567 -0
- package/esm2022/exec/terminal-group/component.mjs +206 -0
- package/esm2022/exec/types.mjs +2 -0
- package/esm2022/feature-gate-forbidden/component/component.mjs +36 -0
- package/esm2022/feature-gate-forbidden/module.mjs +28 -0
- package/esm2022/feature-gate-forbidden/public-api.mjs +3 -0
- package/esm2022/form/labels-editor/component.mjs +239 -0
- package/esm2022/form/public-api.mjs +5 -0
- package/esm2022/form/taints-editor/component.mjs +210 -0
- package/esm2022/form/utils.mjs +61 -0
- package/esm2022/form/validators/async-function-validator.directive.mjs +48 -0
- package/esm2022/form/validators/dns1123-subdomain.mjs +42 -0
- package/esm2022/form/validators/function-validator.directive.mjs +48 -0
- package/esm2022/form/validators/maxlength-minlength-validator.directive.mjs +69 -0
- package/esm2022/form/validators/module.mjs +42 -0
- package/esm2022/form/validators/not-be-validator.directive.mjs +55 -0
- package/esm2022/form/validators/one-of-validator.directive.mjs +56 -0
- package/esm2022/form/validators/public-api.mjs +11 -0
- package/esm2022/form/validators/resource-limit.mjs +79 -0
- package/esm2022/form/validators/strong-password/public-api.mjs +4 -0
- package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +102 -0
- package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +172 -0
- package/esm2022/form/validators/strong-password/strong-password-validator.module.mjs +42 -0
- package/esm2022/form/validators/utils.mjs +107 -0
- package/esm2022/graph-canvas/components/graph-actions.component.mjs +48 -0
- package/esm2022/graph-canvas/components/graph-canvas.component.mjs +357 -0
- package/esm2022/graph-canvas/components/graph-link.component.mjs +146 -0
- package/esm2022/graph-canvas/components/graph-links.component.mjs +19 -0
- package/esm2022/graph-canvas/components/graph-node.directive.mjs +30 -0
- package/esm2022/graph-canvas/graph-canvas.module.mjs +49 -0
- package/esm2022/graph-canvas/graph-store.service.mjs +56 -0
- package/esm2022/graph-canvas/public-api.mjs +8 -0
- package/esm2022/graph-canvas/types.mjs +2 -0
- package/esm2022/graph-canvas/utils.mjs +16 -0
- package/esm2022/grid-layout/components/grid/component.mjs +286 -0
- package/esm2022/grid-layout/components/grid-items/component.mjs +228 -0
- package/esm2022/grid-layout/constant.mjs +7 -0
- package/esm2022/grid-layout/directives/drag-handler.directive.mjs +29 -0
- package/esm2022/grid-layout/directives/placeholder.directive.mjs +36 -0
- package/esm2022/grid-layout/directives/remove-handler.directive.mjs +22 -0
- package/esm2022/grid-layout/directives/resize-handler.directive.mjs +29 -0
- package/esm2022/grid-layout/grid-layout.service.mjs +85 -0
- package/esm2022/grid-layout/grid-placeholder.service.mjs +45 -0
- package/esm2022/grid-layout/module.mjs +38 -0
- package/esm2022/grid-layout/public-api.mjs +11 -0
- package/esm2022/grid-layout/type.mjs +6 -0
- package/esm2022/grid-layout/utils/client-rect.utils.mjs +12 -0
- package/esm2022/grid-layout/utils/grid.utils.mjs +247 -0
- package/esm2022/grid-layout/utils/mouse.utils.mjs +50 -0
- package/esm2022/grid-layout/utils/operator.mjs +6 -0
- package/esm2022/grid-layout/utils/react-grid-layout.utils.mjs +471 -0
- package/esm2022/grid-layout/utils/scroll.utils.mjs +209 -0
- package/esm2022/help-document/component.mjs +101 -0
- package/esm2022/help-document/directive.mjs +141 -0
- package/esm2022/help-document/module.mjs +46 -0
- package/esm2022/help-document/public-api.mjs +10 -0
- package/esm2022/help-document/service.mjs +60 -0
- package/esm2022/iframe-config/config.service.mjs +49 -0
- package/esm2022/iframe-config/constants.mjs +8 -0
- package/esm2022/iframe-config/public-api.mjs +9 -0
- package/esm2022/k8s-resource-list/footer/component.mjs +331 -0
- package/esm2022/k8s-resource-list/k8s-resource-list.mjs +226 -0
- package/esm2022/k8s-resource-list/k8s-resource-list.module.mjs +43 -0
- package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +175 -0
- package/esm2022/k8s-resource-list/public-api.mjs +13 -0
- package/esm2022/k8s-resource-list/types.mjs +11 -0
- package/esm2022/k8s-resource-list/utils.mjs +81 -0
- package/esm2022/k8s-shared/k8s-shared-util.service.mjs +152 -0
- package/esm2022/k8s-shared/public-api.mjs +10 -0
- package/esm2022/k8s-shared/update-description-dialog/component.mjs +112 -0
- package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +133 -0
- package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +111 -0
- package/esm2022/license/license-api.mjs +55 -0
- package/esm2022/license/license-error/component.mjs +113 -0
- package/esm2022/license/license-error/module.mjs +55 -0
- package/esm2022/license/license.guard.mjs +54 -0
- package/esm2022/license/license.service.mjs +53 -0
- package/esm2022/license/license.type.mjs +24 -0
- package/esm2022/license/public-api.mjs +12 -0
- package/esm2022/metric-chart/common-chart.service.mjs +77 -0
- package/esm2022/metric-chart/helpers.mjs +111 -0
- package/esm2022/metric-chart/metric-chart.component.mjs +346 -0
- package/esm2022/metric-chart/metric-chart.module.mjs +61 -0
- package/esm2022/metric-chart/metric-time-pick.mjs +114 -0
- package/esm2022/metric-chart/public-api.mjs +13 -0
- package/esm2022/metric-chart/types.mjs +2 -0
- package/esm2022/metric-chart/utils.mjs +220 -0
- package/esm2022/multi-search/action-input/component.mjs +1055 -0
- package/esm2022/multi-search/form/component.mjs +379 -0
- package/esm2022/multi-search/multi-search-tags/component.mjs +129 -0
- package/esm2022/multi-search/public-api.mjs +5 -0
- package/esm2022/multi-search/types.mjs +2 -0
- package/esm2022/multi-search/utils.mjs +48 -0
- package/esm2022/mutable/element.mjs +23 -0
- package/esm2022/mutable/mosaic/mosaic.component.mjs +98 -0
- package/esm2022/mutable/mosaic/mosaic.directive.mjs +23 -0
- package/esm2022/mutable/mutable.directive.mjs +356 -0
- package/esm2022/mutable/mutable.module.mjs +41 -0
- package/esm2022/mutable/public-api.mjs +6 -0
- package/esm2022/mutable/util.mjs +16 -0
- package/esm2022/notification/errors-mapper.mjs +28 -0
- package/esm2022/notification/feedback-notification/component.mjs +95 -0
- package/esm2022/notification/helpers.mjs +4 -0
- package/esm2022/notification/notification-util.module.mjs +32 -0
- package/esm2022/notification/notification-util.service.mjs +156 -0
- package/esm2022/notification/public-api.mjs +13 -0
- package/esm2022/notification/resource-error.interceptor.mjs +60 -0
- package/esm2022/overview-banner/overview-banner.component.mjs +34 -0
- package/esm2022/overview-banner/overview-banner.module.mjs +20 -0
- package/esm2022/overview-banner/overview-banner.types.mjs +2 -0
- package/esm2022/overview-banner/public-api.mjs +4 -0
- package/esm2022/page-guard/component/component.mjs +295 -0
- package/esm2022/page-guard/component/helper-directives.mjs +51 -0
- package/esm2022/page-guard/component/page-guard.type.mjs +82 -0
- package/esm2022/page-guard/module.mjs +37 -0
- package/esm2022/page-guard/public-api.mjs +11 -0
- package/esm2022/page-scaffold/module.mjs +21 -0
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.mjs +26 -0
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +266 -0
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.service.mjs +27 -0
- package/esm2022/page-scaffold/navigation/breadcrumb/module.mjs +44 -0
- package/esm2022/page-scaffold/navigation/breadcrumb/public-api.mjs +5 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animation-data.mjs +113 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/alarm.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/app.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/application.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/artifactory.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/audit.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/auxiliary_function.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/backup.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/bar_chart.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/bill.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/catalog.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/certificate.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/ci.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/code.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/data_service.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/devops.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/devops_tools.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/events.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/file.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/gateway.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/gitops.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/inspection.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/internet.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/kafka.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/log.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/member.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/mongodb.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/monitor.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/mysql.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/namespace.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/notice.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/oam.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/operation_center.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/params_template.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/pipeline.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/platform_settings.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/postgresql.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/product.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/proj.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/rabbitmq.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/redis.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/resource_list.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/rocketmq.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/scrum.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/secrets.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/security.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/server.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/service_mesh.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/sitemap.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/sliders_up.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/storage.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/test_management.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/topology.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/user_role.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/view_jaeger.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/virtualization.json +1 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/lottie-icon.directive.mjs +91 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/module.mjs +17 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/public-api.mjs +3 -0
- package/esm2022/page-scaffold/navigation/lottie-icons/replace-lottie-colors.mjs +70 -0
- package/esm2022/page-scaffold/navigation/module.mjs +18 -0
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +443 -0
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.mjs +83 -0
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +185 -0
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.module.mjs +63 -0
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.types.mjs +2 -0
- package/esm2022/page-scaffold/navigation/nav-menu/public-api.mjs +4 -0
- package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +175 -0
- package/esm2022/page-scaffold/navigation/navconfig-loader/public-api.mjs +8 -0
- package/esm2022/page-scaffold/navigation/public-api.mjs +7 -0
- package/esm2022/page-scaffold/navigation/utils.mjs +12 -0
- package/esm2022/page-scaffold/page/context.service.mjs +22 -0
- package/esm2022/page-scaffold/page/helper-directives.mjs +66 -0
- package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +152 -0
- package/esm2022/page-scaffold/page/notices/notice.component.mjs +129 -0
- package/esm2022/page-scaffold/page/page.component.mjs +148 -0
- package/esm2022/page-scaffold/page/page.module.mjs +67 -0
- package/esm2022/page-scaffold/page/public-api.mjs +5 -0
- package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +199 -0
- package/esm2022/page-scaffold/page-header/account-menu/module.mjs +43 -0
- package/esm2022/page-scaffold/page-header/account-menu/public-api.mjs +8 -0
- package/esm2022/page-scaffold/page-header/common-layout/common-layout.module.mjs +75 -0
- package/esm2022/page-scaffold/page-header/common-layout/context.service.mjs +86 -0
- package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +270 -0
- package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +272 -0
- package/esm2022/page-scaffold/page-header/common-layout/product-select/service.mjs +19 -0
- package/esm2022/page-scaffold/page-header/common-layout/project-select/base-selection.mjs +122 -0
- package/esm2022/page-scaffold/page-header/common-layout/public-api.mjs +14 -0
- package/esm2022/page-scaffold/page-header/common-layout/store.service.mjs +58 -0
- package/esm2022/page-scaffold/page-header/common-layout/utils.mjs +7 -0
- package/esm2022/page-scaffold/page-header/component.mjs +104 -0
- package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +131 -0
- package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +136 -0
- package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +95 -0
- package/esm2022/page-scaffold/page-header/header-notify/header-notify.module.mjs +71 -0
- package/esm2022/page-scaffold/page-header/header-notify/notify.service.mjs +282 -0
- package/esm2022/page-scaffold/page-header/header-notify/public-api.mjs +10 -0
- package/esm2022/page-scaffold/page-header/header-notify/utils.mjs +44 -0
- package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +306 -0
- package/esm2022/page-scaffold/page-header/help-menu/module.mjs +65 -0
- package/esm2022/page-scaffold/page-header/help-menu/public-api.mjs +8 -0
- package/esm2022/page-scaffold/page-header/module.mjs +61 -0
- package/esm2022/page-scaffold/page-header/public-api.mjs +14 -0
- package/esm2022/page-scaffold/public-api.mjs +5 -0
- package/esm2022/permission/constants.mjs +2 -0
- package/esm2022/permission/helpers.mjs +40 -0
- package/esm2022/permission/k8s-permission.service.mjs +109 -0
- package/esm2022/permission/permission.guard.mjs +108 -0
- package/esm2022/permission/public-api.mjs +12 -0
- package/esm2022/permission/types.mjs +38 -0
- package/esm2022/pie-derivative-chart/donut-status/component.mjs +195 -0
- package/esm2022/pie-derivative-chart/indicator-color.directive.mjs +30 -0
- package/esm2022/pie-derivative-chart/numerical-limit.pipe.mjs +26 -0
- package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +67 -0
- package/esm2022/pie-derivative-chart/public-api.mjs +11 -0
- package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +244 -0
- package/esm2022/public-api.mjs +45 -0
- package/esm2022/scm/declare.directive.mjs +27 -0
- package/esm2022/scm/password-input/component.mjs +261 -0
- package/esm2022/scm/password-input/module.mjs +68 -0
- package/esm2022/scm/password-input/public-api.mjs +3 -0
- package/esm2022/scm/public-api.mjs +10 -0
- package/esm2022/scm/pure-pipe/calc.pipe.mjs +21 -0
- package/esm2022/scm/pure-pipe/module.mjs +18 -0
- package/esm2022/scm/pure-pipe/public-api.mjs +4 -0
- package/esm2022/scm/pure-pipe/pure.pipe.mjs +26 -0
- package/esm2022/scm/resource-multi-select/component.mjs +212 -0
- package/esm2022/scm/resource-multi-select/util.mjs +24 -0
- package/esm2022/scm/search-panel/component.mjs +86 -0
- package/esm2022/scm/search-panel/helper.directive.mjs +14 -0
- package/esm2022/scm/search-panel/search-item/component.mjs +28 -0
- package/esm2022/scm/text-ellipsis/component.mjs +55 -0
- package/esm2022/searchable-selector/component.mjs +277 -0
- package/esm2022/searchable-selector/module.mjs +63 -0
- package/esm2022/searchable-selector/public-api.mjs +3 -0
- package/esm2022/skeleton/item/component.mjs +44 -0
- package/esm2022/skeleton/module.mjs +26 -0
- package/esm2022/skeleton/nav-skeleton/component.mjs +35 -0
- package/esm2022/skeleton/public-api.mjs +4 -0
- package/esm2022/table/component.mjs +821 -0
- package/esm2022/table/constants.mjs +4 -0
- package/esm2022/table/helper.mjs +16 -0
- package/esm2022/table/helpers.directive.mjs +18 -0
- package/esm2022/table/module.mjs +82 -0
- package/esm2022/table/public-api.mjs +7 -0
- package/esm2022/table/types.mjs +2 -0
- package/esm2022/table/util.service.mjs +81 -0
- package/esm2022/translate/constants.mjs +13 -0
- package/esm2022/translate/en.json +559 -0
- package/esm2022/translate/helpers.mjs +22 -0
- package/esm2022/translate/pick-locale.pipe.mjs +34 -0
- package/esm2022/translate/public-api.mjs +16 -0
- package/esm2022/translate/tokens.mjs +13 -0
- package/esm2022/translate/translate.directive.mjs +164 -0
- package/esm2022/translate/translate.module.mjs +91 -0
- package/esm2022/translate/translate.pipe.mjs +72 -0
- package/esm2022/translate/translate.service.mjs +327 -0
- package/esm2022/translate/types.mjs +6 -0
- package/esm2022/translate/zh.json +559 -0
- package/esm2022/view-chart/custom-template/dropdown-legend.mjs +115 -0
- package/esm2022/view-chart/legend/legend.component.mjs +263 -0
- package/esm2022/view-chart/public-api.mjs +9 -0
- package/esm2022/view-chart/types.mjs +2 -0
- package/esm2022/view-chart/view-chart.component.mjs +845 -0
- package/esm2022/view-chart/view-chart.module.mjs +63 -0
- package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +115 -0
- package/esm2022/view-zchart/legend/legend.component.mjs +270 -0
- package/esm2022/view-zchart/public-api.mjs +8 -0
- package/esm2022/view-zchart/types.mjs +2 -0
- package/esm2022/view-zchart/units.mjs +28 -0
- package/esm2022/view-zchart/view-zchart.component.mjs +1004 -0
- package/esm2022/view-zchart/view-zchart.module.mjs +63 -0
- package/esm2022/widget/card-section/card-section.component.mjs +33 -0
- package/esm2022/widget/confirm-delete/confirm-delete.component.mjs +342 -0
- package/esm2022/widget/confirm-delete/utils.mjs +8 -0
- package/esm2022/widget/current-time/component.mjs +42 -0
- package/esm2022/widget/date-range-picker/component.mjs +316 -0
- package/esm2022/widget/date-range-picker/public-api.mjs +4 -0
- package/esm2022/widget/date-range-picker/type.mjs +2 -0
- package/esm2022/widget/date-range-picker/util.mjs +57 -0
- package/esm2022/widget/field-set/column/component.mjs +34 -0
- package/esm2022/widget/field-set/group/component.mjs +22 -0
- package/esm2022/widget/field-set/index.mjs +14 -0
- package/esm2022/widget/field-set/item/component.mjs +60 -0
- package/esm2022/widget/foldable-block/component.mjs +109 -0
- package/esm2022/widget/foldable-item-in-table/component.mjs +126 -0
- package/esm2022/widget/loading-mask/loading-mask.component.mjs +75 -0
- package/esm2022/widget/public-api.mjs +19 -0
- package/esm2022/widget/relative-time/component.mjs +60 -0
- package/esm2022/widget/select-prefix-label/directive.mjs +89 -0
- package/esm2022/widget/status-icon/status-icon.component.mjs +102 -0
- package/esm2022/widget/tags-label/component.mjs +374 -0
- package/esm2022/widget/terminating-tag/component.mjs +27 -0
- package/esm2022/widget/text-tooltip/directive.mjs +73 -0
- package/esm2022/widget/text-with-url/component.mjs +76 -0
- package/esm2022/widget/widget.module.mjs +140 -0
- package/esm2022/widget/zero-state/zero-state.component.mjs +96 -0
- package/esm2022/window-channel/base-window-channel.mjs +38 -0
- package/esm2022/window-channel/directives/host-link.directive.mjs +43 -0
- package/esm2022/window-channel/host-window-channel.service.mjs +83 -0
- package/esm2022/window-channel/plugin-window-channel.service.mjs +38 -0
- package/esm2022/window-channel/public-api.mjs +5 -0
- package/esm2022/window-channel/utils.mjs +12 -0
- package/esm2022/xterm/public-api.mjs +4 -0
- package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +284 -0
- package/esm2022/xterm/xterm-terminal/xterm-terminal.directive.mjs +25 -0
- package/esm2022/xterm/xterm.component.mjs +131 -0
- package/exec/constants.d.ts +13 -0
- package/exec/module.d.ts +17 -0
- package/exec/placeholder/component.d.ts +20 -0
- package/exec/public-api.d.ts +7 -0
- package/exec/service.d.ts +12 -0
- package/exec/terminal/component.d.ts +95 -0
- package/exec/terminal-group/component.d.ts +41 -0
- package/exec/types.d.ts +14 -0
- package/feature-gate-forbidden/component/component.d.ts +6 -0
- package/feature-gate-forbidden/module.d.ts +11 -0
- package/feature-gate-forbidden/public-api.d.ts +2 -0
- package/form/labels-editor/component.d.ts +31 -0
- package/form/public-api.d.ts +4 -0
- package/form/taints-editor/component.d.ts +22 -0
- package/form/utils.d.ts +40 -0
- package/form/validators/async-function-validator.directive.d.ts +11 -0
- package/form/validators/dns1123-subdomain.d.ts +28 -0
- package/form/validators/function-validator.directive.d.ts +11 -0
- package/form/validators/maxlength-minlength-validator.directive.d.ts +20 -0
- package/form/validators/module.d.ts +13 -0
- package/form/validators/not-be-validator.directive.d.ts +12 -0
- package/form/validators/one-of-validator.directive.d.ts +12 -0
- package/form/validators/public-api.d.ts +10 -0
- package/form/validators/resource-limit.d.ts +16 -0
- package/form/validators/strong-password/public-api.d.ts +3 -0
- package/form/validators/strong-password/strong-password-tooltip/component.d.ts +6 -0
- package/form/validators/strong-password/strong-password-validator.directive.d.ts +34 -0
- package/form/validators/strong-password/strong-password-validator.module.d.ts +12 -0
- package/form/validators/utils.d.ts +57 -0
- package/graph-canvas/components/graph-actions.component.d.ts +8 -0
- package/graph-canvas/components/graph-canvas.component.d.ts +48 -0
- package/graph-canvas/components/graph-link.component.d.ts +26 -0
- package/graph-canvas/components/graph-links.component.d.ts +5 -0
- package/graph-canvas/components/graph-node.directive.d.ts +15 -0
- package/graph-canvas/graph-canvas.module.d.ts +14 -0
- package/graph-canvas/graph-store.service.d.ts +21 -0
- package/graph-canvas/public-api.d.ts +7 -0
- package/graph-canvas/types.d.ts +32 -0
- package/graph-canvas/utils.d.ts +2 -0
- package/grid-layout/components/grid/component.d.ts +53 -0
- package/grid-layout/components/grid-items/component.d.ts +56 -0
- package/grid-layout/constant.d.ts +3 -0
- package/grid-layout/directives/drag-handler.directive.d.ts +11 -0
- package/grid-layout/directives/placeholder.directive.d.ts +12 -0
- package/grid-layout/directives/remove-handler.directive.d.ts +9 -0
- package/grid-layout/directives/resize-handler.directive.d.ts +11 -0
- package/grid-layout/grid-layout.service.d.ts +49 -0
- package/grid-layout/grid-placeholder.service.d.ts +17 -0
- package/grid-layout/module.d.ts +14 -0
- package/grid-layout/public-api.d.ts +10 -0
- package/grid-layout/type.d.ts +65 -0
- package/grid-layout/utils/client-rect.utils.d.ts +2 -0
- package/grid-layout/utils/grid.utils.d.ts +30 -0
- package/grid-layout/utils/mouse.utils.d.ts +24 -0
- package/grid-layout/utils/operator.d.ts +3 -0
- package/grid-layout/utils/react-grid-layout.utils.d.ts +171 -0
- package/grid-layout/utils/scroll.utils.d.ts +28 -0
- package/help-document/component.d.ts +29 -0
- package/help-document/directive.d.ts +47 -0
- package/help-document/module.d.ts +13 -0
- package/help-document/public-api.d.ts +9 -0
- package/help-document/service.d.ts +30 -0
- package/iframe-config/config.service.d.ts +20 -0
- package/iframe-config/constants.d.ts +7 -0
- package/iframe-config/public-api.d.ts +8 -0
- package/index.d.ts +5 -0
- package/k8s-resource-list/footer/component.d.ts +37 -0
- package/k8s-resource-list/k8s-resource-list.d.ts +42 -0
- package/k8s-resource-list/k8s-resource-list.module.d.ts +10 -0
- package/k8s-resource-list/k8s-resource-paged-list.d.ts +61 -0
- package/k8s-resource-list/public-api.d.ts +12 -0
- package/k8s-resource-list/types.d.ts +70 -0
- package/k8s-resource-list/utils.d.ts +19 -0
- package/k8s-shared/k8s-shared-util.service.d.ts +40 -0
- package/k8s-shared/public-api.d.ts +9 -0
- package/k8s-shared/update-description-dialog/component.d.ts +25 -0
- package/k8s-shared/update-display-name-dialog/component.d.ts +27 -0
- package/k8s-shared/update-key-value-dialog/component.d.ts +39 -0
- package/license/license-api.d.ts +19 -0
- package/license/license-error/component.d.ts +33 -0
- package/license/license-error/module.d.ts +13 -0
- package/license/license.guard.d.ts +23 -0
- package/license/license.service.d.ts +21 -0
- package/license/license.type.d.ts +19 -0
- package/license/public-api.d.ts +11 -0
- package/metric-chart/common-chart.service.d.ts +30 -0
- package/metric-chart/helpers.d.ts +54 -0
- package/metric-chart/metric-chart.component.d.ts +116 -0
- package/metric-chart/metric-chart.module.d.ts +14 -0
- package/metric-chart/metric-time-pick.d.ts +12 -0
- package/metric-chart/public-api.d.ts +12 -0
- package/metric-chart/types.d.ts +69 -0
- package/metric-chart/utils.d.ts +86 -0
- package/multi-search/action-input/component.d.ts +119 -0
- package/multi-search/form/component.d.ts +63 -0
- package/multi-search/multi-search-tags/component.d.ts +26 -0
- package/multi-search/public-api.d.ts +4 -0
- package/multi-search/types.d.ts +32 -0
- package/multi-search/utils.d.ts +24 -0
- package/mutable/element.d.ts +10 -0
- package/mutable/mosaic/mosaic.component.d.ts +32 -0
- package/mutable/mosaic/mosaic.directive.d.ts +9 -0
- package/mutable/mutable.directive.d.ts +83 -0
- package/mutable/mutable.module.d.ts +10 -0
- package/mutable/public-api.d.ts +5 -0
- package/mutable/util.d.ts +18 -0
- package/notification/errors-mapper.d.ts +7 -0
- package/notification/feedback-notification/component.d.ts +17 -0
- package/notification/helpers.d.ts +2 -0
- package/notification/notification-util.module.d.ts +10 -0
- package/notification/notification-util.service.d.ts +39 -0
- package/notification/public-api.d.ts +12 -0
- package/notification/resource-error.interceptor.d.ts +21 -0
- package/overview-banner/overview-banner.component.d.ts +7 -0
- package/overview-banner/overview-banner.module.d.ts +9 -0
- package/overview-banner/overview-banner.types.d.ts +5 -0
- package/overview-banner/public-api.d.ts +3 -0
- package/package.json +65 -0
- package/page-guard/component/component.d.ts +40 -0
- package/page-guard/component/helper-directives.d.ts +17 -0
- package/page-guard/component/page-guard.type.d.ts +86 -0
- package/page-guard/module.d.ts +11 -0
- package/page-guard/public-api.d.ts +10 -0
- package/page-scaffold/module.d.ts +10 -0
- package/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.d.ts +12 -0
- package/page-scaffold/navigation/breadcrumb/breadcrumb.component.d.ts +40 -0
- package/page-scaffold/navigation/breadcrumb/breadcrumb.service.d.ts +13 -0
- package/page-scaffold/navigation/breadcrumb/module.d.ts +13 -0
- package/page-scaffold/navigation/breadcrumb/public-api.d.ts +4 -0
- package/page-scaffold/navigation/lottie-icons/animation-data.d.ts +2 -0
- package/page-scaffold/navigation/lottie-icons/lottie-icon.directive.d.ts +24 -0
- package/page-scaffold/navigation/lottie-icons/module.d.ts +7 -0
- package/page-scaffold/navigation/lottie-icons/public-api.d.ts +2 -0
- package/page-scaffold/navigation/lottie-icons/replace-lottie-colors.d.ts +1 -0
- package/page-scaffold/navigation/module.d.ts +7 -0
- package/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.d.ts +52 -0
- package/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.d.ts +10 -0
- package/page-scaffold/navigation/nav-menu/nav-menu.component.d.ts +47 -0
- package/page-scaffold/navigation/nav-menu/nav-menu.module.d.ts +16 -0
- package/page-scaffold/navigation/nav-menu/nav-menu.types.d.ts +21 -0
- package/page-scaffold/navigation/nav-menu/public-api.d.ts +3 -0
- package/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.d.ts +61 -0
- package/page-scaffold/navigation/navconfig-loader/public-api.d.ts +7 -0
- package/page-scaffold/navigation/public-api.d.ts +6 -0
- package/page-scaffold/navigation/utils.d.ts +11 -0
- package/page-scaffold/page/context.service.d.ts +9 -0
- package/page-scaffold/page/helper-directives.d.ts +30 -0
- package/page-scaffold/page/notices/maintenance.component.d.ts +26 -0
- package/page-scaffold/page/notices/notice.component.d.ts +22 -0
- package/page-scaffold/page/page.component.d.ts +24 -0
- package/page-scaffold/page/page.module.d.ts +14 -0
- package/page-scaffold/page/public-api.d.ts +4 -0
- package/page-scaffold/page-header/account-menu/component/component.d.ts +38 -0
- package/page-scaffold/page-header/account-menu/module.d.ts +10 -0
- package/page-scaffold/page-header/account-menu/public-api.d.ts +7 -0
- package/page-scaffold/page-header/common-layout/common-layout.module.d.ts +16 -0
- package/page-scaffold/page-header/common-layout/context.service.d.ts +51 -0
- package/page-scaffold/page-header/common-layout/namespace-select/component.d.ts +49 -0
- package/page-scaffold/page-header/common-layout/product-select/component.d.ts +38 -0
- package/page-scaffold/page-header/common-layout/product-select/service.d.ts +9 -0
- package/page-scaffold/page-header/common-layout/project-select/base-selection.d.ts +24 -0
- package/page-scaffold/page-header/common-layout/public-api.d.ts +13 -0
- package/page-scaffold/page-header/common-layout/store.service.d.ts +31 -0
- package/page-scaffold/page-header/common-layout/utils.d.ts +2 -0
- package/page-scaffold/page-header/component.d.ts +21 -0
- package/page-scaffold/page-header/enterprise-support-status/component.d.ts +24 -0
- package/page-scaffold/page-header/header-notify/component/header-notify.component.d.ts +27 -0
- package/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.d.ts +19 -0
- package/page-scaffold/page-header/header-notify/header-notify.module.d.ts +14 -0
- package/page-scaffold/page-header/header-notify/notify.service.d.ts +60 -0
- package/page-scaffold/page-header/header-notify/public-api.d.ts +9 -0
- package/page-scaffold/page-header/header-notify/utils.d.ts +35 -0
- package/page-scaffold/page-header/help-menu/component/component.d.ts +45 -0
- package/page-scaffold/page-header/help-menu/module.d.ts +13 -0
- package/page-scaffold/page-header/help-menu/public-api.d.ts +7 -0
- package/page-scaffold/page-header/module.d.ts +15 -0
- package/page-scaffold/page-header/public-api.d.ts +13 -0
- package/page-scaffold/public-api.d.ts +4 -0
- package/permission/constants.d.ts +1 -0
- package/permission/helpers.d.ts +2 -0
- package/permission/k8s-permission.service.d.ts +80 -0
- package/permission/permission.guard.d.ts +22 -0
- package/permission/public-api.d.ts +11 -0
- package/permission/types.d.ts +74 -0
- package/pie-derivative-chart/donut-status/component.d.ts +79 -0
- package/pie-derivative-chart/indicator-color.directive.d.ts +10 -0
- package/pie-derivative-chart/numerical-limit.pipe.d.ts +7 -0
- package/pie-derivative-chart/pie-derivative-chart.module.d.ts +15 -0
- package/pie-derivative-chart/public-api.d.ts +10 -0
- package/pie-derivative-chart/radial-bar/radial-bar-chart.component.d.ts +55 -0
- package/public-api.d.ts +44 -0
- package/scm/declare.directive.d.ts +8 -0
- package/scm/password-input/component.d.ts +39 -0
- package/scm/password-input/module.d.ts +14 -0
- package/scm/password-input/public-api.d.ts +2 -0
- package/scm/public-api.d.ts +9 -0
- package/scm/pure-pipe/calc.pipe.d.ts +11 -0
- package/scm/pure-pipe/module.d.ts +8 -0
- package/scm/pure-pipe/public-api.d.ts +3 -0
- package/scm/pure-pipe/pure.pipe.d.ts +17 -0
- package/scm/resource-multi-select/component.d.ts +41 -0
- package/scm/resource-multi-select/util.d.ts +10 -0
- package/scm/search-panel/component.d.ts +16 -0
- package/scm/search-panel/helper.directive.d.ts +5 -0
- package/scm/search-panel/search-item/component.d.ts +7 -0
- package/scm/text-ellipsis/component.d.ts +9 -0
- package/searchable-selector/component.d.ts +54 -0
- package/searchable-selector/module.d.ts +12 -0
- package/searchable-selector/public-api.d.ts +2 -0
- package/skeleton/item/component.d.ts +12 -0
- package/skeleton/module.d.ts +10 -0
- package/skeleton/nav-skeleton/component.d.ts +6 -0
- package/skeleton/public-api.d.ts +3 -0
- package/styles/global.scss +889 -0
- package/styles/markdown-body.scss +105 -0
- package/styles/mixins.scss +679 -0
- package/styles/reset-browser.scss +88 -0
- package/styles/tailwind-preset.scss +1 -0
- package/styles/var.scss +29 -0
- package/table/component.d.ts +84 -0
- package/table/constants.d.ts +3 -0
- package/table/helper.d.ts +2 -0
- package/table/helpers.directive.d.ts +21 -0
- package/table/module.d.ts +19 -0
- package/table/public-api.d.ts +6 -0
- package/table/types.d.ts +69 -0
- package/table/util.service.d.ts +13 -0
- package/translate/constants.d.ts +13 -0
- package/translate/helpers.d.ts +14 -0
- package/translate/pick-locale.pipe.d.ts +12 -0
- package/translate/public-api.d.ts +15 -0
- package/translate/tokens.d.ts +12 -0
- package/translate/translate.directive.d.ts +52 -0
- package/translate/translate.module.d.ts +1136 -0
- package/translate/translate.pipe.d.ts +25 -0
- package/translate/translate.service.d.ts +68 -0
- package/translate/types.d.ts +20 -0
- package/view-chart/custom-template/dropdown-legend.d.ts +11 -0
- package/view-chart/legend/legend.component.d.ts +36 -0
- package/view-chart/public-api.d.ts +8 -0
- package/view-chart/types.d.ts +37 -0
- package/view-chart/view-chart.component.d.ts +187 -0
- package/view-chart/view-chart.module.d.ts +15 -0
- package/view-zchart/custom-template/dropdown-legend.d.ts +11 -0
- package/view-zchart/legend/legend.component.d.ts +42 -0
- package/view-zchart/public-api.d.ts +7 -0
- package/view-zchart/types.d.ts +22 -0
- package/view-zchart/units.d.ts +2 -0
- package/view-zchart/view-zchart.component.d.ts +214 -0
- package/view-zchart/view-zchart.module.d.ts +15 -0
- package/widget/card-section/card-section.component.d.ts +7 -0
- package/widget/confirm-delete/confirm-delete.component.d.ts +57 -0
- package/widget/confirm-delete/utils.d.ts +25 -0
- package/widget/current-time/component.d.ts +14 -0
- package/widget/date-range-picker/component.d.ts +54 -0
- package/widget/date-range-picker/public-api.d.ts +3 -0
- package/widget/date-range-picker/type.d.ts +36 -0
- package/widget/date-range-picker/util.d.ts +11 -0
- package/widget/field-set/column/component.d.ts +10 -0
- package/widget/field-set/group/component.d.ts +6 -0
- package/widget/field-set/index.d.ts +7 -0
- package/widget/field-set/item/component.d.ts +13 -0
- package/widget/foldable-block/component.d.ts +17 -0
- package/widget/foldable-item-in-table/component.d.ts +22 -0
- package/widget/loading-mask/loading-mask.component.d.ts +13 -0
- package/widget/public-api.d.ts +18 -0
- package/widget/relative-time/component.d.ts +15 -0
- package/widget/select-prefix-label/directive.d.ts +17 -0
- package/widget/status-icon/status-icon.component.d.ts +16 -0
- package/widget/tags-label/component.d.ts +51 -0
- package/widget/terminating-tag/component.d.ts +7 -0
- package/widget/text-tooltip/directive.d.ts +21 -0
- package/widget/text-with-url/component.d.ts +12 -0
- package/widget/widget.module.d.ts +26 -0
- package/widget/zero-state/zero-state.component.d.ts +13 -0
- package/window-channel/base-window-channel.d.ts +9 -0
- package/window-channel/directives/host-link.directive.d.ts +11 -0
- package/window-channel/host-window-channel.service.d.ts +15 -0
- package/window-channel/plugin-window-channel.service.d.ts +10 -0
- package/window-channel/public-api.d.ts +4 -0
- package/window-channel/utils.d.ts +36 -0
- package/xterm/public-api.d.ts +3 -0
- package/xterm/xterm-terminal/xterm-terminal.component.d.ts +31 -0
- package/xterm/xterm-terminal/xterm-terminal.directive.d.ts +9 -0
- package/xterm/xterm.component.d.ts +28 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { map } from 'rxjs';
|
|
4
|
+
import { API_GATEWAY, NOT_NOTIFY_ON_ERROR_HEADERS } from '../core/public-api';
|
|
5
|
+
import { MATCH_UNIT_DEFAULT_BASE, adaptUnit } from './helpers';
|
|
6
|
+
import { dependOnDataSeries, dependOnIndicatorSeries } from './utils';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common/http";
|
|
9
|
+
const GLOBAL = 'global';
|
|
10
|
+
export class CommonChartService {
|
|
11
|
+
constructor(http) {
|
|
12
|
+
this.http = http;
|
|
13
|
+
this.handelChartData = (res, indicator, dependOnData) => dependOnData
|
|
14
|
+
? dependOnDataSeries(res, indicator) // 一个indicator 对应 单条series
|
|
15
|
+
: dependOnIndicatorSeries(res, indicator); // 一个indicator 对应 多条series
|
|
16
|
+
}
|
|
17
|
+
requestChartData({ cluster = GLOBAL, ...rest }, indicator) {
|
|
18
|
+
return this.http.post(`${API_GATEWAY}/v2/metrics/${cluster}/query_range`, {
|
|
19
|
+
...rest,
|
|
20
|
+
queries: indicator,
|
|
21
|
+
}, {
|
|
22
|
+
headers: NOT_NOTIFY_ON_ERROR_HEADERS,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
getPrometheusStatus(cluster = '.*') {
|
|
26
|
+
return this.http
|
|
27
|
+
.post(`${API_GATEWAY}/v2/metrics/${GLOBAL}/query`, {
|
|
28
|
+
time: Math.floor(Date.now() / 1000),
|
|
29
|
+
queries: [
|
|
30
|
+
{
|
|
31
|
+
id: 'notDeployed',
|
|
32
|
+
indicator: 'platform.cluster.prometheus.not.deployed',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: 'abnormal',
|
|
36
|
+
indicator: 'platform.cluster.prometheus.down',
|
|
37
|
+
},
|
|
38
|
+
].map(item => ({
|
|
39
|
+
...item,
|
|
40
|
+
variables: {
|
|
41
|
+
cluster,
|
|
42
|
+
},
|
|
43
|
+
})),
|
|
44
|
+
}, {
|
|
45
|
+
headers: NOT_NOTIFY_ON_ERROR_HEADERS,
|
|
46
|
+
})
|
|
47
|
+
.pipe(map(res => res.reduce((acc, pre) => {
|
|
48
|
+
const notDeployed = res.find(d => d.id === 'notDeployed').result.length > 0;
|
|
49
|
+
return {
|
|
50
|
+
...acc,
|
|
51
|
+
notDeployed,
|
|
52
|
+
...(pre.id === 'abnormal' && !notDeployed
|
|
53
|
+
? { abnormal: pre.result.length > 0 }
|
|
54
|
+
: {}),
|
|
55
|
+
};
|
|
56
|
+
}, {
|
|
57
|
+
notDeployed: false,
|
|
58
|
+
abnormal: false,
|
|
59
|
+
})));
|
|
60
|
+
}
|
|
61
|
+
adaptChartUnit(data, adaptUnitParams) {
|
|
62
|
+
let base = MATCH_UNIT_DEFAULT_BASE;
|
|
63
|
+
if (typeof adaptUnitParams === 'object' && adaptUnitParams?.base) {
|
|
64
|
+
base = adaptUnitParams.base;
|
|
65
|
+
}
|
|
66
|
+
const { unit, exponent, base: _base, } = adaptUnit(data, (adaptUnitParams === true
|
|
67
|
+
? undefined
|
|
68
|
+
: adaptUnitParams));
|
|
69
|
+
return { base: _base || base, exponent, unit };
|
|
70
|
+
}
|
|
71
|
+
static { this.ɵfac = function CommonChartService_Factory(t) { return new (t || CommonChartService)(i0.ɵɵinject(i1.HttpClient)); }; }
|
|
72
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CommonChartService, factory: CommonChartService.ɵfac }); }
|
|
73
|
+
}
|
|
74
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CommonChartService, [{
|
|
75
|
+
type: Injectable
|
|
76
|
+
}], function () { return [{ type: i1.HttpClient }]; }, null); })();
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWNoYXJ0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvbWV0cmljLWNoYXJ0L2NvbW1vbi1jaGFydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0IsT0FBTyxFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBbUIsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBRXRFLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQztBQUV4QixNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQTRCLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFtRTVDLG9CQUFlLEdBQUcsQ0FDaEIsR0FBbUIsRUFDbkIsU0FBc0IsRUFDdEIsWUFBcUIsRUFDckIsRUFBRSxDQUNGLFlBQVk7WUFDVixDQUFDLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLDBCQUEwQjtZQUMvRCxDQUFDLENBQUMsdUJBQXVCLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsMEJBQTBCO0lBMUUxQixDQUFDO0lBRWhELGdCQUFnQixDQUNkLEVBQUUsT0FBTyxHQUFHLE1BQU0sRUFBRSxHQUFHLElBQUksRUFBbUIsRUFDOUMsU0FBc0I7UUFFdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkIsR0FBRyxXQUFXLGVBQWUsT0FBTyxjQUFjLEVBQ2xEO1lBQ0UsR0FBRyxJQUFJO1lBQ1AsT0FBTyxFQUFFLFNBQVM7U0FDbkIsRUFDRDtZQUNFLE9BQU8sRUFBRSwyQkFBMkI7U0FDckMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELG1CQUFtQixDQUFDLE9BQU8sR0FBRyxJQUFJO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixJQUFJLENBQ0gsR0FBRyxXQUFXLGVBQWUsTUFBTSxRQUFRLEVBQzNDO1lBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztZQUNuQyxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsRUFBRSxFQUFFLGFBQWE7b0JBQ2pCLFNBQVMsRUFBRSwwQ0FBMEM7aUJBQ3REO2dCQUNEO29CQUNFLEVBQUUsRUFBRSxVQUFVO29CQUNkLFNBQVMsRUFBRSxrQ0FBa0M7aUJBQzlDO2FBQ0YsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNiLEdBQUcsSUFBSTtnQkFDUCxTQUFTLEVBQUU7b0JBQ1QsT0FBTztpQkFDUjthQUNGLENBQUMsQ0FBQztTQUNKLEVBQ0Q7WUFDRSxPQUFPLEVBQUUsMkJBQTJCO1NBQ3JDLENBQ0Y7YUFDQSxJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQ1IsR0FBRyxDQUFDLE1BQU0sQ0FDUixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNYLE1BQU0sV0FBVyxHQUNmLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQzFELE9BQU87Z0JBQ0wsR0FBRyxHQUFHO2dCQUNOLFdBQVc7Z0JBQ1gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssVUFBVSxJQUFJLENBQUMsV0FBVztvQkFDdkMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDckMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzthQUNSLENBQUM7UUFDSixDQUFDLEVBQ0Q7WUFDRSxXQUFXLEVBQUUsS0FBSztZQUNsQixRQUFRLEVBQUUsS0FBSztTQUNoQixDQUNGLENBQ0YsQ0FDRixDQUFDO0lBQ04sQ0FBQztJQVdELGNBQWMsQ0FDWixJQUdFLEVBQ0YsZUFBMEM7UUFFMUMsSUFBSSxJQUFJLEdBQUcsdUJBQXVCLENBQUM7UUFDbkMsSUFBSSxPQUFPLGVBQWUsS0FBSyxRQUFRLElBQUksZUFBZSxFQUFFLElBQUksRUFBRTtZQUNoRSxJQUFJLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztTQUM3QjtRQUNELE1BQU0sRUFDSixJQUFJLEVBQ0osUUFBUSxFQUNSLElBQUksRUFBRSxLQUFLLEdBQ1osR0FBRyxTQUFTLENBQ1gsSUFBSSxFQUNKLENBQUMsZUFBZSxLQUFLLElBQUk7WUFDdkIsQ0FBQyxDQUFDLFNBQVM7WUFDWCxDQUFDLENBQUMsZUFBZSxDQUFvQixDQUN4QyxDQUFDO1FBQ0YsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLElBQUksSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNqRCxDQUFDO21GQW5HVSxrQkFBa0I7dUVBQWxCLGtCQUFrQixXQUFsQixrQkFBa0I7O3VGQUFsQixrQkFBa0I7Y0FEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQVBJX0dBVEVXQVksIE5PVF9OT1RJRllfT05fRVJST1JfSEVBREVSUyB9IGZyb20gJy4uL2NvcmUvcHVibGljLWFwaSc7XG5cbmltcG9ydCB7IE1BVENIX1VOSVRfREVGQVVMVF9CQVNFLCBNYXRjaFVuaXRQYXJhbXMsIGFkYXB0VW5pdCB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBJbmRpY2F0b3IsIE1ldHJpY0FwaVBhcmFtcywgTWV0cmljUmVzdWx0IH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBkZXBlbmRPbkRhdGFTZXJpZXMsIGRlcGVuZE9uSW5kaWNhdG9yU2VyaWVzIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IEdMT0JBTCA9ICdnbG9iYWwnO1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbW1vbkNoYXJ0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50KSB7fVxuXG4gIHJlcXVlc3RDaGFydERhdGEoXG4gICAgeyBjbHVzdGVyID0gR0xPQkFMLCAuLi5yZXN0IH06IE1ldHJpY0FwaVBhcmFtcyxcbiAgICBpbmRpY2F0b3I6IEluZGljYXRvcltdLFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TWV0cmljUmVzdWx0W10+KFxuICAgICAgYCR7QVBJX0dBVEVXQVl9L3YyL21ldHJpY3MvJHtjbHVzdGVyfS9xdWVyeV9yYW5nZWAsXG4gICAgICB7XG4gICAgICAgIC4uLnJlc3QsXG4gICAgICAgIHF1ZXJpZXM6IGluZGljYXRvcixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhlYWRlcnM6IE5PVF9OT1RJRllfT05fRVJST1JfSEVBREVSUyxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIGdldFByb21ldGhldXNTdGF0dXMoY2x1c3RlciA9ICcuKicpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdDxNZXRyaWNSZXN1bHRbXT4oXG4gICAgICAgIGAke0FQSV9HQVRFV0FZfS92Mi9tZXRyaWNzLyR7R0xPQkFMfS9xdWVyeWAsXG4gICAgICAgIHtcbiAgICAgICAgICB0aW1lOiBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKSxcbiAgICAgICAgICBxdWVyaWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnbm90RGVwbG95ZWQnLFxuICAgICAgICAgICAgICBpbmRpY2F0b3I6ICdwbGF0Zm9ybS5jbHVzdGVyLnByb21ldGhldXMubm90LmRlcGxveWVkJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnYWJub3JtYWwnLFxuICAgICAgICAgICAgICBpbmRpY2F0b3I6ICdwbGF0Zm9ybS5jbHVzdGVyLnByb21ldGhldXMuZG93bicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0ubWFwKGl0ZW0gPT4gKHtcbiAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgY2x1c3RlcixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaGVhZGVyczogTk9UX05PVElGWV9PTl9FUlJPUl9IRUFERVJTLFxuICAgICAgICB9LFxuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXMgPT5cbiAgICAgICAgICByZXMucmVkdWNlKFxuICAgICAgICAgICAgKGFjYywgcHJlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG5vdERlcGxveWVkID1cbiAgICAgICAgICAgICAgICByZXMuZmluZChkID0+IGQuaWQgPT09ICdub3REZXBsb3llZCcpLnJlc3VsdC5sZW5ndGggPiAwO1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgICAgICBub3REZXBsb3llZCxcbiAgICAgICAgICAgICAgICAuLi4ocHJlLmlkID09PSAnYWJub3JtYWwnICYmICFub3REZXBsb3llZFxuICAgICAgICAgICAgICAgICAgPyB7IGFibm9ybWFsOiBwcmUucmVzdWx0Lmxlbmd0aCA+IDAgfVxuICAgICAgICAgICAgICAgICAgOiB7fSksXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBub3REZXBsb3llZDogZmFsc2UsXG4gICAgICAgICAgICAgIGFibm9ybWFsOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gIH1cblxuICBoYW5kZWxDaGFydERhdGEgPSAoXG4gICAgcmVzOiBNZXRyaWNSZXN1bHRbXSxcbiAgICBpbmRpY2F0b3I6IEluZGljYXRvcltdLFxuICAgIGRlcGVuZE9uRGF0YTogYm9vbGVhbixcbiAgKSA9PlxuICAgIGRlcGVuZE9uRGF0YVxuICAgICAgPyBkZXBlbmRPbkRhdGFTZXJpZXMocmVzLCBpbmRpY2F0b3IpIC8vIOS4gOS4qmluZGljYXRvciDlr7nlupQg5Y2V5p2hc2VyaWVzXG4gICAgICA6IGRlcGVuZE9uSW5kaWNhdG9yU2VyaWVzKHJlcywgaW5kaWNhdG9yKTsgLy8g5LiA5LiqaW5kaWNhdG9yIOWvueW6lCDlpJrmnaFzZXJpZXNcblxuICBhZGFwdENoYXJ0VW5pdChcbiAgICBkYXRhOiBBcnJheTx7XG4gICAgICBkYXRhPzogQXJyYXk8eyB4OiBudW1iZXI7IHk6IG51bWJlciB9PjtcbiAgICAgIHZhbHVlcz86IEFycmF5PHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfT47XG4gICAgfT4sXG4gICAgYWRhcHRVbml0UGFyYW1zOiBib29sZWFuIHwgTWF0Y2hVbml0UGFyYW1zLFxuICApIHtcbiAgICBsZXQgYmFzZSA9IE1BVENIX1VOSVRfREVGQVVMVF9CQVNFO1xuICAgIGlmICh0eXBlb2YgYWRhcHRVbml0UGFyYW1zID09PSAnb2JqZWN0JyAmJiBhZGFwdFVuaXRQYXJhbXM/LmJhc2UpIHtcbiAgICAgIGJhc2UgPSBhZGFwdFVuaXRQYXJhbXMuYmFzZTtcbiAgICB9XG4gICAgY29uc3Qge1xuICAgICAgdW5pdCxcbiAgICAgIGV4cG9uZW50LFxuICAgICAgYmFzZTogX2Jhc2UsXG4gICAgfSA9IGFkYXB0VW5pdChcbiAgICAgIGRhdGEsXG4gICAgICAoYWRhcHRVbml0UGFyYW1zID09PSB0cnVlXG4gICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgIDogYWRhcHRVbml0UGFyYW1zKSBhcyBNYXRjaFVuaXRQYXJhbXMsXG4gICAgKTtcbiAgICByZXR1cm4geyBiYXNlOiBfYmFzZSB8fCBiYXNlLCBleHBvbmVudCwgdW5pdCB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import dayjs from 'dayjs';
|
|
2
|
+
import { last, max } from 'lodash-es';
|
|
3
|
+
import { DATE_FORMAT } from '../core/constants/public-api';
|
|
4
|
+
import { UNITS } from '../core/utils/public-api';
|
|
5
|
+
export const BASE_UNITS = ['K', 'M', 'G', 'T', 'P', 'E'];
|
|
6
|
+
export const MEMORY_UNITS = BASE_UNITS.map(unit => unit + 'i');
|
|
7
|
+
export var UnitType;
|
|
8
|
+
(function (UnitType) {
|
|
9
|
+
UnitType["MEMORY"] = "memory";
|
|
10
|
+
UnitType["CAPACITY"] = "capacity";
|
|
11
|
+
})(UnitType || (UnitType = {}));
|
|
12
|
+
export const MATCH_UNIT_DEFAULT_BASE = 1024;
|
|
13
|
+
export const UnitMap = {
|
|
14
|
+
[UnitType.MEMORY]: MEMORY_UNITS,
|
|
15
|
+
[UnitType.CAPACITY]: UNITS,
|
|
16
|
+
};
|
|
17
|
+
const _matchUnit = (value, { base = MATCH_UNIT_DEFAULT_BASE, threshold = 800, unitType = UnitType.CAPACITY, groups, unitRange, baseUnit, } = {}) => {
|
|
18
|
+
const units = unitRange || UnitMap[unitType];
|
|
19
|
+
if (!value) {
|
|
20
|
+
return { unit: baseUnit || units[0], units };
|
|
21
|
+
}
|
|
22
|
+
const cloneUnits = units.map(item => item);
|
|
23
|
+
const index = units.indexOf(baseUnit || units[0]);
|
|
24
|
+
const isPositive = value > threshold;
|
|
25
|
+
const unitsList = isPositive
|
|
26
|
+
? cloneUnits.splice(index)
|
|
27
|
+
: cloneUnits.splice(0, index + 1).reverse();
|
|
28
|
+
let unitBase = 1;
|
|
29
|
+
for (const unit of unitsList) {
|
|
30
|
+
const _base = groups?.find(g => g.range?.slice(0, -1)?.includes(unit))?.base || base;
|
|
31
|
+
if (value <= threshold) {
|
|
32
|
+
return { unit, base: unitBase, units: unitsList };
|
|
33
|
+
}
|
|
34
|
+
isPositive ? (unitBase *= _base) : (unitBase /= _base);
|
|
35
|
+
isPositive ? (value /= _base) : (value *= _base);
|
|
36
|
+
}
|
|
37
|
+
return { unit: last(unitsList), base: unitBase, units: unitsList };
|
|
38
|
+
};
|
|
39
|
+
export const matchUnit = (value, params) => {
|
|
40
|
+
const { unit, units, base } = _matchUnit(value, params);
|
|
41
|
+
return {
|
|
42
|
+
unit,
|
|
43
|
+
base,
|
|
44
|
+
exponent: units.indexOf(unit),
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
export const adaptUnit = (seriesOrMetrics, params) => matchUnit(max(seriesOrMetrics.flatMap(({ data, values = data }) => values.map(d => d.y))), params);
|
|
48
|
+
export function getTimeValueOf(value) {
|
|
49
|
+
return dayjs(value).valueOf() / 1000;
|
|
50
|
+
}
|
|
51
|
+
export const CHART_DATA_FORMAT = `${DATE_FORMAT} HH:mm`;
|
|
52
|
+
export const getTimeRanges = (value, unit) => ({
|
|
53
|
+
start: () => dateTimeRounding(dayjs().subtract(value, unit)),
|
|
54
|
+
end: () => dayjs().format(CHART_DATA_FORMAT),
|
|
55
|
+
startTime: () => getTimeValueOf(dateTimeRounding(dayjs().subtract(value, unit))),
|
|
56
|
+
endTime: () => getTimeValueOf(dayjs().format(CHART_DATA_FORMAT)),
|
|
57
|
+
});
|
|
58
|
+
export function dateTimeRounding(value) {
|
|
59
|
+
return dayjs(value).format(CHART_DATA_FORMAT);
|
|
60
|
+
}
|
|
61
|
+
export const PICKER_TIME_RANGES = [
|
|
62
|
+
{
|
|
63
|
+
name: 'nearly_30_minute',
|
|
64
|
+
...getTimeRanges(30, 'm'),
|
|
65
|
+
step: 30,
|
|
66
|
+
zoomStep: 30,
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'nearly_1_hour',
|
|
70
|
+
...getTimeRanges(1, 'hour'),
|
|
71
|
+
step: 60,
|
|
72
|
+
zoomStep: 30,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'nearly_3_hour',
|
|
76
|
+
...getTimeRanges(3, 'hour'),
|
|
77
|
+
step: ((3 * 60) / 60) * 60,
|
|
78
|
+
zoomStep: ((3 * 60) / 360) * 60,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
name: 'nearly_6_hour',
|
|
82
|
+
...getTimeRanges(6, 'hour'),
|
|
83
|
+
step: ((6 * 60) / 120) * 60,
|
|
84
|
+
zoomStep: ((6 * 60) / 720) * 60,
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: 'nearly_12_hour',
|
|
88
|
+
...getTimeRanges(12, 'hour'),
|
|
89
|
+
step: ((12 * 60) / 120) * 60,
|
|
90
|
+
zoomStep: ((12 * 60) / 720) * 60,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'nearly_1_day',
|
|
94
|
+
...getTimeRanges(1, 'day'),
|
|
95
|
+
step: ((24 * 60) / 120) * 60,
|
|
96
|
+
zoomStep: ((24 * 60) / 720) * 60,
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: 'nearly_3_day',
|
|
100
|
+
...getTimeRanges(3, 'day'),
|
|
101
|
+
step: ((3 * 24 * 60) / 120) * 60,
|
|
102
|
+
zoomStep: ((3 * 24 * 60) / 720) * 60,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
name: 'nearly_7_day',
|
|
106
|
+
...getTimeRanges(7, 'day'),
|
|
107
|
+
step: ((7 * 24 * 60) / 120) * 60,
|
|
108
|
+
zoomStep: ((7 * 24 * 60) / 720) * 60,
|
|
109
|
+
},
|
|
110
|
+
];
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9tZXRyaWMtY2hhcnQvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQWdDLE1BQU0sT0FBTyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJakQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQVUsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztBQUUvRCxNQUFNLENBQU4sSUFBWSxRQUdYO0FBSEQsV0FBWSxRQUFRO0lBQ2xCLDZCQUFpQixDQUFBO0lBQ2pCLGlDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxRQUFRLEtBQVIsUUFBUSxRQUduQjtBQWFELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksQ0FBQztBQUU1QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQXlDO0lBQzNELENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFlBQVk7SUFDL0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSztDQUMzQixDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FDakIsS0FBYSxFQUNiLEVBQ0UsSUFBSSxHQUFHLHVCQUF1QixFQUM5QixTQUFTLEdBQUcsR0FBRyxFQUNmLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxFQUM1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QUssQ0FBQztRQUMxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRTtRQUNoQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRTtLQUNyQztJQUNEO1FBQ0UsSUFBSSxFQUFFLGNBQWM7UUFDcEIsR0FBRyxhQUFhLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztRQUMxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRTtRQUNoQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRTtLQUNyQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGF5anMsIHsgRGF5anMsIE1hbmlwdWxhdGVUeXBlIH0gZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgbGFzdCwgbWF4IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgREFURV9GT1JNQVQgfSBmcm9tICcuLi9jb3JlL2NvbnN0YW50cy9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFVOSVRTIH0gZnJvbSAnLi4vY29yZS91dGlscy9wdWJsaWMtYXBpJztcblxuaW1wb3J0IHsgUGlja2VyVGltZVJhbmdlcyB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQkFTRV9VTklUUyA9IFsnSycsICdNJywgJ0cnLCAnVCcsICdQJywgJ0UnXSBhcyBjb25zdDtcbmV4cG9ydCBjb25zdCBNRU1PUllfVU5JVFMgPSBCQVNFX1VOSVRTLm1hcCh1bml0ID0+IHVuaXQgKyAnaScpO1xuXG5leHBvcnQgZW51bSBVbml0VHlwZSB7XG4gIE1FTU9SWSA9ICdtZW1vcnknLFxuICBDQVBBQ0lUWSA9ICdjYXBhY2l0eScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF0Y2hVbml0UGFyYW1zIHtcbiAgYmFzZT86IG51bWJlcjtcbiAgdGhyZXNob2xkPzogbnVtYmVyO1xuICB1bml0VHlwZT86IFVuaXRUeXBlO1xuICB1bml0UmFuZ2U/OiBzdHJpbmdbXTtcbiAgZGVmYXVsdFByZWZpeD86IGJvb2xlYW47XG4gIHByZWZpeD86IHN0cmluZztcbiAgYmFzZVVuaXQ/OiBzdHJpbmc7XG4gIGdyb3Vwcz86IEFycmF5PHsgYmFzZTogbnVtYmVyOyByYW5nZTogc3RyaW5nW10gfT47XG59XG5cbmV4cG9ydCBjb25zdCBNQVRDSF9VTklUX0RFRkFVTFRfQkFTRSA9IDEwMjQ7XG5cbmV4cG9ydCBjb25zdCBVbml0TWFwOiB7IFtrZXk6IHN0cmluZ106IHJlYWRvbmx5IHN0cmluZ1tdIH0gPSB7XG4gIFtVbml0VHlwZS5NRU1PUlldOiBNRU1PUllfVU5JVFMsXG4gIFtVbml0VHlwZS5DQVBBQ0lUWV06IFVOSVRTLFxufTtcblxuY29uc3QgX21hdGNoVW5pdCA9IChcbiAgdmFsdWU6IG51bWJlcixcbiAge1xuICAgIGJhc2UgPSBNQVRDSF9VTklUX0RFRkFVTFRfQkFTRSxcbiAgICB0aHJlc2hvbGQgPSA4MDAsXG4gICAgdW5pdFR5cGUgPSBVbml0VHlwZS5DQVBBQ0lUWSxcbiAgICBncm91cHMsXG4gICAgdW5pdFJhbmdlLFxuICAgIGJhc2VVbml0LFxuICB9OiBNYXRjaFVuaXRQYXJhbXMgPSB7fSxcbikgPT4ge1xuICBjb25zdCB1bml0cyA9IHVuaXRSYW5nZSB8fCBVbml0TWFwW3VuaXRUeXBlXTtcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHJldHVybiB7IHVuaXQ6IGJhc2VVbml0IHx8IHVuaXRzWzBdLCB1bml0cyB9O1xuICB9XG4gIGNvbnN0IGNsb25lVW5pdHMgPSB1bml0cy5tYXAoaXRlbSA9PiBpdGVtKTtcbiAgY29uc3QgaW5kZXggPSB1bml0cy5pbmRleE9mKGJhc2VVbml0IHx8IHVuaXRzWzBdKTtcbiAgY29uc3QgaXNQb3NpdGl2ZSA9IHZhbHVlID4gdGhyZXNob2xkO1xuICBjb25zdCB1bml0c0xpc3QgPSBpc1Bvc2l0aXZlXG4gICAgPyBjbG9uZVVuaXRzLnNwbGljZShpbmRleClcbiAgICA6IGNsb25lVW5pdHMuc3BsaWNlKDAsIGluZGV4ICsgMSkucmV2ZXJzZSgpO1xuICBsZXQgdW5pdEJhc2UgPSAxO1xuICBmb3IgKGNvbnN0IHVuaXQgb2YgdW5pdHNMaXN0KSB7XG4gICAgY29uc3QgX2Jhc2U6IG51bWJlciA9XG4gICAgICBncm91cHM/LmZpbmQoZyA9PiBnLnJhbmdlPy5zbGljZSgwLCAtMSk/LmluY2x1ZGVzKHVuaXQpKT8uYmFzZSB8fCBiYXNlO1xuICAgIGlmICh2YWx1ZSA8PSB0aHJlc2hvbGQpIHtcbiAgICAgIHJldHVybiB7IHVuaXQsIGJhc2U6IHVuaXRCYXNlLCB1bml0czogdW5pdHNMaXN0IH07XG4gICAgfVxuICAgIGlzUG9zaXRpdmUgPyAodW5pdEJhc2UgKj0gX2Jhc2UpIDogKHVuaXRCYXNlIC89IF9iYXNlKTtcbiAgICBpc1Bvc2l0aXZlID8gKHZhbHVlIC89IF9iYXNlKSA6ICh2YWx1ZSAqPSBfYmFzZSk7XG4gIH1cbiAgcmV0dXJuIHsgdW5pdDogbGFzdCh1bml0c0xpc3QpLCBiYXNlOiB1bml0QmFzZSwgdW5pdHM6IHVuaXRzTGlzdCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG1hdGNoVW5pdCA9ICh2YWx1ZTogbnVtYmVyLCBwYXJhbXM/OiBNYXRjaFVuaXRQYXJhbXMpID0+IHtcbiAgY29uc3QgeyB1bml0LCB1bml0cywgYmFzZSB9ID0gX21hdGNoVW5pdCh2YWx1ZSwgcGFyYW1zKTtcbiAgcmV0dXJuIHtcbiAgICB1bml0LFxuICAgIGJhc2UsXG4gICAgZXhwb25lbnQ6IHVuaXRzLmluZGV4T2YodW5pdCksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgYWRhcHRVbml0ID0gKFxuICBzZXJpZXNPck1ldHJpY3M6IEFycmF5PHtcbiAgICBkYXRhPzogQXJyYXk8eyB4OiBudW1iZXI7IHk6IG51bWJlciB9PjtcbiAgICB2YWx1ZXM/OiBBcnJheTx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0+O1xuICB9PixcbiAgcGFyYW1zPzogTWF0Y2hVbml0UGFyYW1zLFxuKSA9PlxuICBtYXRjaFVuaXQoXG4gICAgbWF4PG51bWJlcj4oXG4gICAgICBzZXJpZXNPck1ldHJpY3MuZmxhdE1hcCgoeyBkYXRhLCB2YWx1ZXMgPSBkYXRhIH0pID0+XG4gICAgICAgIHZhbHVlcy5tYXAoZCA9PiBkLnkpLFxuICAgICAgKSxcbiAgICApLFxuICAgIHBhcmFtcyxcbiAgKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRpbWVWYWx1ZU9mKHZhbHVlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGRheWpzKHZhbHVlKS52YWx1ZU9mKCkgLyAxMDAwO1xufVxuXG5leHBvcnQgY29uc3QgQ0hBUlRfREFUQV9GT1JNQVQgPSBgJHtEQVRFX0ZPUk1BVH0gSEg6bW1gO1xuXG5leHBvcnQgY29uc3QgZ2V0VGltZVJhbmdlcyA9ICh2YWx1ZTogbnVtYmVyLCB1bml0OiBNYW5pcHVsYXRlVHlwZSkgPT4gKHtcbiAgc3RhcnQ6ICgpID0+IGRhdGVUaW1lUm91bmRpbmcoZGF5anMoKS5zdWJ0cmFjdCh2YWx1ZSwgdW5pdCkpLFxuICBlbmQ6ICgpID0+IGRheWpzKCkuZm9ybWF0KENIQVJUX0RBVEFfRk9STUFUKSxcbiAgc3RhcnRUaW1lOiAoKSA9PlxuICAgIGdldFRpbWVWYWx1ZU9mKGRhdGVUaW1lUm91bmRpbmcoZGF5anMoKS5zdWJ0cmFjdCh2YWx1ZSwgdW5pdCkpKSxcbiAgZW5kVGltZTogKCkgPT4gZ2V0VGltZVZhbHVlT2YoZGF5anMoKS5mb3JtYXQoQ0hBUlRfREFUQV9GT1JNQVQpKSxcbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gZGF0ZVRpbWVSb3VuZGluZyh2YWx1ZTogbnVtYmVyIHwgRGF5anMpIHtcbiAgcmV0dXJuIGRheWpzKHZhbHVlKS5mb3JtYXQoQ0hBUlRfREFUQV9GT1JNQVQpO1xufVxuXG5leHBvcnQgY29uc3QgUElDS0VSX1RJTUVfUkFOR0VTOiBQaWNrZXJUaW1lUmFuZ2VzW10gPSBbXG4gIHtcbiAgICBuYW1lOiAnbmVhcmx5XzMwX21pbnV0ZScsXG4gICAgLi4uZ2V0VGltZVJhbmdlcygzMCwgJ20nKSxcbiAgICBzdGVwOiAzMCxcbiAgICB6b29tU3RlcDogMzAsXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnbmVhcmx5XzFfaG91cicsXG4gICAgLi4uZ2V0VGltZVJhbmdlcygxLCAnaG91cicpLFxuICAgIHN0ZXA6IDYwLFxuICAgIHpvb21TdGVwOiAzMCxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICduZWFybHlfM19ob3VyJyxcbiAgICAuLi5nZXRUaW1lUmFuZ2VzKDMsICdob3VyJyksXG4gICAgc3RlcDogKCgzICogNjApIC8gNjApICogNjAsXG4gICAgem9vbVN0ZXA6ICgoMyAqIDYwKSAvIDM2MCkgKiA2MCxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICduZWFybHlfNl9ob3VyJyxcbiAgICAuLi5nZXRUaW1lUmFuZ2VzKDYsICdob3VyJyksXG4gICAgc3RlcDogKCg2ICogNjApIC8gMTIwKSAqIDYwLFxuICAgIHpvb21TdGVwOiAoKDYgKiA2MCkgLyA3MjApICogNjAsXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnbmVhcmx5XzEyX2hvdXInLFxuICAgIC4uLmdldFRpbWVSYW5nZXMoMTIsICdob3VyJyksXG4gICAgc3RlcDogKCgxMiAqIDYwKSAvIDEyMCkgKiA2MCxcbiAgICB6b29tU3RlcDogKCgxMiAqIDYwKSAvIDcyMCkgKiA2MCxcbiAgfSxcbiAge1xuICAgIG5hbWU6ICduZWFybHlfMV9kYXknLFxuICAgIC4uLmdldFRpbWVSYW5nZXMoMSwgJ2RheScpLFxuICAgIHN0ZXA6ICgoMjQgKiA2MCkgLyAxMjApICogNjAsXG4gICAgem9vbVN0ZXA6ICgoMjQgKiA2MCkgLyA3MjApICogNjAsXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnbmVhcmx5XzNfZGF5JyxcbiAgICAuLi5nZXRUaW1lUmFuZ2VzKDMsICdkYXknKSxcbiAgICBzdGVwOiAoKDMgKiAyNCAqIDYwKSAvIDEyMCkgKiA2MCxcbiAgICB6b29tU3RlcDogKCgzICogMjQgKiA2MCkgLyA3MjApICogNjAsXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnbmVhcmx5XzdfZGF5JyxcbiAgICAuLi5nZXRUaW1lUmFuZ2VzKDcsICdkYXknKSxcbiAgICBzdGVwOiAoKDcgKiAyNCAqIDYwKSAvIDEyMCkgKiA2MCxcbiAgICB6b29tU3RlcDogKCg3ICogMjQgKiA2MCkgLyA3MjApICogNjAsXG4gIH0sXG5dO1xuIl19
|
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, TemplateRef, } from '@angular/core';
|
|
3
|
+
import { Observable, Subject, combineLatest, merge, of, pipe, BehaviorSubject, catchError, filter, map, switchMap, tap, withLatestFrom, } from 'rxjs';
|
|
4
|
+
import { DATE_TIME_FORMAT_X_AXIS, } from '../chart/public-api';
|
|
5
|
+
import { ObservableInput, publishRef } from '../core/public-api';
|
|
6
|
+
import { CommonChartService } from './common-chart.service';
|
|
7
|
+
import { PICKER_TIME_RANGES } from './helpers';
|
|
8
|
+
import { checkInterval, fillNullChartData, hasNoData } from './utils';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "./common-chart.service";
|
|
11
|
+
export class MetricChartComponent {
|
|
12
|
+
get overflow() {
|
|
13
|
+
return !this.tooltipAppendToBody && 'unset';
|
|
14
|
+
}
|
|
15
|
+
get xAccessor() {
|
|
16
|
+
return (d) => d.x * 1000;
|
|
17
|
+
}
|
|
18
|
+
constructor(service, cdr) {
|
|
19
|
+
this.service = service;
|
|
20
|
+
this.cdr = cdr;
|
|
21
|
+
this.chartType = 'area';
|
|
22
|
+
this.tooltipAppendToBody = true;
|
|
23
|
+
this.gridOffsetTop = 0;
|
|
24
|
+
this.barType = 'standard';
|
|
25
|
+
this.legendSelectAllOperation = false;
|
|
26
|
+
this.hideLegend = false;
|
|
27
|
+
this.mode = 'default';
|
|
28
|
+
this.tooltipTranslation = true;
|
|
29
|
+
this.yPlotLinesHide = false;
|
|
30
|
+
this.mouseUpEvent = new EventEmitter();
|
|
31
|
+
this.markClickEvent = new EventEmitter();
|
|
32
|
+
this.refreshEvent = new EventEmitter();
|
|
33
|
+
this.dataCompleted = new EventEmitter();
|
|
34
|
+
this.reload$ = new BehaviorSubject(null);
|
|
35
|
+
this._chartStatus$$ = new Subject();
|
|
36
|
+
this._status = {};
|
|
37
|
+
this.status$ = merge(this.chartStatus$, this._chartStatus$$).pipe(map(status => ({
|
|
38
|
+
...this._status,
|
|
39
|
+
...status,
|
|
40
|
+
})), tap(status => (this._status = status)), publishRef());
|
|
41
|
+
this.dateAxisLabelFormats = DATE_TIME_FORMAT_X_AXIS;
|
|
42
|
+
this.dateXAxisLabelFormats = '%H:%M';
|
|
43
|
+
this.yAccessor$ = this.percent$.pipe(tap(percent => {
|
|
44
|
+
if (percent) {
|
|
45
|
+
this.unit = '%';
|
|
46
|
+
}
|
|
47
|
+
}), map(percent => (d) => {
|
|
48
|
+
// prometheus 可能出现 Infinity情况,处理为 null
|
|
49
|
+
if (!Number.isFinite(d.y) || String(d.y) === '+Inf') {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
return percent && d.y ? +d.y * 100 : d.y === null ? d.y : +d.y;
|
|
53
|
+
}));
|
|
54
|
+
this._cacheTime = {
|
|
55
|
+
start: PICKER_TIME_RANGES[1].startTime(),
|
|
56
|
+
end: PICKER_TIME_RANGES[1].endTime(),
|
|
57
|
+
step: PICKER_TIME_RANGES[1].step,
|
|
58
|
+
};
|
|
59
|
+
this.defaultSeries$ = combineLatest([
|
|
60
|
+
this.metricApiParams$,
|
|
61
|
+
this.indicator$,
|
|
62
|
+
this.reload$,
|
|
63
|
+
]).pipe(tap(([, indicator]) => {
|
|
64
|
+
this.handleTimeParams();
|
|
65
|
+
this.handleDateAxisLabelFormats(this.chartParams);
|
|
66
|
+
this.handelChartStatus({
|
|
67
|
+
loading: !!indicator?.length,
|
|
68
|
+
failed: false,
|
|
69
|
+
noData: !indicator?.length,
|
|
70
|
+
});
|
|
71
|
+
}), switchMap(([_, indicator]) => indicator?.length && this.chartParams
|
|
72
|
+
? this.service.requestChartData(this.chartParams, indicator).pipe(catchError(() => {
|
|
73
|
+
this.handelChartStatus({ loading: false, failed: true });
|
|
74
|
+
return of(null);
|
|
75
|
+
}))
|
|
76
|
+
: of(null)));
|
|
77
|
+
}
|
|
78
|
+
ngOnInit() {
|
|
79
|
+
if (this.metricApiParams) {
|
|
80
|
+
this._cacheTime = this.metricApiParams;
|
|
81
|
+
}
|
|
82
|
+
this.series$ = (this.isCustomSeries ? this.customSeries$ : this.defaultSeries$).pipe(this.handleMetricDataPipe());
|
|
83
|
+
}
|
|
84
|
+
handleTimeParams() {
|
|
85
|
+
let timeParams = this.metricApiParams;
|
|
86
|
+
if (timeParams) {
|
|
87
|
+
if (checkInterval(this.metricApiParams, this._cacheTime)) {
|
|
88
|
+
this._cacheTime = this.metricApiParams;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
timeParams = this._cacheTime;
|
|
92
|
+
}
|
|
93
|
+
this.chartParams = {
|
|
94
|
+
...this.metricApiParams,
|
|
95
|
+
...timeParams,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
handleMetricDataPipe() {
|
|
100
|
+
return pipe(tap(() => {
|
|
101
|
+
if (this.isCustomSeries) {
|
|
102
|
+
this.handleTimeParams();
|
|
103
|
+
}
|
|
104
|
+
}), filter((res) => !!this.chartParams && (!!res || !this.indicator?.length)), map((res) => {
|
|
105
|
+
const format = this.dataFormat || this.service.handelChartData;
|
|
106
|
+
// `fillNullChartData` prometheus 存在某个时间点未采集到数据的情况,这里为区分 未采集到数据为0的情况,这里前端根据时间段自动填充数据
|
|
107
|
+
// 后端 需要和 Prometheus API 保持兼容,还是在前端做处理填充
|
|
108
|
+
return format(res, this.indicator || [], this.dependOnData)?.map(item => ({
|
|
109
|
+
...item,
|
|
110
|
+
unit: this.unit,
|
|
111
|
+
values: fillNullChartData(this.chartParams, item.values, this.stepLine),
|
|
112
|
+
}));
|
|
113
|
+
}), tap(res => {
|
|
114
|
+
this.handleDateAxisLabelFormats(this.chartParams);
|
|
115
|
+
this.handelChartStatus({
|
|
116
|
+
loading: false,
|
|
117
|
+
noData: hasNoData(res),
|
|
118
|
+
});
|
|
119
|
+
this.cdr.markForCheck();
|
|
120
|
+
}), map(res => res?.length
|
|
121
|
+
? res
|
|
122
|
+
: [
|
|
123
|
+
{
|
|
124
|
+
values: fillNullChartData(this.chartParams, [], this.stepLine),
|
|
125
|
+
},
|
|
126
|
+
]), withLatestFrom(this.adaptUnit$), map(([res, _adaptUnit]) => {
|
|
127
|
+
if (_adaptUnit && !this.noData) {
|
|
128
|
+
const { base, unit } = this.service.adaptChartUnit(res, _adaptUnit);
|
|
129
|
+
this.unit = `unit_${unit}`;
|
|
130
|
+
if (typeof _adaptUnit === 'object') {
|
|
131
|
+
const { defaultPrefix = true, prefix } = _adaptUnit;
|
|
132
|
+
this.unit = defaultPrefix
|
|
133
|
+
? `unit_${unit}`
|
|
134
|
+
: `${prefix || ''}${unit}`;
|
|
135
|
+
}
|
|
136
|
+
return res.map((item) => ({
|
|
137
|
+
...item,
|
|
138
|
+
unit: this.unit,
|
|
139
|
+
values: item.values.map(d => ({
|
|
140
|
+
...d,
|
|
141
|
+
y: d.y ? d.y / base : d.y,
|
|
142
|
+
})),
|
|
143
|
+
}));
|
|
144
|
+
}
|
|
145
|
+
return res.map(item => ({ ...item, unit: this.unit }));
|
|
146
|
+
}), tap(() => {
|
|
147
|
+
this.dataCompleted.next();
|
|
148
|
+
}), publishRef());
|
|
149
|
+
}
|
|
150
|
+
refresh() {
|
|
151
|
+
this.reload$.next(null);
|
|
152
|
+
this.refreshEvent.next(null);
|
|
153
|
+
}
|
|
154
|
+
handelChartStatus(status) {
|
|
155
|
+
this._chartStatus$$.next({
|
|
156
|
+
...status,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
handleDateAxisLabelFormats(params) {
|
|
160
|
+
if (params) {
|
|
161
|
+
const diff = params.end - params.start;
|
|
162
|
+
const m1 = 24 * 60 * 60;
|
|
163
|
+
const m3 = 3 * m1;
|
|
164
|
+
const m7 = 7 * m1;
|
|
165
|
+
const M_D_FORMAT = 'MM-DD';
|
|
166
|
+
const format = diff >= m7
|
|
167
|
+
? M_D_FORMAT
|
|
168
|
+
: diff < m7 && (diff >= m3 || diff > m1)
|
|
169
|
+
? `${M_D_FORMAT} ${DATE_TIME_FORMAT_X_AXIS}`
|
|
170
|
+
: DATE_TIME_FORMAT_X_AXIS;
|
|
171
|
+
this.dateAxisLabelFormats = format;
|
|
172
|
+
// https://d3js.org.cn/document/d3-time-format/#api-reference
|
|
173
|
+
this.dateXAxisLabelFormats =
|
|
174
|
+
diff >= m7
|
|
175
|
+
? '%m-%d'
|
|
176
|
+
: diff < m7 && (diff >= m3 || diff > m1)
|
|
177
|
+
? `%m-%d %H:%M`
|
|
178
|
+
: '%H:%M';
|
|
179
|
+
this.cdr.detectChanges();
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
static { this.ɵfac = function MetricChartComponent_Factory(t) { return new (t || MetricChartComponent)(i0.ɵɵdirectiveInject(i1.CommonChartService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
|
|
183
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MetricChartComponent, selectors: [["acl-metric-chart"]], hostVars: 2, hostBindings: function MetricChartComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
184
|
+
i0.ɵɵstyleProp("overflow", ctx.overflow);
|
|
185
|
+
} }, inputs: { contextCallbackFunction: "contextCallbackFunction", backgroundColor: "backgroundColor", hideHeader: "hideHeader", title: "title", hideTitle: "hideTitle", chartType: "chartType", titleDescription: "titleDescription", titleDescriptionContext: "titleDescriptionContext", unit: "unit", tooltipAppendToBody: "tooltipAppendToBody", indicator: "indicator", gridOffsetTop: "gridOffsetTop", yAxisMinStep: "yAxisMinStep", rotated: "rotated", barType: "barType", metricApiParams: "metricApiParams", tooltipPointNameTemplate: "tooltipPointNameTemplate", tooltipPointTemplate: "tooltipPointTemplate", legendTemplate: "legendTemplate", legendSelectAllOperation: "legendSelectAllOperation", legendSelectAllName: "legendSelectAllName", tooltipHide: "tooltipHide", tooltipPointFormat: "tooltipPointFormat", tooltipPointTemplateContext: "tooltipPointTemplateContext", tooltipColumnLayout: "tooltipColumnLayout", hideLegend: "hideLegend", tooltipAutoSort: "tooltipAutoSort", tooltipSortMethod: "tooltipSortMethod", hideTooltipUnit: "hideTooltipUnit", leftOperation: "leftOperation", leftOperationContext: "leftOperationContext", rightOperation: "rightOperation", mode: "mode", adaptUnit: "adaptUnit", percent: "percent", dependOnData: "dependOnData", customNoDataTitle: "customNoDataTitle", dataFormat: "dataFormat", customSeries: "customSeries", isCustomSeries: "isCustomSeries", chartStatus: "chartStatus", tooltipTranslation: "tooltipTranslation", xPlotLines: "xPlotLines", xPlotEmpty: "xPlotEmpty", yPlotLines: "yPlotLines", yPlotLinesTooltip: "yPlotLinesTooltip", yPlotLinesTooltipContext: "yPlotLinesTooltipContext", yPlotLinesHide: "yPlotLinesHide", enableZoom: "enableZoom", stepLine: "stepLine", tooltipTitleTemplate: "tooltipTitleTemplate", yAccessor: "yAccessor", curveType: "curveType" }, outputs: { mouseUpEvent: "mouseUpEvent", markClickEvent: "markClickEvent", refreshEvent: "refreshEvent", dataCompleted: "dataCompleted" }, decls: 4, vars: 51, consts: [[3, "contextCallbackFunction", "unit", "hideHeader", "customNoDataTitle", "chartStatus", "backgroundColor", "series", "curveType", "tooltipAppendToBody", "mode", "gridOffsetTop", "title", "chartType", "hideTitle", "tooltipHide", "tooltipSortMethod", "titleDescription", "titleDescriptionContext", "hideLegend", "dateAxisLabelFormats", "enableZoom", "stepLine", "rotated", "rightOperation", "leftOperation", "leftOperationContext", "legendTemplate", "legendSelectAllOperation", "legendSelectAllName", "yAccessor", "xAccessor", "yAxisMinStep", "hideTooltipUnit", "tooltipTitleTemplate", "tooltipAutoSort", "tooltipTranslation", "tooltipPointNameTemplate", "tooltipPointTemplate", "tooltipPointTemplateContext", "xPlotLines", "xPlotEmpty", "yPlotLinesHide", "yPlotLines", "mouseUpEvent", "markClickEvent", "refreshEvent"]], template: function MetricChartComponent_Template(rf, ctx) { if (rf & 1) {
|
|
186
|
+
i0.ɵɵelementStart(0, "acl-view-zchart", 0);
|
|
187
|
+
i0.ɵɵlistener("mouseUpEvent", function MetricChartComponent_Template_acl_view_zchart_mouseUpEvent_0_listener($event) { return ctx.mouseUpEvent.next($event); })("markClickEvent", function MetricChartComponent_Template_acl_view_zchart_markClickEvent_0_listener($event) { return ctx.markClickEvent.next($event); })("refreshEvent", function MetricChartComponent_Template_acl_view_zchart_refreshEvent_0_listener() { return ctx.refresh(); });
|
|
188
|
+
i0.ɵɵpipe(1, "async");
|
|
189
|
+
i0.ɵɵpipe(2, "async");
|
|
190
|
+
i0.ɵɵpipe(3, "async");
|
|
191
|
+
i0.ɵɵelementEnd();
|
|
192
|
+
} if (rf & 2) {
|
|
193
|
+
i0.ɵɵclassProp("overflow-display", !ctx.tooltipAppendToBody);
|
|
194
|
+
i0.ɵɵproperty("contextCallbackFunction", ctx.contextCallbackFunction)("unit", ctx.unit)("hideHeader", ctx.hideHeader)("customNoDataTitle", ctx.customNoDataTitle)("chartStatus", i0.ɵɵpipeBind1(1, 45, ctx.status$))("backgroundColor", ctx.backgroundColor)("series", i0.ɵɵpipeBind1(2, 47, ctx.series$))("curveType", ctx.curveType)("tooltipAppendToBody", ctx.tooltipAppendToBody)("mode", ctx.mode)("gridOffsetTop", ctx.gridOffsetTop)("title", ctx.title)("chartType", ctx.chartType)("hideTitle", ctx.hideTitle)("tooltipHide", ctx.tooltipHide)("tooltipSortMethod", ctx.tooltipSortMethod)("titleDescription", ctx.titleDescription)("titleDescriptionContext", ctx.titleDescriptionContext)("hideLegend", ctx.dependOnData && ctx.noData || ctx.hideLegend)("dateAxisLabelFormats", ctx.dateAxisLabelFormats)("enableZoom", ctx.enableZoom)("stepLine", ctx.stepLine)("rotated", ctx.rotated)("rightOperation", ctx.rightOperation)("leftOperation", ctx.leftOperation)("leftOperationContext", ctx.leftOperationContext)("legendTemplate", ctx.legendTemplate)("legendSelectAllOperation", ctx.legendSelectAllOperation)("legendSelectAllName", ctx.legendSelectAllName)("yAccessor", ctx.yAccessor || i0.ɵɵpipeBind1(3, 49, ctx.yAccessor$))("xAccessor", ctx.xAccessor)("yAxisMinStep", ctx.yAxisMinStep)("hideTooltipUnit", ctx.hideTooltipUnit)("tooltipTitleTemplate", ctx.tooltipTitleTemplate)("tooltipAutoSort", ctx.tooltipAutoSort)("tooltipTranslation", ctx.tooltipTranslation)("tooltipPointNameTemplate", ctx.tooltipPointNameTemplate)("tooltipPointTemplate", ctx.tooltipPointTemplate)("tooltipPointTemplateContext", ctx.tooltipPointTemplateContext)("xPlotLines", ctx.xPlotLines)("xPlotEmpty", ctx.xPlotEmpty)("yPlotLinesHide", ctx.yPlotLinesHide)("yPlotLines", ctx.yPlotLines);
|
|
195
|
+
} }, styles: ["[_nghost-%COMP%]{flex:1;display:flex;height:100%;overflow:hidden}[_nghost-%COMP%] .overflow-display[_ngcontent-%COMP%]{overflow:unset}"], changeDetection: 0 }); }
|
|
196
|
+
}
|
|
197
|
+
__decorate([
|
|
198
|
+
ObservableInput(),
|
|
199
|
+
__metadata("design:type", Observable)
|
|
200
|
+
], MetricChartComponent.prototype, "unit$", void 0);
|
|
201
|
+
__decorate([
|
|
202
|
+
ObservableInput(),
|
|
203
|
+
__metadata("design:type", Observable)
|
|
204
|
+
], MetricChartComponent.prototype, "indicator$", void 0);
|
|
205
|
+
__decorate([
|
|
206
|
+
ObservableInput(),
|
|
207
|
+
__metadata("design:type", Observable)
|
|
208
|
+
], MetricChartComponent.prototype, "metricApiParams$", void 0);
|
|
209
|
+
__decorate([
|
|
210
|
+
ObservableInput(),
|
|
211
|
+
__metadata("design:type", Observable)
|
|
212
|
+
], MetricChartComponent.prototype, "adaptUnit$", void 0);
|
|
213
|
+
__decorate([
|
|
214
|
+
ObservableInput(),
|
|
215
|
+
__metadata("design:type", Observable)
|
|
216
|
+
], MetricChartComponent.prototype, "percent$", void 0);
|
|
217
|
+
__decorate([
|
|
218
|
+
ObservableInput(),
|
|
219
|
+
__metadata("design:type", Observable)
|
|
220
|
+
], MetricChartComponent.prototype, "customSeries$", void 0);
|
|
221
|
+
__decorate([
|
|
222
|
+
ObservableInput(),
|
|
223
|
+
__metadata("design:type", Observable)
|
|
224
|
+
], MetricChartComponent.prototype, "chartStatus$", void 0);
|
|
225
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MetricChartComponent, [{
|
|
226
|
+
type: Component,
|
|
227
|
+
args: [{ selector: 'acl-metric-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<acl-view-zchart\n [class.overflow-display]=\"!tooltipAppendToBody\"\n [contextCallbackFunction]=\"contextCallbackFunction\"\n [unit]=\"unit\"\n [hideHeader]=\"hideHeader\"\n [customNoDataTitle]=\"customNoDataTitle\"\n [chartStatus]=\"status$ | async\"\n [backgroundColor]=\"backgroundColor\"\n [series]=\"series$ | async\"\n [curveType]=\"curveType\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [mode]=\"mode\"\n [gridOffsetTop]=\"gridOffsetTop\"\n [title]=\"title\"\n [chartType]=\"chartType\"\n [hideTitle]=\"hideTitle\"\n [tooltipHide]=\"tooltipHide\"\n [tooltipSortMethod]=\"tooltipSortMethod\"\n [titleDescription]=\"titleDescription\"\n [titleDescriptionContext]=\"titleDescriptionContext\"\n [hideLegend]=\"(dependOnData && noData) || hideLegend\"\n [dateAxisLabelFormats]=\"dateAxisLabelFormats\"\n [enableZoom]=\"enableZoom\"\n [stepLine]=\"stepLine\"\n [rotated]=\"rotated\"\n [rightOperation]=\"rightOperation\"\n [leftOperation]=\"leftOperation\"\n [leftOperationContext]=\"leftOperationContext\"\n [legendTemplate]=\"legendTemplate\"\n [legendSelectAllOperation]=\"legendSelectAllOperation\"\n [legendSelectAllName]=\"legendSelectAllName\"\n [yAccessor]=\"yAccessor || (yAccessor$ | async)\"\n [xAccessor]=\"xAccessor\"\n [yAxisMinStep]=\"yAxisMinStep\"\n [hideTooltipUnit]=\"hideTooltipUnit\"\n [tooltipTitleTemplate]=\"tooltipTitleTemplate\"\n [tooltipAutoSort]=\"tooltipAutoSort\"\n [tooltipTranslation]=\"tooltipTranslation\"\n [tooltipPointNameTemplate]=\"tooltipPointNameTemplate\"\n [tooltipPointTemplate]=\"tooltipPointTemplate\"\n [tooltipPointTemplateContext]=\"tooltipPointTemplateContext\"\n [xPlotLines]=\"xPlotLines\"\n [xPlotEmpty]=\"xPlotEmpty\"\n [yPlotLinesHide]=\"yPlotLinesHide\"\n [yPlotLines]=\"yPlotLines\"\n (mouseUpEvent)=\"mouseUpEvent.next($event)\"\n (markClickEvent)=\"markClickEvent.next($event)\"\n (refreshEvent)=\"refresh()\"\n>\n</acl-view-zchart>\n<!-- [tooltipPointFormat]=\"tooltipPointFormat\" -->\n", styles: [":host{flex:1;display:flex;height:100%;overflow:hidden}:host .overflow-display{overflow:unset}\n"] }]
|
|
228
|
+
}], function () { return [{ type: i1.CommonChartService }, { type: i0.ChangeDetectorRef }]; }, { contextCallbackFunction: [{
|
|
229
|
+
type: Input
|
|
230
|
+
}], backgroundColor: [{
|
|
231
|
+
type: Input
|
|
232
|
+
}], hideHeader: [{
|
|
233
|
+
type: Input
|
|
234
|
+
}], title: [{
|
|
235
|
+
type: Input
|
|
236
|
+
}], hideTitle: [{
|
|
237
|
+
type: Input
|
|
238
|
+
}], chartType: [{
|
|
239
|
+
type: Input
|
|
240
|
+
}], titleDescription: [{
|
|
241
|
+
type: Input
|
|
242
|
+
}], titleDescriptionContext: [{
|
|
243
|
+
type: Input
|
|
244
|
+
}], unit: [{
|
|
245
|
+
type: Input
|
|
246
|
+
}], tooltipAppendToBody: [{
|
|
247
|
+
type: Input
|
|
248
|
+
}], overflow: [{
|
|
249
|
+
type: HostBinding,
|
|
250
|
+
args: ['style.overflow']
|
|
251
|
+
}], unit$: [], indicator: [{
|
|
252
|
+
type: Input
|
|
253
|
+
}], gridOffsetTop: [{
|
|
254
|
+
type: Input
|
|
255
|
+
}], yAxisMinStep: [{
|
|
256
|
+
type: Input
|
|
257
|
+
}], rotated: [{
|
|
258
|
+
type: Input
|
|
259
|
+
}], barType: [{
|
|
260
|
+
type: Input
|
|
261
|
+
}], indicator$: [], metricApiParams: [{
|
|
262
|
+
type: Input
|
|
263
|
+
}], metricApiParams$: [], tooltipPointNameTemplate: [{
|
|
264
|
+
type: Input
|
|
265
|
+
}], tooltipPointTemplate: [{
|
|
266
|
+
type: Input
|
|
267
|
+
}], legendTemplate: [{
|
|
268
|
+
type: Input
|
|
269
|
+
}], legendSelectAllOperation: [{
|
|
270
|
+
type: Input
|
|
271
|
+
}], legendSelectAllName: [{
|
|
272
|
+
type: Input
|
|
273
|
+
}], tooltipHide: [{
|
|
274
|
+
type: Input
|
|
275
|
+
}], tooltipPointFormat: [{
|
|
276
|
+
type: Input
|
|
277
|
+
}], tooltipPointTemplateContext: [{
|
|
278
|
+
type: Input
|
|
279
|
+
}], tooltipColumnLayout: [{
|
|
280
|
+
type: Input
|
|
281
|
+
}], hideLegend: [{
|
|
282
|
+
type: Input
|
|
283
|
+
}], tooltipAutoSort: [{
|
|
284
|
+
type: Input
|
|
285
|
+
}], tooltipSortMethod: [{
|
|
286
|
+
type: Input
|
|
287
|
+
}], hideTooltipUnit: [{
|
|
288
|
+
type: Input
|
|
289
|
+
}], leftOperation: [{
|
|
290
|
+
type: Input
|
|
291
|
+
}], leftOperationContext: [{
|
|
292
|
+
type: Input
|
|
293
|
+
}], rightOperation: [{
|
|
294
|
+
type: Input
|
|
295
|
+
}], mode: [{
|
|
296
|
+
type: Input
|
|
297
|
+
}], adaptUnit: [{
|
|
298
|
+
type: Input
|
|
299
|
+
}], adaptUnit$: [], percent: [{
|
|
300
|
+
type: Input
|
|
301
|
+
}], percent$: [], dependOnData: [{
|
|
302
|
+
type: Input
|
|
303
|
+
}], customNoDataTitle: [{
|
|
304
|
+
type: Input
|
|
305
|
+
}], dataFormat: [{
|
|
306
|
+
type: Input
|
|
307
|
+
}], customSeries: [{
|
|
308
|
+
type: Input
|
|
309
|
+
}], customSeries$: [], isCustomSeries: [{
|
|
310
|
+
type: Input
|
|
311
|
+
}], chartStatus: [{
|
|
312
|
+
type: Input
|
|
313
|
+
}], chartStatus$: [], tooltipTranslation: [{
|
|
314
|
+
type: Input
|
|
315
|
+
}], xPlotLines: [{
|
|
316
|
+
type: Input
|
|
317
|
+
}], xPlotEmpty: [{
|
|
318
|
+
type: Input
|
|
319
|
+
}], yPlotLines: [{
|
|
320
|
+
type: Input
|
|
321
|
+
}], yPlotLinesTooltip: [{
|
|
322
|
+
type: Input
|
|
323
|
+
}], yPlotLinesTooltipContext: [{
|
|
324
|
+
type: Input
|
|
325
|
+
}], yPlotLinesHide: [{
|
|
326
|
+
type: Input
|
|
327
|
+
}], enableZoom: [{
|
|
328
|
+
type: Input
|
|
329
|
+
}], stepLine: [{
|
|
330
|
+
type: Input
|
|
331
|
+
}], tooltipTitleTemplate: [{
|
|
332
|
+
type: Input
|
|
333
|
+
}], yAccessor: [{
|
|
334
|
+
type: Input
|
|
335
|
+
}], curveType: [{
|
|
336
|
+
type: Input
|
|
337
|
+
}], mouseUpEvent: [{
|
|
338
|
+
type: Output
|
|
339
|
+
}], markClickEvent: [{
|
|
340
|
+
type: Output
|
|
341
|
+
}], refreshEvent: [{
|
|
342
|
+
type: Output
|
|
343
|
+
}], dataCompleted: [{
|
|
344
|
+
type: Output
|
|
345
|
+
}] }); })();
|
|
346
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9tZXRyaWMtY2hhcnQvbWV0cmljLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9tZXRyaWMtY2hhcnQvbWV0cmljLWNoYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFDUCxhQUFhLEVBQ2IsS0FBSyxFQUNMLEVBQUUsRUFDRixJQUFJLEVBQ0osZUFBZSxFQUNmLFVBQVUsRUFDVixNQUFNLEVBQ04sR0FBRyxFQUNILFNBQVMsRUFDVCxHQUFHLEVBQ0gsY0FBYyxHQUNmLE1BQU0sTUFBTSxDQUFDO0FBR2QsT0FBTyxFQUdMLHVCQUF1QixHQUN4QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBYSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFRNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFtQixrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBUXRFLE1BQU0sT0FBTyxvQkFBb0I7SUFxQi9CLElBQ0ksUUFBUTtRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLElBQUksT0FBTyxDQUFDO0lBQzlDLENBQUM7SUE0SUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxD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YSxNQUV2QixjQUFjO2tCQUF0QixLQUFLO1lBSUcsV0FBVztrQkFBbkIsS0FBSztZQUVOLFlBQVksTUFFSCxrQkFBa0I7a0JBQTFCLEtBQUs7WUFFRyxVQUFVO2tCQUFsQixLQUFLO1lBRUcsVUFBVTtrQkFBbEIsS0FBSztZQUVHLFVBQVU7a0JBQWxCLEtBQUs7WUFFRyxpQkFBaUI7a0JBQXpCLEtBQUs7WUFFRyx3QkFBd0I7a0JBQWhDLEtBQUs7WUFFRyxjQUFjO2tCQUF0QixLQUFLO1lBRUcsVUFBVTtrQkFBbEIsS0FBSztZQUVHLFFBQVE7a0JBQWhCLEtBQUs7WUFFRyxvQkFBb0I7a0JBQTVCLEtBQUs7WUFFRyxTQUFTO2tCQUFqQixLQUFLO1lBRUcsU0FBUztrQkFBakIsS0FBSztZQUVJLFlBQVk7a0JBQXJCLE1BQU07WUFFRyxjQUFjO2tCQUF2QixNQUFNO1lBRUcsWUFBWTtrQkFBckIsTUFBTTtZQUVHLGFBQWE7a0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb29sdGlwQ29udGV4dCB9IGZyb20gJ0BhbGF1ZGEvY2hhcnQnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3VydmVGYWN0b3J5LCBDdXJ2ZUZhY3RvcnlMaW5lT25seSB9IGZyb20gJ2QzJztcbmltcG9ydCB7XG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIG1lcmdlLFxuICBvZixcbiAgcGlwZSxcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjYXRjaEVycm9yLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG4gIHdpdGhMYXRlc3RGcm9tLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENoYXJ0LCBUb29sdGlwVmFsdWUgfSBmcm9tICd6ei1jaGFydCc7XG5cbmltcG9ydCB7XG4gIEFyZWFQb3NpdGlvbixcbiAgQ29udGV4dEl0ZW0sXG4gIERBVEVfVElNRV9GT1JNQVRfWF9BWElTLFxufSBmcm9tICcuLi9jaGFydC9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFN0cmluZ01hcCwgT2JzZXJ2YWJsZUlucHV0LCBwdWJsaXNoUmVmIH0gZnJvbSAnLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7XG4gIENoYXJ0RGF0YSxcbiAgQ2hhcnREYXRhSXRlbSxcbiAgQ2hhcnRTdGF0dXMsXG4gIFhQbG90TGluZXMsXG59IGZyb20gJy4uL3ZpZXctY2hhcnQvcHVibGljLWFwaSc7XG5cbmltcG9ydCB7IENvbW1vbkNoYXJ0U2VydmljZSB9IGZyb20gJy4vY29tbW9uLWNoYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWF0Y2hVbml0UGFyYW1zLCBQSUNLRVJfVElNRV9SQU5HRVMgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgSW5kaWNhdG9yLCBNZXRyaWNBcGlQYXJhbXMsIE1ldHJpY1Jlc3VsdCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgY2hlY2tJbnRlcnZhbCwgZmlsbE51bGxDaGFydERhdGEsIGhhc05vRGF0YSB9IGZyb20gJy4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtbWV0cmljLWNoYXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldHJpYy1jaGFydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21ldHJpYy1jaGFydC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWV0cmljQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjb250ZXh0Q2FsbGJhY2tGdW5jdGlvbjogKGNvbnRleHQ6IENoYXJ0KSA9PiB2b2lkO1xuXG4gIEBJbnB1dCgpIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGhpZGVIZWFkZXI6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpIGhpZGVUaXRsZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBjaGFydFR5cGU6ICdsaW5lJyB8ICdhcmVhJyB8ICdiYXInIHwgJ3BvaW50JyB8ICdzdGF0JyA9ICdhcmVhJztcblxuICBASW5wdXQoKSB0aXRsZURlc2NyaXB0aW9uOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKSB0aXRsZURlc2NyaXB0aW9uQ29udGV4dDogU3RyaW5nTWFwO1xuXG4gIEBJbnB1dCgpIHVuaXQ6IHN0cmluZztcblxuICBASW5wdXQoKSB0b29sdGlwQXBwZW5kVG9Cb2R5ID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm92ZXJmbG93JylcbiAgZ2V0IG92ZXJmbG93KCkge1xuICAgIHJldHVybiAhdGhpcy50b29sdGlwQXBwZW5kVG9Cb2R5ICYmICd1bnNldCc7XG4gIH1cblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgdW5pdCQhOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgQElucHV0KCkgaW5kaWNhdG9yOiBJbmRpY2F0b3JbXTtcblxuICBASW5wdXQoKSBncmlkT2Zmc2V0VG9wID0gMDtcblxuICBASW5wdXQoKSB5QXhpc01pblN0ZXA/OiBudW1iZXI7XG5cbiAgQElucHV0KCkgcm90YXRlZDogYm9vbGVhbjtcblxuICBASW5wdXQoKSBiYXJUeXBlOiAnc3RhbmRhcmQnIHwgJ3N0YWNrZWQnID0gJ3N0YW5kYXJkJztcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgaW5kaWNhdG9yJCE6IE9ic2VydmFibGU8SW5kaWNhdG9yW10+O1xuXG4gIEBJbnB1dCgpIG1ldHJpY0FwaVBhcmFtczogTWV0cmljQXBpUGFyYW1zO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBtZXRyaWNBcGlQYXJhbXMkITogT2JzZXJ2YWJsZTxNZXRyaWNBcGlQYXJhbXM+O1xuXG4gIEBJbnB1dCgpIHRvb2x0aXBQb2ludE5hbWVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KCkgdG9vbHRpcFBvaW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpIGxlZ2VuZFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHN0cmluZztcblxuICBASW5wdXQoKSBsZWdlbmRTZWxlY3RBbGxPcGVyYXRpb24gPSBmYWxzZTtcblxuICBASW5wdXQoKSBsZWdlbmRTZWxlY3RBbGxOYW1lOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgdG9vbHRpcEhpZGU6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgdG9vbHRpcFBvaW50Rm9ybWF0OiAoZDogQ29udGV4dEl0ZW0pID0+IG51bWJlciB8IHN0cmluZztcblxuICBASW5wdXQoKSB0b29sdGlwUG9pbnRUZW1wbGF0ZUNvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG5cbiAgQElucHV0KCkgdG9vbHRpcENvbHVtbkxheW91dDogYm9vbGVhbjtcblxuICBASW5wdXQoKSBoaWRlTGVnZW5kID0gZmFsc2U7XG5cbiAgQElucHV0KCkgdG9vbHRpcEF1dG9Tb3J0OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHRvb2x0aXBTb3J0TWV0aG9kOiAoYTogVG9vbHRpcFZhbHVlLCBiOiBUb29sdGlwVmFsdWUpID0+IG51bWJlcjtcblxuICBASW5wdXQoKSBoaWRlVG9vbHRpcFVuaXQ6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgbGVmdE9wZXJhdGlvbjogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KCkgbGVmdE9wZXJhdGlvbkNvbnRleHQ6IFN0cmluZ01hcDtcblxuICBASW5wdXQoKSByaWdodE9wZXJhdGlvbjogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KCkgbW9kZTogJ2NhcmQnIHwgJ2RlZmF1bHQnID0gJ2RlZmF1bHQnO1xuXG4gIEBJbnB1dCgpXG4gIGFkYXB0VW5pdDogYm9vbGVhbiB8IE1hdGNoVW5pdFBhcmFtcztcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgYWRhcHRVbml0JCE6IE9ic2VydmFibGU8Ym9vbGVhbiB8IE1hdGNoVW5pdFBhcmFtcz47XG5cbiAgQElucHV0KClcbiAgcGVyY2VudDogYm9vbGVhbjtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgcGVyY2VudCQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIEBJbnB1dCgpIGRlcGVuZE9uRGF0YTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBjdXN0b21Ob0RhdGFUaXRsZTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBzdHJpbmc7XG5cbiAgQElucHV0KCkgZGF0YUZvcm1hdDogKFxuICAgIGQ6IE1ldHJpY1Jlc3VsdFtdLFxuICAgIGluZGljYXRvcjogSW5kaWNhdG9yW10sXG4gICkgPT4gQ2hhcnREYXRhW107XG5cbiAgQElucHV0KCkgY3VzdG9tU2VyaWVzITogTWV0cmljUmVzdWx0W107XG4gIEBPYnNlcnZhYmxlSW5wdXQoKSBjdXN0b21TZXJpZXMkITogT2JzZXJ2YWJsZTxNZXRyaWNSZXN1bHRbXT47XG5cbiAgQElucHV0KCkgaXNDdXN0b21TZXJpZXM6IGJvb2xlYW47XG5cbiAgc2VyaWVzJDogT2JzZXJ2YWJsZTxDaGFydERhdGFbXT47XG5cbiAgQElucHV0KCkgY2hhcnRTdGF0dXM6IENoYXJ0U3RhdHVzO1xuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgY2hhcnRTdGF0dXMkITogT2JzZXJ2YWJsZTxDaGFydFN0YXR1cz47XG5cbiAgQElucHV0KCkgdG9vbHRpcFRyYW5zbGF0aW9uID0gdHJ1ZTtcblxuICBASW5wdXQoKSB4UGxvdExpbmVzOiBYUGxvdExpbmVzO1xuXG4gIEBJbnB1dCgpIHhQbG90RW1wdHk6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgeVBsb3RMaW5lczogVG9vbHRpcENvbnRleHQ7XG5cbiAgQElucHV0KCkgeVBsb3RMaW5lc1Rvb2x0aXA6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpIHlQbG90TGluZXNUb29sdGlwQ29udGV4dDogU3RyaW5nTWFwO1xuXG4gIEBJbnB1dCgpIHlQbG90TGluZXNIaWRlID0gZmFsc2U7XG5cbiAgQElucHV0KCkgZW5hYmxlWm9vbTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBzdGVwTGluZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSB0b29sdGlwVGl0bGVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KCkgeUFjY2Vzc29yOiAoZDogQ2hhcnREYXRhSXRlbSkgPT4gbnVtYmVyO1xuXG4gIEBJbnB1dCgpIGN1cnZlVHlwZTogQ3VydmVGYWN0b3J5IHwgQ3VydmVGYWN0b3J5TGluZU9ubHk7XG5cbiAgQE91dHB1dCgpIG1vdXNlVXBFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8QXJlYVBvc2l0aW9uPigpO1xuXG4gIEBPdXRwdXQoKSBtYXJrQ2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8VG9vbHRpcENvbnRleHQ+KCk7XG5cbiAgQE91dHB1dCgpIHJlZnJlc2hFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KCkgZGF0YUNvbXBsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICByZWxvYWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfY2hhcnRTdGF0dXMkJCA9IG5ldyBTdWJqZWN0PENoYXJ0U3RhdHVzPigpO1xuICBfc3RhdHVzOiBDaGFydFN0YXR1cyA9IHt9O1xuICBzdGF0dXMkID0gbWVyZ2UodGhpcy5jaGFydFN0YXR1cyQsIHRoaXMuX2NoYXJ0U3RhdHVzJCQpLnBpcGUoXG4gICAgbWFwKHN0YXR1cyA9PiAoe1xuICAgICAgLi4udGhpcy5fc3RhdHVzLFxuICAgICAgLi4uc3RhdHVzLFxuICAgIH0pKSxcbiAgICB0YXAoc3RhdHVzID0+ICh0aGlzLl9zdGF0dXMgPSBzdGF0dXMpKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgbm9EYXRhOiBib29sZWFuO1xuXG4gIGRhdGVBeGlzTGFiZWxGb3JtYXRzID0gREFURV9USU1FX0ZPUk1BVF9YX0FYSVM7XG5cbiAgZGF0ZVhBeGlzTGFiZWxGb3JtYXRzID0gJyVIOiVNJztcblxuICBnZXQgeEFjY2Vzc29yKCkge1xuICAgIHJldHVybiAoZDogQ2hhcnREYXRhSXRlbTx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0+KSA9PiBkLnggKiAxMDAwO1xuICB9XG5cbiAgeUFjY2Vzc29yJCA9IHRoaXMucGVyY2VudCQucGlwZShcbiAgICB0YXAocGVyY2VudCA9PiB7XG4gICAgICBpZiAocGVyY2VudCkge1xuICAgICAgICB0aGlzLnVuaXQgPSAnJSc7XG4gICAgICB9XG4gICAgfSksXG4gICAgbWFwKHBlcmNlbnQgPT4gKGQ6IENoYXJ0RGF0YUl0ZW08eyB4OiBudW1iZXI7IHk6IG51bWJlciB9PikgPT4ge1xuICAgICAgLy8gcHJvbWV0aGV1cyDlj6/og73lh7rnjrAgSW5maW5pdHnmg4XlhrXvvIzlpITnkIbkuLogbnVsbFxuICAgICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUoZC55KSB8fCBTdHJpbmcoZC55KSA9PT0gJytJbmYnKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBlcmNlbnQgJiYgZC55ID8gK2QueSAqIDEwMCA6IGQueSA9PT0gbnVsbCA/IGQueSA6ICtkLnk7XG4gICAgfSksXG4gICk7XG5cbiAgX2NhY2hlVGltZTogTWV0cmljQXBpUGFyYW1zID0ge1xuICAgIHN0YXJ0OiBQSUNLRVJfVElNRV9SQU5HRVNbMV0uc3RhcnRUaW1lKCksXG4gICAgZW5kOiBQSUNLRVJfVElNRV9SQU5HRVNbMV0uZW5kVGltZSgpLFxuICAgIHN0ZXA6IFBJQ0tFUl9USU1FX1JBTkdFU1sxXS5zdGVwLFxuICB9O1xuXG4gIHByaXZhdGUgY2hhcnRQYXJhbXM6IE1ldHJpY0FwaVBhcmFtcztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2U6IENvbW1vbkNoYXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5tZXRyaWNBcGlQYXJhbXMpIHtcbiAgICAgIHRoaXMuX2NhY2hlVGltZSA9IHRoaXMubWV0cmljQXBpUGFyYW1zO1xuICAgIH1cblxuICAgIHRoaXMuc2VyaWVzJCA9IChcbiAgICAgIHRoaXMuaXNDdXN0b21TZXJpZXMgPyB0aGlzLmN1c3RvbVNlcmllcyQgOiB0aGlzLmRlZmF1bHRTZXJpZXMkXG4gICAgKS5waXBlKHRoaXMuaGFuZGxlTWV0cmljRGF0YVBpcGUoKSk7XG4gIH1cblxuICBkZWZhdWx0U2VyaWVzJDogT2JzZXJ2YWJsZTxNZXRyaWNSZXN1bHRbXT4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLm1ldHJpY0FwaVBhcmFtcyQsXG4gICAgdGhpcy5pbmRpY2F0b3IkLFxuICAgIHRoaXMucmVsb2FkJCxcbiAgXSkucGlwZShcbiAgICB0YXAoKFssIGluZGljYXRvcl0pID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlVGltZVBhcmFtcygpO1xuICAgICAgdGhpcy5oYW5kbGVEYXRlQXhpc0xhYmVsRm9ybWF0cyh0aGlzLmNoYXJ0UGFyYW1zKTtcbiAgICAgIHRoaXMuaGFuZGVsQ2hhcnRTdGF0dXMoe1xuICAgICAgICBsb2FkaW5nOiAhIWluZGljYXRvcj8ubGVuZ3RoLFxuICAgICAgICBmYWlsZWQ6IGZhbHNlLFxuICAgICAgICBub0RhdGE6ICFpbmRpY2F0b3I/Lmxlbmd0aCxcbiAgICAgIH0pO1xuICAgIH0pLFxuICAgIHN3aXRjaE1hcCgoW18sIGluZGljYXRvcl0pID0+XG4gICAgICBpbmRpY2F0b3I/Lmxlbmd0aCAmJiB0aGlzLmNoYXJ0UGFyYW1zXG4gICAgICAgID8gdGhpcy5zZXJ2aWNlLnJlcXVlc3RDaGFydERhdGEodGhpcy5jaGFydFBhcmFtcywgaW5kaWNhdG9yKS5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuaGFuZGVsQ2hhcnRTdGF0dXMoeyBsb2FkaW5nOiBmYWxzZSwgZmFpbGVkOiB0cnVlIH0pO1xuICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApXG4gICAgICAgIDogb2YobnVsbCksXG4gICAgKSxcbiAgKTtcblxuICBoYW5kbGVUaW1lUGFyYW1zKCkge1xuICAgIGxldCB0aW1lUGFyYW1zID0gdGhpcy5tZXRyaWNBcGlQYXJhbXM7XG4gICAgaWYgKHRpbWVQYXJhbXMpIHtcbiAgICAgIGlmIChjaGVja0ludGVydmFsKHRoaXMubWV0cmljQXBpUGFyYW1zLCB0aGlzLl9jYWNoZVRpbWUpKSB7XG4gICAgICAgIHRoaXMuX2NhY2hlVGltZSA9IHRoaXMubWV0cmljQXBpUGFyYW1zO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGltZVBhcmFtcyA9IHRoaXMuX2NhY2hlVGltZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2hhcnRQYXJhbXMgPSB7XG4gICAgICAgIC4uLnRoaXMubWV0cmljQXBpUGFyYW1zLFxuICAgICAgICAuLi50aW1lUGFyYW1zLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVNZXRyaWNEYXRhUGlwZSgpIHtcbiAgICByZXR1cm4gcGlwZShcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzQ3VzdG9tU2VyaWVzKSB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVUaW1lUGFyYW1zKCk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgZmlsdGVyKFxuICAgICAgICAocmVzOiBNZXRyaWNSZXN1bHRbXSkgPT5cbiAgICAgICAgICAhIXRoaXMuY2hhcnRQYXJhbXMgJiYgKCEhcmVzIHx8ICF0aGlzLmluZGljYXRvcj8ubGVuZ3RoKSxcbiAgICAgICksXG4gICAgICBtYXAoKHJlczogTWV0cmljUmVzdWx0W10pID0+IHtcbiAgICAgICAgY29uc3QgZm9ybWF0ID0gdGhpcy5kYXRhRm9ybWF0IHx8IHRoaXMuc2VydmljZS5oYW5kZWxDaGFydERhdGE7XG4gICAgICAgIC8vIGBmaWxsTnVsbENoYXJ0RGF0YWAgcHJvbWV0aGV1cyDlrZjlnKjmn5DkuKrml7bpl7TngrnmnKrph4fpm4bliLDmlbDmja7nmoTmg4XlhrXvvIzov5nph4zkuLrljLrliIYg5pyq6YeH6ZuG5Yiw5pWw5o2u5Li6MOeahOaDheWGte+8jOi/memHjOWJjeerr+agueaNruaXtumXtOauteiHquWKqOWhq+WFheaVsOaNrlxuICAgICAgICAvLyDlkI7nq68g6ZyA6KaB5ZKMIFByb21ldGhldXMgQVBJIOS/neaMgeWFvOWuue+8jOi/mOaYr+WcqOWJjeerr+WBmuWkhOeQhuWhq+WFhVxuICAgICAgICByZXR1cm4gZm9ybWF0KHJlcywgdGhpcy5pbmRpY2F0b3IgfHwgW10sIHRoaXMuZGVwZW5kT25EYXRhKT8ubWFwKFxuICAgICAgICAgIGl0ZW0gPT4gKHtcbiAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICB1bml0OiB0aGlzLnVuaXQsXG4gICAgICAgICAgICB2YWx1ZXM6IGZpbGxOdWxsQ2hhcnREYXRhKFxuICAgICAgICAgICAgICB0aGlzLmNoYXJ0UGFyYW1zLFxuICAgICAgICAgICAgICBpdGVtLnZhbHVlcyBhcyBBcnJheTxDaGFydERhdGFJdGVtPHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfT4+LFxuICAgICAgICAgICAgICB0aGlzLnN0ZXBMaW5lLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKHJlcyA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlRGF0ZUF4aXNMYWJlbEZvcm1hdHModGhpcy5jaGFydFBhcmFtcyk7XG4gICAgICAgIHRoaXMuaGFuZGVsQ2hhcnRTdGF0dXMoe1xuICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgIG5vRGF0YTogaGFzTm9EYXRhKHJlcyksXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pLFxuICAgICAgbWFwKHJlcyA9PlxuICAgICAgICByZXM/Lmxlbmd0aFxuICAgICAgICAgID8gcmVzXG4gICAgICAgICAgOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2YWx1ZXM6IGZpbGxOdWxsQ2hhcnREYXRhKHRoaXMuY2hhcnRQYXJhbXMsIFtdLCB0aGlzLnN0ZXBMaW5lKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICApLFxuICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5hZGFwdFVuaXQkKSxcbiAgICAgIG1hcCgoW3JlcywgX2FkYXB0VW5pdF0pID0+IHtcbiAgICAgICAgaWYgKF9hZGFwdFVuaXQgJiYgIXRoaXMubm9EYXRhKSB7XG4gICAgICAgICAgY29uc3QgeyBiYXNlLCB1bml0IH0gPSB0aGlzLnNlcnZpY2UuYWRhcHRDaGFydFVuaXQocmVzLCBfYWRhcHRVbml0KTtcbiAgICAgICAgICB0aGlzLnVuaXQgPSBgdW5pdF8ke3VuaXR9YDtcbiAgICAgICAgICBpZiAodHlwZW9mIF9hZGFwdFVuaXQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBjb25zdCB7IGRlZmF1bHRQcmVmaXggPSB0cnVlLCBwcmVmaXggfSA9IF9hZGFwdFVuaXQ7XG4gICAgICAgICAgICB0aGlzLnVuaXQgPSBkZWZhdWx0UHJlZml4XG4gICAgICAgICAgICAgID8gYHVuaXRfJHt1bml0fWBcbiAgICAgICAgICAgICAgOiBgJHtwcmVmaXggfHwgJyd9JHt1bml0fWA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiAocmVzIGFzIENoYXJ0RGF0YVtdKS5tYXAoKGl0ZW06IENoYXJ0RGF0YSkgPT4gKHtcbiAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICB1bml0OiB0aGlzLnVuaXQsXG4gICAgICAgICAgICB2YWx1ZXM6IGl0ZW0udmFsdWVzLm1hcChkID0+ICh7XG4gICAgICAgICAgICAgIC4uLmQsXG4gICAgICAgICAgICAgIHk6IGQueSA/IGQueSAvIGJhc2UgOiBkLnksXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXMubWFwKGl0ZW0gPT4gKHsgLi4uaXRlbSwgdW5pdDogdGhpcy51bml0IH0pKSBhcyBDaGFydERhdGFbXTtcbiAgICAgIH0pLFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5kYXRhQ29tcGxldGVkLm5leHQoKTtcbiAgICAgIH0pLFxuICAgICAgcHVibGlzaFJlZigpLFxuICAgICk7XG4gIH1cblxuICByZWZyZXNoKCkge1xuICAgIHRoaXMucmVsb2FkJC5uZXh0KG51bGwpO1xuICAgIHRoaXMucmVmcmVzaEV2ZW50Lm5leHQobnVsbCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRlbENoYXJ0U3RhdHVzKHN0YXR1czogQ2hhcnRTdGF0dXMpIHtcbiAgICB0aGlzLl9jaGFydFN0YXR1cyQkLm5leHQoe1xuICAgICAgLi4uc3RhdHVzLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVEYXRlQXhpc0xhYmVsRm9ybWF0cyhwYXJhbXM6IE1ldHJpY0FwaVBhcmFtcykge1xuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIGNvbnN0IGRpZmYgPSBwYXJhbXMuZW5kIC0gcGFyYW1zLnN0YXJ0O1xuICAgICAgY29uc3QgbTEgPSAyNCAqIDYwICogNjA7XG4gICAgICBjb25zdCBtMyA9IDMgKiBtMTtcbiAgICAgIGNvbnN0IG03ID0gNyAqIG0xO1xuICAgICAgY29uc3QgTV9EX0ZPUk1BVCA9ICdNTS1ERCc7XG4gICAgICBjb25zdCBmb3JtYXQgPVxuICAgICAgICBkaWZmID49IG03XG4gICAgICAgICAgPyBNX0RfRk9STUFUXG4gICAgICAgICAgOiBkaWZmIDwgbTcgJiYgKGRpZmYgPj0gbTMgfHwgZGlmZiA+IG0xKVxuICAgICAgICAgID8gYCR7TV9EX0ZPUk1BVH0gJHtEQVRFX1RJTUVfRk9STUFUX1hfQVhJU31gXG4gICAgICAgICAgOiBEQVRFX1RJTUVfRk9STUFUX1hfQVhJUztcbiAgICAgIHRoaXMuZGF0ZUF4aXNMYWJlbEZvcm1hdHMgPSBmb3JtYXQ7XG4gICAgICAvLyBodHRwczovL2QzanMub3JnLmNuL2RvY3VtZW50L2QzLXRpbWUtZm9ybWF0LyNhcGktcmVmZXJlbmNlXG4gICAgICB0aGlzLmRhdGVYQXhpc0xhYmVsRm9ybWF0cyA9XG4gICAgICAgIGRpZmYgPj0gbTdcbiAgICAgICAgICA/ICclbS0lZCdcbiAgICAgICAgICA6IGRpZmYgPCBtNyAmJiAoZGlmZiA+PSBtMyB8fCBkaWZmID4gbTEpXG4gICAgICAgICAgPyBgJW0tJWQgJUg6JU1gXG4gICAgICAgICAgOiAnJUg6JU0nO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxufVxuIiwiPGFjbC12aWV3LXpjaGFydFxuICBbY2xhc3Mub3ZlcmZsb3ctZGlzcGxheV09XCIhdG9vbHRpcEFwcGVuZFRvQm9keVwiXG4gIFtjb250ZXh0Q2FsbGJhY2tGdW5jdGlvbl09XCJjb250ZXh0Q2FsbGJhY2tGdW5jdGlvblwiXG4gIFt1bml0XT1cInVuaXRcIlxuICBbaGlkZUhlYWRlcl09XCJoaWRlSGVhZGVyXCJcbiAgW2N1c3RvbU5vRGF0YVRpdGxlXT1cImN1c3RvbU5vRGF0YVRpdGxlXCJcbiAgW2NoYXJ0U3RhdHVzXT1cInN0YXR1cyQgfCBhc3luY1wiXG4gIFtiYWNrZ3JvdW5kQ29sb3JdPVwiYmFja2dyb3VuZENvbG9yXCJcbiAgW3Nlcmllc109XCJzZXJpZXMkIHwgYXN5bmNcIlxuICBbY3VydmVUeXBlXT1cImN1cnZlVHlwZVwiXG4gIFt0b29sdGlwQXBwZW5kVG9Cb2R5XT1cInRvb2x0aXBBcHBlbmRUb0JvZHlcIlxuICBbbW9kZV09XCJtb2RlXCJcbiAgW2dyaWRPZmZzZXRUb3BdPVwiZ3JpZE9mZnNldFRvcFwiXG4gIFt0aXRsZV09XCJ0aXRsZVwiXG4gIFtjaGFydFR5cGVdPVwiY2hhcnRUeXBlXCJcbiAgW2hpZGVUaXRsZV09XCJoaWRlVGl0bGVcIlxuICBbdG9vbHRpcEhpZGVdPVwidG9vbHRpcEhpZGVcIlxuICBbdG9vbHRpcFNvcnRNZXRob2RdPVwidG9vbHRpcFNvcnRNZXRob2RcIlxuICBbdGl0bGVEZXNjcmlwdGlvbl09XCJ0aXRsZURlc2NyaXB0aW9uXCJcbiAgW3RpdGxlRGVzY3JpcHRpb25Db250ZXh0XT1cInRpdGxlRGVzY3JpcHRpb25Db250ZXh0XCJcbiAgW2hpZGVMZWdlbmRdPVwiKGRlcGVuZE9uRGF0YSAmJiBub0RhdGEpIHx8IGhpZGVMZWdlbmRcIlxuICBbZGF0ZUF4aXNMYWJlbEZvcm1hdHNdPVwiZGF0ZUF4aXNMYWJlbEZvcm1hdHNcIlxuICBbZW5hYmxlWm9vbV09XCJlbmFibGVab29tXCJcbiAgW3N0ZXBMaW5lXT1cInN0ZXBMaW5lXCJcbiAgW3JvdGF0ZWRdPVwicm90YXRlZFwiXG4gIFtyaWdodE9wZXJhdGlvbl09XCJyaWdodE9wZXJhdGlvblwiXG4gIFtsZWZ0T3BlcmF0aW9uXT1cImxlZnRPcGVyYXRpb25cIlxuICBbbGVmdE9wZXJhdGlvbkNvbnRleHRdPVwibGVmdE9wZXJhdGlvbkNvbnRleHRcIlxuICBbbGVnZW5kVGVtcGxhdGVdPVwibGVnZW5kVGVtcGxhdGVcIlxuICBbbGVnZW5kU2VsZWN0QWxsT3BlcmF0aW9uXT1cImxlZ2VuZFNlbGVjdEFsbE9wZXJhdGlvblwiXG4gIFtsZWdlbmRTZWxlY3RBbGxOYW1lXT1cImxlZ2VuZFNlbGVjdEFsbE5hbWVcIlxuICBbeUFjY2Vzc29yXT1cInlBY2Nlc3NvciB8fCAoeUFjY2Vzc29yJCB8IGFzeW5jKVwiXG4gIFt4QWNjZXNzb3JdPVwieEFjY2Vzc29yXCJcbiAgW3lBeGlzTWluU3RlcF09XCJ5QXhpc01pblN0ZXBcIlxuICBbaGlkZVRvb2x0aXBVbml0XT1cImhpZGVUb29sdGlwVW5pdFwiXG4gIFt0b29sdGlwVGl0bGVUZW1wbGF0ZV09XCJ0b29sdGlwVGl0bGVUZW1wbGF0ZVwiXG4gIFt0b29sdGlwQXV0b1NvcnRdPVwidG9vbHRpcEF1dG9Tb3J0XCJcbiAgW3Rvb2x0aXBUcmFuc2xhdGlvbl09XCJ0b29sdGlwVHJhbnNsYXRpb25cIlxuICBbdG9vbHRpcFBvaW50TmFtZVRlbXBsYXRlXT1cInRvb2x0aXBQb2ludE5hbWVUZW1wbGF0ZVwiXG4gIFt0b29sdGlwUG9pbnRUZW1wbGF0ZV09XCJ0b29sdGlwUG9pbnRUZW1wbGF0ZVwiXG4gIFt0b29sdGlwUG9pbnRUZW1wbGF0ZUNvbnRleHRdPVwidG9vbHRpcFBvaW50VGVtcGxhdGVDb250ZXh0XCJcbiAgW3hQbG90TGluZXNdPVwieFBsb3RMaW5lc1wiXG4gIFt4UGxvdEVtcHR5XT1cInhQbG90RW1wdHlcIlxuICBbeVBsb3RMaW5lc0hpZGVdPVwieVBsb3RMaW5lc0hpZGVcIlxuICBbeVBsb3RMaW5lc109XCJ5UGxvdExpbmVzXCJcbiAgKG1vdXNlVXBFdmVudCk9XCJtb3VzZVVwRXZlbnQubmV4dCgkZXZlbnQpXCJcbiAgKG1hcmtDbGlja0V2ZW50KT1cIm1hcmtDbGlja0V2ZW50Lm5leHQoJGV2ZW50KVwiXG4gIChyZWZyZXNoRXZlbnQpPVwicmVmcmVzaCgpXCJcbj5cbjwvYWNsLXZpZXctemNoYXJ0PlxuPCEtLSBbdG9vbHRpcFBvaW50Rm9ybWF0XT1cInRvb2x0aXBQb2ludEZvcm1hdFwiIC0tPlxuIl19
|