@messaia/cdk 0.0.0-CDK
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/esm2020/lib/base/base.module.mjs +66 -0
- package/esm2020/lib/base/components/base.component.mjs +441 -0
- package/esm2020/lib/base/components/generic-form-base.component.mjs +602 -0
- package/esm2020/lib/base/components/generic-form.component.mjs +31 -0
- package/esm2020/lib/base/components/generic-list.component.mjs +539 -0
- package/esm2020/lib/base/components/generic-reactive-form.component.mjs +54 -0
- package/esm2020/lib/base/constants/common.mjs +24 -0
- package/esm2020/lib/base/enums/message-type.mjs +7 -0
- package/esm2020/lib/base/helpers/auth-helper.mjs +46 -0
- package/esm2020/lib/base/interceptors/base.interceptor.mjs +138 -0
- package/esm2020/lib/base/interceptors/caching-interceptor.mjs +68 -0
- package/esm2020/lib/base/interceptors/loading.interceptor.mjs +63 -0
- package/esm2020/lib/base/models/auth-user.mjs +3 -0
- package/esm2020/lib/base/public_api.mjs +2 -0
- package/esm2020/lib/base/services/file.service.mjs +18 -0
- package/esm2020/lib/base/services/loading-screen.service.mjs +47 -0
- package/esm2020/lib/base/services/print.service.mjs +40 -0
- package/esm2020/lib/chips/chips.module.mjs +63 -0
- package/esm2020/lib/chips/components/chips.component.mjs +419 -0
- package/esm2020/lib/chips/public_api.mjs +3 -0
- package/esm2020/lib/common/animations/collapse/collapse.animation.mjs +44 -0
- package/esm2020/lib/common/animations/common/interfaces.mjs +2 -0
- package/esm2020/lib/common/behaviors/constructor.mjs +2 -0
- package/esm2020/lib/common/behaviors/control-value-accesor.mixin.mjs +39 -0
- package/esm2020/lib/common/behaviors/disabled.mixin.mjs +24 -0
- package/esm2020/lib/common/common.module.mjs +121 -0
- package/esm2020/lib/common/constants/constants.mjs +2 -0
- package/esm2020/lib/common/directives/disable-control.directive.mjs +34 -0
- package/esm2020/lib/common/enums/salutation.mjs +7 -0
- package/esm2020/lib/common/functions/decorators.mjs +22 -0
- package/esm2020/lib/common/functions/functions.mjs +9 -0
- package/esm2020/lib/common/functions/utils.mjs +161 -0
- package/esm2020/lib/common/helpers/app-storage.mjs +53 -0
- package/esm2020/lib/common/helpers/dynamic-builder.mjs +49 -0
- package/esm2020/lib/common/models/action-menu-item.mjs +12 -0
- package/esm2020/lib/common/models/app-setting.mjs +10 -0
- package/esm2020/lib/common/models/audit-entity.mjs +18 -0
- package/esm2020/lib/common/models/audit-user.mjs +3 -0
- package/esm2020/lib/common/models/base-entity.mjs +18 -0
- package/esm2020/lib/common/models/entity.mjs +2 -0
- package/esm2020/lib/common/models/enum-item.mjs +2 -0
- package/esm2020/lib/common/models/key-value.mjs +3 -0
- package/esm2020/lib/common/models/save-action.mjs +7 -0
- package/esm2020/lib/common/pipes/data-source.pipe.mjs +15 -0
- package/esm2020/lib/common/pipes/enum.pipe.mjs +23 -0
- package/esm2020/lib/common/pipes/file-size.pipe.mjs +37 -0
- package/esm2020/lib/common/pipes/filter.pipe.mjs +23 -0
- package/esm2020/lib/common/pipes/first-letter.mjs +24 -0
- package/esm2020/lib/common/pipes/keys.mjs +18 -0
- package/esm2020/lib/common/pipes/month-name.pipe.mjs +27 -0
- package/esm2020/lib/common/pipes/only-number.mjs +53 -0
- package/esm2020/lib/common/pipes/order.pipe.mjs +183 -0
- package/esm2020/lib/common/pipes/placeholder.pipe.mjs +26 -0
- package/esm2020/lib/common/pipes/safe-html.pipe.mjs +31 -0
- package/esm2020/lib/common/pipes/time.pipe.mjs +20 -0
- package/esm2020/lib/common/pipes/titlecase.pipe.mjs +14 -0
- package/esm2020/lib/common/pipes/truncate.pipe.mjs +15 -0
- package/esm2020/lib/common/pipes/values.mjs +14 -0
- package/esm2020/lib/common/public_api.mjs +18 -0
- package/esm2020/lib/common/services/base.service.mjs +19 -0
- package/esm2020/lib/common/services/context-helper.mjs +4 -0
- package/esm2020/lib/common/services/enum.service.mjs +44 -0
- package/esm2020/lib/common/services/service-locator.mjs +24 -0
- package/esm2020/lib/dialogs/alert-dialog/alert-dialog.component.mjs +31 -0
- package/esm2020/lib/dialogs/confirm-dialog/confirm-dialog.component.mjs +37 -0
- package/esm2020/lib/dialogs/dialog.component.mjs +56 -0
- package/esm2020/lib/dialogs/dialogs.module.mjs +82 -0
- package/esm2020/lib/dialogs/prompt-dialog/prompt-dialog.component.mjs +40 -0
- package/esm2020/lib/dialogs/public_api.mjs +2 -0
- package/esm2020/lib/dialogs/services/dialog.service.mjs +136 -0
- package/esm2020/lib/file/file-input.component.mjs +327 -0
- package/esm2020/lib/file/file.module.mjs +39 -0
- package/esm2020/lib/file/public_api.mjs +2 -0
- package/esm2020/lib/form-validators/abstract/typed-form.mjs +3 -0
- package/esm2020/lib/form-validators/algorithm/luhn-algorithm.mjs +15 -0
- package/esm2020/lib/form-validators/const/app-validators.const.mjs +68 -0
- package/esm2020/lib/form-validators/const/app.const.mjs +17 -0
- package/esm2020/lib/form-validators/const/config-names.const.mjs +9 -0
- package/esm2020/lib/form-validators/const/config-required-fields.const.mjs +11 -0
- package/esm2020/lib/form-validators/const/decorators.const.mjs +23 -0
- package/esm2020/lib/form-validators/const/events.const.mjs +14 -0
- package/esm2020/lib/form-validators/const/html-elements.const.mjs +7 -0
- package/esm2020/lib/form-validators/const/iban-country-wise-regex.const.mjs +80 -0
- package/esm2020/lib/form-validators/const/index.mjs +6 -0
- package/esm2020/lib/form-validators/const/operators.const.mjs +7 -0
- package/esm2020/lib/form-validators/const/validation-alphabet-locale.const.mjs +9 -0
- package/esm2020/lib/form-validators/const/validator.const.mjs +8 -0
- package/esm2020/lib/form-validators/core/defaultContainer.mjs +243 -0
- package/esm2020/lib/form-validators/core/validator.interface.mjs +2 -0
- package/esm2020/lib/form-validators/core/validator.static.mjs +74 -0
- package/esm2020/lib/form-validators/decorators/allOf.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/alpha.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/alphaNumeric.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/and.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/ascii.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/async.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/base-decorator.function.mjs +7 -0
- package/esm2020/lib/form-validators/decorators/choice.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/compare.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/compose.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/contains.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/credit-card.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/cusip.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/custom.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/dataUri.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/date.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/different.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/digit.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/email.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/endsWith.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/even.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/extension.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/factor.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/file.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/fileSize.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/greater-than-equal-to.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/greater-than.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/grid.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/hexColor.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/image.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/index.mjs +91 -0
- package/esm2020/lib/form-validators/decorators/json.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/latLong.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/latitude.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/leapYear.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/less-than-equal-to.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/less-than.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/longitude.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/lowercase.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/mac.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/mask.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/maxDate.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/maxLength.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/maxNumber.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/maxTime.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/minDate.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/minLength.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/minNumber.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/minTime.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/model.decorator.mjs +7 -0
- package/esm2020/lib/form-validators/decorators/non-validation-decorators/disable.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/non-validation-decorators/elementClass.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/non-validation-decorators/error.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/noneOf.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/not.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/notEmpty.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/numeric.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/odd.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/oneOf.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/or.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/password.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/pattern.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/port.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/primeNumber.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/prop-array.decorator.mjs +18 -0
- package/esm2020/lib/form-validators/decorators/prop-object.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/prop.decorator.mjs +16 -0
- package/esm2020/lib/form-validators/decorators/range.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/required.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/requiredTrue.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/rule.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/sanitize/blacklist.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/sanitize/escape.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/sanitize/ltrim.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/sanitize/prefix.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/sanitize/rtrim.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/sanitize/sanitize.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/sanitize/stripLow.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/sanitize/suffix.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/sanitize/toBoolean.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/sanitize/toDate.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/sanitize/toDouble.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/sanitize/toFloat.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/sanitize/toInt.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/sanitize/toString.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/sanitize/trim.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/sanitize/whitelist.decorator.mjs +8 -0
- package/esm2020/lib/form-validators/decorators/startsWith.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/time.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/decorators/unique.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/uppercase.decorator.mjs +6 -0
- package/esm2020/lib/form-validators/decorators/url.decorator.mjs +10 -0
- package/esm2020/lib/form-validators/directives/base-directive.mjs +43 -0
- package/esm2020/lib/form-validators/directives/control-host.directive.mjs +34 -0
- package/esm2020/lib/form-validators/directives/html-control-template.directive.mjs +20 -0
- package/esm2020/lib/form-validators/directives/rx-form.directive.mjs +134 -0
- package/esm2020/lib/form-validators/directives/template-validations/async-validation.directive.mjs +31 -0
- package/esm2020/lib/form-validators/directives/template-validations/base-validator.directive.mjs +42 -0
- package/esm2020/lib/form-validators/directives/template-validations/control-expression-process.mjs +26 -0
- package/esm2020/lib/form-validators/directives/template-validations/file-control.directive.mjs +91 -0
- package/esm2020/lib/form-validators/directives/template-validations/image-file-control.directive.mjs +50 -0
- package/esm2020/lib/form-validators/directives/template-validations/rxformcontrol.directive.mjs +277 -0
- package/esm2020/lib/form-validators/domain/disable-provider.mjs +93 -0
- package/esm2020/lib/form-validators/domain/element-processor/decimal.provider.mjs +59 -0
- package/esm2020/lib/form-validators/domain/element-processor/mask.provider.mjs +430 -0
- package/esm2020/lib/form-validators/domain/form-data.mjs +47 -0
- package/esm2020/lib/form-validators/enums/error-message-binding-strategy.mjs +11 -0
- package/esm2020/lib/form-validators/enums/index.mjs +5 -0
- package/esm2020/lib/form-validators/enums/ip-version.mjs +7 -0
- package/esm2020/lib/form-validators/enums/numeric-value-type.mjs +7 -0
- package/esm2020/lib/form-validators/enums/reset-type.mjs +10 -0
- package/esm2020/lib/form-validators/enums/url-validation-type.mjs +7 -0
- package/esm2020/lib/form-validators/models/config/alpha-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/array-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/base-config-fn.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/base-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/base-date-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/choice-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/compare-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/component-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/compose-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/contains-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/credit-card-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/custom-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/date-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/default-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/digit-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/disable-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/element-class-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/email-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/error-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/extension-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/factor-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/field-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/file-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/hex-color-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/iban-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/image-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/index.mjs +35 -0
- package/esm2020/lib/form-validators/models/config/ip-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/logical-operator-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/mask-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/max-date-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/message-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/min-date-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/model-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/number-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/numeric-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/password-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/pattern-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/prop-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/props-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/range-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/relational-operator-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/required-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/rule-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/sanitize-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/size-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/string-comparison-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/time-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/todate-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/unique-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/config/url-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/form-builder-configuration.mjs +8 -0
- package/esm2020/lib/form-validators/models/index.mjs +3 -0
- package/esm2020/lib/form-validators/models/interface/array-prop-instance-config.interface.mjs +2 -0
- package/esm2020/lib/form-validators/models/interface/auto-instance-config.interface.mjs +2 -0
- package/esm2020/lib/form-validators/models/interface/form-data-config.mjs +2 -0
- package/esm2020/lib/form-validators/models/interface/i-abstract-control.mjs +4 -0
- package/esm2020/lib/form-validators/models/interface/i-form-group.mjs +2 -0
- package/esm2020/lib/form-validators/models/interface/instance-argument.interface.mjs +2 -0
- package/esm2020/lib/form-validators/models/interface/object-prop-instance-config.interface.mjs +2 -0
- package/esm2020/lib/form-validators/models/interface/options.mjs +2 -0
- package/esm2020/lib/form-validators/models/password-validation.model.mjs +2 -0
- package/esm2020/lib/form-validators/models/prop-validation-config.mjs +2 -0
- package/esm2020/lib/form-validators/public_api.mjs +25 -0
- package/esm2020/lib/form-validators/reactive-form-validators/allOf.validator.mjs +22 -0
- package/esm2020/lib/form-validators/reactive-form-validators/alpha.validator.mjs +9 -0
- package/esm2020/lib/form-validators/reactive-form-validators/alphaNumeric.validator.mjs +9 -0
- package/esm2020/lib/form-validators/reactive-form-validators/and.validator.mjs +23 -0
- package/esm2020/lib/form-validators/reactive-form-validators/ascii.validator.mjs +9 -0
- package/esm2020/lib/form-validators/reactive-form-validators/async/base.async.validator.mjs +24 -0
- package/esm2020/lib/form-validators/reactive-form-validators/choice.validator.mjs +19 -0
- package/esm2020/lib/form-validators/reactive-form-validators/compare.validator.mjs +20 -0
- package/esm2020/lib/form-validators/reactive-form-validators/compose.validator.mjs +23 -0
- package/esm2020/lib/form-validators/reactive-form-validators/conditional-change.validator.mjs +63 -0
- package/esm2020/lib/form-validators/reactive-form-validators/contains.validator.mjs +15 -0
- package/esm2020/lib/form-validators/reactive-form-validators/credit-card.validator.mjs +48 -0
- package/esm2020/lib/form-validators/reactive-form-validators/cusip.validator.mjs +38 -0
- package/esm2020/lib/form-validators/reactive-form-validators/custom.validator.mjs +23 -0
- package/esm2020/lib/form-validators/reactive-form-validators/dataUri.validator.mjs +9 -0
- package/esm2020/lib/form-validators/reactive-form-validators/date.validator.mjs +8 -0
- package/esm2020/lib/form-validators/reactive-form-validators/different.validator.mjs +19 -0
- package/esm2020/lib/form-validators/reactive-form-validators/digit.validator.mjs +9 -0
- package/esm2020/lib/form-validators/reactive-form-validators/email.validator.mjs +9 -0
- package/esm2020/lib/form-validators/reactive-form-validators/endsWith.validator.mjs +16 -0
- package/esm2020/lib/form-validators/reactive-form-validators/even.validator.mjs +15 -0
- package/esm2020/lib/form-validators/reactive-form-validators/extension.validator.mjs +40 -0
- package/esm2020/lib/form-validators/reactive-form-validators/factor.validator.mjs +37 -0
- package/esm2020/lib/form-validators/reactive-form-validators/file.validator.mjs +26 -0
- package/esm2020/lib/form-validators/reactive-form-validators/fileSize.validator.mjs +32 -0
- package/esm2020/lib/form-validators/reactive-form-validators/greater-than-equal-to.validator.mjs +8 -0
- package/esm2020/lib/form-validators/reactive-form-validators/greater-than.validator.mjs +8 -0
- package/esm2020/lib/form-validators/reactive-form-validators/grid.validator.mjs +31 -0
- package/esm2020/lib/form-validators/reactive-form-validators/hexcolor.validator.mjs +9 -0
- package/esm2020/lib/form-validators/reactive-form-validators/iban.validator.mjs +30 -0
- package/esm2020/lib/form-validators/reactive-form-validators/image.validator.mjs +48 -0
- package/esm2020/lib/form-validators/reactive-form-validators/index.mjs +66 -0
- package/esm2020/lib/form-validators/reactive-form-validators/ip.validator.mjs +35 -0
- package/esm2020/lib/form-validators/reactive-form-validators/json.validator.mjs +26 -0
- package/esm2020/lib/form-validators/reactive-form-validators/latLong.validator.mjs +18 -0
- package/esm2020/lib/form-validators/reactive-form-validators/latitude.validator.mjs +9 -0
- package/esm2020/lib/form-validators/reactive-form-validators/leapYear.validator.mjs +16 -0
- package/esm2020/lib/form-validators/reactive-form-validators/less-than-equal-to.validator.mjs +8 -0
- package/esm2020/lib/form-validators/reactive-form-validators/less-than.validator.mjs +8 -0
- package/esm2020/lib/form-validators/reactive-form-validators/longitude.validator.mjs +9 -0
- package/esm2020/lib/form-validators/reactive-form-validators/lowercase.validator.mjs +15 -0
- package/esm2020/lib/form-validators/reactive-form-validators/mac.validator.mjs +9 -0
- package/esm2020/lib/form-validators/reactive-form-validators/mask.validator.mjs +13 -0
- package/esm2020/lib/form-validators/reactive-form-validators/maxDate.validator.mjs +8 -0
- package/esm2020/lib/form-validators/reactive-form-validators/maxLength.validator.mjs +16 -0
- package/esm2020/lib/form-validators/reactive-form-validators/maxNumber.validator.mjs +16 -0
- package/esm2020/lib/form-validators/reactive-form-validators/maxTime.validator.mjs +8 -0
- package/esm2020/lib/form-validators/reactive-form-validators/minDate.validator.mjs +8 -0
- package/esm2020/lib/form-validators/reactive-form-validators/minLength.validator.mjs +16 -0
- package/esm2020/lib/form-validators/reactive-form-validators/minNumber.validator.mjs +16 -0
- package/esm2020/lib/form-validators/reactive-form-validators/minTime.validator.mjs +8 -0
- package/esm2020/lib/form-validators/reactive-form-validators/noneOf.validator.mjs +24 -0
- package/esm2020/lib/form-validators/reactive-form-validators/not.validator.mjs +23 -0
- package/esm2020/lib/form-validators/reactive-form-validators/notEmpty.validator.mjs +17 -0
- package/esm2020/lib/form-validators/reactive-form-validators/numeric.validator.mjs +20 -0
- package/esm2020/lib/form-validators/reactive-form-validators/odd.validator.mjs +16 -0
- package/esm2020/lib/form-validators/reactive-form-validators/oneOf.validator.mjs +22 -0
- package/esm2020/lib/form-validators/reactive-form-validators/or.validator.mjs +23 -0
- package/esm2020/lib/form-validators/reactive-form-validators/password.validator.mjs +33 -0
- package/esm2020/lib/form-validators/reactive-form-validators/pattern.validator.mjs +17 -0
- package/esm2020/lib/form-validators/reactive-form-validators/port.validator.mjs +18 -0
- package/esm2020/lib/form-validators/reactive-form-validators/primeNumber.validator.mjs +26 -0
- package/esm2020/lib/form-validators/reactive-form-validators/range.validator.mjs +16 -0
- package/esm2020/lib/form-validators/reactive-form-validators/required.validator.mjs +17 -0
- package/esm2020/lib/form-validators/reactive-form-validators/requiredTrue.validator.mjs +16 -0
- package/esm2020/lib/form-validators/reactive-form-validators/rule.validator.mjs +20 -0
- package/esm2020/lib/form-validators/reactive-form-validators/startsWith.validator.mjs +16 -0
- package/esm2020/lib/form-validators/reactive-form-validators/time.validator.mjs +18 -0
- package/esm2020/lib/form-validators/reactive-form-validators/unique.validator.mjs +70 -0
- package/esm2020/lib/form-validators/reactive-form-validators/uppercase.validator.mjs +15 -0
- package/esm2020/lib/form-validators/reactive-form-validators/url.validator.mjs +28 -0
- package/esm2020/lib/form-validators/services/base-form-builder.mjs +115 -0
- package/esm2020/lib/form-validators/services/entity.service.mjs +64 -0
- package/esm2020/lib/form-validators/services/form-control.mjs +349 -0
- package/esm2020/lib/form-validators/services/form-group.mjs +2 -0
- package/esm2020/lib/form-validators/services/reactive-form.module.mjs +52 -0
- package/esm2020/lib/form-validators/services/rx-form-array.mjs +100 -0
- package/esm2020/lib/form-validators/services/rx-form-builder.mjs +559 -0
- package/esm2020/lib/form-validators/services/rx-form-group.mjs +299 -0
- package/esm2020/lib/form-validators/services/typed-form-builder.mjs +23 -0
- package/esm2020/lib/form-validators/util/alphabet-regex.locale.mjs +29 -0
- package/esm2020/lib/form-validators/util/app-util.mjs +141 -0
- package/esm2020/lib/form-validators/util/check-length.mjs +10 -0
- package/esm2020/lib/form-validators/util/config-provider.mjs +35 -0
- package/esm2020/lib/form-validators/util/date-checker.function.mjs +52 -0
- package/esm2020/lib/form-validators/util/date-provider.mjs +97 -0
- package/esm2020/lib/form-validators/util/form-const.mjs +3 -0
- package/esm2020/lib/form-validators/util/form-provider.mjs +37 -0
- package/esm2020/lib/form-validators/util/index.mjs +7 -0
- package/esm2020/lib/form-validators/util/instance-provider.function.mjs +30 -0
- package/esm2020/lib/form-validators/util/ip-checker.mjs +18 -0
- package/esm2020/lib/form-validators/util/linq.mjs +147 -0
- package/esm2020/lib/form-validators/util/object-maker.mjs +38 -0
- package/esm2020/lib/form-validators/util/reactive-form-config.mjs +23 -0
- package/esm2020/lib/form-validators/util/regex-rules.mjs +37 -0
- package/esm2020/lib/form-validators/util/regex-validator.mjs +74 -0
- package/esm2020/lib/form-validators/util/relational-checker.function.mjs +85 -0
- package/esm2020/lib/form-validators/util/reset-form.mjs +56 -0
- package/esm2020/lib/form-validators/util/sanitizers.mjs +131 -0
- package/esm2020/lib/form-validators/util/time-checker.function.mjs +48 -0
- package/esm2020/lib/form-validators/util/type.mjs +2 -0
- package/esm2020/lib/form-validators/util/validator-value-checker.mjs +17 -0
- package/esm2020/lib/form-validators/validators-extension/allOf-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/alpha-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/alphaNumeric-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/and-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/ascii-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/base-validator.function.mjs +33 -0
- package/esm2020/lib/form-validators/validators-extension/choice-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/compare-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/compose-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/contains-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/credit-card-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/cusip-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/custom-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/dataUri-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/date-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/different-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/digit-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/email-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/endsWith-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/even-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/extension-validator.extension.mjs +10 -0
- package/esm2020/lib/form-validators/validators-extension/factor-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/file-validator.extension.mjs +10 -0
- package/esm2020/lib/form-validators/validators-extension/fileSize-validator.extension.mjs +10 -0
- package/esm2020/lib/form-validators/validators-extension/greater-than-equal-to-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/greater-than-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/grid-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/hexcolor-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/iban-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/image-validator.extension.mjs +10 -0
- package/esm2020/lib/form-validators/validators-extension/index.mjs +68 -0
- package/esm2020/lib/form-validators/validators-extension/ip-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/json-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/latLong-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/latitude-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/leapYear-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/less-than-equal-to-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/less-than-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/longitude-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/lowercase-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/mac-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/mask-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/maxDate-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/maxLength-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/maxNumber-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/maxTime-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/minDate-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/minLength-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/minNumber-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/minTime-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/noneOf-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/not-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/notEmpty-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/numeric-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/odd-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/oneOf-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/or-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/password-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/pattern-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/port-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/primeNumber-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/range-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/required-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/requiredTrue-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/rxweb-validators.mjs +108 -0
- package/esm2020/lib/form-validators/validators-extension/startsWith-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/time-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-extension/unique-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/uppercase-validator.extension.mjs +7 -0
- package/esm2020/lib/form-validators/validators-extension/url-validator.extension.mjs +11 -0
- package/esm2020/lib/form-validators/validators-function/alpha-validation.function.mjs +37 -0
- package/esm2020/lib/form-validators/validators-function/regex-validation.function.mjs +16 -0
- package/esm2020/lib/forms/components/generic-form/generic-form.component.mjs +131 -0
- package/esm2020/lib/forms/constants/constants.mjs +2 -0
- package/esm2020/lib/forms/directives/mat-form-field-editor.directive.mjs +162 -0
- package/esm2020/lib/forms/directives/mat-form-field-readonly.directive.mjs +33 -0
- package/esm2020/lib/forms/enums/form-field-type.mjs +19 -0
- package/esm2020/lib/forms/forms.module.mjs +125 -0
- package/esm2020/lib/forms/functions/decorators.mjs +127 -0
- package/esm2020/lib/forms/functions/functions.mjs +10 -0
- package/esm2020/lib/forms/helpers/abstract-mat-form-field.mjs +251 -0
- package/esm2020/lib/forms/helpers/value-accessor-base.mjs +141 -0
- package/esm2020/lib/forms/models/form-field-definition.mjs +18 -0
- package/esm2020/lib/forms/models/form-field-group.mjs +11 -0
- package/esm2020/lib/forms/public_api.mjs +4 -0
- package/esm2020/lib/forms/validators/equal-validator.directive.mjs +79 -0
- package/esm2020/lib/forms/validators/native-element-injector.directive.mjs +32 -0
- package/esm2020/lib/forms/validators/unique-validator-directive.mjs +75 -0
- package/esm2020/lib/http/http.module.mjs +20 -0
- package/esm2020/lib/http/public_api.mjs +2 -0
- package/esm2020/lib/http/services/generic.service.mjs +319 -0
- package/esm2020/lib/layout/form-toolbar/form-toolbar.component.mjs +30 -0
- package/esm2020/lib/layout/form-toolbar-menu/form-toolbar-menu.component.mjs +17 -0
- package/esm2020/lib/layout/layout-card-over/layout-card-over.component.mjs +43 -0
- package/esm2020/lib/layout/layout-footer/layout-footer.component.mjs +34 -0
- package/esm2020/lib/layout/layout-manage-list/layout-manage-list.component.mjs +130 -0
- package/esm2020/lib/layout/layout-manage-list/layout-manage-list.directives.mjs +108 -0
- package/esm2020/lib/layout/layout-nav/layout-nav.component.mjs +95 -0
- package/esm2020/lib/layout/layout-nav-list/layout-nav-list.component.mjs +123 -0
- package/esm2020/lib/layout/layout-nav-list/layout-nav-list.directives.mjs +81 -0
- package/esm2020/lib/layout/layout-toggle.class.mjs +71 -0
- package/esm2020/lib/layout/layout.component.mjs +82 -0
- package/esm2020/lib/layout/layout.directives.mjs +81 -0
- package/esm2020/lib/layout/layout.module.mjs +146 -0
- package/esm2020/lib/layout/list-toolbar/list-toolbar.component.mjs +23 -0
- package/esm2020/lib/layout/list-toolbar-menu/list-toolbar-menu.component.mjs +17 -0
- package/esm2020/lib/layout/navigation-drawer/navigation-drawer.component.mjs +167 -0
- package/esm2020/lib/layout/public_api.mjs +2 -0
- package/esm2020/lib/media/directives/media-toggle.directive.mjs +115 -0
- package/esm2020/lib/media/media.module.mjs +37 -0
- package/esm2020/lib/media/public_api.mjs +2 -0
- package/esm2020/lib/media/services/media.service.mjs +108 -0
- package/esm2020/lib/menu/components/menu.component.mjs +52 -0
- package/esm2020/lib/menu/enums/menu-scope.mjs +6 -0
- package/esm2020/lib/menu/menu.module.mjs +50 -0
- package/esm2020/lib/menu/models/menu-item.mjs +3 -0
- package/esm2020/lib/menu/models/menu.mjs +3 -0
- package/esm2020/lib/menu/public_api.mjs +2 -0
- package/esm2020/lib/menu/services/menu-items.service.mjs +19 -0
- package/esm2020/lib/menu/services/menu.resolve.mjs +62 -0
- package/esm2020/lib/menu/services/menu.service.mjs +19 -0
- package/esm2020/lib/search/public_api.mjs +2 -0
- package/esm2020/lib/search/search.module.mjs +47 -0
- package/esm2020/lib/search/vd-search-box/vd-search-box.component.mjs +143 -0
- package/esm2020/lib/search/vd-search-input/vd-search-input.component.mjs +148 -0
- package/esm2020/lib/select/public_api.mjs +3 -0
- package/esm2020/lib/select/select.component.mjs +407 -0
- package/esm2020/lib/select/select.module.mjs +45 -0
- package/esm2020/lib/table/components/dynamic-table/dynamic-table.component.mjs +349 -0
- package/esm2020/lib/table/components/filter-clear.component.mjs +44 -0
- package/esm2020/lib/table/components/filter-date.component.mjs +151 -0
- package/esm2020/lib/table/components/filter-input.component.mjs +198 -0
- package/esm2020/lib/table/components/filter-select.component.mjs +334 -0
- package/esm2020/lib/table/directives/data-source-filter.directive.mjs +45 -0
- package/esm2020/lib/table/enums/table-column-type.mjs +14 -0
- package/esm2020/lib/table/functions/decorators.mjs +135 -0
- package/esm2020/lib/table/functions/functions.mjs +15 -0
- package/esm2020/lib/table/models/pagination.mjs +3 -0
- package/esm2020/lib/table/models/table-column.mjs +10 -0
- package/esm2020/lib/table/models/table-definition.mjs +17 -0
- package/esm2020/lib/table/models/table-menu-item.mjs +12 -0
- package/esm2020/lib/table/paginator-intl.mjs +44 -0
- package/esm2020/lib/table/public_api.mjs +3 -0
- package/esm2020/lib/table/table.data-source.mjs +212 -0
- package/esm2020/lib/table/table.module.mjs +139 -0
- package/esm2020/lib/table/table.static-data-source.mjs +131 -0
- package/esm2020/messaia-cdk.mjs +5 -0
- package/esm2020/public_api.mjs +18 -0
- package/fesm2015/messaia-cdk.mjs +16621 -0
- package/fesm2015/messaia-cdk.mjs.map +1 -0
- package/fesm2020/messaia-cdk.mjs +16538 -0
- package/fesm2020/messaia-cdk.mjs.map +1 -0
- package/lib/base/base.module.d.ts +25 -0
- package/lib/base/components/base.component.d.ts +258 -0
- package/lib/base/components/generic-form-base.component.d.ts +310 -0
- package/lib/base/components/generic-form.component.d.ts +32 -0
- package/lib/base/components/generic-list.component.d.ts +273 -0
- package/lib/base/components/generic-reactive-form.component.d.ts +47 -0
- package/lib/base/constants/common.d.ts +9 -0
- package/lib/base/enums/message-type.d.ts +5 -0
- package/lib/base/helpers/auth-helper.d.ts +26 -0
- package/lib/base/interceptors/base.interceptor.d.ts +40 -0
- package/lib/base/interceptors/caching-interceptor.d.ts +35 -0
- package/lib/base/interceptors/loading.interceptor.d.ts +30 -0
- package/lib/base/models/auth-user.d.ts +15 -0
- package/lib/base/public_api.d.ts +1 -0
- package/lib/base/services/file.service.d.ts +10 -0
- package/lib/base/services/loading-screen.service.d.ts +30 -0
- package/lib/base/services/print.service.d.ts +23 -0
- package/lib/chips/chips.module.d.ts +15 -0
- package/lib/chips/components/chips.component.d.ts +223 -0
- package/lib/chips/public_api.d.ts +2 -0
- package/lib/common/animations/collapse/collapse.animation.d.ts +21 -0
- package/lib/common/animations/common/interfaces.d.ts +5 -0
- package/lib/common/behaviors/constructor.d.ts +1 -0
- package/lib/common/behaviors/control-value-accesor.mixin.d.ts +16 -0
- package/lib/common/behaviors/disabled.mixin.d.ts +8 -0
- package/lib/common/common.module.d.ts +53 -0
- package/lib/common/constants/constants.d.ts +1 -0
- package/lib/common/directives/disable-control.directive.d.ts +16 -0
- package/lib/common/enums/salutation.d.ts +5 -0
- package/lib/common/functions/decorators.d.ts +12 -0
- package/lib/common/functions/functions.d.ts +6 -0
- package/lib/common/functions/utils.d.ts +73 -0
- package/lib/common/helpers/app-storage.d.ts +32 -0
- package/lib/common/helpers/dynamic-builder.d.ts +19 -0
- package/lib/common/models/action-menu-item.d.ts +15 -0
- package/lib/common/models/app-setting.d.ts +17 -0
- package/lib/common/models/audit-entity.d.ts +12 -0
- package/lib/common/models/audit-user.d.ts +5 -0
- package/lib/common/models/base-entity.d.ts +10 -0
- package/lib/common/models/entity.d.ts +3 -0
- package/lib/common/models/enum-item.d.ts +4 -0
- package/lib/common/models/key-value.d.ts +4 -0
- package/lib/common/models/save-action.d.ts +5 -0
- package/lib/common/pipes/data-source.pipe.d.ts +7 -0
- package/lib/common/pipes/enum.pipe.d.ts +12 -0
- package/lib/common/pipes/file-size.pipe.d.ts +13 -0
- package/lib/common/pipes/filter.pipe.d.ts +13 -0
- package/lib/common/pipes/first-letter.d.ts +12 -0
- package/lib/common/pipes/keys.d.ts +7 -0
- package/lib/common/pipes/month-name.pipe.d.ts +15 -0
- package/lib/common/pipes/only-number.d.ts +21 -0
- package/lib/common/pipes/order.pipe.d.ts +77 -0
- package/lib/common/pipes/placeholder.pipe.d.ts +13 -0
- package/lib/common/pipes/safe-html.pipe.d.ts +22 -0
- package/lib/common/pipes/time.pipe.d.ts +7 -0
- package/lib/common/pipes/titlecase.pipe.d.ts +7 -0
- package/lib/common/pipes/truncate.pipe.d.ts +7 -0
- package/lib/common/pipes/values.d.ts +7 -0
- package/lib/common/public_api.d.ts +17 -0
- package/lib/common/services/base.service.d.ts +10 -0
- package/lib/common/services/context-helper.d.ts +17 -0
- package/lib/common/services/enum.service.d.ts +23 -0
- package/lib/common/services/service-locator.d.ts +19 -0
- package/lib/common/styles/_common-theme.scss +27 -0
- package/lib/common/styles/_elevation.scss +147 -0
- package/lib/common/styles/_layout.scss +588 -0
- package/lib/common/styles/_rtl.scss +28 -0
- package/lib/common/styles/_styles.scss +12 -0
- package/lib/common/styles/_theme-functions.scss +27 -0
- package/lib/common/styles/_typography-functions.scss +35 -0
- package/lib/common/styles/_typography.scss +76 -0
- package/lib/common/styles/_variables.scss +98 -0
- package/lib/common/styles/colors/_colors-dark.scss +388 -0
- package/lib/common/styles/colors/_colors-light.scss +904 -0
- package/lib/common/styles/colors/_colors.scss +7 -0
- package/lib/common/styles/core/_button.scss +59 -0
- package/lib/common/styles/core/_card.scss +160 -0
- package/lib/common/styles/core/_content.scss +42 -0
- package/lib/common/styles/core/_core.scss +23 -0
- package/lib/common/styles/core/_divider.scss +14 -0
- package/lib/common/styles/core/_icons.scss +26 -0
- package/lib/common/styles/core/_list.scss +8 -0
- package/lib/common/styles/core/_sidenav.scss +20 -0
- package/lib/common/styles/core/_structure.scss +126 -0
- package/lib/common/styles/core/_toolbar.scss +31 -0
- package/lib/common/styles/core/_whiteframe.scss +111 -0
- package/lib/common/styles/font/_font.scss +92 -0
- package/lib/common/styles/material-icons.scss +3 -0
- package/lib/common/styles/platform.scss +11 -0
- package/lib/common/styles/utilities/_general.scss +81 -0
- package/lib/common/styles/utilities/_pad.scss +36 -0
- package/lib/common/styles/utilities/_pull.scss +36 -0
- package/lib/common/styles/utilities/_push.scss +36 -0
- package/lib/common/styles/utilities/_size.scss +24 -0
- package/lib/common/styles/utilities/_text.scss +87 -0
- package/lib/common/styles/utilities/_utilities.scss +15 -0
- package/lib/common/theming/_all-theme.scss +14 -0
- package/lib/common/typography/_all-typography.scss +33 -0
- package/lib/dialogs/alert-dialog/alert-dialog.component.d.ts +20 -0
- package/lib/dialogs/confirm-dialog/confirm-dialog.component.d.ts +24 -0
- package/lib/dialogs/dialog.component.d.ts +23 -0
- package/lib/dialogs/dialogs.module.d.ts +21 -0
- package/lib/dialogs/prompt-dialog/prompt-dialog.component.d.ts +25 -0
- package/lib/dialogs/public_api.d.ts +1 -0
- package/lib/dialogs/services/dialog.service.d.ts +96 -0
- package/lib/file/file-input.component.d.ts +191 -0
- package/lib/file/file.module.d.ts +13 -0
- package/lib/file/public_api.d.ts +1 -0
- package/lib/form-validators/abstract/typed-form.d.ts +4 -0
- package/lib/form-validators/algorithm/luhn-algorithm.d.ts +1 -0
- package/lib/form-validators/const/app-validators.const.d.ts +3 -0
- package/lib/form-validators/const/app.const.d.ts +16 -0
- package/lib/form-validators/const/config-names.const.d.ts +8 -0
- package/lib/form-validators/const/config-required-fields.const.d.ts +3 -0
- package/lib/form-validators/const/decorators.const.d.ts +3 -0
- package/lib/form-validators/const/events.const.d.ts +13 -0
- package/lib/form-validators/const/html-elements.const.d.ts +6 -0
- package/lib/form-validators/const/iban-country-wise-regex.const.d.ts +79 -0
- package/lib/form-validators/const/index.d.ts +5 -0
- package/lib/form-validators/const/operators.const.d.ts +3 -0
- package/lib/form-validators/const/validation-alphabet-locale.const.d.ts +3 -0
- package/lib/form-validators/const/validator.const.d.ts +7 -0
- package/lib/form-validators/core/defaultContainer.d.ts +19 -0
- package/lib/form-validators/core/validator.interface.d.ts +61 -0
- package/lib/form-validators/core/validator.static.d.ts +3 -0
- package/lib/form-validators/decorators/allOf.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/alpha.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/alphaNumeric.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/and.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/ascii.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/async.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/base-decorator.function.d.ts +1 -0
- package/lib/form-validators/decorators/choice.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/compare.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/compose.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/contains.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/credit-card.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/cusip.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/custom.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/dataUri.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/date.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/different.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/digit.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/email.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/endsWith.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/even.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/extension.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/factor.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/file.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/fileSize.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/greater-than-equal-to.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/greater-than.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/grid.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/hexColor.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/image.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/index.d.ts +90 -0
- package/lib/form-validators/decorators/json.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/latLong.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/latitude.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/leapYear.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/less-than-equal-to.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/less-than.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/longitude.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/lowercase.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/mac.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/mask.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/maxDate.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/maxLength.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/maxNumber.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/maxTime.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/minDate.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/minLength.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/minNumber.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/minTime.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/model.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/non-validation-decorators/disable.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/non-validation-decorators/elementClass.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/non-validation-decorators/error.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/noneOf.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/not.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/notEmpty.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/numeric.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/odd.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/oneOf.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/or.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/password.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/pattern.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/port.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/primeNumber.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/prop-array.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/prop-object.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/prop.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/range.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/required.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/requiredTrue.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/rule.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/sanitize/blacklist.decorator.d.ts +1 -0
- package/lib/form-validators/decorators/sanitize/escape.decorator.d.ts +1 -0
- package/lib/form-validators/decorators/sanitize/ltrim.decorator.d.ts +1 -0
- package/lib/form-validators/decorators/sanitize/prefix.decorator.d.ts +1 -0
- package/lib/form-validators/decorators/sanitize/rtrim.decorator.d.ts +1 -0
- package/lib/form-validators/decorators/sanitize/sanitize.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/sanitize/stripLow.decorator.d.ts +1 -0
- package/lib/form-validators/decorators/sanitize/suffix.decorator.d.ts +1 -0
- package/lib/form-validators/decorators/sanitize/toBoolean.decorator.d.ts +1 -0
- package/lib/form-validators/decorators/sanitize/toDate.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/sanitize/toDouble.decorator.d.ts +1 -0
- package/lib/form-validators/decorators/sanitize/toFloat.decorator.d.ts +1 -0
- package/lib/form-validators/decorators/sanitize/toInt.decorator.d.ts +1 -0
- package/lib/form-validators/decorators/sanitize/toString.decorator.d.ts +1 -0
- package/lib/form-validators/decorators/sanitize/trim.decorator.d.ts +1 -0
- package/lib/form-validators/decorators/sanitize/whitelist.decorator.d.ts +1 -0
- package/lib/form-validators/decorators/startsWith.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/time.decorator.d.ts +3 -0
- package/lib/form-validators/decorators/unique.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/uppercase.decorator.d.ts +2 -0
- package/lib/form-validators/decorators/url.decorator.d.ts +3 -0
- package/lib/form-validators/directives/base-directive.d.ts +8 -0
- package/lib/form-validators/directives/control-host.directive.d.ts +11 -0
- package/lib/form-validators/directives/html-control-template.directive.d.ts +9 -0
- package/lib/form-validators/directives/rx-form.directive.d.ts +18 -0
- package/lib/form-validators/directives/template-validations/async-validation.directive.d.ts +9 -0
- package/lib/form-validators/directives/template-validations/base-validator.directive.d.ts +17 -0
- package/lib/form-validators/directives/template-validations/control-expression-process.d.ts +18 -0
- package/lib/form-validators/directives/template-validations/file-control.directive.d.ts +29 -0
- package/lib/form-validators/directives/template-validations/image-file-control.directive.d.ts +17 -0
- package/lib/form-validators/directives/template-validations/rxformcontrol.directive.d.ts +89 -0
- package/lib/form-validators/domain/disable-provider.d.ts +15 -0
- package/lib/form-validators/domain/element-processor/decimal.provider.d.ts +17 -0
- package/lib/form-validators/domain/element-processor/mask.provider.d.ts +63 -0
- package/lib/form-validators/domain/form-data.d.ts +10 -0
- package/lib/form-validators/enums/error-message-binding-strategy.d.ts +9 -0
- package/lib/form-validators/enums/index.d.ts +4 -0
- package/lib/form-validators/enums/ip-version.d.ts +5 -0
- package/lib/form-validators/enums/numeric-value-type.d.ts +5 -0
- package/lib/form-validators/enums/reset-type.d.ts +8 -0
- package/lib/form-validators/enums/url-validation-type.d.ts +5 -0
- package/lib/form-validators/models/config/alpha-config.d.ts +5 -0
- package/lib/form-validators/models/config/array-config.d.ts +4 -0
- package/lib/form-validators/models/config/base-config-fn.d.ts +10 -0
- package/lib/form-validators/models/config/base-config.d.ts +7 -0
- package/lib/form-validators/models/config/base-date-config.d.ts +4 -0
- package/lib/form-validators/models/config/choice-config.d.ts +5 -0
- package/lib/form-validators/models/config/compare-config.d.ts +5 -0
- package/lib/form-validators/models/config/component-config.d.ts +3 -0
- package/lib/form-validators/models/config/compose-config.d.ts +5 -0
- package/lib/form-validators/models/config/contains-config.d.ts +4 -0
- package/lib/form-validators/models/config/credit-card-config.d.ts +5 -0
- package/lib/form-validators/models/config/custom-config.d.ts +5 -0
- package/lib/form-validators/models/config/date-config.d.ts +6 -0
- package/lib/form-validators/models/config/default-config.d.ts +4 -0
- package/lib/form-validators/models/config/digit-config.d.ts +3 -0
- package/lib/form-validators/models/config/disable-config.d.ts +3 -0
- package/lib/form-validators/models/config/element-class-config.d.ts +3 -0
- package/lib/form-validators/models/config/email-config.d.ts +3 -0
- package/lib/form-validators/models/config/error-config.d.ts +3 -0
- package/lib/form-validators/models/config/extension-config.d.ts +5 -0
- package/lib/form-validators/models/config/factor-config.d.ts +5 -0
- package/lib/form-validators/models/config/field-config.d.ts +4 -0
- package/lib/form-validators/models/config/file-config.d.ts +5 -0
- package/lib/form-validators/models/config/hex-color-config.d.ts +4 -0
- package/lib/form-validators/models/config/iban-config.d.ts +4 -0
- package/lib/form-validators/models/config/image-config.d.ts +7 -0
- package/lib/form-validators/models/config/index.d.ts +34 -0
- package/lib/form-validators/models/config/ip-config.d.ts +6 -0
- package/lib/form-validators/models/config/logical-operator-config.d.ts +5 -0
- package/lib/form-validators/models/config/mask-config.d.ts +6 -0
- package/lib/form-validators/models/config/max-date-config.d.ts +4 -0
- package/lib/form-validators/models/config/message-config.d.ts +3 -0
- package/lib/form-validators/models/config/min-date-config.d.ts +4 -0
- package/lib/form-validators/models/config/model-config.d.ts +4 -0
- package/lib/form-validators/models/config/number-config.d.ts +4 -0
- package/lib/form-validators/models/config/numeric-config.d.ts +8 -0
- package/lib/form-validators/models/config/password-config.d.ts +13 -0
- package/lib/form-validators/models/config/pattern-config.d.ts +6 -0
- package/lib/form-validators/models/config/prop-config.d.ts +14 -0
- package/lib/form-validators/models/config/props-config.d.ts +12 -0
- package/lib/form-validators/models/config/range-config.d.ts +5 -0
- package/lib/form-validators/models/config/relational-operator-config.d.ts +6 -0
- package/lib/form-validators/models/config/required-config.d.ts +3 -0
- package/lib/form-validators/models/config/rule-config.d.ts +4 -0
- package/lib/form-validators/models/config/sanitize-config.d.ts +3 -0
- package/lib/form-validators/models/config/size-config.d.ts +5 -0
- package/lib/form-validators/models/config/string-comparison-config.d.ts +4 -0
- package/lib/form-validators/models/config/time-config.d.ts +15 -0
- package/lib/form-validators/models/config/todate-config.d.ts +3 -0
- package/lib/form-validators/models/config/unique-config.d.ts +4 -0
- package/lib/form-validators/models/config/url-config.d.ts +5 -0
- package/lib/form-validators/models/form-builder-configuration.d.ts +28 -0
- package/lib/form-validators/models/index.d.ts +2 -0
- package/lib/form-validators/models/interface/array-prop-instance-config.interface.d.ts +5 -0
- package/lib/form-validators/models/interface/auto-instance-config.interface.d.ts +7 -0
- package/lib/form-validators/models/interface/form-data-config.d.ts +3 -0
- package/lib/form-validators/models/interface/i-abstract-control.d.ts +15 -0
- package/lib/form-validators/models/interface/i-form-group.d.ts +37 -0
- package/lib/form-validators/models/interface/instance-argument.interface.d.ts +3 -0
- package/lib/form-validators/models/interface/object-prop-instance-config.interface.d.ts +4 -0
- package/lib/form-validators/models/interface/options.d.ts +9 -0
- package/lib/form-validators/models/password-validation.model.d.ts +20 -0
- package/lib/form-validators/models/prop-validation-config.d.ts +78 -0
- package/lib/form-validators/public_api.d.ts +24 -0
- package/lib/form-validators/reactive-form-validators/allOf.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/alpha.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/alphaNumeric.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/and.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/ascii.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/async/base.async.validator.d.ts +2 -0
- package/lib/form-validators/reactive-form-validators/choice.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/compare.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/compose.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/conditional-change.validator.d.ts +2 -0
- package/lib/form-validators/reactive-form-validators/contains.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/credit-card.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/cusip.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/custom.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/dataUri.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/date.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/different.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/digit.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/email.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/endsWith.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/even.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/extension.validator.d.ts +2 -0
- package/lib/form-validators/reactive-form-validators/factor.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/file.validator.d.ts +2 -0
- package/lib/form-validators/reactive-form-validators/fileSize.validator.d.ts +2 -0
- package/lib/form-validators/reactive-form-validators/greater-than-equal-to.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/greater-than.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/grid.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/hexcolor.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/iban.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/image.validator.d.ts +2 -0
- package/lib/form-validators/reactive-form-validators/index.d.ts +65 -0
- package/lib/form-validators/reactive-form-validators/ip.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/json.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/latLong.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/latitude.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/leapYear.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/less-than-equal-to.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/less-than.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/longitude.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/lowercase.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/mac.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/mask.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/maxDate.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/maxLength.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/maxNumber.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/maxTime.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/minDate.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/minLength.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/minNumber.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/minTime.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/noneOf.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/not.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/notEmpty.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/numeric.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/odd.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/oneOf.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/or.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/password.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/pattern.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/port.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/primeNumber.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/range.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/required.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/requiredTrue.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/rule.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/startsWith.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/time.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/unique.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/uppercase.validator.d.ts +3 -0
- package/lib/form-validators/reactive-form-validators/url.validator.d.ts +3 -0
- package/lib/form-validators/services/base-form-builder.d.ts +13 -0
- package/lib/form-validators/services/entity.service.d.ts +15 -0
- package/lib/form-validators/services/form-control.d.ts +99 -0
- package/lib/form-validators/services/form-group.d.ts +9 -0
- package/lib/form-validators/services/reactive-form.module.d.ts +24 -0
- package/lib/form-validators/services/rx-form-array.d.ts +38 -0
- package/lib/form-validators/services/rx-form-builder.d.ts +54 -0
- package/lib/form-validators/services/rx-form-group.d.ts +66 -0
- package/lib/form-validators/services/typed-form-builder.d.ts +14 -0
- package/lib/form-validators/util/alphabet-regex.locale.d.ts +28 -0
- package/lib/form-validators/util/app-util.d.ts +28 -0
- package/lib/form-validators/util/check-length.d.ts +1 -0
- package/lib/form-validators/util/config-provider.d.ts +1 -0
- package/lib/form-validators/util/date-checker.function.d.ts +7 -0
- package/lib/form-validators/util/date-provider.d.ts +9 -0
- package/lib/form-validators/util/form-const.d.ts +2 -0
- package/lib/form-validators/util/form-provider.d.ts +8 -0
- package/lib/form-validators/util/index.d.ts +6 -0
- package/lib/form-validators/util/instance-provider.function.d.ts +3 -0
- package/lib/form-validators/util/ip-checker.d.ts +2 -0
- package/lib/form-validators/util/linq.d.ts +15 -0
- package/lib/form-validators/util/object-maker.d.ts +7 -0
- package/lib/form-validators/util/reactive-form-config.d.ts +17 -0
- package/lib/form-validators/util/regex-rules.d.ts +3 -0
- package/lib/form-validators/util/regex-validator.d.ts +11 -0
- package/lib/form-validators/util/relational-checker.function.d.ts +2 -0
- package/lib/form-validators/util/reset-form.d.ts +21 -0
- package/lib/form-validators/util/sanitizers.d.ts +3 -0
- package/lib/form-validators/util/time-checker.function.d.ts +4 -0
- package/lib/form-validators/util/type.d.ts +3 -0
- package/lib/form-validators/util/validator-value-checker.d.ts +5 -0
- package/lib/form-validators/validators-extension/allOf-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/alpha-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/alphaNumeric-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/and-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/ascii-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/base-validator.function.d.ts +3 -0
- package/lib/form-validators/validators-extension/choice-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/compare-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/compose-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/contains-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/credit-card-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/cusip-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/custom-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/dataUri-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/date-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/different-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/digit-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/email-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/endsWith-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/even-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/extension-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/factor-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/file-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/fileSize-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/greater-than-equal-to-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/greater-than-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/grid-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/hexcolor-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/iban-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/image-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/index.d.ts +67 -0
- package/lib/form-validators/validators-extension/ip-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/json-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/latLong-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/latitude-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/leapYear-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/less-than-equal-to-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/less-than-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/longitude-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/lowercase-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/mac-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/mask-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/maxDate-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/maxLength-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/maxNumber-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/maxTime-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/minDate-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/minLength-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/minNumber-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/minTime-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/noneOf-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/not-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/notEmpty-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/numeric-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/odd-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/oneOf-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/or-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/password-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/pattern-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/port-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/primeNumber-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/range-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/required-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/requiredTrue-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/rxweb-validators.d.ts +107 -0
- package/lib/form-validators/validators-extension/startsWith-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/time-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-extension/unique-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/uppercase-validator.extension.d.ts +3 -0
- package/lib/form-validators/validators-extension/url-validator.extension.d.ts +4 -0
- package/lib/form-validators/validators-function/alpha-validation.function.d.ts +3 -0
- package/lib/form-validators/validators-function/regex-validation.function.d.ts +4 -0
- package/lib/forms/components/generic-form/generic-form.component.d.ts +91 -0
- package/lib/forms/constants/constants.d.ts +1 -0
- package/lib/forms/directives/mat-form-field-editor.directive.d.ts +82 -0
- package/lib/forms/directives/mat-form-field-readonly.directive.d.ts +16 -0
- package/lib/forms/enums/form-field-type.d.ts +17 -0
- package/lib/forms/forms.module.d.ts +39 -0
- package/lib/forms/functions/decorators.d.ts +14 -0
- package/lib/forms/functions/functions.d.ts +7 -0
- package/lib/forms/helpers/abstract-mat-form-field.d.ts +182 -0
- package/lib/forms/helpers/value-accessor-base.d.ts +92 -0
- package/lib/forms/models/form-field-definition.d.ts +39 -0
- package/lib/forms/models/form-field-group.d.ts +12 -0
- package/lib/forms/public_api.d.ts +3 -0
- package/lib/forms/validators/equal-validator.directive.d.ts +20 -0
- package/lib/forms/validators/native-element-injector.directive.d.ts +17 -0
- package/lib/forms/validators/unique-validator-directive.d.ts +36 -0
- package/lib/http/http.module.d.ts +8 -0
- package/lib/http/public_api.d.ts +1 -0
- package/lib/http/services/generic.service.d.ts +166 -0
- package/lib/layout/_layout-theme.scss +89 -0
- package/lib/layout/form-toolbar/form-toolbar.component.d.ts +23 -0
- package/lib/layout/form-toolbar-menu/form-toolbar-menu.component.d.ts +10 -0
- package/lib/layout/layout-card-over/layout-card-over.component.d.ts +31 -0
- package/lib/layout/layout-footer/layout-footer.component.d.ts +17 -0
- package/lib/layout/layout-manage-list/layout-manage-list.component.d.ts +100 -0
- package/lib/layout/layout-manage-list/layout-manage-list.directives.d.ts +61 -0
- package/lib/layout/layout-nav/layout-nav.component.d.ts +85 -0
- package/lib/layout/layout-nav-list/layout-nav-list.component.d.ts +94 -0
- package/lib/layout/layout-nav-list/layout-nav-list.directives.d.ts +25 -0
- package/lib/layout/layout-toggle.class.d.ts +37 -0
- package/lib/layout/layout.component.d.ts +56 -0
- package/lib/layout/layout.directives.d.ts +25 -0
- package/lib/layout/layout.module.d.ts +46 -0
- package/lib/layout/list-toolbar/list-toolbar.component.d.ts +19 -0
- package/lib/layout/list-toolbar-menu/list-toolbar-menu.component.d.ts +10 -0
- package/lib/layout/navigation-drawer/navigation-drawer.component.d.ts +114 -0
- package/lib/layout/public_api.d.ts +1 -0
- package/lib/media/directives/media-toggle.directive.d.ts +44 -0
- package/lib/media/media.module.d.ts +11 -0
- package/lib/media/public_api.d.ts +1 -0
- package/lib/media/services/media.service.d.ts +37 -0
- package/lib/menu/components/menu.component.d.ts +28 -0
- package/lib/menu/enums/menu-scope.d.ts +4 -0
- package/lib/menu/menu.module.d.ts +19 -0
- package/lib/menu/models/menu-item.d.ts +17 -0
- package/lib/menu/models/menu.d.ts +14 -0
- package/lib/menu/public_api.d.ts +1 -0
- package/lib/menu/services/menu-items.service.d.ts +12 -0
- package/lib/menu/services/menu.resolve.d.ts +39 -0
- package/lib/menu/services/menu.service.d.ts +12 -0
- package/lib/search/public_api.d.ts +1 -0
- package/lib/search/search.module.d.ts +15 -0
- package/lib/search/vd-search-box/vd-search-box.component.d.ts +60 -0
- package/lib/search/vd-search-input/vd-search-input.component.d.ts +57 -0
- package/lib/select/public_api.d.ts +2 -0
- package/lib/select/select.component.d.ts +233 -0
- package/lib/select/select.module.d.ts +13 -0
- package/lib/table/components/dynamic-table/dynamic-table.component.d.ts +202 -0
- package/lib/table/components/filter-clear.component.d.ts +16 -0
- package/lib/table/components/filter-date.component.d.ts +70 -0
- package/lib/table/components/filter-input.component.d.ts +94 -0
- package/lib/table/components/filter-select.component.d.ts +178 -0
- package/lib/table/directives/data-source-filter.directive.d.ts +28 -0
- package/lib/table/enums/table-column-type.d.ts +12 -0
- package/lib/table/functions/decorators.d.ts +17 -0
- package/lib/table/functions/functions.d.ts +8 -0
- package/lib/table/models/pagination.d.ts +7 -0
- package/lib/table/models/table-column.d.ts +59 -0
- package/lib/table/models/table-definition.d.ts +24 -0
- package/lib/table/models/table-menu-item.d.ts +8 -0
- package/lib/table/paginator-intl.d.ts +27 -0
- package/lib/table/public_api.d.ts +2 -0
- package/lib/table/table.data-source.d.ts +140 -0
- package/lib/table/table.module.d.ts +46 -0
- package/lib/table/table.static-data-source.d.ts +88 -0
- package/messaia-cdk.d.ts +5 -0
- package/package.json +31 -0
- package/public_api.d.ts +14 -0
- package/src/lib/layout/README.md +119 -0
- package/src/lib/layout/layout-card-over/README.md +36 -0
- package/src/lib/layout/layout-manage-list/README.md +76 -0
- package/src/lib/layout/layout-nav/README.md +40 -0
- package/src/lib/layout/layout-nav-list/README.md +85 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FIELD_CONFIG } from "../const/config-names.const";
|
|
2
|
+
import { AnnotationTypes } from "../core/validator.static";
|
|
3
|
+
import { ApplicationUtil } from '../util/app-util';
|
|
4
|
+
import { getConfigObject } from "../util/config-provider";
|
|
5
|
+
import { ObjectMaker } from "../util/object-maker";
|
|
6
|
+
import { RegexValidator } from "../util/regex-validator";
|
|
7
|
+
export function compareValidator(configModel) {
|
|
8
|
+
return (control) => {
|
|
9
|
+
let config = getConfigObject(configModel, control, FIELD_CONFIG);
|
|
10
|
+
const compareControl = ApplicationUtil.getFormControl(config.fieldName, control);
|
|
11
|
+
const controlValue = control.value;
|
|
12
|
+
const compareControlValue = (compareControl) ? compareControl.value : '';
|
|
13
|
+
if (RegexValidator.isNotBlank(controlValue) || RegexValidator.isNotBlank(compareControlValue)) {
|
|
14
|
+
if (!(compareControl && compareControl.value === controlValue))
|
|
15
|
+
return ObjectMaker.toJson(AnnotationTypes.compare, config, [controlValue, compareControlValue]);
|
|
16
|
+
}
|
|
17
|
+
return ObjectMaker.null();
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9mb3JtLXZhbGlkYXRvcnMvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL2NvbXBhcmUudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxXQUEwQjtJQUN6RCxPQUFPLENBQUMsT0FBa0IsRUFBMEIsRUFBRTtRQUNwRCxJQUFJLE1BQU0sR0FBRyxlQUFlLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNqRSxNQUFNLGNBQWMsR0FBUSxlQUFlLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEYsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNuQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6RSxJQUFJLGNBQWMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksY0FBYyxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO1lBQzdGLElBQUksQ0FBQyxDQUFDLGNBQWMsSUFBSSxjQUFjLENBQUMsS0FBSyxLQUFLLFlBQVksQ0FBQztnQkFDNUQsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztTQUNuRztRQUNELE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEZJRUxEX0NPTkZJRyB9IGZyb20gXCIuLi9jb25zdC9jb25maWctbmFtZXMuY29uc3RcIjtcclxuaW1wb3J0IHsgQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIi4uL2NvcmUvdmFsaWRhdG9yLnN0YXRpY1wiO1xyXG5pbXBvcnQgeyBDb21wYXJlQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9jb25maWcvY29tcGFyZS1jb25maWdcIjtcclxuaW1wb3J0IHsgQXBwbGljYXRpb25VdGlsIH0gZnJvbSAnLi4vdXRpbC9hcHAtdXRpbCc7XHJcbmltcG9ydCB7IGdldENvbmZpZ09iamVjdCB9IGZyb20gXCIuLi91dGlsL2NvbmZpZy1wcm92aWRlclwiO1xyXG5pbXBvcnQgeyBPYmplY3RNYWtlciB9IGZyb20gXCIuLi91dGlsL29iamVjdC1tYWtlclwiO1xyXG5pbXBvcnQgeyBSZWdleFZhbGlkYXRvciB9IGZyb20gXCIuLi91dGlsL3JlZ2V4LXZhbGlkYXRvclwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbXBhcmVWYWxpZGF0b3IoY29uZmlnTW9kZWw6IENvbXBhcmVDb25maWcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgcmV0dXJuIChjb250cm9sOiBGb3JtR3JvdXApOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcclxuICAgIGxldCBjb25maWcgPSBnZXRDb25maWdPYmplY3QoY29uZmlnTW9kZWwsIGNvbnRyb2wsIEZJRUxEX0NPTkZJRyk7XHJcbiAgICBjb25zdCBjb21wYXJlQ29udHJvbDogYW55ID0gQXBwbGljYXRpb25VdGlsLmdldEZvcm1Db250cm9sKGNvbmZpZy5maWVsZE5hbWUsIGNvbnRyb2wpO1xyXG4gICAgY29uc3QgY29udHJvbFZhbHVlID0gY29udHJvbC52YWx1ZTtcclxuICAgIGNvbnN0IGNvbXBhcmVDb250cm9sVmFsdWUgPSAoY29tcGFyZUNvbnRyb2wpID8gY29tcGFyZUNvbnRyb2wudmFsdWUgOiAnJztcclxuICAgIGlmIChSZWdleFZhbGlkYXRvci5pc05vdEJsYW5rKGNvbnRyb2xWYWx1ZSkgfHwgUmVnZXhWYWxpZGF0b3IuaXNOb3RCbGFuayhjb21wYXJlQ29udHJvbFZhbHVlKSkge1xyXG4gICAgICBpZiAoIShjb21wYXJlQ29udHJvbCAmJiBjb21wYXJlQ29udHJvbC52YWx1ZSA9PT0gY29udHJvbFZhbHVlKSlcclxuICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIudG9Kc29uKEFubm90YXRpb25UeXBlcy5jb21wYXJlLCBjb25maWcsIFtjb250cm9sVmFsdWUsIGNvbXBhcmVDb250cm9sVmFsdWVdKTtcclxuICAgIH1cclxuICAgIHJldHVybiBPYmplY3RNYWtlci5udWxsKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AnnotationTypes } from "../core/validator.static";
|
|
2
|
+
import { getConfigObject } from "../util/config-provider";
|
|
3
|
+
import { FormProvider } from '../util/form-provider';
|
|
4
|
+
import { ObjectMaker } from "../util/object-maker";
|
|
5
|
+
export function composeValidator(configModel) {
|
|
6
|
+
return (control) => {
|
|
7
|
+
let config = getConfigObject(configModel, control);
|
|
8
|
+
if (FormProvider.ProcessRule(control, config)) {
|
|
9
|
+
if (config.validators) {
|
|
10
|
+
let result = undefined;
|
|
11
|
+
for (let validator of config.validators) {
|
|
12
|
+
result = validator(control);
|
|
13
|
+
if (result)
|
|
14
|
+
break;
|
|
15
|
+
}
|
|
16
|
+
if (result)
|
|
17
|
+
return (config.messageKey || config.message) ? ObjectMaker.toJson(config.messageKey || AnnotationTypes.compose, config, [control.value]) : result;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return ObjectMaker.null();
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9mb3JtLXZhbGlkYXRvcnMvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL2NvbXBvc2UudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsV0FBMEI7SUFDekQsT0FBTyxDQUFDLE9BQXdCLEVBQTBCLEVBQUU7UUFDMUQsSUFBSSxNQUFNLEdBQUcsZUFBZSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRCxJQUFJLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQzdDLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRTtnQkFDckIsSUFBSSxNQUFNLEdBQUcsU0FBUyxDQUFDO2dCQUN2QixLQUFLLElBQUksU0FBUyxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUU7b0JBQ3ZDLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzVCLElBQUksTUFBTTt3QkFDUixNQUFNO2lCQUNUO2dCQUNELElBQUksTUFBTTtvQkFDUixPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7YUFDcko7U0FDRjtRQUFDLE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEFubm90YXRpb25UeXBlcyB9IGZyb20gXCIuLi9jb3JlL3ZhbGlkYXRvci5zdGF0aWNcIjtcclxuaW1wb3J0IHsgQ29tcG9zZUNvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvY29uZmlnL2NvbXBvc2UtY29uZmlnXCI7XHJcbmltcG9ydCB7IGdldENvbmZpZ09iamVjdCB9IGZyb20gXCIuLi91dGlsL2NvbmZpZy1wcm92aWRlclwiO1xyXG5pbXBvcnQgeyBGb3JtUHJvdmlkZXIgfSBmcm9tICcuLi91dGlsL2Zvcm0tcHJvdmlkZXInO1xyXG5pbXBvcnQgeyBPYmplY3RNYWtlciB9IGZyb20gXCIuLi91dGlsL29iamVjdC1tYWtlclwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbXBvc2VWYWxpZGF0b3IoY29uZmlnTW9kZWw6IENvbXBvc2VDb25maWcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcclxuICAgIGxldCBjb25maWcgPSBnZXRDb25maWdPYmplY3QoY29uZmlnTW9kZWwsIGNvbnRyb2wpO1xyXG4gICAgaWYgKEZvcm1Qcm92aWRlci5Qcm9jZXNzUnVsZShjb250cm9sLCBjb25maWcpKSB7XHJcbiAgICAgIGlmIChjb25maWcudmFsaWRhdG9ycykge1xyXG4gICAgICAgIGxldCByZXN1bHQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgZm9yIChsZXQgdmFsaWRhdG9yIG9mIGNvbmZpZy52YWxpZGF0b3JzKSB7XHJcbiAgICAgICAgICByZXN1bHQgPSB2YWxpZGF0b3IoY29udHJvbCk7XHJcbiAgICAgICAgICBpZiAocmVzdWx0KVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHJlc3VsdClcclxuICAgICAgICAgIHJldHVybiAoY29uZmlnLm1lc3NhZ2VLZXkgfHwgY29uZmlnLm1lc3NhZ2UpID8gT2JqZWN0TWFrZXIudG9Kc29uKGNvbmZpZy5tZXNzYWdlS2V5IHx8IEFubm90YXRpb25UeXBlcy5jb21wb3NlLCBjb25maWcsIFtjb250cm9sLnZhbHVlXSkgOiByZXN1bHQ7XHJcbiAgICAgIH1cclxuICAgIH0gcmV0dXJuIE9iamVjdE1ha2VyLm51bGwoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ApplicationUtil } from "../util/app-util";
|
|
2
|
+
import { FormProvider } from "../util/form-provider";
|
|
3
|
+
import { ObjectMaker } from "../util/object-maker";
|
|
4
|
+
const DISABLED_EXPRESSION = "disableExpression";
|
|
5
|
+
export function conditionalChangeValidator(conditionalValidationProps) {
|
|
6
|
+
var timeOuts = [];
|
|
7
|
+
var oldValue = undefined;
|
|
8
|
+
var setTimeOut = (control, config) => {
|
|
9
|
+
if (control[DISABLED_EXPRESSION])
|
|
10
|
+
runDisabledExpression(control, config);
|
|
11
|
+
var timeOut = setTimeout(t => {
|
|
12
|
+
clearTimeout(timeOut);
|
|
13
|
+
control.updateValueAndValidity({ onlySelf: true });
|
|
14
|
+
}, 100);
|
|
15
|
+
};
|
|
16
|
+
return (control) => {
|
|
17
|
+
let value = control.value;
|
|
18
|
+
if (control.parent && oldValue != value) {
|
|
19
|
+
const rootFormGroup = ApplicationUtil.getRootFormGroup(control);
|
|
20
|
+
const parentFormGroup = control.parent;
|
|
21
|
+
oldValue = value;
|
|
22
|
+
timeOuts = [];
|
|
23
|
+
let controlName = ApplicationUtil.getFormControlName(control);
|
|
24
|
+
let disabledConfig = { [controlName]: value };
|
|
25
|
+
conditionalValidationProps.forEach(t => {
|
|
26
|
+
let a = control;
|
|
27
|
+
if (t.indexOf("[]") != -1) {
|
|
28
|
+
var splitText = t.split("[]");
|
|
29
|
+
var formArray = rootFormGroup.get([splitText[0]]);
|
|
30
|
+
if (formArray)
|
|
31
|
+
formArray.controls.forEach(formGroup => {
|
|
32
|
+
var abstractControl = formGroup.get(splitText[1]);
|
|
33
|
+
if (abstractControl) {
|
|
34
|
+
setTimeOut(abstractControl, disabledConfig);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
let splitText = t.split('.');
|
|
40
|
+
if (splitText.length > 1) {
|
|
41
|
+
var control = null;
|
|
42
|
+
t.split('.').forEach((name, index) => { control = (index == 0) ? rootFormGroup.controls[name] : control.controls[name]; });
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
control = parentFormGroup.controls[t];
|
|
46
|
+
}
|
|
47
|
+
if (control) {
|
|
48
|
+
setTimeOut(control, disabledConfig);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return ObjectMaker.null();
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function runDisabledExpression(control, config) {
|
|
57
|
+
let isDisabled = FormProvider.ProcessRule(control, { conditionalExpression: control[DISABLED_EXPRESSION], disableConfig: config });
|
|
58
|
+
if (isDisabled && !control.disabled)
|
|
59
|
+
control.disable();
|
|
60
|
+
else if (control.disabled)
|
|
61
|
+
control.enable();
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uYWwtY2hhbmdlLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9yZWFjdGl2ZS1mb3JtLXZhbGlkYXRvcnMvY29uZGl0aW9uYWwtY2hhbmdlLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxNQUFNLG1CQUFtQixHQUFXLG1CQUFtQixDQUFDO0FBQ3hELE1BQU0sVUFBVSwwQkFBMEIsQ0FBQywwQkFBb0M7SUFDM0UsSUFBSSxRQUFRLEdBQWEsRUFBRSxDQUFDO0lBQzVCLElBQUksUUFBUSxHQUFXLFNBQVMsQ0FBQztJQUNqQyxJQUFJLFVBQVUsR0FBRyxDQUFDLE9BQXdCLEVBQUUsTUFBVyxFQUFFLEVBQUU7UUFDdkQsSUFBSSxPQUFPLENBQUMsbUJBQW1CLENBQUM7WUFDNUIscUJBQXFCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLElBQUksT0FBTyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN6QixZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsT0FBTyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFDdEQsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQ1gsQ0FBQyxDQUFBO0lBQ0QsT0FBTyxDQUFDLE9BQXdCLEVBQTBCLEVBQUU7UUFDeEQsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksUUFBUSxJQUFJLEtBQUssRUFBRTtZQUNyQyxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEUsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUN2QyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ2pCLFFBQVEsR0FBRyxFQUFFLENBQUM7WUFDZCxJQUFJLFdBQVcsR0FBRyxlQUFlLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUQsSUFBSSxjQUFjLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQzlDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO2dCQUNoQixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7b0JBQ3ZCLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzlCLElBQUksU0FBUyxHQUFjLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUM3RCxJQUFJLFNBQVM7d0JBQ1QsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7NEJBQ25DLElBQUksZUFBZSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQ2xELElBQUksZUFBZSxFQUFFO2dDQUNqQixVQUFVLENBQUMsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDOzZCQUMvQzt3QkFDTCxDQUFDLENBQUMsQ0FBQTtpQkFDVDtxQkFBTTtvQkFFSCxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUM3QixJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dCQUN0QixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7d0JBQ25CLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEdBQUcsT0FBTyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7cUJBQzdIO3lCQUNJO3dCQUNELE9BQU8sR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUN6QztvQkFFRCxJQUFJLE9BQU8sRUFBRTt3QkFFVCxVQUFVLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO3FCQUN2QztpQkFDSjtZQUNMLENBQUMsQ0FBQyxDQUFBO1NBQ0w7UUFDRCxPQUFPLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDLENBQUE7QUFDTCxDQUFDO0FBQ0QsU0FBUyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsTUFBTTtJQUMxQyxJQUFJLFVBQVUsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxFQUFFLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ25JLElBQUksVUFBVSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7UUFDL0IsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2pCLElBQUksT0FBTyxDQUFDLFFBQVE7UUFDckIsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgVmFsaWRhdG9yRm4gfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQXBwbGljYXRpb25VdGlsIH0gZnJvbSBcIi4uL3V0aWwvYXBwLXV0aWxcIjtcclxuaW1wb3J0IHsgRm9ybVByb3ZpZGVyIH0gZnJvbSBcIi4uL3V0aWwvZm9ybS1wcm92aWRlclwiO1xyXG5pbXBvcnQgeyBPYmplY3RNYWtlciB9IGZyb20gXCIuLi91dGlsL29iamVjdC1tYWtlclwiO1xyXG5cclxuY29uc3QgRElTQUJMRURfRVhQUkVTU0lPTjogc3RyaW5nID0gXCJkaXNhYmxlRXhwcmVzc2lvblwiO1xyXG5leHBvcnQgZnVuY3Rpb24gY29uZGl0aW9uYWxDaGFuZ2VWYWxpZGF0b3IoY29uZGl0aW9uYWxWYWxpZGF0aW9uUHJvcHM6IHN0cmluZ1tdKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgdmFyIHRpbWVPdXRzOiBudW1iZXJbXSA9IFtdO1xyXG4gICAgdmFyIG9sZFZhbHVlOiBzdHJpbmcgPSB1bmRlZmluZWQ7XHJcbiAgICB2YXIgc2V0VGltZU91dCA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIGNvbmZpZzogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGNvbnRyb2xbRElTQUJMRURfRVhQUkVTU0lPTl0pXHJcbiAgICAgICAgICAgIHJ1bkRpc2FibGVkRXhwcmVzc2lvbihjb250cm9sLCBjb25maWcpO1xyXG4gICAgICAgIHZhciB0aW1lT3V0ID0gc2V0VGltZW91dCh0ID0+IHtcclxuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVPdXQpO1xyXG4gICAgICAgICAgICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBvbmx5U2VsZjogdHJ1ZSB9KVxyXG4gICAgICAgIH0sIDEwMClcclxuICAgIH1cclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XHJcbiAgICAgICAgbGV0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcclxuICAgICAgICBpZiAoY29udHJvbC5wYXJlbnQgJiYgb2xkVmFsdWUgIT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgY29uc3Qgcm9vdEZvcm1Hcm91cCA9IEFwcGxpY2F0aW9uVXRpbC5nZXRSb290Rm9ybUdyb3VwKGNvbnRyb2wpO1xyXG4gICAgICAgICAgICBjb25zdCBwYXJlbnRGb3JtR3JvdXAgPSBjb250cm9sLnBhcmVudDtcclxuICAgICAgICAgICAgb2xkVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGltZU91dHMgPSBbXTtcclxuICAgICAgICAgICAgbGV0IGNvbnRyb2xOYW1lID0gQXBwbGljYXRpb25VdGlsLmdldEZvcm1Db250cm9sTmFtZShjb250cm9sKTtcclxuICAgICAgICAgICAgbGV0IGRpc2FibGVkQ29uZmlnID0geyBbY29udHJvbE5hbWVdOiB2YWx1ZSB9O1xyXG4gICAgICAgICAgICBjb25kaXRpb25hbFZhbGlkYXRpb25Qcm9wcy5mb3JFYWNoKHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IGEgPSBjb250cm9sO1xyXG4gICAgICAgICAgICAgICAgaWYgKHQuaW5kZXhPZihcIltdXCIpICE9IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNwbGl0VGV4dCA9IHQuc3BsaXQoXCJbXVwiKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgZm9ybUFycmF5ID0gPEZvcm1BcnJheT5yb290Rm9ybUdyb3VwLmdldChbc3BsaXRUZXh0WzBdXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZvcm1BcnJheSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUFycmF5LmNvbnRyb2xzLmZvckVhY2goZm9ybUdyb3VwID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhYnN0cmFjdENvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KHNwbGl0VGV4dFsxXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWJzdHJhY3RDb250cm9sKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZU91dChhYnN0cmFjdENvbnRyb2wsIGRpc2FibGVkQ29uZmlnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBzcGxpdFRleHQgPSB0LnNwbGl0KCcuJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNwbGl0VGV4dC5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjb250cm9sID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdC5zcGxpdCgnLicpLmZvckVhY2goKG5hbWUsIGluZGV4KSA9PiB7IGNvbnRyb2wgPSAoaW5kZXggPT0gMCkgPyByb290Rm9ybUdyb3VwLmNvbnRyb2xzW25hbWVdIDogY29udHJvbC5jb250cm9sc1tuYW1lXTsgfSlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2wgPSBwYXJlbnRGb3JtR3JvdXAuY29udHJvbHNbdF07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAoY29udHJvbCkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZU91dChjb250cm9sLCBkaXNhYmxlZENvbmZpZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIubnVsbCgpO1xyXG4gICAgfVxyXG59XHJcbmZ1bmN0aW9uIHJ1bkRpc2FibGVkRXhwcmVzc2lvbihjb250cm9sLCBjb25maWcpIHtcclxuICAgIGxldCBpc0Rpc2FibGVkID0gRm9ybVByb3ZpZGVyLlByb2Nlc3NSdWxlKGNvbnRyb2wsIHsgY29uZGl0aW9uYWxFeHByZXNzaW9uOiBjb250cm9sW0RJU0FCTEVEX0VYUFJFU1NJT05dLCBkaXNhYmxlQ29uZmlnOiBjb25maWcgfSk7XHJcbiAgICBpZiAoaXNEaXNhYmxlZCAmJiAhY29udHJvbC5kaXNhYmxlZClcclxuICAgICAgICBjb250cm9sLmRpc2FibGUoKTtcclxuICAgIGVsc2UgaWYgKGNvbnRyb2wuZGlzYWJsZWQpXHJcbiAgICAgICAgY29udHJvbC5lbmFibGUoKTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AnnotationTypes } from "../core/validator.static";
|
|
2
|
+
import { getConfigObject } from "../util/config-provider";
|
|
3
|
+
import { ObjectMaker } from "../util/object-maker";
|
|
4
|
+
import { ValidatorValueChecker } from "../util/validator-value-checker";
|
|
5
|
+
export function containsValidator(configModel) {
|
|
6
|
+
return (control) => {
|
|
7
|
+
let config = getConfigObject(configModel, control);
|
|
8
|
+
if (ValidatorValueChecker.pass(control, config)) {
|
|
9
|
+
if (control.value.indexOf(config.value) == -1)
|
|
10
|
+
return ObjectMaker.toJson(AnnotationTypes.contains, config, [control.value, config.value]);
|
|
11
|
+
}
|
|
12
|
+
return ObjectMaker.null();
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbnMudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybS12YWxpZGF0b3JzL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy9jb250YWlucy52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFeEUsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFdBQTBCO0lBQzFELE9BQU8sQ0FBQyxPQUF3QixFQUEwQixFQUFFO1FBQzFELElBQUksTUFBTSxHQUFHLGVBQWUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbkQsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQy9DLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDM0MsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUM5RjtRQUNELE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEFubm90YXRpb25UeXBlcyB9IGZyb20gXCIuLi9jb3JlL3ZhbGlkYXRvci5zdGF0aWNcIjtcclxuaW1wb3J0IHsgRGVmYXVsdENvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvY29uZmlnL2RlZmF1bHQtY29uZmlnXCI7XHJcbmltcG9ydCB7IGdldENvbmZpZ09iamVjdCB9IGZyb20gXCIuLi91dGlsL2NvbmZpZy1wcm92aWRlclwiO1xyXG5pbXBvcnQgeyBPYmplY3RNYWtlciB9IGZyb20gXCIuLi91dGlsL29iamVjdC1tYWtlclwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JWYWx1ZUNoZWNrZXIgfSBmcm9tIFwiLi4vdXRpbC92YWxpZGF0b3ItdmFsdWUtY2hlY2tlclwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRhaW5zVmFsaWRhdG9yKGNvbmZpZ01vZGVsOiBEZWZhdWx0Q29uZmlnKTogVmFsaWRhdG9yRm4ge1xyXG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XHJcbiAgICBsZXQgY29uZmlnID0gZ2V0Q29uZmlnT2JqZWN0KGNvbmZpZ01vZGVsLCBjb250cm9sKTtcclxuICAgIGlmIChWYWxpZGF0b3JWYWx1ZUNoZWNrZXIucGFzcyhjb250cm9sLCBjb25maWcpKSB7XHJcbiAgICAgIGlmIChjb250cm9sLnZhbHVlLmluZGV4T2YoY29uZmlnLnZhbHVlKSA9PSAtMSlcclxuICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIudG9Kc29uKEFubm90YXRpb25UeXBlcy5jb250YWlucywgY29uZmlnLCBbY29udHJvbC52YWx1ZSwgY29uZmlnLnZhbHVlXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gT2JqZWN0TWFrZXIubnVsbCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { calculate } from '../algorithm/luhn-algorithm';
|
|
2
|
+
import { AnnotationTypes } from "../core/validator.static";
|
|
3
|
+
import { checkLength } from '../util/check-length';
|
|
4
|
+
import { getConfigObject } from "../util/config-provider";
|
|
5
|
+
import { FormProvider } from '../util/form-provider';
|
|
6
|
+
import { ObjectMaker } from "../util/object-maker";
|
|
7
|
+
import { RegexValidator } from "../util/regex-validator";
|
|
8
|
+
export function creditCardValidator(configModel) {
|
|
9
|
+
let cardDigits = {
|
|
10
|
+
AmericanExpress: [15],
|
|
11
|
+
DinersClub: [14, 16, 19],
|
|
12
|
+
Discover: [16, 19],
|
|
13
|
+
JCB: [16, 19],
|
|
14
|
+
Maestro: [12, 16, 19],
|
|
15
|
+
MasterCard: [16],
|
|
16
|
+
Visa: [13, 16, 19]
|
|
17
|
+
};
|
|
18
|
+
function validate(creditCardNumber) {
|
|
19
|
+
var digit = parseInt(creditCardNumber.substring(creditCardNumber.length - 1, creditCardNumber.length));
|
|
20
|
+
return calculate(creditCardNumber.substring(0, creditCardNumber.length - 1)) == parseInt(String(digit)) ? !0 : !1;
|
|
21
|
+
}
|
|
22
|
+
function getCardProviderName(cardNumber) {
|
|
23
|
+
var cardProviderName = "";
|
|
24
|
+
return /^(5018|5020|5038|5612|5893|6304|6759|6761|6762|6763|0604|6390)\d+$/.test(cardNumber) ? cardProviderName = "Maestro" : /^5[1-5]/.test(cardNumber) ? cardProviderName = "MasterCard" : /^4/.test(cardNumber) ? cardProviderName = "Visa" : /^3[47]/.test(cardNumber) ? cardProviderName = "AmericanExpress" : /^(?:2131|1800|35)/.test(cardNumber) ? cardProviderName = "JCB" : /^3(?:0[0-5]|[68])/.test(cardNumber) ? cardProviderName = "DinersClub" : /^6(?:011|5)/.test(cardNumber) && (cardProviderName = "Discover"), cardProviderName;
|
|
25
|
+
}
|
|
26
|
+
return (control) => {
|
|
27
|
+
const controlValue = control.value;
|
|
28
|
+
let config = getConfigObject(configModel, control);
|
|
29
|
+
const parentObject = (control.parent) ? control.parent.value : undefined;
|
|
30
|
+
if (FormProvider.ProcessRule(control, config)) {
|
|
31
|
+
if (RegexValidator.isNotBlank(controlValue)) {
|
|
32
|
+
let isValid = false;
|
|
33
|
+
let cardTypes = config.fieldName && parentObject[config.fieldName] ? [parentObject[config.fieldName]] : config.creditCardTypes;
|
|
34
|
+
let cardType = '';
|
|
35
|
+
for (let creditCardType of cardTypes) {
|
|
36
|
+
isValid = checkLength(controlValue.length, cardDigits[creditCardType]) && getCardProviderName(controlValue) == creditCardType && validate(controlValue);
|
|
37
|
+
cardType = creditCardType;
|
|
38
|
+
if (isValid)
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
if (!isValid)
|
|
42
|
+
return ObjectMaker.toJson(AnnotationTypes.creditCard, config, [controlValue, cardType]);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return ObjectMaker.null();
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LWNhcmQudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybS12YWxpZGF0b3JzL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy9jcmVkaXQtY2FyZC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3pELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxXQUE2QjtJQUM3RCxJQUFJLFVBQVUsR0FBZ0M7UUFDMUMsZUFBZSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3JCLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ3hCLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDbEIsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNiLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ3JCLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNoQixJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztLQUNyQixDQUFBO0lBQ0QsU0FBUyxRQUFRLENBQUMsZ0JBQXdCO1FBQ3RDLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3ZHLE9BQU8sU0FBUyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDckgsQ0FBQztJQUVELFNBQVMsbUJBQW1CLENBQUMsVUFBa0I7UUFDM0MsSUFBSSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDMUIsT0FBTyxvRUFBb0UsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztJQUN2aEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUF3QixFQUEwQixFQUFFO1FBQ3hELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDbkMsSUFBSSxNQUFNLEdBQUcsZUFBZSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRCxNQUFNLFlBQVksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUN6RSxJQUFJLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQzNDLElBQUksY0FBYyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDekMsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNwQixJQUFJLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFBO2dCQUM5SCxJQUFJLFFBQVEsR0FBVyxFQUFFLENBQUM7Z0JBQzFCLEtBQUssSUFBSSxjQUFjLElBQUksU0FBUyxFQUFFO29CQUNsQyxPQUFPLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksbUJBQW1CLENBQUMsWUFBWSxDQUFDLElBQUksY0FBYyxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDeEosUUFBUSxHQUFHLGNBQWMsQ0FBQztvQkFDMUIsSUFBSSxPQUFPO3dCQUNQLE1BQU07aUJBQ2I7Z0JBQ0QsSUFBSSxDQUFDLE9BQU87b0JBQ1IsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUE7YUFDOUY7U0FDSjtRQUNELE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBRTlCLENBQUMsQ0FBQTtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IGNhbGN1bGF0ZSB9IGZyb20gJy4uL2FsZ29yaXRobS9sdWhuLWFsZ29yaXRobSc7XHJcbmltcG9ydCB7IEFubm90YXRpb25UeXBlcyB9IGZyb20gXCIuLi9jb3JlL3ZhbGlkYXRvci5zdGF0aWNcIjtcclxuaW1wb3J0IHsgQ3JlZGl0Q2FyZENvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvY29uZmlnL2NyZWRpdC1jYXJkLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBjaGVja0xlbmd0aCB9IGZyb20gJy4uL3V0aWwvY2hlY2stbGVuZ3RoJztcclxuaW1wb3J0IHsgZ2V0Q29uZmlnT2JqZWN0IH0gZnJvbSBcIi4uL3V0aWwvY29uZmlnLXByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IEZvcm1Qcm92aWRlciB9IGZyb20gJy4uL3V0aWwvZm9ybS1wcm92aWRlcic7XHJcbmltcG9ydCB7IE9iamVjdE1ha2VyIH0gZnJvbSBcIi4uL3V0aWwvb2JqZWN0LW1ha2VyXCI7XHJcbmltcG9ydCB7IFJlZ2V4VmFsaWRhdG9yIH0gZnJvbSBcIi4uL3V0aWwvcmVnZXgtdmFsaWRhdG9yXCI7XHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWRpdENhcmRWYWxpZGF0b3IoY29uZmlnTW9kZWw6IENyZWRpdENhcmRDb25maWcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICBsZXQgY2FyZERpZ2l0czogeyBba2V5OiBzdHJpbmddOiBudW1iZXJbXSB9ID0ge1xyXG4gICAgICAgIEFtZXJpY2FuRXhwcmVzczogWzE1XSxcclxuICAgICAgICBEaW5lcnNDbHViOiBbMTQsIDE2LCAxOV0sXHJcbiAgICAgICAgRGlzY292ZXI6IFsxNiwgMTldLFxyXG4gICAgICAgIEpDQjogWzE2LCAxOV0sXHJcbiAgICAgICAgTWFlc3RybzogWzEyLCAxNiwgMTldLFxyXG4gICAgICAgIE1hc3RlckNhcmQ6IFsxNl0sXHJcbiAgICAgICAgVmlzYTogWzEzLCAxNiwgMTldXHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiB2YWxpZGF0ZShjcmVkaXRDYXJkTnVtYmVyOiBzdHJpbmcpIHtcclxuICAgICAgICB2YXIgZGlnaXQgPSBwYXJzZUludChjcmVkaXRDYXJkTnVtYmVyLnN1YnN0cmluZyhjcmVkaXRDYXJkTnVtYmVyLmxlbmd0aCAtIDEsIGNyZWRpdENhcmROdW1iZXIubGVuZ3RoKSk7XHJcbiAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZShjcmVkaXRDYXJkTnVtYmVyLnN1YnN0cmluZygwLCBjcmVkaXRDYXJkTnVtYmVyLmxlbmd0aCAtIDEpKSA9PSBwYXJzZUludChTdHJpbmcoZGlnaXQpKSA/ICEwIDogITFcclxuICAgIH1cclxuXHJcbiAgICBmdW5jdGlvbiBnZXRDYXJkUHJvdmlkZXJOYW1lKGNhcmROdW1iZXI6IHN0cmluZykge1xyXG4gICAgICAgIHZhciBjYXJkUHJvdmlkZXJOYW1lID0gXCJcIjtcclxuICAgICAgICByZXR1cm4gL14oNTAxOHw1MDIwfDUwMzh8NTYxMnw1ODkzfDYzMDR8Njc1OXw2NzYxfDY3NjJ8Njc2M3wwNjA0fDYzOTApXFxkKyQvLnRlc3QoY2FyZE51bWJlcikgPyBjYXJkUHJvdmlkZXJOYW1lID0gXCJNYWVzdHJvXCIgOiAvXjVbMS01XS8udGVzdChjYXJkTnVtYmVyKSA/IGNhcmRQcm92aWRlck5hbWUgPSBcIk1hc3RlckNhcmRcIiA6IC9eNC8udGVzdChjYXJkTnVtYmVyKSA/IGNhcmRQcm92aWRlck5hbWUgPSBcIlZpc2FcIiA6IC9eM1s0N10vLnRlc3QoY2FyZE51bWJlcikgPyBjYXJkUHJvdmlkZXJOYW1lID0gXCJBbWVyaWNhbkV4cHJlc3NcIiA6IC9eKD86MjEzMXwxODAwfDM1KS8udGVzdChjYXJkTnVtYmVyKSA/IGNhcmRQcm92aWRlck5hbWUgPSBcIkpDQlwiIDogL14zKD86MFswLTVdfFs2OF0pLy50ZXN0KGNhcmROdW1iZXIpID8gY2FyZFByb3ZpZGVyTmFtZSA9IFwiRGluZXJzQ2x1YlwiIDogL142KD86MDExfDUpLy50ZXN0KGNhcmROdW1iZXIpICYmIChjYXJkUHJvdmlkZXJOYW1lID0gXCJEaXNjb3ZlclwiKSwgY2FyZFByb3ZpZGVyTmFtZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgbGV0IGNvbmZpZyA9IGdldENvbmZpZ09iamVjdChjb25maWdNb2RlbCwgY29udHJvbCk7XHJcbiAgICAgICAgY29uc3QgcGFyZW50T2JqZWN0ID0gKGNvbnRyb2wucGFyZW50KSA/IGNvbnRyb2wucGFyZW50LnZhbHVlIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIGlmIChGb3JtUHJvdmlkZXIuUHJvY2Vzc1J1bGUoY29udHJvbCwgY29uZmlnKSkge1xyXG4gICAgICAgICAgICBpZiAoUmVnZXhWYWxpZGF0b3IuaXNOb3RCbGFuayhjb250cm9sVmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgaXNWYWxpZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgbGV0IGNhcmRUeXBlcyA9IGNvbmZpZy5maWVsZE5hbWUgJiYgcGFyZW50T2JqZWN0W2NvbmZpZy5maWVsZE5hbWVdID8gW3BhcmVudE9iamVjdFtjb25maWcuZmllbGROYW1lXV0gOiBjb25maWcuY3JlZGl0Q2FyZFR5cGVzXHJcbiAgICAgICAgICAgICAgICBsZXQgY2FyZFR5cGU6IHN0cmluZyA9ICcnO1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgY3JlZGl0Q2FyZFR5cGUgb2YgY2FyZFR5cGVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXNWYWxpZCA9IGNoZWNrTGVuZ3RoKGNvbnRyb2xWYWx1ZS5sZW5ndGgsIGNhcmREaWdpdHNbY3JlZGl0Q2FyZFR5cGVdKSAmJiBnZXRDYXJkUHJvdmlkZXJOYW1lKGNvbnRyb2xWYWx1ZSkgPT0gY3JlZGl0Q2FyZFR5cGUgJiYgdmFsaWRhdGUoY29udHJvbFZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICBjYXJkVHlwZSA9IGNyZWRpdENhcmRUeXBlO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpc1ZhbGlkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghaXNWYWxpZClcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIudG9Kc29uKEFubm90YXRpb25UeXBlcy5jcmVkaXRDYXJkLCBjb25maWcsIFtjb250cm9sVmFsdWUsIGNhcmRUeXBlXSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIubnVsbCgpO1xyXG5cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { AnnotationTypes } from "../core/validator.static";
|
|
2
|
+
import { getConfigObject } from "../util/config-provider";
|
|
3
|
+
import { ObjectMaker } from "../util/object-maker";
|
|
4
|
+
import { RegExRule } from "../util/regex-rules";
|
|
5
|
+
import { RegexValidator } from "../util/regex-validator";
|
|
6
|
+
import { ValidatorValueChecker } from "../util/validator-value-checker";
|
|
7
|
+
export function cusipValidator(configModel) {
|
|
8
|
+
return (control) => {
|
|
9
|
+
let config = getConfigObject(configModel, control);
|
|
10
|
+
if (ValidatorValueChecker.pass(control, config)) {
|
|
11
|
+
var controlValue = control.value.toUpperCase();
|
|
12
|
+
let isValid = RegexValidator.isValid(controlValue, RegExRule.cusip);
|
|
13
|
+
if (isValid) {
|
|
14
|
+
let numericValues = controlValue.split("").map((value) => {
|
|
15
|
+
var charCode = value.charCodeAt(0);
|
|
16
|
+
return charCode >= "A".charCodeAt(0) && charCode <= "Z".charCodeAt(0) ? charCode - "A".charCodeAt(0) + 10 : value;
|
|
17
|
+
});
|
|
18
|
+
let totalCount = 0;
|
|
19
|
+
for (var i = 0; i < numericValues.length - 1; i++) {
|
|
20
|
+
var numericValue = parseInt(numericValues[i], 10);
|
|
21
|
+
if (i % 2 !== 0) {
|
|
22
|
+
numericValue *= 2;
|
|
23
|
+
}
|
|
24
|
+
if (numericValue > 9) {
|
|
25
|
+
numericValue -= 9;
|
|
26
|
+
}
|
|
27
|
+
totalCount += numericValue;
|
|
28
|
+
}
|
|
29
|
+
totalCount = (10 - (totalCount % 10)) % 10;
|
|
30
|
+
isValid = totalCount == numericValues[numericValues.length - 1];
|
|
31
|
+
}
|
|
32
|
+
if (!isValid)
|
|
33
|
+
return ObjectMaker.toJson(AnnotationTypes.cusip, config, [control.value]);
|
|
34
|
+
}
|
|
35
|
+
return ObjectMaker.null();
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzaXAudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybS12YWxpZGF0b3JzL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy9jdXNpcC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUd4RSxNQUFNLFVBQVUsY0FBYyxDQUFDLFdBQXVCO0lBQ3BELE9BQU8sQ0FBQyxPQUF3QixFQUEwQixFQUFFO1FBQzFELElBQUksTUFBTSxHQUFHLGVBQWUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbkQsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQy9DLElBQUksWUFBWSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDL0MsSUFBSSxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ25FLElBQUksT0FBTyxFQUFFO2dCQUVYLElBQUksYUFBYSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ3ZELElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ25DLE9BQU8sUUFBUSxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO2dCQUNuSCxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7Z0JBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDakQsSUFBSSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDbEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTt3QkFDZixZQUFZLElBQUksQ0FBQyxDQUFDO3FCQUNuQjtvQkFDRCxJQUFJLFlBQVksR0FBRyxDQUFDLEVBQUU7d0JBQ3BCLFlBQVksSUFBSSxDQUFDLENBQUM7cUJBQ25CO29CQUNELFVBQVUsSUFBSSxZQUFZLENBQUM7aUJBQzVCO2dCQUVELFVBQVUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDM0MsT0FBTyxHQUFHLFVBQVUsSUFBSSxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNqRTtZQUNELElBQUksQ0FBQyxPQUFPO2dCQUNWLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQzdFO1FBQ0QsT0FBTyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9yRm4gfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIi4uL2NvcmUvdmFsaWRhdG9yLnN0YXRpY1wiO1xyXG5pbXBvcnQgeyBCYXNlQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9jb25maWcvYmFzZS1jb25maWdcIjtcclxuaW1wb3J0IHsgZ2V0Q29uZmlnT2JqZWN0IH0gZnJvbSBcIi4uL3V0aWwvY29uZmlnLXByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IE9iamVjdE1ha2VyIH0gZnJvbSBcIi4uL3V0aWwvb2JqZWN0LW1ha2VyXCI7XHJcbmltcG9ydCB7IFJlZ0V4UnVsZSB9IGZyb20gXCIuLi91dGlsL3JlZ2V4LXJ1bGVzXCI7XHJcbmltcG9ydCB7IFJlZ2V4VmFsaWRhdG9yIH0gZnJvbSBcIi4uL3V0aWwvcmVnZXgtdmFsaWRhdG9yXCI7XHJcbmltcG9ydCB7IFZhbGlkYXRvclZhbHVlQ2hlY2tlciB9IGZyb20gXCIuLi91dGlsL3ZhbGlkYXRvci12YWx1ZS1jaGVja2VyXCI7XHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGN1c2lwVmFsaWRhdG9yKGNvbmZpZ01vZGVsOiBCYXNlQ29uZmlnKTogVmFsaWRhdG9yRm4ge1xyXG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XHJcbiAgICBsZXQgY29uZmlnID0gZ2V0Q29uZmlnT2JqZWN0KGNvbmZpZ01vZGVsLCBjb250cm9sKTtcclxuICAgIGlmIChWYWxpZGF0b3JWYWx1ZUNoZWNrZXIucGFzcyhjb250cm9sLCBjb25maWcpKSB7XHJcbiAgICAgIHZhciBjb250cm9sVmFsdWUgPSBjb250cm9sLnZhbHVlLnRvVXBwZXJDYXNlKCk7XHJcbiAgICAgIGxldCBpc1ZhbGlkID0gUmVnZXhWYWxpZGF0b3IuaXNWYWxpZChjb250cm9sVmFsdWUsIFJlZ0V4UnVsZS5jdXNpcClcclxuICAgICAgaWYgKGlzVmFsaWQpIHtcclxuXHJcbiAgICAgICAgbGV0IG51bWVyaWNWYWx1ZXMgPSBjb250cm9sVmFsdWUuc3BsaXQoXCJcIikubWFwKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgdmFyIGNoYXJDb2RlID0gdmFsdWUuY2hhckNvZGVBdCgwKTtcclxuICAgICAgICAgIHJldHVybiBjaGFyQ29kZSA+PSBcIkFcIi5jaGFyQ29kZUF0KDApICYmIGNoYXJDb2RlIDw9IFwiWlwiLmNoYXJDb2RlQXQoMCkgPyBjaGFyQ29kZSAtIFwiQVwiLmNoYXJDb2RlQXQoMCkgKyAxMCA6IHZhbHVlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgbGV0IHRvdGFsQ291bnQgPSAwO1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtZXJpY1ZhbHVlcy5sZW5ndGggLSAxOyBpKyspIHtcclxuICAgICAgICAgIHZhciBudW1lcmljVmFsdWUgPSBwYXJzZUludChudW1lcmljVmFsdWVzW2ldLCAxMCk7XHJcbiAgICAgICAgICBpZiAoaSAlIDIgIT09IDApIHtcclxuICAgICAgICAgICAgbnVtZXJpY1ZhbHVlICo9IDI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAobnVtZXJpY1ZhbHVlID4gOSkge1xyXG4gICAgICAgICAgICBudW1lcmljVmFsdWUgLT0gOTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRvdGFsQ291bnQgKz0gbnVtZXJpY1ZhbHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdG90YWxDb3VudCA9ICgxMCAtICh0b3RhbENvdW50ICUgMTApKSAlIDEwO1xyXG4gICAgICAgIGlzVmFsaWQgPSB0b3RhbENvdW50ID09IG51bWVyaWNWYWx1ZXNbbnVtZXJpY1ZhbHVlcy5sZW5ndGggLSAxXTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIWlzVmFsaWQpXHJcbiAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLnRvSnNvbihBbm5vdGF0aW9uVHlwZXMuY3VzaXAsIGNvbmZpZywgW2NvbnRyb2wudmFsdWVdKTtcclxuICAgIH1cclxuICAgIHJldHVybiBPYmplY3RNYWtlci5udWxsKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ApplicationUtil } from '../util/app-util';
|
|
2
|
+
import { getConfigObject } from "../util/config-provider";
|
|
3
|
+
import { FormProvider } from '../util/form-provider';
|
|
4
|
+
import { ObjectMaker } from "../util/object-maker";
|
|
5
|
+
export function customValidator(configModel) {
|
|
6
|
+
return (control) => {
|
|
7
|
+
let config = getConfigObject(configModel, control);
|
|
8
|
+
if (FormProvider.ProcessRule(control, config)) {
|
|
9
|
+
const formGroupValue = ApplicationUtil.getParentObjectValue(control);
|
|
10
|
+
const parentObject = (control.parent) ? control.parent.value : undefined;
|
|
11
|
+
let result = null;
|
|
12
|
+
for (let rule of config.customRules) {
|
|
13
|
+
result = rule(formGroupValue, parentObject, config.additionalValue);
|
|
14
|
+
if (result)
|
|
15
|
+
break;
|
|
16
|
+
}
|
|
17
|
+
if (result)
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
return ObjectMaker.null();
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9yZWFjdGl2ZS1mb3JtLXZhbGlkYXRvcnMvY3VzdG9tLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHbkQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxXQUF5QjtJQUN2RCxPQUFPLENBQUMsT0FBd0IsRUFBMEIsRUFBRTtRQUMxRCxJQUFJLE1BQU0sR0FBRyxlQUFlLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELElBQUksWUFBWSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEVBQUU7WUFDN0MsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JFLE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3pFLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztZQUNsQixLQUFLLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUU7Z0JBQ25DLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ3BFLElBQUksTUFBTTtvQkFDUixNQUFNO2FBQ1Q7WUFDRCxJQUFJLE1BQU07Z0JBQ1IsT0FBTyxNQUFNLENBQUM7U0FDakI7UUFBQyxPQUFPLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBDdXN0b21Db25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy9jdXN0b20tY29uZmlnXCI7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uVXRpbCB9IGZyb20gJy4uL3V0aWwvYXBwLXV0aWwnO1xyXG5pbXBvcnQgeyBnZXRDb25maWdPYmplY3QgfSBmcm9tIFwiLi4vdXRpbC9jb25maWctcHJvdmlkZXJcIjtcclxuaW1wb3J0IHsgRm9ybVByb3ZpZGVyIH0gZnJvbSAnLi4vdXRpbC9mb3JtLXByb3ZpZGVyJztcclxuaW1wb3J0IHsgT2JqZWN0TWFrZXIgfSBmcm9tIFwiLi4vdXRpbC9vYmplY3QtbWFrZXJcIjtcclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3VzdG9tVmFsaWRhdG9yKGNvbmZpZ01vZGVsOiBDdXN0b21Db25maWcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcclxuICAgIGxldCBjb25maWcgPSBnZXRDb25maWdPYmplY3QoY29uZmlnTW9kZWwsIGNvbnRyb2wpO1xyXG4gICAgaWYgKEZvcm1Qcm92aWRlci5Qcm9jZXNzUnVsZShjb250cm9sLCBjb25maWcpKSB7XHJcbiAgICAgIGNvbnN0IGZvcm1Hcm91cFZhbHVlID0gQXBwbGljYXRpb25VdGlsLmdldFBhcmVudE9iamVjdFZhbHVlKGNvbnRyb2wpO1xyXG4gICAgICBjb25zdCBwYXJlbnRPYmplY3QgPSAoY29udHJvbC5wYXJlbnQpID8gY29udHJvbC5wYXJlbnQudmFsdWUgOiB1bmRlZmluZWQ7XHJcbiAgICAgIGxldCByZXN1bHQgPSBudWxsO1xyXG4gICAgICBmb3IgKGxldCBydWxlIG9mIGNvbmZpZy5jdXN0b21SdWxlcykge1xyXG4gICAgICAgIHJlc3VsdCA9IHJ1bGUoZm9ybUdyb3VwVmFsdWUsIHBhcmVudE9iamVjdCwgY29uZmlnLmFkZGl0aW9uYWxWYWx1ZSk7XHJcbiAgICAgICAgaWYgKHJlc3VsdClcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChyZXN1bHQpXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH0gcmV0dXJuIE9iamVjdE1ha2VyLm51bGwoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AnnotationTypes } from "../core/validator.static";
|
|
2
|
+
import { RegExRule } from "../util/regex-rules";
|
|
3
|
+
import { regexValidation } from "../validators-function/regex-validation.function";
|
|
4
|
+
export function dataUriValidator(configModel) {
|
|
5
|
+
return (control) => {
|
|
6
|
+
return regexValidation(configModel, control, RegExRule.dataUri, AnnotationTypes.dataUri);
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YVVyaS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9mb3JtLXZhbGlkYXRvcnMvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL2RhdGFVcmkudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBR25GLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxXQUF1QjtJQUN0RCxPQUFPLENBQUMsT0FBd0IsRUFBMEIsRUFBRTtRQUMxRCxPQUFPLGVBQWUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzFGLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEFubm90YXRpb25UeXBlcyB9IGZyb20gXCIuLi9jb3JlL3ZhbGlkYXRvci5zdGF0aWNcIjtcclxuaW1wb3J0IHsgQmFzZUNvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvY29uZmlnL2Jhc2UtY29uZmlnXCI7XHJcbmltcG9ydCB7IFJlZ0V4UnVsZSB9IGZyb20gXCIuLi91dGlsL3JlZ2V4LXJ1bGVzXCI7XHJcbmltcG9ydCB7IHJlZ2V4VmFsaWRhdGlvbiB9IGZyb20gXCIuLi92YWxpZGF0b3JzLWZ1bmN0aW9uL3JlZ2V4LXZhbGlkYXRpb24uZnVuY3Rpb25cIjtcclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGF0YVVyaVZhbGlkYXRvcihjb25maWdNb2RlbDogQmFzZUNvbmZpZyk6IFZhbGlkYXRvckZuIHtcclxuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xyXG4gICAgcmV0dXJuIHJlZ2V4VmFsaWRhdGlvbihjb25maWdNb2RlbCwgY29udHJvbCwgUmVnRXhSdWxlLmRhdGFVcmksIEFubm90YXRpb25UeXBlcy5kYXRhVXJpKVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AnnotationTypes } from "../core/validator.static";
|
|
2
|
+
import { validateDate } from "../util/date-checker.function";
|
|
3
|
+
export function dateValidator(configModel) {
|
|
4
|
+
return (control) => {
|
|
5
|
+
return validateDate(control, configModel, AnnotationTypes.date);
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9mb3JtLXZhbGlkYXRvcnMvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL2RhdGUudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsTUFBTSxVQUFVLGFBQWEsQ0FBQyxXQUF1QjtJQUNuRCxPQUFPLENBQUMsT0FBd0IsRUFBMEIsRUFBRTtRQUMxRCxPQUFPLFlBQVksQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBBbm5vdGF0aW9uVHlwZXMgfSBmcm9tIFwiLi4vY29yZS92YWxpZGF0b3Iuc3RhdGljXCI7XHJcbmltcG9ydCB7IEJhc2VDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy9iYXNlLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyB2YWxpZGF0ZURhdGUgfSBmcm9tIFwiLi4vdXRpbC9kYXRlLWNoZWNrZXIuZnVuY3Rpb25cIjtcclxuZXhwb3J0IGZ1bmN0aW9uIGRhdGVWYWxpZGF0b3IoY29uZmlnTW9kZWw6IEJhc2VDb25maWcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcclxuICAgIHJldHVybiB2YWxpZGF0ZURhdGUoY29udHJvbCwgY29uZmlnTW9kZWwsIEFubm90YXRpb25UeXBlcy5kYXRlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { FIELD_CONFIG } from "../const/config-names.const";
|
|
2
|
+
import { AnnotationTypes } from "../core/validator.static";
|
|
3
|
+
import { ApplicationUtil } from "../util/app-util";
|
|
4
|
+
import { getConfigObject } from "../util/config-provider";
|
|
5
|
+
import { ObjectMaker } from "../util/object-maker";
|
|
6
|
+
import { ValidatorValueChecker } from "../util/validator-value-checker";
|
|
7
|
+
export function differentValidator(configModel) {
|
|
8
|
+
return (control) => {
|
|
9
|
+
let config = getConfigObject(configModel, control, FIELD_CONFIG);
|
|
10
|
+
if (ValidatorValueChecker.pass(control, config)) {
|
|
11
|
+
const differentControl = ApplicationUtil.getFormControl(config.fieldName, control);
|
|
12
|
+
const differentControlValue = (differentControl) ? differentControl.value : '';
|
|
13
|
+
if (!(differentControl && differentControl.value != control.value))
|
|
14
|
+
return ObjectMaker.toJson(AnnotationTypes.different, config, [control.value, differentControlValue]);
|
|
15
|
+
}
|
|
16
|
+
return ObjectMaker.null();
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZmVyZW50LnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9yZWFjdGl2ZS1mb3JtLXZhbGlkYXRvcnMvZGlmZmVyZW50LnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXhFLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxXQUE0QjtJQUM3RCxPQUFPLENBQUMsT0FBd0IsRUFBMEIsRUFBRTtRQUMxRCxJQUFJLE1BQU0sR0FBRyxlQUFlLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNqRSxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEVBQUU7WUFDL0MsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbkYsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQy9FLElBQUksQ0FBQyxDQUFDLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDO2dCQUNoRSxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLHFCQUFxQixDQUFDLENBQUMsQ0FBQztTQUN4RztRQUNELE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEZJRUxEX0NPTkZJRyB9IGZyb20gXCIuLi9jb25zdC9jb25maWctbmFtZXMuY29uc3RcIjtcclxuaW1wb3J0IHsgQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIi4uL2NvcmUvdmFsaWRhdG9yLnN0YXRpY1wiO1xyXG5pbXBvcnQgeyBEaWZmZXJlbnRDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy9jb21wYXJlLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblV0aWwgfSBmcm9tIFwiLi4vdXRpbC9hcHAtdXRpbFwiO1xyXG5pbXBvcnQgeyBnZXRDb25maWdPYmplY3QgfSBmcm9tIFwiLi4vdXRpbC9jb25maWctcHJvdmlkZXJcIjtcclxuaW1wb3J0IHsgT2JqZWN0TWFrZXIgfSBmcm9tIFwiLi4vdXRpbC9vYmplY3QtbWFrZXJcIjtcclxuaW1wb3J0IHsgVmFsaWRhdG9yVmFsdWVDaGVja2VyIH0gZnJvbSBcIi4uL3V0aWwvdmFsaWRhdG9yLXZhbHVlLWNoZWNrZXJcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkaWZmZXJlbnRWYWxpZGF0b3IoY29uZmlnTW9kZWw6IERpZmZlcmVudENvbmZpZyk6IFZhbGlkYXRvckZuIHtcclxuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xyXG4gICAgbGV0IGNvbmZpZyA9IGdldENvbmZpZ09iamVjdChjb25maWdNb2RlbCwgY29udHJvbCwgRklFTERfQ09ORklHKTtcclxuICAgIGlmIChWYWxpZGF0b3JWYWx1ZUNoZWNrZXIucGFzcyhjb250cm9sLCBjb25maWcpKSB7XHJcbiAgICAgIGNvbnN0IGRpZmZlcmVudENvbnRyb2wgPSBBcHBsaWNhdGlvblV0aWwuZ2V0Rm9ybUNvbnRyb2woY29uZmlnLmZpZWxkTmFtZSwgY29udHJvbCk7XHJcbiAgICAgIGNvbnN0IGRpZmZlcmVudENvbnRyb2xWYWx1ZSA9IChkaWZmZXJlbnRDb250cm9sKSA/IGRpZmZlcmVudENvbnRyb2wudmFsdWUgOiAnJztcclxuICAgICAgaWYgKCEoZGlmZmVyZW50Q29udHJvbCAmJiBkaWZmZXJlbnRDb250cm9sLnZhbHVlICE9IGNvbnRyb2wudmFsdWUpKVxyXG4gICAgICAgIHJldHVybiBPYmplY3RNYWtlci50b0pzb24oQW5ub3RhdGlvblR5cGVzLmRpZmZlcmVudCwgY29uZmlnLCBbY29udHJvbC52YWx1ZSwgZGlmZmVyZW50Q29udHJvbFZhbHVlXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gT2JqZWN0TWFrZXIubnVsbCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AnnotationTypes } from "../core/validator.static";
|
|
2
|
+
import { RegExRule } from "../util/regex-rules";
|
|
3
|
+
import { regexValidation } from "../validators-function/regex-validation.function";
|
|
4
|
+
export function digitValidator(configModel) {
|
|
5
|
+
return (control) => {
|
|
6
|
+
return regexValidation(configModel, control, RegExRule.onlyDigit, AnnotationTypes.digit);
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXQudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybS12YWxpZGF0b3JzL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy9kaWdpdC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFHbkYsTUFBTSxVQUFVLGNBQWMsQ0FBQyxXQUF3QjtJQUNyRCxPQUFPLENBQUMsT0FBd0IsRUFBMEIsRUFBRTtRQUMxRCxPQUFPLGVBQWUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzFGLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEFubm90YXRpb25UeXBlcyB9IGZyb20gXCIuLi9jb3JlL3ZhbGlkYXRvci5zdGF0aWNcIjtcclxuaW1wb3J0IHsgRGlnaXRDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy9kaWdpdC1jb25maWdcIjtcclxuaW1wb3J0IHsgUmVnRXhSdWxlIH0gZnJvbSBcIi4uL3V0aWwvcmVnZXgtcnVsZXNcIjtcclxuaW1wb3J0IHsgcmVnZXhWYWxpZGF0aW9uIH0gZnJvbSBcIi4uL3ZhbGlkYXRvcnMtZnVuY3Rpb24vcmVnZXgtdmFsaWRhdGlvbi5mdW5jdGlvblwiO1xyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkaWdpdFZhbGlkYXRvcihjb25maWdNb2RlbDogRGlnaXRDb25maWcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcclxuICAgIHJldHVybiByZWdleFZhbGlkYXRpb24oY29uZmlnTW9kZWwsIGNvbnRyb2wsIFJlZ0V4UnVsZS5vbmx5RGlnaXQsIEFubm90YXRpb25UeXBlcy5kaWdpdClcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AnnotationTypes } from "../core/validator.static";
|
|
2
|
+
import { RegExRule } from "../util/regex-rules";
|
|
3
|
+
import { regexValidation } from "../validators-function/regex-validation.function";
|
|
4
|
+
export function emailValidator(configModel) {
|
|
5
|
+
return (control) => {
|
|
6
|
+
return regexValidation(configModel, control, RegExRule.basicEmail, AnnotationTypes.email);
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybS12YWxpZGF0b3JzL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy9lbWFpbC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDbkYsTUFBTSxVQUFVLGNBQWMsQ0FBQyxXQUF3QjtJQUNyRCxPQUFPLENBQUMsT0FBd0IsRUFBMEIsRUFBRTtRQUMxRCxPQUFPLGVBQWUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzNGLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEFubm90YXRpb25UeXBlcyB9IGZyb20gXCIuLi9jb3JlL3ZhbGlkYXRvci5zdGF0aWNcIjtcclxuaW1wb3J0IHsgRW1haWxDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy9lbWFpbC1jb25maWdcIjtcclxuaW1wb3J0IHsgUmVnRXhSdWxlIH0gZnJvbSBcIi4uL3V0aWwvcmVnZXgtcnVsZXNcIjtcclxuaW1wb3J0IHsgcmVnZXhWYWxpZGF0aW9uIH0gZnJvbSBcIi4uL3ZhbGlkYXRvcnMtZnVuY3Rpb24vcmVnZXgtdmFsaWRhdGlvbi5mdW5jdGlvblwiO1xyXG5leHBvcnQgZnVuY3Rpb24gZW1haWxWYWxpZGF0b3IoY29uZmlnTW9kZWw6IEVtYWlsQ29uZmlnKTogVmFsaWRhdG9yRm4ge1xyXG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XHJcbiAgICByZXR1cm4gcmVnZXhWYWxpZGF0aW9uKGNvbmZpZ01vZGVsLCBjb250cm9sLCBSZWdFeFJ1bGUuYmFzaWNFbWFpbCwgQW5ub3RhdGlvblR5cGVzLmVtYWlsKVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AnnotationTypes } from "../core/validator.static";
|
|
2
|
+
import { getConfigObject } from "../util/config-provider";
|
|
3
|
+
import { ObjectMaker } from "../util/object-maker";
|
|
4
|
+
import { ValidatorValueChecker } from "../util/validator-value-checker";
|
|
5
|
+
export function endsWithValidator(configModel) {
|
|
6
|
+
return (control) => {
|
|
7
|
+
let config = getConfigObject(configModel, control);
|
|
8
|
+
if (ValidatorValueChecker.pass(control, config)) {
|
|
9
|
+
var endString = String(control.value).substr(control.value.length - config.value.length, config.value.length);
|
|
10
|
+
if (endString != config.value)
|
|
11
|
+
return ObjectMaker.toJson(AnnotationTypes.endsWith, config, [control.value, config.value]);
|
|
12
|
+
}
|
|
13
|
+
return ObjectMaker.null();
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kc1dpdGgudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybS12YWxpZGF0b3JzL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy9lbmRzV2l0aC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFeEUsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFdBQTBCO0lBQzFELE9BQU8sQ0FBQyxPQUF3QixFQUEwQixFQUFFO1FBQzFELElBQUksTUFBTSxHQUFHLGVBQWUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbkQsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQy9DLElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUcsSUFBSSxTQUFTLElBQUksTUFBTSxDQUFDLEtBQUs7Z0JBQzNCLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDOUY7UUFDRCxPQUFPLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBBbm5vdGF0aW9uVHlwZXMgfSBmcm9tIFwiLi4vY29yZS92YWxpZGF0b3Iuc3RhdGljXCI7XHJcbmltcG9ydCB7IERlZmF1bHRDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy9kZWZhdWx0LWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBnZXRDb25maWdPYmplY3QgfSBmcm9tIFwiLi4vdXRpbC9jb25maWctcHJvdmlkZXJcIjtcclxuaW1wb3J0IHsgT2JqZWN0TWFrZXIgfSBmcm9tIFwiLi4vdXRpbC9vYmplY3QtbWFrZXJcIjtcclxuaW1wb3J0IHsgVmFsaWRhdG9yVmFsdWVDaGVja2VyIH0gZnJvbSBcIi4uL3V0aWwvdmFsaWRhdG9yLXZhbHVlLWNoZWNrZXJcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBlbmRzV2l0aFZhbGlkYXRvcihjb25maWdNb2RlbDogRGVmYXVsdENvbmZpZyk6IFZhbGlkYXRvckZuIHtcclxuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xyXG4gICAgbGV0IGNvbmZpZyA9IGdldENvbmZpZ09iamVjdChjb25maWdNb2RlbCwgY29udHJvbCk7XHJcbiAgICBpZiAoVmFsaWRhdG9yVmFsdWVDaGVja2VyLnBhc3MoY29udHJvbCwgY29uZmlnKSkge1xyXG4gICAgICB2YXIgZW5kU3RyaW5nID0gU3RyaW5nKGNvbnRyb2wudmFsdWUpLnN1YnN0cihjb250cm9sLnZhbHVlLmxlbmd0aCAtIGNvbmZpZy52YWx1ZS5sZW5ndGgsIGNvbmZpZy52YWx1ZS5sZW5ndGgpO1xyXG4gICAgICBpZiAoZW5kU3RyaW5nICE9IGNvbmZpZy52YWx1ZSlcclxuICAgICAgICByZXR1cm4gT2JqZWN0TWFrZXIudG9Kc29uKEFubm90YXRpb25UeXBlcy5lbmRzV2l0aCwgY29uZmlnLCBbY29udHJvbC52YWx1ZSwgY29uZmlnLnZhbHVlXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gT2JqZWN0TWFrZXIubnVsbCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AnnotationTypes } from "../core/validator.static";
|
|
2
|
+
import { getConfigObject } from "../util/config-provider";
|
|
3
|
+
import { ObjectMaker } from "../util/object-maker";
|
|
4
|
+
import { ValidatorValueChecker } from "../util/validator-value-checker";
|
|
5
|
+
export function evenValidator(configModel) {
|
|
6
|
+
return (control) => {
|
|
7
|
+
let config = getConfigObject(configModel, control);
|
|
8
|
+
if (ValidatorValueChecker.pass(control, config)) {
|
|
9
|
+
if (!(control.value % 2 == 0))
|
|
10
|
+
return ObjectMaker.toJson(AnnotationTypes.even, config, [control.value]);
|
|
11
|
+
}
|
|
12
|
+
return ObjectMaker.null();
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbi52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9mb3JtLXZhbGlkYXRvcnMvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL2V2ZW4udmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXhFLE1BQU0sVUFBVSxhQUFhLENBQUMsV0FBdUI7SUFDbkQsT0FBTyxDQUFDLE9BQXdCLEVBQTBCLEVBQUU7UUFDMUQsSUFBSSxNQUFNLEdBQUcsZUFBZSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRCxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMzQixPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUM1RTtRQUNELE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEFubm90YXRpb25UeXBlcyB9IGZyb20gXCIuLi9jb3JlL3ZhbGlkYXRvci5zdGF0aWNcIjtcclxuaW1wb3J0IHsgQmFzZUNvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvY29uZmlnL2Jhc2UtY29uZmlnXCI7XHJcbmltcG9ydCB7IGdldENvbmZpZ09iamVjdCB9IGZyb20gXCIuLi91dGlsL2NvbmZpZy1wcm92aWRlclwiO1xyXG5pbXBvcnQgeyBPYmplY3RNYWtlciB9IGZyb20gXCIuLi91dGlsL29iamVjdC1tYWtlclwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JWYWx1ZUNoZWNrZXIgfSBmcm9tIFwiLi4vdXRpbC92YWxpZGF0b3ItdmFsdWUtY2hlY2tlclwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGV2ZW5WYWxpZGF0b3IoY29uZmlnTW9kZWw6IEJhc2VDb25maWcpOiBWYWxpZGF0b3JGbiB7XHJcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcclxuICAgIGxldCBjb25maWcgPSBnZXRDb25maWdPYmplY3QoY29uZmlnTW9kZWwsIGNvbnRyb2wpO1xyXG4gICAgaWYgKFZhbGlkYXRvclZhbHVlQ2hlY2tlci5wYXNzKGNvbnRyb2wsIGNvbmZpZykpIHtcclxuICAgICAgaWYgKCEoY29udHJvbC52YWx1ZSAlIDIgPT0gMCkpXHJcbiAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLnRvSnNvbihBbm5vdGF0aW9uVHlwZXMuZXZlbiwgY29uZmlnLCBbY29udHJvbC52YWx1ZV0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIE9iamVjdE1ha2VyLm51bGwoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { VALIDATOR_CONFIG } from "../const/app.const";
|
|
2
|
+
import { AnnotationTypes } from "../core/validator.static";
|
|
3
|
+
import { ApplicationUtil } from '../util/app-util';
|
|
4
|
+
import { getConfigObject } from "../util/config-provider";
|
|
5
|
+
import { FormProvider } from '../util/form-provider';
|
|
6
|
+
import { ObjectMaker } from "../util/object-maker";
|
|
7
|
+
import { RegexValidator } from "../util/regex-validator";
|
|
8
|
+
export function extensionValidator(configModel) {
|
|
9
|
+
return (control, files) => {
|
|
10
|
+
let config = getConfigObject(configModel, control);
|
|
11
|
+
if (!control[VALIDATOR_CONFIG] || !control[VALIDATOR_CONFIG][AnnotationTypes.extension])
|
|
12
|
+
ApplicationUtil.configureControl(control, config, AnnotationTypes.extension);
|
|
13
|
+
if (files && FormProvider.ProcessRule(control, config)) {
|
|
14
|
+
if (RegexValidator.isNotBlank(control.value)) {
|
|
15
|
+
let testResult = true;
|
|
16
|
+
let extension = '';
|
|
17
|
+
for (var i = 0; i < files.length; i++) {
|
|
18
|
+
let file = files.item(i);
|
|
19
|
+
let splitText = file.name.split(".");
|
|
20
|
+
extension = splitText[splitText.length - 1];
|
|
21
|
+
let result = config.extensions.filter(t => { return extension.toLowerCase() == t.toLowerCase(); })[0];
|
|
22
|
+
if (!result && !configModel.isExcludeExtensions) {
|
|
23
|
+
testResult = false;
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
if (result && configModel.isExcludeExtensions) {
|
|
28
|
+
testResult = false;
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (!testResult)
|
|
34
|
+
return ObjectMaker.toJson(AnnotationTypes.extension, config, [extension, config.extensions.join(",")]);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return ObjectMaker.null();
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9uLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9yZWFjdGl2ZS1mb3JtLXZhbGlkYXRvcnMvZXh0ZW5zaW9uLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsV0FBNEI7SUFDN0QsT0FBTyxDQUFDLE9BQXdCLEVBQUUsS0FBZSxFQUEwQixFQUFFO1FBQzNFLElBQUksTUFBTSxHQUFHLGVBQWUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztZQUNyRixlQUFlLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0UsSUFBSSxLQUFLLElBQUksWUFBWSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEVBQUU7WUFDdEQsSUFBSSxjQUFjLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDNUMsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixJQUFJLFNBQVMsR0FBVyxFQUFFLENBQUM7Z0JBQzNCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUNyQyxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN6QixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDckMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUM1QyxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNyRyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFO3dCQUMvQyxVQUFVLEdBQUcsS0FBSyxDQUFDO3dCQUNuQixNQUFNO3FCQUNQO3lCQUFNO3dCQUNMLElBQUksTUFBTSxJQUFJLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRTs0QkFDN0MsVUFBVSxHQUFHLEtBQUssQ0FBQzs0QkFDbkIsTUFBTTt5QkFDUDtxQkFDRjtpQkFDRjtnQkFDRCxJQUFJLENBQUMsVUFBVTtvQkFDYixPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzFHO1NBQ0Y7UUFBQyxPQUFPLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFZBTElEQVRPUl9DT05GSUcgfSBmcm9tIFwiLi4vY29uc3QvYXBwLmNvbnN0XCI7XHJcbmltcG9ydCB7IEFubm90YXRpb25UeXBlcyB9IGZyb20gXCIuLi9jb3JlL3ZhbGlkYXRvci5zdGF0aWNcIjtcclxuaW1wb3J0IHsgRXh0ZW5zaW9uQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9jb25maWcvZXh0ZW5zaW9uLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblV0aWwgfSBmcm9tICcuLi91dGlsL2FwcC11dGlsJztcclxuaW1wb3J0IHsgZ2V0Q29uZmlnT2JqZWN0IH0gZnJvbSBcIi4uL3V0aWwvY29uZmlnLXByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IEZvcm1Qcm92aWRlciB9IGZyb20gJy4uL3V0aWwvZm9ybS1wcm92aWRlcic7XHJcbmltcG9ydCB7IE9iamVjdE1ha2VyIH0gZnJvbSBcIi4uL3V0aWwvb2JqZWN0LW1ha2VyXCI7XHJcbmltcG9ydCB7IFJlZ2V4VmFsaWRhdG9yIH0gZnJvbSBcIi4uL3V0aWwvcmVnZXgtdmFsaWRhdG9yXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZXh0ZW5zaW9uVmFsaWRhdG9yKGNvbmZpZ01vZGVsOiBFeHRlbnNpb25Db25maWcpOiBhbnkge1xyXG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBmaWxlczogRmlsZUxpc3QpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcclxuICAgIGxldCBjb25maWcgPSBnZXRDb25maWdPYmplY3QoY29uZmlnTW9kZWwsIGNvbnRyb2wpO1xyXG4gICAgaWYgKCFjb250cm9sW1ZBTElEQVRPUl9DT05GSUddIHx8ICFjb250cm9sW1ZBTElEQVRPUl9DT05GSUddW0Fubm90YXRpb25UeXBlcy5leHRlbnNpb25dKVxyXG4gICAgICBBcHBsaWNhdGlvblV0aWwuY29uZmlndXJlQ29udHJvbChjb250cm9sLCBjb25maWcsIEFubm90YXRpb25UeXBlcy5leHRlbnNpb24pO1xyXG4gICAgaWYgKGZpbGVzICYmIEZvcm1Qcm92aWRlci5Qcm9jZXNzUnVsZShjb250cm9sLCBjb25maWcpKSB7XHJcbiAgICAgIGlmIChSZWdleFZhbGlkYXRvci5pc05vdEJsYW5rKGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgICAgbGV0IHRlc3RSZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgIGxldCBleHRlbnNpb246IHN0cmluZyA9ICcnO1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGxldCBmaWxlID0gZmlsZXMuaXRlbShpKTtcclxuICAgICAgICAgIGxldCBzcGxpdFRleHQgPSBmaWxlLm5hbWUuc3BsaXQoXCIuXCIpO1xyXG4gICAgICAgICAgZXh0ZW5zaW9uID0gc3BsaXRUZXh0W3NwbGl0VGV4dC5sZW5ndGggLSAxXTtcclxuICAgICAgICAgIGxldCByZXN1bHQgPSBjb25maWcuZXh0ZW5zaW9ucy5maWx0ZXIodCA9PiB7IHJldHVybiBleHRlbnNpb24udG9Mb3dlckNhc2UoKSA9PSB0LnRvTG93ZXJDYXNlKCkgfSlbMF07XHJcbiAgICAgICAgICBpZiAoIXJlc3VsdCAmJiAhY29uZmlnTW9kZWwuaXNFeGNsdWRlRXh0ZW5zaW9ucykge1xyXG4gICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKHJlc3VsdCAmJiBjb25maWdNb2RlbC5pc0V4Y2x1ZGVFeHRlbnNpb25zKSB7XHJcbiAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghdGVzdFJlc3VsdClcclxuICAgICAgICAgIHJldHVybiBPYmplY3RNYWtlci50b0pzb24oQW5ub3RhdGlvblR5cGVzLmV4dGVuc2lvbiwgY29uZmlnLCBbZXh0ZW5zaW9uLCBjb25maWcuZXh0ZW5zaW9ucy5qb2luKFwiLFwiKV0pO1xyXG4gICAgICB9XHJcbiAgICB9IHJldHVybiBPYmplY3RNYWtlci5udWxsKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { AnnotationTypes } from "../core/validator.static";
|
|
2
|
+
import { ApplicationUtil } from '../util/app-util';
|
|
3
|
+
import { getConfigObject } from "../util/config-provider";
|
|
4
|
+
import { FormProvider } from '../util/form-provider';
|
|
5
|
+
import { ObjectMaker } from "../util/object-maker";
|
|
6
|
+
import { RegExRule } from "../util/regex-rules";
|
|
7
|
+
import { RegexValidator } from "../util/regex-validator";
|
|
8
|
+
export function factorValidator(configModel) {
|
|
9
|
+
function positiveFactors(dividend, value) {
|
|
10
|
+
let isPositive = false;
|
|
11
|
+
for (var index = 1; index <= Math.floor(Math.sqrt(dividend)); index += 1) {
|
|
12
|
+
if (dividend % index === 0) {
|
|
13
|
+
if (index == value)
|
|
14
|
+
isPositive = true;
|
|
15
|
+
if (dividend / index !== index)
|
|
16
|
+
if ((dividend / index) == value)
|
|
17
|
+
isPositive = true;
|
|
18
|
+
if (isPositive)
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return isPositive;
|
|
23
|
+
}
|
|
24
|
+
return (control) => {
|
|
25
|
+
let config = getConfigObject(configModel, control);
|
|
26
|
+
const dividendField = (control.parent && config.fieldName) ? ApplicationUtil.getFormControl(config.fieldName, control) : undefined;
|
|
27
|
+
const dividend = (config.fieldName && dividendField) ? dividendField.value : config.dividend;
|
|
28
|
+
if (FormProvider.ProcessRule(control, config)) {
|
|
29
|
+
if (RegexValidator.isNotBlank(control.value) && dividend > 0) {
|
|
30
|
+
if (!RegexValidator.isValid(control.value, RegExRule.onlyDigit) || !positiveFactors(dividend, parseInt(control.value)))
|
|
31
|
+
return ObjectMaker.toJson(AnnotationTypes.factor, config, [control.value]);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return ObjectMaker.null();
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2Zvcm0tdmFsaWRhdG9ycy9yZWFjdGl2ZS1mb3JtLXZhbGlkYXRvcnMvZmFjdG9yLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxXQUF5QjtJQUV4RCxTQUFTLGVBQWUsQ0FBQyxRQUFRLEVBQUUsS0FBSztRQUN2QyxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDdkIsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDekUsSUFBSSxRQUFRLEdBQUcsS0FBSyxLQUFLLENBQUMsRUFBRTtnQkFDM0IsSUFBSSxLQUFLLElBQUksS0FBSztvQkFDakIsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDbkIsSUFBSSxRQUFRLEdBQUcsS0FBSyxLQUFLLEtBQUs7b0JBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksS0FBSzt3QkFDOUIsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDcEIsSUFBSSxVQUFVO29CQUNiLE1BQU07YUFDUDtTQUNEO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDbkIsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFrQixFQUEwQixFQUFFO1FBQ3JELElBQUksTUFBTSxHQUFHLGVBQWUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbkQsTUFBTSxhQUFhLEdBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7UUFDdkksTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQzdGLElBQUksWUFBWSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEVBQUU7WUFDOUMsSUFBSSxjQUFjLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFO2dCQUM3RCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDckgsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDNUU7U0FDRDtRQUNELE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUMsQ0FBQTtBQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEFubm90YXRpb25UeXBlcyB9IGZyb20gXCIuLi9jb3JlL3ZhbGlkYXRvci5zdGF0aWNcIjtcclxuaW1wb3J0IHsgRmFjdG9yQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9jb25maWcvZmFjdG9yLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblV0aWwgfSBmcm9tICcuLi91dGlsL2FwcC11dGlsJztcclxuaW1wb3J0IHsgZ2V0Q29uZmlnT2JqZWN0IH0gZnJvbSBcIi4uL3V0aWwvY29uZmlnLXByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IEZvcm1Qcm92aWRlciB9IGZyb20gJy4uL3V0aWwvZm9ybS1wcm92aWRlcic7XHJcbmltcG9ydCB7IE9iamVjdE1ha2VyIH0gZnJvbSBcIi4uL3V0aWwvb2JqZWN0LW1ha2VyXCI7XHJcbmltcG9ydCB7IFJlZ0V4UnVsZSB9IGZyb20gXCIuLi91dGlsL3JlZ2V4LXJ1bGVzXCI7XHJcbmltcG9ydCB7IFJlZ2V4VmFsaWRhdG9yIH0gZnJvbSBcIi4uL3V0aWwvcmVnZXgtdmFsaWRhdG9yXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZmFjdG9yVmFsaWRhdG9yKGNvbmZpZ01vZGVsOiBGYWN0b3JDb25maWcpOiBWYWxpZGF0b3JGbiB7XHJcblxyXG5cdGZ1bmN0aW9uIHBvc2l0aXZlRmFjdG9ycyhkaXZpZGVuZCwgdmFsdWUpIHtcclxuXHRcdGxldCBpc1Bvc2l0aXZlID0gZmFsc2U7XHJcblx0XHRmb3IgKHZhciBpbmRleCA9IDE7IGluZGV4IDw9IE1hdGguZmxvb3IoTWF0aC5zcXJ0KGRpdmlkZW5kKSk7IGluZGV4ICs9IDEpIHtcclxuXHRcdFx0aWYgKGRpdmlkZW5kICUgaW5kZXggPT09IDApIHtcclxuXHRcdFx0XHRpZiAoaW5kZXggPT0gdmFsdWUpXHJcblx0XHRcdFx0XHRpc1Bvc2l0aXZlID0gdHJ1ZTtcclxuXHRcdFx0XHRpZiAoZGl2aWRlbmQgLyBpbmRleCAhPT0gaW5kZXgpXHJcblx0XHRcdFx0XHRpZiAoKGRpdmlkZW5kIC8gaW5kZXgpID09IHZhbHVlKVxyXG5cdFx0XHRcdFx0XHRpc1Bvc2l0aXZlID0gdHJ1ZTtcclxuXHRcdFx0XHRpZiAoaXNQb3NpdGl2ZSlcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gaXNQb3NpdGl2ZTtcclxuXHR9XHJcblxyXG5cdHJldHVybiAoY29udHJvbDogRm9ybUdyb3VwKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XHJcblx0XHRsZXQgY29uZmlnID0gZ2V0Q29uZmlnT2JqZWN0KGNvbmZpZ01vZGVsLCBjb250cm9sKTtcclxuXHRcdGNvbnN0IGRpdmlkZW5kRmllbGQ6IGFueSA9IChjb250cm9sLnBhcmVudCAmJiBjb25maWcuZmllbGROYW1lKSA/IEFwcGxpY2F0aW9uVXRpbC5nZXRGb3JtQ29udHJvbChjb25maWcuZmllbGROYW1lLCBjb250cm9sKSA6IHVuZGVmaW5lZFxyXG5cdFx0Y29uc3QgZGl2aWRlbmQgPSAoY29uZmlnLmZpZWxkTmFtZSAmJiBkaXZpZGVuZEZpZWxkKSA/IGRpdmlkZW5kRmllbGQudmFsdWUgOiBjb25maWcuZGl2aWRlbmQ7XHJcblx0XHRpZiAoRm9ybVByb3ZpZGVyLlByb2Nlc3NSdWxlKGNvbnRyb2wsIGNvbmZpZykpIHtcclxuXHRcdFx0aWYgKFJlZ2V4VmFsaWRhdG9yLmlzTm90QmxhbmsoY29udHJvbC52YWx1ZSkgJiYgZGl2aWRlbmQgPiAwKSB7XHJcblx0XHRcdFx0aWYgKCFSZWdleFZhbGlkYXRvci5pc1ZhbGlkKGNvbnRyb2wudmFsdWUsIFJlZ0V4UnVsZS5vbmx5RGlnaXQpIHx8ICFwb3NpdGl2ZUZhY3RvcnMoZGl2aWRlbmQsIHBhcnNlSW50KGNvbnRyb2wudmFsdWUpKSlcclxuXHRcdFx0XHRcdHJldHVybiBPYmplY3RNYWtlci50b0pzb24oQW5ub3RhdGlvblR5cGVzLmZhY3RvciwgY29uZmlnLCBbY29udHJvbC52YWx1ZV0pO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gT2JqZWN0TWFrZXIubnVsbCgpO1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { RegexValidator } from "../util/regex-validator";
|
|
2
|
+
import { ObjectMaker } from "../util/object-maker";
|
|
3
|
+
import { AnnotationTypes } from "../core/validator.static";
|
|
4
|
+
import { FormProvider } from '../util/form-provider';
|
|
5
|
+
import { ApplicationUtil } from '../util/app-util';
|
|
6
|
+
import { getConfigObject } from "../util/config-provider";
|
|
7
|
+
import { VALIDATOR_CONFIG } from "../const/app.const";
|
|
8
|
+
export function fileValidator(configModel) {
|
|
9
|
+
return (control, files) => {
|
|
10
|
+
let config = getConfigObject(configModel, control);
|
|
11
|
+
if (!control[VALIDATOR_CONFIG] || !control[VALIDATOR_CONFIG][AnnotationTypes.file])
|
|
12
|
+
ApplicationUtil.configureControl(control, config, AnnotationTypes.file);
|
|
13
|
+
if (files) {
|
|
14
|
+
if (FormProvider.ProcessRule(control, config)) {
|
|
15
|
+
if (RegexValidator.isNotBlank(control.value)) {
|
|
16
|
+
let minFiles = config.minFiles ? config.minFiles : 0;
|
|
17
|
+
let maxFiles = config.maxFiles ? config.maxFiles : files.length;
|
|
18
|
+
if (!(files.length > 0 && files[0] instanceof File && files.length >= minFiles && files.length <= maxFiles))
|
|
19
|
+
return ObjectMaker.toJson(AnnotationTypes.file, config, [files.length, minFiles, maxFiles]);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return ObjectMaker.null();
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9mb3JtLXZhbGlkYXRvcnMvcmVhY3RpdmUtZm9ybS12YWxpZGF0b3JzL2ZpbGUudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE1BQU0sVUFBVSxhQUFhLENBQUMsV0FBdUI7SUFDbkQsT0FBTyxDQUFDLE9BQXdCLEVBQUUsS0FBZSxFQUEwQixFQUFFO1FBQzNFLElBQUksTUFBTSxHQUFHLGVBQWUsQ0FBQyxXQUFXLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztZQUM5RSxlQUFlLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUUsSUFBRyxLQUFLLEVBQUM7WUFDUCxJQUFJLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFO2dCQUM3QyxJQUFJLGNBQWMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUM1QyxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3JELElBQUksUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7b0JBQ2hFLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUM7d0JBQ3pHLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7aUJBQy9GO2FBQ0Y7U0FDRjtRQUNBLE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFic3RyYWN0Q29udHJvbFxyXG59IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuaW1wb3J0IHsgUmVnZXhWYWxpZGF0b3IgfSBmcm9tIFwiLi4vdXRpbC9yZWdleC12YWxpZGF0b3JcIjtcclxuaW1wb3J0IHsgT2JqZWN0TWFrZXIgfSBmcm9tIFwiLi4vdXRpbC9vYmplY3QtbWFrZXJcIjtcclxuaW1wb3J0IHsgRmlsZUNvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvY29uZmlnL2ZpbGUtY29uZmlnXCI7XHJcbmltcG9ydCB7IEFubm90YXRpb25UeXBlcyB9IGZyb20gXCIuLi9jb3JlL3ZhbGlkYXRvci5zdGF0aWNcIjtcclxuaW1wb3J0IHsgRm9ybVByb3ZpZGVyIH0gZnJvbSAnLi4vdXRpbC9mb3JtLXByb3ZpZGVyJztcclxuaW1wb3J0IHsgQXBwbGljYXRpb25VdGlsIH0gZnJvbSAnLi4vdXRpbC9hcHAtdXRpbCc7XHJcbmltcG9ydCB7Z2V0Q29uZmlnT2JqZWN0fSBmcm9tIFwiLi4vdXRpbC9jb25maWctcHJvdmlkZXJcIjtcclxuaW1wb3J0IHsgVkFMSURBVE9SX0NPTkZJRyB9IGZyb20gXCIuLi9jb25zdC9hcHAuY29uc3RcIjtcclxuZXhwb3J0IGZ1bmN0aW9uIGZpbGVWYWxpZGF0b3IoY29uZmlnTW9kZWw6IEZpbGVDb25maWcpOiBhbnkge1xyXG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBmaWxlczogRmlsZUxpc3QpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0+IHtcclxuICAgIGxldCBjb25maWcgPSBnZXRDb25maWdPYmplY3QoY29uZmlnTW9kZWwsY29udHJvbCk7ICAgIFxyXG4gICAgaWYgKCFjb250cm9sW1ZBTElEQVRPUl9DT05GSUddIHx8ICFjb250cm9sW1ZBTElEQVRPUl9DT05GSUddW0Fubm90YXRpb25UeXBlcy5maWxlXSlcclxuICAgICAgICBBcHBsaWNhdGlvblV0aWwuY29uZmlndXJlQ29udHJvbChjb250cm9sLCBjb25maWcsIEFubm90YXRpb25UeXBlcy5maWxlKTtcclxuICAgIGlmKGZpbGVzKXtcclxuICAgICAgaWYgKEZvcm1Qcm92aWRlci5Qcm9jZXNzUnVsZShjb250cm9sLCBjb25maWcpKSB7XHJcbiAgICAgICAgaWYgKFJlZ2V4VmFsaWRhdG9yLmlzTm90QmxhbmsoY29udHJvbC52YWx1ZSkpIHtcclxuICAgICAgICAgIGxldCBtaW5GaWxlcyA9IGNvbmZpZy5taW5GaWxlcyA/IGNvbmZpZy5taW5GaWxlcyA6IDA7XHJcbiAgICAgICAgICBsZXQgbWF4RmlsZXMgPSBjb25maWcubWF4RmlsZXMgPyBjb25maWcubWF4RmlsZXMgOiBmaWxlcy5sZW5ndGg7XHJcbiAgICAgICAgICBpZiAoIShmaWxlcy5sZW5ndGggPiAwICYmIGZpbGVzWzBdIGluc3RhbmNlb2YgRmlsZSAmJiBmaWxlcy5sZW5ndGggPj0gbWluRmlsZXMgJiYgZmlsZXMubGVuZ3RoIDw9IG1heEZpbGVzKSlcclxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdE1ha2VyLnRvSnNvbihBbm5vdGF0aW9uVHlwZXMuZmlsZSwgY29uZmlnLCBbZmlsZXMubGVuZ3RoLCBtaW5GaWxlcywgbWF4RmlsZXNdKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICByZXR1cm4gT2JqZWN0TWFrZXIubnVsbCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { RegexValidator } from "../util/regex-validator";
|
|
2
|
+
import { ObjectMaker } from "../util/object-maker";
|
|
3
|
+
import { AnnotationTypes } from "../core/validator.static";
|
|
4
|
+
import { FormProvider } from '../util/form-provider';
|
|
5
|
+
import { ApplicationUtil } from '../util/app-util';
|
|
6
|
+
import { getConfigObject } from "../util/config-provider";
|
|
7
|
+
import { VALIDATOR_CONFIG } from "../const/app.const";
|
|
8
|
+
export function fileSizeValidator(configModel) {
|
|
9
|
+
return (control, files) => {
|
|
10
|
+
let config = getConfigObject(configModel, control);
|
|
11
|
+
if (!control[VALIDATOR_CONFIG] || !control[VALIDATOR_CONFIG][AnnotationTypes.fileSize])
|
|
12
|
+
ApplicationUtil.configureControl(control, config, AnnotationTypes.fileSize);
|
|
13
|
+
if (files && FormProvider.ProcessRule(control, config)) {
|
|
14
|
+
if (RegexValidator.isNotBlank(control.value)) {
|
|
15
|
+
let minFileSize = config.minSize ? config.minSize : 0;
|
|
16
|
+
let testResult = false;
|
|
17
|
+
let fileSize = 0;
|
|
18
|
+
for (var i = 0; i < files.length; i++) {
|
|
19
|
+
let file = files.item(i);
|
|
20
|
+
fileSize = file.size;
|
|
21
|
+
testResult = (!(fileSize >= minFileSize && fileSize <= config.maxSize));
|
|
22
|
+
if (testResult)
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
if (testResult)
|
|
26
|
+
return ObjectMaker.toJson(AnnotationTypes.fileSize, config, [fileSize, config.maxSize]);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return ObjectMaker.null();
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZVNpemUudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybS12YWxpZGF0b3JzL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycy9maWxlU2l6ZS52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFdBQXVCO0lBQ3ZELE9BQU8sQ0FBQyxPQUF3QixFQUFFLEtBQWUsRUFBMEIsRUFBRTtRQUMzRSxJQUFJLE1BQU0sR0FBRyxlQUFlLENBQUMsV0FBVyxFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUM7WUFDcEYsZUFBZSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlFLElBQUksS0FBSyxJQUFJLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQ3RELElBQUksY0FBYyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzVDLElBQUksV0FBVyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdEQsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7Z0JBQ3pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUNyQyxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN6QixRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDckIsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxXQUFXLElBQUksUUFBUSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUN4RSxJQUFJLFVBQVU7d0JBQ1osTUFBTTtpQkFDVDtnQkFDRCxJQUFJLFVBQVU7b0JBQ1osT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQzNGO1NBQ0Y7UUFBQyxPQUFPLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2xcclxufSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmltcG9ydCB7IFJlZ2V4VmFsaWRhdG9yIH0gZnJvbSBcIi4uL3V0aWwvcmVnZXgtdmFsaWRhdG9yXCI7XHJcbmltcG9ydCB7IE9iamVjdE1ha2VyIH0gZnJvbSBcIi4uL3V0aWwvb2JqZWN0LW1ha2VyXCI7XHJcbmltcG9ydCB7IFNpemVDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy9zaXplLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBBbm5vdGF0aW9uVHlwZXMgfSBmcm9tIFwiLi4vY29yZS92YWxpZGF0b3Iuc3RhdGljXCI7XHJcbmltcG9ydCB7IEZvcm1Qcm92aWRlciB9IGZyb20gJy4uL3V0aWwvZm9ybS1wcm92aWRlcic7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uVXRpbCB9IGZyb20gJy4uL3V0aWwvYXBwLXV0aWwnO1xyXG5pbXBvcnQge2dldENvbmZpZ09iamVjdH0gZnJvbSBcIi4uL3V0aWwvY29uZmlnLXByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IFZBTElEQVRPUl9DT05GSUcgfSBmcm9tIFwiLi4vY29uc3QvYXBwLmNvbnN0XCI7XHJcbmV4cG9ydCBmdW5jdGlvbiBmaWxlU2l6ZVZhbGlkYXRvcihjb25maWdNb2RlbDogU2l6ZUNvbmZpZyk6IGFueSB7XHJcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIGZpbGVzOiBGaWxlTGlzdCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xyXG4gICAgbGV0IGNvbmZpZyA9IGdldENvbmZpZ09iamVjdChjb25maWdNb2RlbCxjb250cm9sKTtcclxuICAgIGlmICghY29udHJvbFtWQUxJREFUT1JfQ09ORklHXSB8fCAhY29udHJvbFtWQUxJREFUT1JfQ09ORklHXVtBbm5vdGF0aW9uVHlwZXMuZmlsZVNpemVdKVxyXG4gICAgICBBcHBsaWNhdGlvblV0aWwuY29uZmlndXJlQ29udHJvbChjb250cm9sLCBjb25maWcsIEFubm90YXRpb25UeXBlcy5maWxlU2l6ZSk7XHJcbiAgICBpZiAoZmlsZXMgJiYgRm9ybVByb3ZpZGVyLlByb2Nlc3NSdWxlKGNvbnRyb2wsIGNvbmZpZykpIHtcclxuICAgICAgaWYgKFJlZ2V4VmFsaWRhdG9yLmlzTm90QmxhbmsoY29udHJvbC52YWx1ZSkpIHtcclxuICAgICAgICBsZXQgbWluRmlsZVNpemUgPSBjb25maWcubWluU2l6ZSA/IGNvbmZpZy5taW5TaXplIDogMDtcclxuICAgICAgICBsZXQgdGVzdFJlc3VsdCA9IGZhbHNlO1xyXG4gICAgICAgIGxldCBmaWxlU2l6ZTogbnVtYmVyID0gMDtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBsZXQgZmlsZSA9IGZpbGVzLml0ZW0oaSk7XHJcbiAgICAgICAgICBmaWxlU2l6ZSA9IGZpbGUuc2l6ZTtcclxuICAgICAgICAgIHRlc3RSZXN1bHQgPSAoIShmaWxlU2l6ZSA+PSBtaW5GaWxlU2l6ZSAmJiBmaWxlU2l6ZSA8PSBjb25maWcubWF4U2l6ZSkpO1xyXG4gICAgICAgICAgaWYgKHRlc3RSZXN1bHQpXHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGVzdFJlc3VsdClcclxuICAgICAgICAgIHJldHVybiBPYmplY3RNYWtlci50b0pzb24oQW5ub3RhdGlvblR5cGVzLmZpbGVTaXplLCBjb25maWcsIFtmaWxlU2l6ZSwgY29uZmlnLm1heFNpemVdKTtcclxuICAgICAgfVxyXG4gICAgfSByZXR1cm4gT2JqZWN0TWFrZXIubnVsbCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|