Allow platform multi-selection for VNF in modern UI
[vid.git] / vid-webpack-master / src / app / shared / models / formControlModels / multiselectFormControl.model.ts
1 import {FormControlModel} from "./formControl.model";
2 import {Observable} from "rxjs";
3 import {FormGroup} from "@angular/forms";
4 import {FormControlType} from "./formControlTypes.enum";
5
6 export class MultiselectFormControl extends FormControlModel{
7   options$ : Observable<any[]>;
8   args : string[];
9   onInit: (data : MultiselectFormControl, form: FormGroup) => Observable<any>;
10   selectedItems :  any[];
11   onInitSelectedItems : string[];
12   selectedFieldName : string;
13   ngValue : string;
14   settings: {};
15   onInitSelectedField?: string[];
16   convertOriginalDataToArray? : (values)=> void;
17
18
19   constructor(data) {
20     super(data);
21     this.type = FormControlType.MULTI_SELECT;
22     this.options$ = data.options;
23     this.onInit = data.onInit;
24     this.selectedItems = data.selectedItems || [];
25     this.onInitSelectedItems = data.onInitSelectedItems ? data.onInitSelectedItems : null;
26     this.ngValue = data.selectedField ? data.selectedField : 'id';
27     this.selectedFieldName = data.selectedFieldName;
28     this.settings = data.settings || {};
29     this.onInitSelectedField = data.onInitSelectedField ? data.onInitSelectedField : null;
30     this.convertOriginalDataToArray = data.convertOriginalDataToArray ? data.convertOriginalDataToArray : null
31   }
32
33 }