summaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/directives/graphs-v2/composition-graph/utils')
-rw-r--r--catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-palette-utils.ts58
-rw-r--r--catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-service-path-utils.ts40
-rw-r--r--catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-zone-utils.ts92
-rw-r--r--catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/match-capability-requierment-utils.ts74
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;