taxtank-core 0.29.10 → 0.29.12
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/bundles/taxtank-core.umd.js +27 -26
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/forms/phone/phone.form.js +9 -7
- package/esm2015/lib/forms/sole/sole-contact.form.js +2 -4
- package/esm2015/lib/models/property/property-document.js +2 -2
- package/fesm2015/taxtank-core.js +25 -23
- package/fesm2015/taxtank-core.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { AbstractForm } from '../abstract.form';
|
|
2
|
-
import { Phone } from '../../models/phone/phone';
|
|
3
|
-
import { plainToClass } from 'class-transformer';
|
|
4
2
|
import { FormControl, Validators } from '@angular/forms';
|
|
5
3
|
import { phoneNumberValidator } from '../../validators/phone-number.validator';
|
|
4
|
+
import { PhoneTypeEnum } from '../../db/Enums/phone-type.enum';
|
|
5
|
+
import { Country } from '../../models';
|
|
6
6
|
export class PhoneForm extends AbstractForm {
|
|
7
|
-
constructor(
|
|
7
|
+
constructor(
|
|
8
|
+
// no default value because this form is always built-in, so phone passed from parent form
|
|
9
|
+
phone) {
|
|
8
10
|
super({
|
|
9
|
-
type: new FormControl(phone.type, Validators.required),
|
|
10
|
-
country: new FormControl(phone.country, Validators.required),
|
|
11
|
-
number: new FormControl(phone.number, [Validators.required, phoneNumberValidator()])
|
|
11
|
+
type: new FormControl((phone === null || phone === void 0 ? void 0 : phone.type) || PhoneTypeEnum.MOBILE, Validators.required),
|
|
12
|
+
country: new FormControl((phone === null || phone === void 0 ? void 0 : phone.country) || Country.australia, Validators.required),
|
|
13
|
+
number: new FormControl((phone === null || phone === void 0 ? void 0 : phone.number) || null, [Validators.required, phoneNumberValidator()])
|
|
12
14
|
}, phone);
|
|
13
15
|
}
|
|
14
16
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9waG9uZS9waG9uZS5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZDLE1BQU0sT0FBTyxTQUFVLFNBQVEsWUFBbUI7SUFDaEQ7SUFDRSwwRkFBMEY7SUFDMUYsS0FBYTtRQUViLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxJQUFJLEtBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQy9FLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPLEtBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2xGLE1BQU0sRUFBRSxJQUFJLFdBQVcsQ0FBQyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxNQUFNLEtBQUksSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7U0FDOUYsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNaLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgUGhvbmUgfSBmcm9tICcuLi8uLi9tb2RlbHMvcGhvbmUvcGhvbmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBwaG9uZU51bWJlclZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvcGhvbmUtbnVtYmVyLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBQaG9uZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvcGhvbmUtdHlwZS5lbnVtJztcbmltcG9ydCB7IENvdW50cnkgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgUGhvbmVGb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPFBob25lPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIC8vIG5vIGRlZmF1bHQgdmFsdWUgYmVjYXVzZSB0aGlzIGZvcm0gaXMgYWx3YXlzIGJ1aWx0LWluLCBzbyBwaG9uZSBwYXNzZWQgZnJvbSBwYXJlbnQgZm9ybVxuICAgIHBob25lPzogUGhvbmVcbiAgKSB7XG4gICAgc3VwZXIoe1xuICAgICAgdHlwZTogbmV3IEZvcm1Db250cm9sKHBob25lPy50eXBlIHx8IFBob25lVHlwZUVudW0uTU9CSUxFLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGNvdW50cnk6IG5ldyBGb3JtQ29udHJvbChwaG9uZT8uY291bnRyeSB8fCBDb3VudHJ5LmF1c3RyYWxpYSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBudW1iZXI6IG5ldyBGb3JtQ29udHJvbChwaG9uZT8ubnVtYmVyIHx8IG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBwaG9uZU51bWJlclZhbGlkYXRvcigpXSlcbiAgICB9LCBwaG9uZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,8 +3,6 @@ import { SoleContact } from '../../models';
|
|
|
3
3
|
import { plainToClass } from 'class-transformer';
|
|
4
4
|
import { FormControl, Validators } from '@angular/forms';
|
|
5
5
|
import { AddressForm } from '../address';
|
|
6
|
-
import { PhoneForm } from '../phone';
|
|
7
|
-
import { Phone } from '../../models/phone/phone';
|
|
8
6
|
import { Address } from '../../models/address/address';
|
|
9
7
|
export class SoleContactForm extends AbstractForm {
|
|
10
8
|
constructor(contact = plainToClass(SoleContact, {})) {
|
|
@@ -14,9 +12,9 @@ export class SoleContactForm extends AbstractForm {
|
|
|
14
12
|
firstName: new FormControl(contact.firstName, Validators.required),
|
|
15
13
|
lastName: new FormControl(contact.lastName, Validators.required),
|
|
16
14
|
email: new FormControl(contact.email, [Validators.required, Validators.email]),
|
|
17
|
-
phone: new
|
|
15
|
+
phone: new FormControl(contact.phone),
|
|
18
16
|
address: new AddressForm(contact.address || plainToClass(Address, {}))
|
|
19
17
|
}, contact);
|
|
20
18
|
}
|
|
21
19
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1jb250YWN0LmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvc29sZS9zb2xlLWNvbnRhY3QuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV2RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUF5QjtJQUM1RCxZQUNFLFVBQXVCLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBRXBELEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDeEQsR0FBRyxFQUFFLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2RixTQUFTLEVBQUUsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2xFLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDaEUsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5RSxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNyQyxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdEZvcm0gfSBmcm9tICcuLi9hYnN0cmFjdC5mb3JtJztcbmltcG9ydCB7IFNvbGVDb250YWN0IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWRkcmVzc0Zvcm0gfSBmcm9tICcuLi9hZGRyZXNzJztcbmltcG9ydCB7IEFkZHJlc3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWRkcmVzcy9hZGRyZXNzJztcblxuZXhwb3J0IGNsYXNzIFNvbGVDb250YWN0Rm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxTb2xlQ29udGFjdD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBjb250YWN0OiBTb2xlQ29udGFjdCA9IHBsYWluVG9DbGFzcyhTb2xlQ29udGFjdCwge30pXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbChjb250YWN0Lm5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgYWJuOiBuZXcgRm9ybUNvbnRyb2woY29udGFjdC5hYm4sIFtWYWxpZGF0b3JzLm1pbkxlbmd0aCgxMSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDExKV0pLFxuICAgICAgZmlyc3ROYW1lOiBuZXcgRm9ybUNvbnRyb2woY29udGFjdC5maXJzdE5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgbGFzdE5hbWU6IG5ldyBGb3JtQ29udHJvbChjb250YWN0Lmxhc3ROYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGVtYWlsOiBuZXcgRm9ybUNvbnRyb2woY29udGFjdC5lbWFpbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdKSxcbiAgICAgIHBob25lOiBuZXcgRm9ybUNvbnRyb2woY29udGFjdC5waG9uZSksXG4gICAgICBhZGRyZXNzOiBuZXcgQWRkcmVzc0Zvcm0oY29udGFjdC5hZGRyZXNzIHx8IHBsYWluVG9DbGFzcyhBZGRyZXNzLCB7fSkpXG4gICAgfSwgY29udGFjdCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,7 +4,7 @@ import { AssetEntityTypeEnum } from '../../interfaces/asset-entity-type.enum';
|
|
|
4
4
|
export class PropertyDocument extends PropertyDocumentBase {
|
|
5
5
|
constructor() {
|
|
6
6
|
super(...arguments);
|
|
7
|
-
this.type = AssetTypeEnum.
|
|
7
|
+
this.type = AssetTypeEnum.PROPERTY;
|
|
8
8
|
this.entityType = AssetEntityTypeEnum.PROPERTIES;
|
|
9
9
|
}
|
|
10
10
|
getApiUrlPrefix() {
|
|
@@ -14,4 +14,4 @@ export class PropertyDocument extends PropertyDocumentBase {
|
|
|
14
14
|
return this.property;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZG9jdW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWRvY3VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBR3RHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUk5RSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsb0JBQW9CO0lBQTFEOztRQUNFLFNBQUksR0FBa0IsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUM3QyxlQUFVLEdBQXdCLG1CQUFtQixDQUFDLFVBQVUsQ0FBQztJQVVuRSxDQUFDO0lBUEMsZUFBZTtRQUNiLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHlEb2N1bWVudCBhcyBQcm9wZXJ0eURvY3VtZW50QmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9kb2N1bWVudC9wcm9wZXJ0eS1kb2N1bWVudCc7XG5pbXBvcnQgeyBJQXNzZXQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2Fzc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRG9jdW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RvY3VtZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBBc3NldFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hc3NldC10eXBlLmVudW0nO1xuaW1wb3J0IHsgQXNzZXRFbnRpdHlUeXBlRW51bSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYXNzZXQtZW50aXR5LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBEb2N1bWVudGFibGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RvY3VtZW50YWJsZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuL3Byb3BlcnR5JztcblxuZXhwb3J0IGNsYXNzIFByb3BlcnR5RG9jdW1lbnQgZXh0ZW5kcyBQcm9wZXJ0eURvY3VtZW50QmFzZSBpbXBsZW1lbnRzIElBc3NldCwgSURvY3VtZW50IHtcbiAgdHlwZTogQXNzZXRUeXBlRW51bSA9IEFzc2V0VHlwZUVudW0uUFJPUEVSVFk7XG4gIGVudGl0eVR5cGU6IEFzc2V0RW50aXR5VHlwZUVudW0gPSBBc3NldEVudGl0eVR5cGVFbnVtLlBST1BFUlRJRVM7XG4gIHByb3BlcnR5OiBQcm9wZXJ0eTtcblxuICBnZXRBcGlVcmxQcmVmaXgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBnZXRFbnRpdHkoKTogRG9jdW1lbnRhYmxlIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wZXJ0eTtcbiAgfVxufVxuIl19
|
package/fesm2015/taxtank-core.js
CHANGED
|
@@ -4613,7 +4613,7 @@ class PropertyCategory extends PropertyCategory$1 {
|
|
|
4613
4613
|
class PropertyDocument extends PropertyDocument$1 {
|
|
4614
4614
|
constructor() {
|
|
4615
4615
|
super(...arguments);
|
|
4616
|
-
this.type = AssetTypeEnum.
|
|
4616
|
+
this.type = AssetTypeEnum.PROPERTY;
|
|
4617
4617
|
this.entityType = AssetEntityTypeEnum.PROPERTIES;
|
|
4618
4618
|
}
|
|
4619
4619
|
getApiUrlPrefix() {
|
|
@@ -16170,27 +16170,6 @@ class SoleBusinessLossForm extends AbstractForm {
|
|
|
16170
16170
|
}
|
|
16171
16171
|
}
|
|
16172
16172
|
|
|
16173
|
-
const phonePattern = /^(((\s*)?([- ()]?\d[- ()]?){0,30}(\s*)?)|)$/;
|
|
16174
|
-
/**
|
|
16175
|
-
* Validator for phone number
|
|
16176
|
-
* Allowed special symbols"-", "(", ")"
|
|
16177
|
-
*/
|
|
16178
|
-
function phoneNumberValidator() {
|
|
16179
|
-
return (control) => {
|
|
16180
|
-
return phonePattern.test(control.value) ? null : { phoneInvalid: true };
|
|
16181
|
-
};
|
|
16182
|
-
}
|
|
16183
|
-
|
|
16184
|
-
class PhoneForm extends AbstractForm {
|
|
16185
|
-
constructor(phone = plainToClass(Phone, {})) {
|
|
16186
|
-
super({
|
|
16187
|
-
type: new FormControl(phone.type, Validators.required),
|
|
16188
|
-
country: new FormControl(phone.country, Validators.required),
|
|
16189
|
-
number: new FormControl(phone.number, [Validators.required, phoneNumberValidator()])
|
|
16190
|
-
}, phone);
|
|
16191
|
-
}
|
|
16192
|
-
}
|
|
16193
|
-
|
|
16194
16173
|
class SoleContactForm extends AbstractForm {
|
|
16195
16174
|
constructor(contact = plainToClass(SoleContact, {})) {
|
|
16196
16175
|
super({
|
|
@@ -16199,7 +16178,7 @@ class SoleContactForm extends AbstractForm {
|
|
|
16199
16178
|
firstName: new FormControl(contact.firstName, Validators.required),
|
|
16200
16179
|
lastName: new FormControl(contact.lastName, Validators.required),
|
|
16201
16180
|
email: new FormControl(contact.email, [Validators.required, Validators.email]),
|
|
16202
|
-
phone: new
|
|
16181
|
+
phone: new FormControl(contact.phone),
|
|
16203
16182
|
address: new AddressForm(contact.address || plainToClass(Address, {}))
|
|
16204
16183
|
}, contact);
|
|
16205
16184
|
}
|
|
@@ -16680,6 +16659,29 @@ class LoginForm extends AbstractForm {
|
|
|
16680
16659
|
}
|
|
16681
16660
|
}
|
|
16682
16661
|
|
|
16662
|
+
const phonePattern = /^(((\s*)?([- ()]?\d[- ()]?){0,30}(\s*)?)|)$/;
|
|
16663
|
+
/**
|
|
16664
|
+
* Validator for phone number
|
|
16665
|
+
* Allowed special symbols"-", "(", ")"
|
|
16666
|
+
*/
|
|
16667
|
+
function phoneNumberValidator() {
|
|
16668
|
+
return (control) => {
|
|
16669
|
+
return phonePattern.test(control.value) ? null : { phoneInvalid: true };
|
|
16670
|
+
};
|
|
16671
|
+
}
|
|
16672
|
+
|
|
16673
|
+
class PhoneForm extends AbstractForm {
|
|
16674
|
+
constructor(
|
|
16675
|
+
// no default value because this form is always built-in, so phone passed from parent form
|
|
16676
|
+
phone) {
|
|
16677
|
+
super({
|
|
16678
|
+
type: new FormControl((phone === null || phone === void 0 ? void 0 : phone.type) || PhoneTypeEnum.MOBILE, Validators.required),
|
|
16679
|
+
country: new FormControl((phone === null || phone === void 0 ? void 0 : phone.country) || Country.australia, Validators.required),
|
|
16680
|
+
number: new FormControl((phone === null || phone === void 0 ? void 0 : phone.number) || null, [Validators.required, phoneNumberValidator()])
|
|
16681
|
+
}, phone);
|
|
16682
|
+
}
|
|
16683
|
+
}
|
|
16684
|
+
|
|
16683
16685
|
// @TODO Alex: Create a model and handle request fields via class-transformer
|
|
16684
16686
|
class PasswordForm extends AbstractForm {
|
|
16685
16687
|
constructor() {
|