2 * Created by rc2122 on 4/20/2017.
4 import {Component, Input, Output, EventEmitter} from "@angular/core";
5 import { DerivedFEProperty, DerivedPropertyType} from "app/models";
6 import {PropertiesService} from "../../../services/properties.service";
9 selector: 'derived-property',
10 templateUrl: './derived-property.component.html',
11 styleUrls: ['./derived-property.component.less']
13 export class DerivedPropertyComponent {
15 derivedPropertyTypes = DerivedPropertyType; //http://stackoverflow.com/questions/35835984/how-to-use-a-typescript-enum-value-in-an-angular2-ngswitch-statement
17 @Input() propertyObj: DerivedFEProperty;
18 @Input() propertyNameSearchText: string;
19 @Input() expanded: boolean;
20 @Output() valueChanged: EventEmitter<any> = new EventEmitter<any>();
21 @Output() expandChild: EventEmitter<string> = new EventEmitter<string>();
22 @Output() selectProperty: EventEmitter<boolean> = new EventEmitter<boolean>();
25 constructor ( private propertiesService:PropertiesService){
29 propValueChanged = () => {
30 this.valueChanged.emit(this.propertyObj);
33 expandChildById = (id: string) => {
34 this.expandChild.emit(id);
37 checkedChange = (isChecked:boolean) => {
38 this.selectProperty.emit(isChecked);
41 addRows = (flatProperty: DerivedFEProperty): void => {
42 console.log("ADDING A ROW OF TYPE " + flatProperty.type);
43 console.log(flatProperty);