@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,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* @module async-data
|
|
4
|
+
*/
|
|
5
|
+
import { handlePixel } from '@alauda/ui';
|
|
6
|
+
import { AsyncPipe, NgIf, NgTemplateOutlet } from '@angular/common';
|
|
7
|
+
import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output, TemplateRef, } from '@angular/core';
|
|
8
|
+
import { combineLatest, merge, filter, map, mapTo } from 'rxjs';
|
|
9
|
+
import { publishRef } from '../../core/public-api';
|
|
10
|
+
import { LoadingMaskComponent } from '../../widget/loading-mask/loading-mask.component';
|
|
11
|
+
import { ErrorStateComponent } from '../error-page/component';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
function PageStateComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
14
|
+
i0.ɵɵelementContainerStart(0);
|
|
15
|
+
i0.ɵɵelementContainer(1, 2);
|
|
16
|
+
i0.ɵɵpipe(2, "async");
|
|
17
|
+
i0.ɵɵelementContainerEnd();
|
|
18
|
+
} if (rf & 2) {
|
|
19
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
20
|
+
i0.ɵɵadvance(1);
|
|
21
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.template)("ngTemplateOutletContext", i0.ɵɵpipeBind1(2, 2, ctx_r0.context$));
|
|
22
|
+
} }
|
|
23
|
+
function PageStateComponent_div_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
24
|
+
i0.ɵɵelementContainerStart(0);
|
|
25
|
+
i0.ɵɵelement(1, "acl-loading-mask", 4);
|
|
26
|
+
i0.ɵɵelementContainerEnd();
|
|
27
|
+
} if (rf & 2) {
|
|
28
|
+
i0.ɵɵadvance(1);
|
|
29
|
+
i0.ɵɵproperty("loading", true);
|
|
30
|
+
} }
|
|
31
|
+
function PageStateComponent_div_2_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
33
|
+
i0.ɵɵelementContainerStart(0);
|
|
34
|
+
i0.ɵɵelementStart(1, "acl-error-state", 5);
|
|
35
|
+
i0.ɵɵlistener("reload", function PageStateComponent_div_2_ng_container_3_Template_acl_error_state_reload_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r4.adapter.reload()); })("redirect", function PageStateComponent_div_2_ng_container_3_Template_acl_error_state_redirect_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r6 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r6.redirect.emit()); });
|
|
36
|
+
i0.ɵɵpipe(2, "async");
|
|
37
|
+
i0.ɵɵelementEnd();
|
|
38
|
+
i0.ɵɵelementContainerEnd();
|
|
39
|
+
} if (rf & 2) {
|
|
40
|
+
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
41
|
+
i0.ɵɵadvance(1);
|
|
42
|
+
i0.ɵɵproperty("errorCode", i0.ɵɵpipeBind1(2, 4, ctx_r3.errorCode$))("autoRedirect", ctx_r3.autoRedirect)("showBackButton", ctx_r3.showBackButton)("backLink", ctx_r3.backLink);
|
|
43
|
+
} }
|
|
44
|
+
function PageStateComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
45
|
+
i0.ɵɵelementStart(0, "div", 3);
|
|
46
|
+
i0.ɵɵtemplate(1, PageStateComponent_div_2_ng_container_1_Template, 2, 1, "ng-container", 0);
|
|
47
|
+
i0.ɵɵpipe(2, "async");
|
|
48
|
+
i0.ɵɵtemplate(3, PageStateComponent_div_2_ng_container_3_Template, 3, 6, "ng-container", 0);
|
|
49
|
+
i0.ɵɵpipe(4, "async");
|
|
50
|
+
i0.ɵɵpipe(5, "async");
|
|
51
|
+
i0.ɵɵelementEnd();
|
|
52
|
+
} if (rf & 2) {
|
|
53
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
54
|
+
i0.ɵɵstyleProp("margin-top", ctx_r1.marginTop);
|
|
55
|
+
i0.ɵɵadvance(1);
|
|
56
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(2, 4, ctx_r1.adapter.loading$));
|
|
57
|
+
i0.ɵɵadvance(2);
|
|
58
|
+
i0.ɵɵproperty("ngIf", !i0.ɵɵpipeBind1(4, 6, ctx_r1.adapter.loading$) && !!i0.ɵɵpipeBind1(5, 8, ctx_r1.errorCode$));
|
|
59
|
+
} }
|
|
60
|
+
export class PageStateComponent {
|
|
61
|
+
constructor() {
|
|
62
|
+
this.autoRedirect = true;
|
|
63
|
+
this.showBackButton = true;
|
|
64
|
+
this.redirect = new EventEmitter();
|
|
65
|
+
}
|
|
66
|
+
set top(top) {
|
|
67
|
+
this.marginTop = handlePixel(top ?? 120);
|
|
68
|
+
}
|
|
69
|
+
ngOnInit() {
|
|
70
|
+
this.context$ = this.adapter.rawData$.pipe(map(data => ({ $implicit: data, ...data })), publishRef());
|
|
71
|
+
this.errorCode$ = merge(combineLatest([this.adapter.rawData$, this.adapter.loading$]).pipe(filter(([data, loading]) => !data && !loading), mapTo(404)), this.adapter.error$.pipe(filter(error => !!error), map(error => {
|
|
72
|
+
if (error.code && typeof error.code === 'number') {
|
|
73
|
+
return error.code;
|
|
74
|
+
}
|
|
75
|
+
if (error.status && typeof error.status === 'number') {
|
|
76
|
+
return error.status;
|
|
77
|
+
}
|
|
78
|
+
return 1;
|
|
79
|
+
}))).pipe(publishRef());
|
|
80
|
+
}
|
|
81
|
+
static { this.ɵfac = function PageStateComponent_Factory(t) { return new (t || PageStateComponent)(); }; }
|
|
82
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PageStateComponent, selectors: [["acl-page-state"]], contentQueries: function PageStateComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
83
|
+
i0.ɵɵcontentQuery(dirIndex, TemplateRef, 7);
|
|
84
|
+
} if (rf & 2) {
|
|
85
|
+
let _t;
|
|
86
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.template = _t.first);
|
|
87
|
+
} }, inputs: { adapter: "adapter", autoRedirect: "autoRedirect", showBackButton: "showBackButton", backLink: "backLink", top: "top" }, outputs: { redirect: "redirect" }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 4, vars: 6, consts: [[4, "ngIf"], ["class", "acl-data-state", 3, "marginTop", 4, "ngIf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "acl-data-state"], ["type", "module", 3, "loading"], [3, "errorCode", "autoRedirect", "showBackButton", "backLink", "reload", "redirect"]], template: function PageStateComponent_Template(rf, ctx) { if (rf & 1) {
|
|
88
|
+
i0.ɵɵtemplate(0, PageStateComponent_ng_container_0_Template, 3, 4, "ng-container", 0);
|
|
89
|
+
i0.ɵɵpipe(1, "async");
|
|
90
|
+
i0.ɵɵtemplate(2, PageStateComponent_div_2_Template, 6, 10, "div", 1);
|
|
91
|
+
i0.ɵɵpipe(3, "async");
|
|
92
|
+
} if (rf & 2) {
|
|
93
|
+
let tmp_0_0;
|
|
94
|
+
let tmp_1_0;
|
|
95
|
+
i0.ɵɵproperty("ngIf", (tmp_0_0 = i0.ɵɵpipeBind1(1, 2, ctx.context$)) == null ? null : tmp_0_0.$implicit);
|
|
96
|
+
i0.ɵɵadvance(2);
|
|
97
|
+
i0.ɵɵproperty("ngIf", !((tmp_1_0 = i0.ɵɵpipeBind1(3, 4, ctx.context$)) == null ? null : tmp_1_0.$implicit));
|
|
98
|
+
} }, dependencies: [NgTemplateOutlet,
|
|
99
|
+
NgIf,
|
|
100
|
+
LoadingMaskComponent,
|
|
101
|
+
AsyncPipe,
|
|
102
|
+
ErrorStateComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
103
|
+
}
|
|
104
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PageStateComponent, [{
|
|
105
|
+
type: Component,
|
|
106
|
+
args: [{ selector: 'acl-page-state', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
107
|
+
NgTemplateOutlet,
|
|
108
|
+
NgIf,
|
|
109
|
+
LoadingMaskComponent,
|
|
110
|
+
AsyncPipe,
|
|
111
|
+
ErrorStateComponent,
|
|
112
|
+
], template: "<ng-container *ngIf=\"(context$ | async)?.$implicit\">\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"context$ | async\"\n ></ng-container>\n</ng-container>\n\n<div\n *ngIf=\"!(context$ | async)?.$implicit\"\n class=\"acl-data-state\"\n [style.marginTop]=\"marginTop\"\n>\n <ng-container *ngIf=\"adapter.loading$ | async\">\n <acl-loading-mask\n [loading]=\"true\"\n type=\"module\"\n ></acl-loading-mask>\n </ng-container>\n <ng-container *ngIf=\"!(adapter.loading$ | async) && !!(errorCode$ | async)\">\n <acl-error-state\n [errorCode]=\"errorCode$ | async\"\n [autoRedirect]=\"autoRedirect\"\n [showBackButton]=\"showBackButton\"\n [backLink]=\"backLink\"\n (reload)=\"adapter.reload()\"\n (redirect)=\"redirect.emit()\"\n ></acl-error-state>\n </ng-container>\n</div>\n" }]
|
|
113
|
+
}], null, { adapter: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], autoRedirect: [{
|
|
116
|
+
type: Input
|
|
117
|
+
}], showBackButton: [{
|
|
118
|
+
type: Input
|
|
119
|
+
}], backLink: [{
|
|
120
|
+
type: Input
|
|
121
|
+
}], top: [{
|
|
122
|
+
type: Input
|
|
123
|
+
}], redirect: [{
|
|
124
|
+
type: Output
|
|
125
|
+
}], template: [{
|
|
126
|
+
type: ContentChild,
|
|
127
|
+
args: [TemplateRef, { static: true }]
|
|
128
|
+
}] }); })();
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2FzeW5jLWRhdGEvcGFnZS1zdGF0ZS9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYXN5bmMtZGF0YS9wYWdlLXN0YXRlL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFjLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7SUNyQjlELDZCQUFvRDtJQUNsRCwyQkFHZ0I7O0lBQ2xCLDBCQUFlOzs7SUFIWCxlQUE2QjtJQUE3QixrREFBNkIsa0VBQUE7OztJQVUvQiw2QkFBK0M7SUFDN0Msc0NBR29CO0lBQ3RCLDBCQUFlOztJQUhYLGVBQWdCO0lBQWhCLDhCQUFnQjs7OztJQUlwQiw2QkFBNEU7SUFDMUUsMENBT0M7SUFGQywwTEFBVSxlQUFBLHVCQUFnQixDQUFBLElBQUMsaUxBQ2YsZUFBQSxzQkFBZSxDQUFBLElBREE7O0lBRTVCLGlC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QHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIGFzeW5jLWRhdGFcbiAqL1xuXG5pbXBvcnQgeyBoYW5kbGVQaXhlbCB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG1lcmdlLCBmaWx0ZXIsIG1hcCwgbWFwVG8gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgcHVibGlzaFJlZiB9IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBMb2FkaW5nTWFza0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3dpZGdldC9sb2FkaW5nLW1hc2svbG9hZGluZy1tYXNrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFcnJvclN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZXJyb3ItcGFnZS9jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0YVN0YXRlQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXBhZ2Utc3RhdGUnLFxuICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgTmdJZixcbiAgICBMb2FkaW5nTWFza0NvbXBvbmVudCxcbiAgICBBc3luY1BpcGUsXG4gICAgRXJyb3JTdGF0ZUNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUGFnZVN0YXRlQ29tcG9uZW50PFQgPSB1bmtub3duPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGFkYXB0ZXI6IERhdGFTdGF0ZUFkYXB0ZXI8VD47XG5cbiAgQElucHV0KClcbiAgYXV0b1JlZGlyZWN0ID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBzaG93QmFja0J1dHRvbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgYmFja0xpbms6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzZXQgdG9wKHRvcDogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5tYXJnaW5Ub3AgPSBoYW5kbGVQaXhlbCh0b3AgPz8gMTIwKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICByZWRpcmVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgbWFyZ2luVG9wOiBzdHJpbmc7XG5cbiAgY29udGV4dCQ6IE9ic2VydmFibGU8XG4gICAge1xuICAgICAgJGltcGxpY2l0OiBUO1xuICAgIH0gJiBUXG4gID47XG5cbiAgZXJyb3JDb2RlJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29udGV4dCQgPSB0aGlzLmFkYXB0ZXIucmF3RGF0YSQucGlwZShcbiAgICAgIG1hcChkYXRhID0+ICh7ICRpbXBsaWNpdDogZGF0YSwgLi4uZGF0YSB9KSksXG4gICAgICBwdWJsaXNoUmVmKCksXG4gICAgKTtcblxuICAgIHRoaXMuZXJyb3JDb2RlJCA9IG1lcmdlKFxuICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5hZGFwdGVyLnJhd0RhdGEkLCB0aGlzLmFkYXB0ZXIubG9hZGluZyRdKS5waXBlKFxuICAgICAgICBmaWx0ZXIoKFtkYXRhLCBsb2FkaW5nXSkgPT4gIWRhdGEgJiYgIWxvYWRpbmcpLFxuICAgICAgICBtYXBUbyg0MDQpLFxuICAgICAgKSxcbiAgICAgIHRoaXMuYWRhcHRlci5lcnJvciQucGlwZShcbiAgICAgICAgZmlsdGVyKGVycm9yID0+ICEhZXJyb3IpLFxuICAgICAgICBtYXAoZXJyb3IgPT4ge1xuICAgICAgICAgIGlmIChlcnJvci5jb2RlICYmIHR5cGVvZiBlcnJvci5jb2RlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgcmV0dXJuIGVycm9yLmNvZGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgJiYgdHlwZW9mIGVycm9yLnN0YXR1cyA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHJldHVybiBlcnJvci5zdGF0dXM7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKS5waXBlKHB1Ymxpc2hSZWYoKSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIoY29udGV4dCQgfCBhc3luYyk/LiRpbXBsaWNpdFwiPlxuICA8bmctY29udGFpbmVyXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVcIlxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJjb250ZXh0JCB8IGFzeW5jXCJcbiAgPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXZcbiAgKm5nSWY9XCIhKGNvbnRleHQkIHwgYXN5bmMpPy4kaW1wbGljaXRcIlxuICBjbGFzcz1cImFjbC1kYXRhLXN0YXRlXCJcbiAgW3N0eWxlLm1hcmdpblRvcF09XCJtYXJnaW5Ub3BcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWRhcHRlci5sb2FkaW5nJCB8IGFzeW5jXCI+XG4gICAgPGFjbC1sb2FkaW5nLW1hc2tcbiAgICAgIFtsb2FkaW5nXT1cInRydWVcIlxuICAgICAgdHlwZT1cIm1vZHVsZVwiXG4gICAgPjwvYWNsLWxvYWRpbmctbWFzaz5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhKGFkYXB0ZXIubG9hZGluZyQgfCBhc3luYykgJiYgISEoZXJyb3JDb2RlJCB8IGFzeW5jKVwiPlxuICAgIDxhY2wtZXJyb3Itc3RhdGVcbiAgICAgIFtlcnJvckNvZGVdPVwiZXJyb3JDb2RlJCB8IGFzeW5jXCJcbiAgICAgIFthdXRvUmVkaXJlY3RdPVwiYXV0b1JlZGlyZWN0XCJcbiAgICAgIFtzaG93QmFja0J1dHRvbl09XCJzaG93QmFja0J1dHRvblwiXG4gICAgICBbYmFja0xpbmtdPVwiYmFja0xpbmtcIlxuICAgICAgKHJlbG9hZCk9XCJhZGFwdGVyLnJlbG9hZCgpXCJcbiAgICAgIChyZWRpcmVjdCk9XCJyZWRpcmVjdC5lbWl0KClcIlxuICAgID48L2FjbC1lcnJvci1zdGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [[include:async-data/README.md]]
|
|
3
|
+
* @module async-data
|
|
4
|
+
* @preferred
|
|
5
|
+
*/
|
|
6
|
+
/** imports */
|
|
7
|
+
export * from './async-data.module';
|
|
8
|
+
export * from './async-data-loader';
|
|
9
|
+
export * from './page-state/component';
|
|
10
|
+
export * from './types';
|
|
11
|
+
export { ErrorStateComponent } from './error-page/component';
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hc3luYy1kYXRhL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILGNBQWM7QUFDZCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLFNBQVMsQ0FBQztBQUN4QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogW1tpbmNsdWRlOmFzeW5jLWRhdGEvUkVBRE1FLm1kXV1cbiAqIEBtb2R1bGUgYXN5bmMtZGF0YVxuICogQHByZWZlcnJlZFxuICovXG5cbi8qKiBpbXBvcnRzICovXG5leHBvcnQgKiBmcm9tICcuL2FzeW5jLWRhdGEubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vYXN5bmMtZGF0YS1sb2FkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlLXN0YXRlL2NvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCB7IEVycm9yU3RhdGVDb21wb25lbnQgfSBmcm9tICcuL2Vycm9yLXBhZ2UvY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* @module async-data
|
|
4
|
+
*/
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYXN5bmMtZGF0YS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0ciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSBhc3luYy1kYXRhXG4gKi9cblxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL2NvcmUvcHVibGljLWFwaSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVN0YXRlQWRhcHRlcjxEPiB7XG4gIHJhd0RhdGEkOiBPYnNlcnZhYmxlPEQ+O1xuICBkYXRhJDogT2JzZXJ2YWJsZTxEPjtcbiAgbG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGVycm9yJDogT2JzZXJ2YWJsZTxEYXRhRXJyb3I+O1xuICByZWxvYWQ6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIEZldGNoZXI8RCwgUD4gPSAocGFyYW1zOiBQKSA9PiBPYnNlcnZhYmxlPEQ+O1xuXG5leHBvcnQgaW50ZXJmYWNlIExvYWRlckNvbmZpZzxELCBQPiB7XG4gIGZldGNoZXI6IEZldGNoZXI8RCwgUD47XG4gIHBhcmFtcyQ/OiBPYnNlcnZhYmxlPFA+O1xuICBwYXJhbXM/OiBQO1xuICBkYXRhRmlsdGVyPzogKGRhdGE6IEQsIGluZGV4OiBudW1iZXIpID0+IGJvb2xlYW47XG4gIHNpbGVudD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGVyQ29uZmlnV2l0aEludGVydmFsPEQsIFA+IGV4dGVuZHMgTG9hZGVyQ29uZmlnPEQsIFA+IHtcbiAgaW50ZXJ2YWw6IG51bWJlcjtcbiAgaW50ZXJ2YWxGaWx0ZXI/OiAoaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhbjtcbiAgY29tcGFyZTogc3RyaW5nW10gfCAoKGE6IEQsIGI6IEQpID0+IGJvb2xlYW4pO1xufVxuXG5leHBvcnQgdHlwZSBEYXRhRXJyb3IgPSBQYXJ0aWFsPEh0dHBFcnJvclJlc3BvbnNlICYgU3RhdHVzPjtcblxuZXhwb3J0IHR5cGUgRGF0YU1hcHBlcjxEPiA9IChkYXRhOiBEKSA9PiBEO1xuIl19
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* @module authorization
|
|
4
|
+
*/
|
|
5
|
+
let initUrl;
|
|
6
|
+
export function recordInitUrl() {
|
|
7
|
+
if (location?.href) {
|
|
8
|
+
initUrl = location.href;
|
|
9
|
+
history.replaceState({}, '', removeCode(location.href));
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export function getInitUrl() {
|
|
13
|
+
if (!initUrl) {
|
|
14
|
+
throw new Error('The initial URL was not recorded. Please ensure that you invoke "recordInitUrl" before bootstrapping Angular.');
|
|
15
|
+
}
|
|
16
|
+
return initUrl;
|
|
17
|
+
}
|
|
18
|
+
function removeCode(href) {
|
|
19
|
+
const url = new URL(href);
|
|
20
|
+
const queryParams = url.search
|
|
21
|
+
? url.search
|
|
22
|
+
.slice(1)
|
|
23
|
+
.split('&')
|
|
24
|
+
.filter(pair => {
|
|
25
|
+
const [key] = pair.split('=');
|
|
26
|
+
return key !== 'code' && key !== 'state';
|
|
27
|
+
})
|
|
28
|
+
.join('&')
|
|
29
|
+
: '';
|
|
30
|
+
const query = queryParams ? '?' + queryParams : '';
|
|
31
|
+
return `${url.origin}${url.pathname}${query}${url.hash}`;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWluaXQtdXJsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2F1dGhvcml6YXRpb24vYXBwLWluaXQtdXJsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILElBQUksT0FBZSxDQUFDO0FBRXBCLE1BQU0sVUFBVSxhQUFhO0lBQzNCLElBQUksUUFBUSxFQUFFLElBQUksRUFBRTtRQUNsQixPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztRQUN4QixPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ3pEO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVO0lBQ3hCLElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDWixNQUFNLElBQUksS0FBSyxDQUNiLCtHQUErRyxDQUNoSCxDQUFDO0tBQ0g7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsSUFBWTtJQUM5QixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUxQixNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsTUFBTTtRQUM1QixDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU07YUFDUCxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ1IsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNiLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLE9BQU8sR0FBRyxLQUFLLE1BQU0sSUFBSSxHQUFHLEtBQUssT0FBTyxDQUFDO1FBQzNDLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxHQUFHLENBQUM7UUFDZCxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRVAsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFbkQsT0FBTyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLFFBQVEsR0FBRyxLQUFLLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSBhdXRob3JpemF0aW9uXG4gKi9cblxubGV0IGluaXRVcmw6IHN0cmluZztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlY29yZEluaXRVcmwoKSB7XG4gIGlmIChsb2NhdGlvbj8uaHJlZikge1xuICAgIGluaXRVcmwgPSBsb2NhdGlvbi5ocmVmO1xuICAgIGhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LCAnJywgcmVtb3ZlQ29kZShsb2NhdGlvbi5ocmVmKSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEluaXRVcmwoKSB7XG4gIGlmICghaW5pdFVybCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdUaGUgaW5pdGlhbCBVUkwgd2FzIG5vdCByZWNvcmRlZC4gUGxlYXNlIGVuc3VyZSB0aGF0IHlvdSBpbnZva2UgXCJyZWNvcmRJbml0VXJsXCIgYmVmb3JlIGJvb3RzdHJhcHBpbmcgQW5ndWxhci4nLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGluaXRVcmw7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZUNvZGUoaHJlZjogc3RyaW5nKSB7XG4gIGNvbnN0IHVybCA9IG5ldyBVUkwoaHJlZik7XG5cbiAgY29uc3QgcXVlcnlQYXJhbXMgPSB1cmwuc2VhcmNoXG4gICAgPyB1cmwuc2VhcmNoXG4gICAgICAgIC5zbGljZSgxKVxuICAgICAgICAuc3BsaXQoJyYnKVxuICAgICAgICAuZmlsdGVyKHBhaXIgPT4ge1xuICAgICAgICAgIGNvbnN0IFtrZXldID0gcGFpci5zcGxpdCgnPScpO1xuICAgICAgICAgIHJldHVybiBrZXkgIT09ICdjb2RlJyAmJiBrZXkgIT09ICdzdGF0ZSc7XG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKCcmJylcbiAgICA6ICcnO1xuXG4gIGNvbnN0IHF1ZXJ5ID0gcXVlcnlQYXJhbXMgPyAnPycgKyBxdWVyeVBhcmFtcyA6ICcnO1xuXG4gIHJldHVybiBgJHt1cmwub3JpZ2lufSR7dXJsLnBhdGhuYW1lfSR7cXVlcnl9JHt1cmwuaGFzaH1gO1xufVxuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* @module authorization
|
|
4
|
+
*/
|
|
5
|
+
import { Inject, Injectable, InjectionToken } from '@angular/core';
|
|
6
|
+
import { of, catchError, map } from 'rxjs';
|
|
7
|
+
import { SilentlyNavigateService } from '../core/services/public-api';
|
|
8
|
+
import { AuthorizationStateService } from './state.service';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "./state.service";
|
|
11
|
+
import * as i2 from "../core/services/public-api";
|
|
12
|
+
export const DEFAULT_ABNORMAL_EMPTY_URL = 'system-abnormal';
|
|
13
|
+
export function abnormalEmptyUrlFactory() {
|
|
14
|
+
return DEFAULT_ABNORMAL_EMPTY_URL;
|
|
15
|
+
}
|
|
16
|
+
export const ABNORMAL_EMPTY_URL_TOKEN = new InjectionToken('abnormal_empty_url', { providedIn: 'root', factory: abnormalEmptyUrlFactory });
|
|
17
|
+
export class AuthorizationGuardService {
|
|
18
|
+
constructor(emptyUrl, auth, silentlyNavigate) {
|
|
19
|
+
this.emptyUrl = emptyUrl;
|
|
20
|
+
this.auth = auth;
|
|
21
|
+
this.silentlyNavigate = silentlyNavigate;
|
|
22
|
+
}
|
|
23
|
+
canActivate(_route, state) {
|
|
24
|
+
return this.auth.getToken().pipe(map(token => !!token), catchError(() => {
|
|
25
|
+
this.silentlyNavigate.navigate(state.url, this.emptyUrl);
|
|
26
|
+
return of(false);
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
canActivateChild(route, state) {
|
|
30
|
+
return this.canActivate(route, state);
|
|
31
|
+
}
|
|
32
|
+
static { this.ɵfac = function AuthorizationGuardService_Factory(t) { return new (t || AuthorizationGuardService)(i0.ɵɵinject(ABNORMAL_EMPTY_URL_TOKEN), i0.ɵɵinject(i1.AuthorizationStateService), i0.ɵɵinject(i2.SilentlyNavigateService)); }; }
|
|
33
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AuthorizationGuardService, factory: AuthorizationGuardService.ɵfac, providedIn: 'root' }); }
|
|
34
|
+
}
|
|
35
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthorizationGuardService, [{
|
|
36
|
+
type: Injectable,
|
|
37
|
+
args: [{ providedIn: 'root' }]
|
|
38
|
+
}], function () { return [{ type: undefined, decorators: [{
|
|
39
|
+
type: Inject,
|
|
40
|
+
args: [ABNORMAL_EMPTY_URL_TOKEN]
|
|
41
|
+
}] }, { type: i1.AuthorizationStateService }, { type: i2.SilentlyNavigateService }]; }, null); })();
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hdXRob3JpemF0aW9uL2d1YXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT25FLE9BQU8sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV0RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUU1RCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxpQkFBaUIsQ0FBQztBQUU1RCxNQUFNLFVBQVUsdUJBQXVCO0lBQ3JDLE9BQU8sMEJBQTBCLENBQUM7QUFDcEMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUN4RCxvQkFBb0IsRUFDcEIsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxDQUN6RCxDQUFDO0FBR0YsTUFBTSxPQUFPLHlCQUF5QjtJQUdwQyxZQUVtQixRQUFnQixFQUNoQixJQUErQixFQUMvQixnQkFBeUM7UUFGekMsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixTQUFJLEdBQUosSUFBSSxDQUEyQjtRQUMvQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO0lBQ3pELENBQUM7SUFFSixXQUFXLENBQUMsTUFBOEIsRUFBRSxLQUEwQjtRQUNwRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUM5QixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQ3JCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pELE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBNkIsRUFBRSxLQUEwQjtRQUN4RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7MEZBdEJVLHlCQUF5QixjQUkxQix3QkFBd0I7dUVBSnZCLHlCQUF5QixXQUF6Qix5QkFBeUIsbUJBRFosTUFBTTs7dUZBQ25CLHlCQUF5QjtjQURyQyxVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztzQkFLN0IsTUFBTTt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSBhdXRob3JpemF0aW9uXG4gKi9cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIENhbkFjdGl2YXRlLFxuICBDYW5BY3RpdmF0ZUNoaWxkLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgb2YsIGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTaWxlbnRseU5hdmlnYXRlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljZXMvcHVibGljLWFwaSc7XG5cbmltcG9ydCB7IEF1dGhvcml6YXRpb25TdGF0ZVNlcnZpY2UgfSBmcm9tICcuL3N0YXRlLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9BQk5PUk1BTF9FTVBUWV9VUkwgPSAnc3lzdGVtLWFibm9ybWFsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFibm9ybWFsRW1wdHlVcmxGYWN0b3J5KCkge1xuICByZXR1cm4gREVGQVVMVF9BQk5PUk1BTF9FTVBUWV9VUkw7XG59XG5cbmV4cG9ydCBjb25zdCBBQk5PUk1BTF9FTVBUWV9VUkxfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPihcbiAgJ2Fibm9ybWFsX2VtcHR5X3VybCcsXG4gIHsgcHJvdmlkZWRJbjogJ3Jvb3QnLCBmYWN0b3J5OiBhYm5vcm1hbEVtcHR5VXJsRmFjdG9yeSB9LFxuKTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBdXRob3JpemF0aW9uR3VhcmRTZXJ2aWNlXG4gIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUsIENhbkFjdGl2YXRlQ2hpbGRcbntcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChBQk5PUk1BTF9FTVBUWV9VUkxfVE9LRU4pXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbXB0eVVybDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aDogQXV0aG9yaXphdGlvblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNpbGVudGx5TmF2aWdhdGU6IFNpbGVudGx5TmF2aWdhdGVTZXJ2aWNlLFxuICApIHt9XG5cbiAgY2FuQWN0aXZhdGUoX3JvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xuICAgIHJldHVybiB0aGlzLmF1dGguZ2V0VG9rZW4oKS5waXBlKFxuICAgICAgbWFwKHRva2VuID0+ICEhdG9rZW4pLFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgIHRoaXMuc2lsZW50bHlOYXZpZ2F0ZS5uYXZpZ2F0ZShzdGF0ZS51cmwsIHRoaXMuZW1wdHlVcmwpO1xuICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGNhbkFjdGl2YXRlQ2hpbGQocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSB7XG4gICAgcmV0dXJuIHRoaXMuY2FuQWN0aXZhdGUocm91dGUsIHN0YXRlKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* @module authorization
|
|
4
|
+
*/
|
|
5
|
+
import { DialogService } from '@alauda/ui';
|
|
6
|
+
import { Inject, Injectable, Injector } from '@angular/core';
|
|
7
|
+
import { NEVER, combineLatest, throwError, catchError, concatMap, take, map, of, switchMap, } from 'rxjs';
|
|
8
|
+
import { ApiGatewayService } from '../api/public-api';
|
|
9
|
+
import { ANONYMOUS_APIS, catchPromise } from '../core/public-api';
|
|
10
|
+
import { TranslateService } from '../public-api';
|
|
11
|
+
import { SESSION_MANAGE_KEY, SessionManageService, } from './session-manage.service';
|
|
12
|
+
import { AuthorizationStateService } from './state.service';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "../api/public-api";
|
|
15
|
+
import * as i2 from "@alauda/ui";
|
|
16
|
+
import * as i3 from "./session-manage.service";
|
|
17
|
+
// Interceptor must provide with correct order, not provide in root here
|
|
18
|
+
// https://angular.cn/guide/http#interceptor-order
|
|
19
|
+
export class AuthorizationInterceptorService {
|
|
20
|
+
constructor(anonymousApis, apiGateway, injector, dialog, sessionManage) {
|
|
21
|
+
this.anonymousApis = anonymousApis;
|
|
22
|
+
this.apiGateway = apiGateway;
|
|
23
|
+
this.injector = injector;
|
|
24
|
+
this.dialog = dialog;
|
|
25
|
+
this.sessionManage = sessionManage;
|
|
26
|
+
}
|
|
27
|
+
// eslint-disable-next-line sonarjs/cognitive-complexity
|
|
28
|
+
intercept(req, next) {
|
|
29
|
+
if (this.isConsoleRelative(req.url)) {
|
|
30
|
+
return next.handle(req);
|
|
31
|
+
}
|
|
32
|
+
const auth = this.getAuth();
|
|
33
|
+
return combineLatest([
|
|
34
|
+
this.apiGateway.getApiAddress(),
|
|
35
|
+
auth.getToken(),
|
|
36
|
+
]).pipe(take(1), concatMap(([apiAddress, idToken]) => {
|
|
37
|
+
if (!this.needAuthorization(apiAddress, req)) {
|
|
38
|
+
return next.handle(req);
|
|
39
|
+
}
|
|
40
|
+
if (!idToken) {
|
|
41
|
+
return NEVER;
|
|
42
|
+
}
|
|
43
|
+
const authReq = this.cloneReq(req, idToken);
|
|
44
|
+
return next.handle(authReq).pipe(catchError((error) => {
|
|
45
|
+
if (this.isSessionInvalid(error)) {
|
|
46
|
+
this.handleSessionInvalid();
|
|
47
|
+
return NEVER;
|
|
48
|
+
}
|
|
49
|
+
// 当用户被禁用自动登出
|
|
50
|
+
if (this.isInvalidUser(error)) {
|
|
51
|
+
auth.logout(true);
|
|
52
|
+
return NEVER;
|
|
53
|
+
}
|
|
54
|
+
if (!this.isUnauthorized(error)) {
|
|
55
|
+
return throwError(() => error);
|
|
56
|
+
}
|
|
57
|
+
if (this.isWatchReq(apiAddress, authReq)) {
|
|
58
|
+
return NEVER;
|
|
59
|
+
}
|
|
60
|
+
return auth.checkToken(idToken).pipe(map(() => false), catchError(() => of(true)), switchMap(expired => expired ? this.retryAuth(next, req) : throwError(() => error)));
|
|
61
|
+
}));
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
// console relative means url protocol+hostname+port same with console, for this case, just check url start with ```http(s)://``` or ```//```
|
|
65
|
+
isConsoleRelative(url) {
|
|
66
|
+
const lowerCaseUrl = (url || '').toLowerCase();
|
|
67
|
+
return (!lowerCaseUrl.startsWith('http://') &&
|
|
68
|
+
!lowerCaseUrl.startsWith('https://') &&
|
|
69
|
+
!lowerCaseUrl.startsWith('//'));
|
|
70
|
+
}
|
|
71
|
+
retryAuth(next, req) {
|
|
72
|
+
const auth = this.getAuth();
|
|
73
|
+
return auth.refreshToken().pipe(concatMap(token => next.handle(this.cloneReq(req, token)).pipe(catchError((error) => {
|
|
74
|
+
if (this.isUnauthorized(error)) {
|
|
75
|
+
auth.logout(true);
|
|
76
|
+
}
|
|
77
|
+
return throwError(() => error);
|
|
78
|
+
}))));
|
|
79
|
+
}
|
|
80
|
+
cloneReq(req, idToken) {
|
|
81
|
+
return req.clone({
|
|
82
|
+
setHeaders: {
|
|
83
|
+
Authorization: `Bearer ${idToken}`,
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
getAuth() {
|
|
88
|
+
if (!this.auth) {
|
|
89
|
+
this.auth = this.injector.get(AuthorizationStateService);
|
|
90
|
+
}
|
|
91
|
+
return this.auth;
|
|
92
|
+
}
|
|
93
|
+
needAuthorization(apiAddress, req) {
|
|
94
|
+
if (!req.url.startsWith(apiAddress) || req.headers.get('Authorization')) {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
return !this.anonymousApis.some(api => api instanceof RegExp ? api.test(req.url) : req.url.includes(api));
|
|
98
|
+
}
|
|
99
|
+
is401({ error }) {
|
|
100
|
+
return this.isStatus(error) && error.code === 401;
|
|
101
|
+
}
|
|
102
|
+
isSessionInvalid(errorRes) {
|
|
103
|
+
const { error } = errorRes;
|
|
104
|
+
return this.is401(errorRes) && error.reason === 'SessionInvalid';
|
|
105
|
+
}
|
|
106
|
+
handleSessionInvalid() {
|
|
107
|
+
this.sessionManage.complete();
|
|
108
|
+
if (Date.now() - parseInt(sessionStorage.getItem(SESSION_MANAGE_KEY)) <
|
|
109
|
+
5000) {
|
|
110
|
+
sessionStorage.removeItem(SESSION_MANAGE_KEY);
|
|
111
|
+
this.auth.logout(true);
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
// fix circle dependency error
|
|
115
|
+
const translate = this.injector.get(TranslateService);
|
|
116
|
+
catchPromise(this.dialog.confirm({
|
|
117
|
+
title: translate.get('session_invalid_hint'),
|
|
118
|
+
confirmText: translate.get('i_know'),
|
|
119
|
+
cancelButton: false,
|
|
120
|
+
})).subscribe(() => {
|
|
121
|
+
this.auth.logout(true);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
isUnauthorized(errorRes) {
|
|
125
|
+
return this.is401(errorRes) && errorRes.error.reason === 'Unauthorized';
|
|
126
|
+
}
|
|
127
|
+
isInvalidUser(errorRes) {
|
|
128
|
+
return this.is401(errorRes) && errorRes.error.reason === 'InvalidUser';
|
|
129
|
+
}
|
|
130
|
+
isStatus(error) {
|
|
131
|
+
return error && typeof error !== 'string' && 'code' in error;
|
|
132
|
+
}
|
|
133
|
+
isWatchReq(apiAddress, { url, params }) {
|
|
134
|
+
const isStandardApi = url.startsWith(apiAddress + '/api/') ||
|
|
135
|
+
url.startsWith(apiAddress + '/apis/') ||
|
|
136
|
+
url.startsWith(apiAddress + '/kubernetes/');
|
|
137
|
+
const isWatchOn = params.get('watch')?.toLowerCase() === 'true';
|
|
138
|
+
return isStandardApi && isWatchOn;
|
|
139
|
+
}
|
|
140
|
+
static { this.ɵfac = function AuthorizationInterceptorService_Factory(t) { return new (t || AuthorizationInterceptorService)(i0.ɵɵinject(ANONYMOUS_APIS), i0.ɵɵinject(i1.ApiGatewayService), i0.ɵɵinject(i0.Injector), i0.ɵɵinject(i2.DialogService), i0.ɵɵinject(i3.SessionManageService)); }; }
|
|
141
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AuthorizationInterceptorService, factory: AuthorizationInterceptorService.ɵfac }); }
|
|
142
|
+
}
|
|
143
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthorizationInterceptorService, [{
|
|
144
|
+
type: Injectable
|
|
145
|
+
}], function () { return [{ type: Array, decorators: [{
|
|
146
|
+
type: Inject,
|
|
147
|
+
args: [ANONYMOUS_APIS]
|
|
148
|
+
}] }, { type: i1.ApiGatewayService }, { type: i0.Injector }, { type: i2.DialogService }, { type: i3.SessionManageService }]; }, null); })();
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hdXRob3JpemF0aW9uL2ludGVyY2VwdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQU8zQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUNMLEtBQUssRUFDTCxhQUFhLEVBQ2IsVUFBVSxFQUNWLFVBQVUsRUFDVixTQUFTLEVBQ1QsSUFBSSxFQUNKLEdBQUcsRUFDSCxFQUFFLEVBQ0YsU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRSxPQUFPLEVBQVUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixvQkFBb0IsR0FDckIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFFNUQsd0VBQXdFO0FBQ3hFLGtEQUFrRDtBQUVsRCxNQUFNLE9BQU8sK0JBQStCO0lBRzFDLFlBRW1CLGFBQXFDLEVBQ3JDLFVBQTZCLEVBQzdCLFFBQWtCLEVBQ2xCLE1BQXFCLEVBQ3JCLGFBQW1DO1FBSm5DLGtCQUFhLEdBQWIsYUFBYSxDQUF3QjtRQUNyQyxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsa0JBQWEsR0FBYixhQUFhLENBQXNCO0lB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Yzt1RUFKYiwrQkFBK0IsV0FBL0IsK0JBQStCOzt1RkFBL0IsK0JBQStCO2NBRDNDLFVBQVU7O3NCQUtOLE1BQU07dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIGF1dGhvcml6YXRpb25cbiAqL1xuXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBIdHRwRXJyb3JSZXNwb25zZSxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cFJlcXVlc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE5FVkVSLFxuICBjb21iaW5lTGF0ZXN0LFxuICB0aHJvd0Vycm9yLFxuICBjYXRjaEVycm9yLFxuICBjb25jYXRNYXAsXG4gIHRha2UsXG4gIG1hcCxcbiAgb2YsXG4gIHN3aXRjaE1hcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFwaUdhdGV3YXlTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQU5PTllNT1VTX0FQSVMsIGNhdGNoUHJvbWlzZSB9IGZyb20gJy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBTdGF0dXMsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9wdWJsaWMtYXBpJztcblxuaW1wb3J0IHtcbiAgU0VTU0lPTl9NQU5BR0VfS0VZLFxuICBTZXNzaW9uTWFuYWdlU2VydmljZSxcbn0gZnJvbSAnLi9zZXNzaW9uLW1hbmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhvcml6YXRpb25TdGF0ZVNlcnZpY2UgfSBmcm9tICcuL3N0YXRlLnNlcnZpY2UnO1xuXG4vLyBJbnRlcmNlcHRvciBtdXN0IHByb3ZpZGUgd2l0aCBjb3JyZWN0IG9yZGVyLCBub3QgcHJvdmlkZSBpbiByb290IGhlcmVcbi8vIGh0dHBzOi8vYW5ndWxhci5jbi9ndWlkZS9odHRwI2ludGVyY2VwdG9yLW9yZGVyXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aG9yaXphdGlvbkludGVyY2VwdG9yU2VydmljZSBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIHByaXZhdGUgYXV0aDogQXV0aG9yaXphdGlvblN0YXRlU2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEFOT05ZTU9VU19BUElTKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgYW5vbnltb3VzQXBpczogQXJyYXk8c3RyaW5nIHwgUmVnRXhwPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwaUdhdGV3YXk6IEFwaUdhdGV3YXlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBEaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvbk1hbmFnZTogU2Vzc2lvbk1hbmFnZVNlcnZpY2UsXG4gICkge31cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXJqcy9jb2duaXRpdmUtY29tcGxleGl0eVxuICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDx1bmtub3duPiwgbmV4dDogSHR0cEhhbmRsZXIpIHtcbiAgICBpZiAodGhpcy5pc0NvbnNvbGVSZWxhdGl2ZShyZXEudXJsKSkge1xuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgfVxuXG4gICAgY29uc3QgYXV0aCA9IHRoaXMuZ2V0QXV0aCgpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5hcGlHYXRld2F5LmdldEFwaUFkZHJlc3MoKSxcbiAgICAgIGF1dGguZ2V0VG9rZW4oKSxcbiAgICBdKS5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIGNvbmNhdE1hcCgoW2FwaUFkZHJlc3MsIGlkVG9rZW5dKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5uZWVkQXV0aG9yaXphdGlvbihhcGlBZGRyZXNzLCByZXEpKSB7XG4gICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWlkVG9rZW4pIHtcbiAgICAgICAgICByZXR1cm4gTkVWRVI7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhdXRoUmVxID0gdGhpcy5jbG9uZVJlcShyZXEsIGlkVG9rZW4pO1xuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoYXV0aFJlcSkucGlwZShcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzU2Vzc2lvbkludmFsaWQoZXJyb3IpKSB7XG4gICAgICAgICAgICAgIHRoaXMuaGFuZGxlU2Vzc2lvbkludmFsaWQoKTtcbiAgICAgICAgICAgICAgcmV0dXJuIE5FVkVSO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyDlvZPnlKjmiLfooqvnpoHnlKjoh6rliqjnmbvlh7pcbiAgICAgICAgICAgIGlmICh0aGlzLmlzSW52YWxpZFVzZXIoZXJyb3IpKSB7XG4gICAgICAgICAgICAgIGF1dGgubG9nb3V0KHRydWUpO1xuICAgICAgICAgICAgICByZXR1cm4gTkVWRVI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5pc1VuYXV0aG9yaXplZChlcnJvcikpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5pc1dhdGNoUmVxKGFwaUFkZHJlc3MsIGF1dGhSZXEpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBORVZFUjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGF1dGguY2hlY2tUb2tlbihpZFRva2VuKS5waXBlKFxuICAgICAgICAgICAgICBtYXAoKCkgPT4gZmFsc2UpLFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IG9mKHRydWUpKSxcbiAgICAgICAgICAgICAgc3dpdGNoTWFwKGV4cGlyZWQgPT5cbiAgICAgICAgICAgICAgICBleHBpcmVkID8gdGhpcy5yZXRyeUF1dGgobmV4dCwgcmVxKSA6IHRocm93RXJyb3IoKCkgPT4gZXJyb3IpLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvLyBjb25zb2xlIHJlbGF0aXZlIG1lYW5zIHVybCBwcm90b2NvbCtob3N0bmFtZStwb3J0IHNhbWUgd2l0aCBjb25zb2xlLCBmb3IgdGhpcyBjYXNlLCBqdXN0IGNoZWNrIHVybCBzdGFydCB3aXRoIGBgYGh0dHAocyk6Ly9gYGAgb3IgYGBgLy9gYGBcbiAgaXNDb25zb2xlUmVsYXRpdmUodXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsb3dlckNhc2VVcmwgPSAodXJsIHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICFsb3dlckNhc2VVcmwuc3RhcnRzV2l0aCgnaHR0cDovLycpICYmXG4gICAgICAhbG93ZXJDYXNlVXJsLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vJykgJiZcbiAgICAgICFsb3dlckNhc2VVcmwuc3RhcnRzV2l0aCgnLy8nKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJldHJ5QXV0aChuZXh0OiBIdHRwSGFuZGxlciwgcmVxOiBIdHRwUmVxdWVzdDx1bmtub3duPikge1xuICAgIGNvbnN0IGF1dGggPSB0aGlzLmdldEF1dGgoKTtcbiAgICByZXR1cm4gYXV0aC5yZWZyZXNoVG9rZW4oKS5waXBlKFxuICAgICAgY29uY2F0TWFwKHRva2VuID0+XG4gICAgICAgIG5leHQuaGFuZGxlKHRoaXMuY2xvbmVSZXEocmVxLCB0b2tlbikpLnBpcGUoXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1VuYXV0aG9yaXplZChlcnJvcikpIHtcbiAgICAgICAgICAgICAgYXV0aC5sb2dvdXQodHJ1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvbmVSZXEocmVxOiBIdHRwUmVxdWVzdDx1bmtub3duPiwgaWRUb2tlbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHJlcS5jbG9uZSh7XG4gICAgICBzZXRIZWFkZXJzOiB7XG4gICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHtpZFRva2VufWAsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBdXRoKCkge1xuICAgIGlmICghdGhpcy5hdXRoKSB7XG4gICAgICB0aGlzLmF1dGggPSB0aGlzLmluamVjdG9yLmdldChBdXRob3JpemF0aW9uU3RhdGVTZXJ2aWNlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYXV0aDtcbiAgfVxuXG4gIHByaXZhdGUgbmVlZEF1dGhvcml6YXRpb24oXG4gICAgYXBpQWRkcmVzczogc3RyaW5nLFxuICAgIHJlcTogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXG4gICk6IGJvb2xlYW4ge1xuICAgIGlmICghcmVxLnVybC5zdGFydHNXaXRoKGFwaUFkZHJlc3MpIHx8IHJlcS5oZWFkZXJzLmdldCgnQXV0aG9yaXphdGlvbicpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuICF0aGlzLmFub255bW91c0FwaXMuc29tZShhcGkgPT5cbiAgICAgIGFwaSBpbnN0YW5jZW9mIFJlZ0V4cCA/IGFwaS50ZXN0KHJlcS51cmwpIDogcmVxLnVybC5pbmNsdWRlcyhhcGkpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzNDAxKHsgZXJyb3IgfTogSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICByZXR1cm4gdGhpcy5pc1N0YXR1cyhlcnJvcikgJiYgZXJyb3IuY29kZSA9PT0gNDAxO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1Nlc3Npb25JbnZhbGlkKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgIGNvbnN0IHsgZXJyb3IgfSA9IGVycm9yUmVzO1xuICAgIHJldHVybiB0aGlzLmlzNDAxKGVycm9yUmVzKSAmJiBlcnJvci5yZWFzb24gPT09ICdTZXNzaW9uSW52YWxpZCc7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNlc3Npb25JbnZhbGlkKCkge1xuICAgIHRoaXMuc2Vzc2lvbk1hbmFnZS5jb21wbGV0ZSgpO1xuICAgIGlmIChcbiAgICAgIERhdGUubm93KCkgLSBwYXJzZUludChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFNFU1NJT05fTUFOQUdFX0tFWSkpIDxcbiAgICAgIDUwMDBcbiAgICApIHtcbiAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oU0VTU0lPTl9NQU5BR0VfS0VZKTtcbiAgICAgIHRoaXMuYXV0aC5sb2dvdXQodHJ1ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGZpeCBjaXJjbGUgZGVwZW5kZW5jeSBlcnJvclxuICAgIGNvbnN0IHRyYW5zbGF0ZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuICAgIGNhdGNoUHJvbWlzZShcbiAgICAgIHRoaXMuZGlhbG9nLmNvbmZpcm0oe1xuICAgICAgICB0aXRsZTogdHJhbnNsYXRlLmdldCgnc2Vzc2lvbl9pbnZhbGlkX2hpbnQnKSxcbiAgICAgICAgY29uZmlybVRleHQ6IHRyYW5zbGF0ZS5nZXQoJ2lfa25vdycpLFxuICAgICAgICBjYW5jZWxCdXR0b246IGZhbHNlLFxuICAgICAgfSksXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5hdXRoLmxvZ291dCh0cnVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNVbmF1dGhvcml6ZWQoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgcmV0dXJuIHRoaXMuaXM0MDEoZXJyb3JSZXMpICYmIGVycm9yUmVzLmVycm9yLnJlYXNvbiA9PT0gJ1VuYXV0aG9yaXplZCc7XG4gIH1cblxuICBwcml2YXRlIGlzSW52YWxpZFVzZXIoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgcmV0dXJuIHRoaXMuaXM0MDEoZXJyb3JSZXMpICYmIGVycm9yUmVzLmVycm9yLnJlYXNvbiA9PT0gJ0ludmFsaWRVc2VyJztcbiAgfVxuXG4gIHByaXZhdGUgaXNTdGF0dXMoZXJyb3I6IHN0cmluZyB8IFN0YXR1cyk6IGVycm9yIGlzIFN0YXR1cyB7XG4gICAgcmV0dXJuIGVycm9yICYmIHR5cGVvZiBlcnJvciAhPT0gJ3N0cmluZycgJiYgJ2NvZGUnIGluIGVycm9yO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1dhdGNoUmVxKFxuICAgIGFwaUFkZHJlc3M6IHN0cmluZyxcbiAgICB7IHVybCwgcGFyYW1zIH06IEh0dHBSZXF1ZXN0PHVua25vd24+LFxuICApIHtcbiAgICBjb25zdCBpc1N0YW5kYXJkQXBpID1cbiAgICAgIHVybC5zdGFydHNXaXRoKGFwaUFkZHJlc3MgKyAnL2FwaS8nKSB8fFxuICAgICAgdXJsLnN0YXJ0c1dpdGgoYXBpQWRkcmVzcyArICcvYXBpcy8nKSB8fFxuICAgICAgdXJsLnN0YXJ0c1dpdGgoYXBpQWRkcmVzcyArICcva3ViZXJuZXRlcy8nKTtcbiAgICBjb25zdCBpc1dhdGNoT24gPSBwYXJhbXMuZ2V0KCd3YXRjaCcpPy50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZSc7XG4gICAgcmV0dXJuIGlzU3RhbmRhcmRBcGkgJiYgaXNXYXRjaE9uO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [[include:authorization/README.md]]
|
|
3
|
+
* @module authorization
|
|
4
|
+
* @preferred
|
|
5
|
+
*/
|
|
6
|
+
/** imports */
|
|
7
|
+
export * from './guard.service';
|
|
8
|
+
export * from './interceptor.service';
|
|
9
|
+
export * from './app-init-url';
|
|
10
|
+
export * from './session-manage.service';
|
|
11
|
+
export * from './state.service';
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hdXRob3JpemF0aW9uL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILGNBQWM7QUFDZCxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFtbaW5jbHVkZTphdXRob3JpemF0aW9uL1JFQURNRS5tZF1dXG4gKiBAbW9kdWxlIGF1dGhvcml6YXRpb25cbiAqIEBwcmVmZXJyZWRcbiAqL1xuXG4vKiogaW1wb3J0cyAqL1xuZXhwb3J0ICogZnJvbSAnLi9ndWFyZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJjZXB0b3Iuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwcC1pbml0LXVybCc7XG5leHBvcnQgKiBmcm9tICcuL3Nlc3Npb24tbWFuYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0ZS5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Inject, Injectable } from '@angular/core';
|
|
3
|
+
import { asyncScheduler, bufferTime, filter, fromEvent, map, merge, subscribeOn, switchMap, withLatestFrom, } from 'rxjs';
|
|
4
|
+
import { PageVisibilityService } from '../api/page-visibility.service';
|
|
5
|
+
import { API_GATEWAY, K8sApiService, TOKEN_DISABLE_SESSION_MANAGE, publishRef, skipError, } from '../public-api';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common/http";
|
|
8
|
+
import * as i2 from "../api/page-visibility.service";
|
|
9
|
+
import * as i3 from "../public-api";
|
|
10
|
+
const EVENT_TRIGGERS = ['click', 'keypress'];
|
|
11
|
+
const HEARTBEAT_POLLING = 15000;
|
|
12
|
+
export const SESSION_MANAGE_KEY = 'session-manage-construct-time';
|
|
13
|
+
export class SessionManageService {
|
|
14
|
+
constructor(http, pageVisibility, k8sApi, disabled) {
|
|
15
|
+
this.http = http;
|
|
16
|
+
this.pageVisibility = pageVisibility;
|
|
17
|
+
this.k8sApi = k8sApi;
|
|
18
|
+
this.visibility$ = this.pageVisibility.getPageVisibility();
|
|
19
|
+
this.policy$ = this.k8sApi
|
|
20
|
+
.getGlobalResource({
|
|
21
|
+
definition: {
|
|
22
|
+
type: 'userpolicies',
|
|
23
|
+
apiGroup: 'security.alauda.io',
|
|
24
|
+
apiVersion: 'v1alpha1',
|
|
25
|
+
},
|
|
26
|
+
name: 'user-security-policy',
|
|
27
|
+
})
|
|
28
|
+
.pipe(map(p => p.rules
|
|
29
|
+
.find(r => r.name === 'AccessControlPolicy')
|
|
30
|
+
?.items?.find(i => i.key === 'SESSION_SWITCH')?.enable), subscribeOn(asyncScheduler), publishRef());
|
|
31
|
+
this.userAction$ = merge(...EVENT_TRIGGERS.map(ev => fromEvent(document, ev)))
|
|
32
|
+
.pipe(bufferTime(HEARTBEAT_POLLING), withLatestFrom(this.visibility$, this.policy$))
|
|
33
|
+
.pipe(filter(([_, v, p]) => v && p), switchMap(([i]) => this.http
|
|
34
|
+
.get(`${API_GATEWAY}/auth/v1/heartbeat`, {
|
|
35
|
+
params: { action: !!i.length },
|
|
36
|
+
})
|
|
37
|
+
.pipe(
|
|
38
|
+
// 错误由 HttpInterceptor 处理,仅由 HttpInterceptor 主动结束此流,自身一直进行心跳
|
|
39
|
+
skipError())));
|
|
40
|
+
if (!disabled) {
|
|
41
|
+
sessionStorage.setItem(SESSION_MANAGE_KEY, String(Date.now()));
|
|
42
|
+
this.subscription = this.userAction$.subscribe();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
complete() {
|
|
46
|
+
this.subscription?.unsubscribe();
|
|
47
|
+
}
|
|
48
|
+
static { this.ɵfac = function SessionManageService_Factory(t) { return new (t || SessionManageService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.PageVisibilityService), i0.ɵɵinject(i3.K8sApiService), i0.ɵɵinject(TOKEN_DISABLE_SESSION_MANAGE)); }; }
|
|
49
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SessionManageService, factory: SessionManageService.ɵfac, providedIn: 'root' }); }
|
|
50
|
+
}
|
|
51
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SessionManageService, [{
|
|
52
|
+
type: Injectable,
|
|
53
|
+
args: [{
|
|
54
|
+
providedIn: 'root',
|
|
55
|
+
}]
|
|
56
|
+
}], function () { return [{ type: i1.HttpClient }, { type: i2.PageVisibilityService }, { type: i3.K8sApiService }, { type: undefined, decorators: [{
|
|
57
|
+
type: Inject,
|
|
58
|
+
args: [TOKEN_DISABLE_SESSION_MANAGE]
|
|
59
|
+
}] }]; }, null); })();
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1tYW5hZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hdXRob3JpemF0aW9uL3Nlc3Npb24tbWFuYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFFTCxjQUFjLEVBQ2QsVUFBVSxFQUNWLE1BQU0sRUFDTixTQUFTLEVBQ1QsR0FBRyxFQUNILEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULGNBQWMsR0FDZixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsYUFBYSxFQUViLDRCQUE0QixFQUM1QixVQUFVLEVBQ1YsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7OztBQUV2QixNQUFNLGNBQWMsR0FBRyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztBQUM3QyxNQUFNLGlCQUFpQixHQUFHLEtBQU0sQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRywrQkFBK0IsQ0FBQztBQUtsRSxNQUFNLE9BQU8sb0JBQW9CO0lBNEMvQixZQUNtQixJQUFnQixFQUNoQixjQUFxQyxFQUNyQyxNQUFxQixFQUNBLFFBQWlCO1FBSHRDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLFdBQU0sR0FBTixNQUFNLENBQWU7UUE3Q3ZCLGdCQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3RELFlBQU8sR0FBRyxJQUFJLENBQUMsTUFBTTthQUNuQyxpQkFBaUIsQ0FBeUI7WUFDekMsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxjQUFjO2dCQUNwQixRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixVQUFVLEVBQUUsVUFBVTthQUN2QjtZQUNELElBQUksRUFBRSxzQkFBc0I7U0FDN0IsQ0FBQzthQUNELElBQUksQ0FDSCxHQUFHLENBQ0QsQ0FBQyxDQUFDLEVBQUUsQ0FDRixDQUFDLENBQUMsS0FBSzthQUNKLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUsscUJBQXFCLENBQUM7WUFDNUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sQ0FDM0QsRUFDRCxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQzNCLFVBQVUsRUFBRSxDQUNiLENBQUM7UUFFYSxnQkFBVyxHQUFHLEtBQUssQ0FDbEMsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNyRDthQUNFLElBQUksQ0FDSCxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFDN0IsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUMvQzthQUNBLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDN0IsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2hCLElBQUksQ0FBQyxJQUFJO2FBQ04sR0FBRyxDQUFDLEdBQUcsV0FBVyxvQkFBb0IsRUFBRTtZQUN2QyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7U0FDL0IsQ0FBQzthQUNELElBQUk7UUFDSCw0REFBNEQ7UUFDNUQsU0FBUyxFQUFFLENBQ1osQ0FDSixDQUNGLENBQUM7UUFRRixJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsY0FBYyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztxRkExRFUsb0JBQW9CLGdIQWdEckIsNEJBQTRCO3VFQWhEM0Isb0JBQW9CLFdBQXBCLG9CQUFvQixtQkFGbkIsTUFBTTs7dUZBRVAsb0JBQW9CO2NBSGhDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7c0JBaURJLE1BQU07dUJBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU3Vic2NyaXB0aW9uLFxuICBhc3luY1NjaGVkdWxlcixcbiAgYnVmZmVyVGltZSxcbiAgZmlsdGVyLFxuICBmcm9tRXZlbnQsXG4gIG1hcCxcbiAgbWVyZ2UsXG4gIHN1YnNjcmliZU9uLFxuICBzd2l0Y2hNYXAsXG4gIHdpdGhMYXRlc3RGcm9tLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUGFnZVZpc2liaWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL3BhZ2UtdmlzaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEFQSV9HQVRFV0FZLFxuICBLOHNBcGlTZXJ2aWNlLFxuICBTZWN1cml0eVBvbGljeVJlc291cmNlLFxuICBUT0tFTl9ESVNBQkxFX1NFU1NJT05fTUFOQUdFLFxuICBwdWJsaXNoUmVmLFxuICBza2lwRXJyb3IsXG59IGZyb20gJy4uL3B1YmxpYy1hcGknO1xuXG5jb25zdCBFVkVOVF9UUklHR0VSUyA9IFsnY2xpY2snLCAna2V5cHJlc3MnXTtcbmNvbnN0IEhFQVJUQkVBVF9QT0xMSU5HID0gMTVfMDAwO1xuZXhwb3J0IGNvbnN0IFNFU1NJT05fTUFOQUdFX0tFWSA9ICdzZXNzaW9uLW1hbmFnZS1jb25zdHJ1Y3QtdGltZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTZXNzaW9uTWFuYWdlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgdmlzaWJpbGl0eSQgPSB0aGlzLnBhZ2VWaXNpYmlsaXR5LmdldFBhZ2VWaXNpYmlsaXR5KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcG9saWN5JCA9IHRoaXMuazhzQXBpXG4gICAgLmdldEdsb2JhbFJlc291cmNlPFNlY3VyaXR5UG9saWN5UmVzb3VyY2U+KHtcbiAgICAgIGRlZmluaXRpb246IHtcbiAgICAgICAgdHlwZTogJ3VzZXJwb2xpY2llcycsXG4gICAgICAgIGFwaUdyb3VwOiAnc2VjdXJpdHkuYWxhdWRhLmlvJyxcbiAgICAgICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICAgIH0sXG4gICAgICBuYW1lOiAndXNlci1zZWN1cml0eS1wb2xpY3knLFxuICAgIH0pXG4gICAgLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIHAgPT5cbiAgICAgICAgICBwLnJ1bGVzXG4gICAgICAgICAgICAuZmluZChyID0+IHIubmFtZSA9PT0gJ0FjY2Vzc0NvbnRyb2xQb2xpY3knKVxuICAgICAgICAgICAgPy5pdGVtcz8uZmluZChpID0+IGkua2V5ID09PSAnU0VTU0lPTl9TV0lUQ0gnKT8uZW5hYmxlLFxuICAgICAgKSxcbiAgICAgIHN1YnNjcmliZU9uKGFzeW5jU2NoZWR1bGVyKSxcbiAgICAgIHB1Ymxpc2hSZWYoKSxcbiAgICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlckFjdGlvbiQgPSBtZXJnZShcbiAgICAuLi5FVkVOVF9UUklHR0VSUy5tYXAoZXYgPT4gZnJvbUV2ZW50KGRvY3VtZW50LCBldikpLFxuICApXG4gICAgLnBpcGUoXG4gICAgICBidWZmZXJUaW1lKEhFQVJUQkVBVF9QT0xMSU5HKSxcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMudmlzaWJpbGl0eSQsIHRoaXMucG9saWN5JCksXG4gICAgKVxuICAgIC5waXBlKFxuICAgICAgZmlsdGVyKChbXywgdiwgcF0pID0+IHYgJiYgcCksXG4gICAgICBzd2l0Y2hNYXAoKFtpXSkgPT5cbiAgICAgICAgdGhpcy5odHRwXG4gICAgICAgICAgLmdldChgJHtBUElfR0FURVdBWX0vYXV0aC92MS9oZWFydGJlYXRgLCB7XG4gICAgICAgICAgICBwYXJhbXM6IHsgYWN0aW9uOiAhIWkubGVuZ3RoIH0sXG4gICAgICAgICAgfSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIC8vIOmUmeivr+eUsSBIdHRwSW50ZXJjZXB0b3Ig5aSE55CG77yM5LuF55SxIEh0dHBJbnRlcmNlcHRvciDkuLvliqjnu5PmnZ/mraTmtYHvvIzoh6rouqvkuIDnm7Tov5vooYzlv4Pot7NcbiAgICAgICAgICAgIHNraXBFcnJvcigpLFxuICAgICAgICAgICksXG4gICAgICApLFxuICAgICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnZVZpc2liaWxpdHk6IFBhZ2VWaXNpYmlsaXR5U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGs4c0FwaTogSzhzQXBpU2VydmljZSxcbiAgICBASW5qZWN0KFRPS0VOX0RJU0FCTEVfU0VTU0lPTl9NQU5BR0UpIGRpc2FibGVkOiBib29sZWFuLFxuICApIHtcbiAgICBpZiAoIWRpc2FibGVkKSB7XG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFNFU1NJT05fTUFOQUdFX0tFWSwgU3RyaW5nKERhdGUubm93KCkpKTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy51c2VyQWN0aW9uJC5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBjb21wbGV0ZSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
|