@mckit/form 19.0.24 → 19.0.26

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.
@@ -1,3 +1,4 @@
1
+ import { tap, Subject, take, catchError } from 'rxjs';
1
2
  import * as i0 from '@angular/core';
2
3
  import { Injectable, input, inject, ViewContainerRef, Component, signal, output, viewChild, computed } from '@angular/core';
3
4
  import * as i1 from '@angular/forms';
@@ -5,7 +6,6 @@ import { UntypedFormControl, UntypedFormArray, FormArray, UntypedFormGroup, Form
5
6
  import { DialogService, DynamicDialogRef } from 'primeng/dynamicdialog';
6
7
  import * as i1$4 from '@angular/common';
7
8
  import { CommonModule } from '@angular/common';
8
- import { Subject, take, catchError } from 'rxjs';
9
9
  import * as i1$1 from 'primeng/button';
10
10
  import { ButtonModule } from 'primeng/button';
11
11
  import * as i1$2 from 'primeng/toast';
@@ -40,6 +40,7 @@ class MCField {
40
40
  field.key = data.key;
41
41
  field.component = data.component;
42
42
  field.config = {
43
+ ...data.extra,
43
44
  validators: data.validators,
44
45
  default_value: data.default_value,
45
46
  disabled: data.disabled,
@@ -93,6 +94,17 @@ class MCConfigHttpModalForm extends MCConfigModalForm {
93
94
  http;
94
95
  }
95
96
 
97
+ function mcEventFormOperator(eventKey, onEvent) {
98
+ return tap((event) => {
99
+ if (event.key === eventKey) {
100
+ onEvent(event);
101
+ }
102
+ });
103
+ }
104
+ function mcSavedEventFormOperator(onSaved) {
105
+ return mcEventFormOperator('saved', onSaved);
106
+ }
107
+
96
108
  class MCFormService {
97
109
  createControl(field) {
98
110
  let input = new UntypedFormControl();
@@ -181,10 +193,10 @@ class MCFormService {
181
193
  }
182
194
  }
183
195
  }
184
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
185
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCFormService, providedIn: 'root' });
196
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
197
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCFormService, providedIn: 'root' });
186
198
  }
187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCFormService, decorators: [{
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCFormService, decorators: [{
188
200
  type: Injectable,
189
201
  args: [{
190
202
  providedIn: 'root'
@@ -204,10 +216,10 @@ class PrintFieldComponent {
204
216
  view.setInput('group', this.group());
205
217
  view.setInput('eventObs', this.eventObs());
206
218
  }
207
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: PrintFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
208
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.4", type: PrintFieldComponent, isStandalone: true, selector: "mc-print-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null }, group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: false, transformFunction: null }, eventObs: { classPropertyName: "eventObs", publicName: "eventObs", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }] });
219
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: PrintFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
220
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.13", type: PrintFieldComponent, isStandalone: true, selector: "mc-print-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null }, group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: false, transformFunction: null }, eventObs: { classPropertyName: "eventObs", publicName: "eventObs", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }] });
209
221
  }
210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: PrintFieldComponent, decorators: [{
222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: PrintFieldComponent, decorators: [{
211
223
  type: Component,
212
224
  args: [{ selector: 'mc-print-field', imports: [CommonModule, ReactiveFormsModule], template: '' }]
213
225
  }] });
@@ -240,10 +252,10 @@ class MCForm {
240
252
  getEventObs() {
241
253
  return this.eventObs;
242
254
  }
243
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCForm, deps: [], target: i0.ɵɵFactoryTarget.Component });
244
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: MCForm, isStandalone: true, selector: "mc-form", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onEvent: "onEvent" }, ngImport: i0, template: "@if(formGroup()) {\n <form [formGroup]=\"formGroup()!\" class=\"mc-form\">\n @for (field of config().fields; track $index) {\n <div class=\"{{(config().containerFieldClass || 'mb-3')}}\">\n <mc-print-field [field]=\"field\" [control]=\"formGroup()!.get(field.key ?? '')\" [group]=\"formGroup()!\" [eventObs]=\"eventObs\" />\n </div>\n }\n </form>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PrintFieldComponent, selector: "mc-print-field", inputs: ["field", "control", "group", "eventObs"] }] });
255
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCForm, deps: [], target: i0.ɵɵFactoryTarget.Component });
256
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: MCForm, isStandalone: true, selector: "mc-form", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onEvent: "onEvent" }, ngImport: i0, template: "@if(formGroup()) {\n <form [formGroup]=\"formGroup()!\" class=\"mc-form\">\n @for (field of config().fields; track $index) {\n <div class=\"{{(config().containerFieldClass || 'mb-3')}}\">\n <mc-print-field [field]=\"field\" [control]=\"formGroup()!.get(field.key ?? '')\" [group]=\"formGroup()!\" [eventObs]=\"eventObs\" />\n </div>\n }\n </form>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PrintFieldComponent, selector: "mc-print-field", inputs: ["field", "control", "group", "eventObs"] }] });
245
257
  }
246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCForm, decorators: [{
258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCForm, decorators: [{
247
259
  type: Component,
248
260
  args: [{ selector: 'mc-form', imports: [CommonModule, ReactiveFormsModule, PrintFieldComponent], template: "@if(formGroup()) {\n <form [formGroup]=\"formGroup()!\" class=\"mc-form\">\n @for (field of config().fields; track $index) {\n <div class=\"{{(config().containerFieldClass || 'mb-3')}}\">\n <mc-print-field [field]=\"field\" [control]=\"formGroup()!.get(field.key ?? '')\" [group]=\"formGroup()!\" [eventObs]=\"eventObs\" />\n </div>\n }\n </form>\n}\n" }]
249
261
  }] });
@@ -276,10 +288,10 @@ class MCFormModal {
276
288
  getEventObs() {
277
289
  return this.formComponent().getEventObs();
278
290
  }
279
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCFormModal, deps: [], target: i0.ɵɵFactoryTarget.Component });
280
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1.4", type: MCFormModal, isStandalone: true, selector: "mc-form-modal", viewQueries: [{ propertyName: "formComponent", first: true, predicate: MCForm, descendants: true, isSignal: true }], ngImport: i0, template: "<mc-form [config]=\"formConfig()\" />\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: MCForm, selector: "mc-form", inputs: ["config"], outputs: ["onEvent"] }] });
291
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCFormModal, deps: [], target: i0.ɵɵFactoryTarget.Component });
292
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.13", type: MCFormModal, isStandalone: true, selector: "mc-form-modal", viewQueries: [{ propertyName: "formComponent", first: true, predicate: MCForm, descendants: true, isSignal: true }], ngImport: i0, template: "<mc-form [config]=\"formConfig()\" />\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: MCForm, selector: "mc-form", inputs: ["config"], outputs: ["onEvent"] }] });
281
293
  }
282
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCFormModal, decorators: [{
294
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCFormModal, decorators: [{
283
295
  type: Component,
284
296
  args: [{ selector: 'mc-form-modal', imports: [CommonModule, MCForm], template: "<mc-form [config]=\"formConfig()\" />\n" }]
285
297
  }] });
@@ -332,10 +344,10 @@ class MCFooterModalForm {
332
344
  }
333
345
  });
334
346
  }
335
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCFooterModalForm, deps: [], target: i0.ɵɵFactoryTarget.Component });
336
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: MCFooterModalForm, isStandalone: true, selector: "mc-footer-modal-form", ngImport: i0, template: "<p-button label=\"Cancel\" severity=\"secondary\" (onClick)=\"onClickCancel()\" styleClass=\"mr-3\" />\n@if(group != undefined){\n <p-button label=\"Submit\" severity=\"primary\" (onClick)=\"onClickSubmit()\" icon=\"pi pi-send\" [disabled]=\"!group()?.valid || group()?.disabled\" [loading]=\"isLoading()\" />\n}\n\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
347
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCFooterModalForm, deps: [], target: i0.ɵɵFactoryTarget.Component });
348
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: MCFooterModalForm, isStandalone: true, selector: "mc-footer-modal-form", ngImport: i0, template: "<p-button label=\"Cancel\" severity=\"secondary\" (onClick)=\"onClickCancel()\" styleClass=\"mr-3\" />\n@if(group != undefined){\n <p-button label=\"Submit\" severity=\"primary\" (onClick)=\"onClickSubmit()\" icon=\"pi pi-send\" [disabled]=\"!group()?.valid || group()?.disabled\" [loading]=\"isLoading()\" />\n}\n\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
337
349
  }
338
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCFooterModalForm, decorators: [{
350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCFooterModalForm, decorators: [{
339
351
  type: Component,
340
352
  args: [{ selector: 'mc-footer-modal-form', imports: [CommonModule, ButtonModule], template: "<p-button label=\"Cancel\" severity=\"secondary\" (onClick)=\"onClickCancel()\" styleClass=\"mr-3\" />\n@if(group != undefined){\n <p-button label=\"Submit\" severity=\"primary\" (onClick)=\"onClickSubmit()\" icon=\"pi pi-send\" [disabled]=\"!group()?.valid || group()?.disabled\" [loading]=\"isLoading()\" />\n}\n\n" }]
341
353
  }] });
@@ -350,10 +362,10 @@ class MCFooterWithDeleteModalForm extends MCFooterModalForm {
350
362
  }
351
363
  this.eventObs?.next(event);
352
364
  }
353
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCFooterWithDeleteModalForm, deps: null, target: i0.ɵɵFactoryTarget.Component });
354
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: MCFooterWithDeleteModalForm, isStandalone: true, selector: "mc-footer-with-delete-modal-form", usesInheritance: true, ngImport: i0, template: "<div class=\"flex justify-between\">\n <div >\n <p-button label=\"Delete\" severity=\"danger\" (onClick)=\"onClickDelete()\" styleClass=\"mr-3\" />\n </div>\n <div>\n <p-button label=\"Cancel\" severity=\"secondary\" (onClick)=\"onClickCancel()\" styleClass=\"mr-3\" />\n @if(group != undefined){\n <p-button label=\"Submit\" severity=\"primary\" (onClick)=\"onClickSubmit()\" icon=\"pi pi-send\" [disabled]=\"!group()?.valid || group()?.disabled\" [loading]=\"isLoading()\" />\n }\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
365
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCFooterWithDeleteModalForm, deps: null, target: i0.ɵɵFactoryTarget.Component });
366
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: MCFooterWithDeleteModalForm, isStandalone: true, selector: "mc-footer-with-delete-modal-form", usesInheritance: true, ngImport: i0, template: "<div class=\"flex justify-between\">\n <div >\n <p-button label=\"Delete\" severity=\"danger\" (onClick)=\"onClickDelete()\" styleClass=\"mr-3\" />\n </div>\n <div>\n <p-button label=\"Cancel\" severity=\"secondary\" (onClick)=\"onClickCancel()\" styleClass=\"mr-3\" />\n @if(group != undefined){\n <p-button label=\"Submit\" severity=\"primary\" (onClick)=\"onClickSubmit()\" icon=\"pi pi-send\" [disabled]=\"!group()?.valid || group()?.disabled\" [loading]=\"isLoading()\" />\n }\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
355
367
  }
356
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCFooterWithDeleteModalForm, decorators: [{
368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCFooterWithDeleteModalForm, decorators: [{
357
369
  type: Component,
358
370
  args: [{ selector: 'mc-footer-with-delete-modal-form', imports: [CommonModule, ButtonModule], template: "<div class=\"flex justify-between\">\n <div >\n <p-button label=\"Delete\" severity=\"danger\" (onClick)=\"onClickDelete()\" styleClass=\"mr-3\" />\n </div>\n <div>\n <p-button label=\"Cancel\" severity=\"secondary\" (onClick)=\"onClickCancel()\" styleClass=\"mr-3\" />\n @if(group != undefined){\n <p-button label=\"Submit\" severity=\"primary\" (onClick)=\"onClickSubmit()\" icon=\"pi pi-send\" [disabled]=\"!group()?.valid || group()?.disabled\" [loading]=\"isLoading()\" />\n }\n </div>\n</div>\n" }]
359
371
  }] });
@@ -391,10 +403,10 @@ class MCFormModalService {
391
403
  config.styleClass = config.styleClass ?? 'w-full md:w-2xl mc-form-modal';
392
404
  return config;
393
405
  }
394
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCFormModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
395
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCFormModalService, providedIn: 'root' });
406
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCFormModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
407
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCFormModalService, providedIn: 'root' });
396
408
  }
397
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCFormModalService, decorators: [{
409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCFormModalService, decorators: [{
398
410
  type: Injectable,
399
411
  args: [{
400
412
  providedIn: 'root',
@@ -431,10 +443,10 @@ class MCHttpFormModal extends MCFormModal {
431
443
  }
432
444
  });
433
445
  }
434
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCHttpFormModal, deps: null, target: i0.ɵɵFactoryTarget.Component });
435
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: MCHttpFormModal, isStandalone: true, selector: "mc-http-form-modal", providers: [MessageService], usesInheritance: true, ngImport: i0, template: "<mc-form [config]=\"formConfig()\" />\n<p-toast />\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: MCForm, selector: "mc-form", inputs: ["config"], outputs: ["onEvent"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i1$2.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }] });
446
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCHttpFormModal, deps: null, target: i0.ɵɵFactoryTarget.Component });
447
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: MCHttpFormModal, isStandalone: true, selector: "mc-http-form-modal", providers: [MessageService], usesInheritance: true, ngImport: i0, template: "<mc-form [config]=\"formConfig()\" />\n<p-toast />\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: MCForm, selector: "mc-form", inputs: ["config"], outputs: ["onEvent"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i1$2.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }] });
436
448
  }
437
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCHttpFormModal, decorators: [{
449
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCHttpFormModal, decorators: [{
438
450
  type: Component,
439
451
  args: [{ selector: 'mc-http-form-modal', imports: [CommonModule, MCForm, ToastModule], providers: [MessageService], template: "<mc-form [config]=\"formConfig()\" />\n<p-toast />\n" }]
440
452
  }] });
@@ -459,10 +471,10 @@ class MCHttpFormModalService extends MCFormModalService {
459
471
  openRight(config) {
460
472
  return this.open(MCFormModalService.initConfigRight(config));
461
473
  }
462
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCHttpFormModalService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
463
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCHttpFormModalService, providedIn: 'root' });
474
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCHttpFormModalService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
475
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCHttpFormModalService, providedIn: 'root' });
464
476
  }
465
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCHttpFormModalService, decorators: [{
477
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCHttpFormModalService, decorators: [{
466
478
  type: Injectable,
467
479
  args: [{
468
480
  providedIn: 'root'
@@ -474,10 +486,10 @@ class MCFieldComponent {
474
486
  control = input();
475
487
  group = input.required();
476
488
  eventObs = input();
477
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
478
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.4", type: MCFieldComponent, isStandalone: true, selector: "mc-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null }, group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: true, transformFunction: null }, eventObs: { classPropertyName: "eventObs", publicName: "eventObs", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true });
489
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
490
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.13", type: MCFieldComponent, isStandalone: true, selector: "mc-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null }, group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: true, transformFunction: null }, eventObs: { classPropertyName: "eventObs", publicName: "eventObs", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true });
479
491
  }
480
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: MCFieldComponent, decorators: [{
492
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: MCFieldComponent, decorators: [{
481
493
  type: Component,
482
494
  args: [{
483
495
  selector: 'mc-field',
@@ -486,10 +498,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
486
498
  }] });
487
499
 
488
500
  class IftaTextFieldComponent extends MCFieldComponent {
489
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: IftaTextFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
490
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: IftaTextFieldComponent, isStandalone: true, selector: "mc-ifta-text-field", usesInheritance: true, ngImport: i0, template: "<p-iftalabel>\n <input pInputText id=\"{{field().key}}\" class=\"w-full\" [formControl]=\"control()!\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: IftaLabelModule }, { kind: "component", type: i2.IftaLabel, selector: "p-iftalabel, p-iftaLabel, p-ifta-label" }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }] });
501
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: IftaTextFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
502
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: IftaTextFieldComponent, isStandalone: true, selector: "mc-ifta-text-field", usesInheritance: true, ngImport: i0, template: "<p-iftalabel>\n <input pInputText id=\"{{field().key}}\" class=\"w-full\" [formControl]=\"control()!\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: IftaLabelModule }, { kind: "component", type: i2.IftaLabel, selector: "p-iftalabel, p-iftaLabel, p-ifta-label" }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }] });
491
503
  }
492
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: IftaTextFieldComponent, decorators: [{
504
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: IftaTextFieldComponent, decorators: [{
493
505
  type: Component,
494
506
  args: [{ selector: 'mc-ifta-text-field', imports: [CommonModule, ReactiveFormsModule, IftaLabelModule, InputTextModule], template: "<p-iftalabel>\n <input pInputText id=\"{{field().key}}\" class=\"w-full\" [formControl]=\"control()!\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n" }]
495
507
  }] });
@@ -523,10 +535,10 @@ class SubmitButtonFieldComponent extends MCFieldComponent {
523
535
  this.isLoading.set(true);
524
536
  this.eventObs()?.next(MCEventForm.init(this.field().key ?? 'submit', this.group()?.value));
525
537
  }
526
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: SubmitButtonFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
527
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: SubmitButtonFieldComponent, isStandalone: true, selector: "mc-submit-button-field", usesInheritance: true, ngImport: i0, template: "<div class=\"flex justify-end\">\n <p-button [label]=\"field().config.label\" [disabled]=\"!group().valid || group().disabled\" (onClick)=\"onClick()\" [loading]=\"isLoading()\" [icon]=\"field().config.icon\" />\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
538
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SubmitButtonFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
539
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: SubmitButtonFieldComponent, isStandalone: true, selector: "mc-submit-button-field", usesInheritance: true, ngImport: i0, template: "<div class=\"flex justify-end\">\n <p-button [label]=\"field().config.label\" [disabled]=\"!group().valid || group().disabled\" (onClick)=\"onClick()\" [loading]=\"isLoading()\" [icon]=\"field().config.icon\" />\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
528
540
  }
529
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: SubmitButtonFieldComponent, decorators: [{
541
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: SubmitButtonFieldComponent, decorators: [{
530
542
  type: Component,
531
543
  args: [{ selector: 'mc-submit-button-field', imports: [CommonModule, ButtonModule], template: "<div class=\"flex justify-end\">\n <p-button [label]=\"field().config.label\" [disabled]=\"!group().valid || group().disabled\" (onClick)=\"onClick()\" [loading]=\"isLoading()\" [icon]=\"field().config.icon\" />\n</div>\n" }]
532
544
  }] });
@@ -551,10 +563,10 @@ class GroupFieldComponent extends MCFieldComponent {
551
563
  }
552
564
  return undefined;
553
565
  });
554
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: GroupFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
555
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: GroupFieldComponent, isStandalone: true, selector: "mc-group-field", usesInheritance: true, ngImport: i0, template: "@if(newGroup()) {\n <div [formGroup]=\"newGroup()!\" class=\"mc-group-form\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"newGroup()!.get(field.key ?? '')\" [group]=\"newGroup()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PrintFieldComponent, selector: "mc-print-field", inputs: ["field", "control", "group", "eventObs"] }] });
566
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: GroupFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
567
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: GroupFieldComponent, isStandalone: true, selector: "mc-group-field", usesInheritance: true, ngImport: i0, template: "@if(newGroup()) {\n <div [formGroup]=\"newGroup()!\" class=\"mc-group-form\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"newGroup()!.get(field.key ?? '')\" [group]=\"newGroup()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PrintFieldComponent, selector: "mc-print-field", inputs: ["field", "control", "group", "eventObs"] }] });
556
568
  }
557
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: GroupFieldComponent, decorators: [{
569
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: GroupFieldComponent, decorators: [{
558
570
  type: Component,
559
571
  args: [{ selector: 'mc-group-field', imports: [CommonModule, ReactiveFormsModule, PrintFieldComponent], template: "@if(newGroup()) {\n <div [formGroup]=\"newGroup()!\" class=\"mc-group-form\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"newGroup()!.get(field.key ?? '')\" [group]=\"newGroup()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n}\n" }]
560
572
  }] });
@@ -574,10 +586,10 @@ class GroupField {
574
586
  }
575
587
 
576
588
  class RowFieldComponent extends GroupFieldComponent {
577
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RowFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
578
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: RowFieldComponent, isStandalone: true, selector: "mc-row-field", usesInheritance: true, ngImport: i0, template: "@if(newGroup()) {\n <div [formGroup]=\"newGroup()!\" class=\"mc-row-form flex flex-row gap-3\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"newGroup()!.get(field.key ?? '')\" [group]=\"newGroup()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n} @else {\n <div class=\"mc-row-form flex flex-row gap-3\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"group()!.get(field.key ?? '')\" [group]=\"group()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PrintFieldComponent, selector: "mc-print-field", inputs: ["field", "control", "group", "eventObs"] }] });
589
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: RowFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
590
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: RowFieldComponent, isStandalone: true, selector: "mc-row-field", usesInheritance: true, ngImport: i0, template: "@if(newGroup()) {\n <div [formGroup]=\"newGroup()!\" class=\"mc-row-form flex flex-row gap-3\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"newGroup()!.get(field.key ?? '')\" [group]=\"newGroup()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n} @else {\n <div class=\"mc-row-form flex flex-row gap-3\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"group()!.get(field.key ?? '')\" [group]=\"group()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PrintFieldComponent, selector: "mc-print-field", inputs: ["field", "control", "group", "eventObs"] }] });
579
591
  }
580
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RowFieldComponent, decorators: [{
592
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: RowFieldComponent, decorators: [{
581
593
  type: Component,
582
594
  args: [{ selector: 'mc-row-field', imports: [CommonModule, ReactiveFormsModule, PrintFieldComponent], template: "@if(newGroup()) {\n <div [formGroup]=\"newGroup()!\" class=\"mc-row-form flex flex-row gap-3\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"newGroup()!.get(field.key ?? '')\" [group]=\"newGroup()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n} @else {\n <div class=\"mc-row-form flex flex-row gap-3\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"group()!.get(field.key ?? '')\" [group]=\"group()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n}\n" }]
583
595
  }] });
@@ -594,11 +606,12 @@ class RowField {
594
606
  };
595
607
  return field;
596
608
  }
597
- static init(fields) {
609
+ static init(fields, extra) {
598
610
  let field = MCField.init({
599
611
  component: RowFieldComponent,
600
612
  });
601
613
  field.config = {
614
+ ...extra,
602
615
  has_children: true,
603
616
  fields: fields,
604
617
  is_new_group: false
@@ -608,10 +621,10 @@ class RowField {
608
621
  }
609
622
 
610
623
  class HiddenFieldComponent extends MCFieldComponent {
611
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: HiddenFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
612
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: HiddenFieldComponent, isStandalone: true, selector: "mc-hidden-field", usesInheritance: true, ngImport: i0, template: "", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
624
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: HiddenFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
625
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: HiddenFieldComponent, isStandalone: true, selector: "mc-hidden-field", usesInheritance: true, ngImport: i0, template: "", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
613
626
  }
614
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: HiddenFieldComponent, decorators: [{
627
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: HiddenFieldComponent, decorators: [{
615
628
  type: Component,
616
629
  args: [{ selector: 'mc-hidden-field', imports: [CommonModule], template: "" }]
617
630
  }] });
@@ -625,10 +638,10 @@ class HiddenField {
625
638
  }
626
639
 
627
640
  class IftaSelectFieldComponent extends MCFieldComponent {
628
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: IftaSelectFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
629
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: IftaSelectFieldComponent, isStandalone: true, selector: "mc-ifta-select-field", usesInheritance: true, ngImport: i0, template: "<p-iftalabel>\n <p-select [formControl]=\"control()!\" inputId=\"{{field().key}}\" [options]=\"field().config.options\" [optionLabel]=\"field().config.optionLabel\" [optionValue]=\"field().config.optionValue\" styleClass=\"w-full\" [appendTo]=\"'body'\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: IftaLabelModule }, { kind: "component", type: i2.IftaLabel, selector: "p-iftalabel, p-iftaLabel, p-ifta-label" }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i3$1.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] });
641
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: IftaSelectFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
642
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: IftaSelectFieldComponent, isStandalone: true, selector: "mc-ifta-select-field", usesInheritance: true, ngImport: i0, template: "<p-iftalabel>\n <p-select [formControl]=\"control()!\" inputId=\"{{field().key}}\" [options]=\"field().config.options\" [optionLabel]=\"field().config.optionLabel\" [optionValue]=\"field().config.optionValue\" styleClass=\"w-full\" [appendTo]=\"'body'\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: IftaLabelModule }, { kind: "component", type: i2.IftaLabel, selector: "p-iftalabel, p-iftaLabel, p-ifta-label" }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i3$1.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] });
630
643
  }
631
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: IftaSelectFieldComponent, decorators: [{
644
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: IftaSelectFieldComponent, decorators: [{
632
645
  type: Component,
633
646
  args: [{ selector: 'mc-ifta-select-field', imports: [CommonModule, ReactiveFormsModule, IftaLabelModule, SelectModule], template: "<p-iftalabel>\n <p-select [formControl]=\"control()!\" inputId=\"{{field().key}}\" [options]=\"field().config.options\" [optionLabel]=\"field().config.optionLabel\" [optionValue]=\"field().config.optionValue\" styleClass=\"w-full\" [appendTo]=\"'body'\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n" }]
634
647
  }] });
@@ -677,10 +690,10 @@ class IftaTextConditionalFieldComponent extends MCFieldComponent {
677
690
  this.verifyCondition(value);
678
691
  });
679
692
  }
680
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: IftaTextConditionalFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
681
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: IftaTextConditionalFieldComponent, isStandalone: true, selector: "mc-ifta-text-conditional-field", usesInheritance: true, ngImport: i0, template: "@if(isShow()){\n <p-iftalabel>\n <input pInputText id=\"{{field().key}}\" class=\"w-full\" [formControl]=\"control()!\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n </p-iftalabel>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: IftaLabelModule }, { kind: "component", type: i2.IftaLabel, selector: "p-iftalabel, p-iftaLabel, p-ifta-label" }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }] });
693
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: IftaTextConditionalFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
694
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: IftaTextConditionalFieldComponent, isStandalone: true, selector: "mc-ifta-text-conditional-field", usesInheritance: true, ngImport: i0, template: "@if(isShow()){\n <p-iftalabel>\n <input pInputText id=\"{{field().key}}\" class=\"w-full\" [formControl]=\"control()!\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n </p-iftalabel>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: IftaLabelModule }, { kind: "component", type: i2.IftaLabel, selector: "p-iftalabel, p-iftaLabel, p-ifta-label" }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }] });
682
695
  }
683
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: IftaTextConditionalFieldComponent, decorators: [{
696
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: IftaTextConditionalFieldComponent, decorators: [{
684
697
  type: Component,
685
698
  args: [{ selector: 'mc-ifta-text-conditional-field', imports: [CommonModule, ReactiveFormsModule, IftaLabelModule, InputTextModule], template: "@if(isShow()){\n <p-iftalabel>\n <input pInputText id=\"{{field().key}}\" class=\"w-full\" [formControl]=\"control()!\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n </p-iftalabel>\n}\n" }]
686
699
  }] });
@@ -719,10 +732,10 @@ class IftaSelectObsFieldComponent extends MCFieldComponent {
719
732
  this.isLoading.set(false);
720
733
  });
721
734
  }
722
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: IftaSelectObsFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
723
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: IftaSelectObsFieldComponent, isStandalone: true, selector: "mc-ifta-select-obs-field", usesInheritance: true, ngImport: i0, template: "<p-iftalabel>\n <p-select [formControl]=\"control()!\" inputId=\"{{field().key}}\" [options]=\"options()\" [optionLabel]=\"field().config.optionLabel\" [optionValue]=\"field().config.optionValue\" styleClass=\"w-full\" [appendTo]=\"'body'\" [loading]=\"isLoading()\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n ", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: IftaLabelModule }, { kind: "component", type: i2.IftaLabel, selector: "p-iftalabel, p-iftaLabel, p-ifta-label" }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i3$1.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] });
735
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: IftaSelectObsFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
736
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: IftaSelectObsFieldComponent, isStandalone: true, selector: "mc-ifta-select-obs-field", usesInheritance: true, ngImport: i0, template: "<p-iftalabel>\n <p-select [formControl]=\"control()!\" inputId=\"{{field().key}}\" [options]=\"options()\" [optionLabel]=\"field().config.optionLabel\" [optionValue]=\"field().config.optionValue\" styleClass=\"w-full\" [appendTo]=\"'body'\" [loading]=\"isLoading()\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n ", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: IftaLabelModule }, { kind: "component", type: i2.IftaLabel, selector: "p-iftalabel, p-iftaLabel, p-ifta-label" }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i3$1.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] });
724
737
  }
725
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: IftaSelectObsFieldComponent, decorators: [{
738
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: IftaSelectObsFieldComponent, decorators: [{
726
739
  type: Component,
727
740
  args: [{ selector: 'mc-ifta-select-obs-field', imports: [CommonModule, ReactiveFormsModule, IftaLabelModule, SelectModule], template: "<p-iftalabel>\n <p-select [formControl]=\"control()!\" inputId=\"{{field().key}}\" [options]=\"options()\" [optionLabel]=\"field().config.optionLabel\" [optionValue]=\"field().config.optionValue\" styleClass=\"w-full\" [appendTo]=\"'body'\" [loading]=\"isLoading()\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n " }]
728
741
  }] });
@@ -744,10 +757,10 @@ class IftaSelectObsField {
744
757
  }
745
758
 
746
759
  class DividerFieldComponent extends MCFieldComponent {
747
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: DividerFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
748
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: DividerFieldComponent, isStandalone: true, selector: "mc-divider-field", usesInheritance: true, ngImport: i0, template: "<p-divider align=\"center\"><b>{{field().config.label}}</b></p-divider>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i1$3.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }] });
760
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: DividerFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
761
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: DividerFieldComponent, isStandalone: true, selector: "mc-divider-field", usesInheritance: true, ngImport: i0, template: "<p-divider align=\"center\"><b>{{field().config.label}}</b></p-divider>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i1$3.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }] });
749
762
  }
750
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: DividerFieldComponent, decorators: [{
763
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: DividerFieldComponent, decorators: [{
751
764
  type: Component,
752
765
  args: [{ selector: 'mc-divider-field', imports: [CommonModule, DividerModule], template: "<p-divider align=\"center\"><b>{{field().config.label}}</b></p-divider>" }]
753
766
  }] });
@@ -778,10 +791,10 @@ class ArrayFieldComponent extends MCFieldComponent {
778
791
  let formArray = (this.group().get(this.field().key));
779
792
  formArray.removeAt(index);
780
793
  }
781
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ArrayFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
782
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: ArrayFieldComponent, isStandalone: true, selector: "mc-array-field", usesInheritance: true, ngImport: i0, template: "\n<div class=\"mc-array-form\">\n <div *ngFor=\"let row of formArray().controls; let i = index\">\n\n <p-panel [header]=\"field().config?.labelTitlePanel\" styleClass=\"mb-3\">\n <ng-template #icons>\n <p-button icon=\"pi pi-trash\" severity=\"danger\" rounded text (onClick)=\"onClickRemove(i)\" />\n </ng-template>\n\n <div [formGroup]=\"row\" class=\"mc-array-group-form\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"row.get(field.key ?? '')\" [group]=\"row\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n </p-panel>\n\n </div>\n</div>\n\n<p-button [label]=\"field().config?.labelAddButton ?? 'Add row'\" [link]=\"true\" icon=\"pi pi-plus-circle\" (onClick)=\"onClickAdd()\" />\n\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PrintFieldComponent, selector: "mc-print-field", inputs: ["field", "control", "group", "eventObs"] }, { kind: "ngmodule", type: PanelModule }, { kind: "component", type: i3$2.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions", "toggleButtonProps"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
794
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ArrayFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
795
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: ArrayFieldComponent, isStandalone: true, selector: "mc-array-field", usesInheritance: true, ngImport: i0, template: "\n<div class=\"mc-array-form\">\n <div *ngFor=\"let row of formArray().controls; let i = index\">\n\n <p-panel [header]=\"field().config?.labelTitlePanel\" styleClass=\"mb-3\">\n <ng-template #icons>\n <p-button icon=\"pi pi-trash\" severity=\"danger\" rounded text (onClick)=\"onClickRemove(i)\" />\n </ng-template>\n\n <div [formGroup]=\"row\" class=\"mc-array-group-form\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"row.get(field.key ?? '')\" [group]=\"row\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n </p-panel>\n\n </div>\n</div>\n\n<p-button [label]=\"field().config?.labelAddButton ?? 'Add row'\" [link]=\"true\" icon=\"pi pi-plus-circle\" (onClick)=\"onClickAdd()\" />\n\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PrintFieldComponent, selector: "mc-print-field", inputs: ["field", "control", "group", "eventObs"] }, { kind: "ngmodule", type: PanelModule }, { kind: "component", type: i3$2.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions", "toggleButtonProps"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] });
783
796
  }
784
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ArrayFieldComponent, decorators: [{
797
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ArrayFieldComponent, decorators: [{
785
798
  type: Component,
786
799
  args: [{ selector: 'mc-array-field', imports: [CommonModule, ReactiveFormsModule, PrintFieldComponent, PanelModule, ButtonModule], template: "\n<div class=\"mc-array-form\">\n <div *ngFor=\"let row of formArray().controls; let i = index\">\n\n <p-panel [header]=\"field().config?.labelTitlePanel\" styleClass=\"mb-3\">\n <ng-template #icons>\n <p-button icon=\"pi pi-trash\" severity=\"danger\" rounded text (onClick)=\"onClickRemove(i)\" />\n </ng-template>\n\n <div [formGroup]=\"row\" class=\"mc-array-group-form\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"row.get(field.key ?? '')\" [group]=\"row\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n </p-panel>\n\n </div>\n</div>\n\n<p-button [label]=\"field().config?.labelAddButton ?? 'Add row'\" [link]=\"true\" icon=\"pi pi-plus-circle\" (onClick)=\"onClickAdd()\" />\n\n" }]
787
800
  }] });
@@ -802,10 +815,10 @@ class ArrayField {
802
815
  }
803
816
 
804
817
  class IftaTextareaFieldComponent extends MCFieldComponent {
805
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: IftaTextareaFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
806
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: IftaTextareaFieldComponent, isStandalone: true, selector: "mc-ifta-textarea-field", usesInheritance: true, ngImport: i0, template: "<p-iftalabel>\n <textarea pTextarea id=\"{{field().key}}\" rows=\"5\" cols=\"30\" style=\"resize: none\" class=\"w-full\" [formControl]=\"control()!\"></textarea>\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: IftaLabelModule }, { kind: "component", type: i2.IftaLabel, selector: "p-iftalabel, p-iftaLabel, p-ifta-label" }, { kind: "ngmodule", type: TextareaModule }, { kind: "directive", type: i3$3.Textarea, selector: "[pTextarea]", inputs: ["autoResize", "variant", "fluid", "pSize"], outputs: ["onResize"] }] });
818
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: IftaTextareaFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
819
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: IftaTextareaFieldComponent, isStandalone: true, selector: "mc-ifta-textarea-field", usesInheritance: true, ngImport: i0, template: "<p-iftalabel>\n <textarea pTextarea id=\"{{field().key}}\" rows=\"5\" cols=\"30\" style=\"resize: none\" class=\"w-full\" [formControl]=\"control()!\"></textarea>\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: IftaLabelModule }, { kind: "component", type: i2.IftaLabel, selector: "p-iftalabel, p-iftaLabel, p-ifta-label" }, { kind: "ngmodule", type: TextareaModule }, { kind: "directive", type: i3$3.Textarea, selector: "[pTextarea], [pInputTextarea]", inputs: ["autoResize", "variant", "fluid", "pSize"], outputs: ["onResize"] }] });
807
820
  }
808
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: IftaTextareaFieldComponent, decorators: [{
821
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: IftaTextareaFieldComponent, decorators: [{
809
822
  type: Component,
810
823
  args: [{ selector: 'mc-ifta-textarea-field', imports: [CommonModule, ReactiveFormsModule, IftaLabelModule, TextareaModule], template: "<p-iftalabel>\n <textarea pTextarea id=\"{{field().key}}\" rows=\"5\" cols=\"30\" style=\"resize: none\" class=\"w-full\" [formControl]=\"control()!\"></textarea>\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n" }]
811
824
  }] });
@@ -858,10 +871,10 @@ class ConditionalFieldComponent extends MCFieldComponent {
858
871
  this.verifyCondition(value);
859
872
  });
860
873
  }
861
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ConditionalFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
862
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: ConditionalFieldComponent, isStandalone: true, selector: "mc-conditional-field", usesInheritance: true, ngImport: i0, template: "@if(isShow()){\n @for (field of field().config.fields; track $index) {\n <mc-print-field [field]=\"field\" [control]=\"group()!.get(field.key ?? '')\" [group]=\"group()!\" [eventObs]=\"eventObs()\" />\n }\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: PrintFieldComponent, selector: "mc-print-field", inputs: ["field", "control", "group", "eventObs"] }] });
874
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ConditionalFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
875
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: ConditionalFieldComponent, isStandalone: true, selector: "mc-conditional-field", usesInheritance: true, ngImport: i0, template: "@if(isShow()){\n @for (field of field().config.fields; track $index) {\n <mc-print-field [field]=\"field\" [control]=\"group()!.get(field.key ?? '')\" [group]=\"group()!\" [eventObs]=\"eventObs()\" />\n }\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: PrintFieldComponent, selector: "mc-print-field", inputs: ["field", "control", "group", "eventObs"] }] });
863
876
  }
864
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ConditionalFieldComponent, decorators: [{
877
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ConditionalFieldComponent, decorators: [{
865
878
  type: Component,
866
879
  args: [{ selector: 'mc-conditional-field', imports: [CommonModule, ReactiveFormsModule, PrintFieldComponent], template: "@if(isShow()){\n @for (field of field().config.fields; track $index) {\n <mc-print-field [field]=\"field\" [control]=\"group()!.get(field.key ?? '')\" [group]=\"group()!\" [eventObs]=\"eventObs()\" />\n }\n}\n" }]
867
880
  }] });
@@ -895,10 +908,10 @@ class ArrayIftaTextFieldComponent extends MCFieldComponent {
895
908
  let formArray = (this.group().get(this.field().key));
896
909
  formArray.removeAt(index);
897
910
  }
898
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ArrayIftaTextFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
899
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: ArrayIftaTextFieldComponent, isStandalone: true, selector: "mc-array-ifta-text-field", usesInheritance: true, ngImport: i0, template: "\n<div class=\"mc-array-text-form\">\n <div *ngFor=\"let row of formArray().controls; let i = index\">\n\n <div class=\"flex flex-row justify-between mc-array-group-form\">\n <p-iftalabel class=\"mb-3 w-full\">\n <input pInputText id=\"{{field().key}}_{{i}}\" class=\"w-full\" [formControl]=\"row\" />\n <label for=\"{{field().key}}_{{i}}\">Param {{(i+1)}}</label>\n </p-iftalabel>\n\n <p-button icon=\"pi pi-trash\" severity=\"danger\" rounded text (onClick)=\"onClickRemove(i)\" styleClass=\"ml-3\" />\n </div>\n\n </div>\n</div>\n\n<p-button [label]=\"field().config?.labelAddButton ?? 'Add row'\" [link]=\"true\" icon=\"pi pi-plus-circle\" (onClick)=\"onClickAdd()\" />\n\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: PanelModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: IftaLabelModule }, { kind: "component", type: i2.IftaLabel, selector: "p-iftalabel, p-iftaLabel, p-ifta-label" }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }] });
911
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ArrayIftaTextFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
912
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.13", type: ArrayIftaTextFieldComponent, isStandalone: true, selector: "mc-array-ifta-text-field", usesInheritance: true, ngImport: i0, template: "\n<div class=\"mc-array-text-form\">\n <div *ngFor=\"let row of formArray().controls; let i = index\">\n\n <div class=\"flex flex-row justify-between mc-array-group-form\">\n <p-iftalabel class=\"mb-3 w-full\">\n <input pInputText id=\"{{field().key}}_{{i}}\" class=\"w-full\" [formControl]=\"row\" />\n <label for=\"{{field().key}}_{{i}}\">Param {{(i+1)}}</label>\n </p-iftalabel>\n\n <p-button icon=\"pi pi-trash\" severity=\"danger\" rounded text (onClick)=\"onClickRemove(i)\" styleClass=\"ml-3\" />\n </div>\n\n </div>\n</div>\n\n<p-button [label]=\"field().config?.labelAddButton ?? 'Add row'\" [link]=\"true\" icon=\"pi pi-plus-circle\" (onClick)=\"onClickAdd()\" />\n\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: PanelModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: IftaLabelModule }, { kind: "component", type: i2.IftaLabel, selector: "p-iftalabel, p-iftaLabel, p-ifta-label" }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }] });
900
913
  }
901
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ArrayIftaTextFieldComponent, decorators: [{
914
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ArrayIftaTextFieldComponent, decorators: [{
902
915
  type: Component,
903
916
  args: [{ selector: 'mc-array-ifta-text-field', imports: [CommonModule, ReactiveFormsModule, PanelModule, ButtonModule, IftaLabelModule, InputTextModule], template: "\n<div class=\"mc-array-text-form\">\n <div *ngFor=\"let row of formArray().controls; let i = index\">\n\n <div class=\"flex flex-row justify-between mc-array-group-form\">\n <p-iftalabel class=\"mb-3 w-full\">\n <input pInputText id=\"{{field().key}}_{{i}}\" class=\"w-full\" [formControl]=\"row\" />\n <label for=\"{{field().key}}_{{i}}\">Param {{(i+1)}}</label>\n </p-iftalabel>\n\n <p-button icon=\"pi pi-trash\" severity=\"danger\" rounded text (onClick)=\"onClickRemove(i)\" styleClass=\"ml-3\" />\n </div>\n\n </div>\n</div>\n\n<p-button [label]=\"field().config?.labelAddButton ?? 'Add row'\" [link]=\"true\" icon=\"pi pi-plus-circle\" (onClick)=\"onClickAdd()\" />\n\n" }]
904
917
  }] });
@@ -917,6 +930,29 @@ class ArrayIftaTextField {
917
930
  }
918
931
  }
919
932
 
933
+ class ColumnFieldComponent extends MCFieldComponent {
934
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ColumnFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
935
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: ColumnFieldComponent, isStandalone: true, selector: "mc-column-field", usesInheritance: true, ngImport: i0, template: "<div class=\"mc-column-form\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"group()!.get(field.key ?? '')\" [group]=\"group()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: PrintFieldComponent, selector: "mc-print-field", inputs: ["field", "control", "group", "eventObs"] }] });
936
+ }
937
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ColumnFieldComponent, decorators: [{
938
+ type: Component,
939
+ args: [{ selector: 'mc-column-field', imports: [CommonModule, ReactiveFormsModule, PrintFieldComponent], template: "<div class=\"mc-column-form\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"group()!.get(field.key ?? '')\" [group]=\"group()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n</div>" }]
940
+ }] });
941
+ class ColumnField {
942
+ static init(fields, extra) {
943
+ let field = MCField.init({
944
+ component: ColumnFieldComponent,
945
+ });
946
+ field.config = {
947
+ ...extra,
948
+ has_children: true,
949
+ fields: fields,
950
+ is_new_group: false
951
+ };
952
+ return field;
953
+ }
954
+ }
955
+
920
956
  /*
921
957
  * Public API Surface of form
922
958
  */
@@ -928,5 +964,5 @@ class ArrayIftaTextField {
928
964
  * Generated bundle index. Do not edit.
929
965
  */
930
966
 
931
- export { ArrayField, ArrayFieldComponent, ArrayIftaTextField, ArrayIftaTextFieldComponent, ConditionalField, ConditionalFieldComponent, DividerField, DividerFieldComponent, GroupField, GroupFieldComponent, HiddenField, HiddenFieldComponent, IftaSelectField, IftaSelectFieldComponent, IftaSelectObsField, IftaSelectObsFieldComponent, IftaTextConditionalField, IftaTextConditionalFieldComponent, IftaTextField, IftaTextFieldComponent, IftaTextareaField, IftaTextareaFieldComponent, MCConfigForm, MCConfigHttpModalForm, MCConfigModalForm, MCEventForm, MCEventModalForm, MCField, MCFieldComponent, MCForm, MCFormModal, MCFormModalService, MCFormService, MCHttpFormModal, MCHttpFormModalService, MCIftaField, PrintFieldComponent, RowField, RowFieldComponent, SubmitButtonField, SubmitButtonFieldComponent };
967
+ export { ArrayField, ArrayFieldComponent, ArrayIftaTextField, ArrayIftaTextFieldComponent, ColumnField, ColumnFieldComponent, ConditionalField, ConditionalFieldComponent, DividerField, DividerFieldComponent, GroupField, GroupFieldComponent, HiddenField, HiddenFieldComponent, IftaSelectField, IftaSelectFieldComponent, IftaSelectObsField, IftaSelectObsFieldComponent, IftaTextConditionalField, IftaTextConditionalFieldComponent, IftaTextField, IftaTextFieldComponent, IftaTextareaField, IftaTextareaFieldComponent, MCConfigForm, MCConfigHttpModalForm, MCConfigModalForm, MCEventForm, MCEventModalForm, MCField, MCFieldComponent, MCForm, MCFormModal, MCFormModalService, MCFormService, MCHttpFormModal, MCHttpFormModalService, MCIftaField, PrintFieldComponent, RowField, RowFieldComponent, SubmitButtonField, SubmitButtonFieldComponent, mcEventFormOperator, mcSavedEventFormOperator };
932
968
  //# sourceMappingURL=mckit-form.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"mckit-form.mjs","sources":["../../../../projects/mckit/form/src/lib/entities/mc-field.ts","../../../../projects/mckit/form/src/lib/entities/mc-ifta-field.ts","../../../../projects/mckit/form/src/lib/entities/mc-config-form.ts","../../../../projects/mckit/form/src/lib/entities/mc-event-form.ts","../../../../projects/mckit/form/src/lib/entities/mc-config-modal-form.ts","../../../../projects/mckit/form/src/lib/entities/mc-config-http-modal-form.ts","../../../../projects/mckit/form/src/lib/services/mc-form.service.ts","../../../../projects/mckit/form/src/lib/components/print-field/print-field.component.ts","../../../../projects/mckit/form/src/lib/components/form/form.component.ts","../../../../projects/mckit/form/src/lib/components/form/form.component.html","../../../../projects/mckit/form/src/lib/components/form-modal/form-modal.component.ts","../../../../projects/mckit/form/src/lib/components/form-modal/form-modal.component.html","../../../../projects/mckit/form/src/lib/components/footer-modal-form/footer-modal-form.component.ts","../../../../projects/mckit/form/src/lib/components/footer-modal-form/footer-modal-form.component.html","../../../../projects/mckit/form/src/lib/components/footer-with-delete-modal-form/footer-with-delete-modal-form.component.ts","../../../../projects/mckit/form/src/lib/components/footer-with-delete-modal-form/footer-with-delete-modal-form.component.html","../../../../projects/mckit/form/src/lib/services/form-modal.service.ts","../../../../projects/mckit/form/src/lib/components/http-form-modal/http-form-modal.component.ts","../../../../projects/mckit/form/src/lib/components/http-form-modal/http-form-modal.component.html","../../../../projects/mckit/form/src/lib/services/http-form-modal.service.ts","../../../../projects/mckit/form/src/lib/fields/mc-field.component.ts","../../../../projects/mckit/form/src/lib/fields/ifta-text-field/ifta-text-field.component.ts","../../../../projects/mckit/form/src/lib/fields/ifta-text-field/ifta-text-field.component.html","../../../../projects/mckit/form/src/lib/fields/submit-button-field/submit-button-field.component.ts","../../../../projects/mckit/form/src/lib/fields/submit-button-field/submit-button-field.component.html","../../../../projects/mckit/form/src/lib/fields/group-field/group-field.component.ts","../../../../projects/mckit/form/src/lib/fields/group-field/group-field.component.html","../../../../projects/mckit/form/src/lib/fields/row-field/row-field.component.ts","../../../../projects/mckit/form/src/lib/fields/row-field/row-field.component.html","../../../../projects/mckit/form/src/lib/fields/hidden-field/hidden-field.component.ts","../../../../projects/mckit/form/src/lib/fields/hidden-field/hidden-field.component.html","../../../../projects/mckit/form/src/lib/fields/ifta-select-field/ifta-select-field.component.ts","../../../../projects/mckit/form/src/lib/fields/ifta-select-field/ifta-select-field.component.html","../../../../projects/mckit/form/src/lib/fields/ifta-text-conditional-field/ifta-text-conditional-field.component.ts","../../../../projects/mckit/form/src/lib/fields/ifta-text-conditional-field/ifta-text-conditional-field.component.html","../../../../projects/mckit/form/src/lib/fields/ifta-select-obs-field/ifta-select-obs-field.component.ts","../../../../projects/mckit/form/src/lib/fields/ifta-select-obs-field/ifta-select-obs-field.component.html","../../../../projects/mckit/form/src/lib/fields/divider-field/divider-field.component.ts","../../../../projects/mckit/form/src/lib/fields/divider-field/divider-field.component.html","../../../../projects/mckit/form/src/lib/fields/array-field/array-field.component.ts","../../../../projects/mckit/form/src/lib/fields/array-field/array-field.component.html","../../../../projects/mckit/form/src/lib/fields/ifta-textarea-field/ifta-textarea-field.component.ts","../../../../projects/mckit/form/src/lib/fields/ifta-textarea-field/ifta-textarea-field.component.html","../../../../projects/mckit/form/src/lib/fields/conditional-field/conditional-field.component.ts","../../../../projects/mckit/form/src/lib/fields/conditional-field/conditional-field.component.html","../../../../projects/mckit/form/src/lib/fields/array-ifta-text-field/array-ifta-text-field.component.ts","../../../../projects/mckit/form/src/lib/fields/array-ifta-text-field/array-ifta-text-field.component.html","../../../../projects/mckit/form/src/public-api.ts","../../../../projects/mckit/form/src/mckit-form.ts"],"sourcesContent":["import { ValidatorFn } from \"@angular/forms\";\n\nexport class MCField {\n key?: string;\n component: any;\n\n config?: any\n\n static initCustom(key: string, component: any, config: any): MCField {\n let field = new MCField();\n field.key = key;\n field.component = component;\n field.config = config;\n return field;\n }\n\n static init(data: {\n key?: string,\n component: any,\n validators?: ValidatorFn[],\n default_value?: any,\n disabled?: boolean,\n no_control?: boolean\n }): MCField {\n let field = new MCField();\n field.key = data.key;\n field.component = data.component;\n field.config = {\n validators: data.validators,\n default_value: data.default_value,\n disabled: data.disabled,\n no_control: data.no_control\n };\n return field;\n }\n}\n","import { ValidatorFn } from \"@angular/forms\";\nimport { MCField } from \"./mc-field\";\n\nexport class MCIftaField {\n\n static init(data: {\n key?: string,\n component: any,\n label: string,\n validators?: ValidatorFn[],\n default_value?: any,\n disabled?: boolean,\n no_control?: boolean\n }): MCField {\n let field = new MCField();\n field.key = data.key;\n field.component = data.component;\n field.config = {\n label: data.label,\n validators: data.validators,\n default_value: data.default_value,\n disabled: data.disabled,\n no_control: data.no_control\n };\n return field;\n }\n\n}\n","import { MCField } from \"./mc-field\";\n\nexport class MCConfigForm {\n fields: MCField[] = [];\n\n item: any;\n\n containerFieldClass?: string;\n}\n","export class MCEventForm {\n key!: string;\n content: any;\n\n static init(key: string, content?: any): MCEventForm {\n let eventForm = new MCEventForm();\n eventForm.key = key;\n eventForm.content = content;\n return eventForm;\n }\n}\n","import { MCConfigForm } from \"./mc-config-form\";\n\nexport class MCConfigModalForm extends MCConfigForm {\n title?: string;\n position?: string;\n styleClass?: string;\n style?: any;\n}\n","import { Observable } from \"rxjs\";\nimport { MCConfigModalForm } from \"./mc-config-modal-form\";\n\nexport class MCConfigHttpModalForm extends MCConfigModalForm {\n http!: (item: any) => Observable<any>;\n}\n","import { Injectable } from '@angular/core';\nimport { FormArray, FormControl, UntypedFormArray, UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { MCField } from '../entities/mc-field';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MCFormService {\n\n createControl(field: MCField): UntypedFormControl {\n let input = new UntypedFormControl();\n if(field.config.validators){\n input.setValidators(field.config.validators);\n }\n if(field.config.default){\n input.setValue(field.config.default);\n }\n if(field.config.disabled){\n input.disable();\n }\n\n return input;\n }\n\n createArrayControl(field: MCField): UntypedFormArray {\n let array = new UntypedFormArray([]);\n return array;\n }\n\n createArrayStringControl(field: MCField): FormArray<FormControl<string|null>> {\n let array = new FormArray<FormControl<string|null>>([]);\n return array;\n }\n\n loadFieldsInArray(group: UntypedFormGroup, field: MCField, item: any) {\n let fieldKey = field.key ?? 'rows';\n let subitem = item && item[fieldKey] ? item[fieldKey] : undefined;\n let array = this.createArrayControl(field);\n group.addControl(fieldKey, array);\n\n if(subitem && Array.isArray(subitem)){\n for(let i = 0; i < subitem.length; i++){\n let newGroup = new UntypedFormGroup({});\n this.loadFields(newGroup, field.config.fields, subitem[i]);\n array.push(newGroup);\n }\n }\n }\n\n loadFieldsInArrayString(group: UntypedFormGroup, field: MCField, item: any) {\n let fieldKey = field.key ?? 'rows';\n let subitem = item && item[fieldKey] ? item[fieldKey] : undefined;\n let array = this.createArrayStringControl(field);\n group.addControl(fieldKey, array);\n\n if(subitem && Array.isArray(subitem)){\n for(let i = 0; i < subitem.length; i++){\n let newControl = new FormControl<string|null>(subitem[i]);\n array.push(newControl);\n }\n }\n }\n\n loadFieldsInNewGroup(group: UntypedFormGroup, fields: MCField[], key: string, item: any) {\n let newGroup = new UntypedFormGroup({});\n this.loadFields(newGroup, fields, item);\n group.addControl(key, newGroup);\n }\n\n loadFieldsWithChildren(group: UntypedFormGroup, field: MCField, item: any) {\n if(field.config?.is_new_group){\n let fieldKey = field.key ?? 'row';\n let subitem = item && item[fieldKey] ? item[fieldKey] : undefined;\n this.loadFieldsInNewGroup(group, field.config.fields, fieldKey, subitem);\n } else {\n this.loadFields(group, field.config.fields, item);\n }\n }\n\n loadFields(group: UntypedFormGroup, fields: MCField[], item: any) {\n for (const field of fields) {\n if(field.config.is_array){\n this.loadFieldsInArray(group, field, item);\n continue;\n }\n if(field.config.is_array_string){\n this.loadFieldsInArrayString(group, field, item);\n continue;\n }\n if(field.config?.has_children){\n this.loadFieldsWithChildren(group, field, item);\n continue;\n }\n if(field.key == undefined || field.key == '' || field.config?.no_control) {\n continue;\n }\n\n group.addControl(field.key, this.createControl(field));\n\n if(item && item[field.key] != undefined){\n group.get(field.key)?.setValue(item[field.key]);\n } else if (field.config?.default_value != undefined) {\n group.get(field.key)?.setValue(field.config.default_value);\n }\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, inject, input, OnInit, ViewContainerRef } from '@angular/core';\nimport { MCField } from '../../entities/mc-field';\nimport { AbstractControl, ReactiveFormsModule, UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { MCEventForm } from '../../entities/mc-event-form';\n\n@Component({\n selector: 'mc-print-field',\n imports: [CommonModule, ReactiveFormsModule],\n template: '',\n styleUrl: './print-field.component.css'\n})\nexport class PrintFieldComponent implements OnInit {\n\n field = input.required<MCField>();\n control = input<AbstractControl|null>();\n group = input<UntypedFormGroup>();\n eventObs = input<Subject<MCEventForm>>();\n\n viewContainerRef = inject(ViewContainerRef);\n\n ngOnInit(): void {\n const view = this.viewContainerRef.createComponent(this.field().component);\n view.setInput('field', this.field());\n view.setInput('control', this.control());\n view.setInput('group', this.group());\n view.setInput('eventObs', this.eventObs());\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, inject, input, OnInit, output, signal } from '@angular/core';\nimport { MCConfigForm } from '../../entities/mc-config-form';\nimport { PrintFieldComponent } from '../print-field/print-field.component';\nimport { ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { MCFormService } from '../../services/mc-form.service';\nimport { MCEventForm } from '../../entities/mc-event-form';\nimport { Subject, Subscription } from 'rxjs';\n\n@Component({\n selector: 'mc-form',\n imports: [CommonModule, ReactiveFormsModule, PrintFieldComponent],\n templateUrl: './form.component.html',\n styleUrl: './form.component.scss'\n})\nexport class MCForm implements OnInit {\n config = input.required<MCConfigForm>();\n\n formGroup = signal<UntypedFormGroup|undefined>(undefined);\n\n formService = inject(MCFormService);\n\n onEvent = output<MCEventForm>();\n eventObs = new Subject<MCEventForm>();\n eventSubscription?: Subscription;\n\n ngOnInit(): void {\n this.eventSubscription = this.eventObs.subscribe(event => {\n this.emitEvent(event);\n });\n this.loadFields();\n }\n\n ngOnDestroy(): void {\n this.eventSubscription?.unsubscribe();\n }\n\n emitEvent(event: MCEventForm) {\n this.onEvent.emit(event);\n }\n\n loadFields() {\n let group = new UntypedFormGroup({});\n let fields = this.config().fields ?? [];\n this.formService.loadFields(group, fields, this.config().item);\n this.formGroup.set(group);\n }\n\n getEventObs(): Subject<MCEventForm> {\n return this.eventObs;\n }\n}\n","@if(formGroup()) {\n <form [formGroup]=\"formGroup()!\" class=\"mc-form\">\n @for (field of config().fields; track $index) {\n <div class=\"{{(config().containerFieldClass || 'mb-3')}}\">\n <mc-print-field [field]=\"field\" [control]=\"formGroup()!.get(field.key ?? '')\" [group]=\"formGroup()!\" [eventObs]=\"eventObs\" />\n </div>\n }\n </form>\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, inject, OnInit, signal, viewChild } from '@angular/core';\nimport { MCForm } from '../form/form.component';\nimport { DialogService, DynamicDialogComponent, DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { MCConfigForm } from '../../entities/mc-config-form';\nimport { MCEventForm } from '../../entities/mc-event-form';\nimport { Subject } from 'rxjs';\nimport { UntypedFormGroup } from '@angular/forms';\n\nexport class MCEventModalForm extends MCEventForm {\n dialog?: DynamicDialogRef;\n}\n\n@Component({\n selector: 'mc-form-modal',\n imports: [CommonModule, MCForm],\n templateUrl: './form-modal.component.html',\n styleUrl: './form-modal.component.css'\n})\nexport class MCFormModal implements OnInit {\n\n formComponent = viewChild(MCForm);\n\n dialogService = inject(DialogService);\n dialogRef = inject(DynamicDialogRef);\n\n formConfig = signal<MCConfigForm>(new MCConfigForm());\n\n ngOnInit(): void {\n this.initForm();\n }\n\n emitEvent(event: MCEventModalForm) {\n this.formComponent()!.getEventObs().next(event);\n }\n\n initForm() {\n let instance: DynamicDialogComponent = this.dialogService.getInstance(this.dialogRef);\n if(instance.data == undefined){\n this.dialogRef.close();\n return;\n }\n\n this.formConfig.set(instance.data);\n }\n\n getFormGroup(): UntypedFormGroup|undefined {\n return this.formComponent()?.formGroup();\n }\n\n getEventObs(): Subject<MCEventModalForm> {\n return this.formComponent()!.getEventObs();\n }\n}\n","<mc-form [config]=\"formConfig()\" />\n","import { Component, inject, OnDestroy, OnInit, signal, WritableSignal } from '@angular/core';\nimport { DialogService, DynamicDialogComponent, DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { MCEventModalForm, MCFormModal } from '../form-modal/form-modal.component';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule } from 'primeng/button';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { Subject, Subscription, take } from 'rxjs';\n\n@Component({\n selector: 'mc-footer-modal-form',\n imports: [CommonModule, ButtonModule],\n templateUrl: './footer-modal-form.component.html',\n styleUrl: './footer-modal-form.component.css'\n})\nexport class MCFooterModalForm implements OnInit, OnDestroy {\n\n dialogService = inject(DialogService);\n dialogRef = inject(DynamicDialogRef<MCFormModal>);\n\n isLoading = signal<boolean>(false);\n\n group?: WritableSignal<UntypedFormGroup|undefined>;\n\n eventObs?: Subject<MCEventModalForm>;\n\n eventSubscription?: Subscription;\n\n ngOnInit(): void {\n this.initConfig();\n }\n\n ngOnDestroy(): void {\n this.eventSubscription?.unsubscribe();\n }\n\n onClickCancel() {\n this.eventObs?.next(MCEventModalForm.init('close'));\n this.dialogRef.close();\n }\n\n onClickSubmit() {\n this.isLoading.set(true);\n\n let event = new MCEventModalForm();\n event.key = 'submit';\n event.dialog = this.dialogRef;\n if(this.group != undefined){\n event.content = this.group()?.value;\n }\n\n this.eventObs?.next(event);\n }\n\n initConfig() {\n let instance: DynamicDialogComponent = this.dialogService.getInstance(this.dialogRef);\n if(instance.data == undefined){\n this.dialogRef.close();\n return;\n }\n\n this.dialogRef.onChildComponentLoaded\n .pipe(take(1))\n .subscribe((comp) => {\n this.group = comp.formComponent()?.formGroup;\n this.eventObs = comp.getEventObs();\n this.initObs();\n });\n }\n\n initObs() {\n this.eventSubscription = this.eventObs?.subscribe(event => {\n if(event.key == 'stop-loading') {\n this.isLoading.set(false);\n }\n });\n }\n}\n","<p-button label=\"Cancel\" severity=\"secondary\" (onClick)=\"onClickCancel()\" styleClass=\"mr-3\" />\n@if(group != undefined){\n <p-button label=\"Submit\" severity=\"primary\" (onClick)=\"onClickSubmit()\" icon=\"pi pi-send\" [disabled]=\"!group()?.valid || group()?.disabled\" [loading]=\"isLoading()\" />\n}\n\n","import { Component } from '@angular/core';\nimport { MCFooterModalForm } from '../footer-modal-form/footer-modal-form.component';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule } from 'primeng/button';\nimport { MCEventModalForm } from '../form-modal/form-modal.component';\n\n@Component({\n selector: 'mc-footer-with-delete-modal-form',\n imports: [CommonModule, ButtonModule],\n templateUrl: './footer-with-delete-modal-form.component.html',\n styleUrl: './footer-with-delete-modal-form.component.css'\n})\nexport class MCFooterWithDeleteModalForm extends MCFooterModalForm {\n\n onClickDelete() {\n let event = new MCEventModalForm();\n event.key = 'delete';\n event.dialog = this.dialogRef;\n if(this.group != undefined){\n event.content = this.group()?.value;\n }\n\n this.eventObs?.next(event);\n }\n\n}\n","<div class=\"flex justify-between\">\n <div >\n <p-button label=\"Delete\" severity=\"danger\" (onClick)=\"onClickDelete()\" styleClass=\"mr-3\" />\n </div>\n <div>\n <p-button label=\"Cancel\" severity=\"secondary\" (onClick)=\"onClickCancel()\" styleClass=\"mr-3\" />\n @if(group != undefined){\n <p-button label=\"Submit\" severity=\"primary\" (onClick)=\"onClickSubmit()\" icon=\"pi pi-send\" [disabled]=\"!group()?.valid || group()?.disabled\" [loading]=\"isLoading()\" />\n }\n </div>\n</div>\n","import { inject, Injectable } from '@angular/core';\nimport { DialogService, DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { MCConfigForm } from '../entities/mc-config-form';\nimport { MCFormModal } from '../components/form-modal/form-modal.component';\nimport { MCFooterModalForm } from '../components/footer-modal-form/footer-modal-form.component';\nimport { Observable } from 'rxjs';\nimport { MCConfigModalForm } from '../entities/mc-config-modal-form';\nimport { MCFooterWithDeleteModalForm } from '../components/footer-with-delete-modal-form/footer-with-delete-modal-form.component';\n\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MCFormModalService {\n\n dialogService = inject(DialogService);\n\n open(config: MCConfigModalForm, withDelete?: boolean): Observable<MCFormModal> {\n let dialog: DynamicDialogRef<MCFormModal> = this.dialogService.open(MCFormModal, {\n header: config.title,\n style: config.style,\n styleClass: config.styleClass,\n closable: true,\n dismissableMask: true,\n duplicate: true,\n position: config.position,\n templates: {\n footer: withDelete ? MCFooterWithDeleteModalForm : MCFooterModalForm\n },\n data: config\n });\n\n return dialog.onChildComponentLoaded;\n }\n\n openRight(config: MCConfigModalForm, withDelete?: boolean): Observable<MCFormModal> {\n return this.open(MCFormModalService.initConfigRight(config), withDelete);\n }\n\n openRightWithDelete(config: MCConfigModalForm): Observable<MCFormModal> {\n return this.openRight(config, true);\n }\n\n openWithDelete(config: MCConfigModalForm) {\n return this.open(config, true);\n }\n\n static initConfigRight(config: any): any {\n config.position = config.position ?? 'right';\n config.style = config.style ?? { margin: '0px !important', 'max-height': '100%' };\n config.styleClass = config.styleClass ?? 'w-full md:w-2xl mc-form-modal';\n return config;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { AfterViewInit, Component, inject, OnDestroy, OnInit, signal } from '@angular/core';\nimport { MCForm } from '../form/form.component';\nimport { MCFormModal } from '../form-modal/form-modal.component';\nimport { MCConfigHttpModalForm } from '../../entities/mc-config-http-modal-form';\nimport { catchError, Subscription, take } from 'rxjs';\nimport { ToastModule } from 'primeng/toast';\nimport { MessageService } from 'primeng/api';\n\n@Component({\n selector: 'mc-http-form-modal',\n imports: [CommonModule, MCForm, ToastModule],\n providers: [MessageService],\n templateUrl: './http-form-modal.component.html',\n styleUrl: './http-form-modal.component.css'\n})\nexport class MCHttpFormModal extends MCFormModal implements OnInit, AfterViewInit, OnDestroy {\n\n messageService = inject(MessageService);\n\n override formConfig = signal<MCConfigHttpModalForm>(new MCConfigHttpModalForm());\n\n httpSubscription?: Subscription;\n\n ngAfterViewInit(): void {\n this.initEvents();\n }\n\n onSendRequest(item: any) {\n this.httpSubscription?.unsubscribe();\n\n this.httpSubscription = this.formConfig().http(item)\n .pipe(\n catchError((error: any) => {\n this.emitEvent({ key: 'stop-loading', content: undefined, dialog: this.dialogRef });\n this.messageService.add({ severity: 'error', summary: 'An error has occurred.', detail: error?.error?.message || error?.message?.message || error?.message || 'Unknown error', life: 3000 });\n throw error;\n })\n )\n .subscribe(resp => {\n this.emitEvent({ key: 'saved', content: resp, dialog: this.dialogRef });\n this.dialogRef.close();\n });\n }\n\n ngOnDestroy(): void {\n this.httpSubscription?.unsubscribe();\n }\n\n initEvents() {\n this.formComponent()!.getEventObs().subscribe(event => {\n if(event.key == 'submit'){\n this.onSendRequest(event.content);\n }\n });\n }\n}\n","<mc-form [config]=\"formConfig()\" />\n<p-toast />\n","import { inject, Injectable } from '@angular/core';\nimport { DialogService, DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { Observable } from 'rxjs';\nimport { MCFooterModalForm } from '../components/footer-modal-form/footer-modal-form.component';\nimport { MCHttpFormModal } from '../components/http-form-modal/http-form-modal.component';\nimport { MCConfigHttpModalForm } from '../entities/mc-config-http-modal-form';\nimport { MCFormModalService } from './form-modal.service';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MCHttpFormModalService extends MCFormModalService {\n\n override open(config: MCConfigHttpModalForm): Observable<MCHttpFormModal> {\n let dialog: DynamicDialogRef<MCHttpFormModal> = this.dialogService.open(MCHttpFormModal, {\n header: config.title,\n style: config.style,\n styleClass: config.styleClass,\n closable: true,\n dismissableMask: true,\n duplicate: true,\n position: config.position,\n templates: {\n footer: MCFooterModalForm\n },\n data: config\n });\n\n return dialog.onChildComponentLoaded;\n }\n\n override openRight(config: MCConfigHttpModalForm): Observable<MCHttpFormModal> {\n return this.open(MCFormModalService.initConfigRight(config));\n }\n}\n","import { Component, input } from \"@angular/core\";\nimport { MCField } from \"../entities/mc-field\";\nimport { UntypedFormControl, UntypedFormGroup } from \"@angular/forms\";\nimport { Subject } from \"rxjs\";\nimport { MCEventForm } from \"../entities/mc-event-form\";\n\n@Component({\n selector: 'mc-field',\n template: ''\n})\nexport class MCFieldComponent {\n field = input.required<MCField>();\n control = input<UntypedFormControl>();\n group = input.required<UntypedFormGroup>();\n eventObs = input<Subject<MCEventForm>>();\n}\n","import { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { IftaLabelModule } from 'primeng/iftalabel';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { MCField } from '../../entities/mc-field';\nimport { MCIftaField } from '../../entities/mc-ifta-field';\nimport { ReactiveFormsModule, ValidatorFn } from '@angular/forms';\n\n@Component({\n selector: 'mc-ifta-text-field',\n imports: [CommonModule, ReactiveFormsModule, IftaLabelModule, InputTextModule],\n templateUrl: './ifta-text-field.component.html',\n styleUrl: './ifta-text-field.component.css'\n})\nexport class IftaTextFieldComponent extends MCFieldComponent {\n\n}\n\nexport class IftaTextField {\n\n static init(key: string|undefined, label: string, config?: {\n validators?: ValidatorFn[],\n default_value?: any,\n disabled?: boolean\n }): MCField {\n return MCIftaField.init({\n key: key,\n component: IftaTextFieldComponent,\n label: label,\n validators: config?.validators,\n default_value: config?.default_value,\n disabled: config?.disabled\n });\n }\n\n}\n","<p-iftalabel>\n <input pInputText id=\"{{field().key}}\" class=\"w-full\" [formControl]=\"control()!\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n","import { Component, OnDestroy, OnInit, signal } from '@angular/core';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule } from 'primeng/button';\nimport { MCField } from '../../entities/mc-field';\nimport { MCIftaField } from '../../entities/mc-ifta-field';\nimport { MCEventForm } from '../../entities/mc-event-form';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'mc-submit-button-field',\n imports: [CommonModule, ButtonModule],\n templateUrl: './submit-button-field.component.html',\n styleUrl: './submit-button-field.component.css'\n})\nexport class SubmitButtonFieldComponent extends MCFieldComponent implements OnInit, OnDestroy {\n\n isLoading = signal<boolean>(false);\n\n eventSubscription?: Subscription;\n\n ngOnInit(): void {\n this.eventSubscription = this.eventObs()?.subscribe(event => {\n if(event.key == 'stop-loading') {\n this.isLoading.set(false);\n }\n });\n }\n\n ngOnDestroy(): void {\n this.eventSubscription?.unsubscribe();\n }\n\n onClick() {\n this.isLoading.set(true);\n this.eventObs()?.next(MCEventForm.init(this.field().key ?? 'submit', this.group()?.value));\n }\n}\n\nexport class SubmitButtonField {\n\n static init(key: string|undefined, label: string, config?: {\n icon?: string,\n disabled?: boolean\n }): MCField {\n let field = MCIftaField.init({\n key: key,\n component: SubmitButtonFieldComponent,\n label: label,\n disabled: config?.disabled,\n no_control: true\n });\n field.config.icon = config?.icon;\n return field;\n }\n\n}\n","<div class=\"flex justify-end\">\n <p-button [label]=\"field().config.label\" [disabled]=\"!group().valid || group().disabled\" (onClick)=\"onClick()\" [loading]=\"isLoading()\" [icon]=\"field().config.icon\" />\n</div>\n","import { Component, computed } from '@angular/core';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { MCField } from '../../entities/mc-field';\nimport { ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { PrintFieldComponent } from '../../components/print-field/print-field.component';\n\n@Component({\n selector: 'mc-group-field',\n imports: [CommonModule, ReactiveFormsModule, PrintFieldComponent],\n templateUrl: './group-field.component.html',\n styleUrl: './group-field.component.css'\n})\nexport class GroupFieldComponent extends MCFieldComponent {\n\n newGroup = computed<UntypedFormGroup|undefined>(() => {\n if(this.field().config?.is_new_group) {\n return this.group().get(this.field().key!) as UntypedFormGroup;\n }\n\n return undefined;\n });\n\n}\n\nexport class GroupField {\n\n static init(key: string, fields: MCField[]): MCField {\n let field = MCField.init({\n key: key,\n component: GroupFieldComponent,\n });\n field.config = {\n has_children: true,\n fields: fields,\n is_new_group: true\n }\n\n return field;\n }\n\n}\n","@if(newGroup()) {\n <div [formGroup]=\"newGroup()!\" class=\"mc-group-form\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"newGroup()!.get(field.key ?? '')\" [group]=\"newGroup()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MCField } from '../../entities/mc-field';\nimport { ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { PrintFieldComponent } from '../../components/print-field/print-field.component';\nimport { GroupFieldComponent } from '../group-field/group-field.component';\n\n@Component({\n selector: 'mc-row-field',\n imports: [CommonModule, ReactiveFormsModule, PrintFieldComponent],\n templateUrl: './row-field.component.html',\n styleUrl: './row-field.component.css'\n})\nexport class RowFieldComponent extends GroupFieldComponent {\n\n}\n\nexport class RowField {\n\n static initWithGroup(key: string, fields: MCField[]): MCField {\n let field = MCField.init({\n key: key,\n component: RowFieldComponent,\n });\n field.config = {\n has_children: true,\n fields: fields,\n is_new_group: true\n }\n\n return field;\n }\n\n static init(fields: MCField[]): MCField {\n let field = MCField.init({\n component: RowFieldComponent,\n });\n field.config = {\n has_children: true,\n fields: fields,\n is_new_group: false\n }\n\n return field;\n }\n}\n","@if(newGroup()) {\n <div [formGroup]=\"newGroup()!\" class=\"mc-row-form flex flex-row gap-3\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"newGroup()!.get(field.key ?? '')\" [group]=\"newGroup()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n} @else {\n <div class=\"mc-row-form flex flex-row gap-3\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"group()!.get(field.key ?? '')\" [group]=\"group()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n}\n","import { Component } from '@angular/core';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { MCField } from '../../entities/mc-field';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'mc-hidden-field',\n imports: [CommonModule],\n templateUrl: './hidden-field.component.html',\n styleUrl: './hidden-field.component.css'\n})\nexport class HiddenFieldComponent extends MCFieldComponent {\n\n}\n\nexport class HiddenField {\n\n static init(key: string|undefined): MCField {\n return MCField.init({\n key: key,\n component: HiddenFieldComponent\n });\n }\n\n}\n","","import { Component } from '@angular/core';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule, ValidatorFn } from '@angular/forms';\nimport { IftaLabelModule } from 'primeng/iftalabel';\nimport { MCField } from '../../entities/mc-field';\nimport { MCIftaField } from '../../entities/mc-ifta-field';\nimport { SelectModule } from 'primeng/select';\n\n@Component({\n selector: 'mc-ifta-select-field',\n imports: [CommonModule, ReactiveFormsModule, IftaLabelModule, SelectModule],\n templateUrl: './ifta-select-field.component.html',\n styleUrl: './ifta-select-field.component.css'\n})\nexport class IftaSelectFieldComponent extends MCFieldComponent {\n\n}\n\nexport class IftaSelectField {\n\n static init(\n key: string|undefined,\n label: string,\n options: any[],\n optionLabel?: string,\n optionValue?: string,\n config?: {\n validators?: ValidatorFn[],\n default_value?: any,\n disabled?: boolean\n }): MCField {\n let configObj = MCIftaField.init({\n key: key,\n component: IftaSelectFieldComponent,\n label: label,\n validators: config?.validators,\n default_value: config?.default_value,\n disabled: config?.disabled\n });\n configObj.config.options = options;\n configObj.config.optionLabel = optionLabel;\n configObj.config.optionValue = optionValue;\n\n return configObj;\n }\n\n}\n","<p-iftalabel>\n <p-select [formControl]=\"control()!\" inputId=\"{{field().key}}\" [options]=\"field().config.options\" [optionLabel]=\"field().config.optionLabel\" [optionValue]=\"field().config.optionValue\" styleClass=\"w-full\" [appendTo]=\"'body'\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n","import { Component, OnDestroy, OnInit, signal } from '@angular/core';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule, ValidatorFn } from '@angular/forms';\nimport { IftaLabelModule } from 'primeng/iftalabel';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { identity, Subscription } from 'rxjs';\nimport { MCIftaField } from '../../entities/mc-ifta-field';\nimport { MCField } from '../../entities/mc-field';\n\n@Component({\n selector: 'mc-ifta-text-conditional-field',\n imports: [CommonModule, ReactiveFormsModule, IftaLabelModule, InputTextModule],\n templateUrl: './ifta-text-conditional-field.component.html',\n styleUrl: './ifta-text-conditional-field.component.css'\n})\nexport class IftaTextConditionalFieldComponent extends MCFieldComponent implements OnInit, OnDestroy {\n\n isShow = signal<boolean>(false);\n\n valuesSubscription?: Subscription;\n\n ngOnInit(): void {\n this.loadObs();\n }\n\n ngOnDestroy(): void {\n this.valuesSubscription?.unsubscribe();\n }\n\n verifyCondition(values: any) {\n let field = this.field();\n\n let value = values[field.config.conditionalKey];\n if (value === field.config.conditionalValue) {\n this.isShow.set(true);\n } else {\n this.isShow.set(false);\n this.control()?.setValue(null, { emitEvent: false });\n }\n }\n\n loadObs() {\n this.valuesSubscription?.unsubscribe();\n\n this.verifyCondition(this.group().value);\n\n this.valuesSubscription = this.group().valueChanges\n .subscribe((value: any) => {\n this.verifyCondition(value);\n });\n }\n}\n\nexport class IftaTextConditionalField {\n\n static init(\n key: string|undefined,\n label: string,\n conditionalKey: string,\n conditionalValue: any,\n config?: {\n validators?: ValidatorFn[],\n default_value?: any,\n disabled?: boolean\n }): MCField {\n let configObj = MCIftaField.init({\n key: key,\n component: IftaTextConditionalFieldComponent,\n label: label,\n validators: config?.validators,\n default_value: config?.default_value,\n disabled: config?.disabled\n });\n configObj.config.conditionalKey = conditionalKey;\n configObj.config.conditionalValue = conditionalValue;\n\n return configObj;\n }\n\n}\n\n","@if(isShow()){\n <p-iftalabel>\n <input pInputText id=\"{{field().key}}\" class=\"w-full\" [formControl]=\"control()!\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n </p-iftalabel>\n}\n","import { Component, OnDestroy, OnInit, signal } from '@angular/core';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule, ValidatorFn } from '@angular/forms';\nimport { IftaLabelModule } from 'primeng/iftalabel';\nimport { MCField } from '../../entities/mc-field';\nimport { MCIftaField } from '../../entities/mc-ifta-field';\nimport { SelectModule } from 'primeng/select';\nimport { Observable, Subscription } from 'rxjs';\n\n@Component({\n selector: 'mc-ifta-select-obs-field',\n imports: [CommonModule, ReactiveFormsModule, IftaLabelModule, SelectModule],\n templateUrl: './ifta-select-obs-field.component.html',\n styleUrl: './ifta-select-obs-field.component.css'\n})\nexport class IftaSelectObsFieldComponent extends MCFieldComponent implements OnInit, OnDestroy {\n\n isLoading = signal<boolean>(false);\n\n options = signal<Array<any>>([]);\n \n optionsSubscription?: Subscription;\n\n ngOnInit(): void {\n this.loadObs();\n }\n\n ngOnDestroy(): void {\n this.optionsSubscription?.unsubscribe();\n }\n\n loadObs() {\n this.isLoading.set(true);\n this.optionsSubscription?.unsubscribe();\n\n this.optionsSubscription = this.field().config.optionObs()\n .subscribe((value: Array<any>) => {\n this.options.set(value);\n this.isLoading.set(false);\n });\n }\n}\n\nexport class IftaSelectObsField {\n\n static init(\n key: string|undefined,\n label: string,\n optionObs: () => Observable<Array<any>>,\n optionLabel?: string,\n optionValue?: string,\n config?: {\n validators?: ValidatorFn[],\n default_value?: any,\n disabled?: boolean\n }): MCField {\n let configObj = MCIftaField.init({\n key: key,\n component: IftaSelectObsFieldComponent,\n label: label,\n validators: config?.validators,\n default_value: config?.default_value,\n disabled: config?.disabled\n });\n configObj.config.optionObs = optionObs;\n configObj.config.optionLabel = optionLabel;\n configObj.config.optionValue = optionValue;\n\n return configObj;\n }\n\n}\n","<p-iftalabel>\n <p-select [formControl]=\"control()!\" inputId=\"{{field().key}}\" [options]=\"options()\" [optionLabel]=\"field().config.optionLabel\" [optionValue]=\"field().config.optionValue\" styleClass=\"w-full\" [appendTo]=\"'body'\" [loading]=\"isLoading()\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n ","import { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { DividerModule } from 'primeng/divider';\nimport { MCField } from '../../entities/mc-field';\nimport { MCFieldComponent } from '../mc-field.component';\n\n@Component({\n selector: 'mc-divider-field',\n imports: [CommonModule, DividerModule],\n templateUrl: './divider-field.component.html',\n styleUrl: './divider-field.component.css'\n})\nexport class DividerFieldComponent extends MCFieldComponent {\n\n}\n\nexport class DividerField {\n\n static init(label: string|undefined): MCField {\n let field = MCField.init({\n component: DividerFieldComponent,\n no_control: true,\n });\n field.config.label = label;\n return field;\n }\n\n}\n","<p-divider align=\"center\"><b>{{field().config.label}}</b></p-divider>","import { Component, computed, inject } from '@angular/core';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { MCField } from '../../entities/mc-field';\nimport { CommonModule } from '@angular/common';\nimport { FormArray, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { MCFormService } from '../../services/mc-form.service';\nimport { PrintFieldComponent } from '../../components/print-field/print-field.component';\nimport { ButtonModule } from 'primeng/button';\nimport { PanelModule } from 'primeng/panel';\n\n@Component({\n selector: 'mc-array-field',\n imports: [CommonModule, ReactiveFormsModule, PrintFieldComponent, PanelModule, ButtonModule],\n templateUrl: './array-field.component.html',\n styleUrl: './array-field.component.css'\n})\nexport class ArrayFieldComponent extends MCFieldComponent {\n\n formService = inject(MCFormService);\n\n formArray = computed(() => {\n let formArray: FormArray<UntypedFormGroup> = (this.group().get(this.field().key!)) as FormArray<UntypedFormGroup>;\n return formArray;\n });\n\n onClickAdd() {\n let formArray: FormArray<UntypedFormGroup> = (this.group().get(this.field().key!)) as FormArray<UntypedFormGroup>;\n\n let newGroup = new UntypedFormGroup({});\n this.formService.loadFields(newGroup, this.field().config.fields, {});\n\n formArray.push(newGroup);\n }\n\n onClickRemove(index: number) {\n let formArray: FormArray<UntypedFormGroup> = (this.group().get(this.field().key!)) as FormArray<UntypedFormGroup>;\n formArray.removeAt(index);\n }\n}\n\n\nexport class ArrayField {\n\n static init(key: string, fields: MCField[], data?: {\n labelAddButton?: string,\n labelTitlePanel?: string,\n }): MCField {\n let field = MCField.init({\n key: key,\n component: ArrayFieldComponent,\n });\n field.config = {\n is_array: true,\n fields: fields,\n labelAddButton: data?.labelAddButton,\n labelTitlePanel: data?.labelTitlePanel,\n }\n\n return field;\n }\n\n}\n","\n<div class=\"mc-array-form\">\n <div *ngFor=\"let row of formArray().controls; let i = index\">\n\n <p-panel [header]=\"field().config?.labelTitlePanel\" styleClass=\"mb-3\">\n <ng-template #icons>\n <p-button icon=\"pi pi-trash\" severity=\"danger\" rounded text (onClick)=\"onClickRemove(i)\" />\n </ng-template>\n\n <div [formGroup]=\"row\" class=\"mc-array-group-form\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"row.get(field.key ?? '')\" [group]=\"row\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n </p-panel>\n\n </div>\n</div>\n\n<p-button [label]=\"field().config?.labelAddButton ?? 'Add row'\" [link]=\"true\" icon=\"pi pi-plus-circle\" (onClick)=\"onClickAdd()\" />\n\n","import { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { IftaLabelModule } from 'primeng/iftalabel';\nimport { TextareaModule } from 'primeng/textarea';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { MCField } from '../../entities/mc-field';\nimport { MCIftaField } from '../../entities/mc-ifta-field';\nimport { ReactiveFormsModule, ValidatorFn } from '@angular/forms';\n\n@Component({\n selector: 'mc-ifta-textarea-field',\n imports: [CommonModule, ReactiveFormsModule, IftaLabelModule, TextareaModule],\n templateUrl: './ifta-textarea-field.component.html',\n styleUrl: './ifta-textarea-field.component.css'\n})\nexport class IftaTextareaFieldComponent extends MCFieldComponent {\n\n}\n\nexport class IftaTextareaField {\n\n static init(key: string|undefined, label: string, config?: {\n validators?: ValidatorFn[],\n default_value?: any,\n disabled?: boolean\n }): MCField {\n return MCIftaField.init({\n key: key,\n component: IftaTextareaFieldComponent,\n label: label,\n validators: config?.validators,\n default_value: config?.default_value,\n disabled: config?.disabled\n });\n }\n\n}\n","<p-iftalabel>\n <textarea pTextarea id=\"{{field().key}}\" rows=\"5\" cols=\"30\" style=\"resize: none\" class=\"w-full\" [formControl]=\"control()!\"></textarea>\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n","import { Component, OnDestroy, OnInit, signal } from '@angular/core';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { PrintFieldComponent } from '../../components/print-field/print-field.component';\nimport { MCField } from '../../entities/mc-field';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'mc-conditional-field',\n imports: [CommonModule, ReactiveFormsModule, PrintFieldComponent],\n templateUrl: './conditional-field.component.html',\n styleUrl: './conditional-field.component.css'\n})\nexport class ConditionalFieldComponent extends MCFieldComponent implements OnInit, OnDestroy {\n isShow = signal<boolean>(false);\n\n valuesSubscription?: Subscription;\n\n ngOnInit(): void {\n this.loadObs();\n }\n\n ngOnDestroy(): void {\n this.valuesSubscription?.unsubscribe();\n }\n\n verifyCondition(values: any) {\n let field = this.field();\n\n let value = values[field.config.conditionalKey];\n let isMatch = false;\n\n // Verify if array\n if (Array.isArray(field.config.conditionalValue)) {\n isMatch = field.config.conditionalValue.includes(value);\n } else {\n isMatch = value === field.config.conditionalValue;\n }\n\n if (isMatch) {\n this.isShow.set(true);\n } else {\n this.isShow.set(false);\n this.control()?.setValue(null, { emitEvent: false });\n }\n }\n\n loadObs() {\n this.valuesSubscription?.unsubscribe();\n\n this.verifyCondition(this.group().value);\n\n this.valuesSubscription = this.group().valueChanges\n .subscribe((value: any) => {\n this.verifyCondition(value);\n });\n }\n}\n\nexport class ConditionalField {\n\n static init(\n conditionalKey: string,\n conditionalValue: any,\n fields: MCField[],\n valuesAreNumbers?: boolean\n ): MCField {\n let field = MCField.init({\n component: ConditionalFieldComponent,\n });\n field.config = {\n has_children: true,\n fields: fields,\n is_new_group: false,\n conditionalKey: conditionalKey,\n conditionalValue: conditionalValue,\n valuesAreNumbers: valuesAreNumbers,\n }\n\n return field;\n }\n}\n","@if(isShow()){\n @for (field of field().config.fields; track $index) {\n <mc-print-field [field]=\"field\" [control]=\"group()!.get(field.key ?? '')\" [group]=\"group()!\" [eventObs]=\"eventObs()\" />\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, computed } from '@angular/core';\nimport { FormArray, FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ButtonModule } from 'primeng/button';\nimport { PanelModule } from 'primeng/panel';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { MCField } from '../../entities/mc-field';\nimport { IftaLabelModule } from 'primeng/iftalabel';\nimport { InputTextModule } from 'primeng/inputtext';\n\n@Component({\n selector: 'mc-array-ifta-text-field',\n imports: [CommonModule, ReactiveFormsModule, PanelModule, ButtonModule, IftaLabelModule, InputTextModule],\n templateUrl: './array-ifta-text-field.component.html',\n styleUrl: './array-ifta-text-field.component.css'\n})\nexport class ArrayIftaTextFieldComponent extends MCFieldComponent {\n\n formArray = computed(() => {\n let formArray: FormArray<FormControl<string>> = (this.group().get(this.field().key!)) as FormArray<FormControl<string>>;\n return formArray;\n });\n\n onClickAdd() {\n let formArray: FormArray<FormControl<string|null>> = (this.group().get(this.field().key!)) as FormArray<FormControl<string|null>>;\n formArray.push(new FormControl<string>(''));\n }\n\n onClickRemove(index: number) {\n let formArray: FormArray<FormControl<string|null>> = (this.group().get(this.field().key!)) as FormArray<FormControl<string|null>>;\n formArray.removeAt(index);\n }\n}\n\nexport class ArrayIftaTextField {\n\n static init(key: string, data?: {\n labelAddButton?: string,\n labelTitlePanel?: string,\n }): MCField {\n let field = MCField.init({\n key: key,\n component: ArrayIftaTextFieldComponent,\n });\n field.config = {\n is_array_string: true,\n labelAddButton: data?.labelAddButton,\n labelTitlePanel: data?.labelTitlePanel,\n }\n\n return field;\n }\n\n}\n","\n<div class=\"mc-array-text-form\">\n <div *ngFor=\"let row of formArray().controls; let i = index\">\n\n <div class=\"flex flex-row justify-between mc-array-group-form\">\n <p-iftalabel class=\"mb-3 w-full\">\n <input pInputText id=\"{{field().key}}_{{i}}\" class=\"w-full\" [formControl]=\"row\" />\n <label for=\"{{field().key}}_{{i}}\">Param {{(i+1)}}</label>\n </p-iftalabel>\n\n <p-button icon=\"pi pi-trash\" severity=\"danger\" rounded text (onClick)=\"onClickRemove(i)\" styleClass=\"ml-3\" />\n </div>\n\n </div>\n</div>\n\n<p-button [label]=\"field().config?.labelAddButton ?? 'Add row'\" [link]=\"true\" icon=\"pi pi-plus-circle\" (onClick)=\"onClickAdd()\" />\n\n","/*\n * Public API Surface of form\n */\n\n/**\n * Entities\n */\nexport * from './lib/entities/mc-field';\nexport * from './lib/entities/mc-ifta-field';\nexport * from './lib/entities/mc-config-form';\nexport * from './lib/entities/mc-event-form';\nexport * from './lib/entities/mc-config-modal-form';\nexport * from './lib/entities/mc-config-http-modal-form';\n\n/**\n * Services\n */\nexport * from './lib/services/mc-form.service';\nexport * from './lib/services/form-modal.service';\nexport * from './lib/services/http-form-modal.service';\n\n/**\n * Fields\n */\nexport * from './lib/fields/mc-field.component';\nexport * from './lib/fields/ifta-text-field/ifta-text-field.component';\nexport * from './lib/fields/submit-button-field/submit-button-field.component';\nexport * from './lib/fields/row-field/row-field.component';\nexport * from './lib/fields/hidden-field/hidden-field.component';\nexport * from './lib/fields/group-field/group-field.component';\nexport * from './lib/fields/ifta-select-field/ifta-select-field.component';\nexport * from './lib/fields/ifta-text-conditional-field/ifta-text-conditional-field.component';\nexport * from './lib/fields/ifta-select-obs-field/ifta-select-obs-field.component';\nexport * from './lib/fields/divider-field/divider-field.component';\nexport * from './lib/fields/array-field/array-field.component';\nexport * from './lib/fields/ifta-textarea-field/ifta-textarea-field.component';\nexport * from './lib/fields/conditional-field/conditional-field.component';\nexport * from './lib/fields/array-ifta-text-field/array-ifta-text-field.component';\n\n/**\n * Components\n */\nexport * from './lib/components/print-field/print-field.component';\nexport * from './lib/components/form/form.component';\nexport * from './lib/components/form-modal/form-modal.component';\nexport * from './lib/components/http-form-modal/http-form-modal.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3","i2","i4","i5"],"mappings":"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"}
1
+ {"version":3,"file":"mckit-form.mjs","sources":["../../../../projects/mckit/form/src/lib/entities/mc-field.ts","../../../../projects/mckit/form/src/lib/entities/mc-ifta-field.ts","../../../../projects/mckit/form/src/lib/entities/mc-config-form.ts","../../../../projects/mckit/form/src/lib/entities/mc-event-form.ts","../../../../projects/mckit/form/src/lib/entities/mc-config-modal-form.ts","../../../../projects/mckit/form/src/lib/entities/mc-config-http-modal-form.ts","../../../../projects/mckit/form/src/lib/rxjs/mc-event-form-modal-operator.ts","../../../../projects/mckit/form/src/lib/services/mc-form.service.ts","../../../../projects/mckit/form/src/lib/components/print-field/print-field.component.ts","../../../../projects/mckit/form/src/lib/components/form/form.component.ts","../../../../projects/mckit/form/src/lib/components/form/form.component.html","../../../../projects/mckit/form/src/lib/components/form-modal/form-modal.component.ts","../../../../projects/mckit/form/src/lib/components/form-modal/form-modal.component.html","../../../../projects/mckit/form/src/lib/components/footer-modal-form/footer-modal-form.component.ts","../../../../projects/mckit/form/src/lib/components/footer-modal-form/footer-modal-form.component.html","../../../../projects/mckit/form/src/lib/components/footer-with-delete-modal-form/footer-with-delete-modal-form.component.ts","../../../../projects/mckit/form/src/lib/components/footer-with-delete-modal-form/footer-with-delete-modal-form.component.html","../../../../projects/mckit/form/src/lib/services/form-modal.service.ts","../../../../projects/mckit/form/src/lib/components/http-form-modal/http-form-modal.component.ts","../../../../projects/mckit/form/src/lib/components/http-form-modal/http-form-modal.component.html","../../../../projects/mckit/form/src/lib/services/http-form-modal.service.ts","../../../../projects/mckit/form/src/lib/fields/mc-field.component.ts","../../../../projects/mckit/form/src/lib/fields/ifta-text-field/ifta-text-field.component.ts","../../../../projects/mckit/form/src/lib/fields/ifta-text-field/ifta-text-field.component.html","../../../../projects/mckit/form/src/lib/fields/submit-button-field/submit-button-field.component.ts","../../../../projects/mckit/form/src/lib/fields/submit-button-field/submit-button-field.component.html","../../../../projects/mckit/form/src/lib/fields/group-field/group-field.component.ts","../../../../projects/mckit/form/src/lib/fields/group-field/group-field.component.html","../../../../projects/mckit/form/src/lib/fields/row-field/row-field.component.ts","../../../../projects/mckit/form/src/lib/fields/row-field/row-field.component.html","../../../../projects/mckit/form/src/lib/fields/hidden-field/hidden-field.component.ts","../../../../projects/mckit/form/src/lib/fields/hidden-field/hidden-field.component.html","../../../../projects/mckit/form/src/lib/fields/ifta-select-field/ifta-select-field.component.ts","../../../../projects/mckit/form/src/lib/fields/ifta-select-field/ifta-select-field.component.html","../../../../projects/mckit/form/src/lib/fields/ifta-text-conditional-field/ifta-text-conditional-field.component.ts","../../../../projects/mckit/form/src/lib/fields/ifta-text-conditional-field/ifta-text-conditional-field.component.html","../../../../projects/mckit/form/src/lib/fields/ifta-select-obs-field/ifta-select-obs-field.component.ts","../../../../projects/mckit/form/src/lib/fields/ifta-select-obs-field/ifta-select-obs-field.component.html","../../../../projects/mckit/form/src/lib/fields/divider-field/divider-field.component.ts","../../../../projects/mckit/form/src/lib/fields/divider-field/divider-field.component.html","../../../../projects/mckit/form/src/lib/fields/array-field/array-field.component.ts","../../../../projects/mckit/form/src/lib/fields/array-field/array-field.component.html","../../../../projects/mckit/form/src/lib/fields/ifta-textarea-field/ifta-textarea-field.component.ts","../../../../projects/mckit/form/src/lib/fields/ifta-textarea-field/ifta-textarea-field.component.html","../../../../projects/mckit/form/src/lib/fields/conditional-field/conditional-field.component.ts","../../../../projects/mckit/form/src/lib/fields/conditional-field/conditional-field.component.html","../../../../projects/mckit/form/src/lib/fields/array-ifta-text-field/array-ifta-text-field.component.ts","../../../../projects/mckit/form/src/lib/fields/array-ifta-text-field/array-ifta-text-field.component.html","../../../../projects/mckit/form/src/lib/fields/column-field/column-field.component.ts","../../../../projects/mckit/form/src/lib/fields/column-field/column-field.component.html","../../../../projects/mckit/form/src/public-api.ts","../../../../projects/mckit/form/src/mckit-form.ts"],"sourcesContent":["import { ValidatorFn } from \"@angular/forms\";\n\nexport class MCField {\n key?: string;\n component: any;\n\n config?: any\n\n static initCustom(key: string, component: any, config: any): MCField {\n let field = new MCField();\n field.key = key;\n field.component = component;\n field.config = config;\n return field;\n }\n\n static init(data: {\n key?: string,\n component: any,\n validators?: ValidatorFn[],\n default_value?: any,\n disabled?: boolean,\n no_control?: boolean,\n extra?: any\n }): MCField {\n let field = new MCField();\n field.key = data.key;\n field.component = data.component;\n field.config = {\n ...data.extra,\n validators: data.validators,\n default_value: data.default_value,\n disabled: data.disabled,\n no_control: data.no_control\n };\n return field;\n }\n}\n","import { ValidatorFn } from \"@angular/forms\";\nimport { MCField } from \"./mc-field\";\n\nexport class MCIftaField {\n\n static init(data: {\n key?: string,\n component: any,\n label: string,\n validators?: ValidatorFn[],\n default_value?: any,\n disabled?: boolean,\n no_control?: boolean\n }): MCField {\n let field = new MCField();\n field.key = data.key;\n field.component = data.component;\n field.config = {\n label: data.label,\n validators: data.validators,\n default_value: data.default_value,\n disabled: data.disabled,\n no_control: data.no_control\n };\n return field;\n }\n\n}\n","import { MCField } from \"./mc-field\";\n\nexport class MCConfigForm {\n fields: MCField[] = [];\n\n item: any;\n\n containerFieldClass?: string;\n}\n","export class MCEventForm {\n key!: string;\n content: any;\n\n static init(key: string, content?: any): MCEventForm {\n let eventForm = new MCEventForm();\n eventForm.key = key;\n eventForm.content = content;\n return eventForm;\n }\n}\n","import { MCConfigForm } from \"./mc-config-form\";\n\nexport class MCConfigModalForm extends MCConfigForm {\n title?: string;\n position?: string;\n styleClass?: string;\n style?: any;\n}\n","import { Observable } from \"rxjs\";\nimport { MCConfigModalForm } from \"./mc-config-modal-form\";\n\nexport class MCConfigHttpModalForm extends MCConfigModalForm {\n http!: (item: any) => Observable<any>;\n}\n","import { MonoTypeOperatorFunction, tap } from 'rxjs';\nimport { MCEventModalForm } from '../components/form-modal/form-modal.component';\n\nexport function mcEventFormOperator(\n eventKey: string,\n onEvent: (event: MCEventModalForm) => void\n): MonoTypeOperatorFunction<MCEventModalForm> {\n return tap((event: MCEventModalForm) => {\n if (event.key === eventKey) {\n onEvent(event);\n }\n });\n}\n\nexport function mcSavedEventFormOperator(\n onSaved: () => void\n): MonoTypeOperatorFunction<MCEventModalForm> {\n return mcEventFormOperator('saved', onSaved);\n}","import { Injectable } from '@angular/core';\nimport { FormArray, FormControl, UntypedFormArray, UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { MCField } from '../entities/mc-field';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MCFormService {\n\n createControl(field: MCField): UntypedFormControl {\n let input = new UntypedFormControl();\n if(field.config.validators){\n input.setValidators(field.config.validators);\n }\n if(field.config.default){\n input.setValue(field.config.default);\n }\n if(field.config.disabled){\n input.disable();\n }\n\n return input;\n }\n\n createArrayControl(field: MCField): UntypedFormArray {\n let array = new UntypedFormArray([]);\n return array;\n }\n\n createArrayStringControl(field: MCField): FormArray<FormControl<string|null>> {\n let array = new FormArray<FormControl<string|null>>([]);\n return array;\n }\n\n loadFieldsInArray(group: UntypedFormGroup, field: MCField, item: any) {\n let fieldKey = field.key ?? 'rows';\n let subitem = item && item[fieldKey] ? item[fieldKey] : undefined;\n let array = this.createArrayControl(field);\n group.addControl(fieldKey, array);\n\n if(subitem && Array.isArray(subitem)){\n for(let i = 0; i < subitem.length; i++){\n let newGroup = new UntypedFormGroup({});\n this.loadFields(newGroup, field.config.fields, subitem[i]);\n array.push(newGroup);\n }\n }\n }\n\n loadFieldsInArrayString(group: UntypedFormGroup, field: MCField, item: any) {\n let fieldKey = field.key ?? 'rows';\n let subitem = item && item[fieldKey] ? item[fieldKey] : undefined;\n let array = this.createArrayStringControl(field);\n group.addControl(fieldKey, array);\n\n if(subitem && Array.isArray(subitem)){\n for(let i = 0; i < subitem.length; i++){\n let newControl = new FormControl<string|null>(subitem[i]);\n array.push(newControl);\n }\n }\n }\n\n loadFieldsInNewGroup(group: UntypedFormGroup, fields: MCField[], key: string, item: any) {\n let newGroup = new UntypedFormGroup({});\n this.loadFields(newGroup, fields, item);\n group.addControl(key, newGroup);\n }\n\n loadFieldsWithChildren(group: UntypedFormGroup, field: MCField, item: any) {\n if(field.config?.is_new_group){\n let fieldKey = field.key ?? 'row';\n let subitem = item && item[fieldKey] ? item[fieldKey] : undefined;\n this.loadFieldsInNewGroup(group, field.config.fields, fieldKey, subitem);\n } else {\n this.loadFields(group, field.config.fields, item);\n }\n }\n\n loadFields(group: UntypedFormGroup, fields: MCField[], item: any) {\n for (const field of fields) {\n if(field.config.is_array){\n this.loadFieldsInArray(group, field, item);\n continue;\n }\n if(field.config.is_array_string){\n this.loadFieldsInArrayString(group, field, item);\n continue;\n }\n if(field.config?.has_children){\n this.loadFieldsWithChildren(group, field, item);\n continue;\n }\n if(field.key == undefined || field.key == '' || field.config?.no_control) {\n continue;\n }\n\n group.addControl(field.key, this.createControl(field));\n\n if(item && item[field.key] != undefined){\n group.get(field.key)?.setValue(item[field.key]);\n } else if (field.config?.default_value != undefined) {\n group.get(field.key)?.setValue(field.config.default_value);\n }\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, inject, input, OnInit, ViewContainerRef } from '@angular/core';\nimport { MCField } from '../../entities/mc-field';\nimport { AbstractControl, ReactiveFormsModule, UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { MCEventForm } from '../../entities/mc-event-form';\n\n@Component({\n selector: 'mc-print-field',\n imports: [CommonModule, ReactiveFormsModule],\n template: '',\n styleUrl: './print-field.component.css'\n})\nexport class PrintFieldComponent implements OnInit {\n\n field = input.required<MCField>();\n control = input<AbstractControl|null>();\n group = input<UntypedFormGroup>();\n eventObs = input<Subject<MCEventForm>>();\n\n viewContainerRef = inject(ViewContainerRef);\n\n ngOnInit(): void {\n const view = this.viewContainerRef.createComponent(this.field().component);\n view.setInput('field', this.field());\n view.setInput('control', this.control());\n view.setInput('group', this.group());\n view.setInput('eventObs', this.eventObs());\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, inject, input, OnInit, output, signal } from '@angular/core';\nimport { MCConfigForm } from '../../entities/mc-config-form';\nimport { PrintFieldComponent } from '../print-field/print-field.component';\nimport { ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { MCFormService } from '../../services/mc-form.service';\nimport { MCEventForm } from '../../entities/mc-event-form';\nimport { Subject, Subscription } from 'rxjs';\n\n@Component({\n selector: 'mc-form',\n imports: [CommonModule, ReactiveFormsModule, PrintFieldComponent],\n templateUrl: './form.component.html',\n styleUrl: './form.component.scss'\n})\nexport class MCForm implements OnInit {\n config = input.required<MCConfigForm>();\n\n formGroup = signal<UntypedFormGroup|undefined>(undefined);\n\n formService = inject(MCFormService);\n\n onEvent = output<MCEventForm>();\n eventObs = new Subject<MCEventForm>();\n eventSubscription?: Subscription;\n\n ngOnInit(): void {\n this.eventSubscription = this.eventObs.subscribe(event => {\n this.emitEvent(event);\n });\n this.loadFields();\n }\n\n ngOnDestroy(): void {\n this.eventSubscription?.unsubscribe();\n }\n\n emitEvent(event: MCEventForm) {\n this.onEvent.emit(event);\n }\n\n loadFields() {\n let group = new UntypedFormGroup({});\n let fields = this.config().fields ?? [];\n this.formService.loadFields(group, fields, this.config().item);\n this.formGroup.set(group);\n }\n\n getEventObs(): Subject<MCEventForm> {\n return this.eventObs;\n }\n}\n","@if(formGroup()) {\n <form [formGroup]=\"formGroup()!\" class=\"mc-form\">\n @for (field of config().fields; track $index) {\n <div class=\"{{(config().containerFieldClass || 'mb-3')}}\">\n <mc-print-field [field]=\"field\" [control]=\"formGroup()!.get(field.key ?? '')\" [group]=\"formGroup()!\" [eventObs]=\"eventObs\" />\n </div>\n }\n </form>\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, inject, OnInit, signal, viewChild } from '@angular/core';\nimport { MCForm } from '../form/form.component';\nimport { DialogService, DynamicDialogComponent, DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { MCConfigForm } from '../../entities/mc-config-form';\nimport { MCEventForm } from '../../entities/mc-event-form';\nimport { Subject } from 'rxjs';\nimport { UntypedFormGroup } from '@angular/forms';\n\nexport class MCEventModalForm extends MCEventForm {\n dialog?: DynamicDialogRef;\n}\n\n@Component({\n selector: 'mc-form-modal',\n imports: [CommonModule, MCForm],\n templateUrl: './form-modal.component.html',\n styleUrl: './form-modal.component.css'\n})\nexport class MCFormModal implements OnInit {\n\n formComponent = viewChild(MCForm);\n\n dialogService = inject(DialogService);\n dialogRef = inject(DynamicDialogRef);\n\n formConfig = signal<MCConfigForm>(new MCConfigForm());\n\n ngOnInit(): void {\n this.initForm();\n }\n\n emitEvent(event: MCEventModalForm) {\n this.formComponent()!.getEventObs().next(event);\n }\n\n initForm() {\n let instance: DynamicDialogComponent = this.dialogService.getInstance(this.dialogRef);\n if(instance.data == undefined){\n this.dialogRef.close();\n return;\n }\n\n this.formConfig.set(instance.data);\n }\n\n getFormGroup(): UntypedFormGroup|undefined {\n return this.formComponent()?.formGroup();\n }\n\n getEventObs(): Subject<MCEventModalForm> {\n return this.formComponent()!.getEventObs();\n }\n}\n","<mc-form [config]=\"formConfig()\" />\n","import { Component, inject, OnDestroy, OnInit, signal, WritableSignal } from '@angular/core';\nimport { DialogService, DynamicDialogComponent, DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { MCEventModalForm, MCFormModal } from '../form-modal/form-modal.component';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule } from 'primeng/button';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { Subject, Subscription, take } from 'rxjs';\n\n@Component({\n selector: 'mc-footer-modal-form',\n imports: [CommonModule, ButtonModule],\n templateUrl: './footer-modal-form.component.html',\n styleUrl: './footer-modal-form.component.css'\n})\nexport class MCFooterModalForm implements OnInit, OnDestroy {\n\n dialogService = inject(DialogService);\n dialogRef = inject(DynamicDialogRef<MCFormModal>);\n\n isLoading = signal<boolean>(false);\n\n group?: WritableSignal<UntypedFormGroup|undefined>;\n\n eventObs?: Subject<MCEventModalForm>;\n\n eventSubscription?: Subscription;\n\n ngOnInit(): void {\n this.initConfig();\n }\n\n ngOnDestroy(): void {\n this.eventSubscription?.unsubscribe();\n }\n\n onClickCancel() {\n this.eventObs?.next(MCEventModalForm.init('close'));\n this.dialogRef.close();\n }\n\n onClickSubmit() {\n this.isLoading.set(true);\n\n let event = new MCEventModalForm();\n event.key = 'submit';\n event.dialog = this.dialogRef;\n if(this.group != undefined){\n event.content = this.group()?.value;\n }\n\n this.eventObs?.next(event);\n }\n\n initConfig() {\n let instance: DynamicDialogComponent = this.dialogService.getInstance(this.dialogRef);\n if(instance.data == undefined){\n this.dialogRef.close();\n return;\n }\n\n this.dialogRef.onChildComponentLoaded\n .pipe(take(1))\n .subscribe((comp) => {\n this.group = comp.formComponent()?.formGroup;\n this.eventObs = comp.getEventObs();\n this.initObs();\n });\n }\n\n initObs() {\n this.eventSubscription = this.eventObs?.subscribe(event => {\n if(event.key == 'stop-loading') {\n this.isLoading.set(false);\n }\n });\n }\n}\n","<p-button label=\"Cancel\" severity=\"secondary\" (onClick)=\"onClickCancel()\" styleClass=\"mr-3\" />\n@if(group != undefined){\n <p-button label=\"Submit\" severity=\"primary\" (onClick)=\"onClickSubmit()\" icon=\"pi pi-send\" [disabled]=\"!group()?.valid || group()?.disabled\" [loading]=\"isLoading()\" />\n}\n\n","import { Component } from '@angular/core';\nimport { MCFooterModalForm } from '../footer-modal-form/footer-modal-form.component';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule } from 'primeng/button';\nimport { MCEventModalForm } from '../form-modal/form-modal.component';\n\n@Component({\n selector: 'mc-footer-with-delete-modal-form',\n imports: [CommonModule, ButtonModule],\n templateUrl: './footer-with-delete-modal-form.component.html',\n styleUrl: './footer-with-delete-modal-form.component.css'\n})\nexport class MCFooterWithDeleteModalForm extends MCFooterModalForm {\n\n onClickDelete() {\n let event = new MCEventModalForm();\n event.key = 'delete';\n event.dialog = this.dialogRef;\n if(this.group != undefined){\n event.content = this.group()?.value;\n }\n\n this.eventObs?.next(event);\n }\n\n}\n","<div class=\"flex justify-between\">\n <div >\n <p-button label=\"Delete\" severity=\"danger\" (onClick)=\"onClickDelete()\" styleClass=\"mr-3\" />\n </div>\n <div>\n <p-button label=\"Cancel\" severity=\"secondary\" (onClick)=\"onClickCancel()\" styleClass=\"mr-3\" />\n @if(group != undefined){\n <p-button label=\"Submit\" severity=\"primary\" (onClick)=\"onClickSubmit()\" icon=\"pi pi-send\" [disabled]=\"!group()?.valid || group()?.disabled\" [loading]=\"isLoading()\" />\n }\n </div>\n</div>\n","import { inject, Injectable } from '@angular/core';\nimport { DialogService, DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { MCConfigForm } from '../entities/mc-config-form';\nimport { MCFormModal } from '../components/form-modal/form-modal.component';\nimport { MCFooterModalForm } from '../components/footer-modal-form/footer-modal-form.component';\nimport { Observable } from 'rxjs';\nimport { MCConfigModalForm } from '../entities/mc-config-modal-form';\nimport { MCFooterWithDeleteModalForm } from '../components/footer-with-delete-modal-form/footer-with-delete-modal-form.component';\n\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MCFormModalService {\n\n dialogService = inject(DialogService);\n\n open(config: MCConfigModalForm, withDelete?: boolean): Observable<MCFormModal> {\n let dialog: DynamicDialogRef<MCFormModal> = this.dialogService.open(MCFormModal, {\n header: config.title,\n style: config.style,\n styleClass: config.styleClass,\n closable: true,\n dismissableMask: true,\n duplicate: true,\n position: config.position,\n templates: {\n footer: withDelete ? MCFooterWithDeleteModalForm : MCFooterModalForm\n },\n data: config\n });\n\n return dialog.onChildComponentLoaded;\n }\n\n openRight(config: MCConfigModalForm, withDelete?: boolean): Observable<MCFormModal> {\n return this.open(MCFormModalService.initConfigRight(config), withDelete);\n }\n\n openRightWithDelete(config: MCConfigModalForm): Observable<MCFormModal> {\n return this.openRight(config, true);\n }\n\n openWithDelete(config: MCConfigModalForm) {\n return this.open(config, true);\n }\n\n static initConfigRight(config: any): any {\n config.position = config.position ?? 'right';\n config.style = config.style ?? { margin: '0px !important', 'max-height': '100%' };\n config.styleClass = config.styleClass ?? 'w-full md:w-2xl mc-form-modal';\n return config;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { AfterViewInit, Component, inject, OnDestroy, OnInit, signal } from '@angular/core';\nimport { MCForm } from '../form/form.component';\nimport { MCFormModal } from '../form-modal/form-modal.component';\nimport { MCConfigHttpModalForm } from '../../entities/mc-config-http-modal-form';\nimport { catchError, Subscription, take } from 'rxjs';\nimport { ToastModule } from 'primeng/toast';\nimport { MessageService } from 'primeng/api';\n\n@Component({\n selector: 'mc-http-form-modal',\n imports: [CommonModule, MCForm, ToastModule],\n providers: [MessageService],\n templateUrl: './http-form-modal.component.html',\n styleUrl: './http-form-modal.component.css'\n})\nexport class MCHttpFormModal extends MCFormModal implements OnInit, AfterViewInit, OnDestroy {\n\n messageService = inject(MessageService);\n\n override formConfig = signal<MCConfigHttpModalForm>(new MCConfigHttpModalForm());\n\n httpSubscription?: Subscription;\n\n ngAfterViewInit(): void {\n this.initEvents();\n }\n\n onSendRequest(item: any) {\n this.httpSubscription?.unsubscribe();\n\n this.httpSubscription = this.formConfig().http(item)\n .pipe(\n catchError((error: any) => {\n this.emitEvent({ key: 'stop-loading', content: undefined, dialog: this.dialogRef });\n this.messageService.add({ severity: 'error', summary: 'An error has occurred.', detail: error?.error?.message || error?.message?.message || error?.message || 'Unknown error', life: 3000 });\n throw error;\n })\n )\n .subscribe(resp => {\n this.emitEvent({ key: 'saved', content: resp, dialog: this.dialogRef });\n this.dialogRef.close();\n });\n }\n\n ngOnDestroy(): void {\n this.httpSubscription?.unsubscribe();\n }\n\n initEvents() {\n this.formComponent()!.getEventObs().subscribe(event => {\n if(event.key == 'submit'){\n this.onSendRequest(event.content);\n }\n });\n }\n}\n","<mc-form [config]=\"formConfig()\" />\n<p-toast />\n","import { inject, Injectable } from '@angular/core';\nimport { DialogService, DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { Observable } from 'rxjs';\nimport { MCFooterModalForm } from '../components/footer-modal-form/footer-modal-form.component';\nimport { MCHttpFormModal } from '../components/http-form-modal/http-form-modal.component';\nimport { MCConfigHttpModalForm } from '../entities/mc-config-http-modal-form';\nimport { MCFormModalService } from './form-modal.service';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MCHttpFormModalService extends MCFormModalService {\n\n override open(config: MCConfigHttpModalForm): Observable<MCHttpFormModal> {\n let dialog: DynamicDialogRef<MCHttpFormModal> = this.dialogService.open(MCHttpFormModal, {\n header: config.title,\n style: config.style,\n styleClass: config.styleClass,\n closable: true,\n dismissableMask: true,\n duplicate: true,\n position: config.position,\n templates: {\n footer: MCFooterModalForm\n },\n data: config\n });\n\n return dialog.onChildComponentLoaded;\n }\n\n override openRight(config: MCConfigHttpModalForm): Observable<MCHttpFormModal> {\n return this.open(MCFormModalService.initConfigRight(config));\n }\n}\n","import { Component, input } from \"@angular/core\";\nimport { MCField } from \"../entities/mc-field\";\nimport { UntypedFormControl, UntypedFormGroup } from \"@angular/forms\";\nimport { Subject } from \"rxjs\";\nimport { MCEventForm } from \"../entities/mc-event-form\";\n\n@Component({\n selector: 'mc-field',\n template: ''\n})\nexport class MCFieldComponent {\n field = input.required<MCField>();\n control = input<UntypedFormControl>();\n group = input.required<UntypedFormGroup>();\n eventObs = input<Subject<MCEventForm>>();\n}\n","import { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { IftaLabelModule } from 'primeng/iftalabel';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { MCField } from '../../entities/mc-field';\nimport { MCIftaField } from '../../entities/mc-ifta-field';\nimport { ReactiveFormsModule, ValidatorFn } from '@angular/forms';\n\n@Component({\n selector: 'mc-ifta-text-field',\n imports: [CommonModule, ReactiveFormsModule, IftaLabelModule, InputTextModule],\n templateUrl: './ifta-text-field.component.html',\n styleUrl: './ifta-text-field.component.css'\n})\nexport class IftaTextFieldComponent extends MCFieldComponent {\n\n}\n\nexport class IftaTextField {\n\n static init(key: string|undefined, label: string, config?: {\n validators?: ValidatorFn[],\n default_value?: any,\n disabled?: boolean\n }): MCField {\n return MCIftaField.init({\n key: key,\n component: IftaTextFieldComponent,\n label: label,\n validators: config?.validators,\n default_value: config?.default_value,\n disabled: config?.disabled\n });\n }\n\n}\n","<p-iftalabel>\n <input pInputText id=\"{{field().key}}\" class=\"w-full\" [formControl]=\"control()!\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n","import { Component, OnDestroy, OnInit, signal } from '@angular/core';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule } from 'primeng/button';\nimport { MCField } from '../../entities/mc-field';\nimport { MCIftaField } from '../../entities/mc-ifta-field';\nimport { MCEventForm } from '../../entities/mc-event-form';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'mc-submit-button-field',\n imports: [CommonModule, ButtonModule],\n templateUrl: './submit-button-field.component.html',\n styleUrl: './submit-button-field.component.css'\n})\nexport class SubmitButtonFieldComponent extends MCFieldComponent implements OnInit, OnDestroy {\n\n isLoading = signal<boolean>(false);\n\n eventSubscription?: Subscription;\n\n ngOnInit(): void {\n this.eventSubscription = this.eventObs()?.subscribe(event => {\n if(event.key == 'stop-loading') {\n this.isLoading.set(false);\n }\n });\n }\n\n ngOnDestroy(): void {\n this.eventSubscription?.unsubscribe();\n }\n\n onClick() {\n this.isLoading.set(true);\n this.eventObs()?.next(MCEventForm.init(this.field().key ?? 'submit', this.group()?.value));\n }\n}\n\nexport class SubmitButtonField {\n\n static init(key: string|undefined, label: string, config?: {\n icon?: string,\n disabled?: boolean\n }): MCField {\n let field = MCIftaField.init({\n key: key,\n component: SubmitButtonFieldComponent,\n label: label,\n disabled: config?.disabled,\n no_control: true\n });\n field.config.icon = config?.icon;\n return field;\n }\n\n}\n","<div class=\"flex justify-end\">\n <p-button [label]=\"field().config.label\" [disabled]=\"!group().valid || group().disabled\" (onClick)=\"onClick()\" [loading]=\"isLoading()\" [icon]=\"field().config.icon\" />\n</div>\n","import { Component, computed } from '@angular/core';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { MCField } from '../../entities/mc-field';\nimport { ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { PrintFieldComponent } from '../../components/print-field/print-field.component';\n\n@Component({\n selector: 'mc-group-field',\n imports: [CommonModule, ReactiveFormsModule, PrintFieldComponent],\n templateUrl: './group-field.component.html',\n styleUrl: './group-field.component.css'\n})\nexport class GroupFieldComponent extends MCFieldComponent {\n\n newGroup = computed<UntypedFormGroup|undefined>(() => {\n if(this.field().config?.is_new_group) {\n return this.group().get(this.field().key!) as UntypedFormGroup;\n }\n\n return undefined;\n });\n\n}\n\nexport class GroupField {\n\n static init(key: string, fields: MCField[]): MCField {\n let field = MCField.init({\n key: key,\n component: GroupFieldComponent,\n });\n field.config = {\n has_children: true,\n fields: fields,\n is_new_group: true\n }\n\n return field;\n }\n\n}\n","@if(newGroup()) {\n <div [formGroup]=\"newGroup()!\" class=\"mc-group-form\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"newGroup()!.get(field.key ?? '')\" [group]=\"newGroup()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MCField } from '../../entities/mc-field';\nimport { ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { PrintFieldComponent } from '../../components/print-field/print-field.component';\nimport { GroupFieldComponent } from '../group-field/group-field.component';\n\n@Component({\n selector: 'mc-row-field',\n imports: [CommonModule, ReactiveFormsModule, PrintFieldComponent],\n templateUrl: './row-field.component.html',\n styleUrl: './row-field.component.css'\n})\nexport class RowFieldComponent extends GroupFieldComponent {\n\n}\n\nexport class RowField {\n\n static initWithGroup(key: string, fields: MCField[]): MCField {\n let field = MCField.init({\n key: key,\n component: RowFieldComponent,\n });\n field.config = {\n has_children: true,\n fields: fields,\n is_new_group: true\n }\n\n return field;\n }\n\n static init(fields: MCField[], extra?: any): MCField {\n let field = MCField.init({\n component: RowFieldComponent,\n });\n\n field.config = {\n ...extra,\n has_children: true,\n fields: fields,\n is_new_group: false\n }\n\n return field;\n }\n}\n","@if(newGroup()) {\n <div [formGroup]=\"newGroup()!\" class=\"mc-row-form flex flex-row gap-3\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"newGroup()!.get(field.key ?? '')\" [group]=\"newGroup()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n} @else {\n <div class=\"mc-row-form flex flex-row gap-3\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"group()!.get(field.key ?? '')\" [group]=\"group()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n}\n","import { Component } from '@angular/core';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { MCField } from '../../entities/mc-field';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'mc-hidden-field',\n imports: [CommonModule],\n templateUrl: './hidden-field.component.html',\n styleUrl: './hidden-field.component.css'\n})\nexport class HiddenFieldComponent extends MCFieldComponent {\n\n}\n\nexport class HiddenField {\n\n static init(key: string|undefined): MCField {\n return MCField.init({\n key: key,\n component: HiddenFieldComponent\n });\n }\n\n}\n","","import { Component } from '@angular/core';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule, ValidatorFn } from '@angular/forms';\nimport { IftaLabelModule } from 'primeng/iftalabel';\nimport { MCField } from '../../entities/mc-field';\nimport { MCIftaField } from '../../entities/mc-ifta-field';\nimport { SelectModule } from 'primeng/select';\n\n@Component({\n selector: 'mc-ifta-select-field',\n imports: [CommonModule, ReactiveFormsModule, IftaLabelModule, SelectModule],\n templateUrl: './ifta-select-field.component.html',\n styleUrl: './ifta-select-field.component.css'\n})\nexport class IftaSelectFieldComponent extends MCFieldComponent {\n\n}\n\nexport class IftaSelectField {\n\n static init(\n key: string|undefined,\n label: string,\n options: any[],\n optionLabel?: string,\n optionValue?: string,\n config?: {\n validators?: ValidatorFn[],\n default_value?: any,\n disabled?: boolean\n }): MCField {\n let configObj = MCIftaField.init({\n key: key,\n component: IftaSelectFieldComponent,\n label: label,\n validators: config?.validators,\n default_value: config?.default_value,\n disabled: config?.disabled\n });\n configObj.config.options = options;\n configObj.config.optionLabel = optionLabel;\n configObj.config.optionValue = optionValue;\n\n return configObj;\n }\n\n}\n","<p-iftalabel>\n <p-select [formControl]=\"control()!\" inputId=\"{{field().key}}\" [options]=\"field().config.options\" [optionLabel]=\"field().config.optionLabel\" [optionValue]=\"field().config.optionValue\" styleClass=\"w-full\" [appendTo]=\"'body'\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n","import { Component, OnDestroy, OnInit, signal } from '@angular/core';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule, ValidatorFn } from '@angular/forms';\nimport { IftaLabelModule } from 'primeng/iftalabel';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { identity, Subscription } from 'rxjs';\nimport { MCIftaField } from '../../entities/mc-ifta-field';\nimport { MCField } from '../../entities/mc-field';\n\n@Component({\n selector: 'mc-ifta-text-conditional-field',\n imports: [CommonModule, ReactiveFormsModule, IftaLabelModule, InputTextModule],\n templateUrl: './ifta-text-conditional-field.component.html',\n styleUrl: './ifta-text-conditional-field.component.css'\n})\nexport class IftaTextConditionalFieldComponent extends MCFieldComponent implements OnInit, OnDestroy {\n\n isShow = signal<boolean>(false);\n\n valuesSubscription?: Subscription;\n\n ngOnInit(): void {\n this.loadObs();\n }\n\n ngOnDestroy(): void {\n this.valuesSubscription?.unsubscribe();\n }\n\n verifyCondition(values: any) {\n let field = this.field();\n\n let value = values[field.config.conditionalKey];\n if (value === field.config.conditionalValue) {\n this.isShow.set(true);\n } else {\n this.isShow.set(false);\n this.control()?.setValue(null, { emitEvent: false });\n }\n }\n\n loadObs() {\n this.valuesSubscription?.unsubscribe();\n\n this.verifyCondition(this.group().value);\n\n this.valuesSubscription = this.group().valueChanges\n .subscribe((value: any) => {\n this.verifyCondition(value);\n });\n }\n}\n\nexport class IftaTextConditionalField {\n\n static init(\n key: string|undefined,\n label: string,\n conditionalKey: string,\n conditionalValue: any,\n config?: {\n validators?: ValidatorFn[],\n default_value?: any,\n disabled?: boolean\n }): MCField {\n let configObj = MCIftaField.init({\n key: key,\n component: IftaTextConditionalFieldComponent,\n label: label,\n validators: config?.validators,\n default_value: config?.default_value,\n disabled: config?.disabled\n });\n configObj.config.conditionalKey = conditionalKey;\n configObj.config.conditionalValue = conditionalValue;\n\n return configObj;\n }\n\n}\n\n","@if(isShow()){\n <p-iftalabel>\n <input pInputText id=\"{{field().key}}\" class=\"w-full\" [formControl]=\"control()!\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n </p-iftalabel>\n}\n","import { Component, OnDestroy, OnInit, signal } from '@angular/core';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule, ValidatorFn } from '@angular/forms';\nimport { IftaLabelModule } from 'primeng/iftalabel';\nimport { MCField } from '../../entities/mc-field';\nimport { MCIftaField } from '../../entities/mc-ifta-field';\nimport { SelectModule } from 'primeng/select';\nimport { Observable, Subscription } from 'rxjs';\n\n@Component({\n selector: 'mc-ifta-select-obs-field',\n imports: [CommonModule, ReactiveFormsModule, IftaLabelModule, SelectModule],\n templateUrl: './ifta-select-obs-field.component.html',\n styleUrl: './ifta-select-obs-field.component.css'\n})\nexport class IftaSelectObsFieldComponent extends MCFieldComponent implements OnInit, OnDestroy {\n\n isLoading = signal<boolean>(false);\n\n options = signal<Array<any>>([]);\n \n optionsSubscription?: Subscription;\n\n ngOnInit(): void {\n this.loadObs();\n }\n\n ngOnDestroy(): void {\n this.optionsSubscription?.unsubscribe();\n }\n\n loadObs() {\n this.isLoading.set(true);\n this.optionsSubscription?.unsubscribe();\n\n this.optionsSubscription = this.field().config.optionObs()\n .subscribe((value: Array<any>) => {\n this.options.set(value);\n this.isLoading.set(false);\n });\n }\n}\n\nexport class IftaSelectObsField {\n\n static init(\n key: string|undefined,\n label: string,\n optionObs: () => Observable<Array<any>>,\n optionLabel?: string,\n optionValue?: string,\n config?: {\n validators?: ValidatorFn[],\n default_value?: any,\n disabled?: boolean\n }): MCField {\n let configObj = MCIftaField.init({\n key: key,\n component: IftaSelectObsFieldComponent,\n label: label,\n validators: config?.validators,\n default_value: config?.default_value,\n disabled: config?.disabled\n });\n configObj.config.optionObs = optionObs;\n configObj.config.optionLabel = optionLabel;\n configObj.config.optionValue = optionValue;\n\n return configObj;\n }\n\n}\n","<p-iftalabel>\n <p-select [formControl]=\"control()!\" inputId=\"{{field().key}}\" [options]=\"options()\" [optionLabel]=\"field().config.optionLabel\" [optionValue]=\"field().config.optionValue\" styleClass=\"w-full\" [appendTo]=\"'body'\" [loading]=\"isLoading()\" />\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n ","import { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { DividerModule } from 'primeng/divider';\nimport { MCField } from '../../entities/mc-field';\nimport { MCFieldComponent } from '../mc-field.component';\n\n@Component({\n selector: 'mc-divider-field',\n imports: [CommonModule, DividerModule],\n templateUrl: './divider-field.component.html',\n styleUrl: './divider-field.component.css'\n})\nexport class DividerFieldComponent extends MCFieldComponent {\n\n}\n\nexport class DividerField {\n\n static init(label: string|undefined): MCField {\n let field = MCField.init({\n component: DividerFieldComponent,\n no_control: true,\n });\n field.config.label = label;\n return field;\n }\n\n}\n","<p-divider align=\"center\"><b>{{field().config.label}}</b></p-divider>","import { Component, computed, inject } from '@angular/core';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { MCField } from '../../entities/mc-field';\nimport { CommonModule } from '@angular/common';\nimport { FormArray, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { MCFormService } from '../../services/mc-form.service';\nimport { PrintFieldComponent } from '../../components/print-field/print-field.component';\nimport { ButtonModule } from 'primeng/button';\nimport { PanelModule } from 'primeng/panel';\n\n@Component({\n selector: 'mc-array-field',\n imports: [CommonModule, ReactiveFormsModule, PrintFieldComponent, PanelModule, ButtonModule],\n templateUrl: './array-field.component.html',\n styleUrl: './array-field.component.css'\n})\nexport class ArrayFieldComponent extends MCFieldComponent {\n\n formService = inject(MCFormService);\n\n formArray = computed(() => {\n let formArray: FormArray<UntypedFormGroup> = (this.group().get(this.field().key!)) as FormArray<UntypedFormGroup>;\n return formArray;\n });\n\n onClickAdd() {\n let formArray: FormArray<UntypedFormGroup> = (this.group().get(this.field().key!)) as FormArray<UntypedFormGroup>;\n\n let newGroup = new UntypedFormGroup({});\n this.formService.loadFields(newGroup, this.field().config.fields, {});\n\n formArray.push(newGroup);\n }\n\n onClickRemove(index: number) {\n let formArray: FormArray<UntypedFormGroup> = (this.group().get(this.field().key!)) as FormArray<UntypedFormGroup>;\n formArray.removeAt(index);\n }\n}\n\n\nexport class ArrayField {\n\n static init(key: string, fields: MCField[], data?: {\n labelAddButton?: string,\n labelTitlePanel?: string,\n }): MCField {\n let field = MCField.init({\n key: key,\n component: ArrayFieldComponent,\n });\n field.config = {\n is_array: true,\n fields: fields,\n labelAddButton: data?.labelAddButton,\n labelTitlePanel: data?.labelTitlePanel,\n }\n\n return field;\n }\n\n}\n","\n<div class=\"mc-array-form\">\n <div *ngFor=\"let row of formArray().controls; let i = index\">\n\n <p-panel [header]=\"field().config?.labelTitlePanel\" styleClass=\"mb-3\">\n <ng-template #icons>\n <p-button icon=\"pi pi-trash\" severity=\"danger\" rounded text (onClick)=\"onClickRemove(i)\" />\n </ng-template>\n\n <div [formGroup]=\"row\" class=\"mc-array-group-form\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"row.get(field.key ?? '')\" [group]=\"row\" [eventObs]=\"eventObs()\" />\n </div>\n }\n </div>\n </p-panel>\n\n </div>\n</div>\n\n<p-button [label]=\"field().config?.labelAddButton ?? 'Add row'\" [link]=\"true\" icon=\"pi pi-plus-circle\" (onClick)=\"onClickAdd()\" />\n\n","import { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { IftaLabelModule } from 'primeng/iftalabel';\nimport { TextareaModule } from 'primeng/textarea';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { MCField } from '../../entities/mc-field';\nimport { MCIftaField } from '../../entities/mc-ifta-field';\nimport { ReactiveFormsModule, ValidatorFn } from '@angular/forms';\n\n@Component({\n selector: 'mc-ifta-textarea-field',\n imports: [CommonModule, ReactiveFormsModule, IftaLabelModule, TextareaModule],\n templateUrl: './ifta-textarea-field.component.html',\n styleUrl: './ifta-textarea-field.component.css'\n})\nexport class IftaTextareaFieldComponent extends MCFieldComponent {\n\n}\n\nexport class IftaTextareaField {\n\n static init(key: string|undefined, label: string, config?: {\n validators?: ValidatorFn[],\n default_value?: any,\n disabled?: boolean\n }): MCField {\n return MCIftaField.init({\n key: key,\n component: IftaTextareaFieldComponent,\n label: label,\n validators: config?.validators,\n default_value: config?.default_value,\n disabled: config?.disabled\n });\n }\n\n}\n","<p-iftalabel>\n <textarea pTextarea id=\"{{field().key}}\" rows=\"5\" cols=\"30\" style=\"resize: none\" class=\"w-full\" [formControl]=\"control()!\"></textarea>\n <label for=\"{{field().key}}\">{{field().config.label}}</label>\n</p-iftalabel>\n","import { Component, OnDestroy, OnInit, signal } from '@angular/core';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { PrintFieldComponent } from '../../components/print-field/print-field.component';\nimport { MCField } from '../../entities/mc-field';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'mc-conditional-field',\n imports: [CommonModule, ReactiveFormsModule, PrintFieldComponent],\n templateUrl: './conditional-field.component.html',\n styleUrl: './conditional-field.component.css'\n})\nexport class ConditionalFieldComponent extends MCFieldComponent implements OnInit, OnDestroy {\n isShow = signal<boolean>(false);\n\n valuesSubscription?: Subscription;\n\n ngOnInit(): void {\n this.loadObs();\n }\n\n ngOnDestroy(): void {\n this.valuesSubscription?.unsubscribe();\n }\n\n verifyCondition(values: any) {\n let field = this.field();\n\n let value = values[field.config.conditionalKey];\n let isMatch = false;\n\n // Verify if array\n if (Array.isArray(field.config.conditionalValue)) {\n isMatch = field.config.conditionalValue.includes(value);\n } else {\n isMatch = value === field.config.conditionalValue;\n }\n\n if (isMatch) {\n this.isShow.set(true);\n } else {\n this.isShow.set(false);\n this.control()?.setValue(null, { emitEvent: false });\n }\n }\n\n loadObs() {\n this.valuesSubscription?.unsubscribe();\n\n this.verifyCondition(this.group().value);\n\n this.valuesSubscription = this.group().valueChanges\n .subscribe((value: any) => {\n this.verifyCondition(value);\n });\n }\n}\n\nexport class ConditionalField {\n\n static init(\n conditionalKey: string,\n conditionalValue: any,\n fields: MCField[],\n valuesAreNumbers?: boolean\n ): MCField {\n let field = MCField.init({\n component: ConditionalFieldComponent,\n });\n field.config = {\n has_children: true,\n fields: fields,\n is_new_group: false,\n conditionalKey: conditionalKey,\n conditionalValue: conditionalValue,\n valuesAreNumbers: valuesAreNumbers,\n }\n\n return field;\n }\n}\n","@if(isShow()){\n @for (field of field().config.fields; track $index) {\n <mc-print-field [field]=\"field\" [control]=\"group()!.get(field.key ?? '')\" [group]=\"group()!\" [eventObs]=\"eventObs()\" />\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, computed } from '@angular/core';\nimport { FormArray, FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ButtonModule } from 'primeng/button';\nimport { PanelModule } from 'primeng/panel';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { MCField } from '../../entities/mc-field';\nimport { IftaLabelModule } from 'primeng/iftalabel';\nimport { InputTextModule } from 'primeng/inputtext';\n\n@Component({\n selector: 'mc-array-ifta-text-field',\n imports: [CommonModule, ReactiveFormsModule, PanelModule, ButtonModule, IftaLabelModule, InputTextModule],\n templateUrl: './array-ifta-text-field.component.html',\n styleUrl: './array-ifta-text-field.component.css'\n})\nexport class ArrayIftaTextFieldComponent extends MCFieldComponent {\n\n formArray = computed(() => {\n let formArray: FormArray<FormControl<string>> = (this.group().get(this.field().key!)) as FormArray<FormControl<string>>;\n return formArray;\n });\n\n onClickAdd() {\n let formArray: FormArray<FormControl<string|null>> = (this.group().get(this.field().key!)) as FormArray<FormControl<string|null>>;\n formArray.push(new FormControl<string>(''));\n }\n\n onClickRemove(index: number) {\n let formArray: FormArray<FormControl<string|null>> = (this.group().get(this.field().key!)) as FormArray<FormControl<string|null>>;\n formArray.removeAt(index);\n }\n}\n\nexport class ArrayIftaTextField {\n\n static init(key: string, data?: {\n labelAddButton?: string,\n labelTitlePanel?: string,\n }): MCField {\n let field = MCField.init({\n key: key,\n component: ArrayIftaTextFieldComponent,\n });\n field.config = {\n is_array_string: true,\n labelAddButton: data?.labelAddButton,\n labelTitlePanel: data?.labelTitlePanel,\n }\n\n return field;\n }\n\n}\n","\n<div class=\"mc-array-text-form\">\n <div *ngFor=\"let row of formArray().controls; let i = index\">\n\n <div class=\"flex flex-row justify-between mc-array-group-form\">\n <p-iftalabel class=\"mb-3 w-full\">\n <input pInputText id=\"{{field().key}}_{{i}}\" class=\"w-full\" [formControl]=\"row\" />\n <label for=\"{{field().key}}_{{i}}\">Param {{(i+1)}}</label>\n </p-iftalabel>\n\n <p-button icon=\"pi pi-trash\" severity=\"danger\" rounded text (onClick)=\"onClickRemove(i)\" styleClass=\"ml-3\" />\n </div>\n\n </div>\n</div>\n\n<p-button [label]=\"field().config?.labelAddButton ?? 'Add row'\" [link]=\"true\" icon=\"pi pi-plus-circle\" (onClick)=\"onClickAdd()\" />\n\n","import { Component } from '@angular/core';\nimport { MCFieldComponent } from '../mc-field.component';\nimport { CommonModule } from '@angular/common';\nimport { MCField } from '../../entities/mc-field';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { PrintFieldComponent } from '../../components/print-field/print-field.component';\n\n@Component({\n selector: 'mc-column-field',\n imports: [CommonModule, ReactiveFormsModule, PrintFieldComponent],\n templateUrl: './column-field.component.html',\n styleUrl: './column-field.component.css'\n})\nexport class ColumnFieldComponent extends MCFieldComponent {\n\n}\n\nexport class ColumnField {\n\n static init(fields: MCField[], extra?: any): MCField {\n let field = MCField.init({\n component: ColumnFieldComponent,\n });\n\n field.config = {\n ...extra,\n has_children: true,\n fields: fields,\n is_new_group: false\n }\n\n return field;\n }\n}\n","<div class=\"mc-column-form\">\n @for (field of field().config.fields; track $index) {\n <div class=\"{{(field.config.containerFieldClass || 'mb-3 w-full')}}\">\n <mc-print-field [field]=\"field\" [control]=\"group()!.get(field.key ?? '')\" [group]=\"group()!\" [eventObs]=\"eventObs()\" />\n </div>\n }\n</div>","/*\n * Public API Surface of form\n */\n\n/**\n * Entities\n */\nexport * from './lib/entities/mc-field';\nexport * from './lib/entities/mc-ifta-field';\nexport * from './lib/entities/mc-config-form';\nexport * from './lib/entities/mc-event-form';\nexport * from './lib/entities/mc-config-modal-form';\nexport * from './lib/entities/mc-config-http-modal-form';\n\n/**\n * RxJS\n */\nexport * from './lib/rxjs/mc-event-form-modal-operator';\n\n/**\n * Services\n */\nexport * from './lib/services/mc-form.service';\nexport * from './lib/services/form-modal.service';\nexport * from './lib/services/http-form-modal.service';\n\n/**\n * Fields\n */\nexport * from './lib/fields/mc-field.component';\nexport * from './lib/fields/ifta-text-field/ifta-text-field.component';\nexport * from './lib/fields/submit-button-field/submit-button-field.component';\nexport * from './lib/fields/row-field/row-field.component';\nexport * from './lib/fields/hidden-field/hidden-field.component';\nexport * from './lib/fields/group-field/group-field.component';\nexport * from './lib/fields/ifta-select-field/ifta-select-field.component';\nexport * from './lib/fields/ifta-text-conditional-field/ifta-text-conditional-field.component';\nexport * from './lib/fields/ifta-select-obs-field/ifta-select-obs-field.component';\nexport * from './lib/fields/divider-field/divider-field.component';\nexport * from './lib/fields/array-field/array-field.component';\nexport * from './lib/fields/ifta-textarea-field/ifta-textarea-field.component';\nexport * from './lib/fields/conditional-field/conditional-field.component';\nexport * from './lib/fields/array-ifta-text-field/array-ifta-text-field.component';\nexport * from './lib/fields/column-field/column-field.component';\n\n/**\n * Components\n */\nexport * from './lib/components/print-field/print-field.component';\nexport * from './lib/components/form/form.component';\nexport * from './lib/components/form-modal/form-modal.component';\nexport * from './lib/components/http-form-modal/http-form-modal.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3","i2","i4","i5"],"mappings":"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"}
@@ -11,5 +11,6 @@ export declare class MCField {
11
11
  default_value?: any;
12
12
  disabled?: boolean;
13
13
  no_control?: boolean;
14
+ extra?: any;
14
15
  }): MCField;
15
16
  }
@@ -0,0 +1,10 @@
1
+ import { MCFieldComponent } from '../mc-field.component';
2
+ import { MCField } from '../../entities/mc-field';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ColumnFieldComponent extends MCFieldComponent {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<ColumnFieldComponent, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<ColumnFieldComponent, "mc-column-field", never, {}, {}, never, never, true, never>;
7
+ }
8
+ export declare class ColumnField {
9
+ static init(fields: MCField[], extra?: any): MCField;
10
+ }
@@ -7,5 +7,5 @@ export declare class RowFieldComponent extends GroupFieldComponent {
7
7
  }
8
8
  export declare class RowField {
9
9
  static initWithGroup(key: string, fields: MCField[]): MCField;
10
- static init(fields: MCField[]): MCField;
10
+ static init(fields: MCField[], extra?: any): MCField;
11
11
  }
@@ -0,0 +1,4 @@
1
+ import { MonoTypeOperatorFunction } from 'rxjs';
2
+ import { MCEventModalForm } from '../components/form-modal/form-modal.component';
3
+ export declare function mcEventFormOperator(eventKey: string, onEvent: (event: MCEventModalForm) => void): MonoTypeOperatorFunction<MCEventModalForm>;
4
+ export declare function mcSavedEventFormOperator(onSaved: () => void): MonoTypeOperatorFunction<MCEventModalForm>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mckit/form",
3
- "version": "19.0.24",
3
+ "version": "19.0.26",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.1.0",
6
6
  "@angular/core": "^19.1.0",
@@ -8,7 +8,7 @@
8
8
  "@mckit/core": "^19.0.0"
9
9
  },
10
10
  "dependencies": {
11
- "tslib": "^2.3.0"
11
+ "tslib": "^2.6.2"
12
12
  },
13
13
  "sideEffects": false,
14
14
  "module": "fesm2022/mckit-form.mjs",
package/public-api.d.ts CHANGED
@@ -7,6 +7,10 @@ export * from './lib/entities/mc-config-form';
7
7
  export * from './lib/entities/mc-event-form';
8
8
  export * from './lib/entities/mc-config-modal-form';
9
9
  export * from './lib/entities/mc-config-http-modal-form';
10
+ /**
11
+ * RxJS
12
+ */
13
+ export * from './lib/rxjs/mc-event-form-modal-operator';
10
14
  /**
11
15
  * Services
12
16
  */
@@ -30,6 +34,7 @@ export * from './lib/fields/array-field/array-field.component';
30
34
  export * from './lib/fields/ifta-textarea-field/ifta-textarea-field.component';
31
35
  export * from './lib/fields/conditional-field/conditional-field.component';
32
36
  export * from './lib/fields/array-ifta-text-field/array-ifta-text-field.component';
37
+ export * from './lib/fields/column-field/column-field.component';
33
38
  /**
34
39
  * Components
35
40
  */