Initial commit
Benjamin Renard authored 8 years ago
|
1) $('#cats').collapse({
2) toggle: false
3) });
4)
5) on_title_click=function(event) {
6) if (event.target.tagName=='BUTTON') {
7) return;
8) }
9) var title=$(this);
10) var panel=title.parent().parent();
11) var panel_collapse=panel.find('.panel-collapse');
12) var show=!panel_collapse.hasClass('in');
13) $('.panel-collapse').each(function(idx,div) {
14) $(div).collapse('hide');
15) });
16) if (show) {
17) panel_collapse.collapse('show');
18) }
19) }
20)
21) /***********************
22) * Add scase
23) **********************/
24) on_add_scase_btn_click=function(event) {
25) navbar_collapse_hide();
26) $('#add_scase_modal').modal('show');
27) }
28)
29) on_valid_add_scase_modal=function (e) {
30) e.preventDefault();
31) var name=$('#add_scase_name')[0].value;
32) if (name=='') {
33) alert("Vous devez saisir le nom de la valise !");
34) return;
35) }
36) if (scases.byName(name)) {
37) alert("Cette valise existe déjà !");
38) return;
39) }
40) var scase=scases.newSCase(name);
41) if (scase) {
42) scases.save();
43) show_scase(scase);
44) }
45) $('#add_scase_modal').modal('hide');
46) }
47)
48) on_show_add_scase_modal=function () {
49) $('#add_scase_name').focus();
50) }
51)
52) on_close_add_scase_modal=function () {
53) $('#add_scase_modal form')[0].reset();
54) }
55)
56) /***********************
57) * Rename scase
58) **********************/
59) on_rename_scase_btn_click=function(event) {
60) navbar_collapse_hide();
61) $('#rename_scase_name')[0].value=$('#cats').data('scase');
62) $('#rename_scase_modal').modal('show');
63) }
64)
65) on_valid_rename_scase_modal=function (e) {
66) e.preventDefault();
67) var name=$('#rename_scase_name')[0].value;
68) if (name=='') {
69) alert("Vous devez saisir le nouveau nom de la valise !");
70) return;
71) }
72) if ($('#cats').data('scase')!=name) {
73) if (scases.byName(name)) {
74) alert("Cette valise existe déjà !");
75) return;
76) }
77)
78) var scase=scases.renameSCase($('#cats').data('scase'),name);
79) if (scase) {
80) scases.save();
81) show_scase(scase);
82) }
83) else {
84) alert('Une erreur est survenue en renomant la valise...');
85) }
86) }
87) $('#rename_scase_modal').modal('hide');
88) }
89)
90) on_show_rename_scase_modal=function () {
91) $('#rename_scase_name').focus();
92) }
93)
94) on_close_rename_scase_modal=function () {
95) $('#rename_scase_modal form')[0].reset();
96) }
97)
98) /***********************
99) * Copy scase
100) **********************/
101) on_copy_scase_btn_click=function(event) {
102) navbar_collapse_hide();
103) $('#copy_scase_modal').modal('show');
104) }
105)
106) on_valid_copy_scase_modal=function (e) {
107) e.preventDefault();
108) var name=$('#copy_scase_name')[0].value;
109) if (name=='') {
110) alert("Vous devez saisir le nom de la nouvelle valise !");
111) return;
112) }
113) if (scases.byName(name)) {
114) alert("Cette valise existe déjà !");
115) return;
116) }
117) var scase=scases.copySCase($('#cats').data('scase'),name);
118) if (scase) {
119) scases.save();
120) show_scase(scase);
121) }
122) else {
123) alert('Une erreur est survenue en copiant la valise...');
124) }
125) $('#copy_scase_modal').modal('hide');
126) }
127)
128) on_show_copy_scase_modal=function () {
129) $('#copy_scase_name').focus();
130) }
131)
132) on_close_copy_scase_modal=function () {
133) $('#copy_scase_modal form')[0].reset();
134) }
135)
|
Add reset scase feature
Benjamin Renard authored 8 years ago
|
136) /***********************
137) * Reset scase
138) **********************/
139) on_reset_scase_btn_click=function(event) {
140) navbar_collapse_hide();
141) var scase=scases.byName($('#cats').data('scase'));
142) if (scase) {
143) myconfirm('Voulez-vous vraiment réinitialiser la valise '+$('#cats').data('scase')+' ?',
144) function(data) {
145) scases.resetSCase(scase.name);
146) scases.save();
147) show_scase(scase);
148) });
149) }
150) }
|
Initial commit
Benjamin Renard authored 8 years ago
|
151) /***********************
152) * Delete scase
153) **********************/
154) on_delete_scase_btn_click=function(event) {
155) navbar_collapse_hide();
156) var scase=scases.byName($('#cats').data('scase'));
157) if (scase) {
158) myconfirm('Voulez-vous vraiment supprimer la valise '+$('#cats').data('scase')+' ?',
159) function(data) {
160) scases.removeSCase(scase.name);
161) scases.save();
162) show_scases();
163) });
164) }
165) }
166)
167) /***********************
168) * Add cat
169) **********************/
170) on_add_cat_btn_click=function(event) {
171) navbar_collapse_hide();
172) $('#add_cat_modal').modal('show');
173) }
174)
175) on_valid_add_cat_modal=function (e) {
176) e.preventDefault();
177) var name=$('#add_cat_name')[0].value;
178) if (name=='') {
179) alert("Vous devez saisir le nom de la catégorie !");
180) return;
181) }
182) var scase=scases.byName($('#cats').data('scase'));
183) if (scase) {
184) if (scase.cats.byName(name)) {
185) alert("Cette catégorie existe déjà !");
186) return;
187) }
188) var cat=scase.cats.newCat(name);
189) if (cat) {
190) scases.save();
191) show_scase(scase,cat.name);
192) }
193) }
194) $('#add_cat_modal').modal('hide');
195) }
196)
197) on_show_add_cat_modal=function () {
198) $('#add_cat_name').focus();
199) }
200)
201) on_close_add_cat_modal=function () {
202) $('#add_cat_modal form')[0].reset();
203) }
204)
205) /***********************
206) * Rename cat
207) **********************/
208) on_rename_cat_btn_click=function(event) {
209) navbar_collapse_hide();
210) $('#rename_cat_modal').data('cat',event.data.cat.name);
211) $('#rename_cat_name')[0].value=event.data.cat.name;
212) $('#rename_cat_modal').modal('show');
213) }
214)
215) on_valid_rename_cat_modal=function (e) {
216) e.preventDefault();
217) var name=$('#rename_cat_name')[0].value;
218) if (name=='') {
219) alert("Vous devez saisir le nouveau nom de la catégorie !");
220) return;
221) }
222) var scase=scases.byName($('#cats').data('scase'));
223) if (scase) {
224) if (scase.cats.byName(name)) {
225) alert("Cette catégorie existe déjà !");
226) return;
227) }
228) var cat=scase.cats.renameCat($('#rename_cat_modal').data('cat'),name);
229) if (cat) {
230) scases.save();
231) show_scase(scase,cat.name);
232) }
233) }
234) $('#rename_cat_modal').modal('hide');
235) }
236)
237) on_show_rename_cat_modal=function () {
238) $('#rename_cat_name').focus();
239) }
240)
241) on_close_rename_cat_modal=function () {
242) $('#rename_cat_modal form')[0].reset();
243) }
244)
245) /***********************
246) * Delete cat
247) **********************/
248) on_delete_cat_btn_click=function(event) {
249) navbar_collapse_hide();
250) var scase=scases.byName($('#cats').data('scase'));
251) if (scase) {
252) var cat=event.data.cat.name;
253) myconfirm('Voulez-vous vraiment supprimer la catégorie '+cat+' ?',
254) function(data) {
255) scase.cats.removeCat(cat);
256) scases.save();
257) show_scase(scase);
258) });
259) }
260) }
261)
262) /************************
263) * Check/Uncheck thing
264) ***********************/
265) on_li_click=function(event) {
266) if (event.target.tagName!='LI') {
267) return;
268) }
269) var li=$(this);
270) if (li.hasClass('done')) {
271) li.removeClass('done');
272) }
273) else {
274) li.addClass('done');
275) }
276) var ul=li.parent();
277) var scase=scases.byName($('#cats').data('scase'));
278) if (scase) {
279) var cat=scase.cats.byName(ul.data('cat'));
280) if (cat) {
281) var thing=cat.byLabel(li.data('label'));
282) if (thing) {
|
Rework on data structure to...
Benjamin Renard authored 8 years ago
|
283) thing.setChecked(li.hasClass('done'));
|
Initial commit
Benjamin Renard authored 8 years ago
|
284) scases.save();
285) }
286) show_scase(scase,cat.name);
287) }
288) }
289) }
290)
291) /***********************
292) * Add thing
293) **********************/
294) on_li_add_click=function(event) {
295) var li=$(this);
296) var cat=li.parent().data('cat');
297) var modal=$('#add_thing_modal');
298) modal.data('cat',cat);
299) modal.modal('show');
300) }
301)
302) on_valid_add_thing_modal=function (e) {
303) e.preventDefault();
304) var label=$('#add_thing_label')[0].value;
305) if (label=='') {
306) alert("Vous devez saisir le nom de l'élément !");
307) return;
308) }
309) var modal=$('#add_thing_modal');
310) var scase=scases.byName($('#cats').data('scase'));
311) if (scase) {
312) var cat=scase.cats.byName(modal.data('cat'));
313) if (cat) {
314) if (cat.byLabel(label)) {
315) alert("Cet élément existe déjà !");
316) return;
317) }
|
Rework on data structure to...
Benjamin Renard authored 8 years ago
|
318) cat.newThing(label);
|
Initial commit
Benjamin Renard authored 8 years ago
|
319) scases.save();
320) show_scase(scase,cat.name);
321) }
322) }
323) modal.modal('hide');
324) }
325)
326) on_show_add_thing_modal=function () {
327) $('#add_thing_label').focus();
328) }
329)
330) on_close_add_thing_modal=function () {
331) $('#add_thing_modal form')[0].reset();
332) }
333)
334)
335) /***********************
336) * Rename thing
337) **********************/
338) on_rename_thing_btn_click=function(event) {
339) navbar_collapse_hide();
340) $('#rename_thing_modal').data('cat',event.data.cat.name);
341) $('#rename_thing_modal').data('thing',event.data.thing.label);
342) $('#rename_thing_label')[0].value=event.data.thing.label;
343) $('#rename_thing_modal').modal('show');
344) }
345)
346) on_valid_rename_thing_modal=function (e) {
347) e.preventDefault();
348) var label=$('#rename_thing_label')[0].value;
349) if (label=='') {
350) alert("Vous devez saisir le nouveau nom de l'élément !");
351) return;
352) }
353) var scase=scases.byName($('#cats').data('scase'));
354) if (scase) {
355) var cat=scase.cats.byName($('#rename_thing_modal').data('cat'));
356) if (cat) {
357) if (cat.byLabel(label)) {
358) alert("Un élément de ce nom existe déjà !");
359) return;
360) }
361) var thing=cat.renameThing($('#rename_thing_modal').data('thing'),label);
362) if (thing) {
363) scases.save();
364) show_scase(scase,cat.name);
365) }
366) }
367) }
368) $('#rename_thing_modal').modal('hide');
369) }
370)
371) on_show_rename_thing_modal=function () {
|
Fix input focus on rename t...
Benjamin Renard authored 8 years ago
|
372) $('#rename_thing_label').focus();
|
Initial commit
Benjamin Renard authored 8 years ago
|
373) }
374)
375) on_close_rename_thing_modal=function () {
376) $('#rename_thing_modal form')[0].reset();
377) }
378)
379) /***********************
380) * Delete thing
381) **********************/
382) on_delete_thing_btn_click=function(event) {
383) navbar_collapse_hide();
384) var scase=scases.byName($('#cats').data('scase'));
385) if (scase) {
386) var cat=scase.cats.byName(event.data.cat.name);
387) if (cat) {
388) var thing=event.data.thing.label;
389) myconfirm("Voulez-vous vraiment supprimer l'élément "+thing+" ?",
390) function(data) {
391) cat.removeThing(thing);
392) scases.save();
393) show_scase(scase,cat.name);
394) });
395) }
396) }
397) }
398)
399) /********************
400) * Show one scase
401) *******************/
402) show_cat=function(cat,displayed) {
403) var panel=$('<div class="panel panel-default"></div>');
404) var panel_heading=$('<div class="panel-heading" role="tab"></div>');
405) var panel_title=$('<h4 class="panel-title">'+cat.name+' </h4>');
406) panel_title.bind('click',on_title_click);
407)
|
Rework on data structure to...
Benjamin Renard authored 8 years ago
|
408) var stats=cat.stats();
|
Initial commit
Benjamin Renard authored 8 years ago
|
409) var tag=$('<span class="count-tag pull-right"></span>');
|
Rework on data structure to...
Benjamin Renard authored 8 years ago
|
410) if (stats.things==stats.done) {
|
Initial commit
Benjamin Renard authored 8 years ago
|
411) tag.append($('<span class="label label-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></span>'));
412) }
413) else {
|
Rework on data structure to...
Benjamin Renard authored 8 years ago
|
414) tag.append($('<span class="badge">'+stats.done+' / '+stats.things+'</span>'));
|
Initial commit
Benjamin Renard authored 8 years ago
|
415) }
416)
417) var delete_btn=$('<button class="btn btn-default btn-xs pull-right"><span class="glyphicon glyphicon-trash"></button>');
418) delete_btn.bind('click',{'cat': cat},on_delete_cat_btn_click);
419) tag.append(delete_btn);
420)
421) var rename_btn=$('<button class="btn btn-default btn-xs pull-right"><span class="glyphicon glyphicon-edit"></button>');
422) rename_btn.bind('click',{'cat': cat},on_rename_cat_btn_click);
423) tag.append(rename_btn);
424)
425) panel_title.append(tag);
426)
427)
428) panel_heading.append(panel_title);
429) panel.append(panel_heading);
430) var panel_collapse=$('<div class="panel-collapse collapse" role="tabpanel"></div>');
431) if (displayed) {
432) panel_collapse.addClass('in');
433) }
434) var ul=$('<ul class="list-group" data-cat="'+cat.name+'"></ul>');
435) for (idx in cat.things) {
436) var li=$('<li class="list-group-item" data-label="'+cat.things[idx].label+'">'+cat.things[idx].label+'</li>');
437) if (cat.things[idx].checked) {
438) li.addClass('done');
439) }
440) li.bind('click',on_li_click);
441)
442) var li_actions=$('<span class="actions pull-right"></span>');
443)
444) var delete_el_btn=$('<button class="btn btn-default btn-xs pull-right"><span class="glyphicon glyphicon-trash"></button>');
445) delete_el_btn.bind('click',{'cat': cat,'thing': cat.things[idx]},on_delete_thing_btn_click);
446) li_actions.append(delete_el_btn);
447)
448) var rename_el_btn=$('<button class="btn btn-default btn-xs pull-right"><span class="glyphicon glyphicon-edit"></button>');
449) rename_el_btn.bind('click',{'cat': cat,'thing': cat.things[idx]},on_rename_thing_btn_click);
450) li_actions.append(rename_el_btn);
451)
452) li.append(li_actions);
453)
454) ul.append(li);
455) }
456) var li=$('<li class="list-group-item"><span class="glyphicon glyphicon-plus-sign"></span> Ajouter un élément</li>');
457) li.bind('click',on_li_add_click);
458) ul.append(li);
459) panel_collapse.append(ul);
460) panel.append(panel_collapse);
461) $('#cats').append(panel);
462) }
463)
464) show_scase=function(scase,display_cat) {
|
Rework on scase page title
Benjamin Renard authored 8 years ago
|
465) clear_page('<h3><span class="glyphicon glyphicon-briefcase" aria-hidden="true"></span> '+scase.name+'</h3><div class="panel-group" id="cats" role="tablist" aria-multiselectable="true" data-scase="'+scase.name+'"></div>');
|
Initial commit
Benjamin Renard authored 8 years ago
|
466) scase.cats.each(function(idx,cat) {
467) show_cat(cat,(cat.name==display_cat));
468) });
469) show_menu('scase');
470) }
471)
472) on_back_to_scases_btn_click=function(e) {
473) e.preventDefault();
474) navbar_collapse_hide();
475) show_scases();
476) }
477)
478) /********************
479) * Show scases
480) *******************/
481) show_scases=function() {
|
Rework on home page
Benjamin Renard authored 8 years ago
|
482) clear_page('<h3>Vos valises</h3><ul class="list-group" id="scases"></ul>');
|
Initial commit
Benjamin Renard authored 8 years ago
|
483) scases.each(function(idx,scase) {
|
Rework on home page
Benjamin Renard authored 8 years ago
|
484) var stats=scase.stats();
485) var tag='<span class="count-tag pull-right">';
486) if (stats.things==stats.done) {
487) tag+='<span class="label label-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></span>';
488) }
489) else {
490) tag+='<span class="badge">'+stats.done+' / '+stats.things+'</span>';
491) }
492) tag+='</span>';
493)
494) var li=$('<li class="list-group-item" data-name="'+scase.name+'"><span class="scase-name"><span class="glyphicon glyphicon-briefcase" aria-hidden="true"></span> '+scase.name+'</span>'+tag+'</li>');
|
Initial commit
Benjamin Renard authored 8 years ago
|
495) li.bind('click',on_scase_click);
496) $('#scases').append(li);
497) });
498) show_menu('scases');
499) }
500)
501) on_scase_click=function(event) {
502) var li=$(this);
503) var scase=scases.byName(li.data('name'));
504) show_scase(scase);
505) }
506)
507) clear_page=function(new_content) {
508) if (new_content) {
509) $('#content').html(new_content);
510) }
511) else {
512) $('#content').html('');
513) }
514) }
515)
516) /************************
517) * Show menu
518) ***********************/
519) show_menu=function(menu) {
520) $('.menu').css('display','none');
521) $('.menu-'+menu).css('display','block');
522) }
523)
524) /*******************
525) * pleaseWaitDialog
526) *******************/
527)
528) pleaseWaitShow=function() {
529) $('#please_wait_modal').modal('show');
530) }
531)
532) pleaseWaitHide=function() {
533) $('#please_wait_modal').modal('hide');
534) }
535)
536) /****************
537) * Nav bars
538) ****************/
539) navbar_collapse_hide=function() {
540) if ($('#navbar-top-collapse').hasClass('in')) {
541) $('#navbar-top-collapse').collapse('hide');
542) }
543) }
544)
545) /**************************
546) * Cache / Update
547) *************************/
548)
549) _checkForUpgrade=false;
550) onUpdateReady=function() {
551) if (_checkForUpgrade) {
552) pleaseWaitHide();
553) }
554) myconfirm(
555) "Une nouvelle version de l'application est disponible. Voulez-vous lancer la mise à jour ?",
556) onConfirmUpdate,null,{}
557) );
558) }
559)
560) onConfirmUpdate=function() {
561) window.applicationCache.swapCache();
562) location.reload();
563) }
564)
565) updateApp = function() {
566) navbar_collapse_hide();
567) pleaseWaitShow();
568) _checkForUpgrade=true;
569) window.applicationCache.update();
570) }
571)
572) onNoUpdate = function() {
573) if (_checkForUpgrade) {
574) pleaseWaitHide();
575) _checkForUpgrade=false;
576) alert('Aucune mise à jour disponible');
577) }
578) }
579)
580) /********************
581) * Clear local data
582) ********************/
583) clear_local_data=function() {
584) navbar_collapse_hide();
585) myconfirm('Etes-vous sûre de vouloir supprimer les données locales ?',on_confirm_clear_local_data);
586) }
587)
588) on_confirm_clear_local_data=function(data) {
589) delete localStorage.scases;
590) location.reload();
591) }
592)
593) /*********************
594) * Activate
595) *********************/
596) $( document ).ready( function() {
597) pleaseWaitShow();
598) if(typeof(localStorage)!=="undefined"){
599) scases=new SCaseList();
600) scases.loadFromLocalStorage();
601) show_scases();
602) }
603) else {
604) alert('Local storage not supported !');
605) pleaseWaitHide();
606) return;
607) }
608)
609) $('#clear_local_data').bind('click',clear_local_data);
610)
611) $('#add_scase_btn').bind('click',on_add_scase_btn_click);
612) $('#add_scase_submit').bind('click',on_valid_add_scase_modal);
613) $("#add_scase_modal").on('shown.bs.modal',on_show_add_scase_modal);
614) $("#add_scase_modal").on('hidden.bs.modal',on_close_add_scase_modal);
615) $("#add_scase_modal form").bind('submit',on_valid_add_scase_modal);
616)
617) $('#rename_scase_btn').bind('click',on_rename_scase_btn_click);
618) $('#rename_scase_submit').bind('click',on_valid_rename_scase_modal);
619) $("#rename_scase_modal").on('shown.bs.modal',on_show_rename_scase_modal);
620) $("#rename_scase_modal").on('hidden.bs.modal',on_close_rename_scase_modal);
621) $("#rename_scase_modal form").bind('submit',on_valid_rename_scase_modal);
622)
623) $('#copy_scase_btn').bind('click',on_copy_scase_btn_click);
624) $('#copy_scase_submit').bind('click',on_valid_copy_scase_modal);
625) $("#copy_scase_modal").on('shown.bs.modal',on_show_copy_scase_modal);
626) $("#copy_scase_modal").on('hidden.bs.modal',on_close_copy_scase_modal);
627) $("#copy_scase_modal form").bind('submit',on_valid_copy_scase_modal);
628)
|
Add reset scase feature
Benjamin Renard authored 8 years ago
|
629) $('#reset_scase_btn').bind('click',on_reset_scase_btn_click);
|
Initial commit
Benjamin Renard authored 8 years ago
|
630) $('#delete_scase_btn').bind('click',on_delete_scase_btn_click);
631)
632) $('#add_cat_btn').bind('click',on_add_cat_btn_click);
633) $('#add_cat_submit').bind('click',on_valid_add_cat_modal);
634) $("#add_cat_modal").on('shown.bs.modal',on_show_add_cat_modal);
635) $("#add_cat_modal").on('hidden.bs.modal',on_close_add_cat_modal);
636) $("#add_cat_modal form").bind('submit',on_valid_add_cat_modal);
637)
638) $('#rename_cat_submit').bind('click',on_valid_rename_cat_modal);
639) $("#rename_cat_modal").on('shown.bs.modal',on_show_rename_cat_modal);
640) $("#rename_cat_modal").on('hidden.bs.modal',on_close_rename_cat_modal);
641) $("#rename_cat_modal form").bind('submit',on_valid_rename_cat_modal);
642)
643) $('#back_to_scases').bind('click',on_back_to_scases_btn_click);
644)
645) $('#add_thing_submit').bind('click',on_valid_add_thing_modal);
646) $("#add_thing_modal").on('shown.bs.modal',on_show_add_thing_modal);
647) $("#add_thing_modal").on('hidden.bs.modal',on_close_add_thing_modal);
648) $("#add_thing_modal form").bind('submit',on_valid_add_thing_modal);
649)
650) $('#rename_thing_submit').bind('click',on_valid_rename_thing_modal);
651) $("#rename_thing_modal").on('shown.bs.modal',on_show_rename_thing_modal);
652) $("#rename_thing_modal").on('hidden.bs.modal',on_close_rename_thing_modal);
653) $("#rename_thing_modal form").bind('submit',on_valid_rename_thing_modal);
654)
|
Bind on App Name click to s...
Benjamin Renard authored 8 years ago
|
655) $('#app-name').bind('click', show_scases);
|