Added form field parser factory to remove switch in row-parser.ts

This commit is contained in:
Giuseppe Digilio
2018-07-04 16:01:53 +02:00
parent f627c9443e
commit 8dd11c9a3c
27 changed files with 230 additions and 220 deletions

View File

@@ -4,25 +4,17 @@ import {
DynamicScrollableDropdownModel,
DynamicScrollableDropdownModelConfig
} from '../ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.model';
import { FormFieldModel } from '../models/form-field.model';
import { isNotEmpty } from '../../../empty.util';
import { FormFieldMetadataValueObject } from '../models/form-field-metadata-value.model';
export class DropdownFieldParser extends FieldParser {
constructor(protected configData: FormFieldModel,
protected initFormValues,
protected readOnly: boolean,
protected authorityUuid: string) {
super(configData, initFormValues, readOnly);
}
public modelFactory(fieldValue: FormFieldMetadataValueObject): any {
const dropdownModelConfig: DynamicScrollableDropdownModelConfig = this.initModel();
let layout: DynamicFormControlLayout;
if (isNotEmpty(this.configData.selectableMetadata[0].authority)) {
this.setAuthorityOptions(dropdownModelConfig, this.authorityUuid);
this.setAuthorityOptions(dropdownModelConfig, this.parserOptions.authorityUuid);
if (isNotEmpty(fieldValue)) {
dropdownModelConfig.value = fieldValue;
}