@@ -204,7 +204,7 @@ export function getConverterStationPolyline(
204
204
return getFormattedPolyline ( points [ 0 ] , null , points [ 1 ] ) ;
205
205
}
206
206
207
- // get the drabbable element, if present,
207
+ // get the draggable element, if present,
208
208
// from the element selected using the mouse
209
209
export function getDraggableFrom ( element : SVGElement ) : SVGElement | undefined {
210
210
if ( isDraggable ( element ) ) {
@@ -214,12 +214,30 @@ export function getDraggableFrom(element: SVGElement): SVGElement | undefined {
214
214
}
215
215
}
216
216
217
+ // get the selectable element, if present,
218
+ // from the element selected using the mouse
219
+ export function getSelectableFrom ( element : SVGElement ) : SVGElement | undefined {
220
+ if ( isSelectable ( element ) ) {
221
+ return element ;
222
+ } else if ( element . parentElement ) {
223
+ return getSelectableFrom ( element . parentNode as SVGElement ) ;
224
+ }
225
+ }
226
+
217
227
function isDraggable ( element : SVGElement ) : boolean {
218
228
return (
219
229
hasId ( element ) && element . parentNode != null && classIsContainerOfDraggables ( element . parentNode as SVGElement )
220
230
) ;
221
231
}
222
232
233
+ function isSelectable ( element : SVGElement ) : boolean {
234
+ return (
235
+ hasId ( element ) &&
236
+ element . parentNode != null &&
237
+ ( element . parentNode as SVGElement ) . classList . contains ( 'nad-vl-nodes' )
238
+ ) ;
239
+ }
240
+
223
241
function hasId ( element : SVGElement ) : boolean {
224
242
return typeof element . id != 'undefined' && element . id != '' ;
225
243
}
@@ -398,9 +416,9 @@ export function getEdgeNameAngle(point1: Point, point2: Point): number {
398
416
}
399
417
400
418
// check if a DOM element is a text node
401
- export function isTextNode ( element : SVGGraphicsElement | null ) : boolean | undefined {
419
+ export function isTextNode ( element : SVGGraphicsElement | null ) : boolean {
402
420
return (
403
- element != null && element . parentElement != null && element . parentElement ? .classList . contains ( 'nad-text-nodes' )
421
+ element != null && element . parentElement != null && element . parentElement . classList . contains ( 'nad-text-nodes' )
404
422
) ;
405
423
}
406
424
0 commit comments