From eb0f2eff95effffebde6642d38932e438598acd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B1=A4=E5=AD=A6=E4=BC=9A?= Date: Mon, 15 Jun 2026 01:32:24 +0800 Subject: [PATCH] fix: improve org tree hierarchy and user menu dismissal --- frontend/src/App.test.js | 10 +++ frontend/src/App.vue | 16 +++- .../src/components/OrgPermissionTree.test.js | 17 +++++ frontend/src/components/OrgPermissionTree.vue | 73 ++++++++++++++++++- 4 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 frontend/src/components/OrgPermissionTree.test.js diff --git a/frontend/src/App.test.js b/frontend/src/App.test.js index d9907f4..f2721d3 100644 --- a/frontend/src/App.test.js +++ b/frontend/src/App.test.js @@ -19,3 +19,13 @@ describe("App reset password account picker", () => { assert.match(source, /formatResetPasswordUserLabel\(user\)/); }); }); + +describe("App user menu interactions", () => { + it("closes the avatar menu when the user clicks outside the menu shell", () => { + assert.match(source, /ref="userMenuShellRef"/); + assert.match(source, /function handleUserMenuOutsidePointerDown\(event\)/); + assert.match(source, /userMenuShellRef\.value\?\.contains\(event\.target\)/); + assert.match(source, /document\.addEventListener\("pointerdown", handleUserMenuOutsidePointerDown\)/); + assert.match(source, /document\.removeEventListener\("pointerdown", handleUserMenuOutsidePointerDown\)/); + }); +}); diff --git a/frontend/src/App.vue b/frontend/src/App.vue index d355211..4c4133c 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -110,7 +110,7 @@ -
+