@noaestudio/forms
Version:
Dynamic forms extension for Covalent
1 lines • 91.6 kB
JSON
{"__symbolic":"module","version":4,"metadata":{"createTranslateLoader":{"__symbolic":"function","parameters":["http"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@ngx-translate/http-loader","name":"TranslateHttpLoader","line":69,"character":12},"arguments":[{"__symbolic":"reference","name":"http"},"./assets/i18n/",".json"]}},"CovalentDynamicFormsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":110,"character":1},"arguments":[{"declarations":[[{"__symbolic":"reference","name":"TdDynamicFormsComponent"},{"__symbolic":"reference","name":"TdDynamicElementComponent"},{"__symbolic":"reference","name":"TdDynamicElementDirective"},{"__symbolic":"reference","name":"TdDynamicFormsErrorTemplate"}],[{"__symbolic":"reference","name":"TdDynamicInputComponent"},{"__symbolic":"reference","name":"TdDynamicFileInputComponent"},{"__symbolic":"reference","name":"TdDynamicTextareaComponent"},{"__symbolic":"reference","name":"TdDynamicSlideToggleComponent"},{"__symbolic":"reference","name":"TdDynamicCheckboxComponent"},{"__symbolic":"reference","name":"TdDynamicSliderComponent"},{"__symbolic":"reference","name":"TdDynamicSelectComponent"},{"__symbolic":"reference","name":"TdDynamicDatepickerComponent"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵy"},{"__symbolic":"reference","name":"ɵz"},{"__symbolic":"reference","name":"ɵba"}]],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":116,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":117,"character":4},{"__symbolic":"reference","module":"@angular/material/input","name":"MatInputModule","line":119,"character":4},{"__symbolic":"reference","module":"@angular/material/select","name":"MatSelectModule","line":120,"character":4},{"__symbolic":"reference","module":"@angular/material/checkbox","name":"MatCheckboxModule","line":121,"character":4},{"__symbolic":"reference","module":"@angular/material/slider","name":"MatSliderModule","line":122,"character":4},{"__symbolic":"reference","module":"@angular/material/slide-toggle","name":"MatSlideToggleModule","line":123,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":124,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":125,"character":4},{"__symbolic":"reference","module":"@angular/material/datepicker","name":"MatDatepickerModule","line":126,"character":4},{"__symbolic":"reference","module":"@angular/material/tabs","name":"MatTabsModule","line":127,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatTableModule","line":128,"character":4},{"__symbolic":"reference","module":"@angular/material/chips","name":"MatChipsModule","line":129,"character":1},{"__symbolic":"reference","module":"@angular/material-moment-adapter","name":"MatMomentDateModule","line":130,"character":1},{"__symbolic":"reference","module":"@covalent/core/common","name":"CovalentCommonModule","line":132,"character":4},{"__symbolic":"reference","module":"@covalent/core/file","name":"CovalentFileModule","line":133,"character":4},{"__symbolic":"reference","module":"@angular/cdk/drag-drop","name":"DragDropModule","line":135,"character":4},{"__symbolic":"reference","module":"ngx-editor","name":"NgxEditorModule","line":136,"character":4},{"__symbolic":"reference","module":"angular-font-awesome","name":"AngularFontAwesomeModule","line":137,"character":4},{"__symbolic":"reference","module":"material-community-components","name":"MccColorPickerModule","line":138,"character":4},{"__symbolic":"reference","module":"@ng-select/ng-select","name":"NgSelectModule","line":139,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatTreeModule","line":140,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"angular-tree-component","name":"TreeModule","line":141,"character":4},"member":"forRoot"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"ngx-material-timepicker","name":"NgxMaterialTimepickerModule","line":142,"character":4},"member":"forRoot"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateModule","line":144,"character":1},"member":"forChild"}}],"exports":[[{"__symbolic":"reference","name":"TdDynamicFormsComponent"},{"__symbolic":"reference","name":"TdDynamicElementComponent"},{"__symbolic":"reference","name":"TdDynamicElementDirective"},{"__symbolic":"reference","name":"TdDynamicFormsErrorTemplate"}],[{"__symbolic":"reference","name":"TdDynamicInputComponent"},{"__symbolic":"reference","name":"TdDynamicFileInputComponent"},{"__symbolic":"reference","name":"TdDynamicTextareaComponent"},{"__symbolic":"reference","name":"TdDynamicSlideToggleComponent"},{"__symbolic":"reference","name":"TdDynamicCheckboxComponent"},{"__symbolic":"reference","name":"TdDynamicSliderComponent"},{"__symbolic":"reference","name":"TdDynamicSelectComponent"},{"__symbolic":"reference","name":"TdDynamicDatepickerComponent"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵy"},{"__symbolic":"reference","name":"ɵz"},{"__symbolic":"reference","name":"ɵba"}]],"providers":[{"__symbolic":"reference","name":"DYNAMIC_FORMS_PROVIDER"},{"__symbolic":"reference","name":"ɵbb"},{"provide":{"__symbolic":"reference","module":"@angular/material","name":"DateAdapter","line":164,"character":11},"useClass":{"__symbolic":"reference","name":"ɵbb"}},{"provide":{"__symbolic":"reference","module":"@angular/material","name":"MAT_DATE_FORMATS","line":165,"character":11},"useValue":{"__symbolic":"reference","name":"ɵbc"}}],"entryComponents":[[{"__symbolic":"reference","name":"TdDynamicInputComponent"},{"__symbolic":"reference","name":"TdDynamicFileInputComponent"},{"__symbolic":"reference","name":"TdDynamicTextareaComponent"},{"__symbolic":"reference","name":"TdDynamicSlideToggleComponent"},{"__symbolic":"reference","name":"TdDynamicCheckboxComponent"},{"__symbolic":"reference","name":"TdDynamicSliderComponent"},{"__symbolic":"reference","name":"TdDynamicSelectComponent"},{"__symbolic":"reference","name":"TdDynamicDatepickerComponent"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵy"},{"__symbolic":"reference","name":"ɵz"},{"__symbolic":"reference","name":"ɵba"}]]}]}],"members":{}},"TdDynamicFormsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"td-dynamic-forms","template":"<form [formGroup]=\"dynamicForm\" novalidate>\n\t<div class=\"td-dynamic-form-wrapper\">\n\t\t<ng-template let-element ngFor [ngForOf]=\"elements\">\n\t\t\t<div class=\"td-dynamic-element-wrapper\" *ngIf=\"!element.hidden\"\n\t\t\t\t[style.max-width.%]=\"element.flex ? element.flex : 100\"\n\t\t\t\t[style.flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n\t\t\t\t[style.-ms-flex]=\"'1 1 ' + (element.flex ? element.flex : 100) + '%'\"\n\t\t\t\t[style.-webkit-box-flex]=\"1\">\n\t\t\t\t<td-dynamic-element #dynamicElement *ngIf=\"dynamicForm.controls[element.name]\"\n\t\t\t\t\t[formControlName]=\"element.name\"\n\t\t\t\t\t[dynamicControl]=\"dynamicForm.controls[element.name]\"\n\t\t\t\t\t[id]=\"element.name\"\n\t\t\t\t\t[label]=\"element.label || element.name\"\n\t\t\t\t\t[type]=\"element.type\"\n\t\t\t\t\t[required]=\"element.required\"\n\t\t\t\t\t[hidden]=\"element.hidden\"\n\t\t\t\t\t[min]=\"element.min\"\n\t\t\t\t\t[max]=\"element.max\"\n\t\t\t\t\t[minLength]=\"element.minLength\"\n\t\t\t\t\t[maxLength]=\"element.maxLength\"\n\t\t\t\t\t[selections]=\"element.selections\"\n\t\t\t\t\t[selectComplex]=\"element.selectComplex\"\n\t\t\t\t\t[selectMultiple]=\"element.selectMultiple\"\n\t\t\t\t\t[searchable]=\"element.searchable\"\n\t\t\t\t\t[flex]=\"element.flex\"\n\t\t\t\t\t[translate]=\"element.translate\"\n\t\t\t\t\t[step]=\"element.step\"\n\t\t\t\t\t[treeItems]=\"element.treeItems\"\n\t\t\t\t\t[action]=\"element.action\"\n\t\t\t\t\t[schema]=\"element.schema\"\n\t\t\t\t\t[draggable]=\"element.draggable\"\n\t\t\t\t\t[extras]=\"element.extras\"\n\t\t\t\t\t[extraFields]=\"element.extraFields\"\n\t\t\t\t\t[chips]=\"element.chips\"\n\t\t\t\t>\n\t\t\t\t</td-dynamic-element>\n\t\t\t\t<div class=\"tc-red-600\"\n\t\t\t\t\t[style.font-size.%]=\"'70'\"\n\t\t\t\t\t[style.position]=\"'absolute'\"\n\t\t\t\t\t[style.bottom.px]=\"'10'\"\n\t\t\t\t\t*ngIf=\"getErrorTemplateRef(element.name) && dynamicForm.controls[element.name]?.errors\">\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"getErrorTemplateRef(element.name)\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{control: dynamicForm.controls[element.name], errors: dynamicForm.controls[element.name]?.errors}\">\n\t\t\t\t\t</ng-template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</ng-template>\n\t</div>\n\t<ng-content></ng-content>\n</form>\n","styles":[".td-dynamic-form-wrapper{-ms-flex-wrap:wrap;flex-wrap:wrap;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center;max-width:100%;-ms-flex-pack:start;justify-content:start}.td-dynamic-form-wrapper .td-dynamic-element-wrapper{max-height:100%;box-sizing:border-box;position:relative;padding:4px 4px 8px}"],"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":65,"character":19},"member":"OnPush"}}]}],"members":{"_errorTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":72,"character":3},"arguments":[{"__symbolic":"reference","name":"TdDynamicFormsErrorTemplate"}]}]}],"changeFunc":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":3},"arguments":["changeFunc"]}]}],"elements":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":83,"character":3},"arguments":["elements"]}]}],"jsonEqual":[{"__symbolic":"method"}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":151,"character":36},{"__symbolic":"reference","name":"TdDynamicFormsService"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":151,"character":130}]}],"ngAfterContentInit":[{"__symbolic":"method"}],"startChangeFunc":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"getErrorTemplateRef":[{"__symbolic":"method"}],"_updateErrorTemplates":[{"__symbolic":"method"}],"_rerenderElements":[{"__symbolic":"method"}],"_clearRemovedElements":[{"__symbolic":"method"}]}},"ELEMENT_INPUT_CONTROL_VALUE_ACCESSOR":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":14,"character":10},"useExisting":{"__symbolic":"reference","name":"TdDynamicElementComponent"},"multi":true},"TdDynamicFormsErrorTemplate":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/cdk/portal","name":"TemplatePortalDirective","line":20,"character":49},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":19,"character":1},"arguments":[{"selector":"[tdDynamicFormsError]ng-template"}]}],"members":{"tdDynamicFormsError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":2}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":23,"character":62}]}]}},"TdDynamicElementDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":28,"character":1},"arguments":[{"selector":"[tdDynamicContainer]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":23,"character":62}]}]}},"TdDynamicElementComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":35,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"TdDynamicFormsService"},{"__symbolic":"reference","name":"ELEMENT_INPUT_CONTROL_VALUE_ACCESSOR"}],"selector":"td-dynamic-element","template":"<div tdDynamicContainer></div>"}]}],"members":{"dynamicControl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":2}}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":2}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":2}}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":2}}]}],"hidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":2}}]}],"min":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":81,"character":2}}]}],"max":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":86,"character":2}}]}],"minLength":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":91,"character":2}}]}],"maxLength":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":96,"character":2}}]}],"selections":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":101,"character":2}}]}],"selectComplex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":106,"character":2}}]}],"selectMultiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":111,"character":2}}]}],"searchable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":116,"character":2}}]}],"flex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":121,"character":2}}]}],"translate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":126,"character":2}}]}],"step":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":131,"character":2}}]}],"action":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":136,"character":2}}]}],"treeItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":141,"character":2}}]}],"schema":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":146,"character":2}}]}],"draggable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":151,"character":2}}]}],"extras":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":156,"character":2}}]}],"extraFields":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":161,"character":2}}]}],"chips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":163,"character":2}}]}],"childElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":165,"character":2},"arguments":[{"__symbolic":"reference","name":"TdDynamicElementDirective"}]}]}],"maxAttr":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":167,"character":2},"arguments":["attr.max"]}]}],"minAttr":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":172,"character":2},"arguments":["attr.min"]}]}],"stepAttr":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":177,"character":2},"arguments":["attr.step"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":182,"character":48},{"__symbolic":"reference","name":"TdDynamicFormsService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"registerOnModelChange":[{"__symbolic":"method"}]}},"TdDynamicType":{"Text":"text","Boolean":"boolean","Number":"number","Array":"array","Date":"date"},"TdDynamicElement":{"Input":"input","Datepicker":"datepicker","Password":"password","Textarea":"textarea","Slider":"slider","SlideToggle":"slide-toggle","Checkbox":"checkbox","Select":"select","FileInput":"file-input","TextEditor":"text-editor","ColorPicker":"color-picker","TimePicker":"time-picker","DateTimePicker":"date-time-picker","Organization":"organization","GallerySelector":"gallery-selector","TreeSelector":"tree-selector","EditableTable":"editable-table","ChipSelector":"chip-selector"},"Visibility":{"None":-1,"All":0,"Add":1,"Edit":2},"ITdDynamicElementValidator":{"__symbolic":"interface"},"ITdDynamicElementConfig":{"__symbolic":"interface"},"DYNAMIC_ELEMENT_NAME_REGEX":{"__symbolic":"error","message":"Expression form not supported","line":93,"character":50,"module":"./services/dynamic-forms.service"},"TdDynamicFormsService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":95,"character":1}}],"members":{"validateDynamicElementName":[{"__symbolic":"method"}],"getDynamicElement":[{"__symbolic":"method"}],"createFormControl":[{"__symbolic":"method"}],"createValidators":[{"__symbolic":"method"}]}},"DYNAMIC_FORMS_PROVIDER_FACTORY":{"__symbolic":"function","parameters":["parent"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"parent"},"right":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"TdDynamicFormsService"}}}},"DYNAMIC_FORMS_PROVIDER":{"provide":{"__symbolic":"reference","name":"TdDynamicFormsService"},"deps":[[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":209,"character":14}},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":209,"character":30}},{"__symbolic":"reference","name":"TdDynamicFormsService"}]],"useFactory":{"__symbolic":"reference","name":"DYNAMIC_FORMS_PROVIDER_FACTORY"}},"TEXTAREA_INPUT_CONTROL_VALUE_ACCESSOR":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":6,"character":11},"useExisting":{"__symbolic":"reference","name":"TdDynamicTextareaComponent"},"multi":true},"TdDynamicTextareaComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"TEXTAREA_INPUT_CONTROL_VALUE_ACCESSOR"}],"selector":"td-dynamic-textarea","styles":[".td-dynamic-textarea-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-textarea-wrapper .td-dynamic-textarea-field{-ms-flex:1;flex:1;box-sizing:border-box}"],"template":"<div class=\"td-dynamic-textarea-wrapper\">\n <mat-form-field class=\"td-dynamic-textarea-field\">\n <textarea #elementInput\n matInput\n [(ngModel)]=\"value\"\n [placeholder]=\"label\"\n [required]=\"required\"\n rows=\"4\">\n </textarea>\n </mat-form-field>\n</div>"}]}],"members":{}},"SLIDER_INPUT_CONTROL_VALUE_ACCESSOR":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":6,"character":11},"useExisting":{"__symbolic":"reference","name":"TdDynamicSliderComponent"},"multi":true},"TdDynamicSliderComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"SLIDER_INPUT_CONTROL_VALUE_ACCESSOR"}],"selector":"td-dynamic-slider","styles":[".td-dynamic-slider-field{position:relative;margin-top:8px;-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-slider-field .td-dynamic-slider{-ms-flex:1;flex:1}"],"template":"<div class=\"td-dynamic-slider-wrapper\">\n <div class=\"mat-form-field-placeholder-wrapper mat-form-field-can-float mat-form-field-should-float\"\n [class.mat-focused]=\"slider._isActive\">\n <label class=\"mat-form-field-placeholder mat-float mat-form-field-float td-slider-label\"> {{label}} <span *ngIf=\"required\" class=\"mat-placeholder-required\">*</span></label>\n </div>\n <div class=\"td-dynamic-slider-field\">\n <mat-slider #slider\n class=\"td-dynamic-slider\"\n [(ngModel)]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n thumbLabel\n tickInterval=\"auto\"\n [required]=\"required\">\n </mat-slider>\n </div>\n</div>\n"}]}],"members":{}},"SLIDE_TOGGLE_INPUT_CONTROL_VALUE_ACCESSOR":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":6,"character":11},"useExisting":{"__symbolic":"reference","name":"TdDynamicSlideToggleComponent"},"multi":true},"TdDynamicSlideToggleComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"SLIDE_TOGGLE_INPUT_CONTROL_VALUE_ACCESSOR"}],"selector":"td-dynamic-slide-toggle","styles":[""],"template":"<div class=\"td-dynamic-slide-toggle-wrapper\">\n <mat-slide-toggle [(ngModel)]=\"value\"\n [required]=\"required\">\n {{label}}\n </mat-slide-toggle>\n</div>"}]}],"members":{}},"SELECT_TOGGLE_INPUT_CONTROL_VALUE_ACCESSOR":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":12,"character":10},"useExisting":{"__symbolic":"reference","name":"TdDynamicSelectComponent"},"multi":true},"TdDynamicSelectComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"SELECT_TOGGLE_INPUT_CONTROL_VALUE_ACCESSOR"}],"selector":"td-dynamic-select","styles":[".td-dynamic-select-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-select-wrapper .td-dynamic-select-field{-ms-flex:1;flex:1;box-sizing:border-box}"],"template":"<div class=\"td-dynamic-select-wrapper\">\n\n\t<mat-form-field *ngIf=\"!selectComplex\" class=\"td-dynamic-select-field\">\n\t\t<mat-select [(ngModel)]=\"value\" [placeholder]=\"label\" [required]=\"required\">\n\t\t\t<mat-option *ngFor=\"let selection of selections\" [value]=\"selection.value || selection\">{{selection.label || selection}}</mat-option>\n\t\t</mat-select>\n\t</mat-form-field>\n\n\t<ng-select style=\"padding-bottom: 2.25em;\" *ngIf=\"selectComplex\" [(ngModel)]=\"value\" placeholder=\"{{label + (required ? ' *' : '')}}\" [required]=\"required\" [multiple]=\"selectMultiple\" [items]=\"selections\"\n\t\t [searchable]=\"true\" bindLabel=\"label\" bindValue=\"value\" appendTo=\"body\" [style.flex]=\"flexPerc\">\n\t</ng-select>\n\n</div>\n"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":54,"character":33}]}],"ngOnInit":[{"__symbolic":"method"}],"translateLabel":[{"__symbolic":"method"}]}},"INPUT_INPUT_CONTROL_VALUE_ACCESSOR":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":6,"character":10},"useExisting":{"__symbolic":"reference","name":"TdDynamicInputComponent"},"multi":true},"TdDynamicInputComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"INPUT_INPUT_CONTROL_VALUE_ACCESSOR"}],"selector":"td-dynamic-input","styles":[".td-dynamic-input-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-input-wrapper .td-dynamic-input-field{-ms-flex:1;flex:1;box-sizing:border-box}"],"template":"<div class=\"td-dynamic-input-wrapper\">\n <mat-form-field class=\"td-dynamic-input-field\">\n <input #elementInput matInput [(ngModel)]=\"value\" [formControl]=\"control\" [placeholder]=\"label\"\n [type]=\"type\" [autocomplete]=\"autocomplete\" [required]=\"required\" [attr.min]=\"min\" [attr.max]=\"max\"\n [attr.minLength]=\"minLength\" [attr.maxLength]=\"maxLength\" [attr.step]=\"step\" />\n </mat-form-field>\n</div>\n"}]}],"members":{"ngOnInit":[{"__symbolic":"method"}]}},"UPLOAD_INPUT_CONTROL_VALUE_ACCESSOR":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":6,"character":11},"useExisting":{"__symbolic":"reference","name":"TdDynamicFileInputComponent"},"multi":true},"TdDynamicFileInputComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"UPLOAD_INPUT_CONTROL_VALUE_ACCESSOR"}],"selector":"td-dynamic-file-input","styles":[".td-dynamic-file-input-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-file-input-wrapper .td-dynamic-file-input-field{-ms-flex:1;flex:1;box-sizing:border-box}.td-file-input{margin-left:10px}"],"template":"<div class=\"td-dynamic-file-input-wrapper\">\n\t<mat-form-field tdFileDrop\n\t\tclass=\"td-dynamic-file-input-field\"\n\t\tfloatLabel=\"never\"\n\t\t[disabled]=\"control?.disabled\"\n\t\t(fileDrop)=\"value = $event\"\n\t\t(click)=\"!control?.disabled && fileInput.inputElement.click()\"\n\t\t(keyup.enter)=\"!control?.disabled && fileInput.inputElement.click()\"\n\t\t(keyup.delete)=\"fileInput.clear()\"\n\t\t(keyup.backspace)=\"fileInput.clear()\" >\n\t\t\t<input matInput\n\t\t\t\t[value]=\"value?.name\"\n\t\t\t\t[placeholder]=\"label\"\n\t\t\t\t[disabled]=\"control?.disabled\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\treadonly />\n\t</mat-form-field>\n\t<button mat-icon-button *ngIf=\"value\" (click)=\"fileInput.clear()\" (keyup.enter)=\"fileInput.clear()\">\n\t\t<mat-icon>cancel</mat-icon>\n\t</button>\n\t<td-file-input class=\"td-file-input\" #fileInput [(ngModel)]=\"value\">\n\t\t<mat-icon>folder</mat-icon>\n\t\t<span>{{ label }}</span>\n\t</td-file-input>\n</div>\n"}]}],"members":{}},"DATEPICKER_INPUT_CONTROL_VALUE_ACCESSOR":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":6,"character":11},"useExisting":{"__symbolic":"reference","name":"TdDynamicDatepickerComponent"},"multi":true},"TdDynamicDatepickerComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"DATEPICKER_INPUT_CONTROL_VALUE_ACCESSOR"}],"selector":"td-dynamic-datepicker","styles":[".td-dynamic-datepicker-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-datepicker-wrapper .td-dynamic-datepicker-field{-ms-flex:1;flex:1;box-sizing:border-box}"],"template":"<div class=\"td-dynamic-datepicker-wrapper\">\n <mat-form-field class=\"td-dynamic-datepicker-field\">\n <input #elementInput\n matInput\n [matDatepicker]=\"dynamicDatePicker\"\n [(ngModel)]=\"value\"\n [formControl]=\"control\"\n autocomplete=\"off\"\n [placeholder]=\"label\"\n [required]=\"required\"\n [min]=\"min\"\n [max]=\"max\"/>\n <mat-datepicker-toggle matSuffix [for]=\"dynamicDatePicker\"></mat-datepicker-toggle>\n <mat-datepicker #dynamicDatePicker></mat-datepicker>\n </mat-form-field>\n</div>\n"}]}],"members":{}},"CHECKBOX_INPUT_CONTROL_VALUE_ACCESSOR":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":6,"character":11},"useExisting":{"__symbolic":"reference","name":"TdDynamicCheckboxComponent"},"multi":true},"TdDynamicCheckboxComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"CHECKBOX_INPUT_CONTROL_VALUE_ACCESSOR"}],"selector":"td-dynamic-checkbox","styles":[""],"template":"<div class=\"td-dynamic-checkbox-wrapper\">\n <mat-checkbox [(ngModel)]=\"value\"\n [required]=\"required\">\n {{label}}\n </mat-checkbox>\n</div>"}]}],"members":{}},"ɵa":{"__symbolic":"class","members":{"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}]}},"ɵb":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":6,"character":10},"useExisting":{"__symbolic":"reference","name":"ɵc"},"multi":true},"ɵc":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"ɵb"}],"selector":"text-editor","styles":[".td-dynamic-input-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-input-wrapper .td-dynamic-input-field{-ms-flex:1;flex:1;box-sizing:border-box}.td-dynamic-input-wrapper .ngx-editor{margin-top:10px}"],"template":"<style>\n\n.ngx-editor {\n\tmargin-top: 10px;\n}\n\n</style>\n\n<div class=\"td-dynamic-input-wrapper\" style=\"display: block;\">\n\t<label>{{label}} {{required ? '*' : ''}}</label>\n\t<app-ngx-editor [(ngModel)]=\"value\" [height]=\"height\" [minHeight]=\"height\" [toolbar]=\"toolbarConfig\" style=\"width:100%;\">\n\t</app-ngx-editor>\n</div>\n"}]}],"members":{}},"ɵd":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":6,"character":10},"useExisting":{"__symbolic":"reference","name":"ɵe"},"multi":true},"ɵe":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"ɵd"}],"selector":"color-picker","styles":[".td-dynamic-input-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-input-wrapper .td-dynamic-input-field{-ms-flex:1;flex:1;box-sizing:border-box}.td-dynamic-input-wrapper .ngx-editor{margin-top:10px}"],"template":"<style>\n\n.ngx-editor {\n\tmargin-top: 10px;\n}\n\n</style>\n\n<div class=\"td-dynamic-input-wrapper\" style=\"display: block;\">\n\t<label style=\"display: block; margin-right: 10px;\">{{label}} {{required ? '*' : ''}}</label>\n\t<mcc-color-picker [selectedColor]=\"value\" (selected)=\"selectColor($event)\" [hideUsedColors]=\"hideUsedColors\"></mcc-color-picker>\n</div>\n"}]}],"members":{"selectColor":[{"__symbolic":"method"}]}},"ɵf":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":6,"character":10},"useExisting":{"__symbolic":"reference","name":"ɵg"},"multi":true},"ɵg":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"ɵf"}],"selector":"td-time-picker","styles":[".td-dynamic-timepicker-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-timepicker-wrapper .td-dynamic-timepicker-field{-ms-flex:1;flex:1;box-sizing:border-box}"],"template":"<div class=\"td-time-picker\">\n\t<mat-form-field class=\"td-dynamic-timepicker-field\">\n\t\t<input matInput [(ngModel)]=\"value\" (ngModelChange)=\"selectValue($event)\" [format]=\"format\" [ngxTimepicker]=\"pickerT\"\n\t\t\t[placeholder]=\"label\" [required]=\"required\" [min]=\"min\" [max]=\"max\" autocomplete=\"off\"/>\n\t\t<ngx-material-timepicker #pickerT></ngx-material-timepicker>\n </mat-form-field>\n</div>\n"}]}],"members":{"selectValue":[{"__symbolic":"method"}]}},"ɵh":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":11,"character":10},"useExisting":{"__symbolic":"reference","name":"ɵi"},"multi":true},"ɵi":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"ɵh"}],"selector":"td-date-time-picker","styles":[".td-dynamic-timepicker-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-timepicker-wrapper .td-dynamic-timepicker-field{-ms-flex:1;flex:1;box-sizing:border-box}"],"template":"<style>\n\n.timeLabel {\n\tdisplay: block;\n\tmargin-bottom: 5px;\n\tcolor: rgba(0, 0, 0, 0.54);\n\tfont-size: 11px;\n}\n\n.timeInput {\n\tborder: none;\n border-bottom: 1px solid rgba(0, 0, 0, 0.54);\n width: 201px;\n}\n\n.timeIcon {\n\tdisplay: inline-flex;\n\tvertical-align: middle;\n}\n\n</style>\n\n<div class=\"td-dynamic-datepicker-wrapper\">\n\t<label>{{label}}</label>\n\n\t<br />\n\t<br />\n\n\t<mat-form-field class=\"td-dynamic-datepicker-field\">\n\t\t<input #elementInput matInput [matDatepicker]=\"dynamicDatePicker\" autocomplete=\"off\"\n\t\t\t[(ngModel)]=\"dateValue\" (ngModelChange)=\"selectDateValue($event)\"\n\t\t\tplaceholder=\"Fecha\" [required]=\"required\" [min]=\"min\" [max]=\"max\"\n\t\t/>\n\t\t<mat-datepicker-toggle matSuffix [for]=\"dynamicDatePicker\"></mat-datepicker-toggle>\n\t\t<mat-datepicker #dynamicDatePicker></mat-datepicker>\n\n\t</mat-form-field>\n\n\t<br />\n\n\t<label class=\"timeLabel\">Hora</label>\n\t<input class=\"timeInput\" [ngxTimepicker]=\"pickerDT\" [(ngModel)]=\"timeValue\" (ngModelChange)=\"selectTimeValue($event)\"\n\t\t[disableClick]=\"true\" readonly [format]=\"format\" [required]=\"required\" autocomplete=\"off\" />\n <ngx-material-timepicker-toggle class=\"timeIcon\" [for]=\"pickerDT\"></ngx-material-timepicker-toggle>\n <ngx-material-timepicker #pickerDT></ngx-material-timepicker>\n\n</div>\n"}]}],"members":{"ngOnInit":[{"__symbolic":"method"}],"initValues":[{"__symbolic":"method"}],"selectDateValue":[{"__symbolic":"method"}],"selectTimeValue":[{"__symbolic":"method"}]}},"ɵj":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":9,"character":10},"useExisting":{"__symbolic":"reference","name":"ɵk"},"multi":true},"ɵk":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"ɵj"}],"selector":"translate","styles":[".td-dynamic-input-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-input-wrapper .td-dynamic-input-field{-ms-flex:1;flex:1;box-sizing:border-box}"],"template":"<style>\n\n.ngx-editor {\n\tmargin-top: 10px;\n}\n\n</style>\n\n<div class=\"td-translatable\">\n\t<label>{{label}}</label>\n\t<mat-tab-group #tabGroup class=\"tab-group\" dynamicHeight [(selectedIndex)]=\"selectedIndex\">\n\t\t<mat-tab *ngFor=\"let lang of langs\">\n\t\t\t<ng-template matTabLabel>\n\t\t\t\t<span (click)=\"selectLang(lang)\">{{lang | translate}}</span>\n\t\t\t\t<mat-icon (click)=\"removeLang(lang)\" style=\"vertical-align: middle; margin-left: 10px;\">close</mat-icon>\n\t\t\t</ng-template>\n\t\t\t<div style=\"width:100%;\" [ngSwitch]=\"templateType\">\n\t\t\t\t<ng-template ngSwitchCase=\"input\">\n\t\t\t\t\t<div class=\"td-dynamic-input-wrapper\">\n\t\t\t\t\t <mat-form-field class=\"td-dynamic-input-field\">\n\t\t\t\t\t <input #elementInput\n\t\t\t\t\t matInput\n\t\t\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t [(ngModel)]=\"values[lang]\"\n\t\t\t\t\t\t\t\t(ngModelChange)=\"changeValue($event, lang)\"\n\t\t\t\t\t [type]=\"type\"\n\t\t\t\t\t [required]=\"required\"\n\t\t\t\t\t [attr.min]=\"min\"\n\t\t\t\t\t [attr.max]=\"max\"\n\t\t\t\t\t [attr.minLength]=\"minLength\"\n\t\t\t\t\t [attr.maxLength]=\"maxLength\"/>\n\t\t\t\t\t </mat-form-field>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-template>\n\t\t\t\t<ng-template ngSwitchCase=\"area\">\n\t\t\t\t\t<div class=\"td-dynamic-textarea-wrapper\">\n\t\t\t\t\t <mat-form-field class=\"td-dynamic-textarea-field\" style=\"width:100%;\">\n\t\t\t\t\t <textarea #elementInput\n\t\t\t\t\t matInput\n\t\t\t\t\t [(ngModel)]=\"values[lang]\"\n\t\t\t\t\t\t\t\t(ngModelChange)=\"changeValue($event, lang)\"\n\t\t\t\t\t [required]=\"required\"\n\t\t\t\t\t rows=\"4\">\n\t\t\t\t\t </textarea>\n\t\t\t\t\t </mat-form-field>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-template>\n\t\t\t\t<ng-template ngSwitchCase=\"editor\">\n\t\t\t\t\t<div class=\"td-dynamic-input-wrapper\" style=\"display: block;\">\n\t\t\t\t\t\t<app-ngx-editor [(ngModel)]=\"values[lang]\" (ngModelChange)=\"changeValue($event, lang)\"\n\t\t\t\t\t\t\t[height]=\"height\" [minHeight]=\"height\" [toolbar]=\"toolbarConfig\" style=\"width:100%;\">\n\t\t\t\t\t\t</app-ngx-editor>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-template>\n\t\t\t\t<ng-template ngSwitchCase=\"file-input\">\n\t\t\t\t\t<div class=\"td-dynamic-file-input-wrapper\" style=\"display: flex;\">\n\t\t\t\t\t\t<mat-form-field tdFileDrop class=\"td-dynamic-file-input-field\" floatLabel=\"never\" (fileDrop)=\"values[lang] = $event\"\n\t\t\t\t\t\t\t(click)=\"fileInput.inputElement.click()\" (keyup.enter)=\"fileInput.inputElement.click()\"\n\t\t\t\t\t\t\t(keyup.delete)=\"fileInput.clear()\" (keyup.backspace)=\"fileInput.clear()\">\n\t\t\t\t\t\t\t\t<input matInput autocomplete=\"off\" [value]=\"values[lang]?.name\" [placeholder]=\"label\" readonly />\n\t\t\t\t\t\t</mat-form-field>\n\t\t\t\t\t\t<button style=\"align-self: center;\" mat-icon-button *ngIf=\"values[lang]\" (click)=\"fileInput.clear(); changeValue(undefined,lang);\" (keyup.enter)=\"fileInput.clear()\">\n\t\t\t\t\t\t\t<mat-icon>cancel</mat-icon>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<td-file-input style=\"align-self:center; margin-left:10px;\" class=\"td-file-input\" #fileInput [(ngModel)]=\"values[lang]\" (ngModelChange)=\"changeValue($event, lang)\">\n\t\t\t\t\t\t\t<mat-icon>folder</mat-icon>\n\t\t\t\t\t\t\t<span>{{ label }}</span>\n\t\t\t\t\t\t</td-file-input>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-template>\n\t\t\t\t<ng-template ngSwitchDefault>\n\t\t\t\t\t<div class=\"td-dynamic-input-wrapper\">\n\t\t\t\t\t <mat-form-field class=\"td-dynamic-input-field\">\n\t\t\t\t\t <input #elementInput\n\t\t\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t matInput\n\t\t\t\t\t [(ngModel)]=\"values[lang]\"\n\t\t\t\t\t\t\t\t(ngModelChange)=\"changeValue($event, lang)\"\n\t\t\t\t\t [type]=\"type\"\n\t\t\t\t\t [required]=\"required\"\n\t\t\t\t\t [attr.min]=\"min\"\n\t\t\t\t\t [attr.max]=\"max\"\n\t\t\t\t\t [attr.minLength]=\"minLength\"\n\t\t\t\t\t [attr.maxLength]=\"maxLength\"/>\n\t\t\t\t\t </mat-form-field>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-template>\n\t\t\t</div>\n\t\t</mat-tab>\n\t\t<mat-tab [disabled]=true>\n\t\t\t<ng-template matTabLabel><mat-icon (click)=\"addLang()\" style=\"color: #000000;\">add</mat-icon></ng-template>\n\t\t</mat-tab>\n\t</mat-tab-group>\n</div>\n"}]}],"members":{"tabGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":157,"character":2},"arguments":["tabGroup"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material","name":"MatDialog","line":160,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":160,"character":65}]}],"ngOnInit":[{"__symbolic":"method"}],"inArray":[{"__symbolic":"method"}],"initValue":[{"__symbolic":"method"}],"parseInit":[{"__symbolic":"method"}],"parseValue":[{"__symbolic":"method"}],"selectLang":[{"__symbolic":"method"}],"addLang":[{"__symbolic":"method"}],"removeLang":[{"__symbolic":"method"}],"openDialog":[{"__symbolic":"method"}],"changeValue":[{"__symbolic":"method"}]}},"ɵl":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":6,"character":10},"useExisting":{"__symbolic":"reference","name":"ɵm"},"multi":true},"ɵm":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"ɵl"}],"selector":"form-organization","styles":[".td-dynamic-input-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-input-wrapper .td-dynamic-input-field{-ms-flex:1;flex:1;box-sizing:border-box}.td-dynamic-input-wrapper .ngx-editor{margin-top:10px}"],"template":"<style>\n\n</style>\n\n<div class=\"td-dynamic-input-wrapper\" style=\"display: block;\">\n\t<label>{{label}} {{required ? '*' : ''}}</label>\n\t<covalent-organization [hasFilter]=\"hasFilter\" [hasButtons]=\"hasButtons\" [editable]=\"editable\" [multiple]=\"multiple\"\n\t\t[saveable]=\"saveable\" [expandible]=\"expandible\" [collapsable]=\"collapsable\" [nodes]=\"nodes\" [extraFields]=\"extraFields\"\n\t\t(updater)=\"onUpdate($event)\">\n\t</covalent-organization>\n</div>\n"}]}],"members":{"ngOnInit":[{"__symbolic":"method"}],"onUpdate":[{"__symbolic":"method"}]}},"ɵn":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":13,"character":10},"useExisting":{"__symbolic":"reference","name":"ɵo"},"multi":true},"ɵo":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"ɵn"}],"selector":"gallery-selector","styles":[".td-dynamic-gallery-selector-wrapper{-ms-flex-direction:row;flex-direction:row;display:-ms-flexbox;display:flex;box-sizing:border-box}.td-dynamic-gallery-selector-wrapper img{background:#ddd;width:36px;height:36px;border-radius:5px;margin-right:10px}"],"template":"<div class=\"td-dynamic-gallery-selector-wrapper\">\n\t\n\t<img [src]=\"thumb\" />\n\t<button mat-raised-button color=\"primary\" (click)=\"openGallery()\">\n\t\t{{label}}\n\t</button>\n\n</div>"}]}],"members":{"assignValue":[{"__symbolic":"method"}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":60,"character":37}]}],"ngOnInit":[{"__symbolic":"method"}],"openGallery":[{"__symbolic":"method"}]}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"covalent-organization","template":"<form *ngIf=\"hasFilter\">\n\t<mat-form-field fxFlex>\n\t\t<input matInput #filter autocomplete=\"off\"\n\t\t\t(keyup)=\"filterNodes(filter.value, tree)\" placeholder=\"{{'app.organization.filter' | translate}}\">\n\t</mat-form-field>\n</form>\n<div class=\"wrap\">\n\t<tree-root #tree [nodes]=\"nodes\" [options]=\"customTemplateStringOptions\" focused=\"true\">\n\t\t<ng-template #treeNodeTemplate let-node>\n\t\t\t<span *ngIf=\"!node.data.editing\" [class.root-node]=\"node.isRoot\" title=\"{{node.data.name}}\">{{ node.data.name }}</span>\n\t\t\t<mat-icon *ngIf=\"!node.data.editing && !node.isRoot && editable\" class=\"tree-icon\" (click)=\"editNode(tree.treeModel,node)\">edit</mat-icon>\n\t\t\t<mat-icon *ngIf=\"!node.data.editing && !node.isRoot && editable\" class=\"tree-icon\" (click)=\"deleteNode(tree,node)\">delete</mat-icon>\n\t\t\t<mat-form-field *ngIf=\"node.data.editing\" fxFlex>\n\t\t\t\t<input autocomplete=\"off\" matInput [(ngModel)]=\"node.data.name\" (change)=\"finishName(node)\" >\n\t\t\t</mat-form-field>\n\t\t</ng-template>\n\t\t<ng-template #loadingTemplate>{{'app.organization.loading' | translate}}</ng-template>\n\t</tree-root>\n</div>\n\n<div *ngIf=\"hasButtons\">\n\t<br>\n\t<button *ngIf=\"editable\" mat-raised-button color=\"primary\" (click)=\"addNode(tree)\">\n\t\t{{'app.organization.add' | translate}}\n\t</button>\n\t<button *ngIf=\"expandible\" mat-raised-button color=\"primary\" (click)=\"tree.treeModel.expandAll()\">\n\t\t{{'app.organization.expand' | translate}}\n\t</button>