summaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-zone-utils.ts
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-zone-utils.ts')
-rw-r--r--catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-zone-utils.ts195
1 files changed, 0 insertions, 195 deletions
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
deleted file mode 100644
index cf6c7e3bd6..0000000000
--- a/catalog-ui/src/app/directives/graphs-v2/composition-graph/utils/composition-graph-zone-utils.ts
+++ /dev/null
@@ -1,195 +0,0 @@
-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) {
- }
-
-
- 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);
-
- return zones;
- }
-
- public showZone = (zone: Zone): void => {
- zone.visible = true;
- zone.minimized = false;
- }
-
- public getZoneTypeForPaletteComponent = (componentCategory: LeftPaletteMetadataTypes) => {
- if (componentCategory == LeftPaletteMetadataTypes.Group) {
- return ZoneInstanceType.GROUP;
- } else if (componentCategory == LeftPaletteMetadataTypes.Policy) {
- return ZoneInstanceType.POLICY;
- }
- };
-
- public initZoneInstances(zones: Array<Zone>, component: Component) {
- if (component.groupInstances && component.groupInstances.length) {
- this.showZone(zones[ZoneInstanceType.GROUP]);
- _.forEach(component.groupInstances, (group: GroupInstance) => {
- let newInstance = new ZoneInstance(group, component);
- this.addInstanceToZone(zones[ZoneInstanceType.GROUP], newInstance);
- });
- }
-
- if (component.policies && component.policies.length) {
- this.showZone(zones[ZoneInstanceType.POLICY]);
- _.forEach(component.policies, (policy: PolicyInstance) => {
- let newInstance = new ZoneInstance(policy, component);
- this.addInstanceToZone(zones[ZoneInstanceType.POLICY], newInstance);
-
- });
- }
- }
-
- 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 => {
- _.forEach(zones, (zone) => {
- _.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).
- zoneInstance.instanceData.setSavedAssignments(zoneInstance.assignments);
- }
- });
- });
- };
-
- 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);
- component.policies.push(newInstance);
- return new ZoneInstance(newInstance, component);
- });
- } else if (zoneType === ZoneInstanceType.GROUP) {
- return this.groupsService.createGroupInstance(component.componentType, component.uniqueId, paletteComponentType).map(response => {
- let newInstance = new GroupInstance(response);
- component.groupInstances.push(newInstance);
- return new ZoneInstance(newInstance, component);
- });
- }
- }
-
- 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);
- let zone = angular.element(document.querySelector('.' + zoneType + '-zone'));
- let wrapperZone = zone.offsetParent();
- point.x = zone.prop('offsetLeft') + wrapperZone.prop('offsetLeft');
- point.y = zone.prop('offsetTop') + wrapperZone.prop('offsetTop');
- return point;
- }
-
- public createPaletteToZoneAnimation = (startPoint: Point, zoneType: ZoneInstanceType, newInstance: ZoneInstance) => {
- let zoneTypeName = ZoneInstanceType[zoneType].toLowerCase();
- let paletteToZoneAnimation = this.dynamicComponentService.createDynamicComponent(PaletteAnimationComponent);
- paletteToZoneAnimation.instance.from = startPoint;
- paletteToZoneAnimation.instance.type = zoneType;
- paletteToZoneAnimation.instance.to = this.findZoneCoordinates(zoneTypeName);
- paletteToZoneAnimation.instance.zoneInstance = newInstance;
- paletteToZoneAnimation.instance.iconName = zoneTypeName;
- paletteToZoneAnimation.instance.runAnimation();
- }
-
- 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) => {
- cy.emit('tagend');
- cy.nodes().selectify();
- cy.autolock(false);
- };
-
- 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);
- groupInstance.showHandle(handle);
- })
- };
-
- public hideGroupZoneIndications = (instances: Array<ZoneInstance>) => {
- instances.forEach((instance) => {
- instance.hideHandle();
- })
- }
-
- public showZoneTagIndications = (cy: Cy.Instance, zoneInstance: ZoneInstance) => {
-
- cy.nodes().forEach(node => {
- let handleType: string = this.getCorrectHandleForNode(node.id(), zoneInstance);
- cy.emit('showhandle', [node, handleType]);
- });
- };
-
- public showZoneTagIndicationForNode = (nodeId: string, zoneInstance: ZoneInstance, cy: Cy.Instance) => {
- let node = cy.getElementById(nodeId);
- let handleType: string = this.getCorrectHandleForNode(nodeId, zoneInstance);
- cy.emit('showhandle', [node, handleType]);
- }
-
- public hideZoneTagIndications = (cy: Cy.Instance) => {
- cy.emit('hidehandles');
- };
-
- public getCorrectHandleForNode = (nodeId: string, zoneInstance: ZoneInstance): string => {
- if (zoneInstance.isAlreadyAssigned(nodeId)) {
- if (zoneInstance.type == ZoneInstanceType.POLICY) {
- return CanvasHandleTypes.TAGGED_POLICY;
- } else {
- return CanvasHandleTypes.TAGGED_GROUP;
- }
- } else {
- return CanvasHandleTypes.TAG_AVAILABLE;
- }
- };
-}
-
-CompositionGraphZoneUtils.$inject = [
- 'DynamicComponentService',
- 'PoliciesServiceNg2',
- 'GroupsServiceNg2'
-]; \ No newline at end of file