From a0fbb2bd6db8702ad9729823b91176861b2098c9 Mon Sep 17 00:00:00 2001 From: TrueKuehli Date: Wed, 26 Sep 2018 20:30:15 +0200 Subject: Grundimplementierung des Servers und der Webseite --- .../NodeJSServer/src/modules/ui/backdrop.js | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 WebInterface/NodeJSServer/src/modules/ui/backdrop.js (limited to 'WebInterface/NodeJSServer/src/modules/ui/backdrop.js') diff --git a/WebInterface/NodeJSServer/src/modules/ui/backdrop.js b/WebInterface/NodeJSServer/src/modules/ui/backdrop.js new file mode 100644 index 0000000..243bbb3 --- /dev/null +++ b/WebInterface/NodeJSServer/src/modules/ui/backdrop.js @@ -0,0 +1,41 @@ +// Showing / Hiding the backdrop menu + +export default class Backdrop { + constructor(backdropMenu, frontLayer, menuButton) { + this.backdrop = document.getElementById(backdropMenu); + this.frontLayer = document.getElementById(frontLayer); + this.menuButton = document.getElementById(menuButton); + } + + + register() { + this.registerButtonEvent(); + this.registerFrontLayerEvent(); + } + + registerButtonEvent() { + this.menuButton.addEventListener('click', () => { + // Hide / Unhide Backdrop Menu + if (this.backdrop.classList.contains('hidden')) { + this.backdrop.classList.remove('hidden'); + } else { + this.backdrop.classList.add('hidden'); + } + + // Set open state for menu button + if (this.menuButton.classList.contains('open')) { + this.menuButton.classList.remove('open'); + } else { + this.menuButton.classList.add('open'); + } + }); + } + + registerFrontLayerEvent() { + // Hide menu when interacting with front layer + this.frontLayer.addEventListener('click', () => { + this.backdrop.classList.add('hidden'); + this.menuButton.classList.remove('open'); + }); + } +} -- cgit v1.2.3-54-g00ecf