@stemy/ngx-dynamic-form 12.0.0 → 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.
- package/bundles/stemy-ngx-dynamic-form.umd.js +114 -86
- package/bundles/stemy-ngx-dynamic-form.umd.js.map +1 -1
- package/esm2015/ngx-dynamic-form/common-types.js +29 -8
- package/esm2015/ngx-dynamic-form/components/base/dynamic-form-base.component.js +3 -1
- package/esm2015/ngx-dynamic-form/components/dynamic-form/dynamic-form.component.js +13 -4
- package/esm2015/ngx-dynamic-form/components/dynamic-form-file/dynamic-form-file.component.js +7 -14
- package/esm2015/ngx-dynamic-form/components/dynamic-form-group/dynamic-form-group.component.js +9 -2
- package/esm2015/ngx-dynamic-form/components/dynamic-form-input/dynamic-form-input.component.js +4 -11
- package/esm2015/ngx-dynamic-form/components/dynamic-form-model/dynamic-form-model.component.js +2 -2
- package/esm2015/ngx-dynamic-form/components/dynamic-form-select/dynamic-form-select.component.js +2 -2
- package/esm2015/ngx-dynamic-form/components/dynamic-forms/dynamic-forms.component.js +13 -4
- package/esm2015/ngx-dynamic-form/directives/dynamic-form-group.directive.js +1 -3
- package/esm2015/public_api.js +3 -2
- package/esm2015/stemy-ngx-dynamic-form.js +1 -2
- package/fesm2015/stemy-ngx-dynamic-form.js +102 -71
- package/fesm2015/stemy-ngx-dynamic-form.js.map +1 -1
- package/ngx-dynamic-form/common-types.d.ts +17 -7
- package/ngx-dynamic-form/components/base/dynamic-form-base.component.d.ts +1 -0
- package/ngx-dynamic-form/components/dynamic-form-file/dynamic-form-file.component.d.ts +1 -4
- package/ngx-dynamic-form/components/dynamic-form-group/dynamic-form-group.component.d.ts +3 -2
- package/ngx-dynamic-form/components/dynamic-form-input/dynamic-form-input.component.d.ts +0 -3
- package/ngx-dynamic-form/directives/dynamic-form-group.directive.d.ts +1 -2
- package/package.json +1 -1
- package/public_api.d.ts +2 -1
- package/stemy-ngx-dynamic-form.d.ts +0 -1
- 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
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
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);
|
|
@@ -346,6 +352,15 @@
|
|
|
346
352
|
enumerable: false,
|
|
347
353
|
configurable: true
|
|
348
354
|
});
|
|
355
|
+
Object.defineProperty(FormControlComponent.prototype, "testId", {
|
|
356
|
+
get: function () {
|
|
357
|
+
var _a, _b;
|
|
358
|
+
var prefix = ((_a = this.form) === null || _a === void 0 ? void 0 : _a.testId) || "form";
|
|
359
|
+
return prefix + "-" + (((_b = this.control) === null || _b === void 0 ? void 0 : _b.id) || "ctrl");
|
|
360
|
+
},
|
|
361
|
+
enumerable: false,
|
|
362
|
+
configurable: true
|
|
363
|
+
});
|
|
349
364
|
Object.defineProperty(FormControlComponent.prototype, "inputClass", {
|
|
350
365
|
get: function () {
|
|
351
366
|
return true;
|
|
@@ -358,6 +373,12 @@
|
|
|
358
373
|
FormControlComponent.decorators = [
|
|
359
374
|
{ type: core.Directive }
|
|
360
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
|
+
]; };
|
|
361
382
|
FormControlComponent.propDecorators = {
|
|
362
383
|
inputClass: [{ type: core.HostBinding, args: ["class.form-input",] }]
|
|
363
384
|
};
|
|
@@ -792,6 +813,7 @@
|
|
|
792
813
|
_this.control = control;
|
|
793
814
|
_this.group = group;
|
|
794
815
|
_this.group.addControl(control.id, _this);
|
|
816
|
+
_this.form = _this.group.form;
|
|
795
817
|
_this.helper = new DynamicFormControlHelper(_this.form, control);
|
|
796
818
|
_this.helper.findProvider(_this);
|
|
797
819
|
_this.valueChanges.subscribe(function () { return _this.group.updateModel(_this); });
|
|
@@ -833,13 +855,6 @@
|
|
|
833
855
|
enumerable: false,
|
|
834
856
|
configurable: true
|
|
835
857
|
});
|
|
836
|
-
Object.defineProperty(DynamicFormControl.prototype, "form", {
|
|
837
|
-
get: function () {
|
|
838
|
-
return this.group.form;
|
|
839
|
-
},
|
|
840
|
-
enumerable: false,
|
|
841
|
-
configurable: true
|
|
842
|
-
});
|
|
843
858
|
Object.defineProperty(DynamicFormControl.prototype, "injector", {
|
|
844
859
|
get: function () {
|
|
845
860
|
return this.form.injector;
|
|
@@ -1516,10 +1531,52 @@
|
|
|
1516
1531
|
innerFormSuffix: [{ type: core.Input }]
|
|
1517
1532
|
};
|
|
1518
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
|
+
|
|
1519
1575
|
var DynamicFormBaseComponent = /** @class */ (function () {
|
|
1520
1576
|
function DynamicFormBaseComponent(cdr, formService) {
|
|
1521
1577
|
this.formService = formService;
|
|
1522
1578
|
this.name = "";
|
|
1579
|
+
this.testId = "form";
|
|
1523
1580
|
this.controlTemplates = {};
|
|
1524
1581
|
this.labelTemplates = {};
|
|
1525
1582
|
this.inputTemplates = {};
|
|
@@ -1578,6 +1635,7 @@
|
|
|
1578
1635
|
]; };
|
|
1579
1636
|
DynamicFormBaseComponent.propDecorators = {
|
|
1580
1637
|
name: [{ type: core.Input }],
|
|
1638
|
+
testId: [{ type: core.Input }],
|
|
1581
1639
|
readonly: [{ type: core.Input }],
|
|
1582
1640
|
updateOn: [{ type: core.Input }],
|
|
1583
1641
|
classes: [{ type: core.Input }],
|
|
@@ -1689,8 +1747,17 @@
|
|
|
1689
1747
|
{ type: core.Component, args: [{
|
|
1690
1748
|
moduleId: module.id,
|
|
1691
1749
|
selector: "dynamic-form, [dynamic-form]",
|
|
1692
|
-
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\"
|
|
1693
|
-
providers: [
|
|
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
|
+
]
|
|
1694
1761
|
},] }
|
|
1695
1762
|
];
|
|
1696
1763
|
DynamicFormComponent.ctorParameters = function () { return [
|
|
@@ -1831,8 +1898,17 @@
|
|
|
1831
1898
|
{ type: core.Component, args: [{
|
|
1832
1899
|
moduleId: module.id,
|
|
1833
1900
|
selector: "dynamic-forms, [dynamic-forms]",
|
|
1834
|
-
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 [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 [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",
|
|
1835
|
-
providers: [
|
|
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",
|
|
1902
|
+
providers: [
|
|
1903
|
+
{
|
|
1904
|
+
provide: DynamicFormBaseComponent,
|
|
1905
|
+
useExisting: DynamicFormsComponent
|
|
1906
|
+
},
|
|
1907
|
+
{
|
|
1908
|
+
provide: DYNAMIC_FORM,
|
|
1909
|
+
useExisting: DynamicFormsComponent
|
|
1910
|
+
}
|
|
1911
|
+
]
|
|
1836
1912
|
},] }
|
|
1837
1913
|
];
|
|
1838
1914
|
DynamicFormsComponent.ctorParameters = function () { return [
|
|
@@ -1851,7 +1927,8 @@
|
|
|
1851
1927
|
};
|
|
1852
1928
|
|
|
1853
1929
|
var DynamicFormGroupComponent = /** @class */ (function () {
|
|
1854
|
-
function DynamicFormGroupComponent() {
|
|
1930
|
+
function DynamicFormGroupComponent(form) {
|
|
1931
|
+
this.form = form;
|
|
1855
1932
|
}
|
|
1856
1933
|
Object.defineProperty(DynamicFormGroupComponent.prototype, "classes", {
|
|
1857
1934
|
get: function () {
|
|
@@ -1871,18 +1948,17 @@
|
|
|
1871
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"
|
|
1872
1949
|
},] }
|
|
1873
1950
|
];
|
|
1951
|
+
DynamicFormGroupComponent.ctorParameters = function () { return [
|
|
1952
|
+
{ type: undefined, decorators: [{ type: core.Inject, args: [DYNAMIC_FORM,] }] }
|
|
1953
|
+
]; };
|
|
1874
1954
|
DynamicFormGroupComponent.propDecorators = {
|
|
1875
1955
|
classes: [{ type: core.HostBinding, args: ["class",] }]
|
|
1876
1956
|
};
|
|
1877
1957
|
|
|
1878
1958
|
var DynamicFormFileComponent = /** @class */ (function (_super) {
|
|
1879
1959
|
__extends(DynamicFormFileComponent, _super);
|
|
1880
|
-
function DynamicFormFileComponent(
|
|
1881
|
-
|
|
1882
|
-
_this.api = api;
|
|
1883
|
-
_this.toaster = toaster;
|
|
1884
|
-
_this.fileImageCache = [];
|
|
1885
|
-
return _this;
|
|
1960
|
+
function DynamicFormFileComponent() {
|
|
1961
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
1886
1962
|
}
|
|
1887
1963
|
// Acceptor for provider
|
|
1888
1964
|
DynamicFormFileComponent.acceptor = function (control) {
|
|
@@ -1892,6 +1968,9 @@
|
|
|
1892
1968
|
DynamicFormFileComponent.loader = function () {
|
|
1893
1969
|
return Promise.resolve();
|
|
1894
1970
|
};
|
|
1971
|
+
DynamicFormFileComponent.prototype.ctrInit = function () {
|
|
1972
|
+
this.fileImageCache = [];
|
|
1973
|
+
};
|
|
1895
1974
|
DynamicFormFileComponent.prototype.onSelect = function (input) {
|
|
1896
1975
|
this.processFiles(input.files);
|
|
1897
1976
|
input.value = "";
|
|
@@ -1979,21 +2058,15 @@
|
|
|
1979
2058
|
DynamicFormFileComponent.decorators = [
|
|
1980
2059
|
{ type: core.Component, args: [{
|
|
1981
2060
|
selector: "dynamic-form-file",
|
|
1982
|
-
template: "<div class=\"upload\">\r\n <input type=\"file\"
|
|
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",
|
|
1983
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"]
|
|
1984
2063
|
},] }
|
|
1985
|
-
];
|
|
1986
|
-
DynamicFormFileComponent.ctorParameters = function () { return [
|
|
1987
|
-
{ type: ngxUtils.ApiService },
|
|
1988
|
-
{ type: undefined, decorators: [{ type: core.Inject, args: [ngxUtils.TOASTER_SERVICE,] }] }
|
|
1989
|
-
]; };
|
|
2064
|
+
];
|
|
1990
2065
|
|
|
1991
2066
|
var DynamicFormInputComponent = /** @class */ (function (_super) {
|
|
1992
2067
|
__extends(DynamicFormInputComponent, _super);
|
|
1993
|
-
function DynamicFormInputComponent(
|
|
1994
|
-
|
|
1995
|
-
_this.language = language;
|
|
1996
|
-
return _this;
|
|
2068
|
+
function DynamicFormInputComponent() {
|
|
2069
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
1997
2070
|
}
|
|
1998
2071
|
// Acceptor for provider
|
|
1999
2072
|
DynamicFormInputComponent.acceptor = function (control) {
|
|
@@ -2052,12 +2125,9 @@
|
|
|
2052
2125
|
{ type: core.Component, args: [{
|
|
2053
2126
|
moduleId: module.id,
|
|
2054
2127
|
selector: "dynamic-form-input",
|
|
2055
|
-
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 [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 [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 [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 [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 [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 [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"
|
|
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"
|
|
2056
2129
|
},] }
|
|
2057
2130
|
];
|
|
2058
|
-
DynamicFormInputComponent.ctorParameters = function () { return [
|
|
2059
|
-
{ type: undefined, decorators: [{ type: core.Inject, args: [ngxUtils.LANGUAGE_SERVICE,] }] }
|
|
2060
|
-
]; };
|
|
2061
2131
|
DynamicFormInputComponent.propDecorators = {
|
|
2062
2132
|
isChecked: [{ type: core.HostBinding, args: ["class.checked",] }]
|
|
2063
2133
|
};
|
|
@@ -2133,7 +2203,7 @@
|
|
|
2133
2203
|
{ type: core.Component, args: [{
|
|
2134
2204
|
moduleId: module.id,
|
|
2135
2205
|
selector: "dynamic-form-select",
|
|
2136
|
-
template: "<ng-template #selectTemplate let-selected=\"selected\">\r\n <select class=\"form-control\"\r\n [multiple]=\"data.multi\"\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.multi ? value : [value]\"\r\n (ngModelChange)=\"onSelectChange($event)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\">\r\n <option *ngFor=\"let option of meta.options\" [value]=\"option.id\" [disabled]=\"option.selectable == false\">\r\n {{ option.label | translate }}\r\n </option>\r\n </select>\r\n <label class=\"form-control-description\" [attr.for]=\"control.formId\" *ngIf=\"!data.multi && selected?.description\">\r\n {{ selected?.description | translate }}\r\n </label>\r\n</ng-template>\r\n<ng-container [ngSwitch]=\"data.type\">\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <ul class=\"radio-group\">\r\n <li *ngFor=\"let option of meta.options\" class=\"radio\">\r\n <label [ngClass]=\"{checked: value == option.id}\">\r\n <input type=\"radio\"\r\n [id]=\"control.formId + '-' + option.id\"\r\n [name]=\"control.formId + '-' + option.id\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled || option.selectable == false\"\r\n [value]=\"option.id\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"onSelectChange(option.id)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\">\r\n {{ option.label | translate }}\r\n </label>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <ul class=\"checkbox-group\">\r\n <li *ngFor=\"let option of meta.options\" class=\"checkbox\">\r\n <label [ngClass]=\"{checked: checkValue(option)}\">\r\n <input type=\"checkbox\"\r\n [id]=\"control.formId + '-' + option.id\"\r\n [name]=\"control.formId + '-' + option.id\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled || option.selectable == false\"\r\n [ngModel]=\"checkValue(option)\"\r\n (ngModelChange)=\"onSelectChange(option.id)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\">\r\n {{ option.label | translate }}\r\n </label>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault [ngTemplateOutlet]=\"selectTemplate\" [ngTemplateOutletContext]=\"{selected: meta?.options | find:findOption:value}\">\r\n\r\n </ng-container>\r\n</ng-container>\r\n"
|
|
2206
|
+
template: "<ng-template #selectTemplate let-selected=\"selected\">\r\n <select class=\"form-control\"\r\n [attr.data-testid]=\"testId\"\r\n [multiple]=\"data.multi\"\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.multi ? value : [value]\"\r\n (ngModelChange)=\"onSelectChange($event)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\">\r\n <option *ngFor=\"let option of meta.options\" [value]=\"option.id\" [disabled]=\"option.selectable == false\">\r\n {{ option.label | translate }}\r\n </option>\r\n </select>\r\n <label class=\"form-control-description\" [attr.for]=\"control.formId\" *ngIf=\"!data.multi && selected?.description\">\r\n {{ selected?.description | translate }}\r\n </label>\r\n</ng-template>\r\n<ng-container [ngSwitch]=\"data.type\">\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <ul class=\"radio-group\">\r\n <li *ngFor=\"let option of meta.options\" class=\"radio\">\r\n <label [ngClass]=\"{checked: value == option.id}\">\r\n <input type=\"radio\"\r\n [attr.data-testid]=\"testId + '-' + option.id\"\r\n [id]=\"control.formId + '-' + option.id\"\r\n [name]=\"control.formId + '-' + option.id\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled || option.selectable == false\"\r\n [value]=\"option.id\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"onSelectChange(option.id)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\">\r\n {{ option.label | translate }}\r\n </label>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <ul class=\"checkbox-group\">\r\n <li *ngFor=\"let option of meta.options\" class=\"checkbox\">\r\n <label [ngClass]=\"{checked: checkValue(option)}\">\r\n <input type=\"checkbox\"\r\n [attr.data-testid]=\"testId + '-' + option.id\"\r\n [id]=\"control.formId + '-' + option.id\"\r\n [name]=\"control.formId + '-' + option.id\"\r\n [ngClass]=\"{disabled: control.disabled}\"\r\n [disabled]=\"control.disabled || option.selectable == false\"\r\n [ngModel]=\"checkValue(option)\"\r\n (ngModelChange)=\"onSelectChange(option.id)\"\r\n (blur)=\"control.onBlur()\"\r\n (focus)=\"control.onFocus()\">\r\n {{ option.label | translate }}\r\n </label>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault [ngTemplateOutlet]=\"selectTemplate\" [ngTemplateOutletContext]=\"{selected: meta?.options | find:findOption:value}\">\r\n\r\n </ng-container>\r\n</ng-container>\r\n"
|
|
2137
2207
|
},] }
|
|
2138
2208
|
];
|
|
2139
2209
|
|
|
@@ -2179,56 +2249,13 @@
|
|
|
2179
2249
|
{ type: core.Component, args: [{
|
|
2180
2250
|
moduleId: module.id,
|
|
2181
2251
|
selector: "dynamic-form-model",
|
|
2182
|
-
template: "<dynamic-form [name]=\"data.name || form.name\"\r\n [group]=\"control\"\r\n [data]=\"value\"\r\n [updateOn]=\"control.updateOn\"\r\n [parent]=\"form\"\r\n\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 #subForm>\r\n <ng-template #wrapperTemplate let-form=\"form\" let-fieldSetsTemplate=\"fieldSetsTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"fieldSetsTemplate\"></ng-container>\r\n </ng-template>\r\n</dynamic-form>\r\n"
|
|
2252
|
+
template: "<dynamic-form [testId]=\"form.testId + '-' + control.id\"\r\n [name]=\"data.name || form.name\"\r\n [group]=\"control\"\r\n [data]=\"value\"\r\n [updateOn]=\"control.updateOn\"\r\n [parent]=\"form\"\r\n\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 #subForm>\r\n <ng-template #wrapperTemplate let-form=\"form\" let-fieldSetsTemplate=\"fieldSetsTemplate\">\r\n <ng-container [ngTemplateOutlet]=\"fieldSetsTemplate\"></ng-container>\r\n </ng-template>\r\n</dynamic-form>\r\n"
|
|
2183
2253
|
},] }
|
|
2184
2254
|
];
|
|
2185
2255
|
DynamicFormModelComponent.propDecorators = {
|
|
2186
2256
|
subForm: [{ type: core.ViewChild, args: ["subForm",] }]
|
|
2187
2257
|
};
|
|
2188
2258
|
|
|
2189
|
-
var DynamicFormGroupDirective = /** @class */ (function () {
|
|
2190
|
-
function DynamicFormGroupDirective(vcr, forms) {
|
|
2191
|
-
this.vcr = vcr;
|
|
2192
|
-
this.forms = forms;
|
|
2193
|
-
}
|
|
2194
|
-
Object.defineProperty(DynamicFormGroupDirective.prototype, "component", {
|
|
2195
|
-
get: function () {
|
|
2196
|
-
return this.comp;
|
|
2197
|
-
},
|
|
2198
|
-
enumerable: false,
|
|
2199
|
-
configurable: true
|
|
2200
|
-
});
|
|
2201
|
-
DynamicFormGroupDirective.prototype.ngOnChanges = function (changes) {
|
|
2202
|
-
if (changes.control || changes.form || changes.visible) {
|
|
2203
|
-
if (!this.visible) {
|
|
2204
|
-
this.vcr.clear();
|
|
2205
|
-
this.comp = null;
|
|
2206
|
-
return;
|
|
2207
|
-
}
|
|
2208
|
-
this.comp = this.forms.createGroup(this.vcr);
|
|
2209
|
-
}
|
|
2210
|
-
if (!this.comp)
|
|
2211
|
-
return;
|
|
2212
|
-
this.comp.form = this.form;
|
|
2213
|
-
this.comp.control = this.control;
|
|
2214
|
-
};
|
|
2215
|
-
return DynamicFormGroupDirective;
|
|
2216
|
-
}());
|
|
2217
|
-
DynamicFormGroupDirective.decorators = [
|
|
2218
|
-
{ type: core.Directive, args: [{
|
|
2219
|
-
selector: "[form-group]",
|
|
2220
|
-
},] }
|
|
2221
|
-
];
|
|
2222
|
-
DynamicFormGroupDirective.ctorParameters = function () { return [
|
|
2223
|
-
{ type: core.ViewContainerRef },
|
|
2224
|
-
{ type: DynamicFormService }
|
|
2225
|
-
]; };
|
|
2226
|
-
DynamicFormGroupDirective.propDecorators = {
|
|
2227
|
-
control: [{ type: core.Input, args: ["form-group",] }],
|
|
2228
|
-
form: [{ type: core.Input }],
|
|
2229
|
-
visible: [{ type: core.Input }]
|
|
2230
|
-
};
|
|
2231
|
-
|
|
2232
2259
|
// --- Components ---
|
|
2233
2260
|
var components = [
|
|
2234
2261
|
DynamicFormsComponent,
|
|
@@ -2294,6 +2321,7 @@
|
|
|
2294
2321
|
*/
|
|
2295
2322
|
|
|
2296
2323
|
exports.AsyncSubmitDirective = AsyncSubmitDirective;
|
|
2324
|
+
exports.DYNAMIC_FORM = DYNAMIC_FORM;
|
|
2297
2325
|
exports.DynamicFormBaseComponent = DynamicFormBaseComponent;
|
|
2298
2326
|
exports.DynamicFormComponent = DynamicFormComponent;
|
|
2299
2327
|
exports.DynamicFormControl = DynamicFormControl;
|
|
@@ -2301,6 +2329,7 @@
|
|
|
2301
2329
|
exports.DynamicFormFileComponent = DynamicFormFileComponent;
|
|
2302
2330
|
exports.DynamicFormGroup = DynamicFormGroup;
|
|
2303
2331
|
exports.DynamicFormGroupComponent = DynamicFormGroupComponent;
|
|
2332
|
+
exports.DynamicFormGroupDirective = DynamicFormGroupDirective;
|
|
2304
2333
|
exports.DynamicFormInputComponent = DynamicFormInputComponent;
|
|
2305
2334
|
exports.DynamicFormModelComponent = DynamicFormModelComponent;
|
|
2306
2335
|
exports.DynamicFormSelectComponent = DynamicFormSelectComponent;
|
|
@@ -2336,7 +2365,6 @@
|
|
|
2336
2365
|
exports["ɵb"] = components;
|
|
2337
2366
|
exports["ɵc"] = directives;
|
|
2338
2367
|
exports["ɵd"] = pipes;
|
|
2339
|
-
exports["ɵe"] = DynamicFormGroupDirective;
|
|
2340
2368
|
|
|
2341
2369
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2342
2370
|
|