@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,47 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare enum PreventHandler {
|
|
3
|
+
Contextmenu = "contextmenu",
|
|
4
|
+
Paste = "paste",
|
|
5
|
+
Cut = "cut",
|
|
6
|
+
Copy = "copy"
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 阻止点击事件
|
|
10
|
+
*/
|
|
11
|
+
export declare class PreventDirective {
|
|
12
|
+
prevent: boolean;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PreventDirective, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<PreventDirective, "[prevent]", never, { "prevent": { "alias": "prevent"; "required": false; }; }, {}, never, never, true, never>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* 阻止冒泡事件
|
|
18
|
+
*/
|
|
19
|
+
export declare class StopDirective {
|
|
20
|
+
stop: boolean;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StopDirective, never>;
|
|
22
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<StopDirective, "[stop]", never, { "stop": { "alias": "stop"; "required": false; }; }, {}, never, never, true, never>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 阻止剪切板(拷贝、粘贴、剪切、右键菜单)等事件
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
*
|
|
29
|
+
* 阻止全部:
|
|
30
|
+
* ```
|
|
31
|
+
* <input aui-input aclPreventEvent>
|
|
32
|
+
* ```
|
|
33
|
+
* 自定义:
|
|
34
|
+
* ```
|
|
35
|
+
* <input aui-input [aclPreventEvent]="{copy: true, paste: true}">
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare class PreventClipboardDirective {
|
|
39
|
+
preventClipboardEvent: boolean | '' | Partial<Record<PreventHandler, boolean>>;
|
|
40
|
+
private isPreventEvent;
|
|
41
|
+
onContextmenu(event: Event): void;
|
|
42
|
+
onCut(event: Event): void;
|
|
43
|
+
onPaste(event: Event): void;
|
|
44
|
+
onCopy(event: Event): void;
|
|
45
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PreventClipboardDirective, never>;
|
|
46
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<PreventClipboardDirective, "input[aclPreventClipboardEvent]", never, { "preventClipboardEvent": { "alias": "aclPreventClipboardEvent"; "required": false; }; }, {}, never, never, true, never>;
|
|
47
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { E2eAttributeBindingDirective } from './e2e-attribute-binding.directive';
|
|
2
|
+
import { PreventDirective, StopDirective } from './event.directive';
|
|
3
|
+
import { MaxValidatorDirective, MinValidatorDirective } from './min-max.directive';
|
|
4
|
+
import { TrimDirective } from './trim.directive';
|
|
5
|
+
import { ValidatorsDirective } from './validators.directive';
|
|
6
|
+
export declare const EFFECT_DIRECTIVE_MODULE: readonly [typeof E2eAttributeBindingDirective, typeof MaxValidatorDirective, typeof MinValidatorDirective, typeof TrimDirective, typeof ValidatorsDirective, typeof PreventDirective, typeof StopDirective];
|
|
7
|
+
export * from './coerce-number.directive';
|
|
8
|
+
export * from './e2e-attribute-binding.directive';
|
|
9
|
+
export * from './event.directive';
|
|
10
|
+
export * from './min-max.directive';
|
|
11
|
+
export * from './trim.directive';
|
|
12
|
+
export * from './validators.directive';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { AbstractControl, ValidationErrors, Validator } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Angular form directives for min/max.
|
|
6
|
+
*/
|
|
7
|
+
export declare class MaxValidatorDirective implements Validator, OnChanges {
|
|
8
|
+
private _validator;
|
|
9
|
+
private _onChange;
|
|
10
|
+
max: string | number;
|
|
11
|
+
get maxValue(): string | number;
|
|
12
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
13
|
+
validate(c: AbstractControl): ValidationErrors | null;
|
|
14
|
+
registerOnValidatorChange(fn: () => void): void;
|
|
15
|
+
private _createValidator;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MaxValidatorDirective, never>;
|
|
17
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MaxValidatorDirective, "[max][formControlName],[max][formControl],[max][ngModel]", never, { "max": { "alias": "max"; "required": false; }; }, {}, never, never, true, never>;
|
|
18
|
+
}
|
|
19
|
+
export declare class MinValidatorDirective implements Validator, OnChanges {
|
|
20
|
+
private _validator;
|
|
21
|
+
private _onChange;
|
|
22
|
+
get maxValue(): string | number;
|
|
23
|
+
min: string | number;
|
|
24
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
25
|
+
validate(c: AbstractControl): ValidationErrors | null;
|
|
26
|
+
registerOnValidatorChange(fn: () => void): void;
|
|
27
|
+
private _createValidator;
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MinValidatorDirective, never>;
|
|
29
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MinValidatorDirective, "[min][formControlName],[min][formControl],[min][ngModel]", never, { "min": { "alias": "min"; "required": false; }; }, {}, never, never, true, never>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DefaultValueAccessor } from '@angular/forms';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class TrimDirective extends DefaultValueAccessor {
|
|
4
|
+
_handleInput(value: string): void;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TrimDirective, never>;
|
|
6
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TrimDirective, "input[trim],textarea[trim]]", never, {}, {}, never, never, true, never>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AfterViewInit, OnDestroy } from '@angular/core';
|
|
2
|
+
import { NgControl } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class ValidatorsDirective implements AfterViewInit, OnDestroy {
|
|
5
|
+
private readonly ngControl;
|
|
6
|
+
constructor(ngControl: NgControl);
|
|
7
|
+
ngAfterViewInit(): void;
|
|
8
|
+
ngOnDestroy(): void;
|
|
9
|
+
validate(): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ValidatorsDirective, never>;
|
|
11
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ValidatorsDirective, "[ngModel][required],[formControl][required],[formControlName][required],[ngModel][pattern],[formControl][pattern],[formControlName][pattern],[ngModel][min],[formControl][min],[formControlName][min],[ngModel][max],[formControl][max],[formControlName][max],[ngModel][minlength],[formControl][minlength],[formControlName][minlength],[ngModel][maxlength],[formControl][maxlength],[formControlName][maxlength],[ngModel][email],[formControl][email],[formControlName][email]", never, {}, {}, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* @module utils
|
|
4
|
+
*/
|
|
5
|
+
import { FeatureGateService } from '@alauda-fe/dynamic-plugin-sdk';
|
|
6
|
+
import { ChangeDetectorRef, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
/**
|
|
9
|
+
* @example
|
|
10
|
+
* ```
|
|
11
|
+
* <ng-container *aclFeatureGate="gate-name"></ng-container>
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare class FeatureGateDirective implements OnInit, OnDestroy {
|
|
15
|
+
private readonly container;
|
|
16
|
+
private readonly featureGate;
|
|
17
|
+
private readonly crd;
|
|
18
|
+
featureName: string;
|
|
19
|
+
cluster: string;
|
|
20
|
+
negate: boolean;
|
|
21
|
+
set then(templateRef: TemplateRef<void>);
|
|
22
|
+
set else(templateRef: TemplateRef<void>);
|
|
23
|
+
private thenTemplateRef;
|
|
24
|
+
private elseTemplateRef;
|
|
25
|
+
private subscription;
|
|
26
|
+
constructor(container: ViewContainerRef, featureGate: FeatureGateService, crd: ChangeDetectorRef, templateRef: TemplateRef<void>);
|
|
27
|
+
ngOnInit(): void;
|
|
28
|
+
ngOnDestroy(): void;
|
|
29
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FeatureGateDirective, never>;
|
|
30
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FeatureGateDirective, "[aclFeatureGate]", never, { "featureName": { "alias": "aclFeatureGate"; "required": false; }; "cluster": { "alias": "aclFeatureGateCluster"; "required": false; }; "negate": { "alias": "aclFeatureGateNegate"; "required": false; }; "then": { "alias": "aclFeatureGateThen"; "required": false; }; "else": { "alias": "aclFeatureGateElse"; "required": false; }; }, {}, never, never, true, never>;
|
|
31
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './disabled.directive';
|
|
2
|
+
export * from './feature-gate.directive';
|
|
3
|
+
export * from './last-form-item.directive';
|
|
4
|
+
export * from './readonly-field.directive';
|
|
5
|
+
export * from './resize.directive';
|
|
6
|
+
export * from './scroll-to-first-invalid.directive';
|
|
7
|
+
export * from './scroll-border-observer.directive';
|
|
8
|
+
export * from './click-outside.directive';
|
|
9
|
+
export * from './declare.directive';
|
|
10
|
+
export { AuiCodeEditorHelperDirective } from './aui-code-editor.directive';
|
|
11
|
+
export * from './value-trace.directive';
|
|
12
|
+
export * from './effect-directive';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class FormItemMarginEffectDirective {
|
|
4
|
+
private readonly el;
|
|
5
|
+
constructor(el: ElementRef);
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormItemMarginEffectDirective, never>;
|
|
7
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FormItemMarginEffectDirective, "[aclFormItemEffect]", never, {}, {}, never, never, false, never>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* @module utils
|
|
4
|
+
*/
|
|
5
|
+
import { FormItemControlDirective } from '@alauda/ui';
|
|
6
|
+
import { ComponentFactoryResolver, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
7
|
+
import { NgControl } from '@angular/forms';
|
|
8
|
+
import { Observable } from 'rxjs';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export declare class ReadonlyFieldDirective implements OnInit, OnDestroy {
|
|
11
|
+
private readonly control;
|
|
12
|
+
private readonly cfr;
|
|
13
|
+
private readonly viewContainerRef;
|
|
14
|
+
private readonly controlDirective;
|
|
15
|
+
aclReadonlyField: boolean;
|
|
16
|
+
aclReadonlyField$: Observable<boolean>;
|
|
17
|
+
hidden: boolean;
|
|
18
|
+
private isControlRequired;
|
|
19
|
+
private spanComponentRef;
|
|
20
|
+
private readonly templateContext;
|
|
21
|
+
private readonly destroy$;
|
|
22
|
+
template: TemplateRef<any>;
|
|
23
|
+
context: object;
|
|
24
|
+
get isHidden(): boolean;
|
|
25
|
+
constructor(control: NgControl, cfr: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, controlDirective: FormItemControlDirective);
|
|
26
|
+
private setValue;
|
|
27
|
+
ngOnInit(): void;
|
|
28
|
+
private applyValidators;
|
|
29
|
+
private clearValidators;
|
|
30
|
+
ngOnDestroy(): void;
|
|
31
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ReadonlyFieldDirective, [null, null, null, { optional: true; self: true; }]>;
|
|
32
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ReadonlyFieldDirective, "[aclReadonlyField]", never, { "aclReadonlyField": { "alias": "aclReadonlyField"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "template": { "alias": "aclReadonlyFieldTemplate"; "required": false; }; "context": { "alias": "aclReadonlyFieldTemplateContext"; "required": false; }; }, {}, never, never, true, never>;
|
|
33
|
+
}
|
|
34
|
+
export declare class SpanComponent<T = unknown> {
|
|
35
|
+
data: T;
|
|
36
|
+
setData(value: T): void;
|
|
37
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpanComponent<any>, never>;
|
|
38
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpanComponent<any>, "ng-component", never, {}, {}, never, never, true, never>;
|
|
39
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AfterViewInit, ElementRef, EventEmitter, OnDestroy } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export interface ResizeEvent {
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class ResizeDirective implements OnDestroy, AfterViewInit {
|
|
8
|
+
private readonly element;
|
|
9
|
+
resized: EventEmitter<ResizeEvent>;
|
|
10
|
+
private readonly destroy$$;
|
|
11
|
+
constructor(element: ElementRef);
|
|
12
|
+
ngAfterViewInit(): void;
|
|
13
|
+
private onResized;
|
|
14
|
+
ngOnDestroy(): void;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ResizeDirective, never>;
|
|
16
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ResizeDirective, "[aclResize]", never, {}, { "resized": "resized"; }, never, never, true, never>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { EventEmitter, Injector, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
interface Option {
|
|
5
|
+
bottomDistance?: number;
|
|
6
|
+
topDistance?: number;
|
|
7
|
+
}
|
|
8
|
+
export declare class ScrollBorderObserverDirective implements OnInit, OnDestroy {
|
|
9
|
+
option: Option | '' | false | number;
|
|
10
|
+
scrollBorder: EventEmitter<"top" | "bottom">;
|
|
11
|
+
scrollBottomBorder: EventEmitter<any>;
|
|
12
|
+
scrollEl: HTMLElement | Window;
|
|
13
|
+
readonly destroy$$: Subject<void>;
|
|
14
|
+
private readonly scrollDispatcher;
|
|
15
|
+
private readonly viewContainerRef;
|
|
16
|
+
constructor(injector: Injector);
|
|
17
|
+
ngOnInit(): void;
|
|
18
|
+
ngOnDestroy(): void;
|
|
19
|
+
private setupScroll;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScrollBorderObserverDirective, never>;
|
|
21
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollBorderObserverDirective, "[aclScrollBorderObserver]", never, { "option": { "alias": "aclScrollBorderObserver"; "required": false; }; }, { "scrollBorder": "scrollBorder"; "scrollBottomBorder": "scrollBottomBorder"; }, never, never, true, never>;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CdkScrollable } from '@angular/cdk/scrolling';
|
|
2
|
+
import { ElementRef } from '@angular/core';
|
|
3
|
+
import { ControlContainer } from '@angular/forms';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class ScrollToFirstInvalidMarkerDirective {
|
|
6
|
+
aclScrollToFirstInvalidMarker: boolean;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScrollToFirstInvalidMarkerDirective, never>;
|
|
8
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollToFirstInvalidMarkerDirective, "[aclScrollToFirstInvalidMarker]", never, { "aclScrollToFirstInvalidMarker": { "alias": "aclScrollToFirstInvalidMarker"; "required": false; }; }, {}, never, never, false, never>;
|
|
9
|
+
}
|
|
10
|
+
export declare class ScrollToFirstInvalidDirective {
|
|
11
|
+
private readonly elRef;
|
|
12
|
+
private readonly controlContainer;
|
|
13
|
+
private readonly cdkScrollable;
|
|
14
|
+
labelOffset: number;
|
|
15
|
+
aclScrollToFirstInvalid: boolean | '';
|
|
16
|
+
get containerEl(): HTMLElement | (Window & typeof globalThis);
|
|
17
|
+
onSubmit(): void;
|
|
18
|
+
constructor(elRef: ElementRef<HTMLElement>, controlContainer: ControlContainer, cdkScrollable: CdkScrollable);
|
|
19
|
+
scrollToFirstInvalid(): void;
|
|
20
|
+
getFirstInvalidInput(): HTMLElement;
|
|
21
|
+
private getTopOffset;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScrollToFirstInvalidDirective, [null, null, { optional: true; }]>;
|
|
23
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollToFirstInvalidDirective, "[aclScrollToFirstInvalid]", never, { "labelOffset": { "alias": "labelOffset"; "required": false; }; "aclScrollToFirstInvalid": { "alias": "aclScrollToFirstInvalid"; "required": false; }; }, {}, never, never, true, never>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { NgControl } from '@angular/forms';
|
|
3
|
+
import { Observable, Subject } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* If you want to trace value with control.
|
|
9
|
+
* The difference between aclValueTrack and ngModelChange is that aclValueTrack carries the first value.
|
|
10
|
+
* So it is not for changes, but for value traces
|
|
11
|
+
* For compatibility and cover the deprecation of ngModelChange, we provide aclValueTrackSkipFirst option
|
|
12
|
+
* eg:
|
|
13
|
+
* <input formControlName="name" [aclValueTrack]="function()">
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
export declare class ControlValueTraceDirective implements OnInit, OnDestroy {
|
|
17
|
+
private readonly ngControl;
|
|
18
|
+
aclValueTrackSkipFirst: boolean;
|
|
19
|
+
aclValueTrack: (value?: unknown) => void;
|
|
20
|
+
aclValueTrack$: Observable<(value?: unknown) => void>;
|
|
21
|
+
destroy$$: Subject<void>;
|
|
22
|
+
ngOnDestroy(): void;
|
|
23
|
+
ngOnInit(): void;
|
|
24
|
+
constructor(ngControl: NgControl);
|
|
25
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ControlValueTraceDirective, [{ host: true; }]>;
|
|
26
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ControlValueTraceDirective, "[aclValueTrack]", never, { "aclValueTrackSkipFirst": { "alias": "aclValueTrackSkipFirst"; "required": false; }; "aclValueTrack": { "alias": "aclValueTrack"; "required": false; }; }, {}, never, never, true, never>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhdWRhLWZlLWR5bmFtaWMtcGx1Z2luLXNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy9hbGF1ZGEtZmUtZHluYW1pYy1wbHVnaW4tc2hhcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { Directive, inject } from '@angular/core';
|
|
2
|
+
import { BaseResourceFormComponent } from 'ng-resource-form-util';
|
|
3
|
+
import { ValidateRowDuplicateService } from '../services/form-row-duplicate/form-row-duplicate.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const missingKeyValidator = control => {
|
|
6
|
+
const [key, value] = control.value;
|
|
7
|
+
return value && !key ? { keyIsMissing: true } : null;
|
|
8
|
+
};
|
|
9
|
+
// 用以Form级别的键值映射对象的修改.
|
|
10
|
+
// 这个表单有些特别. 内部实现是以FormArray实现, 但对外暴露的是一个key->value对象.
|
|
11
|
+
export class BaseStringMapFormComponent extends BaseResourceFormComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.rowDupService = inject(ValidateRowDuplicateService);
|
|
15
|
+
}
|
|
16
|
+
createForm() {
|
|
17
|
+
return this.fb.array([]);
|
|
18
|
+
}
|
|
19
|
+
getDefaultFormModel() {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
adaptResourceModel(resource) {
|
|
23
|
+
let newFormModel = Object.entries(resource || {});
|
|
24
|
+
if (newFormModel.length === 0) {
|
|
25
|
+
newFormModel = this.getDefaultFormModel();
|
|
26
|
+
}
|
|
27
|
+
return newFormModel;
|
|
28
|
+
}
|
|
29
|
+
adaptFormModel(formModel) {
|
|
30
|
+
return formModel
|
|
31
|
+
.filter(row => !!row[0])
|
|
32
|
+
.reduce((obj, [k, v]) => ({ ...obj, [k]: v }), {});
|
|
33
|
+
}
|
|
34
|
+
getOnFormArrayResizeFn() {
|
|
35
|
+
return () => this.createNewControl();
|
|
36
|
+
}
|
|
37
|
+
add(index = this.form.length) {
|
|
38
|
+
this.form.insert(index, this.getOnFormArrayResizeFn()());
|
|
39
|
+
this.cdr.markForCheck();
|
|
40
|
+
}
|
|
41
|
+
remove(index) {
|
|
42
|
+
this.form.removeAt(index);
|
|
43
|
+
this.cdr.markForCheck();
|
|
44
|
+
this.form.controls.forEach(c => c.updateValueAndValidity());
|
|
45
|
+
}
|
|
46
|
+
getPreviousKeys(index) {
|
|
47
|
+
return this.formModel
|
|
48
|
+
.slice(0, index)
|
|
49
|
+
.map(([key]) => key)
|
|
50
|
+
.filter(key => !!key);
|
|
51
|
+
}
|
|
52
|
+
getKeyValidators() {
|
|
53
|
+
return [];
|
|
54
|
+
}
|
|
55
|
+
getValueValidators() {
|
|
56
|
+
return [];
|
|
57
|
+
}
|
|
58
|
+
createNewControl() {
|
|
59
|
+
return this.fb.array([
|
|
60
|
+
['', this.getKeyValidators()],
|
|
61
|
+
['', this.getValueValidators()],
|
|
62
|
+
], [
|
|
63
|
+
missingKeyValidator,
|
|
64
|
+
(control) => {
|
|
65
|
+
if (control.controls[0].errors) {
|
|
66
|
+
return {
|
|
67
|
+
key: control.controls[0].errors,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
if (control.controls[1].errors) {
|
|
71
|
+
return {
|
|
72
|
+
value: control.controls[1].errors,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
},
|
|
77
|
+
this.rowDupService.createFormArrayValidator({
|
|
78
|
+
rowKeys: [{ key: ['0'] }],
|
|
79
|
+
formArray: this.form,
|
|
80
|
+
}),
|
|
81
|
+
]);
|
|
82
|
+
}
|
|
83
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BaseStringMapFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
84
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: BaseStringMapFormComponent, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
|
|
85
|
+
}
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BaseStringMapFormComponent, decorators: [{
|
|
87
|
+
type: Directive,
|
|
88
|
+
args: [{
|
|
89
|
+
standalone: true,
|
|
90
|
+
}]
|
|
91
|
+
}] });
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zdHJpbmctbWFwLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2FycmF5LWZvcm0tdGFibGUvYmFzZS1zdHJpbmctbWFwLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWxFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDOztBQUt4RyxNQUFNLG1CQUFtQixHQUFnQixPQUFPLENBQUMsRUFBRTtJQUNqRCxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDbkMsT0FBTyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBRUYsc0JBQXNCO0FBQ3RCLHNEQUFzRDtBQUl0RCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEseUJBSS9DO0lBUEQ7O1FBUUUsa0JBQWEsR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztLQWtGckQ7SUFoRkMsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVRLG1CQUFtQjtRQUMxQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFUSxrQkFBa0IsQ0FBQyxRQUFtQjtRQUM3QyxJQUFJLFlBQVksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNsRCxJQUFJLFlBQVks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Z0JBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSTthQUNyQixDQUFDO1NBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzs4R0F0RlUsMEJBQTBCO2tHQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1BcnJheSwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCYXNlUmVzb3VyY2VGb3JtQ29tcG9uZW50IH0gZnJvbSAnbmctcmVzb3VyY2UtZm9ybS11dGlsJztcblxuaW1wb3J0IHsgVmFsaWRhdGVSb3dEdXBsaWNhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZm9ybS1yb3ctZHVwbGljYXRlL2Zvcm0tcm93LWR1cGxpY2F0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0cmluZ01hcCB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgS2V5VmFsdWVUdXBsZSA9IFtzdHJpbmcsIHN0cmluZ107XG5cbmNvbnN0IG1pc3NpbmdLZXlWYWxpZGF0b3I6IFZhbGlkYXRvckZuID0gY29udHJvbCA9PiB7XG4gIGNvbnN0IFtrZXksIHZhbHVlXSA9IGNvbnRyb2wudmFsdWU7XG4gIHJldHVybiB2YWx1ZSAmJiAha2V5ID8geyBrZXlJc01pc3Npbmc6IHRydWUgfSA6IG51bGw7XG59O1xuXG4vLyDnlKjku6VGb3Jt57qn5Yir55qE6ZSu5YC85pig5bCE5a+56LGh55qE5L+u5pS5LlxuLy8g6L+Z5Liq6KGo5Y2V5pyJ5Lqb54m55YirLiDlhoXpg6jlrp7njrDmmK/ku6VGb3JtQXJyYXnlrp7njrAsIOS9huWvueWkluaatOmcsueahOaYr+S4gOS4qmtleS0+dmFsdWXlr7nosaEuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQmFzZVN0cmluZ01hcEZvcm1Db21wb25lbnQgZXh0ZW5kcyBCYXNlUmVzb3VyY2VGb3JtQ29tcG9uZW50PFxuICBTdHJpbmdNYXAsXG4gIEtleVZhbHVlVHVwbGVbXSxcbiAgRm9ybUFycmF5XG4+IHtcbiAgcm93RHVwU2VydmljZSA9IGluamVjdChWYWxpZGF0ZVJvd0R1cGxpY2F0ZVNlcnZpY2UpO1xuXG4gIGNyZWF0ZUZvcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuZmIuYXJyYXkoW10pO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0RGVmYXVsdEZvcm1Nb2RlbCgpOiBLZXlWYWx1ZVR1cGxlW10ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFkYXB0UmVzb3VyY2VNb2RlbChyZXNvdXJjZTogU3RyaW5nTWFwKSB7XG4gICAgbGV0IG5ld0Zvcm1Nb2RlbCA9IE9iamVjdC5lbnRyaWVzKHJlc291cmNlIHx8IHt9KTtcbiAgICBpZiAobmV3Rm9ybU1vZGVsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgbmV3Rm9ybU1vZGVsID0gdGhpcy5nZXREZWZhdWx0Rm9ybU1vZGVsKCk7XG4gICAgfVxuICAgIHJldHVybiBuZXdGb3JtTW9kZWw7XG4gIH1cblxuICBvdmVycmlkZSBhZGFwdEZvcm1Nb2RlbChmb3JtTW9kZWw6IEtleVZhbHVlVHVwbGVbXSkge1xuICAgIHJldHVybiBmb3JtTW9kZWxcbiAgICAgIC5maWx0ZXIocm93ID0+ICEhcm93WzBdKVxuICAgICAgLnJlZHVjZSgob2JqLCBbaywgdl0pID0+ICh7IC4uLm9iaiwgW2tdOiB2IH0pLCB7fSk7XG4gIH1cblxuICBvdmVycmlkZSBnZXRPbkZvcm1BcnJheVJlc2l6ZUZuKCkge1xuICAgIHJldHVybiAoKSA9PiB0aGlzLmNyZWF0ZU5ld0NvbnRyb2woKTtcbiAgfVxuXG4gIGFkZChpbmRleCA9IHRoaXMuZm9ybS5sZW5ndGgpIHtcbiAgICB0aGlzLmZvcm0uaW5zZXJ0KGluZGV4LCB0aGlzLmdldE9uRm9ybUFycmF5UmVzaXplRm4oKSgpKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlbW92ZShpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5mb3JtLnJlbW92ZUF0KGluZGV4KTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLmZvcm0uY29udHJvbHMuZm9yRWFjaChjID0+IGMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRQcmV2aW91c0tleXMoaW5kZXg6IG51bWJlcikge1xuICAgIHJldHVybiB0aGlzLmZvcm1Nb2RlbFxuICAgICAgLnNsaWNlKDAsIGluZGV4KVxuICAgICAgLm1hcCgoW2tleV0pID0+IGtleSlcbiAgICAgIC5maWx0ZXIoa2V5ID0+ICEha2V5KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRLZXlWYWxpZGF0b3JzKCk6IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFZhbHVlVmFsaWRhdG9ycygpOiBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW10ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVOZXdDb250cm9sKCkge1xuICAgIHJldHVybiB0aGlzLmZiLmFycmF5KFxuICAgICAgW1xuICAgICAgICBbJycsIHRoaXMuZ2V0S2V5VmFsaWRhdG9ycygpXSxcbiAgICAgICAgWycnLCB0aGlzLmdldFZhbHVlVmFsaWRhdG9ycygpXSxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgIG1pc3NpbmdLZXlWYWxpZGF0b3IsXG4gICAgICAgIChjb250cm9sOiBGb3JtQXJyYXkpID0+IHtcbiAgICAgICAgICBpZiAoY29udHJvbC5jb250cm9sc1swXS5lcnJvcnMpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGtleTogY29udHJvbC5jb250cm9sc1swXS5lcnJvcnMsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY29udHJvbC5jb250cm9sc1sxXS5lcnJvcnMpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHZhbHVlOiBjb250cm9sLmNvbnRyb2xzWzFdLmVycm9ycyxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9LFxuICAgICAgICB0aGlzLnJvd0R1cFNlcnZpY2UuY3JlYXRlRm9ybUFycmF5VmFsaWRhdG9yKHtcbiAgICAgICAgICByb3dLZXlzOiBbeyBrZXk6IFsnMCddIH1dLFxuICAgICAgICAgIGZvcm1BcnJheTogdGhpcy5mb3JtLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgKTtcbiAgfVxufVxuIl19
|