@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,225 @@
|
|
|
1
|
+
import dayjs from 'dayjs';
|
|
2
|
+
import { get, isFunction, template } from 'lodash-es';
|
|
3
|
+
import { CHART_TIME_FORMAT } from '../../a-chart/public-api';
|
|
4
|
+
import { FIELD_NOT_AVAILABLE_PLACEHOLDER, } from '../../core/public-api';
|
|
5
|
+
import { PICKER_TIME_RANGES } from '../../metric-chart/helpers';
|
|
6
|
+
import { roundInterval } from './range';
|
|
7
|
+
export function handleMetricParams(params, { variableSource, start, end, step, isIndex }) {
|
|
8
|
+
// eslint-disable-next-line sonarjs/cognitive-complexity
|
|
9
|
+
const value = params.map((cur, index) => {
|
|
10
|
+
const v = Array.isArray(variableSource)
|
|
11
|
+
? variableSource.filter((item, i) => Object.keys(item).length &&
|
|
12
|
+
((isIndex
|
|
13
|
+
? index === i
|
|
14
|
+
: cur?.variables?.every(v => Object.keys(item).includes(v))) ||
|
|
15
|
+
cur.expr))
|
|
16
|
+
: cur.variables?.length && variableSource
|
|
17
|
+
? [variableSource]
|
|
18
|
+
: [];
|
|
19
|
+
const variable = v.map(value => {
|
|
20
|
+
return cur.expr
|
|
21
|
+
? value
|
|
22
|
+
: cur.variables?.reduce((pre, key) => value[key]
|
|
23
|
+
? {
|
|
24
|
+
...pre,
|
|
25
|
+
[key]: value[key],
|
|
26
|
+
}
|
|
27
|
+
: pre, {});
|
|
28
|
+
});
|
|
29
|
+
const indicators = cur.indicators || cur.expr;
|
|
30
|
+
return {
|
|
31
|
+
indicators: cur.indicators,
|
|
32
|
+
exprs: cur.expr ? [indicators] : [],
|
|
33
|
+
variables: variable,
|
|
34
|
+
};
|
|
35
|
+
});
|
|
36
|
+
return {
|
|
37
|
+
indicators: value,
|
|
38
|
+
start,
|
|
39
|
+
end,
|
|
40
|
+
step,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export function handleChartData({ indicatorParams, metricParams }, data) {
|
|
44
|
+
if (!data) {
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
47
|
+
const { dependentData } = metricParams;
|
|
48
|
+
return dependentData
|
|
49
|
+
? dependOnData(indicatorParams, data)
|
|
50
|
+
: dependOnIndicator(indicatorParams, data);
|
|
51
|
+
}
|
|
52
|
+
export function dependOnIndicator(indicatorParams, data) {
|
|
53
|
+
return indicatorParams.reduce((pre, params) => {
|
|
54
|
+
const metricData = data?.find(item => item.indicator === params.indicators);
|
|
55
|
+
return [...pre, handleDataResult(params, metricData?.result?.[0])];
|
|
56
|
+
}, []);
|
|
57
|
+
}
|
|
58
|
+
export function dependOnData(indicatorParams, data) {
|
|
59
|
+
const params = indicatorParams[0];
|
|
60
|
+
return data?.reduce((pre, res) => {
|
|
61
|
+
if (params.indicators === res.indicator || params.expr === res.query) {
|
|
62
|
+
return [
|
|
63
|
+
...pre,
|
|
64
|
+
...res.result.map(item => handleDataResult(params, item)),
|
|
65
|
+
];
|
|
66
|
+
}
|
|
67
|
+
return pre;
|
|
68
|
+
}, []);
|
|
69
|
+
}
|
|
70
|
+
export function handleDataResult(params, res) {
|
|
71
|
+
return {
|
|
72
|
+
name: handleLegend(params, res),
|
|
73
|
+
values: res?.values?.map(d => ({
|
|
74
|
+
x: d[0],
|
|
75
|
+
y: d[1],
|
|
76
|
+
})),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
export function handleLegend(params, result) {
|
|
80
|
+
return isFunction(params?.legend)
|
|
81
|
+
? params.legend(params, result)
|
|
82
|
+
: getLegendName(params?.legend, result?.metric || {});
|
|
83
|
+
}
|
|
84
|
+
export const LEGEND_TEMPLATE_OPTIONS = Object.freeze({
|
|
85
|
+
// eslint-disable-next-line regexp/match-any, regexp/strict
|
|
86
|
+
interpolate: /{{\.([\S\s]+?)}}/g,
|
|
87
|
+
});
|
|
88
|
+
export function getLegendName(metricKey, metric) {
|
|
89
|
+
if (!metricKey && !Object.keys(metric || {})?.length) {
|
|
90
|
+
return FIELD_NOT_AVAILABLE_PLACEHOLDER;
|
|
91
|
+
}
|
|
92
|
+
if (!metricKey && metric) {
|
|
93
|
+
return JSON.stringify(metric);
|
|
94
|
+
}
|
|
95
|
+
const metricKeys = metricKey?.split(',').map(matchLegend);
|
|
96
|
+
if (metricKeys?.length > 1) {
|
|
97
|
+
const value = metric?.[metricKeys.find(item => metric[item])];
|
|
98
|
+
return value || metricKey;
|
|
99
|
+
}
|
|
100
|
+
return (getLegendTemplate(metricKey, metric) ||
|
|
101
|
+
metric[matchLegend(metricKey)] ||
|
|
102
|
+
metricKey);
|
|
103
|
+
}
|
|
104
|
+
function getLegendTemplate(str, obj) {
|
|
105
|
+
let name;
|
|
106
|
+
try {
|
|
107
|
+
name = get(obj, str) || template(str, LEGEND_TEMPLATE_OPTIONS)(obj);
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
name = '';
|
|
111
|
+
}
|
|
112
|
+
return name;
|
|
113
|
+
}
|
|
114
|
+
function matchLegend(value) {
|
|
115
|
+
// eslint-disable-next-line unicorn/better-regex
|
|
116
|
+
return value.match(/\{\{\.(.+?)\}\}/)?.[1] || value;
|
|
117
|
+
}
|
|
118
|
+
// 填充空数据
|
|
119
|
+
// eslint-disable-next-line sonarjs/cognitive-complexity
|
|
120
|
+
export function fillNullData({ start, end, step }, res = [], isZero = false, stepLine = false) {
|
|
121
|
+
if (!+start || !+end) {
|
|
122
|
+
return res;
|
|
123
|
+
}
|
|
124
|
+
const _step = step || roundInterval(start, end);
|
|
125
|
+
const curStart = +start;
|
|
126
|
+
const nullValue = isZero ? 0 : null;
|
|
127
|
+
const curEnd = start + step * ((end - start) / step);
|
|
128
|
+
const preX = stepLine
|
|
129
|
+
? {
|
|
130
|
+
preX: dayjs(curStart)
|
|
131
|
+
.subtract((end - start) / 6, 's')
|
|
132
|
+
.valueOf(),
|
|
133
|
+
}
|
|
134
|
+
: {};
|
|
135
|
+
const result = [
|
|
136
|
+
...(curStart === res[0]?.x ? [] : [{ x: curStart, y: nullValue, ...preX }]),
|
|
137
|
+
...res,
|
|
138
|
+
...(res.at(-1)?.x === curEnd ? [] : [{ x: curEnd, y: nullValue }]),
|
|
139
|
+
];
|
|
140
|
+
// query 返回数据可能存在某个时间段无数据情况,会导致前端bug
|
|
141
|
+
// 通过 step 计算出 总数据。
|
|
142
|
+
// 在出现一开始数据缺失情况,先给数据添加开始时间数据,和结束时间数据。
|
|
143
|
+
// 在进行遍历,判读当前数据和下一跳数据事件差 是否是这个 step,
|
|
144
|
+
// 如果不是计算出两者相差 几条数据,然后进行填充
|
|
145
|
+
const data = result.reduce((acc, prev, index) => {
|
|
146
|
+
const diff = result[index + 1] && result[index + 1].x * 1000 - prev.x * 1000;
|
|
147
|
+
const stepM = _step * 1000;
|
|
148
|
+
// 后端可能出现 +Ifn 导致成 NaN,设置为 null
|
|
149
|
+
const curValue = {
|
|
150
|
+
...prev,
|
|
151
|
+
y: prev.y,
|
|
152
|
+
};
|
|
153
|
+
if (diff && diff !== stepM) {
|
|
154
|
+
const total = Math.ceil(diff / stepM - 1);
|
|
155
|
+
const data = Array.from({ length: total || 0 })
|
|
156
|
+
.fill(0)
|
|
157
|
+
.reduce((old, _curr, i) => {
|
|
158
|
+
const x = i === 0 ? prev.x * 1000 + stepM : old[i - 1].x * 1000 + stepM;
|
|
159
|
+
return [
|
|
160
|
+
...old,
|
|
161
|
+
{
|
|
162
|
+
x: x / 1000,
|
|
163
|
+
y: nullValue,
|
|
164
|
+
...(stepLine
|
|
165
|
+
? { preX: i === 0 ? result[index].x : old[i - 1].x }
|
|
166
|
+
: {}),
|
|
167
|
+
},
|
|
168
|
+
];
|
|
169
|
+
}, []);
|
|
170
|
+
return [...acc, curValue, ...data];
|
|
171
|
+
}
|
|
172
|
+
return [...acc, curValue];
|
|
173
|
+
}, []);
|
|
174
|
+
return data.sort((a, b) => a.x - b.x);
|
|
175
|
+
}
|
|
176
|
+
export function handleDateAxisLabelFormats(params, isRich) {
|
|
177
|
+
if (params) {
|
|
178
|
+
const diff = params.end - params.start;
|
|
179
|
+
const m1 = 24 * 60 * 60;
|
|
180
|
+
const m3 = 3 * m1;
|
|
181
|
+
const m7 = 7 * m1;
|
|
182
|
+
const M_D_FORMAT = 'MM-DD';
|
|
183
|
+
const MD_HS_FORMAT = `${M_D_FORMAT} ${CHART_TIME_FORMAT}`;
|
|
184
|
+
return diff >= m7
|
|
185
|
+
? isRich
|
|
186
|
+
? MD_HS_FORMAT
|
|
187
|
+
: M_D_FORMAT
|
|
188
|
+
: diff < m7 && (diff >= m3 || diff > m1)
|
|
189
|
+
? MD_HS_FORMAT
|
|
190
|
+
: CHART_TIME_FORMAT;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
export function limitMaxTooltipItem(context, limit = 15) {
|
|
194
|
+
return context.slice(0, limit);
|
|
195
|
+
}
|
|
196
|
+
export const VARIABLE_KEY_CLUSTER = '$cluster';
|
|
197
|
+
export const VARIABLE_KEY_NAMESPACE = '$namespace';
|
|
198
|
+
export function replaceExprVariable(expr, variable) {
|
|
199
|
+
let data = Array.isArray(expr) ? expr.join('|') : expr;
|
|
200
|
+
const variableKeys = Object.keys(variable || {});
|
|
201
|
+
const variableValues = Object.values(variable || {});
|
|
202
|
+
const vars = data && typeof data.match === 'function' ? data.match(/\$\w+/g) : [];
|
|
203
|
+
if (!variableKeys.length ||
|
|
204
|
+
!variableKeys.some(v => vars?.some(item => item.replace('$', '') === v))) {
|
|
205
|
+
return data;
|
|
206
|
+
}
|
|
207
|
+
vars
|
|
208
|
+
.sort((a, b) => b.length - a.length)
|
|
209
|
+
.forEach(key => {
|
|
210
|
+
const k = key.replace('$', '');
|
|
211
|
+
const index = variableKeys.indexOf(k);
|
|
212
|
+
if (index >= 0) {
|
|
213
|
+
const v = variableValues[index];
|
|
214
|
+
data = data?.replace(new RegExp(`\\$${k}`, 'g'), Array.isArray(v) ? v.join('|') : v);
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
return data;
|
|
218
|
+
}
|
|
219
|
+
export function findTimeRange(diff) {
|
|
220
|
+
const time = PICKER_TIME_RANGES.find(item => {
|
|
221
|
+
return item.endTime() - item.startTime() === diff;
|
|
222
|
+
});
|
|
223
|
+
return time ? { start: time.startTime(), end: time.endTime() } : null;
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hLW1ldHJpYy1jaGFydC91dGlscy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHN0QsT0FBTyxFQUVMLCtCQUErQixHQUVoQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFeEMsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxNQUF5QixFQUN6QixFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQWdCO0lBRTNELHdEQUF3RDtJQUN4RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUNuQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTTtnQkFDeEIsQ0FBQyxDQUFDLE9BQU87b0JBQ1AsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDO29CQUNiLENBQUMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFB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TUFBTSxJQUFJLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxJQUFJLENBQUM7SUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ3hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgZ2V0LCBpc0Z1bmN0aW9uLCB0ZW1wbGF0ZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBEYXRhSXRlbSwgVG9vbHRpcFZhbHVlIH0gZnJvbSAnenotY2hhcnQnO1xuXG5pbXBvcnQgeyBDSEFSVF9USU1FX0ZPUk1BVCB9IGZyb20gJy4uLy4uL2EtY2hhcnQvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBBQ2hhcnREYXRhIH0gZnJvbSAnLi4vLi4vYS1jaGFydC90eXBlcyc7XG5pbXBvcnQgeyBNb25pdG9yTWV0cmljLCBNb25pdG9yTWV0cmljUmVzdWx0IH0gZnJvbSAnLi4vLi4vYXBpL3B1YmxpYy1hcGknO1xuaW1wb3J0IHtcbiAgRGljdGlvbmFyeSxcbiAgRklFTERfTk9UX0FWQUlMQUJMRV9QTEFDRUhPTERFUixcbiAgU3RyaW5nTWFwLFxufSBmcm9tICcuLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgUElDS0VSX1RJTUVfUkFOR0VTIH0gZnJvbSAnLi4vLi4vbWV0cmljLWNoYXJ0L2hlbHBlcnMnO1xuaW1wb3J0IHsgRmV0Y2hQYXJhbXMsIEluZGljYXRvclBhcmFtcywgTWV0cmljUGFyYW1zIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyByb3VuZEludGVydmFsIH0gZnJvbSAnLi9yYW5nZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVNZXRyaWNQYXJhbXMoXG4gIHBhcmFtczogSW5kaWNhdG9yUGFyYW1zW10sXG4gIHsgdmFyaWFibGVTb3VyY2UsIHN0YXJ0LCBlbmQsIHN0ZXAsIGlzSW5kZXggfTogTWV0cmljUGFyYW1zLFxuKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL2NvZ25pdGl2ZS1jb21wbGV4aXR5XG4gIGNvbnN0IHZhbHVlID0gcGFyYW1zLm1hcCgoY3VyLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHYgPSBBcnJheS5pc0FycmF5KHZhcmlhYmxlU291cmNlKVxuICAgICAgPyB2YXJpYWJsZVNvdXJjZS5maWx0ZXIoXG4gICAgICAgICAgKGl0ZW0sIGkpID0+XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhpdGVtKS5sZW5ndGggJiZcbiAgICAgICAgICAgICgoaXNJbmRleFxuICAgICAgICAgICAgICA/IGluZGV4ID09PSBpXG4gICAgICAgICAgICAgIDogY3VyPy52YXJpYWJsZXM/LmV2ZXJ5KHYgPT4gT2JqZWN0LmtleXMoaXRlbSkuaW5jbHVkZXModikpKSB8fFxuICAgICAgICAgICAgICBjdXIuZXhwciksXG4gICAgICAgIClcbiAgICAgIDogY3VyLnZhcmlhYmxlcz8ubGVuZ3RoICYmIHZhcmlhYmxlU291cmNlXG4gICAgICA/IFt2YXJpYWJsZVNvdXJjZV1cbiAgICAgIDogW107XG4gICAgY29uc3QgdmFyaWFibGU6IFN0cmluZ01hcFtdID0gdi5tYXAodmFsdWUgPT4ge1xuICAgICAgcmV0dXJuIGN1ci5leHByXG4gICAgICAgID8gdmFsdWVcbiAgICAgICAgOiBjdXIudmFyaWFibGVzPy5yZWR1Y2UoXG4gICAgICAgICAgICAocHJlLCBrZXkpID0+XG4gICAgICAgICAgICAgIHZhbHVlW2tleV1cbiAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgLi4ucHJlLFxuICAgICAgICAgICAgICAgICAgICBba2V5XTogdmFsdWVba2V5XSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHByZSxcbiAgICAgICAgICAgIHt9LFxuICAgICAgICAgICk7XG4gICAgfSk7XG4gICAgY29uc3QgaW5kaWNhdG9ycyA9IGN1ci5pbmRpY2F0b3JzIHx8IGN1ci5leHByO1xuICAgIHJldHVybiB7XG4gICAgICBpbmRpY2F0b3JzOiBjdXIuaW5kaWNhdG9ycyxcbiAgICAgIGV4cHJzOiBjdXIuZXhwciA/IFtpbmRpY2F0b3JzXSA6IFtdLFxuICAgICAgdmFyaWFibGVzOiB2YXJpYWJsZSxcbiAgICB9O1xuICB9KTtcbiAgcmV0dXJuIHtcbiAgICBpbmRpY2F0b3JzOiB2YWx1ZSxcbiAgICBzdGFydCxcbiAgICBlbmQsXG4gICAgc3RlcCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUNoYXJ0RGF0YShcbiAgeyBpbmRpY2F0b3JQYXJhbXMsIG1ldHJpY1BhcmFtcyB9OiBGZXRjaFBhcmFtcyxcbiAgZGF0YTogTW9uaXRvck1ldHJpY1tdLFxuKSB7XG4gIGlmICghZGF0YSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBjb25zdCB7IGRlcGVuZGVudERhdGEgfSA9IG1ldHJpY1BhcmFtcztcbiAgcmV0dXJuIGRlcGVuZGVudERhdGFcbiAgICA/IGRlcGVuZE9uRGF0YShpbmRpY2F0b3JQYXJhbXMsIGRhdGEpXG4gICAgOiBkZXBlbmRPbkluZGljYXRvcihpbmRpY2F0b3JQYXJhbXMsIGRhdGEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kT25JbmRpY2F0b3IoXG4gIGluZGljYXRvclBhcmFtczogSW5kaWNhdG9yUGFyYW1zW10sXG4gIGRhdGE6IE1vbml0b3JNZXRyaWNbXSxcbik6IEFDaGFydERhdGFbXSB7XG4gIHJldHVybiBpbmRpY2F0b3JQYXJhbXMucmVkdWNlKChwcmUsIHBhcmFtcykgPT4ge1xuICAgIGNvbnN0IG1ldHJpY0RhdGEgPSBkYXRhPy5maW5kKGl0ZW0gPT4gaXRlbS5pbmRpY2F0b3IgPT09IHBhcmFtcy5pbmRpY2F0b3JzKTtcbiAgICByZXR1cm4gWy4uLnByZSwgaGFuZGxlRGF0YVJlc3VsdChwYXJhbXMsIG1ldHJpY0RhdGE/LnJlc3VsdD8uWzBdKV07XG4gIH0sIFtdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlcGVuZE9uRGF0YShcbiAgaW5kaWNhdG9yUGFyYW1zOiBJbmRpY2F0b3JQYXJhbXNbXSxcbiAgZGF0YTogTW9uaXRvck1ldHJpY1tdLFxuKTogQUNoYXJ0RGF0YVtdIHtcbiAgY29uc3QgcGFyYW1zID0gaW5kaWNhdG9yUGFyYW1zWzBdO1xuICByZXR1cm4gZGF0YT8ucmVkdWNlKChwcmUsIHJlcykgPT4ge1xuICAgIGlmIChwYXJhbXMuaW5kaWNhdG9ycyA9PT0gcmVzLmluZGljYXRvciB8fCBwYXJhbXMuZXhwciA9PT0gcmVzLnF1ZXJ5KSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5wcmUsXG4gICAgICAgIC4uLnJlcy5yZXN1bHQubWFwKGl0ZW0gPT4gaGFuZGxlRGF0YVJlc3VsdChwYXJhbXMsIGl0ZW0pKSxcbiAgICAgIF07XG4gICAgfVxuICAgIHJldHVybiBwcmU7XG4gIH0sIFtdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZURhdGFSZXN1bHQoXG4gIHBhcmFtczogSW5kaWNhdG9yUGFyYW1zLFxuICByZXM6IE1vbml0b3JNZXRyaWNSZXN1bHQsXG4pIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBoYW5kbGVMZWdlbmQocGFyYW1zLCByZXMpLFxuICAgIHZhbHVlczogcmVzPy52YWx1ZXM/Lm1hcChkID0+ICh7XG4gICAgICB4OiBkWzBdLFxuICAgICAgeTogZFsxXSxcbiAgICB9KSksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVMZWdlbmQoXG4gIHBhcmFtczogSW5kaWNhdG9yUGFyYW1zLFxuICByZXN1bHQ6IE1vbml0b3JNZXRyaWNSZXN1bHQsXG4pIHtcbiAgcmV0dXJuIGlzRnVuY3Rpb24ocGFyYW1zPy5sZWdlbmQpXG4gICAgPyBwYXJhbXMubGVnZW5kKHBhcmFtcywgcmVzdWx0KVxuICAgIDogZ2V0TGVnZW5kTmFtZShwYXJhbXM/LmxlZ2VuZCwgcmVzdWx0Py5tZXRyaWMgfHwge30pO1xufVxuZXhwb3J0IGNvbnN0IExFR0VORF9URU1QTEFURV9PUFRJT05TID0gT2JqZWN0LmZyZWV6ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWdleHAvbWF0Y2gtYW55LCByZWdleHAvc3RyaWN0XG4gIGludGVycG9sYXRlOiAve3tcXC4oW1xcU1xcc10rPyl9fS9nLFxufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMZWdlbmROYW1lKG1ldHJpY0tleTogc3RyaW5nLCBtZXRyaWM6IFN0cmluZ01hcCkge1xuICBpZiAoIW1ldHJpY0tleSAmJiAhT2JqZWN0LmtleXMobWV0cmljIHx8IHt9KT8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIEZJRUxEX05PVF9BVkFJTEFCTEVfUExBQ0VIT0xERVI7XG4gIH1cbiAgaWYgKCFtZXRyaWNLZXkgJiYgbWV0cmljKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG1ldHJpYyk7XG4gIH1cbiAgY29uc3QgbWV0cmljS2V5cyA9IG1ldHJpY0tleT8uc3BsaXQoJywnKS5tYXAobWF0Y2hMZWdlbmQpO1xuICBpZiAobWV0cmljS2V5cz8ubGVuZ3RoID4gMSkge1xuICAgIGNvbnN0IHZhbHVlID0gbWV0cmljPy5bbWV0cmljS2V5cy5maW5kKGl0ZW0gPT4gbWV0cmljW2l0ZW1dKV07XG4gICAgcmV0dXJuIHZhbHVlIHx8IG1ldHJpY0tleTtcbiAgfVxuICByZXR1cm4gKFxuICAgIGdldExlZ2VuZFRlbXBsYXRlKG1ldHJpY0tleSwgbWV0cmljKSB8fFxuICAgIG1ldHJpY1ttYXRjaExlZ2VuZChtZXRyaWNLZXkpXSB8fFxuICAgIG1ldHJpY0tleVxuICApO1xufVxuXG5mdW5jdGlvbiBnZXRMZWdlbmRUZW1wbGF0ZShzdHI6IHN0cmluZywgb2JqOiBvYmplY3QpIHtcbiAgbGV0IG5hbWU6IHN0cmluZztcbiAgdHJ5IHtcbiAgICBuYW1lID0gZ2V0KG9iaiwgc3RyKSB8fCB0ZW1wbGF0ZShzdHIsIExFR0VORF9URU1QTEFURV9PUFRJT05TKShvYmopO1xuICB9IGNhdGNoIHtcbiAgICBuYW1lID0gJyc7XG4gIH1cbiAgcmV0dXJuIG5hbWU7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTGVnZW5kKHZhbHVlOiBzdHJpbmcpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vYmV0dGVyLXJlZ2V4XG4gIHJldHVybiB2YWx1ZS5tYXRjaCgvXFx7XFx7XFwuKC4rPylcXH1cXH0vKT8uWzFdIHx8IHZhbHVlO1xufVxuXG4vLyDloavlhYXnqbrmlbDmja5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL2NvZ25pdGl2ZS1jb21wbGV4aXR5XG5leHBvcnQgZnVuY3Rpb24gZmlsbE51bGxEYXRhKFxuICB7IHN0YXJ0LCBlbmQsIHN0ZXAgfTogTWV0cmljUGFyYW1zLFxuICByZXM6IERhdGFJdGVtWyd2YWx1ZXMnXSA9IFtdLFxuICBpc1plcm8gPSBmYWxzZSxcbiAgc3RlcExpbmUgPSBmYWxzZSxcbikge1xuICBpZiAoIStzdGFydCB8fCAhK2VuZCkge1xuICAgIHJldHVybiByZXM7XG4gIH1cbiAgY29uc3QgX3N0ZXAgPSBzdGVwIHx8IHJvdW5kSW50ZXJ2YWwoc3RhcnQsIGVuZCk7XG4gIGNvbnN0IGN1clN0YXJ0ID0gK3N0YXJ0O1xuICBjb25zdCBudWxsVmFsdWUgPSBpc1plcm8gPyAwIDogbnVsbDtcbiAgY29uc3QgY3VyRW5kID0gc3RhcnQgKyBzdGVwICogKChlbmQgLSBzdGFydCkgLyBzdGVwKTtcbiAgY29uc3QgcHJlWCA9IHN0ZXBMaW5lXG4gICAgPyB7XG4gICAgICAgIHByZVg6IGRheWpzKGN1clN0YXJ0KVxuICAgICAgICAgIC5zdWJ0cmFjdCgoZW5kIC0gc3RhcnQpIC8gNiwgJ3MnKVxuICAgICAgICAgIC52YWx1ZU9mKCksXG4gICAgICB9XG4gICAgOiB7fTtcbiAgY29uc3QgcmVzdWx0ID0gW1xuICAgIC4uLihjdXJTdGFydCA9PT0gcmVzWzBdPy54ID8gW10gOiBbeyB4OiBjdXJTdGFydCwgeTogbnVsbFZhbHVlLCAuLi5wcmVYIH1dKSxcbiAgICAuLi5yZXMsXG4gICAgLi4uKHJlcy5hdCgtMSk/LnggPT09IGN1ckVuZCA/IFtdIDogW3sgeDogY3VyRW5kLCB5OiBudWxsVmFsdWUgfV0pLFxuICBdO1xuXG4gIC8vIHF1ZXJ5IOi/lOWbnuaVsOaNruWPr+iDveWtmOWcqOafkOS4quaXtumXtOauteaXoOaVsOaNruaDheWGte+8jOS8muWvvOiHtOWJjeerr2J1Z1xuICAvLyDpgJrov4cgc3RlcCDorqHnrpflh7og5oC75pWw5o2u44CCXG4gIC8vIOWcqOWHuueOsOS4gOW8gOWni+aVsOaNrue8uuWkseaDheWGte+8jOWFiOe7meaVsOaNrua3u+WKoOW8gOWni+aXtumXtOaVsOaNru+8jOWSjOe7k+adn+aXtumXtOaVsOaNruOAglxuICAvLyDlnKjov5vooYzpgY3ljobvvIzliKTor7vlvZPliY3mlbDmja7lkozkuIvkuIDot7PmlbDmja7kuovku7blt64g5piv5ZCm5piv6L+Z5LiqIHN0ZXAsXG4gIC8vIOWmguaenOS4jeaYr+iuoeeul+WHuuS4pOiAheebuOW3riDlh6DmnaHmlbDmja7vvIznhLblkI7ov5vooYzloavlhYVcbiAgY29uc3QgZGF0YSA9IHJlc3VsdC5yZWR1Y2UoKGFjYywgcHJldiwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBkaWZmID1cbiAgICAgIHJlc3VsdFtpbmRleCArIDFdICYmIHJlc3VsdFtpbmRleCArIDFdLnggKiAxMDAwIC0gcHJldi54ICogMTAwMDtcbiAgICBjb25zdCBzdGVwTSA9IF9zdGVwICogMTAwMDtcbiAgICAvLyDlkI7nq6/lj6/og73lh7rnjrAgK0lmbiDlr7zoh7TmiJAgTmFO77yM6K6+572u5Li6IG51bGxcbiAgICBjb25zdCBjdXJWYWx1ZSA9IHtcbiAgICAgIC4uLnByZXYsXG4gICAgICB5OiBwcmV2LnksXG4gICAgfTtcbiAgICBpZiAoZGlmZiAmJiBkaWZmICE9PSBzdGVwTSkge1xuICAgICAgY29uc3QgdG90YWwgPSBNYXRoLmNlaWwoZGlmZiAvIHN0ZXBNIC0gMSk7XG4gICAgICBjb25zdCBkYXRhID0gQXJyYXkuZnJvbTxudW1iZXI+KHsgbGVuZ3RoOiB0b3RhbCB8fCAwIH0pXG4gICAgICAgIC5maWxsKDApXG4gICAgICAgIC5yZWR1Y2UoKG9sZCwgX2N1cnIsIGkpID0+IHtcbiAgICAgICAgICBjb25zdCB4ID1cbiAgICAgICAgICAgIGkgPT09IDAgPyBwcmV2LnggKiAxMDAwICsgc3RlcE0gOiBvbGRbaSAtIDFdLnggKiAxMDAwICsgc3RlcE07XG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLm9sZCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgeDogeCAvIDEwMDAsXG4gICAgICAgICAgICAgIHk6IG51bGxWYWx1ZSxcbiAgICAgICAgICAgICAgLi4uKHN0ZXBMaW5lXG4gICAgICAgICAgICAgICAgPyB7IHByZVg6IGkgPT09IDAgPyByZXN1bHRbaW5kZXhdLnggOiBvbGRbaSAtIDFdLnggfVxuICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICB9LCBbXSk7XG4gICAgICByZXR1cm4gWy4uLmFjYywgY3VyVmFsdWUsIC4uLmRhdGFdO1xuICAgIH1cbiAgICByZXR1cm4gWy4uLmFjYywgY3VyVmFsdWVdO1xuICB9LCBbXSk7XG4gIHJldHVybiBkYXRhLnNvcnQoKGEsIGIpID0+IGEueCAtIGIueCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVEYXRlQXhpc0xhYmVsRm9ybWF0cyhcbiAgcGFyYW1zOiBNZXRyaWNQYXJhbXMsXG4gIGlzUmljaD86IGJvb2xlYW4sXG4pIHtcbiAgaWYgKHBhcmFtcykge1xuICAgIGNvbnN0IGRpZmYgPSBwYXJhbXMuZW5kIC0gcGFyYW1zLnN0YXJ0O1xuICAgIGNvbnN0IG0xID0gMjQgKiA2MCAqIDYwO1xuICAgIGNvbnN0IG0zID0gMyAqIG0xO1xuICAgIGNvbnN0IG03ID0gNyAqIG0xO1xuICAgIGNvbnN0IE1fRF9GT1JNQVQgPSAnTU0tREQnO1xuICAgIGNvbnN0IE1EX0hTX0ZPUk1BVCA9IGAke01fRF9GT1JNQVR9ICR7Q0hBUlRfVElNRV9GT1JNQVR9YDtcbiAgICByZXR1cm4gZGlmZiA+PSBtN1xuICAgICAgPyBpc1JpY2hcbiAgICAgICAgPyBNRF9IU19GT1JNQVRcbiAgICAgICAgOiBNX0RfRk9STUFUXG4gICAgICA6IGRpZmYgPCBtNyAmJiAoZGlmZiA+PSBtMyB8fCBkaWZmID4gbTEpXG4gICAgICA/IE1EX0hTX0ZPUk1BVFxuICAgICAgOiBDSEFSVF9USU1FX0ZPUk1BVDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbGltaXRNYXhUb29sdGlwSXRlbShjb250ZXh0OiBUb29sdGlwVmFsdWVbXSwgbGltaXQgPSAxNSkge1xuICByZXR1cm4gY29udGV4dC5zbGljZSgwLCBsaW1pdCk7XG59XG5cbmV4cG9ydCBjb25zdCBWQVJJQUJMRV9LRVlfQ0xVU1RFUiA9ICckY2x1c3Rlcic7XG5leHBvcnQgY29uc3QgVkFSSUFCTEVfS0VZX05BTUVTUEFDRSA9ICckbmFtZXNwYWNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VFeHByVmFyaWFibGUoXG4gIGV4cHI6IHN0cmluZyB8IHN0cmluZ1tdLFxuICB2YXJpYWJsZTogRGljdGlvbmFyeTxhbnk+LFxuKSB7XG4gIGxldCBkYXRhID0gQXJyYXkuaXNBcnJheShleHByKSA/IGV4cHIuam9pbignfCcpIDogZXhwcjtcbiAgY29uc3QgdmFyaWFibGVLZXlzID0gT2JqZWN0LmtleXModmFyaWFibGUgfHwge30pO1xuICBjb25zdCB2YXJpYWJsZVZhbHVlcyA9IE9iamVjdC52YWx1ZXModmFyaWFibGUgfHwge30pO1xuICBjb25zdCB2YXJzOiBzdHJpbmdbXSA9XG4gICAgZGF0YSAmJiB0eXBlb2YgZGF0YS5tYXRjaCA9PT0gJ2Z1bmN0aW9uJyA/IGRhdGEubWF0Y2goL1xcJFxcdysvZykgOiBbXTtcbiAgaWYgKFxuICAgICF2YXJpYWJsZUtleXMubGVuZ3RoIHx8XG4gICAgIXZhcmlhYmxlS2V5cy5zb21lKHYgPT4gdmFycz8uc29tZShpdGVtID0+IGl0ZW0ucmVwbGFjZSgnJCcsICcnKSA9PT0gdikpXG4gICkge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgdmFyc1xuICAgIC5zb3J0KChhLCBiKSA9PiBiLmxlbmd0aCAtIGEubGVuZ3RoKVxuICAgIC5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBjb25zdCBrID0ga2V5LnJlcGxhY2UoJyQnLCAnJyk7XG4gICAgICBjb25zdCBpbmRleCA9IHZhcmlhYmxlS2V5cy5pbmRleE9mKGspO1xuICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgY29uc3QgdiA9IHZhcmlhYmxlVmFsdWVzW2luZGV4XTtcbiAgICAgICAgZGF0YSA9IGRhdGE/LnJlcGxhY2UoXG4gICAgICAgICAgbmV3IFJlZ0V4cChgXFxcXCQke2t9YCwgJ2cnKSxcbiAgICAgICAgICBBcnJheS5pc0FycmF5KHYpID8gdi5qb2luKCd8JykgOiB2LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICByZXR1cm4gZGF0YTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRUaW1lUmFuZ2UoZGlmZjogbnVtYmVyKSB7XG4gIGNvbnN0IHRpbWUgPSBQSUNLRVJfVElNRV9SQU5HRVMuZmluZChpdGVtID0+IHtcbiAgICByZXR1cm4gaXRlbS5lbmRUaW1lKCkgLSBpdGVtLnN0YXJ0VGltZSgpID09PSBkaWZmO1xuICB9KTtcbiAgcmV0dXJuIHRpbWUgPyB7IHN0YXJ0OiB0aW1lLnN0YXJ0VGltZSgpLCBlbmQ6IHRpbWUuZW5kVGltZSgpIH0gOiBudWxsO1xufVxuIl19
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { Reason } from '../page-guard/public-api';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
function AbnormalPageComponent_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
5
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
6
|
+
i0.ɵɵelementContainerStart(0);
|
|
7
|
+
i0.ɵɵelementStart(1, "p", 2)(2, "span");
|
|
8
|
+
i0.ɵɵtext(3);
|
|
9
|
+
i0.ɵɵpipe(4, "translate");
|
|
10
|
+
i0.ɵɵpipe(5, "translate");
|
|
11
|
+
i0.ɵɵelementEnd();
|
|
12
|
+
i0.ɵɵelementStart(6, "button", 3);
|
|
13
|
+
i0.ɵɵlistener("click", function AbnormalPageComponent_ng_container_1_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r2); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.retry()); });
|
|
14
|
+
i0.ɵɵtext(7);
|
|
15
|
+
i0.ɵɵpipe(8, "translate");
|
|
16
|
+
i0.ɵɵelementEnd()();
|
|
17
|
+
i0.ɵɵelementContainerEnd();
|
|
18
|
+
} if (rf & 2) {
|
|
19
|
+
i0.ɵɵadvance(3);
|
|
20
|
+
i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(4, 3, "system_abnormal_description"), "", i0.ɵɵpipeBind1(5, 5, "or"), "");
|
|
21
|
+
i0.ɵɵadvance(4);
|
|
22
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 7, "retry"), " ");
|
|
23
|
+
} }
|
|
24
|
+
export class AbnormalPageComponent {
|
|
25
|
+
constructor() {
|
|
26
|
+
this.reason = Reason;
|
|
27
|
+
}
|
|
28
|
+
retry() {
|
|
29
|
+
window.location.reload();
|
|
30
|
+
}
|
|
31
|
+
static { this.ɵfac = function AbnormalPageComponent_Factory(t) { return new (t || AbnormalPageComponent)(); }; }
|
|
32
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AbnormalPageComponent, selectors: [["acl-abnormal-page"]], decls: 2, vars: 3, consts: [[3, "allowed", "reason", "isFull"], [4, "aclPageGuardDescription"], [1, "description"], ["aui-button", "text", "size", "small", 3, "click"]], template: function AbnormalPageComponent_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
+
i0.ɵɵelementStart(0, "acl-page-guard", 0);
|
|
34
|
+
i0.ɵɵtemplate(1, AbnormalPageComponent_ng_container_1_Template, 9, 9, "ng-container", 1);
|
|
35
|
+
i0.ɵɵelementEnd();
|
|
36
|
+
} if (rf & 2) {
|
|
37
|
+
i0.ɵɵproperty("allowed", false)("reason", ctx.reason.Abnormal)("isFull", true);
|
|
38
|
+
} }, styles: [".description[_ngcontent-%COMP%]{color:rgb(var(--aui-color-secondary-text))}"], changeDetection: 0 }); }
|
|
39
|
+
}
|
|
40
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AbnormalPageComponent, [{
|
|
41
|
+
type: Component,
|
|
42
|
+
args: [{ selector: 'acl-abnormal-page', template: `
|
|
43
|
+
<acl-page-guard
|
|
44
|
+
[allowed]="false"
|
|
45
|
+
[reason]="reason.Abnormal"
|
|
46
|
+
[isFull]="true"
|
|
47
|
+
>
|
|
48
|
+
<ng-container *aclPageGuardDescription>
|
|
49
|
+
<p class="description">
|
|
50
|
+
<span
|
|
51
|
+
>{{ 'system_abnormal_description' | translate
|
|
52
|
+
}}{{ 'or' | translate }}</span
|
|
53
|
+
>
|
|
54
|
+
<button
|
|
55
|
+
aui-button="text"
|
|
56
|
+
size="small"
|
|
57
|
+
(click)="retry()"
|
|
58
|
+
>
|
|
59
|
+
{{ 'retry' | translate }}
|
|
60
|
+
</button>
|
|
61
|
+
</p>
|
|
62
|
+
</ng-container>
|
|
63
|
+
</acl-page-guard>
|
|
64
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".description{color:rgb(var(--aui-color-secondary-text))}\n"] }]
|
|
65
|
+
}], null, null); })();
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJub3JtYWwtcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYWJub3JtYWwtcGFnZS9hYm5vcm1hbC1wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztJQVU1Qyw2QkFBdUM7SUFDckMsNEJBQXVCLFdBQUE7SUFFbEIsWUFDdUI7OztJQUFBLGlCQUN6QjtJQUNELGlDQUlDO0lBREMsMktBQVMsZUFBQSxjQUFPLENBQUEsSUFBQztJQUVqQixZQUNGOztJQUFBLGlCQUFTLEVBQUE7SUFFYiwwQkFBZTs7SUFYUixlQUN1QjtJQUR2QixrSEFDdUI7SUFPeEIsZUFDRjtJQURFLDhEQUNGOztBQVFWLE1BQU0sT0FBTyxxQkFBcUI7SUE1QmxDO1FBNkJFLFdBQU0sR0FBRyxNQUFNLENBQUM7S0FLakI7SUFIQyxLQUFLO1FBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDO3NGQUxVLHFCQUFxQjtvRUFBckIscUJBQXFCO1lBekI5Qix5Q0FJQztZQUNDLHdGQWNlO1lBQ2pCLGlCQUFpQjs7WUFuQmYsK0JBQWlCLCtCQUFBLGdCQUFBOzs7dUZBd0JWLHFCQUFxQjtjQTVCakMsU0FBUzsyQkFDRSxtQkFBbUIsWUFDbkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQlQsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJlYXNvbiB9IGZyb20gJy4uL3BhZ2UtZ3VhcmQvcHVibGljLWFwaSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1hYm5vcm1hbC1wYWdlJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YWNsLXBhZ2UtZ3VhcmRcbiAgICAgIFthbGxvd2VkXT1cImZhbHNlXCJcbiAgICAgIFtyZWFzb25dPVwicmVhc29uLkFibm9ybWFsXCJcbiAgICAgIFtpc0Z1bGxdPVwidHJ1ZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqYWNsUGFnZUd1YXJkRGVzY3JpcHRpb24+XG4gICAgICAgIDxwIGNsYXNzPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgPnt7ICdzeXN0ZW1fYWJub3JtYWxfZGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICB9fXt7ICdvcicgfCB0cmFuc2xhdGUgfX08L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIChjbGljayk9XCJyZXRyeSgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAncmV0cnknIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvcD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYWNsLXBhZ2UtZ3VhcmQ+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2Fibm9ybWFsLXBhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFibm9ybWFsUGFnZUNvbXBvbmVudCB7XG4gIHJlYXNvbiA9IFJlYXNvbjtcblxuICByZXRyeSgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ButtonModule } from '@alauda/ui';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NgModule } from '@angular/core';
|
|
4
|
+
import { PageGuardModule } from '../page-guard/public-api';
|
|
5
|
+
import { TranslateModule } from '../translate/public-api';
|
|
6
|
+
import { AbnormalPageComponent } from './abnormal-page.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../page-guard/component/component";
|
|
9
|
+
import * as i2 from "../page-guard/component/helper-directives";
|
|
10
|
+
import * as i3 from "@alauda/ui";
|
|
11
|
+
import * as i4 from "../translate/translate.pipe";
|
|
12
|
+
export class AbnormalPageModule {
|
|
13
|
+
static { this.ɵfac = function AbnormalPageModule_Factory(t) { return new (t || AbnormalPageModule)(); }; }
|
|
14
|
+
static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: AbnormalPageModule }); }
|
|
15
|
+
static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, PageGuardModule, TranslateModule, ButtonModule] }); }
|
|
16
|
+
}
|
|
17
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AbnormalPageModule, [{
|
|
18
|
+
type: NgModule,
|
|
19
|
+
args: [{
|
|
20
|
+
imports: [CommonModule, PageGuardModule, TranslateModule, ButtonModule],
|
|
21
|
+
declarations: [AbnormalPageComponent],
|
|
22
|
+
exports: [AbnormalPageComponent],
|
|
23
|
+
}]
|
|
24
|
+
}], null, null); })();
|
|
25
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AbnormalPageModule, { declarations: [AbnormalPageComponent], imports: [CommonModule, PageGuardModule, TranslateModule, ButtonModule], exports: [AbnormalPageComponent] }); })();
|
|
26
|
+
i0.ɵɵsetComponentScope(AbnormalPageComponent, [i1.PageGuardComponent, i2.PageGuardDescriptionDirective, i3.ButtonComponent], [i4.TranslatePipe]);
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJub3JtYWwtcGFnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYWJub3JtYWwtcGFnZS9hYm5vcm1hbC1wYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7OztBQU9sRSxNQUFNLE9BQU8sa0JBQWtCO21GQUFsQixrQkFBa0I7bUVBQWxCLGtCQUFrQjt1RUFKbkIsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsWUFBWTs7dUZBSTNELGtCQUFrQjtjQUw5QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDO2dCQUN2RSxZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDckMsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7YUFDakM7O3dGQUNZLGtCQUFrQixtQkFIZCxxQkFBcUIsYUFEMUIsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsWUFBWSxhQUU1RCxxQkFBcUI7dUJBRGhCLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBhZ2VHdWFyZE1vZHVsZSB9IGZyb20gJy4uL3BhZ2UtZ3VhcmQvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICcuLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5cbmltcG9ydCB7IEFibm9ybWFsUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vYWJub3JtYWwtcGFnZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQYWdlR3VhcmRNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgQnV0dG9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbQWJub3JtYWxQYWdlQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0Fibm9ybWFsUGFnZUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEFibm9ybWFsUGFnZU1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './abnormal-page.component';
|
|
2
|
+
export * from './abnormal-page.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hYm5vcm1hbC1wYWdlL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hYm5vcm1hbC1wYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Fibm9ybWFsLXBhZ2UubW9kdWxlJztcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhdWRhLWZlLWNvbW1vbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hbGF1ZGEtZmUtY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { HttpEventType, } from '@angular/common/http';
|
|
2
|
+
import { inject } from '@angular/core';
|
|
3
|
+
import { map, switchMap } from 'rxjs';
|
|
4
|
+
import { TOKEN_RESOURCE_DEFINITIONS, compareVersion, parseJSONStream, } from '../core/public-api';
|
|
5
|
+
import { ClusterVersionService } from './cluster-version.service';
|
|
6
|
+
export class ApiCompatibleInterceptor {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.clusterVersion = inject(ClusterVersionService);
|
|
9
|
+
}
|
|
10
|
+
intercept(req, next) {
|
|
11
|
+
const matchResult = this.matchUrl(req.url);
|
|
12
|
+
if (!matchResult.matched) {
|
|
13
|
+
return next.handle(req);
|
|
14
|
+
}
|
|
15
|
+
return this.clusterVersion.getClusterVersion(matchResult.cluster).pipe(switchMap(clusterVersion => {
|
|
16
|
+
const nextReq = this.executeRequestDowngrade(clusterVersion, req);
|
|
17
|
+
const nextReqBody = this.executeRequestBodyDowngrade(clusterVersion, nextReq.method, nextReq.body);
|
|
18
|
+
return next.handle(nextReq.clone({ body: nextReqBody })).pipe(map(event => {
|
|
19
|
+
if (event.type === HttpEventType.Response) {
|
|
20
|
+
return event.clone({
|
|
21
|
+
body: this.executeResponseBodyUpgrade(clusterVersion, nextReq.method, event.body),
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
// k8s watch api
|
|
25
|
+
if (isHttpDownloadProgressEvent(event) && event.partialText) {
|
|
26
|
+
return {
|
|
27
|
+
...event,
|
|
28
|
+
partialText: parseJSONStream(event.partialText)
|
|
29
|
+
.map(v => JSON.stringify({
|
|
30
|
+
...v,
|
|
31
|
+
object: this.executeResponseBodyUpgrade(clusterVersion, nextReq.method, v.object),
|
|
32
|
+
}))
|
|
33
|
+
.join('\n'),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
return event;
|
|
37
|
+
}));
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
executeRequestDowngrade(clusterVersion, req) {
|
|
41
|
+
return this.requestAdapters
|
|
42
|
+
.filter(adapter => !!adapter.requestDowngrade &&
|
|
43
|
+
compareVersion.lt(clusterVersion, adapter.clusterVersion) &&
|
|
44
|
+
(!adapter.httpMethods || adapter.httpMethods.includes(req.method)))
|
|
45
|
+
.sort((a, b) => compareVersion.lt(a.clusterVersion, b.clusterVersion) ? -1 : 1)
|
|
46
|
+
.reduceRight((nextReq, adapter) => adapter.requestDowngrade(nextReq), req);
|
|
47
|
+
}
|
|
48
|
+
executeRequestBodyDowngrade(clusterVersion, httpMethod, body) {
|
|
49
|
+
return this.requestAdapters
|
|
50
|
+
.filter(adapter => !!adapter.bodyDowngrade &&
|
|
51
|
+
compareVersion.lt(clusterVersion, adapter.clusterVersion) &&
|
|
52
|
+
(adapter.httpMethods || ['POST', 'PUT', 'PATCH']).includes(httpMethod))
|
|
53
|
+
.sort((a, b) => compareVersion.lt(a.clusterVersion, b.clusterVersion) ? -1 : 1)
|
|
54
|
+
.reduceRight((nextBody, adapter) => adapter.bodyDowngrade(nextBody), body);
|
|
55
|
+
}
|
|
56
|
+
executeResponseBodyUpgrade(clusterVersion, httpMethod, body) {
|
|
57
|
+
return this.responseAdapters
|
|
58
|
+
.filter(adapter => compareVersion.lt(clusterVersion, adapter.clusterVersion) &&
|
|
59
|
+
(adapter.httpMethods || ['GET', 'POST', 'PUT', 'PATCH']).includes(httpMethod))
|
|
60
|
+
.sort((a, b) => compareVersion.lt(a.clusterVersion, b.clusterVersion) ? -1 : 1)
|
|
61
|
+
.reduce((nextBody, adapter) => adapter.bodyUpgrade(nextBody), body);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export function k8sApiMatcher(resourceType) {
|
|
65
|
+
const resourceDefinitions = inject(TOKEN_RESOURCE_DEFINITIONS);
|
|
66
|
+
const define = typeof resourceType === 'string'
|
|
67
|
+
? resourceDefinitions[resourceType]
|
|
68
|
+
: resourceType;
|
|
69
|
+
const { apiGroup, apiVersion, type } = define;
|
|
70
|
+
if (!define) {
|
|
71
|
+
throw new TypeError(`Resource type '${resourceType}' is not defined`);
|
|
72
|
+
}
|
|
73
|
+
return (url) => {
|
|
74
|
+
const reg = new RegExp(`/kubernetes/([^/]+)/apis/${apiGroup}/${apiVersion}/(?:namespaces/[^/]+/)?${type}`);
|
|
75
|
+
const matched = url.match(reg);
|
|
76
|
+
return matched
|
|
77
|
+
? {
|
|
78
|
+
matched: true,
|
|
79
|
+
cluster: matched[1],
|
|
80
|
+
}
|
|
81
|
+
: { matched: false };
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export function k8sResourceOrList(mapper) {
|
|
85
|
+
return (res) => {
|
|
86
|
+
if (isK8SResourceList(res)) {
|
|
87
|
+
return {
|
|
88
|
+
...res,
|
|
89
|
+
items: res.items.map(mapper),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
return mapper(res);
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
function isK8SResourceList(res) {
|
|
96
|
+
return 'items' in res && Array.isArray(res.items);
|
|
97
|
+
}
|
|
98
|
+
function isHttpDownloadProgressEvent(event) {
|
|
99
|
+
return event.type === HttpEventType.DownloadProgress;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbXBhdGlibGUuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYXBpL2FwaS1jb21wYXRpYmxlLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxhQUFhLEdBSWQsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBYyxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxELE9BQU8sRUFHTCwwQkFBMEIsRUFDMUIsY0FBYyxFQUNkLGVBQWUsR0FDaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUdsRSxNQUFNLE9BQWdCLHdCQUF3QjtJQUE5QztRQUtZLG1CQUFjLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUF5SDNELENBQUM7SUF2SEMsU0FBUyxDQUNQLEdBQXlCLEVBQ3pCLElBQWlCO1FBRWpCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6QjtRQUVELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNwRSxTQUFTLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNsRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENB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QUFLLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztBQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSHR0cERvd25sb2FkUHJvZ3Jlc3NFdmVudCxcbiAgSHR0cEV2ZW50LFxuICBIdHRwRXZlbnRUeXBlLFxuICBIdHRwSGFuZGxlcixcbiAgSHR0cEludGVyY2VwdG9yLFxuICBIdHRwUmVxdWVzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBLdWJlcm5ldGVzUmVzb3VyY2UsXG4gIEt1YmVybmV0ZXNSZXNvdXJjZUxpc3QsXG4gIFRPS0VOX1JFU09VUkNFX0RFRklOSVRJT05TLFxuICBjb21wYXJlVmVyc2lvbixcbiAgcGFyc2VKU09OU3RyZWFtLFxufSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuXG5pbXBvcnQgeyBDbHVzdGVyVmVyc2lvblNlcnZpY2UgfSBmcm9tICcuL2NsdXN0ZXItdmVyc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEs4c1Jlc291cmNlRGVmaW5pdGlvbiwgV2F0Y2hBUElSZXNwb25zZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQXBpQ29tcGF0aWJsZUludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgYWJzdHJhY3QgbWF0Y2hVcmwocmVxOiBzdHJpbmcpOiBNYXRjaFJlc3VsdDtcbiAgYWJzdHJhY3QgcmVzcG9uc2VBZGFwdGVyczogUmVzcG9uc2VBZGFwdGVyW107XG4gIGFic3RyYWN0IHJlcXVlc3RBZGFwdGVyczogUmVxdWVzdEFkYXB0ZXJbXTtcblxuICBwcm90ZWN0ZWQgY2x1c3RlclZlcnNpb24gPSBpbmplY3QoQ2x1c3RlclZlcnNpb25TZXJ2aWNlKTtcblxuICBpbnRlcmNlcHQoXG4gICAgcmVxOiBIdHRwUmVxdWVzdDx1bmtub3duPixcbiAgICBuZXh0OiBIdHRwSGFuZGxlcixcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcbiAgICBjb25zdCBtYXRjaFJlc3VsdCA9IHRoaXMubWF0Y2hVcmwocmVxLnVybCk7XG5cbiAgICBpZiAoIW1hdGNoUmVzdWx0Lm1hdGNoZWQpIHtcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNsdXN0ZXJWZXJzaW9uLmdldENsdXN0ZXJWZXJzaW9uKG1hdGNoUmVzdWx0LmNsdXN0ZXIpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoY2x1c3RlclZlcnNpb24gPT4ge1xuICAgICAgICBjb25zdCBuZXh0UmVxID0gdGhpcy5leGVjdXRlUmVxdWVzdERvd25ncmFkZShjbHVzdGVyVmVyc2lvbiwgcmVxKTtcbiAgICAgICAgY29uc3QgbmV4dFJlcUJvZHkgPSB0aGlzLmV4ZWN1dGVSZXF1ZXN0Qm9keURvd25ncmFkZShcbiAgICAgICAgICBjbHVzdGVyVmVyc2lvbixcbiAgICAgICAgICBuZXh0UmVxLm1ldGhvZCxcbiAgICAgICAgICBuZXh0UmVxLmJvZHksXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShuZXh0UmVxLmNsb25lKHsgYm9keTogbmV4dFJlcUJvZHkgfSkpLnBpcGUoXG4gICAgICAgICAgbWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgIHJldHVybiBldmVudC5jbG9uZSh7XG4gICAgICAgICAgICAgICAgYm9keTogdGhpcy5leGVjdXRlUmVzcG9uc2VCb2R5VXBncmFkZShcbiAgICAgICAgICAgICAgICAgIGNsdXN0ZXJWZXJzaW9uLFxuICAgICAgICAgICAgICAgICAgbmV4dFJlcS5tZXRob2QsXG4gICAgICAgICAgICAgICAgICBldmVudC5ib2R5LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBrOHMgd2F0Y2ggYXBpXG4gICAgICAgICAgICBpZiAoaXNIdHRwRG93bmxvYWRQcm9ncmVzc0V2ZW50KGV2ZW50KSAmJiBldmVudC5wYXJ0aWFsVGV4dCkge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmV2ZW50LFxuICAgICAgICAgICAgICAgIHBhcnRpYWxUZXh0OiBwYXJzZUpTT05TdHJlYW08V2F0Y2hBUElSZXNwb25zZTx1bmtub3duPj4oXG4gICAgICAgICAgICAgICAgICBldmVudC5wYXJ0aWFsVGV4dCxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAubWFwKHYgPT5cbiAgICAgICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgICAgICAgIC4uLnYsXG4gICAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiB0aGlzLmV4ZWN1dGVSZXNwb25zZUJvZHlVcGdyYWRlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2x1c3RlclZlcnNpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXh0UmVxLm1ldGhvZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHYub2JqZWN0LFxuICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgLmpvaW4oJ1xcbicpLFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZXZlbnQ7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBleGVjdXRlUmVxdWVzdERvd25ncmFkZShcbiAgICBjbHVzdGVyVmVyc2lvbjogc3RyaW5nLFxuICAgIHJlcTogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXG4gICkge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3RBZGFwdGVyc1xuICAgICAgLmZpbHRlcihcbiAgICAgICAgYWRhcHRlciA9PlxuICAgICAgICAgICEhYWRhcHRlci5yZXF1ZXN0RG93bmdyYWRlICYmXG4gICAgICAgICAgY29tcGFyZVZlcnNpb24ubHQoY2x1c3RlclZlcnNpb24sIGFkYXB0ZXIuY2x1c3RlclZlcnNpb24pICYmXG4gICAgICAgICAgKCFhZGFwdGVyLmh0dHBNZXRob2RzIHx8IGFkYXB0ZXIuaHR0cE1ldGhvZHMuaW5jbHVkZXMocmVxLm1ldGhvZCkpLFxuICAgICAgKVxuICAgICAgLnNvcnQoKGEsIGIpID0+XG4gICAgICAgIGNvbXBhcmVWZXJzaW9uLmx0KGEuY2x1c3RlclZlcnNpb24sIGIuY2x1c3RlclZlcnNpb24pID8gLTEgOiAxLFxuICAgICAgKVxuICAgICAgLnJlZHVjZVJpZ2h0KFxuICAgICAgICAobmV4dFJlcSwgYWRhcHRlcikgPT4gYWRhcHRlci5yZXF1ZXN0RG93bmdyYWRlKG5leHRSZXEpLFxuICAgICAgICByZXEsXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBleGVjdXRlUmVxdWVzdEJvZHlEb3duZ3JhZGUoXG4gICAgY2x1c3RlclZlcnNpb246IHN0cmluZyxcbiAgICBodHRwTWV0aG9kOiBzdHJpbmcsXG4gICAgYm9keTogdW5rbm93bixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdEFkYXB0ZXJzXG4gICAgICAuZmlsdGVyKFxuICAgICAgICBhZGFwdGVyID0+XG4gICAgICAgICAgISFhZGFwdGVyLmJvZHlEb3duZ3JhZGUgJiZcbiAgICAgICAgICBjb21wYXJlVmVyc2lvbi5sdChjbHVzdGVyVmVyc2lvbiwgYWRhcHRlci5jbHVzdGVyVmVyc2lvbikgJiZcbiAgICAgICAgICAoYWRhcHRlci5odHRwTWV0aG9kcyB8fCBbJ1BPU1QnLCAnUFVUJywgJ1BBVENIJ10pLmluY2x1ZGVzKFxuICAgICAgICAgICAgaHR0cE1ldGhvZCxcbiAgICAgICAgICApLFxuICAgICAgKVxuICAgICAgLnNvcnQoKGEsIGIpID0+XG4gICAgICAgIGNvbXBhcmVWZXJzaW9uLmx0KGEuY2x1c3RlclZlcnNpb24sIGIuY2x1c3RlclZlcnNpb24pID8gLTEgOiAxLFxuICAgICAgKVxuICAgICAgLnJlZHVjZVJpZ2h0KFxuICAgICAgICAobmV4dEJvZHksIGFkYXB0ZXIpID0+IGFkYXB0ZXIuYm9keURvd25ncmFkZShuZXh0Qm9keSksXG4gICAgICAgIGJvZHksXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBleGVjdXRlUmVzcG9uc2VCb2R5VXBncmFkZShcbiAgICBjbHVzdGVyVmVyc2lvbjogc3RyaW5nLFxuICAgIGh0dHBNZXRob2Q6IHN0cmluZyxcbiAgICBib2R5OiB1bmtub3duLFxuICApOiB1bmtub3duIHtcbiAgICByZXR1cm4gdGhpcy5yZXNwb25zZUFkYXB0ZXJzXG4gICAgICAuZmlsdGVyKFxuICAgICAgICBhZGFwdGVyID0+XG4gICAgICAgICAgY29tcGFyZVZlcnNpb24ubHQoY2x1c3RlclZlcnNpb24sIGFkYXB0ZXIuY2x1c3RlclZlcnNpb24pICYmXG4gICAgICAgICAgKGFkYXB0ZXIuaHR0cE1ldGhvZHMgfHwgWydHRVQnLCAnUE9TVCcsICdQVVQnLCAnUEFUQ0gnXSkuaW5jbHVkZXMoXG4gICAgICAgICAgICBodHRwTWV0aG9kLFxuICAgICAgICAgICksXG4gICAgICApXG4gICAgICAuc29ydCgoYSwgYikgPT5cbiAgICAgICAgY29tcGFyZVZlcnNpb24ubHQoYS5jbHVzdGVyVmVyc2lvbiwgYi5jbHVzdGVyVmVyc2lvbikgPyAtMSA6IDEsXG4gICAgICApXG4gICAgICAucmVkdWNlKChuZXh0Qm9keSwgYWRhcHRlcikgPT4gYWRhcHRlci5ib2R5VXBncmFkZShuZXh0Qm9keSksIGJvZHkpO1xuICB9XG59XG5cbmludGVyZmFjZSBBZGFwdGVyIHtcbiAgY2x1c3RlclZlcnNpb246IHN0cmluZztcbiAgaHR0cE1ldGhvZHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zZUFkYXB0ZXIgZXh0ZW5kcyBBZGFwdGVyIHtcbiAgYm9keVVwZ3JhZGU6IChib2R5OiB1bmtub3duKSA9PiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RBZGFwdGVyIGV4dGVuZHMgQWRhcHRlciB7XG4gIGJvZHlEb3duZ3JhZGU/OiAoYm9keTogdW5rbm93bikgPT4gdW5rbm93bjtcbiAgcmVxdWVzdERvd25ncmFkZT86IChyZXE6IEh0dHBSZXF1ZXN0PHVua25vd24+KSA9PiBIdHRwUmVxdWVzdDx1bmtub3duPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXRjaFJlc3VsdCB7XG4gIG1hdGNoZWQ6IGJvb2xlYW47XG4gIGNsdXN0ZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBrOHNBcGlNYXRjaGVyKHJlc291cmNlVHlwZTogc3RyaW5nIHwgSzhzUmVzb3VyY2VEZWZpbml0aW9uKSB7XG4gIGNvbnN0IHJlc291cmNlRGVmaW5pdGlvbnMgPSBpbmplY3QoVE9LRU5fUkVTT1VSQ0VfREVGSU5JVElPTlMpO1xuICBjb25zdCBkZWZpbmUgPVxuICAgIHR5cGVvZiByZXNvdXJjZVR5cGUgPT09ICdzdHJpbmcnXG4gICAgICA/IHJlc291cmNlRGVmaW5pdGlvbnNbcmVzb3VyY2VUeXBlXVxuICAgICAgOiByZXNvdXJjZVR5cGU7XG5cbiAgY29uc3QgeyBhcGlHcm91cCwgYXBpVmVyc2lvbiwgdHlwZSB9ID0gZGVmaW5lO1xuXG4gIGlmICghZGVmaW5lKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgUmVzb3VyY2UgdHlwZSAnJHtyZXNvdXJjZVR5cGV9JyBpcyBub3QgZGVmaW5lZGApO1xuICB9XG5cbiAgcmV0dXJuICh1cmw6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHJlZyA9IG5ldyBSZWdFeHAoXG4gICAgICBgL2t1YmVybmV0ZXMvKFteL10rKS9hcGlzLyR7YXBpR3JvdXB9LyR7YXBpVmVyc2lvbn0vKD86bmFtZXNwYWNlcy9bXi9dKy8pPyR7dHlwZX1gLFxuICAgICk7XG4gICAgY29uc3QgbWF0Y2hlZCA9IHVybC5tYXRjaChyZWcpO1xuXG4gICAgcmV0dXJuIG1hdGNoZWRcbiAgICAgID8ge1xuICAgICAgICAgIG1hdGNoZWQ6IHRydWUsXG4gICAgICAgICAgY2x1c3RlcjogbWF0Y2hlZFsxXSxcbiAgICAgICAgfVxuICAgICAgOiB7IG1hdGNoZWQ6IGZhbHNlIH07XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBrOHNSZXNvdXJjZU9yTGlzdChcbiAgbWFwcGVyOiAocmVzOiBLdWJlcm5ldGVzUmVzb3VyY2UpID0+IEt1YmVybmV0ZXNSZXNvdXJjZSxcbikge1xuICByZXR1cm4gKHJlczogS3ViZXJuZXRlc1Jlc291cmNlIHwgS3ViZXJuZXRlc1Jlc291cmNlTGlzdCkgPT4ge1xuICAgIGlmIChpc0s4U1Jlc291cmNlTGlzdChyZXMpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5yZXMsXG4gICAgICAgIGl0ZW1zOiByZXMuaXRlbXMubWFwKG1hcHBlciksXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbWFwcGVyKHJlcyk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzSzhTUmVzb3VyY2VMaXN0KFxuICByZXM6IEt1YmVybmV0ZXNSZXNvdXJjZSB8IEt1YmVybmV0ZXNSZXNvdXJjZUxpc3QsXG4pOiByZXMgaXMgS3ViZXJuZXRlc1Jlc291cmNlTGlzdCB7XG4gIHJldHVybiAnaXRlbXMnIGluIHJlcyAmJiBBcnJheS5pc0FycmF5KHJlcy5pdGVtcyk7XG59XG5cbmZ1bmN0aW9uIGlzSHR0cERvd25sb2FkUHJvZ3Jlc3NFdmVudDxUID0gdW5rbm93bj4oXG4gIGV2ZW50OiBIdHRwRXZlbnQ8VD4sXG4pOiBldmVudCBpcyBIdHRwRG93bmxvYWRQcm9ncmVzc0V2ZW50IHtcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuRG93bmxvYWRQcm9ncmVzcztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { switchMap } from 'rxjs';
|
|
3
|
+
import { API_GATEWAY } from '../core/public-api';
|
|
4
|
+
import { ApiGatewayService } from './api-gateway.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./api-gateway.service";
|
|
7
|
+
// Interceptor must provide with correct order, not provide in root here
|
|
8
|
+
// https://angular.cn/guide/http#interceptor-order
|
|
9
|
+
export class ApiGatewayInterceptor {
|
|
10
|
+
constructor(apiGateway) {
|
|
11
|
+
this.apiGateway = apiGateway;
|
|
12
|
+
}
|
|
13
|
+
intercept(req, next) {
|
|
14
|
+
if (!req.url.startsWith(API_GATEWAY)) {
|
|
15
|
+
return next.handle(req);
|
|
16
|
+
}
|
|
17
|
+
return this.apiGateway.getApiAddress().pipe(switchMap(apiAddress => {
|
|
18
|
+
const url = req.url.replace(API_GATEWAY, apiAddress);
|
|
19
|
+
return next.handle(req.clone({ url }));
|
|
20
|
+
}));
|
|
21
|
+
}
|
|
22
|
+
static { this.ɵfac = function ApiGatewayInterceptor_Factory(t) { return new (t || ApiGatewayInterceptor)(i0.ɵɵinject(i1.ApiGatewayService)); }; }
|
|
23
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ApiGatewayInterceptor, factory: ApiGatewayInterceptor.ɵfac }); }
|
|
24
|
+
}
|
|
25
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ApiGatewayInterceptor, [{
|
|
26
|
+
type: Injectable
|
|
27
|
+
}], function () { return [{ type: i1.ApiGatewayService }]; }, null); })();
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWdhdGV3YXkuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYXBpL2FwaS1nYXRld2F5LmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUUxRCx3RUFBd0U7QUFDeEUsa0RBQWtEO0FBRWxELE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsWUFBNkIsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7SUFBRyxDQUFDO0lBRTlELFNBQVMsQ0FBQyxHQUF5QixFQUFFLElBQWlCO1FBQ3BELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNwQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDekI7UUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUN6QyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDckIsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3JELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO3NGQWRVLHFCQUFxQjt1RUFBckIscUJBQXFCLFdBQXJCLHFCQUFxQjs7dUZBQXJCLHFCQUFxQjtjQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgYXBpXG4gKi9cblxuaW1wb3J0IHtcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cFJlcXVlc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBUElfR0FURVdBWSB9IGZyb20gJy4uL2NvcmUvcHVibGljLWFwaSc7XG5cbmltcG9ydCB7IEFwaUdhdGV3YXlTZXJ2aWNlIH0gZnJvbSAnLi9hcGktZ2F0ZXdheS5zZXJ2aWNlJztcblxuLy8gSW50ZXJjZXB0b3IgbXVzdCBwcm92aWRlIHdpdGggY29ycmVjdCBvcmRlciwgbm90IHByb3ZpZGUgaW4gcm9vdCBoZXJlXG4vLyBodHRwczovL2FuZ3VsYXIuY24vZ3VpZGUvaHR0cCNpbnRlcmNlcHRvci1vcmRlclxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFwaUdhdGV3YXlJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXBpR2F0ZXdheTogQXBpR2F0ZXdheVNlcnZpY2UpIHt9XG5cbiAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgaWYgKCFyZXEudXJsLnN0YXJ0c1dpdGgoQVBJX0dBVEVXQVkpKSB7XG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hcGlHYXRld2F5LmdldEFwaUFkZHJlc3MoKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGFwaUFkZHJlc3MgPT4ge1xuICAgICAgICBjb25zdCB1cmwgPSByZXEudXJsLnJlcGxhY2UoQVBJX0dBVEVXQVksIGFwaUFkZHJlc3MpO1xuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxLmNsb25lKHsgdXJsIH0pKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* @module api
|
|
4
|
+
*/
|
|
5
|
+
import { HttpClient } from '@angular/common/http';
|
|
6
|
+
import { Injectable, inject } from '@angular/core';
|
|
7
|
+
import { map, retry, shareReplay } from 'rxjs';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
const MODULES_API = '/console/api/v1/modules';
|
|
10
|
+
const RETRY_COUNT = 3;
|
|
11
|
+
export class ApiGatewayService {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.http = inject(HttpClient);
|
|
14
|
+
this.state$ = this.http
|
|
15
|
+
.get(MODULES_API)
|
|
16
|
+
.pipe(retry(RETRY_COUNT), shareReplay(1));
|
|
17
|
+
}
|
|
18
|
+
getApiAddress() {
|
|
19
|
+
return this.state$.pipe(map(state => state.apiAddress));
|
|
20
|
+
}
|
|
21
|
+
static { this.ɵfac = function ApiGatewayService_Factory(t) { return new (t || ApiGatewayService)(); }; }
|
|
22
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ApiGatewayService, factory: ApiGatewayService.ɵfac, providedIn: 'root' }); }
|
|
23
|
+
}
|
|
24
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ApiGatewayService, [{
|
|
25
|
+
type: Injectable,
|
|
26
|
+
args: [{ providedIn: 'root' }]
|
|
27
|
+
}], null, null); })();
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWdhdGV3YXkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hcGkvYXBpLWdhdGV3YXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQVEvQyxNQUFNLFdBQVcsR0FBRyx5QkFBeUIsQ0FBQztBQUU5QyxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFHdEIsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUVtQixTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTFCLFdBQU0sR0FBRyxJQUFJLENBQUMsSUFBSTthQUNoQyxHQUFHLENBQWtCLFdBQVcsQ0FBQzthQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBSzdDO0lBSEMsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztrRkFUVSxpQkFBaUI7dUVBQWpCLGlCQUFpQixXQUFqQixpQkFBaUIsbUJBREosTUFBTTs7dUZBQ25CLGlCQUFpQjtjQUQ3QixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgYXBpXG4gKi9cblxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCByZXRyeSwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBBcGlHYXRld2F5U3RhdGUge1xuICBhcGlBZGRyZXNzOiBzdHJpbmc7XG4gIGFzc2V0c0hvc3RQYXRoOiBzdHJpbmc7XG4gIGFzc2V0c1VSTFBhdGg6IHN0cmluZztcbn1cblxuY29uc3QgTU9EVUxFU19BUEkgPSAnL2NvbnNvbGUvYXBpL3YxL21vZHVsZXMnO1xuXG5jb25zdCBSRVRSWV9DT1VOVCA9IDM7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQXBpR2F0ZXdheVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZSQgPSB0aGlzLmh0dHBcbiAgICAuZ2V0PEFwaUdhdGV3YXlTdGF0ZT4oTU9EVUxFU19BUEkpXG4gICAgLnBpcGUocmV0cnkoUkVUUllfQ09VTlQpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgZ2V0QXBpQWRkcmVzcygpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSQucGlwZShtYXAoc3RhdGUgPT4gc3RhdGUuYXBpQWRkcmVzcykpO1xuICB9XG59XG4iXX0=
|