From 13bbab7c9c5725b00e0caf228b8312926f2b677d Mon Sep 17 00:00:00 2001
From: Andrea Gottsponer <ago@attr.ch>
Date: Tue, 13 Sep 2022 15:26:07 +0200
Subject: [PATCH] - hide sub menu items when menu closes

---
 src/app/index.ts                     |  2 +-
 src/lib/elements/menu/MenuElement.ts | 12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/app/index.ts b/src/app/index.ts
index 77c67c68..55ec1e90 100644
--- a/src/app/index.ts
+++ b/src/app/index.ts
@@ -16,7 +16,7 @@ import { PixiPlugin } from 'gsap/PixiPlugin.js';
     - Layergruppe verschieben -> move events einfügen
     - Rotation: convert to integer
     - Menu anzeigen -> Hauptmenu wird nicht immer korrekt ausgeblendet.
-    Toggle submenus -> change hitbox when open and reset selection when outside
+    - Toggle submenus -> change hitbox when open and reset selection when outside
     Selektion der Fläche -> wird nicht geändert. scheint andere elemente zu ändern -> no events ???
     FillLine: "isPointInPolygon" and "getNearestPointForPoint" function wrong;
     Line: Hitbox not defined -> HOW TO ???
diff --git a/src/lib/elements/menu/MenuElement.ts b/src/lib/elements/menu/MenuElement.ts
index acdb2678..6938d76a 100644
--- a/src/lib/elements/menu/MenuElement.ts
+++ b/src/lib/elements/menu/MenuElement.ts
@@ -230,6 +230,18 @@ export class MenuElement extends BaseContainer<MenuElementModel> {
     }
     //</editor-fold>
 
+    //<editor-fold desc="BaseContainer">
+    public hideItem() {
+        super.hideItem();
+
+        // Hide submenus
+        this.menuElements?.filter((me) => me.element instanceof MedsurfDraw.RoundSubMenuElement || me.element instanceof MedsurfDraw.SubMenuElement).forEach((me) => {
+            // @ts-ignore
+            me.element.hideMenu(new PIXI.InteractionEvent());
+        });
+    }
+    //</editor-fold>
+
     //<editor-fold desc="Getter and Setter">
     /**
      * Get circle
-- 
GitLab