From 10e8f0970cdcd642ac4031e34319b54499099a95 Mon Sep 17 00:00:00 2001
From: AndiMajore <andi.majore@googlemail.com>
Date: Wed, 3 May 2023 17:40:23 +0200
Subject: [PATCH] fixed manual selection dragEnd issue
---
.../analysis-panel.component.ts | 4 +--
.../explorer-page/explorer-page.component.ts | 28 ++++++++++++++-----
.../network-handler.service.ts | 6 +++-
3 files changed, 28 insertions(+), 10 deletions(-)
diff --git a/src/app/components/analysis-panel/analysis-panel.component.ts b/src/app/components/analysis-panel/analysis-panel.component.ts
index 896103bd..76804290 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 959f9071..01a8c837 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 798c3e35..439da562 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 {
}
});
}
+
}
--
GitLab