commit | author | age
|
623a61
|
1 |
var TPL_HOME = 'home'; |
U |
2 |
var TPL_PREFS = 'prefs'; |
47a970
|
3 |
var TPL_SENDER = 'sender'; |
9e336a
|
4 |
var TPL_DLG_MSG = 'dlg-msg'; |
36646e
|
5 |
var TPL_DLG_INFO = 'dlg-info'; |
ffc872
|
6 |
var TPL_DLG_SENDER_NEU = 'dlg-sender-neu'; |
U |
7 |
var TPL_DLG_SENDER_EDIT = 'dlg-sender-edit'; |
56852d
|
8 |
var TPL_SENDER_EDIT_FORM = 'sender-edit-form'; |
df379b
|
9 |
var templateCache = {}; // mustache templates |
623a61
|
10 |
var prefsRendered = false; |
56852d
|
11 |
var senderKlickModus = "0"; // 1=abspielen, 2=bearbeiten, 3=loeschen |
623a61
|
12 |
|
U |
13 |
function app_init() { |
9f0d54
|
14 |
$('.dialog').hide(); |
623a61
|
15 |
$('.ost').hide(); |
136220
|
16 |
app_menu_init( |
U |
17 |
"data/menu/", |
|
18 |
"hauptmenue.json", |
|
19 |
"../jslib/app-menu/app-menu.tpl", |
|
20 |
".west", |
|
21 |
"8em"); |
8881ca
|
22 |
app_get_template('data/tpl/dlg-msg.tpl', TPL_DLG_MSG); |
U |
23 |
app_get_template('data/tpl/dlg-info.tpl', TPL_DLG_INFO); |
|
24 |
app_get_template('data/tpl/sender.tpl', TPL_SENDER); |
ffc872
|
25 |
app_get_template('data/tpl/dlg-sender-neu.tpl', TPL_DLG_SENDER_NEU); |
U |
26 |
app_get_template('data/tpl/dlg-sender-edit.tpl', TPL_DLG_SENDER_EDIT); |
56852d
|
27 |
app_get_template('data/tpl/dlg-sender-edit-form.tpl', TPL_SENDER_EDIT_FORM); |
623a61
|
28 |
//app_get_template('tpl/prefs.tpl', 'prefs'); |
U |
29 |
$('.sued').text('Bereit.'); |
|
30 |
setTimeout(function() { |
a480d0
|
31 |
app_get_sender(); |
623a61
|
32 |
}, 200); |
47a970
|
33 |
} |
U |
34 |
|
3cecdc
|
35 |
/* Senderliste */ |
U |
36 |
|
|
37 |
function app_kachel_anpassen(sender) { |
|
38 |
var kachel = $( "div[sid='" + sender.id + "']" ); |
|
39 |
$(kachel).find(".sender-name").text(sender.name); |
|
40 |
$(kachel).attr("data-verweis", sender.url); |
|
41 |
$(kachel).find("img").attr("src", sender.logo); |
|
42 |
} |
|
43 |
|
8881ca
|
44 |
/* --- Menüfunktionen --- */ |
U |
45 |
|
9f0d54
|
46 |
function app_nachricht_test() { |
e6c850
|
47 |
app_dialog_laden_und_zeigen( |
U |
48 |
templateCache[TPL_DLG_MSG], 'data/msg-test.json'); |
df379b
|
49 |
app_menu_toggle(); |
36646e
|
50 |
} |
U |
51 |
|
|
52 |
function app_info_dialog_zeigen() { |
b520d1
|
53 |
app_dialog_laden_und_zeigen(templateCache[TPL_DLG_INFO], ''); |
df379b
|
54 |
app_menu_toggle(); |
8881ca
|
55 |
} |
U |
56 |
|
5226a2
|
57 |
function app_neuer_sender() { |
ffc872
|
58 |
app_dialog_laden_und_zeigen(templateCache[TPL_DLG_SENDER_NEU], ''); |
b520d1
|
59 |
$('#sender-speichern').on('click', function() { |
136220
|
60 |
$('#sender-speichern').off('click'); |
b520d1
|
61 |
app_dialog_schliessen(); |
742e75
|
62 |
app_meldung_mit_timeout('Speichern gewaehlt', 1500); |
b520d1
|
63 |
}); |
U |
64 |
app_menu_toggle(); |
5226a2
|
65 |
} |
U |
66 |
|
742e75
|
67 |
function app_sender_bearbeiten() { |
56852d
|
68 |
senderKlickModus = "2"; // bearbeiten |
ffc872
|
69 |
app_dialog_laden_und_zeigen(templateCache[TPL_DLG_SENDER_EDIT], ''); |
c0ad5e
|
70 |
app_menu_toggle(); |
742e75
|
71 |
} |
5226a2
|
72 |
|
742e75
|
73 |
function app_sender_loeschen() { |
U |
74 |
app_meldung_mit_timeout('Nicht implementiert: Sender loeschen.', 1500); |
c0ad5e
|
75 |
app_menu_toggle(); |
742e75
|
76 |
} |
U |
77 |
|
|
78 |
/* --- Dialogfunktionen --- */ |
8881ca
|
79 |
|
U |
80 |
function app_dialog_zeigen(vorlage, inhalt) { |
|
81 |
$(".dialog").html(Mustache.render(vorlage, inhalt)); |
|
82 |
$(".close-btn").on('click', function() { |
b520d1
|
83 |
app_dialog_schliessen(); |
8881ca
|
84 |
}); |
U |
85 |
$('.dialog').slideDown(300); |
b520d1
|
86 |
} |
U |
87 |
|
|
88 |
function app_dialog_schliessen() { |
56852d
|
89 |
senderKlickModus = "0"; |
136220
|
90 |
$('.close-btn').off('click'); |
b520d1
|
91 |
$('.dialog').slideUp(300); |
9f0d54
|
92 |
} |
U |
93 |
|
742e75
|
94 |
/* --- Meldungen in der Fusszeile --- */ |
U |
95 |
|
|
96 |
/* |
|
97 |
Eine Meldung eine Zeitlang in der Fusszeile anzeigen |
|
98 |
|
|
99 |
meldung - Text der Meldung |
|
100 |
timeout - die Anzahl Millisekunden, die eine Meldung zu sehen sein soll |
|
101 |
*/ |
|
102 |
function app_meldung_mit_timeout(meldung, timeout) { |
|
103 |
$('.sued').text(meldung); |
|
104 |
setTimeout(function() { |
|
105 |
$('.sued').text('Bereit.'); |
|
106 |
}, timeout); |
|
107 |
} |
|
108 |
|
47a970
|
109 |
/* --- Ajax-Aufrufe --- */ |
U |
110 |
|
a480d0
|
111 |
function app_get_sender() { |
U |
112 |
$.ajax({ |
0c85a2
|
113 |
url: "data/sender.json", |
a480d0
|
114 |
type: "GET", |
U |
115 |
dataType : "json" |
|
116 |
}).done(function( senderliste ) { |
56852d
|
117 |
$(".sender-kachel").off("click"); |
U |
118 |
$(".sender-behaelter").html( |
|
119 |
Mustache.render(templateCache[TPL_SENDER], senderliste)); |
136220
|
120 |
$('.sender-kachel').on('click', function() { |
U |
121 |
var kachel = $( this ); |
e6c850
|
122 |
var senderId = $(kachel).attr("sid"); |
136220
|
123 |
var senderName = $(kachel).find(".sender-name").text(); |
e6c850
|
124 |
var senderUrl = $(kachel).attr("data-verweis"); |
U |
125 |
var senderLogo = $(kachel).find("img").attr("src"); |
|
126 |
var s = new Sender(senderId, senderName, senderUrl, senderLogo); |
56852d
|
127 |
switch (senderKlickModus) { |
U |
128 |
case "1": |
|
129 |
break; |
|
130 |
case "2": |
|
131 |
$(".dlg-behaelter").html( |
e6c850
|
132 |
Mustache.render(templateCache[TPL_SENDER_EDIT_FORM], s) |
56852d
|
133 |
); |
U |
134 |
$('#sender-speichern').on('click', function() { |
|
135 |
$('#sender-speichern').off('click'); |
3cecdc
|
136 |
var nameNeu = $("#sender-name").val(); |
U |
137 |
var logoNeu = $("#sender-logo").val(); |
|
138 |
var urlNeu = $("#sender-url").val(); |
|
139 |
var sNeu = new Sender(senderId, nameNeu, urlNeu, logoNeu); |
|
140 |
app_kachel_anpassen(sNeu); |
56852d
|
141 |
app_dialog_schliessen(); |
U |
142 |
app_meldung_mit_timeout('Speichern gewaehlt', 1500); |
|
143 |
}); |
|
144 |
break; |
|
145 |
case "3": |
|
146 |
break; |
|
147 |
default: |
|
148 |
app_meldung_mit_timeout( |
e6c850
|
149 |
'Sender ' + s.name + ', ID ' + s.id, |
56852d
|
150 |
1500 |
U |
151 |
); |
|
152 |
break; |
|
153 |
} |
136220
|
154 |
}); |
a480d0
|
155 |
}); |
U |
156 |
} |
|
157 |
|
b520d1
|
158 |
function app_dialog_laden_und_zeigen(vorlage, adresse) { |
36646e
|
159 |
if(adresse !== '') { |
U |
160 |
$.ajax({ |
|
161 |
url: adresse, |
|
162 |
type: "GET", |
|
163 |
dataType : "json" |
|
164 |
}).done(function( msg ) { |
8881ca
|
165 |
app_dialog_zeigen(vorlage, msg); |
36646e
|
166 |
}); |
U |
167 |
} else { |
8881ca
|
168 |
app_dialog_zeigen(vorlage, ''); |
36646e
|
169 |
} |
9e336a
|
170 |
} |
U |
171 |
|
47a970
|
172 |
/* |
U |
173 |
Ein Template vom Server in den Cache laden |
|
174 |
template_url - home.tpl, prefs.tpl, sender.tpl |
|
175 |
tname - 'home', 'prefs', 'sender' |
|
176 |
*/ |
|
177 |
function app_get_template(template_url, tname) { |
|
178 |
$.ajax({ |
|
179 |
url: template_url, |
|
180 |
type: "GET", |
|
181 |
dataType : "text" |
|
182 |
}).done(function( template ) { |
|
183 |
templateCache[tname] = template; |
|
184 |
}); |
623a61
|
185 |
} |
e6c850
|
186 |
|
U |
187 |
/* Objekte */ |
|
188 |
|
|
189 |
function Sender(i, n, u, l) { |
|
190 |
this.id = i; |
|
191 |
this.name = n; |
|
192 |
this.url = u; |
|
193 |
this.logo = l; |
|
194 |
} |