mirror of
https://github.com/GNS3/gns3-web-ui.git
synced 2025-06-17 06:18:09 +00:00
Manually select nodes and links
This commit is contained in:
@ -1,6 +1,7 @@
|
|||||||
import { Subject} from "rxjs/Subject";
|
import { Subject} from "rxjs/Subject";
|
||||||
|
|
||||||
import { Node } from "../models/node";
|
import { Node } from "../models/node";
|
||||||
|
import { Link } from "../models/link";
|
||||||
import { Rectangle } from "../models/rectangle";
|
import { Rectangle } from "../models/rectangle";
|
||||||
import { SelectionManager } from "./selection-manager";
|
import { SelectionManager } from "./selection-manager";
|
||||||
import { NodesDataSource } from "../datasources/nodes-datasource";
|
import { NodesDataSource } from "../datasources/nodes-datasource";
|
||||||
@ -54,4 +55,13 @@ describe('SelectionManager', () => {
|
|||||||
expect(manager.getSelectedLinks().length).toEqual(0);
|
expect(manager.getSelectedLinks().length).toEqual(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('nodes should be manually selected', () => {
|
||||||
|
manager.setSelectedNodes([new Node()]);
|
||||||
|
expect(manager.getSelectedNodes().length).toEqual(1);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('links should be manually selected', () => {
|
||||||
|
manager.setSelectedLinks([new Link()]);
|
||||||
|
expect(manager.getSelectedLinks().length).toEqual(1);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
@ -8,7 +8,7 @@ import { LinksDataSource } from "../datasources/links-datasource";
|
|||||||
import { Node } from "../models/node";
|
import { Node } from "../models/node";
|
||||||
import { InRectangleHelper } from "../../map/helpers/in-rectangle-helper";
|
import { InRectangleHelper } from "../../map/helpers/in-rectangle-helper";
|
||||||
import { Rectangle } from "../models/rectangle";
|
import { Rectangle } from "../models/rectangle";
|
||||||
import { Link } from "../models/link";
|
import { Link} from "../models/link";
|
||||||
import { DataSource } from "../datasources/datasource";
|
import { DataSource } from "../datasources/datasource";
|
||||||
|
|
||||||
|
|
||||||
@ -44,6 +44,14 @@ export class SelectionManager {
|
|||||||
return this.selectedLinks;
|
return this.selectedLinks;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public setSelectedNodes(nodes: Node[]) {
|
||||||
|
this.selectedNodes = nodes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public setSelectedLinks(links: Link[]) {
|
||||||
|
this.selectedLinks = links;
|
||||||
|
}
|
||||||
|
|
||||||
private getSelectedItemsInRectangle<T extends Selectable>(dataSource: DataSource<T>, rectangle: Rectangle) {
|
private getSelectedItemsInRectangle<T extends Selectable>(dataSource: DataSource<T>, rectangle: Rectangle) {
|
||||||
const items: T[] = [];
|
const items: T[] = [];
|
||||||
dataSource.getItems().forEach((item: T) => {
|
dataSource.getItems().forEach((item: T) => {
|
||||||
|
Reference in New Issue
Block a user