blob: e167c47dccf8a16b7005214e8ff48b085212d2d2 (
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
|
import { Component, Input } from '@angular/core';
import { Component as TopologyTemplate, RelationshipModel, Relationship, Requirement } from "app/models";
import { CompositionService } from "app/ng2/pages/composition/composition.service";
import { ResourceNamePipe } from "app/ng2/pipes/resource-name.pipe";
@Component({
selector: 'requirement-list',
templateUrl: './requirement-list.component.html'
})
export class RequirementListComponent {
@Input() component: TopologyTemplate;
@Input() requirements: Array<Requirement>;
@Input() isInstanceSelected:boolean;
constructor(private compositionService: CompositionService) { }
public getRelation = (requirement:any):any => {
if (this.isInstanceSelected && this.component.componentInstancesRelations) {
let relationItem:Array<RelationshipModel> = _.filter(this.component.componentInstancesRelations, (relation:RelationshipModel) => {
return relation.fromNode === this.component.uniqueId &&
_.filter(relation.relationships, (relationship:Relationship) => {
return relationship.relation.requirement == requirement.name && relationship.relation.requirementOwnerId == requirement.ownerId;
}).length;
});
if (relationItem && relationItem.length) {
return {
type: requirement.relationship.split('.').pop(),
requirementName: ResourceNamePipe.getDisplayName(this.compositionService.componentInstances[_.map
(this.compositionService.componentInstances, "uniqueId").indexOf(relationItem[0].toNode)].name)
};
}
}
return null;
};
};
|