From 3cecdc4706df6b06afefe2036ecbf4be8d6d7002 Mon Sep 17 00:00:00 2001
From: ulrich <not disclosed>
Date: Sat, 06 Jan 2018 18:30:38 +0000
Subject: [PATCH] Kachel anpassen an bearbeiteten Sender

---
 app.js |   72 +++++++++++++++++++++++++++++------
 1 files changed, 59 insertions(+), 13 deletions(-)

diff --git a/app.js b/app.js
index 69bfac2..03240ef 100644
--- a/app.js
+++ b/app.js
@@ -5,8 +5,10 @@
 var TPL_DLG_INFO = 'dlg-info';
 var TPL_DLG_SENDER_NEU = 'dlg-sender-neu';
 var TPL_DLG_SENDER_EDIT = 'dlg-sender-edit';
+var TPL_SENDER_EDIT_FORM = 'sender-edit-form';
 var templateCache = {}; // mustache templates
 var prefsRendered = false;
+var senderKlickModus = "0"; // 1=abspielen, 2=bearbeiten, 3=loeschen
 
 function app_init() {
   $('.dialog').hide();
@@ -22,6 +24,7 @@
   app_get_template('data/tpl/sender.tpl', TPL_SENDER);
   app_get_template('data/tpl/dlg-sender-neu.tpl', TPL_DLG_SENDER_NEU);
   app_get_template('data/tpl/dlg-sender-edit.tpl', TPL_DLG_SENDER_EDIT);
+  app_get_template('data/tpl/dlg-sender-edit-form.tpl', TPL_SENDER_EDIT_FORM);
   //app_get_template('tpl/prefs.tpl', 'prefs');
   $('.sued').text('Bereit.');
   setTimeout(function() {
@@ -29,10 +32,20 @@
   }, 200);
 }
 
+/* Senderliste */
+
+function app_kachel_anpassen(sender) {
+  var kachel = $( "div[sid='" + sender.id + "']" );
+  $(kachel).find(".sender-name").text(sender.name);
+  $(kachel).attr("data-verweis", sender.url);
+  $(kachel).find("img").attr("src", sender.logo);
+}
+
 /* --- Menüfunktionen --- */
 
 function app_nachricht_test() {
-  app_dialog_laden_und_zeigen(templateCache[TPL_DLG_MSG], 'data/msg-test.json');
+  app_dialog_laden_und_zeigen(
+    templateCache[TPL_DLG_MSG], 'data/msg-test.json');
   app_menu_toggle();
 }
 
@@ -52,15 +65,9 @@
 }
 
 function app_sender_bearbeiten() {
+  senderKlickModus = "2"; // bearbeiten
   app_dialog_laden_und_zeigen(templateCache[TPL_DLG_SENDER_EDIT], '');
   app_menu_toggle();
-  /*
-  $('#sender-speichern').on('click', function() {
-    $('#sender-speichern').attr('onclick','').unbind('click');
-    app_dialog_schliessen();
-    app_meldung_mit_timeout('Speichern gewaehlt', 1500);
-  });
-  */
 }
 
 function app_sender_loeschen() {
@@ -79,6 +86,7 @@
 }
 
 function app_dialog_schliessen() {
+  senderKlickModus = "0";
   $('.close-btn').off('click');
   $('.dialog').slideUp(300);
 }
@@ -106,14 +114,43 @@
     type: "GET",
     dataType : "json"
   }).done(function( senderliste ) {
-    $(".sender-behaelter").html(Mustache.render(templateCache[TPL_SENDER], senderliste));
+    $(".sender-kachel").off("click");
+    $(".sender-behaelter").html(
+      Mustache.render(templateCache[TPL_SENDER], senderliste));
     $('.sender-kachel').on('click', function() {
       var kachel = $( this );
-      var senderId = kachel.attr("sid");
+      var senderId = $(kachel).attr("sid");
       var senderName = $(kachel).find(".sender-name").text();
-      app_meldung_mit_timeout(
-        'Sender ' + senderName + ', ID ' + senderId,
-        1500);
+      var senderUrl = $(kachel).attr("data-verweis");
+      var senderLogo = $(kachel).find("img").attr("src");
+      var s = new Sender(senderId, senderName, senderUrl, senderLogo);
+      switch (senderKlickModus) {
+          case "1":
+            break;
+          case "2":
+            $(".dlg-behaelter").html(
+              Mustache.render(templateCache[TPL_SENDER_EDIT_FORM], s)
+            );
+            $('#sender-speichern').on('click', function() {
+              $('#sender-speichern').off('click');
+              var nameNeu = $("#sender-name").val();
+              var logoNeu = $("#sender-logo").val();
+              var urlNeu = $("#sender-url").val();
+              var sNeu = new Sender(senderId, nameNeu, urlNeu, logoNeu);
+              app_kachel_anpassen(sNeu);
+              app_dialog_schliessen();
+              app_meldung_mit_timeout('Speichern gewaehlt', 1500);
+            });
+            break;
+          case "3":
+            break;
+          default:
+            app_meldung_mit_timeout(
+              'Sender ' + s.name + ', ID ' + s.id,
+              1500
+            );
+            break;
+      }
     });
   });
 }
@@ -146,3 +183,12 @@
     templateCache[tname] = template;
   });
 }
+
+/* Objekte */
+
+function Sender(i, n, u, l) {
+  this.id = i;
+  this.name = n;
+  this.url = u;
+  this.logo = l;
+}

--
Gitblit v1.9.3