From 9f0b255f32dfa81bffe75f89335a78a659b4ce6a Mon Sep 17 00:00:00 2001 From: TrueKuehli Date: Tue, 27 Nov 2018 12:16:33 +0100 Subject: Reworked the code, but currently unable to test, so bugs are bound to be in there Will test it sometime later. There also might still be stuff, that has yet to be reworked. --- .../NodeJSServer/src/js/modules/ui/uiManager.js | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 WebInterface/NodeJSServer/src/js/modules/ui/uiManager.js (limited to 'WebInterface/NodeJSServer/src/js/modules/ui/uiManager.js') diff --git a/WebInterface/NodeJSServer/src/js/modules/ui/uiManager.js b/WebInterface/NodeJSServer/src/js/modules/ui/uiManager.js new file mode 100644 index 0000000..ddbb152 --- /dev/null +++ b/WebInterface/NodeJSServer/src/js/modules/ui/uiManager.js @@ -0,0 +1,60 @@ +import About from './collections/about'; +import Login from './collections/login'; +import Play from './collections/play'; + +/** + * Controller class for Page UI + */ +export default class UIManager { + /** + * Initializes new UI Manager + * @param {Interface} iface Interface for inter-object communication + */ + constructor(iface) { + this.currentUI = null; + + iface.addObject(this, 'uiMananger', ['initAbout', 'initLogin', 'initPlay']); + this.iface = iface; + } + + /** + * Initializes UI Components of About Page + */ + initAbout() { + this.clearComponents(); + this.about = new About(this.iface); + this.currentUI = 'about'; + } + + /** + * Initializes UI Components of Login page + */ + initLogin() { + this.clearComponents(); + this.login = new Login(this.iface); + this.currentUI = 'login'; + } + + /** + * Initializes UI Components of Play page + */ + initPlay() { + this.clearComponents(); + this.play = new Play(this.iface); + this.currentUI = 'play'; + } + + /** + * Clears currently loaded components + */ + clearComponents() { + switch (this.currentUI) { + case null: return; + case 'about': this.about = null; break; + case 'login': this.login = null; break; + case 'play': this.play = null; break; + } + + this.currentUI = null; + } +} -- cgit v1.2.3-54-g00ecf