blob: 4f3417186c3aee17391673dcaa305ac09b31808c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
import { SchemaPropertyGroupModel, SchemaProperty } from "../aschema-property";
import { PropertyBEModel } from "../../models";
import {PROPERTY_DATA} from "../../utils/constants";
import {InputBEModel} from "./input-be-model";
export class InputFEModel extends InputBEModel {
isSimpleType: boolean;
isDataType: boolean;
instanceName: string;
instanceId: string;
propertyName: string;
constructor(input?: InputBEModel) {
super(input);
if (input) {
this.isSimpleType = PROPERTY_DATA.SIMPLE_TYPES.indexOf(this.type) > -1;
this.isDataType = PROPERTY_DATA.TYPES.indexOf(this.type) == -1;
let propNameIndex:number = this.name.indexOf('_');
this.instanceName = this.name.substring(0, propNameIndex);
if(input.properties && input.properties.length){
this.instanceId = input.properties[0].componentInstanceId;
this.propertyName = input.properties[0].name;
}else if(input.inputs && input.inputs.length){
this.instanceId = input.inputs[0].componentInstanceId;
this.propertyName = input.inputs[0].name;
}else{
if (input.inputPath && input.inputPath.indexOf('#') > -1) {
this.propertyName = input.inputPath.substring(0, input.inputPath.indexOf('#'))
} else {
this.inputPath = undefined; //input path may be populated even if its a parent - ensure its empty
this.propertyName = this.name.substring(propNameIndex + 1);
}
}
}
}
public toJSON = (): any => {
};
}
|