@olafvv/ngx-dynamic-form 0.6.0 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/olafvv-ngx-dynamic-form.mjs +54 -55
- package/fesm2022/olafvv-ngx-dynamic-form.mjs.map +1 -1
- package/lib/controls/radio-group/dynamic-radio-group.component.d.ts +1 -1
- package/lib/controls/select/dynamic-select.component.d.ts +1 -1
- package/package.json +5 -7
- package/esm2022/lib/components/dynamic-form/dynamic-form.component.mjs +0 -56
- package/esm2022/lib/components/dynamic-form-field/dynamic-form-field.component.mjs +0 -153
- package/esm2022/lib/controls/button/dynamic-button.component.mjs +0 -21
- package/esm2022/lib/controls/button/dynamic-button.model.mjs +0 -11
- package/esm2022/lib/controls/button-toggles/dynamic-button-toggles.component.mjs +0 -28
- package/esm2022/lib/controls/button-toggles/dynamic-button-toggles.model.mjs +0 -11
- package/esm2022/lib/controls/checkbox/dynamic-checkbox.component.mjs +0 -26
- package/esm2022/lib/controls/checkbox/dynamic-checkbox.model.mjs +0 -21
- package/esm2022/lib/controls/controls.mjs +0 -10
- package/esm2022/lib/controls/datepicker/dynamic-datepicker.component.mjs +0 -31
- package/esm2022/lib/controls/datepicker/dynamic-datepicker.model.mjs +0 -13
- package/esm2022/lib/controls/input/dynamic-input.component.mjs +0 -54
- package/esm2022/lib/controls/input/dynamic-input.model.mjs +0 -22
- package/esm2022/lib/controls/radio-group/dynamic-radio-group.component.mjs +0 -27
- package/esm2022/lib/controls/radio-group/dynamic-radio-group.model.mjs +0 -11
- package/esm2022/lib/controls/readonly/dynamic-readonly.component.mjs +0 -18
- package/esm2022/lib/controls/readonly/dynamic-readonly.model.mjs +0 -9
- package/esm2022/lib/controls/select/dynamic-select.component.mjs +0 -33
- package/esm2022/lib/controls/select/dynamic-select.model.mjs +0 -11
- package/esm2022/lib/controls/textarea/dynamic-textarea.component.mjs +0 -46
- package/esm2022/lib/controls/textarea/dynamic-textarea.model.mjs +0 -16
- package/esm2022/lib/models/classes/dynamic-form-field-base.mjs +0 -31
- package/esm2022/lib/models/classes/dynamic-form-field-model.mjs +0 -34
- package/esm2022/lib/models/classes/dynamic-form-field-option-model.mjs +0 -48
- package/esm2022/lib/models/classes/dynamic-form-field-value-model.mjs +0 -24
- package/esm2022/lib/models/classes/dynamic-form-validators.mjs +0 -73
- package/esm2022/lib/models/constants/dynamic-relations.const.mjs +0 -50
- package/esm2022/lib/models/index.mjs +0 -12
- package/esm2022/lib/models/interfaces/dynamic-form-field-config.interface.mjs +0 -2
- package/esm2022/lib/models/interfaces/dynamic-form-field-event.interface.mjs +0 -2
- package/esm2022/lib/models/interfaces/dynamic-form-field-relation.interface.mjs +0 -15
- package/esm2022/lib/models/interfaces/dynamic-form-validator.interface.mjs +0 -2
- package/esm2022/lib/models/tokens/dynamic-form-field-map-fn.token.mjs +0 -3
- package/esm2022/lib/models/types/dynamic-form-config.type.mjs +0 -2
- package/esm2022/lib/models/types/related-form-controls.type.mjs +0 -2
- package/esm2022/lib/services/dynamic-form-relations.service.mjs +0 -108
- package/esm2022/lib/services/dynamic-form.service.mjs +0 -81
- package/esm2022/lib/services/dynamic-validations.service.mjs +0 -37
- package/esm2022/olafvv-ngx-dynamic-form.mjs +0 -5
- package/esm2022/public-api.mjs +0 -8
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { Validators } from '@angular/forms';
|
|
2
|
-
export class DynamicFormValidators {
|
|
3
|
-
/**
|
|
4
|
-
* Default email validator, the value of the control has to be a valid email address
|
|
5
|
-
* @param msg
|
|
6
|
-
*/
|
|
7
|
-
static email(msg) {
|
|
8
|
-
const message = msg ?? 'Geen geldig emailadres';
|
|
9
|
-
return { name: 'email', validator: Validators.email, message };
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Default min validator, the value has to be greater or equal than the the provided number
|
|
13
|
-
* @param min number
|
|
14
|
-
* @param msg
|
|
15
|
-
*/
|
|
16
|
-
static min(min, msg) {
|
|
17
|
-
const message = msg ?? `Minimum is ${min}`;
|
|
18
|
-
return { name: 'min', validator: Validators.min(min), message };
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Default max validator, the value has to be less or equal than the the provided number
|
|
22
|
-
* @param max number
|
|
23
|
-
* @param msg
|
|
24
|
-
*/
|
|
25
|
-
static max(max, msg) {
|
|
26
|
-
const message = msg ?? `Maximum is ${max}`;
|
|
27
|
-
return { name: 'max', validator: Validators.max(max), message };
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Default minLength validator, the value has to contain a minimum amount of characters
|
|
31
|
-
* @param min number
|
|
32
|
-
* @param msg
|
|
33
|
-
*/
|
|
34
|
-
static minLength(min, msg) {
|
|
35
|
-
const message = msg ?? `Minimaal ${min} tekens`;
|
|
36
|
-
return { name: 'minLength', validator: Validators.min(min), message };
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Default maxLength validator, the value has to contain a maximum amount of characters
|
|
40
|
-
* @param max number
|
|
41
|
-
* @param msg
|
|
42
|
-
*/
|
|
43
|
-
static maxLength(max, msg) {
|
|
44
|
-
const message = msg ?? `Maximaal ${max} tekens`;
|
|
45
|
-
return { name: 'maxLength', validator: Validators.max(max), message };
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Default pattern validator, the value of the control has to match the provided pattern
|
|
49
|
-
* @param pattern: string | RegExp
|
|
50
|
-
* @param msg
|
|
51
|
-
*/
|
|
52
|
-
static pattern(pattern, msg) {
|
|
53
|
-
const message = msg ?? 'Geen geldige invoer';
|
|
54
|
-
return { name: 'pattern', validator: Validators.pattern(pattern), message };
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Default required validator, the control must contain a value
|
|
58
|
-
* @param msg
|
|
59
|
-
*/
|
|
60
|
-
static required(msg) {
|
|
61
|
-
const message = msg ?? 'Dit veld is verplicht';
|
|
62
|
-
return { name: 'required', validator: Validators.required, message };
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Default requiredTrue validator, the value of the control has to be true
|
|
66
|
-
* @param msg
|
|
67
|
-
*/
|
|
68
|
-
static requiredTrue(msg) {
|
|
69
|
-
const message = msg ?? 'Dit veld is verplicht';
|
|
70
|
-
return { name: 'requiredTrue', validator: Validators.requiredTrue, message };
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXZhbGlkYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvbW9kZWxzL2NsYXNzZXMvZHluYW1pYy1mb3JtLXZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzVDLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEM7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFZO1FBQ3ZCLE1BQU0sT0FBTyxHQUFXLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQztRQUN4RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBVyxFQUFFLEdBQVk7UUFDbEMsTUFBTSxPQUFPLEdBQVcsR0FBRyxJQUFJLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDbEUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQVcsRUFBRSxHQUFZO1FBQ2xDLE1BQU0sT0FBTyxHQUFXLEdBQUcsSUFBSSxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFXLEVBQUUsR0FBWTtRQUN4QyxNQUFNLE9BQU8sR0FBVyxHQUFHLElBQUksWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUN4RCxPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN4RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBVyxFQUFFLEdBQVk7UUFDeEMsTUFBTSxPQUFPLEdBQVcsR0FBRyxJQUFJLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDeEUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQXdCLEVBQUUsR0FBWTtRQUNuRCxNQUFNLE9BQU8sR0FBVyxHQUFHLElBQUkscUJBQXFCLENBQUM7UUFDckQsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDOUUsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBWTtRQUMxQixNQUFNLE9BQU8sR0FBVyxHQUFHLElBQUksdUJBQXVCLENBQUM7UUFFdkQsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBWTtRQUM5QixNQUFNLE9BQU8sR0FBVyxHQUFHLElBQUksdUJBQXVCLENBQUM7UUFDdkQsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDL0UsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IER5bmFtaWNGb3JtVmFsaWRhdG9yIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tdmFsaWRhdG9yLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybVZhbGlkYXRvcnMge1xuICAvKipcbiAgICogRGVmYXVsdCBlbWFpbCB2YWxpZGF0b3IsIHRoZSB2YWx1ZSBvZiB0aGUgY29udHJvbCBoYXMgdG8gYmUgYSB2YWxpZCBlbWFpbCBhZGRyZXNzXG4gICAqIEBwYXJhbSBtc2dcbiAgICovXG4gIHN0YXRpYyBlbWFpbChtc2c/OiBzdHJpbmcpOiBEeW5hbWljRm9ybVZhbGlkYXRvciB7XG4gICAgY29uc3QgbWVzc2FnZTogc3RyaW5nID0gbXNnID8/ICdHZWVuIGdlbGRpZyBlbWFpbGFkcmVzJztcbiAgICByZXR1cm4geyBuYW1lOiAnZW1haWwnLCB2YWxpZGF0b3I6IFZhbGlkYXRvcnMuZW1haWwsIG1lc3NhZ2UgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZhdWx0IG1pbiB2YWxpZGF0b3IsIHRoZSB2YWx1ZSBoYXMgdG8gYmUgZ3JlYXRlciBvciBlcXVhbCB0aGFuIHRoZSB0aGUgcHJvdmlkZWQgbnVtYmVyXG4gICAqIEBwYXJhbSBtaW4gbnVtYmVyXG4gICAqIEBwYXJhbSBtc2dcbiAgICovXG4gIHN0YXRpYyBtaW4obWluOiBudW1iZXIsIG1zZz86IHN0cmluZyk6IER5bmFtaWNGb3JtVmFsaWRhdG9yIHtcbiAgICBjb25zdCBtZXNzYWdlOiBzdHJpbmcgPSBtc2cgPz8gYE1pbmltdW0gaXMgJHttaW59YDtcbiAgICByZXR1cm4geyBuYW1lOiAnbWluJywgdmFsaWRhdG9yOiBWYWxpZGF0b3JzLm1pbihtaW4pLCBtZXNzYWdlIH07XG4gIH1cblxuICAvKipcbiAgICogRGVmYXVsdCBtYXggdmFsaWRhdG9yLCB0aGUgdmFsdWUgaGFzIHRvIGJlIGxlc3Mgb3IgZXF1YWwgdGhhbiB0aGUgdGhlIHByb3ZpZGVkIG51bWJlclxuICAgKiBAcGFyYW0gbWF4IG51bWJlclxuICAgKiBAcGFyYW0gbXNnXG4gICAqL1xuICBzdGF0aWMgbWF4KG1heDogbnVtYmVyLCBtc2c/OiBzdHJpbmcpOiBEeW5hbWljRm9ybVZhbGlkYXRvciB7XG4gICAgY29uc3QgbWVzc2FnZTogc3RyaW5nID0gbXNnID8/IGBNYXhpbXVtIGlzICR7bWF4fWA7XG4gICAgcmV0dXJuIHsgbmFtZTogJ21heCcsIHZhbGlkYXRvcjogVmFsaWRhdG9ycy5tYXgobWF4KSwgbWVzc2FnZSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgbWluTGVuZ3RoIHZhbGlkYXRvciwgdGhlIHZhbHVlIGhhcyB0byBjb250YWluIGEgbWluaW11bSBhbW91bnQgb2YgY2hhcmFjdGVyc1xuICAgKiBAcGFyYW0gbWluIG51bWJlclxuICAgKiBAcGFyYW0gbXNnXG4gICAqL1xuICBzdGF0aWMgbWluTGVuZ3RoKG1pbjogbnVtYmVyLCBtc2c/OiBzdHJpbmcpOiBEeW5hbWljRm9ybVZhbGlkYXRvciB7XG4gICAgY29uc3QgbWVzc2FnZTogc3RyaW5nID0gbXNnID8/IGBNaW5pbWFhbCAke21pbn0gdGVrZW5zYDtcbiAgICByZXR1cm4geyBuYW1lOiAnbWluTGVuZ3RoJywgdmFsaWRhdG9yOiBWYWxpZGF0b3JzLm1pbihtaW4pLCBtZXNzYWdlIH07XG4gIH1cblxuICAvKipcbiAgICogRGVmYXVsdCBtYXhMZW5ndGggdmFsaWRhdG9yLCB0aGUgdmFsdWUgaGFzIHRvIGNvbnRhaW4gYSBtYXhpbXVtIGFtb3VudCBvZiBjaGFyYWN0ZXJzXG4gICAqIEBwYXJhbSBtYXggbnVtYmVyXG4gICAqIEBwYXJhbSBtc2dcbiAgICovXG4gIHN0YXRpYyBtYXhMZW5ndGgobWF4OiBudW1iZXIsIG1zZz86IHN0cmluZyk6IER5bmFtaWNGb3JtVmFsaWRhdG9yIHtcbiAgICBjb25zdCBtZXNzYWdlOiBzdHJpbmcgPSBtc2cgPz8gYE1heGltYWFsICR7bWF4fSB0ZWtlbnNgO1xuICAgIHJldHVybiB7IG5hbWU6ICdtYXhMZW5ndGgnLCB2YWxpZGF0b3I6IFZhbGlkYXRvcnMubWF4KG1heCksIG1lc3NhZ2UgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZhdWx0IHBhdHRlcm4gdmFsaWRhdG9yLCB0aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2wgaGFzIHRvIG1hdGNoIHRoZSBwcm92aWRlZCBwYXR0ZXJuXG4gICAqIEBwYXJhbSBwYXR0ZXJuOiBzdHJpbmcgfCBSZWdFeHBcbiAgICogQHBhcmFtIG1zZ1xuICAgKi9cbiAgc3RhdGljIHBhdHRlcm4ocGF0dGVybjogc3RyaW5nIHwgUmVnRXhwLCBtc2c/OiBzdHJpbmcpOiBEeW5hbWljRm9ybVZhbGlkYXRvciB7XG4gICAgY29uc3QgbWVzc2FnZTogc3RyaW5nID0gbXNnID8/ICdHZWVuIGdlbGRpZ2UgaW52b2VyJztcbiAgICByZXR1cm4geyBuYW1lOiAncGF0dGVybicsIHZhbGlkYXRvcjogVmFsaWRhdG9ycy5wYXR0ZXJuKHBhdHRlcm4pLCBtZXNzYWdlIH07XG4gIH1cblxuICAvKipcbiAgICogRGVmYXVsdCByZXF1aXJlZCB2YWxpZGF0b3IsIHRoZSBjb250cm9sIG11c3QgY29udGFpbiBhIHZhbHVlXG4gICAqIEBwYXJhbSBtc2dcbiAgICovXG4gIHN0YXRpYyByZXF1aXJlZChtc2c/OiBzdHJpbmcpOiBEeW5hbWljRm9ybVZhbGlkYXRvciB7XG4gICAgY29uc3QgbWVzc2FnZTogc3RyaW5nID0gbXNnID8/ICdEaXQgdmVsZCBpcyB2ZXJwbGljaHQnO1xuXG4gICAgcmV0dXJuIHsgbmFtZTogJ3JlcXVpcmVkJywgdmFsaWRhdG9yOiBWYWxpZGF0b3JzLnJlcXVpcmVkLCBtZXNzYWdlIH07XG4gIH1cblxuICAvKipcbiAgICogRGVmYXVsdCByZXF1aXJlZFRydWUgdmFsaWRhdG9yLCB0aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2wgaGFzIHRvIGJlIHRydWVcbiAgICogQHBhcmFtIG1zZ1xuICAgKi9cbiAgc3RhdGljIHJlcXVpcmVkVHJ1ZShtc2c/OiBzdHJpbmcpOiBEeW5hbWljRm9ybVZhbGlkYXRvciB7XG4gICAgY29uc3QgbWVzc2FnZTogc3RyaW5nID0gbXNnID8/ICdEaXQgdmVsZCBpcyB2ZXJwbGljaHQnO1xuICAgIHJldHVybiB7IG5hbWU6ICdyZXF1aXJlZFRydWUnLCB2YWxpZGF0b3I6IFZhbGlkYXRvcnMucmVxdWlyZWRUcnVlLCBtZXNzYWdlIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { DynamicFormValidationsService } from '../../services/dynamic-validations.service';
|
|
2
|
-
import { DynamicFormValidators } from '../classes/dynamic-form-validators';
|
|
3
|
-
import { RelationActionType } from '../interfaces/dynamic-form-field-relation.interface';
|
|
4
|
-
/**
|
|
5
|
-
* Relation action to disable/enable a form control.
|
|
6
|
-
*/
|
|
7
|
-
const DISABLE_ACTION = {
|
|
8
|
-
type: RelationActionType.DISABLED,
|
|
9
|
-
reversedType: RelationActionType.ENABLED,
|
|
10
|
-
change(hasMatch, model) {
|
|
11
|
-
model.disabled = hasMatch;
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* Relation action to toggle the visibility of a form control
|
|
16
|
-
*/
|
|
17
|
-
const HIDDEN_ACTION = {
|
|
18
|
-
type: RelationActionType.HIDDEN,
|
|
19
|
-
reversedType: RelationActionType.VISIBLE,
|
|
20
|
-
change(hasMatch, model) {
|
|
21
|
-
model.hidden = hasMatch;
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* Relation action to add or remove the required validator to a form control
|
|
26
|
-
*/
|
|
27
|
-
const REQUIRED_ACTION = {
|
|
28
|
-
type: RelationActionType.REQUIRED,
|
|
29
|
-
reversedType: RelationActionType.OPTIONAL,
|
|
30
|
-
change(hasMatch, model, control, injector) {
|
|
31
|
-
const hasRequiredValidation = !!model.validators.find((f) => f.name === 'required');
|
|
32
|
-
let validators;
|
|
33
|
-
if (hasMatch) {
|
|
34
|
-
// If the model already contains the required validator, return the model validators.
|
|
35
|
-
// Otherwise, add the required validator
|
|
36
|
-
validators = hasRequiredValidation ? model.validators : [...model.validators, DynamicFormValidators.required()];
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
validators = model.validators.filter((f) => f.name !== 'required');
|
|
40
|
-
}
|
|
41
|
-
injector.get(DynamicFormValidationsService).updateValidators(validators, control);
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Export all Relation actions so the DynamicFormService can easily access all Relation actions.
|
|
46
|
-
* This way if there are any new actions, all you have to do is add them here.
|
|
47
|
-
* TODO: This can be potentially be expanded towords an InjectionToken to provide the possibility for custom relationactions.
|
|
48
|
-
*/
|
|
49
|
-
export const RELATION_ACTIONS = [DISABLE_ACTION, HIDDEN_ACTION, REQUIRED_ACTION];
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1yZWxhdGlvbnMuY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvbW9kZWxzL2NvbnN0YW50cy9keW5hbWljLXJlbGF0aW9ucy5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUzRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQVN6Rjs7R0FFRztBQUNILE1BQU0sY0FBYyxHQUEwQjtJQUM1QyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsUUFBUTtJQUNqQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsT0FBTztJQUN4QyxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUs7UUFDcEIsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDNUIsQ0FBQztDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sYUFBYSxHQUEwQjtJQUMzQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsTUFBTTtJQUMvQixZQUFZLEVBQUUsa0JBQWtCLENBQUMsT0FBTztJQUN4QyxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUs7UUFDcEIsS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7SUFDMUIsQ0FBQztDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sZUFBZSxHQUEwQjtJQUM3QyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsUUFBUTtJQUNqQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsUUFBUTtJQUN6QyxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUTtRQUN2QyxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQztRQUNwRixJQUFJLFVBQWtDLENBQUM7UUFFdkMsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLHFGQUFxRjtZQUNyRix3Q0FBd0M7WUFDeEMsVUFBVSxHQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLFVBQVUsRUFBRSxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2xILENBQUM7YUFBTSxDQUFDO1lBQ04sVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFFRCxRQUFRLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7Q0FDRixDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUE0QixDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1WYWxpZGF0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9keW5hbWljLXZhbGlkYXRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZE1vZGVsIH0gZnJvbSAnLi4vY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtbW9kZWwnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1WYWxpZGF0b3JzIH0gZnJvbSAnLi4vY2xhc3Nlcy9keW5hbWljLWZvcm0tdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBSZWxhdGlvbkFjdGlvblR5cGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS1maWVsZC1yZWxhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1WYWxpZGF0b3IgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS12YWxpZGF0b3IuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljUmVsYXRpb25BY3Rpb24ge1xuICB0eXBlOiBSZWxhdGlvbkFjdGlvblR5cGU7XG4gIHJldmVyc2VkVHlwZT86IHN0cmluZztcbiAgY2hhbmdlKGhhc01hdGNoOiBib29sZWFuLCBtb2RlbDogRHluYW1pY0Zvcm1GaWVsZE1vZGVsLCBjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wsIGluamVjdG9yOiBJbmplY3Rvcik6IHZvaWQ7XG59XG5cbi8qKlxuICogUmVsYXRpb24gYWN0aW9uIHRvIGRpc2FibGUvZW5hYmxlIGEgZm9ybSBjb250cm9sLlxuICovXG5jb25zdCBESVNBQkxFX0FDVElPTjogRHluYW1pY1JlbGF0aW9uQWN0aW9uID0ge1xuICB0eXBlOiBSZWxhdGlvbkFjdGlvblR5cGUuRElTQUJMRUQsXG4gIHJldmVyc2VkVHlwZTogUmVsYXRpb25BY3Rpb25UeXBlLkVOQUJMRUQsXG4gIGNoYW5nZShoYXNNYXRjaCwgbW9kZWwpIHtcbiAgICBtb2RlbC5kaXNhYmxlZCA9IGhhc01hdGNoO1xuICB9XG59O1xuXG4vKipcbiAqIFJlbGF0aW9uIGFjdGlvbiB0byB0b2dnbGUgdGhlIHZpc2liaWxpdHkgb2YgYSBmb3JtIGNvbnRyb2xcbiAqL1xuY29uc3QgSElEREVOX0FDVElPTjogRHluYW1pY1JlbGF0aW9uQWN0aW9uID0ge1xuICB0eXBlOiBSZWxhdGlvbkFjdGlvblR5cGUuSElEREVOLFxuICByZXZlcnNlZFR5cGU6IFJlbGF0aW9uQWN0aW9uVHlwZS5WSVNJQkxFLFxuICBjaGFuZ2UoaGFzTWF0Y2gsIG1vZGVsKSB7XG4gICAgbW9kZWwuaGlkZGVuID0gaGFzTWF0Y2g7XG4gIH1cbn07XG5cbi8qKlxuICogUmVsYXRpb24gYWN0aW9uIHRvIGFkZCBvciByZW1vdmUgdGhlIHJlcXVpcmVkIHZhbGlkYXRvciB0byBhIGZvcm0gY29udHJvbFxuICovXG5jb25zdCBSRVFVSVJFRF9BQ1RJT046IER5bmFtaWNSZWxhdGlvbkFjdGlvbiA9IHtcbiAgdHlwZTogUmVsYXRpb25BY3Rpb25UeXBlLlJFUVVJUkVELFxuICByZXZlcnNlZFR5cGU6IFJlbGF0aW9uQWN0aW9uVHlwZS5PUFRJT05BTCxcbiAgY2hhbmdlKGhhc01hdGNoLCBtb2RlbCwgY29udHJvbCwgaW5qZWN0b3IpIHtcbiAgICBjb25zdCBoYXNSZXF1aXJlZFZhbGlkYXRpb24gPSAhIW1vZGVsLnZhbGlkYXRvcnMuZmluZCgoZikgPT4gZi5uYW1lID09PSAncmVxdWlyZWQnKTtcbiAgICBsZXQgdmFsaWRhdG9yczogRHluYW1pY0Zvcm1WYWxpZGF0b3JbXTtcblxuICAgIGlmIChoYXNNYXRjaCkge1xuICAgICAgLy8gSWYgdGhlIG1vZGVsIGFscmVhZHkgY29udGFpbnMgdGhlIHJlcXVpcmVkIHZhbGlkYXRvciwgcmV0dXJuIHRoZSBtb2RlbCB2YWxpZGF0b3JzLlxuICAgICAgLy8gT3RoZXJ3aXNlLCBhZGQgdGhlIHJlcXVpcmVkIHZhbGlkYXRvclxuICAgICAgdmFsaWRhdG9ycyA9IGhhc1JlcXVpcmVkVmFsaWRhdGlvbiA/IG1vZGVsLnZhbGlkYXRvcnMgOiBbLi4ubW9kZWwudmFsaWRhdG9ycywgRHluYW1pY0Zvcm1WYWxpZGF0b3JzLnJlcXVpcmVkKCldO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWxpZGF0b3JzID0gbW9kZWwudmFsaWRhdG9ycy5maWx0ZXIoKGYpID0+IGYubmFtZSAhPT0gJ3JlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgaW5qZWN0b3IuZ2V0KER5bmFtaWNGb3JtVmFsaWRhdGlvbnNTZXJ2aWNlKS51cGRhdGVWYWxpZGF0b3JzKHZhbGlkYXRvcnMsIGNvbnRyb2wpO1xuICB9XG59O1xuXG4vKipcbiAqIEV4cG9ydCBhbGwgUmVsYXRpb24gYWN0aW9ucyBzbyB0aGUgRHluYW1pY0Zvcm1TZXJ2aWNlIGNhbiBlYXNpbHkgYWNjZXNzIGFsbCBSZWxhdGlvbiBhY3Rpb25zLlxuICogVGhpcyB3YXkgaWYgdGhlcmUgYXJlIGFueSBuZXcgYWN0aW9ucywgYWxsIHlvdSBoYXZlIHRvIGRvIGlzIGFkZCB0aGVtIGhlcmUuXG4gKiBUT0RPOiBUaGlzIGNhbiBiZSBwb3RlbnRpYWxseSBiZSBleHBhbmRlZCB0b3dvcmRzIGFuIEluamVjdGlvblRva2VuIHRvIHByb3ZpZGUgdGhlIHBvc3NpYmlsaXR5IGZvciBjdXN0b20gcmVsYXRpb25hY3Rpb25zLlxuICovXG5leHBvcnQgY29uc3QgUkVMQVRJT05fQUNUSU9OUzogRHluYW1pY1JlbGF0aW9uQWN0aW9uW10gPSBbRElTQUJMRV9BQ1RJT04sIEhJRERFTl9BQ1RJT04sIFJFUVVJUkVEX0FDVElPTl07XG4iXX0=
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export * from './classes/dynamic-form-field-base';
|
|
2
|
-
export * from './classes/dynamic-form-field-model';
|
|
3
|
-
export * from './classes/dynamic-form-field-option-model';
|
|
4
|
-
export * from './classes/dynamic-form-field-value-model';
|
|
5
|
-
export * from './classes/dynamic-form-validators';
|
|
6
|
-
export * from './interfaces/dynamic-form-field-config.interface';
|
|
7
|
-
export * from './interfaces/dynamic-form-field-event.interface';
|
|
8
|
-
export * from './interfaces/dynamic-form-field-relation.interface';
|
|
9
|
-
export * from './interfaces/dynamic-form-validator.interface';
|
|
10
|
-
export * from './types/dynamic-form-config.type';
|
|
11
|
-
export * from './tokens/dynamic-form-field-map-fn.token';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLCtDQUErQyxDQUFDO0FBRTlELGNBQWMsa0NBQWtDLENBQUM7QUFFakQsY0FBYywwQ0FBMEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2NsYXNzZXMvZHluYW1pYy1mb3JtLWZpZWxkLW1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtb3B0aW9uLW1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtdmFsdWUtbW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGFzc2VzL2R5bmFtaWMtZm9ybS12YWxpZGF0b3JzJztcblxuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS1maWVsZC1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tZmllbGQtZXZlbnQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tZmllbGQtcmVsYXRpb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tdmFsaWRhdG9yLmludGVyZmFjZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvZHluYW1pYy1mb3JtLWNvbmZpZy50eXBlJztcblxuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvZHluYW1pYy1mb3JtLWZpZWxkLW1hcC1mbi50b2tlbic7XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLWNvbmZpZy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvbW9kZWxzL2ludGVyZmFjZXMvZHluYW1pYy1mb3JtLWZpZWxkLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRSZWxhdGlvbiB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWZpZWxkLXJlbGF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybVZhbGlkYXRvciB9IGZyb20gJy4vZHluYW1pYy1mb3JtLXZhbGlkYXRvci5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEJhc2UgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIGVhY2ggRHluYW1pYyBGb3JtIEZpZWxkLlxuICogRXhwZWN0cyBhIGdlbmVyaWMgdHlwZSBkZXNjcmliaW5nIHRoZSB0eXBlIG9mIHRoZSB2YWx1ZSB0aGUgY29udHJvbCBob2xkcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljRm9ybUZpZWxkQ29uZmlnIHtcbiAgLyoqXG4gICAqIE5hbWUgdXNlZCBhcyBGb3JtQ29udHJvbE5hbWVcbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjb250cm9sIGhhcyB0byBiZSBkaXNhYmxlZC5cbiAgICogRGVmYXVsdCB2YWx1ZSBpcyBmYWxzZS5cbiAgICogQG9wdGlvbmFsXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjb250cm9sIHNob3VsZCBiZSBoaWRkZW4uXG4gICAqIERlZmF1bHQgdmFsdWUgaXMgZmFsc2VcbiAgICogQG9wdGlvbmFsXG4gICAqL1xuICBoaWRkZW4/OiBib29sZWFuO1xuICAvKipcbiAgICogQWRkcyBhbiBpZCBhdHRyaWJ1dGUgdG8gdGhlIEZvcm1Db250cm9sLlxuICAgKiBXaGVuIG5vdCBwcm92aWRlZCwgdGhlIHJlcXVpcmVkICduYW1lJyBwcm9wZXJ0eSBpcyB1c2VkIGFzIGlkXG4gICAqIEBvcHRpb25hbFxuICAgKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVc2VkIGFzIG1hdC1sYWJlbCB3aGVuIHByb3ZpZGVkXG4gICAqIEBvcHRpb25hbFxuICAgKi9cbiAgbGFiZWw/OiBzdHJpbmcgfCBudWxsO1xuICAvKipcbiAgICogSGludCB0ZXh0IHVuZGVybmVhdGggdGhlIEZvcm1Db250cm9sXG4gICAqIEBvcHRpb25hbFxuICAgKi9cbiAgaGludD86IHN0cmluZztcbiAgLyoqXG4gICAqIEFycmF5IG9mIER5bmFtaWMgRm9ybSBWYWxpZGF0b3JzXG4gICAqIEBvcHRpb25hbFxuICAgKi9cbiAgdmFsaWRhdG9ycz86IER5bmFtaWNGb3JtVmFsaWRhdG9yW107XG4gIC8qKlxuICAgKiBBcnJheSBvZiBEeW5hbWljIEZvcm0gUmVsYXRpb25zXG4gICAqIEBvcHRpb25hbFxuICAgKi9cbiAgcmVsYXRpb25zPzogRHluYW1pY0Zvcm1GaWVsZFJlbGF0aW9uW107XG4gIC8qKlxuICAgKiBFdmVudCBuYW1lIGZvciB0aGUgY29udHJvbCB0byB1cGRhdGUgb24uXG4gICAqIFRoaXMgd2lsbCBkZXRlcm1pbmUgd2hlbiBBbmd1bGFyIGlzIGNoZWNraW5nIHRoZSB2YWxpZGF0b3JzXG4gICAqIFBvc3NpYmxlIHZhbHVlczpcbiAgICogLSBgY2hhbmdlYDogb24gZXZlcnkgY2hhbmdlIGV2ZW50IG9uIHRoZSBGb3JtQ29udHJvbFxuICAgKiAtIGBibHVyYDogb24gdGhlIGJsdXIgZXZlbnQgb2YgdGhlIEZvcm1Db250cm9sXG4gICAqIC0gYHN1Ym1pdGA6IHdoZW4gdGhlIHBhcmVudCBmb3JtIG9mIHRoZSBGb3JtQ29udHJvbCBpcyBzdWJtaXR0ZWRcbiAgICpcbiAgICogRGVmYXVsdCB2YWx1ZSBpcyAnYmx1cicuXG4gICAqIEBvcHRpb25hbFxuICAgKi9cbiAgdXBkYXRlT24/OiAnc3VibWl0JyB8ICdibHVyJyB8ICdjaGFuZ2UnO1xuICAvKipcbiAgICogU2V0cyB0aGUgd2lkdGggb2YgdGhlIGZpZWxkLCBiYXNlZCBvbiBwZXJjZW50YWdlcy4gRGVmYXVsdCB2YWx1ZSBpcyAxMDAuXG4gICAqIEBvcHRpb25hbFxuICAgKi9cbiAgd2lkdGg/OiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLWV2ZW50LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1keW5hbWljLWZvcm0vc3JjL2xpYi9tb2RlbHMvaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tZmllbGQtZXZlbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkTW9kZWwgfSBmcm9tICcuLi9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0Zvcm1GaWVsZEV2ZW50IHtcbiAgZXZlbnQ6IHVua25vd247XG4gIGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcbiAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgbW9kZWw6IER5bmFtaWNGb3JtRmllbGRNb2RlbDtcbiAgdHlwZTogRHluYW1pY0Zvcm1GaWVsZEV2ZW50VHlwZTtcbn1cblxuZXhwb3J0IHR5cGUgRHluYW1pY0Zvcm1GaWVsZEV2ZW50VHlwZSA9ICdjaGFuZ2UnIHwgJ2JsdXInIHwgJ2ZvY3VzJztcbiJdfQ==
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export var RelationActionType;
|
|
2
|
-
(function (RelationActionType) {
|
|
3
|
-
RelationActionType["DISABLED"] = "DISABLED";
|
|
4
|
-
RelationActionType["ENABLED"] = "ENABLED";
|
|
5
|
-
RelationActionType["HIDDEN"] = "HIDDEN";
|
|
6
|
-
RelationActionType["VISIBLE"] = "VISIBLE";
|
|
7
|
-
RelationActionType["REQUIRED"] = "REQUIRED";
|
|
8
|
-
RelationActionType["OPTIONAL"] = "OPTIONAL";
|
|
9
|
-
})(RelationActionType || (RelationActionType = {}));
|
|
10
|
-
export var RelationOperator;
|
|
11
|
-
(function (RelationOperator) {
|
|
12
|
-
RelationOperator["AND"] = "AND";
|
|
13
|
-
RelationOperator["OR"] = "OR";
|
|
14
|
-
})(RelationOperator || (RelationOperator = {}));
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLXJlbGF0aW9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1keW5hbWljLWZvcm0vc3JjL2xpYi9tb2RlbHMvaW50ZXJmYWNlcy9keW5hbWljLWZvcm0tZmllbGQtcmVsYXRpb24uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGtCQU9YO0FBUEQsV0FBWSxrQkFBa0I7SUFDNUIsMkNBQXFCLENBQUE7SUFDckIseUNBQW1CLENBQUE7SUFDbkIsdUNBQWlCLENBQUE7SUFDakIseUNBQW1CLENBQUE7SUFDbkIsMkNBQXFCLENBQUE7SUFDckIsMkNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQVBXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFPN0I7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLCtCQUFXLENBQUE7SUFDWCw2QkFBUyxDQUFBO0FBQ1gsQ0FBQyxFQUhXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHM0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBSZWxhdGlvbkFjdGlvblR5cGUge1xuICBESVNBQkxFRCA9ICdESVNBQkxFRCcsXG4gIEVOQUJMRUQgPSAnRU5BQkxFRCcsXG4gIEhJRERFTiA9ICdISURERU4nLFxuICBWSVNJQkxFID0gJ1ZJU0lCTEUnLFxuICBSRVFVSVJFRCA9ICdSRVFVSVJFRCcsXG4gIE9QVElPTkFMID0gJ09QVElPTkFMJ1xufVxuXG5leHBvcnQgZW51bSBSZWxhdGlvbk9wZXJhdG9yIHtcbiAgQU5EID0gJ0FORCcsXG4gIE9SID0gJ09SJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbGF0aW9uQ29uZGl0aW9uIHtcbiAgLyoqIE5hbWUgb2YgYSBmaWVsZCBpbiB0aGUgc2FtZSBmb3JtIHRoaXMgZmllbGQgaXMgZGVwZW5kZWQgb24gKi9cbiAgZmllbGROYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgcmVsYXRlZCBmaWVsZC5cbiAgICogVGhpcyBtdXN0IGJlIHVzZWQgd2hlbiB3b3JraW5nIHdpdGggbmVzdGVkIEZvcm1Hcm91cHMgYW5kIHlvdSB3YW50IHRvIHJlbGF0ZSBhIGZpZWxkIGluIGEgZGlmZmVyZW50IGdyb3VwLlxuICAgKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqIE1ldGhvZCB0aGF0IHJldHVybnMgdHJ1ZSB3aGVuIHRoZSBjb25kaXRpb24gaXMgbWV0LiBUaGUgcGFzc2VkIHBhcmFtZXRlciBpcyB0aGUgdmFsdWUgb2YgdGhlIGRlcGVuZGVkIGZpZWxkICovXG4gIHZhbHVlOiAodmFsOiBhbnkpID0+IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0Zvcm1GaWVsZFJlbGF0aW9uIHtcbiAgYWN0aW9uVHlwZTogUmVsYXRpb25BY3Rpb25UeXBlO1xuICBjb25kaXRpb25zOiBSZWxhdGlvbkNvbmRpdGlvbltdO1xuICBvcGVyYXRvcj86IFJlbGF0aW9uT3BlcmF0b3I7XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXZhbGlkYXRvci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvbW9kZWxzL2ludGVyZmFjZXMvZHluYW1pYy1mb3JtLXZhbGlkYXRvci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNGb3JtVmFsaWRhdG9yIHtcbiAgbmFtZTogc3RyaW5nO1xuICB2YWxpZGF0b3I6IFZhbGlkYXRvckZuO1xuICBtZXNzYWdlPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const DYNAMIC_FORM_FIELD_MAP_FN = new InjectionToken('DYNAMIC_FORM_FIELD_MAP_FN');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLW1hcC1mbi50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1keW5hbWljLWZvcm0vc3JjL2xpYi9tb2RlbHMvdG9rZW5zL2R5bmFtaWMtZm9ybS1maWVsZC1tYXAtZm4udG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IERZTkFNSUNfRk9STV9GSUVMRF9NQVBfRk4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0RZTkFNSUNfRk9STV9GSUVMRF9NQVBfRk4nKTtcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWNvbmZpZy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWR5bmFtaWMtZm9ybS9zcmMvbGliL21vZGVscy90eXBlcy9keW5hbWljLWZvcm0tY29uZmlnLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRNb2RlbCB9IGZyb20gJy4uL2NsYXNzZXMvZHluYW1pYy1mb3JtLWZpZWxkLW1vZGVsJztcblxuZXhwb3J0IHR5cGUgRHluYW1pY0Zvcm1Db25maWcgPSBEeW5hbWljRm9ybUZpZWxkTW9kZWxbXVtdO1xuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRlZC1mb3JtLWNvbnRyb2xzLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvbW9kZWxzL3R5cGVzL3JlbGF0ZWQtZm9ybS1jb250cm9scy50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCB0eXBlIFJlbGF0ZWRGb3JtQ29udHJvbHMgPSB7XG4gIFtuYW1lOiBzdHJpbmddOiBVbnR5cGVkRm9ybUNvbnRyb2w7XG59O1xuIl19
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable, Injector } from '@angular/core';
|
|
2
|
-
import { distinctUntilChanged, startWith } from 'rxjs';
|
|
3
|
-
import { RELATION_ACTIONS } from '../models/constants/dynamic-relations.const';
|
|
4
|
-
import { RelationOperator } from '../models/interfaces/dynamic-form-field-relation.interface';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class DynamicFormRelationsService {
|
|
7
|
-
constructor() {
|
|
8
|
-
this._injector = inject(Injector);
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Get an object with all FormField the provided model has a relation with
|
|
12
|
-
* @param model
|
|
13
|
-
* @param group
|
|
14
|
-
* @returns
|
|
15
|
-
*/
|
|
16
|
-
findRelatedFormField(model, group) {
|
|
17
|
-
const conditionReducer = (controls, condition) => {
|
|
18
|
-
const fieldName = condition.path ?? condition.fieldName;
|
|
19
|
-
// Get the control using the provided path or fieldName
|
|
20
|
-
const control = condition.path
|
|
21
|
-
? group.root.get(condition.path)
|
|
22
|
-
: group.get(condition.fieldName);
|
|
23
|
-
if (!control) {
|
|
24
|
-
console.warn(`No related form control with the name ${fieldName} found`);
|
|
25
|
-
return controls;
|
|
26
|
-
}
|
|
27
|
-
controls[fieldName] = control;
|
|
28
|
-
return controls;
|
|
29
|
-
};
|
|
30
|
-
const relationsReducer = (controls, relation) => {
|
|
31
|
-
return relation.conditions.reduce(conditionReducer, controls);
|
|
32
|
-
};
|
|
33
|
-
return model.relations.reduce(relationsReducer, {});
|
|
34
|
-
}
|
|
35
|
-
getRelationSubscriptions(relatedFormControls, model, control) {
|
|
36
|
-
const subs = [];
|
|
37
|
-
// Subscribe to value changes of all FormControls, provide the current value inside the startWith
|
|
38
|
-
Object.values(relatedFormControls).forEach((relatedControl) => {
|
|
39
|
-
subs.push(relatedControl.valueChanges.pipe(startWith(relatedControl.value), distinctUntilChanged()).subscribe(() => {
|
|
40
|
-
model.relations.forEach((relation) => {
|
|
41
|
-
// Find the RelationAction object based on the actionType passed inside the DynamicFormConfig
|
|
42
|
-
const action = RELATION_ACTIONS.find((action) => relation.actionType === action.type || relation.actionType === action.reversedType);
|
|
43
|
-
if (action) {
|
|
44
|
-
const shouldTrigger = this.checkRelationCondition(relation, relatedFormControls, action);
|
|
45
|
-
action.change(shouldTrigger, model, control, this._injector);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}));
|
|
49
|
-
});
|
|
50
|
-
return subs;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Check the conditions inside the relations
|
|
54
|
-
* @param relation
|
|
55
|
-
* @param relatedControl
|
|
56
|
-
* @param action
|
|
57
|
-
* @returns
|
|
58
|
-
*/
|
|
59
|
-
checkRelationCondition(relation, relatedControls, action) {
|
|
60
|
-
// Default operator is AND, meaning all conditions should return true before the provided action is triggered.
|
|
61
|
-
// In the case of a reversed type, the return value whould be false.
|
|
62
|
-
const operator = relation.operator ?? RelationOperator.AND;
|
|
63
|
-
// Use a reducer to map all conditions to a single boolean value to decide if we want to trigger the provided action type
|
|
64
|
-
const reducer = (isMatch, condition, index) => {
|
|
65
|
-
// Find the FormControl of the related field
|
|
66
|
-
let relatedControl;
|
|
67
|
-
for (const [fieldName, control] of Object.entries(relatedControls)) {
|
|
68
|
-
if (fieldName === (condition.path ?? condition.fieldName)) {
|
|
69
|
-
relatedControl = control;
|
|
70
|
-
break;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
if (!relatedControl)
|
|
74
|
-
return false;
|
|
75
|
-
// Using the 'normal' type should return true when the condition matches
|
|
76
|
-
if (relation.actionType === action.type) {
|
|
77
|
-
// Shortcut to false when a previous condition check was resolved as false in case of the AND operator
|
|
78
|
-
if (index > 0 && operator === RelationOperator.AND && !isMatch)
|
|
79
|
-
return false;
|
|
80
|
-
// Shortcut to true when a previous condition check was resolved as true in case of the OR operator
|
|
81
|
-
if (index > 0 && operator === RelationOperator.OR && isMatch)
|
|
82
|
-
return true;
|
|
83
|
-
return condition.value(relatedControl.value);
|
|
84
|
-
}
|
|
85
|
-
// Using the reversed type should return false when the condition matches, because we want to the opposite of the configured change Function
|
|
86
|
-
if (relation.actionType === action.reversedType) {
|
|
87
|
-
// Shortcut to true when a previous condition check was resolved as true
|
|
88
|
-
if (index > 0 && operator === RelationOperator.AND && isMatch)
|
|
89
|
-
return true;
|
|
90
|
-
// Shortcut to false when a previous condition check was resolved as false
|
|
91
|
-
if (index > 0 && operator === RelationOperator.OR && !isMatch)
|
|
92
|
-
return false;
|
|
93
|
-
return !condition.value(relatedControl.value);
|
|
94
|
-
}
|
|
95
|
-
return false;
|
|
96
|
-
};
|
|
97
|
-
return relation.conditions.reduce(reducer, false);
|
|
98
|
-
}
|
|
99
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicFormRelationsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
100
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicFormRelationsService, providedIn: 'root' }); }
|
|
101
|
-
}
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicFormRelationsService, decorators: [{
|
|
103
|
-
type: Injectable,
|
|
104
|
-
args: [{
|
|
105
|
-
providedIn: 'root'
|
|
106
|
-
}]
|
|
107
|
-
}] });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXJlbGF0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWR5bmFtaWMtZm9ybS9zcmMvbGliL3NlcnZpY2VzL2R5bmFtaWMtZm9ybS1yZWxhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFckUsT0FBTyxFQUF5QixnQkFBZ0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RHLE9BQU8sRUFBK0MsZ0JBQWdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQzs7QUFNM0ksTUFBTSxPQUFPLDJCQUEyQjtJQUh4QztRQUlVLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0F1SHRDO0lBckhDOzs7OztPQUtHO0lBQ0ksb0JBQW9CLENBQUMsS0FBNEIsRUFBRSxLQUFnQjtRQUN4RSxNQUFNLGdCQUFnQixHQUFHLENBQUMsUUFBNkIsRUFBRSxTQUE0QixFQUFFLEVBQUU7WUFDdkYsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsU0FBVSxDQUFDO1lBQ3pELHVEQUF1RDtZQUN2RCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSTtnQkFDNUIsQ0FBQyxDQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQXdCO2dCQUN4RCxDQUFDLENBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBVSxDQUF3QixDQUFDO1lBRTVELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDYixPQUFPLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxTQUFTLFFBQVEsQ0FBQyxDQUFDO2dCQUN6RSxPQUFPLFFBQVEsQ0FBQztZQUNsQixDQUFDO1lBRUQsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztZQUM5QixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUM7UUFFRixNQUFNLGdCQUFnQixHQUFHLENBQUMsUUFBNkIsRUFBRSxRQUFrQyxFQUFFLEVBQUU7WUFDN0YsT0FBTyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUM7UUFFRixPQUFPLEtBQUssQ0FBQyxTQUFVLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTSx3QkFBd0IsQ0FDN0IsbUJBQXdDLEVBQ3hDLEtBQTRCLEVBQzVCLE9BQW9CO1FBRXBCLE1BQU0sSUFBSSxHQUFtQixFQUFFLENBQUM7UUFFaEMsaUdBQWlHO1FBQ2pHLE1BQU0sQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUM1RCxJQUFJLENBQUMsSUFBSSxDQUNQLGNBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3ZHLEtBQUssQ0FBQyxTQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7b0JBQ3BDLDZGQUE2RjtvQkFDN0YsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUNsQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxVQUFVLEtBQUssTUFBTSxDQUFDLFlBQVksQ0FDL0YsQ0FBQztvQkFFRixJQUFJLE1BQU0sRUFBRSxDQUFDO3dCQUNYLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLENBQUM7d0JBRXpGLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUMvRCxDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssc0JBQXNCLENBQzVCLFFBQWtDLEVBQ2xDLGVBQW9DLEVBQ3BDLE1BQTZCO1FBRTdCLDhHQUE4RztRQUM5RyxvRUFBb0U7UUFDcEUsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUM7UUFFM0QseUhBQXlIO1FBQ3pILE1BQU0sT0FBTyxHQUFHLENBQUMsT0FBZ0IsRUFBRSxTQUE0QixFQUFFLEtBQWEsRUFBVyxFQUFFO1lBQ3pGLDRDQUE0QztZQUM1QyxJQUFJLGNBQThDLENBQUM7WUFFbkQsS0FBSyxNQUFNLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztnQkFDbkUsSUFBSSxTQUFTLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO29CQUMxRCxjQUFjLEdBQUcsT0FBTyxDQUFDO29CQUN6QixNQUFNO2dCQUNSLENBQUM7WUFDSCxDQUFDO1lBRUQsSUFBSSxDQUFDLGNBQWM7Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFFbEMsd0VBQXdFO1lBQ3hFLElBQUksUUFBUSxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3hDLHNHQUFzRztnQkFDdEcsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLFFBQVEsS0FBSyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPO29CQUFFLE9BQU8sS0FBSyxDQUFDO2dCQUU3RSxtR0FBbUc7Z0JBQ25HLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxRQUFRLEtBQUssZ0JBQWdCLENBQUMsRUFBRSxJQUFJLE9BQU87b0JBQUUsT0FBTyxJQUFJLENBQUM7Z0JBRTFFLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0MsQ0FBQztZQUVELDRJQUE0STtZQUM1SSxJQUFJLFFBQVEsQ0FBQyxVQUFVLEtBQUssTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNoRCx3RUFBd0U7Z0JBQ3hFLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxRQUFRLEtBQUssZ0JBQWdCLENBQUMsR0FBRyxJQUFJLE9BQU87b0JBQUUsT0FBTyxJQUFJLENBQUM7Z0JBRTNFLDBFQUEwRTtnQkFDMUUsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLFFBQVEsS0FBSyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPO29CQUFFLE9BQU8sS0FBSyxDQUFDO2dCQUU1RSxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEQsQ0FBQztZQUVELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBRUYsT0FBTyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQzsrR0F2SFUsMkJBQTJCO21IQUEzQiwyQkFBMkIsY0FGMUIsTUFBTTs7NEZBRVAsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzdGFydFdpdGgsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2NsYXNzZXMvZHluYW1pYy1mb3JtLWZpZWxkLW1vZGVsJztcbmltcG9ydCB7IER5bmFtaWNSZWxhdGlvbkFjdGlvbiwgUkVMQVRJT05fQUNUSU9OUyB9IGZyb20gJy4uL21vZGVscy9jb25zdGFudHMvZHluYW1pYy1yZWxhdGlvbnMuY29uc3QnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZFJlbGF0aW9uLCBSZWxhdGlvbkNvbmRpdGlvbiwgUmVsYXRpb25PcGVyYXRvciB9IGZyb20gJy4uL21vZGVscy9pbnRlcmZhY2VzL2R5bmFtaWMtZm9ybS1maWVsZC1yZWxhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVsYXRlZEZvcm1Db250cm9scyB9IGZyb20gJy4uL21vZGVscy90eXBlcy9yZWxhdGVkLWZvcm0tY29udHJvbHMudHlwZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtUmVsYXRpb25zU2VydmljZSB7XG4gIHByaXZhdGUgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICAvKipcbiAgICogR2V0IGFuIG9iamVjdCB3aXRoIGFsbCBGb3JtRmllbGQgdGhlIHByb3ZpZGVkIG1vZGVsIGhhcyBhIHJlbGF0aW9uIHdpdGhcbiAgICogQHBhcmFtIG1vZGVsXG4gICAqIEBwYXJhbSBncm91cFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHVibGljIGZpbmRSZWxhdGVkRm9ybUZpZWxkKG1vZGVsOiBEeW5hbWljRm9ybUZpZWxkTW9kZWwsIGdyb3VwOiBGb3JtR3JvdXApOiBSZWxhdGVkRm9ybUNvbnRyb2xzIHtcbiAgICBjb25zdCBjb25kaXRpb25SZWR1Y2VyID0gKGNvbnRyb2xzOiBSZWxhdGVkRm9ybUNvbnRyb2xzLCBjb25kaXRpb246IFJlbGF0aW9uQ29uZGl0aW9uKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBjb25kaXRpb24ucGF0aCA/PyBjb25kaXRpb24uZmllbGROYW1lITtcbiAgICAgIC8vIEdldCB0aGUgY29udHJvbCB1c2luZyB0aGUgcHJvdmlkZWQgcGF0aCBvciBmaWVsZE5hbWVcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBjb25kaXRpb24ucGF0aFxuICAgICAgICA/IChncm91cC5yb290LmdldChjb25kaXRpb24ucGF0aCkgYXMgVW50eXBlZEZvcm1Db250cm9sKVxuICAgICAgICA6IChncm91cC5nZXQoY29uZGl0aW9uLmZpZWxkTmFtZSEpIGFzIFVudHlwZWRGb3JtQ29udHJvbCk7XG5cbiAgICAgIGlmICghY29udHJvbCkge1xuICAgICAgICBjb25zb2xlLndhcm4oYE5vIHJlbGF0ZWQgZm9ybSBjb250cm9sIHdpdGggdGhlIG5hbWUgJHtmaWVsZE5hbWV9IGZvdW5kYCk7XG4gICAgICAgIHJldHVybiBjb250cm9scztcbiAgICAgIH1cblxuICAgICAgY29udHJvbHNbZmllbGROYW1lXSA9IGNvbnRyb2w7XG4gICAgICByZXR1cm4gY29udHJvbHM7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbGF0aW9uc1JlZHVjZXIgPSAoY29udHJvbHM6IFJlbGF0ZWRGb3JtQ29udHJvbHMsIHJlbGF0aW9uOiBEeW5hbWljRm9ybUZpZWxkUmVsYXRpb24pID0+IHtcbiAgICAgIHJldHVybiByZWxhdGlvbi5jb25kaXRpb25zLnJlZHVjZShjb25kaXRpb25SZWR1Y2VyLCBjb250cm9scyk7XG4gICAgfTtcblxuICAgIHJldHVybiBtb2RlbC5yZWxhdGlvbnMhLnJlZHVjZShyZWxhdGlvbnNSZWR1Y2VyLCB7fSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVsYXRpb25TdWJzY3JpcHRpb25zKFxuICAgIHJlbGF0ZWRGb3JtQ29udHJvbHM6IFJlbGF0ZWRGb3JtQ29udHJvbHMsXG4gICAgbW9kZWw6IER5bmFtaWNGb3JtRmllbGRNb2RlbCxcbiAgICBjb250cm9sOiBGb3JtQ29udHJvbFxuICApOiBTdWJzY3JpcHRpb25bXSB7XG4gICAgY29uc3Qgc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICAgIC8vIFN1YnNjcmliZSB0byB2YWx1ZSBjaGFuZ2VzIG9mIGFsbCBGb3JtQ29udHJvbHMsIHByb3ZpZGUgdGhlIGN1cnJlbnQgdmFsdWUgaW5zaWRlIHRoZSBzdGFydFdpdGhcbiAgICBPYmplY3QudmFsdWVzKHJlbGF0ZWRGb3JtQ29udHJvbHMpLmZvckVhY2goKHJlbGF0ZWRDb250cm9sKSA9PiB7XG4gICAgICBzdWJzLnB1c2goXG4gICAgICAgIHJlbGF0ZWRDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aChyZWxhdGVkQ29udHJvbC52YWx1ZSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgbW9kZWwucmVsYXRpb25zIS5mb3JFYWNoKChyZWxhdGlvbikgPT4ge1xuICAgICAgICAgICAgLy8gRmluZCB0aGUgUmVsYXRpb25BY3Rpb24gb2JqZWN0IGJhc2VkIG9uIHRoZSBhY3Rpb25UeXBlIHBhc3NlZCBpbnNpZGUgdGhlIER5bmFtaWNGb3JtQ29uZmlnXG4gICAgICAgICAgICBjb25zdCBhY3Rpb24gPSBSRUxBVElPTl9BQ1RJT05TLmZpbmQoXG4gICAgICAgICAgICAgIChhY3Rpb24pID0+IHJlbGF0aW9uLmFjdGlvblR5cGUgPT09IGFjdGlvbi50eXBlIHx8IHJlbGF0aW9uLmFjdGlvblR5cGUgPT09IGFjdGlvbi5yZXZlcnNlZFR5cGVcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChhY3Rpb24pIHtcbiAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkVHJpZ2dlciA9IHRoaXMuY2hlY2tSZWxhdGlvbkNvbmRpdGlvbihyZWxhdGlvbiwgcmVsYXRlZEZvcm1Db250cm9scywgYWN0aW9uKTtcblxuICAgICAgICAgICAgICBhY3Rpb24uY2hhbmdlKHNob3VsZFRyaWdnZXIsIG1vZGVsLCBjb250cm9sLCB0aGlzLl9pbmplY3Rvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHN1YnM7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgdGhlIGNvbmRpdGlvbnMgaW5zaWRlIHRoZSByZWxhdGlvbnNcbiAgICogQHBhcmFtIHJlbGF0aW9uXG4gICAqIEBwYXJhbSByZWxhdGVkQ29udHJvbFxuICAgKiBAcGFyYW0gYWN0aW9uXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwcml2YXRlIGNoZWNrUmVsYXRpb25Db25kaXRpb24oXG4gICAgcmVsYXRpb246IER5bmFtaWNGb3JtRmllbGRSZWxhdGlvbixcbiAgICByZWxhdGVkQ29udHJvbHM6IFJlbGF0ZWRGb3JtQ29udHJvbHMsXG4gICAgYWN0aW9uOiBEeW5hbWljUmVsYXRpb25BY3Rpb25cbiAgKTogYm9vbGVhbiB7XG4gICAgLy8gRGVmYXVsdCBvcGVyYXRvciBpcyBBTkQsIG1lYW5pbmcgYWxsIGNvbmRpdGlvbnMgc2hvdWxkIHJldHVybiB0cnVlIGJlZm9yZSB0aGUgcHJvdmlkZWQgYWN0aW9uIGlzIHRyaWdnZXJlZC5cbiAgICAvLyBJbiB0aGUgY2FzZSBvZiBhIHJldmVyc2VkIHR5cGUsIHRoZSByZXR1cm4gdmFsdWUgd2hvdWxkIGJlIGZhbHNlLlxuICAgIGNvbnN0IG9wZXJhdG9yID0gcmVsYXRpb24ub3BlcmF0b3IgPz8gUmVsYXRpb25PcGVyYXRvci5BTkQ7XG5cbiAgICAvLyBVc2UgYSByZWR1Y2VyIHRvIG1hcCBhbGwgY29uZGl0aW9ucyB0byBhIHNpbmdsZSBib29sZWFuIHZhbHVlIHRvIGRlY2lkZSBpZiB3ZSB3YW50IHRvIHRyaWdnZXIgdGhlIHByb3ZpZGVkIGFjdGlvbiB0eXBlXG4gICAgY29uc3QgcmVkdWNlciA9IChpc01hdGNoOiBib29sZWFuLCBjb25kaXRpb246IFJlbGF0aW9uQ29uZGl0aW9uLCBpbmRleDogbnVtYmVyKTogYm9vbGVhbiA9PiB7XG4gICAgICAvLyBGaW5kIHRoZSBGb3JtQ29udHJvbCBvZiB0aGUgcmVsYXRlZCBmaWVsZFxuICAgICAgbGV0IHJlbGF0ZWRDb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgfCB1bmRlZmluZWQ7XG5cbiAgICAgIGZvciAoY29uc3QgW2ZpZWxkTmFtZSwgY29udHJvbF0gb2YgT2JqZWN0LmVudHJpZXMocmVsYXRlZENvbnRyb2xzKSkge1xuICAgICAgICBpZiAoZmllbGROYW1lID09PSAoY29uZGl0aW9uLnBhdGggPz8gY29uZGl0aW9uLmZpZWxkTmFtZSkpIHtcbiAgICAgICAgICByZWxhdGVkQ29udHJvbCA9IGNvbnRyb2w7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCFyZWxhdGVkQ29udHJvbCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAvLyBVc2luZyB0aGUgJ25vcm1hbCcgdHlwZSBzaG91bGQgcmV0dXJuIHRydWUgd2hlbiB0aGUgY29uZGl0aW9uIG1hdGNoZXNcbiAgICAgIGlmIChyZWxhdGlvbi5hY3Rpb25UeXBlID09PSBhY3Rpb24udHlwZSkge1xuICAgICAgICAvLyBTaG9ydGN1dCB0byBmYWxzZSB3aGVuIGEgcHJldmlvdXMgY29uZGl0aW9uIGNoZWNrIHdhcyByZXNvbHZlZCBhcyBmYWxzZSBpbiBjYXNlIG9mIHRoZSBBTkQgb3BlcmF0b3JcbiAgICAgICAgaWYgKGluZGV4ID4gMCAmJiBvcGVyYXRvciA9PT0gUmVsYXRpb25PcGVyYXRvci5BTkQgJiYgIWlzTWF0Y2gpIHJldHVybiBmYWxzZTtcblxuICAgICAgICAvLyBTaG9ydGN1dCB0byB0cnVlIHdoZW4gYSBwcmV2aW91cyBjb25kaXRpb24gY2hlY2sgd2FzIHJlc29sdmVkIGFzIHRydWUgaW4gY2FzZSBvZiB0aGUgT1Igb3BlcmF0b3JcbiAgICAgICAgaWYgKGluZGV4ID4gMCAmJiBvcGVyYXRvciA9PT0gUmVsYXRpb25PcGVyYXRvci5PUiAmJiBpc01hdGNoKSByZXR1cm4gdHJ1ZTtcblxuICAgICAgICByZXR1cm4gY29uZGl0aW9uLnZhbHVlKHJlbGF0ZWRDb250cm9sLnZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgLy8gVXNpbmcgdGhlIHJldmVyc2VkIHR5cGUgc2hvdWxkIHJldHVybiBmYWxzZSB3aGVuIHRoZSBjb25kaXRpb24gbWF0Y2hlcywgYmVjYXVzZSB3ZSB3YW50IHRvIHRoZSBvcHBvc2l0ZSBvZiB0aGUgY29uZmlndXJlZCBjaGFuZ2UgRnVuY3Rpb25cbiAgICAgIGlmIChyZWxhdGlvbi5hY3Rpb25UeXBlID09PSBhY3Rpb24ucmV2ZXJzZWRUeXBlKSB7XG4gICAgICAgIC8vIFNob3J0Y3V0IHRvIHRydWUgd2hlbiBhIHByZXZpb3VzIGNvbmRpdGlvbiBjaGVjayB3YXMgcmVzb2x2ZWQgYXMgdHJ1ZVxuICAgICAgICBpZiAoaW5kZXggPiAwICYmIG9wZXJhdG9yID09PSBSZWxhdGlvbk9wZXJhdG9yLkFORCAmJiBpc01hdGNoKSByZXR1cm4gdHJ1ZTtcblxuICAgICAgICAvLyBTaG9ydGN1dCB0byBmYWxzZSB3aGVuIGEgcHJldmlvdXMgY29uZGl0aW9uIGNoZWNrIHdhcyByZXNvbHZlZCBhcyBmYWxzZVxuICAgICAgICBpZiAoaW5kZXggPiAwICYmIG9wZXJhdG9yID09PSBSZWxhdGlvbk9wZXJhdG9yLk9SICYmICFpc01hdGNoKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgcmV0dXJuICFjb25kaXRpb24udmFsdWUocmVsYXRlZENvbnRyb2wudmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfTtcblxuICAgIHJldHVybiByZWxhdGlvbi5jb25kaXRpb25zLnJlZHVjZShyZWR1Y2VyLCBmYWxzZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
2
|
-
import { UntypedFormControl } from '@angular/forms';
|
|
3
|
-
import { map } from 'rxjs';
|
|
4
|
-
import { DYNAMIC_FORM_FIELD_MAP_FN } from '../models/tokens/dynamic-form-field-map-fn.token';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/forms";
|
|
7
|
-
import * as i2 from "./dynamic-validations.service";
|
|
8
|
-
export class DynamicFormService {
|
|
9
|
-
constructor(DYNAMIC_FORM_FIELD_MAP_FN, fb, validatorsService) {
|
|
10
|
-
this.DYNAMIC_FORM_FIELD_MAP_FN = DYNAMIC_FORM_FIELD_MAP_FN;
|
|
11
|
-
this.fb = fb;
|
|
12
|
-
this.validatorsService = validatorsService;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Check if there is a function provided to use custom form controls
|
|
16
|
-
* @param model
|
|
17
|
-
* @returns
|
|
18
|
-
*/
|
|
19
|
-
getCustomControlComponentType(model) {
|
|
20
|
-
return typeof this.DYNAMIC_FORM_FIELD_MAP_FN === 'function' ? this.DYNAMIC_FORM_FIELD_MAP_FN(model) : null;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Create a FormGroup from the provided form configuration.
|
|
24
|
-
* Returns a FormGroup.
|
|
25
|
-
* @param {DynamicFormConfig} config Configuration object of a form
|
|
26
|
-
* @returns {UntypedFormGroup}
|
|
27
|
-
*/
|
|
28
|
-
createFormGroup(config) {
|
|
29
|
-
const group = this.fb.group({});
|
|
30
|
-
config.forEach((row) => {
|
|
31
|
-
row.forEach((controlConfig) => {
|
|
32
|
-
const controlOptions = {
|
|
33
|
-
updateOn: controlConfig.updateOn,
|
|
34
|
-
validators: this.validatorsService.getValidatorFns(controlConfig.validators)
|
|
35
|
-
};
|
|
36
|
-
const controlValueConfig = controlConfig;
|
|
37
|
-
const control = new UntypedFormControl({ value: controlValueConfig.value ?? controlValueConfig.defaultValue, disabled: controlValueConfig.disabled }, controlOptions);
|
|
38
|
-
group.addControl(controlConfig.name, control);
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
return group;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Transform any list (Observable) to a list of DynamicFormFieldOption which is used in any Dynamic Form Field with options (e.g. DynamicSelect).
|
|
45
|
-
* Possible to provide the method with Type definitions to define the provided list type and desired option value type:
|
|
46
|
-
*
|
|
47
|
-
* `dynamicFormService.toDynamicOptionList<T, K>(...)`
|
|
48
|
-
*
|
|
49
|
-
* Generic types:
|
|
50
|
-
* - T = The type of the items in the provided list
|
|
51
|
-
* - K = The type of the value inside an DynamicFormFieldOption. Default is 'string'
|
|
52
|
-
* @param listObs An Observable of a list of items of type T
|
|
53
|
-
* @param labelCb Callback to define the label of the options in the template
|
|
54
|
-
* @param valueCb Callback to define the value of the options. Must return a value of type K (default string)
|
|
55
|
-
* @returns
|
|
56
|
-
*/
|
|
57
|
-
toDynamicOptionListObs(listObs, labelCb, valueCb) {
|
|
58
|
-
return listObs.pipe(map((list) => {
|
|
59
|
-
return list.map((item) => {
|
|
60
|
-
return {
|
|
61
|
-
label: labelCb(item),
|
|
62
|
-
value: valueCb(item)
|
|
63
|
-
};
|
|
64
|
-
});
|
|
65
|
-
}));
|
|
66
|
-
}
|
|
67
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicFormService, deps: [{ token: DYNAMIC_FORM_FIELD_MAP_FN, optional: true }, { token: i1.FormBuilder }, { token: i2.DynamicFormValidationsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
68
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicFormService, providedIn: 'root' }); }
|
|
69
|
-
}
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicFormService, decorators: [{
|
|
71
|
-
type: Injectable,
|
|
72
|
-
args: [{
|
|
73
|
-
providedIn: 'root'
|
|
74
|
-
}]
|
|
75
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
76
|
-
type: Inject,
|
|
77
|
-
args: [DYNAMIC_FORM_FIELD_MAP_FN]
|
|
78
|
-
}, {
|
|
79
|
-
type: Optional
|
|
80
|
-
}] }, { type: i1.FormBuilder }, { type: i2.DynamicFormValidationsService }] });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9saWIvc2VydmljZXMvZHluYW1pYy1mb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBbUMsa0JBQWtCLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkcsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUt2QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7OztBQVM3RixNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ3lELHlCQUFvRCxFQUNuRyxFQUFlLEVBQ2YsaUJBQWdEO1FBRkQsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUNuRyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2Ysc0JBQWlCLEdBQWpCLGlCQUFpQixDQUErQjtJQUN2RCxDQUFDO0lBRUo7Ozs7T0FJRztJQUNJLDZCQUE2QixDQUFDLEtBQTRCO1FBQy9ELE9BQU8sT0FBTyxJQUFJLENBQUMseUJBQXlCLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM3RyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxlQUFlLENBQUMsTUFBeUI7UUFDOUMsTUFBTSxLQUFLLEdBQXFCLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWxELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNyQixHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7Z0JBQzVCLE1BQU0sY0FBYyxHQUF1QjtvQkFDekMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRO29CQUNoQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO2lCQUM3RSxDQUFDO2dCQUVGLE1BQU0sa0JBQWtCLEdBQUcsYUFBcUQsQ0FBQztnQkFDakYsTUFBTSxPQUFPLEdBQUcsSUFBSSxrQkFBa0IsQ0FDcEMsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUMsS0FBSyxJQUFJLGtCQUFrQixDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFFLEVBQzdHLGNBQWMsQ0FDZixDQUFDO2dCQUVGLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNoRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNJLHNCQUFzQixDQUMzQixPQUF3QixFQUN4QixPQUE0QixFQUM1QixPQUF1QjtRQUV2QixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3ZCLE9BQU87b0JBQ0wsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ3BCLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDO2lCQUNyQixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzsrR0ExRVUsa0JBQWtCLGtCQUVuQix5QkFBeUI7bUhBRnhCLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLHlCQUF5Qjs7MEJBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbE9wdGlvbnMsIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZCB9IGZyb20gJy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1iYXNlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRNb2RlbCB9IGZyb20gJy4uL21vZGVscy9jbGFzc2VzL2R5bmFtaWMtZm9ybS1maWVsZC1tb2RlbCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkT3B0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2NsYXNzZXMvZHluYW1pYy1mb3JtLWZpZWxkLW9wdGlvbi1tb2RlbCc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkVmFsdWVDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvY2xhc3Nlcy9keW5hbWljLWZvcm0tZmllbGQtdmFsdWUtbW9kZWwnO1xuaW1wb3J0IHsgRFlOQU1JQ19GT1JNX0ZJRUxEX01BUF9GTiB9IGZyb20gJy4uL21vZGVscy90b2tlbnMvZHluYW1pYy1mb3JtLWZpZWxkLW1hcC1mbi50b2tlbic7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUNvbmZpZyB9IGZyb20gJy4uL21vZGVscy90eXBlcy9keW5hbWljLWZvcm0tY29uZmlnLnR5cGUnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1WYWxpZGF0aW9uc1NlcnZpY2UgfSBmcm9tICcuL2R5bmFtaWMtdmFsaWRhdGlvbnMuc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIER5bmFtaWNGb3JtRmllbGRUeXBlTWFwRm4gPSAoZmllbGQ6IER5bmFtaWNGb3JtRmllbGRNb2RlbCkgPT4gVHlwZTxEeW5hbWljRm9ybUZpZWxkPiB8IG51bGw7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRFlOQU1JQ19GT1JNX0ZJRUxEX01BUF9GTikgQE9wdGlvbmFsKCkgcHJpdmF0ZSBEWU5BTUlDX0ZPUk1fRklFTERfTUFQX0ZOOiBEeW5hbWljRm9ybUZpZWxkVHlwZU1hcEZuLFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgdmFsaWRhdG9yc1NlcnZpY2U6IER5bmFtaWNGb3JtVmFsaWRhdGlvbnNTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlcmUgaXMgYSBmdW5jdGlvbiBwcm92aWRlZCB0byB1c2UgY3VzdG9tIGZvcm0gY29udHJvbHNcbiAgICogQHBhcmFtIG1vZGVsXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwdWJsaWMgZ2V0Q3VzdG9tQ29udHJvbENvbXBvbmVudFR5cGUobW9kZWw6IER5bmFtaWNGb3JtRmllbGRNb2RlbCk6IFR5cGU8RHluYW1pY0Zvcm1GaWVsZD4gfCBudWxsIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMuRFlOQU1JQ19GT1JNX0ZJRUxEX01BUF9GTiA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXMuRFlOQU1JQ19GT1JNX0ZJRUxEX01BUF9GTihtb2RlbCkgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIEZvcm1Hcm91cCBmcm9tIHRoZSBwcm92aWRlZCBmb3JtIGNvbmZpZ3VyYXRpb24uXG4gICAqIFJldHVybnMgYSBGb3JtR3JvdXAuXG4gICAqIEBwYXJhbSB7RHluYW1pY0Zvcm1Db25maWd9IGNvbmZpZyBDb25maWd1cmF0aW9uIG9iamVjdCBvZiBhIGZvcm1cbiAgICogQHJldHVybnMge1VudHlwZWRGb3JtR3JvdXB9XG4gICAqL1xuICBwdWJsaWMgY3JlYXRlRm9ybUdyb3VwKGNvbmZpZzogRHluYW1pY0Zvcm1Db25maWcpOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICBjb25zdCBncm91cDogVW50eXBlZEZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe30pO1xuXG4gICAgY29uZmlnLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgcm93LmZvckVhY2goKGNvbnRyb2xDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgY29udHJvbE9wdGlvbnM6IEZvcm1Db250cm9sT3B0aW9ucyA9IHtcbiAgICAgICAgICB1cGRhdGVPbjogY29udHJvbENvbmZpZy51cGRhdGVPbixcbiAgICAgICAgICB2YWxpZGF0b3JzOiB0aGlzLnZhbGlkYXRvcnNTZXJ2aWNlLmdldFZhbGlkYXRvckZucyhjb250cm9sQ29uZmlnLnZhbGlkYXRvcnMpXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgY29udHJvbFZhbHVlQ29uZmlnID0gY29udHJvbENvbmZpZyBhcyBEeW5hbWljRm9ybUZpZWxkVmFsdWVDb25maWc8dW5rbm93bj47XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKFxuICAgICAgICAgIHsgdmFsdWU6IGNvbnRyb2xWYWx1ZUNvbmZpZy52YWx1ZSA/PyBjb250cm9sVmFsdWVDb25maWcuZGVmYXVsdFZhbHVlLCBkaXNhYmxlZDogY29udHJvbFZhbHVlQ29uZmlnLmRpc2FibGVkIH0sXG4gICAgICAgICAgY29udHJvbE9wdGlvbnNcbiAgICAgICAgKTtcblxuICAgICAgICBncm91cC5hZGRDb250cm9sKGNvbnRyb2xDb25maWcubmFtZSwgY29udHJvbCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBncm91cDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gYW55IGxpc3QgKE9ic2VydmFibGUpIHRvIGEgbGlzdCBvZiBEeW5hbWljRm9ybUZpZWxkT3B0aW9uIHdoaWNoIGlzIHVzZWQgaW4gYW55IER5bmFtaWMgRm9ybSBGaWVsZCB3aXRoIG9wdGlvbnMgKGUuZy4gRHluYW1pY1NlbGVjdCkuXG4gICAqIFBvc3NpYmxlIHRvIHByb3ZpZGUgdGhlIG1ldGhvZCB3aXRoIFR5cGUgZGVmaW5pdGlvbnMgdG8gZGVmaW5lIHRoZSBwcm92aWRlZCBsaXN0IHR5cGUgYW5kIGRlc2lyZWQgb3B0aW9uIHZhbHVlIHR5cGU6XG4gICAqXG4gICAqIGBkeW5hbWljRm9ybVNlcnZpY2UudG9EeW5hbWljT3B0aW9uTGlzdDxULCBLPiguLi4pYFxuICAgKlxuICAgKiBHZW5lcmljIHR5cGVzOlxuICAgKiAgLSBUID0gVGhlIHR5cGUgb2YgdGhlIGl0ZW1zIGluIHRoZSBwcm92aWRlZCBsaXN0XG4gICAqICAtIEsgPSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgaW5zaWRlIGFuIER5bmFtaWNGb3JtRmllbGRPcHRpb24uIERlZmF1bHQgaXMgJ3N0cmluZydcbiAgICogQHBhcmFtIGxpc3RPYnMgQW4gT2JzZXJ2YWJsZSBvZiBhIGxpc3Qgb2YgaXRlbXMgb2YgdHlwZSBUXG4gICAqIEBwYXJhbSBsYWJlbENiIENhbGxiYWNrIHRvIGRlZmluZSB0aGUgbGFiZWwgb2YgdGhlIG9wdGlvbnMgaW4gdGhlIHRlbXBsYXRlXG4gICAqIEBwYXJhbSB2YWx1ZUNiIENhbGxiYWNrIHRvIGRlZmluZSB0aGUgdmFsdWUgb2YgdGhlIG9wdGlvbnMuIE11c3QgcmV0dXJuIGEgdmFsdWUgb2YgdHlwZSBLIChkZWZhdWx0IHN0cmluZylcbiAgICogQHJldHVybnNcbiAgICovXG4gIHB1YmxpYyB0b0R5bmFtaWNPcHRpb25MaXN0T2JzPFQsIEsgPSBzdHJpbmc+KFxuICAgIGxpc3RPYnM6IE9ic2VydmFibGU8VFtdPixcbiAgICBsYWJlbENiOiAoaXRlbTogVCkgPT4gc3RyaW5nLFxuICAgIHZhbHVlQ2I6IChpdGVtOiBUKSA9PiBLXG4gICk6IE9ic2VydmFibGU8RHluYW1pY0Zvcm1GaWVsZE9wdGlvbjxLPltdPiB7XG4gICAgcmV0dXJuIGxpc3RPYnMucGlwZShcbiAgICAgIG1hcCgobGlzdCkgPT4ge1xuICAgICAgICByZXR1cm4gbGlzdC5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGFiZWw6IGxhYmVsQ2IoaXRlbSksXG4gICAgICAgICAgICB2YWx1ZTogdmFsdWVDYihpdGVtKVxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class DynamicFormValidationsService {
|
|
4
|
-
/**
|
|
5
|
-
* Get all Validator Functions from the validator configuration
|
|
6
|
-
* @param validatorConfig
|
|
7
|
-
* @returns
|
|
8
|
-
*/
|
|
9
|
-
getValidatorFns(validatorConfig) {
|
|
10
|
-
return validatorConfig.map((v) => v.validator);
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Update the validators on a FormControl based on the provided validator configuration.
|
|
14
|
-
* This will replace any existing validators on the control or removes all validators when none provided
|
|
15
|
-
* @param validatorConfig
|
|
16
|
-
* @param control
|
|
17
|
-
*/
|
|
18
|
-
updateValidators(validatorConfig, control) {
|
|
19
|
-
if (!validatorConfig || validatorConfig.length === 0) {
|
|
20
|
-
control.clearValidators();
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
const validatorFns = this.getValidatorFns(validatorConfig);
|
|
24
|
-
control.setValidators(validatorFns);
|
|
25
|
-
}
|
|
26
|
-
control.updateValueAndValidity();
|
|
27
|
-
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicFormValidationsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicFormValidationsService, providedIn: 'root' }); }
|
|
30
|
-
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicFormValidationsService, decorators: [{
|
|
32
|
-
type: Injectable,
|
|
33
|
-
args: [{
|
|
34
|
-
providedIn: 'root'
|
|
35
|
-
}]
|
|
36
|
-
}] });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy12YWxpZGF0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWR5bmFtaWMtZm9ybS9zcmMvbGliL3NlcnZpY2VzL2R5bmFtaWMtdmFsaWRhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8zQyxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDOzs7O09BSUc7SUFDSSxlQUFlLENBQUMsZUFBdUM7UUFDNUQsT0FBTyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksZ0JBQWdCLENBQUMsZUFBdUMsRUFBRSxPQUFvQjtRQUNuRixJQUFJLENBQUMsZUFBZSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckQsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxZQUFZLEdBQWtCLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDMUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDbkMsQ0FBQzsrR0F6QlUsNkJBQTZCO21IQUE3Qiw2QkFBNkIsY0FGNUIsTUFBTTs7NEZBRVAsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IER5bmFtaWNGb3JtVmFsaWRhdG9yIH0gZnJvbSAnLi4vbW9kZWxzL2ludGVyZmFjZXMvZHluYW1pYy1mb3JtLXZhbGlkYXRvci5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybVZhbGlkYXRpb25zU2VydmljZSB7XG4gIC8qKlxuICAgKiBHZXQgYWxsIFZhbGlkYXRvciBGdW5jdGlvbnMgZnJvbSB0aGUgdmFsaWRhdG9yIGNvbmZpZ3VyYXRpb25cbiAgICogQHBhcmFtIHZhbGlkYXRvckNvbmZpZ1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHVibGljIGdldFZhbGlkYXRvckZucyh2YWxpZGF0b3JDb25maWc6IER5bmFtaWNGb3JtVmFsaWRhdG9yW10pOiBWYWxpZGF0b3JGbltdIHtcbiAgICByZXR1cm4gdmFsaWRhdG9yQ29uZmlnLm1hcCgodikgPT4gdi52YWxpZGF0b3IpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgdmFsaWRhdG9ycyBvbiBhIEZvcm1Db250cm9sIGJhc2VkIG9uIHRoZSBwcm92aWRlZCB2YWxpZGF0b3IgY29uZmlndXJhdGlvbi5cbiAgICogVGhpcyB3aWxsIHJlcGxhY2UgYW55IGV4aXN0aW5nIHZhbGlkYXRvcnMgb24gdGhlIGNvbnRyb2wgb3IgcmVtb3ZlcyBhbGwgdmFsaWRhdG9ycyB3aGVuIG5vbmUgcHJvdmlkZWRcbiAgICogQHBhcmFtIHZhbGlkYXRvckNvbmZpZ1xuICAgKiBAcGFyYW0gY29udHJvbFxuICAgKi9cbiAgcHVibGljIHVwZGF0ZVZhbGlkYXRvcnModmFsaWRhdG9yQ29uZmlnOiBEeW5hbWljRm9ybVZhbGlkYXRvcltdLCBjb250cm9sOiBGb3JtQ29udHJvbCk6IHZvaWQge1xuICAgIGlmICghdmFsaWRhdG9yQ29uZmlnIHx8IHZhbGlkYXRvckNvbmZpZy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnRyb2wuY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHZhbGlkYXRvckZuczogVmFsaWRhdG9yRm5bXSA9IHRoaXMuZ2V0VmFsaWRhdG9yRm5zKHZhbGlkYXRvckNvbmZpZyk7XG4gICAgICBjb250cm9sLnNldFZhbGlkYXRvcnModmFsaWRhdG9yRm5zKTtcbiAgICB9XG5cbiAgICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2xhZnZ2LW5neC1keW5hbWljLWZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZHluYW1pYy1mb3JtL3NyYy9vbGFmdnYtbmd4LWR5bmFtaWMtZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of ngx-dynamic-form
|
|
3
|
-
*/
|
|
4
|
-
export * from './lib/components/dynamic-form/dynamic-form.component';
|
|
5
|
-
export * from './lib/controls/controls';
|
|
6
|
-
export * from './lib/models';
|
|
7
|
-
export * from './lib/services/dynamic-form.service';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1keW5hbWljLWZvcm0vc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLHNEQUFzRCxDQUFDO0FBRXJFLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxjQUFjLENBQUM7QUFFN0IsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LWR5bmFtaWMtZm9ybVxuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbHMvY29udHJvbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZHluYW1pYy1mb3JtLnNlcnZpY2UnO1xuIl19
|