2 import {Component, OnInit, Input,Output,EventEmitter} from '@angular/core';
3 import { IdlService} from '@eg/core/idl.service';
4 class LinkedLimitSetObjects {
12 selector:'linked-circ-limit-sets',
13 templateUrl: './linked-circ-limit-sets.component.html'
17 export class LinkedCircLimitSetsComponent implements OnInit {
19 @Input() usedSetLimitList = [];
20 @Input() limitSetNames = {};
21 @Output() outputLinkedLimitSet: EventEmitter<any>;
24 showLinkLimitSets:boolean
27 private idl: IdlService
29 this.outputLinkedLimitSet = new EventEmitter();
34 displayLinkedLimitSets() {
35 this.createEmptyLimitSetObject()
38 createFilledLimitSetObject(element) {
39 let newLinkedSetObject = new LinkedLimitSetObjects();
40 if(element.fallthrough() == "f") element.fallthrough(false)
41 if(element.fallthrough() == "t") element.fallthrough(true)
42 if(element.active() == "f") element.active(false)
43 if(element.active() == "t") element.active(true)
44 newLinkedSetObject.linkedLimitSet = element;
45 newLinkedSetObject.created = true;
46 newLinkedSetObject.isNew = false;
47 newLinkedSetObject.isDeleted = false;
48 this.linkedSetList[this.getObjectKeys().length] = newLinkedSetObject;
51 createEmptyLimitSetObject() {
52 let object = this.idl.create("ccmlsm")
53 let newLinkedSetObject = new LinkedLimitSetObjects();
54 newLinkedSetObject.linkedLimitSet = object;
55 newLinkedSetObject.linkedLimitSet.fallthrough(false);
56 newLinkedSetObject.linkedLimitSet.active(true);
57 newLinkedSetObject.isNew = true;
58 newLinkedSetObject.created = false;
59 newLinkedSetObject.isDeleted = false;
60 this.linkedSetList[this.getObjectKeys().length] = newLinkedSetObject;
63 onChange(object:any) {
64 this.linkedSet = object;
68 if(this.linkedSetList) {
69 return Object.keys(this.linkedSetList);
71 this.linkedSetList = {}
72 return Object.keys({})
78 if( !this.usedSetLimitList.find(element => element == this.linkedSet.id)) {
79 this.createEmptyLimitSetObject();
80 this.linkedSetList[this.getObjectKeys().length-1].linkedLimitSet.limit_set(this.linkedSet.id);
81 this.linkedSetList[this.getObjectKeys().length-1].created = true;
83 this.usedSetLimitList.push(this.linkedSet.id)
89 this.outputLinkedLimitSet.emit(this.linkedSetList)
92 removeLinkedSet(index) {
93 if(!this.linkedSetList[index].isNew) {
94 this.usedSetLimitList.splice(index,1);
96 this.linkedSetList[index].isDeleted = true;