@messaia/cdk 18.2.3 → 19.0.0-rc01
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/fesm2022/messaia-cdk.mjs +1147 -932
- package/fesm2022/messaia-cdk.mjs.map +1 -1
- package/lib/base/components/base.component.d.ts +1 -1
- package/lib/base/components/generic-embedded-list.component.d.ts +1 -1
- package/lib/base/components/generic-form-base.component.d.ts +1 -1
- package/lib/base/components/generic-form.component.d.ts +1 -1
- package/lib/base/components/generic-list.component.d.ts +7 -3
- package/lib/base/components/generic-reactive-form.component.d.ts +1 -1
- package/lib/base/helpers/auth-helper.d.ts +1 -1
- package/lib/chips/components/chips.component.d.ts +5 -16
- package/lib/common/functions/utils.d.ts +1 -1
- package/lib/common/helpers/app-storage.d.ts +1 -1
- package/lib/common/styles/_layout.scss +1 -1
- package/lib/common/styles/_variables.scss +4 -25
- package/lib/common/styles/colors/_colors-dark.scss +2 -0
- package/lib/common/styles/colors/_colors.scss +4 -4
- package/lib/common/styles/core/_button.scss +7 -21
- package/lib/common/styles/core/_card.scss +13 -97
- package/lib/common/styles/core/_core.scss +8 -21
- package/lib/common/styles/core/_sidenav.scss +9 -7
- package/lib/common/styles/core/_structure.scss +4 -11
- package/lib/common/styles/font/_font.scss +5 -13
- package/lib/common/styles/m2/_common-theme.scss +10 -10
- package/lib/common/styles/m3/_common-theme.scss +27 -10
- package/lib/common/styles/platform.scss +10 -8
- package/lib/common/styles/utilities/_general.scss +55 -51
- package/lib/common/styles/utilities/_pull.scss +23 -30
- package/lib/common/styles/utilities/_push.scss +23 -30
- package/lib/common/styles/utilities/_size.scss +3 -3
- package/lib/common/styles/utilities/_utilities.scss +14 -14
- package/lib/common/theming/_m2-all-theme.scss +4 -11
- package/lib/common/theming/_m3-all-theme.scss +18 -0
- package/lib/form-validators/directives/base-directive.d.ts +1 -1
- package/lib/form-validators/directives/template-validations/base-validator.directive.d.ts +1 -1
- package/lib/form-validators/directives/template-validations/control-expression-process.d.ts +1 -1
- package/lib/form-validators/services/rx-form-array.d.ts +2 -2
- package/lib/form-validators/util/reset-form.d.ts +3 -3
- package/lib/forms/directives/mat-form-field-editor.directive.d.ts +31 -28
- package/lib/forms/helpers/abstract-mat-form-field.d.ts +147 -91
- package/lib/forms/helpers/abstract-select-form-field.component.d.ts +144 -67
- package/lib/forms/helpers/value-accessor-base.d.ts +1 -1
- package/lib/layout/_m2-layout-theme.scss +14 -50
- package/lib/layout/layout-toggle.class.d.ts +1 -1
- package/lib/list/components/list.component.d.ts +3 -15
- package/lib/select/components/select.component.d.ts +3 -16
- package/lib/table/components/filter-select/filter-select.component.d.ts +2 -3
- package/package.json +3 -5
- package/esm2022/lib/base/base.module.mjs +0 -114
- package/esm2022/lib/base/components/base.component.mjs +0 -904
- package/esm2022/lib/base/components/dynamic-table-config-dialog/dynamic-table-config-dialog.comnponent.mjs +0 -123
- package/esm2022/lib/base/components/generic-embedded-list.component.mjs +0 -197
- package/esm2022/lib/base/components/generic-form-base.component.mjs +0 -891
- package/esm2022/lib/base/components/generic-form.component.mjs +0 -44
- package/esm2022/lib/base/components/generic-list.component.mjs +0 -966
- package/esm2022/lib/base/components/generic-reactive-form.component.mjs +0 -101
- package/esm2022/lib/base/components/task-dialog/task-dialog.component.mjs +0 -147
- package/esm2022/lib/base/constants/common.mjs +0 -92
- package/esm2022/lib/base/constants/global-roles.mjs +0 -9
- package/esm2022/lib/base/enums/message-type.mjs +0 -7
- package/esm2022/lib/base/helpers/auth-helper.mjs +0 -53
- package/esm2022/lib/base/interceptors/base.interceptor.mjs +0 -168
- package/esm2022/lib/base/interceptors/caching-interceptor.mjs +0 -67
- package/esm2022/lib/base/interceptors/loading.interceptor.mjs +0 -64
- package/esm2022/lib/base/interfaces/ibase-component.mjs +0 -2
- package/esm2022/lib/base/interfaces/igeneric-form-base.mjs +0 -2
- package/esm2022/lib/base/interfaces/igeneric-list-component.mjs +0 -2
- package/esm2022/lib/base/interfaces/igeneric-reactive-form-base.mjs +0 -2
- package/esm2022/lib/base/models/auth-user.mjs +0 -18
- package/esm2022/lib/base/models/task-dialog-data.mjs +0 -85
- package/esm2022/lib/base/public_api.mjs +0 -2
- package/esm2022/lib/base/services/file.service.mjs +0 -18
- package/esm2022/lib/base/services/loading-screen.service.mjs +0 -45
- package/esm2022/lib/base/services/print.service.mjs +0 -41
- package/esm2022/lib/chips/chips.module.mjs +0 -77
- package/esm2022/lib/chips/components/chips.component.mjs +0 -702
- package/esm2022/lib/chips/directives/autocomplete-option.directive.mjs +0 -18
- package/esm2022/lib/chips/directives/chip.directive.mjs +0 -18
- package/esm2022/lib/chips/public_api.mjs +0 -3
- package/esm2022/lib/common/animations/collapse/collapse.animation.mjs +0 -33
- package/esm2022/lib/common/animations/common/interfaces.mjs +0 -2
- package/esm2022/lib/common/behaviors/constructor.mjs +0 -2
- package/esm2022/lib/common/behaviors/control-value-accesor.mixin.mjs +0 -41
- package/esm2022/lib/common/behaviors/disabled.mixin.mjs +0 -24
- package/esm2022/lib/common/common.module.mjs +0 -176
- package/esm2022/lib/common/constants/constants.mjs +0 -3
- package/esm2022/lib/common/directives/autofocus.directive.mjs +0 -62
- package/esm2022/lib/common/directives/delayed-hover.directive.mjs +0 -133
- package/esm2022/lib/common/directives/disable-control.directive.mjs +0 -35
- package/esm2022/lib/common/enums/app-event-type.mjs +0 -6
- package/esm2022/lib/common/enums/filter-glue.mjs +0 -16
- package/esm2022/lib/common/enums/filter-operator.mjs +0 -15
- package/esm2022/lib/common/enums/salutation.mjs +0 -7
- package/esm2022/lib/common/functions/decorators.mjs +0 -22
- package/esm2022/lib/common/functions/functions.mjs +0 -22
- package/esm2022/lib/common/functions/utils.mjs +0 -271
- package/esm2022/lib/common/helpers/app-storage.mjs +0 -77
- package/esm2022/lib/common/helpers/delegate.mjs +0 -2
- package/esm2022/lib/common/helpers/dynamic-builder.mjs +0 -52
- package/esm2022/lib/common/helpers/dynamic-component-compiler.mjs +0 -11
- package/esm2022/lib/common/models/action-item.mjs +0 -77
- package/esm2022/lib/common/models/app-event.mjs +0 -21
- package/esm2022/lib/common/models/app-setting.mjs +0 -92
- package/esm2022/lib/common/models/audit-entity.mjs +0 -53
- package/esm2022/lib/common/models/audit-user.mjs +0 -24
- package/esm2022/lib/common/models/base-entity.mjs +0 -40
- package/esm2022/lib/common/models/common-error.mjs +0 -29
- package/esm2022/lib/common/models/common-handler-context.mjs +0 -45
- package/esm2022/lib/common/models/displayname-number-projection.mjs +0 -56
- package/esm2022/lib/common/models/displayname-projection.mjs +0 -38
- package/esm2022/lib/common/models/entity.mjs +0 -2
- package/esm2022/lib/common/models/enum-item.mjs +0 -2
- package/esm2022/lib/common/models/enum-metadata.mjs +0 -44
- package/esm2022/lib/common/models/filter-field.mjs +0 -2
- package/esm2022/lib/common/models/filter.mjs +0 -2
- package/esm2022/lib/common/models/icommon-handler-context.mjs +0 -2
- package/esm2022/lib/common/models/icon.mjs +0 -42
- package/esm2022/lib/common/models/key-value.mjs +0 -11
- package/esm2022/lib/common/models/modifiable-entity.mjs +0 -22
- package/esm2022/lib/common/models/name-number-projection.mjs +0 -35
- package/esm2022/lib/common/models/name-projection.mjs +0 -25
- package/esm2022/lib/common/models/permission.mjs +0 -29
- package/esm2022/lib/common/models/save-action.mjs +0 -7
- package/esm2022/lib/common/models/suffix-button.mjs +0 -15
- package/esm2022/lib/common/models/title-projection.mjs +0 -25
- package/esm2022/lib/common/pipes/bind.mjs +0 -31
- package/esm2022/lib/common/pipes/data-source.pipe.mjs +0 -15
- package/esm2022/lib/common/pipes/enum.pipe.mjs +0 -41
- package/esm2022/lib/common/pipes/file-size.pipe.mjs +0 -35
- package/esm2022/lib/common/pipes/filter.pipe.mjs +0 -54
- package/esm2022/lib/common/pipes/first-letter.mjs +0 -24
- package/esm2022/lib/common/pipes/form-array.pipe.mjs +0 -14
- package/esm2022/lib/common/pipes/form-control.pipe.mjs +0 -14
- package/esm2022/lib/common/pipes/form-group.pipe.mjs +0 -14
- package/esm2022/lib/common/pipes/func.pipe.mjs +0 -14
- package/esm2022/lib/common/pipes/join.pipe.mjs +0 -26
- package/esm2022/lib/common/pipes/keys.mjs +0 -18
- package/esm2022/lib/common/pipes/map.pipe.mjs +0 -48
- package/esm2022/lib/common/pipes/month-name.pipe.mjs +0 -25
- package/esm2022/lib/common/pipes/nested-property.mjs +0 -29
- package/esm2022/lib/common/pipes/only-number.mjs +0 -58
- package/esm2022/lib/common/pipes/order.pipe.mjs +0 -269
- package/esm2022/lib/common/pipes/placeholder.pipe.mjs +0 -26
- package/esm2022/lib/common/pipes/property-join.pipe.mjs +0 -27
- package/esm2022/lib/common/pipes/safe-html.pipe.mjs +0 -32
- package/esm2022/lib/common/pipes/split.pipe.mjs +0 -25
- package/esm2022/lib/common/pipes/time.pipe.mjs +0 -21
- package/esm2022/lib/common/pipes/titlecase.pipe.mjs +0 -14
- package/esm2022/lib/common/pipes/truncate.pipe.mjs +0 -15
- package/esm2022/lib/common/pipes/values.mjs +0 -14
- package/esm2022/lib/common/public_api.mjs +0 -41
- package/esm2022/lib/common/services/base.service.mjs +0 -19
- package/esm2022/lib/common/services/context-helper.mjs +0 -17
- package/esm2022/lib/common/services/enum.service.mjs +0 -81
- package/esm2022/lib/common/services/event-queue.service.mjs +0 -31
- package/esm2022/lib/common/services/service-locator.mjs +0 -25
- package/esm2022/lib/common/templates/templates.mjs +0 -87
- package/esm2022/lib/dialogs/alert-dialog/alert-dialog.component.mjs +0 -46
- package/esm2022/lib/dialogs/confirm-dialog/confirm-dialog.component.mjs +0 -60
- package/esm2022/lib/dialogs/dialog.component.mjs +0 -59
- package/esm2022/lib/dialogs/dialogs.module.mjs +0 -72
- package/esm2022/lib/dialogs/prompt-dialog/prompt-dialog.component.mjs +0 -44
- package/esm2022/lib/dialogs/public_api.mjs +0 -2
- package/esm2022/lib/dialogs/services/dialog.service.mjs +0 -154
- package/esm2022/lib/file/file-input.component.mjs +0 -334
- package/esm2022/lib/file/file.module.mjs +0 -37
- package/esm2022/lib/file/public_api.mjs +0 -2
- package/esm2022/lib/form-validators/abstract/typed-form.mjs +0 -13
- package/esm2022/lib/form-validators/algorithm/luhn-algorithm.mjs +0 -33
- package/esm2022/lib/form-validators/const/app-validators.const.mjs +0 -68
- package/esm2022/lib/form-validators/const/app.const.mjs +0 -65
- package/esm2022/lib/form-validators/const/config-names.const.mjs +0 -33
- package/esm2022/lib/form-validators/const/config-required-fields.const.mjs +0 -35
- package/esm2022/lib/form-validators/const/decorators.const.mjs +0 -23
- package/esm2022/lib/form-validators/const/events.const.mjs +0 -53
- package/esm2022/lib/form-validators/const/html-elements.const.mjs +0 -25
- package/esm2022/lib/form-validators/const/iban-country-wise-regex.const.mjs +0 -80
- package/esm2022/lib/form-validators/const/index.mjs +0 -6
- package/esm2022/lib/form-validators/const/operators.const.mjs +0 -7
- package/esm2022/lib/form-validators/const/validation-alphabet-locale.const.mjs +0 -9
- package/esm2022/lib/form-validators/const/validator.const.mjs +0 -29
- package/esm2022/lib/form-validators/core/annotation-types.mjs +0 -75
- package/esm2022/lib/form-validators/core/default-container.mjs +0 -500
- package/esm2022/lib/form-validators/decorators/allOf.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/alpha.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/alphaNumeric.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/and.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/ascii.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/async.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/base-decorator.function.mjs +0 -7
- package/esm2022/lib/form-validators/decorators/choice.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/compare.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/compose.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/contains.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/credit-card.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/cusip.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/custom.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/dataUri.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/date.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/different.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/digit.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/email.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/endsWith.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/even.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/extension.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/factor.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/file.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/fileSize.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/greater-than-equal-to.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/greater-than.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/grid.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/hexColor.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/image.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/index.mjs +0 -93
- package/esm2022/lib/form-validators/decorators/json.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/latLong.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/latitude.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/leapYear.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/less-than-equal-to.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/less-than.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/longitude.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/lowercase.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/mac.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/mask.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/maxDate.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/maxLength.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/maxNumber.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/maxTime.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/minDate.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/minLength.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/minNumber.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/minTime.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/model.decorator.mjs +0 -7
- package/esm2022/lib/form-validators/decorators/non-validation-decorators/disable.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/non-validation-decorators/elementClass.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/non-validation-decorators/error.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/non-validation-decorators/update-on.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/noneOf.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/not.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/notEmpty.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/numeric.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/odd.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/oneOf.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/or.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/password.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/pattern.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/port.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/primeNumber.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/prop-array.decorator.mjs +0 -18
- package/esm2022/lib/form-validators/decorators/prop-object.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/prop.decorator.mjs +0 -18
- package/esm2022/lib/form-validators/decorators/range.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/required.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/requiredTrue.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/rule.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/sanitize/blacklist.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/sanitize/escape.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/sanitize/ltrim.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/sanitize/prefix.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/sanitize/rtrim.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/sanitize/sanitize.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/sanitize/stripLow.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/sanitize/suffix.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/sanitize/toBoolean.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/sanitize/toDate.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/sanitize/toDouble.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/sanitize/toFloat.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/sanitize/toInt.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/sanitize/toString.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/sanitize/trim.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/sanitize/whitelist.decorator.mjs +0 -8
- package/esm2022/lib/form-validators/decorators/startsWith.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/time.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/decorators/unique.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/uppercase.decorator.mjs +0 -6
- package/esm2022/lib/form-validators/decorators/url.decorator.mjs +0 -10
- package/esm2022/lib/form-validators/directives/base-directive.mjs +0 -75
- package/esm2022/lib/form-validators/directives/control-host.directive.mjs +0 -55
- package/esm2022/lib/form-validators/directives/html-control-template.directive.mjs +0 -36
- package/esm2022/lib/form-validators/directives/rx-form.directive.mjs +0 -234
- package/esm2022/lib/form-validators/directives/template-validations/async-validation.directive.mjs +0 -40
- package/esm2022/lib/form-validators/directives/template-validations/base-validator.directive.mjs +0 -76
- package/esm2022/lib/form-validators/directives/template-validations/control-expression-process.mjs +0 -60
- package/esm2022/lib/form-validators/directives/template-validations/file-control.directive.mjs +0 -122
- package/esm2022/lib/form-validators/directives/template-validations/image-file-control.directive.mjs +0 -74
- package/esm2022/lib/form-validators/directives/template-validations/rxformcontrol.directive.mjs +0 -394
- package/esm2022/lib/form-validators/domain/disable-provider.mjs +0 -198
- package/esm2022/lib/form-validators/domain/element-processor/decimal.provider.mjs +0 -134
- package/esm2022/lib/form-validators/domain/element-processor/mask.provider.mjs +0 -453
- package/esm2022/lib/form-validators/domain/form-data.mjs +0 -93
- package/esm2022/lib/form-validators/enums/error-message-binding-strategy.mjs +0 -11
- package/esm2022/lib/form-validators/enums/index.mjs +0 -5
- package/esm2022/lib/form-validators/enums/ip-version.mjs +0 -7
- package/esm2022/lib/form-validators/enums/numeric-value-type.mjs +0 -7
- package/esm2022/lib/form-validators/enums/reset-type.mjs +0 -10
- package/esm2022/lib/form-validators/enums/url-validation-type.mjs +0 -7
- package/esm2022/lib/form-validators/models/config/alpha-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/array-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/base-config-fn.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/base-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/base-date-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/choice-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/compare-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/component-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/compose-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/contains-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/credit-card-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/custom-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/date-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/default-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/digit-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/disable-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/element-class-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/email-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/error-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/extension-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/factor-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/field-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/file-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/hex-color-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/iban-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/image-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/index.mjs +0 -35
- package/esm2022/lib/form-validators/models/config/ip-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/logical-operator-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/mask-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/max-date-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/message-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/min-date-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/model-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/number-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/numeric-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/password-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/pattern-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/prop-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/props-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/range-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/relational-operator-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/required-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/rule-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/sanitize-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/size-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/string-comparison-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/string-value-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/time-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/todate-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/unique-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/update-on-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/config/url-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/control-info.mjs +0 -2
- package/esm2022/lib/form-validators/models/data-sanitizer.mjs +0 -2
- package/esm2022/lib/form-validators/models/decorator-configuration.mjs +0 -2
- package/esm2022/lib/form-validators/models/form-builder-configuration.mjs +0 -58
- package/esm2022/lib/form-validators/models/index.mjs +0 -3
- package/esm2022/lib/form-validators/models/instance-container.mjs +0 -2
- package/esm2022/lib/form-validators/models/interface/array-prop-instance-config.interface.mjs +0 -2
- package/esm2022/lib/form-validators/models/interface/auto-instance-config.interface.mjs +0 -2
- package/esm2022/lib/form-validators/models/interface/form-data-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/interface/i-abstract-control.mjs +0 -30
- package/esm2022/lib/form-validators/models/interface/i-form-group.mjs +0 -2
- package/esm2022/lib/form-validators/models/interface/instance-argument.interface.mjs +0 -2
- package/esm2022/lib/form-validators/models/interface/object-prop-instance-config.interface.mjs +0 -2
- package/esm2022/lib/form-validators/models/interface/options.mjs +0 -2
- package/esm2022/lib/form-validators/models/password-validation.model.mjs +0 -2
- package/esm2022/lib/form-validators/models/prop-validation-config.mjs +0 -2
- package/esm2022/lib/form-validators/models/property-info.mjs +0 -2
- package/esm2022/lib/form-validators/public_api.mjs +0 -26
- package/esm2022/lib/form-validators/reactive-form-validators/allOf.validator.mjs +0 -33
- package/esm2022/lib/form-validators/reactive-form-validators/alpha.validator.mjs +0 -15
- package/esm2022/lib/form-validators/reactive-form-validators/alphaNumeric.validator.mjs +0 -15
- package/esm2022/lib/form-validators/reactive-form-validators/and.validator.mjs +0 -38
- package/esm2022/lib/form-validators/reactive-form-validators/ascii.validator.mjs +0 -15
- package/esm2022/lib/form-validators/reactive-form-validators/async/base.async.validator.mjs +0 -45
- package/esm2022/lib/form-validators/reactive-form-validators/choice.validator.mjs +0 -31
- package/esm2022/lib/form-validators/reactive-form-validators/compare.validator.mjs +0 -32
- package/esm2022/lib/form-validators/reactive-form-validators/compose.validator.mjs +0 -34
- package/esm2022/lib/form-validators/reactive-form-validators/conditional-change.validator.mjs +0 -63
- package/esm2022/lib/form-validators/reactive-form-validators/contains.validator.mjs +0 -22
- package/esm2022/lib/form-validators/reactive-form-validators/credit-card.validator.mjs +0 -48
- package/esm2022/lib/form-validators/reactive-form-validators/cusip.validator.mjs +0 -38
- package/esm2022/lib/form-validators/reactive-form-validators/custom.validator.mjs +0 -25
- package/esm2022/lib/form-validators/reactive-form-validators/dataUri.validator.mjs +0 -9
- package/esm2022/lib/form-validators/reactive-form-validators/date.validator.mjs +0 -8
- package/esm2022/lib/form-validators/reactive-form-validators/different.validator.mjs +0 -19
- package/esm2022/lib/form-validators/reactive-form-validators/digit.validator.mjs +0 -9
- package/esm2022/lib/form-validators/reactive-form-validators/email.validator.mjs +0 -9
- package/esm2022/lib/form-validators/reactive-form-validators/endsWith.validator.mjs +0 -23
- package/esm2022/lib/form-validators/reactive-form-validators/even.validator.mjs +0 -15
- package/esm2022/lib/form-validators/reactive-form-validators/extension.validator.mjs +0 -40
- package/esm2022/lib/form-validators/reactive-form-validators/factor.validator.mjs +0 -37
- package/esm2022/lib/form-validators/reactive-form-validators/file.validator.mjs +0 -26
- package/esm2022/lib/form-validators/reactive-form-validators/fileSize.validator.mjs +0 -34
- package/esm2022/lib/form-validators/reactive-form-validators/greater-than-equal-to.validator.mjs +0 -8
- package/esm2022/lib/form-validators/reactive-form-validators/greater-than.validator.mjs +0 -8
- package/esm2022/lib/form-validators/reactive-form-validators/grid.validator.mjs +0 -31
- package/esm2022/lib/form-validators/reactive-form-validators/hexcolor.validator.mjs +0 -9
- package/esm2022/lib/form-validators/reactive-form-validators/iban.validator.mjs +0 -28
- package/esm2022/lib/form-validators/reactive-form-validators/image.validator.mjs +0 -52
- package/esm2022/lib/form-validators/reactive-form-validators/index.mjs +0 -66
- package/esm2022/lib/form-validators/reactive-form-validators/ip.validator.mjs +0 -28
- package/esm2022/lib/form-validators/reactive-form-validators/json.validator.mjs +0 -26
- package/esm2022/lib/form-validators/reactive-form-validators/latLong.validator.mjs +0 -18
- package/esm2022/lib/form-validators/reactive-form-validators/latitude.validator.mjs +0 -9
- package/esm2022/lib/form-validators/reactive-form-validators/leapYear.validator.mjs +0 -16
- package/esm2022/lib/form-validators/reactive-form-validators/less-than-equal-to.validator.mjs +0 -8
- package/esm2022/lib/form-validators/reactive-form-validators/less-than.validator.mjs +0 -8
- package/esm2022/lib/form-validators/reactive-form-validators/longitude.validator.mjs +0 -9
- package/esm2022/lib/form-validators/reactive-form-validators/lowercase.validator.mjs +0 -15
- package/esm2022/lib/form-validators/reactive-form-validators/mac.validator.mjs +0 -9
- package/esm2022/lib/form-validators/reactive-form-validators/mask.validator.mjs +0 -14
- package/esm2022/lib/form-validators/reactive-form-validators/maxDate.validator.mjs +0 -8
- package/esm2022/lib/form-validators/reactive-form-validators/maxLength.validator.mjs +0 -17
- package/esm2022/lib/form-validators/reactive-form-validators/maxNumber.validator.mjs +0 -17
- package/esm2022/lib/form-validators/reactive-form-validators/maxTime.validator.mjs +0 -8
- package/esm2022/lib/form-validators/reactive-form-validators/minDate.validator.mjs +0 -8
- package/esm2022/lib/form-validators/reactive-form-validators/minLength.validator.mjs +0 -16
- package/esm2022/lib/form-validators/reactive-form-validators/minNumber.validator.mjs +0 -16
- package/esm2022/lib/form-validators/reactive-form-validators/minTime.validator.mjs +0 -8
- package/esm2022/lib/form-validators/reactive-form-validators/noneOf.validator.mjs +0 -24
- package/esm2022/lib/form-validators/reactive-form-validators/not.validator.mjs +0 -25
- package/esm2022/lib/form-validators/reactive-form-validators/notEmpty.validator.mjs +0 -17
- package/esm2022/lib/form-validators/reactive-form-validators/numeric.validator.mjs +0 -22
- package/esm2022/lib/form-validators/reactive-form-validators/odd.validator.mjs +0 -17
- package/esm2022/lib/form-validators/reactive-form-validators/oneOf.validator.mjs +0 -26
- package/esm2022/lib/form-validators/reactive-form-validators/or.validator.mjs +0 -25
- package/esm2022/lib/form-validators/reactive-form-validators/password.validator.mjs +0 -35
- package/esm2022/lib/form-validators/reactive-form-validators/pattern.validator.mjs +0 -19
- package/esm2022/lib/form-validators/reactive-form-validators/port.validator.mjs +0 -19
- package/esm2022/lib/form-validators/reactive-form-validators/primeNumber.validator.mjs +0 -27
- package/esm2022/lib/form-validators/reactive-form-validators/range.validator.mjs +0 -17
- package/esm2022/lib/form-validators/reactive-form-validators/required.validator.mjs +0 -17
- package/esm2022/lib/form-validators/reactive-form-validators/requiredTrue.validator.mjs +0 -16
- package/esm2022/lib/form-validators/reactive-form-validators/rule.validator.mjs +0 -22
- package/esm2022/lib/form-validators/reactive-form-validators/startsWith.validator.mjs +0 -25
- package/esm2022/lib/form-validators/reactive-form-validators/time.validator.mjs +0 -19
- package/esm2022/lib/form-validators/reactive-form-validators/unique.validator.mjs +0 -77
- package/esm2022/lib/form-validators/reactive-form-validators/uppercase.validator.mjs +0 -16
- package/esm2022/lib/form-validators/reactive-form-validators/url.validator.mjs +0 -28
- package/esm2022/lib/form-validators/services/base-form-builder.mjs +0 -220
- package/esm2022/lib/form-validators/services/entity.service.mjs +0 -76
- package/esm2022/lib/form-validators/services/form-control.mjs +0 -370
- package/esm2022/lib/form-validators/services/form-group.mjs +0 -2
- package/esm2022/lib/form-validators/services/reactive-form.module.mjs +0 -52
- package/esm2022/lib/form-validators/services/rx-form-array.mjs +0 -114
- package/esm2022/lib/form-validators/services/rx-form-builder.mjs +0 -1035
- package/esm2022/lib/form-validators/services/rx-form-group.mjs +0 -451
- package/esm2022/lib/form-validators/services/typed-form-builder.mjs +0 -25
- package/esm2022/lib/form-validators/util/alphabet-regex.locale.mjs +0 -29
- package/esm2022/lib/form-validators/util/app-util.mjs +0 -161
- package/esm2022/lib/form-validators/util/check-length.mjs +0 -11
- package/esm2022/lib/form-validators/util/config-provider.mjs +0 -37
- package/esm2022/lib/form-validators/util/date-checker.function.mjs +0 -52
- package/esm2022/lib/form-validators/util/date-provider.mjs +0 -108
- package/esm2022/lib/form-validators/util/form-const.mjs +0 -3
- package/esm2022/lib/form-validators/util/form-provider.mjs +0 -87
- package/esm2022/lib/form-validators/util/index.mjs +0 -7
- package/esm2022/lib/form-validators/util/instance-provider.function.mjs +0 -63
- package/esm2022/lib/form-validators/util/ip-checker.mjs +0 -19
- package/esm2022/lib/form-validators/util/linq.mjs +0 -157
- package/esm2022/lib/form-validators/util/object-maker.mjs +0 -68
- package/esm2022/lib/form-validators/util/reactive-form-config.mjs +0 -25
- package/esm2022/lib/form-validators/util/regex-rules.mjs +0 -37
- package/esm2022/lib/form-validators/util/regex-validator.mjs +0 -74
- package/esm2022/lib/form-validators/util/relational-checker.function.mjs +0 -92
- package/esm2022/lib/form-validators/util/reset-form.mjs +0 -57
- package/esm2022/lib/form-validators/util/sanitizers.mjs +0 -140
- package/esm2022/lib/form-validators/util/time-checker.function.mjs +0 -50
- package/esm2022/lib/form-validators/util/type.mjs +0 -2
- package/esm2022/lib/form-validators/util/validator-value-checker.mjs +0 -21
- package/esm2022/lib/form-validators/validators-extension/allOf-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/alpha-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/alphaNumeric-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/and-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/ascii-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/base-validator.function.mjs +0 -34
- package/esm2022/lib/form-validators/validators-extension/choice-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/compare-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/compose-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/contains-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/credit-card-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/cusip-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/custom-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/dataUri-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/date-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/different-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/digit-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/email-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/endsWith-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/even-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/extension-validator.extension.mjs +0 -10
- package/esm2022/lib/form-validators/validators-extension/factor-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/file-validator.extension.mjs +0 -10
- package/esm2022/lib/form-validators/validators-extension/fileSize-validator.extension.mjs +0 -10
- package/esm2022/lib/form-validators/validators-extension/greater-than-equal-to-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/greater-than-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/grid-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/hexcolor-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/iban-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/image-validator.extension.mjs +0 -10
- package/esm2022/lib/form-validators/validators-extension/index.mjs +0 -68
- package/esm2022/lib/form-validators/validators-extension/ip-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/json-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/latLong-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/latitude-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/leapYear-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/less-than-equal-to-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/less-than-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/longitude-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/lowercase-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/mac-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/mask-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/maxDate-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/maxLength-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/maxNumber-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/maxTime-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/minDate-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/minLength-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/minNumber-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/minTime-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/noneOf-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/not-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/notEmpty-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/numeric-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/odd-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/oneOf-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/or-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/password-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/pattern-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/port-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/primeNumber-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/range-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/required-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/requiredTrue-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/rxweb-validators.mjs +0 -108
- package/esm2022/lib/form-validators/validators-extension/startsWith-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/time-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-extension/unique-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/uppercase-validator.extension.mjs +0 -7
- package/esm2022/lib/form-validators/validators-extension/url-validator.extension.mjs +0 -11
- package/esm2022/lib/form-validators/validators-function/alpha-validation.function.mjs +0 -71
- package/esm2022/lib/form-validators/validators-function/regex-validation.function.mjs +0 -33
- package/esm2022/lib/forms/components/datepicker/datepicker-header.component.mjs +0 -84
- package/esm2022/lib/forms/components/generic-form/generic-form.component.mjs +0 -602
- package/esm2022/lib/forms/constants/constants.mjs +0 -4
- package/esm2022/lib/forms/directives/mat-form-field-editor.directive.mjs +0 -197
- package/esm2022/lib/forms/directives/mat-form-field-readonly.directive.mjs +0 -34
- package/esm2022/lib/forms/directives/parse-decimal-directive.mjs +0 -87
- package/esm2022/lib/forms/directives/vd-generic-form-custom-field.directive.mjs +0 -35
- package/esm2022/lib/forms/enums/form-field-type.mjs +0 -23
- package/esm2022/lib/forms/forms.module.mjs +0 -168
- package/esm2022/lib/forms/functions/decorators.mjs +0 -136
- package/esm2022/lib/forms/functions/functions.mjs +0 -72
- package/esm2022/lib/forms/helpers/abstract-mat-form-field.mjs +0 -308
- package/esm2022/lib/forms/helpers/abstract-select-form-field.component.mjs +0 -492
- package/esm2022/lib/forms/helpers/value-accessor-base.mjs +0 -146
- package/esm2022/lib/forms/models/form-definition.mjs +0 -63
- package/esm2022/lib/forms/models/form-field-definition.mjs +0 -468
- package/esm2022/lib/forms/models/form-field-group-definition.mjs +0 -55
- package/esm2022/lib/forms/pipes/field-func.pipe.mjs +0 -23
- package/esm2022/lib/forms/pipes/group-filter.pipe.mjs +0 -34
- package/esm2022/lib/forms/public_api.mjs +0 -5
- package/esm2022/lib/forms/validators/empty-string-reset.directive.mjs +0 -25
- package/esm2022/lib/forms/validators/equal-validator.directive.mjs +0 -69
- package/esm2022/lib/forms/validators/native-element-injector.directive.mjs +0 -41
- package/esm2022/lib/forms/validators/unique-validator-directive.mjs +0 -88
- package/esm2022/lib/http/http.module.mjs +0 -15
- package/esm2022/lib/http/models/response.mjs +0 -24
- package/esm2022/lib/http/public_api.mjs +0 -2
- package/esm2022/lib/http/services/generic.service.mjs +0 -331
- package/esm2022/lib/layout/dynamic-menu/dynamic-menu.component.mjs +0 -103
- package/esm2022/lib/layout/layout-card-over/layout-card-over.component.mjs +0 -49
- package/esm2022/lib/layout/layout-compact/layout-compact.component.mjs +0 -193
- package/esm2022/lib/layout/layout-footer/layout-footer.component.mjs +0 -37
- package/esm2022/lib/layout/layout-manage-list/layout-manage-list.component.mjs +0 -150
- package/esm2022/lib/layout/layout-manage-list/layout-manage-list.directives.mjs +0 -108
- package/esm2022/lib/layout/layout-nav/layout-nav.component.mjs +0 -146
- package/esm2022/lib/layout/layout-nav-list/layout-nav-list.component.mjs +0 -141
- package/esm2022/lib/layout/layout-nav-list/layout-nav-list.directives.mjs +0 -105
- package/esm2022/lib/layout/layout-toggle.class.mjs +0 -89
- package/esm2022/lib/layout/layout.component.mjs +0 -230
- package/esm2022/lib/layout/layout.directives.mjs +0 -81
- package/esm2022/lib/layout/layout.module.mjs +0 -144
- package/esm2022/lib/layout/list-toolbar/list-toolbar.component.mjs +0 -47
- package/esm2022/lib/layout/navigation-drawer/navigation-drawer.component.mjs +0 -275
- package/esm2022/lib/layout/public_api.mjs +0 -2
- package/esm2022/lib/list/components/list.component.mjs +0 -78
- package/esm2022/lib/list/directives/vd-list-option.directive.mjs +0 -23
- package/esm2022/lib/list/list.module.mjs +0 -36
- package/esm2022/lib/list/public_api.mjs +0 -3
- package/esm2022/lib/media/directives/media-toggle.directive.mjs +0 -154
- package/esm2022/lib/media/media.module.mjs +0 -35
- package/esm2022/lib/media/public_api.mjs +0 -2
- package/esm2022/lib/media/services/media.service.mjs +0 -110
- package/esm2022/lib/menu/components/menu.component.mjs +0 -95
- package/esm2022/lib/menu/enums/menu-scope.mjs +0 -6
- package/esm2022/lib/menu/menu.module.mjs +0 -64
- package/esm2022/lib/menu/models/menu-client.mjs +0 -39
- package/esm2022/lib/menu/models/menu-department.mjs +0 -39
- package/esm2022/lib/menu/models/menu-item-client.mjs +0 -39
- package/esm2022/lib/menu/models/menu-item-department.mjs +0 -39
- package/esm2022/lib/menu/models/menu-item.mjs +0 -351
- package/esm2022/lib/menu/models/menu-settings.mjs +0 -13
- package/esm2022/lib/menu/models/menu.mjs +0 -224
- package/esm2022/lib/menu/public_api.mjs +0 -3
- package/esm2022/lib/menu/resolvers/menu-form-includes.resolve.mjs +0 -50
- package/esm2022/lib/menu/resolvers/menu-item-form-includes.resolve.mjs +0 -50
- package/esm2022/lib/menu/resolvers/menu-list-projection.resolve.mjs +0 -51
- package/esm2022/lib/menu/resolvers/menu-settings.resolve.mjs +0 -24
- package/esm2022/lib/menu/services/menu-items.service.mjs +0 -19
- package/esm2022/lib/menu/services/menu.resolve.mjs +0 -68
- package/esm2022/lib/menu/services/menu.service.mjs +0 -19
- package/esm2022/lib/search/public_api.mjs +0 -2
- package/esm2022/lib/search/search.module.mjs +0 -33
- package/esm2022/lib/select/components/select.component.mjs +0 -215
- package/esm2022/lib/select/directives/vd-select-option.directive.mjs +0 -23
- package/esm2022/lib/select/directives/vd-select-trigger.directive.mjs +0 -23
- package/esm2022/lib/select/public_api.mjs +0 -4
- package/esm2022/lib/select/select.module.mjs +0 -48
- package/esm2022/lib/table/components/dynamic-table/dynamic-table.component.mjs +0 -810
- package/esm2022/lib/table/components/filter-clear/filter-clear.component.mjs +0 -36
- package/esm2022/lib/table/components/filter-date/filter-date.component.mjs +0 -146
- package/esm2022/lib/table/components/filter-input/filter-input.component.mjs +0 -198
- package/esm2022/lib/table/components/filter-select/filter-select.component.mjs +0 -375
- package/esm2022/lib/table/constants/constants.mjs +0 -3
- package/esm2022/lib/table/directives/data-source-filter.directive.mjs +0 -49
- package/esm2022/lib/table/directives/vd-table-field.directive.mjs +0 -35
- package/esm2022/lib/table/enums/grid.mjs +0 -12
- package/esm2022/lib/table/enums/table-column-type.mjs +0 -17
- package/esm2022/lib/table/functions/decorators.mjs +0 -163
- package/esm2022/lib/table/functions/functions.mjs +0 -28
- package/esm2022/lib/table/models/facet-value.mjs +0 -47
- package/esm2022/lib/table/models/facet.mjs +0 -48
- package/esm2022/lib/table/models/pagination.mjs +0 -27
- package/esm2022/lib/table/models/table-column-config.mjs +0 -128
- package/esm2022/lib/table/models/table-column.mjs +0 -270
- package/esm2022/lib/table/models/table-config.mjs +0 -41
- package/esm2022/lib/table/models/table-definition.mjs +0 -110
- package/esm2022/lib/table/models/table-query-config.mjs +0 -26
- package/esm2022/lib/table/paginator-intl.mjs +0 -41
- package/esm2022/lib/table/public_api.mjs +0 -2
- package/esm2022/lib/table/table.data-source.mjs +0 -326
- package/esm2022/lib/table/table.module.mjs +0 -165
- package/esm2022/lib/table/table.static-data-source.mjs +0 -198
- package/esm2022/messaia-cdk.mjs +0 -5
- package/esm2022/public_api.mjs +0 -19
- package/lib/common/styles/_elevation.scss +0 -147
- package/lib/common/styles/_rtl.scss +0 -28
- package/lib/common/styles/_styles.scss +0 -12
- package/lib/common/styles/_theme-functions.scss +0 -4
- package/lib/common/styles/_typography.scss +0 -76
- package/lib/common/styles/core/_content.scss +0 -42
- package/lib/common/styles/core/_divider.scss +0 -14
- package/lib/common/styles/core/_icons.scss +0 -27
- package/lib/common/styles/core/_list.scss +0 -8
- package/lib/common/styles/core/_toolbar.scss +0 -31
- package/lib/common/styles/core/_whiteframe.scss +0 -111
- package/lib/common/styles/m2/_theme-functions.scss +0 -21
- package/lib/common/styles/m3/_theme-functions.scss +0 -21
- package/lib/common/theming/_all-theme.scss +0 -27
- package/lib/common/typography/_all-typography.scss +0 -33
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { DECORATORS } from "../../const/decorators.const";
|
|
2
|
-
import { defaultContainer } from '../../core/default-container';
|
|
3
|
-
export function whitelist(chars) {
|
|
4
|
-
return function (target, propertyKey, parameterIndex) {
|
|
5
|
-
defaultContainer.addSanitizer(target, parameterIndex, propertyKey, DECORATORS.whitelist, chars);
|
|
6
|
-
};
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hpdGVsaXN0LmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9kZWNvcmF0b3JzL3Nhbml0aXplL3doaXRlbGlzdC5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBYTtJQUNuQyxPQUFPLFVBQVUsTUFBYyxFQUFFLFdBQW1CLEVBQUUsY0FBb0I7UUFDdEUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDbkcsQ0FBQyxDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERFQ09SQVRPUlMgfSBmcm9tIFwiLi4vLi4vY29uc3QvZGVjb3JhdG9ycy5jb25zdFwiO1xyXG5pbXBvcnQgeyBkZWZhdWx0Q29udGFpbmVyIH0gZnJvbSAnLi4vLi4vY29yZS9kZWZhdWx0LWNvbnRhaW5lcic7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2hpdGVsaXN0KGNoYXJzOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcsIHBhcmFtZXRlckluZGV4PzogYW55KSB7XHJcbiAgICAgICAgZGVmYXVsdENvbnRhaW5lci5hZGRTYW5pdGl6ZXIodGFyZ2V0LCBwYXJhbWV0ZXJJbmRleCwgcHJvcGVydHlLZXksIERFQ09SQVRPUlMud2hpdGVsaXN0LCBjaGFycylcclxuICAgIH1cclxufVxyXG5cclxuIl19
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { AnnotationTypes } from '../core/annotation-types';
|
|
2
|
-
import { baseAsyncValidator } from "../reactive-form-validators/async/base.async.validator";
|
|
3
|
-
import { baseDecoratorFunction } from "./base-decorator.function";
|
|
4
|
-
export function startsWith(config) {
|
|
5
|
-
return baseDecoratorFunction(AnnotationTypes.startsWith, config);
|
|
6
|
-
}
|
|
7
|
-
export function startsWithAsync(config) {
|
|
8
|
-
return baseDecoratorFunction(AnnotationTypes.startsWith, [baseAsyncValidator(config, AnnotationTypes.startsWith)], true);
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRzV2l0aC5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9mb3JtLXZhbGlkYXRvcnMvZGVjb3JhdG9ycy9zdGFydHNXaXRoLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDNUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbEUsTUFBTSxVQUFVLFVBQVUsQ0FBQyxNQUE4QjtJQUNyRCxPQUFPLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFDcEUsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsTUFBK0I7SUFDM0QsT0FBTyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzdILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbm5vdGF0aW9uVHlwZXMgfSBmcm9tICcuLi9jb3JlL2Fubm90YXRpb24tdHlwZXMnO1xyXG5pbXBvcnQgeyBTdHJpbmdDb21wYXJpc29uQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9jb25maWcvc3RyaW5nLWNvbXBhcmlzb24tY29uZmlnXCI7XHJcbmltcG9ydCB7IGJhc2VBc3luY1ZhbGlkYXRvciB9IGZyb20gXCIuLi9yZWFjdGl2ZS1mb3JtLXZhbGlkYXRvcnMvYXN5bmMvYmFzZS5hc3luYy52YWxpZGF0b3JcIjtcclxuaW1wb3J0IHsgYmFzZURlY29yYXRvckZ1bmN0aW9uIH0gZnJvbSBcIi4vYmFzZS1kZWNvcmF0b3IuZnVuY3Rpb25cIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzdGFydHNXaXRoKGNvbmZpZzogU3RyaW5nQ29tcGFyaXNvbkNvbmZpZykge1xyXG4gICAgcmV0dXJuIGJhc2VEZWNvcmF0b3JGdW5jdGlvbihBbm5vdGF0aW9uVHlwZXMuc3RhcnRzV2l0aCwgY29uZmlnKVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc3RhcnRzV2l0aEFzeW5jKGNvbmZpZz86IFN0cmluZ0NvbXBhcmlzb25Db25maWcpIHtcclxuICAgIHJldHVybiBiYXNlRGVjb3JhdG9yRnVuY3Rpb24oQW5ub3RhdGlvblR5cGVzLnN0YXJ0c1dpdGgsIFtiYXNlQXN5bmNWYWxpZGF0b3IoY29uZmlnLCBBbm5vdGF0aW9uVHlwZXMuc3RhcnRzV2l0aCldLCB0cnVlKTtcclxufVxyXG4iXX0=
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { AnnotationTypes } from "../core/annotation-types";
|
|
2
|
-
import { baseAsyncValidator } from "../reactive-form-validators/async/base.async.validator";
|
|
3
|
-
import { baseDecoratorFunction } from "./base-decorator.function";
|
|
4
|
-
export function time(config) {
|
|
5
|
-
return baseDecoratorFunction(AnnotationTypes.time, config);
|
|
6
|
-
}
|
|
7
|
-
export function timeAsync(config) {
|
|
8
|
-
return baseDecoratorFunction(AnnotationTypes.time, [baseAsyncValidator(config, AnnotationTypes.time)], true);
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9mb3JtLXZhbGlkYXRvcnMvZGVjb3JhdG9ycy90aW1lLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDNUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbEUsTUFBTSxVQUFVLElBQUksQ0FBQyxNQUFtQjtJQUNwQyxPQUFPLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFDOUQsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsTUFBbUI7SUFDekMsT0FBTyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2pILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbm5vdGF0aW9uVHlwZXMgfSBmcm9tIFwiLi4vY29yZS9hbm5vdGF0aW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7IFRpbWVDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy90aW1lLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBiYXNlQXN5bmNWYWxpZGF0b3IgfSBmcm9tIFwiLi4vcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL2FzeW5jL2Jhc2UuYXN5bmMudmFsaWRhdG9yXCI7XHJcbmltcG9ydCB7IGJhc2VEZWNvcmF0b3JGdW5jdGlvbiB9IGZyb20gXCIuL2Jhc2UtZGVjb3JhdG9yLmZ1bmN0aW9uXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGltZShjb25maWc/OiBUaW1lQ29uZmlnKSB7XHJcbiAgICByZXR1cm4gYmFzZURlY29yYXRvckZ1bmN0aW9uKEFubm90YXRpb25UeXBlcy50aW1lLCBjb25maWcpXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0aW1lQXN5bmMoY29uZmlnPzogVGltZUNvbmZpZykge1xyXG4gICAgcmV0dXJuIGJhc2VEZWNvcmF0b3JGdW5jdGlvbihBbm5vdGF0aW9uVHlwZXMudGltZSwgW2Jhc2VBc3luY1ZhbGlkYXRvcihjb25maWcsIEFubm90YXRpb25UeXBlcy50aW1lKV0sIHRydWUpO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { AnnotationTypes } from '../core/annotation-types';
|
|
2
|
-
import { baseDecoratorFunction } from "./base-decorator.function";
|
|
3
|
-
export function unique(config) {
|
|
4
|
-
return baseDecoratorFunction(AnnotationTypes.unique, config);
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlLmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9kZWNvcmF0b3JzL3VuaXF1ZS5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWxFLE1BQU0sVUFBVSxNQUFNLENBQUMsTUFBcUI7SUFDeEMsT0FBTyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQ2hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbm5vdGF0aW9uVHlwZXMgfSBmcm9tICcuLi9jb3JlL2Fubm90YXRpb24tdHlwZXMnO1xyXG5pbXBvcnQgeyBVbmlxdWVDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy91bmlxdWUtY29uZmlnXCI7XHJcbmltcG9ydCB7IGJhc2VEZWNvcmF0b3JGdW5jdGlvbiB9IGZyb20gXCIuL2Jhc2UtZGVjb3JhdG9yLmZ1bmN0aW9uXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdW5pcXVlKGNvbmZpZz86IFVuaXF1ZUNvbmZpZykge1xyXG4gICAgcmV0dXJuIGJhc2VEZWNvcmF0b3JGdW5jdGlvbihBbm5vdGF0aW9uVHlwZXMudW5pcXVlLCBjb25maWcpXHJcbn1cclxuIl19
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { AnnotationTypes } from "../core/annotation-types";
|
|
2
|
-
import { baseDecoratorFunction } from "./base-decorator.function";
|
|
3
|
-
export function upperCase(config) {
|
|
4
|
-
return baseDecoratorFunction(AnnotationTypes.upperCase, config);
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBwZXJjYXNlLmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9kZWNvcmF0b3JzL3VwcGVyY2FzZS5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWxFLE1BQU0sVUFBVSxTQUFTLENBQUMsTUFBc0I7SUFDNUMsT0FBTyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQ25FLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbm5vdGF0aW9uVHlwZXMgfSBmcm9tIFwiLi4vY29yZS9hbm5vdGF0aW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7IE1lc3NhZ2VDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy9tZXNzYWdlLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBiYXNlRGVjb3JhdG9yRnVuY3Rpb24gfSBmcm9tIFwiLi9iYXNlLWRlY29yYXRvci5mdW5jdGlvblwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHVwcGVyQ2FzZShjb25maWc/OiBNZXNzYWdlQ29uZmlnKSB7XHJcbiAgICByZXR1cm4gYmFzZURlY29yYXRvckZ1bmN0aW9uKEFubm90YXRpb25UeXBlcy51cHBlckNhc2UsIGNvbmZpZylcclxufVxyXG4iXX0=
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { AnnotationTypes } from "../core/annotation-types";
|
|
2
|
-
import { baseAsyncValidator } from "../reactive-form-validators/async/base.async.validator";
|
|
3
|
-
import { baseDecoratorFunction } from "./base-decorator.function";
|
|
4
|
-
export function url(config) {
|
|
5
|
-
return baseDecoratorFunction(AnnotationTypes.url, config);
|
|
6
|
-
}
|
|
7
|
-
export function urlAsync(config) {
|
|
8
|
-
return baseDecoratorFunction(AnnotationTypes.url, [baseAsyncValidator(config, AnnotationTypes.url)], true);
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9kZWNvcmF0b3JzL3VybC5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWxFLE1BQU0sVUFBVSxHQUFHLENBQUMsTUFBa0I7SUFDbEMsT0FBTyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzdELENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLE1BQWtCO0lBQ3ZDLE9BQU8scUJBQXFCLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMvRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIi4uL2NvcmUvYW5ub3RhdGlvbi10eXBlc1wiO1xyXG5pbXBvcnQgeyBVcmxDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy91cmwtY29uZmlnXCI7XHJcbmltcG9ydCB7IGJhc2VBc3luY1ZhbGlkYXRvciB9IGZyb20gXCIuLi9yZWFjdGl2ZS1mb3JtLXZhbGlkYXRvcnMvYXN5bmMvYmFzZS5hc3luYy52YWxpZGF0b3JcIjtcclxuaW1wb3J0IHsgYmFzZURlY29yYXRvckZ1bmN0aW9uIH0gZnJvbSBcIi4vYmFzZS1kZWNvcmF0b3IuZnVuY3Rpb25cIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB1cmwoY29uZmlnPzogVXJsQ29uZmlnKSB7XHJcbiAgICByZXR1cm4gYmFzZURlY29yYXRvckZ1bmN0aW9uKEFubm90YXRpb25UeXBlcy51cmwsIGNvbmZpZylcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHVybEFzeW5jKGNvbmZpZz86IFVybENvbmZpZykge1xyXG4gICAgcmV0dXJuIGJhc2VEZWNvcmF0b3JGdW5jdGlvbihBbm5vdGF0aW9uVHlwZXMudXJsLCBbYmFzZUFzeW5jVmFsaWRhdG9yKGNvbmZpZywgQW5ub3RhdGlvblR5cGVzLnVybCldLCB0cnVlKTtcclxufVxyXG4iXX0=
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from "@angular/core";
|
|
2
|
-
import { OBJECT_PROPERTY, PROPERTY } from "../const";
|
|
3
|
-
import { TEMPLATE_VALIDATION_CONFIG } from '../const/app.const';
|
|
4
|
-
import { defaultContainer } from "../core/default-container";
|
|
5
|
-
import { ApplicationUtil } from "../util/app-util";
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
/**
|
|
8
|
-
* Abstract base directive for applying validations to form controls.
|
|
9
|
-
*/
|
|
10
|
-
export class BaseDirective {
|
|
11
|
-
/**
|
|
12
|
-
* Input property for the model object.
|
|
13
|
-
*/
|
|
14
|
-
model;
|
|
15
|
-
/**
|
|
16
|
-
* Applies validations to the given controls based on the model configuration.
|
|
17
|
-
* @param controls The controls to which validations are applied.
|
|
18
|
-
* @param model Optional model object. If not provided, the model property of the directive is used.
|
|
19
|
-
*/
|
|
20
|
-
applyValidations(controls, model = null) {
|
|
21
|
-
/* Check if a model is provided */
|
|
22
|
-
if (this.model) {
|
|
23
|
-
/* Retrieve the model configuration from the default container */
|
|
24
|
-
let modelConfig = defaultContainer.get(model || this.model.constructor);
|
|
25
|
-
/* If a model configuration exists */
|
|
26
|
-
if (modelConfig) {
|
|
27
|
-
/* Iterate over each property in the model configuration */
|
|
28
|
-
modelConfig.properties?.forEach(property => {
|
|
29
|
-
/* Check if the property control exists */
|
|
30
|
-
if (controls[property.name]) {
|
|
31
|
-
/* Determine the type of property */
|
|
32
|
-
switch (property.propertyType) {
|
|
33
|
-
case PROPERTY:
|
|
34
|
-
/* Apply validator configuration for simple properties */
|
|
35
|
-
this.setValidatorConfig(controls[property.name], modelConfig, property);
|
|
36
|
-
break;
|
|
37
|
-
case OBJECT_PROPERTY:
|
|
38
|
-
/* Recursively apply validations for nested object properties */
|
|
39
|
-
this.applyValidations(controls[property.name].controls, property.entity);
|
|
40
|
-
break;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Sets the validator configuration for a specific control based on model annotations.
|
|
49
|
-
* @param control The control to which the validator configuration is applied.
|
|
50
|
-
* @param modelConfig The configuration of the model.
|
|
51
|
-
* @param property The property info of the control.
|
|
52
|
-
*/
|
|
53
|
-
setValidatorConfig(control, modelConfig, property) {
|
|
54
|
-
/* Filter annotations for the current property */
|
|
55
|
-
let annotations = modelConfig.propertyAnnotations.filter(t => t.propertyName == property.name);
|
|
56
|
-
/* Iterate over each annotation */
|
|
57
|
-
annotations.forEach(annotation => {
|
|
58
|
-
/* Check if TEMPLATE_VALIDATION_CONFIG exists on the control */
|
|
59
|
-
if (!control[TEMPLATE_VALIDATION_CONFIG]) {
|
|
60
|
-
/* If not, initialize it */
|
|
61
|
-
control[TEMPLATE_VALIDATION_CONFIG] = {};
|
|
62
|
-
}
|
|
63
|
-
/* Configure the control based on the annotation */
|
|
64
|
-
ApplicationUtil.configureControl(control, annotation.config ? annotation.config : "", annotation.annotationType);
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
68
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: BaseDirective, inputs: { model: "model" }, ngImport: i0 });
|
|
69
|
-
}
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseDirective, decorators: [{
|
|
71
|
-
type: Directive
|
|
72
|
-
}], propDecorators: { model: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9mb3JtLXZhbGlkYXRvcnMvZGlyZWN0aXZlcy9iYXNlLWRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRW5EOztHQUVHO0FBRUgsTUFBTSxPQUFnQixhQUFhO0lBQy9COztPQUVHO0lBRUksS0FBSyxDQUFNO0lBRWxCOzs7O09BSUc7SUFDSSxnQkFBZ0IsQ0FBQyxRQUFhLEVBQUUsUUFBYSxJQUFJO1FBQ3BELGtDQUFrQztRQUNsQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLGlFQUFpRTtZQUNqRSxJQUFJLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFeEUscUNBQXFDO1lBQ3JDLElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ2QsMkRBQTJEO2dCQUMzRCxXQUFXLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDdkMsMENBQTBDO29CQUMxQyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzt3QkFDMUIsb0NBQW9DO3dCQUNwQyxRQUFRLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQzs0QkFDNUIsS0FBSyxRQUFRO2dDQUNULHlEQUF5RDtnQ0FDekQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dDQUN4RSxNQUFNOzRCQUVWLEtBQUssZUFBZTtnQ0FDaEIsZ0VBQWdFO2dDQUNoRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dDQUN6RSxNQUFNO3dCQUNkLENBQUM7b0JBQ0wsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQTtZQUNOLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssa0JBQWtCLENBQUMsT0FBd0IsRUFBRSxXQUE4QixFQUFFLFFBQXNCO1FBQ3ZHLGlEQUFpRDtRQUNqRCxJQUFJLFdBQVcsR0FBRyxXQUFXLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0Ysa0NBQWtDO1FBQ2xDLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDN0IsK0RBQStEO1lBQy9ELElBQUksQ0FBRSxPQUFlLENBQUMsMEJBQTBCLENBQUMsRUFBRSxDQUFDO2dCQUNoRCwyQkFBMkI7Z0JBQzFCLE9BQWUsQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN0RCxDQUFDO1lBRUQsbURBQW1EO1lBQ25ELGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUNwSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7MEhBL0RpQixhQUFhOzhHQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBRGxDLFNBQVM7OEJBTUMsS0FBSztzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBPQkpFQ1RfUFJPUEVSVFksIFBST1BFUlRZIH0gZnJvbSBcIi4uL2NvbnN0XCI7XHJcbmltcG9ydCB7IFRFTVBMQVRFX1ZBTElEQVRJT05fQ09ORklHIH0gZnJvbSAnLi4vY29uc3QvYXBwLmNvbnN0JztcclxuaW1wb3J0IHsgZGVmYXVsdENvbnRhaW5lciB9IGZyb20gXCIuLi9jb3JlL2RlZmF1bHQtY29udGFpbmVyXCI7XHJcbmltcG9ydCB7IEluc3RhbmNlQ29udGFpbmVyIH0gZnJvbSBcIi4uL21vZGVscy9pbnN0YW5jZS1jb250YWluZXJcIjtcclxuaW1wb3J0IHsgUHJvcGVydHlJbmZvIH0gZnJvbSBcIi4uL21vZGVscy9wcm9wZXJ0eS1pbmZvXCI7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uVXRpbCB9IGZyb20gXCIuLi91dGlsL2FwcC11dGlsXCI7XHJcblxyXG4vKipcclxuICogQWJzdHJhY3QgYmFzZSBkaXJlY3RpdmUgZm9yIGFwcGx5aW5nIHZhbGlkYXRpb25zIHRvIGZvcm0gY29udHJvbHMuXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VEaXJlY3RpdmUge1xyXG4gICAgLyoqXHJcbiAgICAgKiBJbnB1dCBwcm9wZXJ0eSBmb3IgdGhlIG1vZGVsIG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBtb2RlbDogYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXBwbGllcyB2YWxpZGF0aW9ucyB0byB0aGUgZ2l2ZW4gY29udHJvbHMgYmFzZWQgb24gdGhlIG1vZGVsIGNvbmZpZ3VyYXRpb24uXHJcbiAgICAgKiBAcGFyYW0gY29udHJvbHMgVGhlIGNvbnRyb2xzIHRvIHdoaWNoIHZhbGlkYXRpb25zIGFyZSBhcHBsaWVkLlxyXG4gICAgICogQHBhcmFtIG1vZGVsIE9wdGlvbmFsIG1vZGVsIG9iamVjdC4gSWYgbm90IHByb3ZpZGVkLCB0aGUgbW9kZWwgcHJvcGVydHkgb2YgdGhlIGRpcmVjdGl2ZSBpcyB1c2VkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXBwbHlWYWxpZGF0aW9ucyhjb250cm9sczogYW55LCBtb2RlbDogYW55ID0gbnVsbCkge1xyXG4gICAgICAgIC8qIENoZWNrIGlmIGEgbW9kZWwgaXMgcHJvdmlkZWQgKi9cclxuICAgICAgICBpZiAodGhpcy5tb2RlbCkge1xyXG4gICAgICAgICAgICAvKiBSZXRyaWV2ZSB0aGUgbW9kZWwgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBkZWZhdWx0IGNvbnRhaW5lciAqL1xyXG4gICAgICAgICAgICBsZXQgbW9kZWxDb25maWcgPSBkZWZhdWx0Q29udGFpbmVyLmdldChtb2RlbCB8fCB0aGlzLm1vZGVsLmNvbnN0cnVjdG9yKTtcclxuXHJcbiAgICAgICAgICAgIC8qIElmIGEgbW9kZWwgY29uZmlndXJhdGlvbiBleGlzdHMgKi9cclxuICAgICAgICAgICAgaWYgKG1vZGVsQ29uZmlnKSB7XHJcbiAgICAgICAgICAgICAgICAvKiBJdGVyYXRlIG92ZXIgZWFjaCBwcm9wZXJ0eSBpbiB0aGUgbW9kZWwgY29uZmlndXJhdGlvbiAqL1xyXG4gICAgICAgICAgICAgICAgbW9kZWxDb25maWcucHJvcGVydGllcz8uZm9yRWFjaChwcm9wZXJ0eSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLyogQ2hlY2sgaWYgdGhlIHByb3BlcnR5IGNvbnRyb2wgZXhpc3RzICovXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRyb2xzW3Byb3BlcnR5Lm5hbWVdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qIERldGVybWluZSB0aGUgdHlwZSBvZiBwcm9wZXJ0eSAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHByb3BlcnR5LnByb3BlcnR5VHlwZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBQUk9QRVJUWTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBBcHBseSB2YWxpZGF0b3IgY29uZmlndXJhdGlvbiBmb3Igc2ltcGxlIHByb3BlcnRpZXMgKi9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFZhbGlkYXRvckNvbmZpZyhjb250cm9sc1twcm9wZXJ0eS5uYW1lXSwgbW9kZWxDb25maWcsIHByb3BlcnR5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIE9CSkVDVF9QUk9QRVJUWTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBSZWN1cnNpdmVseSBhcHBseSB2YWxpZGF0aW9ucyBmb3IgbmVzdGVkIG9iamVjdCBwcm9wZXJ0aWVzICovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBseVZhbGlkYXRpb25zKGNvbnRyb2xzW3Byb3BlcnR5Lm5hbWVdLmNvbnRyb2xzLCBwcm9wZXJ0eS5lbnRpdHkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgdGhlIHZhbGlkYXRvciBjb25maWd1cmF0aW9uIGZvciBhIHNwZWNpZmljIGNvbnRyb2wgYmFzZWQgb24gbW9kZWwgYW5ub3RhdGlvbnMuXHJcbiAgICAgKiBAcGFyYW0gY29udHJvbCBUaGUgY29udHJvbCB0byB3aGljaCB0aGUgdmFsaWRhdG9yIGNvbmZpZ3VyYXRpb24gaXMgYXBwbGllZC5cclxuICAgICAqIEBwYXJhbSBtb2RlbENvbmZpZyBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgbW9kZWwuXHJcbiAgICAgKiBAcGFyYW0gcHJvcGVydHkgVGhlIHByb3BlcnR5IGluZm8gb2YgdGhlIGNvbnRyb2wuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgc2V0VmFsaWRhdG9yQ29uZmlnKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgbW9kZWxDb25maWc6IEluc3RhbmNlQ29udGFpbmVyLCBwcm9wZXJ0eTogUHJvcGVydHlJbmZvKSB7XHJcbiAgICAgICAgLyogRmlsdGVyIGFubm90YXRpb25zIGZvciB0aGUgY3VycmVudCBwcm9wZXJ0eSAqL1xyXG4gICAgICAgIGxldCBhbm5vdGF0aW9ucyA9IG1vZGVsQ29uZmlnLnByb3BlcnR5QW5ub3RhdGlvbnMuZmlsdGVyKHQgPT4gdC5wcm9wZXJ0eU5hbWUgPT0gcHJvcGVydHkubmFtZSk7XHJcblxyXG4gICAgICAgIC8qIEl0ZXJhdGUgb3ZlciBlYWNoIGFubm90YXRpb24gKi9cclxuICAgICAgICBhbm5vdGF0aW9ucy5mb3JFYWNoKGFubm90YXRpb24gPT4ge1xyXG4gICAgICAgICAgICAvKiBDaGVjayBpZiBURU1QTEFURV9WQUxJREFUSU9OX0NPTkZJRyBleGlzdHMgb24gdGhlIGNvbnRyb2wgKi9cclxuICAgICAgICAgICAgaWYgKCEoY29udHJvbCBhcyBhbnkpW1RFTVBMQVRFX1ZBTElEQVRJT05fQ09ORklHXSkge1xyXG4gICAgICAgICAgICAgICAgLyogSWYgbm90LCBpbml0aWFsaXplIGl0ICovXHJcbiAgICAgICAgICAgICAgICAoY29udHJvbCBhcyBhbnkpW1RFTVBMQVRFX1ZBTElEQVRJT05fQ09ORklHXSA9IHt9O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvKiBDb25maWd1cmUgdGhlIGNvbnRyb2wgYmFzZWQgb24gdGhlIGFubm90YXRpb24gKi9cclxuICAgICAgICAgICAgQXBwbGljYXRpb25VdGlsLmNvbmZpZ3VyZUNvbnRyb2woY29udHJvbCwgYW5ub3RhdGlvbi5jb25maWcgPyBhbm5vdGF0aW9uLmNvbmZpZyA6IFwiXCIsIGFubm90YXRpb24uYW5ub3RhdGlvblR5cGUpXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, ViewContainerRef } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Directive for hosting dynamic form controls.
|
|
5
|
-
*/
|
|
6
|
-
export class ControlHostDirective {
|
|
7
|
-
viewContainerRef;
|
|
8
|
-
/**
|
|
9
|
-
* Reference to the embedded view.
|
|
10
|
-
*/
|
|
11
|
-
view;
|
|
12
|
-
/**
|
|
13
|
-
* Constructor
|
|
14
|
-
* @param viewContainerRef The view container reference
|
|
15
|
-
*/
|
|
16
|
-
constructor(viewContainerRef) {
|
|
17
|
-
this.viewContainerRef = viewContainerRef;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Setter for the portal input.
|
|
21
|
-
* @param context The context for the control
|
|
22
|
-
*/
|
|
23
|
-
set portal(context) {
|
|
24
|
-
if (context.templateRef) {
|
|
25
|
-
if (this.view) {
|
|
26
|
-
this.view.destroy();
|
|
27
|
-
this.view = undefined;
|
|
28
|
-
}
|
|
29
|
-
this.view = this.viewContainerRef.createEmbeddedView(context.templateRef, context);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Lifecycle hook that is called when the directive is destroyed.
|
|
34
|
-
*/
|
|
35
|
-
ngOnDestroy() {
|
|
36
|
-
if (this.view) {
|
|
37
|
-
this.view.destroy();
|
|
38
|
-
}
|
|
39
|
-
if (this.viewContainerRef) {
|
|
40
|
-
this.viewContainerRef.clear();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ControlHostDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
44
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: ControlHostDirective, selector: "[controlHost]", inputs: { portal: ["controlHost", "portal"] }, ngImport: i0 });
|
|
45
|
-
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ControlHostDirective, decorators: [{
|
|
47
|
-
type: Directive,
|
|
48
|
-
args: [{
|
|
49
|
-
selector: '[controlHost]'
|
|
50
|
-
}]
|
|
51
|
-
}], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { portal: [{
|
|
52
|
-
type: Input,
|
|
53
|
-
args: ['controlHost']
|
|
54
|
-
}] } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1ob3N0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9kaXJlY3RpdmVzL2NvbnRyb2wtaG9zdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUIsS0FBSyxFQUFhLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUvRjs7R0FFRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFVVjtJQVRuQjs7T0FFRztJQUNJLElBQUksQ0FBd0I7SUFFbkM7OztPQUdHO0lBQ0gsWUFBbUIsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBSSxDQUFDO0lBRTFEOzs7T0FHRztJQUNILElBQ0ksTUFBTSxDQUFDLE9BQVk7UUFDbkIsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7WUFDMUIsQ0FBQztZQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdkYsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDeEIsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xDLENBQUM7SUFDTCxDQUFDOzBIQXZDUSxvQkFBb0I7OEdBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZUFBZTtpQkFDNUI7cUZBa0JPLE1BQU07c0JBRFQsS0FBSzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbWJlZGRlZFZpZXdSZWYsIElucHV0LCBPbkRlc3Ryb3ksIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBEaXJlY3RpdmUgZm9yIGhvc3RpbmcgZHluYW1pYyBmb3JtIGNvbnRyb2xzLlxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tjb250cm9sSG9zdF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250cm9sSG9zdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgICAvKipcclxuICAgICAqIFJlZmVyZW5jZSB0byB0aGUgZW1iZWRkZWQgdmlldy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHZpZXc/OiBFbWJlZGRlZFZpZXdSZWY8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnN0cnVjdG9yXHJcbiAgICAgKiBAcGFyYW0gdmlld0NvbnRhaW5lclJlZiBUaGUgdmlldyBjb250YWluZXIgcmVmZXJlbmNlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHRlciBmb3IgdGhlIHBvcnRhbCBpbnB1dC5cclxuICAgICAqIEBwYXJhbSBjb250ZXh0IFRoZSBjb250ZXh0IGZvciB0aGUgY29udHJvbFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoJ2NvbnRyb2xIb3N0JylcclxuICAgIHNldCBwb3J0YWwoY29udGV4dDogYW55KSB7XHJcbiAgICAgICAgaWYgKGNvbnRleHQudGVtcGxhdGVSZWYpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudmlldykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52aWV3LmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudmlldyA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy52aWV3ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyhjb250ZXh0LnRlbXBsYXRlUmVmLCBjb250ZXh0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBMaWZlY3ljbGUgaG9vayB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSBkaXJlY3RpdmUgaXMgZGVzdHJveWVkLlxyXG4gICAgICovXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy52aWV3KSB7XHJcbiAgICAgICAgICAgIHRoaXMudmlldy5kZXN0cm95KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy52aWV3Q29udGFpbmVyUmVmKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, TemplateRef } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Directive for defining custom HTML templates for form controls.
|
|
5
|
-
*/
|
|
6
|
-
export class HtmlControlTemplateDirective {
|
|
7
|
-
/**
|
|
8
|
-
* Reference to the template
|
|
9
|
-
*/
|
|
10
|
-
templateRef;
|
|
11
|
-
/**
|
|
12
|
-
* Type of the control
|
|
13
|
-
*/
|
|
14
|
-
type;
|
|
15
|
-
/**
|
|
16
|
-
* Constructor
|
|
17
|
-
* @param templateRef The template reference
|
|
18
|
-
*/
|
|
19
|
-
constructor(templateRef) {
|
|
20
|
-
/* Assign the template reference */
|
|
21
|
-
this.templateRef = templateRef;
|
|
22
|
-
}
|
|
23
|
-
;
|
|
24
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: HtmlControlTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
25
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: HtmlControlTemplateDirective, selector: "[htmlControlTemplate]", inputs: { type: ["htmlControlTemplate", "type"] }, ngImport: i0 });
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: HtmlControlTemplateDirective, decorators: [{
|
|
28
|
-
type: Directive,
|
|
29
|
-
args: [{
|
|
30
|
-
selector: '[htmlControlTemplate]'
|
|
31
|
-
}]
|
|
32
|
-
}], ctorParameters: () => [{ type: i0.TemplateRef }], propDecorators: { type: [{
|
|
33
|
-
type: Input,
|
|
34
|
-
args: ['htmlControlTemplate']
|
|
35
|
-
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1jb250cm9sLXRlbXBsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9kaXJlY3RpdmVzL2h0bWwtY29udHJvbC10ZW1wbGF0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU5RDs7R0FFRztBQUlILE1BQU0sT0FBTyw0QkFBNEI7SUFDckM7O09BRUc7SUFDSSxXQUFXLENBQW1CO0lBRXJDOztPQUVHO0lBRUksSUFBSSxDQUFVO0lBRXJCOzs7T0FHRztJQUNILFlBQVksV0FBNkI7UUFDckMsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ25DLENBQUM7SUFBQSxDQUFDOzBIQW5CTyw0QkFBNEI7OEdBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFIeEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO2lCQUNwQztnRkFXVSxJQUFJO3NCQURWLEtBQUs7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqXHJcbiAqIERpcmVjdGl2ZSBmb3IgZGVmaW5pbmcgY3VzdG9tIEhUTUwgdGVtcGxhdGVzIGZvciBmb3JtIGNvbnRyb2xzLlxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1todG1sQ29udHJvbFRlbXBsYXRlXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEh0bWxDb250cm9sVGVtcGxhdGVEaXJlY3RpdmUge1xyXG4gICAgLyoqXHJcbiAgICAgKiBSZWZlcmVuY2UgdG8gdGhlIHRlbXBsYXRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFR5cGUgb2YgdGhlIGNvbnRyb2xcclxuICAgICAqL1xyXG4gICAgQElucHV0KCdodG1sQ29udHJvbFRlbXBsYXRlJylcclxuICAgIHB1YmxpYyB0eXBlPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0b3JcclxuICAgICAqIEBwYXJhbSB0ZW1wbGF0ZVJlZiBUaGUgdGVtcGxhdGUgcmVmZXJlbmNlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XHJcbiAgICAgICAgLyogQXNzaWduIHRoZSB0ZW1wbGF0ZSByZWZlcmVuY2UgKi9cclxuICAgICAgICB0aGlzLnRlbXBsYXRlUmVmID0gdGVtcGxhdGVSZWY7XHJcbiAgICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -1,234 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from "@angular/core";
|
|
2
|
-
import { FormArray, FormGroup, NgForm } from "@angular/forms";
|
|
3
|
-
import { CONDITIONAL_VALIDATOR, MODEL } from '../const/app.const';
|
|
4
|
-
import { AnnotationTypes } from "../core/annotation-types";
|
|
5
|
-
import { defaultContainer } from "../core/default-container";
|
|
6
|
-
import { conditionalChangeValidator } from '../reactive-form-validators/conditional-change.validator';
|
|
7
|
-
import { Linq } from "../util/linq";
|
|
8
|
-
import { BaseDirective } from "./base-directive";
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
/**
|
|
11
|
-
* This directive provides functionality for integrating RxWebForms with Angular forms.
|
|
12
|
-
*/
|
|
13
|
-
export class RxwebFormDirective extends BaseDirective {
|
|
14
|
-
/**
|
|
15
|
-
* Timeout ID for clearing the timeout
|
|
16
|
-
*/
|
|
17
|
-
clearTimeoutNumber = 0;
|
|
18
|
-
/**
|
|
19
|
-
* Object to store validation rules
|
|
20
|
-
*/
|
|
21
|
-
validationRule = {};
|
|
22
|
-
/**
|
|
23
|
-
* The formGroup input property for binding the form group to the directive.
|
|
24
|
-
*/
|
|
25
|
-
formGroup;
|
|
26
|
-
/**
|
|
27
|
-
* The ngForm input property for binding the NgForm to the directive.
|
|
28
|
-
*/
|
|
29
|
-
ngForm;
|
|
30
|
-
/**
|
|
31
|
-
* After the content is initialized, this method configures model validations based on the formGroup or ngForm.
|
|
32
|
-
*/
|
|
33
|
-
ngAfterContentInit() {
|
|
34
|
-
/* If the formGroup exists, doesn't have the MODEL property, and has no parent (i.e., it's a top-level form) */
|
|
35
|
-
if (this.formGroup && !this.formGroup[MODEL] && this.formGroup.parent == null) {
|
|
36
|
-
/* Process expressions for configuring model validations */
|
|
37
|
-
this.expressionProcessor(this.formGroup.controls);
|
|
38
|
-
/* Set conditional validators based on the validation rule */
|
|
39
|
-
this.setConditionalValidator(this.formGroup.controls);
|
|
40
|
-
}
|
|
41
|
-
/* If the formGroup exists, doesn't have the MODEL property, and its parent is an instance of FormArray */
|
|
42
|
-
else if (this.formGroup && !this.formGroup[MODEL] && this.formGroup.parent instanceof FormArray) {
|
|
43
|
-
/* Process expressions for configuring model validations */
|
|
44
|
-
this.expressionProcessor(this.formGroup.controls);
|
|
45
|
-
/* Set conditional validators based on the validation rule */
|
|
46
|
-
this.setConditionalValidator(this.formGroup.controls);
|
|
47
|
-
}
|
|
48
|
-
/* If ngForm is present */
|
|
49
|
-
else if (this.ngForm) {
|
|
50
|
-
/* Configure model validations */
|
|
51
|
-
this.configureModelValidations();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Configures model validations based on the ngForm if present.
|
|
56
|
-
*/
|
|
57
|
-
configureModelValidations() {
|
|
58
|
-
/* If ngForm is present */
|
|
59
|
-
if (this.ngForm) {
|
|
60
|
-
/* Set a timeout to apply validations after a delay */
|
|
61
|
-
this.clearTimeoutNumber = setTimeout(() => {
|
|
62
|
-
/* Clear the timeout to prevent multiple calls */
|
|
63
|
-
clearTimeout(this.clearTimeoutNumber);
|
|
64
|
-
/* Apply validations to the form controls */
|
|
65
|
-
this.applyValidations(this.ngForm.form.controls);
|
|
66
|
-
/* Process expressions for configuring model validations */
|
|
67
|
-
this.expressionProcessor(this.ngForm.form.controls);
|
|
68
|
-
/* Set conditional validators based on the validation rule */
|
|
69
|
-
this.setConditionalValidator(this.ngForm.form.controls);
|
|
70
|
-
/* Update the value and validity of the form controls */
|
|
71
|
-
this.updateValueAndValidity(this.ngForm.form.controls);
|
|
72
|
-
}, 500);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Updates the value and validity of the form controls.
|
|
77
|
-
*/
|
|
78
|
-
updateValueAndValidity(controls) {
|
|
79
|
-
/* Iterate over the keys of the controls object */
|
|
80
|
-
Object.keys(controls).forEach(key => {
|
|
81
|
-
/* Check if the control is an instance of FormGroup */
|
|
82
|
-
if (controls[key] instanceof FormGroup) {
|
|
83
|
-
/* Recursively update value and validity for controls within the FormGroup */
|
|
84
|
-
this.updateValueAndValidity(controls[key].controls);
|
|
85
|
-
}
|
|
86
|
-
/* Check if the control is an instance of FormArray */
|
|
87
|
-
else if (controls[key] instanceof FormArray) {
|
|
88
|
-
/* Recursively update value and validity for controls within the FormArray */
|
|
89
|
-
this.updateValueAndValidity(controls[key].controls);
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
/* Update value and validity for the control */
|
|
93
|
-
controls[key].updateValueAndValidity();
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Processes the expressions for configuring model validations.
|
|
99
|
-
* @param controls - The form controls to process.
|
|
100
|
-
* @param rootFieldName - The root field name for nested controls.
|
|
101
|
-
*/
|
|
102
|
-
expressionProcessor(controls, rootFieldName = "") {
|
|
103
|
-
/* Iterate over the keys of the controls object */
|
|
104
|
-
Object.keys(controls).forEach(fieldName => {
|
|
105
|
-
/* Get the control corresponding to the current field name */
|
|
106
|
-
let formControl = controls[fieldName];
|
|
107
|
-
/* Check if the control has validatorConfig */
|
|
108
|
-
if (formControl.validatorConfig) {
|
|
109
|
-
/* Iterate over the keys of AnnotationTypes */
|
|
110
|
-
Object.keys(AnnotationTypes).forEach(validatorName => {
|
|
111
|
-
/* Check if the current validator exists in the validatorConfig and has disableExpression */
|
|
112
|
-
if (formControl.validatorConfig[validatorName] && formControl.validatorConfig[validatorName].disableExpression) {
|
|
113
|
-
/* Set the disableExpression property for the formControl */
|
|
114
|
-
formControl["disableExpression"] = formControl.validatorConfig[validatorName].disableExpression;
|
|
115
|
-
/* Extract columns from the disableExpression and set conditional value properties */
|
|
116
|
-
let columns = Linq.expressionColumns(formControl.validatorConfig[validatorName].disableExpression);
|
|
117
|
-
columns.forEach(t => {
|
|
118
|
-
defaultContainer.setConditionalValueProp(this.validationRule, rootFieldName + t.propName, fieldName);
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
/* Check if the current validator exists in the validatorConfig and has conditionalExpression */
|
|
122
|
-
if (formControl.validatorConfig[validatorName] && formControl.validatorConfig[validatorName].conditionalExpression) {
|
|
123
|
-
/* Extract columns from the conditionalExpression and set conditional value properties */
|
|
124
|
-
let columns = Linq.expressionColumns(formControl.validatorConfig[validatorName].conditionalExpression);
|
|
125
|
-
columns.forEach(t => {
|
|
126
|
-
defaultContainer.setConditionalValueProp(this.validationRule, rootFieldName + t.propName, fieldName);
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
/* Check if the current validator exists in the validatorConfig and has dynamicConfig */
|
|
130
|
-
if (formControl.validatorConfig[validatorName] && formControl.validatorConfig[validatorName].dynamicConfig) {
|
|
131
|
-
/* Parse dynamicConfig, extract columns, and set conditional value properties */
|
|
132
|
-
let columns = Linq.dynamicConfigParser(formControl.validatorConfig[validatorName].dynamicConfig, fieldName);
|
|
133
|
-
columns.forEach(t => {
|
|
134
|
-
defaultContainer.setConditionalValueProp(this.validationRule, rootFieldName + t.propName, fieldName);
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
/* Check if the current validator exists in the validatorConfig and is a logical validator */
|
|
138
|
-
if (formControl.validatorConfig[validatorName] && (validatorName == AnnotationTypes.and || validatorName == AnnotationTypes.or || validatorName == AnnotationTypes.not)) {
|
|
139
|
-
/* Iterate over the validation rules, set logical conditionals */
|
|
140
|
-
Object.keys(formControl.validatorConfig[validatorName].validation).forEach(t => {
|
|
141
|
-
if (typeof formControl.validatorConfig[validatorName].validation[t] !== "boolean") {
|
|
142
|
-
defaultContainer.setLogicalConditional(this.validationRule, t, formControl.validatorConfig[validatorName].validation[t].fieldName, fieldName);
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
/* Check if the current validator exists in the validatorConfig and is a comparison or range validator */
|
|
147
|
-
else if (formControl.validatorConfig[validatorName] && ((validatorName == AnnotationTypes.compare || validatorName == AnnotationTypes.greaterThan || validatorName == AnnotationTypes.greaterThanEqualTo || validatorName == AnnotationTypes.lessThan || validatorName == AnnotationTypes.lessThanEqualTo || validatorName == AnnotationTypes.different || validatorName == AnnotationTypes.factor || validatorName == AnnotationTypes.minTime || validatorName == AnnotationTypes.maxTime) || (validatorName == AnnotationTypes.creditCard && formControl.validatorConfig[validatorName].fieldName) || ((validatorName == AnnotationTypes.minDate || validatorName == AnnotationTypes.maxDate) && formControl.validatorConfig[validatorName].fieldName))) {
|
|
148
|
-
/* Set conditional value properties */
|
|
149
|
-
defaultContainer.setConditionalValueProp(this.validationRule, formControl.validatorConfig[validatorName].fieldName, fieldName);
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
/* Check if the control is an instance of FormGroup */
|
|
154
|
-
else if (formControl instanceof FormGroup) {
|
|
155
|
-
/* Recursively process controls within the FormGroup */
|
|
156
|
-
this.expressionProcessor(formControl.controls, `${fieldName}.`);
|
|
157
|
-
}
|
|
158
|
-
/* Check if the control is an instance of FormArray */
|
|
159
|
-
else if (formControl instanceof FormArray) {
|
|
160
|
-
/* Process each control within the FormArray */
|
|
161
|
-
if (formControl.controls) {
|
|
162
|
-
formControl.controls.forEach((t, i) => {
|
|
163
|
-
if (t.controls) {
|
|
164
|
-
this.expressionProcessor(t.controls, `${fieldName}[]`);
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Sets conditional validators based on the validation rule.
|
|
173
|
-
*/
|
|
174
|
-
setConditionalValidator(controls) {
|
|
175
|
-
/* Iterates through the form controls and sets conditional validators based on validation rules */
|
|
176
|
-
Object.keys(controls).forEach(fieldName => {
|
|
177
|
-
/* If conditional validation properties are defined for the field, set the conditional validator */
|
|
178
|
-
if (this.validationRule.conditionalValidationProps && this.validationRule.conditionalValidationProps[fieldName]) {
|
|
179
|
-
controls[fieldName][CONDITIONAL_VALIDATOR] = conditionalChangeValidator(this.validationRule.conditionalValidationProps[fieldName]);
|
|
180
|
-
}
|
|
181
|
-
/* If the field is a FormGroup and conditional object properties are defined, set conditional validators for nested fields */
|
|
182
|
-
else if (controls[fieldName] instanceof FormGroup && this.validationRule.conditionalObjectProps) {
|
|
183
|
-
/* Filter conditional object properties based on the current field name */
|
|
184
|
-
var fields = this.validationRule.conditionalObjectProps.filter((t) => t.objectPropName == fieldName);
|
|
185
|
-
/* Access the nested FormGroup corresponding to the current field */
|
|
186
|
-
let nestedFormGroup = controls[fieldName];
|
|
187
|
-
/* Initialize an object to store conditional controls grouped by property name */
|
|
188
|
-
let propWiseConditionalControls = {};
|
|
189
|
-
/* Iterate through the filtered fields and group conditional controls by property name */
|
|
190
|
-
fields.forEach((x) => {
|
|
191
|
-
/* If the property name doesn't exist in the grouping object, initialize it */
|
|
192
|
-
if (!propWiseConditionalControls[x.propName]) {
|
|
193
|
-
propWiseConditionalControls[x.propName] = [];
|
|
194
|
-
}
|
|
195
|
-
/* Push the reference property name to the array corresponding to the property name */
|
|
196
|
-
propWiseConditionalControls[x.propName].push(x.referencePropName);
|
|
197
|
-
});
|
|
198
|
-
/* Set conditional validators for nested form controls */
|
|
199
|
-
Object.keys(propWiseConditionalControls).forEach(key => {
|
|
200
|
-
nestedFormGroup.controls[key][CONDITIONAL_VALIDATOR] = conditionalChangeValidator(propWiseConditionalControls[key]);
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
/* If the field is a FormArray, recursively set conditional validators for its controls */
|
|
204
|
-
else if (controls[fieldName] instanceof FormArray) {
|
|
205
|
-
/* Iterate through the controls of the current FormArray */
|
|
206
|
-
controls[fieldName].controls.forEach((t, i) => {
|
|
207
|
-
/* If the control doesn't have child controls (i.e., it's not a FormGroup or FormArray) */
|
|
208
|
-
if (t.controls == undefined) {
|
|
209
|
-
/* Set conditional validator for the individual control */
|
|
210
|
-
this.setConditionalValidator({ [i]: t });
|
|
211
|
-
}
|
|
212
|
-
else {
|
|
213
|
-
/* Set conditional validator for the child controls */
|
|
214
|
-
this.setConditionalValidator(t.controls);
|
|
215
|
-
}
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RxwebFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
221
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: RxwebFormDirective, selector: "[formGroup],[rxwebForm]", inputs: { formGroup: "formGroup", ngForm: ["rxwebForm", "ngForm"] }, usesInheritance: true, ngImport: i0 });
|
|
222
|
-
}
|
|
223
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RxwebFormDirective, decorators: [{
|
|
224
|
-
type: Directive,
|
|
225
|
-
args: [{
|
|
226
|
-
selector: '[formGroup],[rxwebForm]',
|
|
227
|
-
}]
|
|
228
|
-
}], propDecorators: { formGroup: [{
|
|
229
|
-
type: Input
|
|
230
|
-
}], ngForm: [{
|
|
231
|
-
type: Input,
|
|
232
|
-
args: ['rxwebForm']
|
|
233
|
-
}] } });
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicngtZm9ybS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9mb3JtLXZhbGlkYXRvcnMvZGlyZWN0aXZlcy9yeC1mb3JtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFtQixTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDdEcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRWpEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGFBQWE7SUFDakQ7O09BRUc7SUFDSyxrQkFBa0IsR0FBUSxDQUFDLENBQUM7SUFFcEM7O09BRUc7SUFDSyxjQUFjLEdBQVEsRUFBRSxDQUFDO0lBRWpDOztPQUVHO0lBRUksU0FBUyxDQUFhO0lBRTdCOztPQUVHO0lBRUksTUFBTSxDQUFVO0lBRXZCOztPQUVHO0lBQ0gsa0JBQWtCO1FBQ2QsK0dBQStHO1FBQy9HLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFFLElBQUksQ0FBQyxTQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lB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QyxDQUFDO2dCQUNqSSxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7WUFFRCwwRkFBMEY7aUJBQ3JGLElBQUssUUFBZ0IsQ0FBQyxTQUFTLENBQUMsWUFBWSxTQUFTLEVBQUUsQ0FBQztnQkFDekQsMkRBQTJEO2dCQUMxRCxRQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsQ0FBUyxFQUFFLEVBQUU7b0JBQ2hFLDBGQUEwRjtvQkFDMUYsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLFNBQVMsRUFBRSxDQUFDO3dCQUMxQiwwREFBMEQ7d0JBQzFELElBQUksQ0FBQyx1QkFBdUIsQ0FBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDbEQsQ0FBQzt5QkFBTSxDQUFDO3dCQUNKLHNEQUFzRDt3QkFDdEQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDN0MsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7MEhBalBRLGtCQUFrQjs4R0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUg5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5QkFBeUI7aUJBQ3RDOzhCQWdCVSxTQUFTO3NCQURmLEtBQUs7Z0JBT0MsTUFBTTtzQkFEWixLQUFLO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1Hcm91cCwgTmdGb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IENPTkRJVElPTkFMX1ZBTElEQVRPUiwgTU9ERUwgfSBmcm9tICcuLi9jb25zdC9hcHAuY29uc3QnO1xyXG5pbXBvcnQgeyBBbm5vdGF0aW9uVHlwZXMgfSBmcm9tIFwiLi4vY29yZS9hbm5vdGF0aW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7IGRlZmF1bHRDb250YWluZXIgfSBmcm9tIFwiLi4vY29yZS9kZWZhdWx0LWNvbnRhaW5lclwiO1xyXG5pbXBvcnQgeyBjb25kaXRpb25hbENoYW5nZVZhbGlkYXRvciB9IGZyb20gJy4uL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy9jb25kaXRpb25hbC1jaGFuZ2UudmFsaWRhdG9yJztcclxuaW1wb3J0IHsgTGlucSB9IGZyb20gXCIuLi91dGlsL2xpbnFcIjtcclxuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gXCIuL2Jhc2UtZGlyZWN0aXZlXCI7XHJcblxyXG4vKipcclxuICogVGhpcyBkaXJlY3RpdmUgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgaW50ZWdyYXRpbmcgUnhXZWJGb3JtcyB3aXRoIEFuZ3VsYXIgZm9ybXMuXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2Zvcm1Hcm91cF0sW3J4d2ViRm9ybV0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUnh3ZWJGb3JtRGlyZWN0aXZlIGV4dGVuZHMgQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaW1lb3V0IElEIGZvciBjbGVhcmluZyB0aGUgdGltZW91dFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNsZWFyVGltZW91dE51bWJlcjogYW55ID0gMDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE9iamVjdCB0byBzdG9yZSB2YWxpZGF0aW9uIHJ1bGVzXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdmFsaWRhdGlvblJ1bGU6IGFueSA9IHt9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGZvcm1Hcm91cCBpbnB1dCBwcm9wZXJ0eSBmb3IgYmluZGluZyB0aGUgZm9ybSBncm91cCB0byB0aGUgZGlyZWN0aXZlLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGZvcm1Hcm91cD86IEZvcm1Hcm91cDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBuZ0Zvcm0gaW5wdXQgcHJvcGVydHkgZm9yIGJpbmRpbmcgdGhlIE5nRm9ybSB0byB0aGUgZGlyZWN0aXZlLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoJ3J4d2ViRm9ybScpXHJcbiAgICBwdWJsaWMgbmdGb3JtPzogTmdGb3JtO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWZ0ZXIgdGhlIGNvbnRlbnQgaXMgaW5pdGlhbGl6ZWQsIHRoaXMgbWV0aG9kIGNvbmZpZ3VyZXMgbW9kZWwgdmFsaWRhdGlvbnMgYmFzZWQgb24gdGhlIGZvcm1Hcm91cCBvciBuZ0Zvcm0uXHJcbiAgICAgKi9cclxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICAvKiBJZiB0aGUgZm9ybUdyb3VwIGV4aXN0cywgZG9lc24ndCBoYXZlIHRoZSBNT0RFTCBwcm9wZXJ0eSwgYW5kIGhhcyBubyBwYXJlbnQgKGkuZS4sIGl0J3MgYSB0b3AtbGV2ZWwgZm9ybSkgKi9cclxuICAgICAgICBpZiAodGhpcy5mb3JtR3JvdXAgJiYgISh0aGlzLmZvcm1Hcm91cCBhcyBhbnkpW01PREVMXSAmJiB0aGlzLmZvcm1Hcm91cC5wYXJlbnQgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICAvKiBQcm9jZXNzIGV4cHJlc3Npb25zIGZvciBjb25maWd1cmluZyBtb2RlbCB2YWxpZGF0aW9ucyAqL1xyXG4gICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25Qcm9jZXNzb3IodGhpcy5mb3JtR3JvdXAuY29udHJvbHMpO1xyXG5cclxuICAgICAgICAgICAgLyogU2V0IGNvbmRpdGlvbmFsIHZhbGlkYXRvcnMgYmFzZWQgb24gdGhlIHZhbGlkYXRpb24gcnVsZSAqL1xyXG4gICAgICAgICAgICB0aGlzLnNldENvbmRpdGlvbmFsVmFsaWRhdG9yKHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIElmIHRoZSBmb3JtR3JvdXAgZXhpc3RzLCBkb2Vzbid0IGhhdmUgdGhlIE1PREVMIHByb3BlcnR5LCBhbmQgaXRzIHBhcmVudCBpcyBhbiBpbnN0YW5jZSBvZiBGb3JtQXJyYXkgKi9cclxuICAgICAgICBlbHNlIGlmICh0aGlzLmZvcm1Hcm91cCAmJiAhKHRoaXMuZm9ybUdyb3VwIGFzIGFueSlbTU9ERUxdICYmIHRoaXMuZm9ybUdyb3VwLnBhcmVudCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xyXG4gICAgICAgICAgICAvKiBQcm9jZXNzIGV4cHJlc3Npb25zIGZvciBjb25maWd1cmluZyBtb2RlbCB2YWxpZGF0aW9ucyAqL1xyXG4gICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25Qcm9jZXNzb3IodGhpcy5mb3JtR3JvdXAuY29udHJvbHMpO1xyXG5cclxuICAgICAgICAgICAgLyogU2V0IGNvbmRpdGlvbmFsIHZhbGlkYXRvcnMgYmFzZWQgb24gdGhlIHZhbGlkYXRpb24gcnVsZSAqL1xyXG4gICAgICAgICAgICB0aGlzLnNldENvbmRpdGlvbmFsVmFsaWRhdG9yKHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIElmIG5nRm9ybSBpcyBwcmVzZW50ICovXHJcbiAgICAgICAgZWxzZSBpZiAodGhpcy5uZ0Zvcm0pIHtcclxuICAgICAgICAgICAgLyogQ29uZmlndXJlIG1vZGVsIHZhbGlkYXRpb25zICovXHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJlTW9kZWxWYWxpZGF0aW9ucygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbmZpZ3VyZXMgbW9kZWwgdmFsaWRhdGlvbnMgYmFzZWQgb24gdGhlIG5nRm9ybSBpZiBwcmVzZW50LlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNvbmZpZ3VyZU1vZGVsVmFsaWRhdGlvbnMoKSB7XHJcbiAgICAgICAgLyogSWYgbmdGb3JtIGlzIHByZXNlbnQgKi9cclxuICAgICAgICBpZiAodGhpcy5uZ0Zvcm0pIHtcclxuICAgICAgICAgICAgLyogU2V0IGEgdGltZW91dCB0byBhcHBseSB2YWxpZGF0aW9ucyBhZnRlciBhIGRlbGF5ICovXHJcbiAgICAgICAgICAgIHRoaXMuY2xlYXJUaW1lb3V0TnVtYmVyID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvKiBDbGVhciB0aGUgdGltZW91dCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzICovXHJcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5jbGVhclRpbWVvdXROdW1iZXIpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8qIEFwcGx5IHZhbGlkYXRpb25zIHRvIHRoZSBmb3JtIGNvbnRyb2xzICovXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcGx5VmFsaWRhdGlvbnModGhpcy5uZ0Zvcm0hLmZvcm0uY29udHJvbHMpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8qIFByb2Nlc3MgZXhwcmVzc2lvbnMgZm9yIGNvbmZpZ3VyaW5nIG1vZGVsIHZhbGlkYXRpb25zICovXHJcbiAgICAgICAgICAgICAgICB0aGlzLmV4cHJlc3Npb25Qcm9jZXNzb3IodGhpcy5uZ0Zvcm0hLmZvcm0uY29udHJvbHMpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8qIFNldCBjb25kaXRpb25hbCB2YWxpZGF0b3JzIGJhc2VkIG9uIHRoZSB2YWxpZGF0aW9uIHJ1bGUgKi9cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29uZGl0aW9uYWxWYWxpZGF0b3IodGhpcy5uZ0Zvcm0hLmZvcm0uY29udHJvbHMpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8qIFVwZGF0ZSB0aGUgdmFsdWUgYW5kIHZhbGlkaXR5IG9mIHRoZSBmb3JtIGNvbnRyb2xzICovXHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkodGhpcy5uZ0Zvcm0hLmZvcm0uY29udHJvbHMpO1xyXG4gICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFVwZGF0ZXMgdGhlIHZhbHVlIGFuZCB2YWxpZGl0eSBvZiB0aGUgZm9ybSBjb250cm9scy5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KGNvbnRyb2xzOiBhbnkpIHtcclxuICAgICAgICAvKiBJdGVyYXRlIG92ZXIgdGhlIGtleXMgb2YgdGhlIGNvbnRyb2xzIG9iamVjdCAqL1xyXG4gICAgICAgIE9iamVjdC5rZXlzKGNvbnRyb2xzKS5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgICAgIC8qIENoZWNrIGlmIHRoZSBjb250cm9sIGlzIGFuIGluc3RhbmNlIG9mIEZvcm1Hcm91cCAqL1xyXG4gICAgICAgICAgICBpZiAoY29udHJvbHNba2V5XSBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xyXG5cclxuICAgICAgICAgICAgICAgIC8qIFJlY3Vyc2l2ZWx5IHVwZGF0ZSB2YWx1ZSBhbmQgdmFsaWRpdHkgZm9yIGNvbnRyb2xzIHdpdGhpbiB0aGUgRm9ybUdyb3VwICovXHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoY29udHJvbHNba2V5XS5jb250cm9scyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8qIENoZWNrIGlmIHRoZSBjb250cm9sIGlzIGFuIGluc3RhbmNlIG9mIEZvcm1BcnJheSAqL1xyXG4gICAgICAgICAgICBlbHNlIGlmIChjb250cm9sc1trZXldIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XHJcbiAgICAgICAgICAgICAgICAvKiBSZWN1cnNpdmVseSB1cGRhdGUgdmFsdWUgYW5kIHZhbGlkaXR5IGZvciBjb250cm9scyB3aXRoaW4gdGhlIEZvcm1BcnJheSAqL1xyXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KGNvbnRyb2xzW2tleV0uY29udHJvbHMpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8qIFVwZGF0ZSB2YWx1ZSBhbmQgdmFsaWRpdHkgZm9yIHRoZSBjb250cm9sICovXHJcbiAgICAgICAgICAgICAgICBjb250cm9sc1trZXldLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb2Nlc3NlcyB0aGUgZXhwcmVzc2lvbnMgZm9yIGNvbmZpZ3VyaW5nIG1vZGVsIHZhbGlkYXRpb25zLlxyXG4gICAgICogQHBhcmFtIGNvbnRyb2xzIC0gVGhlIGZvcm0gY29udHJvbHMgdG8gcHJvY2Vzcy5cclxuICAgICAqIEBwYXJhbSByb290RmllbGROYW1lIC0gVGhlIHJvb3QgZmllbGQgbmFtZSBmb3IgbmVzdGVkIGNvbnRyb2xzLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGV4cHJlc3Npb25Qcm9jZXNzb3IoY29udHJvbHM6IHsgW2tleTogc3RyaW5nXTogYW55IH0sIHJvb3RGaWVsZE5hbWU6IHN0cmluZyA9IFwiXCIpIHtcclxuICAgICAgICAvKiBJdGVyYXRlIG92ZXIgdGhlIGtleXMgb2YgdGhlIGNvbnRyb2xzIG9iamVjdCAqL1xyXG4gICAgICAgIE9iamVjdC5rZXlzKGNvbnRyb2xzKS5mb3JFYWNoKGZpZWxkTmFtZSA9PiB7XHJcbiAgICAgICAgICAgIC8qIEdldCB0aGUgY29udHJvbCBjb3JyZXNwb25kaW5nIHRvIHRoZSBjdXJyZW50IGZpZWxkIG5hbWUgKi9cclxuICAgICAgICAgICAgbGV0IGZvcm1Db250cm9sOiBhbnkgPSBjb250cm9sc1tmaWVsZE5hbWVdO1xyXG5cclxuICAgICAgICAgICAgLyogQ2hlY2sgaWYgdGhlIGNvbnRyb2wgaGFzIHZhbGlkYXRvckNvbmZpZyAqL1xyXG4gICAgICAgICAgICBpZiAoZm9ybUNvbnRyb2wudmFsaWRhdG9yQ29uZmlnKSB7XHJcbiAgICAgICAgICAgICAgICAvKiBJdGVyYXRlIG92ZXIgdGhlIGtleXMgb2YgQW5ub3RhdGlvblR5cGVzICovXHJcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhBbm5vdGF0aW9uVHlwZXMpLmZvckVhY2godmFsaWRhdG9yTmFtZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLyogQ2hlY2sgaWYgdGhlIGN1cnJlbnQgdmFsaWRhdG9yIGV4aXN0cyBpbiB0aGUgdmFsaWRhdG9yQ29uZmlnIGFuZCBoYXMgZGlzYWJsZUV4cHJlc3Npb24gKi9cclxuICAgICAgICAgICAgICAgICAgICBpZiAoZm9ybUNvbnRyb2wudmFsaWRhdG9yQ29uZmlnW3ZhbGlkYXRvck5hbWVdICYmIGZvcm1Db250cm9sLnZhbGlkYXRvckNvbmZpZ1t2YWxpZGF0b3JOYW1lXS5kaXNhYmxlRXhwcmVzc2lvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgdGhlIGRpc2FibGVFeHByZXNzaW9uIHByb3BlcnR5IGZvciB0aGUgZm9ybUNvbnRyb2wgKi9cclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xbXCJkaXNhYmxlRXhwcmVzc2lvblwiXSA9IGZvcm1Db250cm9sLnZhbGlkYXRvckNvbmZpZ1t2YWxpZGF0b3JOYW1lXS5kaXNhYmxlRXhwcmVzc2lvbjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qIEV4dHJhY3QgY29sdW1ucyBmcm9tIHRoZSBkaXNhYmxlRXhwcmVzc2lvbiBhbmQgc2V0IGNvbmRpdGlvbmFsIHZhbHVlIHByb3BlcnRpZXMgKi9cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGNvbHVtbnMgPSBMaW5xLmV4cHJlc3Npb25Db2x1bW5zKGZvcm1Db250cm9sLnZhbGlkYXRvckNvbmZpZ1t2YWxpZGF0b3JOYW1lXS5kaXNhYmxlRXhwcmVzc2lvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMuZm9yRWFjaCh0ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRDb250YWluZXIuc2V0Q29uZGl0aW9uYWxWYWx1ZVByb3AodGhpcy52YWxpZGF0aW9uUnVsZSwgcm9vdEZpZWxkTmFtZSArIHQucHJvcE5hbWUsIGZpZWxkTmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLyogQ2hlY2sgaWYgdGhlIGN1cnJlbnQgdmFsaWRhdG9yIGV4aXN0cyBpbiB0aGUgdmFsaWRhdG9yQ29uZmlnIGFuZCBoYXMgY29uZGl0aW9uYWxFeHByZXNzaW9uICovXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZvcm1Db250cm9sLnZhbGlkYXRvckNvbmZpZ1t2YWxpZGF0b3JOYW1lXSAmJiBmb3JtQ29udHJvbC52YWxpZGF0b3JDb25maWdbdmFsaWRhdG9yTmFtZV0uY29uZGl0aW9uYWxFeHByZXNzaW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qIEV4dHJhY3QgY29sdW1ucyBmcm9tIHRoZSBjb25kaXRpb25hbEV4cHJlc3Npb24gYW5kIHNldCBjb25kaXRpb25hbCB2YWx1ZSBwcm9wZXJ0aWVzICovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBjb2x1bW5zID0gTGlucS5leHByZXNzaW9uQ29sdW1ucyhmb3JtQ29udHJvbC52YWxpZGF0b3JDb25maWdbdmFsaWRhdG9yTmFtZV0uY29uZGl0aW9uYWxFeHByZXNzaW9uKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucy5mb3JFYWNoKHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdENvbnRhaW5lci5zZXRDb25kaXRpb25hbFZhbHVlUHJvcCh0aGlzLnZhbGlkYXRpb25SdWxlLCByb290RmllbGROYW1lICsgdC5wcm9wTmFtZSwgZmllbGROYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAvKiBDaGVjayBpZiB0aGUgY3VycmVudCB2YWxpZGF0b3IgZXhpc3RzIGluIHRoZSB2YWxpZGF0b3JDb25maWcgYW5kIGhhcyBkeW5hbWljQ29uZmlnICovXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZvcm1Db250cm9sLnZhbGlkYXRvckNvbmZpZ1t2YWxpZGF0b3JOYW1lXSAmJiBmb3JtQ29udHJvbC52YWxpZGF0b3JDb25maWdbdmFsaWRhdG9yTmFtZV0uZHluYW1pY0NvbmZpZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiBQYXJzZSBkeW5hbWljQ29uZmlnLCBleHRyYWN0IGNvbHVtbnMsIGFuZCBzZXQgY29uZGl0aW9uYWwgdmFsdWUgcHJvcGVydGllcyAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgY29sdW1ucyA9IExpbnEuZHluYW1pY0NvbmZpZ1BhcnNlcihmb3JtQ29udHJvbC52YWxpZGF0b3JDb25maWdbdmFsaWRhdG9yTmFtZV0uZHluYW1pY0NvbmZpZywgZmllbGROYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucy5mb3JFYWNoKHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdENvbnRhaW5lci5zZXRDb25kaXRpb25hbFZhbHVlUHJvcCh0aGlzLnZhbGlkYXRpb25SdWxlLCByb290RmllbGROYW1lICsgdC5wcm9wTmFtZSwgZmllbGROYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAvKiBDaGVjayBpZiB0aGUgY3VycmVudCB2YWxpZGF0b3IgZXhpc3RzIGluIHRoZSB2YWxpZGF0b3JDb25maWcgYW5kIGlzIGEgbG9naWNhbCB2YWxpZGF0b3IgKi9cclxuICAgICAgICAgICAgICAgICAgICBpZiAoZm9ybUNvbnRyb2wudmFsaWRhdG9yQ29uZmlnW3ZhbGlkYXRvck5hbWVdICYmICh2YWxpZGF0b3JOYW1lID09IEFubm90YXRpb25UeXBlcy5hbmQgfHwgdmFsaWRhdG9yTmFtZSA9PSBBbm5vdGF0aW9uVHlwZXMub3IgfHwgdmFsaWRhdG9yTmFtZSA9PSBBbm5vdGF0aW9uVHlwZXMubm90KSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiBJdGVyYXRlIG92ZXIgdGhlIHZhbGlkYXRpb24gcnVsZXMsIHNldCBsb2dpY2FsIGNvbmRpdGlvbmFscyAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhmb3JtQ29udHJvbC52YWxpZGF0b3JDb25maWdbdmFsaWRhdG9yTmFtZV0udmFsaWRhdGlvbikuZm9yRWFjaCh0ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZm9ybUNvbnRyb2wudmFsaWRhdG9yQ29uZmlnW3ZhbGlkYXRvck5hbWVdLnZhbGlkYXRpb25bdF0gIT09IFwiYm9vbGVhblwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdENvbnRhaW5lci5zZXRMb2dpY2FsQ29uZGl0aW9uYWwodGhpcy52YWxpZGF0aW9uUnVsZSwgdCwgZm9ybUNvbnRyb2wudmFsaWRhdG9yQ29uZmlnW3ZhbGlkYXRvck5hbWVdLnZhbGlkYXRpb25bdF0uZmllbGROYW1lLCBmaWVsZE5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8qIENoZWNrIGlmIHRoZSBjdXJyZW50IHZhbGlkYXRvciBleGlzdHMgaW4gdGhlIHZhbGlkYXRvckNvbmZpZyBhbmQgaXMgYSBjb21wYXJpc29uIG9yIHJhbmdlIHZhbGlkYXRvciAqL1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZvcm1Db250cm9sLnZhbGlkYXRvckNvbmZpZ1t2YWxpZGF0b3JOYW1lXSAmJiAoKHZhbGlkYXRvck5hbWUgPT0gQW5ub3RhdGlvblR5cGVzLmNvbXBhcmUgfHwgdmFsaWRhdG9yTmFtZSA9PSBBbm5vdGF0aW9uVHlwZXMuZ3JlYXRlclRoYW4gfHwgdmFsaWRhdG9yTmFtZSA9PSBBbm5vdGF0aW9uVHlwZXMuZ3JlYXRlclRoYW5FcXVhbFRvIHx8IHZhbGlkYXRvck5hbWUgPT0gQW5ub3RhdGlvblR5cGVzLmxlc3NUaGFuIHx8IHZhbGlkYXRvck5hbWUgPT0gQW5ub3RhdGlvblR5cGVzLmxlc3NUaGFuRXF1YWxUbyB8fCB2YWxpZGF0b3JOYW1lID09IEFubm90YXRpb25UeXBlcy5kaWZmZXJlbnQgfHwgdmFsaWRhdG9yTmFtZSA9PSBBbm5vdGF0aW9uVHlwZXMuZmFjdG9yIHx8IHZhbGlkYXRvck5hbWUgPT0gQW5ub3RhdGlvblR5cGVzLm1pblRpbWUgfHwgdmFsaWRhdG9yTmFtZSA9PSBBbm5vdGF0aW9uVHlwZXMubWF4VGltZSkgfHwgKHZhbGlkYXRvck5hbWUgPT0gQW5ub3RhdGlvblR5cGVzLmNyZWRpdENhcmQgJiYgZm9ybUNvbnRyb2wudmFsaWRhdG9yQ29uZmlnW3ZhbGlkYXRvck5hbWVdLmZpZWxkTmFtZSkgfHwgKCh2YWxpZGF0b3JOYW1lID09IEFubm90YXRpb25UeXBlcy5taW5EYXRlIHx8IHZhbGlkYXRvck5hbWUgPT0gQW5ub3RhdGlvblR5cGVzLm1heERhdGUpICYmIGZvcm1Db250cm9sLnZhbGlkYXRvckNvbmZpZ1t2YWxpZGF0b3JOYW1lXS5maWVsZE5hbWUpKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgY29uZGl0aW9uYWwgdmFsdWUgcHJvcGVydGllcyAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Q29udGFpbmVyLnNldENvbmRpdGlvbmFsVmFsdWVQcm9wKHRoaXMudmFsaWRhdGlvblJ1bGUsIGZvcm1Db250cm9sLnZhbGlkYXRvckNvbmZpZ1t2YWxpZGF0b3JOYW1lXS5maWVsZE5hbWUsIGZpZWxkTmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8qIENoZWNrIGlmIHRoZSBjb250cm9sIGlzIGFuIGluc3RhbmNlIG9mIEZvcm1Hcm91cCAqL1xyXG4gICAgICAgICAgICBlbHNlIGlmIChmb3JtQ29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xyXG4gICAgICAgICAgICAgICAgLyogUmVjdXJzaXZlbHkgcHJvY2VzcyBjb250cm9scyB3aXRoaW4gdGhlIEZvcm1Hcm91cCAqL1xyXG4gICAgICAgICAgICAgICAgdGhpcy5leHByZXNzaW9uUHJvY2Vzc29yKGZvcm1Db250cm9sLmNvbnRyb2xzLCBgJHtmaWVsZE5hbWV9LmApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvKiBDaGVjayBpZiB0aGUgY29udHJvbCBpcyBhbiBpbnN0YW5jZSBvZiBGb3JtQXJyYXkgKi9cclxuICAgICAgICAgICAgZWxzZSBpZiAoZm9ybUNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcclxuICAgICAgICAgICAgICAgIC8qIFByb2Nlc3MgZWFjaCBjb250cm9sIHdpdGhpbiB0aGUgRm9ybUFycmF5ICovXHJcbiAgICAgICAgICAgICAgICBpZiAoZm9ybUNvbnRyb2wuY29udHJvbHMpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbC5jb250cm9scy5mb3JFYWNoKCh0OiBhbnksIGkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHQuY29udHJvbHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwcmVzc2lvblByb2Nlc3Nvcih0LmNvbnRyb2xzLCBgJHtmaWVsZE5hbWV9W11gKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIGNvbmRpdGlvbmFsIHZhbGlkYXRvcnMgYmFzZWQgb24gdGhlIHZhbGlkYXRpb24gcnVsZS5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzZXRDb25kaXRpb25hbFZhbGlkYXRvcihjb250cm9sczogeyBba2V5OiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2w7IH0pIHtcclxuICAgICAgICAvKiBJdGVyYXRlcyB0aHJvdWdoIHRoZSBmb3JtIGNvbnRyb2xzIGFuZCBzZXRzIGNvbmRpdGlvbmFsIHZhbGlkYXRvcnMgYmFzZWQgb24gdmFsaWRhdGlvbiBydWxlcyAqL1xyXG4gICAgICAgIE9iamVjdC5rZXlzKGNvbnRyb2xzKS5mb3JFYWNoKGZpZWxkTmFtZSA9PiB7XHJcbiAgICAgICAgICAgIC8qIElmIGNvbmRpdGlvbmFsIHZhbGlkYXRpb24gcHJvcGVydGllcyBhcmUgZGVmaW5lZCBmb3IgdGhlIGZpZWxkLCBzZXQgdGhlIGNvbmRpdGlvbmFsIHZhbGlkYXRvciAqL1xyXG4gICAgICAgICAgICBpZiAodGhpcy52YWxpZGF0aW9uUnVsZS5jb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wcyAmJiB0aGlzLnZhbGlkYXRpb25SdWxlLmNvbmRpdGlvbmFsVmFsaWRhdGlvblByb3BzW2ZpZWxkTmFtZV0pIHtcclxuICAgICAgICAgICAgICAgIChjb250cm9scyBhcyBhbnkpW2ZpZWxkTmFtZV1bQ09ORElUSU9OQUxfVkFMSURBVE9SXSA9IGNvbmRpdGlvbmFsQ2hhbmdlVmFsaWRhdG9yKHRoaXMudmFsaWRhdGlvblJ1bGUuY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHNbZmllbGROYW1lXSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8qIElmIHRoZSBmaWVsZCBpcyBhIEZvcm1Hcm91cCBhbmQgY29uZGl0aW9uYWwgb2JqZWN0IHByb3BlcnRpZXMgYXJlIGRlZmluZWQsIHNldCBjb25kaXRpb25hbCB2YWxpZGF0b3JzIGZvciBuZXN0ZWQgZmllbGRzICovXHJcbiAgICAgICAgICAgIGVsc2UgaWYgKChjb250cm9scyBhcyBhbnkpW2ZpZWxkTmFtZV0gaW5zdGFuY2VvZiBGb3JtR3JvdXAgJiYgdGhpcy52YWxpZGF0aW9uUnVsZS5jb25kaXRpb25hbE9iamVjdFByb3BzKSB7XHJcbiAgICAgICAgICAgICAgICAvKiBGaWx0ZXIgY29uZGl0aW9uYWwgb2JqZWN0IHByb3BlcnRpZXMgYmFzZWQgb24gdGhlIGN1cnJlbnQgZmllbGQgbmFtZSAqL1xyXG4gICAgICAgICAgICAgICAgdmFyIGZpZWxkcyA9IHRoaXMudmFsaWRhdGlvblJ1bGUuY29uZGl0aW9uYWxPYmplY3RQcm9wcy5maWx0ZXIoKHQ6IGFueSkgPT4gdC5vYmplY3RQcm9wTmFtZSA9PSBmaWVsZE5hbWUpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8qIEFjY2VzcyB0aGUgbmVzdGVkIEZvcm1Hcm91cCBjb3JyZXNwb25kaW5nIHRvIHRoZSBjdXJyZW50IGZpZWxkICovXHJcbiAgICAgICAgICAgICAgICBsZXQgbmVzdGVkRm9ybUdyb3VwID0gKGNvbnRyb2xzIGFzIGFueSlbZmllbGROYW1lXSBhcyBGb3JtR3JvdXA7XHJcblxyXG4gICAgICAgICAgICAgICAgLyogSW5pdGlhbGl6ZSBhbiBvYmplY3QgdG8gc3RvcmUgY29uZGl0aW9uYWwgY29udHJvbHMgZ3JvdXBlZCBieSBwcm9wZXJ0eSBuYW1lICovXHJcbiAgICAgICAgICAgICAgICBsZXQgcHJvcFdpc2VDb25kaXRpb25hbENvbnRyb2xzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH0gPSB7fTtcclxuXHJcbiAgICAgICAgICAgICAgICAvKiBJdGVyYXRlIHRocm91Z2ggdGhlIGZpbHRlcmVkIGZpZWxkcyBhbmQgZ3JvdXAgY29uZGl0aW9uYWwgY29udHJvbHMgYnkgcHJvcGVydHkgbmFtZSAqL1xyXG4gICAgICAgICAgICAgICAgZmllbGRzLmZvckVhY2goKHg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8qIElmIHRoZSBwcm9wZXJ0eSBuYW1lIGRvZXNuJ3QgZXhpc3QgaW4gdGhlIGdyb3VwaW5nIG9iamVjdCwgaW5pdGlhbGl6ZSBpdCAqL1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghcHJvcFdpc2VDb25kaXRpb25hbENvbnRyb2xzW3gucHJvcE5hbWVdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BXaXNlQ29uZGl0aW9uYWxDb250cm9sc1t4LnByb3BOYW1lXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvKiBQdXNoIHRoZSByZWZlcmVuY2UgcHJvcGVydHkgbmFtZSB0byB0aGUgYXJyYXkgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvcGVydHkgbmFtZSAqL1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3BXaXNlQ29uZGl0aW9uYWxDb250cm9sc1t4LnByb3BOYW1lXS5wdXNoKHgucmVmZXJlbmNlUHJvcE5hbWUpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLyogU2V0IGNvbmRpdGlvbmFsIHZhbGlkYXRvcnMgZm9yIG5lc3RlZCBmb3JtIGNvbnRyb2xzICovXHJcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhwcm9wV2lzZUNvbmRpdGlvbmFsQ29udHJvbHMpLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAobmVzdGVkRm9ybUdyb3VwLmNvbnRyb2xzIGFzIGFueSlba2V5XVtDT05ESVRJT05BTF9WQUxJREFUT1JdID0gY29uZGl0aW9uYWxDaGFuZ2VWYWxpZGF0b3IocHJvcFdpc2VDb25kaXRpb25hbENvbnRyb2xzW2tleV0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8qIElmIHRoZSBmaWVsZCBpcyBhIEZvcm1BcnJheSwgcmVjdXJzaXZlbHkgc2V0IGNvbmRpdGlvbmFsIHZhbGlkYXRvcnMgZm9yIGl0cyBjb250cm9scyAqL1xyXG4gICAgICAgICAgICBlbHNlIGlmICgoY29udHJvbHMgYXMgYW55KVtmaWVsZE5hbWVdIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XHJcbiAgICAgICAgICAgICAgICAvKiBJdGVyYXRlIHRocm91Z2ggdGhlIGNvbnRyb2xzIG9mIHRoZSBjdXJyZW50IEZvcm1BcnJheSAqL1xyXG4gICAgICAgICAgICAgICAgKGNvbnRyb2xzIGFzIGFueSlbZmllbGROYW1lXS5jb250cm9scy5mb3JFYWNoKCh0OiBhbnksIGk6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8qIElmIHRoZSBjb250cm9sIGRvZXNuJ3QgaGF2ZSBjaGlsZCBjb250cm9scyAoaS5lLiwgaXQncyBub3QgYSBGb3JtR3JvdXAgb3IgRm9ybUFycmF5KSAqL1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0LmNvbnRyb2xzID09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgY29uZGl0aW9uYWwgdmFsaWRhdG9yIGZvciB0aGUgaW5kaXZpZHVhbCBjb250cm9sICovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29uZGl0aW9uYWxWYWxpZGF0b3IoPGFueT57IFtpXTogdCB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgY29uZGl0aW9uYWwgdmFsaWRhdG9yIGZvciB0aGUgY2hpbGQgY29udHJvbHMgKi9cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRDb25kaXRpb25hbFZhbGlkYXRvcih0LmNvbnRyb2xzKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59Il19
|
package/esm2022/lib/form-validators/directives/template-validations/async-validation.directive.mjs
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Directive, forwardRef, Input } from '@angular/core';
|
|
2
|
-
import { NG_ASYNC_VALIDATORS } from '@angular/forms';
|
|
3
|
-
import { of } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class AsyncValidationDirective {
|
|
6
|
-
/**
|
|
7
|
-
* The async validation function.
|
|
8
|
-
*/
|
|
9
|
-
async;
|
|
10
|
-
/**
|
|
11
|
-
* Method that performs async validation against the provided control.
|
|
12
|
-
*
|
|
13
|
-
* @param control The control to validate against.
|
|
14
|
-
* @returns A promise or observable that resolves a map of validation errors
|
|
15
|
-
* if validation fails, otherwise null.
|
|
16
|
-
*/
|
|
17
|
-
validate(control) {
|
|
18
|
-
return this.async ? this.async(control) : of(null);
|
|
19
|
-
}
|
|
20
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AsyncValidationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
21
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: AsyncValidationDirective, selector: "[ngModel],[formControlName],[formControl]", inputs: { async: "async" }, providers: [{
|
|
22
|
-
provide: NG_ASYNC_VALIDATORS,
|
|
23
|
-
useExisting: forwardRef((() => AsyncValidationDirective)),
|
|
24
|
-
multi: true
|
|
25
|
-
}], ngImport: i0 });
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AsyncValidationDirective, decorators: [{
|
|
28
|
-
type: Directive,
|
|
29
|
-
args: [{
|
|
30
|
-
selector: '[ngModel],[formControlName],[formControl]',
|
|
31
|
-
providers: [{
|
|
32
|
-
provide: NG_ASYNC_VALIDATORS,
|
|
33
|
-
useExisting: forwardRef((() => AsyncValidationDirective)),
|
|
34
|
-
multi: true
|
|
35
|
-
}]
|
|
36
|
-
}]
|
|
37
|
-
}], propDecorators: { async: [{
|
|
38
|
-
type: Input
|
|
39
|
-
}] } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtdmFsaWRhdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9mb3JtLXZhbGlkYXRvcnMvZGlyZWN0aXZlcy90ZW1wbGF0ZS12YWxpZGF0aW9ucy9hc3luYy12YWxpZGF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFtQyxtQkFBbUIsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQVV0QyxNQUFNLE9BQU8sd0JBQXdCO0lBQ2pDOztPQUVHO0lBRUksS0FBSyxDQUFNO0lBRWxCOzs7Ozs7T0FNRztJQUNJLFFBQVEsQ0FBQyxPQUF3QjtRQUNwQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDOzBIQWhCUSx3QkFBd0I7OEdBQXhCLHdCQUF3QixnR0FOdEIsQ0FBQztnQkFDUixPQUFPLEVBQUUsbUJBQW1CO2dCQUM1QixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixFQUFDO2dCQUN2RCxLQUFLLEVBQUUsSUFBSTthQUNkLENBQUM7OzJGQUVPLHdCQUF3QjtrQkFScEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMkNBQTJDO29CQUNyRCxTQUFTLEVBQUUsQ0FBQzs0QkFDUixPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSx5QkFBeUIsRUFBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ2QsQ0FBQztpQkFDTDs4QkFNVSxLQUFLO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQXN5bmNWYWxpZGF0b3IsIE5HX0FTWU5DX1ZBTElEQVRPUlMsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW25nTW9kZWxdLFtmb3JtQ29udHJvbE5hbWVdLFtmb3JtQ29udHJvbF0nLFxyXG4gICAgcHJvdmlkZXJzOiBbe1xyXG4gICAgICAgIHByb3ZpZGU6IE5HX0FTWU5DX1ZBTElEQVRPUlMsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXN5bmNWYWxpZGF0aW9uRGlyZWN0aXZlKSxcclxuICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFzeW5jVmFsaWRhdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFzeW5jVmFsaWRhdG9yIHtcclxuICAgIC8qKlxyXG4gICAgICogVGhlIGFzeW5jIHZhbGlkYXRpb24gZnVuY3Rpb24uXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYXN5bmM6IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE1ldGhvZCB0aGF0IHBlcmZvcm1zIGFzeW5jIHZhbGlkYXRpb24gYWdhaW5zdCB0aGUgcHJvdmlkZWQgY29udHJvbC5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGNvbnRyb2wgVGhlIGNvbnRyb2wgdG8gdmFsaWRhdGUgYWdhaW5zdC5cclxuICAgICAqIEByZXR1cm5zIEEgcHJvbWlzZSBvciBvYnNlcnZhYmxlIHRoYXQgcmVzb2x2ZXMgYSBtYXAgb2YgdmFsaWRhdGlvbiBlcnJvcnNcclxuICAgICAqIGlmIHZhbGlkYXRpb24gZmFpbHMsIG90aGVyd2lzZSBudWxsLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4gfCBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXN5bmMgPyB0aGlzLmFzeW5jKGNvbnRyb2wpIDogb2YobnVsbCk7XHJcbiAgICB9XHJcbn0iXX0=
|