diff --git a/public_html/inc/main.js b/public_html/inc/main.js index 26b3441..bea4b5c 100644 --- a/public_html/inc/main.js +++ b/public_html/inc/main.js @@ -373,33 +373,46 @@ on_valid_add_thing_modal=function (e) { 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 val=$(input).val(); - if (val && val!='') { - if (labels.indexOf(val)>-1) { + 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(val)) { - alert("L'élément '"+val+"' existe déjà !"); + if (cat.byLabel(label)) { + alert("L'élément '"+label+"' existe déjà !"); error=true; return; } - labels.push(val); + 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 (labels.length==0) { + if (things.length==0) { alert("Vous devez saisir au moins un nom d'élément !"); return; } - for (idx in labels) { - cat.newThing(labels[idx]); + for (idx in things) { + cat.newThing(things[idx]['label'], things[idx]['nb']); } scases.save(); show_scase(scase,cat.name); @@ -409,8 +422,9 @@ on_valid_add_thing_modal=function (e) { } on_show_add_thing_modal=function () { - $('input.add_thing_label_other').parent().remove(); + $('.add_thing_other').remove(); $('input.add_thing_label').val(''); + $('input.add_thing_nb').val(''); $('input.add_thing_label').first().focus(); } @@ -420,63 +434,77 @@ on_close_add_thing_modal=function () { on_add_thing_label_focus=function(event) { if ($('input.add_thing_label').last()[0] == event.target) { - var new_input_group=$('
'); - var new_input=$(''); - new_input_group.append(new_input); - new_input.bind('focus', on_add_thing_label_focus); + 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); } } /*********************** - * Rename thing + * Edit thing **********************/ -on_rename_thing_btn_click=function(event) { +on_edit_thing_btn_click=function(event) { navbar_collapse_hide(); - $('#rename_thing_modal').data('cat',event.data.cat.name); - $('#rename_thing_modal').data('thing',event.data.thing.label); - $('#rename_thing_label')[0].value=event.data.thing.label; - $('#rename_thing_modal').modal('show'); + $('#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_rename_thing_modal=function (e) { +on_valid_edit_thing_modal=function (e) { e.preventDefault(); - var label=$('#rename_thing_label')[0].value; + 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($('#rename_thing_modal').data('cat')); + var cat=scase.cats.byName($('#edit_thing_modal').data('cat')); if (cat) { - var namesake=cat.byLabel(label); - if (namesake) { - if (namesake.removed) { - alert("Un élément de ce nom existe dans la corbeille !"); + 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; } - 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); } - var thing=cat.renameThing($('#rename_thing_modal').data('thing'),label); if (thing) { + thing.setNb(nb); scases.save(); show_scase(scase,cat.name); } } } - $('#rename_thing_modal').modal('hide'); + $('#edit_thing_modal').modal('hide'); } -on_show_rename_thing_modal=function () { - $('#rename_thing_label').focus(); +on_show_edit_thing_modal=function () { + $('#edit_thing_label').focus(); } -on_close_rename_thing_modal=function () { - $('#rename_thing_modal form')[0].reset(); +on_close_edit_thing_modal=function () { + $('#edit_thing_modal form')[0].reset(); } /*********************** @@ -557,6 +585,9 @@ show_cat=function(cat,displayed) { continue; } var li=$('