1 import { SchemaPropertyGroupModel, SchemaProperty } from "../aschema-property";
2 import { PropertyBEModel } from "../../models";
3 import {PROPERTY_DATA} from "../../utils/constants";
4 import {InputBEModel} from "./input-be-model";
6 export class InputFEModel extends InputBEModel {
14 constructor(input?: InputBEModel) {
17 this.isSimpleType = PROPERTY_DATA.SIMPLE_TYPES.indexOf(this.type) > -1;
18 this.isDataType = PROPERTY_DATA.TYPES.indexOf(this.type) == -1;
20 let propNameIndex:number = this.name.indexOf('_');
21 this.instanceName = this.name.substring(0, propNameIndex);
23 if(input.properties && input.properties.length){
24 this.instanceId = input.properties[0].componentInstanceId;
25 this.propertyName = input.properties[0].name;
26 }else if(input.inputs && input.inputs.length){
27 this.instanceId = input.inputs[0].componentInstanceId;
28 this.propertyName = input.inputs[0].name;
30 if (input.inputPath && input.inputPath.indexOf('#') > -1) {
31 this.propertyName = input.inputPath.substring(0, input.inputPath.indexOf('#'))
33 this.inputPath = undefined; //input path may be populated even if its a parent - ensure its empty
34 this.propertyName = this.name.substring(propNameIndex + 1);
42 public toJSON = (): any => {