diff --git a/js/includes/input-phone-contact-min.js b/js/includes/input-phone-contact-min.js index c074ffa..aee16db 100644 --- a/js/includes/input-phone-contact-min.js +++ b/js/includes/input-phone-contact-min.js @@ -2,4 +2,4 @@ function inputPhoneContact(a){this.container=a}inputPhoneContact.prototype={cont inputPhoneContact.prototype.fieldsToStorage=function(){console.log("CONTACTS: FIELDS TO STORAGE");for(var a=$$("article.contact-panel .new-contact"),c=0;cb;b++){var c=lsi.get("contacts",a[b]),d=lsi.get("fiches",a[b]);null==d&&(d=this.defaultData);d.uid=c.uid;d.firstname=c.firstname;d.lastname=c.lastname;d.username=c.username;lsi.set("fiches",a[b],d)}}; inputPhoneFiche.prototype.nav=function(a){if("undefined"==typeof a||isNaN(a.innerHTML))return!1;for(var b=$$("#nav-fiche > span.active"),c=0;c"+c+""}a=lsi["export"]("fiches");for(var d in a)!0===a[d].valid?this.nav_container.children[a[d].uid].addClass("done"):this.nav_container.children[a[d].uid].remClass("done");this.nav(this.nav_container.children[this.selected])}; +inputPhoneFiche.prototype.updateNavBar=function(){var a=lsi["export"]("fiches"),b=Object.keys(a).length;if(this.nav_container.children.length!=b){this.nav_container.innerHTML="";for(var c=0;c"}for(var d in a)b=this.nav_container.children[a[d].uid],b.innerHTML=a[d].uid+1,!0===a[d].valid?b.addClass("done"):b.remClass("done");this.nav(this.nav_container.children[this.selected])}; inputPhoneFiche.prototype.check=function(a){if(isNaN(parseInt(a.age))||2>a.city.length||isNaN(parseInt(a.duration[0]))&&0a.reltypeSpecial.length||a.context[11].status&&2>a.contextSpecial[0].length||a.context[12].status&&2>a.contextSpecial[1].length||a.context[13].status&&2>a.contextSpecial[2].length?!1:!0}; -inputPhoneFiche.prototype.attach=function(a){console.log("FICHE: ATTACH");lsi.createDataset("fiches");this.storageToFields();this.handler=a;var b=this,b=this;this.nav_container.addEventListener("click",function(a){b.nav(a.target);b.handler()},!1)}; +inputPhoneFiche.prototype.attach=function(a){console.log("FICHE: ATTACH");lsi.createDataset("fiches");this.storageToFields();this.handler=a;var b=this,b=this;this.nav_container.addEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1)}; diff --git a/js/includes/input-phone-fiche.js b/js/includes/input-phone-fiche.js index 7a30704..22fbb65 100644 --- a/js/includes/input-phone-fiche.js +++ b/js/includes/input-phone-fiche.js @@ -391,27 +391,35 @@ inputPhoneFiche.prototype.nav = function(element){ /* [7] Mise à jour de la navigation =========================================================*/ -inputPhoneFiche.prototype.updateNavBar = function(uid_list){ - /* (1) On vide la nav bar */ - this.nav_container.innerHTML = ''; +inputPhoneFiche.prototype.updateNavBar = function(){ + var ficheData = lsi.export('fiches'); + var len = Object.keys(ficheData).length; - /* (2) On la re-remplit avec toutes les données */ - for( var i = 0 ; i < uid_list.length ; i++ ){ - // On rajoute 1 pour la lisibilité - var realIndex = parseInt(uid_list[i]) + 1; - this.nav_container.innerHTML += ''+realIndex+''; + /* (1) On vérifie si la barre de navigation est à jour */ + var navBarUpToDate = this.nav_container.children.length == len; + + /* (2) On vide et remplit la barre de nav, si elle n'est pas à jour */ + if( !navBarUpToDate ){ + this.nav_container.innerHTML = ''; + + for( var i = 0 ; i < len ; i++ ) + this.nav_container.innerHTML += ''; } /* (3) On montre les FICHES qui sont correctes */ - var ficheData = lsi.export('fiches'); for( var key in ficheData ){ + var currentElement = this.nav_container.children[ ficheData[key].uid ]; + + // On remplit avec le numéro de la fiche + currentElement.innerHTML = ficheData[key].uid+1; + // Si la MINI fiche est valide - if( ficheData[key].valid === true ) this.nav_container.children[ficheData[key].uid].addClass('done'); + if( ficheData[key].valid === true ) currentElement.addClass('done'); // Si elle est invalide - else this.nav_container.children[ficheData[key].uid].remClass('done'); + else currentElement.remClass('done'); } @@ -525,7 +533,7 @@ inputPhoneFiche.prototype.attach = function(handler){ // 1. On gère la navigation ptr.nav(e.target); // 2. On gere le chargement dynamique - ptr.handler(); + ptr.handler(e.target); }, false); }; diff --git a/js/includes/input-phone-mini-min.js b/js/includes/input-phone-mini-min.js index 322bf4b..056ef4b 100644 --- a/js/includes/input-phone-mini-min.js +++ b/js/includes/input-phone-mini-min.js @@ -6,5 +6,5 @@ miniFicheBuilder.build({firstname:a.firstname,lastname:a.lastname,username:a.use "checked"):c[b].removeAttribute("checked");c=$$('article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="loc"]');for(b=0;b span.active"),c=0;c"}var a=lsi["export"]("mini-fiches"),c;for(c in a)b=this.nav_container.children[a[c].uid],b.innerHTML=a[c].uid+1,!0===a[c].valid?b.addClass("done"):b.remClass("done");this.nav(this.nav_container.children[this.selected])}; +inputPhoneMini.prototype.updateNavBar=function(){var a=lsi["export"]("mini-fiches"),b=Object.keys(a).length;if(this.nav_container.children.length!=b){this.nav_container.innerHTML="";for(var c=0;c"}for(var d in a)b=this.nav_container.children[a[d].uid],b.innerHTML=a[d].uid+1,!0===a[d].valid?b.addClass("done"):b.remClass("done");this.nav(this.nav_container.children[this.selected])}; inputPhoneMini.prototype.check=function(a){return!isNaN(parseInt(a.age))&&checkRadioValue(a.sexe)&&"."!=a.job&&checkRadioValue(a.loc)?!0:!1};inputPhoneMini.prototype.attach=function(a){console.log("MINI FICHE: ATTACH");lsi.createDataset("mini-fiches");this.storageToFields();this.handler=a;var b=this,b=this;this.nav_container.addEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1)}; diff --git a/js/includes/input-phone-mini.js b/js/includes/input-phone-mini.js index dc176b0..cf8cacb 100644 --- a/js/includes/input-phone-mini.js +++ b/js/includes/input-phone-mini.js @@ -248,10 +248,12 @@ inputPhoneMini.prototype.updateNavBar = function(){ var miniData = lsi.export('mini-fiches'); var len = Object.keys(miniData).length; + /* (1) On vérifie si la barre de navigation est à jour */ var navBarUpToDate = this.nav_container.children.length == len; - /* (1) On vide et remplit la barre de nav, si elle n'est pas à jour */ + + /* (2) On vide et remplit la barre de nav, si elle n'est pas à jour */ if( !navBarUpToDate ){ this.nav_container.innerHTML = ''; @@ -260,11 +262,11 @@ inputPhoneMini.prototype.updateNavBar = function(){ } /* (3) On montre les MINI fiches qui sont correctes dans la navbar */ - var miniData = lsi.export('mini-fiches'); for( var key in miniData ){ - var currentElement = this.nav_container.children[miniData[key].uid]; + var currentElement = this.nav_container.children[ miniData[key].uid ]; + // On remplit avec le numéro de la MINI fiche currentElement.innerHTML = miniData[key].uid+1; // Si la MINI fiche est valide