diff options
author | Anjali walsatwar <anjali.walsatwar@huawei.com> | 2018-10-10 11:58:51 +0530 |
---|---|---|
committer | Idan Amit <ia096e@intl.att.com> | 2018-10-11 05:49:33 +0000 |
commit | ee2eb99f5e996b941757c2e747af6df0db61ffc6 (patch) | |
tree | 6ef8a54c7aaebefd404feea987263be970cccdfd /catalog-ui/src/app/directives/graphs-v2/composition-graph/utils | |
parent | 8ba5da982de0d43a0633741461b142256bbf6c3d (diff) |
composition-graph refactoring
Issue-ID: SDC-1789
Change-Id: I65f8b68fd79dc9e9cbc78fe1b7f06af24f777985
Signed-off-by: Anjali walsatwar <anjali.walsatwar@huawei.com>
Diffstat (limited to 'catalog-ui/src/app/directives/graphs-v2/composition-graph/utils')
4 files changed, 132 insertions, 132 deletions
diff --git a/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-palette-utils.ts b/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-palette-utils.ts index 438673e427..10d0d42922 100644 --- a/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-palette-utils.ts +++ b/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-palette-utils.ts @@ -18,24 +18,24 @@ * ============LICENSE_END========================================================= */ -import {EventListenerService, LoaderService} from "app/services"; -import {CapabilitiesGroup, NodesFactory, ComponentInstance, Component, CompositionCiNodeBase, RequirementsGroup} from "app/models"; -import {ComponentFactory, ComponentInstanceFactory, GRAPH_EVENTS, GraphUIObjects} from "app/utils"; -import {CompositionGraphGeneralUtils} from "./composition-graph-general-utils"; -import {CommonGraphUtils} from "../../common/common-graph-utils"; +import { EventListenerService, LoaderService } from "app/services"; +import { CapabilitiesGroup, NodesFactory, ComponentInstance, Component, CompositionCiNodeBase, RequirementsGroup } from "app/models"; +import { ComponentFactory, ComponentInstanceFactory, GRAPH_EVENTS, GraphUIObjects } from "app/utils"; +import { CompositionGraphGeneralUtils } from "./composition-graph-general-utils"; +import { CommonGraphUtils } from "../../common/common-graph-utils"; import 'sdc-angular-dragdrop'; -import {LeftPaletteComponent} from "../../../../models/components/displayComponent"; +import { LeftPaletteComponent } from "../../../../models/components/displayComponent"; export class CompositionGraphPaletteUtils { - constructor(private ComponentFactory:ComponentFactory, - private $filter:ng.IFilterService, - private loaderService:LoaderService, - private generalGraphUtils:CompositionGraphGeneralUtils, - private componentInstanceFactory:ComponentInstanceFactory, - private nodesFactory:NodesFactory, - private commonGraphUtils:CommonGraphUtils, - private eventListenerService:EventListenerService) { + constructor(private ComponentFactory: ComponentFactory, + private $filter: ng.IFilterService, + private loaderService: LoaderService, + private generalGraphUtils: CompositionGraphGeneralUtils, + private componentInstanceFactory: ComponentInstanceFactory, + private nodesFactory: NodesFactory, + private commonGraphUtils: CommonGraphUtils, + private eventListenerService: EventListenerService) { } /** @@ -46,13 +46,13 @@ export class CompositionGraphPaletteUtils { * @returns {Cy.BoundingBox} * @private */ - private _getNodeBBox(cy:Cy.Instance, event:IDragDropEvent, position?:Cy.Position) { + private _getNodeBBox(cy: Cy.Instance, event: IDragDropEvent, position?: Cy.Position) { let bbox = <Cy.BoundingBox>{}; if (!position) { position = this.commonGraphUtils.getCytoscapeNodePosition(cy, event); } - let cushionWidth:number = 40; - let cushionHeight:number = 40; + let cushionWidth: number = 40; + let cushionHeight: number = 40; bbox.x1 = position.x - cushionWidth / 2; bbox.y1 = position.y - cushionHeight / 2; @@ -68,21 +68,21 @@ export class CompositionGraphPaletteUtils { * @param event * @param component */ - private _createComponentInstanceOnGraphFromPaletteComponent(cy:Cy.Instance, fullComponent:LeftPaletteComponent, event:IDragDropEvent, component:Component) { + private _createComponentInstanceOnGraphFromPaletteComponent(cy: Cy.Instance, fullComponent: LeftPaletteComponent, event: IDragDropEvent, component: Component) { - let componentInstanceToCreate:ComponentInstance = this.componentInstanceFactory.createComponentInstanceFromComponent(fullComponent); - let cytoscapePosition:Cy.Position = this.commonGraphUtils.getCytoscapeNodePosition(cy, event); + let componentInstanceToCreate: ComponentInstance = this.componentInstanceFactory.createComponentInstanceFromComponent(fullComponent); + let cytoscapePosition: Cy.Position = this.commonGraphUtils.getCytoscapeNodePosition(cy, event); componentInstanceToCreate.posX = cytoscapePosition.x; componentInstanceToCreate.posY = cytoscapePosition.y; - let onFailedCreatingInstance:(error:any) => void = (error:any) => { + let onFailedCreatingInstance: (error: any) => void = (error: any) => { this.loaderService.hideLoader('composition-graph'); }; //on success - update node data - let onSuccessCreatingInstance = (createInstance:ComponentInstance):void => { + let onSuccessCreatingInstance = (createInstance: ComponentInstance): void => { this.loaderService.hideLoader('composition-graph'); @@ -93,11 +93,11 @@ export class CompositionGraphPaletteUtils { createInstance.icon = fullComponent.icon; createInstance.setInstanceRC(); - let newNode:CompositionCiNodeBase = this.nodesFactory.createNode(createInstance); - let cyNode:Cy.CollectionNodes = this.commonGraphUtils.addComponentInstanceNodeToGraph(cy, newNode); + let newNode: CompositionCiNodeBase = this.nodesFactory.createNode(createInstance); + let cyNode: Cy.CollectionNodes = this.commonGraphUtils.addComponentInstanceNodeToGraph(cy, newNode); //check if node was dropped into a UCPE - let ucpe:Cy.CollectionElements = this.commonGraphUtils.isInUcpe(cy, cyNode.boundingbox()); + let ucpe: Cy.CollectionElements = this.commonGraphUtils.isInUcpe(cy, cyNode.boundingbox()); if (ucpe.length > 0) { this.eventListenerService.notifyObservers(GRAPH_EVENTS.ON_INSERT_NODE_TO_UCPE, cyNode, ucpe, false); } @@ -120,7 +120,7 @@ export class CompositionGraphPaletteUtils { * @param dragElement * @param dragComponent */ - public onComponentDrag(cy:Cy.Instance, event:IDragDropEvent, dragElement:JQuery, dragComponent:ComponentInstance) { + public onComponentDrag(cy: Cy.Instance, event: IDragDropEvent, dragElement: JQuery, dragComponent: ComponentInstance) { if (event.clientX < GraphUIObjects.DIAGRAM_PALETTE_WIDTH_OFFSET || event.clientY < GraphUIObjects.DIAGRAM_HEADER_OFFSET) { //hovering over palette. Dont bother computing validity of drop dragElement.removeClass('red'); @@ -147,10 +147,10 @@ export class CompositionGraphPaletteUtils { * @param event * @param component */ - public addNodeFromPalette(cy:Cy.Instance, event:IDragDropEvent, component:Component) { + public addNodeFromPalette(cy: Cy.Instance, event: IDragDropEvent, component: Component) { this.loaderService.showLoader('composition-graph'); - let draggedComponent:LeftPaletteComponent = event.dataTransfer.component; + let draggedComponent: LeftPaletteComponent = event.dataTransfer.component; if (this.generalGraphUtils.componentRequirementsAndCapabilitiesCaching.containsKey(draggedComponent.uniqueId)) { let fullComponent = this.generalGraphUtils.componentRequirementsAndCapabilitiesCaching.getValue(draggedComponent.uniqueId); @@ -161,7 +161,7 @@ export class CompositionGraphPaletteUtils { } else { this.ComponentFactory.getComponentFromServer(draggedComponent.getComponentSubType(), draggedComponent.uniqueId) - .then((fullComponent:Component) => { + .then((fullComponent: Component) => { draggedComponent.capabilities = fullComponent.capabilities; draggedComponent.requirements = fullComponent.requirements; this._createComponentInstanceOnGraphFromPaletteComponent(cy, draggedComponent, event, component); diff --git a/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-service-path-utils.ts b/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-service-path-utils.ts index 1a348912fc..48befef22d 100644 --- a/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-service-path-utils.ts +++ b/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-service-path-utils.ts @@ -19,34 +19,34 @@ */ import * as _ from "lodash"; -import {LoaderService} from "app/services"; -import {CompositionGraphGeneralUtils} from "./composition-graph-general-utils"; -import {ICompositionGraphScope} from "../composition-graph.directive"; -import {ServiceServiceNg2} from 'app/ng2/services/component-services/service.service'; -import {Service} from "../../../../models/components/service"; -import {ForwardingPath} from "app/models/forwarding-path"; -import {ForwardingPathLink} from "app/models/forwarding-path-link"; -import {CompositionCiServicePathLink} from "../../../../models/graph/graph-links/composition-graph-links/composition-ci-service-path-link"; -import {CommonGraphUtils} from "app/directives/graphs-v2/common/common-graph-utils"; +import { LoaderService } from "app/services"; +import { CompositionGraphGeneralUtils } from "./composition-graph-general-utils"; +import { ICompositionGraphScope } from "../composition-graph.directive"; +import { ServiceServiceNg2 } from 'app/ng2/services/component-services/service.service'; +import { Service } from "../../../../models/components/service"; +import { ForwardingPath } from "app/models/forwarding-path"; +import { ForwardingPathLink } from "app/models/forwarding-path-link"; +import { CompositionCiServicePathLink } from "../../../../models/graph/graph-links/composition-graph-links/composition-ci-service-path-link"; +import { CommonGraphUtils } from "app/directives/graphs-v2/common/common-graph-utils"; export class ServicePathGraphUtils { constructor( - private loaderService:LoaderService, - private generalGraphUtils:CompositionGraphGeneralUtils, - private serviceService:ServiceServiceNg2, - private commonGraphUtils:CommonGraphUtils - ) {} + private loaderService: LoaderService, + private generalGraphUtils: CompositionGraphGeneralUtils, + private serviceService: ServiceServiceNg2, + private commonGraphUtils: CommonGraphUtils + ) { } - public deletePathsFromGraph(cy: Cy.Instance, service:Service){ - cy.remove(`[type="${CompositionCiServicePathLink.LINK_TYPE}"]`); + public deletePathsFromGraph(cy: Cy.Instance, service: Service) { + cy.remove(`[type="${CompositionCiServicePathLink.LINK_TYPE}"]`); } - - public drawPath(cy: Cy.Instance, forwardingPath: ForwardingPath, service:Service) { + + public drawPath(cy: Cy.Instance, forwardingPath: ForwardingPath, service: Service) { let pathElements = forwardingPath.pathElements.listToscaDataDefinition; _.forEach(pathElements, (link: ForwardingPathLink) => { - let data:CompositionCiServicePathLink = new CompositionCiServicePathLink(link); + let data: CompositionCiServicePathLink = new CompositionCiServicePathLink(link); data.source = _.find( service.componentInstances, instance => instance.name === data.forwardingPathLink.fromNode @@ -61,7 +61,7 @@ export class ServicePathGraphUtils { }); } - public createOrUpdateServicePath = (scope:ICompositionGraphScope, path: any): void => { + public createOrUpdateServicePath = (scope: ICompositionGraphScope, path: any): void => { let service = <Service>scope.component; this.loaderService.showLoader('composition-graph'); diff --git a/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-zone-utils.ts b/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-zone-utils.ts index bcf0cb7bb9..cf6c7e3bd6 100644 --- a/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-zone-utils.ts +++ b/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-zone-utils.ts @@ -1,26 +1,26 @@ -import {PolicyInstance} from "app/models/graph/zones/policy-instance"; -import {ZoneInstance, ZoneInstanceType, ZoneInstanceAssignmentType} from "app/models/graph/zones/zone-instance"; -import {Zone} from "app/models/graph/zones/zone"; -import {DynamicComponentService} from "app/ng2/services/dynamic-component.service"; -import {PaletteAnimationComponent} from "app/ng2/components/ui/palette-animation/palette-animation.component"; -import {Point, LeftPaletteMetadataTypes, Component} from "../../../../models"; -import {CanvasHandleTypes} from "app/utils"; -import {PoliciesService} from "../../../../ng2/services/policies.service"; -import {Observable} from "rxjs"; -import {GroupsService} from "../../../../ng2/services/groups.service"; -import {GroupInstance} from "app/models/graph/zones/group-instance"; +import { PolicyInstance } from "app/models/graph/zones/policy-instance"; +import { ZoneInstance, ZoneInstanceType, ZoneInstanceAssignmentType } from "app/models/graph/zones/zone-instance"; +import { Zone } from "app/models/graph/zones/zone"; +import { DynamicComponentService } from "app/ng2/services/dynamic-component.service"; +import { PaletteAnimationComponent } from "app/ng2/components/ui/palette-animation/palette-animation.component"; +import { Point, LeftPaletteMetadataTypes, Component } from "../../../../models"; +import { CanvasHandleTypes } from "app/utils"; +import { PoliciesService } from "../../../../ng2/services/policies.service"; +import { Observable } from "rxjs"; +import { GroupsService } from "../../../../ng2/services/groups.service"; +import { GroupInstance } from "app/models/graph/zones/group-instance"; export class CompositionGraphZoneUtils { - constructor(private dynamicComponentService:DynamicComponentService, - private policiesService:PoliciesService, - private groupsService:GroupsService) { + constructor(private dynamicComponentService: DynamicComponentService, + private policiesService: PoliciesService, + private groupsService: GroupsService) { } - public createCompositionZones = ():Array<Zone> => { - let zones:Array<Zone> = []; + public createCompositionZones = (): Array<Zone> => { + let zones: Array<Zone> = []; zones[ZoneInstanceType.POLICY] = new Zone('Policies', 'P', ZoneInstanceType.POLICY); zones[ZoneInstanceType.GROUP] = new Zone('Groups', 'G', ZoneInstanceType.GROUP); @@ -28,12 +28,12 @@ export class CompositionGraphZoneUtils { return zones; } - public showZone = (zone:Zone):void => { + public showZone = (zone: Zone): void => { zone.visible = true; zone.minimized = false; } - public getZoneTypeForPaletteComponent = (componentCategory:LeftPaletteMetadataTypes) => { + public getZoneTypeForPaletteComponent = (componentCategory: LeftPaletteMetadataTypes) => { if (componentCategory == LeftPaletteMetadataTypes.Group) { return ZoneInstanceType.GROUP; } else if (componentCategory == LeftPaletteMetadataTypes.Policy) { @@ -41,10 +41,10 @@ export class CompositionGraphZoneUtils { } }; - public initZoneInstances(zones:Array<Zone>, component:Component) { + public initZoneInstances(zones: Array<Zone>, component: Component) { if (component.groupInstances && component.groupInstances.length) { this.showZone(zones[ZoneInstanceType.GROUP]); - _.forEach(component.groupInstances, (group:GroupInstance) => { + _.forEach(component.groupInstances, (group: GroupInstance) => { let newInstance = new ZoneInstance(group, component); this.addInstanceToZone(zones[ZoneInstanceType.GROUP], newInstance); }); @@ -52,7 +52,7 @@ export class CompositionGraphZoneUtils { if (component.policies && component.policies.length) { this.showZone(zones[ZoneInstanceType.POLICY]); - _.forEach(component.policies, (policy:PolicyInstance) => { + _.forEach(component.policies, (policy: PolicyInstance) => { let newInstance = new ZoneInstance(policy, component); this.addInstanceToZone(zones[ZoneInstanceType.POLICY], newInstance); @@ -60,19 +60,19 @@ export class CompositionGraphZoneUtils { } } - public findAndUpdateZoneInstanceData (zones: Array<Zone>, instanceData:PolicyInstance | GroupInstance) { - _.forEach(zones, (zone:Zone) => { - _.forEach(zone.instances, (zoneInstance:ZoneInstance) => { - if(zoneInstance.instanceData.uniqueId === instanceData.uniqueId){ + public findAndUpdateZoneInstanceData(zones: Array<Zone>, instanceData: PolicyInstance | GroupInstance) { + _.forEach(zones, (zone: Zone) => { + _.forEach(zone.instances, (zoneInstance: ZoneInstance) => { + if (zoneInstance.instanceData.uniqueId === instanceData.uniqueId) { zoneInstance.updateInstanceData(instanceData); } }); }); } - public updateTargetsOrMembersOnCanvasDelete = (canvasNodeID:string, zones:Array<Zone>, type:ZoneInstanceAssignmentType):void => { + public updateTargetsOrMembersOnCanvasDelete = (canvasNodeID: string, zones: Array<Zone>, type: ZoneInstanceAssignmentType): void => { _.forEach(zones, (zone) => { - _.forEach(zone.instances, (zoneInstance:ZoneInstance) => { + _.forEach(zone.instances, (zoneInstance: ZoneInstance) => { if (zoneInstance.isAlreadyAssigned(canvasNodeID)) { zoneInstance.addOrRemoveAssignment(canvasNodeID, type); //remove it from our list of BE targets and members as well (so that it will not be sent in future calls to BE). @@ -82,7 +82,7 @@ export class CompositionGraphZoneUtils { }); }; - public createZoneInstanceFromLeftPalette = (zoneType:ZoneInstanceType, component:Component, paletteComponentType:string):Observable<ZoneInstance> => { + public createZoneInstanceFromLeftPalette = (zoneType: ZoneInstanceType, component: Component, paletteComponentType: string): Observable<ZoneInstance> => { if (zoneType === ZoneInstanceType.POLICY) { return this.policiesService.createPolicyInstance(component.componentType, component.uniqueId, paletteComponentType).map(response => { let newInstance = new PolicyInstance(response); @@ -98,16 +98,16 @@ export class CompositionGraphZoneUtils { } } - public addInstanceToZone(zone:Zone, instance:ZoneInstance, hide?:boolean) { - if(hide){ + public addInstanceToZone(zone: Zone, instance: ZoneInstance, hide?: boolean) { + if (hide) { instance.hidden = true; } zone.instances.push(instance); }; - private findZoneCoordinates(zoneType):Point { - let point:Point = new Point(0, 0); + private findZoneCoordinates(zoneType): Point { + let point: Point = new Point(0, 0); let zone = angular.element(document.querySelector('.' + zoneType + '-zone')); let wrapperZone = zone.offsetParent(); point.x = zone.prop('offsetLeft') + wrapperZone.prop('offsetLeft'); @@ -115,7 +115,7 @@ export class CompositionGraphZoneUtils { return point; } - public createPaletteToZoneAnimation = (startPoint:Point, zoneType:ZoneInstanceType, newInstance:ZoneInstance) => { + public createPaletteToZoneAnimation = (startPoint: Point, zoneType: ZoneInstanceType, newInstance: ZoneInstance) => { let zoneTypeName = ZoneInstanceType[zoneType].toLowerCase(); let paletteToZoneAnimation = this.dynamicComponentService.createDynamicComponent(PaletteAnimationComponent); paletteToZoneAnimation.instance.from = startPoint; @@ -126,56 +126,56 @@ export class CompositionGraphZoneUtils { paletteToZoneAnimation.instance.runAnimation(); } - public startCyTagMode = (cy:Cy.Instance) => { + public startCyTagMode = (cy: Cy.Instance) => { cy.autolock(true); cy.nodes().unselectify(); cy.emit('tagstart'); //dont need to show handles because they're already visible bcz of hover event }; - public endCyTagMode = (cy:Cy.Instance) => { + public endCyTagMode = (cy: Cy.Instance) => { cy.emit('tagend'); cy.nodes().selectify(); cy.autolock(false); }; - public handleTagClick = (cy:Cy.Instance, zoneInstance:ZoneInstance, nodeId:string) => { + public handleTagClick = (cy: Cy.Instance, zoneInstance: ZoneInstance, nodeId: string) => { zoneInstance.addOrRemoveAssignment(nodeId, ZoneInstanceAssignmentType.COMPONENT_INSTANCES); this.showZoneTagIndicationForNode(nodeId, zoneInstance, cy); }; - public showGroupZoneIndications = (groupInstances:Array<ZoneInstance>, policyInstance:ZoneInstance) => { - groupInstances.forEach((groupInstance:ZoneInstance)=> { - let handle:string = this.getCorrectHandleForNode(groupInstance.instanceData.uniqueId, policyInstance); + public showGroupZoneIndications = (groupInstances: Array<ZoneInstance>, policyInstance: ZoneInstance) => { + groupInstances.forEach((groupInstance: ZoneInstance) => { + let handle: string = this.getCorrectHandleForNode(groupInstance.instanceData.uniqueId, policyInstance); groupInstance.showHandle(handle); }) }; - public hideGroupZoneIndications = (instances:Array<ZoneInstance>) => { + public hideGroupZoneIndications = (instances: Array<ZoneInstance>) => { instances.forEach((instance) => { instance.hideHandle(); }) } - public showZoneTagIndications = (cy:Cy.Instance, zoneInstance:ZoneInstance) => { + public showZoneTagIndications = (cy: Cy.Instance, zoneInstance: ZoneInstance) => { cy.nodes().forEach(node => { - let handleType:string = this.getCorrectHandleForNode(node.id(), zoneInstance); + let handleType: string = this.getCorrectHandleForNode(node.id(), zoneInstance); cy.emit('showhandle', [node, handleType]); }); }; - public showZoneTagIndicationForNode = (nodeId:string, zoneInstance:ZoneInstance, cy:Cy.Instance) => { + public showZoneTagIndicationForNode = (nodeId: string, zoneInstance: ZoneInstance, cy: Cy.Instance) => { let node = cy.getElementById(nodeId); - let handleType:string = this.getCorrectHandleForNode(nodeId, zoneInstance); + let handleType: string = this.getCorrectHandleForNode(nodeId, zoneInstance); cy.emit('showhandle', [node, handleType]); } - public hideZoneTagIndications = (cy:Cy.Instance) => { + public hideZoneTagIndications = (cy: Cy.Instance) => { cy.emit('hidehandles'); }; - public getCorrectHandleForNode = (nodeId:string, zoneInstance:ZoneInstance):string => { + public getCorrectHandleForNode = (nodeId: string, zoneInstance: ZoneInstance): string => { if (zoneInstance.isAlreadyAssigned(nodeId)) { if (zoneInstance.type == ZoneInstanceType.POLICY) { return CanvasHandleTypes.TAGGED_POLICY; diff --git a/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/match-capability-requierment-utils.ts b/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/match-capability-requierment-utils.ts index eac907a9b2..aa1991069e 100644 --- a/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/match-capability-requierment-utils.ts +++ b/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/match-capability-requierment-utils.ts @@ -23,7 +23,7 @@ import { Requirement, CompositionCiLinkBase, CapabilitiesGroup, RequirementsGroup, Match, CompositionCiNodeBase, Component, Capability } from "app/models"; -import {ComponentInstance} from "../../../../models/componentsInstances/componentInstance"; +import { ComponentInstance } from "../../../../models/componentsInstances/componentInstance"; /** * Created by obarda on 1/1/2017. */ @@ -35,8 +35,8 @@ export class MatchCapabilitiesRequirementsUtils { * @param filteredNodesData * @param cy */ - public highlightMatchingComponents(filteredNodesData, cy:Cy.Instance) { - _.each(filteredNodesData, (data:any) => { + public highlightMatchingComponents(filteredNodesData, cy: Cy.Instance) { + _.each(filteredNodesData, (data: any) => { let node = cy.getElementById(data.id); cy.emit('showhandle', [node]); }); @@ -49,16 +49,16 @@ export class MatchCapabilitiesRequirementsUtils { * @param cy * @param hoveredNodeData */ - public fadeNonMachingComponents(filteredNodesData, nodesData, cy:Cy.Instance, hoveredNodeData?) { + public fadeNonMachingComponents(filteredNodesData, nodesData, cy: Cy.Instance, hoveredNodeData?) { let fadeNodes = _.xorWith(nodesData, filteredNodesData, (node1, node2) => { return node1.id === node2.id; }); if (hoveredNodeData) { _.remove(fadeNodes, hoveredNodeData); } - cy.batch(()=> { + cy.batch(() => { _.each(fadeNodes, (node) => { - cy.getElementById(node.id).style({'background-image-opacity': 0.4}); + cy.getElementById(node.id).style({ 'background-image-opacity': 0.4 }); }); }) } @@ -67,21 +67,21 @@ export class MatchCapabilitiesRequirementsUtils { * Resets all nodes to regular opacity * @param cy */ - public resetFadedNodes(cy:Cy.Instance) { - cy.batch(()=> { - cy.nodes().style({'background-image-opacity': 1}); + public resetFadedNodes(cy: Cy.Instance) { + cy.batch(() => { + cy.nodes().style({ 'background-image-opacity': 1 }); }) } - private static isRequirementFulfilled(fromNodeId:string, requirement:any, links:Array<CompositionCiLinkBase>):boolean { - if(requirement.maxOccurrences === 'UNBOUNDED'){ + private static isRequirementFulfilled(fromNodeId: string, requirement: any, links: Array<CompositionCiLinkBase>): boolean { + if (requirement.maxOccurrences === 'UNBOUNDED') { return false; } - let linksWithThisReq:Array<CompositionCiLinkBase> = _.filter(links, { + let linksWithThisReq: Array<CompositionCiLinkBase> = _.filter(links, { 'relation': { 'fromNode': fromNodeId, 'relationships': [{ - 'relation':{ + 'relation': { 'requirementOwnerId': requirement.ownerId, 'requirement': requirement.name, 'relationship': { @@ -95,7 +95,7 @@ export class MatchCapabilitiesRequirementsUtils { return linksWithThisReq.length == requirement.maxOccurrences; }; - private static isMatch(requirement:Requirement, capability:Capability):boolean { + private static isMatch(requirement: Requirement, capability: Capability): boolean { if (capability.type === requirement.capability) { if (requirement.node) { if (_.includes(capability.capabilitySources, requirement.node)) { @@ -108,15 +108,15 @@ export class MatchCapabilitiesRequirementsUtils { return false; }; - public getMatchedRequirementsCapabilities(fromComponentInstance:ComponentInstance, - toComponentInstance:ComponentInstance, - links:Array<CompositionCiLinkBase>):Array<Match> { - let fromToMatches:Array<Match> = this.getMatches(fromComponentInstance.requirements, + public getMatchedRequirementsCapabilities(fromComponentInstance: ComponentInstance, + toComponentInstance: ComponentInstance, + links: Array<CompositionCiLinkBase>): Array<Match> { + let fromToMatches: Array<Match> = this.getMatches(fromComponentInstance.requirements, toComponentInstance.capabilities, links, fromComponentInstance.uniqueId, toComponentInstance.uniqueId, true); - let toFromMatches:Array<Match> = this.getMatches(toComponentInstance.requirements, + let toFromMatches: Array<Match> = this.getMatches(toComponentInstance.requirements, fromComponentInstance.capabilities, links, fromComponentInstance.uniqueId, @@ -127,16 +127,16 @@ export class MatchCapabilitiesRequirementsUtils { /***** REFACTORED FUNCTIONS START HERE *****/ - public getMatches(requirements:RequirementsGroup, capabilities:CapabilitiesGroup, links:Array<CompositionCiLinkBase>, - fromId:string, toId:string, isFromTo: boolean):Array<Match> { - let matches:Array<Match> = []; + public getMatches(requirements: RequirementsGroup, capabilities: CapabilitiesGroup, links: Array<CompositionCiLinkBase>, + fromId: string, toId: string, isFromTo: boolean): Array<Match> { + let matches: Array<Match> = []; let unfulfilledReqs = this.getUnfulfilledRequirements(fromId, requirements, links); - _.forEach(unfulfilledReqs, (req)=> { - _.forEach(_.flatten(_.values(capabilities)), (capability:Capability)=> { + _.forEach(unfulfilledReqs, (req) => { + _.forEach(_.flatten(_.values(capabilities)), (capability: Capability) => { if (MatchCapabilitiesRequirementsUtils.isMatch(req, capability)) { - if(isFromTo) { + if (isFromTo) { matches.push(new Match(req, capability, isFromTo, fromId, toId)); - } else{ + } else { matches.push(new Match(req, capability, isFromTo, toId, fromId)); } } @@ -145,10 +145,10 @@ export class MatchCapabilitiesRequirementsUtils { return matches; } - public getUnfulfilledRequirements = (fromNodeId:string, requirements:RequirementsGroup, links:Array<CompositionCiLinkBase>):Array<Requirement>=> { + public getUnfulfilledRequirements = (fromNodeId: string, requirements: RequirementsGroup, links: Array<CompositionCiLinkBase>): Array<Requirement> => { - let requirementArray:Array<Requirement> = []; - _.forEach(_.flatten(_.values(requirements)), (requirement:Requirement)=> { + let requirementArray: Array<Requirement> = []; + _.forEach(_.flatten(_.values(requirements)), (requirement: Requirement) => { if (requirement.name !== 'dependency' && requirement.parentName !== 'dependency' && !MatchCapabilitiesRequirementsUtils.isRequirementFulfilled(fromNodeId, requirement, links)) { requirementArray.push(requirement); } @@ -163,9 +163,9 @@ export class MatchCapabilitiesRequirementsUtils { * @param capabilities * @returns {boolean} */ - public containsMatch = (requirements:Array<Requirement>, capabilities:CapabilitiesGroup):boolean => { - return _.some(requirements, (req:Requirement)=> { - return _.some(_.flatten(_.values(capabilities)), (capability:Capability) => { + public containsMatch = (requirements: Array<Requirement>, capabilities: CapabilitiesGroup): boolean => { + return _.some(requirements, (req: Requirement) => { + return _.some(_.flatten(_.values(capabilities)), (capability: Capability) => { return MatchCapabilitiesRequirementsUtils.isMatch(req, capability); }); }); @@ -178,11 +178,11 @@ export class MatchCapabilitiesRequirementsUtils { * 2. node has an unfulfilled requirement that matches the component's capabilities * 3. vl is passed in which has the capability to fulfill requirement from component and requirement on node. */ - public findMatchingNodes(component:Component, nodeDataArray:Array<CompositionCiNodeBase>, - links:Array<CompositionCiLinkBase>):Array<any> //TODO allow for VL array and TEST + public findMatchingNodes(component: Component, nodeDataArray: Array<CompositionCiNodeBase>, + links: Array<CompositionCiLinkBase>): Array<any> //TODO allow for VL array and TEST { - let componentRequirements:Array<Requirement> = this.getUnfulfilledRequirements(component.uniqueId, component.requirements, links); - return _.filter(nodeDataArray, (node:any)=> { + let componentRequirements: Array<Requirement> = this.getUnfulfilledRequirements(component.uniqueId, component.requirements, links); + return _.filter(nodeDataArray, (node: any) => { if (node && node.componentInstance) { //Check if component has an unfulfilled requirement that can be met by one of nodes's capabilities (#1) @@ -190,7 +190,7 @@ export class MatchCapabilitiesRequirementsUtils { return true; } else { //Check if node has unfulfilled requirement that can be filled by component (#2) - let nodeRequirements:Array<Requirement> = this.getUnfulfilledRequirements(node.componentInstance.uniqueId, node.componentInstance.requirements, links); + let nodeRequirements: Array<Requirement> = this.getUnfulfilledRequirements(node.componentInstance.uniqueId, node.componentInstance.requirements, links); if (!nodeRequirements.length) return false; if (this.containsMatch(nodeRequirements, component.capabilities)) { return true; |