Changing VNF platform to multiselect + cypress + API
[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   limitSelection?: number;
18
19
20   constructor(data) {
21     super(data);
22     this.type = FormControlType.MULTI_SELECT;
23     this.options$ = data.options;
24     this.onInit = data.onInit;
25     this.selectedItems = data.selectedItems || [];
26     this.onInitSelectedItems = data.onInitSelectedItems ? data.onInitSelectedItems : null;
27     this.ngValue = data.selectedField ? data.selectedField : 'id';
28     this.selectedFieldName = data.selectedFieldName;
29     this.settings = data.settings || {};
30     this.onInitSelectedField = data.onInitSelectedField ? data.onInitSelectedField : null;
31     this.convertOriginalDataToArray = data.convertOriginalDataToArray ? data.convertOriginalDataToArray : null
32     this.limitSelection = data.limitSelection ? data.limitSelection : 1000;
33   }
34
35 }