@gravitee/ui-particles-angular 7.22.0 → 7.22.1-apim-1416-enable-disable-form-70f7ec2

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.
@@ -15,18 +15,49 @@
15
15
  */
16
16
  import { Component } from '@angular/core';
17
17
  import { FieldArrayType } from '@ngx-formly/core';
18
+ import { Subject } from 'rxjs';
18
19
  import * as i0 from "@angular/core";
19
20
  import * as i1 from "@angular/material/button";
20
21
  import * as i2 from "@angular/material/icon";
21
22
  import * as i3 from "@ngx-formly/core";
22
23
  import * as i4 from "@angular/common";
23
24
  export class GioFjsArrayTypeComponent extends FieldArrayType {
24
- constructor() {
25
- super(...arguments);
25
+ constructor(cdr) {
26
+ super();
27
+ this.cdr = cdr;
26
28
  this.collapse = false;
27
29
  }
30
+ /**
31
+ * This method is here to ensure that all fields of the array are disabled or enabled when the form is disabled or enabled.
32
+ */
33
+ ngAfterViewChecked() {
34
+ this.field.props.disabled = this.form.disabled;
35
+ this.field.fieldGroup?.forEach(f => {
36
+ if (f && f.props)
37
+ f.props.disabled = this.form.disabled;
38
+ });
39
+ this.cdr.detectChanges();
40
+ }
41
+ /**
42
+ * This method fix an issue with the fieldChanges Subject which can be undefined when we enable or disable the form.
43
+ */
44
+ onFocusIn() {
45
+ if (this.field && this.field.options && this.field.options.fieldChanges === undefined) {
46
+ this.field.options.fieldChanges = new Subject();
47
+ }
48
+ }
49
+ /**
50
+ * This method fix an issue with the fieldChanges Subject which can be undefined when we enable or disable the form
51
+ * and then try to add a new field.
52
+ */
53
+ add() {
54
+ if (this.field && this.field.options && this.field.options.fieldChanges === undefined) {
55
+ this.field.options.fieldChanges = new Subject();
56
+ }
57
+ super.add();
58
+ }
28
59
  }
29
- GioFjsArrayTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsArrayTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
60
+ GioFjsArrayTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsArrayTypeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
30
61
  GioFjsArrayTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFjsArrayTypeComponent, selector: "gio-fjs-array-type", usesInheritance: true, ngImport: i0, template: `
31
62
  <div class="wrapper" [class.error]="formControl.touched && formControl.invalid">
32
63
  <div class="wrapper__header">
@@ -47,16 +78,18 @@ GioFjsArrayTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
47
78
 
48
79
  <div [hidden]="collapse" class="wrapper__rows" [class.collapse-open]="collapse" [class.collapse-close]="!collapse">
49
80
  <div *ngFor="let field of field.fieldGroup; let i = index" class="wrapper__rows__row">
50
- <formly-field class="wrapper__rows__row__field" [field]="field"></formly-field>
81
+ <formly-field class="wrapper__rows__row__field" [field]="field" (focusin)="onFocusIn()"></formly-field>
51
82
  <div class="wrapper__rows__row__remove">
52
- <button type="button" mat-icon-button aria-label="Remove" (click)="remove(i)">
83
+ <button type="button" mat-icon-button aria-label="Remove" [disabled]="this.form?.disabled ?? false" (click)="remove(i)">
53
84
  <mat-icon svgIcon="gio:cancel"></mat-icon>
54
85
  </button>
55
86
  </div>
56
87
  </div>
57
88
 
58
89
  <div>
59
- <button type="button" mat-stroked-button aria-label="Add" (click)="add()"><mat-icon svgIcon="gio:plus"></mat-icon> Add</button>
90
+ <button type="button" mat-stroked-button aria-label="Add" [disabled]="this.form?.disabled ?? false" (click)="add()">
91
+ <mat-icon svgIcon="gio:plus"></mat-icon> Add
92
+ </button>
60
93
  </div>
61
94
  </div>
62
95
  </div>
@@ -83,19 +116,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
83
116
 
84
117
  <div [hidden]="collapse" class="wrapper__rows" [class.collapse-open]="collapse" [class.collapse-close]="!collapse">
85
118
  <div *ngFor="let field of field.fieldGroup; let i = index" class="wrapper__rows__row">
86
- <formly-field class="wrapper__rows__row__field" [field]="field"></formly-field>
119
+ <formly-field class="wrapper__rows__row__field" [field]="field" (focusin)="onFocusIn()"></formly-field>
87
120
  <div class="wrapper__rows__row__remove">
88
- <button type="button" mat-icon-button aria-label="Remove" (click)="remove(i)">
121
+ <button type="button" mat-icon-button aria-label="Remove" [disabled]="this.form?.disabled ?? false" (click)="remove(i)">
89
122
  <mat-icon svgIcon="gio:cancel"></mat-icon>
90
123
  </button>
91
124
  </div>
92
125
  </div>
93
126
 
94
127
  <div>
95
- <button type="button" mat-stroked-button aria-label="Add" (click)="add()"><mat-icon svgIcon="gio:plus"></mat-icon> Add</button>
128
+ <button type="button" mat-stroked-button aria-label="Add" [disabled]="this.form?.disabled ?? false" (click)="add()">
129
+ <mat-icon svgIcon="gio:plus"></mat-icon> Add
130
+ </button>
96
131
  </div>
97
132
  </div>
98
133
  </div>
99
134
  `, styles: [".wrapper{padding:8px;border:1px solid #d3d5dc;border-radius:8px}.wrapper.error{border-color:#ec4899}.wrapper:empty{display:none}.wrapper__header{display:flex}.wrapper__header__text{flex:1 1 auto}.wrapper__header__text__title{font:600 16px/24px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:8px}.wrapper__header__collapse{flex:0 0 auto}.wrapper__header__collapse .collapse-open{transform:rotate(180deg);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__header__collapse .collapse-close{transform:rotate(0);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__error{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;color:#ec4899}.wrapper__rows__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.wrapper__rows__row+.wrapper__rows__row{padding-top:3px;border-top:1px solid #d3d5dc;margin-top:4px}.wrapper__rows__row__field{flex:1 1 auto}.wrapper__rows__row__remove{flex:0 0 auto}\n"] }]
100
- }] });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1mb3JtLWpzb24tc2NoZW1hL3R5cGUtY29tcG9uZW50L2FycmF5LXR5cGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQXdDbEQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGNBQWM7SUF0QzVEOztRQXVDUyxhQUFRLEdBQUcsS0FBSyxDQUFDO0tBQ3pCOztzSEFGWSx3QkFBd0I7MEdBQXhCLHdCQUF3QixpRkFwQ3pCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQ1Q7NEZBR1Usd0JBQXdCO2tCQXRDcEMsU0FBUzsrQkFDRSxvQkFBb0IsWUFDcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDVCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkQXJyYXlUeXBlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1manMtYXJyYXktdHlwZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIiBbY2xhc3MuZXJyb3JdPVwiZm9ybUNvbnRyb2wudG91Y2hlZCAmJiBmb3JtQ29udHJvbC5pbnZhbGlkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlcl9faGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyX19oZWFkZXJfX3RleHRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlcl9faGVhZGVyX190ZXh0X190aXRsZVwiICpuZ0lmPVwidG8ubGFiZWxcIj57eyB0by5sYWJlbCB9fTwvZGl2PlxuICAgICAgICAgIDxwICpuZ0lmPVwidG8uZGVzY3JpcHRpb25cIj57eyB0by5kZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyX19oZWFkZXJfX2NvbGxhcHNlXCI+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJDb2xsYXBzZVwiIChjbGljayk9XCJjb2xsYXBzZSA9ICFjb2xsYXBzZVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIFtjbGFzcy5jb2xsYXBzZS1vcGVuXT1cImNvbGxhcHNlXCIgW2NsYXNzLmNvbGxhcHNlLWNsb3NlXT1cIiFjb2xsYXBzZVwiIHN2Z0ljb249XCJnaW86bmF2LWFycm93LWRvd25cIj48L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlcl9fZXJyb3IgZ2lvLW5nLWludmFsaWRcIiAqbmdJZj1cInNob3dFcnJvciAmJiBmb3JtQ29udHJvbC5lcnJvcnNcIj5cbiAgICAgICAgPGZvcm1seS12YWxpZGF0aW9uLW1lc3NhZ2UgW2ZpZWxkXT1cImZpZWxkXCI+PC9mb3JtbHktdmFsaWRhdGlvbi1tZXNzYWdlPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgW2hpZGRlbl09XCJjb2xsYXBzZVwiIGNsYXNzPVwid3JhcHBlcl9fcm93c1wiIFtjbGFzcy5jb2xsYXBzZS1vcGVuXT1cImNvbGxhcHNlXCIgW2NsYXNzLmNvbGxhcHNlLWNsb3NlXT1cIiFjb2xsYXBzZVwiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZC5maWVsZEdyb3VwOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJ3cmFwcGVyX19yb3dzX19yb3dcIj5cbiAgICAgICAgICA8Zm9ybWx5LWZpZWxkIGNsYXNzPVwid3JhcHBlcl9fcm93c19fcm93X19maWVsZFwiIFtmaWVsZF09XCJmaWVsZFwiPjwvZm9ybWx5LWZpZWxkPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyX19yb3dzX19yb3dfX3JlbW92ZVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJSZW1vdmVcIiAoY2xpY2spPVwicmVtb3ZlKGkpXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZ2lvOmNhbmNlbFwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gYXJpYS1sYWJlbD1cIkFkZFwiIChjbGljayk9XCJhZGQoKVwiPjxtYXQtaWNvbiBzdmdJY29uPVwiZ2lvOnBsdXNcIj48L21hdC1pY29uPiBBZGQ8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYXJyYXktdHlwZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9GanNBcnJheVR5cGVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZEFycmF5VHlwZSB7XG4gIHB1YmxpYyBjb2xsYXBzZSA9IGZhbHNlO1xufVxuIl19
135
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1mb3JtLWpzb24tc2NoZW1hL3R5cGUtY29tcG9uZW50L2FycmF5LXR5cGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUF1QyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztBQTJDL0IsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGNBQWM7SUFHMUQsWUFBNkIsR0FBc0I7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEbUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFGNUMsYUFBUSxHQUFHLEtBQUssQ0FBQztJQUl4QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxrQkFBa0I7UUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9DLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSztnQkFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksU0FBUztRQUNkLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQ3JGLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksR0FBRyxJQUFJLE9BQU8sRUFBMEIsQ0FBQztTQUN6RTtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSxHQUFHO1FBQ1IsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUU7WUFDckYsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxHQUFHLElBQUksT0FBTyxFQUEwQixDQUFDO1NBQ3pFO1FBQ0QsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2QsQ0FBQzs7c0hBcENVLHdCQUF3QjswR0FBeEIsd0JBQXdCLGlGQXRDekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUNUOzRGQUdVLHdCQUF3QjtrQkF4Q3BDLFNBQVM7K0JBQ0Usb0JBQW9CLFlBQ3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1DVCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBBZnRlclZpZXdDaGVja2VkLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZEFycmF5VHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybWx5VmFsdWVDaGFuZ2VFdmVudCB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUvbGliL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1manMtYXJyYXktdHlwZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIiBbY2xhc3MuZXJyb3JdPVwiZm9ybUNvbnRyb2wudG91Y2hlZCAmJiBmb3JtQ29udHJvbC5pbnZhbGlkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlcl9faGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyX19oZWFkZXJfX3RleHRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlcl9faGVhZGVyX190ZXh0X190aXRsZVwiICpuZ0lmPVwidG8ubGFiZWxcIj57eyB0by5sYWJlbCB9fTwvZGl2PlxuICAgICAgICAgIDxwICpuZ0lmPVwidG8uZGVzY3JpcHRpb25cIj57eyB0by5kZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyX19oZWFkZXJfX2NvbGxhcHNlXCI+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJDb2xsYXBzZVwiIChjbGljayk9XCJjb2xsYXBzZSA9ICFjb2xsYXBzZVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIFtjbGFzcy5jb2xsYXBzZS1vcGVuXT1cImNvbGxhcHNlXCIgW2NsYXNzLmNvbGxhcHNlLWNsb3NlXT1cIiFjb2xsYXBzZVwiIHN2Z0ljb249XCJnaW86bmF2LWFycm93LWRvd25cIj48L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlcl9fZXJyb3IgZ2lvLW5nLWludmFsaWRcIiAqbmdJZj1cInNob3dFcnJvciAmJiBmb3JtQ29udHJvbC5lcnJvcnNcIj5cbiAgICAgICAgPGZvcm1seS12YWxpZGF0aW9uLW1lc3NhZ2UgW2ZpZWxkXT1cImZpZWxkXCI+PC9mb3JtbHktdmFsaWRhdGlvbi1tZXNzYWdlPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgW2hpZGRlbl09XCJjb2xsYXBzZVwiIGNsYXNzPVwid3JhcHBlcl9fcm93c1wiIFtjbGFzcy5jb2xsYXBzZS1vcGVuXT1cImNvbGxhcHNlXCIgW2NsYXNzLmNvbGxhcHNlLWNsb3NlXT1cIiFjb2xsYXBzZVwiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZC5maWVsZEdyb3VwOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJ3cmFwcGVyX19yb3dzX19yb3dcIj5cbiAgICAgICAgICA8Zm9ybWx5LWZpZWxkIGNsYXNzPVwid3JhcHBlcl9fcm93c19fcm93X19maWVsZFwiIFtmaWVsZF09XCJmaWVsZFwiIChmb2N1c2luKT1cIm9uRm9jdXNJbigpXCI+PC9mb3JtbHktZmllbGQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJfX3Jvd3NfX3Jvd19fcmVtb3ZlXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIlJlbW92ZVwiIFtkaXNhYmxlZF09XCJ0aGlzLmZvcm0/LmRpc2FibGVkID8/IGZhbHNlXCIgKGNsaWNrKT1cInJlbW92ZShpKVwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImdpbzpjYW5jZWxcIj48L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGFyaWEtbGFiZWw9XCJBZGRcIiBbZGlzYWJsZWRdPVwidGhpcy5mb3JtPy5kaXNhYmxlZCA/PyBmYWxzZVwiIChjbGljayk9XCJhZGQoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJnaW86cGx1c1wiPjwvbWF0LWljb24+IEFkZFxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9hcnJheS10eXBlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEdpb0Zqc0FycmF5VHlwZUNvbXBvbmVudCBleHRlbmRzIEZpZWxkQXJyYXlUeXBlIGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gIHB1YmxpYyBjb2xsYXBzZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgaXMgaGVyZSB0byBlbnN1cmUgdGhhdCBhbGwgZmllbGRzIG9mIHRoZSBhcnJheSBhcmUgZGlzYWJsZWQgb3IgZW5hYmxlZCB3aGVuIHRoZSBmb3JtIGlzIGRpc2FibGVkIG9yIGVuYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuZmllbGQucHJvcHMuZGlzYWJsZWQgPSB0aGlzLmZvcm0uZGlzYWJsZWQ7XG4gICAgdGhpcy5maWVsZC5maWVsZEdyb3VwPy5mb3JFYWNoKGYgPT4ge1xuICAgICAgaWYgKGYgJiYgZi5wcm9wcykgZi5wcm9wcy5kaXNhYmxlZCA9IHRoaXMuZm9ybS5kaXNhYmxlZDtcbiAgICB9KTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgZml4IGFuIGlzc3VlIHdpdGggdGhlIGZpZWxkQ2hhbmdlcyBTdWJqZWN0IHdoaWNoIGNhbiBiZSB1bmRlZmluZWQgd2hlbiB3ZSBlbmFibGUgb3IgZGlzYWJsZSB0aGUgZm9ybS5cbiAgICovXG4gIHB1YmxpYyBvbkZvY3VzSW4oKSB7XG4gICAgaWYgKHRoaXMuZmllbGQgJiYgdGhpcy5maWVsZC5vcHRpb25zICYmIHRoaXMuZmllbGQub3B0aW9ucy5maWVsZENoYW5nZXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5maWVsZC5vcHRpb25zLmZpZWxkQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PEZvcm1seVZhbHVlQ2hhbmdlRXZlbnQ+KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGZpeCBhbiBpc3N1ZSB3aXRoIHRoZSBmaWVsZENoYW5nZXMgU3ViamVjdCB3aGljaCBjYW4gYmUgdW5kZWZpbmVkIHdoZW4gd2UgZW5hYmxlIG9yIGRpc2FibGUgdGhlIGZvcm1cbiAgICogYW5kIHRoZW4gdHJ5IHRvIGFkZCBhIG5ldyBmaWVsZC5cbiAgICovXG4gIHB1YmxpYyBhZGQoKSB7XG4gICAgaWYgKHRoaXMuZmllbGQgJiYgdGhpcy5maWVsZC5vcHRpb25zICYmIHRoaXMuZmllbGQub3B0aW9ucy5maWVsZENoYW5nZXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5maWVsZC5vcHRpb25zLmZpZWxkQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PEZvcm1seVZhbHVlQ2hhbmdlRXZlbnQ+KCk7XG4gICAgfVxuICAgIHN1cGVyLmFkZCgpO1xuICB9XG59XG4iXX0=
@@ -16,16 +16,34 @@
16
16
  import { Component } from '@angular/core';
17
17
  import { FieldType } from '@ngx-formly/core';
18
18
  import { set } from 'lodash';
19
+ import { takeUntil, tap } from 'rxjs/operators';
20
+ import { Subject } from 'rxjs';
19
21
  import * as i0 from "@angular/core";
20
22
  import * as i1 from "@ngx-formly/core";
21
23
  import * as i2 from "@angular/common";
22
24
  export class GioFjsMultiSchemaTypeComponent extends FieldType {
25
+ constructor(cdr) {
26
+ super();
27
+ this.cdr = cdr;
28
+ this.unsubscribe$ = new Subject();
29
+ }
30
+ ngOnDestroy() {
31
+ this.unsubscribe$.next();
32
+ this.unsubscribe$.unsubscribe();
33
+ }
23
34
  ngOnInit() {
24
35
  set(this.field, 'fieldGroup[0].props.appearance', 'fill');
25
36
  set(this.field, 'fieldGroup[0].props.label', 'Select option');
37
+ set(this.field, 'fieldGroup[0].props.disabled', this.form.disabled);
38
+ this.form.valueChanges
39
+ .pipe(tap(() => {
40
+ set(this.field, 'fieldGroup[0].props.disabled', this.form.disabled);
41
+ this.cdr.detectChanges();
42
+ }), takeUntil(this.unsubscribe$))
43
+ .subscribe();
26
44
  }
27
45
  }
28
- GioFjsMultiSchemaTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsMultiSchemaTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
46
+ GioFjsMultiSchemaTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsMultiSchemaTypeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
29
47
  GioFjsMultiSchemaTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFjsMultiSchemaTypeComponent, selector: "gio-fjs-multi-schema-type", usesInheritance: true, ngImport: i0, template: `
30
48
  <div class="wrapper">
31
49
  <div class="wrapper__title" *ngIf="props.label">{{ props.label }}</div>
@@ -48,5 +66,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
48
66
  <formly-field *ngFor="let f of field.fieldGroup" [field]="f"></formly-field>
49
67
  </div>
50
68
  `, styles: [".wrapper__title{font-size:16px;font-weight:500;line-height:24px;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:4px}.wrapper:empty{display:none}.wrapper__error{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;color:#ec4899}\n"] }]
51
- }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzY2hlbWEtdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1mb3JtLWpzb24tc2NoZW1hL3R5cGUtY29tcG9uZW50L211bHRpc2NoZW1hLXR5cGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7OztBQWdCN0IsTUFBTSxPQUFPLDhCQUErQixTQUFRLFNBQVM7SUFDcEQsUUFBUTtRQUNiLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFELEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLDJCQUEyQixFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7OzRIQUpVLDhCQUE4QjtnSEFBOUIsOEJBQThCLHdGQVovQjs7Ozs7Ozs7O0dBU1Q7NEZBR1UsOEJBQThCO2tCQWQxQyxTQUFTOytCQUNFLDJCQUEyQixZQUMzQjs7Ozs7Ozs7O0dBU1QiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIzIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgc2V0IH0gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2lvLWZqcy1tdWx0aS1zY2hlbWEtdHlwZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyX190aXRsZVwiICpuZ0lmPVwicHJvcHMubGFiZWxcIj57eyBwcm9wcy5sYWJlbCB9fTwvZGl2PlxuICAgICAgPHAgKm5nSWY9XCJwcm9wcy5kZXNjcmlwdGlvblwiPnt7IHByb3BzLmRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJfX2Vycm9yIGdpby1uZy1pbnZhbGlkXCIgKm5nSWY9XCJzaG93RXJyb3IgJiYgZm9ybUNvbnRyb2wuZXJyb3JzXCI+XG4gICAgICAgIDxmb3JtbHktdmFsaWRhdGlvbi1tZXNzYWdlIFtmaWVsZF09XCJmaWVsZFwiPjwvZm9ybWx5LXZhbGlkYXRpb24tbWVzc2FnZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGZvcm1seS1maWVsZCAqbmdGb3I9XCJsZXQgZiBvZiBmaWVsZC5maWVsZEdyb3VwXCIgW2ZpZWxkXT1cImZcIj48L2Zvcm1seS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGlzY2hlbWEtdHlwZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9GanNNdWx0aVNjaGVtYVR5cGVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGUgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc2V0KHRoaXMuZmllbGQsICdmaWVsZEdyb3VwWzBdLnByb3BzLmFwcGVhcmFuY2UnLCAnZmlsbCcpO1xuICAgIHNldCh0aGlzLmZpZWxkLCAnZmllbGRHcm91cFswXS5wcm9wcy5sYWJlbCcsICdTZWxlY3Qgb3B0aW9uJyk7XG4gIH1cbn1cbiJdfQ==
69
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzY2hlbWEtdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1mb3JtLWpzb24tc2NoZW1hL3R5cGUtY29tcG9uZW50L211bHRpc2NoZW1hLXR5cGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFxQixTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQWdCL0IsTUFBTSxPQUFPLDhCQUErQixTQUFRLFNBQVM7SUFHM0QsWUFBNkIsR0FBc0I7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEbUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFGM0MsaUJBQVksR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUkxRCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLFFBQVE7UUFDYixHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxRCxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUM5RCxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSw4QkFBOEIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTthQUNuQixJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLDhCQUE4QixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUM3QjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7OzRIQTFCVSw4QkFBOEI7Z0hBQTlCLDhCQUE4Qix3RkFaL0I7Ozs7Ozs7OztHQVNUOzRGQUdVLDhCQUE4QjtrQkFkMUMsU0FBUzsrQkFDRSwyQkFBMkIsWUFDM0I7Ozs7Ozs7OztHQVNUIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMyBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IHNldCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2lvLWZqcy1tdWx0aS1zY2hlbWEtdHlwZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyX190aXRsZVwiICpuZ0lmPVwicHJvcHMubGFiZWxcIj57eyBwcm9wcy5sYWJlbCB9fTwvZGl2PlxuICAgICAgPHAgKm5nSWY9XCJwcm9wcy5kZXNjcmlwdGlvblwiPnt7IHByb3BzLmRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJfX2Vycm9yIGdpby1uZy1pbnZhbGlkXCIgKm5nSWY9XCJzaG93RXJyb3IgJiYgZm9ybUNvbnRyb2wuZXJyb3JzXCI+XG4gICAgICAgIDxmb3JtbHktdmFsaWRhdGlvbi1tZXNzYWdlIFtmaWVsZF09XCJmaWVsZFwiPjwvZm9ybWx5LXZhbGlkYXRpb24tbWVzc2FnZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGZvcm1seS1maWVsZCAqbmdGb3I9XCJsZXQgZiBvZiBmaWVsZC5maWVsZEdyb3VwXCIgW2ZpZWxkXT1cImZcIj48L2Zvcm1seS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGlzY2hlbWEtdHlwZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9GanNNdWx0aVNjaGVtYVR5cGVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgdW5zdWJzY3JpYmUkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHNldCh0aGlzLmZpZWxkLCAnZmllbGRHcm91cFswXS5wcm9wcy5hcHBlYXJhbmNlJywgJ2ZpbGwnKTtcbiAgICBzZXQodGhpcy5maWVsZCwgJ2ZpZWxkR3JvdXBbMF0ucHJvcHMubGFiZWwnLCAnU2VsZWN0IG9wdGlvbicpO1xuICAgIHNldCh0aGlzLmZpZWxkLCAnZmllbGRHcm91cFswXS5wcm9wcy5kaXNhYmxlZCcsIHRoaXMuZm9ybS5kaXNhYmxlZCk7XG5cbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICBzZXQodGhpcy5maWVsZCwgJ2ZpZWxkR3JvdXBbMF0ucHJvcHMuZGlzYWJsZWQnLCB0aGlzLmZvcm0uZGlzYWJsZWQpO1xuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -4027,12 +4027,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4027
4027
  * limitations under the License.
4028
4028
  */
4029
4029
  class GioFjsArrayTypeComponent extends FieldArrayType {
4030
- constructor() {
4031
- super(...arguments);
4030
+ constructor(cdr) {
4031
+ super();
4032
+ this.cdr = cdr;
4032
4033
  this.collapse = false;
4033
4034
  }
4035
+ /**
4036
+ * This method is here to ensure that all fields of the array are disabled or enabled when the form is disabled or enabled.
4037
+ */
4038
+ ngAfterViewChecked() {
4039
+ var _a;
4040
+ this.field.props.disabled = this.form.disabled;
4041
+ (_a = this.field.fieldGroup) === null || _a === void 0 ? void 0 : _a.forEach(f => {
4042
+ if (f && f.props)
4043
+ f.props.disabled = this.form.disabled;
4044
+ });
4045
+ this.cdr.detectChanges();
4046
+ }
4047
+ /**
4048
+ * This method fix an issue with the fieldChanges Subject which can be undefined when we enable or disable the form.
4049
+ */
4050
+ onFocusIn() {
4051
+ if (this.field && this.field.options && this.field.options.fieldChanges === undefined) {
4052
+ this.field.options.fieldChanges = new Subject();
4053
+ }
4054
+ }
4055
+ /**
4056
+ * This method fix an issue with the fieldChanges Subject which can be undefined when we enable or disable the form
4057
+ * and then try to add a new field.
4058
+ */
4059
+ add() {
4060
+ if (this.field && this.field.options && this.field.options.fieldChanges === undefined) {
4061
+ this.field.options.fieldChanges = new Subject();
4062
+ }
4063
+ super.add();
4064
+ }
4034
4065
  }
4035
- GioFjsArrayTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsArrayTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4066
+ GioFjsArrayTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsArrayTypeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4036
4067
  GioFjsArrayTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFjsArrayTypeComponent, selector: "gio-fjs-array-type", usesInheritance: true, ngImport: i0, template: `
4037
4068
  <div class="wrapper" [class.error]="formControl.touched && formControl.invalid">
4038
4069
  <div class="wrapper__header">
@@ -4053,16 +4084,18 @@ GioFjsArrayTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
4053
4084
 
4054
4085
  <div [hidden]="collapse" class="wrapper__rows" [class.collapse-open]="collapse" [class.collapse-close]="!collapse">
4055
4086
  <div *ngFor="let field of field.fieldGroup; let i = index" class="wrapper__rows__row">
4056
- <formly-field class="wrapper__rows__row__field" [field]="field"></formly-field>
4087
+ <formly-field class="wrapper__rows__row__field" [field]="field" (focusin)="onFocusIn()"></formly-field>
4057
4088
  <div class="wrapper__rows__row__remove">
4058
- <button type="button" mat-icon-button aria-label="Remove" (click)="remove(i)">
4089
+ <button type="button" mat-icon-button aria-label="Remove" [disabled]="this.form?.disabled ?? false" (click)="remove(i)">
4059
4090
  <mat-icon svgIcon="gio:cancel"></mat-icon>
4060
4091
  </button>
4061
4092
  </div>
4062
4093
  </div>
4063
4094
 
4064
4095
  <div>
4065
- <button type="button" mat-stroked-button aria-label="Add" (click)="add()"><mat-icon svgIcon="gio:plus"></mat-icon> Add</button>
4096
+ <button type="button" mat-stroked-button aria-label="Add" [disabled]="this.form?.disabled ?? false" (click)="add()">
4097
+ <mat-icon svgIcon="gio:plus"></mat-icon> Add
4098
+ </button>
4066
4099
  </div>
4067
4100
  </div>
4068
4101
  </div>
@@ -4089,21 +4122,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4089
4122
 
4090
4123
  <div [hidden]="collapse" class="wrapper__rows" [class.collapse-open]="collapse" [class.collapse-close]="!collapse">
4091
4124
  <div *ngFor="let field of field.fieldGroup; let i = index" class="wrapper__rows__row">
4092
- <formly-field class="wrapper__rows__row__field" [field]="field"></formly-field>
4125
+ <formly-field class="wrapper__rows__row__field" [field]="field" (focusin)="onFocusIn()"></formly-field>
4093
4126
  <div class="wrapper__rows__row__remove">
4094
- <button type="button" mat-icon-button aria-label="Remove" (click)="remove(i)">
4127
+ <button type="button" mat-icon-button aria-label="Remove" [disabled]="this.form?.disabled ?? false" (click)="remove(i)">
4095
4128
  <mat-icon svgIcon="gio:cancel"></mat-icon>
4096
4129
  </button>
4097
4130
  </div>
4098
4131
  </div>
4099
4132
 
4100
4133
  <div>
4101
- <button type="button" mat-stroked-button aria-label="Add" (click)="add()"><mat-icon svgIcon="gio:plus"></mat-icon> Add</button>
4134
+ <button type="button" mat-stroked-button aria-label="Add" [disabled]="this.form?.disabled ?? false" (click)="add()">
4135
+ <mat-icon svgIcon="gio:plus"></mat-icon> Add
4136
+ </button>
4102
4137
  </div>
4103
4138
  </div>
4104
4139
  </div>
4105
4140
  `, styles: [".wrapper{padding:8px;border:1px solid #d3d5dc;border-radius:8px}.wrapper.error{border-color:#ec4899}.wrapper:empty{display:none}.wrapper__header{display:flex}.wrapper__header__text{flex:1 1 auto}.wrapper__header__text__title{font:600 16px/24px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:8px}.wrapper__header__collapse{flex:0 0 auto}.wrapper__header__collapse .collapse-open{transform:rotate(180deg);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__header__collapse .collapse-close{transform:rotate(0);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__error{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;color:#ec4899}.wrapper__rows__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.wrapper__rows__row+.wrapper__rows__row{padding-top:3px;border-top:1px solid #d3d5dc;margin-top:4px}.wrapper__rows__row__field{flex:1 1 auto}.wrapper__rows__row__remove{flex:0 0 auto}\n"] }]
4106
- }] });
4141
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
4107
4142
 
4108
4143
  function minItemsValidationMessage(error, field) {
4109
4144
  var _a;
@@ -4199,12 +4234,28 @@ function bannerExtension(field) {
4199
4234
  * limitations under the License.
4200
4235
  */
4201
4236
  class GioFjsMultiSchemaTypeComponent extends FieldType {
4237
+ constructor(cdr) {
4238
+ super();
4239
+ this.cdr = cdr;
4240
+ this.unsubscribe$ = new Subject();
4241
+ }
4242
+ ngOnDestroy() {
4243
+ this.unsubscribe$.next();
4244
+ this.unsubscribe$.unsubscribe();
4245
+ }
4202
4246
  ngOnInit() {
4203
4247
  set(this.field, 'fieldGroup[0].props.appearance', 'fill');
4204
4248
  set(this.field, 'fieldGroup[0].props.label', 'Select option');
4249
+ set(this.field, 'fieldGroup[0].props.disabled', this.form.disabled);
4250
+ this.form.valueChanges
4251
+ .pipe(tap(() => {
4252
+ set(this.field, 'fieldGroup[0].props.disabled', this.form.disabled);
4253
+ this.cdr.detectChanges();
4254
+ }), takeUntil(this.unsubscribe$))
4255
+ .subscribe();
4205
4256
  }
4206
4257
  }
4207
- GioFjsMultiSchemaTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsMultiSchemaTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4258
+ GioFjsMultiSchemaTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFjsMultiSchemaTypeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4208
4259
  GioFjsMultiSchemaTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFjsMultiSchemaTypeComponent, selector: "gio-fjs-multi-schema-type", usesInheritance: true, ngImport: i0, template: `
4209
4260
  <div class="wrapper">
4210
4261
  <div class="wrapper__title" *ngIf="props.label">{{ props.label }}</div>
@@ -4227,7 +4278,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4227
4278
  <formly-field *ngFor="let f of field.fieldGroup" [field]="f"></formly-field>
4228
4279
  </div>
4229
4280
  `, styles: [".wrapper__title{font-size:16px;font-weight:500;line-height:24px;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:4px}.wrapper:empty{display:none}.wrapper__error{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;color:#ec4899}\n"] }]
4230
- }] });
4281
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
4231
4282
 
4232
4283
  /*
4233
4284
  * Copyright (C) 2023 The Gravitee team (http://gravitee.io)