monkey-front-components 0.0.180 → 0.0.184

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.
Files changed (81) hide show
  1. package/esm2020/lib/components/base/base-component.mjs +291 -0
  2. package/esm2020/lib/components/base/base-dynamic-array.mjs +221 -0
  3. package/esm2020/lib/components/base/base-dynamic.mjs +99 -0
  4. package/{esm2015/lib/components/base/base-validators.js → esm2020/lib/components/base/base-validators.mjs} +1 -1
  5. package/{esm2015/lib/components/base/index.js → esm2020/lib/components/base/index.mjs} +0 -0
  6. package/esm2020/lib/components/dynamic/button/button.component.mjs +52 -0
  7. package/{esm2015/lib/components/dynamic/button/index.js → esm2020/lib/components/dynamic/button/index.mjs} +0 -0
  8. package/esm2020/lib/components/dynamic/dynamic-directive.mjs +95 -0
  9. package/{esm2015/lib/components/dynamic/dynamic.module.js → esm2020/lib/components/dynamic/dynamic.module.mjs} +5 -5
  10. package/esm2020/lib/components/dynamic/file-upload/file-upload.component.mjs +52 -0
  11. package/{esm2015/lib/components/dynamic/file-upload/index.js → esm2020/lib/components/dynamic/file-upload/index.mjs} +0 -0
  12. package/esm2020/lib/components/dynamic/form/dynamic-form-array.component.mjs +72 -0
  13. package/esm2020/lib/components/dynamic/form/dynamic-form.component.mjs +46 -0
  14. package/{esm2015/lib/components/dynamic/form/index.js → esm2020/lib/components/dynamic/form/index.mjs} +0 -0
  15. package/{esm2015/lib/components/dynamic/index.js → esm2020/lib/components/dynamic/index.mjs} +0 -0
  16. package/{esm2015/lib/components/dynamic/input/index.js → esm2020/lib/components/dynamic/input/index.mjs} +0 -0
  17. package/esm2020/lib/components/dynamic/input/input.component.mjs +65 -0
  18. package/{esm2015/lib/components/dynamic/input-phone/index.js → esm2020/lib/components/dynamic/input-phone/index.mjs} +0 -0
  19. package/esm2020/lib/components/dynamic/input-phone/input-phone.component.mjs +65 -0
  20. package/{esm2015/lib/components/dynamic/radio/index.js → esm2020/lib/components/dynamic/radio/index.mjs} +0 -0
  21. package/esm2020/lib/components/dynamic/radio/radio.component.mjs +33 -0
  22. package/{esm2015/lib/components/dynamic/select/index.js → esm2020/lib/components/dynamic/select/index.mjs} +0 -0
  23. package/esm2020/lib/components/dynamic/select/select.component.mjs +80 -0
  24. package/{esm2015/lib/components/dynamic/select-search/index.js → esm2020/lib/components/dynamic/select-search/index.mjs} +0 -0
  25. package/esm2020/lib/components/dynamic/select-search/select-search.component.mjs +80 -0
  26. package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
  27. package/{esm2015/lib/components/shared/index.js → esm2020/lib/components/shared/index.mjs} +2 -1
  28. package/{esm2015/lib/components/shared/password-strength/index.js → esm2020/lib/components/shared/password-strength/index.mjs} +0 -0
  29. package/esm2020/lib/components/shared/password-strength/password-strength.component.mjs +83 -0
  30. package/{esm2015/lib/components/shared/password-strength/password-strength.js → esm2020/lib/components/shared/password-strength/password-strength.mjs} +0 -0
  31. package/{esm2015/lib/components/shared/password-strength/password-strength.module.js → esm2020/lib/components/shared/password-strength/password-strength.module.mjs} +5 -5
  32. package/esm2020/lib/components/shared/progress-bar/index.mjs +4 -0
  33. package/esm2020/lib/components/shared/progress-bar/progress-bar.component.mjs +28 -0
  34. package/esm2020/lib/components/shared/progress-bar/progress-bar.module.mjs +18 -0
  35. package/esm2020/lib/components/shared/progress-bar/progress-bar.service.mjs +49 -0
  36. package/{esm2015/lib/interfaces/field-config.js → esm2020/lib/interfaces/field-config.mjs} +0 -0
  37. package/{esm2015/lib/interfaces/index.js → esm2020/lib/interfaces/index.mjs} +0 -0
  38. package/{esm2015/monkey-front-components.js → esm2020/monkey-front-components.mjs} +0 -0
  39. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  40. package/fesm2015/monkey-front-components.mjs +1487 -0
  41. package/fesm2015/monkey-front-components.mjs.map +1 -0
  42. package/fesm2020/monkey-front-components.mjs +1471 -0
  43. package/fesm2020/monkey-front-components.mjs.map +1 -0
  44. package/lib/components/base/base-component.d.ts +1 -1
  45. package/lib/components/base/base-dynamic-array.d.ts +1 -1
  46. package/lib/components/base/base-dynamic.d.ts +1 -1
  47. package/lib/components/base/base-validators.d.ts +1 -14
  48. package/lib/components/dynamic/button/button.component.d.ts +2 -2
  49. package/lib/components/dynamic/dynamic-directive.d.ts +2 -2
  50. package/lib/components/dynamic/input/input.component.d.ts +3 -3
  51. package/lib/components/dynamic/input-phone/input-phone.component.d.ts +3 -3
  52. package/lib/components/dynamic/radio/radio.component.d.ts +2 -2
  53. package/lib/components/dynamic/select/select.component.d.ts +2 -2
  54. package/lib/components/dynamic/select-search/select-search.component.d.ts +2 -2
  55. package/lib/components/shared/index.d.ts +1 -0
  56. package/lib/components/shared/password-strength/password-strength.component.d.ts +2 -2
  57. package/lib/components/shared/progress-bar/index.d.ts +3 -0
  58. package/lib/components/shared/progress-bar/progress-bar.component.d.ts +12 -0
  59. package/lib/components/shared/progress-bar/progress-bar.module.d.ts +8 -0
  60. package/lib/components/shared/progress-bar/progress-bar.service.d.ts +14 -0
  61. package/monkey-front-components-0.0.184.tgz +0 -0
  62. package/package.json +27 -13
  63. package/bundles/monkey-front-components.umd.js +0 -1866
  64. package/bundles/monkey-front-components.umd.js.map +0 -1
  65. package/esm2015/lib/components/base/base-component.js +0 -288
  66. package/esm2015/lib/components/base/base-dynamic-array.js +0 -215
  67. package/esm2015/lib/components/base/base-dynamic.js +0 -98
  68. package/esm2015/lib/components/dynamic/button/button.component.js +0 -57
  69. package/esm2015/lib/components/dynamic/dynamic-directive.js +0 -95
  70. package/esm2015/lib/components/dynamic/file-upload/file-upload.component.js +0 -57
  71. package/esm2015/lib/components/dynamic/form/dynamic-form-array.component.js +0 -77
  72. package/esm2015/lib/components/dynamic/form/dynamic-form.component.js +0 -51
  73. package/esm2015/lib/components/dynamic/input/input.component.js +0 -66
  74. package/esm2015/lib/components/dynamic/input-phone/input-phone.component.js +0 -66
  75. package/esm2015/lib/components/dynamic/radio/radio.component.js +0 -36
  76. package/esm2015/lib/components/dynamic/select/select.component.js +0 -81
  77. package/esm2015/lib/components/dynamic/select-search/select-search.component.js +0 -81
  78. package/esm2015/lib/components/shared/password-strength/password-strength.component.js +0 -89
  79. package/fesm2015/monkey-front-components.js +0 -1414
  80. package/fesm2015/monkey-front-components.js.map +0 -1
  81. package/monkey-front-components-0.0.180.tgz +0 -0
@@ -0,0 +1,99 @@
1
+ import { Directive, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { MonkeyUtils } from 'monkey-style-guide';
4
+ import { BaseComponent } from './base-component';
5
+ import { validators } from './base-validators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/forms";
8
+ export class BaseDynamic extends BaseComponent {
9
+ constructor(fb) {
10
+ super();
11
+ this.fb = fb;
12
+ this.onHandleSubmit = new EventEmitter();
13
+ this.onHandleUpdateForm = new EventEmitter();
14
+ this.onHandleSubmitFormReady = new EventEmitter();
15
+ this.fields = [];
16
+ this.disabled = false;
17
+ this._form = null;
18
+ }
19
+ createControl() {
20
+ const { fields } = this;
21
+ if (!fields)
22
+ return null;
23
+ // eslint-disable-next-line object-curly-newline
24
+ const group = this.fb.group({});
25
+ fields.forEach((field) => {
26
+ const { fieldType, validations, name, disabled } = field;
27
+ let { value } = field;
28
+ if (fieldType === 'button')
29
+ return;
30
+ if (fieldType === 'radiobutton' || fieldType === 'checkbox' || fieldType === 'select') {
31
+ value = '';
32
+ }
33
+ const control = this.fb.control(value, this.bindValidations(validations || []));
34
+ if (disabled || this.disabled)
35
+ control.disable();
36
+ group.addControl(name, control);
37
+ });
38
+ return group;
39
+ }
40
+ bindValidations(validations) {
41
+ if (validations.length > 0) {
42
+ const validList = [];
43
+ validations.forEach((valid) => {
44
+ const validated = valid.param
45
+ ? validators[valid.name](valid.param)
46
+ : validators[valid.name];
47
+ validList.push(validated);
48
+ });
49
+ return Validators.compose(validList);
50
+ }
51
+ return null;
52
+ }
53
+ fillValues() {
54
+ const { data } = this;
55
+ if (!data || !this._form)
56
+ return;
57
+ Object.entries(data).forEach(([key, value]) => {
58
+ if (MonkeyUtils.persistNullEmptyUndefined(value) && this._form?.controls[key]) {
59
+ this._form?.controls[key]?.setValue(value);
60
+ }
61
+ });
62
+ }
63
+ ngOnInit() {
64
+ this._form = this.createControl();
65
+ this.fillValues();
66
+ this.onHandleUpdateForm.subscribe(() => {
67
+ this.fillValues();
68
+ });
69
+ }
70
+ ngOnChanges() {
71
+ if (!this._form) {
72
+ this._form = this.createControl();
73
+ }
74
+ this.fillValues();
75
+ }
76
+ }
77
+ BaseDynamic.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: BaseDynamic, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Directive });
78
+ BaseDynamic.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.2", type: BaseDynamic, selector: "[baseDynamic]", inputs: { onHandleSubmit: "onHandleSubmit", onHandleUpdateForm: "onHandleUpdateForm", self: "self", fields: "fields", data: "data", disabled: "disabled" }, outputs: { onHandleSubmitFormReady: "onHandleSubmitFormReady" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: BaseDynamic, decorators: [{
80
+ type: Directive,
81
+ args: [{
82
+ selector: '[baseDynamic]'
83
+ }]
84
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { onHandleSubmit: [{
85
+ type: Input
86
+ }], onHandleUpdateForm: [{
87
+ type: Input
88
+ }], onHandleSubmitFormReady: [{
89
+ type: Output
90
+ }], self: [{
91
+ type: Input
92
+ }], fields: [{
93
+ type: Input
94
+ }], data: [{
95
+ type: Input
96
+ }], disabled: [{
97
+ type: Input
98
+ }] } });
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1keW5hbWljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UvYmFzZS1keW5hbWljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUsvQyxNQUFNLE9BQWdCLFdBQVksU0FBUSxhQUFhO0lBaUJyRCxZQUFvQixFQUFlO1FBQ2pDLEtBQUssRUFBRSxDQUFDO1FBRFUsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQWhCMUIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXpDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFNUMsNEJBQXVCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFJdEUsV0FBTSxHQUFzQixFQUFFLENBQUM7UUFJL0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVuQyxVQUFLLEdBQXFCLElBQUksQ0FBQztJQUkvQixDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDekIsZ0RBQWdEO1FBQ2hELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFD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LFdBQVc7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7aUJBQzFCO2tHQUVVLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLHVCQUF1QjtzQkFBaEMsTUFBTTtnQkFFRSxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE9uQ2hhbmdlcywgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTW9ua2V5VXRpbHMgfSBmcm9tICdtb25rZXktc3R5bGUtZ3VpZGUnO1xuaW1wb3J0IHsgTUVDWEZpZWxkQ29uZmlnLCBNRUNYRmllbGRDb25maWdWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IHZhbGlkYXRvcnMgfSBmcm9tICcuL2Jhc2UtdmFsaWRhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tiYXNlRHluYW1pY10nXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VEeW5hbWljIGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgb25IYW5kbGVTdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBASW5wdXQoKSBvbkhhbmRsZVVwZGF0ZUZvcm0gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAT3V0cHV0KCkgb25IYW5kbGVTdWJtaXRGb3JtUmVhZHk6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQElucHV0KCkgc2VsZjogYW55O1xuXG4gIEBJbnB1dCgpIGZpZWxkczogTUVDWEZpZWxkQ29uZmlnW10gPSBbXTtcblxuICBASW5wdXQoKSBkYXRhOiBhbnk7XG5cbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBfZm9ybTogRm9ybUdyb3VwIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDb250cm9sKCkge1xuICAgIGNvbnN0IHsgZmllbGRzIH0gPSB0aGlzO1xuICAgIGlmICghZmllbGRzKSByZXR1cm4gbnVsbDtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JqZWN0LWN1cmx5LW5ld2xpbmVcbiAgICBjb25zdCBncm91cCA9IHRoaXMuZmIuZ3JvdXAoe30pO1xuICAgIGZpZWxkcy5mb3JFYWNoKChmaWVsZDogTUVDWEZpZWxkQ29uZmlnKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkVHlwZSwgdmFsaWRhdGlvbnMsIG5hbWUsIGRpc2FibGVkIH0gPSBmaWVsZDtcbiAgICAgIGxldCB7IHZhbHVlIH0gPSBmaWVsZDtcbiAgICAgIGlmIChmaWVsZFR5cGUgPT09ICdidXR0b24nKSByZXR1cm47XG4gICAgICBpZiAoZmllbGRUeXBlID09PSAncmFkaW9idXR0b24nIHx8IGZpZWxkVHlwZSA9PT0gJ2NoZWNrYm94JyB8fCBmaWVsZFR5cGUgPT09ICdzZWxlY3QnKSB7XG4gICAgICAgIHZhbHVlID0gJyc7XG4gICAgICB9XG4gICAgICBjb25zdCBjb250cm9sID0gdGhpcy5mYi5jb250cm9sKHZhbHVlLCB0aGlzLmJpbmRWYWxpZGF0aW9ucyh2YWxpZGF0aW9ucyB8fCBbXSkpO1xuICAgICAgaWYgKGRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWQpIGNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgZ3JvdXAuYWRkQ29udHJvbChuYW1lIGFzIHN0cmluZywgY29udHJvbCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGdyb3VwO1xuICB9XG5cbiAgcHJpdmF0ZSBiaW5kVmFsaWRhdGlvbnModmFsaWRhdGlvbnM6IE1FQ1hGaWVsZENvbmZpZ1ZhbGlkYXRvcltdKSB7XG4gICAgaWYgKHZhbGlkYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHZhbGlkTGlzdDogYW55W10gPSBbXTtcbiAgICAgIHZhbGlkYXRpb25zLmZvckVhY2goKHZhbGlkOiBNRUNYRmllbGRDb25maWdWYWxpZGF0b3IpID0+IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGVkID0gdmFsaWQucGFyYW1cbiAgICAgICAgICA/IHZhbGlkYXRvcnNbdmFsaWQubmFtZV0odmFsaWQucGFyYW0pXG4gICAgICAgICAgOiB2YWxpZGF0b3JzW3ZhbGlkLm5hbWVdO1xuICAgICAgICB2YWxpZExpc3QucHVzaCh2YWxpZGF0ZWQpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gVmFsaWRhdG9ycy5jb21wb3NlKHZhbGlkTGlzdCk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIGZpbGxWYWx1ZXMoKSB7XG4gICAgY29uc3QgeyBkYXRhIH0gPSB0aGlzO1xuICAgIGlmICghZGF0YSB8fCAhdGhpcy5fZm9ybSkgcmV0dXJuO1xuICAgIE9iamVjdC5lbnRyaWVzKGRhdGEpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgaWYgKE1vbmtleVV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQodmFsdWUpICYmIHRoaXMuX2Zvcm0/LmNvbnRyb2xzW2tleV0pIHtcbiAgICAgICAgdGhpcy5fZm9ybT8uY29udHJvbHNba2V5XT8uc2V0VmFsdWUodmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fZm9ybSA9IHRoaXMuY3JlYXRlQ29udHJvbCgpO1xuICAgIHRoaXMuZmlsbFZhbHVlcygpO1xuXG4gICAgdGhpcy5vbkhhbmRsZVVwZGF0ZUZvcm0uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZmlsbFZhbHVlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKCF0aGlzLl9mb3JtKSB7XG4gICAgICB0aGlzLl9mb3JtID0gdGhpcy5jcmVhdGVDb250cm9sKCk7XG4gICAgfVxuICAgIHRoaXMuZmlsbFZhbHVlcygpO1xuICB9XG59XG4iXX0=
@@ -16,4 +16,4 @@ export const validators = {
16
16
  return Validators_.maxLength(param);
17
17
  }
18
18
  };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS12YWxpZGF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UvYmFzZS12YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLElBQUksV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixRQUFRLEVBQUUsV0FBVyxDQUFDLFFBQVE7SUFDOUIsS0FBSyxFQUFFLFVBQVUsQ0FBQyxLQUFLO0lBQ3ZCLFlBQVksRUFBRSxVQUFVLENBQUMsVUFBVTtJQUNuQyxlQUFlLEVBQUUsVUFBVSxDQUFDLFVBQVU7SUFDdEMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxVQUFVO0lBQ2pDLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVTtJQUNqQyxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7SUFDckIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO0lBQzNCLFNBQVMsRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFO1FBQzNCLE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsU0FBUyxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUU7UUFDM0IsT0FBTyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9ycyBhcyBWYWxpZGF0b3JzXyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tICdtb25rZXktZnJvbnQtY29yZSc7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0b3JzID0ge1xuICByZXF1aXJlZDogVmFsaWRhdG9yc18ucmVxdWlyZWQsXG4gIGVtYWlsOiBWYWxpZGF0b3JzLmVtYWlsLFxuICBnb3Zlcm5tZW50SWQ6IFZhbGlkYXRvcnMuZG9jdW1lbnRCUixcbiAgZ292ZXJubWVudElkUnV0OiBWYWxpZGF0b3JzLmRvY3VtZW50Q0wsXG4gIGRvY3VtZW50QlI6IFZhbGlkYXRvcnMuZG9jdW1lbnRCUixcbiAgZG9jdW1lbnRDTDogVmFsaWRhdG9ycy5kb2N1bWVudENMLFxuICBkYXRlOiBWYWxpZGF0b3JzLmRhdGUsXG4gIHppcENvZGU6IFZhbGlkYXRvcnMuemlwQ29kZSxcbiAgbWluTGVuZ3RoOiAocGFyYW06IG51bWJlcikgPT4ge1xuICAgIHJldHVybiBWYWxpZGF0b3JzXy5taW5MZW5ndGgocGFyYW0pO1xuICB9LFxuICBtYXhMZW5ndGg6IChwYXJhbTogbnVtYmVyKSA9PiB7XG4gICAgcmV0dXJuIFZhbGlkYXRvcnNfLm1heExlbmd0aChwYXJhbSk7XG4gIH1cbn07XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS12YWxpZGF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UvYmFzZS12YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLElBQUksV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBUTtJQUM3QixRQUFRLEVBQUUsV0FBVyxDQUFDLFFBQVE7SUFDOUIsS0FBSyxFQUFFLFVBQVUsQ0FBQyxLQUFLO0lBQ3ZCLFlBQVksRUFBRSxVQUFVLENBQUMsVUFBVTtJQUNuQyxlQUFlLEVBQUUsVUFBVSxDQUFDLFVBQVU7SUFDdEMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxVQUFVO0lBQ2pDLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVTtJQUNqQyxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7SUFDckIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO0lBQzNCLFNBQVMsRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFO1FBQzNCLE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsU0FBUyxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUU7UUFDM0IsT0FBTyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9ycyBhcyBWYWxpZGF0b3JzXyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tICdtb25rZXktZnJvbnQtY29yZSc7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0b3JzOiBhbnkgPSB7XG4gIHJlcXVpcmVkOiBWYWxpZGF0b3JzXy5yZXF1aXJlZCxcbiAgZW1haWw6IFZhbGlkYXRvcnMuZW1haWwsXG4gIGdvdmVybm1lbnRJZDogVmFsaWRhdG9ycy5kb2N1bWVudEJSLFxuICBnb3Zlcm5tZW50SWRSdXQ6IFZhbGlkYXRvcnMuZG9jdW1lbnRDTCxcbiAgZG9jdW1lbnRCUjogVmFsaWRhdG9ycy5kb2N1bWVudEJSLFxuICBkb2N1bWVudENMOiBWYWxpZGF0b3JzLmRvY3VtZW50Q0wsXG4gIGRhdGU6IFZhbGlkYXRvcnMuZGF0ZSxcbiAgemlwQ29kZTogVmFsaWRhdG9ycy56aXBDb2RlLFxuICBtaW5MZW5ndGg6IChwYXJhbTogbnVtYmVyKSA9PiB7XG4gICAgcmV0dXJuIFZhbGlkYXRvcnNfLm1pbkxlbmd0aChwYXJhbSk7XG4gIH0sXG4gIG1heExlbmd0aDogKHBhcmFtOiBudW1iZXIpID0+IHtcbiAgICByZXR1cm4gVmFsaWRhdG9yc18ubWF4TGVuZ3RoKHBhcmFtKTtcbiAgfVxufTtcbiJdfQ==
@@ -0,0 +1,52 @@
1
+ import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "monkey-style-guide";
4
+ import * as i2 from "@ngx-translate/core";
5
+ export class MECXDynamicButtonComponent {
6
+ constructor(cdr) {
7
+ this.cdr = cdr;
8
+ this._field = null;
9
+ this._form = null;
10
+ // eslint-disable-next-line object-curly-newline
11
+ this._formErrors = {};
12
+ // not to do
13
+ }
14
+ get className() {
15
+ return this._field?.style?.class;
16
+ }
17
+ ngOnChanges() {
18
+ this.cdr.detectChanges();
19
+ }
20
+ onClick() {
21
+ const { _form, _field, self } = this;
22
+ if (_form?.disabled || !_field)
23
+ return;
24
+ const { name, value } = _field;
25
+ const func = _field?.functions?.onClick;
26
+ if (func) {
27
+ self[func]({
28
+ name,
29
+ value,
30
+ form: _form
31
+ });
32
+ }
33
+ }
34
+ }
35
+ MECXDynamicButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MECXDynamicButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
36
+ MECXDynamicButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: MECXDynamicButtonComponent, selector: "mecx-dynamic-button", inputs: { _field: "_field", _form: "_form", _formErrors: "_formErrors", self: "self" }, host: { properties: { "class": "this.className" } }, usesOnChanges: true, ngImport: i0, template: "<monkey-button [icon]=\"_field?.icon\" [type]=\"_field?.type\" [color]=\"_field?.color\"\n (click)=\"onClick()\">\n {{ _field?.label | translate }}\n</monkey-button>", styles: ["mecx-dynamic-button monkey-button button{height:40px}\n"], components: [{ type: i1.MonkeyButtonComponent, selector: "monkey-button", inputs: ["label", "icon", "iconPosition", "type", "color", "disabled", "size"] }], pipes: { "translate": i2.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MECXDynamicButtonComponent, decorators: [{
38
+ type: Component,
39
+ args: [{ selector: 'mecx-dynamic-button', encapsulation: ViewEncapsulation.None, template: "<monkey-button [icon]=\"_field?.icon\" [type]=\"_field?.type\" [color]=\"_field?.color\"\n (click)=\"onClick()\">\n {{ _field?.label | translate }}\n</monkey-button>", styles: ["mecx-dynamic-button monkey-button button{height:40px}\n"] }]
40
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { _field: [{
41
+ type: Input
42
+ }], _form: [{
43
+ type: Input
44
+ }], _formErrors: [{
45
+ type: Input
46
+ }], self: [{
47
+ type: Input
48
+ }], className: [{
49
+ type: HostBinding,
50
+ args: ['class']
51
+ }] } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFhLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBVS9HLE1BQU0sT0FBTywwQkFBMEI7SUFVckMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFUakMsV0FBTSxHQUEyQixJQUFJLENBQUM7UUFFdEMsVUFBSyxHQUFxQixJQUFJLENBQUM7UUFFeEMsZ0RBQWdEO1FBQ3ZDLGdCQUFXLEdBQWdCLEVBQUUsQ0FBQztRQUtyQyxZQUFZO0lBQ2QsQ0FBQztJQUVELElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTztRQUNMLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztRQUNyQyxJQUFJLEtBQUssRUFBRSxRQUFRLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUN2QyxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUMvQixNQUFNLElBQUksR0FBRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQztRQUN4QyxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDVCxJQUFJO2dCQUNKLEtBQUs7Z0JBQ0wsSUFBSSxFQUFFLEtBQUs7YUFDWixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7O3VIQW5DVSwwQkFBMEI7MkdBQTFCLDBCQUEwQiw2TkNWdkMseUtBR2dCOzJGRE9ILDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDRSxxQkFBcUIsaUJBR2hCLGlCQUFpQixDQUFDLElBQUk7d0dBRzVCLE1BQU07c0JBQWQsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBT0YsU0FBUztzQkFEWixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1FQ1hGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZWN4LWR5bmFtaWMtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE1FQ1hEeW5hbWljQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgX2ZpZWxkOiBNRUNYRmllbGRDb25maWcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKSBfZm9ybTogRm9ybUdyb3VwIHwgbnVsbCA9IG51bGw7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9iamVjdC1jdXJseS1uZXdsaW5lXG4gIEBJbnB1dCgpIF9mb3JtRXJyb3JzOiBhbnkgfCBhbnlbXSA9IHt9O1xuXG4gIEBJbnB1dCgpIHNlbGY6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAvLyBub3QgdG8gZG9cbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgY2xhc3NOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLl9maWVsZD8uc3R5bGU/LmNsYXNzO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb25DbGljaygpIHtcbiAgICBjb25zdCB7IF9mb3JtLCBfZmllbGQsIHNlbGYgfSA9IHRoaXM7XG4gICAgaWYgKF9mb3JtPy5kaXNhYmxlZCB8fCAhX2ZpZWxkKSByZXR1cm47XG4gICAgY29uc3QgeyBuYW1lLCB2YWx1ZSB9ID0gX2ZpZWxkO1xuICAgIGNvbnN0IGZ1bmMgPSBfZmllbGQ/LmZ1bmN0aW9ucz8ub25DbGljaztcbiAgICBpZiAoZnVuYykge1xuICAgICAgc2VsZltmdW5jXSh7XG4gICAgICAgIG5hbWUsXG4gICAgICAgIHZhbHVlLFxuICAgICAgICBmb3JtOiBfZm9ybVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8bW9ua2V5LWJ1dHRvbiBbaWNvbl09XCJfZmllbGQ/Lmljb25cIiBbdHlwZV09XCJfZmllbGQ/LnR5cGVcIiBbY29sb3JdPVwiX2ZpZWxkPy5jb2xvclwiXG4gIChjbGljayk9XCJvbkNsaWNrKClcIj5cbiAge3sgX2ZpZWxkPy5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuPC9tb25rZXktYnV0dG9uPiJdfQ==
@@ -0,0 +1,95 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { MECXDynamicButtonComponent } from './button';
3
+ import { MECXDynamicFileUploadComponent } from './file-upload';
4
+ import { MECXDynamicInputComponent } from './input';
5
+ import { MECXDynamicInputPhoneComponent } from './input-phone';
6
+ import { MECXDynamicRadioComponent } from './radio';
7
+ import { MECXDynamicSelectComponent } from './select';
8
+ import { MECXDynamicSelectSearchComponent } from './select-search';
9
+ import * as i0 from "@angular/core";
10
+ const componentMapper = {
11
+ input: MECXDynamicInputComponent,
12
+ 'input-phone': MECXDynamicInputPhoneComponent,
13
+ radiobutton: MECXDynamicRadioComponent,
14
+ select: MECXDynamicSelectComponent,
15
+ 'select-search': MECXDynamicSelectSearchComponent,
16
+ 'file-upload': MECXDynamicFileUploadComponent,
17
+ button: MECXDynamicButtonComponent
18
+ };
19
+ export class MECXDynamicDirective {
20
+ constructor(resolver, container, cdr) {
21
+ this.resolver = resolver;
22
+ this.container = container;
23
+ this.cdr = cdr;
24
+ this.field = null;
25
+ this.form = null;
26
+ // not to do
27
+ }
28
+ handleInternalPlusValidation() {
29
+ if (!this.field?.alwaysShowPlusValidation)
30
+ return false;
31
+ const { operator, value, field } = this.field?.alwaysShowPlusValidation;
32
+ const validators = {
33
+ e: (val1, val2) => { return val1 === val2; },
34
+ lt: (val1, val2) => { return val1 < val2; },
35
+ gt: (val1, val2) => { return val1 > val2; }
36
+ };
37
+ const data = this.form?.controls[field]?.value;
38
+ return validators[operator](data, value);
39
+ }
40
+ buildComponent() {
41
+ if (this.componentRef?.instance)
42
+ return;
43
+ const factory = this.resolver.resolveComponentFactory(componentMapper[this.field?.fieldType]);
44
+ this.componentRef = this.container.createComponent(factory);
45
+ this.componentRef.instance._field = this.field;
46
+ this.componentRef.instance._form = this.form;
47
+ // eslint-disable-next-line object-curly-newline
48
+ this.componentRef.instance._formErrors = this.formErrors || {};
49
+ this.componentRef.instance.self = this.self;
50
+ }
51
+ ngOnInit() {
52
+ if (!this.field?.alwaysShow && !this.handleInternalPlusValidation())
53
+ return;
54
+ this.buildComponent();
55
+ }
56
+ ngOnChanges() {
57
+ if (this.plusValidations && this.plusValidations[this.field?.name]) {
58
+ if (!this.field?.alwaysShow && this.plusValidations[this.field?.name].alwaysShow) {
59
+ setTimeout(() => {
60
+ this.buildComponent();
61
+ this.cdr.detectChanges();
62
+ }, 1);
63
+ }
64
+ if (this.componentRef?.instance &&
65
+ !this.plusValidations[this.field?.name].alwaysShow) {
66
+ this.componentRef.destroy();
67
+ this.componentRef = null;
68
+ this.form?.controls[this.field?.name]?.setValue(null);
69
+ this.form?.controls[this.field?.name]?.clearValidators();
70
+ }
71
+ }
72
+ if (!this.componentRef?.instance)
73
+ return;
74
+ this.componentRef.instance._formErrors = this.formErrors || {};
75
+ }
76
+ }
77
+ MECXDynamicDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MECXDynamicDirective, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
78
+ MECXDynamicDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.2", type: MECXDynamicDirective, selector: "[MECXDynamic]", inputs: { field: "field", form: "form", formErrors: "formErrors", self: "self", plusValidations: "plusValidations" }, usesOnChanges: true, ngImport: i0 });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MECXDynamicDirective, decorators: [{
80
+ type: Directive,
81
+ args: [{
82
+ selector: '[MECXDynamic]'
83
+ }]
84
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { field: [{
85
+ type: Input
86
+ }], form: [{
87
+ type: Input
88
+ }], formErrors: [{
89
+ type: Input
90
+ }], self: [{
91
+ type: Input
92
+ }], plusValidations: [{
93
+ type: Input
94
+ }] } });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy9keW5hbWljLWRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULEtBQUssRUFJTixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3BELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFbkUsTUFBTSxlQUFlLEdBQVE7SUFDM0IsS0FBSyxFQUFFLHlCQUF5QjtJQUNoQyxhQUFhLEVBQUUsOEJBQThCO0lBQzdDLFdBQVcsRUFBRSx5QkFBeUI7SUFDdEMsTUFBTSxFQUFFLDBCQUEwQjtJQUNsQyxlQUFlLEVBQUUsZ0NBQWdDO0lBQ2pELGFBQWEsRUFBRSw4QkFBOEI7SUFDN0MsTUFBTSxFQUFFLDBCQUEwQjtDQUNuQyxDQUFDO0FBS0YsTUFBTSxPQUFPLG9CQUFvQjtJQWEvQixZQUFvQixRQUFrQyxFQUFVLFNBQTJCLEVBQ25GLEdBQXNCO1FBRFYsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUNuRixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWJyQixVQUFLLEdBQTJC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LE9BQU8sRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDekIsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFjLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2hFLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBYyxDQUFDLEVBQUUsZUFBZSxFQUFFLENBQUM7YUFDcEU7U0FDRjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVE7WUFBRSxPQUFPO1FBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQzNELENBQUM7SUFDSixDQUFDOztpSEFwRVUsb0JBQW9CO3FHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtpQkFDMUI7OEtBRVUsS0FBSztzQkFBYixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNRUNYRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1FQ1hEeW5hbWljQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24nO1xuaW1wb3J0IHsgTUVDWER5bmFtaWNGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlLXVwbG9hZCc7XG5pbXBvcnQgeyBNRUNYRHluYW1pY0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dCc7XG5pbXBvcnQgeyBNRUNYRHluYW1pY0lucHV0UGhvbmVDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LXBob25lJztcbmltcG9ydCB7IE1FQ1hEeW5hbWljUmFkaW9Db21wb25lbnQgfSBmcm9tICcuL3JhZGlvJztcbmltcG9ydCB7IE1FQ1hEeW5hbWljU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QnO1xuaW1wb3J0IHsgTUVDWER5bmFtaWNTZWxlY3RTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC1zZWFyY2gnO1xuXG5jb25zdCBjb21wb25lbnRNYXBwZXI6IGFueSA9IHtcbiAgaW5wdXQ6IE1FQ1hEeW5hbWljSW5wdXRDb21wb25lbnQsXG4gICdpbnB1dC1waG9uZSc6IE1FQ1hEeW5hbWljSW5wdXRQaG9uZUNvbXBvbmVudCxcbiAgcmFkaW9idXR0b246IE1FQ1hEeW5hbWljUmFkaW9Db21wb25lbnQsXG4gIHNlbGVjdDogTUVDWER5bmFtaWNTZWxlY3RDb21wb25lbnQsXG4gICdzZWxlY3Qtc2VhcmNoJzogTUVDWER5bmFtaWNTZWxlY3RTZWFyY2hDb21wb25lbnQsXG4gICdmaWxlLXVwbG9hZCc6IE1FQ1hEeW5hbWljRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgYnV0dG9uOiBNRUNYRHluYW1pY0J1dHRvbkNvbXBvbmVudFxufTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW01FQ1hEeW5hbWljXSdcbn0pXG5leHBvcnQgY2xhc3MgTUVDWER5bmFtaWNEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGZpZWxkOiBNRUNYRmllbGRDb25maWcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXAgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKSBmb3JtRXJyb3JzOiBhbnk7XG5cbiAgQElucHV0KCkgc2VsZjogYW55O1xuXG4gIEBJbnB1dCgpIHBsdXNWYWxpZGF0aW9uczogYW55O1xuXG4gIGNvbXBvbmVudFJlZjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgcHJpdmF0ZSBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVJbnRlcm5hbFBsdXNWYWxpZGF0aW9uKCkge1xuICAgIGlmICghdGhpcy5maWVsZD8uYWx3YXlzU2hvd1BsdXNWYWxpZGF0aW9uKSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgeyBvcGVyYXRvciwgdmFsdWUsIGZpZWxkIH0gPSB0aGlzLmZpZWxkPy5hbHdheXNTaG93UGx1c1ZhbGlkYXRpb247XG4gICAgY29uc3QgdmFsaWRhdG9yczogYW55ID0ge1xuICAgICAgZTogKHZhbDE6IGFueSwgdmFsMjogc3RyaW5nKSA9PiB7IHJldHVybiB2YWwxID09PSB2YWwyOyB9LFxuICAgICAgbHQ6ICh2YWwxOiBhbnksIHZhbDI6IHN0cmluZykgPT4geyByZXR1cm4gdmFsMSA8IHZhbDI7IH0sXG4gICAgICBndDogKHZhbDE6IGFueSwgdmFsMjogc3RyaW5nKSA9PiB7IHJldHVybiB2YWwxID4gdmFsMjsgfVxuICAgIH07XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZm9ybT8uY29udHJvbHNbZmllbGQgYXMgc3RyaW5nXT8udmFsdWU7XG5cbiAgICByZXR1cm4gdmFsaWRhdG9yc1tvcGVyYXRvciBhcyBzdHJpbmddKGRhdGEsIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRDb21wb25lbnQoKSB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmPy5pbnN0YW5jZSkgcmV0dXJuO1xuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFxuICAgICAgY29tcG9uZW50TWFwcGVyW3RoaXMuZmllbGQ/LmZpZWxkVHlwZSBhcyBzdHJpbmddXG4gICAgKTtcbiAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5fZmllbGQgPSB0aGlzLmZpZWxkO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLl9mb3JtID0gdGhpcy5mb3JtO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYmplY3QtY3VybHktbmV3bGluZVxuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLl9mb3JtRXJyb3JzID0gdGhpcy5mb3JtRXJyb3JzIHx8IHt9O1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnNlbGYgPSB0aGlzLnNlbGY7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuZmllbGQ/LmFsd2F5c1Nob3cgJiYgIXRoaXMuaGFuZGxlSW50ZXJuYWxQbHVzVmFsaWRhdGlvbigpKSByZXR1cm47XG4gICAgdGhpcy5idWlsZENvbXBvbmVudCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMucGx1c1ZhbGlkYXRpb25zICYmIHRoaXMucGx1c1ZhbGlkYXRpb25zW3RoaXMuZmllbGQ/Lm5hbWUgYXMgc3RyaW5nXSkge1xuICAgICAgaWYgKCF0aGlzLmZpZWxkPy5hbHdheXNTaG93ICYmIHRoaXMucGx1c1ZhbGlkYXRpb25zW3RoaXMuZmllbGQ/Lm5hbWUgYXMgc3RyaW5nXS5hbHdheXNTaG93KSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnQoKTtcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0sIDEpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVmPy5pbnN0YW5jZSAmJlxuICAgICAgICAhdGhpcy5wbHVzVmFsaWRhdGlvbnNbdGhpcy5maWVsZD8ubmFtZSBhcyBzdHJpbmddLmFsd2F5c1Nob3cpIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgICAgIHRoaXMuZm9ybT8uY29udHJvbHNbdGhpcy5maWVsZD8ubmFtZSBhcyBzdHJpbmddPy5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy5mb3JtPy5jb250cm9sc1t0aGlzLmZpZWxkPy5uYW1lIGFzIHN0cmluZ10/LmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIXRoaXMuY29tcG9uZW50UmVmPy5pbnN0YW5jZSkgcmV0dXJuO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLl9mb3JtRXJyb3JzID0gdGhpcy5mb3JtRXJyb3JzIHx8IHtcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -16,8 +16,8 @@ import * as i0 from "@angular/core";
16
16
  import * as i1 from "@ngx-translate/core";
17
17
  export class MECXDynamicModule {
18
18
  }
19
- MECXDynamicModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MECXDynamicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- MECXDynamicModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MECXDynamicModule, declarations: [MECXDynamicButtonComponent,
19
+ MECXDynamicModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MECXDynamicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ MECXDynamicModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MECXDynamicModule, declarations: [MECXDynamicButtonComponent,
21
21
  MECXDynamicFileUploadComponent,
22
22
  MECXDynamicFormComponent,
23
23
  MECXDynamicFormArrayComponent,
@@ -36,7 +36,7 @@ MECXDynamicModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
36
36
  MonkeyFileUploadModule,
37
37
  MonkeyButtonModule,
38
38
  MonkeyInputPhoneModule, i1.TranslateModule], exports: [MECXDynamicDirective, MECXDynamicFormComponent, MECXDynamicFormArrayComponent] });
39
- MECXDynamicModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MECXDynamicModule, imports: [[
39
+ MECXDynamicModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MECXDynamicModule, imports: [[
40
40
  CommonModule,
41
41
  FormsModule,
42
42
  ReactiveFormsModule,
@@ -49,7 +49,7 @@ MECXDynamicModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versi
49
49
  MonkeyInputPhoneModule,
50
50
  TranslateModule.forChild()
51
51
  ]] });
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MECXDynamicModule, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MECXDynamicModule, decorators: [{
53
53
  type: NgModule,
54
54
  args: [{
55
55
  declarations: [
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
81
81
  entryComponents: [MECXDynamicInputComponent]
82
82
  }]
83
83
  }] });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy9keW5hbWljLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbkIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNqRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQStCbkUsTUFBTSxPQUFPLGlCQUFpQjs7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQTNCMUIsMEJBQTBCO1FBQzFCLDhCQUE4QjtRQUM5Qix3QkFBd0I7UUFDeEIsNkJBQTZCO1FBQzdCLHlCQUF5QjtRQUN6Qiw4QkFBOEI7UUFDOUIseUJBQXlCO1FBQ3pCLDBCQUEwQjtRQUMxQixnQ0FBZ0M7UUFDaEMsb0JBQW9CLGFBR3BCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLGtCQUFrQjtRQUNsQixzQkFBc0I7UUFDdEIsa0JBQWtCO1FBQ2xCLHNCQUFzQixpQ0FHZCxvQkFBb0IsRUFBRSx3QkFBd0IsRUFBRSw2QkFBNkI7Z0hBRzVFLGlCQUFpQixZQWhCbkI7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLHVCQUF1QjtZQUN2QixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFDdEIsZUFBZSxDQUFDLFFBQVEsRUFBRTtTQUMzQjs0RkFJVSxpQkFBaUI7a0JBN0I3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiwwQkFBMEI7d0JBQzFCLDhCQUE4Qjt3QkFDOUIsd0JBQXdCO3dCQUN4Qiw2QkFBNkI7d0JBQzdCLHlCQUF5Qjt3QkFDekIsOEJBQThCO3dCQUM5Qix5QkFBeUI7d0JBQ3pCLDBCQUEwQjt3QkFDMUIsZ0NBQWdDO3dCQUNoQyxvQkFBb0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLGVBQWUsQ0FBQyxRQUFRLEVBQUU7cUJBQzNCO29CQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLHdCQUF3QixFQUFFLDZCQUE2QixDQUFDO29CQUN4RixlQUFlLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztpQkFDN0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICBNb25rZXlCdXR0b25Nb2R1bGUsXG4gIE1vbmtleUZpbGVVcGxvYWRNb2R1bGUsXG4gIE1vbmtleUlucHV0TW9kdWxlLFxuICBNb25rZXlJbnB1dFBob25lTW9kdWxlLFxuICBNb25rZXlPcHRpb25Nb2R1bGUsXG4gIE1vbmtleVJhZGlvQnV0dG9uTW9kdWxlLFxuICBNb25rZXlTZWxlY3RNb2R1bGVcbn0gZnJvbSAnbW9ua2V5LXN0eWxlLWd1aWRlJztcbmltcG9ydCB7IE1FQ1hEeW5hbWljQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24nO1xuaW1wb3J0IHsgTUVDWER5bmFtaWNEaXJlY3RpdmUgfSBmcm9tICcuL2R5bmFtaWMtZGlyZWN0aXZlJztcbmltcG9ydCB7IE1FQ1hEeW5hbWljRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS11cGxvYWQnO1xuaW1wb3J0IHsgTUVDWER5bmFtaWNGb3JtQ29tcG9uZW50LCBNRUNYRHluYW1pY0Zvcm1BcnJheUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybSc7XG5pbXBvcnQgeyBNRUNYRHluYW1pY0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dCc7XG5pbXBvcnQgeyBNRUNYRHluYW1pY0lucHV0UGhvbmVDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LXBob25lJztcbmltcG9ydCB7IE1FQ1hEeW5hbWljUmFkaW9Db21wb25lbnQgfSBmcm9tICcuL3JhZGlvJztcbmltcG9ydCB7IE1FQ1hEeW5hbWljU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QnO1xuaW1wb3J0IHsgTUVDWER5bmFtaWNTZWxlY3RTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC1zZWFyY2gnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBNRUNYRHluYW1pY0J1dHRvbkNvbXBvbmVudCxcbiAgICBNRUNYRHluYW1pY0ZpbGVVcGxvYWRDb21wb25lbnQsXG4gICAgTUVDWER5bmFtaWNGb3JtQ29tcG9uZW50LFxuICAgIE1FQ1hEeW5hbWljRm9ybUFycmF5Q29tcG9uZW50LFxuICAgIE1FQ1hEeW5hbWljSW5wdXRDb21wb25lbnQsXG4gICAgTUVDWER5bmFtaWNJbnB1dFBob25lQ29tcG9uZW50LFxuICAgIE1FQ1hEeW5hbWljUmFkaW9Db21wb25lbnQsXG4gICAgTUVDWER5bmFtaWNTZWxlY3RDb21wb25lbnQsXG4gICAgTUVDWER5bmFtaWNTZWxlY3RTZWFyY2hDb21wb25lbnQsXG4gICAgTUVDWER5bmFtaWNEaXJlY3RpdmVcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1vbmtleUlucHV0TW9kdWxlLFxuICAgIE1vbmtleVNlbGVjdE1vZHVsZSxcbiAgICBNb25rZXlSYWRpb0J1dHRvbk1vZHVsZSxcbiAgICBNb25rZXlPcHRpb25Nb2R1bGUsXG4gICAgTW9ua2V5RmlsZVVwbG9hZE1vZHVsZSxcbiAgICBNb25rZXlCdXR0b25Nb2R1bGUsXG4gICAgTW9ua2V5SW5wdXRQaG9uZU1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKVxuICBdLFxuICBleHBvcnRzOiBbTUVDWER5bmFtaWNEaXJlY3RpdmUsIE1FQ1hEeW5hbWljRm9ybUNvbXBvbmVudCwgTUVDWER5bmFtaWNGb3JtQXJyYXlDb21wb25lbnRdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtNRUNYRHluYW1pY0lucHV0Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBNRUNYRHluYW1pY01vZHVsZSB7fVxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy9keW5hbWljLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbkIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNqRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQStCbkUsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQTNCMUIsMEJBQTBCO1FBQzFCLDhCQUE4QjtRQUM5Qix3QkFBd0I7UUFDeEIsNkJBQTZCO1FBQzdCLHlCQUF5QjtRQUN6Qiw4QkFBOEI7UUFDOUIseUJBQXlCO1FBQ3pCLDBCQUEwQjtRQUMxQixnQ0FBZ0M7UUFDaEMsb0JBQW9CLGFBR3BCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLGtCQUFrQjtRQUNsQixzQkFBc0I7UUFDdEIsa0JBQWtCO1FBQ2xCLHNCQUFzQixpQ0FHZCxvQkFBb0IsRUFBRSx3QkFBd0IsRUFBRSw2QkFBNkI7K0dBRzVFLGlCQUFpQixZQWhCbkI7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLHVCQUF1QjtZQUN2QixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFDdEIsZUFBZSxDQUFDLFFBQVEsRUFBRTtTQUMzQjsyRkFJVSxpQkFBaUI7a0JBN0I3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiwwQkFBMEI7d0JBQzFCLDhCQUE4Qjt3QkFDOUIsd0JBQXdCO3dCQUN4Qiw2QkFBNkI7d0JBQzdCLHlCQUF5Qjt3QkFDekIsOEJBQThCO3dCQUM5Qix5QkFBeUI7d0JBQ3pCLDBCQUEwQjt3QkFDMUIsZ0NBQWdDO3dCQUNoQyxvQkFBb0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLGVBQWUsQ0FBQyxRQUFRLEVBQUU7cUJBQzNCO29CQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLHdCQUF3QixFQUFFLDZCQUE2QixDQUFDO29CQUN4RixlQUFlLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztpQkFDN0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICBNb25rZXlCdXR0b25Nb2R1bGUsXG4gIE1vbmtleUZpbGVVcGxvYWRNb2R1bGUsXG4gIE1vbmtleUlucHV0TW9kdWxlLFxuICBNb25rZXlJbnB1dFBob25lTW9kdWxlLFxuICBNb25rZXlPcHRpb25Nb2R1bGUsXG4gIE1vbmtleVJhZGlvQnV0dG9uTW9kdWxlLFxuICBNb25rZXlTZWxlY3RNb2R1bGVcbn0gZnJvbSAnbW9ua2V5LXN0eWxlLWd1aWRlJztcbmltcG9ydCB7IE1FQ1hEeW5hbWljQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24nO1xuaW1wb3J0IHsgTUVDWER5bmFtaWNEaXJlY3RpdmUgfSBmcm9tICcuL2R5bmFtaWMtZGlyZWN0aXZlJztcbmltcG9ydCB7IE1FQ1hEeW5hbWljRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS11cGxvYWQnO1xuaW1wb3J0IHsgTUVDWER5bmFtaWNGb3JtQ29tcG9uZW50LCBNRUNYRHluYW1pY0Zvcm1BcnJheUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybSc7XG5pbXBvcnQgeyBNRUNYRHluYW1pY0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dCc7XG5pbXBvcnQgeyBNRUNYRHluYW1pY0lucHV0UGhvbmVDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LXBob25lJztcbmltcG9ydCB7IE1FQ1hEeW5hbWljUmFkaW9Db21wb25lbnQgfSBmcm9tICcuL3JhZGlvJztcbmltcG9ydCB7IE1FQ1hEeW5hbWljU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QnO1xuaW1wb3J0IHsgTUVDWER5bmFtaWNTZWxlY3RTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC1zZWFyY2gnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBNRUNYRHluYW1pY0J1dHRvbkNvbXBvbmVudCxcbiAgICBNRUNYRHluYW1pY0ZpbGVVcGxvYWRDb21wb25lbnQsXG4gICAgTUVDWER5bmFtaWNGb3JtQ29tcG9uZW50LFxuICAgIE1FQ1hEeW5hbWljRm9ybUFycmF5Q29tcG9uZW50LFxuICAgIE1FQ1hEeW5hbWljSW5wdXRDb21wb25lbnQsXG4gICAgTUVDWER5bmFtaWNJbnB1dFBob25lQ29tcG9uZW50LFxuICAgIE1FQ1hEeW5hbWljUmFkaW9Db21wb25lbnQsXG4gICAgTUVDWER5bmFtaWNTZWxlY3RDb21wb25lbnQsXG4gICAgTUVDWER5bmFtaWNTZWxlY3RTZWFyY2hDb21wb25lbnQsXG4gICAgTUVDWER5bmFtaWNEaXJlY3RpdmVcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1vbmtleUlucHV0TW9kdWxlLFxuICAgIE1vbmtleVNlbGVjdE1vZHVsZSxcbiAgICBNb25rZXlSYWRpb0J1dHRvbk1vZHVsZSxcbiAgICBNb25rZXlPcHRpb25Nb2R1bGUsXG4gICAgTW9ua2V5RmlsZVVwbG9hZE1vZHVsZSxcbiAgICBNb25rZXlCdXR0b25Nb2R1bGUsXG4gICAgTW9ua2V5SW5wdXRQaG9uZU1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKVxuICBdLFxuICBleHBvcnRzOiBbTUVDWER5bmFtaWNEaXJlY3RpdmUsIE1FQ1hEeW5hbWljRm9ybUNvbXBvbmVudCwgTUVDWER5bmFtaWNGb3JtQXJyYXlDb21wb25lbnRdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtNRUNYRHluYW1pY0lucHV0Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBNRUNYRHluYW1pY01vZHVsZSB7fVxuIl19
@@ -0,0 +1,52 @@
1
+ import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "monkey-style-guide";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/forms";
6
+ import * as i4 from "@ngx-translate/core";
7
+ export class MECXDynamicFileUploadComponent {
8
+ constructor(cdr) {
9
+ this.cdr = cdr;
10
+ // eslint-disable-next-line object-curly-newline
11
+ this._formErrors = {};
12
+ this._function = (file, callback) => {
13
+ if (this._form?.disabled)
14
+ return;
15
+ if (!this._field?.functions?.onHandleUpload) {
16
+ console.error('onHandleUpload not declared');
17
+ return;
18
+ }
19
+ const { func, type } = this._field?.functions?.onHandleUpload;
20
+ if (!func || !this.self[func]) {
21
+ console.error('onHandleUpload not declared');
22
+ return;
23
+ }
24
+ this.self[func](file, type, callback);
25
+ };
26
+ // not to do
27
+ }
28
+ get className() {
29
+ return this._field?.style?.class;
30
+ }
31
+ ngOnChanges() {
32
+ this.cdr.detectChanges();
33
+ }
34
+ }
35
+ MECXDynamicFileUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MECXDynamicFileUploadComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
36
+ MECXDynamicFileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: MECXDynamicFileUploadComponent, selector: "mecx-dynamic-file-upload", inputs: { _field: "_field", _form: "_form", _formErrors: "_formErrors", self: "self" }, host: { properties: { "class": "this.className" } }, usesOnChanges: true, ngImport: i0, template: "<monkey-file-upload\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [icon]=\"_field?.icon\" [formControl]=\"_form.controls[_field?.name]\"\n [placeholder]=\"_field?.placeholder | translate\"\n [helperMessage]=\"_field?.helperMessage | translate\" [label]=\"_field?.label | translate\"\n [maxSize]=\"_field?.maxSize || 5242880\" [fileUpload]=\"_function\"\n [maxSizeErrorMessage]=\"'FIELD.FILE.MAX-FILE' | translate\"\n [allowedExtensionErrorMessage]=\"'FIELD.FILE.ALLOWED-EXTENSION' | translate\"\n [allowedExtensions]=\"_field?.allowedExtensions || []\" *ngIf=\"_field\">\n</monkey-file-upload>", components: [{ type: i1.MonkeyFileUploadComponent, selector: "monkey-file-upload", inputs: ["name", "label", "helperMessage", "placeholder", "icon", "infoMessage", "uploadOngoingMessage", "errorMessage", "listenFiles", "maxSize", "allowedExtensions", "maxSizeErrorMessage", "allowedExtensionErrorMessage", "fileUpload", "value"], outputs: ["onChange", "onHandleFilesReady"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "translate": i4.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MECXDynamicFileUploadComponent, decorators: [{
38
+ type: Component,
39
+ args: [{ selector: 'mecx-dynamic-file-upload', encapsulation: ViewEncapsulation.None, template: "<monkey-file-upload\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [icon]=\"_field?.icon\" [formControl]=\"_form.controls[_field?.name]\"\n [placeholder]=\"_field?.placeholder | translate\"\n [helperMessage]=\"_field?.helperMessage | translate\" [label]=\"_field?.label | translate\"\n [maxSize]=\"_field?.maxSize || 5242880\" [fileUpload]=\"_function\"\n [maxSizeErrorMessage]=\"'FIELD.FILE.MAX-FILE' | translate\"\n [allowedExtensionErrorMessage]=\"'FIELD.FILE.ALLOWED-EXTENSION' | translate\"\n [allowedExtensions]=\"_field?.allowedExtensions || []\" *ngIf=\"_field\">\n</monkey-file-upload>" }]
40
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { _field: [{
41
+ type: Input
42
+ }], _form: [{
43
+ type: Input
44
+ }], _formErrors: [{
45
+ type: Input
46
+ }], self: [{
47
+ type: Input
48
+ }], className: [{
49
+ type: HostBinding,
50
+ args: ['class']
51
+ }] } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBU3BHLE1BQU0sT0FBTyw4QkFBOEI7SUF3QnpDLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbkIxQyxnREFBZ0Q7UUFDdkMsZ0JBQVcsR0FBZ0IsRUFBRSxDQUFDO1FBSXZDLGNBQVMsR0FBYSxDQUFDLElBQVMsRUFBRSxRQUFtQixFQUFFLEVBQUU7WUFDdkQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVE7Z0JBQUUsT0FBTztZQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO2dCQUMzQyxPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7Z0JBQzdDLE9BQU87YUFDUjtZQUNELE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDO1lBQzlELElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM3QixPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7Z0JBQzdDLE9BQU87YUFDUjtZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUM7UUFHQSxZQUFZO0lBQ2QsQ0FBQztJQUVELElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOzsySEFuQ1UsOEJBQThCOytHQUE5Qiw4QkFBOEIsa09DVDNDLHlxQkFTcUI7MkZEQVIsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLDBCQUEwQixpQkFFckIsaUJBQWlCLENBQUMsSUFBSTt3R0FHNUIsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFxQkYsU0FBUztzQkFEWixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNRUNYRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWVjeC1keW5hbWljLWZpbGUtdXBsb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBNRUNYRHluYW1pY0ZpbGVVcGxvYWRDb21wb25lbnQge1xuICBASW5wdXQoKSBfZmllbGQ6IE1FQ1hGaWVsZENvbmZpZztcblxuICBASW5wdXQoKSBfZm9ybTogRm9ybUdyb3VwO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYmplY3QtY3VybHktbmV3bGluZVxuICBASW5wdXQoKSBfZm9ybUVycm9yczogYW55IHwgYW55W10gPSB7fTtcblxuICBASW5wdXQoKSBzZWxmOiBhbnk7XG5cbiAgX2Z1bmN0aW9uOiBGdW5jdGlvbiA9IChmaWxlOiBhbnksIGNhbGxiYWNrPzogRnVuY3Rpb24pID0+IHtcbiAgICBpZiAodGhpcy5fZm9ybT8uZGlzYWJsZWQpIHJldHVybjtcbiAgICBpZiAoIXRoaXMuX2ZpZWxkPy5mdW5jdGlvbnM/Lm9uSGFuZGxlVXBsb2FkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdvbkhhbmRsZVVwbG9hZCBub3QgZGVjbGFyZWQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgeyBmdW5jLCB0eXBlIH0gPSB0aGlzLl9maWVsZD8uZnVuY3Rpb25zPy5vbkhhbmRsZVVwbG9hZDtcbiAgICBpZiAoIWZ1bmMgfHwgIXRoaXMuc2VsZltmdW5jXSkge1xuICAgICAgY29uc29sZS5lcnJvcignb25IYW5kbGVVcGxvYWQgbm90IGRlY2xhcmVkJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZltmdW5jXShmaWxlLCB0eXBlLCBjYWxsYmFjayk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGNsYXNzTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmllbGQ/LnN0eWxlPy5jbGFzcztcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPG1vbmtleS1maWxlLXVwbG9hZFxuICBlcnJvck1lc3NhZ2U9XCJ7eyBfZm9ybUVycm9yc1tfZmllbGQ/Lm5hbWVdPy5maXJzdE1lc3NhZ2UgfCB0cmFuc2xhdGUgfX0ge3sgX2Zvcm1FcnJvcnNbX2ZpZWxkPy5uYW1lXT8ubGFzdE1lc3NhZ2UgfX1cIlxuICBbaWNvbl09XCJfZmllbGQ/Lmljb25cIiBbZm9ybUNvbnRyb2xdPVwiX2Zvcm0uY29udHJvbHNbX2ZpZWxkPy5uYW1lXVwiXG4gIFtwbGFjZWhvbGRlcl09XCJfZmllbGQ/LnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCJcbiAgW2hlbHBlck1lc3NhZ2VdPVwiX2ZpZWxkPy5oZWxwZXJNZXNzYWdlIHwgdHJhbnNsYXRlXCIgW2xhYmVsXT1cIl9maWVsZD8ubGFiZWwgfCB0cmFuc2xhdGVcIlxuICBbbWF4U2l6ZV09XCJfZmllbGQ/Lm1heFNpemUgfHwgNTI0Mjg4MFwiIFtmaWxlVXBsb2FkXT1cIl9mdW5jdGlvblwiXG4gIFttYXhTaXplRXJyb3JNZXNzYWdlXT1cIidGSUVMRC5GSUxFLk1BWC1GSUxFJyB8IHRyYW5zbGF0ZVwiXG4gIFthbGxvd2VkRXh0ZW5zaW9uRXJyb3JNZXNzYWdlXT1cIidGSUVMRC5GSUxFLkFMTE9XRUQtRVhURU5TSU9OJyB8IHRyYW5zbGF0ZVwiXG4gIFthbGxvd2VkRXh0ZW5zaW9uc109XCJfZmllbGQ/LmFsbG93ZWRFeHRlbnNpb25zIHx8IFtdXCIgKm5nSWY9XCJfZmllbGRcIj5cbjwvbW9ua2V5LWZpbGUtdXBsb2FkPiJdfQ==
@@ -0,0 +1,72 @@
1
+ import { Component, ViewEncapsulation } from '@angular/core';
2
+ import { FormGroup } from '@angular/forms';
3
+ import { Subject } from 'rxjs';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ import { BaseDynamicArray } from '../../base';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/forms";
8
+ import * as i2 from "monkey-style-guide";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "../dynamic-directive";
11
+ import * as i5 from "@ngx-translate/core";
12
+ export class MECXDynamicFormArrayComponent extends BaseDynamicArray {
13
+ constructor(fb, cdr) {
14
+ super(fb);
15
+ this.cdr = cdr;
16
+ this.unsubscribeAll = new Subject();
17
+ this.__monkeyecxFormErrors = [];
18
+ }
19
+ ngOnInit() {
20
+ super.ngOnInit();
21
+ this.onHandleSubmit.pipe(takeUntil(this.unsubscribeAll)).subscribe((func) => {
22
+ this.onSubmit(func);
23
+ });
24
+ }
25
+ ngOnDestroy() {
26
+ this.unsubscribeAll.next();
27
+ this.unsubscribeAll.complete();
28
+ }
29
+ onSubmit(callback) {
30
+ const { _form } = this;
31
+ // eslint-disable-next-line object-curly-newline
32
+ this.__monkeyecxFormErrors = [];
33
+ let validate = {
34
+ isValid: false
35
+ };
36
+ let hasErrors = false;
37
+ if (this.formValues) {
38
+ this.__monkeyecxFormErrors = [this.formValues.length];
39
+ this.formValues.controls.forEach((item, index) => {
40
+ if (item instanceof FormGroup) {
41
+ if (!this.validateForm(item, index)) {
42
+ hasErrors = true;
43
+ }
44
+ }
45
+ });
46
+ }
47
+ validate = {
48
+ isValid: !hasErrors
49
+ };
50
+ this.cdr.detectChanges();
51
+ this.onHandleSubmitFormReady.next({
52
+ validate,
53
+ callback,
54
+ form: _form
55
+ });
56
+ }
57
+ onHandleAdd() {
58
+ this.formValues?.push(this.formBase());
59
+ this.cdr.detectChanges();
60
+ }
61
+ onHandleRemove(index) {
62
+ this.formValues?.removeAt(index);
63
+ this._plusValidations.splice(index, 1);
64
+ }
65
+ }
66
+ MECXDynamicFormArrayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MECXDynamicFormArrayComponent, deps: [{ token: i1.FormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
67
+ MECXDynamicFormArrayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: MECXDynamicFormArrayComponent, selector: "mecx-dynamic-form-array", usesInheritance: true, ngImport: i0, template: "<form name=\"form\" [formGroup]=\"_form\" *ngIf=\"_form\">\n <div formArrayName=\"fields\">\n <div *ngFor=\"let item of formValues.controls; let indForm=index\" [formGroupName]=\"indForm\">\n <monkey-button type=\"secondary\" color=\"error\" icon=\"close-20\" iconPosition=\"right\"\n [label]=\"'BUTTONS.REMOVE' | translate\" (click)=\"onHandleRemove(indForm)\"\n *ngIf=\"formValues.controls.length > 1 && !disabled\">\n </monkey-button>\n <div class=\"row mt-3\">\n <div *ngFor=\"let field of fields;\" MECXDynamic [field]=\"field\" [form]=\"item\" [self]=\"self\"\n [formErrors]=\"__monkeyecxFormErrors[indForm]\"\n [plusValidations]=\"_plusValidations[indForm]\" [style.display]=\"'none'\">\n </div>\n </div>\n </div>\n </div>\n</form>\n<monkey-button type=\"secondary\" color=\"theme\" icon=\"more-20\" iconPosition=\"right\"\n [label]=\"'BUTTONS.ADD' | translate\" (click)=\"onHandleAdd()\" *ngIf=\"!disabled\">\n</monkey-button>", styles: ["mecx-dynamic-form-array monkey-button{width:100%}mecx-dynamic-form-array monkey-button button{width:100%;height:40px}\n"], components: [{ type: i2.MonkeyButtonComponent, selector: "monkey-button", inputs: ["label", "icon", "iconPosition", "type", "color", "disabled", "size"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i4.MECXDynamicDirective, selector: "[MECXDynamic]", inputs: ["field", "form", "formErrors", "self", "plusValidations"] }], pipes: { "translate": i5.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MECXDynamicFormArrayComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ selector: 'mecx-dynamic-form-array', encapsulation: ViewEncapsulation.None, template: "<form name=\"form\" [formGroup]=\"_form\" *ngIf=\"_form\">\n <div formArrayName=\"fields\">\n <div *ngFor=\"let item of formValues.controls; let indForm=index\" [formGroupName]=\"indForm\">\n <monkey-button type=\"secondary\" color=\"error\" icon=\"close-20\" iconPosition=\"right\"\n [label]=\"'BUTTONS.REMOVE' | translate\" (click)=\"onHandleRemove(indForm)\"\n *ngIf=\"formValues.controls.length > 1 && !disabled\">\n </monkey-button>\n <div class=\"row mt-3\">\n <div *ngFor=\"let field of fields;\" MECXDynamic [field]=\"field\" [form]=\"item\" [self]=\"self\"\n [formErrors]=\"__monkeyecxFormErrors[indForm]\"\n [plusValidations]=\"_plusValidations[indForm]\" [style.display]=\"'none'\">\n </div>\n </div>\n </div>\n </div>\n</form>\n<monkey-button type=\"secondary\" color=\"theme\" icon=\"more-20\" iconPosition=\"right\"\n [label]=\"'BUTTONS.ADD' | translate\" (click)=\"onHandleAdd()\" *ngIf=\"!disabled\">\n</monkey-button>", styles: ["mecx-dynamic-form-array monkey-button{width:100%}mecx-dynamic-form-array monkey-button button{width:100%;height:40px}\n"] }]
71
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i0.ChangeDetectorRef }]; } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWFycmF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljL2Zvcm0vZHluYW1pYy1mb3JtLWFycmF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljL2Zvcm0vZHluYW1pYy1mb3JtLWFycmF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQWdDLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBZSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7QUFROUMsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGdCQUFnQjtJQUdqRSxZQUFZLEVBQWUsRUFBVSxHQUFzQjtRQUN6RCxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFEeUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFGbkQsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBSXJDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQWMsRUFBRSxFQUFFO1lBQ3BGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUSxDQUFDLFFBQWtCO1FBQ3pCLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDdkIsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUM7UUFFaEMsSUFBSSxRQUFRLEdBQUc7WUFDYixPQUFPLEVBQUUsS0FBSztTQUNmLENBQUM7UUFDRixJQUFJLFNBQVMsR0FBWSxLQUFLLENBQUM7UUFDL0IsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBUyxFQUFFLEtBQWEsRUFBRSxFQUFFO2dCQUM1RCxJQUFJLElBQUksWUFBWSxTQUFTLEVBQUU7b0JBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRTt3QkFDbkMsU0FBUyxHQUFHLElBQUksQ0FBQztxQkFDbEI7aUJBQ0Y7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsUUFBUSxHQUFHO1lBQ1QsT0FBTyxFQUFFLENBQUMsU0FBUztTQUNwQixDQUFDO1FBRUYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUV6QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDO1lBQ2hDLFFBQVE7WUFDUixRQUFRO1lBQ1IsSUFBSSxFQUFFLEtBQUs7U0FDWixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQVMsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7OzBIQTdEVSw2QkFBNkI7OEdBQTdCLDZCQUE2QixzRkNaMUMsbS9CQWtCZ0I7MkZETkgsNkJBQTZCO2tCQU56QyxTQUFTOytCQUNFLHlCQUF5QixpQkFHcEIsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJhc2VEeW5hbWljQXJyYXkgfSBmcm9tICcuLi8uLi9iYXNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWVjeC1keW5hbWljLWZvcm0tYXJyYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLWFycmF5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLWFycmF5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTUVDWER5bmFtaWNGb3JtQXJyYXlDb21wb25lbnQgZXh0ZW5kcyBCYXNlRHluYW1pY0FycmF5IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHVuc3Vic2NyaWJlQWxsID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKGZiKTtcbiAgICB0aGlzLl9fbW9ua2V5ZWN4Rm9ybUVycm9ycyA9IFtdO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIHRoaXMub25IYW5kbGVTdWJtaXQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCkpLnN1YnNjcmliZSgoZnVuYzogRnVuY3Rpb24pID0+IHtcbiAgICAgIHRoaXMub25TdWJtaXQoZnVuYyk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlQWxsLm5leHQoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlQWxsLmNvbXBsZXRlKCk7XG4gIH1cblxuICBvblN1Ym1pdChjYWxsYmFjazogRnVuY3Rpb24pIHtcbiAgICBjb25zdCB7IF9mb3JtIH0gPSB0aGlzO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYmplY3QtY3VybHktbmV3bGluZVxuICAgIHRoaXMuX19tb25rZXllY3hGb3JtRXJyb3JzID0gW107XG5cbiAgICBsZXQgdmFsaWRhdGUgPSB7XG4gICAgICBpc1ZhbGlkOiBmYWxzZVxuICAgIH07XG4gICAgbGV0IGhhc0Vycm9yczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGlmICh0aGlzLmZvcm1WYWx1ZXMpIHtcbiAgICAgIHRoaXMuX19tb25rZXllY3hGb3JtRXJyb3JzID0gW3RoaXMuZm9ybVZhbHVlcy5sZW5ndGhdO1xuICAgICAgdGhpcy5mb3JtVmFsdWVzLmNvbnRyb2xzLmZvckVhY2goKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgICAgIGlmICghdGhpcy52YWxpZGF0ZUZvcm0oaXRlbSwgaW5kZXgpKSB7XG4gICAgICAgICAgICBoYXNFcnJvcnMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHZhbGlkYXRlID0ge1xuICAgICAgaXNWYWxpZDogIWhhc0Vycm9yc1xuICAgIH07XG5cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICB0aGlzLm9uSGFuZGxlU3VibWl0Rm9ybVJlYWR5Lm5leHQoe1xuICAgICAgdmFsaWRhdGUsXG4gICAgICBjYWxsYmFjayxcbiAgICAgIGZvcm06IF9mb3JtXG4gICAgfSk7XG4gIH1cblxuICBvbkhhbmRsZUFkZCgpIHtcbiAgICB0aGlzLmZvcm1WYWx1ZXM/LnB1c2godGhpcy5mb3JtQmFzZSgpIGFzIGFueSk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb25IYW5kbGVSZW1vdmUoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuZm9ybVZhbHVlcz8ucmVtb3ZlQXQoaW5kZXgpO1xuICAgIHRoaXMuX3BsdXNWYWxpZGF0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xuICB9XG59XG4iLCI8Zm9ybSBuYW1lPVwiZm9ybVwiIFtmb3JtR3JvdXBdPVwiX2Zvcm1cIiAqbmdJZj1cIl9mb3JtXCI+XG4gIDxkaXYgZm9ybUFycmF5TmFtZT1cImZpZWxkc1wiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZm9ybVZhbHVlcy5jb250cm9sczsgbGV0IGluZEZvcm09aW5kZXhcIiBbZm9ybUdyb3VwTmFtZV09XCJpbmRGb3JtXCI+XG4gICAgICA8bW9ua2V5LWJ1dHRvbiB0eXBlPVwic2Vjb25kYXJ5XCIgY29sb3I9XCJlcnJvclwiIGljb249XCJjbG9zZS0yMFwiIGljb25Qb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgW2xhYmVsXT1cIidCVVRUT05TLlJFTU9WRScgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwib25IYW5kbGVSZW1vdmUoaW5kRm9ybSlcIlxuICAgICAgICAqbmdJZj1cImZvcm1WYWx1ZXMuY29udHJvbHMubGVuZ3RoID4gMSAmJiAhZGlzYWJsZWRcIj5cbiAgICAgIDwvbW9ua2V5LWJ1dHRvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtM1wiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZHM7XCIgTUVDWER5bmFtaWMgW2ZpZWxkXT1cImZpZWxkXCIgW2Zvcm1dPVwiaXRlbVwiIFtzZWxmXT1cInNlbGZcIlxuICAgICAgICAgIFtmb3JtRXJyb3JzXT1cIl9fbW9ua2V5ZWN4Rm9ybUVycm9yc1tpbmRGb3JtXVwiXG4gICAgICAgICAgW3BsdXNWYWxpZGF0aW9uc109XCJfcGx1c1ZhbGlkYXRpb25zW2luZEZvcm1dXCIgW3N0eWxlLmRpc3BsYXldPVwiJ25vbmUnXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9mb3JtPlxuPG1vbmtleS1idXR0b24gdHlwZT1cInNlY29uZGFyeVwiIGNvbG9yPVwidGhlbWVcIiBpY29uPVwibW9yZS0yMFwiIGljb25Qb3NpdGlvbj1cInJpZ2h0XCJcbiAgW2xhYmVsXT1cIidCVVRUT05TLkFERCcgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwib25IYW5kbGVBZGQoKVwiICpuZ0lmPVwiIWRpc2FibGVkXCI+XG48L21vbmtleS1idXR0b24+Il19
@@ -0,0 +1,46 @@
1
+ import { Component, ViewEncapsulation } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import { BaseDynamic } from '../../base/base-dynamic';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "../dynamic-directive";
9
+ export class MECXDynamicFormComponent extends BaseDynamic {
10
+ constructor(fb, cdr) {
11
+ super(fb);
12
+ this.cdr = cdr;
13
+ this.unsubscribeAll = new Subject();
14
+ }
15
+ ngOnInit() {
16
+ super.ngOnInit();
17
+ this.onHandleSubmit.pipe(takeUntil(this.unsubscribeAll)).subscribe((func) => {
18
+ this.onSubmit(func);
19
+ });
20
+ }
21
+ ngOnDestroy() {
22
+ this.unsubscribeAll.next();
23
+ this.unsubscribeAll.complete();
24
+ }
25
+ onSubmit(callback) {
26
+ const { _form } = this;
27
+ // eslint-disable-next-line object-curly-newline
28
+ this.__monkeyecxFormErrors = {};
29
+ const isValid = this.validateForm(_form);
30
+ this.cdr.detectChanges();
31
+ this.onHandleSubmitFormReady.next({
32
+ validate: {
33
+ isValid
34
+ },
35
+ callback,
36
+ form: _form
37
+ });
38
+ }
39
+ }
40
+ MECXDynamicFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MECXDynamicFormComponent, deps: [{ token: i1.FormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
41
+ MECXDynamicFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: MECXDynamicFormComponent, selector: "mecx-dynamic-form", usesInheritance: true, ngImport: i0, template: "<form name=\"form\" [formGroup]=\"_form\" *ngIf=\"_form\">\n <div class=\"row\">\n <div *ngFor=\"let field of fields;\" MECXDynamic [field]=\"field\" [form]=\"_form\" [self]=\"self\"\n [formErrors]=\"__monkeyecxFormErrors\" [style.display]=\"'none'\">\n </div>\n </div>\n</form>", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.MECXDynamicDirective, selector: "[MECXDynamic]", inputs: ["field", "form", "formErrors", "self", "plusValidations"] }], encapsulation: i0.ViewEncapsulation.None });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MECXDynamicFormComponent, decorators: [{
43
+ type: Component,
44
+ args: [{ selector: 'mecx-dynamic-form', styles: [], encapsulation: ViewEncapsulation.None, template: "<form name=\"form\" [formGroup]=\"_form\" *ngIf=\"_form\">\n <div class=\"row\">\n <div *ngFor=\"let field of fields;\" MECXDynamic [field]=\"field\" [form]=\"_form\" [self]=\"self\"\n [formErrors]=\"__monkeyecxFormErrors\" [style.display]=\"'none'\">\n </div>\n </div>\n</form>" }]
45
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i0.ChangeDetectorRef }]; } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljL2Zvcm0vZHluYW1pYy1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljL2Zvcm0vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQWdDLE1BQU0sZUFBZSxDQUFDO0FBRW5HLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFRdEQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLFdBQVc7SUFHdkQsWUFBWSxFQUFlLEVBQVUsR0FBc0I7UUFDekQsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRHlCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBRm5ELG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUl2QyxDQUFDO0lBRUQsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVqQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBYyxFQUFFLEVBQUU7WUFDcEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBa0I7UUFDekIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztRQUN2QixnREFBZ0Q7UUFDaEQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztRQUVoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQVksQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQztZQUNoQyxRQUFRLEVBQUU7Z0JBQ1IsT0FBTzthQUNSO1lBQ0QsUUFBUTtZQUNSLElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7cUhBbkNVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLGdGQ1pyQyxxU0FNTzsyRkRNTSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0UsbUJBQW1CLFVBRXJCLEVBQUUsaUJBQ0ssaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCYXNlRHluYW1pYyB9IGZyb20gJy4uLy4uL2Jhc2UvYmFzZS1keW5hbWljJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWVjeC1keW5hbWljLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBNRUNYRHluYW1pY0Zvcm1Db21wb25lbnQgZXh0ZW5kcyBCYXNlRHluYW1pYyBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZUFsbCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihmYik7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgdGhpcy5vbkhhbmRsZVN1Ym1pdC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsKSkuc3Vic2NyaWJlKChmdW5jOiBGdW5jdGlvbikgPT4ge1xuICAgICAgdGhpcy5vblN1Ym1pdChmdW5jKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5zdWJzY3JpYmVBbGwubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmVBbGwuY29tcGxldGUoKTtcbiAgfVxuXG4gIG9uU3VibWl0KGNhbGxiYWNrOiBGdW5jdGlvbikge1xuICAgIGNvbnN0IHsgX2Zvcm0gfSA9IHRoaXM7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9iamVjdC1jdXJseS1uZXdsaW5lXG4gICAgdGhpcy5fX21vbmtleWVjeEZvcm1FcnJvcnMgPSB7fTtcblxuICAgIGNvbnN0IGlzVmFsaWQgPSB0aGlzLnZhbGlkYXRlRm9ybShfZm9ybSBhcyBhbnkpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRoaXMub25IYW5kbGVTdWJtaXRGb3JtUmVhZHkubmV4dCh7XG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICBpc1ZhbGlkXG4gICAgICB9LFxuICAgICAgY2FsbGJhY2ssXG4gICAgICBmb3JtOiBfZm9ybVxuICAgIH0pO1xuICB9XG59XG4iLCI8Zm9ybSBuYW1lPVwiZm9ybVwiIFtmb3JtR3JvdXBdPVwiX2Zvcm1cIiAqbmdJZj1cIl9mb3JtXCI+XG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZHM7XCIgTUVDWER5bmFtaWMgW2ZpZWxkXT1cImZpZWxkXCIgW2Zvcm1dPVwiX2Zvcm1cIiBbc2VsZl09XCJzZWxmXCJcbiAgICAgIFtmb3JtRXJyb3JzXT1cIl9fbW9ua2V5ZWN4Rm9ybUVycm9yc1wiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZm9ybT4iXX0=