var TPL_HOME = 'home'; var TPL_PREFS = 'prefs'; var TPL_SENDER = 'sender'; var TPL_DLG_MSG = 'dlg-msg'; var TPL_DLG_INFO = 'dlg-info'; var TPL_DLG_SENDER = 'dlg-sender'; var templateCache = {}; // mustache templates var prefsRendered = false; function app_init() { $('.dialog').hide(); $('.ost').hide(); app_menu_init("data/menu/", "hauptmenue.json", "../jslib/app-menu/app-menu.tpl", ".west", "8em"); app_get_template('data/tpl/dlg-msg.tpl', TPL_DLG_MSG); app_get_template('data/tpl/dlg-info.tpl', TPL_DLG_INFO); app_get_template('data/tpl/sender.tpl', TPL_SENDER); app_get_template('data/tpl/dlg-sender-edit.tpl', TPL_DLG_SENDER); //app_get_template('tpl/prefs.tpl', 'prefs'); $('.sued').text('Bereit.'); setTimeout(function() { app_get_sender(); }, 200); } /* --- Menüfunktionen --- */ function app_nachricht_test() { app_dialog_laden_und_zeigen(templateCache[TPL_DLG_MSG], 'data/msg-test.json'); app_menu_toggle(); } function app_info_dialog_zeigen() { app_dialog_laden_und_zeigen(templateCache[TPL_DLG_INFO], ''); app_menu_toggle(); } function app_neuer_sender() { app_dialog_laden_und_zeigen(templateCache[TPL_DLG_SENDER], ''); $('#sender-speichern').on('click', function() { $('#sender-speichern').attr('onclick','').unbind('click'); app_dialog_schliessen(); $('.sued').text('Speichern gewaehlt'); setTimeout(function() { $('.sued').text('Bereit.'); }, 1500); }); app_menu_toggle(); } /* --- Sonstiges --- */ function app_dialog_zeigen(vorlage, inhalt) { $(".dialog").html(Mustache.render(vorlage, inhalt)); $(".close-btn").on('click', function() { app_dialog_schliessen(); /* $('.close-btn').attr('onclick','').unbind('click'); $('.dialog').slideUp(300); */ }); $('.dialog').slideDown(300); } function app_dialog_schliessen() { $('.close-btn').attr('onclick','').unbind('click'); $('.dialog').slideUp(300); } /* --- Ajax-Aufrufe --- */ function app_get_sender() { $.ajax({ url: "data/sender.json", type: "GET", dataType : "json" }).done(function( senderliste ) { $(".sender-behaelter").html(Mustache.render(templateCache[TPL_SENDER], senderliste)); }); } function app_dialog_laden_und_zeigen(vorlage, adresse) { if(adresse !== '') { $.ajax({ url: adresse, type: "GET", dataType : "json" }).done(function( msg ) { app_dialog_zeigen(vorlage, msg); }); } else { app_dialog_zeigen(vorlage, ''); } } /* Ein Template vom Server in den Cache laden template_url - home.tpl, prefs.tpl, sender.tpl tname - 'home', 'prefs', 'sender' */ function app_get_template(template_url, tname) { $.ajax({ url: template_url, type: "GET", dataType : "text" }).done(function( template ) { templateCache[tname] = template; }); }