@alauda-fe/dynamic-plugin-shared 0.0.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/array-form-table/base-string-map-form.component.d.ts +22 -0
- package/array-form-table/form/component.d.ts +106 -0
- package/array-form-table/form/index.d.ts +2 -0
- package/array-form-table/index.d.ts +10 -0
- package/array-form-table/key-value-form/component.d.ts +38 -0
- package/array-form-table/key-value-table/component.d.ts +9 -0
- package/array-form-table/string-array-form/component.d.ts +41 -0
- package/assets/images/abnormal.svg +1 -0
- package/assets/images/dark/disconnected.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/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/async-data/async-data-loader.d.ts +31 -0
- package/async-data/error-page/component.d.ts +30 -0
- package/async-data/index.d.ts +13 -0
- package/async-data/page-state/component.d.ts +21 -0
- package/async-data/types.d.ts +29 -0
- package/code-editor/code-display-dialog/component.d.ts +17 -0
- package/code-editor/code-editor-configs.d.ts +19 -0
- package/code-editor/index.d.ts +10 -0
- package/code-editor/k8s-yaml-display-dialog/component.d.ts +16 -0
- package/code-editor/resource-yaml-display/component.d.ts +21 -0
- package/components/card-section/card-section.component.d.ts +9 -0
- package/components/confirm-delete/confirm-delete.component.d.ts +57 -0
- package/components/confirm-delete/utils.d.ts +25 -0
- package/components/current-time/component.d.ts +14 -0
- package/components/custom-columns-setting/component.d.ts +16 -0
- package/components/custom-columns-setting/index.d.ts +1 -0
- package/components/date-range-picker/component.d.ts +55 -0
- package/components/date-range-picker/index.d.ts +3 -0
- package/components/date-range-picker/type.d.ts +36 -0
- package/components/date-range-picker/util.d.ts +11 -0
- package/components/disabled-container/disabled-container.component.d.ts +21 -0
- package/components/disabled-container/index.d.ts +7 -0
- package/components/field-set/column/component.d.ts +10 -0
- package/components/field-set/group/component.d.ts +6 -0
- package/components/field-set/index.d.ts +7 -0
- package/components/field-set/item/component.d.ts +13 -0
- package/components/foldable-block/component.d.ts +17 -0
- package/components/foldable-item-in-table/component.d.ts +21 -0
- package/components/help-document/component.d.ts +29 -0
- package/components/help-document/directive.d.ts +20 -0
- package/components/help-document/index.d.ts +8 -0
- package/components/help-document/service.d.ts +20 -0
- package/components/index.d.ts +31 -0
- package/components/loading-mask/loading-mask.component.d.ts +13 -0
- package/components/page-guard/component/component.d.ts +40 -0
- package/components/page-guard/component/helper-directives.d.ts +17 -0
- package/components/page-guard/component/page-guard.type.d.ts +86 -0
- package/components/page-guard/index.d.ts +12 -0
- package/components/password-input/component.d.ts +39 -0
- package/components/pod-status/component.d.ts +25 -0
- package/components/pod-status/index.d.ts +3 -0
- package/components/pod-status/status.d.ts +4 -0
- package/components/pod-status/typings.d.ts +16 -0
- package/components/relative-time/component.d.ts +15 -0
- package/components/resource-label/component.d.ts +25 -0
- package/components/resource-multi-select/component.d.ts +41 -0
- package/components/resource-multi-select/util.d.ts +10 -0
- package/components/search-panel/component.d.ts +16 -0
- package/components/search-panel/helper.directive.d.ts +5 -0
- package/components/search-panel/search-item/component.d.ts +7 -0
- package/components/select-prefix-label/directive.d.ts +17 -0
- package/components/status-icon/status-icon.component.d.ts +16 -0
- package/components/tags-label/component.d.ts +56 -0
- package/components/terminating-tag/component.d.ts +7 -0
- package/components/text-ellipsis/component.d.ts +9 -0
- package/components/text-tooltip/directive.d.ts +21 -0
- package/components/text-with-url/component.d.ts +12 -0
- package/components/upload-file/component.d.ts +32 -0
- package/components/zero-state/zero-state.component.d.ts +16 -0
- package/constants/common.d.ts +64 -0
- package/constants/index.d.ts +6 -0
- package/constants/k8s.d.ts +12 -0
- package/constants/patterns.d.ts +124 -0
- package/constants/resource-definitions.d.ts +414 -0
- package/constants/status-icons.d.ts +34 -0
- package/constants/timezones.d.ts +6 -0
- package/directives/aui-code-editor.directive.d.ts +13 -0
- package/directives/click-outside.directive.d.ts +12 -0
- package/directives/declare.directive.d.ts +8 -0
- package/directives/disabled.directive.d.ts +28 -0
- package/directives/effect-directive/coerce-number.directive.d.ts +8 -0
- package/directives/effect-directive/e2e-attribute-binding.directive.d.ts +10 -0
- package/directives/effect-directive/event.directive.d.ts +47 -0
- package/directives/effect-directive/index.d.ts +12 -0
- package/directives/effect-directive/min-max.directive.d.ts +30 -0
- package/directives/effect-directive/trim.directive.d.ts +7 -0
- package/directives/effect-directive/validators.directive.d.ts +12 -0
- package/directives/feature-gate.directive.d.ts +31 -0
- package/directives/index.d.ts +12 -0
- package/directives/last-form-item.directive.d.ts +8 -0
- package/directives/readonly-field.directive.d.ts +39 -0
- package/directives/resize.directive.d.ts +17 -0
- package/directives/scroll-border-observer.directive.d.ts +23 -0
- package/directives/scroll-to-first-invalid.directive.d.ts +24 -0
- package/directives/value-trace.directive.d.ts +27 -0
- package/esm2022/alauda-fe-dynamic-plugin-shared.mjs +5 -0
- package/esm2022/array-form-table/base-string-map-form.component.mjs +92 -0
- package/esm2022/array-form-table/form/component.mjs +266 -0
- package/esm2022/array-form-table/form/index.mjs +12 -0
- package/esm2022/array-form-table/index.mjs +11 -0
- package/esm2022/array-form-table/key-value-form/component.mjs +135 -0
- package/esm2022/array-form-table/key-value-table/component.mjs +24 -0
- package/esm2022/array-form-table/string-array-form/component.mjs +168 -0
- package/esm2022/async-data/async-data-loader.mjs +63 -0
- package/esm2022/async-data/error-page/component.mjs +54 -0
- package/esm2022/async-data/index.mjs +18 -0
- package/esm2022/async-data/page-state/component.mjs +62 -0
- package/esm2022/async-data/types.mjs +6 -0
- package/esm2022/code-editor/code-display-dialog/component.mjs +35 -0
- package/esm2022/code-editor/code-editor-configs.mjs +66 -0
- package/esm2022/code-editor/index.mjs +11 -0
- package/esm2022/code-editor/k8s-yaml-display-dialog/component.mjs +26 -0
- package/esm2022/code-editor/resource-yaml-display/component.mjs +67 -0
- package/esm2022/components/card-section/card-section.component.mjs +24 -0
- package/esm2022/components/confirm-delete/confirm-delete.component.mjs +192 -0
- package/esm2022/components/confirm-delete/utils.mjs +8 -0
- package/esm2022/components/current-time/component.mjs +39 -0
- package/esm2022/components/custom-columns-setting/component.mjs +75 -0
- package/esm2022/components/custom-columns-setting/index.mjs +2 -0
- package/esm2022/components/date-range-picker/component.mjs +215 -0
- package/esm2022/components/date-range-picker/index.mjs +4 -0
- package/esm2022/components/date-range-picker/type.mjs +2 -0
- package/esm2022/components/date-range-picker/util.mjs +57 -0
- package/esm2022/components/disabled-container/disabled-container.component.mjs +81 -0
- package/esm2022/components/disabled-container/index.mjs +8 -0
- package/esm2022/components/field-set/column/component.mjs +25 -0
- package/esm2022/components/field-set/group/component.mjs +16 -0
- package/esm2022/components/field-set/index.mjs +14 -0
- package/esm2022/components/field-set/item/component.mjs +41 -0
- package/esm2022/components/foldable-block/component.mjs +60 -0
- package/esm2022/components/foldable-item-in-table/component.mjs +56 -0
- package/esm2022/components/help-document/component.mjs +69 -0
- package/esm2022/components/help-document/directive.mjs +70 -0
- package/esm2022/components/help-document/index.mjs +9 -0
- package/esm2022/components/help-document/service.mjs +43 -0
- package/esm2022/components/index.mjs +32 -0
- package/esm2022/components/loading-mask/loading-mask.component.mjs +35 -0
- package/esm2022/components/page-guard/component/component.mjs +101 -0
- package/esm2022/components/page-guard/component/helper-directives.mjs +51 -0
- package/esm2022/components/page-guard/component/page-guard.type.mjs +82 -0
- package/esm2022/components/page-guard/index.mjs +19 -0
- package/esm2022/components/password-input/component.mjs +143 -0
- package/esm2022/components/pod-status/component.mjs +49 -0
- package/esm2022/components/pod-status/index.mjs +4 -0
- package/esm2022/components/pod-status/status.mjs +84 -0
- package/esm2022/components/pod-status/typings.mjs +19 -0
- package/esm2022/components/relative-time/component.mjs +58 -0
- package/esm2022/components/resource-label/component.mjs +100 -0
- package/esm2022/components/resource-multi-select/component.mjs +152 -0
- package/esm2022/components/resource-multi-select/util.mjs +24 -0
- package/esm2022/components/search-panel/component.mjs +51 -0
- package/esm2022/components/search-panel/helper.directive.mjs +14 -0
- package/esm2022/components/search-panel/search-item/component.mjs +15 -0
- package/esm2022/components/select-prefix-label/directive.mjs +89 -0
- package/esm2022/components/status-icon/status-icon.component.mjs +56 -0
- package/esm2022/components/tags-label/component.mjs +224 -0
- package/esm2022/components/terminating-tag/component.mjs +16 -0
- package/esm2022/components/text-ellipsis/component.mjs +28 -0
- package/esm2022/components/text-tooltip/directive.mjs +71 -0
- package/esm2022/components/text-with-url/component.mjs +40 -0
- package/esm2022/components/upload-file/component.mjs +95 -0
- package/esm2022/components/zero-state/zero-state.component.mjs +51 -0
- package/esm2022/constants/common.mjs +86 -0
- package/esm2022/constants/index.mjs +7 -0
- package/esm2022/constants/k8s.mjs +13 -0
- package/esm2022/constants/patterns.mjs +142 -0
- package/esm2022/constants/resource-definitions.mjs +424 -0
- package/esm2022/constants/status-icons.mjs +65 -0
- package/esm2022/constants/timezones.mjs +234 -0
- package/esm2022/directives/aui-code-editor.directive.mjs +30 -0
- package/esm2022/directives/click-outside.directive.mjs +49 -0
- package/esm2022/directives/declare.directive.mjs +27 -0
- package/esm2022/directives/disabled.directive.mjs +76 -0
- package/esm2022/directives/effect-directive/coerce-number.directive.mjs +54 -0
- package/esm2022/directives/effect-directive/e2e-attribute-binding.directive.mjs +57 -0
- package/esm2022/directives/effect-directive/event.directive.mjs +129 -0
- package/esm2022/directives/effect-directive/index.mjs +21 -0
- package/esm2022/directives/effect-directive/min-max.directive.mjs +107 -0
- package/esm2022/directives/effect-directive/trim.directive.mjs +40 -0
- package/esm2022/directives/effect-directive/validators.directive.mjs +43 -0
- package/esm2022/directives/feature-gate.directive.mjs +90 -0
- package/esm2022/directives/index.mjs +13 -0
- package/esm2022/directives/last-form-item.directive.mjs +18 -0
- package/esm2022/directives/readonly-field.directive.mjs +145 -0
- package/esm2022/directives/resize.directive.mjs +39 -0
- package/esm2022/directives/scroll-border-observer.directive.mjs +77 -0
- package/esm2022/directives/scroll-to-first-invalid.directive.mjs +126 -0
- package/esm2022/directives/value-trace.directive.mjs +61 -0
- package/esm2022/form/base-form-container.mjs +126 -0
- package/esm2022/form/base-nested-form-control.mjs +190 -0
- package/esm2022/form/errors-mapper/base-errors-mapper.mjs +41 -0
- package/esm2022/form/errors-mapper/default-errors-mapper.service.mjs +65 -0
- package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +53 -0
- package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +109 -0
- package/esm2022/form/errors-mapper/index.mjs +10 -0
- package/esm2022/form/errors-mapper/types.mjs +2 -0
- package/esm2022/form/index.mjs +6 -0
- package/esm2022/form/utils.mjs +61 -0
- package/esm2022/form/validators/async-function-validator.directive.mjs +49 -0
- package/esm2022/form/validators/dns1123-subdomain.mjs +42 -0
- package/esm2022/form/validators/function-validator.directive.mjs +49 -0
- package/esm2022/form/validators/index.mjs +10 -0
- package/esm2022/form/validators/maxlength-minlength-validator.directive.mjs +71 -0
- package/esm2022/form/validators/not-be-validator.directive.mjs +56 -0
- package/esm2022/form/validators/one-of-validator.directive.mjs +57 -0
- package/esm2022/form/validators/resource-limit.mjs +79 -0
- package/esm2022/form/validators/strong-password/index.mjs +4 -0
- package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +15 -0
- package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +171 -0
- package/esm2022/form/validators/strong-password/strong-password-validator.module.mjs +36 -0
- package/esm2022/form/validators/utils.mjs +155 -0
- package/esm2022/index.mjs +15 -0
- package/esm2022/k8s-resource-list/footer/component.mjs +156 -0
- package/esm2022/k8s-resource-list/index.mjs +18 -0
- package/esm2022/k8s-resource-list/k8s-resource-list.mjs +224 -0
- package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +174 -0
- package/esm2022/k8s-resource-list/types.mjs +11 -0
- package/esm2022/k8s-resource-list/utils.mjs +84 -0
- package/esm2022/k8s-shared/constants.mjs +53 -0
- package/esm2022/k8s-shared/index.mjs +12 -0
- package/esm2022/k8s-shared/k8s-resource-translate-key.pipe.mjs +31 -0
- package/esm2022/k8s-shared/k8s-shared-util.service.mjs +152 -0
- package/esm2022/k8s-shared/resource-mark/component.mjs +54 -0
- package/esm2022/k8s-shared/resource-mark/util.mjs +137 -0
- package/esm2022/k8s-shared/update-description-dialog/component.mjs +66 -0
- package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +59 -0
- package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +76 -0
- package/esm2022/page-deactivate/deactivate.directive.mjs +50 -0
- package/esm2022/page-deactivate/deactivate.guard.mjs +41 -0
- package/esm2022/page-deactivate/deactivate.service.mjs +78 -0
- package/esm2022/page-deactivate/index.mjs +4 -0
- package/esm2022/pipes/calc.pipe.mjs +21 -0
- package/esm2022/pipes/cron-human-readable.pipe.mjs +30 -0
- package/esm2022/pipes/crontab-next.pipe.mjs +67 -0
- package/esm2022/pipes/duration.pipe.mjs +51 -0
- package/esm2022/pipes/field-not-available.pipe.mjs +25 -0
- package/esm2022/pipes/img-header.pipe.mjs +18 -0
- package/esm2022/pipes/img-theme.pipe.mjs +38 -0
- package/esm2022/pipes/index.mjs +19 -0
- package/esm2022/pipes/keyvalue.pipe.mjs +20 -0
- package/esm2022/pipes/marked.pipe.mjs +18 -0
- package/esm2022/pipes/minimum-format.pipe.mjs +25 -0
- package/esm2022/pipes/page-env.pipe.mjs +69 -0
- package/esm2022/pipes/parse-json-translate.pipe.mjs +28 -0
- package/esm2022/pipes/parse-json.pipe.mjs +22 -0
- package/esm2022/pipes/pure.pipe.mjs +26 -0
- package/esm2022/pipes/safe.pipe.mjs +49 -0
- package/esm2022/pipes/sanitize.pipe.mjs +31 -0
- package/esm2022/pipes/time.pipe.mjs +113 -0
- package/esm2022/pipes/timezone-display.pipe.mjs +21 -0
- package/esm2022/services/form-row-duplicate/form-row-duplicate.service.mjs +280 -0
- package/esm2022/services/index.mjs +4 -0
- package/esm2022/services/on-resize.service.mjs +52 -0
- package/esm2022/services/yaml-util.service.mjs +99 -0
- package/esm2022/types/common.mjs +6 -0
- package/esm2022/types/helpers.mjs +12 -0
- package/esm2022/types/index.mjs +9 -0
- package/esm2022/types/k8s/core.mjs +2 -0
- package/esm2022/types/k8s/crd.mjs +57 -0
- package/esm2022/types/k8s/index.mjs +4 -0
- package/esm2022/types/k8s/raw.mjs +77 -0
- package/esm2022/types/schema.mjs +2 -0
- package/esm2022/utils/browser.mjs +21 -0
- package/esm2022/utils/cache-store.mjs +83 -0
- package/esm2022/utils/color-helpers.mjs +6 -0
- package/esm2022/utils/common.mjs +315 -0
- package/esm2022/utils/cron-util.mjs +44 -0
- package/esm2022/utils/decorators.mjs +137 -0
- package/esm2022/utils/disabled-state.mjs +47 -0
- package/esm2022/utils/format-number.mjs +227 -0
- package/esm2022/utils/index.mjs +24 -0
- package/esm2022/utils/local-storage-constants.mjs +2 -0
- package/esm2022/utils/node.mjs +18 -0
- package/esm2022/utils/observable.mjs +32 -0
- package/esm2022/utils/operators.mjs +38 -0
- package/esm2022/utils/request-pool.mjs +37 -0
- package/esm2022/utils/resources.mjs +66 -0
- package/esm2022/utils/router.mjs +20 -0
- package/esm2022/utils/sort-fn.mjs +7 -0
- package/esm2022/utils/tree.mjs +79 -0
- package/esm2022/utils/unit.mjs +191 -0
- package/esm2022/utils/version.mjs +76 -0
- package/esm2022/utils/with-load-state.mjs +21 -0
- package/esm2022/utils/workload.mjs +183 -0
- package/esm2022/utils/workspace.mjs +59 -0
- package/esm2022/utils/yaml.mjs +54 -0
- package/fesm2022/alauda-fe-dynamic-plugin-shared.mjs +11151 -0
- package/fesm2022/alauda-fe-dynamic-plugin-shared.mjs.map +1 -0
- package/form/base-form-container.d.ts +41 -0
- package/form/base-nested-form-control.d.ts +58 -0
- package/form/errors-mapper/base-errors-mapper.d.ts +13 -0
- package/form/errors-mapper/default-errors-mapper.service.d.ts +10 -0
- package/form/errors-mapper/errors-mapper-component/component.d.ts +19 -0
- package/form/errors-mapper/errors-mapper.directive.d.ts +39 -0
- package/form/errors-mapper/index.d.ts +6 -0
- package/form/errors-mapper/types.d.ts +16 -0
- package/form/index.d.ts +5 -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/index.d.ts +9 -0
- package/form/validators/maxlength-minlength-validator.directive.d.ts +20 -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/resource-limit.d.ts +17 -0
- package/form/validators/strong-password/index.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 +67 -0
- package/index.d.ts +14 -0
- package/k8s-resource-list/footer/component.d.ts +42 -0
- package/k8s-resource-list/index.d.ts +13 -0
- package/k8s-resource-list/k8s-resource-list.d.ts +42 -0
- package/k8s-resource-list/k8s-resource-paged-list.d.ts +61 -0
- package/k8s-resource-list/types.d.ts +70 -0
- package/k8s-resource-list/utils.d.ts +19 -0
- package/k8s-shared/constants.d.ts +7 -0
- package/k8s-shared/index.d.ts +11 -0
- package/k8s-shared/k8s-resource-translate-key.pipe.d.ts +9 -0
- package/k8s-shared/k8s-shared-util.service.d.ts +48 -0
- package/k8s-shared/resource-mark/component.d.ts +16 -0
- package/k8s-shared/resource-mark/util.d.ts +2 -0
- package/k8s-shared/update-description-dialog/component.d.ts +33 -0
- package/k8s-shared/update-display-name-dialog/component.d.ts +27 -0
- package/k8s-shared/update-key-value-dialog/component.d.ts +38 -0
- package/package.json +56 -0
- package/page-deactivate/deactivate.directive.d.ts +18 -0
- package/page-deactivate/deactivate.guard.d.ts +13 -0
- package/page-deactivate/deactivate.service.d.ts +28 -0
- package/page-deactivate/index.d.ts +3 -0
- package/pipes/calc.pipe.d.ts +11 -0
- package/pipes/cron-human-readable.pipe.d.ts +9 -0
- package/pipes/crontab-next.pipe.d.ts +18 -0
- package/pipes/duration.pipe.d.ts +10 -0
- package/pipes/field-not-available.pipe.d.ts +13 -0
- package/pipes/img-header.pipe.d.ts +7 -0
- package/pipes/img-theme.pipe.d.ts +13 -0
- package/pipes/index.d.ts +18 -0
- package/pipes/keyvalue.pipe.d.ts +9 -0
- package/pipes/marked.pipe.d.ts +8 -0
- package/pipes/minimum-format.pipe.d.ts +10 -0
- package/pipes/page-env.pipe.d.ts +34 -0
- package/pipes/parse-json-translate.pipe.d.ts +8 -0
- package/pipes/parse-json.pipe.d.ts +7 -0
- package/pipes/pure.pipe.d.ts +17 -0
- package/pipes/safe.pipe.d.ts +10 -0
- package/pipes/sanitize.pipe.d.ts +10 -0
- package/pipes/time.pipe.d.ts +40 -0
- package/pipes/timezone-display.pipe.d.ts +10 -0
- package/services/form-row-duplicate/form-row-duplicate.service.d.ts +45 -0
- package/services/index.d.ts +3 -0
- package/services/on-resize.service.d.ts +20 -0
- package/services/yaml-util.service.d.ts +20 -0
- package/styles/ansi-color.scss +131 -0
- package/styles/global.scss +904 -0
- package/styles/lib.scss +1 -0
- package/styles/markdown-body.scss +107 -0
- package/styles/mixins.scss +710 -0
- package/styles/var.scss +30 -0
- package/types/common.d.ts +42 -0
- package/types/helpers.d.ts +35 -0
- package/types/index.d.ts +8 -0
- package/types/k8s/core.d.ts +100 -0
- package/types/k8s/crd.d.ts +497 -0
- package/types/k8s/index.d.ts +3 -0
- package/types/k8s/raw.d.ts +860 -0
- package/types/schema.d.ts +14 -0
- package/utils/browser.d.ts +4 -0
- package/utils/cache-store.d.ts +35 -0
- package/utils/color-helpers.d.ts +4 -0
- package/utils/common.d.ts +64 -0
- package/utils/cron-util.d.ts +8 -0
- package/utils/decorators.d.ts +14 -0
- package/utils/disabled-state.d.ts +20 -0
- package/utils/format-number.d.ts +11 -0
- package/utils/index.d.ts +23 -0
- package/utils/local-storage-constants.d.ts +1 -0
- package/utils/node.d.ts +8 -0
- package/utils/observable.d.ts +5 -0
- package/utils/operators.d.ts +22 -0
- package/utils/request-pool.d.ts +12 -0
- package/utils/resources.d.ts +19 -0
- package/utils/router.d.ts +3 -0
- package/utils/sort-fn.d.ts +2 -0
- package/utils/tree.d.ts +16 -0
- package/utils/unit.d.ts +21 -0
- package/utils/version.d.ts +39 -0
- package/utils/with-load-state.d.ts +11 -0
- package/utils/workload.d.ts +66 -0
- package/utils/workspace.d.ts +28 -0
- package/utils/yaml.d.ts +11 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
/**
|
|
3
|
+
* @packageDocumentation
|
|
4
|
+
* @module page-guard
|
|
5
|
+
*/
|
|
6
|
+
import { CardComponent, handlePixel, ThemeService } from '@alauda/ui';
|
|
7
|
+
import { TranslatePipe } from '@alauda-fe/dynamic-plugin-sdk';
|
|
8
|
+
import { AsyncPipe, NgClass, NgIf, NgTemplateOutlet } from '@angular/common';
|
|
9
|
+
import { ChangeDetectionStrategy, Component, ContentChild, Input, TemplateRef, } from '@angular/core';
|
|
10
|
+
import { isBoolean } from 'lodash-es';
|
|
11
|
+
import { combineLatest, map, Observable } from 'rxjs';
|
|
12
|
+
import { ObservableInput, publishRef } from '../../../utils';
|
|
13
|
+
import { LoadingMaskComponent } from '../../loading-mask/loading-mask.component';
|
|
14
|
+
import { PageGuardContentDirective, PageGuardDescriptionDirective, PageGuardImageDirective, PageGuardOperationDirective, } from './helper-directives';
|
|
15
|
+
import { DEFAULT_REASON, GuardStatus, REASON_MAP, Reason, } from './page-guard.type';
|
|
16
|
+
import * as i0 from "@angular/core";
|
|
17
|
+
import * as i1 from "@alauda/ui";
|
|
18
|
+
export class PageGuardComponent {
|
|
19
|
+
get allowed() {
|
|
20
|
+
return this.status === GuardStatus.Available;
|
|
21
|
+
}
|
|
22
|
+
set allowed(allowed) {
|
|
23
|
+
if (isBoolean(allowed)) {
|
|
24
|
+
this.status = allowed ? GuardStatus.Available : GuardStatus.Unavailable;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this.status = GuardStatus.Pending;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
constructor(theme) {
|
|
31
|
+
this.theme = theme;
|
|
32
|
+
this.noShadow = false;
|
|
33
|
+
this.status = GuardStatus.Pending;
|
|
34
|
+
this.title = '';
|
|
35
|
+
this.context = 'page';
|
|
36
|
+
this.handlePixel = handlePixel;
|
|
37
|
+
this.reasonModel$ = this.reason$.pipe(map(reason => (reason ? REASON_MAP[reason] : DEFAULT_REASON)));
|
|
38
|
+
this.reasonSrc$ = combineLatest([
|
|
39
|
+
this.theme.currentTheme$,
|
|
40
|
+
this.reasonModel$,
|
|
41
|
+
]).pipe(map(([theme, reasonModel]) => `/images/${theme}/${reasonModel.src}`), publishRef());
|
|
42
|
+
}
|
|
43
|
+
isNonEmptyString(value) {
|
|
44
|
+
return typeof value === 'string' && value !== '';
|
|
45
|
+
}
|
|
46
|
+
isUndefined(value) {
|
|
47
|
+
return value === undefined;
|
|
48
|
+
}
|
|
49
|
+
isTemplateRef(value) {
|
|
50
|
+
return value instanceof TemplateRef;
|
|
51
|
+
}
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageGuardComponent, deps: [{ token: i1.ThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
53
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: PageGuardComponent, isStandalone: true, selector: "acl-page-guard", inputs: { top: "top", isFull: "isFull", noShadow: "noShadow", allowed: "allowed", status: "status", reason: "reason", title: "title", description: "description", context: "context" }, queries: [{ propertyName: "imageTpl", first: true, predicate: PageGuardImageDirective, descendants: true, read: TemplateRef }, { propertyName: "descriptionTpl", first: true, predicate: PageGuardDescriptionDirective, descendants: true, read: TemplateRef }, { propertyName: "operation", first: true, predicate: PageGuardOperationDirective, descendants: true, read: TemplateRef }, { propertyName: "template", first: true, predicate: PageGuardContentDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"status === 'available'\">\n <ng-container\n *ngIf=\"template\"\n [ngTemplateOutlet]=\"template\"\n ></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"status === 'unavailable'\">\n <aui-card\n [divider]=\"false\"\n class=\"unavailable\"\n [ngClass]=\"{ isFull: isFull, noShadow: noShadow }\"\n *ngIf=\"context === 'page'\"\n >\n <ng-container [ngTemplateOutlet]=\"unavailable\"></ng-container>\n </aui-card>\n <ng-container\n *ngIf=\"context !== 'page'\"\n [ngTemplateOutlet]=\"unavailable\"\n ></ng-container>\n</ng-container>\n<ng-container *ngIf=\"status !== 'available' && status !== 'unavailable'\">\n <div class=\"acl-page-guard--pending\">\n <acl-loading-mask\n [loading]=\"true\"\n type=\"module\"\n ></acl-loading-mask>\n </div>\n</ng-container>\n\n<ng-template #unavailable>\n <div\n class=\"acl-page-guard--unavailable\"\n [style.margin-top]=\"handlePixel(top)\"\n >\n <div class=\"container\">\n <div\n class=\"img\"\n *ngIf=\"imageTpl\"\n >\n <ng-container [ngTemplateOutlet]=\"imageTpl\"></ng-container>\n </div>\n <img\n *ngIf=\"!imageTpl\"\n [attr.src]=\"reasonSrc$ | async\"\n />\n <h3\n *ngIf=\"title || (reasonModel$ | async)?.title\"\n class=\"title\"\n >\n {{ title || ((reasonModel$ | async)?.title | translate) }}\n </h3>\n <div\n class=\"description\"\n *ngIf=\"descriptionTpl\"\n >\n <ng-container [ngTemplateOutlet]=\"descriptionTpl\"></ng-container>\n </div>\n <ng-container *ngIf=\"!descriptionTpl\">\n <ng-container *ngIf=\"isNonEmptyString(description)\">\n <p class=\"description\">{{ description }}</p>\n </ng-container>\n <ng-container *ngIf=\"isUndefined(description)\">\n <p class=\"description\">\n {{ (reasonModel$ | async)?.description | translate }}\n </p>\n </ng-container>\n </ng-container>\n\n <div\n class=\"operation\"\n *ngIf=\"isTemplateRef(operation)\"\n >\n <ng-container [ngTemplateOutlet]=\"operation\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: ["aui-card.unavailable ::ng-deep .aui-card{padding-top:120px;padding-bottom:200px;height:calc(100vh - (var(--acl-page-header-height) + 44px) - 20px);min-height:600px}aui-card.unavailable.noShadow ::ng-deep .aui-card{box-shadow:none!important}aui-card.unavailable.isFull ::ng-deep .aui-card{height:calc(100vh - 40px)}.acl-page-guard--pending,.acl-page-guard--unavailable{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.acl-page-guard--unavailable .container{display:flex;flex-direction:column;align-items:center}.acl-page-guard--unavailable .container img{height:200px}.acl-page-guard--unavailable .container .title{margin:var(--aui-spacing-xxl) 0 var(--aui-spacing-l);font-size:var(--aui-font-size-xl);color:rgb(var(--aui-color-n-1));font-weight:var(--aui-font-weight-bolder)}.acl-page-guard--unavailable .container .description{color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m);text-align:center;max-width:560px;margin:0}.acl-page-guard--unavailable .container .operation{margin-top:var(--aui-spacing-l)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: LoadingMaskComponent, selector: "acl-loading-mask", inputs: ["loading", "type", "text"] }, { kind: "component", type: CardComponent, selector: "aui-card", inputs: ["divider"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
54
|
+
}
|
|
55
|
+
__decorate([
|
|
56
|
+
ObservableInput(),
|
|
57
|
+
__metadata("design:type", Observable)
|
|
58
|
+
], PageGuardComponent.prototype, "reason$", void 0);
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageGuardComponent, decorators: [{
|
|
60
|
+
type: Component,
|
|
61
|
+
args: [{ selector: 'acl-page-guard', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
62
|
+
NgIf,
|
|
63
|
+
NgTemplateOutlet,
|
|
64
|
+
AsyncPipe,
|
|
65
|
+
TranslatePipe,
|
|
66
|
+
LoadingMaskComponent,
|
|
67
|
+
CardComponent,
|
|
68
|
+
NgClass,
|
|
69
|
+
], standalone: true, template: "<ng-container *ngIf=\"status === 'available'\">\n <ng-container\n *ngIf=\"template\"\n [ngTemplateOutlet]=\"template\"\n ></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"status === 'unavailable'\">\n <aui-card\n [divider]=\"false\"\n class=\"unavailable\"\n [ngClass]=\"{ isFull: isFull, noShadow: noShadow }\"\n *ngIf=\"context === 'page'\"\n >\n <ng-container [ngTemplateOutlet]=\"unavailable\"></ng-container>\n </aui-card>\n <ng-container\n *ngIf=\"context !== 'page'\"\n [ngTemplateOutlet]=\"unavailable\"\n ></ng-container>\n</ng-container>\n<ng-container *ngIf=\"status !== 'available' && status !== 'unavailable'\">\n <div class=\"acl-page-guard--pending\">\n <acl-loading-mask\n [loading]=\"true\"\n type=\"module\"\n ></acl-loading-mask>\n </div>\n</ng-container>\n\n<ng-template #unavailable>\n <div\n class=\"acl-page-guard--unavailable\"\n [style.margin-top]=\"handlePixel(top)\"\n >\n <div class=\"container\">\n <div\n class=\"img\"\n *ngIf=\"imageTpl\"\n >\n <ng-container [ngTemplateOutlet]=\"imageTpl\"></ng-container>\n </div>\n <img\n *ngIf=\"!imageTpl\"\n [attr.src]=\"reasonSrc$ | async\"\n />\n <h3\n *ngIf=\"title || (reasonModel$ | async)?.title\"\n class=\"title\"\n >\n {{ title || ((reasonModel$ | async)?.title | translate) }}\n </h3>\n <div\n class=\"description\"\n *ngIf=\"descriptionTpl\"\n >\n <ng-container [ngTemplateOutlet]=\"descriptionTpl\"></ng-container>\n </div>\n <ng-container *ngIf=\"!descriptionTpl\">\n <ng-container *ngIf=\"isNonEmptyString(description)\">\n <p class=\"description\">{{ description }}</p>\n </ng-container>\n <ng-container *ngIf=\"isUndefined(description)\">\n <p class=\"description\">\n {{ (reasonModel$ | async)?.description | translate }}\n </p>\n </ng-container>\n </ng-container>\n\n <div\n class=\"operation\"\n *ngIf=\"isTemplateRef(operation)\"\n >\n <ng-container [ngTemplateOutlet]=\"operation\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: ["aui-card.unavailable ::ng-deep .aui-card{padding-top:120px;padding-bottom:200px;height:calc(100vh - (var(--acl-page-header-height) + 44px) - 20px);min-height:600px}aui-card.unavailable.noShadow ::ng-deep .aui-card{box-shadow:none!important}aui-card.unavailable.isFull ::ng-deep .aui-card{height:calc(100vh - 40px)}.acl-page-guard--pending,.acl-page-guard--unavailable{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.acl-page-guard--unavailable .container{display:flex;flex-direction:column;align-items:center}.acl-page-guard--unavailable .container img{height:200px}.acl-page-guard--unavailable .container .title{margin:var(--aui-spacing-xxl) 0 var(--aui-spacing-l);font-size:var(--aui-font-size-xl);color:rgb(var(--aui-color-n-1));font-weight:var(--aui-font-weight-bolder)}.acl-page-guard--unavailable .container .description{color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m);text-align:center;max-width:560px;margin:0}.acl-page-guard--unavailable .container .operation{margin-top:var(--aui-spacing-l)}\n"] }]
|
|
70
|
+
}], ctorParameters: () => [{ type: i1.ThemeService }], propDecorators: { top: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], isFull: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], noShadow: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], allowed: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], status: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], reason: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], reason$: [], title: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], description: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], context: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], imageTpl: [{
|
|
89
|
+
type: ContentChild,
|
|
90
|
+
args: [PageGuardImageDirective, { read: TemplateRef }]
|
|
91
|
+
}], descriptionTpl: [{
|
|
92
|
+
type: ContentChild,
|
|
93
|
+
args: [PageGuardDescriptionDirective, { read: TemplateRef }]
|
|
94
|
+
}], operation: [{
|
|
95
|
+
type: ContentChild,
|
|
96
|
+
args: [PageGuardOperationDirective, { read: TemplateRef }]
|
|
97
|
+
}], template: [{
|
|
98
|
+
type: ContentChild,
|
|
99
|
+
args: [PageGuardContentDirective, { read: TemplateRef }]
|
|
100
|
+
}] } });
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2NvbXBvbmVudHMvcGFnZS1ndWFyZC9jb21wb25lbnQvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2NvbXBvbmVudHMvcGFnZS1ndWFyZC9jb21wb25lbnQvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRWpGLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsNkJBQTZCLEVBQzdCLHVCQUF1QixFQUN2QiwyQkFBMkIsR0FDNUIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsY0FBYyxFQUNkLFdBQVcsRUFDWCxVQUFVLEVBQ1YsTUFBTSxHQUNQ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TixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxZQUFZO3VCQUFDLHVCQUF1QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFJNUQsY0FBYztzQkFEYixZQUFZO3VCQUFDLDZCQUE2QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFJbEUsU0FBUztzQkFEUixZQUFZO3VCQUFDLDJCQUEyQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFJaEUsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLHlCQUF5QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHBhZ2UtZ3VhcmRcbiAqL1xuXG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50LCBoYW5kbGVQaXhlbCwgVGhlbWVTZXJ2aWNlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQGFsYXVkYS1mZS9keW5hbWljLXBsdWdpbi1zZGsnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzQm9vbGVhbiB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0LCBwdWJsaXNoUmVmIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgTG9hZGluZ01hc2tDb21wb25lbnQgfSBmcm9tICcuLi8uLi9sb2FkaW5nLW1hc2svbG9hZGluZy1tYXNrLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7XG4gIFBhZ2VHdWFyZENvbnRlbnREaXJlY3RpdmUsXG4gIFBhZ2VHdWFyZERlc2NyaXB0aW9uRGlyZWN0aXZlLFxuICBQYWdlR3VhcmRJbWFnZURpcmVjdGl2ZSxcbiAgUGFnZUd1YXJkT3BlcmF0aW9uRGlyZWN0aXZlLFxufSBmcm9tICcuL2hlbHBlci1kaXJlY3RpdmVzJztcbmltcG9ydCB7XG4gIERFRkFVTFRfUkVBU09OLFxuICBHdWFyZFN0YXR1cyxcbiAgUkVBU09OX01BUCxcbiAgUmVhc29uLFxufSBmcm9tICcuL3BhZ2UtZ3VhcmQudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1wYWdlLWd1YXJkJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3N0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgQXN5bmNQaXBlLFxuICAgIFRyYW5zbGF0ZVBpcGUsXG4gICAgTG9hZGluZ01hc2tDb21wb25lbnQsXG4gICAgQ2FyZENvbXBvbmVudCxcbiAgICBOZ0NsYXNzLFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlR3VhcmRDb21wb25lbnQge1xuICBASW5wdXQoKVxuICB0b3A6IG51bWJlciB8IHN0cmluZztcblxuICBASW5wdXQoKVxuICBpc0Z1bGw6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgbm9TaGFkb3cgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBnZXQgYWxsb3dlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IEd1YXJkU3RhdHVzLkF2YWlsYWJsZTtcbiAgfVxuXG4gIHNldCBhbGxvd2VkKGFsbG93ZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoaXNCb29sZWFuKGFsbG93ZWQpKSB7XG4gICAgICB0aGlzLnN0YXR1cyA9IGFsbG93ZWQgPyBHdWFyZFN0YXR1cy5BdmFpbGFibGUgOiBHdWFyZFN0YXR1cy5VbmF2YWlsYWJsZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGF0dXMgPSBHdWFyZFN0YXR1cy5QZW5kaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHN0YXR1czogR3VhcmRTdGF0dXMgPSBHdWFyZFN0YXR1cy5QZW5kaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHJlYXNvbjogUmVhc29uO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICByZWFzb24kITogT2JzZXJ2YWJsZTxSZWFzb24+O1xuXG4gIEBJbnB1dCgpXG4gIHRpdGxlID0gJyc7XG5cbiAgQElucHV0KClcbiAgZGVzY3JpcHRpb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBjb250ZXh0OiAncGFnZScgfCAnY2FyZCcgPSAncGFnZSc7XG5cbiAgQENvbnRlbnRDaGlsZChQYWdlR3VhcmRJbWFnZURpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBpbWFnZVRwbDogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQENvbnRlbnRDaGlsZChQYWdlR3VhcmREZXNjcmlwdGlvbkRpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBkZXNjcmlwdGlvblRwbDogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQENvbnRlbnRDaGlsZChQYWdlR3VhcmRPcGVyYXRpb25EaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgb3BlcmF0aW9uOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBAQ29udGVudENoaWxkKFBhZ2VHdWFyZENvbnRlbnREaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIGhhbmRsZVBpeGVsID0gaGFuZGxlUGl4ZWw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0aGVtZTogVGhlbWVTZXJ2aWNlKSB7fVxuXG4gIHJlYXNvbk1vZGVsJCA9IHRoaXMucmVhc29uJC5waXBlKFxuICAgIG1hcChyZWFzb24gPT4gKHJlYXNvbiA/IFJFQVNPTl9NQVBbcmVhc29uXSA6IERFRkFVTFRfUkVBU09OKSksXG4gICk7XG5cbiAgcmVhc29uU3JjJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMudGhlbWUuY3VycmVudFRoZW1lJCxcbiAgICB0aGlzLnJlYXNvbk1vZGVsJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFt0aGVtZSwgcmVhc29uTW9kZWxdKSA9PiBgL2ltYWdlcy8ke3RoZW1lfS8ke3JlYXNvbk1vZGVsLnNyY31gKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgaXNOb25FbXB0eVN0cmluZyh2YWx1ZTogdW5rbm93bik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlICE9PSAnJztcbiAgfVxuXG4gIGlzVW5kZWZpbmVkKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlzVGVtcGxhdGVSZWYodmFsdWU6IHVua25vd24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXR1cyA9PT0gJ2F2YWlsYWJsZSdcIj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwidGVtcGxhdGVcIlxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCJcbiAgPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0dXMgPT09ICd1bmF2YWlsYWJsZSdcIj5cbiAgPGF1aS1jYXJkXG4gICAgW2RpdmlkZXJdPVwiZmFsc2VcIlxuICAgIGNsYXNzPVwidW5hdmFpbGFibGVcIlxuICAgIFtuZ0NsYXNzXT1cInsgaXNGdWxsOiBpc0Z1bGwsIG5vU2hhZG93OiBub1NoYWRvdyB9XCJcbiAgICAqbmdJZj1cImNvbnRleHQgPT09ICdwYWdlJ1wiXG4gID5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInVuYXZhaWxhYmxlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvYXVpLWNhcmQ+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cImNvbnRleHQgIT09ICdwYWdlJ1wiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidW5hdmFpbGFibGVcIlxuICA+PC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0dXMgIT09ICdhdmFpbGFibGUnICYmIHN0YXR1cyAhPT0gJ3VuYXZhaWxhYmxlJ1wiPlxuICA8ZGl2IGNsYXNzPVwiYWNsLXBhZ2UtZ3VhcmQtLXBlbmRpbmdcIj5cbiAgICA8YWNsLWxvYWRpbmctbWFza1xuICAgICAgW2xvYWRpbmddPVwidHJ1ZVwiXG4gICAgICB0eXBlPVwibW9kdWxlXCJcbiAgICA+PC9hY2wtbG9hZGluZy1tYXNrPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3VuYXZhaWxhYmxlPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJhY2wtcGFnZS1ndWFyZC0tdW5hdmFpbGFibGVcIlxuICAgIFtzdHlsZS5tYXJnaW4tdG9wXT1cImhhbmRsZVBpeGVsKHRvcClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImltZ1wiXG4gICAgICAgICpuZ0lmPVwiaW1hZ2VUcGxcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImltYWdlVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpbWdcbiAgICAgICAgKm5nSWY9XCIhaW1hZ2VUcGxcIlxuICAgICAgICBbYXR0ci5zcmNdPVwicmVhc29uU3JjJCB8IGFzeW5jXCJcbiAgICAgIC8+XG4gICAgICA8aDNcbiAgICAgICAgKm5nSWY9XCJ0aXRsZSB8fCAocmVhc29uTW9kZWwkIHwgYXN5bmMpPy50aXRsZVwiXG4gICAgICAgIGNsYXNzPVwidGl0bGVcIlxuICAgICAgPlxuICAgICAgICB7eyB0aXRsZSB8fCAoKHJlYXNvbk1vZGVsJCB8IGFzeW5jKT8udGl0bGUgfCB0cmFuc2xhdGUpIH19XG4gICAgICA8L2gzPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgKm5nSWY9XCJkZXNjcmlwdGlvblRwbFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVzY3JpcHRpb25UcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkZXNjcmlwdGlvblRwbFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNOb25FbXB0eVN0cmluZyhkZXNjcmlwdGlvbilcIj5cbiAgICAgICAgICA8cCBjbGFzcz1cImRlc2NyaXB0aW9uXCI+e3sgZGVzY3JpcHRpb24gfX08L3A+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNVbmRlZmluZWQoZGVzY3JpcHRpb24pXCI+XG4gICAgICAgICAgPHAgY2xhc3M9XCJkZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAge3sgKHJlYXNvbk1vZGVsJCB8IGFzeW5jKT8uZGVzY3JpcHRpb24gfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJvcGVyYXRpb25cIlxuICAgICAgICAqbmdJZj1cImlzVGVtcGxhdGVSZWYob3BlcmF0aW9uKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwib3BlcmF0aW9uXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* @module page-guard
|
|
4
|
+
*/
|
|
5
|
+
import { Directive } from '@angular/core';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class PageGuardOperationDirective {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageGuardOperationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: PageGuardOperationDirective, isStandalone: true, selector: "[aclPageGuardOperation]", ngImport: i0 }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageGuardOperationDirective, decorators: [{
|
|
12
|
+
type: Directive,
|
|
13
|
+
args: [{
|
|
14
|
+
selector: '[aclPageGuardOperation]',
|
|
15
|
+
standalone: true,
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
export class PageGuardDescriptionDirective {
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageGuardDescriptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
20
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: PageGuardDescriptionDirective, isStandalone: true, selector: "[aclPageGuardDescription]", ngImport: i0 }); }
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageGuardDescriptionDirective, decorators: [{
|
|
23
|
+
type: Directive,
|
|
24
|
+
args: [{
|
|
25
|
+
selector: '[aclPageGuardDescription]',
|
|
26
|
+
standalone: true,
|
|
27
|
+
}]
|
|
28
|
+
}] });
|
|
29
|
+
export class PageGuardImageDirective {
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageGuardImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
31
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: PageGuardImageDirective, isStandalone: true, selector: "[aclPageGuardImage]", ngImport: i0 }); }
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageGuardImageDirective, decorators: [{
|
|
34
|
+
type: Directive,
|
|
35
|
+
args: [{
|
|
36
|
+
selector: '[aclPageGuardImage]',
|
|
37
|
+
standalone: true,
|
|
38
|
+
}]
|
|
39
|
+
}] });
|
|
40
|
+
export class PageGuardContentDirective {
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageGuardContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
42
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: PageGuardContentDirective, isStandalone: true, selector: "[aclPageGuardContent]", ngImport: i0 }); }
|
|
43
|
+
}
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PageGuardContentDirective, decorators: [{
|
|
45
|
+
type: Directive,
|
|
46
|
+
args: [{
|
|
47
|
+
selector: '[aclPageGuardContent]',
|
|
48
|
+
standalone: true,
|
|
49
|
+
}]
|
|
50
|
+
}] });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLWRpcmVjdGl2ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvY29tcG9uZW50cy9wYWdlLWd1YXJkL2NvbXBvbmVudC9oZWxwZXItZGlyZWN0aXZlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0xQyxNQUFNLE9BQU8sMkJBQTJCOzhHQUEzQiwyQkFBMkI7a0dBQTNCLDJCQUEyQjs7MkZBQTNCLDJCQUEyQjtrQkFKdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7O0FBT0QsTUFBTSxPQUFPLDZCQUE2Qjs4R0FBN0IsNkJBQTZCO2tHQUE3Qiw2QkFBNkI7OzJGQUE3Qiw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQU9ELE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7QUFPRCxNQUFNLE9BQU8seUJBQXlCOzhHQUF6Qix5QkFBeUI7a0dBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSBwYWdlLWd1YXJkXG4gKi9cblxuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thY2xQYWdlR3VhcmRPcGVyYXRpb25dJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUGFnZUd1YXJkT3BlcmF0aW9uRGlyZWN0aXZlIHt9XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thY2xQYWdlR3VhcmREZXNjcmlwdGlvbl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlR3VhcmREZXNjcmlwdGlvbkRpcmVjdGl2ZSB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsUGFnZUd1YXJkSW1hZ2VdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUGFnZUd1YXJkSW1hZ2VEaXJlY3RpdmUge31cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FjbFBhZ2VHdWFyZENvbnRlbnRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUGFnZUd1YXJkQ29udGVudERpcmVjdGl2ZSB7fVxuIl19
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* @module page-guard
|
|
4
|
+
*/
|
|
5
|
+
export var GuardStatus;
|
|
6
|
+
(function (GuardStatus) {
|
|
7
|
+
GuardStatus["Pending"] = "pending";
|
|
8
|
+
GuardStatus["Available"] = "available";
|
|
9
|
+
GuardStatus["Unavailable"] = "unavailable";
|
|
10
|
+
})(GuardStatus || (GuardStatus = {}));
|
|
11
|
+
export const Reason = {
|
|
12
|
+
NotSupported: 'notSupported',
|
|
13
|
+
NoPermission: 'noPermission',
|
|
14
|
+
NotDeployed: 'notDeployed',
|
|
15
|
+
Abnormal: 'abnormal',
|
|
16
|
+
NoData: 'noData',
|
|
17
|
+
NoMessage: 'noMessage',
|
|
18
|
+
Disconnected: 'disconnected',
|
|
19
|
+
LicenseAbnormal: 'licenseAbnormal',
|
|
20
|
+
NetworkAbnormal: 'networkAbnormal',
|
|
21
|
+
NotFound: 'notFound',
|
|
22
|
+
NoAlarm: 'noAlarm',
|
|
23
|
+
};
|
|
24
|
+
export const REASON_MAP = {
|
|
25
|
+
[Reason.NotSupported]: {
|
|
26
|
+
src: 'not-supported.svg',
|
|
27
|
+
title: 'not_support',
|
|
28
|
+
description: 'not_support_description',
|
|
29
|
+
},
|
|
30
|
+
[Reason.NoPermission]: {
|
|
31
|
+
src: 'no-permission.svg',
|
|
32
|
+
title: 'inaccessible',
|
|
33
|
+
description: 'no_permission_description',
|
|
34
|
+
},
|
|
35
|
+
[Reason.NotDeployed]: {
|
|
36
|
+
src: 'not-deployed.svg',
|
|
37
|
+
title: 'inaccessible',
|
|
38
|
+
description: 'not_deployed_description',
|
|
39
|
+
},
|
|
40
|
+
[Reason.Abnormal]: {
|
|
41
|
+
src: 'system-abnormal.svg',
|
|
42
|
+
title: 'system_abnormal_title',
|
|
43
|
+
description: 'system_abnormal_description',
|
|
44
|
+
},
|
|
45
|
+
[Reason.NoData]: {
|
|
46
|
+
src: 'no-data.svg',
|
|
47
|
+
title: 'no_data',
|
|
48
|
+
description: 'no_data',
|
|
49
|
+
},
|
|
50
|
+
[Reason.NoMessage]: {
|
|
51
|
+
src: 'no-message.svg',
|
|
52
|
+
title: 'no_message',
|
|
53
|
+
description: 'no_message',
|
|
54
|
+
},
|
|
55
|
+
[Reason.Disconnected]: {
|
|
56
|
+
src: 'disconnected.svg',
|
|
57
|
+
title: 'inaccessible',
|
|
58
|
+
description: 'disconnected_description',
|
|
59
|
+
},
|
|
60
|
+
[Reason.LicenseAbnormal]: {
|
|
61
|
+
src: 'license-abnormal.svg',
|
|
62
|
+
title: 'inaccessible',
|
|
63
|
+
description: 'license_abnormal_description',
|
|
64
|
+
},
|
|
65
|
+
[Reason.NetworkAbnormal]: {
|
|
66
|
+
src: 'network-abnormal.svg',
|
|
67
|
+
title: 'inaccessible',
|
|
68
|
+
description: 'network_abnormal_description',
|
|
69
|
+
},
|
|
70
|
+
[Reason.NotFound]: {
|
|
71
|
+
src: 'not-found.svg',
|
|
72
|
+
title: 'not_found_title',
|
|
73
|
+
description: 'not_found_description',
|
|
74
|
+
},
|
|
75
|
+
[Reason.NoAlarm]: {
|
|
76
|
+
src: 'no_realtime_alarm.svg',
|
|
77
|
+
title: 'no_alarm_title',
|
|
78
|
+
description: 'no_alarm_description',
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
export const DEFAULT_REASON = REASON_MAP[Reason.NotSupported];
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1ndWFyZC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2NvbXBvbmVudHMvcGFnZS1ndWFyZC9jb21wb25lbnQvcGFnZS1ndWFyZC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUlILE1BQU0sQ0FBTixJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsc0NBQXVCLENBQUE7SUFDdkIsMENBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQUpXLFdBQVcsS0FBWCxXQUFXLFFBSXRCO0FBRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHO0lBQ3BCLFlBQVksRUFBRSxjQUFjO0lBQzVCLFlBQVksRUFBRSxjQUFjO0lBQzVCLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLFlBQVksRUFBRSxjQUFjO0lBQzVCLGVBQWUsRUFBRSxpQkFBaUI7SUFDbEMsZUFBZSxFQUFFLGlCQUFpQjtJQUNsQyxRQUFRLEVBQUUsVUFBVTtJQUNwQixPQUFPLEVBQUUsU0FBUztDQUNWLENBQUM7QUFJWCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUU7UUFDckIsR0FBRyxFQUFFLG1CQUFtQjtRQUN4QixLQUFLLEVBQUUsYUFBYTtRQUNwQixXQUFXLEVBQUUseUJBQXlCO0tBQ3ZDO0lBQ0QsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUU7UUFDckIsR0FBRyxFQUFFLG1CQUFtQjtRQUN4QixLQUFLLEVBQUUsY0FBYztRQUNyQixXQUFXLEVBQUUsMkJBQTJCO0tBQ3pDO0lBQ0QsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUU7UUFDcEIsR0FBRyxFQUFFLGtCQUFrQjtRQUN2QixLQUFLLEVBQUUsY0FBYztRQUNyQixXQUFXLEVBQUUsMEJBQTBCO0tBQ3hDO0lBQ0QsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDakIsR0FBRyxFQUFFLHFCQUFxQjtRQUMxQixLQUFLLEVBQUUsdUJBQXVCO1FBQzlCLFdBQVcsRUFBRSw2QkFBNkI7S0FDM0M7SUFDRCxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNmLEdBQUcsRUFBRSxhQUFhO1FBQ2xCLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFdBQVcsRUFBRSxTQUFTO0tBQ3ZCO0lBQ0QsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDbEIsR0FBRyxFQUFFLGdCQUFnQjtRQUNyQixLQUFLLEVBQUUsWUFBWTtRQUNuQixXQUFXLEVBQUUsWUFBWTtLQUMxQjtJQUNELENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFO1FBQ3JCLEdBQUcsRUFBRSxrQkFBa0I7UUFDdkIsS0FBSyxFQUFFLGNBQWM7UUFDckIsV0FBVyxFQUFFLDBCQUEwQjtLQUN4QztJQUNELENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ3hCLEdBQUcsRUFBRSxzQkFBc0I7UUFDM0IsS0FBSyxFQUFFLGNBQWM7UUFDckIsV0FBVyxFQUFFLDhCQUE4QjtLQUM1QztJQUNELENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ3hCLEdBQUcsRUFBRSxzQkFBc0I7UUFDM0IsS0FBSyxFQUFFLGNBQWM7UUFDckIsV0FBVyxFQUFFLDhCQUE4QjtLQUM1QztJQUNELENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ2pCLEdBQUcsRUFBRSxlQUFlO1FBQ3BCLEtBQUssRUFBRSxpQkFBaUI7UUFDeEIsV0FBVyxFQUFFLHVCQUF1QjtLQUNyQztJQUNELENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ2hCLEdBQUcsRUFBRSx1QkFBdUI7UUFDNUIsS0FBSyxFQUFFLGdCQUFnQjtRQUN2QixXQUFXLEVBQUUsc0JBQXNCO0tBQ3BDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgcGFnZS1ndWFyZFxuICovXG5cbmltcG9ydCB7IFZhbHVlT2YgfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcblxuZXhwb3J0IGVudW0gR3VhcmRTdGF0dXMge1xuICBQZW5kaW5nID0gJ3BlbmRpbmcnLFxuICBBdmFpbGFibGUgPSAnYXZhaWxhYmxlJyxcbiAgVW5hdmFpbGFibGUgPSAndW5hdmFpbGFibGUnLFxufVxuXG5leHBvcnQgY29uc3QgUmVhc29uID0ge1xuICBOb3RTdXBwb3J0ZWQ6ICdub3RTdXBwb3J0ZWQnLFxuICBOb1Blcm1pc3Npb246ICdub1Blcm1pc3Npb24nLFxuICBOb3REZXBsb3llZDogJ25vdERlcGxveWVkJyxcbiAgQWJub3JtYWw6ICdhYm5vcm1hbCcsXG4gIE5vRGF0YTogJ25vRGF0YScsXG4gIE5vTWVzc2FnZTogJ25vTWVzc2FnZScsXG4gIERpc2Nvbm5lY3RlZDogJ2Rpc2Nvbm5lY3RlZCcsXG4gIExpY2Vuc2VBYm5vcm1hbDogJ2xpY2Vuc2VBYm5vcm1hbCcsXG4gIE5ldHdvcmtBYm5vcm1hbDogJ25ldHdvcmtBYm5vcm1hbCcsXG4gIE5vdEZvdW5kOiAnbm90Rm91bmQnLFxuICBOb0FsYXJtOiAnbm9BbGFybScsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBSZWFzb24gPSBWYWx1ZU9mPHR5cGVvZiBSZWFzb24+O1xuXG5leHBvcnQgY29uc3QgUkVBU09OX01BUCA9IHtcbiAgW1JlYXNvbi5Ob3RTdXBwb3J0ZWRdOiB7XG4gICAgc3JjOiAnbm90LXN1cHBvcnRlZC5zdmcnLFxuICAgIHRpdGxlOiAnbm90X3N1cHBvcnQnLFxuICAgIGRlc2NyaXB0aW9uOiAnbm90X3N1cHBvcnRfZGVzY3JpcHRpb24nLFxuICB9LFxuICBbUmVhc29uLk5vUGVybWlzc2lvbl06IHtcbiAgICBzcmM6ICduby1wZXJtaXNzaW9uLnN2ZycsXG4gICAgdGl0bGU6ICdpbmFjY2Vzc2libGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnbm9fcGVybWlzc2lvbl9kZXNjcmlwdGlvbicsXG4gIH0sXG4gIFtSZWFzb24uTm90RGVwbG95ZWRdOiB7XG4gICAgc3JjOiAnbm90LWRlcGxveWVkLnN2ZycsXG4gICAgdGl0bGU6ICdpbmFjY2Vzc2libGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnbm90X2RlcGxveWVkX2Rlc2NyaXB0aW9uJyxcbiAgfSxcbiAgW1JlYXNvbi5BYm5vcm1hbF06IHtcbiAgICBzcmM6ICdzeXN0ZW0tYWJub3JtYWwuc3ZnJyxcbiAgICB0aXRsZTogJ3N5c3RlbV9hYm5vcm1hbF90aXRsZScsXG4gICAgZGVzY3JpcHRpb246ICdzeXN0ZW1fYWJub3JtYWxfZGVzY3JpcHRpb24nLFxuICB9LFxuICBbUmVhc29uLk5vRGF0YV06IHtcbiAgICBzcmM6ICduby1kYXRhLnN2ZycsXG4gICAgdGl0bGU6ICdub19kYXRhJyxcbiAgICBkZXNjcmlwdGlvbjogJ25vX2RhdGEnLFxuICB9LFxuICBbUmVhc29uLk5vTWVzc2FnZV06IHtcbiAgICBzcmM6ICduby1tZXNzYWdlLnN2ZycsXG4gICAgdGl0bGU6ICdub19tZXNzYWdlJyxcbiAgICBkZXNjcmlwdGlvbjogJ25vX21lc3NhZ2UnLFxuICB9LFxuICBbUmVhc29uLkRpc2Nvbm5lY3RlZF06IHtcbiAgICBzcmM6ICdkaXNjb25uZWN0ZWQuc3ZnJyxcbiAgICB0aXRsZTogJ2luYWNjZXNzaWJsZScsXG4gICAgZGVzY3JpcHRpb246ICdkaXNjb25uZWN0ZWRfZGVzY3JpcHRpb24nLFxuICB9LFxuICBbUmVhc29uLkxpY2Vuc2VBYm5vcm1hbF06IHtcbiAgICBzcmM6ICdsaWNlbnNlLWFibm9ybWFsLnN2ZycsXG4gICAgdGl0bGU6ICdpbmFjY2Vzc2libGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnbGljZW5zZV9hYm5vcm1hbF9kZXNjcmlwdGlvbicsXG4gIH0sXG4gIFtSZWFzb24uTmV0d29ya0Fibm9ybWFsXToge1xuICAgIHNyYzogJ25ldHdvcmstYWJub3JtYWwuc3ZnJyxcbiAgICB0aXRsZTogJ2luYWNjZXNzaWJsZScsXG4gICAgZGVzY3JpcHRpb246ICduZXR3b3JrX2Fibm9ybWFsX2Rlc2NyaXB0aW9uJyxcbiAgfSxcbiAgW1JlYXNvbi5Ob3RGb3VuZF06IHtcbiAgICBzcmM6ICdub3QtZm91bmQuc3ZnJyxcbiAgICB0aXRsZTogJ25vdF9mb3VuZF90aXRsZScsXG4gICAgZGVzY3JpcHRpb246ICdub3RfZm91bmRfZGVzY3JpcHRpb24nLFxuICB9LFxuICBbUmVhc29uLk5vQWxhcm1dOiB7XG4gICAgc3JjOiAnbm9fcmVhbHRpbWVfYWxhcm0uc3ZnJyxcbiAgICB0aXRsZTogJ25vX2FsYXJtX3RpdGxlJyxcbiAgICBkZXNjcmlwdGlvbjogJ25vX2FsYXJtX2Rlc2NyaXB0aW9uJyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1JFQVNPTiA9IFJFQVNPTl9NQVBbUmVhc29uLk5vdFN1cHBvcnRlZF07XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [[include:page-guard/README.md]]
|
|
3
|
+
* @module page-guard
|
|
4
|
+
* @preferred
|
|
5
|
+
*/
|
|
6
|
+
/** imports */
|
|
7
|
+
import { PageGuardComponent } from './component/component';
|
|
8
|
+
import { PageGuardContentDirective, PageGuardDescriptionDirective, PageGuardOperationDirective, PageGuardImageDirective, } from './component/helper-directives';
|
|
9
|
+
export * from './component/component';
|
|
10
|
+
export * from './component/helper-directives';
|
|
11
|
+
export * from './component/page-guard.type';
|
|
12
|
+
export const PAGE_GUARD_MODULE = [
|
|
13
|
+
PageGuardComponent,
|
|
14
|
+
PageGuardContentDirective,
|
|
15
|
+
PageGuardDescriptionDirective,
|
|
16
|
+
PageGuardOperationDirective,
|
|
17
|
+
PageGuardImageDirective,
|
|
18
|
+
];
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvY29tcG9uZW50cy9wYWdlLWd1YXJkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxjQUFjO0FBQ2QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0IsMkJBQTJCLEVBQzNCLHVCQUF1QixHQUN4QixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIsNkJBQTZCO0lBQzdCLDJCQUEyQjtJQUMzQix1QkFBdUI7Q0FDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBbW2luY2x1ZGU6cGFnZS1ndWFyZC9SRUFETUUubWRdXVxuICogQG1vZHVsZSBwYWdlLWd1YXJkXG4gKiBAcHJlZmVycmVkXG4gKi9cblxuLyoqIGltcG9ydHMgKi9cbmltcG9ydCB7IFBhZ2VHdWFyZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L2NvbXBvbmVudCc7XG5pbXBvcnQge1xuICBQYWdlR3VhcmRDb250ZW50RGlyZWN0aXZlLFxuICBQYWdlR3VhcmREZXNjcmlwdGlvbkRpcmVjdGl2ZSxcbiAgUGFnZUd1YXJkT3BlcmF0aW9uRGlyZWN0aXZlLFxuICBQYWdlR3VhcmRJbWFnZURpcmVjdGl2ZSxcbn0gZnJvbSAnLi9jb21wb25lbnQvaGVscGVyLWRpcmVjdGl2ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQvY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50L2hlbHBlci1kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50L3BhZ2UtZ3VhcmQudHlwZSc7XG5cbmV4cG9ydCBjb25zdCBQQUdFX0dVQVJEX01PRFVMRSA9IFtcbiAgUGFnZUd1YXJkQ29tcG9uZW50LFxuICBQYWdlR3VhcmRDb250ZW50RGlyZWN0aXZlLFxuICBQYWdlR3VhcmREZXNjcmlwdGlvbkRpcmVjdGl2ZSxcbiAgUGFnZUd1YXJkT3BlcmF0aW9uRGlyZWN0aXZlLFxuICBQYWdlR3VhcmRJbWFnZURpcmVjdGl2ZSxcbl0gYXMgY29uc3Q7XG4iXX0=
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { coerceAttrBoolean, FormItemWidth, FormModule, IconComponent, INPUT_GROUP_MODULE, InputComponent, isTemplateRef, } from '@alauda/ui';
|
|
2
|
+
import { TranslatePipe } from '@alauda-fe/dynamic-plugin-sdk';
|
|
3
|
+
import { NgIf, NgTemplateOutlet } from '@angular/common';
|
|
4
|
+
import { ChangeDetectionStrategy, Component, Input, forwardRef, } from '@angular/core';
|
|
5
|
+
import { FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
6
|
+
import { decode, encode } from 'ab64';
|
|
7
|
+
import { assocPath } from 'ramda';
|
|
8
|
+
import { BaseNestedFormControlPure } from '../../form';
|
|
9
|
+
import { ERRORS_MAPPER_MODULE } from '../../form/errors-mapper';
|
|
10
|
+
import { FunctionValidatorDirective, STRONG_PASSWORD_SPECIAL_CHARS, StrongPasswordValidatorModule, } from '../../form/validators';
|
|
11
|
+
import { PurePipe } from '../../pipes';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@alauda/ui";
|
|
14
|
+
import * as i2 from "@angular/forms";
|
|
15
|
+
import * as i3 from "../../form/errors-mapper/errors-mapper-component/component";
|
|
16
|
+
import * as i4 from "../../form/errors-mapper/errors-mapper.directive";
|
|
17
|
+
import * as i5 from "../../form/validators/strong-password/strong-password-validator.directive";
|
|
18
|
+
export class PasswordInputComponent extends BaseNestedFormControlPure {
|
|
19
|
+
constructor() {
|
|
20
|
+
super(...arguments);
|
|
21
|
+
this.specialChars = STRONG_PASSWORD_SPECIAL_CHARS;
|
|
22
|
+
this.strongPassword = true;
|
|
23
|
+
this.enableConfirm = true;
|
|
24
|
+
this.width = 'medium';
|
|
25
|
+
this.toggleable = true;
|
|
26
|
+
this.encoding = {
|
|
27
|
+
encode,
|
|
28
|
+
decode,
|
|
29
|
+
};
|
|
30
|
+
this.placeholder = '';
|
|
31
|
+
this.showPassword = false;
|
|
32
|
+
this.showInput = true;
|
|
33
|
+
this.confirmPassword = '';
|
|
34
|
+
this.isTemplateRef = isTemplateRef;
|
|
35
|
+
this._required = true;
|
|
36
|
+
}
|
|
37
|
+
set required(required) {
|
|
38
|
+
this._required = coerceAttrBoolean(required);
|
|
39
|
+
}
|
|
40
|
+
get required() {
|
|
41
|
+
return this._required;
|
|
42
|
+
}
|
|
43
|
+
ngOnInit() {
|
|
44
|
+
this.confirmPassword = this.encoding.decode(this.initPassword ?? '');
|
|
45
|
+
this.showInput = !this.isUpdate;
|
|
46
|
+
}
|
|
47
|
+
valueIn(v) {
|
|
48
|
+
return this.encoding.decode(v ?? '');
|
|
49
|
+
}
|
|
50
|
+
modelOut(v) {
|
|
51
|
+
return this.encoding.encode(v);
|
|
52
|
+
}
|
|
53
|
+
validate() {
|
|
54
|
+
let errors = super.validate();
|
|
55
|
+
if (coerceAttrBoolean(this.enableConfirm) &&
|
|
56
|
+
this.confirmPassword !== this.model) {
|
|
57
|
+
errors = assocPath(['confirmPassword', 'notMatch'], true, errors);
|
|
58
|
+
}
|
|
59
|
+
return errors;
|
|
60
|
+
}
|
|
61
|
+
validateConfirmPassword(password) {
|
|
62
|
+
return (control) => {
|
|
63
|
+
if (!password) {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
return password === control.value ? null : { notMatch: true };
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
updatePasswd() {
|
|
70
|
+
this.emitModel('');
|
|
71
|
+
this.showInput = true;
|
|
72
|
+
}
|
|
73
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PasswordInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
74
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: PasswordInputComponent, isStandalone: true, selector: "acl-password-input", inputs: { initPassword: "initPassword", label: "label", hint: "hint", specialChars: "specialChars", strongPassword: "strongPassword", enableConfirm: "enableConfirm", width: "width", toggleable: "toggleable", pattern: "pattern", encoding: "encoding", placeholder: "placeholder", readonly: "readonly", isUpdate: "isUpdate", required: "required" }, providers: [
|
|
75
|
+
{
|
|
76
|
+
provide: NG_VALUE_ACCESSOR,
|
|
77
|
+
useExisting: forwardRef(() => PasswordInputComponent),
|
|
78
|
+
multi: true,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
provide: NG_VALIDATORS,
|
|
82
|
+
useExisting: forwardRef(() => PasswordInputComponent),
|
|
83
|
+
multi: true,
|
|
84
|
+
},
|
|
85
|
+
], usesInheritance: true, ngImport: i0, template: "<aui-form-item [width]=\"width\">\n <label auiFormItemLabel>{{ label || ('password' | translate) }}</label>\n <aui-input-group\n *ngIf=\"showInput\"\n class=\"tw-flex-1\"\n auiFormItemControl\n [required]=\"required\"\n >\n <input\n aui-input\n [type]=\"showPassword ? 'text' : 'password'\"\n name=\"password\"\n #password=\"ngModel\"\n [ngModel]=\"model\"\n (ngModelChange)=\"emitModel($event)\"\n autocomplete=\"new-password\"\n [required]=\"required\"\n [aclStrongPassword]=\"strongPassword\"\n [specialChars]=\"specialChars\"\n [pattern]=\"strongPassword ? null : pattern\"\n [placeholder]=\"placeholder\"\n [aclErrorsMapperOutlet]=\"passwordError\"\n [aclErrorsMapper]=\"{\n pattern: strongPassword\n ? ('strong_password_pattern_tip'\n | translate\n : {\n chars: specialChars.split('').join(', '),\n })\n : ('invalid_pattern' | translate),\n }\"\n />\n <aui-icon\n *ngIf=\"toggleable\"\n auiInputSuffix\n class=\"tw-icon-m tw-cursor-pointer hover:tw-text-primary\"\n [icon]=\"showPassword ? 'eye_s' : 'eye_slash_s'\"\n (click)=\"showPassword = !showPassword\"\n ></aui-icon>\n </aui-input-group>\n <div\n *ngIf=\"hint\"\n auiFormItemHint\n >\n <ng-container *ngIf=\"isTemplateRef(hint); else defaultDescription\">\n <ng-container *ngTemplateOutlet=\"hint\"></ng-container>\n </ng-container>\n <ng-template #defaultDescription>\n {{ hint }}\n </ng-template>\n </div>\n <div\n #passwordError\n auiFormItemError\n ></div>\n <ng-container *ngIf=\"!showInput\">\n <span>******</span>\n <button\n *ngIf=\"!readonly\"\n aui-button=\"text\"\n (click)=\"updatePasswd()\"\n >\n <aui-icon icon=\"pencil\"></aui-icon>\n </button>\n </ng-container>\n</aui-form-item>\n<aui-form-item\n *ngIf=\"showInput && enableConfirm\"\n [width]=\"width\"\n>\n <label auiFormItemLabel>{{ 'confirm_password' | translate }}</label>\n <aui-input-group\n class=\"tw-flex-1\"\n auiFormItemControl\n [required]=\"required\"\n >\n <input\n aui-input\n [type]=\"showPassword ? 'text' : 'password'\"\n name=\"confirmPassword\"\n #confirm=\"ngModel\"\n [(ngModel)]=\"confirmPassword\"\n autocomplete=\"new-password\"\n [required]=\"required\"\n [aclValidateFn]=\"model | pure: validateConfirmPassword\"\n />\n <aui-icon\n *ngIf=\"toggleable\"\n auiInputSuffix\n class=\"tw-icon-m tw-cursor-pointer hover:tw-text-primary\"\n [icon]=\"showPassword ? 'eye_s' : 'eye_slash_s'\"\n (click)=\"showPassword = !showPassword\"\n ></aui-icon>\n </aui-input-group>\n <acl-errors-mapper\n auiFormItemError\n [errors]=\"confirm?.errors\"\n [errorsMapper]=\"{\n notMatch: 'confirm_password_not_match' | translate,\n }\"\n ></acl-errors-mapper>\n</aui-form-item>\n", dependencies: [{ kind: "ngmodule", type: FormModule }, { kind: "component", type: i1.FormItemComponent, selector: "aui-form-item", inputs: ["labelWidth", "width", "labelPosition", "emptyAddon", "plain"] }, { kind: "directive", type: i1.FormItemErrorDirective, selector: "[auiFormItemError]" }, { kind: "directive", type: i1.FormItemHintDirective, selector: "[auiFormItemHint]" }, { kind: "directive", type: i1.FormItemLabelDirective, selector: "label[auiFormItemLabel]" }, { kind: "directive", type: i1.FormItemControlDirective, selector: "[auiFormItemControl]", inputs: ["required"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "input[aui-input],textarea[aui-input]", inputs: ["size", "disabled"] }, { kind: "component", type: i1.InputGroupComponent, selector: "aui-input-group" }, { kind: "directive", type: i1.InputSuffixDirective, selector: "[auiInputSuffix]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "component", type: i3.ErrorsMapperComponent, selector: "acl-errors-mapper", inputs: ["errors", "errorsMapper", "errorsMapperFn", "controlName", "ignoreUnknownError"] }, { kind: "directive", type: i4.ErrorsMapperDirective, selector: "[aclErrorsMapper]", inputs: ["aclErrorsMapper", "aclErrorsMapperFn", "aclErrorsMapperDisabled", "aclErrorsMapperOutlet", "aclErrorsMapperControlName"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: PurePipe, name: "pure" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: StrongPasswordValidatorModule }, { kind: "directive", type: i5.StrongPasswordDirective, selector: "input[aclStrongPassword][ngModel],input[aclStrongPassword][formControl],input[aclStrongPassword][formControlName]", inputs: ["aclStrongPassword", "required", "specialChars", "minlength", "maxlength", "notStartsWith"] }, { kind: "directive", type: FunctionValidatorDirective, selector: "[aclValidateFn][ngModel],[aclValidateFn][formControl],[aclValidateFn][formControlName]", inputs: ["aclValidateFn"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
86
|
+
}
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PasswordInputComponent, decorators: [{
|
|
88
|
+
type: Component,
|
|
89
|
+
args: [{ selector: 'acl-password-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
90
|
+
FormModule,
|
|
91
|
+
NgIf,
|
|
92
|
+
InputComponent,
|
|
93
|
+
INPUT_GROUP_MODULE,
|
|
94
|
+
FormsModule,
|
|
95
|
+
IconComponent,
|
|
96
|
+
ERRORS_MAPPER_MODULE,
|
|
97
|
+
TranslatePipe,
|
|
98
|
+
PurePipe,
|
|
99
|
+
NgTemplateOutlet,
|
|
100
|
+
StrongPasswordValidatorModule,
|
|
101
|
+
FunctionValidatorDirective,
|
|
102
|
+
], providers: [
|
|
103
|
+
{
|
|
104
|
+
provide: NG_VALUE_ACCESSOR,
|
|
105
|
+
useExisting: forwardRef(() => PasswordInputComponent),
|
|
106
|
+
multi: true,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
provide: NG_VALIDATORS,
|
|
110
|
+
useExisting: forwardRef(() => PasswordInputComponent),
|
|
111
|
+
multi: true,
|
|
112
|
+
},
|
|
113
|
+
], template: "<aui-form-item [width]=\"width\">\n <label auiFormItemLabel>{{ label || ('password' | translate) }}</label>\n <aui-input-group\n *ngIf=\"showInput\"\n class=\"tw-flex-1\"\n auiFormItemControl\n [required]=\"required\"\n >\n <input\n aui-input\n [type]=\"showPassword ? 'text' : 'password'\"\n name=\"password\"\n #password=\"ngModel\"\n [ngModel]=\"model\"\n (ngModelChange)=\"emitModel($event)\"\n autocomplete=\"new-password\"\n [required]=\"required\"\n [aclStrongPassword]=\"strongPassword\"\n [specialChars]=\"specialChars\"\n [pattern]=\"strongPassword ? null : pattern\"\n [placeholder]=\"placeholder\"\n [aclErrorsMapperOutlet]=\"passwordError\"\n [aclErrorsMapper]=\"{\n pattern: strongPassword\n ? ('strong_password_pattern_tip'\n | translate\n : {\n chars: specialChars.split('').join(', '),\n })\n : ('invalid_pattern' | translate),\n }\"\n />\n <aui-icon\n *ngIf=\"toggleable\"\n auiInputSuffix\n class=\"tw-icon-m tw-cursor-pointer hover:tw-text-primary\"\n [icon]=\"showPassword ? 'eye_s' : 'eye_slash_s'\"\n (click)=\"showPassword = !showPassword\"\n ></aui-icon>\n </aui-input-group>\n <div\n *ngIf=\"hint\"\n auiFormItemHint\n >\n <ng-container *ngIf=\"isTemplateRef(hint); else defaultDescription\">\n <ng-container *ngTemplateOutlet=\"hint\"></ng-container>\n </ng-container>\n <ng-template #defaultDescription>\n {{ hint }}\n </ng-template>\n </div>\n <div\n #passwordError\n auiFormItemError\n ></div>\n <ng-container *ngIf=\"!showInput\">\n <span>******</span>\n <button\n *ngIf=\"!readonly\"\n aui-button=\"text\"\n (click)=\"updatePasswd()\"\n >\n <aui-icon icon=\"pencil\"></aui-icon>\n </button>\n </ng-container>\n</aui-form-item>\n<aui-form-item\n *ngIf=\"showInput && enableConfirm\"\n [width]=\"width\"\n>\n <label auiFormItemLabel>{{ 'confirm_password' | translate }}</label>\n <aui-input-group\n class=\"tw-flex-1\"\n auiFormItemControl\n [required]=\"required\"\n >\n <input\n aui-input\n [type]=\"showPassword ? 'text' : 'password'\"\n name=\"confirmPassword\"\n #confirm=\"ngModel\"\n [(ngModel)]=\"confirmPassword\"\n autocomplete=\"new-password\"\n [required]=\"required\"\n [aclValidateFn]=\"model | pure: validateConfirmPassword\"\n />\n <aui-icon\n *ngIf=\"toggleable\"\n auiInputSuffix\n class=\"tw-icon-m tw-cursor-pointer hover:tw-text-primary\"\n [icon]=\"showPassword ? 'eye_s' : 'eye_slash_s'\"\n (click)=\"showPassword = !showPassword\"\n ></aui-icon>\n </aui-input-group>\n <acl-errors-mapper\n auiFormItemError\n [errors]=\"confirm?.errors\"\n [errorsMapper]=\"{\n notMatch: 'confirm_password_not_match' | translate,\n }\"\n ></acl-errors-mapper>\n</aui-form-item>\n" }]
|
|
114
|
+
}], propDecorators: { initPassword: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], label: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], hint: [{
|
|
119
|
+
type: Input
|
|
120
|
+
}], specialChars: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], strongPassword: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], enableConfirm: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], width: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], toggleable: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], pattern: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}], encoding: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], placeholder: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], readonly: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], isUpdate: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], required: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}] } });
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2NvbXBvbmVudHMvcGFzc3dvcmQtaW5wdXQvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2NvbXBvbmVudHMvcGFzc3dvcmQtaW5wdXQvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixVQUFVLEVBQ1YsYUFBYSxFQUNiLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsYUFBYSxHQUNkLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUVMLFVBQVUsR0FFWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsV0FBVyxFQUNYLGFBQWEsRUFDYixpQkFBaUIsR0FFbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWxDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLDZCQUE2QixFQUM3Qiw2QkFBNkIsR0FDOUIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxD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Y29lcmNlQXR0ckJvb2xlYW4sXG4gIEZvcm1JdGVtV2lkdGgsXG4gIEZvcm1Nb2R1bGUsXG4gIEljb25Db21wb25lbnQsXG4gIElOUFVUX0dST1VQX01PRFVMRSxcbiAgSW5wdXRDb21wb25lbnQsXG4gIGlzVGVtcGxhdGVSZWYsXG59IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BhbGF1ZGEtZmUvZHluYW1pYy1wbHVnaW4tc2RrJztcbmltcG9ydCB7IE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgZm9yd2FyZFJlZixcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3Jtc01vZHVsZSxcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRlY29kZSwgZW5jb2RlIH0gZnJvbSAnYWI2NCc7XG5pbXBvcnQgeyBhc3NvY1BhdGggfSBmcm9tICdyYW1kYSc7XG5cbmltcG9ydCB7IEJhc2VOZXN0ZWRGb3JtQ29udHJvbFB1cmUgfSBmcm9tICcuLi8uLi9mb3JtJztcbmltcG9ydCB7IEVSUk9SU19NQVBQRVJfTU9EVUxFIH0gZnJvbSAnLi4vLi4vZm9ybS9lcnJvcnMtbWFwcGVyJztcbmltcG9ydCB7XG4gIEZ1bmN0aW9uVmFsaWRhdG9yRGlyZWN0aXZlLFxuICBTVFJPTkdfUEFTU1dPUkRfU1BFQ0lBTF9DSEFSUyxcbiAgU3Ryb25nUGFzc3dvcmRWYWxpZGF0b3JNb2R1bGUsXG59IGZyb20gJy4uLy4uL2Zvcm0vdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBQdXJlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBFbmNvZGluZyB7XG4gIGRlY29kZTogKHY6IHN0cmluZykgPT4gc3RyaW5nO1xuICBlbmNvZGU6ICh2OiBzdHJpbmcpID0+IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXBhc3N3b3JkLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBGb3JtTW9kdWxlLFxuICAgIE5nSWYsXG4gICAgSW5wdXRDb21wb25lbnQsXG4gICAgSU5QVVRfR1JPVVBfTU9EVUxFLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEljb25Db21wb25lbnQsXG4gICAgRVJST1JTX01BUFBFUl9NT0RVTEUsXG4gICAgVHJhbnNsYXRlUGlwZSxcbiAgICBQdXJlUGlwZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIFN0cm9uZ1Bhc3N3b3JkVmFsaWRhdG9yTW9kdWxlLFxuICAgIEZ1bmN0aW9uVmFsaWRhdG9yRGlyZWN0aXZlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBhc3N3b3JkSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGFzc3dvcmRJbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQYXNzd29yZElucHV0Q29tcG9uZW50XG4gIGV4dGVuZHMgQmFzZU5lc3RlZEZvcm1Db250cm9sUHVyZTxzdHJpbmc+XG4gIGltcGxlbWVudHMgT25Jbml0XG57XG4gIEBJbnB1dCgpXG4gIGluaXRQYXNzd29yZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgaGludDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKVxuICBzcGVjaWFsQ2hhcnMgPSBTVFJPTkdfUEFTU1dPUkRfU1BFQ0lBTF9DSEFSUztcblxuICBASW5wdXQoKVxuICBzdHJvbmdQYXNzd29yZDogYm9vbGVhbiB8ICcnID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBlbmFibGVDb25maXJtOiBib29sZWFuIHwgJycgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHdpZHRoOiBGb3JtSXRlbVdpZHRoID0gJ21lZGl1bSc7XG5cbiAgQElucHV0KClcbiAgdG9nZ2xlYWJsZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcGF0dGVybjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGVuY29kaW5nOiBFbmNvZGluZyA9IHtcbiAgICBlbmNvZGUsXG4gICAgZGVjb2RlLFxuICB9O1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgQElucHV0KClcbiAgcmVhZG9ubHk6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgaXNVcGRhdGU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgc2V0IHJlcXVpcmVkKHJlcXVpcmVkOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUF0dHJCb29sZWFuKHJlcXVpcmVkKTtcbiAgfVxuXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gIH1cblxuICBzaG93UGFzc3dvcmQgPSBmYWxzZTtcbiAgc2hvd0lucHV0ID0gdHJ1ZTtcbiAgY29uZmlybVBhc3N3b3JkID0gJyc7XG4gIGlzVGVtcGxhdGVSZWYgPSBpc1RlbXBsYXRlUmVmO1xuXG4gIHByaXZhdGUgX3JlcXVpcmVkID0gdHJ1ZTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNvbmZpcm1QYXNzd29yZCA9IHRoaXMuZW5jb2RpbmcuZGVjb2RlKHRoaXMuaW5pdFBhc3N3b3JkID8/ICcnKTtcbiAgICB0aGlzLnNob3dJbnB1dCA9ICF0aGlzLmlzVXBkYXRlO1xuICB9XG5cbiAgb3ZlcnJpZGUgdmFsdWVJbih2OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5lbmNvZGluZy5kZWNvZGUodiA/PyAnJyk7XG4gIH1cblxuICBvdmVycmlkZSBtb2RlbE91dCh2OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5lbmNvZGluZy5lbmNvZGUodik7XG4gIH1cblxuICBvdmVycmlkZSB2YWxpZGF0ZSgpOiBWYWxpZGF0aW9uRXJyb3JzIHtcbiAgICBsZXQgZXJyb3JzID0gc3VwZXIudmFsaWRhdGUoKTtcbiAgICBpZiAoXG4gICAgICBjb2VyY2VBdHRyQm9vbGVhbih0aGlzLmVuYWJsZUNvbmZpcm0pICYmXG4gICAgICB0aGlzLmNvbmZpcm1QYXNzd29yZCAhPT0gdGhpcy5tb2RlbFxuICAgICkge1xuICAgICAgZXJyb3JzID0gYXNzb2NQYXRoKFsnY29uZmlybVBhc3N3b3JkJywgJ25vdE1hdGNoJ10sIHRydWUsIGVycm9ycyk7XG4gICAgfVxuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICB2YWxpZGF0ZUNvbmZpcm1QYXNzd29yZChwYXNzd29yZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzID0+IHtcbiAgICAgIGlmICghcGFzc3dvcmQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwYXNzd29yZCA9PT0gY29udHJvbC52YWx1ZSA/IG51bGwgOiB7IG5vdE1hdGNoOiB0cnVlIH07XG4gICAgfTtcbiAgfVxuXG4gIHVwZGF0ZVBhc3N3ZCgpIHtcbiAgICB0aGlzLmVtaXRNb2RlbCgnJyk7XG4gICAgdGhpcy5zaG93SW5wdXQgPSB0cnVlO1xuICB9XG59XG4iLCI8YXVpLWZvcm0taXRlbSBbd2lkdGhdPVwid2lkdGhcIj5cbiAgPGxhYmVsIGF1aUZvcm1JdGVtTGFiZWw+e3sgbGFiZWwgfHwgKCdwYXNzd29yZCcgfCB0cmFuc2xhdGUpIH19PC9sYWJlbD5cbiAgPGF1aS1pbnB1dC1ncm91cFxuICAgICpuZ0lmPVwic2hvd0lucHV0XCJcbiAgICBjbGFzcz1cInR3LWZsZXgtMVwiXG4gICAgYXVpRm9ybUl0ZW1Db250cm9sXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgPlxuICAgIDxpbnB1dFxuICAgICAgYXVpLWlucHV0XG4gICAgICBbdHlwZV09XCJzaG93UGFzc3dvcmQgPyAndGV4dCcgOiAncGFzc3dvcmQnXCJcbiAgICAgIG5hbWU9XCJwYXNzd29yZFwiXG4gICAgICAjcGFzc3dvcmQ9XCJuZ01vZGVsXCJcbiAgICAgIFtuZ01vZGVsXT1cIm1vZGVsXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImVtaXRNb2RlbCgkZXZlbnQpXCJcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgW2FjbFN0cm9uZ1Bhc3N3b3JkXT1cInN0cm9uZ1Bhc3N3b3JkXCJcbiAgICAgIFtzcGVjaWFsQ2hhcnNdPVwic3BlY2lhbENoYXJzXCJcbiAgICAgIFtwYXR0ZXJuXT1cInN0cm9uZ1Bhc3N3b3JkID8gbnVsbCA6IHBhdHRlcm5cIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIFthY2xFcnJvcnNNYXBwZXJPdXRsZXRdPVwicGFzc3dvcmRFcnJvclwiXG4gICAgICBbYWNsRXJyb3JzTWFwcGVyXT1cIntcbiAgICAgICAgcGF0dGVybjogc3Ryb25nUGFzc3dvcmRcbiAgICAgICAgICA/ICgnc3Ryb25nX3Bhc3N3b3JkX3BhdHRlcm5fdGlwJ1xuICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICBjaGFyczogc3BlY2lhbENoYXJzLnNwbGl0KCcnKS5qb2luKCcsICcpLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiAoJ2ludmFsaWRfcGF0dGVybicgfCB0cmFuc2xhdGUpLFxuICAgICAgfVwiXG4gICAgLz5cbiAgICA8YXVpLWljb25cbiAgICAgICpuZ0lmPVwidG9nZ2xlYWJsZVwiXG4gICAgICBhdWlJbnB1dFN1ZmZpeFxuICAgICAgY2xhc3M9XCJ0dy1pY29uLW0gdHctY3Vyc29yLXBvaW50ZXIgaG92ZXI6dHctdGV4dC1wcmltYXJ5XCJcbiAgICAgIFtpY29uXT1cInNob3dQYXNzd29yZCA/ICdleWVfcycgOiAnZXllX3NsYXNoX3MnXCJcbiAgICAgIChjbGljayk9XCJzaG93UGFzc3dvcmQgPSAhc2hvd1Bhc3N3b3JkXCJcbiAgICA+PC9hdWktaWNvbj5cbiAgPC9hdWktaW5wdXQtZ3JvdXA+XG4gIDxkaXZcbiAgICAqbmdJZj1cImhpbnRcIlxuICAgIGF1aUZvcm1JdGVtSGludFxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcGxhdGVSZWYoaGludCk7IGVsc2UgZGVmYXVsdERlc2NyaXB0aW9uXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGludFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdERlc2NyaXB0aW9uPlxuICAgICAge3sgaGludCB9fVxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgI3Bhc3N3b3JkRXJyb3JcbiAgICBhdWlGb3JtSXRlbUVycm9yXG4gID48L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzaG93SW5wdXRcIj5cbiAgICA8c3Bhbj4qKioqKio8L3NwYW4+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCIhcmVhZG9ubHlcIlxuICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgKGNsaWNrKT1cInVwZGF0ZVBhc3N3ZCgpXCJcbiAgICA+XG4gICAgICA8YXVpLWljb24gaWNvbj1cInBlbmNpbFwiPjwvYXVpLWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuPC9hdWktZm9ybS1pdGVtPlxuPGF1aS1mb3JtLWl0ZW1cbiAgKm5nSWY9XCJzaG93SW5wdXQgJiYgZW5hYmxlQ29uZmlybVwiXG4gIFt3aWR0aF09XCJ3aWR0aFwiXG4+XG4gIDxsYWJlbCBhdWlGb3JtSXRlbUxhYmVsPnt7ICdjb25maXJtX3Bhc3N3b3JkJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gIDxhdWktaW5wdXQtZ3JvdXBcbiAgICBjbGFzcz1cInR3LWZsZXgtMVwiXG4gICAgYXVpRm9ybUl0ZW1Db250cm9sXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgPlxuICAgIDxpbnB1dFxuICAgICAgYXVpLWlucHV0XG4gICAgICBbdHlwZV09XCJzaG93UGFzc3dvcmQgPyAndGV4dCcgOiAncGFzc3dvcmQnXCJcbiAgICAgIG5hbWU9XCJjb25maXJtUGFzc3dvcmRcIlxuICAgICAgI2NvbmZpcm09XCJuZ01vZGVsXCJcbiAgICAgIFsobmdNb2RlbCldPVwiY29uZmlybVBhc3N3b3JkXCJcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgW2FjbFZhbGlkYXRlRm5dPVwibW9kZWwgfCBwdXJlOiB2YWxpZGF0ZUNvbmZpcm1QYXNzd29yZFwiXG4gICAgLz5cbiAgICA8YXVpLWljb25cbiAgICAgICpuZ0lmPVwidG9nZ2xlYWJsZVwiXG4gICAgICBhdWlJbnB1dFN1ZmZpeFxuICAgICAgY2xhc3M9XCJ0dy1pY29uLW0gdHctY3Vyc29yLXBvaW50ZXIgaG92ZXI6dHctdGV4dC1wcmltYXJ5XCJcbiAgICAgIFtpY29uXT1cInNob3dQYXNzd29yZCA/ICdleWVfcycgOiAnZXllX3NsYXNoX3MnXCJcbiAgICAgIChjbGljayk9XCJzaG93UGFzc3dvcmQgPSAhc2hvd1Bhc3N3b3JkXCJcbiAgICA+PC9hdWktaWNvbj5cbiAgPC9hdWktaW5wdXQtZ3JvdXA+XG4gIDxhY2wtZXJyb3JzLW1hcHBlclxuICAgIGF1aUZvcm1JdGVtRXJyb3JcbiAgICBbZXJyb3JzXT1cImNvbmZpcm0/LmVycm9yc1wiXG4gICAgW2Vycm9yc01hcHBlcl09XCJ7XG4gICAgICBub3RNYXRjaDogJ2NvbmZpcm1fcGFzc3dvcmRfbm90X21hdGNoJyB8IHRyYW5zbGF0ZSxcbiAgICB9XCJcbiAgPjwvYWNsLWVycm9ycy1tYXBwZXI+XG48L2F1aS1mb3JtLWl0ZW0+XG4iXX0=
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { IconModule, TooltipModule } from '@alauda/ui';
|
|
2
|
+
import { NgFor, NgIf, NgStyle, NgTemplateOutlet } from '@angular/common';
|
|
3
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
4
|
+
import { PurePipe } from '../../pipes';
|
|
5
|
+
import { StatusIconComponent } from '../status-icon/status-icon.component';
|
|
6
|
+
import { getPodAggregatedStatus, getPodStatus } from './status';
|
|
7
|
+
import { PodStatusColorMapper, PodStatusIconMapper } from './typings';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@alauda/ui";
|
|
10
|
+
export class PodStatusComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.getPodErrorMessages = (pod) => getPodStatus(pod).includes('Pending')
|
|
13
|
+
? pod.status.conditions?.map(item => item.message).filter(msg => !!msg)
|
|
14
|
+
: pod.status.containerStatuses
|
|
15
|
+
?.filter(c => !c.ready)
|
|
16
|
+
.map(c => c.state?.waiting?.message)
|
|
17
|
+
.filter(msg => !!msg);
|
|
18
|
+
this.getPodAggregatedStatus = getPodAggregatedStatus;
|
|
19
|
+
this.getPodStatus = getPodStatus;
|
|
20
|
+
this.PodStatusColorMapper = PodStatusColorMapper;
|
|
21
|
+
this.PodStatusIconMapper = PodStatusIconMapper;
|
|
22
|
+
}
|
|
23
|
+
getReadyContainer(pod) {
|
|
24
|
+
return {
|
|
25
|
+
ready: (pod.status.containerStatuses || []).filter(i => i.ready).length,
|
|
26
|
+
all: pod.spec.containers.length,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PodStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: PodStatusComponent, isStandalone: true, selector: "acl-pod-status", inputs: { pod: "pod", disableMessageOverview: "disableMessageOverview" }, ngImport: i0, template: "<ng-container *ngIf=\"pod | pure: getPodStatus as status; else nodata\">\n <div class=\"status-wrapper\">\n <acl-status-icon\n [status]=\"status | pure: getPodAggregatedStatus\"\n [colorMapper]=\"PodStatusColorMapper\"\n [iconMapper]=\"PodStatusIconMapper\"\n [withText]=\"false\"\n [ngStyle]=\"{ 'margin-right': 0 }\"\n ></acl-status-icon>\n <div class=\"tw-flex\">\n {{ status }}\n <ng-container\n [ngTemplateOutlet]=\"readyContainerTmpl\"\n [ngTemplateOutletContext]=\"{\n $implicit: pod | pure: getReadyContainer,\n }\"\n ></ng-container>\n <ng-template\n #readyContainerTmpl\n let-data\n >\n ({{ data.ready }}/{{ data.all }})\n </ng-template>\n <ng-container *ngIf=\"pod | pure: getPodErrorMessages as messages\">\n <aui-icon\n icon=\"file_magnifier\"\n *ngIf=\"messages?.length && !disableMessageOverview\"\n class=\"message-tip-icon\"\n [auiTooltip]=\"messages.length === 1 ? onlyOnePodMessage : podMessages\"\n [auiTooltipContext]=\"{ messages: messages }\"\n size=\"14\"\n auiTooltipClass=\"condition-message-tip\"\n ></aui-icon>\n </ng-container>\n </div>\n </div>\n</ng-container>\n<ng-template #nodata>-</ng-template>\n<ng-template\n #podMessages\n let-messages=\"messages\"\n>\n <ul class=\"pod-messages\">\n <li *ngFor=\"let msg of messages\"><em>•</em>{{ msg }}</li>\n </ul>\n</ng-template>\n<ng-template\n #onlyOnePodMessage\n let-messages=\"messages\"\n>\n {{ messages[0] }}\n</ng-template>\n", styles: [":host{display:flex}:host ::ng-deep .condition-message-tip{white-space:pre-line}:host .message-tip-icon{margin-left:6px}:host .status-wrapper{display:flex;overflow:hidden;text-overflow:ellipsis}.pod-messages li{padding-left:8px}.pod-messages li em{color:rgb(var(--aui-color-n-4));margin-right:4px;margin-left:-8px;font-size:14px}\n"], dependencies: [{ kind: "component", type: StatusIconComponent, selector: "acl-status-icon", inputs: ["status", "withText", "colorMapper", "iconMapper", "disabled", "iconSize"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: i1.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1.TooltipDirective, selector: "[auiTooltip]", inputs: ["auiTooltip", "auiTooltipContext", "auiTooltipClass", "auiTooltipType", "auiTooltipPosition", "auiTooltipTrigger", "auiTooltipDisabled", "auiTooltipHideOnClick", "auiTooltipAnimType"], outputs: ["auiTooltipVisibleChange"], exportAs: ["auiTooltip"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: PurePipe, name: "pure" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PodStatusComponent, decorators: [{
|
|
33
|
+
type: Component,
|
|
34
|
+
args: [{ selector: 'acl-pod-status', standalone: true, imports: [
|
|
35
|
+
StatusIconComponent,
|
|
36
|
+
NgIf,
|
|
37
|
+
IconModule,
|
|
38
|
+
TooltipModule,
|
|
39
|
+
NgStyle,
|
|
40
|
+
NgTemplateOutlet,
|
|
41
|
+
PurePipe,
|
|
42
|
+
NgFor,
|
|
43
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"pod | pure: getPodStatus as status; else nodata\">\n <div class=\"status-wrapper\">\n <acl-status-icon\n [status]=\"status | pure: getPodAggregatedStatus\"\n [colorMapper]=\"PodStatusColorMapper\"\n [iconMapper]=\"PodStatusIconMapper\"\n [withText]=\"false\"\n [ngStyle]=\"{ 'margin-right': 0 }\"\n ></acl-status-icon>\n <div class=\"tw-flex\">\n {{ status }}\n <ng-container\n [ngTemplateOutlet]=\"readyContainerTmpl\"\n [ngTemplateOutletContext]=\"{\n $implicit: pod | pure: getReadyContainer,\n }\"\n ></ng-container>\n <ng-template\n #readyContainerTmpl\n let-data\n >\n ({{ data.ready }}/{{ data.all }})\n </ng-template>\n <ng-container *ngIf=\"pod | pure: getPodErrorMessages as messages\">\n <aui-icon\n icon=\"file_magnifier\"\n *ngIf=\"messages?.length && !disableMessageOverview\"\n class=\"message-tip-icon\"\n [auiTooltip]=\"messages.length === 1 ? onlyOnePodMessage : podMessages\"\n [auiTooltipContext]=\"{ messages: messages }\"\n size=\"14\"\n auiTooltipClass=\"condition-message-tip\"\n ></aui-icon>\n </ng-container>\n </div>\n </div>\n</ng-container>\n<ng-template #nodata>-</ng-template>\n<ng-template\n #podMessages\n let-messages=\"messages\"\n>\n <ul class=\"pod-messages\">\n <li *ngFor=\"let msg of messages\"><em>•</em>{{ msg }}</li>\n </ul>\n</ng-template>\n<ng-template\n #onlyOnePodMessage\n let-messages=\"messages\"\n>\n {{ messages[0] }}\n</ng-template>\n", styles: [":host{display:flex}:host ::ng-deep .condition-message-tip{white-space:pre-line}:host .message-tip-icon{margin-left:6px}:host .status-wrapper{display:flex;overflow:hidden;text-overflow:ellipsis}.pod-messages li{padding-left:8px}.pod-messages li em{color:rgb(var(--aui-color-n-4));margin-right:4px;margin-left:-8px;font-size:14px}\n"] }]
|
|
44
|
+
}], propDecorators: { pod: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}], disableMessageOverview: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}] } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2NvbXBvbmVudHMvcG9kLXN0YXR1cy9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvY29tcG9uZW50cy9wb2Qtc3RhdHVzL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBbUJ0RSxNQUFNLE9BQU8sa0JBQWtCO0lBakIvQjtRQStCRSx3QkFBbUIsR0FBRyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQ2pDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1lBQ25DLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUN2RSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUI7Z0JBQzFCLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2lCQUN0QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7aUJBQ25DLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU5QiwyQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQztRQUNoRCxpQkFBWSxHQUFHLFlBQVksQ0FBQztRQUM1Qix5QkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztRQUM1Qyx3QkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztLQUMzQztJQW5CQyxpQkFBaUIsQ0FBQyxHQUFRO1FBQ3hCLE9BQU87WUFDTCxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNO1lBQ3ZFLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNO1NBQ2hDLENBQUM7SUFDSixDQUFDOzhHQVpVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLG9KQzVCL0IsaW1EQW9EQSxvWURuQ0ksbUJBQW1CLGlKQUNuQixJQUFJLDRGQUNKLFVBQVUsME1BQ1YsYUFBYSw2V0FDYixPQUFPLDJFQUNQLGdCQUFnQiwrSUFDaEIsUUFBUSw2Q0FDUixLQUFLOzsyRkFJSSxrQkFBa0I7a0JBakI5QixTQUFTOytCQUNFLGdCQUFnQixjQUdkLElBQUksV0FDUDt3QkFDUCxtQkFBbUI7d0JBQ25CLElBQUk7d0JBQ0osVUFBVTt3QkFDVixhQUFhO3dCQUNiLE9BQU87d0JBQ1AsZ0JBQWdCO3dCQUNoQixRQUFRO3dCQUNSLEtBQUs7cUJBQ04sbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OEJBSS9DLEdBQUc7c0JBREYsS0FBSztnQkFJTixzQkFBc0I7c0JBRHJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJY29uTW9kdWxlLCBUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBOZ0ZvciwgTmdJZiwgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQdXJlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzJztcbmltcG9ydCB7IFBvZCB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IFN0YXR1c0ljb25Db21wb25lbnQgfSBmcm9tICcuLi9zdGF0dXMtaWNvbi9zdGF0dXMtaWNvbi5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBnZXRQb2RBZ2dyZWdhdGVkU3RhdHVzLCBnZXRQb2RTdGF0dXMgfSBmcm9tICcuL3N0YXR1cyc7XG5pbXBvcnQgeyBQb2RTdGF0dXNDb2xvck1hcHBlciwgUG9kU3RhdHVzSWNvbk1hcHBlciB9IGZyb20gJy4vdHlwaW5ncyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1wb2Qtc3RhdHVzJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3N0eWxlLnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFN0YXR1c0ljb25Db21wb25lbnQsXG4gICAgTmdJZixcbiAgICBJY29uTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgTmdTdHlsZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIFB1cmVQaXBlLFxuICAgIE5nRm9yLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUG9kU3RhdHVzQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcG9kOiBQb2Q7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZU1lc3NhZ2VPdmVydmlldzogYm9vbGVhbjtcblxuICBnZXRSZWFkeUNvbnRhaW5lcihwb2Q6IFBvZCkge1xuICAgIHJldHVybiB7XG4gICAgICByZWFkeTogKHBvZC5zdGF0dXMuY29udGFpbmVyU3RhdHVzZXMgfHwgW10pLmZpbHRlcihpID0+IGkucmVhZHkpLmxlbmd0aCxcbiAgICAgIGFsbDogcG9kLnNwZWMuY29udGFpbmVycy5sZW5ndGgsXG4gICAgfTtcbiAgfVxuXG4gIGdldFBvZEVycm9yTWVzc2FnZXMgPSAocG9kOiBQb2QpID0+XG4gICAgZ2V0UG9kU3RhdHVzKHBvZCkuaW5jbHVkZXMoJ1BlbmRpbmcnKVxuICAgICAgPyBwb2Quc3RhdHVzLmNvbmRpdGlvbnM/Lm1hcChpdGVtID0+IGl0ZW0ubWVzc2FnZSkuZmlsdGVyKG1zZyA9PiAhIW1zZylcbiAgICAgIDogcG9kLnN0YXR1cy5jb250YWluZXJTdGF0dXNlc1xuICAgICAgICAgID8uZmlsdGVyKGMgPT4gIWMucmVhZHkpXG4gICAgICAgICAgLm1hcChjID0+IGMuc3RhdGU/LndhaXRpbmc/Lm1lc3NhZ2UpXG4gICAgICAgICAgLmZpbHRlcihtc2cgPT4gISFtc2cpO1xuXG4gIGdldFBvZEFnZ3JlZ2F0ZWRTdGF0dXMgPSBnZXRQb2RBZ2dyZWdhdGVkU3RhdHVzO1xuICBnZXRQb2RTdGF0dXMgPSBnZXRQb2RTdGF0dXM7XG4gIFBvZFN0YXR1c0NvbG9yTWFwcGVyID0gUG9kU3RhdHVzQ29sb3JNYXBwZXI7XG4gIFBvZFN0YXR1c0ljb25NYXBwZXIgPSBQb2RTdGF0dXNJY29uTWFwcGVyO1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInBvZCB8IHB1cmU6IGdldFBvZFN0YXR1cyBhcyBzdGF0dXM7IGVsc2Ugbm9kYXRhXCI+XG4gIDxkaXYgY2xhc3M9XCJzdGF0dXMtd3JhcHBlclwiPlxuICAgIDxhY2wtc3RhdHVzLWljb25cbiAgICAgIFtzdGF0dXNdPVwic3RhdHVzIHwgcHVyZTogZ2V0UG9kQWdncmVnYXRlZFN0YXR1c1wiXG4gICAgICBbY29sb3JNYXBwZXJdPVwiUG9kU3RhdHVzQ29sb3JNYXBwZXJcIlxuICAgICAgW2ljb25NYXBwZXJdPVwiUG9kU3RhdHVzSWNvbk1hcHBlclwiXG4gICAgICBbd2l0aFRleHRdPVwiZmFsc2VcIlxuICAgICAgW25nU3R5bGVdPVwieyAnbWFyZ2luLXJpZ2h0JzogMCB9XCJcbiAgICA+PC9hY2wtc3RhdHVzLWljb24+XG4gICAgPGRpdiBjbGFzcz1cInR3LWZsZXhcIj5cbiAgICAgIHt7IHN0YXR1cyB9fVxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyZWFkeUNvbnRhaW5lclRtcGxcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICRpbXBsaWNpdDogcG9kIHwgcHVyZTogZ2V0UmVhZHlDb250YWluZXIsXG4gICAgICAgIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICNyZWFkeUNvbnRhaW5lclRtcGxcbiAgICAgICAgbGV0LWRhdGFcbiAgICAgID5cbiAgICAgICAgKHt7IGRhdGEucmVhZHkgfX0ve3sgZGF0YS5hbGwgfX0pXG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBvZCB8IHB1cmU6IGdldFBvZEVycm9yTWVzc2FnZXMgYXMgbWVzc2FnZXNcIj5cbiAgICAgICAgPGF1aS1pY29uXG4gICAgICAgICAgaWNvbj1cImZpbGVfbWFnbmlmaWVyXCJcbiAgICAgICAgICAqbmdJZj1cIm1lc3NhZ2VzPy5sZW5ndGggJiYgIWRpc2FibGVNZXNzYWdlT3ZlcnZpZXdcIlxuICAgICAgICAgIGNsYXNzPVwibWVzc2FnZS10aXAtaWNvblwiXG4gICAgICAgICAgW2F1aVRvb2x0aXBdPVwibWVzc2FnZXMubGVuZ3RoID09PSAxID8gb25seU9uZVBvZE1lc3NhZ2UgOiBwb2RNZXNzYWdlc1wiXG4gICAgICAgICAgW2F1aVRvb2x0aXBDb250ZXh0XT1cInsgbWVzc2FnZXM6IG1lc3NhZ2VzIH1cIlxuICAgICAgICAgIHNpemU9XCIxNFwiXG4gICAgICAgICAgYXVpVG9vbHRpcENsYXNzPVwiY29uZGl0aW9uLW1lc3NhZ2UtdGlwXCJcbiAgICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjbm9kYXRhPi08L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlXG4gICNwb2RNZXNzYWdlc1xuICBsZXQtbWVzc2FnZXM9XCJtZXNzYWdlc1wiXG4+XG4gIDx1bCBjbGFzcz1cInBvZC1tZXNzYWdlc1wiPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgbXNnIG9mIG1lc3NhZ2VzXCI+PGVtPiZidWxsOzwvZW0+e3sgbXNnIH19PC9saT5cbiAgPC91bD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGVcbiAgI29ubHlPbmVQb2RNZXNzYWdlXG4gIGxldC1tZXNzYWdlcz1cIm1lc3NhZ2VzXCJcbj5cbiAge3sgbWVzc2FnZXNbMF0gfX1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './typings';
|
|
2
|
+
export * from './status';
|
|
3
|
+
export * from './component';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvY29tcG9uZW50cy9wb2Qtc3RhdHVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90eXBpbmdzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdHVzJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50JztcbiJdfQ==
|