1 import { Component, Input } from '@angular/core';
2 import { Component as TopologyTemplate, RelationshipModel, Relationship, Requirement } from "app/models";
3 import { CompositionService } from "app/ng2/pages/composition/composition.service";
4 import { ResourceNamePipe } from "app/ng2/pipes/resource-name.pipe";
7 selector: 'requirement-list',
8 templateUrl: './requirement-list.component.html'
10 export class RequirementListComponent {
11 @Input() component: TopologyTemplate;
12 @Input() requirements: Array<Requirement>;
13 @Input() isInstanceSelected:boolean;
16 constructor(private compositionService: CompositionService) { }
19 public getRelation = (requirement:any):any => {
20 if (this.isInstanceSelected && this.component.componentInstancesRelations) {
21 let relationItem:Array<RelationshipModel> = _.filter(this.component.componentInstancesRelations, (relation:RelationshipModel) => {
22 return relation.fromNode === this.component.uniqueId &&
23 _.filter(relation.relationships, (relationship:Relationship) => {
24 return relationship.relation.requirement == requirement.name && relationship.relation.requirementOwnerId == requirement.ownerId;
28 if (relationItem && relationItem.length) {
30 type: requirement.relationship.split('.').pop(),
31 requirementName: ResourceNamePipe.getDisplayName(this.compositionService.componentInstances[_.map
32 (this.compositionService.componentInstances, "uniqueId").indexOf(relationItem[0].toNode)].name)