@stemy/ngx-dynamic-form 12.0.1 → 12.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. package/bundles/stemy-ngx-dynamic-form.umd.js +98 -81
  2. package/bundles/stemy-ngx-dynamic-form.umd.js.map +1 -1
  3. package/esm2015/ngx-dynamic-form/common-types.js +24 -8
  4. package/esm2015/ngx-dynamic-form/components/dynamic-form/dynamic-form.component.js +13 -4
  5. package/esm2015/ngx-dynamic-form/components/dynamic-form-file/dynamic-form-file.component.js +6 -13
  6. package/esm2015/ngx-dynamic-form/components/dynamic-form-group/dynamic-form-group.component.js +9 -2
  7. package/esm2015/ngx-dynamic-form/components/dynamic-form-input/dynamic-form-input.component.js +3 -10
  8. package/esm2015/ngx-dynamic-form/components/dynamic-forms/dynamic-forms.component.js +12 -3
  9. package/esm2015/ngx-dynamic-form/directives/dynamic-form-group.directive.js +1 -3
  10. package/esm2015/public_api.js +3 -2
  11. package/esm2015/stemy-ngx-dynamic-form.js +1 -2
  12. package/fesm2015/stemy-ngx-dynamic-form.js +90 -66
  13. package/fesm2015/stemy-ngx-dynamic-form.js.map +1 -1
  14. package/ngx-dynamic-form/common-types.d.ts +14 -7
  15. package/ngx-dynamic-form/components/dynamic-form-file/dynamic-form-file.component.d.ts +1 -4
  16. package/ngx-dynamic-form/components/dynamic-form-group/dynamic-form-group.component.d.ts +3 -2
  17. package/ngx-dynamic-form/components/dynamic-form-input/dynamic-form-input.component.d.ts +0 -3
  18. package/ngx-dynamic-form/directives/dynamic-form-group.directive.d.ts +1 -2
  19. package/package.json +1 -1
  20. package/public_api.d.ts +2 -1
  21. package/stemy-ngx-dynamic-form.d.ts +0 -1
  22. package/stemy-ngx-dynamic-form.metadata.json +1 -1
@@ -315,16 +315,22 @@
315
315
 
316
316
  var FORM_GROUP_TYPE = new core.InjectionToken("form-group-provider");
317
317
  var FORM_CONTROL_PROVIDER = new core.InjectionToken("form-control-provider");
318
+ var DYNAMIC_FORM = new core.InjectionToken("dynamic-form-base");
318
319
  var FormControlComponent = /** @class */ (function () {
319
- function FormControlComponent() {
320
+ function FormControlComponent(api, form, language, toaster) {
321
+ this.api = api;
322
+ this.form = form;
323
+ this.language = language;
324
+ this.toaster = toaster;
325
+ this.ctrInit();
320
326
  }
321
- Object.defineProperty(FormControlComponent.prototype, "form", {
322
- get: function () {
323
- return !this.control ? null : this.control.form;
324
- },
325
- enumerable: false,
326
- configurable: true
327
- });
327
+ FormControlComponent.prototype.ctrInit = function () {
328
+ };
329
+ FormControlComponent.prototype.ngOnInit = function () {
330
+ if (!this.control)
331
+ return;
332
+ this.control.form = this.form;
333
+ };
328
334
  Object.defineProperty(FormControlComponent.prototype, "data", {
329
335
  get: function () {
330
336
  return (!this.control ? {} : this.control.data);
@@ -367,6 +373,12 @@
367
373
  FormControlComponent.decorators = [
368
374
  { type: core.Directive }
369
375
  ];
376
+ FormControlComponent.ctorParameters = function () { return [
377
+ { type: ngxUtils.ApiService },
378
+ { type: undefined, decorators: [{ type: core.Inject, args: [DYNAMIC_FORM,] }] },
379
+ { type: undefined, decorators: [{ type: core.Inject, args: [ngxUtils.LANGUAGE_SERVICE,] }] },
380
+ { type: undefined, decorators: [{ type: core.Inject, args: [ngxUtils.TOASTER_SERVICE,] }] }
381
+ ]; };
370
382
  FormControlComponent.propDecorators = {
371
383
  inputClass: [{ type: core.HostBinding, args: ["class.form-input",] }]
372
384
  };
@@ -801,6 +813,7 @@
801
813
  _this.control = control;
802
814
  _this.group = group;
803
815
  _this.group.addControl(control.id, _this);
816
+ _this.form = _this.group.form;
804
817
  _this.helper = new DynamicFormControlHelper(_this.form, control);
805
818
  _this.helper.findProvider(_this);
806
819
  _this.valueChanges.subscribe(function () { return _this.group.updateModel(_this); });
@@ -842,13 +855,6 @@
842
855
  enumerable: false,
843
856
  configurable: true
844
857
  });
845
- Object.defineProperty(DynamicFormControl.prototype, "form", {
846
- get: function () {
847
- return this.group.form;
848
- },
849
- enumerable: false,
850
- configurable: true
851
- });
852
858
  Object.defineProperty(DynamicFormControl.prototype, "injector", {
853
859
  get: function () {
854
860
  return this.form.injector;
@@ -1525,6 +1531,47 @@
1525
1531
  innerFormSuffix: [{ type: core.Input }]
1526
1532
  };
1527
1533
 
1534
+ var DynamicFormGroupDirective = /** @class */ (function () {
1535
+ function DynamicFormGroupDirective(vcr, forms) {
1536
+ this.vcr = vcr;
1537
+ this.forms = forms;
1538
+ }
1539
+ Object.defineProperty(DynamicFormGroupDirective.prototype, "component", {
1540
+ get: function () {
1541
+ return this.comp;
1542
+ },
1543
+ enumerable: false,
1544
+ configurable: true
1545
+ });
1546
+ DynamicFormGroupDirective.prototype.ngOnChanges = function (changes) {
1547
+ if (changes.control || changes.form || changes.visible) {
1548
+ if (!this.visible) {
1549
+ this.vcr.clear();
1550
+ this.comp = null;
1551
+ return;
1552
+ }
1553
+ this.comp = this.forms.createGroup(this.vcr);
1554
+ }
1555
+ if (!this.comp)
1556
+ return;
1557
+ this.comp.control = this.control;
1558
+ };
1559
+ return DynamicFormGroupDirective;
1560
+ }());
1561
+ DynamicFormGroupDirective.decorators = [
1562
+ { type: core.Directive, args: [{
1563
+ selector: "[form-group]",
1564
+ },] }
1565
+ ];
1566
+ DynamicFormGroupDirective.ctorParameters = function () { return [
1567
+ { type: core.ViewContainerRef },
1568
+ { type: DynamicFormService }
1569
+ ]; };
1570
+ DynamicFormGroupDirective.propDecorators = {
1571
+ control: [{ type: core.Input, args: ["form-group",] }],
1572
+ visible: [{ type: core.Input }]
1573
+ };
1574
+
1528
1575
  var DynamicFormBaseComponent = /** @class */ (function () {
1529
1576
  function DynamicFormBaseComponent(cdr, formService) {
1530
1577
  this.formService = formService;
@@ -1700,8 +1747,17 @@
1700
1747
  { type: core.Component, args: [{
1701
1748
  moduleId: module.id,
1702
1749
  selector: "dynamic-form, [dynamic-form]",
1703
- template: "<ng-template #defaultFieldSetTemplate let-id=\"id\" let-controls=\"controls\" let-fieldSet=\"fieldSet\">\r\n <div [ngClass]=\"['form-fields', 'form-fields-' + id, fieldSet.classes]\">\r\n <ng-container [ngxTemplateOutlet]=\"setPrefixTemplates[fieldSet.id]\" [context]=\"fieldSet\"></ng-container>\r\n <div *ngIf=\"fieldSet.title\" [ngClass]=\"['form-title', fieldSet.titleClasses || '']\">\r\n {{ group.prefix + fieldSet.title | translate }}\r\n </div>\r\n <ng-template #subControls>\r\n <ng-container *ngFor=\"let control of controls\" [form-group]=\"control\" [visible]=\"control.visible\" [form]=\"this\">\r\n\r\n </ng-container>\r\n </ng-template>\r\n <div *ngIf=\"fieldSet.setClasses; else subControls\" [ngClass]=\"fieldSet.setClasses\">\r\n <div *ngIf=\"fieldSet.controlClasses; else subControls\" [ngClass]=\"fieldSet.controlClasses\">\r\n <ng-container [ngTemplateOutlet]=\"subControls\"></ng-container>\r\n </div>\r\n </div>\r\n <ng-container [ngxTemplateOutlet]=\"setSuffixTemplates[fieldSet.id]\" [context]=\"fieldSet\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #fieldSetsTemplate>\r\n <ng-container *ngFor=\"let fs of formControls | groupBy:'data.fieldSet'\"\r\n [ngxTemplateOutlet]=\"fieldSetTemplate || defaultFieldSetTemplate\"\r\n [context]=\"{form: this, id: fs.group, controls: fs.items, fieldSet: group.formFields[fs.group] || defaultFieldSet}\">\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #defaultWrapperTemplate let-form=\"form\" let-fieldSetsTemplate=\"fieldSetsTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"prefixTemplate\"\r\n [ngTemplateOutletContext]=\"{form: form, fieldSetsTemplate: fieldSetsTemplate}\"></ng-container>\r\n <form class=\"dynamic-form\" [ngClass]=\"form.classes || ''\" [formGroup]=\"group\" (submit)=\"onFormSubmit()\">\r\n <ng-container [ngTemplateOutlet]=\"fieldSetsTemplate\"></ng-container>\r\n <ng-content></ng-content>\r\n <div *ngIf=\"form.status == 'PENDING'\" class=\"dynamic-form-validator\">\r\n {{ group.prefix + 'message.pending' | translate }}\r\n </div>\r\n <button [ngStyle]=\"{display: 'none'}\">Submit</button>\r\n </form>\r\n <ng-container [ngTemplateOutlet]=\"suffixTemplate\"\r\n [ngTemplateOutletContext]=\"{form: form, fieldSetsTemplate: fieldSetsTemplate}\"></ng-container>\r\n</ng-template>\r\n<ng-template #loadingTemplate>\r\n <div *ngIf=\"status == 'LOADING'\" class=\"dynamic-form-loader\">\r\n {{ group.prefix + 'message.loading' | translate }}\r\n </div>\r\n</ng-template>\r\n<ng-container [ngTemplateOutlet]=\"wrapperTemplate || defaultWrapperTemplate\"\r\n [ngTemplateOutletContext]=\"{form: this, fieldSetsTemplate: fieldSetsTemplate}\"\r\n *ngIf=\"status !== 'LOADING'; else loadingTemplate\">\r\n</ng-container>\r\n",
1704
- providers: [{ provide: DynamicFormBaseComponent, useExisting: DynamicFormComponent }]
1750
+ template: "<ng-template #defaultFieldSetTemplate let-id=\"id\" let-controls=\"controls\" let-fieldSet=\"fieldSet\">\r\n <div [ngClass]=\"['form-fields', 'form-fields-' + id, fieldSet.classes]\">\r\n <ng-container [ngxTemplateOutlet]=\"setPrefixTemplates[fieldSet.id]\" [context]=\"fieldSet\"></ng-container>\r\n <div *ngIf=\"fieldSet.title\" [ngClass]=\"['form-title', fieldSet.titleClasses || '']\">\r\n {{ group.prefix + fieldSet.title | translate }}\r\n </div>\r\n <ng-template #subControls>\r\n <ng-container *ngFor=\"let control of controls\" [form-group]=\"control\" [visible]=\"control.visible\">\r\n\r\n </ng-container>\r\n </ng-template>\r\n <div *ngIf=\"fieldSet.setClasses; else subControls\" [ngClass]=\"fieldSet.setClasses\">\r\n <div *ngIf=\"fieldSet.controlClasses; else subControls\" [ngClass]=\"fieldSet.controlClasses\">\r\n <ng-container [ngTemplateOutlet]=\"subControls\"></ng-container>\r\n </div>\r\n </div>\r\n <ng-container [ngxTemplateOutlet]=\"setSuffixTemplates[fieldSet.id]\" [context]=\"fieldSet\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #fieldSetsTemplate>\r\n <ng-container *ngFor=\"let fs of formControls | groupBy:'data.fieldSet'\"\r\n [ngxTemplateOutlet]=\"fieldSetTemplate || defaultFieldSetTemplate\"\r\n [context]=\"{form: this, id: fs.group, controls: fs.items, fieldSet: group.formFields[fs.group] || defaultFieldSet}\">\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #defaultWrapperTemplate let-form=\"form\" let-fieldSetsTemplate=\"fieldSetsTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"prefixTemplate\"\r\n [ngTemplateOutletContext]=\"{form: form, fieldSetsTemplate: fieldSetsTemplate}\"></ng-container>\r\n <form class=\"dynamic-form\" [ngClass]=\"form.classes || ''\" [formGroup]=\"group\" (submit)=\"onFormSubmit()\">\r\n <ng-container [ngTemplateOutlet]=\"fieldSetsTemplate\"></ng-container>\r\n <ng-content></ng-content>\r\n <div *ngIf=\"form.status == 'PENDING'\" class=\"dynamic-form-validator\">\r\n {{ group.prefix + 'message.pending' | translate }}\r\n </div>\r\n <button [ngStyle]=\"{display: 'none'}\">Submit</button>\r\n </form>\r\n <ng-container [ngTemplateOutlet]=\"suffixTemplate\"\r\n [ngTemplateOutletContext]=\"{form: form, fieldSetsTemplate: fieldSetsTemplate}\"></ng-container>\r\n</ng-template>\r\n<ng-template #loadingTemplate>\r\n <div *ngIf=\"status == 'LOADING'\" class=\"dynamic-form-loader\">\r\n {{ group.prefix + 'message.loading' | translate }}\r\n </div>\r\n</ng-template>\r\n<ng-container [ngTemplateOutlet]=\"wrapperTemplate || defaultWrapperTemplate\"\r\n [ngTemplateOutletContext]=\"{form: this, fieldSetsTemplate: fieldSetsTemplate}\"\r\n *ngIf=\"status !== 'LOADING'; else loadingTemplate\">\r\n</ng-container>\r\n",
1751
+ providers: [
1752
+ {
1753
+ provide: DynamicFormBaseComponent,
1754
+ useExisting: DynamicFormComponent
1755
+ },
1756
+ {
1757
+ provide: DYNAMIC_FORM,
1758
+ useExisting: DynamicFormComponent
1759
+ }
1760
+ ]
1705
1761
  },] }
1706
1762
  ];
1707
1763
  DynamicFormComponent.ctorParameters = function () { return [
@@ -1843,7 +1899,16 @@
1843
1899
  moduleId: module.id,
1844
1900
  selector: "dynamic-forms, [dynamic-forms]",
1845
1901
  template: "<ng-template #configTemplate let-formTemplate=\"formTemplate\" let-form=\"form\" let-config=\"config\" let-configTemplate>\r\n <div [ngClass]=\"config.classes || ''\">\r\n <ng-container [ngTemplateOutlet]=\"formPrefixTemplates[config.id]\"\r\n [ngTemplateOutletContext]=\"{config: config, form: form}\"></ng-container>\r\n <ng-template #singleFormTemplate>\r\n <div dynamic-form\r\n [hidden]=\"!config.group?.visible\"\r\n [ngClass]=\"config.formClasses || ''\"\r\n [name]=\"config.name || form.name\"\r\n [testId]=\"testId + '-' + (config.testId || config.name || name)\"\r\n [readonly]=\"form.readonly\"\r\n [updateOn]=\"form.updateOn\"\r\n [classes]=\"config.innerFormClasses\"\r\n [parent]=\"form\"\r\n\r\n [wrapperTemplate]=\"form.wrapperTemplate\"\r\n [fieldSetTemplate]=\"form.fieldSetTemplate\"\r\n [controlTemplates]=\"form.controlTemplates\"\r\n\r\n [controlTemplate]=\"form.controlTemplate\"\r\n [labelTemplates]=\"form.labelTemplates\"\r\n [inputTemplates]=\"form.inputTemplates\"\r\n [prefixTemplates]=\"form.prefixTemplates\"\r\n [suffixTemplates]=\"form.suffixTemplates\"\r\n [setPrefixTemplates]=\"form.setPrefixTemplates\"\r\n [setSuffixTemplates]=\"form.setSuffixTemplates\"\r\n\r\n [group]=\"config.group\"\r\n [fieldSets]=\"config.fieldSets\">\r\n <ng-template #prefixTemplate let-subForm=\"form\">\r\n <ng-container [ngTemplateOutlet]=\"form.innerFormPrefixTemplates[config.id]\"\r\n [ngTemplateOutletContext]=\"{config: config, form: subForm}\"></ng-container>\r\n </ng-template>\r\n <ng-template #suffixTemplate let-subForm=\"form\">\r\n <ng-container [ngTemplateOutlet]=\"form.innerFormSuffixTemplates[config.id]\"\r\n [ngTemplateOutletContext]=\"{config: config, form: subForm}\"></ng-container>\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n <div dynamic-forms\r\n [ngClass]=\"config.formClasses || ''\"\r\n [name]=\"config.name || name\"\r\n [testId]=\"testId + '-' + (config.testId || config.name || name)\"\r\n [readonly]=\"form.readonly\"\r\n [updateOn]=\"form.updateOn\"\r\n [classes]=\"config.innerFormClasses\"\r\n [parent]=\"form\"\r\n\r\n [wrapperTemplate]=\"form.wrapperTemplate\"\r\n [fieldSetTemplate]=\"form.fieldSetTemplate\"\r\n [controlTemplates]=\"form.controlTemplates\"\r\n\r\n [controlTemplate]=\"form.controlTemplate\"\r\n [labelTemplates]=\"form.labelTemplates\"\r\n [inputTemplates]=\"form.inputTemplates\"\r\n [prefixTemplates]=\"form.prefixTemplates\"\r\n [suffixTemplates]=\"form.suffixTemplates\"\r\n [setPrefixTemplates]=\"form.setPrefixTemplates\"\r\n [setSuffixTemplates]=\"form.setSuffixTemplates\"\r\n\r\n [data]=\"config.data\"\r\n [containerTemplate]=\"form.containerTemplate\"\r\n [formPrefixTemplates]=\"form.formPrefixTemplates\"\r\n [formSuffixTemplates]=\"form.formSuffixTemplates\"\r\n [innerFormPrefixTemplates]=\"form.innerFormPrefixTemplates\"\r\n [innerFormSuffixTemplates]=\"form.innerFormSuffixTemplates\"\r\n\r\n *ngIf=\"config.multi; else singleFormTemplate\">\r\n <ng-template #prefixTemplate let-subForm=\"form\">\r\n <ng-container [ngTemplateOutlet]=\"form.innerFormPrefixTemplates[config.id]\"\r\n [ngTemplateOutletContext]=\"{config: config, form: subForm}\"></ng-container>\r\n </ng-template>\r\n <ng-template #suffixTemplate let-subForm=\"form\">\r\n <ng-container [ngTemplateOutlet]=\"form.innerFormSuffixTemplates[config.id]\"\r\n [ngTemplateOutletContext]=\"{config: config, form: subForm}\"></ng-container>\r\n </ng-template>\r\n </div>\r\n <ng-container [ngTemplateOutlet]=\"formSuffixTemplates[config.id]\"\r\n [ngTemplateOutletContext]=\"{config: config, form: form}\"></ng-container>\r\n </div>\r\n</ng-template>\r\n<ng-template let-form=\"form\" let-configTemplate=\"configTemplate\" #defaultContainerTemplate>\r\n <div class=\"dynamic-forms\" [ngClass]=\"classes || ''\">\r\n <ng-container *ngFor=\"let config of form.configs\"\r\n [ngTemplateOutlet]=\"configTemplate\"\r\n [ngTemplateOutletContext]=\"{form: form, config: config}\"></ng-container>\r\n <ng-content></ng-content>\r\n </div>\r\n</ng-template>\r\n<ng-container [ngTemplateOutlet]=\"prefixTemplate\"\r\n [ngTemplateOutletContext]=\"{form: this}\"></ng-container>\r\n<ng-container [ngTemplateOutlet]=\"containerTemplate || defaultContainerTemplate\"\r\n [ngTemplateOutletContext]=\"{form: this, configTemplate: configTemplate, defaultContainerTemplate: defaultContainerTemplate}\">\r\n</ng-container>\r\n<ng-container [ngTemplateOutlet]=\"suffixTemplate\"\r\n [ngTemplateOutletContext]=\"{form: this}\"></ng-container>\r\n",
1846
- providers: [{ provide: DynamicFormBaseComponent, useExisting: DynamicFormsComponent }]
1902
+ providers: [
1903
+ {
1904
+ provide: DynamicFormBaseComponent,
1905
+ useExisting: DynamicFormsComponent
1906
+ },
1907
+ {
1908
+ provide: DYNAMIC_FORM,
1909
+ useExisting: DynamicFormsComponent
1910
+ }
1911
+ ]
1847
1912
  },] }
1848
1913
  ];
1849
1914
  DynamicFormsComponent.ctorParameters = function () { return [
@@ -1862,7 +1927,8 @@
1862
1927
  };
1863
1928
 
1864
1929
  var DynamicFormGroupComponent = /** @class */ (function () {
1865
- function DynamicFormGroupComponent() {
1930
+ function DynamicFormGroupComponent(form) {
1931
+ this.form = form;
1866
1932
  }
1867
1933
  Object.defineProperty(DynamicFormGroupComponent.prototype, "classes", {
1868
1934
  get: function () {
@@ -1882,18 +1948,17 @@
1882
1948
  template: "<ng-template #labelTemplate>\r\n <label [ngClass]=\"'control-label control-label-' + control.data.labelAlign\" [attr.for]=\"control.formId\">\r\n {{ control.label | translate: control.model }}\r\n </label>\r\n</ng-template>\r\n<ng-template #errorTemplate>\r\n <div class=\"error-message\" *ngIf=\"control.errors && control.touched\">\r\n <span class=\"help-block\" *ngFor=\"let error of control.errors | entries\">\r\n {{ error.key | translate: error.value }}\r\n </span>\r\n </div>\r\n</ng-template>\r\n<ng-template #inputTemplate let-control=\"control\">\r\n <ng-container [form-control]=\"control\"></ng-container>\r\n</ng-template>\r\n<ng-template #defaultControlTemplate\r\n let-context\r\n let-control=\"control\"\r\n let-data=\"control.data\"\r\n let-labelTemplate=\"labelTemplate\"\r\n let-inputTemplate=\"inputTemplate\"\r\n let-prefixTemplate=\"prefixTemplate\"\r\n let-suffixTemplate=\"suffixTemplate\"\r\n let-errorTemplate=\"errorTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"prefixTemplate\"\r\n [ngTemplateOutletContext]=\"context\"></ng-container>\r\n <ng-container *ngIf=\"control.label && data.labelAlign == 'left'\"\r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"context\">\r\n </ng-container>\r\n <ng-container [ngTemplateOutlet]=\"inputTemplate\"\r\n [ngTemplateOutletContext]=\"context\"></ng-container>\r\n <ng-container *ngIf=\"control.label && data.labelAlign == 'right'\"\r\n [ngTemplateOutlet]=\"labelTemplate\"\r\n [ngTemplateOutletContext]=\"context\">\r\n </ng-container>\r\n <ng-container [ngTemplateOutlet]=\"suffixTemplate\"\r\n [ngTemplateOutletContext]=\"context\"></ng-container>\r\n <ng-container [ngTemplateOutlet]=\"errorTemplate\"\r\n [ngTemplateOutletContext]=\"context\"></ng-container>\r\n</ng-template>\r\n\r\n<ng-container [ngxTemplateOutlet]=\"form.controlTemplates[control.id] || form.controlTemplate || defaultControlTemplate\"\r\n [context]=\"{\r\n control: control,\r\n labelTemplate: form.labelTemplates[control.id] || labelTemplate,\r\n inputTemplate: form.inputTemplates[control.id] || inputTemplate,\r\n prefixTemplate: form.prefixTemplates[control.id],\r\n suffixTemplate: form.suffixTemplates[control.id],\r\n errorTemplate: errorTemplate\r\n }\">\r\n</ng-container>\r\n"
1883
1949
  },] }
1884
1950
  ];
1951
+ DynamicFormGroupComponent.ctorParameters = function () { return [
1952
+ { type: undefined, decorators: [{ type: core.Inject, args: [DYNAMIC_FORM,] }] }
1953
+ ]; };
1885
1954
  DynamicFormGroupComponent.propDecorators = {
1886
1955
  classes: [{ type: core.HostBinding, args: ["class",] }]
1887
1956
  };
1888
1957
 
1889
1958
  var DynamicFormFileComponent = /** @class */ (function (_super) {
1890
1959
  __extends(DynamicFormFileComponent, _super);
1891
- function DynamicFormFileComponent(api, toaster) {
1892
- var _this = _super.call(this) || this;
1893
- _this.api = api;
1894
- _this.toaster = toaster;
1895
- _this.fileImageCache = [];
1896
- return _this;
1960
+ function DynamicFormFileComponent() {
1961
+ return _super !== null && _super.apply(this, arguments) || this;
1897
1962
  }
1898
1963
  // Acceptor for provider
1899
1964
  DynamicFormFileComponent.acceptor = function (control) {
@@ -1903,6 +1968,9 @@
1903
1968
  DynamicFormFileComponent.loader = function () {
1904
1969
  return Promise.resolve();
1905
1970
  };
1971
+ DynamicFormFileComponent.prototype.ctrInit = function () {
1972
+ this.fileImageCache = [];
1973
+ };
1906
1974
  DynamicFormFileComponent.prototype.onSelect = function (input) {
1907
1975
  this.processFiles(input.files);
1908
1976
  input.value = "";
@@ -1993,18 +2061,12 @@
1993
2061
  template: "<div class=\"upload\">\r\n <input type=\"file\"\r\n multiple=\"multiple\"\r\n [attr.data-testid]=\"testId\"\r\n [attr.accept]=\"data.accept\"\r\n (change)=\"onSelect($event.target)\" />\r\n <ul class=\"images\" *ngIf=\"!data.multi\">\r\n <li class=\"image\" *ngIf=\"value\" [ngStyle]=\"{backgroundImage: getUrl(value)}\">\r\n <a class=\"btn btn-delete\" (click)=\"delete()\"></a>\r\n </li>\r\n </ul>\r\n <ul class=\"images\" *ngIf=\"data.multi\">\r\n <li class=\"image\" *ngFor=\"let image of value; let i = index\" [ngStyle]=\"{backgroundImage: getUrl(image)}\">\r\n <a class=\"btn btn-delete\" (click)=\"delete(i)\"></a>\r\n </li>\r\n </ul>\r\n</div>\r\n",
1994
2062
  styles: [".upload{display:inline-block}.upload ul{display:inline-flex;list-style:none;margin:10px 0 0;padding:0}.upload ul li{height:100px;width:100px;background:repeating-linear-gradient(45deg,gray,gray 10px,lightgray 10px,lightgray 20px) center center;background-size:cover;border:1px gray solid;margin-right:5px;position:relative}.upload .btn-delete{background:linear-gradient(to bottom,#c8607a,#a64d5a);border-color:#a64d5a;color:#fff;position:absolute;padding:0;right:5px;top:5px;width:20px;height:20px}.upload .btn-delete:before{color:#fff;display:block;position:absolute;top:0;right:6px;content:\"x\"}\n"]
1995
2063
  },] }
1996
- ];
1997
- DynamicFormFileComponent.ctorParameters = function () { return [
1998
- { type: ngxUtils.ApiService },
1999
- { type: undefined, decorators: [{ type: core.Inject, args: [ngxUtils.TOASTER_SERVICE,] }] }
2000
- ]; };
2064
+ ];
2001
2065
 
2002
2066
  var DynamicFormInputComponent = /** @class */ (function (_super) {
2003
2067
  __extends(DynamicFormInputComponent, _super);
2004
- function DynamicFormInputComponent(language) {
2005
- var _this = _super.call(this) || this;
2006
- _this.language = language;
2007
- return _this;
2068
+ function DynamicFormInputComponent() {
2069
+ return _super !== null && _super.apply(this, arguments) || this;
2008
2070
  }
2009
2071
  // Acceptor for provider
2010
2072
  DynamicFormInputComponent.acceptor = function (control) {
@@ -2066,9 +2128,6 @@
2066
2128
  template: "<ng-container [ngSwitch]=\"data.type\">\r\n <ng-container *ngSwitchCase=\"'textarea'\">\r\n <textarea class=\"form-control\"\r\n rows=\"5\"\r\n [attr.autocomplete]=\"data.autocomplete\"\r\n [attr.data-testid]=\"testId\"\r\n [id]=\"control.formId\"\r\n [name]=\"control.formId\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"control.setValue($event)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\">{{ data.placeholder | translate }}</textarea>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <input class=\"form-control\"\r\n type=\"date\"\r\n [attr.autocomplete]=\"data.autocomplete\"\r\n [attr.data-testid]=\"testId\"\r\n [id]=\"control.formId\"\r\n [name]=\"control.formId\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled\"\r\n [ngModel]=\"value | date: 'y-MM-dd'\"\r\n (ngModelChange)=\"onDateChange($event)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\"/>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <input class=\"form-control\"\r\n type=\"number\"\r\n [attr.autocomplete]=\"data.autocomplete\"\r\n [attr.data-testid]=\"testId\"\r\n [min]=\"data.min\"\r\n [max]=\"data.max\"\r\n [step]=\"data.step\"\r\n [id]=\"control.formId\"\r\n [name]=\"control.formId\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"control.setValue($event)\"\r\n (blur)=\"onNumberBlur()\"\r\n (focus)=\"control.onFocus()\"/>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <input class=\"form-control\"\r\n type=\"checkbox\"\r\n [attr.data-testid]=\"testId\"\r\n [id]=\"control.formId\"\r\n [name]=\"control.formId\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"control.setValue($event)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\"/>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <input class=\"form-control\"\r\n type=\"text\"\r\n [attr.autocomplete]=\"data.autocomplete\"\r\n [attr.data-testid]=\"testId\"\r\n [minlength]=\"data.min\"\r\n [maxlength]=\"data.max\"\r\n [placeholder]=\"data.placeholder | translate\"\r\n [id]=\"control.formId\"\r\n [name]=\"control.formId\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled\"\r\n [ngModel]=\"data.useLanguage ? (value | translate) : value\"\r\n (ngModelChange)=\"onTextChange($event)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\"/>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <input class=\"form-control\"\r\n [attr.autocomplete]=\"data.autocomplete\"\r\n [attr.data-testid]=\"testId\"\r\n [minlength]=\"data.min\"\r\n [maxlength]=\"data.max\"\r\n [placeholder]=\"data.placeholder | translate\"\r\n [type]=\"data.type\"\r\n [id]=\"control.formId\"\r\n [name]=\"control.formId\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"control.setValue($event)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\"/>\r\n </ng-container>\r\n</ng-container>\r\n"
2067
2129
  },] }
2068
2130
  ];
2069
- DynamicFormInputComponent.ctorParameters = function () { return [
2070
- { type: undefined, decorators: [{ type: core.Inject, args: [ngxUtils.LANGUAGE_SERVICE,] }] }
2071
- ]; };
2072
2131
  DynamicFormInputComponent.propDecorators = {
2073
2132
  isChecked: [{ type: core.HostBinding, args: ["class.checked",] }]
2074
2133
  };
@@ -2197,49 +2256,6 @@
2197
2256
  subForm: [{ type: core.ViewChild, args: ["subForm",] }]
2198
2257
  };
2199
2258
 
2200
- var DynamicFormGroupDirective = /** @class */ (function () {
2201
- function DynamicFormGroupDirective(vcr, forms) {
2202
- this.vcr = vcr;
2203
- this.forms = forms;
2204
- }
2205
- Object.defineProperty(DynamicFormGroupDirective.prototype, "component", {
2206
- get: function () {
2207
- return this.comp;
2208
- },
2209
- enumerable: false,
2210
- configurable: true
2211
- });
2212
- DynamicFormGroupDirective.prototype.ngOnChanges = function (changes) {
2213
- if (changes.control || changes.form || changes.visible) {
2214
- if (!this.visible) {
2215
- this.vcr.clear();
2216
- this.comp = null;
2217
- return;
2218
- }
2219
- this.comp = this.forms.createGroup(this.vcr);
2220
- }
2221
- if (!this.comp)
2222
- return;
2223
- this.comp.form = this.form;
2224
- this.comp.control = this.control;
2225
- };
2226
- return DynamicFormGroupDirective;
2227
- }());
2228
- DynamicFormGroupDirective.decorators = [
2229
- { type: core.Directive, args: [{
2230
- selector: "[form-group]",
2231
- },] }
2232
- ];
2233
- DynamicFormGroupDirective.ctorParameters = function () { return [
2234
- { type: core.ViewContainerRef },
2235
- { type: DynamicFormService }
2236
- ]; };
2237
- DynamicFormGroupDirective.propDecorators = {
2238
- control: [{ type: core.Input, args: ["form-group",] }],
2239
- form: [{ type: core.Input }],
2240
- visible: [{ type: core.Input }]
2241
- };
2242
-
2243
2259
  // --- Components ---
2244
2260
  var components = [
2245
2261
  DynamicFormsComponent,
@@ -2305,6 +2321,7 @@
2305
2321
  */
2306
2322
 
2307
2323
  exports.AsyncSubmitDirective = AsyncSubmitDirective;
2324
+ exports.DYNAMIC_FORM = DYNAMIC_FORM;
2308
2325
  exports.DynamicFormBaseComponent = DynamicFormBaseComponent;
2309
2326
  exports.DynamicFormComponent = DynamicFormComponent;
2310
2327
  exports.DynamicFormControl = DynamicFormControl;
@@ -2312,6 +2329,7 @@
2312
2329
  exports.DynamicFormFileComponent = DynamicFormFileComponent;
2313
2330
  exports.DynamicFormGroup = DynamicFormGroup;
2314
2331
  exports.DynamicFormGroupComponent = DynamicFormGroupComponent;
2332
+ exports.DynamicFormGroupDirective = DynamicFormGroupDirective;
2315
2333
  exports.DynamicFormInputComponent = DynamicFormInputComponent;
2316
2334
  exports.DynamicFormModelComponent = DynamicFormModelComponent;
2317
2335
  exports.DynamicFormSelectComponent = DynamicFormSelectComponent;
@@ -2347,7 +2365,6 @@
2347
2365
  exports["ɵb"] = components;
2348
2366
  exports["ɵc"] = directives;
2349
2367
  exports["ɵd"] = pipes;
2350
- exports["ɵe"] = DynamicFormGroupDirective;
2351
2368
 
2352
2369
  Object.defineProperty(exports, '__esModule', { value: true });
2353
2370