@ruc-lib/metaform 2.0.0

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 (29) hide show
  1. package/README.md +135 -0
  2. package/components/ruc-meta-checkbox-group/ruc-meta-checkbox-group.component.d.ts +18 -0
  3. package/components/ruc-meta-inputs/ruc-meta-inputs.component.d.ts +23 -0
  4. package/components/ruc-meta-radio-group/ruc-meta-radio-group.component.d.ts +20 -0
  5. package/components/ruc-meta-select/ruc-meta-select.component.d.ts +17 -0
  6. package/components/ruc-text-area/ruc-text-area.component.d.ts +19 -0
  7. package/esm2020/components/ruc-meta-checkbox-group/ruc-meta-checkbox-group.component.mjs +42 -0
  8. package/esm2020/components/ruc-meta-inputs/ruc-meta-inputs.component.mjs +54 -0
  9. package/esm2020/components/ruc-meta-radio-group/ruc-meta-radio-group.component.mjs +38 -0
  10. package/esm2020/components/ruc-meta-select/ruc-meta-select.component.mjs +56 -0
  11. package/esm2020/components/ruc-text-area/ruc-text-area.component.mjs +39 -0
  12. package/esm2020/index.mjs +3 -0
  13. package/esm2020/interfaces/metaFormsDefault.mjs +2 -0
  14. package/esm2020/lib/ruclib-metaform/ruclib-metaform.component.mjs +105 -0
  15. package/esm2020/lib/ruclib-metaform.module.mjs +100 -0
  16. package/esm2020/ruc-lib-metaform.mjs +5 -0
  17. package/esm2020/services/ruc-meta-form-validation.service.mjs +29 -0
  18. package/esm2020/services/ruc-meta-form.service.mjs +23 -0
  19. package/fesm2015/ruc-lib-metaform.mjs +432 -0
  20. package/fesm2015/ruc-lib-metaform.mjs.map +1 -0
  21. package/fesm2020/ruc-lib-metaform.mjs +432 -0
  22. package/fesm2020/ruc-lib-metaform.mjs.map +1 -0
  23. package/index.d.ts +2 -0
  24. package/interfaces/metaFormsDefault.d.ts +72 -0
  25. package/lib/ruclib-metaform/ruclib-metaform.component.d.ts +45 -0
  26. package/lib/ruclib-metaform.module.d.ts +27 -0
  27. package/package.json +38 -0
  28. package/services/ruc-meta-form-validation.service.d.ts +12 -0
  29. package/services/ruc-meta-form.service.d.ts +14 -0
@@ -0,0 +1,432 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, EventEmitter, Component, Input, Output, NgModule } from '@angular/core';
3
+ import * as i2 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+ import { BehaviorSubject } from 'rxjs';
6
+ import * as i1 from '@angular/common/http';
7
+ import { HttpClientModule } from '@angular/common/http';
8
+ import * as i3 from '@angular/forms';
9
+ import { FormsModule } from '@angular/forms';
10
+ import * as i4$1 from '@angular/material/button';
11
+ import { MatButtonModule } from '@angular/material/button';
12
+ import * as i5$3 from '@angular/material/stepper';
13
+ import { MatStepperModule } from '@angular/material/stepper';
14
+ import * as i6$3 from '@ruc-lib/multi-select';
15
+ import { RuclibMultiSelectModule } from '@ruc-lib/multi-select';
16
+ import * as i7$1 from '@ruc-lib/multi-file-upload';
17
+ import { RuclibMultiFileUploadModule } from '@ruc-lib/multi-file-upload';
18
+ import * as i4 from '@angular/material/form-field';
19
+ import { MatFormFieldModule } from '@angular/material/form-field';
20
+ import * as i5 from '@angular/material/input';
21
+ import { MatInputModule } from '@angular/material/input';
22
+ import * as i6 from '@angular/material/core';
23
+ import * as i7 from '@angular/material/autocomplete';
24
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
25
+ import * as i8 from '@angular/material/tooltip';
26
+ import { MatTooltipModule } from '@angular/material/tooltip';
27
+ import * as i5$1 from '@angular/material/radio';
28
+ import { MatRadioModule } from '@angular/material/radio';
29
+ import * as i5$2 from '@angular/material/checkbox';
30
+ import { MatCheckboxModule } from '@angular/material/checkbox';
31
+ import * as i6$1 from '@angular/material/select';
32
+ import { MatSelectModule } from '@angular/material/select';
33
+ import * as i6$2 from '@angular/cdk/text-field';
34
+ import { TextFieldModule } from '@angular/cdk/text-field';
35
+
36
+ class RucMetaFormService {
37
+ constructor(http) {
38
+ this.http = http;
39
+ this.formData = new BehaviorSubject([]);
40
+ }
41
+ getFormJson(form) {
42
+ this.formData.next(form);
43
+ }
44
+ }
45
+ RucMetaFormService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaFormService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
46
+ RucMetaFormService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaFormService, providedIn: 'root' });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaFormService, decorators: [{
48
+ type: Injectable,
49
+ args: [{
50
+ providedIn: 'root'
51
+ }]
52
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
53
+
54
+ class RucMetaFormValidationService {
55
+ constructor() {
56
+ this.defaultErrorMessage = 'Invalid Input';
57
+ }
58
+ nospaceValidator(formData) {
59
+ const re = / /;
60
+ if (formData.value.match(re)) {
61
+ return { nullTable: true };
62
+ }
63
+ else {
64
+ return false;
65
+ }
66
+ }
67
+ alphaNumericValidator(formData) {
68
+ const re = '^[a-zA-Z0-9_]+$';
69
+ return formData.value ? !formData.value.match(re) : false;
70
+ }
71
+ }
72
+ RucMetaFormValidationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaFormValidationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
73
+ RucMetaFormValidationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaFormValidationService, providedIn: 'root' });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaFormValidationService, decorators: [{
75
+ type: Injectable,
76
+ args: [{
77
+ providedIn: 'root'
78
+ }]
79
+ }], ctorParameters: function () { return []; } });
80
+
81
+ class RucMetaInputsComponent {
82
+ constructor(validationService) {
83
+ this.validationService = validationService;
84
+ this.transferUserInput = new EventEmitter();
85
+ this.options = [];
86
+ }
87
+ ngOnInit() {
88
+ this.errorMessage = this.validationService.defaultErrorMessage;
89
+ this.rucInputData.value === undefined ? "" : this.rucInputData.value;
90
+ this.options = this.rucInputData.autocomplete;
91
+ }
92
+ /**
93
+ *
94
+ * @param e
95
+ */
96
+ modelChangeFn(e) {
97
+ const validate = this.validationService.alphaNumericValidator(this.rucInputData);
98
+ this.rucInputData.errorMsg = validate;
99
+ if (this.rucInputData.autocomplete) {
100
+ this.filteredOptions = this._filter(this.rucInputData.value);
101
+ }
102
+ this.transferUserInput.emit(this.rucInputData);
103
+ }
104
+ _filter(value) {
105
+ const filterValue = value.toLowerCase();
106
+ return this.options.filter(option => option.toLowerCase().includes(filterValue));
107
+ }
108
+ }
109
+ RucMetaInputsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaInputsComponent, deps: [{ token: RucMetaFormValidationService }], target: i0.ɵɵFactoryTarget.Component });
110
+ RucMetaInputsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RucMetaInputsComponent, selector: "ruc-meta-inputs", inputs: { rucInputData: "rucInputData", selectedParentId: "selectedParentId", customTheme: "customTheme" }, outputs: { transferUserInput: "transferUserInput" }, ngImport: i0, template: "<mat-form-field class=\"{{customTheme }}\" [ngStyle]=\"{ 'width.%': rucInputData?.width }\" [appearance]=\"rucInputData?.appearance || 'fill'\">\r\n <mat-label>{{rucInputData?.label}}</mat-label>\r\n <input type=\"{{rucInputData?.inputType}}\" color=\"accent\" matInput placeholder=\"{{rucInputData?.placeholder}}\" [(ngModel)]=\"rucInputData.value\" \r\n (ngModelChange)=\"modelChangeFn($event.target)\" required=\"{{rucInputData?.required}}\" size=\"{{rucInputData?.size}}\"\r\n maxlength=\"{{rucInputData?.maxlength}}\" min=\"{{rucInputData?.min}}\" max=\"{{rucInputData?.max}}\" pattern=\"{{rucInputData?.pattern}}\"\r\n step=\"{{rucInputData?.step}}\" autofocus=\"{{rucInputData?.autofocus}}\" width=\"{{rucInputData?.width}}\" height=\"{{rucInputData?.height}}\"\r\n matTooltip=\"{{rucInputData?.tooltip}}\"\r\n [matAutocomplete]=\"auto\" [matAutocompleteDisabled]=\"!rucInputData?.autocomplete\" [readonly]=\"rucInputData?.readonly\" [matTooltipPosition]=\"rucInputData?.tooltipPosition\"\r\n > \r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n <div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n </div> \r\n", styles: [".example-full-width{width:100%}.example-form{min-width:150px;max-width:500px;width:100%}.form-error{color:red}.margin-right{margin-right:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i7.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i7.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaInputsComponent, decorators: [{
112
+ type: Component,
113
+ args: [{ selector: 'ruc-meta-inputs', template: "<mat-form-field class=\"{{customTheme }}\" [ngStyle]=\"{ 'width.%': rucInputData?.width }\" [appearance]=\"rucInputData?.appearance || 'fill'\">\r\n <mat-label>{{rucInputData?.label}}</mat-label>\r\n <input type=\"{{rucInputData?.inputType}}\" color=\"accent\" matInput placeholder=\"{{rucInputData?.placeholder}}\" [(ngModel)]=\"rucInputData.value\" \r\n (ngModelChange)=\"modelChangeFn($event.target)\" required=\"{{rucInputData?.required}}\" size=\"{{rucInputData?.size}}\"\r\n maxlength=\"{{rucInputData?.maxlength}}\" min=\"{{rucInputData?.min}}\" max=\"{{rucInputData?.max}}\" pattern=\"{{rucInputData?.pattern}}\"\r\n step=\"{{rucInputData?.step}}\" autofocus=\"{{rucInputData?.autofocus}}\" width=\"{{rucInputData?.width}}\" height=\"{{rucInputData?.height}}\"\r\n matTooltip=\"{{rucInputData?.tooltip}}\"\r\n [matAutocomplete]=\"auto\" [matAutocompleteDisabled]=\"!rucInputData?.autocomplete\" [readonly]=\"rucInputData?.readonly\" [matTooltipPosition]=\"rucInputData?.tooltipPosition\"\r\n > \r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n <div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n </div> \r\n", styles: [".example-full-width{width:100%}.example-form{min-width:150px;max-width:500px;width:100%}.form-error{color:red}.margin-right{margin-right:10px}\n"] }]
114
+ }], ctorParameters: function () { return [{ type: RucMetaFormValidationService }]; }, propDecorators: { rucInputData: [{
115
+ type: Input
116
+ }], selectedParentId: [{
117
+ type: Input
118
+ }], transferUserInput: [{
119
+ type: Output
120
+ }], customTheme: [{
121
+ type: Input
122
+ }] } });
123
+
124
+ class RucMetaRadioGroupComponent {
125
+ constructor(validationService) {
126
+ this.validationService = validationService;
127
+ this.transferUserInput = new EventEmitter();
128
+ }
129
+ ngOnInit() {
130
+ this.errorMessage = this.validationService.defaultErrorMessage;
131
+ }
132
+ /**
133
+ *
134
+ * @param e
135
+ */
136
+ modelChangeFn(e) {
137
+ this.rucInputData.value = e.value;
138
+ this.transferUserInput.emit(this.rucInputData);
139
+ }
140
+ }
141
+ RucMetaRadioGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaRadioGroupComponent, deps: [{ token: RucMetaFormValidationService }], target: i0.ɵɵFactoryTarget.Component });
142
+ RucMetaRadioGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RucMetaRadioGroupComponent, selector: "ruc-meta-radio-group", inputs: { rucInputData: "rucInputData", customTheme: "customTheme" }, outputs: { transferUserInput: "transferUserInput" }, ngImport: i0, template: "<mat-label>{{rucInputData?.label}}</mat-label>\r\n<mat-radio-group \r\n aria-labelledby=\"radio-group-label\"\r\n class=\"{{customTheme}} radio-group\" [(ngModel)]=\"radioValue\">\r\n <mat-radio-button class=\"radio-button\" *ngFor=\"let item of rucInputData?.groupOptions\" [value]=\"item.value\"\r\n (change)=\"modelChangeFn($event)\">\r\n {{item?.name}}\r\n </mat-radio-button>\r\n</mat-radio-group>\r\n<div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n</div> \r\n", styles: [".form-error{color:red}.radio-group{display:flex;flex-direction:column;margin:15px 0;align-items:flex-start}.radio-button{margin:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5$1.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i5$1.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }] });
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaRadioGroupComponent, decorators: [{
144
+ type: Component,
145
+ args: [{ selector: 'ruc-meta-radio-group', template: "<mat-label>{{rucInputData?.label}}</mat-label>\r\n<mat-radio-group \r\n aria-labelledby=\"radio-group-label\"\r\n class=\"{{customTheme}} radio-group\" [(ngModel)]=\"radioValue\">\r\n <mat-radio-button class=\"radio-button\" *ngFor=\"let item of rucInputData?.groupOptions\" [value]=\"item.value\"\r\n (change)=\"modelChangeFn($event)\">\r\n {{item?.name}}\r\n </mat-radio-button>\r\n</mat-radio-group>\r\n<div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n</div> \r\n", styles: [".form-error{color:red}.radio-group{display:flex;flex-direction:column;margin:15px 0;align-items:flex-start}.radio-button{margin:5px}\n"] }]
146
+ }], ctorParameters: function () { return [{ type: RucMetaFormValidationService }]; }, propDecorators: { rucInputData: [{
147
+ type: Input
148
+ }], customTheme: [{
149
+ type: Input
150
+ }], transferUserInput: [{
151
+ type: Output
152
+ }] } });
153
+
154
+ class RucMetaCheckboxGroupComponent {
155
+ constructor(validationService) {
156
+ this.validationService = validationService;
157
+ this.transferUserInput = new EventEmitter();
158
+ }
159
+ ngOnInit() {
160
+ this.errorMessage = this.validationService.defaultErrorMessage;
161
+ }
162
+ /**
163
+ *
164
+ * @param e
165
+ */
166
+ modelChangeFn(e) {
167
+ const checkboxValues = [];
168
+ this.rucInputData.groupOptions.forEach((x) => {
169
+ if (x.value) {
170
+ checkboxValues.push(x.name);
171
+ }
172
+ });
173
+ this.rucInputData.value = checkboxValues;
174
+ this.transferUserInput.emit(this.rucInputData);
175
+ }
176
+ }
177
+ RucMetaCheckboxGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaCheckboxGroupComponent, deps: [{ token: RucMetaFormValidationService }], target: i0.ɵɵFactoryTarget.Component });
178
+ RucMetaCheckboxGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RucMetaCheckboxGroupComponent, selector: "ruc-meta-checkbox-group", inputs: { rucInputData: "rucInputData" }, outputs: { transferUserInput: "transferUserInput" }, ngImport: i0, template: "<mat-label class=\"margin-\">{{rucInputData?.label}}</mat-label>\r\n<ul class=\"ruc-checkbox\">\r\n <li *ngFor=\"let item of rucInputData?.groupOptions\">\r\n <mat-checkbox [(ngModel)]=\"item.value\" (ngModelChange)=\"modelChangeFn($event)\">\r\n {{item?.name}}\r\n </mat-checkbox>\r\n </li>\r\n</ul>\r\n<div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n</div>", styles: ["ul{list-style-type:none;margin-top:4px}.form-error{color:red}.ruc-checkbox{padding-left:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }] });
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaCheckboxGroupComponent, decorators: [{
180
+ type: Component,
181
+ args: [{ selector: 'ruc-meta-checkbox-group', template: "<mat-label class=\"margin-\">{{rucInputData?.label}}</mat-label>\r\n<ul class=\"ruc-checkbox\">\r\n <li *ngFor=\"let item of rucInputData?.groupOptions\">\r\n <mat-checkbox [(ngModel)]=\"item.value\" (ngModelChange)=\"modelChangeFn($event)\">\r\n {{item?.name}}\r\n </mat-checkbox>\r\n </li>\r\n</ul>\r\n<div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n</div>", styles: ["ul{list-style-type:none;margin-top:4px}.form-error{color:red}.ruc-checkbox{padding-left:10px}\n"] }]
182
+ }], ctorParameters: function () { return [{ type: RucMetaFormValidationService }]; }, propDecorators: { rucInputData: [{
183
+ type: Input
184
+ }], transferUserInput: [{
185
+ type: Output
186
+ }] } });
187
+
188
+ class RucMetaSelectComponent {
189
+ constructor(service, validationService) {
190
+ this.service = service;
191
+ this.validationService = validationService;
192
+ this.transferUserInput = new EventEmitter();
193
+ }
194
+ ngOnInit() {
195
+ this.errorMessage = this.validationService.defaultErrorMessage;
196
+ }
197
+ modelChangeFn(e) {
198
+ this.rucInputData.groupOptions.forEach((x) => {
199
+ if (x.value == e.value) {
200
+ this.rucInputData.selectedParentId = x.id;
201
+ }
202
+ });
203
+ if (this.rucInputData.dependentFields) {
204
+ this.removDependentFieldParentIdFromOther(this.rucInputData.dependentFields);
205
+ }
206
+ this.service.currentFormElement = this.rucInputData;
207
+ this.transferUserInput.emit(this.rucInputData);
208
+ }
209
+ removDependentFieldParentIdFromOther(child) {
210
+ child.forEach((x) => {
211
+ if (x.selectedParentId) {
212
+ delete (x.selectedParentId);
213
+ x.value = "";
214
+ if (x.dependentFields) {
215
+ this.removDependentFieldParentIdFromOther(x.dependentFields);
216
+ }
217
+ }
218
+ });
219
+ }
220
+ }
221
+ RucMetaSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaSelectComponent, deps: [{ token: RucMetaFormService }, { token: RucMetaFormValidationService }], target: i0.ɵɵFactoryTarget.Component });
222
+ RucMetaSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RucMetaSelectComponent, selector: "ruc-meta-select", inputs: { rucInputData: "rucInputData" }, outputs: { transferUserInput: "transferUserInput" }, ngImport: i0, template: "<div class=\"select-label\">\r\n <mat-label>{{rucInputData?.label}}</mat-label>\r\n</div>\r\n<mat-form-field [ngStyle]=\"{ 'width.%': rucInputData?.width }\" matTooltip=\"{{rucInputData?.tooltip}}\" [appearance]=\"rucInputData?.appearance || 'fill'\">\r\n <mat-label>Choose an option</mat-label>\r\n <mat-select (selectionChange)=\"modelChangeFn($event)\" [(ngModel)]=\"rucInputData.value\">\r\n <mat-option *ngFor=\"let item of rucInputData?.groupOptions\" [value]=\"item.value\" [disabled]=\"item?.disable\"> {{item.name}}</mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n<div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n</div>", styles: [".form-error{color:red}::ng-deep .mat-icon{cursor:pointer}.select-label{margin-bottom:8px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i6$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaSelectComponent, decorators: [{
224
+ type: Component,
225
+ args: [{ selector: 'ruc-meta-select', template: "<div class=\"select-label\">\r\n <mat-label>{{rucInputData?.label}}</mat-label>\r\n</div>\r\n<mat-form-field [ngStyle]=\"{ 'width.%': rucInputData?.width }\" matTooltip=\"{{rucInputData?.tooltip}}\" [appearance]=\"rucInputData?.appearance || 'fill'\">\r\n <mat-label>Choose an option</mat-label>\r\n <mat-select (selectionChange)=\"modelChangeFn($event)\" [(ngModel)]=\"rucInputData.value\">\r\n <mat-option *ngFor=\"let item of rucInputData?.groupOptions\" [value]=\"item.value\" [disabled]=\"item?.disable\"> {{item.name}}</mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n<div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n</div>", styles: [".form-error{color:red}::ng-deep .mat-icon{cursor:pointer}.select-label{margin-bottom:8px}\n"] }]
226
+ }], ctorParameters: function () { return [{ type: RucMetaFormService }, { type: RucMetaFormValidationService }]; }, propDecorators: { rucInputData: [{
227
+ type: Input
228
+ }], transferUserInput: [{
229
+ type: Output
230
+ }] } });
231
+
232
+ class RucTextAreaComponent {
233
+ constructor(validationService) {
234
+ this.validationService = validationService;
235
+ this.transferUserInput = new EventEmitter();
236
+ }
237
+ ngOnInit() {
238
+ this.errorMessage = this.validationService.defaultErrorMessage;
239
+ }
240
+ /**
241
+ *
242
+ * @param e
243
+ */
244
+ modelChangeFn(e) {
245
+ this.transferUserInput.emit(this.rucInputData);
246
+ }
247
+ }
248
+ RucTextAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucTextAreaComponent, deps: [{ token: RucMetaFormValidationService }], target: i0.ɵɵFactoryTarget.Component });
249
+ RucTextAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RucTextAreaComponent, selector: "ruc-text-area", inputs: { rucInputData: "rucInputData", customTheme: "customTheme" }, outputs: { transferUserInput: "transferUserInput" }, ngImport: i0, template: "<mat-form-field [ngStyle]=\"{ 'width.%': rucInputData?.width }\" [appearance]=\"rucInputData?.appearance || 'fill'\" class=\"{{customTheme}}\">\r\n <mat-label>{{rucInputData?.label}}</mat-label>\r\n <textarea matInput\r\n placeholder=\"{{rucInputData?.placeholder}}\"\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"{{rucInputData.min}}\"\r\n cdkAutosizeMaxRows=\"{{rucInputData.max}}\"\r\n [readonly]=\"rucInputData?.readonly\"\r\n [(ngModel)]=\"rucInputData.value\" \r\n matTooltip=\"{{rucInputData?.tooltip}}\"\r\n (ngModelChange)=\"modelChangeFn($event.target)\"></textarea>\r\n </mat-form-field>\r\n <div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n </div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6$2.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucTextAreaComponent, decorators: [{
251
+ type: Component,
252
+ args: [{ selector: 'ruc-text-area', template: "<mat-form-field [ngStyle]=\"{ 'width.%': rucInputData?.width }\" [appearance]=\"rucInputData?.appearance || 'fill'\" class=\"{{customTheme}}\">\r\n <mat-label>{{rucInputData?.label}}</mat-label>\r\n <textarea matInput\r\n placeholder=\"{{rucInputData?.placeholder}}\"\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"{{rucInputData.min}}\"\r\n cdkAutosizeMaxRows=\"{{rucInputData.max}}\"\r\n [readonly]=\"rucInputData?.readonly\"\r\n [(ngModel)]=\"rucInputData.value\" \r\n matTooltip=\"{{rucInputData?.tooltip}}\"\r\n (ngModelChange)=\"modelChangeFn($event.target)\"></textarea>\r\n </mat-form-field>\r\n <div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n </div>\r\n" }]
253
+ }], ctorParameters: function () { return [{ type: RucMetaFormValidationService }]; }, propDecorators: { rucInputData: [{
254
+ type: Input
255
+ }], transferUserInput: [{
256
+ type: Output
257
+ }], customTheme: [{
258
+ type: Input
259
+ }] } });
260
+
261
+ class RuclibMetaformComponent {
262
+ constructor(service) {
263
+ this.service = service;
264
+ this.rucEvent = new EventEmitter();
265
+ this.childRucEvent = new EventEmitter();
266
+ this.rucInputData = [];
267
+ }
268
+ ngOnInit() {
269
+ if (!this.isChild) {
270
+ this.service.getFormJson(this.rucInputData);
271
+ this.getFormJson();
272
+ }
273
+ else {
274
+ this.formData = this.childForm;
275
+ }
276
+ this.inputObjectDataMultiFileUpload = {
277
+ multifileSelection: true,
278
+ displayThumbnail: true,
279
+ label: 'Choose File',
280
+ uploadUrl: '/api/upload',
281
+ deleteUrl: '/api/delete',
282
+ };
283
+ }
284
+ /**
285
+ * The purpose of this function to pass data from dependentFields to parent field
286
+ * @param getObject
287
+ * @param j
288
+ */
289
+ passEvent(getObject, formElement) {
290
+ const eventOutput = (getObject === null || getObject === void 0 ? void 0 : getObject.eventOutput) ? getObject.eventOutput : this.service.currentFormElement;
291
+ if ((getObject === null || getObject === void 0 ? void 0 : getObject.eventName) == "onUploading") {
292
+ formElement.value = (getObject === null || getObject === void 0 ? void 0 : getObject.eventOutput.name) ? getObject === null || getObject === void 0 ? void 0 : getObject.eventOutput.name : getObject === null || getObject === void 0 ? void 0 : getObject.eventOutput[0].name;
293
+ }
294
+ this.rucEvent.emit({ 'eventName': 'metaFormData', 'eventOutput': eventOutput, 'formData': this.formData, 'rucComponentEvent': getObject === null || getObject === void 0 ? void 0 : getObject.eventName });
295
+ }
296
+ /**
297
+ * Initial function to load for data
298
+ */
299
+ getFormJson() {
300
+ this.metaFormSubscribeInputs = this.service.formData.asObservable()
301
+ .subscribe((formData) => {
302
+ this.formData = formData;
303
+ this.service.metaFormData = this.formData;
304
+ });
305
+ }
306
+ /**
307
+ * This function is to emit form data
308
+ * @param event
309
+ */
310
+ getMetaFormData(event) {
311
+ this.rucEvent.emit({ 'eventName': 'metaFormData', 'eventOutput': event, 'formData': this.formData });
312
+ }
313
+ /**
314
+ * Clear form data
315
+ */
316
+ clearForm() {
317
+ this.formData.map((x) => {
318
+ x.value = '';
319
+ });
320
+ }
321
+ /**
322
+ * Destroy the subscriber
323
+ */
324
+ ngOnDestroy() {
325
+ if (this.metaFormSubscribeInputs) {
326
+ this.metaFormSubscribeInputs.unsubscribe();
327
+ }
328
+ }
329
+ }
330
+ RuclibMetaformComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RuclibMetaformComponent, deps: [{ token: RucMetaFormService }], target: i0.ɵɵFactoryTarget.Component });
331
+ RuclibMetaformComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RuclibMetaformComponent, selector: "uxp-ruclib-metaform", inputs: { rucInputData: "rucInputData", childForm: "childForm", customTheme: "customTheme", isChild: "isChild", selectedParentId: "selectedParentId" }, outputs: { rucEvent: "rucEvent", childRucEvent: "childRucEvent" }, ngImport: i0, template: "<form novalidate>\r\n <ng-container *ngFor=\"let dynamicField of formData; let j = index;\" [ngSwitch]=\"dynamicField?.fieldType\">\r\n <div [ngStyle] = \"{ 'width.%': dynamicField.sameRowColumnWidth - 2 }\" [ngClass]=\"dynamicField.sameRow === true ? 'margin-5 column-in-same-row' : 'margin-5 column-in-new-row'\" \r\n *ngIf=\"dynamicField.formType != 'stepper'\">\r\n \r\n <ng-template [ngSwitchCase]=\"'input'\">\r\n <div *ngIf=\"(!selectedParentId && !dynamicField.hasDependentFields) || (selectedParentId && selectedParentId == dynamicField.dependentFieldParentId)\">\r\n <ruc-meta-inputs [customTheme] = \"customTheme\" [rucInputData]=\"dynamicField\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-meta-inputs>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngSwitchCase]=\"'radio'\">\r\n <div *ngIf=\"(!selectedParentId && !dynamicField.dependentFields) || (selectedParentId && selectedParentId == dynamicField.dependentFieldParentId) || (!selectedParentId && dynamicField.dependentFields && !isChild)\">\r\n <ruc-meta-radio-group [customTheme] = \"customTheme\" [rucInputData]=\"dynamicField\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-meta-radio-group>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngSwitchCase]=\"'checkbox'\">\r\n <div *ngIf=\"(!selectedParentId && !dynamicField.dependentFields) || (selectedParentId && selectedParentId == dynamicField.dependentFieldParentId) || (!selectedParentId && dynamicField.dependentFields && !isChild)\">\r\n <ruc-meta-checkbox-group [rucInputData]=\"dynamicField\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-meta-checkbox-group>\r\n </div>\r\n </ng-template>\r\n <ng-template class=\"\" [ngSwitchCase]=\"'select'\">\r\n <div *ngIf=\"(!selectedParentId && !dynamicField.dependentFields) || (selectedParentId && selectedParentId == dynamicField.dependentFieldParentId) || (!selectedParentId && dynamicField.dependentFields && !isChild)\">\r\n <ruc-meta-select [rucInputData]=\"dynamicField\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-meta-select>\r\n </div>\r\n </ng-template>\r\n <ng-template class=\"\" [ngSwitchCase]=\"'textarea'\">\r\n <ruc-text-area [rucInputData]=\"dynamicField\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-text-area>\r\n </ng-template>\r\n <ng-template [ngSwitchCase]=\"'rucMultiSelect'\">\r\n <uxp-ruclib-multi-select [rucInputData]=\"dynamicField?.rucMultiselectInput?.rucInputData\"\r\n [dataSource]=\"dynamicField?.rucMultiselectInput?.dataSource\" [customTheme]=\"customTheme\"\r\n (rucEvent)=\"passEvent($event)\"></uxp-ruclib-multi-select>\r\n </ng-template>\r\n <ng-template [ngSwitchCase]=\"'rucMultiFileUpload'\">\r\n <uxp-ruclib-multi-file-upload\r\n [rucInputData]=\"dynamicField?.rucMultiFileUploadInput?.rucInputData\" [customTheme]=\"customTheme\"\r\n (rucEvent)=\"passEvent($event,dynamicField)\"></uxp-ruclib-multi-file-upload>\r\n </ng-template>\r\n <div *ngIf=\"dynamicField.hasDependentFields && dynamicField.value\">\r\n <uxp-ruclib-metaform #dynamicField.id [rucInputData]=\"formData\" [childForm] =\"dynamicField.dependentFields\"\r\n [isChild]=\"true\" [selectedParentId] = \"dynamicField.selectedParentId\" (rucEvent)=\"passEvent($event,dynamicField.id)\"></uxp-ruclib-metaform>\r\n </div>\r\n \r\n </div>\r\n <div *ngIf=\"dynamicField.formType == 'stepper'\">\r\n <mat-stepper linear #stepper>\r\n <div *ngFor=\"let stapperField of dynamicField.stepper; let s = index;\" [ngSwitch]=\"stapperField?.fieldType\">\r\n <mat-step [stepControl]=\"stapperField.stepControl\" *ngIf=\"stapperField.stepControl != 'done'\">\r\n <ng-template matStepLabel>{{stapperField.stepperlabel}}</ng-template>\r\n <ng-container *ngFor=\"let stepperFormData of stapperField.stepperFormData; let j = index;\" [ngSwitch]=\"stepperFormData?.fieldType\">\r\n <div [ngStyle] = \"{ 'width.%': dynamicField.sameRowColumnWidth - 2 }\" [ngClass]=\"dynamicField.sameRow === true ? 'margin-5 column-in-same-row' : 'margin-5 column-in-new-row'\" \r\n >\r\n <ng-template [ngSwitchCase]=\"'input'\">\r\n <div>\r\n <ruc-meta-inputs [customTheme] = \"customTheme\" [rucInputData]=\"stepperFormData\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-meta-inputs>\r\n </div>\r\n </ng-template>\r\n <ng-template class=\"\" [ngSwitchCase]=\"'textarea'\">\r\n <ruc-text-area [rucInputData]=\"stepperFormData\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-text-area>\r\n </ng-template>\r\n <ng-template [ngSwitchCase]=\"'radio'\">\r\n <div>\r\n <ruc-meta-radio-group [customTheme] = \"customTheme\" [rucInputData]=\"stepperFormData\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-meta-radio-group>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngSwitchCase]=\"'checkbox'\">\r\n <div >\r\n <ruc-meta-checkbox-group [rucInputData]=\"stepperFormData\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-meta-checkbox-group>\r\n </div>\r\n </ng-template>\r\n <ng-template class=\"\" [ngSwitchCase]=\"'select'\">\r\n <div *ngIf=\"(!selectedParentId && !dynamicField.dependentFields) || (selectedParentId && selectedParentId == dynamicField.dependentFieldParentId) || (!selectedParentId && dynamicField.dependentFields && !isChild)\">\r\n <ruc-meta-select [rucInputData]=\"dynamicField\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-meta-select>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n <div>\r\n <button mat-button matStepperPrevious *ngIf=\"s > 0\">Back</button>\r\n <button mat-button matStepperNext *ngIf=\"s< dynamicField.stepper.length\">Next</button>\r\n </div>\r\n </mat-step>\r\n <mat-step *ngIf=\"stapperField.stepControl == 'done'\">\r\n <ng-template matStepLabel>{{stapperField.stepControl}}</ng-template>\r\n <p>{{stapperField.stepperlabel}}</p>\r\n <div>\r\n <button mat-button matStepperPrevious>Back</button>\r\n <button mat-button (click)=\"stepper.reset()\">Reset</button>\r\n </div>\r\n </mat-step>\r\n </div>\r\n </mat-stepper>\r\n </div>\r\n </ng-container>\r\n <ng-container>\r\n <button mat-raised-button color=\"primary\" (click)=\"clearForm()\" *ngIf=\"!isChild\">Clear Form</button>\r\n </ng-container>\r\n \r\n</form>", styles: [".form-error{color:red}.column-in-same-row{float:left}.column-in-new-row{clear:left}.margin-5{margin:1%}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5$3.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "directive", type: i5$3.MatStepLabel, selector: "[matStepLabel]" }, { kind: "component", type: i5$3.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["selectedIndex", "disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { kind: "directive", type: i5$3.MatStepperNext, selector: "button[matStepperNext]", inputs: ["type"] }, { kind: "directive", type: i5$3.MatStepperPrevious, selector: "button[matStepperPrevious]", inputs: ["type"] }, { kind: "component", type: i6$3.RuclibMultiSelectComponent, selector: "uxp-ruclib-multi-select", inputs: ["rucInputData", "customTheme", "dataSource"], outputs: ["rucEvent"] }, { kind: "component", type: i7$1.RuclibMultiFileUploadComponent, selector: "uxp-ruclib-multi-file-upload", inputs: ["rucInputData", "customTheme"], outputs: ["rucEvent"] }, { kind: "component", type: RuclibMetaformComponent, selector: "uxp-ruclib-metaform", inputs: ["rucInputData", "childForm", "customTheme", "isChild", "selectedParentId"], outputs: ["rucEvent", "childRucEvent"] }, { kind: "component", type: RucMetaInputsComponent, selector: "ruc-meta-inputs", inputs: ["rucInputData", "selectedParentId", "customTheme"], outputs: ["transferUserInput"] }, { kind: "component", type: RucMetaRadioGroupComponent, selector: "ruc-meta-radio-group", inputs: ["rucInputData", "customTheme"], outputs: ["transferUserInput"] }, { kind: "component", type: RucMetaCheckboxGroupComponent, selector: "ruc-meta-checkbox-group", inputs: ["rucInputData"], outputs: ["transferUserInput"] }, { kind: "component", type: RucMetaSelectComponent, selector: "ruc-meta-select", inputs: ["rucInputData"], outputs: ["transferUserInput"] }, { kind: "component", type: RucTextAreaComponent, selector: "ruc-text-area", inputs: ["rucInputData", "customTheme"], outputs: ["transferUserInput"] }] });
332
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RuclibMetaformComponent, decorators: [{
333
+ type: Component,
334
+ args: [{ selector: 'uxp-ruclib-metaform', template: "<form novalidate>\r\n <ng-container *ngFor=\"let dynamicField of formData; let j = index;\" [ngSwitch]=\"dynamicField?.fieldType\">\r\n <div [ngStyle] = \"{ 'width.%': dynamicField.sameRowColumnWidth - 2 }\" [ngClass]=\"dynamicField.sameRow === true ? 'margin-5 column-in-same-row' : 'margin-5 column-in-new-row'\" \r\n *ngIf=\"dynamicField.formType != 'stepper'\">\r\n \r\n <ng-template [ngSwitchCase]=\"'input'\">\r\n <div *ngIf=\"(!selectedParentId && !dynamicField.hasDependentFields) || (selectedParentId && selectedParentId == dynamicField.dependentFieldParentId)\">\r\n <ruc-meta-inputs [customTheme] = \"customTheme\" [rucInputData]=\"dynamicField\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-meta-inputs>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngSwitchCase]=\"'radio'\">\r\n <div *ngIf=\"(!selectedParentId && !dynamicField.dependentFields) || (selectedParentId && selectedParentId == dynamicField.dependentFieldParentId) || (!selectedParentId && dynamicField.dependentFields && !isChild)\">\r\n <ruc-meta-radio-group [customTheme] = \"customTheme\" [rucInputData]=\"dynamicField\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-meta-radio-group>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngSwitchCase]=\"'checkbox'\">\r\n <div *ngIf=\"(!selectedParentId && !dynamicField.dependentFields) || (selectedParentId && selectedParentId == dynamicField.dependentFieldParentId) || (!selectedParentId && dynamicField.dependentFields && !isChild)\">\r\n <ruc-meta-checkbox-group [rucInputData]=\"dynamicField\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-meta-checkbox-group>\r\n </div>\r\n </ng-template>\r\n <ng-template class=\"\" [ngSwitchCase]=\"'select'\">\r\n <div *ngIf=\"(!selectedParentId && !dynamicField.dependentFields) || (selectedParentId && selectedParentId == dynamicField.dependentFieldParentId) || (!selectedParentId && dynamicField.dependentFields && !isChild)\">\r\n <ruc-meta-select [rucInputData]=\"dynamicField\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-meta-select>\r\n </div>\r\n </ng-template>\r\n <ng-template class=\"\" [ngSwitchCase]=\"'textarea'\">\r\n <ruc-text-area [rucInputData]=\"dynamicField\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-text-area>\r\n </ng-template>\r\n <ng-template [ngSwitchCase]=\"'rucMultiSelect'\">\r\n <uxp-ruclib-multi-select [rucInputData]=\"dynamicField?.rucMultiselectInput?.rucInputData\"\r\n [dataSource]=\"dynamicField?.rucMultiselectInput?.dataSource\" [customTheme]=\"customTheme\"\r\n (rucEvent)=\"passEvent($event)\"></uxp-ruclib-multi-select>\r\n </ng-template>\r\n <ng-template [ngSwitchCase]=\"'rucMultiFileUpload'\">\r\n <uxp-ruclib-multi-file-upload\r\n [rucInputData]=\"dynamicField?.rucMultiFileUploadInput?.rucInputData\" [customTheme]=\"customTheme\"\r\n (rucEvent)=\"passEvent($event,dynamicField)\"></uxp-ruclib-multi-file-upload>\r\n </ng-template>\r\n <div *ngIf=\"dynamicField.hasDependentFields && dynamicField.value\">\r\n <uxp-ruclib-metaform #dynamicField.id [rucInputData]=\"formData\" [childForm] =\"dynamicField.dependentFields\"\r\n [isChild]=\"true\" [selectedParentId] = \"dynamicField.selectedParentId\" (rucEvent)=\"passEvent($event,dynamicField.id)\"></uxp-ruclib-metaform>\r\n </div>\r\n \r\n </div>\r\n <div *ngIf=\"dynamicField.formType == 'stepper'\">\r\n <mat-stepper linear #stepper>\r\n <div *ngFor=\"let stapperField of dynamicField.stepper; let s = index;\" [ngSwitch]=\"stapperField?.fieldType\">\r\n <mat-step [stepControl]=\"stapperField.stepControl\" *ngIf=\"stapperField.stepControl != 'done'\">\r\n <ng-template matStepLabel>{{stapperField.stepperlabel}}</ng-template>\r\n <ng-container *ngFor=\"let stepperFormData of stapperField.stepperFormData; let j = index;\" [ngSwitch]=\"stepperFormData?.fieldType\">\r\n <div [ngStyle] = \"{ 'width.%': dynamicField.sameRowColumnWidth - 2 }\" [ngClass]=\"dynamicField.sameRow === true ? 'margin-5 column-in-same-row' : 'margin-5 column-in-new-row'\" \r\n >\r\n <ng-template [ngSwitchCase]=\"'input'\">\r\n <div>\r\n <ruc-meta-inputs [customTheme] = \"customTheme\" [rucInputData]=\"stepperFormData\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-meta-inputs>\r\n </div>\r\n </ng-template>\r\n <ng-template class=\"\" [ngSwitchCase]=\"'textarea'\">\r\n <ruc-text-area [rucInputData]=\"stepperFormData\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-text-area>\r\n </ng-template>\r\n <ng-template [ngSwitchCase]=\"'radio'\">\r\n <div>\r\n <ruc-meta-radio-group [customTheme] = \"customTheme\" [rucInputData]=\"stepperFormData\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-meta-radio-group>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngSwitchCase]=\"'checkbox'\">\r\n <div >\r\n <ruc-meta-checkbox-group [rucInputData]=\"stepperFormData\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-meta-checkbox-group>\r\n </div>\r\n </ng-template>\r\n <ng-template class=\"\" [ngSwitchCase]=\"'select'\">\r\n <div *ngIf=\"(!selectedParentId && !dynamicField.dependentFields) || (selectedParentId && selectedParentId == dynamicField.dependentFieldParentId) || (!selectedParentId && dynamicField.dependentFields && !isChild)\">\r\n <ruc-meta-select [rucInputData]=\"dynamicField\" (transferUserInput)=\"getMetaFormData($event)\"></ruc-meta-select>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n <div>\r\n <button mat-button matStepperPrevious *ngIf=\"s > 0\">Back</button>\r\n <button mat-button matStepperNext *ngIf=\"s< dynamicField.stepper.length\">Next</button>\r\n </div>\r\n </mat-step>\r\n <mat-step *ngIf=\"stapperField.stepControl == 'done'\">\r\n <ng-template matStepLabel>{{stapperField.stepControl}}</ng-template>\r\n <p>{{stapperField.stepperlabel}}</p>\r\n <div>\r\n <button mat-button matStepperPrevious>Back</button>\r\n <button mat-button (click)=\"stepper.reset()\">Reset</button>\r\n </div>\r\n </mat-step>\r\n </div>\r\n </mat-stepper>\r\n </div>\r\n </ng-container>\r\n <ng-container>\r\n <button mat-raised-button color=\"primary\" (click)=\"clearForm()\" *ngIf=\"!isChild\">Clear Form</button>\r\n </ng-container>\r\n \r\n</form>", styles: [".form-error{color:red}.column-in-same-row{float:left}.column-in-new-row{clear:left}.margin-5{margin:1%}\n"] }]
335
+ }], ctorParameters: function () { return [{ type: RucMetaFormService }]; }, propDecorators: { rucEvent: [{
336
+ type: Output
337
+ }], childRucEvent: [{
338
+ type: Output
339
+ }], rucInputData: [{
340
+ type: Input
341
+ }], childForm: [{
342
+ type: Input
343
+ }], customTheme: [{
344
+ type: Input
345
+ }], isChild: [{
346
+ type: Input
347
+ }], selectedParentId: [{
348
+ type: Input
349
+ }] } });
350
+
351
+ class RuclibMetaformModule {
352
+ }
353
+ RuclibMetaformModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RuclibMetaformModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
354
+ RuclibMetaformModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: RuclibMetaformModule, declarations: [RuclibMetaformComponent,
355
+ RucMetaInputsComponent,
356
+ RucMetaRadioGroupComponent,
357
+ RucMetaCheckboxGroupComponent,
358
+ RucMetaSelectComponent,
359
+ RucTextAreaComponent], imports: [CommonModule,
360
+ HttpClientModule,
361
+ FormsModule,
362
+ MatFormFieldModule,
363
+ MatInputModule,
364
+ MatRadioModule,
365
+ MatCheckboxModule,
366
+ MatSelectModule,
367
+ MatAutocompleteModule,
368
+ MatButtonModule,
369
+ MatTooltipModule,
370
+ TextFieldModule,
371
+ MatStepperModule,
372
+ RuclibMultiSelectModule,
373
+ RuclibMultiFileUploadModule], exports: [RuclibMetaformComponent] });
374
+ RuclibMetaformModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RuclibMetaformModule, providers: [
375
+ RucMetaFormService
376
+ ], imports: [CommonModule,
377
+ HttpClientModule,
378
+ FormsModule,
379
+ MatFormFieldModule,
380
+ MatInputModule,
381
+ MatRadioModule,
382
+ MatCheckboxModule,
383
+ MatSelectModule,
384
+ MatAutocompleteModule,
385
+ MatButtonModule,
386
+ MatTooltipModule,
387
+ TextFieldModule,
388
+ MatStepperModule,
389
+ RuclibMultiSelectModule,
390
+ RuclibMultiFileUploadModule] });
391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RuclibMetaformModule, decorators: [{
392
+ type: NgModule,
393
+ args: [{
394
+ imports: [CommonModule,
395
+ HttpClientModule,
396
+ FormsModule,
397
+ MatFormFieldModule,
398
+ MatInputModule,
399
+ MatRadioModule,
400
+ MatCheckboxModule,
401
+ MatSelectModule,
402
+ MatAutocompleteModule,
403
+ MatButtonModule,
404
+ MatTooltipModule,
405
+ TextFieldModule,
406
+ MatStepperModule,
407
+ RuclibMultiSelectModule,
408
+ RuclibMultiFileUploadModule
409
+ ],
410
+ declarations: [
411
+ RuclibMetaformComponent,
412
+ RucMetaInputsComponent,
413
+ RucMetaRadioGroupComponent,
414
+ RucMetaCheckboxGroupComponent,
415
+ RucMetaSelectComponent,
416
+ RucTextAreaComponent
417
+ ],
418
+ exports: [
419
+ RuclibMetaformComponent
420
+ ],
421
+ providers: [
422
+ RucMetaFormService
423
+ ]
424
+ }]
425
+ }] });
426
+
427
+ /**
428
+ * Generated bundle index. Do not edit.
429
+ */
430
+
431
+ export { RuclibMetaformComponent, RuclibMetaformModule };
432
+ //# sourceMappingURL=ruc-lib-metaform.mjs.map