From 0f97c325cf5dcca538ebc4bb8da969b7f3786dbc Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Wed, 12 Jun 2024 16:27:34 +0200 Subject: [PATCH] =?UTF-8?q?Refactored=20Comp=20Klasse=20zur=20Aufnahme=20d?= =?UTF-8?q?er=20geschachtelten=20ActPanel=20Klasse=20mit=20Lazy-Initialisi?= =?UTF-8?q?erung=20und=20hinzugef=C3=BCgten=20Methoden=20zum=20Umschalten?= =?UTF-8?q?=20der=20Sichtbarkeit.=20Konfigurierte=20Comp.ActPanel.Toggle()?= =?UTF-8?q?=20so,=20dass=20die=20Schaltfl=C3=A4chen=20ausgeblendet=20werde?= =?UTF-8?q?n,=20wenn=20Anmerkungen=20ge=C3=B6ffnet=20werden,=20und=20sicht?= =?UTF-8?q?bar=20sind,=20wenn=20Anmerkungen=20geschlossen=20werden,=20?= =?UTF-8?q?=C3=BCber=20addEventListener("annotations.willChange",=20e).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EnvelopeGenerator.Web/wwwroot/js/app.js | 3 +- .../wwwroot/js/event-binder.js | 36 +++++++++++++------ 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/EnvelopeGenerator.Web/wwwroot/js/app.js b/EnvelopeGenerator.Web/wwwroot/js/app.js index ff5d09f9..2e316da1 100644 --- a/EnvelopeGenerator.Web/wwwroot/js/app.js +++ b/EnvelopeGenerator.Web/wwwroot/js/app.js @@ -66,8 +66,7 @@ class App { ) this.Instance.addEventListener("annotations.willChange", _ => { - //hide buttons - Comp.ActPanelElements.forEach(child => child.style.display = 'none'); + Comp.ActPanel.Toggle(); }); // Load annotations into PSPDFKit diff --git a/EnvelopeGenerator.Web/wwwroot/js/event-binder.js b/EnvelopeGenerator.Web/wwwroot/js/event-binder.js index b631d303..c790e708 100644 --- a/EnvelopeGenerator.Web/wwwroot/js/event-binder.js +++ b/EnvelopeGenerator.Web/wwwroot/js/event-binder.js @@ -36,18 +36,32 @@ $('.btn_reject').click(_ => })); -class Comp{ - static __fActPanel; - static get ActPanel(){ - if(Comp.__fActPanel) - return Comp.__fActPanel - else{ - Comp.__fActPanel = document.getElementById("flex-actio-panel") - return Comp.__fActPanel +class Comp { + static ActPanel = class { + static __Root; + static get Root() { + Comp.ActPanel.__Root ??= document.getElementById("flex-actio-panel") + return Comp.ActPanel.__Root + } + + static get Elements() { + return [...Comp.ActPanel.Root.children] + } + + static get IsHided() { + return Comp.ActPanel.Root.style.display == 'none'; + } + + /** + * @param {string} value + */ + static set Display(value) { + Comp.ActPanel.Root.style.display = value + Comp.ActPanel.Elements.forEach(e => e.style.display = value); } - } - static get ActPanelElements() { - return [...Comp.ActPanel.children] + static Toggle() { + Comp.ActPanel.Display = Comp.ActPanel.IsHided ? '' : 'none' + } } } \ No newline at end of file