ulrich
2019-12-12 e394579029084010925e536150122f286dce3b5b
app.js
@@ -1,12 +1,137 @@
function AppVorlage() {
  var self = this;
  var appMenu;
  var vorlagen;
  this.init = function() {
    app_menu_init(
    self.vorlagen = new Vorlagen();
    self.appMenu = new AppMenu();
    self.appMenu.init(
      "data/menu/",
      "hauptmenue.json",
      "jslib/app-menu/app-menu.tpl",
      ".west",
      "8em");
   document.querySelector('.hamburger').addEventListener('click', function(e) {
      self.menue_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);
  };
}