$('#cats').collapse({ toggle: false }); on_title_click=function(event) { if (event.target.tagName=='BUTTON') { return; } var title=$(this); var panel=title.parent().parent(); var panel_collapse=panel.find('.panel-collapse'); var show=!panel_collapse.hasClass('in'); $('.panel-collapse').each(function(idx,div) { $(div).collapse('hide'); }); if (show) { panel_collapse.collapse('show'); } } /*********************** * Add scase **********************/ on_add_scase_btn_click=function(event) { navbar_collapse_hide(); $('#add_scase_modal').modal('show'); } on_valid_add_scase_modal=function (e) { e.preventDefault(); var name=$('#add_scase_name')[0].value; if (name=='') { alert("Vous devez saisir le nom de la valise !"); return; } var nameshake=scases.byName(name); if (nameshake) { if (nameshake.removed) { alert("Une valise de ce nom existe dans la corbeille !"); } else { alert("Cette valise existe déjà !"); } return; } var scase=scases.newSCase(name); if (scase) { scases.save(); show_scase(scase); } $('#add_scase_modal').modal('hide'); } on_show_add_scase_modal=function () { $('#add_scase_name').focus(); } on_close_add_scase_modal=function () { $('#add_scase_modal form')[0].reset(); } /*********************** * Rename scase **********************/ on_rename_scase_btn_click=function(event) { navbar_collapse_hide(); $('#rename_scase_name')[0].value=$('#cats').data('scase'); $('#rename_scase_modal').modal('show'); } on_valid_rename_scase_modal=function (e) { e.preventDefault(); var name=$('#rename_scase_name')[0].value; if (name=='') { alert("Vous devez saisir le nouveau nom de la valise !"); return; } if ($('#cats').data('scase')!=name) { var nameshake=scases.byName(name); if (nameshake) { if (nameshake.removed) { alert("Une valise portant ce nom existe dans la corbeille !"); } else { alert("Une valise portant ce nom existe déjà !"); } return; } var scase=scases.renameSCase($('#cats').data('scase'),name); if (scase) { scases.save(); show_scase(scase); } else { alert('Une erreur est survenue en renomant la valise...'); } } $('#rename_scase_modal').modal('hide'); } on_show_rename_scase_modal=function () { $('#rename_scase_name').focus(); } on_close_rename_scase_modal=function () { $('#rename_scase_modal form')[0].reset(); } /*********************** * Copy scase **********************/ on_copy_scase_btn_click=function(event) { navbar_collapse_hide(); $('#copy_scase_modal').modal('show'); } on_valid_copy_scase_modal=function (e) { e.preventDefault(); var name=$('#copy_scase_name')[0].value; if (name=='') { alert("Vous devez saisir le nom de la nouvelle valise !"); return; } var nameshake=scases.byName(name); if (nameshake) { if (nameshake.removed) { alert("Une valise portant ce nom existe dans la corbeille !"); } else { alert("Une valise portant ce nom existe déjà !"); } return; } var scase=scases.copySCase($('#cats').data('scase'),name); if (scase) { scases.save(); show_scase(scase); } else { alert('Une erreur est survenue en copiant la valise...'); } $('#copy_scase_modal').modal('hide'); } on_show_copy_scase_modal=function () { $('#copy_scase_name').focus(); } on_close_copy_scase_modal=function () { $('#copy_scase_modal form')[0].reset(); } /*********************** * Reset scase **********************/ on_reset_scase_btn_click=function(event) { navbar_collapse_hide(); var scase=scases.byName($('#cats').data('scase')); if (scase) { myconfirm('Voulez-vous vraiment réinitialiser la valise '+$('#cats').data('scase')+' ?', function(data) { scases.resetSCase(scase.name); scases.save(); show_scase(scase); }); } } /*********************** * Delete scase **********************/ on_delete_scase_btn_click=function(event) { navbar_collapse_hide(); var scase=scases.byName($('#cats').data('scase')); if (scase) { myconfirm('Voulez-vous vraiment supprimer la valise '+$('#cats').data('scase')+' ?', function(data) { scases.removeSCase(scase.name); scases.save(); show_scases(); }); } } on_restore_scase_btn_click=function(event) { navbar_collapse_hide(); var scase=event.data.scase; if (scase) { myconfirm('Voulez-vous vraiment restaurer la valise '+scase.name+' ?', function(data) { scase.restore(); scases.save(); show_scases(); }); } } on_scase_trash_btn_click=function(event) { event.preventDefault(); navbar_collapse_hide(); var scase=scases.byName($('#cats').data('scase')); if (scase) { show_scase_trash(scase); } } /*********************** * Add cat **********************/ on_add_cat_btn_click=function(event) { navbar_collapse_hide(); $('#add_cat_modal').modal('show'); } on_valid_add_cat_modal=function (e) { e.preventDefault(); var name=$('#add_cat_name')[0].value; if (name=='') { alert("Vous devez saisir le nom de la catégorie !"); return; } var scase=scases.byName($('#cats').data('scase')); if (scase) { var nameshake=scase.cats.byName(name); if (nameshake) { if (nameshake.removed) { alert("Une catégorie portant ce nom existe dans la corbeille !"); } else { alert("Une catégorie portant ce nom existe déjà !"); } return; } var cat=scase.cats.newCat(name); if (cat) { scases.save(); show_scase(scase,cat.name); } } $('#add_cat_modal').modal('hide'); } on_show_add_cat_modal=function () { $('#add_cat_name').focus(); } on_close_add_cat_modal=function () { $('#add_cat_modal form')[0].reset(); } /*********************** * Rename cat **********************/ on_rename_cat_btn_click=function(event) { navbar_collapse_hide(); $('#rename_cat_modal').data('cat',event.data.cat.name); $('#rename_cat_name')[0].value=event.data.cat.name; $('#rename_cat_modal').modal('show'); } on_valid_rename_cat_modal=function (e) { e.preventDefault(); var name=$('#rename_cat_name')[0].value; if (name=='') { alert("Vous devez saisir le nouveau nom de la catégorie !"); return; } var scase=scases.byName($('#cats').data('scase')); if (scase) { if (scase.cats.byName(name)) { var namesake=scase.cats.byName(name); if (namesake.removed) { alert("Une catégorie de se nom existe dans la corbeille !"); } else { alert("Cette catégorie existe déjà !"); } return; } var cat=scase.cats.renameCat($('#rename_cat_modal').data('cat'),name); if (cat) { scases.save(); show_scase(scase,cat.name); } } $('#rename_cat_modal').modal('hide'); } on_show_rename_cat_modal=function () { $('#rename_cat_name').focus(); } on_close_rename_cat_modal=function () { $('#rename_cat_modal form')[0].reset(); } /*********************** * Delete cat **********************/ on_delete_cat_btn_click=function(event) { navbar_collapse_hide(); var scase=scases.byName($('#cats').data('scase')); if (scase) { var cat=event.data.cat.name; myconfirm('Voulez-vous vraiment supprimer la catégorie '+cat+' ?', function(data) { scase.cats.removeCat(cat); scases.save(); show_scase(scase); }); } } on_restore_cat_btn_click=function(event) { navbar_collapse_hide(); var scase=scases.byName($('#cats').data('scase')); if (scase) { var cat=event.data.cat.name; myconfirm('Voulez-vous vraiment restaure la catégorie '+cat+' ?', function(data) { scase.cats.restoreCat(cat); scases.save(); show_scase(scase); }); } } /************************ * Check/Uncheck thing ***********************/ on_li_click=function(event) { if (event.target.tagName!='LI') { return; } var li=$(this); if (li.hasClass('checked')) { li.removeClass('checked'); } else { li.addClass('checked'); } var ul=li.parent(); var scase=scases.byName($('#cats').data('scase')); if (scase) { var cat=scase.cats.byName(ul.data('cat')); if (cat) { var thing=cat.byLabel(li.data('label')); if (thing) { thing.setChecked(li.hasClass('checked')); scases.save(); } show_scase(scase,cat.name); } } } /*********************** * Add thing **********************/ on_li_add_click=function(event) { var li=$(this); var cat=li.parent().data('cat'); var modal=$('#add_thing_modal'); modal.data('cat',cat); modal.modal('show'); } on_valid_add_thing_modal=function (e) { e.preventDefault(); var modal=$('#add_thing_modal'); var scase=scases.byName($('#cats').data('scase')); if (scase) { var cat=scase.cats.byName(modal.data('cat')); if (cat) { var things=[]; var labels=[]; var error=false; var add_thing_nbs=$('input.add_thing_nb'); $('input.add_thing_label').each(function(idx,input) { var label=$(input).val(); if (label && label!='') { if (labels.indexOf(label)>-1) { alert("Deux élements ne peuvent porter le même nom !"); error=true; return; } if (cat.byLabel(label)) { alert("L'élément '"+label+"' existe déjà !"); error=true; return; } var nb=1; if (add_thing_nbs[idx]) { nb=parseInt($(add_thing_nbs[idx]).val()); if (!nb || nb==0) { nb=1; } } things.push({ 'label': label, 'nb': nb }); labels.push(label); } }); if (error) { return; } if (things.length==0) { alert("Vous devez saisir au moins un nom d'élément !"); return; } for (idx in things) { cat.newThing(things[idx]['label'], things[idx]['nb']); } scases.save(); show_scase(scase,cat.name); } } modal.modal('hide'); } on_show_add_thing_modal=function () { $('.add_thing_other').remove(); $('input.add_thing_label').val(''); $('input.add_thing_nb').val(''); $('input.add_thing_label').first().focus(); } on_close_add_thing_modal=function () { $('#add_thing_modal form')[0].reset(); } on_add_thing_label_focus=function(event) { if ($('input.add_thing_label').last()[0] == event.target) { var new_input_group=$('
'); var new_input_label=$(''); var new_input_nb=$(''); new_input_group.append(new_input_label); new_input_group.append(' '); new_input_group.append(new_input_nb); new_input_label.bind('focus', on_add_thing_label_focus); $(event.target).parent().after(new_input_group); } } /*********************** * Edit thing **********************/ on_edit_thing_btn_click=function(event) { navbar_collapse_hide(); $('#edit_thing_modal').data('cat',event.data.cat.name); $('#edit_thing_modal').data('thing',event.data.thing.label); $('#edit_thing_label').val(event.data.thing.label); $('#edit_thing_nb').val(event.data.thing.nb); $('#edit_thing_modal').modal('show'); } on_valid_edit_thing_modal=function (e) { e.preventDefault(); var label=$('#edit_thing_label').val(); if (label=='') { alert("Vous devez saisir le nouveau nom de l'élément !"); return; } var nb=parseInt($('#edit_thing_nb').val()); if (!nb || nb==0) { nb=1; } var scase=scases.byName($('#cats').data('scase')); if (scase) { var cat=scase.cats.byName($('#edit_thing_modal').data('cat')); if (cat) { if (label!=$('#edit_thing_modal').data('thing')) { var namesake=cat.byLabel(label); if (namesake) { if (namesake.removed) { alert("Un élément de ce nom existe dans la corbeille !"); } else { alert("Un élément de ce nom existe déjà !"); } return; } var thing=cat.renameThing($('#edit_thing_modal').data('thing'),label); } else { var thing=cat.byLabel(label); } if (thing) { thing.setNb(nb); scases.save(); show_scase(scase,cat.name); } } } $('#edit_thing_modal').modal('hide'); } on_show_edit_thing_modal=function () { $('#edit_thing_label').focus(); } on_close_edit_thing_modal=function () { $('#edit_thing_modal form')[0].reset(); } /*********************** * Delete thing **********************/ on_delete_thing_btn_click=function(event) { navbar_collapse_hide(); var scase=scases.byName($('#cats').data('scase')); if (scase) { var cat=scase.cats.byName(event.data.cat.name); if (cat) { var thing=event.data.thing.label; myconfirm("Voulez-vous vraiment supprimer l'élément "+thing+" ?", function(data) { cat.removeThing(thing); scases.save(); show_scase(scase,cat.name); }); } } } on_restore_thing_btn_click=function(event) { navbar_collapse_hide(); var scase=scases.byName($('#cats').data('scase')); if (scase) { var cat=scase.cats.byName(event.data.cat.name); if (cat) { var thing=event.data.thing.label; myconfirm("Voulez-vous vraiment restaurer l'élément "+thing+" ?", function(data) { cat.restoreThing(thing); scases.save(); show_scase(scase,cat.name); }); } } } /******************** * Show one scase *******************/ show_cat=function(cat,displayed) { var panel=$(''); var panel_heading=$(''); var panel_title=$('La corbeille est vide.
'); } show_menu('scase'); } show_cat_trash=function(cat,displayed) { var panel=$(''); var panel_heading=$(''); var panel_title=$('Aucune valise dans la corbeille.
'); } show_menu('scases'); } on_scases_trash_btn=function(e) { e.preventDefault(); navbar_collapse_hide(); show_scases_trash(); } clear_page=function(new_content) { if (new_content) { $('#content').html(new_content); } else { $('#content').html(''); } } /************************ * Show menu ***********************/ show_menu=function(menu) { $('.menu').css('display','none'); $('.menu-'+menu).css('display','block'); } /******************* * pleaseWaitDialog *******************/ pleaseWaitShow=function() { $('#please_wait_modal').modal('show'); } pleaseWaitHide=function() { $('#please_wait_modal').modal('hide'); } /**************** * Nav bars ****************/ navbar_collapse_hide=function() { if ($('#navbar-top-collapse').hasClass('in')) { $('#navbar-top-collapse').collapse('hide'); } } /************************** * Cache / Update *************************/ _checkForUpgrade=false; onUpdateReady=function() { if (_checkForUpgrade) { pleaseWaitHide(); } myconfirm( "Une nouvelle version de l'application est disponible. Voulez-vous lancer la mise à jour ?", onConfirmUpdate,null,{} ); } onConfirmUpdate=function() { window.applicationCache.swapCache(); location.reload(); } updateApp = function() { navbar_collapse_hide(); pleaseWaitShow(); _checkForUpgrade=true; window.applicationCache.update(); } onNoUpdate = function() { if (_checkForUpgrade) { pleaseWaitHide(); _checkForUpgrade=false; alert('Aucune mise à jour disponible'); } } /******************** * Clear local data ********************/ clear_local_data=function() { navbar_collapse_hide(); myconfirm('Etes-vous sûre de vouloir supprimer les données locales ?',on_confirm_clear_local_data); } on_confirm_clear_local_data=function(data) { delete localStorage.scases; location.reload(); } /********************* * Activate *********************/ $( document ).ready( function() { pleaseWaitShow(); if(typeof(localStorage)!=="undefined"){ scases=new SCaseList(); scases.loadFromLocalStorage(); show_scases(); } else { alert('Local storage not supported !'); pleaseWaitHide(); return; } $('#clear_local_data').bind('click',clear_local_data); $('#add_scase_btn').bind('click',on_add_scase_btn_click); $('#add_scase_submit').bind('click',on_valid_add_scase_modal); $("#add_scase_modal").on('shown.bs.modal',on_show_add_scase_modal); $("#add_scase_modal").on('hidden.bs.modal',on_close_add_scase_modal); $("#add_scase_modal form").bind('submit',on_valid_add_scase_modal); $('#scases_trash_btn').bind('click',on_scases_trash_btn); $('#rename_scase_btn').bind('click',on_rename_scase_btn_click); $('#rename_scase_submit').bind('click',on_valid_rename_scase_modal); $("#rename_scase_modal").on('shown.bs.modal',on_show_rename_scase_modal); $("#rename_scase_modal").on('hidden.bs.modal',on_close_rename_scase_modal); $("#rename_scase_modal form").bind('submit',on_valid_rename_scase_modal); $('#copy_scase_btn').bind('click',on_copy_scase_btn_click); $('#copy_scase_submit').bind('click',on_valid_copy_scase_modal); $("#copy_scase_modal").on('shown.bs.modal',on_show_copy_scase_modal); $("#copy_scase_modal").on('hidden.bs.modal',on_close_copy_scase_modal); $("#copy_scase_modal form").bind('submit',on_valid_copy_scase_modal); $('#reset_scase_btn').bind('click',on_reset_scase_btn_click); $('#delete_scase_btn').bind('click',on_delete_scase_btn_click); $('#scase_trash_btn').bind('click',on_scase_trash_btn_click); $('#add_cat_btn').bind('click',on_add_cat_btn_click); $('#add_cat_submit').bind('click',on_valid_add_cat_modal); $("#add_cat_modal").on('shown.bs.modal',on_show_add_cat_modal); $("#add_cat_modal").on('hidden.bs.modal',on_close_add_cat_modal); $("#add_cat_modal form").bind('submit',on_valid_add_cat_modal); $('#rename_cat_submit').bind('click',on_valid_rename_cat_modal); $("#rename_cat_modal").on('shown.bs.modal',on_show_rename_cat_modal); $("#rename_cat_modal").on('hidden.bs.modal',on_close_rename_cat_modal); $("#rename_cat_modal form").bind('submit',on_valid_rename_cat_modal); $('#back_to_scases').bind('click',on_back_to_scases_btn_click); $('input.add_thing_label').bind('focus',on_add_thing_label_focus); $('#add_thing_submit').bind('click',on_valid_add_thing_modal); $("#add_thing_modal").on('shown.bs.modal',on_show_add_thing_modal); $("#add_thing_modal").on('hidden.bs.modal',on_close_add_thing_modal); $("#add_thing_modal form").bind('submit',on_valid_add_thing_modal); $('#edit_thing_submit').bind('click',on_valid_edit_thing_modal); $("#edit_thing_modal").on('shown.bs.modal',on_show_edit_thing_modal); $("#edit_thing_modal").on('hidden.bs.modal',on_close_edit_thing_modal); $("#edit_thing_modal form").bind('submit',on_valid_edit_thing_modal); $('#app-name').bind('click', show_scases); if (window.applicationCache.status==window.applicationCache.UNCACHED) { $('#update_app').parent().remove(); } else { $('#update_app').bind('click',updateApp); window.applicationCache.addEventListener('updateready', onUpdateReady); window.applicationCache.addEventListener('noupdate', onNoUpdate); if(window.applicationCache.status === window.applicationCache.UPDATEREADY) { onUpdateReady(); } } pleaseWaitHide(); });