@xsolla/payment-client-core 0.1.5 → 0.1.6
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/core/payment/form/controls/card-number/card-number-control.config.mjs +10 -0
- package/esm2020/lib/core/payment/form/controls/checkbox/checkbox-control.config.mjs +10 -0
- package/esm2020/lib/core/payment/form/controls/coupon/coupon-control.config.mjs +8 -0
- package/esm2020/lib/core/payment/form/controls/radio-control/radio-control.config.mjs +9 -0
- package/esm2020/lib/core/payment/form/controls/radio-control/radio-option.interface.mjs +2 -0
- package/esm2020/lib/core/payment/form/controls/search-select/search-select-control.config.mjs +8 -0
- package/esm2020/lib/core/payment/form/controls/search-select/search-select-option.interface.mjs +2 -0
- package/esm2020/lib/core/payment/form/controls/search-select/select-option.interface.mjs +2 -0
- package/esm2020/lib/core/payment/form/converters/birth-date/birth-date.converter.mjs +38 -0
- package/esm2020/lib/core/payment/form/converters/card-month/card-month.converter.mjs +38 -0
- package/esm2020/lib/core/payment/form/converters/card-number/card-number.converter.mjs +45 -0
- package/esm2020/lib/core/payment/form/converters/card-year/card-year.converter.mjs +38 -0
- package/esm2020/lib/core/payment/form/converters/cardholder-name/cardholder-name.converter.mjs +25 -0
- package/esm2020/lib/core/payment/form/converters/checkbox/checkbox.converter.mjs +34 -0
- package/esm2020/lib/core/payment/form/converters/converter.abstract.mjs +4 -3
- package/esm2020/lib/core/payment/form/converters/converters-map.mjs +32 -16
- package/esm2020/lib/core/payment/form/converters/coupon/coupon.converter.mjs +25 -0
- package/esm2020/lib/core/payment/form/converters/cpf-name/cpf-name-regex.variable.mjs +2 -0
- package/esm2020/lib/core/payment/form/converters/cpf-name/cpf-name.converter.mjs +34 -0
- package/esm2020/lib/core/payment/form/converters/cpf-number/cpf-number.converter.mjs +31 -0
- package/esm2020/lib/core/payment/form/converters/cvv/cvv-form-state.interface.mjs +2 -0
- package/esm2020/lib/core/payment/form/converters/cvv/cvv.converter.mjs +72 -0
- package/esm2020/lib/core/payment/form/converters/email/email.converter.mjs +29 -0
- package/esm2020/lib/core/payment/form/converters/pin/pin.converter.mjs +19 -0
- package/esm2020/lib/core/payment/form/converters/pricepoint/pricepoint.converter.mjs +32 -0
- package/esm2020/lib/core/payment/form/converters/radio-group/radio-group.converter.mjs +21 -0
- package/esm2020/lib/core/payment/form/converters/select/select.converter.mjs +21 -0
- package/esm2020/lib/core/payment/form/converters/street-number/street-number.converter.mjs +2 -2
- package/esm2020/lib/core/payment/form/converters/text/text.converter.mjs +19 -0
- package/esm2020/lib/core/payment/form/converters/zip/zip.converter.mjs +67 -0
- package/esm2020/lib/core/payment/form/field-form-states.interface.mjs +2 -0
- package/esm2020/lib/core/payment/form/form.module.mjs +48 -19
- package/esm2020/lib/core/payment/form/form.service.mjs +19 -1
- package/esm2020/lib/core/payment/form/validators/birth-date/birth-date.validator.mjs +37 -0
- package/esm2020/lib/core/payment/form/validators/card-month/card-month.validator.mjs +37 -0
- package/esm2020/lib/core/payment/form/validators/card-year/card-year.validator.mjs +34 -0
- package/esm2020/lib/core/payment/form/validators/coupon/coupon-validator.mjs +6 -0
- package/esm2020/lib/core/payment/form/validators/credit-card-length/credit-card-min-length.validator.mjs +32 -0
- package/esm2020/lib/core/payment/form/validators/email/email-validator.mjs +7 -0
- package/esm2020/lib/core/payment/form/validators/required/required.validator.mjs +6 -0
- package/esm2020/lib/core/payment/form/validators/restricted-value/restricted-value.validator.mjs +6 -0
- package/esm2020/lib/core/payment/form/validators/validators.module.mjs +2 -2
- package/esm2020/lib/core/payment/payment.interface.mjs +1 -1
- package/esm2020/lib/core/payment/payment.service.mjs +6 -1
- package/esm2020/lib/core-library.service.mjs +2 -1
- package/fesm2015/xsolla-payment-client-core.mjs +357 -24
- package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
- package/fesm2020/xsolla-payment-client-core.mjs +357 -24
- package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/payment/form/controls/{card-number-control.config.d.ts → card-number/card-number-control.config.d.ts} +2 -2
- package/lib/core/payment/form/controls/checkbox/checkbox-control.config.d.ts +6 -0
- package/lib/core/payment/form/controls/coupon/coupon-control.config.d.ts +8 -0
- package/lib/core/payment/form/controls/radio-control/radio-control.config.d.ts +6 -0
- package/lib/core/payment/form/controls/radio-control/radio-option.interface.d.ts +5 -0
- package/lib/core/payment/form/controls/search-select/search-select-control.config.d.ts +11 -0
- package/lib/core/payment/form/controls/search-select/search-select-option.interface.d.ts +19 -0
- package/lib/core/payment/form/controls/search-select/select-option.interface.d.ts +13 -0
- package/lib/core/payment/form/converters/{birth-date.converter.d.ts → birth-date/birth-date.converter.d.ts} +4 -4
- package/lib/core/payment/form/converters/card-month/card-month.converter.d.ts +16 -0
- package/lib/core/payment/form/converters/{card-number.converter.d.ts → card-number/card-number.converter.d.ts} +6 -6
- package/lib/core/payment/form/converters/card-year/card-year.converter.d.ts +16 -0
- package/lib/core/payment/form/converters/{cardholder-name.converter.d.ts → cardholder-name/cardholder-name.converter.d.ts} +4 -4
- package/lib/core/payment/form/converters/checkbox/checkbox.converter.d.ts +16 -0
- package/lib/core/payment/form/converters/converter.abstract.d.ts +1 -1
- package/lib/core/payment/form/converters/coupon/coupon.converter.d.ts +13 -0
- package/lib/core/payment/form/converters/{cpf-name.converter.d.ts → cpf-name/cpf-name.converter.d.ts} +4 -4
- package/lib/core/payment/form/converters/{cpf-number.converter.d.ts → cpf-number/cpf-number.converter.d.ts} +4 -4
- package/lib/core/payment/form/converters/cvv/cvv-form-state.interface.d.ts +3 -0
- package/lib/core/payment/form/converters/{cvv.converter.d.ts → cvv/cvv.converter.d.ts} +8 -7
- package/lib/core/payment/form/converters/{email.converter.d.ts → email/email.converter.d.ts} +5 -5
- package/lib/core/payment/form/converters/pin/pin.converter.d.ts +11 -0
- package/lib/core/payment/form/converters/pricepoint/pricepoint.converter.d.ts +14 -0
- package/lib/core/payment/form/converters/radio-group/radio-group.converter.d.ts +11 -0
- package/lib/core/payment/form/converters/select/select.converter.d.ts +11 -0
- package/lib/core/payment/form/converters/{text.converter.d.ts → text/text.converter.d.ts} +4 -4
- package/lib/core/payment/form/converters/{zip.converter.d.ts → zip/zip.converter.d.ts} +5 -5
- package/lib/core/payment/form/field-form-states.interface.d.ts +4 -0
- package/lib/core/payment/form/form.service.d.ts +4 -0
- package/lib/core/payment/form/validators/card-month/card-month.validator.d.ts +5 -0
- package/lib/core/payment/form/validators/card-year/card-year.validator.d.ts +5 -0
- package/lib/core/payment/form/validators/coupon/coupon-validator.d.ts +2 -0
- package/lib/core/payment/form/validators/{credit-card-min-length.validator.d.ts → credit-card-length/credit-card-min-length.validator.d.ts} +1 -1
- package/lib/core/payment/form/validators/{email-validator.d.ts → email/email-validator.d.ts} +1 -1
- package/lib/core/payment/form/validators/{restricted-value.validator.d.ts → restricted-value/restricted-value.validator.d.ts} +1 -1
- package/lib/core/payment/payment.interface.d.ts +2 -0
- package/lib/core/payment/payment.service.d.ts +2 -0
- package/package.json +1 -1
- package/xsolla-payment-client-core-0.1.6.tgz +0 -0
- package/esm2020/lib/core/payment/form/controls/card-number-control.config.mjs +0 -10
- package/esm2020/lib/core/payment/form/converters/birth-date.converter.mjs +0 -38
- package/esm2020/lib/core/payment/form/converters/card-expiration.converter.mjs +0 -36
- package/esm2020/lib/core/payment/form/converters/card-number.converter.mjs +0 -45
- package/esm2020/lib/core/payment/form/converters/cardholder-name.converter.mjs +0 -25
- package/esm2020/lib/core/payment/form/converters/cpf-name-regex.variable.mjs +0 -2
- package/esm2020/lib/core/payment/form/converters/cpf-name.converter.mjs +0 -34
- package/esm2020/lib/core/payment/form/converters/cpf-number.converter.mjs +0 -31
- package/esm2020/lib/core/payment/form/converters/cvv.converter.mjs +0 -50
- package/esm2020/lib/core/payment/form/converters/email.converter.mjs +0 -29
- package/esm2020/lib/core/payment/form/converters/text.converter.mjs +0 -19
- package/esm2020/lib/core/payment/form/converters/zip.converter.mjs +0 -67
- package/esm2020/lib/core/payment/form/validators/birth-date.validator.mjs +0 -37
- package/esm2020/lib/core/payment/form/validators/credit-card-min-length.validator.mjs +0 -32
- package/esm2020/lib/core/payment/form/validators/email-validator.mjs +0 -7
- package/esm2020/lib/core/payment/form/validators/required-validator.mjs +0 -6
- package/esm2020/lib/core/payment/form/validators/restricted-value.validator.mjs +0 -6
- package/lib/core/payment/form/converters/card-expiration.converter.d.ts +0 -16
- package/xsolla-payment-client-core-0.1.5.tgz +0 -0
- /package/lib/core/payment/form/converters/{cpf-name-regex.variable.d.ts → cpf-name/cpf-name-regex.variable.d.ts} +0 -0
- /package/lib/core/payment/form/validators/{birth-date.validator.d.ts → birth-date/birth-date.validator.d.ts} +0 -0
- /package/lib/core/payment/form/validators/{required-validator.d.ts → required/required.validator.d.ts} +0 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Converter } from '../converter.abstract';
|
|
3
|
+
import { Validators } from '@angular/forms';
|
|
4
|
+
import { TextControlConfig } from '../../controls/text-control.config';
|
|
5
|
+
import { FieldNames } from '../../../field-names.enum';
|
|
6
|
+
import { convert } from '../../validators/convert.function';
|
|
7
|
+
import { CreditCardTypes } from '../../../../credit-card/credit-card-types.enum';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../../../sync/sync.service";
|
|
10
|
+
export class CvvConverter extends Converter {
|
|
11
|
+
constructor(syncService) {
|
|
12
|
+
super(syncService);
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-magic-numbers
|
|
14
|
+
this.maxFieldLength = 4;
|
|
15
|
+
}
|
|
16
|
+
getValidators(field, formState) {
|
|
17
|
+
const validators = super.getValidators(field);
|
|
18
|
+
const activeCardType = formState ? formState.activeCardType : null;
|
|
19
|
+
const getPatternValidator = (pattern) => convert(Validators.pattern(pattern), `Enter a valid CVV/CVC`);
|
|
20
|
+
switch (activeCardType) {
|
|
21
|
+
case CreditCardTypes.AMERICAN_EXPRESS: {
|
|
22
|
+
this.maxFieldLength = 4;
|
|
23
|
+
validators.push(getPatternValidator(/^\d{4}$/));
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
case CreditCardTypes.MAESTRO: {
|
|
27
|
+
this.maxFieldLength = 3;
|
|
28
|
+
validators.push(getPatternValidator(/^\d{0,3}$/));
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
default: {
|
|
32
|
+
this.maxFieldLength = 3;
|
|
33
|
+
validators.push(getPatternValidator(/^\d{3}$/));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return validators;
|
|
37
|
+
}
|
|
38
|
+
createControlConfig(field, formState) {
|
|
39
|
+
const config = this.createDefaultControlConfig(TextControlConfig, field);
|
|
40
|
+
config.maskConfig = {
|
|
41
|
+
mask: () => new Array(this.maxFieldLength).fill('9').join(''),
|
|
42
|
+
unmaskModelValue: false,
|
|
43
|
+
guide: false,
|
|
44
|
+
};
|
|
45
|
+
config.tooltip = {
|
|
46
|
+
text: 'The code is on the back of your card',
|
|
47
|
+
image: 'cvv',
|
|
48
|
+
parentField: FieldNames.cvv,
|
|
49
|
+
position: 'input',
|
|
50
|
+
analyticsAction: 'show-cvv-tooltip',
|
|
51
|
+
};
|
|
52
|
+
config.inputMode = 'numeric';
|
|
53
|
+
config.shouldHideUserInput = this.shouldHideUserInput();
|
|
54
|
+
config.disabled = formState?.disabled ?? false;
|
|
55
|
+
return config;
|
|
56
|
+
}
|
|
57
|
+
getAutocomplete() {
|
|
58
|
+
return 'cc-csc';
|
|
59
|
+
}
|
|
60
|
+
getDataType() {
|
|
61
|
+
return 'password';
|
|
62
|
+
}
|
|
63
|
+
shouldHideUserInput() {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
CvvConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CvvConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
68
|
+
CvvConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CvvConverter });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CvvConverter, decorators: [{
|
|
70
|
+
type: Injectable
|
|
71
|
+
}], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Z2LmNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS9jb252ZXJ0ZXJzL2N2di9jdnYuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWxELE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7O0FBR2pGLE1BQU0sT0FBTyxZQUFhLFNBQVEsU0FBUztJQUl6QyxZQUFtQixXQUF3QjtRQUN6QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFKckIsK0RBQStEO1FBQ3ZELG1CQUFjLEdBQUcsQ0FBQyxDQUFDO0lBSTNCLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBWSxFQUFFLFNBQXdCO1FBQ3pELE1BQU0sVUFBVSxHQUFrQixLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ25FLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxPQUFlLEVBQWUsRUFBRSxDQUMzRCxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBRWhFLFFBQVEsY0FBYyxFQUFFO1lBQ3RCLEtBQUssZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO2dCQUN4QixVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hELE1BQU07YUFDUDtZQUNELEtBQUssZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM1QixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztnQkFDeEIsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUNsRCxNQUFNO2FBQ1A7WUFDRCxPQUFPLENBQUMsQ0FBQztnQkFDUCxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztnQkFDeEIsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2FBQ2pEO1NBQ0Y7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRVMsbUJBQW1CLENBQzNCLEtBQVksRUFDWixTQUFvQjtRQUVwQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFekUsTUFBTSxDQUFDLFVBQVUsR0FBRztZQUNsQixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzdELGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDO1FBRUYsTUFBTSxDQUFDLE9BQU8sR0FBRztZQUNmLElBQUksRUFBRSxzQ0FBc0M7WUFDNUMsS0FBSyxFQUFFLEtBQUs7WUFDWixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUc7WUFDM0IsUUFBUSxFQUFFLE9BQU87WUFDakIsZUFBZSxFQUFFLGtCQUFrQjtTQUNwQyxDQUFDO1FBRUYsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDN0IsTUFBTSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxRQUFRLEdBQUcsU0FBUyxFQUFFLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFFL0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVTLGVBQWU7UUFDdkIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVTLG1CQUFtQjtRQUMzQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O3lHQXZFVSxZQUFZOzZHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnZlcnRlciB9IGZyb20gJy4uL2NvbnZlcnRlci5hYnN0cmFjdCc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybVN0YXRlIH0gZnJvbSAnLi4vLi4vZm9ybS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGV4dENvbnRyb2xDb25maWcgfSBmcm9tICcuLi8uLi9jb250cm9scy90ZXh0LWNvbnRyb2wuY29uZmlnJztcbmltcG9ydCB7IEZpZWxkTmFtZXMgfSBmcm9tICcuLi8uLi8uLi9maWVsZC1uYW1lcy5lbnVtJztcbmltcG9ydCB7IEN2dkZvcm1TdGF0ZSB9IGZyb20gJy4vY3Z2LWZvcm0tc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IGNvbnZlcnQgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL2NvbnZlcnQuZnVuY3Rpb24nO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQtdHlwZXMuZW51bSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDdnZDb252ZXJ0ZXIgZXh0ZW5kcyBDb252ZXJ0ZXIge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW1hZ2ljLW51bWJlcnNcbiAgcHJpdmF0ZSBtYXhGaWVsZExlbmd0aCA9IDQ7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSkge1xuICAgIHN1cGVyKHN5bmNTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWxpZGF0b3JzKGZpZWxkOiBGaWVsZCwgZm9ybVN0YXRlPzogQ3Z2Rm9ybVN0YXRlKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IHN1cGVyLmdldFZhbGlkYXRvcnMoZmllbGQpO1xuICAgIGNvbnN0IGFjdGl2ZUNhcmRUeXBlID0gZm9ybVN0YXRlID8gZm9ybVN0YXRlLmFjdGl2ZUNhcmRUeXBlIDogbnVsbDtcbiAgICBjb25zdCBnZXRQYXR0ZXJuVmFsaWRhdG9yID0gKHBhdHRlcm46IFJlZ0V4cCk6IFZhbGlkYXRvckZuID0+XG4gICAgICBjb252ZXJ0KFZhbGlkYXRvcnMucGF0dGVybihwYXR0ZXJuKSwgYEVudGVyIGEgdmFsaWQgQ1ZWL0NWQ2ApO1xuXG4gICAgc3dpdGNoIChhY3RpdmVDYXJkVHlwZSkge1xuICAgICAgY2FzZSBDcmVkaXRDYXJkVHlwZXMuQU1FUklDQU5fRVhQUkVTUzoge1xuICAgICAgICB0aGlzLm1heEZpZWxkTGVuZ3RoID0gNDtcbiAgICAgICAgdmFsaWRhdG9ycy5wdXNoKGdldFBhdHRlcm5WYWxpZGF0b3IoL15cXGR7NH0kLykpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgQ3JlZGl0Q2FyZFR5cGVzLk1BRVNUUk86IHtcbiAgICAgICAgdGhpcy5tYXhGaWVsZExlbmd0aCA9IDM7XG4gICAgICAgIHZhbGlkYXRvcnMucHVzaChnZXRQYXR0ZXJuVmFsaWRhdG9yKC9eXFxkezAsM30kLykpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgdGhpcy5tYXhGaWVsZExlbmd0aCA9IDM7XG4gICAgICAgIHZhbGlkYXRvcnMucHVzaChnZXRQYXR0ZXJuVmFsaWRhdG9yKC9eXFxkezN9JC8pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdmFsaWRhdG9ycztcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb250cm9sQ29uZmlnKFxuICAgIGZpZWxkOiBGaWVsZCxcbiAgICBmb3JtU3RhdGU6IEZvcm1TdGF0ZVxuICApOiBUZXh0Q29udHJvbENvbmZpZyB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jcmVhdGVEZWZhdWx0Q29udHJvbENvbmZpZyhUZXh0Q29udHJvbENvbmZpZywgZmllbGQpO1xuXG4gICAgY29uZmlnLm1hc2tDb25maWcgPSB7XG4gICAgICBtYXNrOiAoKSA9PiBuZXcgQXJyYXkodGhpcy5tYXhGaWVsZExlbmd0aCkuZmlsbCgnOScpLmpvaW4oJycpLFxuICAgICAgdW5tYXNrTW9kZWxWYWx1ZTogZmFsc2UsXG4gICAgICBndWlkZTogZmFsc2UsXG4gICAgfTtcblxuICAgIGNvbmZpZy50b29sdGlwID0ge1xuICAgICAgdGV4dDogJ1RoZSBjb2RlIGlzIG9uIHRoZSBiYWNrIG9mIHlvdXIgY2FyZCcsXG4gICAgICBpbWFnZTogJ2N2dicsXG4gICAgICBwYXJlbnRGaWVsZDogRmllbGROYW1lcy5jdnYsXG4gICAgICBwb3NpdGlvbjogJ2lucHV0JyxcbiAgICAgIGFuYWx5dGljc0FjdGlvbjogJ3Nob3ctY3Z2LXRvb2x0aXAnLFxuICAgIH07XG5cbiAgICBjb25maWcuaW5wdXRNb2RlID0gJ251bWVyaWMnO1xuICAgIGNvbmZpZy5zaG91bGRIaWRlVXNlcklucHV0ID0gdGhpcy5zaG91bGRIaWRlVXNlcklucHV0KCk7XG4gICAgY29uZmlnLmRpc2FibGVkID0gZm9ybVN0YXRlPy5kaXNhYmxlZCA/PyBmYWxzZTtcblxuICAgIHJldHVybiBjb25maWc7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0QXV0b2NvbXBsZXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdjYy1jc2MnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldERhdGFUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdwYXNzd29yZCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2hvdWxkSGlkZVVzZXJJbnB1dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { TextControlConfig } from '../../controls/text-control.config';
|
|
3
|
+
import { convertedEmailValidator } from '../../validators/email/email-validator';
|
|
4
|
+
import { Converter } from '../converter.abstract';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../../sync/sync.service";
|
|
7
|
+
export class EmailConverter extends Converter {
|
|
8
|
+
constructor(syncService) {
|
|
9
|
+
super(syncService);
|
|
10
|
+
}
|
|
11
|
+
getValidators(field) {
|
|
12
|
+
return super.getValidators(field).concat([convertedEmailValidator()]);
|
|
13
|
+
}
|
|
14
|
+
createControlConfig(field) {
|
|
15
|
+
const config = this.createDefaultControlConfig(TextControlConfig, field);
|
|
16
|
+
config.autocomplete = 'email';
|
|
17
|
+
config.icon = 'mail';
|
|
18
|
+
return config;
|
|
19
|
+
}
|
|
20
|
+
getDataType() {
|
|
21
|
+
return 'email';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
EmailConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EmailConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
+
EmailConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EmailConverter });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: EmailConverter, decorators: [{
|
|
27
|
+
type: Injectable
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL2NvbnZlcnRlcnMvZW1haWwvZW1haWwuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFHbEQsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBQzNDLFlBQW1CLFdBQXdCO1FBQ3pDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQVk7UUFDL0IsT0FBTyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxLQUFZO1FBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV6RSxNQUFNLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztRQUM5QixNQUFNLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUVyQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRVMsV0FBVztRQUNuQixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzsyR0FwQlUsY0FBYzsrR0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IFRleHRDb250cm9sQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvdGV4dC1jb250cm9sLmNvbmZpZyc7XG5pbXBvcnQgeyBjb252ZXJ0ZWRFbWFpbFZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvZW1haWwvZW1haWwtdmFsaWRhdG9yJztcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy92YWxpZGF0b3ItZm4udHlwZSc7XG5pbXBvcnQgeyBDb252ZXJ0ZXIgfSBmcm9tICcuLi9jb252ZXJ0ZXIuYWJzdHJhY3QnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRW1haWxDb252ZXJ0ZXIgZXh0ZW5kcyBDb252ZXJ0ZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc3luY1NlcnZpY2U6IFN5bmNTZXJ2aWNlKSB7XG4gICAgc3VwZXIoc3luY1NlcnZpY2UpO1xuICB9XG5cbiAgcHVibGljIGdldFZhbGlkYXRvcnMoZmllbGQ6IEZpZWxkKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgcmV0dXJuIHN1cGVyLmdldFZhbGlkYXRvcnMoZmllbGQpLmNvbmNhdChbY29udmVydGVkRW1haWxWYWxpZGF0b3IoKV0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRyb2xDb25maWcoZmllbGQ6IEZpZWxkKTogVGV4dENvbnRyb2xDb25maWcge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY3JlYXRlRGVmYXVsdENvbnRyb2xDb25maWcoVGV4dENvbnRyb2xDb25maWcsIGZpZWxkKTtcblxuICAgIGNvbmZpZy5hdXRvY29tcGxldGUgPSAnZW1haWwnO1xuICAgIGNvbmZpZy5pY29uID0gJ21haWwnO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREYXRhVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnZW1haWwnO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Converter } from '../converter.abstract';
|
|
3
|
+
import { TextControlConfig } from '../../controls/text-control.config';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../../sync/sync.service";
|
|
6
|
+
export class PinConverter extends Converter {
|
|
7
|
+
constructor(syncService) {
|
|
8
|
+
super(syncService);
|
|
9
|
+
}
|
|
10
|
+
createControlConfig(field) {
|
|
11
|
+
return this.createDefaultControlConfig(TextControlConfig, field);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
PinConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PinConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15
|
+
PinConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PinConverter });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PinConverter, decorators: [{
|
|
17
|
+
type: Injectable
|
|
18
|
+
}], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGluLmNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS9jb252ZXJ0ZXJzL3Bpbi9waW4uY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFHdkUsTUFBTSxPQUFPLFlBQWEsU0FBUSxTQUFTO0lBQ3pDLFlBQW1CLFdBQXdCO1FBQ3pDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRVMsbUJBQW1CLENBQUMsS0FBWTtRQUN4QyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRSxDQUFDOzt5R0FQVSxZQUFZOzZHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnZlcnRlciB9IGZyb20gJy4uL2NvbnZlcnRlci5hYnN0cmFjdCc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRleHRDb250cm9sQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvdGV4dC1jb250cm9sLmNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQaW5Db252ZXJ0ZXIgZXh0ZW5kcyBDb252ZXJ0ZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc3luY1NlcnZpY2U6IFN5bmNTZXJ2aWNlKSB7XG4gICAgc3VwZXIoc3luY1NlcnZpY2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRyb2xDb25maWcoZmllbGQ6IEZpZWxkKTogVGV4dENvbnRyb2xDb25maWcge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZURlZmF1bHRDb250cm9sQ29uZmlnKFRleHRDb250cm9sQ29uZmlnLCBmaWVsZCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Converter } from '../converter.abstract';
|
|
3
|
+
import { TextControlConfig } from '../../controls/text-control.config';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../../sync/sync.service";
|
|
6
|
+
export class PricepointConverter extends Converter {
|
|
7
|
+
constructor(syncService) {
|
|
8
|
+
super(syncService);
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-magic-numbers
|
|
10
|
+
this.maxFieldLength = 30;
|
|
11
|
+
}
|
|
12
|
+
getValidators(field) {
|
|
13
|
+
return super.getValidators(field);
|
|
14
|
+
}
|
|
15
|
+
createControlConfig(field) {
|
|
16
|
+
const config = this.createDefaultControlConfig(TextControlConfig, field);
|
|
17
|
+
config.maskConfig = {
|
|
18
|
+
mask: () => new Array(this.maxFieldLength).fill('9').join(``),
|
|
19
|
+
unmaskModelValue: false,
|
|
20
|
+
guide: false,
|
|
21
|
+
};
|
|
22
|
+
config.placeholder = field.title;
|
|
23
|
+
config.inputMode = 'numeric';
|
|
24
|
+
return config;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
PricepointConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PricepointConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
28
|
+
PricepointConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PricepointConverter });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PricepointConverter, decorators: [{
|
|
30
|
+
type: Injectable
|
|
31
|
+
}], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2Vwb2ludC5jb252ZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vY29udmVydGVycy9wcmljZXBvaW50L3ByaWNlcG9pbnQuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFHdkUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQVM7SUFJaEQsWUFBbUIsV0FBd0I7UUFDekMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBSnJCLCtEQUErRDtRQUM5QyxtQkFBYyxHQUFHLEVBQUUsQ0FBQztJQUlyQyxDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQVk7UUFDL0IsT0FBTyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxLQUFZO1FBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV6RSxNQUFNLENBQUMsVUFBVSxHQUFHO1lBQ2xCLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDN0QsZ0JBQWdCLEVBQUUsS0FBSztZQUN2QixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7UUFFRixNQUFNLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDakMsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFFN0IsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7Z0hBekJVLG1CQUFtQjtvSEFBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnZlcnRlciB9IGZyb20gJy4uL2NvbnZlcnRlci5hYnN0cmFjdCc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRleHRDb250cm9sQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvdGV4dC1jb250cm9sLmNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQcmljZXBvaW50Q29udmVydGVyIGV4dGVuZHMgQ29udmVydGVyIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1tYWdpYy1udW1iZXJzXG4gIHByaXZhdGUgcmVhZG9ubHkgbWF4RmllbGRMZW5ndGggPSAzMDtcblxuICBwdWJsaWMgY29uc3RydWN0b3Ioc3luY1NlcnZpY2U6IFN5bmNTZXJ2aWNlKSB7XG4gICAgc3VwZXIoc3luY1NlcnZpY2UpO1xuICB9XG5cbiAgcHVibGljIGdldFZhbGlkYXRvcnMoZmllbGQ6IEZpZWxkKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgcmV0dXJuIHN1cGVyLmdldFZhbGlkYXRvcnMoZmllbGQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRyb2xDb25maWcoZmllbGQ6IEZpZWxkKTogVGV4dENvbnRyb2xDb25maWcge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY3JlYXRlRGVmYXVsdENvbnRyb2xDb25maWcoVGV4dENvbnRyb2xDb25maWcsIGZpZWxkKTtcblxuICAgIGNvbmZpZy5tYXNrQ29uZmlnID0ge1xuICAgICAgbWFzazogKCkgPT4gbmV3IEFycmF5KHRoaXMubWF4RmllbGRMZW5ndGgpLmZpbGwoJzknKS5qb2luKGBgKSxcbiAgICAgIHVubWFza01vZGVsVmFsdWU6IGZhbHNlLFxuICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICBjb25maWcucGxhY2Vob2xkZXIgPSBmaWVsZC50aXRsZTtcbiAgICBjb25maWcuaW5wdXRNb2RlID0gJ251bWVyaWMnO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Converter } from '../converter.abstract';
|
|
3
|
+
import { RadioControlConfig } from '../../controls/radio-control/radio-control.config';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../../sync/sync.service";
|
|
6
|
+
export class RadioGroupConverter extends Converter {
|
|
7
|
+
constructor(syncService) {
|
|
8
|
+
super(syncService);
|
|
9
|
+
}
|
|
10
|
+
createControlConfig(field) {
|
|
11
|
+
const config = this.createDefaultControlConfig(RadioControlConfig, field);
|
|
12
|
+
config.options = field.options;
|
|
13
|
+
return config;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
RadioGroupConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: RadioGroupConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
17
|
+
RadioGroupConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: RadioGroupConverter });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: RadioGroupConverter, decorators: [{
|
|
19
|
+
type: Injectable
|
|
20
|
+
}], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL2NvbnZlcnRlcnMvcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOzs7QUFJdkYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQVM7SUFDaEQsWUFBbUIsV0FBd0I7UUFDekMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxLQUFZO1FBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUxRSxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUF3QixDQUFDO1FBQ2hELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O2dIQVZVLG1CQUFtQjtvSEFBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb252ZXJ0ZXIgfSBmcm9tICcuLi9jb252ZXJ0ZXIuYWJzdHJhY3QnO1xuaW1wb3J0IHsgU3luY1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zeW5jL3N5bmMuc2VydmljZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSYWRpb0NvbnRyb2xDb25maWcgfSBmcm9tICcuLi8uLi9jb250cm9scy9yYWRpby1jb250cm9sL3JhZGlvLWNvbnRyb2wuY29uZmlnJztcbmltcG9ydCB7IFJhZGlvT3B0aW9uIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvcmFkaW8tY29udHJvbC9yYWRpby1vcHRpb24uaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJhZGlvR3JvdXBDb252ZXJ0ZXIgZXh0ZW5kcyBDb252ZXJ0ZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc3luY1NlcnZpY2U6IFN5bmNTZXJ2aWNlKSB7XG4gICAgc3VwZXIoc3luY1NlcnZpY2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRyb2xDb25maWcoZmllbGQ6IEZpZWxkKTogUmFkaW9Db250cm9sQ29uZmlnIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmNyZWF0ZURlZmF1bHRDb250cm9sQ29uZmlnKFJhZGlvQ29udHJvbENvbmZpZywgZmllbGQpO1xuXG4gICAgY29uZmlnLm9wdGlvbnMgPSBmaWVsZC5vcHRpb25zIGFzIFJhZGlvT3B0aW9uW107XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Converter } from '../converter.abstract';
|
|
3
|
+
import { SearchSelectControlConfig } from '../../controls/search-select/search-select-control.config';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../../sync/sync.service";
|
|
6
|
+
export class SelectConverter extends Converter {
|
|
7
|
+
constructor(syncService) {
|
|
8
|
+
super(syncService);
|
|
9
|
+
}
|
|
10
|
+
createControlConfig(field) {
|
|
11
|
+
const config = this.createDefaultControlConfig(SearchSelectControlConfig, field);
|
|
12
|
+
config.options = field.options;
|
|
13
|
+
return config;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
SelectConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SelectConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
17
|
+
SelectConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SelectConverter });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SelectConverter, decorators: [{
|
|
19
|
+
type: Injectable
|
|
20
|
+
}], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS9jb252ZXJ0ZXJzL3NlbGVjdC9zZWxlY3QuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWxELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDOzs7QUFLdEcsTUFBTSxPQUFPLGVBQWdCLFNBQVEsU0FBUztJQUM1QyxZQUFtQixXQUF3QjtRQUN6QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVTLG1CQUFtQixDQUFDLEtBQVk7UUFDeEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUM1Qyx5QkFBeUIsRUFDekIsS0FBSyxDQUNOLENBQUM7UUFDRixNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUF5QixDQUFDO1FBQ2pELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OzRHQVpVLGVBQWU7Z0hBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udmVydGVyIH0gZnJvbSAnLi4vY29udmVydGVyLmFic3RyYWN0JztcbmltcG9ydCB7IFN5bmNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc3luYy9zeW5jLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VhcmNoU2VsZWN0Q29udHJvbENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL3NlYXJjaC1zZWxlY3Qvc2VhcmNoLXNlbGVjdC1jb250cm9sLmNvbmZpZyc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi9jb250cm9scy9zZWFyY2gtc2VsZWN0L3NlbGVjdC1vcHRpb24uaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbnZlcnRlciBleHRlbmRzIENvbnZlcnRlciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzeW5jU2VydmljZTogU3luY1NlcnZpY2UpIHtcbiAgICBzdXBlcihzeW5jU2VydmljZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlQ29udHJvbENvbmZpZyhmaWVsZDogRmllbGQpOiBTZWFyY2hTZWxlY3RDb250cm9sQ29uZmlnIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmNyZWF0ZURlZmF1bHRDb250cm9sQ29uZmlnKFxuICAgICAgU2VhcmNoU2VsZWN0Q29udHJvbENvbmZpZyxcbiAgICAgIGZpZWxkXG4gICAgKTtcbiAgICBjb25maWcub3B0aW9ucyA9IGZpZWxkLm9wdGlvbnMgYXMgU2VsZWN0T3B0aW9uW107XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { TextControlConfig } from '../../controls/text-control.config';
|
|
3
3
|
import { convert } from '../../validators/convert.function';
|
|
4
|
-
import { restrictedValueValidator } from '../../validators/restricted-value.validator';
|
|
4
|
+
import { restrictedValueValidator } from '../../validators/restricted-value/restricted-value.validator';
|
|
5
5
|
import { Converter } from '../converter.abstract';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "../../../sync/sync.service";
|
|
@@ -25,4 +25,4 @@ StreetNumberConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0"
|
|
|
25
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: StreetNumberConverter, decorators: [{
|
|
26
26
|
type: Injectable
|
|
27
27
|
}], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWV0LW51bWJlci5jb252ZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vY29udmVydGVycy9zdHJlZXQtbnVtYmVyL3N0cmVldC1udW1iZXIuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBR2xELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxTQUFTO0lBQ2xELFlBQW1CLFdBQXdCO1FBQ3pDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRU0sYUFBYSxDQUNsQixLQUFZLEVBQ1osU0FBaUM7UUFFakMsTUFBTSxVQUFVLEdBQWtCLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0QsSUFBSSxTQUFTLEVBQUUsT0FBTyxLQUFLLElBQUksRUFBRTtZQUMvQixVQUFVLENBQUMsSUFBSSxDQUNiLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsRUFBRSwrQkFBK0IsQ0FBQyxDQUN4RSxDQUFDO1NBQ0g7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRVMsbUJBQW1CLENBQUMsS0FBWTtRQUN4QyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRSxDQUFDOztrSEF0QlUscUJBQXFCO3NIQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0cmVldE51bWJlckZvcm1TdGF0ZSB9IGZyb20gJy4vc3RyZWV0LW51bWJlci1mcm9tLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN5bmNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc3luYy9zeW5jLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGV4dENvbnRyb2xDb25maWcgfSBmcm9tICcuLi8uLi9jb250cm9scy90ZXh0LWNvbnRyb2wuY29uZmlnJztcbmltcG9ydCB7IGNvbnZlcnQgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL2NvbnZlcnQuZnVuY3Rpb24nO1xuaW1wb3J0IHsgcmVzdHJpY3RlZFZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy9yZXN0cmljdGVkLXZhbHVlL3Jlc3RyaWN0ZWQtdmFsdWUudmFsaWRhdG9yJztcbmltcG9ydCB7IENvbnZlcnRlciB9IGZyb20gJy4uL2NvbnZlcnRlci5hYnN0cmFjdCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTdHJlZXROdW1iZXJDb252ZXJ0ZXIgZXh0ZW5kcyBDb252ZXJ0ZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc3luY1NlcnZpY2U6IFN5bmNTZXJ2aWNlKSB7XG4gICAgc3VwZXIoc3luY1NlcnZpY2UpO1xuICB9XG5cbiAgcHVibGljIGdldFZhbGlkYXRvcnMoXG4gICAgZmllbGQ6IEZpZWxkLFxuICAgIGZvcm1TdGF0ZT86IFN0cmVldE51bWJlckZvcm1TdGF0ZVxuICApOiBWYWxpZGF0b3JGbltdIHtcbiAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gc3VwZXIuZ2V0VmFsaWRhdG9ycyhmaWVsZCk7XG5cbiAgICBpZiAoZm9ybVN0YXRlPy5jb3VudHJ5ID09PSAnQkwnKSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2goXG4gICAgICAgIGNvbnZlcnQocmVzdHJpY3RlZFZhbHVlVmFsaWRhdG9yKCcwJyksIGBFbnRlciBhIHZhbGlkIGJ1aWxkaW5nIG51bWJlcmApXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0b3JzO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRyb2xDb25maWcoZmllbGQ6IEZpZWxkKTogVGV4dENvbnRyb2xDb25maWcge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZURlZmF1bHRDb250cm9sQ29uZmlnKFRleHRDb250cm9sQ29uZmlnLCBmaWVsZCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { TextControlConfig } from '../../controls/text-control.config';
|
|
3
|
+
import { Converter } from '../converter.abstract';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../../sync/sync.service";
|
|
6
|
+
export class TextConverter extends Converter {
|
|
7
|
+
constructor(syncService) {
|
|
8
|
+
super(syncService);
|
|
9
|
+
}
|
|
10
|
+
createControlConfig(field) {
|
|
11
|
+
return this.createDefaultControlConfig(TextControlConfig, field);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
TextConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TextConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15
|
+
TextConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TextConverter });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TextConverter, decorators: [{
|
|
17
|
+
type: Injectable
|
|
18
|
+
}], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb252ZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vY29udmVydGVycy90ZXh0L3RleHQuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFHbEQsTUFBTSxPQUFPLGFBQWMsU0FBUSxTQUFTO0lBQzFDLFlBQW1CLFdBQXdCO1FBQ3pDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRVMsbUJBQW1CLENBQUMsS0FBWTtRQUN4QyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRSxDQUFDOzswR0FQVSxhQUFhOzhHQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN5bmNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc3luYy9zeW5jLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGV4dENvbnRyb2xDb25maWcgfSBmcm9tICcuLi8uLi9jb250cm9scy90ZXh0LWNvbnRyb2wuY29uZmlnJztcbmltcG9ydCB7IENvbnZlcnRlciB9IGZyb20gJy4uL2NvbnZlcnRlci5hYnN0cmFjdCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUZXh0Q29udmVydGVyIGV4dGVuZHMgQ29udmVydGVyIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSkge1xuICAgIHN1cGVyKHN5bmNTZXJ2aWNlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb250cm9sQ29uZmlnKGZpZWxkOiBGaWVsZCk6IFRleHRDb250cm9sQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVEZWZhdWx0Q29udHJvbENvbmZpZyhUZXh0Q29udHJvbENvbmZpZywgZmllbGQpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import { TextControlConfig } from '../../controls/text-control.config';
|
|
4
|
+
import { convert } from '../../validators/convert.function';
|
|
5
|
+
import { restrictedValueValidator } from '../../validators/restricted-value/restricted-value.validator';
|
|
6
|
+
import { Converter } from '../converter.abstract';
|
|
7
|
+
import { masksFunctionsMap } from '../../masks-functions.map';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../../../sync/sync.service";
|
|
10
|
+
import * as i2 from "../../../../country/country.service";
|
|
11
|
+
export class ZipConverter extends Converter {
|
|
12
|
+
constructor(syncService, countryService) {
|
|
13
|
+
super(syncService);
|
|
14
|
+
this.countryService = countryService;
|
|
15
|
+
this.minLength = 3;
|
|
16
|
+
this.maxLength = 10;
|
|
17
|
+
this.usCountryLength = 5;
|
|
18
|
+
}
|
|
19
|
+
get isUsCountry() {
|
|
20
|
+
return this.countryService.getCountry() === 'US';
|
|
21
|
+
}
|
|
22
|
+
getValidators(field) {
|
|
23
|
+
const minLength = this.isUsCountry ? this.usCountryLength : this.minLength;
|
|
24
|
+
const maxLength = this.isUsCountry ? this.usCountryLength : this.maxLength;
|
|
25
|
+
const validators = super
|
|
26
|
+
.getValidators(field)
|
|
27
|
+
.concat([
|
|
28
|
+
convert(Validators.minLength(minLength), `Enter at least ${minLength} characters`),
|
|
29
|
+
convert(Validators.maxLength(maxLength), `Enter no more than ${maxLength} characters`),
|
|
30
|
+
]);
|
|
31
|
+
if (this.isUsCountry) {
|
|
32
|
+
validators.push(convert(restrictedValueValidator('00000'), 'Enter a valid ZIP code'));
|
|
33
|
+
}
|
|
34
|
+
return validators;
|
|
35
|
+
}
|
|
36
|
+
createControlConfig(field) {
|
|
37
|
+
const config = this.createDefaultControlConfig(TextControlConfig, field);
|
|
38
|
+
config.icon = 'location';
|
|
39
|
+
if (this.isUsCountry) {
|
|
40
|
+
config.maskConfig = {
|
|
41
|
+
guide: false,
|
|
42
|
+
unmaskModelValue: true,
|
|
43
|
+
showMask: true,
|
|
44
|
+
};
|
|
45
|
+
config.inputMode = 'numeric';
|
|
46
|
+
if (masksFunctionsMap['zip']) {
|
|
47
|
+
config.maskConfig.mask = masksFunctionsMap['zip'];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
config.maxLength = this.maxLength;
|
|
52
|
+
}
|
|
53
|
+
return config;
|
|
54
|
+
}
|
|
55
|
+
getAutocomplete() {
|
|
56
|
+
return 'postal-code';
|
|
57
|
+
}
|
|
58
|
+
getDataType() {
|
|
59
|
+
return 'text';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
ZipConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ZipConverter, deps: [{ token: i1.SyncService }, { token: i2.CountryService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
63
|
+
ZipConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ZipConverter });
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ZipConverter, decorators: [{
|
|
65
|
+
type: Injectable
|
|
66
|
+
}], ctorParameters: function () { return [{ type: i1.SyncService }, { type: i2.CountryService }]; } });
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemlwLmNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS9jb252ZXJ0ZXJzL3ppcC96aXAuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXpELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFJOUQsTUFBTSxPQUFPLFlBQWEsU0FBUSxTQUFTO0lBS3pDLFlBQ0UsV0FBd0IsRUFDUCxjQUE4QjtRQUUvQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFGRixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFOaEMsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixvQkFBZSxHQUFHLENBQUMsQ0FBQztJQU9yQyxDQUFDO0lBRUQsSUFBWSxXQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsS0FBSyxJQUFJLENBQUM7SUFDbkQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFZO1FBQy9CLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDM0UsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMzRSxNQUFNLFVBQVUsR0FBa0IsS0FBSzthQUNwQyxhQUFhLENBQUMsS0FBSyxDQUFDO2FBQ3BCLE1BQU0sQ0FBQztZQUNOLE9BQU8sQ0FDTCxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUMvQixrQkFBa0IsU0FBUyxhQUFhLENBQ3pDO1lBRUQsT0FBTyxDQUNMLFVBQVUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQy9CLHNCQUFzQixTQUFTLGFBQWEsQ0FDN0M7U0FDRixDQUFDLENBQUM7UUFFTCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsVUFBVSxDQUFDLElBQUksQ0FDYixPQUFPLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLEVBQUUsd0JBQXdCLENBQUMsQ0FDckUsQ0FBQztTQUNIO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVTLG1CQUFtQixDQUFDLEtBQVk7UUFDeEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1FBRXpCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixNQUFNLENBQUMsVUFBVSxHQUFHO2dCQUNsQixLQUFLLEVBQUUsS0FBSztnQkFDWixnQkFBZ0IsRUFBRSxJQUFJO2dCQUN0QixRQUFRLEVBQUUsSUFBSTthQUNELENBQUM7WUFDaEIsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7WUFFN0IsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDM0IsTUFBTSxDQUFDLFVBQXlCLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ25FO1NBQ0Y7YUFBTTtZQUNMLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUNuQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFUyxlQUFlO1FBQ3ZCLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFUyxXQUFXO1FBQ25CLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O3lHQXRFVSxZQUFZOzZHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ291bnRyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3VudHJ5L2NvdW50cnkuc2VydmljZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IFRleHRDb250cm9sQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvdGV4dC1jb250cm9sLmNvbmZpZyc7XG5pbXBvcnQgeyBjb252ZXJ0IH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy9jb252ZXJ0LmZ1bmN0aW9uJztcbmltcG9ydCB7IHJlc3RyaWN0ZWRWYWx1ZVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvcmVzdHJpY3RlZC12YWx1ZS9yZXN0cmljdGVkLXZhbHVlLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBDb252ZXJ0ZXIgfSBmcm9tICcuLi9jb252ZXJ0ZXIuYWJzdHJhY3QnO1xuaW1wb3J0IHsgbWFza3NGdW5jdGlvbnNNYXAgfSBmcm9tICcuLi8uLi9tYXNrcy1mdW5jdGlvbnMubWFwJztcbmltcG9ydCB7IE1hc2tDb25maWcgfSBmcm9tICcuLi8uLi9tYXNrLWNvbmZpZy5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgWmlwQ29udmVydGVyIGV4dGVuZHMgQ29udmVydGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBtaW5MZW5ndGggPSAzO1xuICBwcml2YXRlIHJlYWRvbmx5IG1heExlbmd0aCA9IDEwO1xuICBwcml2YXRlIHJlYWRvbmx5IHVzQ291bnRyeUxlbmd0aCA9IDU7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvdW50cnlTZXJ2aWNlOiBDb3VudHJ5U2VydmljZVxuICApIHtcbiAgICBzdXBlcihzeW5jU2VydmljZSk7XG4gIH1cblxuICBwcml2YXRlIGdldCBpc1VzQ291bnRyeSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb3VudHJ5U2VydmljZS5nZXRDb3VudHJ5KCkgPT09ICdVUyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0VmFsaWRhdG9ycyhmaWVsZDogRmllbGQpOiBWYWxpZGF0b3JGbltdIHtcbiAgICBjb25zdCBtaW5MZW5ndGggPSB0aGlzLmlzVXNDb3VudHJ5ID8gdGhpcy51c0NvdW50cnlMZW5ndGggOiB0aGlzLm1pbkxlbmd0aDtcbiAgICBjb25zdCBtYXhMZW5ndGggPSB0aGlzLmlzVXNDb3VudHJ5ID8gdGhpcy51c0NvdW50cnlMZW5ndGggOiB0aGlzLm1heExlbmd0aDtcbiAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gc3VwZXJcbiAgICAgIC5nZXRWYWxpZGF0b3JzKGZpZWxkKVxuICAgICAgLmNvbmNhdChbXG4gICAgICAgIGNvbnZlcnQoXG4gICAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgobWluTGVuZ3RoKSxcbiAgICAgICAgICBgRW50ZXIgYXQgbGVhc3QgJHttaW5MZW5ndGh9IGNoYXJhY3RlcnNgXG4gICAgICAgICksXG5cbiAgICAgICAgY29udmVydChcbiAgICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aChtYXhMZW5ndGgpLFxuICAgICAgICAgIGBFbnRlciBubyBtb3JlIHRoYW4gJHttYXhMZW5ndGh9IGNoYXJhY3RlcnNgXG4gICAgICAgICksXG4gICAgICBdKTtcblxuICAgIGlmICh0aGlzLmlzVXNDb3VudHJ5KSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2goXG4gICAgICAgIGNvbnZlcnQocmVzdHJpY3RlZFZhbHVlVmFsaWRhdG9yKCcwMDAwMCcpLCAnRW50ZXIgYSB2YWxpZCBaSVAgY29kZScpXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0b3JzO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRyb2xDb25maWcoZmllbGQ6IEZpZWxkKTogVGV4dENvbnRyb2xDb25maWcge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY3JlYXRlRGVmYXVsdENvbnRyb2xDb25maWcoVGV4dENvbnRyb2xDb25maWcsIGZpZWxkKTtcbiAgICBjb25maWcuaWNvbiA9ICdsb2NhdGlvbic7XG5cbiAgICBpZiAodGhpcy5pc1VzQ291bnRyeSkge1xuICAgICAgY29uZmlnLm1hc2tDb25maWcgPSB7XG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICAgICAgdW5tYXNrTW9kZWxWYWx1ZTogdHJ1ZSxcbiAgICAgICAgc2hvd01hc2s6IHRydWUsXG4gICAgICB9IGFzIE1hc2tDb25maWc7XG4gICAgICBjb25maWcuaW5wdXRNb2RlID0gJ251bWVyaWMnO1xuXG4gICAgICBpZiAobWFza3NGdW5jdGlvbnNNYXBbJ3ppcCddKSB7XG4gICAgICAgIChjb25maWcubWFza0NvbmZpZyBhcyBNYXNrQ29uZmlnKS5tYXNrID0gbWFza3NGdW5jdGlvbnNNYXBbJ3ppcCddO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25maWcubWF4TGVuZ3RoID0gdGhpcy5tYXhMZW5ndGg7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRBdXRvY29tcGxldGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3Bvc3RhbC1jb2RlJztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREYXRhVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAndGV4dCc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZm9ybS1zdGF0ZXMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL2ZpZWxkLWZvcm0tc3RhdGVzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybVN0YXRlIH0gZnJvbSAnLi9mb3JtLXN0YXRlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRGb3JtU3RhdGVzIHtcbiAgW2ZpZWxkTmFtZTogc3RyaW5nXTogRm9ybVN0YXRlO1xufVxuIl19
|
|
@@ -2,19 +2,26 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
3
3
|
import { ControlConfigService } from './controls/control-config.service';
|
|
4
4
|
import { convertersMap, convertersMapToken } from './converters/converters-map';
|
|
5
|
-
import { EmailConverter } from './converters/email.converter';
|
|
6
|
-
import { ZipConverter } from './converters/zip.converter';
|
|
5
|
+
import { EmailConverter } from './converters/email/email.converter';
|
|
6
|
+
import { ZipConverter } from './converters/zip/zip.converter';
|
|
7
7
|
import { FormService } from './form.service';
|
|
8
|
-
import { CardNumberConverter } from './converters/card-number.converter';
|
|
9
|
-
import {
|
|
10
|
-
import { CvvConverter } from './converters/cvv.converter';
|
|
8
|
+
import { CardNumberConverter } from './converters/card-number/card-number.converter';
|
|
9
|
+
import { CardMonthConverter } from './converters/card-month/card-month.converter';
|
|
10
|
+
import { CvvConverter } from './converters/cvv/cvv.converter';
|
|
11
11
|
import { ValidatorsModule } from './validators/validators.module';
|
|
12
|
-
import { BirthDateConverter } from './converters/birth-date.converter';
|
|
13
|
-
import { CardholderNameConverter } from './converters/cardholder-name.converter';
|
|
14
|
-
import { CpfNameConverter } from './converters/cpf-name.converter';
|
|
15
|
-
import { CpfNumberConverter } from './converters/cpf-number.converter';
|
|
12
|
+
import { BirthDateConverter } from './converters/birth-date/birth-date.converter';
|
|
13
|
+
import { CardholderNameConverter } from './converters/cardholder-name/cardholder-name.converter';
|
|
14
|
+
import { CpfNameConverter } from './converters/cpf-name/cpf-name.converter';
|
|
15
|
+
import { CpfNumberConverter } from './converters/cpf-number/cpf-number.converter';
|
|
16
16
|
import { StreetNumberConverter } from './converters/street-number/street-number.converter';
|
|
17
|
-
import { TextConverter } from './converters/text.converter';
|
|
17
|
+
import { TextConverter } from './converters/text/text.converter';
|
|
18
|
+
import { CardYearConverter } from './converters/card-year/card-year.converter';
|
|
19
|
+
import { CheckboxConverter } from './converters/checkbox/checkbox.converter';
|
|
20
|
+
import { SelectConverter } from './converters/select/select.converter';
|
|
21
|
+
import { PinConverter } from './converters/pin/pin.converter';
|
|
22
|
+
import { RadioGroupConverter } from './converters/radio-group/radio-group.converter';
|
|
23
|
+
import { PricepointConverter } from './converters/pricepoint/pricepoint.converter';
|
|
24
|
+
import { CouponConverter } from './converters/coupon/coupon.converter';
|
|
18
25
|
import * as i0 from "@angular/core";
|
|
19
26
|
export class FormModule {
|
|
20
27
|
}
|
|
@@ -23,17 +30,28 @@ FormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15
|
|
|
23
30
|
FormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormModule, providers: [
|
|
24
31
|
FormService,
|
|
25
32
|
ControlConfigService,
|
|
26
|
-
ZipConverter,
|
|
27
|
-
EmailConverter,
|
|
28
33
|
CardNumberConverter,
|
|
29
|
-
|
|
34
|
+
CardMonthConverter,
|
|
35
|
+
CardYearConverter,
|
|
36
|
+
CvvConverter,
|
|
30
37
|
CvvConverter,
|
|
38
|
+
ZipConverter,
|
|
31
39
|
CardholderNameConverter,
|
|
32
40
|
CpfNumberConverter,
|
|
33
41
|
CpfNameConverter,
|
|
34
42
|
BirthDateConverter,
|
|
35
|
-
StreetNumberConverter,
|
|
36
43
|
TextConverter,
|
|
44
|
+
CheckboxConverter,
|
|
45
|
+
SelectConverter,
|
|
46
|
+
PinConverter,
|
|
47
|
+
RadioGroupConverter,
|
|
48
|
+
EmailConverter,
|
|
49
|
+
EmailConverter,
|
|
50
|
+
EmailConverter,
|
|
51
|
+
StreetNumberConverter,
|
|
52
|
+
PricepointConverter,
|
|
53
|
+
PricepointConverter,
|
|
54
|
+
CouponConverter,
|
|
37
55
|
{ provide: convertersMapToken, useValue: convertersMap },
|
|
38
56
|
], imports: [ReactiveFormsModule, ValidatorsModule] });
|
|
39
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormModule, decorators: [{
|
|
@@ -43,19 +61,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
43
61
|
providers: [
|
|
44
62
|
FormService,
|
|
45
63
|
ControlConfigService,
|
|
46
|
-
ZipConverter,
|
|
47
|
-
EmailConverter,
|
|
48
64
|
CardNumberConverter,
|
|
49
|
-
|
|
65
|
+
CardMonthConverter,
|
|
66
|
+
CardYearConverter,
|
|
67
|
+
CvvConverter,
|
|
50
68
|
CvvConverter,
|
|
69
|
+
ZipConverter,
|
|
51
70
|
CardholderNameConverter,
|
|
52
71
|
CpfNumberConverter,
|
|
53
72
|
CpfNameConverter,
|
|
54
73
|
BirthDateConverter,
|
|
55
|
-
StreetNumberConverter,
|
|
56
74
|
TextConverter,
|
|
75
|
+
CheckboxConverter,
|
|
76
|
+
SelectConverter,
|
|
77
|
+
PinConverter,
|
|
78
|
+
RadioGroupConverter,
|
|
79
|
+
EmailConverter,
|
|
80
|
+
EmailConverter,
|
|
81
|
+
EmailConverter,
|
|
82
|
+
StreetNumberConverter,
|
|
83
|
+
PricepointConverter,
|
|
84
|
+
PricepointConverter,
|
|
85
|
+
CouponConverter,
|
|
57
86
|
{ provide: convertersMapToken, useValue: convertersMap },
|
|
58
87
|
],
|
|
59
88
|
}]
|
|
60
89
|
}] });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFnQ3ZFLE1BQU0sT0FBTyxVQUFVOzt1R0FBVixVQUFVO3dHQUFWLFVBQVUsWUE3QlgsbUJBQW1CLEVBQUUsZ0JBQWdCO3dHQTZCcEMsVUFBVSxhQTVCVjtRQUNULFdBQVc7UUFDWCxvQkFBb0I7UUFDcEIsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIsWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO1FBQ1osdUJBQXVCO1FBQ3ZCLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixpQkFBaUI7UUFDakIsZUFBZTtRQUNmLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsY0FBYztRQUNkLGNBQWM7UUFDZCxjQUFjO1FBQ2QscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7S0FDekQsWUEzQlMsbUJBQW1CLEVBQUUsZ0JBQWdCOzJGQTZCcEMsVUFBVTtrQkE5QnRCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ2hELFNBQVMsRUFBRTt3QkFDVCxXQUFXO3dCQUNYLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO3FCQUN6RDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29udHJvbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvbnRyb2xzL2NvbnRyb2wtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgY29udmVydGVyc01hcCwgY29udmVydGVyc01hcFRva2VuIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2NvbnZlcnRlcnMtbWFwJztcbmltcG9ydCB7IEVtYWlsQ29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2VtYWlsL2VtYWlsLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBaaXBDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvemlwL3ppcC5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgRm9ybVNlcnZpY2UgfSBmcm9tICcuL2Zvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBDYXJkTnVtYmVyQ29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2NhcmQtbnVtYmVyL2NhcmQtbnVtYmVyLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBDYXJkTW9udGhDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvY2FyZC1tb250aC9jYXJkLW1vbnRoLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBDdnZDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvY3Z2L2N2di5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgVmFsaWRhdG9yc01vZHVsZSB9IGZyb20gJy4vdmFsaWRhdG9ycy92YWxpZGF0b3JzLm1vZHVsZSc7XG5pbXBvcnQgeyBCaXJ0aERhdGVDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvYmlydGgtZGF0ZS9iaXJ0aC1kYXRlLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBDYXJkaG9sZGVyTmFtZUNvbnZlcnRlciB9IGZyb20gJy4vY29udmVydGVycy9jYXJkaG9sZGVyLW5hbWUvY2FyZGhvbGRlci1uYW1lLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBDcGZOYW1lQ29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2NwZi1uYW1lL2NwZi1uYW1lLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBDcGZOdW1iZXJDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvY3BmLW51bWJlci9jcGYtbnVtYmVyLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBTdHJlZXROdW1iZXJDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvc3RyZWV0LW51bWJlci9zdHJlZXQtbnVtYmVyLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBUZXh0Q29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL3RleHQvdGV4dC5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgQ2FyZFllYXJDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvY2FyZC15ZWFyL2NhcmQteWVhci5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgQ2hlY2tib3hDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvY2hlY2tib3gvY2hlY2tib3guY29udmVydGVyJztcbmltcG9ydCB7IFNlbGVjdENvbnZlcnRlciB9IGZyb20gJy4vY29udmVydGVycy9zZWxlY3Qvc2VsZWN0LmNvbnZlcnRlcic7XG5pbXBvcnQgeyBQaW5Db252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvcGluL3Bpbi5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgUmFkaW9Hcm91cENvbnZlcnRlciB9IGZyb20gJy4vY29udmVydGVycy9yYWRpby1ncm91cC9yYWRpby1ncm91cC5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgUHJpY2Vwb2ludENvbnZlcnRlciB9IGZyb20gJy4vY29udmVydGVycy9wcmljZXBvaW50L3ByaWNlcG9pbnQuY29udmVydGVyJztcbmltcG9ydCB7IENvdXBvbkNvbnZlcnRlciB9IGZyb20gJy4vY29udmVydGVycy9jb3Vwb24vY291cG9uLmNvbnZlcnRlcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRm9ybVNlcnZpY2UsXG4gICAgQ29udHJvbENvbmZpZ1NlcnZpY2UsXG4gICAgQ2FyZE51bWJlckNvbnZlcnRlcixcbiAgICBDYXJkTW9udGhDb252ZXJ0ZXIsXG4gICAgQ2FyZFllYXJDb252ZXJ0ZXIsXG4gICAgQ3Z2Q29udmVydGVyLFxuICAgIEN2dkNvbnZlcnRlcixcbiAgICBaaXBDb252ZXJ0ZXIsXG4gICAgQ2FyZGhvbGRlck5hbWVDb252ZXJ0ZXIsXG4gICAgQ3BmTnVtYmVyQ29udmVydGVyLFxuICAgIENwZk5hbWVDb252ZXJ0ZXIsXG4gICAgQmlydGhEYXRlQ29udmVydGVyLFxuICAgIFRleHRDb252ZXJ0ZXIsXG4gICAgQ2hlY2tib3hDb252ZXJ0ZXIsXG4gICAgU2VsZWN0Q29udmVydGVyLFxuICAgIFBpbkNvbnZlcnRlcixcbiAgICBSYWRpb0dyb3VwQ29udmVydGVyLFxuICAgIEVtYWlsQ29udmVydGVyLFxuICAgIEVtYWlsQ29udmVydGVyLFxuICAgIEVtYWlsQ29udmVydGVyLFxuICAgIFN0cmVldE51bWJlckNvbnZlcnRlcixcbiAgICBQcmljZXBvaW50Q29udmVydGVyLFxuICAgIFByaWNlcG9pbnRDb252ZXJ0ZXIsXG4gICAgQ291cG9uQ29udmVydGVyLFxuICAgIHsgcHJvdmlkZTogY29udmVydGVyc01hcFRva2VuLCB1c2VWYWx1ZTogY29udmVydGVyc01hcCB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtTW9kdWxlIHt9XG4iXX0=
|
|
@@ -5,6 +5,7 @@ import * as i1 from "./controls/control-config.service";
|
|
|
5
5
|
export class FormService {
|
|
6
6
|
constructor(controlConfigService) {
|
|
7
7
|
this.controlConfigService = controlConfigService;
|
|
8
|
+
this.fieldFormStates = {};
|
|
8
9
|
}
|
|
9
10
|
createForm(fields) {
|
|
10
11
|
const controls = this.getVisibleFields(fields).reduce((result, field) => {
|
|
@@ -16,6 +17,23 @@ export class FormService {
|
|
|
16
17
|
}, {});
|
|
17
18
|
return new UntypedFormGroup(controls);
|
|
18
19
|
}
|
|
20
|
+
updateFieldFormState(form, fields, fieldName, formState) {
|
|
21
|
+
const field = fields.find((fieldItem) => fieldItem.name === fieldName);
|
|
22
|
+
if (!field) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const converter = this.controlConfigService.getConverter(field);
|
|
26
|
+
const control = form.controls[fieldName];
|
|
27
|
+
if (!control) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
this.fieldFormStates[fieldName] = {
|
|
31
|
+
...this.fieldFormStates[fieldName],
|
|
32
|
+
...formState,
|
|
33
|
+
};
|
|
34
|
+
control.setValidators(converter?.getValidators(field, this.fieldFormStates[fieldName]) ?? []);
|
|
35
|
+
control.updateValueAndValidity();
|
|
36
|
+
}
|
|
19
37
|
getVisibleFields(fields) {
|
|
20
38
|
return fields.filter(({ isVisible }) => isVisible === "1" /* XpsBoolean.true */);
|
|
21
39
|
}
|
|
@@ -25,4 +43,4 @@ FormService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version:
|
|
|
25
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormService, decorators: [{
|
|
26
44
|
type: Injectable
|
|
27
45
|
}], ctorParameters: function () { return [{ type: i1.ControlConfigService }]; } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL2Zvcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBc0IsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBUXRFLE1BQU0sT0FBTyxXQUFXO0lBR3RCLFlBQ3FCLG9CQUEwQztRQUExQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBSHhELG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztJQUkxQyxDQUFDO0lBRUcsVUFBVSxDQUFDLE1BQWU7UUFDL0IsTUFBTSxRQUFRLEdBQ1osSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FDbEMsQ0FBQyxNQUE2QyxFQUFFLEtBQVksRUFBRSxFQUFFO1lBQzlELE1BQU0sV0FBVyxHQUNmLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFbEQsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLENBQUM7YUFDbEM7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLEVBQ0QsRUFBRSxDQUNILENBQUM7UUFFSixPQUFPLElBQUksZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLG9CQUFvQixDQUN6QixJQUFzQixFQUN0QixNQUFlLEVBQ2YsU0FBaUIsRUFDakIsU0FBb0I7UUFFcEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDdkIsQ0FBQyxTQUFnQixFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FDbkQsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPO1NBQ1I7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFekMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEdBQUc7WUFDaEMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztZQUNsQyxHQUFHLFNBQVM7U0FDYixDQUFDO1FBQ0YsT0FBTyxDQUFDLGFBQWEsQ0FDbkIsU0FBUyxFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FDdkUsQ0FBQztRQUNGLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxNQUFlO1FBQ3RDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsOEJBQW9CLENBQUMsQ0FBQztJQUN6RSxDQUFDOzt3R0EzRFUsV0FBVzs0R0FBWCxXQUFXOzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBYcHNCb29sZWFuIH0gZnJvbSAnLi4vLi4veHBzLWJvb2xlYW4uZW51bSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb250cm9sQ29uZmlnU2VydmljZSB9IGZyb20gJy4vY29udHJvbHMvY29udHJvbC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBGaWVsZEZvcm1TdGF0ZXMgfSBmcm9tICcuL2ZpZWxkLWZvcm0tc3RhdGVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JtU3RhdGUgfSBmcm9tICcuL2Zvcm0tc3RhdGUuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZvcm1TZXJ2aWNlIHtcbiAgcHVibGljIGZpZWxkRm9ybVN0YXRlczogRmllbGRGb3JtU3RhdGVzID0ge307XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250cm9sQ29uZmlnU2VydmljZTogQ29udHJvbENvbmZpZ1NlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBjcmVhdGVGb3JtKGZpZWxkczogRmllbGRbXSk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIGNvbnN0IGNvbnRyb2xzOiB7IFtuYW1lOiBzdHJpbmddOiBVbnR5cGVkRm9ybUNvbnRyb2wgfSA9XG4gICAgICB0aGlzLmdldFZpc2libGVGaWVsZHMoZmllbGRzKS5yZWR1Y2UoXG4gICAgICAgIChyZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogVW50eXBlZEZvcm1Db250cm9sIH0sIGZpZWxkOiBGaWVsZCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgfCBudWxsID1cbiAgICAgICAgICAgIHRoaXMuY29udHJvbENvbmZpZ1NlcnZpY2UuZ2V0Rm9ybUNvbnRyb2woZmllbGQpO1xuXG4gICAgICAgICAgaWYgKGZvcm1Db250cm9sKSB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBmb3JtQ29udHJvbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9LFxuICAgICAgICB7fVxuICAgICAgKTtcblxuICAgIHJldHVybiBuZXcgVW50eXBlZEZvcm1Hcm91cChjb250cm9scyk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRmllbGRGb3JtU3RhdGUoXG4gICAgZm9ybTogVW50eXBlZEZvcm1Hcm91cCxcbiAgICBmaWVsZHM6IEZpZWxkW10sXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXG4gICAgZm9ybVN0YXRlOiBGb3JtU3RhdGVcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZmllbGQgPSBmaWVsZHMuZmluZChcbiAgICAgIChmaWVsZEl0ZW06IEZpZWxkKSA9PiBmaWVsZEl0ZW0ubmFtZSA9PT0gZmllbGROYW1lXG4gICAgKTtcblxuICAgIGlmICghZmllbGQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb252ZXJ0ZXIgPSB0aGlzLmNvbnRyb2xDb25maWdTZXJ2aWNlLmdldENvbnZlcnRlcihmaWVsZCk7XG4gICAgY29uc3QgY29udHJvbCA9IGZvcm0uY29udHJvbHNbZmllbGROYW1lXTtcblxuICAgIGlmICghY29udHJvbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZmllbGRGb3JtU3RhdGVzW2ZpZWxkTmFtZV0gPSB7XG4gICAgICAuLi50aGlzLmZpZWxkRm9ybVN0YXRlc1tmaWVsZE5hbWVdLFxuICAgICAgLi4uZm9ybVN0YXRlLFxuICAgIH07XG4gICAgY29udHJvbC5zZXRWYWxpZGF0b3JzKFxuICAgICAgY29udmVydGVyPy5nZXRWYWxpZGF0b3JzKGZpZWxkLCB0aGlzLmZpZWxkRm9ybVN0YXRlc1tmaWVsZE5hbWVdKSA/PyBbXVxuICAgICk7XG4gICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBwcml2YXRlIGdldFZpc2libGVGaWVsZHMoZmllbGRzOiBGaWVsZFtdKTogRmllbGRbXSB7XG4gICAgcmV0dXJuIGZpZWxkcy5maWx0ZXIoKHsgaXNWaXNpYmxlIH0pID0+IGlzVmlzaWJsZSA9PT0gWHBzQm9vbGVhbi50cnVlKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { isEmptyInputValue } from '../is-empty-input-value.function';
|
|
2
|
+
export const birthdateValidator = ({ value }) => {
|
|
3
|
+
if (isEmptyInputValue(value) || typeof value !== 'string') {
|
|
4
|
+
return null;
|
|
5
|
+
}
|
|
6
|
+
const error = {
|
|
7
|
+
invalidBirthDate: {
|
|
8
|
+
message: `Enter a valid birth date`,
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
const dateArr = value.split('/');
|
|
12
|
+
const datePartsCount = 3;
|
|
13
|
+
const dayIndex = 0;
|
|
14
|
+
const monthIndex = 1;
|
|
15
|
+
const yearIndex = 2;
|
|
16
|
+
const maxMonths = 12;
|
|
17
|
+
const maxDays = 31;
|
|
18
|
+
const minAge = 16;
|
|
19
|
+
const maxAge = 120;
|
|
20
|
+
if (dateArr.length < datePartsCount) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
if (+dateArr[monthIndex] > maxMonths || +dateArr[dayIndex] > maxDays) {
|
|
24
|
+
return error;
|
|
25
|
+
}
|
|
26
|
+
const currentDate = new Date(+dateArr[yearIndex], +dateArr[monthIndex], +dateArr[dayIndex]);
|
|
27
|
+
const nowDate = new Date();
|
|
28
|
+
if (isNaN(currentDate.getFullYear()) ||
|
|
29
|
+
nowDate.getFullYear() - currentDate.getFullYear() <= minAge ||
|
|
30
|
+
nowDate.getFullYear() - currentDate.getFullYear() > maxAge) {
|
|
31
|
+
return error;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlydGgtZGF0ZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vdmFsaWRhdG9ycy9iaXJ0aC1kYXRlL2JpcnRoLWRhdGUudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXJFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFnQixDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtJQUMzRCxJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUN6RCxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsTUFBTSxLQUFLLEdBQXFCO1FBQzlCLGdCQUFnQixFQUFFO1lBQ2hCLE9BQU8sRUFBRSwwQkFBMEI7U0FDcEM7S0FDRixDQUFDO0lBQ0YsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFDekIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNyQixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDcEIsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNuQixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDbEIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBRW5CLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxjQUFjLEVBQUU7UUFDbkMsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsU0FBUyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLE9BQU8sRUFBRTtRQUNwRSxPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQzFCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUNuQixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFDcEIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQ25CLENBQUM7SUFDRixNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBRTNCLElBQ0UsS0FBSyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxPQUFPLENBQUMsV0FBVyxFQUFFLEdBQUcsV0FBVyxDQUFDLFdBQVcsRUFBRSxJQUFJLE1BQU07UUFDM0QsT0FBTyxDQUFDLFdBQVcsRUFBRSxHQUFHLFdBQVcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxNQUFNLEVBQzFEO1FBQ0EsT0FBTyxLQUFLLENBQUM7S0FDZDtTQUFNO1FBQ0wsT0FBTyxJQUFJLENBQUM7S0FDYjtBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvckZuLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaXNFbXB0eUlucHV0VmFsdWUgfSBmcm9tICcuLi9pcy1lbXB0eS1pbnB1dC12YWx1ZS5mdW5jdGlvbic7XG5cbmV4cG9ydCBjb25zdCBiaXJ0aGRhdGVWYWxpZGF0b3I6IFZhbGlkYXRvckZuID0gKHsgdmFsdWUgfSkgPT4ge1xuICBpZiAoaXNFbXB0eUlucHV0VmFsdWUodmFsdWUpIHx8IHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzID0ge1xuICAgIGludmFsaWRCaXJ0aERhdGU6IHtcbiAgICAgIG1lc3NhZ2U6IGBFbnRlciBhIHZhbGlkIGJpcnRoIGRhdGVgLFxuICAgIH0sXG4gIH07XG4gIGNvbnN0IGRhdGVBcnIgPSB2YWx1ZS5zcGxpdCgnLycpO1xuICBjb25zdCBkYXRlUGFydHNDb3VudCA9IDM7XG4gIGNvbnN0IGRheUluZGV4ID0gMDtcbiAgY29uc3QgbW9udGhJbmRleCA9IDE7XG4gIGNvbnN0IHllYXJJbmRleCA9IDI7XG4gIGNvbnN0IG1heE1vbnRocyA9IDEyO1xuICBjb25zdCBtYXhEYXlzID0gMzE7XG4gIGNvbnN0IG1pbkFnZSA9IDE2O1xuICBjb25zdCBtYXhBZ2UgPSAxMjA7XG5cbiAgaWYgKGRhdGVBcnIubGVuZ3RoIDwgZGF0ZVBhcnRzQ291bnQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICgrZGF0ZUFyclttb250aEluZGV4XSA+IG1heE1vbnRocyB8fCArZGF0ZUFycltkYXlJbmRleF0gPiBtYXhEYXlzKSB7XG4gICAgcmV0dXJuIGVycm9yO1xuICB9XG5cbiAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZShcbiAgICArZGF0ZUFyclt5ZWFySW5kZXhdLFxuICAgICtkYXRlQXJyW21vbnRoSW5kZXhdLFxuICAgICtkYXRlQXJyW2RheUluZGV4XVxuICApO1xuICBjb25zdCBub3dEYXRlID0gbmV3IERhdGUoKTtcblxuICBpZiAoXG4gICAgaXNOYU4oY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKSkgfHxcbiAgICBub3dEYXRlLmdldEZ1bGxZZWFyKCkgLSBjdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpIDw9IG1pbkFnZSB8fFxuICAgIG5vd0RhdGUuZ2V0RnVsbFllYXIoKSAtIGN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkgPiBtYXhBZ2VcbiAgKSB7XG4gICAgcmV0dXJuIGVycm9yO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuIl19
|