From 4259aad3481f76d52a6a4c5320059a820d1c066d Mon Sep 17 00:00:00 2001 From: ziajka Date: Fri, 20 Apr 2018 10:29:10 +0200 Subject: [PATCH 1/2] Interface labels - surrounding box when selected --- .../cartography/shared/widgets/interface-label.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/app/cartography/shared/widgets/interface-label.ts b/src/app/cartography/shared/widgets/interface-label.ts index d4f52c9f..50e5d763 100644 --- a/src/app/cartography/shared/widgets/interface-label.ts +++ b/src/app/cartography/shared/widgets/interface-label.ts @@ -6,7 +6,7 @@ import { select } from "d3-selection"; export class InterfaceLabelWidget { - static SURROUNDING_TEXT_BORDER = 10; + static SURROUNDING_TEXT_BORDER = 5; private cssFixer: CssFixer; @@ -91,10 +91,12 @@ export class InterfaceLabelWidget { const text = parent.select('text'); const bbox = text.node().getBBox(); - current.attr('width', bbox.width + InterfaceLabelWidget.SURROUNDING_TEXT_BORDER); - current.attr('height', bbox.height + InterfaceLabelWidget.SURROUNDING_TEXT_BORDER); - current.attr('x', bbox.x - InterfaceLabelWidget.SURROUNDING_TEXT_BORDER); - current.attr('y', bbox.y - InterfaceLabelWidget.SURROUNDING_TEXT_BORDER); + const border = InterfaceLabelWidget.SURROUNDING_TEXT_BORDER; + + current.attr('width', bbox.width + border*2); + current.attr('height', bbox.height + border); + current.attr('x', - border); + current.attr('y', - bbox.height); }); labels From 5760e776097502c3b1596d7f8d5a4e6cf64c8f54 Mon Sep 17 00:00:00 2001 From: ziajka Date: Fri, 20 Apr 2018 11:48:05 +0200 Subject: [PATCH 2/2] Clear selection --- .../shared/managers/selection-manager.spec.ts | 17 +++++++++++++++++ .../shared/managers/selection-manager.ts | 6 ++++++ src/app/project-map/project-map.component.ts | 1 + 3 files changed, 24 insertions(+) diff --git a/src/app/cartography/shared/managers/selection-manager.spec.ts b/src/app/cartography/shared/managers/selection-manager.spec.ts index eb86e310..4be36928 100644 --- a/src/app/cartography/shared/managers/selection-manager.spec.ts +++ b/src/app/cartography/shared/managers/selection-manager.spec.ts @@ -2,6 +2,7 @@ import { Subject} from "rxjs/Subject"; import { Node } from "../models/node"; import { Link } from "../models/link"; +import { Drawing } from "../models/drawing"; import { Rectangle } from "../models/rectangle"; import { SelectionManager } from "./selection-manager"; import { NodesDataSource } from "../datasources/nodes-datasource"; @@ -75,4 +76,20 @@ describe('SelectionManager', () => { manager.setSelectedLinks([link]); expect(manager.getSelectedLinks().length).toEqual(1); }); + + it('items should be cleared', () => { + const link = new Link(); + link.link_id = "test1"; + const node = new Node(); + node.node_id = "test1"; + const drawing = new Drawing(); + drawing.drawing_id = "test1" + manager.setSelectedLinks([link]); + manager.setSelectedNodes([node]); + manager.setSelectedDrawings([drawing]); + manager.clearSelection(); + expect(manager.getSelectedLinks().length).toEqual(0); + expect(manager.getSelectedDrawings().length).toEqual(0); + expect(manager.getSelectedNodes().length).toEqual(0); + }); }); diff --git a/src/app/cartography/shared/managers/selection-manager.ts b/src/app/cartography/shared/managers/selection-manager.ts index df0980bd..0b9413e2 100644 --- a/src/app/cartography/shared/managers/selection-manager.ts +++ b/src/app/cartography/shared/managers/selection-manager.ts @@ -76,6 +76,12 @@ export class SelectionManager { }); } + public clearSelection() { + this.setSelectedDrawings([]); + this.setSelectedLinks([]); + this.setSelectedNodes([]); + } + private getSelectedItemsInRectangle(dataSource: DataSource, rectangle: Rectangle) { return this.setSelectedItems(dataSource, (item: T) => { return this.inRectangleHelper.inRectangle(rectangle, item.x, item.y); diff --git a/src/app/project-map/project-map.component.ts b/src/app/project-map/project-map.component.ts index 499491f1..0645df2c 100644 --- a/src/app/project-map/project-map.component.ts +++ b/src/app/project-map/project-map.component.ts @@ -199,6 +199,7 @@ export class ProjectMapComponent implements OnInit, OnDestroy { }); this.mapChild.graphLayout.getNodesWidget().setOnNodeClickedCallback((event: any, node: Node) => { + this.selectionManager.clearSelection(); this.selectionManager.setSelectedNodes([node]); if (this.drawLineMode) { this.nodeSelectInterfaceMenu.open(node, event.clientY, event.clientX);