@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,109 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { ComponentPortal, DomPortalOutlet } from '@angular/cdk/portal';
|
|
3
|
+
import { ApplicationRef, ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentFactoryResolver, Directive, Injector, Input, Optional, Self, } from '@angular/core';
|
|
4
|
+
import { FormGroupDirective, NgControl, NgForm } from '@angular/forms';
|
|
5
|
+
import { Observable, Subject, merge, of, debounceTime, map, switchMap, takeUntil, } from 'rxjs';
|
|
6
|
+
import { ObservableInput } from '../../utils';
|
|
7
|
+
import { BaseErrorsMapper } from './base-errors-mapper';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/forms";
|
|
10
|
+
export class ErrorsMapperDirective extends BaseErrorsMapper {
|
|
11
|
+
constructor(injector, cdr, cfr, appRef, control, ngForm, formGroup) {
|
|
12
|
+
super(injector);
|
|
13
|
+
this.injector = injector;
|
|
14
|
+
this.cdr = cdr;
|
|
15
|
+
this.cfr = cfr;
|
|
16
|
+
this.appRef = appRef;
|
|
17
|
+
this.control = control;
|
|
18
|
+
this.ngForm = ngForm;
|
|
19
|
+
this.formGroup = formGroup;
|
|
20
|
+
this.destroy$ = new Subject();
|
|
21
|
+
}
|
|
22
|
+
ngAfterViewInit() {
|
|
23
|
+
if (!this.control) {
|
|
24
|
+
throw new Error('Errors mapper is not properly configured. No valid control is found.');
|
|
25
|
+
}
|
|
26
|
+
this.initPortal();
|
|
27
|
+
const statusChange = [this.control.statusChanges];
|
|
28
|
+
if (this.ngForm) {
|
|
29
|
+
statusChange.push(this.ngForm.ngSubmit);
|
|
30
|
+
}
|
|
31
|
+
if (this.formGroup) {
|
|
32
|
+
statusChange.push(this.formGroup.ngSubmit);
|
|
33
|
+
}
|
|
34
|
+
this.aclErrorsMapperDisabled$
|
|
35
|
+
.pipe(switchMap(isDisable => isDisable
|
|
36
|
+
? of(null)
|
|
37
|
+
: merge(...statusChange, this.translate.locale$).pipe(debounceTime(50), map(() => this.getErrorMessage(this.control.errors, this.aclErrorsMapper || {}, this.aclErrorsMapperFn, this.aclErrorsMapperControlName)))), takeUntil(this.destroy$))
|
|
38
|
+
.subscribe(content => {
|
|
39
|
+
this.updateContent(content);
|
|
40
|
+
this.cdr.markForCheck();
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
updateContent(content) {
|
|
44
|
+
if (!content) {
|
|
45
|
+
if (this.portalHost.hasAttached()) {
|
|
46
|
+
this.portalHost.detach();
|
|
47
|
+
}
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (!this.portalHost.hasAttached()) {
|
|
51
|
+
this.portalAttach = this.portalHost.attach(this.portal).instance;
|
|
52
|
+
}
|
|
53
|
+
this.portalAttach.data = content;
|
|
54
|
+
this.portalAttach.cdr.markForCheck();
|
|
55
|
+
}
|
|
56
|
+
initPortal() {
|
|
57
|
+
this.portalHost = new DomPortalOutlet(this.aclErrorsMapperOutlet, this.cfr, this.appRef, this.injector);
|
|
58
|
+
this.portal = new ComponentPortal(TextComponent);
|
|
59
|
+
}
|
|
60
|
+
ngOnDestroy() {
|
|
61
|
+
this.destroy$.next();
|
|
62
|
+
this.portalHost.dispose();
|
|
63
|
+
}
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ErrorsMapperDirective, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i1.NgControl, self: true }, { token: i1.NgForm, optional: true }, { token: i1.FormGroupDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
65
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: ErrorsMapperDirective, isStandalone: true, selector: "[aclErrorsMapper]", inputs: { aclErrorsMapper: "aclErrorsMapper", aclErrorsMapperFn: "aclErrorsMapperFn", aclErrorsMapperDisabled: "aclErrorsMapperDisabled", aclErrorsMapperOutlet: "aclErrorsMapperOutlet", aclErrorsMapperControlName: "aclErrorsMapperControlName" }, usesInheritance: true, ngImport: i0 }); }
|
|
66
|
+
}
|
|
67
|
+
__decorate([
|
|
68
|
+
ObservableInput(),
|
|
69
|
+
__metadata("design:type", Observable)
|
|
70
|
+
], ErrorsMapperDirective.prototype, "aclErrorsMapperDisabled$", void 0);
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ErrorsMapperDirective, decorators: [{
|
|
72
|
+
type: Directive,
|
|
73
|
+
args: [{
|
|
74
|
+
selector: '[aclErrorsMapper]',
|
|
75
|
+
standalone: true,
|
|
76
|
+
}]
|
|
77
|
+
}], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: i1.NgControl, decorators: [{
|
|
78
|
+
type: Self
|
|
79
|
+
}] }, { type: i1.NgForm, decorators: [{
|
|
80
|
+
type: Optional
|
|
81
|
+
}] }, { type: i1.FormGroupDirective, decorators: [{
|
|
82
|
+
type: Optional
|
|
83
|
+
}] }], propDecorators: { aclErrorsMapper: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], aclErrorsMapperFn: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], aclErrorsMapperDisabled: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], aclErrorsMapperDisabled$: [], aclErrorsMapperOutlet: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}], aclErrorsMapperControlName: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}] } });
|
|
94
|
+
class TextComponent {
|
|
95
|
+
constructor(cdr) {
|
|
96
|
+
this.cdr = cdr;
|
|
97
|
+
}
|
|
98
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: TextComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
99
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: TextComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: ` {{ data }} `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
100
|
+
}
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: TextComponent, decorators: [{
|
|
102
|
+
type: Component,
|
|
103
|
+
args: [{
|
|
104
|
+
template: ` {{ data }} `,
|
|
105
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
106
|
+
standalone: true,
|
|
107
|
+
}]
|
|
108
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLW1hcHBlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvZm9ybS9lcnJvcnMtbWFwcGVyL2Vycm9ycy1tYXBwZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBVSxNQUFNLHFCQUFxQixDQUFDO0FBQy9FLE9BQU8sRUFFTCxjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsS0FBSyxFQUVMLFFBQVEsRUFDUixJQUFJLEdBQ0wsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFDUCxLQUFLLEVBQ0wsRUFBRSxFQUNGLFlBQVksRUFDWixHQUFHLEVBQ0gsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUdkLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQU94RCxNQUFNLE9BQU8scUJBQ1gsU0FBUSxnQkFBZ0I7SUFnQ3hCLFlBQ1MsUUFBa0IsRUFDUixHQUFzQixFQUN0QixHQUE2QixFQUM3QixNQUFzQixFQUNkLE9BQWtCLEVBQ2QsTUFBYyxFQUUxQixTQUE2QjtRQUU5QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFUVCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ1IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBMEI7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUFXO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUUxQixjQUFTLEdBQVQsU0FBUyxDQUFvQjtRQVYvQixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQWFoRCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FDYixzRUFBc0UsQ0FDdkUsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWxELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFRCxJQUFJLENBQUMsd0JBQXdCO2FBQzFCLElBQUksQ0FDSCxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FDcEIsU0FBUztZQUNQLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ1YsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDakQsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUNoQixHQUFHLENBQUMsR0FBRyxFQUFFLENBQ1AsSUFBSSxDQUFDLGVBQWUsQ0FDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQ25CLElBQUksQ0FBQyxlQUFlLElBQUksRUFBRSxFQUMxQixJQUFJLENBQUMsaUJBQWlCLEVBQ3RCLElBQUksQ0FBQywwQkFBMEIsQ0FDaEMsQ0FDRixDQUNGLENBQ04sRUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQWU7UUFDM0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0IsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDbkUsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxlQUFlLENBQ25DLElBQUksQ0FBQyxxQkFBcUIsRUFDMUIsSUFBSSxDQUFDLEdBQUcsRUFDUixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUIsQ0FBQzs4R0FsSFUscUJBQXFCO2tHQUFyQixxQkFBcUI7O0FBaUJoQztJQURDLGVBQWUsRUFBRTs4QkFDUSxVQUFVO3VFQUFVOzJGQWpCbkMscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBdUNJLElBQUk7OzBCQUNKLFFBQVE7OzBCQUNSLFFBQVE7eUNBbkNYLGVBQWU7c0JBRGQsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sdUJBQXVCO3NCQUR0QixLQUFLO2dCQU9OLHdCQUF3QixNQU14QixxQkFBcUI7c0JBRHBCLEtBQUs7Z0JBSU4sMEJBQTBCO3NCQUR6QixLQUFLOztBQTRGUixNQUtNLGFBQWE7SUFFakIsWUFBbUIsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFBRyxDQUFDOzhHQUZ6QyxhQUFhO2tHQUFiLGFBQWEsd0VBSlAsY0FBYzs7MkZBSXBCLGFBQWE7a0JBTGxCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIERvbVBvcnRhbE91dGxldCwgUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBBcHBsaWNhdGlvblJlZixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRGlyZWN0aXZlLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwRGlyZWN0aXZlLCBOZ0NvbnRyb2wsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIG1lcmdlLFxuICBvZixcbiAgZGVib3VuY2VUaW1lLFxuICBtYXAsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU3RyaW5nTWFwIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBCYXNlRXJyb3JzTWFwcGVyIH0gZnJvbSAnLi9iYXNlLWVycm9ycy1tYXBwZXInO1xuaW1wb3J0IHsgRXJyb3JzTWFwcGVyRm4gfSBmcm9tICcuL3R5cGVzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FjbEVycm9yc01hcHBlcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBFcnJvcnNNYXBwZXJEaXJlY3RpdmVcbiAgZXh0ZW5kcyBCYXNlRXJyb3JzTWFwcGVyXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpXG4gIGFjbEVycm9yc01hcHBlcjogU3RyaW5nTWFwIHwgJyc7XG5cbiAgQElucHV0KClcbiAgYWNsRXJyb3JzTWFwcGVyRm46IEVycm9yc01hcHBlckZuO1xuXG4gIEBJbnB1dCgpXG4gIGFjbEVycm9yc01hcHBlckRpc2FibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBkaXNhYmxlIGVycm9ycyBtYXBwZXJcbiAgICovXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBhY2xFcnJvcnNNYXBwZXJEaXNhYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgLyoqXG4gICAqIHNwZWNpZnkgb3V0bGV0LCBjb25zaWRlciB0aGlzIG90aGVyIHRoYW4gc3BlY2lmaWMgY29udHJvbCBlbnRpdHkgdG8gbWFrZSBzdXJlIGRpIGNhbiBhbHdheXMgZ2V0IG5nRm9ybVxuICAgKi9cbiAgQElucHV0KClcbiAgYWNsRXJyb3JzTWFwcGVyT3V0bGV0OiBFbGVtZW50O1xuXG4gIEBJbnB1dCgpXG4gIGFjbEVycm9yc01hcHBlckNvbnRyb2xOYW1lOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBwb3J0YWw6IFBvcnRhbDxhbnk+O1xuICBwcml2YXRlIHBvcnRhbEhvc3Q6IERvbVBvcnRhbE91dGxldDtcbiAgcHJpdmF0ZSBwb3J0YWxBdHRhY2g6IFRleHRDb21wb25lbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2ZyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIEBTZWxmKCkgcHJpdmF0ZSByZWFkb25seSBjb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBuZ0Zvcm06IE5nRm9ybSxcbiAgICBAT3B0aW9uYWwoKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUdyb3VwOiBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICkge1xuICAgIHN1cGVyKGluamVjdG9yKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnRXJyb3JzIG1hcHBlciBpcyBub3QgcHJvcGVybHkgY29uZmlndXJlZC4gTm8gdmFsaWQgY29udHJvbCBpcyBmb3VuZC4nLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5pbml0UG9ydGFsKCk7XG4gICAgY29uc3Qgc3RhdHVzQ2hhbmdlID0gW3RoaXMuY29udHJvbC5zdGF0dXNDaGFuZ2VzXTtcblxuICAgIGlmICh0aGlzLm5nRm9ybSkge1xuICAgICAgc3RhdHVzQ2hhbmdlLnB1c2godGhpcy5uZ0Zvcm0ubmdTdWJtaXQpO1xuICAgIH1cbiAgICBpZiAodGhpcy5mb3JtR3JvdXApIHtcbiAgICAgIHN0YXR1c0NoYW5nZS5wdXNoKHRoaXMuZm9ybUdyb3VwLm5nU3VibWl0KTtcbiAgICB9XG5cbiAgICB0aGlzLmFjbEVycm9yc01hcHBlckRpc2FibGVkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChpc0Rpc2FibGUgPT5cbiAgICAgICAgICBpc0Rpc2FibGVcbiAgICAgICAgICAgID8gb2YobnVsbClcbiAgICAgICAgICAgIDogbWVyZ2UoLi4uc3RhdHVzQ2hhbmdlLCB0aGlzLnRyYW5zbGF0ZS5sb2NhbGUkKS5waXBlKFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSg1MCksXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+XG4gICAgICAgICAgICAgICAgICB0aGlzLmdldEVycm9yTWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLmVycm9ycyxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY2xFcnJvcnNNYXBwZXIgfHwge30sXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWNsRXJyb3JzTWFwcGVyRm4sXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWNsRXJyb3JzTWFwcGVyQ29udHJvbE5hbWUsXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoY29udGVudCA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlQ29udGVudChjb250ZW50KTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZUNvbnRlbnQoY29udGVudDogc3RyaW5nKSB7XG4gICAgaWYgKCFjb250ZW50KSB7XG4gICAgICBpZiAodGhpcy5wb3J0YWxIb3N0Lmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgdGhpcy5wb3J0YWxIb3N0LmRldGFjaCgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucG9ydGFsSG9zdC5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICB0aGlzLnBvcnRhbEF0dGFjaCA9IHRoaXMucG9ydGFsSG9zdC5hdHRhY2godGhpcy5wb3J0YWwpLmluc3RhbmNlO1xuICAgIH1cbiAgICB0aGlzLnBvcnRhbEF0dGFjaC5kYXRhID0gY29udGVudDtcbiAgICB0aGlzLnBvcnRhbEF0dGFjaC5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBpbml0UG9ydGFsKCkge1xuICAgIHRoaXMucG9ydGFsSG9zdCA9IG5ldyBEb21Qb3J0YWxPdXRsZXQoXG4gICAgICB0aGlzLmFjbEVycm9yc01hcHBlck91dGxldCxcbiAgICAgIHRoaXMuY2ZyLFxuICAgICAgdGhpcy5hcHBSZWYsXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICk7XG4gICAgdGhpcy5wb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFRleHRDb21wb25lbnQpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5wb3J0YWxIb3N0LmRpc3Bvc2UoKTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGAge3sgZGF0YSB9fSBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5jbGFzcyBUZXh0Q29tcG9uZW50IHtcbiAgZGF0YTogc3RyaW5nO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbn1cbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ErrorsMapperComponent } from './errors-mapper-component/component';
|
|
2
|
+
import { ErrorsMapperDirective } from './errors-mapper.directive';
|
|
3
|
+
export * from './errors-mapper-component/component';
|
|
4
|
+
export * from './errors-mapper.directive';
|
|
5
|
+
export * from './types';
|
|
6
|
+
export const ERRORS_MAPPER_MODULE = [
|
|
7
|
+
ErrorsMapperComponent,
|
|
8
|
+
ErrorsMapperDirective,
|
|
9
|
+
];
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvZm9ybS9lcnJvcnMtbWFwcGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWxFLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLFNBQVMsQ0FBQztBQUV4QixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRztJQUNsQyxxQkFBcUI7SUFDckIscUJBQXFCO0NBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9yc01hcHBlckNvbXBvbmVudCB9IGZyb20gJy4vZXJyb3JzLW1hcHBlci1jb21wb25lbnQvY29tcG9uZW50JztcbmltcG9ydCB7IEVycm9yc01hcHBlckRpcmVjdGl2ZSB9IGZyb20gJy4vZXJyb3JzLW1hcHBlci5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Vycm9ycy1tYXBwZXItY29tcG9uZW50L2NvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9ycy1tYXBwZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgRVJST1JTX01BUFBFUl9NT0RVTEUgPSBbXG4gIEVycm9yc01hcHBlckNvbXBvbmVudCxcbiAgRXJyb3JzTWFwcGVyRGlyZWN0aXZlLFxuXSBhcyBjb25zdDtcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvZm9ybS9lcnJvcnMtbWFwcGVyL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdHJpbmdNYXAgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbi8qKlxuICogRGVmaW5lcyBob3cgYSBlcnJvciBvYmplY3QgKHZhbGlkYXRvciBrZXksIGVycm9yIG9iamVjdCwgdGhlIGNvbnRyb2wgb2JqZWN0KSBzaG91bGQgYmUgbWFwcGVkIHRvIHN0cmluZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFcnJvck1hcHBlckludGVyZmFjZSB7XG4gIC8qKlxuICAgKiBNYXBzIGFuIGVycm9yIHRvIGEgc3RyaW5nLlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IHRoZSBlcnJvciBrZXkuIGkuZS4sIHJlcXVpcmVkLCBldGNcbiAgICogQHBhcmFtIGVycm9yIHRoZSBlcnJvciBvYmplY3RcbiAgICogQHBhcmFtIGNvbnRyb2wgY29udHJvbCBPYmplY3QgKEFic3RyYWN0Q29udHJvbCBmb3IgQW5ndWxhciwgTmdNb2RlbCBmb3IgQW5ndWxhckpTKVxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgbWFwKGtleTogc3RyaW5nLCBlcnJvcj86IHVua25vd24sIGNvbnRyb2w/OiB1bmtub3duKTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBFcnJvcnNNYXBwZXJGbiA9IChlcnJvcjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHN0cmluZztcblxuZXhwb3J0IHR5cGUgRXJyb3JNYXBwZXIgPSBFcnJvck1hcHBlckludGVyZmFjZSB8IFN0cmluZ01hcDtcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './validators';
|
|
2
|
+
export * from './errors-mapper';
|
|
3
|
+
export { genControlDepsMap } from './utils';
|
|
4
|
+
export * from './base-form-container';
|
|
5
|
+
export * from './base-nested-form-control';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvZm9ybS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUU1QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvcnMtbWFwcGVyJztcbmV4cG9ydCB7IGdlbkNvbnRyb2xEZXBzTWFwIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1mb3JtLWNvbnRhaW5lcic7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtbmVzdGVkLWZvcm0tY29udHJvbCc7XG4iXX0=
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { uniq } from 'lodash-es';
|
|
2
|
+
import { distinctUntilChanged, map, merge, startWith, takeUntil, } from 'rxjs';
|
|
3
|
+
/**
|
|
4
|
+
* @description
|
|
5
|
+
* 创建集群中存在大量的 control 依赖的情形,同时,由于业务特殊性,在 ipv4,ipv6 时要对表单控件进行不同外观的展示,因此控件的 disabled 变得很复杂
|
|
6
|
+
* 如果是在 ts 里通过 valueChanges 写:每个影响源都要写自己的 subscription,且某个 control 可能会收到多个其他 control 影响,届时逻辑组织会复杂很多,
|
|
7
|
+
* 如果是在模板里通过 aluControlDisabled 去写,可能会存在多个 control 要重复同一套逻辑,这点在创建集群中很常见,因此提供了如下方案,可以以声明式写法去描述依赖关系
|
|
8
|
+
*
|
|
9
|
+
* @usageNotes
|
|
10
|
+
* For example, for the following `FormGroup`:
|
|
11
|
+
* ```
|
|
12
|
+
* [
|
|
13
|
+
{
|
|
14
|
+
source: 'joinCIDR',
|
|
15
|
+
deps: ['networkType'],
|
|
16
|
+
isEnable: networkType => networkType === 'kube-ovn',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
source: 'gatewayIPv6',
|
|
20
|
+
deps: ['networkType', 'transmitType', 'ipv6DualStack'],
|
|
21
|
+
isEnable: (networkType, transmitType, ipv6DualStack: boolean) =>
|
|
22
|
+
networkType === 'kube-ovn' &&
|
|
23
|
+
transmitType === 'underlay' &&
|
|
24
|
+
ipv6DualStack,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
source: ['clusterCIDRIPv6', 'serviceCIDRIPv6'],
|
|
28
|
+
deps: ['ipv6DualStack'],
|
|
29
|
+
isEnable: (ipv6DualStack: boolean) => ipv6DualStack,
|
|
30
|
+
},
|
|
31
|
+
]
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export function genControlDepsMap(context, rules, destroy$) {
|
|
35
|
+
const normRules = rules.flatMap(r => Array.isArray(r.source) ? r.source.map(s => ({ ...r, source: s })) : r);
|
|
36
|
+
const depPaths = uniq(normRules.flatMap(r => r.deps));
|
|
37
|
+
const depRuleMap = normRules.reduce((acc, rule) => {
|
|
38
|
+
for (const dep of rule.deps) {
|
|
39
|
+
if (!acc[dep]) {
|
|
40
|
+
acc[dep] = new Set();
|
|
41
|
+
}
|
|
42
|
+
acc[dep].add(rule.source);
|
|
43
|
+
}
|
|
44
|
+
return acc;
|
|
45
|
+
}, {});
|
|
46
|
+
// 每一次 deps 中的 valueChange 都有可能是一次 trigger
|
|
47
|
+
merge(...depPaths.map(p => context.get(p).valueChanges.pipe(startWith(context.get(p).value), distinctUntilChanged(), map(value => ({
|
|
48
|
+
key: p,
|
|
49
|
+
value,
|
|
50
|
+
})))))
|
|
51
|
+
.pipe(takeUntil(destroy$))
|
|
52
|
+
.subscribe(result => {
|
|
53
|
+
depRuleMap[result.key].forEach(source => {
|
|
54
|
+
const rules = normRules.filter(r => r.source === source);
|
|
55
|
+
const enable = rules.every(rule => rule.isEnable(...rule.deps.map(dep => context.get(dep).value)));
|
|
56
|
+
context
|
|
57
|
+
.get(source)[enable ? 'enable' : 'disable']({ emitEvent: false }); // emitEvent: false 会防止主动将本控件设为dirty
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvZm9ybS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsR0FBRyxFQUNILEtBQUssRUFFTCxTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBUWQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsT0FBa0IsRUFDbEIsS0FBcUMsRUFDckMsUUFBNkI7SUFFN0IsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNsQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNoRCxDQUFDO0lBQ3pCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEQsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FDakMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDWixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7WUFDdkIsQ0FBQztZQUNELEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFDRCxFQUFrQyxDQUNuQyxDQUFDO0lBQ0YsMENBQTBDO0lBQzFDLEtBQUssQ0FDSCxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUM5QixTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFDL0Isb0JBQW9CLEVBQUUsRUFDdEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNaLEdBQUcsRUFBRSxDQUFDO1FBQ04sS0FBSztLQUNOLENBQUMsQ0FBQyxDQUNKLENBQ0YsQ0FDRjtTQUNFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDekIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ2xCLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxDQUFDO1lBQ3pELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUMvRCxDQUFDO1lBQ0YsT0FBTztpQkFDSixHQUFHLENBQUMsTUFBTSxDQUFDLENBQ1gsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxvQ0FBb0M7UUFDL0YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB1bmlxIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7XG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBtYXAsXG4gIG1lcmdlLFxuICBPYnNlcnZhYmxlLFxuICBzdGFydFdpdGgsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcyc7XG5cbmludGVyZmFjZSBSdWxlPFQ+IHtcbiAgc291cmNlOiBUO1xuICBkZXBzOiBzdHJpbmdbXTtcbiAgaXNFbmFibGU6ICguLi5kZXBzOiB1bmtub3duW10pID0+IGJvb2xlYW47XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiDliJvlu7rpm4bnvqTkuK3lrZjlnKjlpKfph4/nmoQgY29udHJvbCDkvp3otZbnmoTmg4XlvaLvvIzlkIzml7bvvIznlLHkuo7kuJrliqHnibnmrormgKfvvIzlnKggaXB2NCxpcHY2IOaXtuimgeWvueihqOWNleaOp+S7tui/m+ihjOS4jeWQjOWkluingueahOWxleekuu+8jOWboOatpOaOp+S7tueahCBkaXNhYmxlZCDlj5jlvpflvojlpI3mnYJcbiAqIOWmguaenOaYr+WcqCB0cyDph4zpgJrov4cgdmFsdWVDaGFuZ2VzIOWGme+8muavj+S4quW9seWTjea6kOmDveimgeWGmeiHquW3seeahCBzdWJzY3JpcHRpb27vvIzkuJTmn5DkuKogY29udHJvbCDlj6/og73kvJrmlLbliLDlpJrkuKrlhbbku5YgY29udHJvbCDlvbHlk43vvIzlsYrml7bpgLvovpHnu4Tnu4fkvJrlpI3mnYLlvojlpJosXG4gKiDlpoLmnpzmmK/lnKjmqKHmnb/ph4zpgJrov4cgYWx1Q29udHJvbERpc2FibGVkIOWOu+WGme+8jOWPr+iDveS8muWtmOWcqOWkmuS4qiBjb250cm9sIOimgemHjeWkjeWQjOS4gOWll+mAu+i+ke+8jOi/meeCueWcqOWIm+W7uumbhue+pOS4reW+iOW4uOinge+8jOWboOatpOaPkOS+m+S6huWmguS4i+aWueahiO+8jOWPr+S7peS7peWjsOaYjuW8j+WGmeazleWOu+aPj+i/sOS+nei1luWFs+ezu1xuICpcbiAqIEB1c2FnZU5vdGVzXG4gKiBGb3IgZXhhbXBsZSwgZm9yIHRoZSBmb2xsb3dpbmcgYEZvcm1Hcm91cGA6XG4gKiBgYGBcbiAqIFtcbiB7XG4gc291cmNlOiAnam9pbkNJRFInLFxuIGRlcHM6IFsnbmV0d29ya1R5cGUnXSxcbiBpc0VuYWJsZTogbmV0d29ya1R5cGUgPT4gbmV0d29ya1R5cGUgPT09ICdrdWJlLW92bicsXG4gfSxcbiB7XG4gc291cmNlOiAnZ2F0ZXdheUlQdjYnLFxuIGRlcHM6IFsnbmV0d29ya1R5cGUnLCAndHJhbnNtaXRUeXBlJywgJ2lwdjZEdWFsU3RhY2snXSxcbiBpc0VuYWJsZTogKG5ldHdvcmtUeXBlLCB0cmFuc21pdFR5cGUsIGlwdjZEdWFsU3RhY2s6IGJvb2xlYW4pID0+XG4gbmV0d29ya1R5cGUgPT09ICdrdWJlLW92bicgJiZcbiB0cmFuc21pdFR5cGUgPT09ICd1bmRlcmxheScgJiZcbiBpcHY2RHVhbFN0YWNrLFxuIH0sXG4ge1xuIHNvdXJjZTogWydjbHVzdGVyQ0lEUklQdjYnLCAnc2VydmljZUNJRFJJUHY2J10sXG4gZGVwczogWydpcHY2RHVhbFN0YWNrJ10sXG4gaXNFbmFibGU6IChpcHY2RHVhbFN0YWNrOiBib29sZWFuKSA9PiBpcHY2RHVhbFN0YWNrLFxuIH0sXG4gXVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5Db250cm9sRGVwc01hcChcbiAgY29udGV4dDogRm9ybUdyb3VwLFxuICBydWxlczogQXJyYXk8UnVsZTxzdHJpbmcgfCBzdHJpbmdbXT4+LFxuICBkZXN0cm95JDogT2JzZXJ2YWJsZTx1bmtub3duPixcbikge1xuICBjb25zdCBub3JtUnVsZXMgPSBydWxlcy5mbGF0TWFwKHIgPT5cbiAgICBBcnJheS5pc0FycmF5KHIuc291cmNlKSA/IHIuc291cmNlLm1hcChzID0+ICh7IC4uLnIsIHNvdXJjZTogcyB9KSkgOiByLFxuICApIGFzIEFycmF5PFJ1bGU8c3RyaW5nPj47XG4gIGNvbnN0IGRlcFBhdGhzID0gdW5pcShub3JtUnVsZXMuZmxhdE1hcChyID0+IHIuZGVwcykpO1xuICBjb25zdCBkZXBSdWxlTWFwID0gbm9ybVJ1bGVzLnJlZHVjZShcbiAgICAoYWNjLCBydWxlKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGRlcCBvZiBydWxlLmRlcHMpIHtcbiAgICAgICAgaWYgKCFhY2NbZGVwXSkge1xuICAgICAgICAgIGFjY1tkZXBdID0gbmV3IFNldCgpO1xuICAgICAgICB9XG4gICAgICAgIGFjY1tkZXBdLmFkZChydWxlLnNvdXJjZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sXG4gICAge30gYXMgeyBbeDogc3RyaW5nXTogU2V0PHN0cmluZz4gfSxcbiAgKTtcbiAgLy8g5q+P5LiA5qyhIGRlcHMg5Lit55qEIHZhbHVlQ2hhbmdlIOmDveacieWPr+iDveaYr+S4gOasoSB0cmlnZ2VyXG4gIG1lcmdlKFxuICAgIC4uLmRlcFBhdGhzLm1hcChwID0+XG4gICAgICBjb250ZXh0LmdldChwKS52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKGNvbnRleHQuZ2V0KHApLnZhbHVlKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgbWFwKHZhbHVlID0+ICh7XG4gICAgICAgICAga2V5OiBwLFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICB9KSksXG4gICAgICApLFxuICAgICksXG4gIClcbiAgICAucGlwZSh0YWtlVW50aWwoZGVzdHJveSQpKVxuICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIGRlcFJ1bGVNYXBbcmVzdWx0LmtleV0uZm9yRWFjaChzb3VyY2UgPT4ge1xuICAgICAgICBjb25zdCBydWxlcyA9IG5vcm1SdWxlcy5maWx0ZXIociA9PiByLnNvdXJjZSA9PT0gc291cmNlKTtcbiAgICAgICAgY29uc3QgZW5hYmxlID0gcnVsZXMuZXZlcnkocnVsZSA9PlxuICAgICAgICAgIHJ1bGUuaXNFbmFibGUoLi4ucnVsZS5kZXBzLm1hcChkZXAgPT4gY29udGV4dC5nZXQoZGVwKS52YWx1ZSkpLFxuICAgICAgICApO1xuICAgICAgICBjb250ZXh0XG4gICAgICAgICAgLmdldChzb3VyY2UpXG4gICAgICAgICAgW2VuYWJsZSA/ICdlbmFibGUnIDogJ2Rpc2FibGUnXSh7IGVtaXRFdmVudDogZmFsc2UgfSk7IC8vIGVtaXRFdmVudDogZmFsc2Ug5Lya6Ziy5q2i5Li75Yqo5bCG5pys5o6n5Lu26K6+5Li6ZGlydHlcbiAgICAgIH0pO1xuICAgIH0pO1xufVxuIl19
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Directive, Input, forwardRef } from '@angular/core';
|
|
3
|
+
import { NG_ASYNC_VALIDATORS, Validators, } from '@angular/forms';
|
|
4
|
+
import { ValueHook } from '../../utils';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class AsyncFunctionValidatorDirective {
|
|
7
|
+
get asyncValidateFn() {
|
|
8
|
+
return Array.isArray(this.aclAsyncValidateFn)
|
|
9
|
+
? Validators.composeAsync(this.aclAsyncValidateFn)
|
|
10
|
+
: this.aclAsyncValidateFn;
|
|
11
|
+
}
|
|
12
|
+
validate(control) {
|
|
13
|
+
return this.asyncValidateFn?.(control);
|
|
14
|
+
}
|
|
15
|
+
registerOnValidatorChange(fn) {
|
|
16
|
+
this.onValidatorChange = fn;
|
|
17
|
+
}
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AsyncFunctionValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
19
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: AsyncFunctionValidatorDirective, isStandalone: true, selector: "[aclAsyncValidateFn][ngModel],[aclAsyncValidateFn][formControl],[aclAsyncValidateFn][formControlName]", inputs: { aclAsyncValidateFn: "aclAsyncValidateFn" }, providers: [
|
|
20
|
+
{
|
|
21
|
+
provide: NG_ASYNC_VALIDATORS,
|
|
22
|
+
useExisting: forwardRef(() => AsyncFunctionValidatorDirective),
|
|
23
|
+
multi: true,
|
|
24
|
+
},
|
|
25
|
+
], ngImport: i0 }); }
|
|
26
|
+
}
|
|
27
|
+
__decorate([
|
|
28
|
+
ValueHook(null, null, function () {
|
|
29
|
+
this.onValidatorChange?.();
|
|
30
|
+
}),
|
|
31
|
+
__metadata("design:type", Object)
|
|
32
|
+
], AsyncFunctionValidatorDirective.prototype, "aclAsyncValidateFn", void 0);
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AsyncFunctionValidatorDirective, decorators: [{
|
|
34
|
+
type: Directive,
|
|
35
|
+
args: [{
|
|
36
|
+
standalone: true,
|
|
37
|
+
selector: '[aclAsyncValidateFn][ngModel],[aclAsyncValidateFn][formControl],[aclAsyncValidateFn][formControlName]',
|
|
38
|
+
providers: [
|
|
39
|
+
{
|
|
40
|
+
provide: NG_ASYNC_VALIDATORS,
|
|
41
|
+
useExisting: forwardRef(() => AsyncFunctionValidatorDirective),
|
|
42
|
+
multi: true,
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
}]
|
|
46
|
+
}], propDecorators: { aclAsyncValidateFn: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}] } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtZnVuY3Rpb24tdmFsaWRhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy9mb3JtL3ZhbGlkYXRvcnMvYXN5bmMtZnVuY3Rpb24tdmFsaWRhdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFJTCxtQkFBbUIsRUFDbkIsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFjeEMsTUFBTSxPQUFPLCtCQUErQjtJQU8xQyxJQUFJLGVBQWU7UUFDakIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUMzQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUM7WUFDbEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUM5QixDQUFDO0lBSUQsUUFBUSxDQUFDLE9BQXdCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxFQUFjO1FBQ3RDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQzs4R0FyQlUsK0JBQStCO2tHQUEvQiwrQkFBK0IsME1BUi9CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLG1CQUFtQjtnQkFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztnQkFDOUQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGOztBQU9EO0lBSkMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7UUFDckIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztJQUM3QixDQUFDLENBQUM7OzJFQUV3RDsyRkFML0MsK0JBQStCO2tCQVozQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQ04sdUdBQXVHO29CQUN6RyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0NBQWdDLENBQUM7NEJBQzlELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGOzhCQU1DLGtCQUFrQjtzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQXN5bmNWYWxpZGF0b3IsXG4gIEFzeW5jVmFsaWRhdG9yRm4sXG4gIE5HX0FTWU5DX1ZBTElEQVRPUlMsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVmFsdWVIb29rIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6XG4gICAgJ1thY2xBc3luY1ZhbGlkYXRlRm5dW25nTW9kZWxdLFthY2xBc3luY1ZhbGlkYXRlRm5dW2Zvcm1Db250cm9sXSxbYWNsQXN5bmNWYWxpZGF0ZUZuXVtmb3JtQ29udHJvbE5hbWVdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfQVNZTkNfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFzeW5jRnVuY3Rpb25WYWxpZGF0b3JEaXJlY3RpdmUpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXN5bmNGdW5jdGlvblZhbGlkYXRvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFzeW5jVmFsaWRhdG9yIHtcbiAgQFZhbHVlSG9vayhudWxsLCBudWxsLCBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5vblZhbGlkYXRvckNoYW5nZT8uKCk7XG4gIH0pXG4gIEBJbnB1dCgpXG4gIGFjbEFzeW5jVmFsaWRhdGVGbjogQXN5bmNWYWxpZGF0b3JGbiB8IEFzeW5jVmFsaWRhdG9yRm5bXTtcblxuICBnZXQgYXN5bmNWYWxpZGF0ZUZuKCkge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMuYWNsQXN5bmNWYWxpZGF0ZUZuKVxuICAgICAgPyBWYWxpZGF0b3JzLmNvbXBvc2VBc3luYyh0aGlzLmFjbEFzeW5jVmFsaWRhdGVGbilcbiAgICAgIDogdGhpcy5hY2xBc3luY1ZhbGlkYXRlRm47XG4gIH1cblxuICBkZWNsYXJlIG9uVmFsaWRhdG9yQ2hhbmdlOiAoKSA9PiB2b2lkO1xuXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xuICAgIHJldHVybiB0aGlzLmFzeW5jVmFsaWRhdGVGbj8uKGNvbnRyb2wpO1xuICB9XG5cbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* https://kubernetes.io/zh/docs/concepts/overview/working-with-objects/names/
|
|
3
|
+
const dns1123LabelFmt string = "[a-z0-9]([-a-z0-9]*[a-z0-9])?"
|
|
4
|
+
const dns1123SubdomainFmt string = dns1123LabelFmt + "(\\." + dns1123LabelFmt + ")*"
|
|
5
|
+
const dns1123SubdomainErrorMsg string = "a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character"
|
|
6
|
+
|
|
7
|
+
// DNS1123SubdomainMaxLength is a subdomain's max length in DNS (RFC 1123)
|
|
8
|
+
const DNS1123SubdomainMaxLength int = 253
|
|
9
|
+
|
|
10
|
+
var dns1123SubdomainRegexp = regexp.MustCompile("^" + dns1123SubdomainFmt + "$")
|
|
11
|
+
|
|
12
|
+
// IsDNS1123Subdomain tests for a string that conforms to the definition of a
|
|
13
|
+
// subdomain in DNS (RFC 1123).
|
|
14
|
+
func IsDNS1123Subdomain(value string) []string {
|
|
15
|
+
var errs []string
|
|
16
|
+
if len(value) > DNS1123SubdomainMaxLength {
|
|
17
|
+
errs = append(errs, MaxLenError(DNS1123SubdomainMaxLength))
|
|
18
|
+
}
|
|
19
|
+
if !dns1123SubdomainRegexp.MatchString(value) {
|
|
20
|
+
errs = append(errs, RegexError(dns1123SubdomainErrorMsg, dns1123SubdomainFmt, "example.com"))
|
|
21
|
+
}
|
|
22
|
+
return errs
|
|
23
|
+
}
|
|
24
|
+
*/
|
|
25
|
+
export function DNS1123SubdomainValidator(ctrl) {
|
|
26
|
+
const value = ctrl.value;
|
|
27
|
+
if (!value) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
if (value.length > 253) {
|
|
31
|
+
return {
|
|
32
|
+
domain: true,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
const regex = /^[\da-z]([\da-z-]*[\da-z])?(\.[\da-z]([\da-z-]*[\da-z])?)*$/;
|
|
36
|
+
return regex.test(value)
|
|
37
|
+
? null
|
|
38
|
+
: {
|
|
39
|
+
domain: true,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zMTEyMy1zdWJkb21haW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvZm9ybS92YWxpZGF0b3JzL2RuczExMjMtc3ViZG9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxJQUFxQjtJQUM3RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBZSxDQUFDO0lBQ25DLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUN2QixPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDO0lBQ0osQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLDZEQUE2RCxDQUFDO0lBQzVFLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEIsQ0FBQyxDQUFDLElBQUk7UUFDTixDQUFDLENBQUM7WUFDRSxNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUM7QUFDUixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIGh0dHBzOi8va3ViZXJuZXRlcy5pby96aC9kb2NzL2NvbmNlcHRzL292ZXJ2aWV3L3dvcmtpbmctd2l0aC1vYmplY3RzL25hbWVzL1xuICBjb25zdCBkbnMxMTIzTGFiZWxGbXQgc3RyaW5nID0gXCJbYS16MC05XShbLWEtejAtOV0qW2EtejAtOV0pP1wiXG4gIGNvbnN0IGRuczExMjNTdWJkb21haW5GbXQgc3RyaW5nID0gZG5zMTEyM0xhYmVsRm10ICsgXCIoXFxcXC5cIiArIGRuczExMjNMYWJlbEZtdCArIFwiKSpcIlxuICBjb25zdCBkbnMxMTIzU3ViZG9tYWluRXJyb3JNc2cgc3RyaW5nID0gXCJhIGxvd2VyY2FzZSBSRkMgMTEyMyBzdWJkb21haW4gbXVzdCBjb25zaXN0IG9mIGxvd2VyIGNhc2UgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsICctJyBvciAnLicsIGFuZCBtdXN0IHN0YXJ0IGFuZCBlbmQgd2l0aCBhbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVyXCJcblxuICAvLyBETlMxMTIzU3ViZG9tYWluTWF4TGVuZ3RoIGlzIGEgc3ViZG9tYWluJ3MgbWF4IGxlbmd0aCBpbiBETlMgKFJGQyAxMTIzKVxuICBjb25zdCBETlMxMTIzU3ViZG9tYWluTWF4TGVuZ3RoIGludCA9IDI1M1xuXG4gIHZhciBkbnMxMTIzU3ViZG9tYWluUmVnZXhwID0gcmVnZXhwLk11c3RDb21waWxlKFwiXlwiICsgZG5zMTEyM1N1YmRvbWFpbkZtdCArIFwiJFwiKVxuXG4gIC8vIElzRE5TMTEyM1N1YmRvbWFpbiB0ZXN0cyBmb3IgYSBzdHJpbmcgdGhhdCBjb25mb3JtcyB0byB0aGUgZGVmaW5pdGlvbiBvZiBhXG4gIC8vIHN1YmRvbWFpbiBpbiBETlMgKFJGQyAxMTIzKS5cbiAgZnVuYyBJc0ROUzExMjNTdWJkb21haW4odmFsdWUgc3RyaW5nKSBbXXN0cmluZyB7XG4gICAgdmFyIGVycnMgW11zdHJpbmdcbiAgICBpZiBsZW4odmFsdWUpID4gRE5TMTEyM1N1YmRvbWFpbk1heExlbmd0aCB7XG4gICAgICBlcnJzID0gYXBwZW5kKGVycnMsIE1heExlbkVycm9yKEROUzExMjNTdWJkb21haW5NYXhMZW5ndGgpKVxuICAgIH1cbiAgICBpZiAhZG5zMTEyM1N1YmRvbWFpblJlZ2V4cC5NYXRjaFN0cmluZyh2YWx1ZSkge1xuICAgICAgZXJycyA9IGFwcGVuZChlcnJzLCBSZWdleEVycm9yKGRuczExMjNTdWJkb21haW5FcnJvck1zZywgZG5zMTEyM1N1YmRvbWFpbkZtdCwgXCJleGFtcGxlLmNvbVwiKSlcbiAgICB9XG4gICAgcmV0dXJuIGVycnNcbiAgfVxuICovXG5leHBvcnQgZnVuY3Rpb24gRE5TMTEyM1N1YmRvbWFpblZhbGlkYXRvcihjdHJsOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgY29uc3QgdmFsdWUgPSBjdHJsLnZhbHVlIGFzIHN0cmluZztcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGlmICh2YWx1ZS5sZW5ndGggPiAyNTMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZG9tYWluOiB0cnVlLFxuICAgIH07XG4gIH1cbiAgY29uc3QgcmVnZXggPSAvXltcXGRhLXpdKFtcXGRhLXotXSpbXFxkYS16XSk/KFxcLltcXGRhLXpdKFtcXGRhLXotXSpbXFxkYS16XSk/KSokLztcbiAgcmV0dXJuIHJlZ2V4LnRlc3QodmFsdWUpXG4gICAgPyBudWxsXG4gICAgOiB7XG4gICAgICAgIGRvbWFpbjogdHJ1ZSxcbiAgICAgIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Directive, Input, forwardRef } from '@angular/core';
|
|
3
|
+
import { NG_VALIDATORS, Validators, } from '@angular/forms';
|
|
4
|
+
import { ValueHook } from '../../utils';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class FunctionValidatorDirective {
|
|
7
|
+
get validateFn() {
|
|
8
|
+
return Array.isArray(this.aclValidateFn)
|
|
9
|
+
? Validators.compose(this.aclValidateFn)
|
|
10
|
+
: this.aclValidateFn;
|
|
11
|
+
}
|
|
12
|
+
validate(control) {
|
|
13
|
+
return this.validateFn?.(control);
|
|
14
|
+
}
|
|
15
|
+
registerOnValidatorChange(fn) {
|
|
16
|
+
this.onValidatorChange = fn;
|
|
17
|
+
}
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: FunctionValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
19
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: FunctionValidatorDirective, isStandalone: true, selector: "[aclValidateFn][ngModel],[aclValidateFn][formControl],[aclValidateFn][formControlName]", inputs: { aclValidateFn: "aclValidateFn" }, providers: [
|
|
20
|
+
{
|
|
21
|
+
provide: NG_VALIDATORS,
|
|
22
|
+
useExisting: forwardRef(() => FunctionValidatorDirective),
|
|
23
|
+
multi: true,
|
|
24
|
+
},
|
|
25
|
+
], ngImport: i0 }); }
|
|
26
|
+
}
|
|
27
|
+
__decorate([
|
|
28
|
+
ValueHook(null, null, function () {
|
|
29
|
+
this.onValidatorChange?.();
|
|
30
|
+
}),
|
|
31
|
+
__metadata("design:type", Object)
|
|
32
|
+
], FunctionValidatorDirective.prototype, "aclValidateFn", void 0);
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: FunctionValidatorDirective, decorators: [{
|
|
34
|
+
type: Directive,
|
|
35
|
+
args: [{
|
|
36
|
+
standalone: true,
|
|
37
|
+
selector: '[aclValidateFn][ngModel],[aclValidateFn][formControl],[aclValidateFn][formControlName]',
|
|
38
|
+
providers: [
|
|
39
|
+
{
|
|
40
|
+
provide: NG_VALIDATORS,
|
|
41
|
+
useExisting: forwardRef(() => FunctionValidatorDirective),
|
|
42
|
+
multi: true,
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
}]
|
|
46
|
+
}], propDecorators: { aclValidateFn: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}] } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24tdmFsaWRhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy9mb3JtL3ZhbGlkYXRvcnMvZnVuY3Rpb24tdmFsaWRhdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFFTCxhQUFhLEVBR2IsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFjeEMsTUFBTSxPQUFPLDBCQUEwQjtJQU9yQyxJQUFJLFVBQVU7UUFDWixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUN0QyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ3pCLENBQUM7SUFJRCxRQUFRLENBQUMsT0FBd0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELHlCQUF5QixDQUFDLEVBQWM7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDOzhHQXJCVSwwQkFBMEI7a0dBQTFCLDBCQUEwQixpTEFSMUI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztnQkFDekQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGOztBQU9EO0lBSkMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7UUFDckIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztJQUM3QixDQUFDLENBQUM7O2lFQUV5QzsyRkFMaEMsMEJBQTBCO2tCQVp0QyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQ04sd0ZBQXdGO29CQUMxRixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDJCQUEyQixDQUFDOzRCQUN6RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs4QkFNQyxhQUFhO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIFZhbGlkYXRvcixcbiAgVmFsaWRhdG9yRm4sXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVmFsdWVIb29rIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6XG4gICAgJ1thY2xWYWxpZGF0ZUZuXVtuZ01vZGVsXSxbYWNsVmFsaWRhdGVGbl1bZm9ybUNvbnRyb2xdLFthY2xWYWxpZGF0ZUZuXVtmb3JtQ29udHJvbE5hbWVdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZ1bmN0aW9uVmFsaWRhdG9yRGlyZWN0aXZlKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZ1bmN0aW9uVmFsaWRhdG9yRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcbiAgQFZhbHVlSG9vayhudWxsLCBudWxsLCBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5vblZhbGlkYXRvckNoYW5nZT8uKCk7XG4gIH0pXG4gIEBJbnB1dCgpXG4gIGFjbFZhbGlkYXRlRm46IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXTtcblxuICBnZXQgdmFsaWRhdGVGbigpIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLmFjbFZhbGlkYXRlRm4pXG4gICAgICA/IFZhbGlkYXRvcnMuY29tcG9zZSh0aGlzLmFjbFZhbGlkYXRlRm4pXG4gICAgICA6IHRoaXMuYWNsVmFsaWRhdGVGbjtcbiAgfVxuXG4gIGRlY2xhcmUgb25WYWxpZGF0b3JDaGFuZ2U6ICgpID0+IHZvaWQ7XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdGVGbj8uKGNvbnRyb2wpO1xuICB9XG5cbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './utils';
|
|
2
|
+
export * from './dns1123-subdomain';
|
|
3
|
+
export * from './resource-limit';
|
|
4
|
+
export * from './strong-password';
|
|
5
|
+
export * from './not-be-validator.directive';
|
|
6
|
+
export * from './one-of-validator.directive';
|
|
7
|
+
export * from './function-validator.directive';
|
|
8
|
+
export * from './async-function-validator.directive';
|
|
9
|
+
export * from './maxlength-minlength-validator.directive';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvZm9ybS92YWxpZGF0b3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywyQ0FBMkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9kbnMxMTIzLXN1YmRvbWFpbic7XG5leHBvcnQgKiBmcm9tICcuL3Jlc291cmNlLWxpbWl0JztcbmV4cG9ydCAqIGZyb20gJy4vc3Ryb25nLXBhc3N3b3JkJztcbmV4cG9ydCAqIGZyb20gJy4vbm90LWJlLXZhbGlkYXRvci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9vbmUtb2YtdmFsaWRhdG9yLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Z1bmN0aW9uLXZhbGlkYXRvci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hc3luYy1mdW5jdGlvbi12YWxpZGF0b3IuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbWF4bGVuZ3RoLW1pbmxlbmd0aC12YWxpZGF0b3IuZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Directive, forwardRef, Input } from '@angular/core';
|
|
2
|
+
import { MaxLengthValidator, MinLengthValidator, NG_VALIDATORS, } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* 功能和 MaxLengthValidator 完全一样,唯一的区别就是不设置 host maxlength attribute
|
|
6
|
+
* 使用场景:ngModel 的表单希望设置 maxlength validator 但不相限制输入框输入的字符。
|
|
7
|
+
* 比如产品希望最长 20 个字符,超过 20 个字符红色提醒
|
|
8
|
+
* https://github.com/angular/angular/blob/main/packages/forms/src/directives/validators.ts#L591
|
|
9
|
+
*/
|
|
10
|
+
export class MaxLengthValidatorDirective extends MaxLengthValidator {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.inputName = 'aclMaxlength';
|
|
14
|
+
}
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MaxLengthValidatorDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
16
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: MaxLengthValidatorDirective, isStandalone: true, selector: "[aclMaxlength][formControlName],[aclMaxlength][formControl],[aclMaxlength][ngModel]", inputs: { aclMaxlength: "aclMaxlength" }, providers: [
|
|
17
|
+
{
|
|
18
|
+
provide: NG_VALIDATORS,
|
|
19
|
+
useExisting: forwardRef(() => MaxLengthValidatorDirective),
|
|
20
|
+
multi: true,
|
|
21
|
+
},
|
|
22
|
+
], usesInheritance: true, ngImport: i0 }); }
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MaxLengthValidatorDirective, decorators: [{
|
|
25
|
+
type: Directive,
|
|
26
|
+
args: [{
|
|
27
|
+
standalone: true,
|
|
28
|
+
selector: '[aclMaxlength][formControlName],[aclMaxlength][formControl],[aclMaxlength][ngModel]',
|
|
29
|
+
providers: [
|
|
30
|
+
{
|
|
31
|
+
provide: NG_VALIDATORS,
|
|
32
|
+
useExisting: forwardRef(() => MaxLengthValidatorDirective),
|
|
33
|
+
multi: true,
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
}]
|
|
37
|
+
}], propDecorators: { aclMaxlength: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}] } });
|
|
40
|
+
// 同上
|
|
41
|
+
export class MinLengthValidatorDirective extends MinLengthValidator {
|
|
42
|
+
constructor() {
|
|
43
|
+
super(...arguments);
|
|
44
|
+
this.inputName = 'aclMinlength';
|
|
45
|
+
}
|
|
46
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MinLengthValidatorDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
47
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: MinLengthValidatorDirective, isStandalone: true, selector: "[aclMinlength][formControlName],[aclMinlength][formControl],[aclMinlength][ngModel]", inputs: { aclMinlength: "aclMinlength" }, providers: [
|
|
48
|
+
{
|
|
49
|
+
provide: NG_VALIDATORS,
|
|
50
|
+
useExisting: forwardRef(() => MinLengthValidatorDirective),
|
|
51
|
+
multi: true,
|
|
52
|
+
},
|
|
53
|
+
], usesInheritance: true, ngImport: i0 }); }
|
|
54
|
+
}
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MinLengthValidatorDirective, decorators: [{
|
|
56
|
+
type: Directive,
|
|
57
|
+
args: [{
|
|
58
|
+
standalone: true,
|
|
59
|
+
selector: '[aclMinlength][formControlName],[aclMinlength][formControl],[aclMinlength][ngModel]',
|
|
60
|
+
providers: [
|
|
61
|
+
{
|
|
62
|
+
provide: NG_VALIDATORS,
|
|
63
|
+
useExisting: forwardRef(() => MinLengthValidatorDirective),
|
|
64
|
+
multi: true,
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
}]
|
|
68
|
+
}], propDecorators: { aclMinlength: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}] } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4bGVuZ3RoLW1pbmxlbmd0aC12YWxpZGF0b3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2Zvcm0vdmFsaWRhdG9ycy9tYXhsZW5ndGgtbWlubGVuZ3RoLXZhbGlkYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLGFBQWEsR0FDZCxNQUFNLGdCQUFnQixDQUFDOztBQUN4Qjs7Ozs7R0FLRztBQWFILE1BQU0sT0FBTywyQkFBNEIsU0FBUSxrQkFBa0I7SUFabkU7O1FBZ0JFLGNBQVMsR0FBRyxjQUFjLENBQUM7S0FDNUI7OEdBTFksMkJBQTJCO2tHQUEzQiwyQkFBMkIsNEtBUjNCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7Z0JBQzFELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRjs7MkZBRVUsMkJBQTJCO2tCQVp2QyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQ04scUZBQXFGO29CQUN2RixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDOzRCQUMxRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs4QkFHQyxZQUFZO3NCQURYLEtBQUs7O0FBTVIsS0FBSztBQWFMLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxrQkFBa0I7SUFabkU7O1FBZ0JFLGNBQVMsR0FBRyxjQUFjLENBQUM7S0FDNUI7OEdBTFksMkJBQTJCO2tHQUEzQiwyQkFBMkIsNEtBUjNCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7Z0JBQzFELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRjs7MkZBRVUsMkJBQTJCO2tCQVp2QyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQ04scUZBQXFGO29CQUN2RixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDOzRCQUMxRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs4QkFHQyxZQUFZO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNYXhMZW5ndGhWYWxpZGF0b3IsXG4gIE1pbkxlbmd0aFZhbGlkYXRvcixcbiAgTkdfVkFMSURBVE9SUyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuLyoqXG4gKiDlip/og73lkowgTWF4TGVuZ3RoVmFsaWRhdG9yIOWujOWFqOS4gOagt++8jOWUr+S4gOeahOWMuuWIq+WwseaYr+S4jeiuvue9riBob3N0IG1heGxlbmd0aCBhdHRyaWJ1dGVcbiAqIOS9v+eUqOWcuuaZr++8mm5nTW9kZWwg55qE6KGo5Y2V5biM5pyb6K6+572uIG1heGxlbmd0aCB2YWxpZGF0b3Ig5L2G5LiN55u46ZmQ5Yi26L6T5YWl5qGG6L6T5YWl55qE5a2X56ym44CCXG4gKiDmr5TlpoLkuqflk4HluIzmnJvmnIDplb8gMjAg5Liq5a2X56ym77yM6LaF6L+HIDIwIOS4quWtl+espue6ouiJsuaPkOmGklxuICogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9ibG9iL21haW4vcGFja2FnZXMvZm9ybXMvc3JjL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy50cyNMNTkxXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjpcbiAgICAnW2FjbE1heGxlbmd0aF1bZm9ybUNvbnRyb2xOYW1lXSxbYWNsTWF4bGVuZ3RoXVtmb3JtQ29udHJvbF0sW2FjbE1heGxlbmd0aF1bbmdNb2RlbF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTWF4TGVuZ3RoVmFsaWRhdG9yRGlyZWN0aXZlKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1heExlbmd0aFZhbGlkYXRvckRpcmVjdGl2ZSBleHRlbmRzIE1heExlbmd0aFZhbGlkYXRvciB7XG4gIEBJbnB1dCgpXG4gIGFjbE1heGxlbmd0aDogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIGlucHV0TmFtZSA9ICdhY2xNYXhsZW5ndGgnO1xufVxuXG4vLyDlkIzkuIpcbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjpcbiAgICAnW2FjbE1pbmxlbmd0aF1bZm9ybUNvbnRyb2xOYW1lXSxbYWNsTWlubGVuZ3RoXVtmb3JtQ29udHJvbF0sW2FjbE1pbmxlbmd0aF1bbmdNb2RlbF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTWluTGVuZ3RoVmFsaWRhdG9yRGlyZWN0aXZlKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1pbkxlbmd0aFZhbGlkYXRvckRpcmVjdGl2ZSBleHRlbmRzIE1pbkxlbmd0aFZhbGlkYXRvciB7XG4gIEBJbnB1dCgpXG4gIGFjbE1pbmxlbmd0aDogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIGlucHV0TmFtZSA9ICdhY2xNaW5sZW5ndGgnO1xufVxuIl19
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Directive, Input, forwardRef } from '@angular/core';
|
|
3
|
+
import { NG_VALIDATORS, } from '@angular/forms';
|
|
4
|
+
import { ValueHook } from '../../utils';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class NotBeValidatorDirective {
|
|
7
|
+
validate(control) {
|
|
8
|
+
const value = control.value;
|
|
9
|
+
if (this.notBeValues?.some(notBeValue => typeof notBeValue === 'string'
|
|
10
|
+
? notBeValue === value
|
|
11
|
+
: notBeValue?.test(value))) {
|
|
12
|
+
return {
|
|
13
|
+
notBe: control.value,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
registerOnValidatorChange(fn) {
|
|
18
|
+
this.onValidatorChange = fn;
|
|
19
|
+
}
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NotBeValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
21
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: NotBeValidatorDirective, isStandalone: true, selector: "[aclNotBe][ngModel],[aclNotBe][formControl],[aclNotBe][formControlName]", inputs: { aclNotBe: "aclNotBe" }, providers: [
|
|
22
|
+
{
|
|
23
|
+
provide: NG_VALIDATORS,
|
|
24
|
+
useExisting: forwardRef(() => NotBeValidatorDirective),
|
|
25
|
+
multi: true,
|
|
26
|
+
},
|
|
27
|
+
], ngImport: i0 }); }
|
|
28
|
+
}
|
|
29
|
+
__decorate([
|
|
30
|
+
ValueHook(null, null, function (notBe) {
|
|
31
|
+
this.notBeValues = notBe
|
|
32
|
+
? Array.isArray(notBe)
|
|
33
|
+
? notBe
|
|
34
|
+
: [notBe]
|
|
35
|
+
: null;
|
|
36
|
+
this.onValidatorChange?.();
|
|
37
|
+
}),
|
|
38
|
+
__metadata("design:type", Object)
|
|
39
|
+
], NotBeValidatorDirective.prototype, "aclNotBe", void 0);
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NotBeValidatorDirective, decorators: [{
|
|
41
|
+
type: Directive,
|
|
42
|
+
args: [{
|
|
43
|
+
standalone: true,
|
|
44
|
+
selector: '[aclNotBe][ngModel],[aclNotBe][formControl],[aclNotBe][formControlName]',
|
|
45
|
+
providers: [
|
|
46
|
+
{
|
|
47
|
+
provide: NG_VALIDATORS,
|
|
48
|
+
useExisting: forwardRef(() => NotBeValidatorDirective),
|
|
49
|
+
multi: true,
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
}]
|
|
53
|
+
}], propDecorators: { aclNotBe: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}] } });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LWJlLXZhbGlkYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvZm9ybS92YWxpZGF0b3JzL25vdC1iZS12YWxpZGF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUVMLGFBQWEsR0FHZCxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBZ0J4QyxNQUFNLE9BQU8sdUJBQXVCO0lBb0JsQyxRQUFRLENBQUMsT0FBd0I7UUFDL0IsTUFBTSxLQUFLLEdBQVcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNwQyxJQUNFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQ2xDLE9BQU8sVUFBVSxLQUFLLFFBQVE7WUFDNUIsQ0FBQyxDQUFDLFVBQVUsS0FBSyxLQUFLO1lBQ3RCLENBQUMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUM1QixFQUNELENBQUM7WUFDRCxPQUFPO2dCQUNMLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSzthQUNyQixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxFQUFjO1FBQ3RDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQzs4R0FyQ1UsdUJBQXVCO2tHQUF2Qix1QkFBdUIsd0pBUnZCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7Z0JBQ3RELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRjs7QUFnQkQ7SUFiQyxTQUFTLENBQ1IsSUFBSSxFQUNKLElBQUksRUFDSixVQUF5QyxLQUFnQztRQUN2RSxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUs7WUFDdEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO2dCQUNwQixDQUFDLENBQUMsS0FBSztnQkFDUCxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDWCxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztJQUM3QixDQUFDLENBQ0Y7O3lEQUVtQzsyRkFkekIsdUJBQXVCO2tCQVpuQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQ04seUVBQXlFO29CQUMzRSxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs4QkFlQyxRQUFRO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBWYWx1ZUhvb2sgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmV4cG9ydCB0eXBlIE5vdEJlVmFsdWUgPSBzdHJpbmcgfCBSZWdFeHA7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjpcbiAgICAnW2FjbE5vdEJlXVtuZ01vZGVsXSxbYWNsTm90QmVdW2Zvcm1Db250cm9sXSxbYWNsTm90QmVdW2Zvcm1Db250cm9sTmFtZV0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTm90QmVWYWxpZGF0b3JEaXJlY3RpdmUpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTm90QmVWYWxpZGF0b3JEaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuICBAVmFsdWVIb29rKFxuICAgIG51bGwsXG4gICAgbnVsbCxcbiAgICBmdW5jdGlvbiAodGhpczogTm90QmVWYWxpZGF0b3JEaXJlY3RpdmUsIG5vdEJlOiBOb3RCZVZhbHVlIHwgTm90QmVWYWx1ZVtdKSB7XG4gICAgICB0aGlzLm5vdEJlVmFsdWVzID0gbm90QmVcbiAgICAgICAgPyBBcnJheS5pc0FycmF5KG5vdEJlKVxuICAgICAgICAgID8gbm90QmVcbiAgICAgICAgICA6IFtub3RCZV1cbiAgICAgICAgOiBudWxsO1xuICAgICAgdGhpcy5vblZhbGlkYXRvckNoYW5nZT8uKCk7XG4gICAgfSxcbiAgKVxuICBASW5wdXQoKVxuICBhY2xOb3RCZTogTm90QmVWYWx1ZSB8IE5vdEJlVmFsdWVbXTtcblxuICBub3RCZVZhbHVlczogTm90QmVWYWx1ZVtdO1xuXG4gIG9uVmFsaWRhdG9yQ2hhbmdlOiAoKSA9PiB2b2lkO1xuXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSBjb250cm9sLnZhbHVlO1xuICAgIGlmIChcbiAgICAgIHRoaXMubm90QmVWYWx1ZXM/LnNvbWUobm90QmVWYWx1ZSA9PlxuICAgICAgICB0eXBlb2Ygbm90QmVWYWx1ZSA9PT0gJ3N0cmluZydcbiAgICAgICAgICA/IG5vdEJlVmFsdWUgPT09IHZhbHVlXG4gICAgICAgICAgOiBub3RCZVZhbHVlPy50ZXN0KHZhbHVlKSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5vdEJlOiBjb250cm9sLnZhbHVlLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vblZhbGlkYXRvckNoYW5nZSA9IGZuO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Directive, Input, forwardRef } from '@angular/core';
|
|
3
|
+
import { NG_VALIDATORS, } from '@angular/forms';
|
|
4
|
+
import { ValueHook } from '../../utils';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class OneOfValidatorDirective {
|
|
7
|
+
validate(control) {
|
|
8
|
+
const value = control.value;
|
|
9
|
+
if (this.oneOfValues &&
|
|
10
|
+
!this.oneOfValues?.some(oneOfValue => typeof oneOfValue === 'string'
|
|
11
|
+
? oneOfValue === value
|
|
12
|
+
: oneOfValue?.test(value))) {
|
|
13
|
+
return {
|
|
14
|
+
oneOf: control.value,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
registerOnValidatorChange(fn) {
|
|
19
|
+
this.onValidatorChange = fn;
|
|
20
|
+
}
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: OneOfValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
22
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: OneOfValidatorDirective, isStandalone: true, selector: "[aclOneOf][ngModel],[aclOneOf][formControl],[aclOneOf][formControlName]", inputs: { aclOneOf: "aclOneOf" }, providers: [
|
|
23
|
+
{
|
|
24
|
+
provide: NG_VALIDATORS,
|
|
25
|
+
useExisting: forwardRef(() => OneOfValidatorDirective),
|
|
26
|
+
multi: true,
|
|
27
|
+
},
|
|
28
|
+
], ngImport: i0 }); }
|
|
29
|
+
}
|
|
30
|
+
__decorate([
|
|
31
|
+
ValueHook(null, null, function (oneOf) {
|
|
32
|
+
this.oneOfValues = oneOf
|
|
33
|
+
? Array.isArray(oneOf)
|
|
34
|
+
? oneOf
|
|
35
|
+
: [oneOf]
|
|
36
|
+
: null;
|
|
37
|
+
this.onValidatorChange?.();
|
|
38
|
+
}),
|
|
39
|
+
__metadata("design:type", Object)
|
|
40
|
+
], OneOfValidatorDirective.prototype, "aclOneOf", void 0);
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: OneOfValidatorDirective, decorators: [{
|
|
42
|
+
type: Directive,
|
|
43
|
+
args: [{
|
|
44
|
+
standalone: true,
|
|
45
|
+
selector: '[aclOneOf][ngModel],[aclOneOf][formControl],[aclOneOf][formControlName]',
|
|
46
|
+
providers: [
|
|
47
|
+
{
|
|
48
|
+
provide: NG_VALIDATORS,
|
|
49
|
+
useExisting: forwardRef(() => OneOfValidatorDirective),
|
|
50
|
+
multi: true,
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
}]
|
|
54
|
+
}], propDecorators: { aclOneOf: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}] } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLW9mLXZhbGlkYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvZm9ybS92YWxpZGF0b3JzL29uZS1vZi12YWxpZGF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUVMLGFBQWEsR0FHZCxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBZ0J4QyxNQUFNLE9BQU8sdUJBQXVCO0lBb0JsQyxRQUFRLENBQUMsT0FBd0I7UUFDL0IsTUFBTSxLQUFLLEdBQVcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNwQyxJQUNFLElBQUksQ0FBQyxXQUFXO1lBQ2hCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FDbkMsT0FBTyxVQUFVLEtBQUssUUFBUTtnQkFDNUIsQ0FBQyxDQUFDLFVBQVUsS0FBSyxLQUFLO2dCQUN0QixDQUFDLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDNUIsRUFDRCxDQUFDO1lBQ0QsT0FBTztnQkFDTCxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7YUFDckIsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQseUJBQXlCLENBQUMsRUFBYztRQUN0QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7OEdBdENVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHdKQVJ2QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2dCQUN0RCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7O0FBZ0JEO0lBYkMsU0FBUyxDQUNSLElBQUksRUFDSixJQUFJLEVBQ0osVUFBeUMsS0FBZ0M7UUFDdkUsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLO1lBQ3RCLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLEtBQUs7Z0JBQ1AsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ1gsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNULElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7SUFDN0IsQ0FBQyxDQUNGOzt5REFFbUM7MkZBZHpCLHVCQUF1QjtrQkFabkMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUNOLHlFQUF5RTtvQkFDM0UsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7OEJBZUMsUUFBUTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBOR19WQUxJREFUT1JTLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVmFsdWVIb29rIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgdHlwZSBPbmVPZlZhbHVlID0gc3RyaW5nIHwgUmVnRXhwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6XG4gICAgJ1thY2xPbmVPZl1bbmdNb2RlbF0sW2FjbE9uZU9mXVtmb3JtQ29udHJvbF0sW2FjbE9uZU9mXVtmb3JtQ29udHJvbE5hbWVdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE9uZU9mVmFsaWRhdG9yRGlyZWN0aXZlKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE9uZU9mVmFsaWRhdG9yRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcbiAgQFZhbHVlSG9vayhcbiAgICBudWxsLFxuICAgIG51bGwsXG4gICAgZnVuY3Rpb24gKHRoaXM6IE9uZU9mVmFsaWRhdG9yRGlyZWN0aXZlLCBvbmVPZjogT25lT2ZWYWx1ZSB8IE9uZU9mVmFsdWVbXSkge1xuICAgICAgdGhpcy5vbmVPZlZhbHVlcyA9IG9uZU9mXG4gICAgICAgID8gQXJyYXkuaXNBcnJheShvbmVPZilcbiAgICAgICAgICA/IG9uZU9mXG4gICAgICAgICAgOiBbb25lT2ZdXG4gICAgICAgIDogbnVsbDtcbiAgICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2U/LigpO1xuICAgIH0sXG4gIClcbiAgQElucHV0KClcbiAgYWNsT25lT2Y6IE9uZU9mVmFsdWUgfCBPbmVPZlZhbHVlW107XG5cbiAgb25lT2ZWYWx1ZXM6IE9uZU9mVmFsdWVbXTtcblxuICBvblZhbGlkYXRvckNoYW5nZTogKCkgPT4gdm9pZDtcblxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHtcbiAgICBjb25zdCB2YWx1ZTogc3RyaW5nID0gY29udHJvbC52YWx1ZTtcbiAgICBpZiAoXG4gICAgICB0aGlzLm9uZU9mVmFsdWVzICYmXG4gICAgICAhdGhpcy5vbmVPZlZhbHVlcz8uc29tZShvbmVPZlZhbHVlID0+XG4gICAgICAgIHR5cGVvZiBvbmVPZlZhbHVlID09PSAnc3RyaW5nJ1xuICAgICAgICAgID8gb25lT2ZWYWx1ZSA9PT0gdmFsdWVcbiAgICAgICAgICA6IG9uZU9mVmFsdWU/LnRlc3QodmFsdWUpLFxuICAgICAgKVxuICAgICkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb25lT2Y6IGNvbnRyb2wudmFsdWUsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uVmFsaWRhdG9yQ2hhbmdlID0gZm47XG4gIH1cbn1cbiJdfQ==
|