From ed64b5edff15e702493df21aa3230b81593e6133 Mon Sep 17 00:00:00 2001 From: Michael Lando Date: Fri, 9 Jun 2017 03:19:04 +0300 Subject: [SDC-29] catalog 1707 rebase commit. Change-Id: I43c3dc5cf44abf5da817649bc738938a3e8388c1 Signed-off-by: Michael Lando --- .../requirement/requirements-list-directive.ts | 71 ++++++++++++++++++++++ .../requirement/requirements-list-view.html | 19 ++++++ 2 files changed, 90 insertions(+) create mode 100644 catalog-ui/src/app/directives/capabilities-and-requirements/requirement/requirements-list-directive.ts create mode 100644 catalog-ui/src/app/directives/capabilities-and-requirements/requirement/requirements-list-view.html (limited to 'catalog-ui/src/app/directives/capabilities-and-requirements/requirement') diff --git a/catalog-ui/src/app/directives/capabilities-and-requirements/requirement/requirements-list-directive.ts b/catalog-ui/src/app/directives/capabilities-and-requirements/requirement/requirements-list-directive.ts new file mode 100644 index 0000000000..9863b5d271 --- /dev/null +++ b/catalog-ui/src/app/directives/capabilities-and-requirements/requirement/requirements-list-directive.ts @@ -0,0 +1,71 @@ +/** + * Created by ob0695 on 5/9/2017. + */ +/** + * Created by ob0695 on 5/9/2017. + */ +/** + * Created by obarda on 1/8/2017. + */ +'use strict'; +import {RequirementsGroup, Component} from "app/models"; + +export interface IRequirementsListScope extends ng.IScope { + + requirements:RequirementsGroup; + currentComponent: Component; +} + + +export class RequirementsListDirective implements ng.IDirective { + + constructor(private $filter: ng.IFilterService) { + + } + + scope = { + requirements: '=', + component: '=' + }; + + restrict = 'E'; + replace = true; + template = ():string => { + return require('./requirements-list-view.html'); + }; + + link = (scope:IRequirementsListScope) => { + + scope.isInstanceSelected = () : boolean => { + return scope.component && scope.component.selectedInstance != undefined && scope.component.selectedInstance != null; + } + + scope.getRelation = (requirement:any):any => { + if (scope.isInstanceSelected() && scope.component.componentInstancesRelations) { + let relationItem = _.filter(scope.component.componentInstancesRelations, (relation:any) => { + return relation.fromNode === scope.component.selectedInstance.uniqueId && + _.some(relation.relationships, { + 'requirement': requirement.name, + 'requirementOwnerId': requirement.ownerId + }); + }); + + if (relationItem && relationItem.length) { + return { + type: requirement.relationship.split('.').pop(), + requirementName: this.$filter('resourceName')(scope.component.componentInstances[_.map + (scope.component.componentInstances, "uniqueId").indexOf(relationItem[0].toNode)].name) + }; + } + } + return null; + }; + + }; + + public static factory = ($filter: ng.IFilterService)=> { + return new RequirementsListDirective($filter); + }; +} + +RequirementsListDirective.factory.$inject = ['$filter']; diff --git a/catalog-ui/src/app/directives/capabilities-and-requirements/requirement/requirements-list-view.html b/catalog-ui/src/app/directives/capabilities-and-requirements/requirement/requirements-list-view.html new file mode 100644 index 0000000000..a6487fe72a --- /dev/null +++ b/catalog-ui/src/app/directives/capabilities-and-requirements/requirement/requirements-list-view.html @@ -0,0 +1,19 @@ +
+
+
+
+
{{requirement.name}} 
+
{{requirement.node}} +
+
+
+ {{getRelation(requirement).type}}
+ {{getRelation(requirement).requirementName}} +
+
+
+
+
+
+
-- cgit 1.2.3-korg