diff --git a/src/app/components/analysis-panel/analysis-panel.component.ts b/src/app/components/analysis-panel/analysis-panel.component.ts index 896103bd407d83752372432532ff9187fe8158b4..76804290b22595bae717e320e14e23faa583498f 100644 --- a/src/app/components/analysis-panel/analysis-panel.component.ts +++ b/src/app/components/analysis-panel/analysis-panel.component.ts @@ -238,7 +238,7 @@ export class AnalysisPanelComponent implements OnInit, OnChanges, AfterViewInit }).then(() => { this.networkHandler.activeNetwork.networkInternal.on('dragEnd', (properties) => { const node_ids = this.networkHandler.activeNetwork.networkInternal.getSelectedNodes(); - if (node_ids.length === 0) { + if (node_ids.length === 0|| !this.networkHandler.shiftDown) { return; } this.analysis.addNodesByIdsToSelection(node_ids); @@ -487,7 +487,7 @@ export class AnalysisPanelComponent implements OnInit, OnChanges, AfterViewInit }, 1000); analysisNetwork.networkInternal.on('dragEnd', (properties) => { const node_ids = analysisNetwork.networkInternal.getSelectedNodes(); - if (node_ids.length === 0) { + if (node_ids.length === 0|| !this.networkHandler.shiftDown) { return; } this.analysis.addNodesByIdsToSelection(node_ids); diff --git a/src/app/pages/explorer-page/explorer-page.component.ts b/src/app/pages/explorer-page/explorer-page.component.ts index 959f90715bc6200c43173a3d36db892c4d4c5fb1..01a8c837a241d18ee187c58c84bd75754977555f 100644 --- a/src/app/pages/explorer-page/explorer-page.component.ts +++ b/src/app/pages/explorer-page/explorer-page.component.ts @@ -506,17 +506,31 @@ export class ExplorerPageComponent implements OnInit, AfterViewInit { } }); - this.networkHandler.activeNetwork.networkInternal.on('dragEnd', (properties) => { - let node_ids = this.networkHandler.activeNetwork.networkInternal.getSelectedNodes(); - if (node_ids.length === 0) { - return; + // this.networkHandler.activeNetwork.networkInternal.on('dragEnd', (properties) => { + // let node_ids = this.networkHandler.activeNetwork.networkInternal.getSelectedNodes(); + // if (node_ids.length === 0) { + // return; + // } + // this.analysis.addNodesByIdsToSelection(node_ids); + // this.networkHandler.activeNetwork.networkInternal.unselectAll(); + // }); + + // check if shift key is pressed + window.addEventListener('keydown', (event) => { + if (event.key === 'Shift') { + this.networkHandler.shiftDown = true; } - this.analysis.addNodesByIdsToSelection(node_ids); - this.networkHandler.activeNetwork.networkInternal.unselectAll(); }); + + window.addEventListener('keyup', (event) => { + if (event.key === 'Shift') { + this.networkHandler.shiftDown = false; + } + }); + this.networkHandler.activeNetwork.networkInternal.on('dragEnd', (properties) => { let node_ids = this.networkHandler.activeNetwork.networkInternal.getSelectedNodes(); - if (node_ids.length === 0) { + if (node_ids.length === 0 || !this.networkHandler.shiftDown) { return; } this.analysis.addNodesByIdsToSelection(node_ids); diff --git a/src/app/services/network-handler/network-handler.service.ts b/src/app/services/network-handler/network-handler.service.ts index 798c3e3539f4c6e7e155d5042205cd261ed7c57d..439da562f1b7c6206e4a40b38f38ddb544bd7097 100644 --- a/src/app/services/network-handler/network-handler.service.ts +++ b/src/app/services/network-handler/network-handler.service.ts @@ -1,7 +1,7 @@ import {Type, Injectable} from '@angular/core'; import {Subject} from 'rxjs'; import {NetworkComponent} from 'src/app/components/network/network.component'; -import {NetworkType} from 'src/app/interfaces'; +import {getWrapperFromNode, NetworkType} from 'src/app/interfaces'; import {AnalysisService} from '../analysis/analysis.service'; import {DrugstoneConfigService} from '../drugstone-config/drugstone-config.service'; import {NetexControllerService} from '../netex-controller/netex-controller.service'; @@ -22,6 +22,9 @@ export class NetworkHandlerService { public networks: { NetworkType: NetworkComponent } | {} = {}; public activeNetwork: NetworkComponent = new NetworkComponent(this.legendService, this.networkHandler, this.analysis, this.drugstoneConfig, this.netex, this.omnipath, this.loadingScreen); + + public shiftDown = false; + public showSeedsButton = true; @@ -64,4 +67,5 @@ export class NetworkHandlerService { } }); } + }