From e394579029084010925e536150122f286dce3b5b Mon Sep 17 00:00:00 2001
From: ulrich <undisclosed>
Date: Thu, 12 Dec 2019 06:45:19 +0000
Subject: [PATCH] in Arbeit: Verwendung von jQuery entfernen

---
 app.js |  122 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 118 insertions(+), 4 deletions(-)

diff --git a/app.js b/app.js
index 968c3aa..4671102 100644
--- a/app.js
+++ b/app.js
@@ -1,8 +1,10 @@
 function AppVorlage() {
   var self = this;
   var appMenu;
+  var vorlagen;
 
   this.init = function() {
+    self.vorlagen = new Vorlagen();
     self.appMenu = new AppMenu();
     self.appMenu.init(
       "data/menu/",
@@ -10,14 +12,126 @@
       "jslib/app-menu/app-menu.tpl",
       ".west",
       "8em");
-    $(".hamburger").on("click", function(e) {
-      self.app_menue_umschalten();
+	  
+	document.querySelector('.hamburger').addEventListener('click', function(e) {
+      self.menue_umschalten();
     });
 
   };
 
-  this.app_menue_umschalten = function() {
-    $(".hamburger").toggleClass("is-active"); // hamburger-icon umschalten
+  this.menue_umschalten = function() {
+	var ham = document.querySelector(".hamburger");
+	ham.classList.toggle("is-active"); // hamburger-icon umschalten
     self.appMenu.toggle(); // menue oeffnen/schliessen
   };
+
+  this.info_dialog_zeigen = function() {
+    self.dialog_laden_und_zeigen('data/tpl/dlg-info.tpl', '');
+    self.menue_umschalten();
+  };
+
+  this.seitenleiste_umschalten = function() {
+    var ostDiv = document.querySelector('.ost');
+    if(ostDiv.classList.contains('ost-open')) {
+      ostDiv.classList.remove('ost-open');
+	  ostDiv.style.flexBasis = '0em';
+    } else {
+	  ostDiv.classList.add('ost-open');
+	  ostDiv.style.flexBasis = '6em';
+    }
+    self.menue_umschalten();
+  };
+
+  this.fusszeile_umschalten = function() {
+    var suedDiv = document.querySelector('.sued');
+    if(suedDiv.classList.contains('sued-open')) {
+      suedDiv.classList.remove('sued-open');
+	  suedDiv.style.height = '0';
+    } else {
+      suedDiv.classList.add('sued-open');
+	  suedDiv.style.height = '1.5em';
+    }
+    self.menue_umschalten();
+  };
+
+  this.menu_message = function(msg) {
+    self.meldung_mit_timeout(msg, 1500);
+    var suedDiv = document.querySelector('.sued');
+    if(suedDiv.classList.contains('sued-open')) {
+    } else {
+      suedDiv.classList.add('sued-open');
+	  suedDiv.style.height = '1.5em';
+    }
+    self.menue_umschalten();
+  };
+
+  this.message_1 = function() {
+    self.menu_message('Eine Mitteilung.');
+  };
+
+  this.message_2 = function() {
+    self.menu_message('Was wir schon immer sagen wollten.');
+  };
+
+  this.message_3 = function(text) {
+    self.menu_message(text);
+  };
+
+  this.meldung_mit_timeout = function(meldung, timeout) {
+    var s = document.querySelector('.sued');
+    s.text(meldung);
+    setTimeout(function() {
+      s.text('Bereit.');
+      setTimeout(function() {
+        var suedDiv = document.querySelector('.sued');
+        if(suedDiv.classList.contains('sued-open')) {
+		  suedDiv.classList.remove('sued-open');
+		  suedDiv.style.height = '0';
+        }
+      }, 500);
+    }, timeout);
+  };
+
+  /* Dialog-Funktionen */
+
+  /*
+    Einen Dialog aus Vorlagen erzeugen
+
+    vurl - URL zur Dialogvorlage
+    msgTpl - URL mit einer Vorlage eines Mitteilungstextes (optional)
+  */
+  this.dialog_laden_und_zeigen = function(vurl, msgTpl) {
+    if(msgTpl !== '') {
+      $.ajax({
+        url: msgTpl,
+        type: "GET",
+        dataType : "json"
+      }).done(function( msg ) {
+        self.dialog_zeigen(vurl, msg);
+      });
+    } else {
+      self.dialog_zeigen(vurl, '');
+    }
+  };
+
+  this.dialog_zeigen = function(vurl, inhalt) {
+    var dlg = $(".dialog");
+    self.vorlagen.html_erzeugen(
+      vurl,
+      inhalt,
+      function(html) {
+        dlg.html(html);
+        $(".close-btn").on('click', function() {
+          self.dialog_schliessen();
+        });
+        dlg.slideDown(300);
+    });
+  };
+
+  self.dialog_schliessen = function() {
+    $('.close-btn').off('click');
+    $('.dialog').slideUp(300);
+  };
+
+
 }

--
Gitblit v1.9.3