mirror of
https://github.com/GNS3/gns3-web-ui.git
synced 2025-03-23 20:15:16 +00:00
Clear selection
This commit is contained in:
parent
4259aad348
commit
5760e77609
@ -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);
|
||||
});
|
||||
});
|
||||
|
@ -76,6 +76,12 @@ export class SelectionManager {
|
||||
});
|
||||
}
|
||||
|
||||
public clearSelection() {
|
||||
this.setSelectedDrawings([]);
|
||||
this.setSelectedLinks([]);
|
||||
this.setSelectedNodes([]);
|
||||
}
|
||||
|
||||
private getSelectedItemsInRectangle<T extends Selectable>(dataSource: DataSource<T>, rectangle: Rectangle) {
|
||||
return this.setSelectedItems<T>(dataSource, (item: T) => {
|
||||
return this.inRectangleHelper.inRectangle(rectangle, item.x, item.y);
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user