ulrich
2018-03-30 34aa39872f9563a0a872ff1b4eed637ab0410fd1
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/",
@@ -11,13 +13,123 @@
      ".west",
      "8em");
    $(".hamburger").on("click", function(e) {
      self.app_menue_umschalten();
      self.menue_umschalten();
    });
  };
  this.app_menue_umschalten = function() {
  this.menue_umschalten = function() {
    $(".hamburger").toggleClass("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 = $('.ost');
    if($(ostDiv).hasClass('ost-open')) {
      $(ostDiv).removeClass('ost-open');
      $(ostDiv).css("flex-basis", "0em");
    } else {
      $(ostDiv).addClass('ost-open');
      $(ostDiv).css("flex-basis", '6em'); // z.B. "16em"
    }
    self.menue_umschalten();
  };
  this.fusszeile_umschalten = function() {
    var suedDiv = $('.sued');
    if($(suedDiv).hasClass('sued-open')) {
      $(suedDiv).removeClass('sued-open');
      $(suedDiv).css("height", "0");
    } else {
      $(suedDiv).addClass('sued-open');
      $(suedDiv).css("height", '1.5em'); // z.B. "16em"
    }
    self.menue_umschalten();
  };
  this.menu_message = function(msg) {
    self.meldung_mit_timeout(msg, 1500);
    var suedDiv = $('.sued');
    if($(suedDiv).hasClass('sued-open')) {
    } else {
      $(suedDiv).addClass('sued-open');
      $(suedDiv).css("height", '1.5em'); // z.B. "16em"
    }
    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 = $('.sued');
    s.text(meldung);
    setTimeout(function() {
      s.text('Bereit.');
      setTimeout(function() {
        var suedDiv = $('.sued');
        if($(suedDiv).hasClass('sued-open')) {
          $(suedDiv).removeClass('sued-open');
          $(suedDiv).css("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);
  };
}