@alauda-fe/dynamic-plugin-shared 0.0.1-alpha.8 → 0.0.3-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/assets/i18n/en/dynamic-plugin-shared.json +3 -0
- package/assets/images/overview-banner.svg +1 -0
- package/fesm2022/alauda-fe-dynamic-plugin-shared.mjs +3038 -1828
- package/fesm2022/alauda-fe-dynamic-plugin-shared.mjs.map +1 -1
- package/package.json +15 -17
- package/styles/lib.scss +1 -1
- package/styles/mixins.scss +1 -210
- package/styles/var.scss +1 -26
- package/types/alauda-fe-dynamic-plugin-shared.d.ts +5692 -0
- package/array-form-table/base-string-map-form.component.d.ts +0 -22
- package/array-form-table/form/component.d.ts +0 -106
- package/array-form-table/form/index.d.ts +0 -3
- package/array-form-table/index.d.ts +0 -10
- package/array-form-table/key-value-form/component.d.ts +0 -38
- package/array-form-table/key-value-table/component.d.ts +0 -9
- package/array-form-table/string-array-form/component.d.ts +0 -41
- package/async-data/async-data-loader.d.ts +0 -31
- package/async-data/error-page/component.d.ts +0 -30
- package/async-data/index.d.ts +0 -13
- package/async-data/page-state/component.d.ts +0 -21
- package/async-data/types.d.ts +0 -29
- package/code-editor/code-display-dialog/component.d.ts +0 -17
- package/code-editor/code-editor-configs.d.ts +0 -19
- package/code-editor/index.d.ts +0 -10
- package/code-editor/k8s-yaml-display-dialog/component.d.ts +0 -16
- package/code-editor/resource-yaml-display/component.d.ts +0 -21
- package/components/card-section/card-section.component.d.ts +0 -9
- package/components/confirm-delete/confirm-delete.component.d.ts +0 -57
- package/components/confirm-delete/utils.d.ts +0 -25
- package/components/current-time/component.d.ts +0 -14
- package/components/custom-columns-setting/component.d.ts +0 -16
- package/components/custom-columns-setting/index.d.ts +0 -1
- package/components/date-range-picker/component.d.ts +0 -55
- package/components/date-range-picker/index.d.ts +0 -3
- package/components/date-range-picker/type.d.ts +0 -36
- package/components/date-range-picker/util.d.ts +0 -11
- package/components/disabled-container/disabled-container.component.d.ts +0 -21
- package/components/disabled-container/index.d.ts +0 -7
- package/components/field-set/column/component.d.ts +0 -10
- package/components/field-set/group/component.d.ts +0 -6
- package/components/field-set/index.d.ts +0 -7
- package/components/field-set/item/component.d.ts +0 -13
- package/components/foldable-block/component.d.ts +0 -17
- package/components/foldable-item-in-table/component.d.ts +0 -21
- package/components/help-document/component.d.ts +0 -29
- package/components/help-document/directive.d.ts +0 -20
- package/components/help-document/index.d.ts +0 -8
- package/components/help-document/service.d.ts +0 -20
- package/components/index.d.ts +0 -32
- package/components/loading-mask/loading-mask.component.d.ts +0 -13
- package/components/page-guard/component/component.d.ts +0 -40
- package/components/page-guard/component/helper-directives.d.ts +0 -17
- package/components/page-guard/component/page-guard.type.d.ts +0 -86
- package/components/page-guard/index.d.ts +0 -12
- package/components/password-input/component.d.ts +0 -39
- package/components/pod-status/component.d.ts +0 -25
- package/components/pod-status/index.d.ts +0 -3
- package/components/pod-status/status.d.ts +0 -4
- package/components/pod-status/typings.d.ts +0 -16
- package/components/relative-time/component.d.ts +0 -15
- package/components/resource-label/component.d.ts +0 -25
- package/components/resource-multi-select/component.d.ts +0 -41
- package/components/resource-multi-select/util.d.ts +0 -10
- package/components/search-panel/component.d.ts +0 -16
- package/components/search-panel/helper.directive.d.ts +0 -5
- package/components/search-panel/search-item/component.d.ts +0 -7
- package/components/select-prefix-label/directive.d.ts +0 -17
- package/components/status-icon/status-icon.component.d.ts +0 -16
- package/components/tags-label/component.d.ts +0 -56
- package/components/terminating-tag/component.d.ts +0 -7
- package/components/text-ellipsis/component.d.ts +0 -9
- package/components/text-tooltip/directive.d.ts +0 -21
- package/components/text-with-url/component.d.ts +0 -12
- package/components/upload-file/component.d.ts +0 -32
- package/components/workload-status/component.d.ts +0 -37
- package/components/workload-status/index.d.ts +0 -1
- package/components/zero-state/zero-state.component.d.ts +0 -17
- package/constants/common.d.ts +0 -64
- package/constants/index.d.ts +0 -6
- package/constants/k8s.d.ts +0 -12
- package/constants/patterns.d.ts +0 -124
- package/constants/resource-definitions.d.ts +0 -414
- package/constants/status-icons.d.ts +0 -34
- package/constants/timezones.d.ts +0 -6
- package/directives/aui-code-editor.directive.d.ts +0 -13
- package/directives/click-outside.directive.d.ts +0 -12
- package/directives/declare.directive.d.ts +0 -8
- package/directives/disabled.directive.d.ts +0 -28
- package/directives/effect-directive/coerce-number.directive.d.ts +0 -8
- package/directives/effect-directive/e2e-attribute-binding.directive.d.ts +0 -10
- package/directives/effect-directive/event.directive.d.ts +0 -47
- package/directives/effect-directive/index.d.ts +0 -12
- package/directives/effect-directive/min-max.directive.d.ts +0 -30
- package/directives/effect-directive/trim.directive.d.ts +0 -7
- package/directives/effect-directive/validators.directive.d.ts +0 -12
- package/directives/feature-gate.directive.d.ts +0 -31
- package/directives/index.d.ts +0 -12
- package/directives/last-form-item.directive.d.ts +0 -8
- package/directives/readonly-field.directive.d.ts +0 -39
- package/directives/resize.directive.d.ts +0 -17
- package/directives/scroll-border-observer.directive.d.ts +0 -23
- package/directives/scroll-to-first-invalid.directive.d.ts +0 -24
- package/directives/value-trace.directive.d.ts +0 -27
- package/esm2022/alauda-fe-dynamic-plugin-shared.mjs +0 -5
- package/esm2022/array-form-table/base-string-map-form.component.mjs +0 -92
- package/esm2022/array-form-table/form/component.mjs +0 -266
- package/esm2022/array-form-table/form/index.mjs +0 -13
- package/esm2022/array-form-table/index.mjs +0 -11
- package/esm2022/array-form-table/key-value-form/component.mjs +0 -135
- package/esm2022/array-form-table/key-value-table/component.mjs +0 -24
- package/esm2022/array-form-table/string-array-form/component.mjs +0 -168
- package/esm2022/async-data/async-data-loader.mjs +0 -63
- package/esm2022/async-data/error-page/component.mjs +0 -54
- package/esm2022/async-data/index.mjs +0 -18
- package/esm2022/async-data/page-state/component.mjs +0 -62
- package/esm2022/async-data/types.mjs +0 -6
- package/esm2022/code-editor/code-display-dialog/component.mjs +0 -35
- package/esm2022/code-editor/code-editor-configs.mjs +0 -66
- package/esm2022/code-editor/index.mjs +0 -11
- package/esm2022/code-editor/k8s-yaml-display-dialog/component.mjs +0 -26
- package/esm2022/code-editor/resource-yaml-display/component.mjs +0 -67
- package/esm2022/components/card-section/card-section.component.mjs +0 -24
- package/esm2022/components/confirm-delete/confirm-delete.component.mjs +0 -192
- package/esm2022/components/confirm-delete/utils.mjs +0 -8
- package/esm2022/components/current-time/component.mjs +0 -39
- package/esm2022/components/custom-columns-setting/component.mjs +0 -75
- package/esm2022/components/custom-columns-setting/index.mjs +0 -2
- package/esm2022/components/date-range-picker/component.mjs +0 -215
- package/esm2022/components/date-range-picker/index.mjs +0 -4
- package/esm2022/components/date-range-picker/type.mjs +0 -2
- package/esm2022/components/date-range-picker/util.mjs +0 -57
- package/esm2022/components/disabled-container/disabled-container.component.mjs +0 -81
- package/esm2022/components/disabled-container/index.mjs +0 -8
- package/esm2022/components/field-set/column/component.mjs +0 -25
- package/esm2022/components/field-set/group/component.mjs +0 -16
- package/esm2022/components/field-set/index.mjs +0 -14
- package/esm2022/components/field-set/item/component.mjs +0 -41
- package/esm2022/components/foldable-block/component.mjs +0 -60
- package/esm2022/components/foldable-item-in-table/component.mjs +0 -56
- package/esm2022/components/help-document/component.mjs +0 -69
- package/esm2022/components/help-document/directive.mjs +0 -70
- package/esm2022/components/help-document/index.mjs +0 -9
- package/esm2022/components/help-document/service.mjs +0 -43
- package/esm2022/components/index.mjs +0 -33
- package/esm2022/components/loading-mask/loading-mask.component.mjs +0 -35
- package/esm2022/components/page-guard/component/component.mjs +0 -101
- package/esm2022/components/page-guard/component/helper-directives.mjs +0 -51
- package/esm2022/components/page-guard/component/page-guard.type.mjs +0 -82
- package/esm2022/components/page-guard/index.mjs +0 -19
- package/esm2022/components/password-input/component.mjs +0 -143
- package/esm2022/components/pod-status/component.mjs +0 -49
- package/esm2022/components/pod-status/index.mjs +0 -4
- package/esm2022/components/pod-status/status.mjs +0 -84
- package/esm2022/components/pod-status/typings.mjs +0 -19
- package/esm2022/components/relative-time/component.mjs +0 -58
- package/esm2022/components/resource-label/component.mjs +0 -100
- package/esm2022/components/resource-multi-select/component.mjs +0 -152
- package/esm2022/components/resource-multi-select/util.mjs +0 -24
- package/esm2022/components/search-panel/component.mjs +0 -51
- package/esm2022/components/search-panel/helper.directive.mjs +0 -14
- package/esm2022/components/search-panel/search-item/component.mjs +0 -15
- package/esm2022/components/select-prefix-label/directive.mjs +0 -89
- package/esm2022/components/status-icon/status-icon.component.mjs +0 -56
- package/esm2022/components/tags-label/component.mjs +0 -224
- package/esm2022/components/terminating-tag/component.mjs +0 -16
- package/esm2022/components/text-ellipsis/component.mjs +0 -28
- package/esm2022/components/text-tooltip/directive.mjs +0 -71
- package/esm2022/components/text-with-url/component.mjs +0 -40
- package/esm2022/components/upload-file/component.mjs +0 -95
- package/esm2022/components/workload-status/component.mjs +0 -33
- package/esm2022/components/workload-status/index.mjs +0 -2
- package/esm2022/components/zero-state/zero-state.component.mjs +0 -56
- package/esm2022/constants/common.mjs +0 -86
- package/esm2022/constants/index.mjs +0 -7
- package/esm2022/constants/k8s.mjs +0 -13
- package/esm2022/constants/patterns.mjs +0 -142
- package/esm2022/constants/resource-definitions.mjs +0 -424
- package/esm2022/constants/status-icons.mjs +0 -65
- package/esm2022/constants/timezones.mjs +0 -234
- package/esm2022/directives/aui-code-editor.directive.mjs +0 -30
- package/esm2022/directives/click-outside.directive.mjs +0 -49
- package/esm2022/directives/declare.directive.mjs +0 -27
- package/esm2022/directives/disabled.directive.mjs +0 -76
- package/esm2022/directives/effect-directive/coerce-number.directive.mjs +0 -54
- package/esm2022/directives/effect-directive/e2e-attribute-binding.directive.mjs +0 -57
- package/esm2022/directives/effect-directive/event.directive.mjs +0 -129
- package/esm2022/directives/effect-directive/index.mjs +0 -21
- package/esm2022/directives/effect-directive/min-max.directive.mjs +0 -107
- package/esm2022/directives/effect-directive/trim.directive.mjs +0 -40
- package/esm2022/directives/effect-directive/validators.directive.mjs +0 -43
- package/esm2022/directives/feature-gate.directive.mjs +0 -90
- package/esm2022/directives/index.mjs +0 -13
- package/esm2022/directives/last-form-item.directive.mjs +0 -18
- package/esm2022/directives/readonly-field.directive.mjs +0 -145
- package/esm2022/directives/resize.directive.mjs +0 -39
- package/esm2022/directives/scroll-border-observer.directive.mjs +0 -77
- package/esm2022/directives/scroll-to-first-invalid.directive.mjs +0 -126
- package/esm2022/directives/value-trace.directive.mjs +0 -61
- package/esm2022/form/base-form-container.mjs +0 -126
- package/esm2022/form/base-nested-form-control.mjs +0 -190
- package/esm2022/form/errors-mapper/base-errors-mapper.mjs +0 -41
- package/esm2022/form/errors-mapper/default-errors-mapper.service.mjs +0 -65
- package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +0 -53
- package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +0 -109
- package/esm2022/form/errors-mapper/index.mjs +0 -10
- package/esm2022/form/errors-mapper/types.mjs +0 -2
- package/esm2022/form/index.mjs +0 -6
- package/esm2022/form/utils.mjs +0 -61
- package/esm2022/form/validators/async-function-validator.directive.mjs +0 -49
- package/esm2022/form/validators/dns1123-subdomain.mjs +0 -42
- package/esm2022/form/validators/function-validator.directive.mjs +0 -49
- package/esm2022/form/validators/index.mjs +0 -10
- package/esm2022/form/validators/maxlength-minlength-validator.directive.mjs +0 -71
- package/esm2022/form/validators/not-be-validator.directive.mjs +0 -56
- package/esm2022/form/validators/one-of-validator.directive.mjs +0 -57
- package/esm2022/form/validators/resource-limit.mjs +0 -79
- package/esm2022/form/validators/strong-password/index.mjs +0 -4
- package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +0 -15
- package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +0 -171
- package/esm2022/form/validators/strong-password/strong-password-validator.module.mjs +0 -36
- package/esm2022/form/validators/utils.mjs +0 -155
- package/esm2022/index.mjs +0 -15
- package/esm2022/k8s-resource-list/footer/component.mjs +0 -161
- package/esm2022/k8s-resource-list/index.mjs +0 -18
- package/esm2022/k8s-resource-list/k8s-resource-list.mjs +0 -224
- package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +0 -174
- package/esm2022/k8s-resource-list/types.mjs +0 -11
- package/esm2022/k8s-resource-list/utils.mjs +0 -84
- package/esm2022/k8s-shared/constants.mjs +0 -53
- package/esm2022/k8s-shared/index.mjs +0 -12
- package/esm2022/k8s-shared/k8s-resource-translate-key.pipe.mjs +0 -31
- package/esm2022/k8s-shared/k8s-shared-util.service.mjs +0 -152
- package/esm2022/k8s-shared/resource-mark/component.mjs +0 -54
- package/esm2022/k8s-shared/resource-mark/util.mjs +0 -137
- package/esm2022/k8s-shared/update-description-dialog/component.mjs +0 -66
- package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +0 -59
- package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +0 -76
- package/esm2022/page-deactivate/deactivate.directive.mjs +0 -50
- package/esm2022/page-deactivate/deactivate.guard.mjs +0 -41
- package/esm2022/page-deactivate/deactivate.service.mjs +0 -78
- package/esm2022/page-deactivate/index.mjs +0 -4
- package/esm2022/pipes/calc.pipe.mjs +0 -21
- package/esm2022/pipes/cron-human-readable.pipe.mjs +0 -30
- package/esm2022/pipes/crontab-next.pipe.mjs +0 -67
- package/esm2022/pipes/duration.pipe.mjs +0 -51
- package/esm2022/pipes/field-not-available.pipe.mjs +0 -25
- package/esm2022/pipes/img-header.pipe.mjs +0 -18
- package/esm2022/pipes/img-theme.pipe.mjs +0 -38
- package/esm2022/pipes/index.mjs +0 -19
- package/esm2022/pipes/keyvalue.pipe.mjs +0 -20
- package/esm2022/pipes/marked.pipe.mjs +0 -18
- package/esm2022/pipes/minimum-format.pipe.mjs +0 -25
- package/esm2022/pipes/page-env.pipe.mjs +0 -69
- package/esm2022/pipes/parse-json-translate.pipe.mjs +0 -28
- package/esm2022/pipes/parse-json.pipe.mjs +0 -22
- package/esm2022/pipes/pure.pipe.mjs +0 -26
- package/esm2022/pipes/safe.pipe.mjs +0 -49
- package/esm2022/pipes/sanitize.pipe.mjs +0 -31
- package/esm2022/pipes/time.pipe.mjs +0 -113
- package/esm2022/pipes/timezone-display.pipe.mjs +0 -21
- package/esm2022/services/form-row-duplicate/form-row-duplicate.service.mjs +0 -280
- package/esm2022/services/index.mjs +0 -4
- package/esm2022/services/on-resize.service.mjs +0 -52
- package/esm2022/services/yaml-util.service.mjs +0 -99
- package/esm2022/types/common.mjs +0 -6
- package/esm2022/types/helpers.mjs +0 -12
- package/esm2022/types/index.mjs +0 -9
- package/esm2022/types/k8s/core.mjs +0 -2
- package/esm2022/types/k8s/crd.mjs +0 -57
- package/esm2022/types/k8s/index.mjs +0 -4
- package/esm2022/types/k8s/raw.mjs +0 -77
- package/esm2022/types/schema.mjs +0 -2
- package/esm2022/utils/browser.mjs +0 -21
- package/esm2022/utils/cache-store.mjs +0 -83
- package/esm2022/utils/color-helpers.mjs +0 -6
- package/esm2022/utils/common.mjs +0 -315
- package/esm2022/utils/cron-util.mjs +0 -44
- package/esm2022/utils/decorators.mjs +0 -137
- package/esm2022/utils/disabled-state.mjs +0 -47
- package/esm2022/utils/format-number.mjs +0 -227
- package/esm2022/utils/index.mjs +0 -24
- package/esm2022/utils/local-storage-constants.mjs +0 -2
- package/esm2022/utils/node.mjs +0 -18
- package/esm2022/utils/observable.mjs +0 -32
- package/esm2022/utils/operators.mjs +0 -38
- package/esm2022/utils/request-pool.mjs +0 -37
- package/esm2022/utils/resources.mjs +0 -66
- package/esm2022/utils/router.mjs +0 -20
- package/esm2022/utils/sort-fn.mjs +0 -7
- package/esm2022/utils/tree.mjs +0 -79
- package/esm2022/utils/unit.mjs +0 -191
- package/esm2022/utils/version.mjs +0 -76
- package/esm2022/utils/with-load-state.mjs +0 -21
- package/esm2022/utils/workload.mjs +0 -183
- package/esm2022/utils/workspace.mjs +0 -59
- package/esm2022/utils/yaml.mjs +0 -54
- package/form/base-form-container.d.ts +0 -41
- package/form/base-nested-form-control.d.ts +0 -58
- package/form/errors-mapper/base-errors-mapper.d.ts +0 -13
- package/form/errors-mapper/default-errors-mapper.service.d.ts +0 -10
- package/form/errors-mapper/errors-mapper-component/component.d.ts +0 -19
- package/form/errors-mapper/errors-mapper.directive.d.ts +0 -39
- package/form/errors-mapper/index.d.ts +0 -6
- package/form/errors-mapper/types.d.ts +0 -16
- package/form/index.d.ts +0 -5
- package/form/utils.d.ts +0 -40
- package/form/validators/async-function-validator.directive.d.ts +0 -11
- package/form/validators/dns1123-subdomain.d.ts +0 -28
- package/form/validators/function-validator.directive.d.ts +0 -11
- package/form/validators/index.d.ts +0 -9
- package/form/validators/maxlength-minlength-validator.directive.d.ts +0 -20
- package/form/validators/not-be-validator.directive.d.ts +0 -12
- package/form/validators/one-of-validator.directive.d.ts +0 -12
- package/form/validators/resource-limit.d.ts +0 -17
- package/form/validators/strong-password/index.d.ts +0 -3
- package/form/validators/strong-password/strong-password-tooltip/component.d.ts +0 -6
- package/form/validators/strong-password/strong-password-validator.directive.d.ts +0 -34
- package/form/validators/strong-password/strong-password-validator.module.d.ts +0 -12
- package/form/validators/utils.d.ts +0 -67
- package/index.d.ts +0 -14
- package/k8s-resource-list/footer/component.d.ts +0 -43
- package/k8s-resource-list/index.d.ts +0 -13
- package/k8s-resource-list/k8s-resource-list.d.ts +0 -42
- package/k8s-resource-list/k8s-resource-paged-list.d.ts +0 -61
- package/k8s-resource-list/types.d.ts +0 -70
- package/k8s-resource-list/utils.d.ts +0 -19
- package/k8s-shared/constants.d.ts +0 -7
- package/k8s-shared/index.d.ts +0 -11
- package/k8s-shared/k8s-resource-translate-key.pipe.d.ts +0 -9
- package/k8s-shared/k8s-shared-util.service.d.ts +0 -48
- package/k8s-shared/resource-mark/component.d.ts +0 -16
- package/k8s-shared/resource-mark/util.d.ts +0 -2
- package/k8s-shared/update-description-dialog/component.d.ts +0 -33
- package/k8s-shared/update-display-name-dialog/component.d.ts +0 -27
- package/k8s-shared/update-key-value-dialog/component.d.ts +0 -38
- package/page-deactivate/deactivate.directive.d.ts +0 -18
- package/page-deactivate/deactivate.guard.d.ts +0 -13
- package/page-deactivate/deactivate.service.d.ts +0 -28
- package/page-deactivate/index.d.ts +0 -3
- package/pipes/calc.pipe.d.ts +0 -11
- package/pipes/cron-human-readable.pipe.d.ts +0 -9
- package/pipes/crontab-next.pipe.d.ts +0 -18
- package/pipes/duration.pipe.d.ts +0 -10
- package/pipes/field-not-available.pipe.d.ts +0 -13
- package/pipes/img-header.pipe.d.ts +0 -7
- package/pipes/img-theme.pipe.d.ts +0 -13
- package/pipes/index.d.ts +0 -18
- package/pipes/keyvalue.pipe.d.ts +0 -9
- package/pipes/marked.pipe.d.ts +0 -8
- package/pipes/minimum-format.pipe.d.ts +0 -10
- package/pipes/page-env.pipe.d.ts +0 -34
- package/pipes/parse-json-translate.pipe.d.ts +0 -8
- package/pipes/parse-json.pipe.d.ts +0 -7
- package/pipes/pure.pipe.d.ts +0 -17
- package/pipes/safe.pipe.d.ts +0 -10
- package/pipes/sanitize.pipe.d.ts +0 -10
- package/pipes/time.pipe.d.ts +0 -40
- package/pipes/timezone-display.pipe.d.ts +0 -10
- package/services/form-row-duplicate/form-row-duplicate.service.d.ts +0 -45
- package/services/index.d.ts +0 -3
- package/services/on-resize.service.d.ts +0 -20
- package/services/yaml-util.service.d.ts +0 -20
- package/styles/global.scss +0 -904
- package/types/common.d.ts +0 -42
- package/types/helpers.d.ts +0 -35
- package/types/index.d.ts +0 -8
- package/types/k8s/core.d.ts +0 -100
- package/types/k8s/crd.d.ts +0 -497
- package/types/k8s/index.d.ts +0 -3
- package/types/k8s/raw.d.ts +0 -860
- package/types/schema.d.ts +0 -14
- package/utils/browser.d.ts +0 -4
- package/utils/cache-store.d.ts +0 -35
- package/utils/color-helpers.d.ts +0 -4
- package/utils/common.d.ts +0 -64
- package/utils/cron-util.d.ts +0 -8
- package/utils/decorators.d.ts +0 -14
- package/utils/disabled-state.d.ts +0 -20
- package/utils/format-number.d.ts +0 -11
- package/utils/index.d.ts +0 -23
- package/utils/local-storage-constants.d.ts +0 -1
- package/utils/node.d.ts +0 -8
- package/utils/observable.d.ts +0 -5
- package/utils/operators.d.ts +0 -22
- package/utils/request-pool.d.ts +0 -12
- package/utils/resources.d.ts +0 -19
- package/utils/router.d.ts +0 -3
- package/utils/sort-fn.d.ts +0 -2
- package/utils/tree.d.ts +0 -16
- package/utils/unit.d.ts +0 -21
- package/utils/version.d.ts +0 -39
- package/utils/with-load-state.d.ts +0 -11
- package/utils/workload.d.ts +0 -66
- package/utils/workspace.d.ts +0 -28
- package/utils/yaml.d.ts +0 -11
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
/**
|
|
3
|
-
* @packageDocumentation
|
|
4
|
-
* @module utils
|
|
5
|
-
*/
|
|
6
|
-
import { FormItemControlDirective } from '@alauda/ui';
|
|
7
|
-
import { CdkPortalOutlet, ComponentPortal, TemplatePortal, } from '@angular/cdk/portal';
|
|
8
|
-
import { ChangeDetectionStrategy, Component, ComponentFactoryResolver, Directive, HostBinding, Input, Optional, Self, TemplateRef, ViewContainerRef, } from '@angular/core';
|
|
9
|
-
import { NgControl, } from '@angular/forms';
|
|
10
|
-
import { Observable, Subject, combineLatest, distinctUntilChanged, filter, map, startWith, takeUntil, } from 'rxjs';
|
|
11
|
-
import { FieldNotAvailablePipe } from '../pipes/field-not-available.pipe';
|
|
12
|
-
import { ObservableInput } from '../utils';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
import * as i1 from "@angular/forms";
|
|
15
|
-
import * as i2 from "@alauda/ui";
|
|
16
|
-
export class ReadonlyFieldDirective {
|
|
17
|
-
get isHidden() {
|
|
18
|
-
return this.hidden || this.aclReadonlyField;
|
|
19
|
-
}
|
|
20
|
-
constructor(control, cfr, viewContainerRef,
|
|
21
|
-
// 仅考虑当前control,子control无法知晓父FormItemControl元素 ,包裹了多少个control,以及各自处于什么状态,该情况自行处理
|
|
22
|
-
controlDirective) {
|
|
23
|
-
this.control = control;
|
|
24
|
-
this.cfr = cfr;
|
|
25
|
-
this.viewContainerRef = viewContainerRef;
|
|
26
|
-
this.controlDirective = controlDirective;
|
|
27
|
-
this.isControlRequired = false;
|
|
28
|
-
this.templateContext = {};
|
|
29
|
-
this.destroy$ = new Subject();
|
|
30
|
-
}
|
|
31
|
-
setValue(value) {
|
|
32
|
-
if (this.template) {
|
|
33
|
-
Object.assign(this.templateContext, {
|
|
34
|
-
$implicit: value,
|
|
35
|
-
...this.context,
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
this.spanComponentRef.instance.setData(value);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
ngOnInit() {
|
|
43
|
-
const controlEntity = this.control.control;
|
|
44
|
-
// formControl will compose multi validators to 1, no matter defined in template nor FormBuilder
|
|
45
|
-
const { validator, asyncValidator } = controlEntity;
|
|
46
|
-
this.isControlRequired = this.controlDirective?.required || false;
|
|
47
|
-
const portalOutlet = new CdkPortalOutlet(this.cfr, this.viewContainerRef);
|
|
48
|
-
const portal = this.template
|
|
49
|
-
? new TemplatePortal(this.template, this.viewContainerRef, this.templateContext)
|
|
50
|
-
: new ComponentPortal(SpanComponent, this.viewContainerRef);
|
|
51
|
-
const containerAttached$ = this.aclReadonlyField$.pipe(distinctUntilChanged(), map(isUpdate => {
|
|
52
|
-
if (!isUpdate) {
|
|
53
|
-
// 重置
|
|
54
|
-
if (this.controlDirective) {
|
|
55
|
-
this.controlDirective.required = this.isControlRequired;
|
|
56
|
-
}
|
|
57
|
-
if (portalOutlet.hasAttached()) {
|
|
58
|
-
portalOutlet.detach();
|
|
59
|
-
}
|
|
60
|
-
this.applyValidators(controlEntity, validator, asyncValidator);
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
if (this.controlDirective) {
|
|
64
|
-
this.controlDirective.required = false;
|
|
65
|
-
}
|
|
66
|
-
const attachPoint = portalOutlet.attach(portal);
|
|
67
|
-
if (!this.template) {
|
|
68
|
-
this.spanComponentRef = attachPoint;
|
|
69
|
-
}
|
|
70
|
-
this.clearValidators(controlEntity);
|
|
71
|
-
return true;
|
|
72
|
-
}));
|
|
73
|
-
const sourceValue$ = this.control.valueChanges.pipe(startWith(this.control.value));
|
|
74
|
-
combineLatest([sourceValue$, containerAttached$])
|
|
75
|
-
.pipe(takeUntil(this.destroy$), filter(([, attached]) => !!attached))
|
|
76
|
-
.subscribe(([value]) => {
|
|
77
|
-
this.setValue(value);
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
applyValidators(control, rawValidator, rawAsyncValidator) {
|
|
81
|
-
if (control.validator === rawValidator &&
|
|
82
|
-
control.asyncValidator === rawAsyncValidator) {
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
control.setValidators(rawValidator);
|
|
86
|
-
control.setAsyncValidators(rawAsyncValidator);
|
|
87
|
-
control.updateValueAndValidity();
|
|
88
|
-
}
|
|
89
|
-
clearValidators(control) {
|
|
90
|
-
// delay checking validators for ngModel
|
|
91
|
-
requestAnimationFrame(() => {
|
|
92
|
-
if (!control.validator && !control.asyncValidator) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
control.clearValidators();
|
|
96
|
-
control.clearAsyncValidators();
|
|
97
|
-
control.updateValueAndValidity();
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
ngOnDestroy() {
|
|
101
|
-
this.destroy$.next();
|
|
102
|
-
}
|
|
103
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ReadonlyFieldDirective, deps: [{ token: i1.NgControl }, { token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: i2.FormItemControlDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
104
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: ReadonlyFieldDirective, isStandalone: true, selector: "[aclReadonlyField]", inputs: { aclReadonlyField: "aclReadonlyField", hidden: "hidden", template: ["aclReadonlyFieldTemplate", "template"], context: ["aclReadonlyFieldTemplateContext", "context"] }, host: { properties: { "hidden": "this.isHidden" } }, ngImport: i0 }); }
|
|
105
|
-
}
|
|
106
|
-
__decorate([
|
|
107
|
-
ObservableInput(),
|
|
108
|
-
__metadata("design:type", Observable)
|
|
109
|
-
], ReadonlyFieldDirective.prototype, "aclReadonlyField$", void 0);
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ReadonlyFieldDirective, decorators: [{
|
|
111
|
-
type: Directive,
|
|
112
|
-
args: [{
|
|
113
|
-
selector: '[aclReadonlyField]',
|
|
114
|
-
standalone: true,
|
|
115
|
-
}]
|
|
116
|
-
}], ctorParameters: () => [{ type: i1.NgControl }, { type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: i2.FormItemControlDirective, decorators: [{
|
|
117
|
-
type: Self
|
|
118
|
-
}, {
|
|
119
|
-
type: Optional
|
|
120
|
-
}] }], propDecorators: { aclReadonlyField: [{
|
|
121
|
-
type: Input
|
|
122
|
-
}], aclReadonlyField$: [], hidden: [{
|
|
123
|
-
type: Input
|
|
124
|
-
}], template: [{
|
|
125
|
-
type: Input,
|
|
126
|
-
args: ['aclReadonlyFieldTemplate']
|
|
127
|
-
}], context: [{
|
|
128
|
-
type: Input,
|
|
129
|
-
args: ['aclReadonlyFieldTemplateContext']
|
|
130
|
-
}], isHidden: [{
|
|
131
|
-
type: HostBinding,
|
|
132
|
-
args: ['hidden']
|
|
133
|
-
}] } });
|
|
134
|
-
export class SpanComponent {
|
|
135
|
-
setData(value) {
|
|
136
|
-
this.data = value;
|
|
137
|
-
}
|
|
138
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpanComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
139
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpanComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `<span>{{ data | aclFieldNotAvailable }}</span>`, isInline: true, styles: ["span{word-break:break-all}\n"], dependencies: [{ kind: "pipe", type: FieldNotAvailablePipe, name: "aclFieldNotAvailable" }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
140
|
-
}
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpanComponent, decorators: [{
|
|
142
|
-
type: Component,
|
|
143
|
-
args: [{ template: `<span>{{ data | aclFieldNotAvailable }}</span>`, changeDetection: ChangeDetectionStrategy.Default, standalone: true, imports: [FieldNotAvailablePipe], styles: ["span{word-break:break-all}\n"] }]
|
|
144
|
-
}] });
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHktZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2RpcmVjdGl2ZXMvcmVhZG9ubHktZmllbGQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEQsT0FBTyxFQUNMLGVBQWUsRUFDZixlQUFlLEVBQ2YsY0FBYyxHQUNmLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsd0JBQXdCLEVBRXhCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUdMLFFBQVEsRUFDUixJQUFJLEVBQ0osV0FBVyxFQUNYLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsU0FBUyxHQUVWLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNMLFVBQVUsRUFDVixPQUFPLEVBQ1AsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixNQUFNLEVBQ04sR0FBRyxFQUNILFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7O0FBTTNDLE1BQU0sT0FBTyxzQkFBc0I7SUEyQmpDLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDOUMsQ0FBQztJQUVELFlBQ21CLE9BQWtCLEVBQ2xCLEdBQTZCLEVBQzdCLGdCQUFrQztJQUNuRCxnRkFBZ0Y7SUFHL0QsZ0JBQTBDO1FBTjFDLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFDbEIsUUFBRyxH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LENBQUM7OEdBMUlVLHNCQUFzQjtrR0FBdEIsc0JBQXNCOztBQUtqQztJQURDLGVBQWUsRUFBRTs4QkFDQyxVQUFVO2lFQUFVOzJGQUw1QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzswQkFzQ0ksSUFBSTs7MEJBQ0osUUFBUTt5Q0FwQ1gsZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4saUJBQWlCLE1BR2pCLE1BQU07c0JBREwsS0FBSztnQkFhTixRQUFRO3NCQURQLEtBQUs7dUJBQUMsMEJBQTBCO2dCQU1qQyxPQUFPO3NCQUROLEtBQUs7dUJBQUMsaUNBQWlDO2dCQUlwQyxRQUFRO3NCQURYLFdBQVc7dUJBQUMsUUFBUTs7QUFnSXZCLE1BQU0sT0FBTyxhQUFhO0lBR3hCLE9BQU8sQ0FBQyxLQUFRO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs4R0FMVSxhQUFhO2tHQUFiLGFBQWEsd0VBYmQsZ0RBQWdELGlHQVdoRCxxQkFBcUI7OzJGQUVwQixhQUFhO2tCQWR6QixTQUFTOytCQUNFLGdEQUFnRCxtQkFTekMsdUJBQXVCLENBQUMsT0FBTyxjQUNwQyxJQUFJLFdBQ1AsQ0FBQyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHV0aWxzXG4gKi9cblxuaW1wb3J0IHsgRm9ybUl0ZW1Db250cm9sRGlyZWN0aXZlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBDZGtQb3J0YWxPdXRsZXQsXG4gIENvbXBvbmVudFBvcnRhbCxcbiAgVGVtcGxhdGVQb3J0YWwsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBDb21wb25lbnRSZWYsXG4gIERpcmVjdGl2ZSxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFNlbGYsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQXN5bmNWYWxpZGF0b3JGbixcbiAgTmdDb250cm9sLFxuICBWYWxpZGF0b3JGbixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbHRlcixcbiAgbWFwLFxuICBzdGFydFdpdGgsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZpZWxkTm90QXZhaWxhYmxlUGlwZSB9IGZyb20gJy4uL3BpcGVzL2ZpZWxkLW5vdC1hdmFpbGFibGUucGlwZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi91dGlscyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thY2xSZWFkb25seUZpZWxkXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFJlYWRvbmx5RmllbGREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIGFjbFJlYWRvbmx5RmllbGQ6IGJvb2xlYW47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGFjbFJlYWRvbmx5RmllbGQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIEBJbnB1dCgpXG4gIGhpZGRlbjogYm9vbGVhbjtcblxuICBwcml2YXRlIGlzQ29udHJvbFJlcXVpcmVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBzcGFuQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8U3BhbkNvbXBvbmVudD47XG5cbiAgcHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZUNvbnRleHQgPSB7fTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvLyDoh6rlrprkuYnmqKHmnb9cbiAgQElucHV0KCdhY2xSZWFkb25seUZpZWxkVGVtcGxhdGUnKVxuICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvLyDoh6rlrprkuYnmqKHmnb9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdhY2xSZWFkb25seUZpZWxkVGVtcGxhdGVDb250ZXh0JylcbiAgY29udGV4dDogb2JqZWN0O1xuXG4gIEBIb3N0QmluZGluZygnaGlkZGVuJylcbiAgZ2V0IGlzSGlkZGVuKCkge1xuICAgIHJldHVybiB0aGlzLmhpZGRlbiB8fCB0aGlzLmFjbFJlYWRvbmx5RmllbGQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNmcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAvLyDku4XogIPomZHlvZPliY1jb250cm9s77yM5a2QY29udHJvbOaXoOazleefpeaZk+eItkZvcm1JdGVtQ29udHJvbOWFg+e0oCDvvIzljIXoo7nkuoblpJrlsJHkuKpjb250cm9s77yM5Lul5Y+K5ZCE6Ieq5aSE5LqO5LuA5LmI54q25oCB77yM6K+l5oOF5Ya16Ieq6KGM5aSE55CGXG4gICAgQFNlbGYoKVxuICAgIEBPcHRpb25hbCgpXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sRGlyZWN0aXZlOiBGb3JtSXRlbUNvbnRyb2xEaXJlY3RpdmUsXG4gICkge31cblxuICBwcml2YXRlIHNldFZhbHVlKHZhbHVlOiB1bmtub3duKSB7XG4gICAgaWYgKHRoaXMudGVtcGxhdGUpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy50ZW1wbGF0ZUNvbnRleHQsIHtcbiAgICAgICAgJGltcGxpY2l0OiB2YWx1ZSxcbiAgICAgICAgLi4udGhpcy5jb250ZXh0LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3BhbkNvbXBvbmVudFJlZi5pbnN0YW5jZS5zZXREYXRhKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBjb250cm9sRW50aXR5ID0gdGhpcy5jb250cm9sLmNvbnRyb2w7XG4gICAgLy8gZm9ybUNvbnRyb2wgd2lsbCBjb21wb3NlIG11bHRpIHZhbGlkYXRvcnMgdG8gMSwgbm8gbWF0dGVyIGRlZmluZWQgaW4gdGVtcGxhdGUgbm9yIEZvcm1CdWlsZGVyXG4gICAgY29uc3QgeyB2YWxpZGF0b3IsIGFzeW5jVmFsaWRhdG9yIH0gPSBjb250cm9sRW50aXR5O1xuICAgIHRoaXMuaXNDb250cm9sUmVxdWlyZWQgPSB0aGlzLmNvbnRyb2xEaXJlY3RpdmU/LnJlcXVpcmVkIHx8IGZhbHNlO1xuICAgIGNvbnN0IHBvcnRhbE91dGxldCA9IG5ldyBDZGtQb3J0YWxPdXRsZXQodGhpcy5jZnIsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgY29uc3QgcG9ydGFsID0gdGhpcy50ZW1wbGF0ZVxuICAgICAgPyBuZXcgVGVtcGxhdGVQb3J0YWwoXG4gICAgICAgICAgdGhpcy50ZW1wbGF0ZSxcbiAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgdGhpcy50ZW1wbGF0ZUNvbnRleHQsXG4gICAgICAgIClcbiAgICAgIDogbmV3IENvbXBvbmVudFBvcnRhbChTcGFuQ29tcG9uZW50LCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuXG4gICAgY29uc3QgY29udGFpbmVyQXR0YWNoZWQkID0gdGhpcy5hY2xSZWFkb25seUZpZWxkJC5waXBlKFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIG1hcChpc1VwZGF0ZSA9PiB7XG4gICAgICAgIGlmICghaXNVcGRhdGUpIHtcbiAgICAgICAgICAvLyDph43nva5cbiAgICAgICAgICBpZiAodGhpcy5jb250cm9sRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2xEaXJlY3RpdmUucmVxdWlyZWQgPSB0aGlzLmlzQ29udHJvbFJlcXVpcmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocG9ydGFsT3V0bGV0Lmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgICAgIHBvcnRhbE91dGxldC5kZXRhY2goKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5hcHBseVZhbGlkYXRvcnMoY29udHJvbEVudGl0eSwgdmFsaWRhdG9yLCBhc3luY1ZhbGlkYXRvcik7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29udHJvbERpcmVjdGl2ZSkge1xuICAgICAgICAgIHRoaXMuY29udHJvbERpcmVjdGl2ZS5yZXF1aXJlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGF0dGFjaFBvaW50ID0gcG9ydGFsT3V0bGV0LmF0dGFjaChwb3J0YWwpO1xuICAgICAgICBpZiAoIXRoaXMudGVtcGxhdGUpIHtcbiAgICAgICAgICB0aGlzLnNwYW5Db21wb25lbnRSZWYgPSBhdHRhY2hQb2ludCBhcyBDb21wb25lbnRSZWY8U3BhbkNvbXBvbmVudD47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jbGVhclZhbGlkYXRvcnMoY29udHJvbEVudGl0eSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSksXG4gICAgKTtcblxuICAgIGNvbnN0IHNvdXJjZVZhbHVlJCA9IHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLmNvbnRyb2wudmFsdWUpLFxuICAgICk7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFtzb3VyY2VWYWx1ZSQsIGNvbnRhaW5lckF0dGFjaGVkJF0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKFssIGF0dGFjaGVkXSkgPT4gISFhdHRhY2hlZCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChbdmFsdWVdKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5VmFsaWRhdG9ycyhcbiAgICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsXG4gICAgcmF3VmFsaWRhdG9yPzogVmFsaWRhdG9yRm4sXG4gICAgcmF3QXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvckZuLFxuICApIHtcbiAgICBpZiAoXG4gICAgICBjb250cm9sLnZhbGlkYXRvciA9PT0gcmF3VmFsaWRhdG9yICYmXG4gICAgICBjb250cm9sLmFzeW5jVmFsaWRhdG9yID09PSByYXdBc3luY1ZhbGlkYXRvclxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb250cm9sLnNldFZhbGlkYXRvcnMocmF3VmFsaWRhdG9yKTtcbiAgICBjb250cm9sLnNldEFzeW5jVmFsaWRhdG9ycyhyYXdBc3luY1ZhbGlkYXRvcik7XG4gICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyVmFsaWRhdG9ycyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICAvLyBkZWxheSBjaGVja2luZyB2YWxpZGF0b3JzIGZvciBuZ01vZGVsXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGlmICghY29udHJvbC52YWxpZGF0b3IgJiYgIWNvbnRyb2wuYXN5bmNWYWxpZGF0b3IpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgIGNvbnRyb2wuY2xlYXJBc3luY1ZhbGlkYXRvcnMoKTtcbiAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgPHNwYW4+e3sgZGF0YSB8IGFjbEZpZWxkTm90QXZhaWxhYmxlIH19PC9zcGFuPmAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIHNwYW4ge1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9wcmVmZXItb24tcHVzaC1jb21wb25lbnQtY2hhbmdlLWRldGVjdGlvblxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtGaWVsZE5vdEF2YWlsYWJsZVBpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTcGFuQ29tcG9uZW50PFQgPSB1bmtub3duPiB7XG4gIGRhdGE6IFQ7XG5cbiAgc2V0RGF0YSh2YWx1ZTogVCkge1xuICAgIHRoaXMuZGF0YSA9IHZhbHVlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { observeResizeOn } from '@alauda/ui';
|
|
2
|
-
import { Directive, ElementRef, EventEmitter, Output, } from '@angular/core';
|
|
3
|
-
import { Subject, takeUntil } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class ResizeDirective {
|
|
6
|
-
constructor(element) {
|
|
7
|
-
this.element = element;
|
|
8
|
-
this.resized = new EventEmitter();
|
|
9
|
-
this.destroy$$ = new Subject();
|
|
10
|
-
}
|
|
11
|
-
ngAfterViewInit() {
|
|
12
|
-
observeResizeOn(this.element.nativeElement)
|
|
13
|
-
.pipe(takeUntil(this.destroy$$))
|
|
14
|
-
.subscribe(() => this.onResized());
|
|
15
|
-
}
|
|
16
|
-
onResized() {
|
|
17
|
-
const { clientWidth, clientHeight } = this.element.nativeElement;
|
|
18
|
-
this.resized.emit({
|
|
19
|
-
width: clientWidth,
|
|
20
|
-
height: clientHeight,
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
ngOnDestroy() {
|
|
24
|
-
this.destroy$$.next();
|
|
25
|
-
this.destroy$$.complete();
|
|
26
|
-
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ResizeDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
28
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: ResizeDirective, isStandalone: true, selector: "[aclResize]", outputs: { resized: "resized" }, ngImport: i0 }); }
|
|
29
|
-
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ResizeDirective, decorators: [{
|
|
31
|
-
type: Directive,
|
|
32
|
-
args: [{
|
|
33
|
-
selector: '[aclResize]',
|
|
34
|
-
standalone: true,
|
|
35
|
-
}]
|
|
36
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { resized: [{
|
|
37
|
-
type: Output
|
|
38
|
-
}] } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy9kaXJlY3RpdmVzL3Jlc2l6ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3QyxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBRVosTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQVcxQyxNQUFNLE9BQU8sZUFBZTtJQU0xQixZQUE2QixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBSmhELFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBRXpCLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRUUsQ0FBQztJQUVwRCxlQUFlO1FBQ2IsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO2FBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQy9CLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sU0FBUztRQUNmLE1BQU0sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDakUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDaEIsS0FBSyxFQUFFLFdBQVc7WUFDbEIsTUFBTSxFQUFFLFlBQVk7U0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs4R0F6QlUsZUFBZTtrR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7K0VBR0MsT0FBTztzQkFETixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgb2JzZXJ2ZVJlc2l6ZU9uIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaXplRXZlbnQge1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FjbFJlc2l6ZV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNpemVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICBAT3V0cHV0KClcbiAgcmVzaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8UmVzaXplRXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudDogRWxlbWVudFJlZikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgb2JzZXJ2ZVJlc2l6ZU9uKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vblJlc2l6ZWQoKSk7XG4gIH1cblxuICBwcml2YXRlIG9uUmVzaXplZCgpIHtcbiAgICBjb25zdCB7IGNsaWVudFdpZHRoLCBjbGllbnRIZWlnaHQgfSA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMucmVzaXplZC5lbWl0KHtcbiAgICAgIHdpZHRoOiBjbGllbnRXaWR0aCxcbiAgICAgIGhlaWdodDogY2xpZW50SGVpZ2h0LFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { observeResizeOn } from '@alauda/ui';
|
|
2
|
-
import { ScrollDispatcher } from '@angular/cdk/overlay';
|
|
3
|
-
import { Directive, EventEmitter, Injector, Input, Output, ViewContainerRef, } from '@angular/core';
|
|
4
|
-
import { debounceTime, fromEvent, map, pairwise, startWith, Subject, takeUntil, merge, } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
const defaultDistance = 60;
|
|
7
|
-
// 监测滚动到边界并触发回调
|
|
8
|
-
export class ScrollBorderObserverDirective {
|
|
9
|
-
constructor(injector) {
|
|
10
|
-
this.scrollBorder = new EventEmitter();
|
|
11
|
-
this.scrollBottomBorder = new EventEmitter();
|
|
12
|
-
this.destroy$$ = new Subject();
|
|
13
|
-
this.scrollDispatcher = injector.get(ScrollDispatcher);
|
|
14
|
-
this.viewContainerRef = injector.get(ViewContainerRef);
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
if (this.option === false) {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
this.scrollEl =
|
|
21
|
-
this.scrollDispatcher
|
|
22
|
-
.getAncestorScrollContainers(this.viewContainerRef.element.nativeElement)
|
|
23
|
-
.pop()
|
|
24
|
-
?.getElementRef()?.nativeElement ?? window;
|
|
25
|
-
this.setupScroll();
|
|
26
|
-
}
|
|
27
|
-
ngOnDestroy() {
|
|
28
|
-
this.destroy$$.next();
|
|
29
|
-
this.destroy$$.complete();
|
|
30
|
-
}
|
|
31
|
-
setupScroll() {
|
|
32
|
-
const viewEl = this.scrollEl === window
|
|
33
|
-
? document.documentElement
|
|
34
|
-
: this.scrollEl;
|
|
35
|
-
merge(observeResizeOn(viewEl), fromEvent(this.scrollEl, 'scroll').pipe(startWith(viewEl.scrollTop)))
|
|
36
|
-
.pipe(debounceTime(50), map(() => viewEl.scrollTop), pairwise(), takeUntil(this.destroy$$))
|
|
37
|
-
.subscribe(([prev, cur]) => {
|
|
38
|
-
let direction;
|
|
39
|
-
const option = typeof this.option === 'number'
|
|
40
|
-
? {
|
|
41
|
-
topDistance: this.option,
|
|
42
|
-
bottomDistance: this.option,
|
|
43
|
-
}
|
|
44
|
-
: this.option || {};
|
|
45
|
-
if (cur > prev &&
|
|
46
|
-
viewEl.scrollTop >
|
|
47
|
-
viewEl.scrollHeight -
|
|
48
|
-
viewEl.clientHeight -
|
|
49
|
-
(option.bottomDistance || defaultDistance)) {
|
|
50
|
-
direction = 'bottom';
|
|
51
|
-
}
|
|
52
|
-
else if (cur < prev &&
|
|
53
|
-
viewEl.scrollTop < (option.topDistance || defaultDistance)) {
|
|
54
|
-
direction = 'top';
|
|
55
|
-
}
|
|
56
|
-
this.scrollBorder.emit(direction);
|
|
57
|
-
direction === 'bottom' && this.scrollBottomBorder.emit();
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ScrollBorderObserverDirective, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
61
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: ScrollBorderObserverDirective, isStandalone: true, selector: "[aclScrollBorderObserver]", inputs: { option: ["aclScrollBorderObserver", "option"] }, outputs: { scrollBorder: "scrollBorder", scrollBottomBorder: "scrollBottomBorder" }, ngImport: i0 }); }
|
|
62
|
-
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ScrollBorderObserverDirective, decorators: [{
|
|
64
|
-
type: Directive,
|
|
65
|
-
args: [{
|
|
66
|
-
selector: '[aclScrollBorderObserver]',
|
|
67
|
-
standalone: true,
|
|
68
|
-
}]
|
|
69
|
-
}], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { option: [{
|
|
70
|
-
type: Input,
|
|
71
|
-
args: ['aclScrollBorderObserver']
|
|
72
|
-
}], scrollBorder: [{
|
|
73
|
-
type: Output
|
|
74
|
-
}], scrollBottomBorder: [{
|
|
75
|
-
type: Output
|
|
76
|
-
}] } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWJvcmRlci1vYnNlcnZlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvZGlyZWN0aXZlcy9zY3JvbGwtYm9yZGVyLW9ic2VydmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFFBQVEsRUFDUixLQUFLLEVBR0wsTUFBTSxFQUNOLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsWUFBWSxFQUNaLFNBQVMsRUFDVCxHQUFHLEVBQ0gsUUFBUSxFQUNSLFNBQVMsRUFDVCxPQUFPLEVBQ1AsU0FBUyxFQUNULEtBQUssR0FDTixNQUFNLE1BQU0sQ0FBQzs7QUFFZCxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7QUFPM0IsZUFBZTtBQUtmLE1BQU0sT0FBTyw2QkFBNkI7SUFleEMsWUFBWSxRQUFrQjtRQVY5QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBR3BELHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHL0IsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFLdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzFCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVE7WUFDWCxJQUFJLENBQUMsZ0JBQWdCO2lCQUNsQiwyQkFBMkIsQ0FDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQzVDO2lCQUNBLEdBQUcsRUFBRTtnQkFDTixFQUFFLGFBQWEsRUFBRSxFQUFFLGFBQWEsSUFBSSxNQUFNLENBQUM7UUFFL0MsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE1BQU0sTUFBTSxHQUNWLElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTTtZQUN0QixDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWU7WUFDMUIsQ0FBQyxDQUFFLElBQUksQ0FBQyxRQUF3QixDQUFDO1FBQ3JDLEtBQUssQ0FDSCxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQ3ZCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQ3JFO2FBQ0UsSUFBSSxDQUNILFlBQVksQ0FBQyxFQUFFLENBQUMsRUFDaEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFDM0IsUUFBUSxFQUFFLEVBQ1YsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFO1lBQ3pCLElBQUksU0FBMkIsQ0FBQztZQUNoQyxNQUFNLE1BQU0sR0FDVixPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssUUFBUTtnQkFDN0IsQ0FBQyxDQUFDO29CQUNFLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDeEIsY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNO2lCQUM1QjtnQkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSyxFQUFhLENBQUM7WUFDcEMsSUFDRSxHQUFHLEdBQUcsSUFBSTtnQkFDVixNQUFNLENBQUMsU0FBUztvQkFDZCxNQUFNLENBQUMsWUFBWTt3QkFDakIsTUFBTSxDQUFDLFlBQVk7d0JBQ25CLENBQUMsTUFBTSxDQUFDLGNBQWMsSUFBSSxlQUFlLENBQUMsRUFDOUMsQ0FBQztnQkFDRCxTQUFTLEdBQUcsUUFBUSxDQUFDO1lBQ3ZCLENBQUM7aUJBQU0sSUFDTCxHQUFHLEdBQUcsSUFBSTtnQkFDVixNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxlQUFlLENBQUMsRUFDMUQsQ0FBQztnQkFDRCxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLENBQUM7WUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNsQyxTQUFTLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBakZVLDZCQUE2QjtrR0FBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs2RUFHQyxNQUFNO3NCQURMLEtBQUs7dUJBQUMseUJBQXlCO2dCQUloQyxZQUFZO3NCQURYLE1BQU07Z0JBSVAsa0JBQWtCO3NCQURqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgb2JzZXJ2ZVJlc2l6ZU9uIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBTY3JvbGxEaXNwYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBkZWJvdW5jZVRpbWUsXG4gIGZyb21FdmVudCxcbiAgbWFwLFxuICBwYWlyd2lzZSxcbiAgc3RhcnRXaXRoLFxuICBTdWJqZWN0LFxuICB0YWtlVW50aWwsXG4gIG1lcmdlLFxufSBmcm9tICdyeGpzJztcblxuY29uc3QgZGVmYXVsdERpc3RhbmNlID0gNjA7XG5cbmludGVyZmFjZSBPcHRpb24ge1xuICBib3R0b21EaXN0YW5jZT86IG51bWJlcjtcbiAgdG9wRGlzdGFuY2U/OiBudW1iZXI7XG59XG5cbi8vIOebkea1i+a7muWKqOWIsOi+ueeVjOW5tuinpuWPkeWbnuiwg1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FjbFNjcm9sbEJvcmRlck9ic2VydmVyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFNjcm9sbEJvcmRlck9ic2VydmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ2FjbFNjcm9sbEJvcmRlck9ic2VydmVyJylcbiAgb3B0aW9uOiBPcHRpb24gfCAnJyB8IGZhbHNlIHwgbnVtYmVyO1xuXG4gIEBPdXRwdXQoKVxuICBzY3JvbGxCb3JkZXIgPSBuZXcgRXZlbnRFbWl0dGVyPCd0b3AnIHwgJ2JvdHRvbSc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHNjcm9sbEJvdHRvbUJvcmRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBzY3JvbGxFbDogSFRNTEVsZW1lbnQgfCBXaW5kb3c7XG4gIHJlYWRvbmx5IGRlc3Ryb3kkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2Nyb2xsRGlzcGF0Y2hlcjogU2Nyb2xsRGlzcGF0Y2hlcjtcbiAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuc2Nyb2xsRGlzcGF0Y2hlciA9IGluamVjdG9yLmdldChTY3JvbGxEaXNwYXRjaGVyKTtcbiAgICB0aGlzLnZpZXdDb250YWluZXJSZWYgPSBpbmplY3Rvci5nZXQoVmlld0NvbnRhaW5lclJlZik7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5vcHRpb24gPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2Nyb2xsRWwgPVxuICAgICAgdGhpcy5zY3JvbGxEaXNwYXRjaGVyXG4gICAgICAgIC5nZXRBbmNlc3RvclNjcm9sbENvbnRhaW5lcnMoXG4gICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgKVxuICAgICAgICAucG9wKClcbiAgICAgICAgPy5nZXRFbGVtZW50UmVmKCk/Lm5hdGl2ZUVsZW1lbnQgPz8gd2luZG93O1xuXG4gICAgdGhpcy5zZXR1cFNjcm9sbCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwU2Nyb2xsKCkge1xuICAgIGNvbnN0IHZpZXdFbCA9XG4gICAgICB0aGlzLnNjcm9sbEVsID09PSB3aW5kb3dcbiAgICAgICAgPyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRcbiAgICAgICAgOiAodGhpcy5zY3JvbGxFbCBhcyBIVE1MRWxlbWVudCk7XG4gICAgbWVyZ2UoXG4gICAgICBvYnNlcnZlUmVzaXplT24odmlld0VsKSxcbiAgICAgIGZyb21FdmVudCh0aGlzLnNjcm9sbEVsLCAnc2Nyb2xsJykucGlwZShzdGFydFdpdGgodmlld0VsLnNjcm9sbFRvcCkpLFxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoNTApLFxuICAgICAgICBtYXAoKCkgPT4gdmlld0VsLnNjcm9sbFRvcCksXG4gICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChbcHJldiwgY3VyXSkgPT4ge1xuICAgICAgICBsZXQgZGlyZWN0aW9uOiAndG9wJyB8ICdib3R0b20nO1xuICAgICAgICBjb25zdCBvcHRpb24gPVxuICAgICAgICAgIHR5cGVvZiB0aGlzLm9wdGlvbiA9PT0gJ251bWJlcidcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIHRvcERpc3RhbmNlOiB0aGlzLm9wdGlvbixcbiAgICAgICAgICAgICAgICBib3R0b21EaXN0YW5jZTogdGhpcy5vcHRpb24sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDogdGhpcy5vcHRpb24gfHwgKHt9IGFzIE9wdGlvbik7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBjdXIgPiBwcmV2ICYmXG4gICAgICAgICAgdmlld0VsLnNjcm9sbFRvcCA+XG4gICAgICAgICAgICB2aWV3RWwuc2Nyb2xsSGVpZ2h0IC1cbiAgICAgICAgICAgICAgdmlld0VsLmNsaWVudEhlaWdodCAtXG4gICAgICAgICAgICAgIChvcHRpb24uYm90dG9tRGlzdGFuY2UgfHwgZGVmYXVsdERpc3RhbmNlKVxuICAgICAgICApIHtcbiAgICAgICAgICBkaXJlY3Rpb24gPSAnYm90dG9tJztcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICBjdXIgPCBwcmV2ICYmXG4gICAgICAgICAgdmlld0VsLnNjcm9sbFRvcCA8IChvcHRpb24udG9wRGlzdGFuY2UgfHwgZGVmYXVsdERpc3RhbmNlKVxuICAgICAgICApIHtcbiAgICAgICAgICBkaXJlY3Rpb24gPSAndG9wJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNjcm9sbEJvcmRlci5lbWl0KGRpcmVjdGlvbik7XG4gICAgICAgIGRpcmVjdGlvbiA9PT0gJ2JvdHRvbScgJiYgdGhpcy5zY3JvbGxCb3R0b21Cb3JkZXIuZW1pdCgpO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { CdkScrollable } from '@angular/cdk/scrolling';
|
|
2
|
-
import { Directive, ElementRef, HostBinding, HostListener, Input, Optional, } from '@angular/core';
|
|
3
|
-
import { ControlContainer } from '@angular/forms';
|
|
4
|
-
import { fromEvent, debounceTime, startWith, take } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/forms";
|
|
7
|
-
import * as i2 from "@angular/cdk/scrolling";
|
|
8
|
-
const FOCUSABLE_TAG_NAMES = ['INPUT', 'TEXTAREA'];
|
|
9
|
-
const NG_INVALID = '.ng-invalid';
|
|
10
|
-
const MARKED_CLASS_NAME = 'acl-scroll-to-first-invalid-marker';
|
|
11
|
-
const SELECTORS = [
|
|
12
|
-
[
|
|
13
|
-
FOCUSABLE_TAG_NAMES.map(tagName => `${tagName}${NG_INVALID}`),
|
|
14
|
-
...[
|
|
15
|
-
'aui-number-input',
|
|
16
|
-
'aui-tags-input',
|
|
17
|
-
'aui-select',
|
|
18
|
-
'aui-multi-select',
|
|
19
|
-
'aui-switch',
|
|
20
|
-
'aui-tree-select',
|
|
21
|
-
].map(tagName => `${tagName}${NG_INVALID} input`),
|
|
22
|
-
`aui-radio-group${NG_INVALID}`,
|
|
23
|
-
`.${MARKED_CLASS_NAME}${NG_INVALID}`,
|
|
24
|
-
].join(','),
|
|
25
|
-
NG_INVALID,
|
|
26
|
-
];
|
|
27
|
-
export class ScrollToFirstInvalidMarkerDirective {
|
|
28
|
-
constructor() {
|
|
29
|
-
this.aclScrollToFirstInvalidMarker = false;
|
|
30
|
-
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ScrollToFirstInvalidMarkerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
32
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: ScrollToFirstInvalidMarkerDirective, selector: "[aclScrollToFirstInvalidMarker]", inputs: { aclScrollToFirstInvalidMarker: "aclScrollToFirstInvalidMarker" }, host: { properties: { "class.acl-scroll-to-first-invalid-marker": "this.aclScrollToFirstInvalidMarker", "class.ng-invalid": "this.aclScrollToFirstInvalidMarker" } }, ngImport: i0 }); }
|
|
33
|
-
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ScrollToFirstInvalidMarkerDirective, decorators: [{
|
|
35
|
-
type: Directive,
|
|
36
|
-
args: [{
|
|
37
|
-
selector: '[aclScrollToFirstInvalidMarker]',
|
|
38
|
-
}]
|
|
39
|
-
}], propDecorators: { aclScrollToFirstInvalidMarker: [{
|
|
40
|
-
type: HostBinding,
|
|
41
|
-
args: [`class.${MARKED_CLASS_NAME}`]
|
|
42
|
-
}, {
|
|
43
|
-
type: HostBinding,
|
|
44
|
-
args: ['class.ng-invalid']
|
|
45
|
-
}, {
|
|
46
|
-
type: Input
|
|
47
|
-
}] } });
|
|
48
|
-
export class ScrollToFirstInvalidDirective {
|
|
49
|
-
get containerEl() {
|
|
50
|
-
return this.cdkScrollable?.getElementRef().nativeElement || window;
|
|
51
|
-
}
|
|
52
|
-
onSubmit() {
|
|
53
|
-
requestAnimationFrame(() => {
|
|
54
|
-
if (this.aclScrollToFirstInvalid === ''
|
|
55
|
-
? this.controlContainer.invalid
|
|
56
|
-
: this.aclScrollToFirstInvalid) {
|
|
57
|
-
this.scrollToFirstInvalid();
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
constructor(elRef, controlContainer, cdkScrollable) {
|
|
62
|
-
this.elRef = elRef;
|
|
63
|
-
this.controlContainer = controlContainer;
|
|
64
|
-
this.cdkScrollable = cdkScrollable;
|
|
65
|
-
this.labelOffset = this.cdkScrollable ? 20 : 150;
|
|
66
|
-
}
|
|
67
|
-
scrollToFirstInvalid() {
|
|
68
|
-
const firstInvalidEl = this.getFirstInvalidInput();
|
|
69
|
-
if (!firstInvalidEl) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
this.containerEl.scrollTo({
|
|
73
|
-
top: this.getTopOffset(firstInvalidEl),
|
|
74
|
-
behavior: 'smooth',
|
|
75
|
-
});
|
|
76
|
-
if (FOCUSABLE_TAG_NAMES.includes(firstInvalidEl.tagName)) {
|
|
77
|
-
fromEvent(this.containerEl, 'scroll')
|
|
78
|
-
.pipe(startWith(null), debounceTime(100), take(1))
|
|
79
|
-
.subscribe(() => firstInvalidEl.focus());
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
getFirstInvalidInput() {
|
|
83
|
-
const el = this.elRef.nativeElement;
|
|
84
|
-
const hiddenEls = Array.from(el.querySelectorAll('[hidden]'));
|
|
85
|
-
for (const selector of SELECTORS) {
|
|
86
|
-
const ctrlEls = Array.from(el.querySelectorAll(selector));
|
|
87
|
-
for (const ctrlEl of ctrlEls) {
|
|
88
|
-
if (hiddenEls.some(hiddenEl => hiddenEl === ctrlEl || hiddenEl.contains(ctrlEl))) {
|
|
89
|
-
continue;
|
|
90
|
-
}
|
|
91
|
-
return ctrlEl;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
getTopOffset(controlEl) {
|
|
96
|
-
const labelOffset = this.labelOffset;
|
|
97
|
-
const controlElTop = controlEl.getBoundingClientRect().top;
|
|
98
|
-
if (this.cdkScrollable) {
|
|
99
|
-
const containerEl = this.containerEl;
|
|
100
|
-
const containerTop = containerEl.getBoundingClientRect().top;
|
|
101
|
-
const absoluteControlElTop = controlElTop + containerEl.scrollTop;
|
|
102
|
-
return absoluteControlElTop - containerTop - labelOffset;
|
|
103
|
-
}
|
|
104
|
-
const absoluteControlElTop = controlElTop + window.scrollY;
|
|
105
|
-
return absoluteControlElTop - labelOffset;
|
|
106
|
-
}
|
|
107
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ScrollToFirstInvalidDirective, deps: [{ token: i0.ElementRef }, { token: i1.ControlContainer }, { token: i2.CdkScrollable, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
108
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: ScrollToFirstInvalidDirective, isStandalone: true, selector: "[aclScrollToFirstInvalid]", inputs: { labelOffset: "labelOffset", aclScrollToFirstInvalid: "aclScrollToFirstInvalid" }, host: { listeners: { "ngSubmit": "onSubmit()" } }, ngImport: i0 }); }
|
|
109
|
-
}
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ScrollToFirstInvalidDirective, decorators: [{
|
|
111
|
-
type: Directive,
|
|
112
|
-
args: [{
|
|
113
|
-
selector: '[aclScrollToFirstInvalid]',
|
|
114
|
-
standalone: true,
|
|
115
|
-
}]
|
|
116
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ControlContainer }, { type: i2.CdkScrollable, decorators: [{
|
|
117
|
-
type: Optional
|
|
118
|
-
}] }], propDecorators: { labelOffset: [{
|
|
119
|
-
type: Input
|
|
120
|
-
}], aclScrollToFirstInvalid: [{
|
|
121
|
-
type: Input
|
|
122
|
-
}], onSubmit: [{
|
|
123
|
-
type: HostListener,
|
|
124
|
-
args: ['ngSubmit']
|
|
125
|
-
}] } });
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXRvLWZpcnN0LWludmFsaWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2RpcmVjdGl2ZXMvc2Nyb2xsLXRvLWZpcnN0LWludmFsaWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUVoRSxNQUFNLG1CQUFtQixHQUFHLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ2xELE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQztBQUNqQyxNQUFNLGlCQUFpQixHQUFHLG9DQUFvQyxDQUFDO0FBRS9ELE1BQU0sU0FBUyxHQUFHO0lBQ2hCO1FBQ0UsbUJBQW1CLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDN0QsR0FBRztZQUNELGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osaUJBQWlCO1NBQ2xCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLEdBQUcsVUFBVSxRQUFRLENBQUM7UUFDakQsa0JBQWtCLFVBQVUsRUFBRTtRQUM5QixJQUFJLGlCQUFpQixHQUFHLFVBQVUsRUFBRTtLQUNyQyxDQUFD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QVM7Z0JBQ1gsQ0FBQztnQkFDRCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxZQUFZLENBQUMsU0FBc0I7UUFDekMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFFM0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQTBCLENBQUM7WUFDcEQsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsR0FBRyxDQUFDO1lBQzdELE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUM7WUFDbEUsT0FBTyxvQkFBb0IsR0FBRyxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQzNELENBQUM7UUFFRCxNQUFNLG9CQUFvQixHQUFHLFlBQVksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzNELE9BQU8sb0JBQW9CLEdBQUcsV0FBVyxDQUFDO0lBQzVDLENBQUM7OEdBaEZVLDZCQUE2QjtrR0FBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBNEJJLFFBQVE7eUNBekJYLFdBQVc7c0JBRFYsS0FBSztnQkFJTix1QkFBdUI7c0JBRHRCLEtBQUs7Z0JBUU4sUUFBUTtzQkFEUCxZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtTY3JvbGxhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBkZWJvdW5jZVRpbWUsIHN0YXJ0V2l0aCwgdGFrZSB9IGZyb20gJ3J4anMnO1xuXG5jb25zdCBGT0NVU0FCTEVfVEFHX05BTUVTID0gWydJTlBVVCcsICdURVhUQVJFQSddO1xuY29uc3QgTkdfSU5WQUxJRCA9ICcubmctaW52YWxpZCc7XG5jb25zdCBNQVJLRURfQ0xBU1NfTkFNRSA9ICdhY2wtc2Nyb2xsLXRvLWZpcnN0LWludmFsaWQtbWFya2VyJztcblxuY29uc3QgU0VMRUNUT1JTID0gW1xuICBbXG4gICAgRk9DVVNBQkxFX1RBR19OQU1FUy5tYXAodGFnTmFtZSA9PiBgJHt0YWdOYW1lfSR7TkdfSU5WQUxJRH1gKSxcbiAgICAuLi5bXG4gICAgICAnYXVpLW51bWJlci1pbnB1dCcsXG4gICAgICAnYXVpLXRhZ3MtaW5wdXQnLFxuICAgICAgJ2F1aS1zZWxlY3QnLFxuICAgICAgJ2F1aS1tdWx0aS1zZWxlY3QnLFxuICAgICAgJ2F1aS1zd2l0Y2gnLFxuICAgICAgJ2F1aS10cmVlLXNlbGVjdCcsXG4gICAgXS5tYXAodGFnTmFtZSA9PiBgJHt0YWdOYW1lfSR7TkdfSU5WQUxJRH0gaW5wdXRgKSxcbiAgICBgYXVpLXJhZGlvLWdyb3VwJHtOR19JTlZBTElEfWAsXG4gICAgYC4ke01BUktFRF9DTEFTU19OQU1FfSR7TkdfSU5WQUxJRH1gLFxuICBdLmpvaW4oJywnKSxcbiAgTkdfSU5WQUxJRCxcbl07XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thY2xTY3JvbGxUb0ZpcnN0SW52YWxpZE1hcmtlcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBTY3JvbGxUb0ZpcnN0SW52YWxpZE1hcmtlckRpcmVjdGl2ZSB7XG4gIEBIb3N0QmluZGluZyhgY2xhc3MuJHtNQVJLRURfQ0xBU1NfTkFNRX1gKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5nLWludmFsaWQnKVxuICBASW5wdXQoKVxuICBhY2xTY3JvbGxUb0ZpcnN0SW52YWxpZE1hcmtlciA9IGZhbHNlO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsU2Nyb2xsVG9GaXJzdEludmFsaWRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2Nyb2xsVG9GaXJzdEludmFsaWREaXJlY3RpdmUge1xuICBASW5wdXQoKVxuICBsYWJlbE9mZnNldCA9IHRoaXMuY2RrU2Nyb2xsYWJsZSA/IDIwIDogMTUwO1xuXG4gIEBJbnB1dCgpXG4gIGFjbFNjcm9sbFRvRmlyc3RJbnZhbGlkOiBib29sZWFuIHwgJyc7XG5cbiAgZ2V0IGNvbnRhaW5lckVsKCkge1xuICAgIHJldHVybiB0aGlzLmNka1Njcm9sbGFibGU/LmdldEVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50IHx8IHdpbmRvdztcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ25nU3VibWl0JylcbiAgb25TdWJtaXQoKSB7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5hY2xTY3JvbGxUb0ZpcnN0SW52YWxpZCA9PT0gJydcbiAgICAgICAgICA/IHRoaXMuY29udHJvbENvbnRhaW5lci5pbnZhbGlkXG4gICAgICAgICAgOiB0aGlzLmFjbFNjcm9sbFRvRmlyc3RJbnZhbGlkXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5zY3JvbGxUb0ZpcnN0SW52YWxpZCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgY2RrU2Nyb2xsYWJsZTogQ2RrU2Nyb2xsYWJsZSxcbiAgKSB7fVxuXG4gIHNjcm9sbFRvRmlyc3RJbnZhbGlkKCkge1xuICAgIGNvbnN0IGZpcnN0SW52YWxpZEVsID0gdGhpcy5nZXRGaXJzdEludmFsaWRJbnB1dCgpO1xuXG4gICAgaWYgKCFmaXJzdEludmFsaWRFbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY29udGFpbmVyRWwuc2Nyb2xsVG8oe1xuICAgICAgdG9wOiB0aGlzLmdldFRvcE9mZnNldChmaXJzdEludmFsaWRFbCksXG4gICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgfSk7XG5cbiAgICBpZiAoRk9DVVNBQkxFX1RBR19OQU1FUy5pbmNsdWRlcyhmaXJzdEludmFsaWRFbC50YWdOYW1lKSkge1xuICAgICAgZnJvbUV2ZW50KHRoaXMuY29udGFpbmVyRWwsICdzY3JvbGwnKVxuICAgICAgICAucGlwZShzdGFydFdpdGgobnVsbCBhcyB2b2lkKSwgZGVib3VuY2VUaW1lKDEwMCksIHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gZmlyc3RJbnZhbGlkRWwuZm9jdXMoKSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0Rmlyc3RJbnZhbGlkSW5wdXQoKSB7XG4gICAgY29uc3QgZWwgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgaGlkZGVuRWxzID0gQXJyYXkuZnJvbShlbC5xdWVyeVNlbGVjdG9yQWxsKCdbaGlkZGVuXScpKTtcbiAgICBmb3IgKGNvbnN0IHNlbGVjdG9yIG9mIFNFTEVDVE9SUykge1xuICAgICAgY29uc3QgY3RybEVscyA9IEFycmF5LmZyb20oZWwucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oc2VsZWN0b3IpKTtcbiAgICAgIGZvciAoY29uc3QgY3RybEVsIG9mIGN0cmxFbHMpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGhpZGRlbkVscy5zb21lKFxuICAgICAgICAgICAgaGlkZGVuRWwgPT4gaGlkZGVuRWwgPT09IGN0cmxFbCB8fCBoaWRkZW5FbC5jb250YWlucyhjdHJsRWwpLFxuICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGN0cmxFbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFRvcE9mZnNldChjb250cm9sRWw6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgICBjb25zdCBsYWJlbE9mZnNldCA9IHRoaXMubGFiZWxPZmZzZXQ7XG4gICAgY29uc3QgY29udHJvbEVsVG9wID0gY29udHJvbEVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcblxuICAgIGlmICh0aGlzLmNka1Njcm9sbGFibGUpIHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lckVsID0gdGhpcy5jb250YWluZXJFbCBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGNvbnN0IGNvbnRhaW5lclRvcCA9IGNvbnRhaW5lckVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICAgIGNvbnN0IGFic29sdXRlQ29udHJvbEVsVG9wID0gY29udHJvbEVsVG9wICsgY29udGFpbmVyRWwuc2Nyb2xsVG9wO1xuICAgICAgcmV0dXJuIGFic29sdXRlQ29udHJvbEVsVG9wIC0gY29udGFpbmVyVG9wIC0gbGFiZWxPZmZzZXQ7XG4gICAgfVxuXG4gICAgY29uc3QgYWJzb2x1dGVDb250cm9sRWxUb3AgPSBjb250cm9sRWxUb3AgKyB3aW5kb3cuc2Nyb2xsWTtcbiAgICByZXR1cm4gYWJzb2x1dGVDb250cm9sRWxUb3AgLSBsYWJlbE9mZnNldDtcbiAgfVxufVxuIl19
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { Directive, Host, Inject, Input, } from '@angular/core';
|
|
3
|
-
import { NgControl } from '@angular/forms';
|
|
4
|
-
import { isFunction } from 'lodash-es';
|
|
5
|
-
import { combineLatest, distinctUntilChanged, filter, Observable, startWith, Subject, takeUntil, tap, } from 'rxjs';
|
|
6
|
-
import { ObservableInput } from '../utils';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/forms";
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
* Usage:
|
|
12
|
-
* If you want to trace value with control.
|
|
13
|
-
* The difference between aclValueTrack and ngModelChange is that aclValueTrack carries the first value.
|
|
14
|
-
* So it is not for changes, but for value traces
|
|
15
|
-
* For compatibility and cover the deprecation of ngModelChange, we provide aclValueTrackSkipFirst option
|
|
16
|
-
* eg:
|
|
17
|
-
* <input formControlName="name" [aclValueTrack]="function()">
|
|
18
|
-
*
|
|
19
|
-
*/
|
|
20
|
-
export class ControlValueTraceDirective {
|
|
21
|
-
ngOnDestroy() {
|
|
22
|
-
this.destroy$$.next();
|
|
23
|
-
this.destroy$$.complete();
|
|
24
|
-
}
|
|
25
|
-
ngOnInit() {
|
|
26
|
-
combineLatest([
|
|
27
|
-
this.ngControl.valueChanges.pipe(this.aclValueTrackSkipFirst ? tap() : startWith(this.ngControl.value)),
|
|
28
|
-
this.aclValueTrack$.pipe(distinctUntilChanged(), filter(i => isFunction(i))),
|
|
29
|
-
])
|
|
30
|
-
.pipe(takeUntil(this.destroy$$))
|
|
31
|
-
.subscribe(([value, changeFn]) => changeFn(value));
|
|
32
|
-
}
|
|
33
|
-
constructor(ngControl) {
|
|
34
|
-
this.ngControl = ngControl;
|
|
35
|
-
this.aclValueTrackSkipFirst = false;
|
|
36
|
-
this.destroy$$ = new Subject();
|
|
37
|
-
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ControlValueTraceDirective, deps: [{ token: NgControl, host: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
39
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: ControlValueTraceDirective, isStandalone: true, selector: "[aclValueTrack]", inputs: { aclValueTrackSkipFirst: "aclValueTrackSkipFirst", aclValueTrack: "aclValueTrack" }, ngImport: i0 }); }
|
|
40
|
-
}
|
|
41
|
-
__decorate([
|
|
42
|
-
ObservableInput(),
|
|
43
|
-
__metadata("design:type", Observable)
|
|
44
|
-
], ControlValueTraceDirective.prototype, "aclValueTrack$", void 0);
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ControlValueTraceDirective, decorators: [{
|
|
46
|
-
type: Directive,
|
|
47
|
-
args: [{
|
|
48
|
-
selector: '[aclValueTrack]',
|
|
49
|
-
standalone: true,
|
|
50
|
-
}]
|
|
51
|
-
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
52
|
-
type: Inject,
|
|
53
|
-
args: [NgControl]
|
|
54
|
-
}, {
|
|
55
|
-
type: Host
|
|
56
|
-
}] }], propDecorators: { aclValueTrackSkipFirst: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}], aclValueTrack: [{
|
|
59
|
-
type: Input
|
|
60
|
-
}], aclValueTrack$: [] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtdHJhY2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2RpcmVjdGl2ZXMvdmFsdWUtdHJhY2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULElBQUksRUFDSixNQUFNLEVBQ04sS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixVQUFVLEVBQ1YsU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBRTNDOzs7Ozs7Ozs7O0dBVUc7QUFLSCxNQUFNLE9BQU8sMEJBQTBCO0lBUXJDLFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVE7UUFDTixhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQzlCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUN0RTtZQUNELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUN0QixvQkFBb0IsRUFBRSxFQUN0QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDM0I7U0FDRixDQUFDO2FBQ0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDL0IsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxZQUM4QyxTQUFvQjtRQUFwQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBM0J6RCwyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFLeEMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUF1QjdCLENBQUM7OEdBN0JPLDBCQUEwQixrQkE0QjNCLFNBQVM7a0dBNUJSLDBCQUEwQjs7QUFJbEI7SUFBbEIsZUFBZSxFQUFFOzhCQUFpQixVQUFVO2tFQUE0QjsyRkFKOUQsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBNkJJLE1BQU07MkJBQUMsU0FBUzs7MEJBQUcsSUFBSTt5Q0EzQmpCLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNhLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEhvc3QsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgY29tYmluZUxhdGVzdCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbHRlcixcbiAgT2JzZXJ2YWJsZSxcbiAgc3RhcnRXaXRoLFxuICBTdWJqZWN0LFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uL3V0aWxzJztcblxuLyoqXG4gKlxuICogVXNhZ2U6XG4gKiBJZiB5b3Ugd2FudCB0byB0cmFjZSB2YWx1ZSB3aXRoIGNvbnRyb2wuXG4gKiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGFjbFZhbHVlVHJhY2sgYW5kIG5nTW9kZWxDaGFuZ2UgaXMgdGhhdCBhY2xWYWx1ZVRyYWNrIGNhcnJpZXMgdGhlIGZpcnN0IHZhbHVlLlxuICogU28gaXQgaXMgbm90IGZvciBjaGFuZ2VzLCBidXQgZm9yIHZhbHVlIHRyYWNlc1xuICogRm9yIGNvbXBhdGliaWxpdHkgYW5kIGNvdmVyIHRoZSBkZXByZWNhdGlvbiBvZiBuZ01vZGVsQ2hhbmdlLCB3ZSBwcm92aWRlIGFjbFZhbHVlVHJhY2tTa2lwRmlyc3Qgb3B0aW9uXG4gKiBlZzpcbiAqIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCIgW2FjbFZhbHVlVHJhY2tdPVwiZnVuY3Rpb24oKVwiPlxuICpcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FjbFZhbHVlVHJhY2tdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udHJvbFZhbHVlVHJhY2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGFjbFZhbHVlVHJhY2tTa2lwRmlyc3QgPSBmYWxzZTtcblxuICBASW5wdXQoKSBhY2xWYWx1ZVRyYWNrOiAodmFsdWU/OiB1bmtub3duKSA9PiB2b2lkO1xuICBAT2JzZXJ2YWJsZUlucHV0KCkgYWNsVmFsdWVUcmFjayQ6IE9ic2VydmFibGU8KHZhbHVlPzogdW5rbm93bikgPT4gdm9pZD47XG5cbiAgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgIHRoaXMuYWNsVmFsdWVUcmFja1NraXBGaXJzdCA/IHRhcCgpIDogc3RhcnRXaXRoKHRoaXMubmdDb250cm9sLnZhbHVlKSxcbiAgICAgICksXG4gICAgICB0aGlzLmFjbFZhbHVlVHJhY2skLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIGZpbHRlcihpID0+IGlzRnVuY3Rpb24oaSkpLFxuICAgICAgKSxcbiAgICBdKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKFt2YWx1ZSwgY2hhbmdlRm5dKSA9PiBjaGFuZ2VGbih2YWx1ZSkpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChOZ0NvbnRyb2wpIEBIb3N0KCkgcHJpdmF0ZSByZWFkb25seSBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgKSB7fVxufVxuIl19
|