Portage phone->facebook : 1) Différenciation des données dans le 'lsi' (localStorage/sessionStorage)

This commit is contained in:
xdrm-brackets 2016-05-18 15:28:02 +02:00
parent 1b2f3f4284
commit 0a019db9f4
22 changed files with 351 additions and 402 deletions

View File

@ -1,7 +1,7 @@
function inputFacebookContact(a,b){this.container=a;this.nav_container=b}inputFacebookContact.prototype={container:this.container,nav_container:this.nav_container,selected:0,handler:null};inputFacebookContact.prototype.check=function(a){return 0<a.username.length+a.firstname.length+a.lastname.length}; function inputFacebookContact(a,b){this.container=a;this.nav_container=b}inputFacebookContact.prototype={container:this.container,nav_container:this.nav_container,selected:0,handler:null};inputFacebookContact.prototype.check=function(a){return 0<a.username.length+a.firstname.length+a.lastname.length};
inputFacebookContact.prototype.fieldsToStorage=function(){console.log("CONTACTS: FIELDS TO STORAGE");for(var a=$$('[data-sublink="facebook"] article.contact-panel .new-contact'),b=0;b<a.length;b++){var c=(new FormDeflater(a[b],["input"],["data-name"])).deflate();if(this.check(c)){var d={uid:parseInt(c.uid),username:c.username,firstname:c.firstname,lastname:c.lastname};d.hash=crc32(JSON.stringify(d));lsi.set("contacts",parseInt(c.uid),d)}}}; inputFacebookContact.prototype.fieldsToStorage=function(){console.log("CONTACTS: FIELDS TO STORAGE");for(var a=$$('[data-sublink="facebook"] article.contact-panel .new-contact'),b=0;b<a.length;b++){var c=(new FormDeflater(a[b],["input"],["data-name"])).deflate();if(this.check(c)){var d={uid:parseInt(c.uid),username:c.username,firstname:c.firstname,lastname:c.lastname};d.hash=crc32(JSON.stringify(d));lsi.set("f_contacts",parseInt(c.uid),d)}}};
inputFacebookContact.prototype.add=function(a){console.log("CONTACTS: ADD");if(null==a||null==a.uid||isNaN(a.uid))return!1;a.username=null!=a.username?a.username:"";a.firstname=null!=a.firstname?a.firstname:"";a.lastname=null!=a.lastname?a.lastname:"";a.call=null!=a.call?a.call:-1;a.sms=null!=a.sms?a.sms:-1;a.countcall=null!=a.countcall?a.countcall:0;a.countsms=null!=a.countsms?a.countsms:0;this.container.innerHTML+=fContactBuilder.build(a);a=$$('[data-sublink="facebook"] article.contact-panel .new-contact'); inputFacebookContact.prototype.add=function(a){console.log("CONTACTS: ADD");if(null==a||null==a.uid||isNaN(a.uid))return!1;a.username=null!=a.username?a.username:"";a.firstname=null!=a.firstname?a.firstname:"";a.lastname=null!=a.lastname?a.lastname:"";a.call=null!=a.call?a.call:-1;a.sms=null!=a.sms?a.sms:-1;a.countcall=null!=a.countcall?a.countcall:0;a.countsms=null!=a.countsms?a.countsms:0;this.container.innerHTML+=fContactBuilder.build(a);a=$$('[data-sublink="facebook"] article.contact-panel .new-contact');
for(var b=this,c=0;c<a.length;c++)a[c].removeEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1),a[c].addEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1)};inputFacebookContact.prototype.storageToFields=function(){console.log("CONTACTS: STORAGE TO FIELDS");var a=lsi.keys("contacts");this.container.innerHTML="";for(var b=this.selected+10,c=this.selected;c<b&&c<a.length;c++)this.add(lsi.get("contacts",a[c]));b>=a.length&&this.add({uid:a.length});this.updateNavBar()}; for(var b=this,c=0;c<a.length;c++)a[c].removeEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1),a[c].addEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1)};inputFacebookContact.prototype.storageToFields=function(){console.log("CONTACTS: STORAGE TO FIELDS");var a=lsi.keys("f_contacts");this.container.innerHTML="";for(var b=this.selected+10,c=this.selected;c<b&&c<a.length;c++)this.add(lsi.get("f_contacts",a[c]));b>=a.length&&this.add({uid:a.length});this.updateNavBar()};
inputFacebookContact.prototype.nav=function(a){if(null==a||!1===a.getData("n")||isNaN(a.getData("n"))||"f_nav-contact"!=a.parentNode.id)return!1;for(var b=$$('[data-sublink="facebook"] #f_nav-contact > span.active'),c=0;c<b.length;c++)b[c].remClass("active");a.addClass("active");this.selected=parseInt(a.getData("n"))}; inputFacebookContact.prototype.nav=function(a){if(null==a||!1===a.getData("n")||isNaN(a.getData("n"))||"f_nav-contact"!=a.parentNode.id)return!1;for(var b=$$('[data-sublink="facebook"] #f_nav-contact > span.active'),c=0;c<b.length;c++)b[c].remClass("active");a.addClass("active");this.selected=parseInt(a.getData("n"))};
inputFacebookContact.prototype.updateNavBar=function(){var a=lsi.keys("contacts").length;if(this.nav_container.children.length!=a){this.nav_container.innerHTML="";for(var b=0;b<a;b+=10)this.nav_container.innerHTML+='<span data-n="'+b+'">'+(1+b/10)+"</span>"}this.nav($('[data-sublink="facebook"] #f_nav-contact [data-n="'+this.selected+'"]'))}; inputFacebookContact.prototype.updateNavBar=function(){var a=lsi.keys("f_contacts").length;if(this.nav_container.children.length!=a){this.nav_container.innerHTML="";for(var b=0;b<a;b+=10)this.nav_container.innerHTML+='<span data-n="'+b+'">'+(1+b/10)+"</span>"}this.nav($('[data-sublink="facebook"] #f_nav-contact [data-n="'+this.selected+'"]'))};
inputFacebookContact.prototype.attach=function(a){console.log("CONTACTS: ATTACH");lsi.createDataset("contacts");this.storageToFields();this.handler=a;var b=this;this.nav_container.addEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1)}; inputFacebookContact.prototype.attach=function(a){console.log("CONTACTS: ATTACH");lsi.createDataset("f_contacts");this.storageToFields();this.handler=a;var b=this;this.nav_container.addEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1)};

View File

@ -54,7 +54,7 @@ inputFacebookContact.prototype.fieldsToStorage = function(){
obj.hash = crc32( JSON.stringify(obj) ); obj.hash = crc32( JSON.stringify(obj) );
// {6} On enregistre les données dans le 'localStorage' // // {6} On enregistre les données dans le 'localStorage' //
lsi.set('contacts', parseInt(deflated.uid), obj); lsi.set('f_contacts', parseInt(deflated.uid), obj);
} }
@ -122,7 +122,7 @@ inputFacebookContact.prototype.storageToFields = function(){
console.log('CONTACTS: STORAGE TO FIELDS'); console.log('CONTACTS: STORAGE TO FIELDS');
// {1} Pour chaque contact du 'localStorage' // // {1} Pour chaque contact du 'localStorage' //
var contactKeys = lsi.keys('contacts'); var contactKeys = lsi.keys('f_contacts');
// On réinitialise le HTML // On réinitialise le HTML
this.container.innerHTML = ''; this.container.innerHTML = '';
@ -132,7 +132,7 @@ inputFacebookContact.prototype.storageToFields = function(){
var max = this.selected+10; // On s'arrête à 10 contacs var max = this.selected+10; // On s'arrête à 10 contacs
for( var i = min ; i < max && i < contactKeys.length ; i++ ) for( var i = min ; i < max && i < contactKeys.length ; i++ )
this.add( lsi.get('contacts', contactKeys[i]) ); this.add( lsi.get('f_contacts', contactKeys[i]) );
// On ajoute un champ de plus à remplir si c'est la dernière page // On ajoute un champ de plus à remplir si c'est la dernière page
@ -178,7 +178,7 @@ inputFacebookContact.prototype.nav = function(element){
/* [7] Mise à jour de la navigation /* [7] Mise à jour de la navigation
=========================================================*/ =========================================================*/
inputFacebookContact.prototype.updateNavBar = function(){ inputFacebookContact.prototype.updateNavBar = function(){
var contactKeys = lsi.keys('contacts'); var contactKeys = lsi.keys('f_contacts');
var len = contactKeys.length; var len = contactKeys.length;
@ -210,7 +210,7 @@ inputFacebookContact.prototype.attach = function(handler){
console.log('CONTACTS: ATTACH'); console.log('CONTACTS: ATTACH');
/* (1) On initialise le jeu de données */ /* (1) On initialise le jeu de données */
lsi.createDataset('contacts'); lsi.createDataset('f_contacts');
/* (2) On charge les contacts depuis la mémoire ('localStorage') */ /* (2) On charge les contacts depuis la mémoire ('localStorage') */
this.storageToFields(); this.storageToFields();

View File

@ -1,20 +1,19 @@
function inputFacebookFiche(a,b){this.container=a;this.nav_container=b}inputFacebookFiche.prototype={container:this.container,nav_container:this.nav_container,selected:0,handler:null,defaultData:{sexe:"0",age:".",job:".",famsit:"0",studies:".",reltype:"0",reltypeSpecial:"",city:"",quartier:"",cp:"",loc:"0",duration:["",""],context:"0",contextSpecial:["","",""],freq:["4","9","14","19","24"],connect:"1 3 5 7 9 11".split(" "),connectSpecial:["",""],timestamp:0,valid:!1}}; function inputFacebookFiche(a,b){this.container=a;this.nav_container=b}inputFacebookFiche.prototype={container:this.container,nav_container:this.nav_container,selected:0,handler:null,defaultData:{sexe:"0",age:".",job:".",famsit:"0",studies:".",reltype:"0",reltypeSpecial:"",city:"",quartier:"",cp:"",loc:"0",duration:["",""],context:"0",contextSpecial:["","",""],freq:["4","9","14","19","24"],connect:"1 3 5 7 9 11".split(" "),connectSpecial:["",""],timestamp:0,valid:!1}};
inputFacebookFiche.prototype.fieldsToStorage=function(){console.log("FICHE: FIELDS TO STORAGE");for(var a=$$('[data-sublink="facebook"] article.relation-panel .fiche-relation'),b=0;b<a.length;b++){var c=(new FormDeflater(a[b],["input","select"],["data-name"])).deflate(),e=crc32(JSON.stringify(c)),d=lsi.get("fiches",c.uid);if(!1!==d){if(null!=d.hash&&d.hash==e)break;c={contact:parseInt(c.contact),uid:parseInt(c.uid),sexe:c.sexe,age:c.age,job:c.job,famsit:c.famsit,studies:c.studies,reltype:c.reltype, inputFacebookFiche.prototype.fieldsToStorage=function(){console.log("FICHE: FIELDS TO STORAGE");for(var a=$$('[data-sublink="facebook"] article.relation-panel .fiche-relation'),b=0;b<a.length;b++){var c=(new FormDeflater(a[b],["input","select"],["data-name"])).deflate(),e=crc32(JSON.stringify(c)),d=lsi.get("f_fiches",c.uid);if(!1!==d){if(null!=d.hash&&d.hash==e)break;c={contact:parseInt(c.contact),uid:parseInt(c.uid),sexe:c.sexe,age:c.age,job:c.job,famsit:c.famsit,studies:c.studies,reltype:c.reltype,
reltypeSpecial:c.reltypeSpecial,city:c.city,quartier:c.quartier,cp:c.cp,loc:c.loc,duration:c.duration,context:c.context,contextSpecial:c.contextSpecial,freq:c.freq,connect:c.connect,connectSpecial:c.connectSpecial,hash:e};c.valid=this.check(c);0<diff(d,c,["hash","valid","timestamp"]).length&&(console.log(diff(d,c,["hash","valid","timestamp"])),console.warn("> FICHE UPDATE"),c.timestamp=Date.now());lsi.set("fiches",c.uid,c)}}}; reltypeSpecial:c.reltypeSpecial,city:c.city,quartier:c.quartier,cp:c.cp,loc:c.loc,duration:c.duration,context:c.context,contextSpecial:c.contextSpecial,freq:c.freq,connect:c.connect,connectSpecial:c.connectSpecial,hash:e};c.valid=this.check(c);0<diff(d,c,["hash","valid","timestamp"]).length&&(console.log(diff(d,c,["hash","valid","timestamp"])),console.warn("> FICHE UPDATE"),c.timestamp=Date.now());lsi.set("f_fiches",c.uid,c)}}};
inputFacebookFiche.prototype.add=function(a){console.log("FICHE: ADD");if(null==a.uid||isNaN(a.uid)||null==a.contact||isNaN(a.contact))return!1;a.city=null!=a.city?a.city:this.defaultData.city;a.quartier=null!=a.quartier?a.quartier:this.defaultData.quartier;a.cp=null!=a.cp?a.cp:this.defaultData.cp;a.duration[0]=null!=a.duration[0]?a.duration[0]:this.defaultData.duration[0];a.duration[1]=null!=a.duration[1]?a.duration[1]:this.defaultData.duration[1];a.reltypeSpecial=null!=a.reltypeSpecial?a.reltypeSpecial: inputFacebookFiche.prototype.add=function(a){console.log("FICHE: ADD");if(null==a.uid||isNaN(a.uid)||null==a.contact||isNaN(a.contact))return!1;a.city=null!=a.city?a.city:this.defaultData.city;a.quartier=null!=a.quartier?a.quartier:this.defaultData.quartier;a.cp=null!=a.cp?a.cp:this.defaultData.cp;a.duration[0]=null!=a.duration[0]?a.duration[0]:this.defaultData.duration[0];a.duration[1]=null!=a.duration[1]?a.duration[1]:this.defaultData.duration[1];a.reltypeSpecial=null!=a.reltypeSpecial?a.reltypeSpecial:
this.defaultData.reltypeSpecial;a.contextSpecial[0]=null!=a.contextSpecial[0]?a.contextSpecial[0]:this.defaultData.contextSpecial[0];a.contextSpecial[1]=null!=a.contextSpecial[1]?a.contextSpecial[1]:this.defaultData.contextSpecial[1];a.contextSpecial[2]=null!=a.contextSpecial[2]?a.contextSpecial[2]:this.defaultData.contextSpecial[2];a.connectSpecial[0]=null!=a.connectSpecial[0]?a.connectSpecial[0]:this.defaultData.connectSpecial[0];a.connectSpecial[1]=null!=a.connectSpecial[1]?a.connectSpecial[1]: this.defaultData.reltypeSpecial;a.contextSpecial[0]=null!=a.contextSpecial[0]?a.contextSpecial[0]:this.defaultData.contextSpecial[0];a.contextSpecial[1]=null!=a.contextSpecial[1]?a.contextSpecial[1]:this.defaultData.contextSpecial[1];a.contextSpecial[2]=null!=a.contextSpecial[2]?a.contextSpecial[2]:this.defaultData.contextSpecial[2];a.connectSpecial[0]=null!=a.connectSpecial[0]?a.connectSpecial[0]:this.defaultData.connectSpecial[0];a.connectSpecial[1]=null!=a.connectSpecial[1]?a.connectSpecial[1]:
this.defaultData.connectSpecial[1];a.job=null!=a.job?a.job:this.defaultData.job;a.studies=null!=a.studies?a.studies:this.defaultData.studies;a.age=null!=a.age?a.age:this.defaultData.age;a.sexe=null!=a.sexe?a.sexe:this.defaultData.sexe;a.famsit=null!=a.famsit?a.famsit:this.defaultData.famsit;a.reltype=null!=a.reltype?a.reltype:this.defaultData.reltype;a.loc=null!=a.loc?a.loc:this.defaultData.loc;a.context=null!=a.context?a.context:this.defaultData.context;a.freq=null!=a.freq?a.freq:this.defaultData.freq; this.defaultData.connectSpecial[1];a.job=null!=a.job?a.job:this.defaultData.job;a.studies=null!=a.studies?a.studies:this.defaultData.studies;a.age=null!=a.age?a.age:this.defaultData.age;a.sexe=null!=a.sexe?a.sexe:this.defaultData.sexe;a.famsit=null!=a.famsit?a.famsit:this.defaultData.famsit;a.reltype=null!=a.reltype?a.reltype:this.defaultData.reltype;a.loc=null!=a.loc?a.loc:this.defaultData.loc;a.context=null!=a.context?a.context:this.defaultData.context;a.freq=null!=a.freq?a.freq:this.defaultData.freq;
a.connect=null!=a.connect?a.connect:this.defaultData.connect;var b=lsi.get("contacts",a.contact);if(!1===b)return!1;this.container.innerHTML+=fFicheBuilder.build({name:readableName(b.username,b.firstname,b.lastname),countcall:b.countcall,countsms:b.countsms,uid:a.uid,contact:a.contact,city:a.city,quartier:a.quartier,cp:a.cp,duration0:a.duration[0],duration1:a.duration[1],reltypespecial:a.reltypeSpecial,contextspecial0:a.contextSpecial[0],contextspecial1:a.contextSpecial[1],contextspecial2:a.contextSpecial[2], a.connect=null!=a.connect?a.connect:this.defaultData.connect;var b=lsi.get("f_contacts",a.contact);if(!1===b)return!1;this.container.innerHTML+=fFicheBuilder.build({name:readableName(b.username,b.firstname,b.lastname),countcall:b.countcall,countsms:b.countsms,uid:a.uid,contact:a.contact,city:a.city,quartier:a.quartier,cp:a.cp,duration0:a.duration[0],duration1:a.duration[1],reltypespecial:a.reltypeSpecial,contextspecial0:a.contextSpecial[0],contextspecial1:a.contextSpecial[1],contextspecial2:a.contextSpecial[2],
connectspecial0:a.connectSpecial[0],connectspecial1:a.connectSpecial[1]});b=$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>span>select[data-name="job"]>option[value="'+a.job+'"]');null!=b&&b.setAttribute("selected","selected");b=$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>span>select[data-name="studies"]>option[value="'+a.studies+'"]');null!=b&&b.setAttribute("selected","selected");b=$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+ connectspecial0:a.connectSpecial[0],connectspecial1:a.connectSpecial[1]});b=$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>span>select[data-name="job"]>option[value="'+a.job+'"]');null!=b&&b.setAttribute("selected","selected");b=$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>span>select[data-name="studies"]>option[value="'+a.studies+'"]');null!=b&&b.setAttribute("selected","selected");b=$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+
a.uid+'"] ~ h5>span>select[data-name="age"]>option[value="'+a.age+'"]');null!=b&&b.setAttribute("selected","selected");for(var c=$$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]'),b=0;b<c.length;b++)c[b].value==a.sexe?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="famsit"]'); a.uid+'"] ~ h5>span>select[data-name="age"]>option[value="'+a.age+'"]');null!=b&&b.setAttribute("selected","selected");for(var c=$$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]'),b=0;b<c.length;b++)c[b].value==a.sexe?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="famsit"]');
for(b=0;b<c.length;b++)c[b].value==a.famsit?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="reltype"]');for(b=0;b<c.length;b++)c[b].value==a.reltype?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="loc"]'); for(b=0;b<c.length;b++)c[b].value==a.famsit?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="reltype"]');for(b=0;b<c.length;b++)c[b].value==a.reltype?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="loc"]');
for(b=0;b<c.length;b++)c[b].value==a.loc?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="context"]');for(b=0;b<c.length;b++)c[b].value==a.context?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="freq"]'); for(b=0;b<c.length;b++)c[b].value==a.loc?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="context"]');for(b=0;b<c.length;b++)c[b].value==a.context?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="freq"]');
for(b=0;b<c.length;b++)-1<a.freq.indexOf(c[b].value)?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="connect"]');for(b=0;b<c.length;b++)-1<a.connect.indexOf(c[b].value)?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked")}; for(b=0;b<c.length;b++)-1<a.freq.indexOf(c[b].value)?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="facebook"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="connect"]');for(b=0;b<c.length;b++)-1<a.connect.indexOf(c[b].value)?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked")};
inputFacebookFiche.prototype.storageToFields=function(){console.log("FICHE: STORAGE TO FIELDS");var a=lsi["export"]("fiches");this.container.innerHTML="";for(var b in a)a[b].uid==this.selected&&this.add(a[b]);this.updateNavBar()}; inputFacebookFiche.prototype.storageToFields=function(){console.log("FICHE: STORAGE TO FIELDS");var a=lsi["export"]("f_fiches");this.container.innerHTML="";for(var b in a)a[b].uid==this.selected&&this.add(a[b]);this.updateNavBar()};
inputFacebookFiche.prototype.sync=function(){console.log("FICHE: SYNC");var a=lsi["export"]("contacts"),b=[],c;for(c in a){if(-1<a[c].call){var e=a[c].call;b.push(e);var d=lsi.get("fiches",e);null==d&&(d=this.defaultData);d.uid=e;d.contact=parseInt(c);lsi.set("fiches",e,d)}-1<a[c].sms&&(e=10+a[c].sms,b.push(e),d=lsi.get("fiches",e),null==d&&(d=this.defaultData),d.uid=e,d.contact=parseInt(c),lsi.set("fiches",e,d))}e=20>lsi.keys("contacts").length?lsi.keys("contacts").length:20;if(b.length<e)for(c in a){for(a= inputFacebookFiche.prototype.sync=function(){console.log("FICHE: SYNC");var a=lsi["export"]("f_contacts"),b=[],c=20>lsi.keys("f_contacts").length?lsi.keys("contacts").length:20;if(b.length<c)for(var e in a){for(a=0;-1<b.indexOf(a)&&a<c;)a++;b.push(a);var d=lsi.get("f_fiches",a);null==d&&(d=this.defaultData);d.uid=a;d.contact=parseInt(e);lsi.set("f_fiches",a,d);if(b.length>=c)break}for(var f in d)b=lsi.get("f_contacts",d[f].contact),null!=b&&-1!=b.sms&&-1!=b.call&&(b=10>parseInt(f)?10+b.sms:b.call,
0;-1<b.indexOf(a)&&a<e;)a++;b.push(a);d=lsi.get("fiches",a);null==d&&(d=this.defaultData);d.uid=a;d.contact=parseInt(c);lsi.set("fiches",a,d);if(b.length>=e)break}for(var f in d)b=lsi.get("contacts",d[f].contact),null!=b&&-1!=b.sms&&-1!=b.call&&(b=10>parseInt(f)?10+b.sms:b.call,b=d[b],b.timestamp>=d[f].timestamp||(c=d[f],c.uid=b.uid,lsi.set("fiches",b.uid,c)))}; b=d[b],b.timestamp>=d[f].timestamp||(c=d[f],c.uid=b.uid,lsi.set("f_fiches",b.uid,c)))};inputFacebookFiche.prototype.nav=function(a){if(null==a||!1===a.getData("n")||isNaN(a.getData("n"))||"f_nav-fiche"!=a.parentNode.id)return!1;for(var b=$$('[data-sublink="facebook"] #f_nav-fiche > span.active'),c=0;c<b.length;c++)b[c].remClass("active");a.addClass("active");this.selected=parseInt(a.getData("n"))};
inputFacebookFiche.prototype.nav=function(a){if(null==a||!1===a.getData("n")||isNaN(a.getData("n"))||"f_nav-fiche"!=a.parentNode.id)return!1;for(var b=$$('[data-sublink="facebook"] #f_nav-fiche > span.active'),c=0;c<b.length;c++)b[c].remClass("active");a.addClass("active");this.selected=parseInt(a.getData("n"))}; inputFacebookFiche.prototype.updateNavBar=function(){var a=lsi["export"]("f_fiches");this.nav_container.innerHTML="";for(var b=Object.keys(a),c=0;c<b.length;c++){var e=parseInt(b[c]);0==e&&(this.nav_container.innerHTML+="<span>HISTORIQUE</span>");10>e&&c<b.length-1&&10<=b[c+1]?this.nav_container.innerHTML+='<span data-n="'+e+'" class="lc">'+(e%10+1)+"</span>&nbsp;&nbsp;":(10==e&&(this.nav_container.innerHTML+='<span class="fc">MESSENGER</span>'),this.nav_container.innerHTML+='<span data-n="'+e+'">'+
inputFacebookFiche.prototype.updateNavBar=function(){var a=lsi["export"]("fiches");this.nav_container.innerHTML="";for(var b=Object.keys(a),c=0;c<b.length;c++){var e=parseInt(b[c]);0==e&&(this.nav_container.innerHTML+="<span>HISTORIQUE</span>");10>e&&c<b.length-1&&10<=b[c+1]?this.nav_container.innerHTML+='<span data-n="'+e+'" class="lc">'+(e%10+1)+"</span>&nbsp;&nbsp;":(10==e&&(this.nav_container.innerHTML+='<span class="fc">MESSENGER</span>'),this.nav_container.innerHTML+='<span data-n="'+e+'">'+
(e%10+1)+"</span>")}for(var d in a)b=$('[data-sublink="facebook"] #f_nav-fiche [data-n="'+a[d].uid+'"]'),null!=b&&(!0===a[d].valid?b.addClass("done"):b.remClass("done"));this.nav($('[data-sublink="facebook"] #f_nav-fiche [data-n="'+this.selected+'"]'))}; (e%10+1)+"</span>")}for(var d in a)b=$('[data-sublink="facebook"] #f_nav-fiche [data-n="'+a[d].uid+'"]'),null!=b&&(!0===a[d].valid?b.addClass("done"):b.remClass("done"));this.nav($('[data-sublink="facebook"] #f_nav-fiche [data-n="'+this.selected+'"]'))};
inputFacebookFiche.prototype.check=function(a){if(2>a.city.length||isNaN(parseInt(a.duration[0]))&&0<a.duration[0].length||isNaN(parseInt(a.duration[1]))&&0<a.duration[1].length||0==a.duration[0].length+a.duration[1].length||"."==a.job||"."==a.studies||"."==a.age||""==a.sexe||""==a.famsit||""==a.reltype||""==a.loc||""==a.context)return!1;for(var b=0;b<a.freq.length;b++)if(""==a.freq[b])return!1;for(b=0;b<a.connect.length;b++)if(""==a.connect[b])return!1;return"10"==a.reltype&&2>a.reltypeSpecial.length|| inputFacebookFiche.prototype.check=function(a){if(2>a.city.length||isNaN(parseInt(a.duration[0]))&&0<a.duration[0].length||isNaN(parseInt(a.duration[1]))&&0<a.duration[1].length||0==a.duration[0].length+a.duration[1].length||"."==a.job||"."==a.studies||"."==a.age||""==a.sexe||""==a.famsit||""==a.reltype||""==a.loc||""==a.context)return!1;for(var b=0;b<a.freq.length;b++)if(""==a.freq[b])return!1;for(b=0;b<a.connect.length;b++)if(""==a.connect[b])return!1;return"10"==a.reltype&&2>a.reltypeSpecial.length||
"11"==a.context&&2>a.contextSpecial[0].length||"12"==a.context&&2>a.contextSpecial[1].length||"13"==a.context&&2>a.contextSpecial[2].length?!1:!0};inputFacebookFiche.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)}; "11"==a.context&&2>a.contextSpecial[0].length||"12"==a.context&&2>a.contextSpecial[1].length||"13"==a.context&&2>a.contextSpecial[2].length?!1:!0};inputFacebookFiche.prototype.attach=function(a){console.log("FICHE: ATTACH");lsi.createDataset("f_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)};

View File

@ -58,7 +58,7 @@ inputFacebookFiche.prototype.fieldsToStorage = function(){
// {4} On récupère les données du LSI si elles existent // // {4} On récupère les données du LSI si elles existent //
var existingData = lsi.get('fiches', deflated.uid); var existingData = lsi.get('f_fiches', deflated.uid);
// Si n'existe pas, on passe au suivant // Si n'existe pas, on passe au suivant
if( existingData === false ) if( existingData === false )
@ -106,7 +106,7 @@ inputFacebookFiche.prototype.fieldsToStorage = function(){
} }
/* (7) On enregistre les données dans le 'localStorage' */ /* (7) On enregistre les données dans le 'localStorage' */
lsi.set('fiches', obj.uid, obj); lsi.set('f_fiches', obj.uid, obj);
} }
}; };
@ -162,7 +162,7 @@ inputFacebookFiche.prototype.add = function(objectData){
// {4} On récupère username/firstname/lastname du contact associé // // {4} On récupère username/firstname/lastname du contact associé //
var associatedContact = lsi.get('contacts', objectData.contact); var associatedContact = lsi.get('f_contacts', objectData.contact);
// Si on ne trouve pas le contact, on ne fais rien // Si on ne trouve pas le contact, on ne fais rien
if( associatedContact === false ) if( associatedContact === false )
@ -273,7 +273,7 @@ inputFacebookFiche.prototype.storageToFields = function(){
console.log('FICHE: STORAGE TO FIELDS'); console.log('FICHE: STORAGE TO FIELDS');
// {1} Pour chaque contact du 'localStorage' // // {1} Pour chaque contact du 'localStorage' //
var ficheData = lsi.export('fiches'); var ficheData = lsi.export('f_fiches');
// On réinitialise le HTML // On réinitialise le HTML
this.container.innerHTML = ''; this.container.innerHTML = '';
@ -306,67 +306,16 @@ inputFacebookFiche.prototype.sync = function(){
/* (1) Mise à jour en fonction des contacts APRÈS IMPORT /* (1) Mise à jour en fonction des contacts APRÈS IMPORT
---------------------------------------------------------*/ ---------------------------------------------------------*/
/* (1) On récupère tous les CONTACTS */ /* (1) On récupère tous les CONTACTS */
var contacts = lsi.export('contacts'); var contacts = lsi.export('f_contacts');
var addedFicheUids = []; // Contiendra les uids des fiches qui seront crées var addedFicheUids = []; // Contiendra les uids des fiches qui seront crées
/* (2) Pour chaque CONTACT, on met à jour/crée la FICHE associée, si dans le TOP 10 des APPELS ou des SMS */
for( var uid in contacts ){
var inCallTop10 = false;
/* (3) Indice de 0 à 9 si dans le TOP 10 des APPELS */
if( contacts[uid].call > -1 ){
// On calcule le rang de la fiche en fonction du classement
var ficheIndex = contacts[uid].call;
addedFicheUids.push(ficheIndex);
// On récupère les informations de la FICHE (si elle existe) */
var ficheData = lsi.get('fiches', ficheIndex);
// Si la fiche n'existe pas, on la crée avec les valeurs par défaut
if( ficheData == null )
ficheData = this.defaultData;
// On met à jour la fiche ET on l'enregistre
ficheData.uid = ficheIndex;
ficheData.contact = parseInt(uid);
lsi.set('fiches', ficheIndex, ficheData);
}
/* (4) Indice de 10 à 19 si dans le TOP 10 des SMS */
if( contacts[uid].sms > -1 ){
// On calcule le rang de la fiche en fonction du classement
var ficheIndex = 10+contacts[uid].sms;
addedFicheUids.push(ficheIndex);
// On récupère les informations de la FICHE (si elle existe) */
var ficheData = lsi.get('fiches', ficheIndex);
// Si la fiche n'existe pas, on la crée avec les valeurs par défaut
if( ficheData == null )
ficheData = this.defaultData;
// On met à jour la fiche ET on l'enregistre
ficheData.uid = ficheIndex;
ficheData.contact = parseInt(uid);
lsi.set('fiches', ficheIndex, ficheData);
}
}
/* (2) Mise à jour en fonction des contacts APRÈS SAISIE MANUELLE /* (2) Mise à jour en fonction des contacts APRÈS SAISIE MANUELLE
---------------------------------------------------------*/ ---------------------------------------------------------*/
// Nombre maximum de fiches (20, sauf si moins de 20 contacts, dans ce cas, le nombre de contacts); // Nombre maximum de fiches (20, sauf si moins de 20 contacts, dans ce cas, le nombre de contacts);
var nbMaxFiche = lsi.keys('contacts').length < 20 ? lsi.keys('contacts').length : 20; var nbMaxFiche = lsi.keys('f_contacts').length < 20 ? lsi.keys('contacts').length : 20;
// Si moins de 10+10 contacts crées, on les complètes en fonction des contacts séquentiellement // On complète en fonction des contacts séquentiellement APPELS, puis SMS
if( addedFicheUids.length < nbMaxFiche ){ if( addedFicheUids.length < nbMaxFiche ){
/* (1) Pour chaque CONTACT, on met à jour/crée la FICHE associée*/ /* (1) Pour chaque CONTACT, on met à jour/crée la FICHE associée*/
@ -381,7 +330,7 @@ inputFacebookFiche.prototype.sync = function(){
addedFicheUids.push(ficheUid); addedFicheUids.push(ficheUid);
/* (3) On récupère les informations de la FICHE (si elle existe) */ /* (3) On récupère les informations de la FICHE (si elle existe) */
var ficheData = lsi.get('fiches', ficheUid); var ficheData = lsi.get('f_fiches', ficheUid);
// Si la fiche n'existe pas, on la crée avec les valeurs par défaut // Si la fiche n'existe pas, on la crée avec les valeurs par défaut
if( ficheData == null ) if( ficheData == null )
@ -390,7 +339,7 @@ inputFacebookFiche.prototype.sync = function(){
/* (4) On met à jour la fiche ET on l'enregistre */ /* (4) On met à jour la fiche ET on l'enregistre */
ficheData.uid = ficheUid; ficheData.uid = ficheUid;
ficheData.contact = parseInt(uid); ficheData.contact = parseInt(uid);
lsi.set('fiches', ficheUid, ficheData); lsi.set('f_fiches', ficheUid, ficheData);
/* (5) Si on a déja crée 10+10 fiches, on arrête */ /* (5) Si on a déja crée 10+10 fiches, on arrête */
@ -404,7 +353,7 @@ inputFacebookFiche.prototype.sync = function(){
---------------------------------------------------------*/ ---------------------------------------------------------*/
for( var key in ficheData ){ for( var key in ficheData ){
/* (1) On récupère le contact associé */ /* (1) On récupère le contact associé */
var associatedContact = lsi.get('contacts', ficheData[key].contact); var associatedContact = lsi.get('f_contacts', ficheData[key].contact);
// Si erreur, on passe au suivant // Si erreur, on passe au suivant
if( associatedContact == null ) if( associatedContact == null )
@ -429,7 +378,7 @@ inputFacebookFiche.prototype.sync = function(){
/* (5) On copie les données de la FICHE dans le clone (cas ou la fiche est modifiée en dernier) */ /* (5) On copie les données de la FICHE dans le clone (cas ou la fiche est modifiée en dernier) */
var obj = ficheData[key]; var obj = ficheData[key];
obj.uid = clone.uid; obj.uid = clone.uid;
lsi.set('fiches', clone.uid, obj); lsi.set('f_fiches', clone.uid, obj);
} }
@ -471,7 +420,7 @@ inputFacebookFiche.prototype.nav = function(element){
/* [7] Mise à jour de la navigation /* [7] Mise à jour de la navigation
=========================================================*/ =========================================================*/
inputFacebookFiche.prototype.updateNavBar = function(){ inputFacebookFiche.prototype.updateNavBar = function(){
var ficheData = lsi.export('fiches'); var ficheData = lsi.export('f_fiches');
/* (2) 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 */
@ -611,7 +560,7 @@ inputFacebookFiche.prototype.attach = function(handler){
console.log('FICHE: ATTACH'); console.log('FICHE: ATTACH');
/* (1) On initialise le jeu de données */ /* (1) On initialise le jeu de données */
lsi.createDataset('fiches'); lsi.createDataset('f_fiches');
/* (2) On charge les fiche fiches depuis la mémoire ('localStorage') */ /* (2) On charge les fiche fiches depuis la mémoire ('localStorage') */
this.storageToFields(); this.storageToFields();

View File

@ -1,5 +1,5 @@
function inputFacebookMatrice(a){this.container=a}inputFacebookMatrice.prototype={container:this.container}; function inputFacebookMatrice(a){this.container=a}inputFacebookMatrice.prototype={container:this.container};
inputFacebookMatrice.prototype.fieldsToStorage=function(){console.log("MATRICE: FIELDS TO STORAGE");var a=(new FormDeflater(this.container,["input"],["data-name"])).deflate();crc32(JSON.stringify(a));var d={},b;for(b in a)if(a[b]instanceof Array)for(var e in a[b])null==d[b]&&(d[b]=[]),d[b].push(parseInt(a[b][e]));else null!==a[b]&&(null==d[b]&&(d[b]=[]),d[b].push(parseInt(a[b])));lsi.set("matrice",0,d)}; inputFacebookMatrice.prototype.fieldsToStorage=function(){console.log("MATRICE: FIELDS TO STORAGE");var a=(new FormDeflater(this.container,["input"],["data-name"])).deflate();crc32(JSON.stringify(a));var d={},b;for(b in a)if(a[b]instanceof Array)for(var e in a[b])null==d[b]&&(d[b]=[]),d[b].push(parseInt(a[b][e]));else null!==a[b]&&(null==d[b]&&(d[b]=[]),d[b].push(parseInt(a[b])));lsi.set("f_matrice",0,d)};
inputFacebookMatrice.prototype.storageToFields=function(){console.log("MATRICE: STORAGE TO FIELDS");var a=lsi["export"]("fiches"),d=lsi.get("matrice",0),b=lsi["export"]("contacts"),e=[],c;for(c in a)-1==e.indexOf(a[c].contact)&&e.push(a[c].contact);a="<table class='line'>";for(c=0;c<e.length;c++){var f=b[c],a=a+"<tr>";0<c?(a+='<td style="text-align: right;">',a+=readableName(f.username,f.firstname,f.lastname),a+="</td>"):a+="<td></td>";for(var h=0;h<e.length;h++)if(h<e.length-1){var g=b[h];0==c?(a+= inputFacebookMatrice.prototype.storageToFields=function(){console.log("MATRICE: STORAGE TO FIELDS");var a=lsi["export"]("f_fiches"),d=lsi.get("f_matrice",0),b=lsi["export"]("f_contacts"),e=[],c;for(c in a)-1==e.indexOf(a[c].contact)&&e.push(a[c].contact);a="<table class='line'>";for(c=0;c<e.length;c++){var f=b[c],a=a+"<tr>";0<c?(a+='<td style="text-align: right;">',a+=readableName(f.username,f.firstname,f.lastname),a+="</td>"):a+="<td></td>";for(var h=0;h<e.length;h++)if(h<e.length-1){var g=b[h];
"<td>",a+='<span style="writing-mode: vertical-lr; text-align: right;">',a+=readableName(g.username,g.firstname,g.lastname),a+="</span>"):h<c?(a+="<td>",a+="<input type='checkbox' name='matrice_"+f.uid+"_"+g.uid+"' data-name='"+f.uid+"' value='"+g.uid+"' id='matrice_"+f.uid+"_"+g.uid+"'",null!=d[c]&&-1<d[c].indexOf(h)&&(a+=" checked"),a+=" >",a+="<label for='matrice_"+f.uid+"_"+g.uid+"'></label>"):a+="<td class='hidden'>";a+="</td>"}a+="</tr>"}this.container.innerHTML=a+"</table>"}; 0==c?(a+="<td>",a+='<span style="writing-mode: vertical-lr; text-align: right;">',a+=readableName(g.username,g.firstname,g.lastname),a+="</span>"):h<c?(a+="<td>",a+="<input type='checkbox' name='matrice_"+f.uid+"_"+g.uid+"' data-name='"+f.uid+"' value='"+g.uid+"' id='matrice_"+f.uid+"_"+g.uid+"'",null!=d[c]&&-1<d[c].indexOf(h)&&(a+=" checked"),a+=" >",a+="<label for='matrice_"+f.uid+"_"+g.uid+"'></label>"):a+="<td class='hidden'>";a+="</td>"}a+="</tr>"}this.container.innerHTML=a+"</table>"};
inputFacebookMatrice.prototype.attach=function(){console.log("MATRICE: ATTACH");lsi.createDataset("matrice");this.storageToFields();var a=this;this.container.addEventListener("click",function(d){a.fieldsToStorage();a.storageToFields()},!1)}; inputFacebookMatrice.prototype.attach=function(){console.log("MATRICE: ATTACH");lsi.createDataset("f_matrice");this.storageToFields();var a=this;this.container.addEventListener("click",function(d){a.fieldsToStorage();a.storageToFields()},!1)};

View File

@ -52,7 +52,7 @@ inputFacebookMatrice.prototype.fieldsToStorage = function(){
obj[i].push( parseInt(deflated[i]) ); obj[i].push( parseInt(deflated[i]) );
} }
lsi.set( 'matrice', 0, obj ); lsi.set( 'f_matrice', 0, obj );
// Objet de la forme // Objet de la forme
// //
// idA: [idV, idW], # A connait V et W (et réciproquement) // idA: [idV, idW], # A connait V et W (et réciproquement)
@ -78,13 +78,13 @@ inputFacebookMatrice.prototype.storageToFields = function(){
/* (1) On récupère la liste des contacts à mettre dans la matrice */ /* (1) On récupère la liste des contacts à mettre dans la matrice */
// On récupère les fiches // On récupère les fiches
var ficheData = lsi.export('fiches'); var ficheData = lsi.export('f_fiches');
// On récupère les données de la matrice // On récupère les données de la matrice
var matriceData = lsi.get('matrice', 0); var matriceData = lsi.get('f_matrice', 0);
// On récupère les contacts pour afficher les noms/prénoms // On récupère les contacts pour afficher les noms/prénoms
var contactData = lsi.export('contacts'); var contactData = lsi.export('f_contacts');
// Contiendra les UID des contacts à mettre dans la matrice // Contiendra les UID des contacts à mettre dans la matrice
var contacts = []; var contacts = [];
@ -159,7 +159,7 @@ inputFacebookMatrice.prototype.attach = function(){
console.log('MATRICE: ATTACH'); console.log('MATRICE: ATTACH');
/* (1) On initialise le jeu de données */ /* (1) On initialise le jeu de données */
lsi.createDataset('matrice'); lsi.createDataset('f_matrice');
/* (2) On charge les mini fiches depuis la mémoire ('localStorage') */ /* (2) On charge les mini fiches depuis la mémoire ('localStorage') */
this.storageToFields(); this.storageToFields();

View File

@ -1,12 +1,12 @@
function inputFacebookMini(a,b){this.container=a;this.nav_container=b}inputFacebookMini.prototype={container:this.container,nav_container:this.nav_container,selected:0,handler:null,defaultData:{sexe:"0",age:".",studies:".",loc:"0",reltype:"0",reltypeSpecial:"",timestamp:0,valid:!1}}; function inputFacebookMini(a,b){this.container=a;this.nav_container=b}inputFacebookMini.prototype={container:this.container,nav_container:this.nav_container,selected:0,handler:null,defaultData:{sexe:"0",age:".",studies:".",loc:"0",reltype:"0",reltypeSpecial:"",timestamp:0,valid:!1}};
inputFacebookMini.prototype.fieldsToStorage=function(){console.log("MINI FICHE: FIELDS TO STORAGE");for(var a=$$('[data-sublink="facebook"] article.mini-relation-panel .mini-fiche-relation'),b=0;b<a.length;b++){var c=(new FormDeflater(a[b],["input","select"],["data-name"])).deflate(),e=crc32(JSON.stringify(c)),d=lsi.get("mini-fiches",c.uid);if(!1!==d){if(null!=d&&null!=d.hash&&d.hash==e)break;console.warn("> MINI UPDATE");c={uid:parseInt(c.uid),sexe:c.sexe,age:c.age,studies:c.studies,reltype:c.reltype, inputFacebookMini.prototype.fieldsToStorage=function(){console.log("MINI FICHE: FIELDS TO STORAGE");for(var a=$$('[data-sublink="facebook"] article.mini-relation-panel .mini-fiche-relation'),b=0;b<a.length;b++){var c=(new FormDeflater(a[b],["input","select"],["data-name"])).deflate(),e=crc32(JSON.stringify(c)),d=lsi.get("f_mini-fiches",c.uid);if(!1!==d){if(null!=d&&null!=d.hash&&d.hash==e)break;console.warn("> MINI UPDATE");c={uid:parseInt(c.uid),sexe:c.sexe,age:c.age,studies:c.studies,reltype:c.reltype,
reltypeSpecial:c.reltypeSpecial,loc:c.loc,hash:e};c.valid=this.check(c);0<diff(d,c,["hash","valid","timestamp"]).length&&(console.log(diff(d,c,["hash","valid","timestamp"])),console.warn("> FICHE UPDATE"),c.timestamp=Date.now());lsi.set("mini-fiches",c.uid,c)}}}; reltypeSpecial:c.reltypeSpecial,loc:c.loc,hash:e};c.valid=this.check(c);0<diff(d,c,["hash","valid","timestamp"]).length&&(console.log(diff(d,c,["hash","valid","timestamp"])),console.warn("> FICHE UPDATE"),c.timestamp=Date.now());lsi.set("f_mini-fiches",c.uid,c)}}};
inputFacebookMini.prototype.add=function(a){console.log("MINI FICHE: ADD");if(null==a||null==a.uid)return!1;a.age=null!=a.age?a.age:this.defaultData.age;a.sexe=null!=a.sexe?a.sexe:this.defaultData.sexe;a.studies=null!=a.studies?a.studies:this.defaultData.studies;a.reltype=null!=a.reltype?a.reltype:this.defaultData.reltype;a.reltypeSpecial=null!=a.reltypeSpecial?a.reltypeSpecial:this.defaultData.reltypeSpecial;a.loc=null!=a.loc?a.loc:this.defaultData.loc;var b=lsi.get("contacts",a.uid);if(!1===b)return!1; inputFacebookMini.prototype.add=function(a){console.log("MINI FICHE: ADD");if(null==a||null==a.uid)return!1;a.age=null!=a.age?a.age:this.defaultData.age;a.sexe=null!=a.sexe?a.sexe:this.defaultData.sexe;a.studies=null!=a.studies?a.studies:this.defaultData.studies;a.reltype=null!=a.reltype?a.reltype:this.defaultData.reltype;a.reltypeSpecial=null!=a.reltypeSpecial?a.reltypeSpecial:this.defaultData.reltypeSpecial;a.loc=null!=a.loc?a.loc:this.defaultData.loc;var b=lsi.get("f_contacts",a.uid);if(!1===b)return!1;
this.container.innerHTML+=fMiniFicheBuilder.build({name:readableName(b.username,b.firstname,b.lastname),countcall:b.countcall,countsms:b.countsms,uid:a.uid,reltypespecial:a.reltypeSpecial});b=$('[data-sublink="facebook"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>span>select[data-name="studies"]>option[value="'+a.studies+'"]');null!=b&&b.setAttribute("selected","selected");b=$('[data-sublink="facebook"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+ this.container.innerHTML+=fMiniFicheBuilder.build({name:readableName(b.username,b.firstname,b.lastname),countcall:b.countcall,countsms:b.countsms,uid:a.uid,reltypespecial:a.reltypeSpecial});b=$('[data-sublink="facebook"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>span>select[data-name="studies"]>option[value="'+a.studies+'"]');null!=b&&b.setAttribute("selected","selected");b=$('[data-sublink="facebook"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+
'"] ~ h5>span>select[data-name="age"]>option[value="'+a.age+'"]');null!=b&&b.setAttribute("selected","selected");for(var c=$$('[data-sublink="facebook"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]'),b=0;b<c.length;b++)c[b].value==a.sexe?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="facebook"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="reltype"]'); '"] ~ h5>span>select[data-name="age"]>option[value="'+a.age+'"]');null!=b&&b.setAttribute("selected","selected");for(var c=$$('[data-sublink="facebook"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]'),b=0;b<c.length;b++)c[b].value==a.sexe?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="facebook"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="reltype"]');
for(b=0;b<c.length;b++)c[b].value==a.reltype?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="facebook"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="loc"]');for(b=0;b<c.length;b++)c[b].value==a.loc?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked")}; for(b=0;b<c.length;b++)c[b].value==a.reltype?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="facebook"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="loc"]');for(b=0;b<c.length;b++)c[b].value==a.loc?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked")};
inputFacebookMini.prototype.storageToFields=function(){console.log("MINI FICHE: STORAGE TO FIELDS");var a=lsi.get("mini-fiches",this.selected);if(null==a)return this.updateNavBar(),!1;this.container.innerHTML="";this.add(a);this.updateNavBar()}; inputFacebookMini.prototype.storageToFields=function(){console.log("MINI FICHE: STORAGE TO FIELDS");var a=lsi.get("f_mini-fiches",this.selected);if(null==a)return this.updateNavBar(),!1;this.container.innerHTML="";this.add(a);this.updateNavBar()};
inputFacebookMini.prototype.sync=function(){console.log("MINI FICHE: SYNC");var a=lsi["export"]("contacts"),b=lsi["export"]("fiches"),c=[],e;for(e in b)-1==c.indexOf(b[e].contact)&&c.push(b[e].contact);for(var d in a)-1<c.indexOf(parseInt(d))?lsi.del("mini-fiches",d):(b=0==a[d].username.length+a[d].firstname.length+a[d].lastname.length?d.toString()+"-":d,e=lsi.get("mini-fiches",b),null==e&&(e=this.defaultData,e.valid=!1,isNaN(b)&&(e.reltype="9")),e.uid=parseInt(d),lsi.set("mini-fiches",b,e));e=lsi["export"]("mini-fiches"); inputFacebookMini.prototype.sync=function(){console.log("MINI FICHE: SYNC");var a=lsi["export"]("f_contacts"),b=lsi["export"]("f_fiches"),c=[],e;for(e in b)-1==c.indexOf(b[e].contact)&&c.push(b[e].contact);for(var d in a)-1<c.indexOf(parseInt(d))?lsi.del("f_mini-fiches",d):(b=0==a[d].username.length+a[d].firstname.length+a[d].lastname.length?d.toString()+"-":d,e=lsi.get("f_mini-fiches",b),null==e&&(e=this.defaultData,e.valid=!1,isNaN(b)&&(e.reltype="9")),e.uid=parseInt(d),lsi.set("f_mini-fiches",
if(null==e[this.selected])for(d in e)if(!isNaN(d)){this.selected=parseInt(d);break}};inputFacebookMini.prototype.nav=function(a){if(null==a||!1===a.getData("n")||isNaN(a.getData("n"))||"f_nav-mini"!=a.parentNode.id)return!1;for(var b=$$('[data-sublink="facebook"] #f_nav-mini > span.active'),c=0;c<b.length;c++)b[c].remClass("active");a.addClass("active");this.selected=parseInt(a.getData("n"))}; b,e));e=lsi["export"]("f_mini-fiches");if(null==e[this.selected])for(d in e)if(!isNaN(d)){this.selected=parseInt(d);break}};inputFacebookMini.prototype.nav=function(a){if(null==a||!1===a.getData("n")||isNaN(a.getData("n"))||"f_nav-mini"!=a.parentNode.id)return!1;for(var b=$$('[data-sublink="facebook"] #f_nav-mini > span.active'),c=0;c<b.length;c++)b[c].remClass("active");a.addClass("active");this.selected=parseInt(a.getData("n"))};
inputFacebookMini.prototype.updateNavBar=function(){var a=lsi["export"]("mini-fiches");this.nav_container.innerHTML="";var b=0,c;for(c in a)isNaN(c)||(this.nav_container.innerHTML+='<span data-n="'+c+'">'+ ++b+"</span>");for(c in a)isNaN(c)||(b=$('[data-sublink="facebook"] #f_nav-mini [data-n="'+a[c].uid+'"]'),null!=b&&(!0===a[c].valid?b.addClass("done"):b.remClass("done")));this.nav($('[data-sublink="facebook"] #f_nav-mini [data-n="'+this.selected+'"]'))}; inputFacebookMini.prototype.updateNavBar=function(){var a=lsi["export"]("f_mini-fiches");this.nav_container.innerHTML="";var b=0,c;for(c in a)isNaN(c)||(this.nav_container.innerHTML+='<span data-n="'+c+'">'+ ++b+"</span>");for(c in a)isNaN(c)||(b=$('[data-sublink="facebook"] #f_nav-mini [data-n="'+a[c].uid+'"]'),null!=b&&(!0===a[c].valid?b.addClass("done"):b.remClass("done")));this.nav($('[data-sublink="facebook"] #f_nav-mini [data-n="'+this.selected+'"]'))};
inputFacebookMini.prototype.check=function(a){return""==a.sexe||"."==a.studies||"."==a.age||""==a.loc||""==a.reltype||"10"==a.reltype&&2>a.reltypeSpecial.length?!1:!0};inputFacebookMini.prototype.attach=function(a){console.log("MINI FICHE: ATTACH");lsi.createDataset("mini-fiches");this.storageToFields();this.handler=a;var b=this;this.nav_container.addEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1)}; inputFacebookMini.prototype.check=function(a){return""==a.sexe||"."==a.studies||"."==a.age||""==a.loc||""==a.reltype||"10"==a.reltype&&2>a.reltypeSpecial.length?!1:!0};inputFacebookMini.prototype.attach=function(a){console.log("MINI FICHE: ATTACH");lsi.createDataset("f_mini-fiches");this.storageToFields();this.handler=a;var b=this;this.nav_container.addEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1)};

View File

@ -46,7 +46,7 @@ inputFacebookMini.prototype.fieldsToStorage = function(){
// {4} On récupère les données du LSI si elles existent // // {4} On récupère les données du LSI si elles existent //
var existingData = lsi.get('mini-fiches', deflated.uid); var existingData = lsi.get('f_mini-fiches', deflated.uid);
// Si n'existe pas, on passe à la suivante // Si n'existe pas, on passe à la suivante
if( existingData === false ) if( existingData === false )
@ -84,7 +84,7 @@ inputFacebookMini.prototype.fieldsToStorage = function(){
/* (9) On enregistre les données dans le 'localStorage' */ /* (9) On enregistre les données dans le 'localStorage' */
lsi.set('mini-fiches', obj.uid, obj); lsi.set('f_mini-fiches', obj.uid, obj);
} }
}; };
@ -121,7 +121,7 @@ inputFacebookMini.prototype.add = function(objectData){
// {1} On récupère username/firstname/lastname du contact associé // // {1} On récupère username/firstname/lastname du contact associé //
var associatedContact = lsi.get('contacts', objectData.uid); var associatedContact = lsi.get('f_contacts', objectData.uid);
// Si on ne trouve pas le contact, on ne fais rien // Si on ne trouve pas le contact, on ne fais rien
if( associatedContact === false ) if( associatedContact === false )
@ -183,7 +183,7 @@ inputFacebookMini.prototype.storageToFields = function(){
console.log('MINI FICHE: STORAGE TO FIELDS'); console.log('MINI FICHE: STORAGE TO FIELDS');
// {1} Pour chaque contact du 'localStorage' // // {1} Pour chaque contact du 'localStorage' //
var miniData = lsi.get('mini-fiches', this.selected); var miniData = lsi.get('f_mini-fiches', this.selected);
// Si on a rien trouvé, on ne fait rien // Si on a rien trouvé, on ne fait rien
if( miniData == null ){ if( miniData == null ){
@ -218,11 +218,11 @@ inputFacebookMini.prototype.sync = function(){
console.log('MINI FICHE: SYNC'); console.log('MINI FICHE: SYNC');
/* (1) On récupère les clés de tous les CONTACTS */ /* (1) On récupère les clés de tous les CONTACTS */
var contactData = lsi.export('contacts'); var contactData = lsi.export('f_contacts');
/* (2) On enregistre les contacts qui sont déja dans les FICHES */ /* (2) On enregistre les contacts qui sont déja dans les FICHES */
var fiches = lsi.export('fiches'); var fiches = lsi.export('f_fiches');
var ignoredContacts = []; var ignoredContacts = [];
for( var id in fiches ) for( var id in fiches )
if( ignoredContacts.indexOf( fiches[id].contact ) == -1 ) if( ignoredContacts.indexOf( fiches[id].contact ) == -1 )
@ -235,7 +235,7 @@ inputFacebookMini.prototype.sync = function(){
/* (4) Si le contact est déja dans une fiche, on le retire */ /* (4) Si le contact est déja dans une fiche, on le retire */
if( ignoredContacts.indexOf(parseInt(key)) > -1 ){ if( ignoredContacts.indexOf(parseInt(key)) > -1 ){
// On supprime au cas ou // On supprime au cas ou
lsi.del('mini-fiches', key); lsi.del('f_mini-fiches', key);
continue; continue;
} }
@ -246,7 +246,7 @@ inputFacebookMini.prototype.sync = function(){
var uid = noName ? key.toString()+'-' : key; var uid = noName ? key.toString()+'-' : key;
/* (5) On récupère les informations de la MINI (si elle existe) */ /* (5) On récupère les informations de la MINI (si elle existe) */
var miniData = lsi.get('mini-fiches', uid); var miniData = lsi.get('f_mini-fiches', uid);
/* (6) Si la MINI fiche n'exise pas, on la crée avec les valeurs par défaut */ /* (6) Si la MINI fiche n'exise pas, on la crée avec les valeurs par défaut */
@ -264,12 +264,12 @@ inputFacebookMini.prototype.sync = function(){
/* (8) On enregistre les modification */ /* (8) On enregistre les modification */
lsi.set('mini-fiches', uid, miniData); lsi.set('f_mini-fiches', uid, miniData);
} }
/* (9) On met à jour la mini-fiche en cours */ /* (9) On met à jour la mini-fiche en cours */
var miniData = lsi.export('mini-fiches'); var miniData = lsi.export('f_mini-fiches');
// Si la clé n'existe plus // Si la clé n'existe plus
if( miniData[this.selected] == null ){ if( miniData[this.selected] == null ){
@ -320,7 +320,7 @@ inputFacebookMini.prototype.nav = function(element){
/* [7] Mise à jour de la navigation /* [7] Mise à jour de la navigation
=========================================================*/ =========================================================*/
inputFacebookMini.prototype.updateNavBar = function(){ inputFacebookMini.prototype.updateNavBar = function(){
var miniData = lsi.export('mini-fiches'); var miniData = lsi.export('f_mini-fiches');
/* (1) On vide et remplit la barre de nav, si elle n'est pas à jour */ /* (1) On vide et remplit la barre de nav, si elle n'est pas à jour */
@ -402,7 +402,7 @@ inputFacebookMini.prototype.attach = function(handler){
console.log('MINI FICHE: ATTACH'); console.log('MINI FICHE: ATTACH');
/* (1) On initialise le jeu de données */ /* (1) On initialise le jeu de données */
lsi.createDataset('mini-fiches'); lsi.createDataset('f_mini-fiches');
/* (2) On charge les mini fiches depuis la mémoire ('localStorage') */ /* (2) On charge les mini fiches depuis la mémoire ('localStorage') */
this.storageToFields(); this.storageToFields();

View File

@ -1,4 +1,4 @@
function inputFacebookSubject(a,b,c,d){this.username=a;this.firstname=b;this.lastname=c;this.store_button=d}inputFacebookSubject.prototype={store_button:this.store_button,username:this.username,firstname:this.firstname,lastname:this.lastname};inputFacebookSubject.prototype.check=function(){return validForm=validForm&&0<this.username.value.length+this.firstname.value.length+this.lastname.value.length}; function inputFacebookSubject(a,b,c,d){this.username=a;this.firstname=b;this.lastname=c;this.store_button=d}inputFacebookSubject.prototype={store_button:this.store_button,username:this.username,firstname:this.firstname,lastname:this.lastname};inputFacebookSubject.prototype.check=function(){return 0<this.username.value.length+this.firstname.value.length+this.lastname.value.length};
inputFacebookSubject.prototype.fieldsToStorage=function(){console.log("SUBJECT: FIELDS TO STORAGE");if(!this.check())return!1;lsi.set("subject",0,{username:this.username.value,firstname:this.firstname.value,lastname:this.lastname.value})}; inputFacebookSubject.prototype.fieldsToStorage=function(){console.log("SUBJECT: FIELDS TO STORAGE");if(!this.check())return!1;lsi.set("f_subject",0,{username:this.username.value,firstname:this.firstname.value,lastname:this.lastname.value})};
inputFacebookSubject.prototype.storageToFields=function(){console.log("SUBJECT: STORAGE TO FIELDS");var a=lsi.get("subject",0);null==a&&(a={username:"",firstname:"",lastname:""});this.username.value=a.username;this.firstname.value=a.firstname;this.lastname.value=a.lastname}; inputFacebookSubject.prototype.storageToFields=function(){console.log("SUBJECT: STORAGE TO FIELDS");var a=lsi.get("f_subject",0);null==a&&(a={username:"",firstname:"",lastname:""});this.username.value=a.username;this.firstname.value=a.firstname;this.lastname.value=a.lastname};
inputFacebookSubject.prototype.attach=function(){function a(a){b.fieldsToStorage()&&b.storageToFields()}console.log("SUBJECT: ATTACH");lsi.createDataset("subject");var b=this;this.store_button.addEventListener("click",a,!1);this.username.addEventListener("blur",a,!1);this.firstname.addEventListener("blur",a,!1);this.lastname.addEventListener("blur",a,!1);this.storageToFields()}; inputFacebookSubject.prototype.attach=function(){function a(a){b.fieldsToStorage()&&b.storageToFields()}console.log("SUBJECT: ATTACH");lsi.createDataset("f_subject");var b=this;this.store_button.addEventListener("click",a,!1);this.username.addEventListener("blur",a,!1);this.firstname.addEventListener("blur",a,!1);this.lastname.addEventListener("blur",a,!1);this.storageToFields()};

View File

@ -22,7 +22,7 @@ inputFacebookSubject.prototype = {
=========================================================*/ =========================================================*/
inputFacebookSubject.prototype.check = function(){ inputFacebookSubject.prototype.check = function(){
// On renvoie la validité du formulaire // On renvoie la validité du formulaire
return validForm = validForm && this.username.value.length+this.firstname.value.length+this.lastname.value.length > 0; return this.username.value.length+this.firstname.value.length+this.lastname.value.length > 0;
}; };
/* [3] Gestion de l'enregistrement des formulaires de contact /* [3] Gestion de l'enregistrement des formulaires de contact
@ -41,7 +41,7 @@ inputFacebookSubject.prototype.fieldsToStorage = function(){
}; };
// {3} On enregistre les données dans le 'localStorage' // // {3} On enregistre les données dans le 'localStorage' //
lsi.set('subject', 0, obj); lsi.set('f_subject', 0, obj);
}; };
@ -56,7 +56,7 @@ inputFacebookSubject.prototype.storageToFields = function(){
console.log('SUBJECT: STORAGE TO FIELDS'); console.log('SUBJECT: STORAGE TO FIELDS');
// {1} On récupère les informations du sujet // // {1} On récupère les informations du sujet //
var subjectData = lsi.get('subject', 0); var subjectData = lsi.get('f_subject', 0);
if( subjectData == null ) if( subjectData == null )
subjectData = { username: '', firstname: '', lastname: '' }; subjectData = { username: '', firstname: '', lastname: '' };
@ -75,7 +75,7 @@ inputFacebookSubject.prototype.attach = function(){
console.log('SUBJECT: ATTACH'); console.log('SUBJECT: ATTACH');
/* (1) On initialise le jeu de données */ /* (1) On initialise le jeu de données */
lsi.createDataset('subject'); lsi.createDataset('f_subject');
// Pointeur pour les scopes des addEventListener() // Pointeur pour les scopes des addEventListener()
var ptr = this; var ptr = this;

View File

@ -1,8 +1,8 @@
function inputPhoneContact(a,b){this.container=a;this.nav_container=b}inputPhoneContact.prototype={container:this.container,nav_container:this.nav_container,selected:0,handler:null};inputPhoneContact.prototype.check=function(a){var b=0<a.number.length;return b=b&&0<a.username.length+a.firstname.length+a.lastname.length}; function inputPhoneContact(a,b){this.container=a;this.nav_container=b}inputPhoneContact.prototype={container:this.container,nav_container:this.nav_container,selected:0,handler:null};inputPhoneContact.prototype.check=function(a){var b=0<a.number.length;return b=b&&0<a.username.length+a.firstname.length+a.lastname.length};
inputPhoneContact.prototype.fieldsToStorage=function(){console.log("CONTACTS: FIELDS TO STORAGE");for(var a=$$('[data-sublink="phone"] article.contact-panel .new-contact'),b=0;b<a.length;b++){var c=(new FormDeflater(a[b],["input"],["data-name"])).deflate();if(this.check(c)){var d={uid:parseInt(c.uid),number:c.number,username:c.username,firstname:c.firstname,lastname:c.lastname,call:parseInt(c.call),sms:parseInt(c.sms),countcall:parseInt(c.countcall),countsms:parseInt(c.countsms)};d.hash=crc32(JSON.stringify(d)); inputPhoneContact.prototype.fieldsToStorage=function(){console.log("CONTACTS: FIELDS TO STORAGE");for(var a=$$('[data-sublink="phone"] article.contact-panel .new-contact'),b=0;b<a.length;b++){var c=(new FormDeflater(a[b],["input"],["data-name"])).deflate();if(this.check(c)){var d={uid:parseInt(c.uid),number:c.number,username:c.username,firstname:c.firstname,lastname:c.lastname,call:parseInt(c.call),sms:parseInt(c.sms),countcall:parseInt(c.countcall),countsms:parseInt(c.countsms)};d.hash=crc32(JSON.stringify(d));
lsi.set("contacts",parseInt(c.uid),d)}}}; lsi.set("p_p_contacts",parseInt(c.uid),d)}}};
inputPhoneContact.prototype.add=function(a){console.log("CONTACTS: ADD");if(null==a||null==a.uid||isNaN(a.uid))return!1;a.number=null!=a.number?a.number:"";a.username=null!=a.username?a.username:"";a.firstname=null!=a.firstname?a.firstname:"";a.lastname=null!=a.lastname?a.lastname:"";a.call=null!=a.call?a.call:-1;a.sms=null!=a.sms?a.sms:-1;a.countcall=null!=a.countcall?a.countcall:0;a.countsms=null!=a.countsms?a.countsms:0;this.container.innerHTML+=pContactBuilder.build(a);a=$$('[data-sublink="phone"] article.contact-panel .new-contact'); inputPhoneContact.prototype.add=function(a){console.log("CONTACTS: ADD");if(null==a||null==a.uid||isNaN(a.uid))return!1;a.number=null!=a.number?a.number:"";a.username=null!=a.username?a.username:"";a.firstname=null!=a.firstname?a.firstname:"";a.lastname=null!=a.lastname?a.lastname:"";a.call=null!=a.call?a.call:-1;a.sms=null!=a.sms?a.sms:-1;a.countcall=null!=a.countcall?a.countcall:0;a.countsms=null!=a.countsms?a.countsms:0;this.container.innerHTML+=pContactBuilder.build(a);a=$$('[data-sublink="phone"] article.contact-panel .new-contact');
for(var b=this,c=0;c<a.length;c++)a[c].removeEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1),a[c].addEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1)};inputPhoneContact.prototype.storageToFields=function(){console.log("CONTACTS: STORAGE TO FIELDS");var a=lsi.keys("contacts");this.container.innerHTML="";for(var b=this.selected+10,c=this.selected;c<b&&c<a.length;c++)this.add(lsi.get("contacts",a[c]));b>=a.length&&this.add({uid:a.length});this.updateNavBar()}; for(var b=this,c=0;c<a.length;c++)a[c].removeEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1),a[c].addEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1)};inputPhoneContact.prototype.storageToFields=function(){console.log("CONTACTS: STORAGE TO FIELDS");var a=lsi.keys("p_contacts");this.container.innerHTML="";for(var b=this.selected+10,c=this.selected;c<b&&c<a.length;c++)this.add(lsi.get("p_contacts",a[c]));b>=a.length&&this.add({uid:a.length});this.updateNavBar()};
inputPhoneContact.prototype.nav=function(a){if(null==a||!1===a.getData("n")||isNaN(a.getData("n"))||"p_nav-contact"!=a.parentNode.id)return!1;for(var b=$$('[data-sublink="phone"] #p_nav-contact > span.active'),c=0;c<b.length;c++)b[c].remClass("active");a.addClass("active");this.selected=parseInt(a.getData("n"))}; inputPhoneContact.prototype.nav=function(a){if(null==a||!1===a.getData("n")||isNaN(a.getData("n"))||"p_nav-contact"!=a.parentNode.id)return!1;for(var b=$$('[data-sublink="phone"] #p_nav-contact > span.active'),c=0;c<b.length;c++)b[c].remClass("active");a.addClass("active");this.selected=parseInt(a.getData("n"))};
inputPhoneContact.prototype.updateNavBar=function(){var a=lsi.keys("contacts").length;if(this.nav_container.children.length!=a){this.nav_container.innerHTML="";for(var b=0;b<a;b+=10)this.nav_container.innerHTML+='<span data-n="'+b+'">'+(1+b/10)+"</span>"}this.nav($('[data-sublink="phone"] #p_nav-contact [data-n="'+this.selected+'"]'))}; inputPhoneContact.prototype.updateNavBar=function(){var a=lsi.keys("p_contacts").length;if(this.nav_container.children.length!=a){this.nav_container.innerHTML="";for(var b=0;b<a;b+=10)this.nav_container.innerHTML+='<span data-n="'+b+'">'+(1+b/10)+"</span>"}this.nav($('[data-sublink="phone"] #p_nav-contact [data-n="'+this.selected+'"]'))};
inputPhoneContact.prototype.attach=function(a){console.log("CONTACTS: ATTACH");lsi.createDataset("contacts");this.storageToFields();this.handler=a;var b=this;this.nav_container.addEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1)}; inputPhoneContact.prototype.attach=function(a){console.log("CONTACTS: ATTACH");lsi.createDataset("p_contacts");this.storageToFields();this.handler=a;var b=this;this.nav_container.addEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1)};

View File

@ -66,7 +66,7 @@ inputPhoneContact.prototype.fieldsToStorage = function(){
obj.hash = crc32( JSON.stringify(obj) ); obj.hash = crc32( JSON.stringify(obj) );
// {6} On enregistre les données dans le 'localStorage' // // {6} On enregistre les données dans le 'localStorage' //
lsi.set('contacts', parseInt(deflated.uid), obj); lsi.set('p_p_contacts', parseInt(deflated.uid), obj);
} }
@ -135,7 +135,7 @@ inputPhoneContact.prototype.storageToFields = function(){
console.log('CONTACTS: STORAGE TO FIELDS'); console.log('CONTACTS: STORAGE TO FIELDS');
// {1} Pour chaque contact du 'localStorage' // // {1} Pour chaque contact du 'localStorage' //
var contactKeys = lsi.keys('contacts'); var contactKeys = lsi.keys('p_contacts');
// On réinitialise le HTML // On réinitialise le HTML
this.container.innerHTML = ''; this.container.innerHTML = '';
@ -145,7 +145,7 @@ inputPhoneContact.prototype.storageToFields = function(){
var max = this.selected+10; // On s'arrête à 10 contacs var max = this.selected+10; // On s'arrête à 10 contacs
for( var i = min ; i < max && i < contactKeys.length ; i++ ) for( var i = min ; i < max && i < contactKeys.length ; i++ )
this.add( lsi.get('contacts', contactKeys[i]) ); this.add( lsi.get('p_contacts', contactKeys[i]) );
// On ajoute un champ de plus à remplir si c'est la dernière page // On ajoute un champ de plus à remplir si c'est la dernière page
@ -191,7 +191,7 @@ inputPhoneContact.prototype.nav = function(element){
/* [7] Mise à jour de la navigation /* [7] Mise à jour de la navigation
=========================================================*/ =========================================================*/
inputPhoneContact.prototype.updateNavBar = function(){ inputPhoneContact.prototype.updateNavBar = function(){
var contactKeys = lsi.keys('contacts'); var contactKeys = lsi.keys('p_contacts');
var len = contactKeys.length; var len = contactKeys.length;
@ -223,7 +223,7 @@ inputPhoneContact.prototype.attach = function(handler){
console.log('CONTACTS: ATTACH'); console.log('CONTACTS: ATTACH');
/* (1) On initialise le jeu de données */ /* (1) On initialise le jeu de données */
lsi.createDataset('contacts'); lsi.createDataset('p_contacts');
/* (2) On charge les contacts depuis la mémoire ('localStorage') */ /* (2) On charge les contacts depuis la mémoire ('localStorage') */
this.storageToFields(); this.storageToFields();

View File

@ -1,20 +1,20 @@
function inputPhoneFiche(a,b){this.container=a;this.nav_container=b}inputPhoneFiche.prototype={container:this.container,nav_container:this.nav_container,selected:0,handler:null,defaultData:{sexe:"0",age:".",job:".",famsit:"0",studies:".",reltype:"0",reltypeSpecial:"",city:"",quartier:"",cp:"",loc:"0",duration:["",""],context:"0",contextSpecial:["","",""],freq:["4","9","14","19","24"],connect:"1 3 5 7 9 11".split(" "),connectSpecial:["",""],timestamp:0,valid:!1}}; function inputPhoneFiche(a,b){this.container=a;this.nav_container=b}inputPhoneFiche.prototype={container:this.container,nav_container:this.nav_container,selected:0,handler:null,defaultData:{sexe:"0",age:".",job:".",famsit:"0",studies:".",reltype:"0",reltypeSpecial:"",city:"",quartier:"",cp:"",loc:"0",duration:["",""],context:"0",contextSpecial:["","",""],freq:["4","9","14","19","24"],connect:"1 3 5 7 9 11".split(" "),connectSpecial:["",""],timestamp:0,valid:!1}};
inputPhoneFiche.prototype.fieldsToStorage=function(){console.log("FICHE: FIELDS TO STORAGE");for(var a=$$('[data-sublink="phone"] article.relation-panel .fiche-relation'),b=0;b<a.length;b++){var c=(new FormDeflater(a[b],["input","select"],["data-name"])).deflate(),e=crc32(JSON.stringify(c)),d=lsi.get("fiches",c.uid);if(!1!==d){if(null!=d.hash&&d.hash==e)break;c={contact:parseInt(c.contact),uid:parseInt(c.uid),sexe:c.sexe,age:c.age,job:c.job,famsit:c.famsit,studies:c.studies,reltype:c.reltype,reltypeSpecial:c.reltypeSpecial, inputPhoneFiche.prototype.fieldsToStorage=function(){console.log("FICHE: FIELDS TO STORAGE");for(var a=$$('[data-sublink="phone"] article.relation-panel .fiche-relation'),b=0;b<a.length;b++){var c=(new FormDeflater(a[b],["input","select"],["data-name"])).deflate(),e=crc32(JSON.stringify(c)),d=lsi.get("p_fiches",c.uid);if(!1!==d){if(null!=d.hash&&d.hash==e)break;c={contact:parseInt(c.contact),uid:parseInt(c.uid),sexe:c.sexe,age:c.age,job:c.job,famsit:c.famsit,studies:c.studies,reltype:c.reltype,reltypeSpecial:c.reltypeSpecial,
city:c.city,quartier:c.quartier,cp:c.cp,loc:c.loc,duration:c.duration,context:c.context,contextSpecial:c.contextSpecial,freq:c.freq,connect:c.connect,connectSpecial:c.connectSpecial,hash:e};c.valid=this.check(c);0<diff(d,c,["hash","valid","timestamp"]).length&&(console.log(diff(d,c,["hash","valid","timestamp"])),console.warn("> FICHE UPDATE"),c.timestamp=Date.now());lsi.set("fiches",c.uid,c)}}}; city:c.city,quartier:c.quartier,cp:c.cp,loc:c.loc,duration:c.duration,context:c.context,contextSpecial:c.contextSpecial,freq:c.freq,connect:c.connect,connectSpecial:c.connectSpecial,hash:e};c.valid=this.check(c);0<diff(d,c,["hash","valid","timestamp"]).length&&(console.log(diff(d,c,["hash","valid","timestamp"])),console.warn("> FICHE UPDATE"),c.timestamp=Date.now());lsi.set("p_fiches",c.uid,c)}}};
inputPhoneFiche.prototype.add=function(a){console.log("FICHE: ADD");if(null==a.uid||isNaN(a.uid)||null==a.contact||isNaN(a.contact))return!1;a.city=null!=a.city?a.city:this.defaultData.city;a.quartier=null!=a.quartier?a.quartier:this.defaultData.quartier;a.cp=null!=a.cp?a.cp:this.defaultData.cp;a.duration[0]=null!=a.duration[0]?a.duration[0]:this.defaultData.duration[0];a.duration[1]=null!=a.duration[1]?a.duration[1]:this.defaultData.duration[1];a.reltypeSpecial=null!=a.reltypeSpecial?a.reltypeSpecial: inputPhoneFiche.prototype.add=function(a){console.log("FICHE: ADD");if(null==a.uid||isNaN(a.uid)||null==a.contact||isNaN(a.contact))return!1;a.city=null!=a.city?a.city:this.defaultData.city;a.quartier=null!=a.quartier?a.quartier:this.defaultData.quartier;a.cp=null!=a.cp?a.cp:this.defaultData.cp;a.duration[0]=null!=a.duration[0]?a.duration[0]:this.defaultData.duration[0];a.duration[1]=null!=a.duration[1]?a.duration[1]:this.defaultData.duration[1];a.reltypeSpecial=null!=a.reltypeSpecial?a.reltypeSpecial:
this.defaultData.reltypeSpecial;a.contextSpecial[0]=null!=a.contextSpecial[0]?a.contextSpecial[0]:this.defaultData.contextSpecial[0];a.contextSpecial[1]=null!=a.contextSpecial[1]?a.contextSpecial[1]:this.defaultData.contextSpecial[1];a.contextSpecial[2]=null!=a.contextSpecial[2]?a.contextSpecial[2]:this.defaultData.contextSpecial[2];a.connectSpecial[0]=null!=a.connectSpecial[0]?a.connectSpecial[0]:this.defaultData.connectSpecial[0];a.connectSpecial[1]=null!=a.connectSpecial[1]?a.connectSpecial[1]: this.defaultData.reltypeSpecial;a.contextSpecial[0]=null!=a.contextSpecial[0]?a.contextSpecial[0]:this.defaultData.contextSpecial[0];a.contextSpecial[1]=null!=a.contextSpecial[1]?a.contextSpecial[1]:this.defaultData.contextSpecial[1];a.contextSpecial[2]=null!=a.contextSpecial[2]?a.contextSpecial[2]:this.defaultData.contextSpecial[2];a.connectSpecial[0]=null!=a.connectSpecial[0]?a.connectSpecial[0]:this.defaultData.connectSpecial[0];a.connectSpecial[1]=null!=a.connectSpecial[1]?a.connectSpecial[1]:
this.defaultData.connectSpecial[1];a.job=null!=a.job?a.job:this.defaultData.job;a.studies=null!=a.studies?a.studies:this.defaultData.studies;a.age=null!=a.age?a.age:this.defaultData.age;a.sexe=null!=a.sexe?a.sexe:this.defaultData.sexe;a.famsit=null!=a.famsit?a.famsit:this.defaultData.famsit;a.reltype=null!=a.reltype?a.reltype:this.defaultData.reltype;a.loc=null!=a.loc?a.loc:this.defaultData.loc;a.context=null!=a.context?a.context:this.defaultData.context;a.freq=null!=a.freq?a.freq:this.defaultData.freq; this.defaultData.connectSpecial[1];a.job=null!=a.job?a.job:this.defaultData.job;a.studies=null!=a.studies?a.studies:this.defaultData.studies;a.age=null!=a.age?a.age:this.defaultData.age;a.sexe=null!=a.sexe?a.sexe:this.defaultData.sexe;a.famsit=null!=a.famsit?a.famsit:this.defaultData.famsit;a.reltype=null!=a.reltype?a.reltype:this.defaultData.reltype;a.loc=null!=a.loc?a.loc:this.defaultData.loc;a.context=null!=a.context?a.context:this.defaultData.context;a.freq=null!=a.freq?a.freq:this.defaultData.freq;
a.connect=null!=a.connect?a.connect:this.defaultData.connect;var b=lsi.get("contacts",a.contact);if(!1===b)return!1;this.container.innerHTML+=pFicheBuilder.build({name:readableName(b.username,b.firstname,b.lastname),countcall:b.countcall,countsms:b.countsms,uid:a.uid,contact:a.contact,city:a.city,quartier:a.quartier,cp:a.cp,duration0:a.duration[0],duration1:a.duration[1],reltypespecial:a.reltypeSpecial,contextspecial0:a.contextSpecial[0],contextspecial1:a.contextSpecial[1],contextspecial2:a.contextSpecial[2], a.connect=null!=a.connect?a.connect:this.defaultData.connect;var b=lsi.get("p_contacts",a.contact);if(!1===b)return!1;this.container.innerHTML+=pFicheBuilder.build({name:readableName(b.username,b.firstname,b.lastname),countcall:b.countcall,countsms:b.countsms,uid:a.uid,contact:a.contact,city:a.city,quartier:a.quartier,cp:a.cp,duration0:a.duration[0],duration1:a.duration[1],reltypespecial:a.reltypeSpecial,contextspecial0:a.contextSpecial[0],contextspecial1:a.contextSpecial[1],contextspecial2:a.contextSpecial[2],
connectspecial0:a.connectSpecial[0],connectspecial1:a.connectSpecial[1]});b=$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>span>select[data-name="job"]>option[value="'+a.job+'"]');null!=b&&b.setAttribute("selected","selected");b=$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>span>select[data-name="studies"]>option[value="'+a.studies+'"]');null!=b&&b.setAttribute("selected","selected");b=$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+ connectspecial0:a.connectSpecial[0],connectspecial1:a.connectSpecial[1]});b=$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>span>select[data-name="job"]>option[value="'+a.job+'"]');null!=b&&b.setAttribute("selected","selected");b=$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>span>select[data-name="studies"]>option[value="'+a.studies+'"]');null!=b&&b.setAttribute("selected","selected");b=$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+
a.uid+'"] ~ h5>span>select[data-name="age"]>option[value="'+a.age+'"]');null!=b&&b.setAttribute("selected","selected");for(var c=$$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]'),b=0;b<c.length;b++)c[b].value==a.sexe?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="famsit"]'); a.uid+'"] ~ h5>span>select[data-name="age"]>option[value="'+a.age+'"]');null!=b&&b.setAttribute("selected","selected");for(var c=$$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]'),b=0;b<c.length;b++)c[b].value==a.sexe?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="famsit"]');
for(b=0;b<c.length;b++)c[b].value==a.famsit?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="reltype"]');for(b=0;b<c.length;b++)c[b].value==a.reltype?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="loc"]'); for(b=0;b<c.length;b++)c[b].value==a.famsit?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="reltype"]');for(b=0;b<c.length;b++)c[b].value==a.reltype?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="loc"]');
for(b=0;b<c.length;b++)c[b].value==a.loc?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="context"]');for(b=0;b<c.length;b++)c[b].value==a.context?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="freq"]'); for(b=0;b<c.length;b++)c[b].value==a.loc?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="context"]');for(b=0;b<c.length;b++)c[b].value==a.context?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="freq"]');
for(b=0;b<c.length;b++)-1<a.freq.indexOf(c[b].value)?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="connect"]');for(b=0;b<c.length;b++)-1<a.connect.indexOf(c[b].value)?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked")}; for(b=0;b<c.length;b++)-1<a.freq.indexOf(c[b].value)?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="connect"]');for(b=0;b<c.length;b++)-1<a.connect.indexOf(c[b].value)?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked")};
inputPhoneFiche.prototype.storageToFields=function(){console.log("FICHE: STORAGE TO FIELDS");var a=lsi["export"]("fiches");this.container.innerHTML="";for(var b in a)a[b].uid==this.selected&&this.add(a[b]);this.updateNavBar()}; inputPhoneFiche.prototype.storageToFields=function(){console.log("FICHE: STORAGE TO FIELDS");var a=lsi["export"]("p_fiches");this.container.innerHTML="";for(var b in a)a[b].uid==this.selected&&this.add(a[b]);this.updateNavBar()};
inputPhoneFiche.prototype.sync=function(){console.log("FICHE: SYNC");var a=lsi["export"]("contacts"),b=[],c;for(c in a){if(-1<a[c].call){var e=a[c].call;b.push(e);var d=lsi.get("fiches",e);null==d&&(d=this.defaultData);d.uid=e;d.contact=parseInt(c);lsi.set("fiches",e,d)}-1<a[c].sms&&(e=10+a[c].sms,b.push(e),d=lsi.get("fiches",e),null==d&&(d=this.defaultData),d.uid=e,d.contact=parseInt(c),lsi.set("fiches",e,d))}e=20>lsi.keys("contacts").length?lsi.keys("contacts").length:20;if(b.length<e)for(c in a){for(a= inputPhoneFiche.prototype.sync=function(){console.log("FICHE: SYNC");var a=lsi["export"]("p_contacts"),b=[],c;for(c in a){if(-1<a[c].call){var e=a[c].call;b.push(e);var d=lsi.get("p_fiches",e);null==d&&(d=this.defaultData);d.uid=e;d.contact=parseInt(c);lsi.set("p_fiches",e,d)}-1<a[c].sms&&(e=10+a[c].sms,b.push(e),d=lsi.get("p_fiches",e),null==d&&(d=this.defaultData),d.uid=e,d.contact=parseInt(c),lsi.set("p_fiches",e,d))}e=20>lsi.keys("p_contacts").length?lsi.keys("contacts").length:20;if(b.length<
0;-1<b.indexOf(a)&&a<e;)a++;b.push(a);d=lsi.get("fiches",a);null==d&&(d=this.defaultData);d.uid=a;d.contact=parseInt(c);lsi.set("fiches",a,d);if(b.length>=e)break}for(var f in d)b=lsi.get("contacts",d[f].contact),null!=b&&-1!=b.sms&&-1!=b.call&&(b=10>parseInt(f)?10+b.sms:b.call,b=d[b],b.timestamp>=d[f].timestamp||(c=d[f],c.uid=b.uid,lsi.set("fiches",b.uid,c)))}; e)for(c in a){for(a=0;-1<b.indexOf(a)&&a<e;)a++;b.push(a);d=lsi.get("p_fiches",a);null==d&&(d=this.defaultData);d.uid=a;d.contact=parseInt(c);lsi.set("p_fiches",a,d);if(b.length>=e)break}for(var f in d)b=lsi.get("p_contacts",d[f].contact),null!=b&&-1!=b.sms&&-1!=b.call&&(b=10>parseInt(f)?10+b.sms:b.call,b=d[b],b.timestamp>=d[f].timestamp||(c=d[f],c.uid=b.uid,lsi.set("p_fiches",b.uid,c)))};
inputPhoneFiche.prototype.nav=function(a){if(null==a||!1===a.getData("n")||isNaN(a.getData("n"))||"p_nav-fiche"!=a.parentNode.id)return!1;for(var b=$$('[data-sublink="phone"] #p_nav-fiche > span.active'),c=0;c<b.length;c++)b[c].remClass("active");a.addClass("active");this.selected=parseInt(a.getData("n"))}; inputPhoneFiche.prototype.nav=function(a){if(null==a||!1===a.getData("n")||isNaN(a.getData("n"))||"p_nav-fiche"!=a.parentNode.id)return!1;for(var b=$$('[data-sublink="phone"] #p_nav-fiche > span.active'),c=0;c<b.length;c++)b[c].remClass("active");a.addClass("active");this.selected=parseInt(a.getData("n"))};
inputPhoneFiche.prototype.updateNavBar=function(){var a=lsi["export"]("fiches");this.nav_container.innerHTML="";for(var b=Object.keys(a),c=0;c<b.length;c++){var e=parseInt(b[c]);0==e&&(this.nav_container.innerHTML+="<span>APPELS</span>");10>e&&c<b.length-1&&10<=b[c+1]?this.nav_container.innerHTML+='<span data-n="'+e+'" class="lc">'+(e%10+1)+"</span>&nbsp;&nbsp;":(10==e&&(this.nav_container.innerHTML+='<span class="fc">SMS</span>'),this.nav_container.innerHTML+='<span data-n="'+e+'">'+(e%10+1)+"</span>")}for(var d in a)b= inputPhoneFiche.prototype.updateNavBar=function(){var a=lsi["export"]("p_fiches");this.nav_container.innerHTML="";for(var b=Object.keys(a),c=0;c<b.length;c++){var e=parseInt(b[c]);0==e&&(this.nav_container.innerHTML+="<span>APPELS</span>");10>e&&c<b.length-1&&10<=b[c+1]?this.nav_container.innerHTML+='<span data-n="'+e+'" class="lc">'+(e%10+1)+"</span>&nbsp;&nbsp;":(10==e&&(this.nav_container.innerHTML+='<span class="fc">SMS</span>'),this.nav_container.innerHTML+='<span data-n="'+e+'">'+(e%10+1)+"</span>")}for(var d in a)b=
$('[data-sublink="phone"] #p_nav-fiche [data-n="'+a[d].uid+'"]'),null!=b&&(!0===a[d].valid?b.addClass("done"):b.remClass("done"));this.nav($('[data-sublink="phone"] #p_nav-fiche [data-n="'+this.selected+'"]'))}; $('[data-sublink="phone"] #p_nav-fiche [data-n="'+a[d].uid+'"]'),null!=b&&(!0===a[d].valid?b.addClass("done"):b.remClass("done"));this.nav($('[data-sublink="phone"] #p_nav-fiche [data-n="'+this.selected+'"]'))};
inputPhoneFiche.prototype.check=function(a){if(2>a.city.length||isNaN(parseInt(a.duration[0]))&&0<a.duration[0].length||isNaN(parseInt(a.duration[1]))&&0<a.duration[1].length||0==a.duration[0].length+a.duration[1].length||"."==a.job||"."==a.studies||"."==a.age||""==a.sexe||""==a.famsit||""==a.reltype||""==a.loc||""==a.context)return!1;for(var b=0;b<a.freq.length;b++)if(""==a.freq[b])return!1;for(b=0;b<a.connect.length;b++)if(""==a.connect[b])return!1;return"10"==a.reltype&&2>a.reltypeSpecial.length|| inputPhoneFiche.prototype.check=function(a){if(2>a.city.length||isNaN(parseInt(a.duration[0]))&&0<a.duration[0].length||isNaN(parseInt(a.duration[1]))&&0<a.duration[1].length||0==a.duration[0].length+a.duration[1].length||"."==a.job||"."==a.studies||"."==a.age||""==a.sexe||""==a.famsit||""==a.reltype||""==a.loc||""==a.context)return!1;for(var b=0;b<a.freq.length;b++)if(""==a.freq[b])return!1;for(b=0;b<a.connect.length;b++)if(""==a.connect[b])return!1;return"10"==a.reltype&&2>a.reltypeSpecial.length||
"11"==a.context&&2>a.contextSpecial[0].length||"12"==a.context&&2>a.contextSpecial[1].length||"13"==a.context&&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(a.target)},!1)}; "11"==a.context&&2>a.contextSpecial[0].length||"12"==a.context&&2>a.contextSpecial[1].length||"13"==a.context&&2>a.contextSpecial[2].length?!1:!0};inputPhoneFiche.prototype.attach=function(a){console.log("FICHE: ATTACH");lsi.createDataset("p_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)};

View File

@ -58,7 +58,7 @@ inputPhoneFiche.prototype.fieldsToStorage = function(){
// {4} On récupère les données du LSI si elles existent // // {4} On récupère les données du LSI si elles existent //
var existingData = lsi.get('fiches', deflated.uid); var existingData = lsi.get('p_fiches', deflated.uid);
// Si n'existe pas, on passe au suivant // Si n'existe pas, on passe au suivant
if( existingData === false ) if( existingData === false )
@ -106,7 +106,7 @@ inputPhoneFiche.prototype.fieldsToStorage = function(){
} }
/* (7) On enregistre les données dans le 'localStorage' */ /* (7) On enregistre les données dans le 'localStorage' */
lsi.set('fiches', obj.uid, obj); lsi.set('p_fiches', obj.uid, obj);
} }
}; };
@ -162,7 +162,7 @@ inputPhoneFiche.prototype.add = function(objectData){
// {4} On récupère username/firstname/lastname du contact associé // // {4} On récupère username/firstname/lastname du contact associé //
var associatedContact = lsi.get('contacts', objectData.contact); var associatedContact = lsi.get('p_contacts', objectData.contact);
// Si on ne trouve pas le contact, on ne fais rien // Si on ne trouve pas le contact, on ne fais rien
if( associatedContact === false ) if( associatedContact === false )
@ -273,7 +273,7 @@ inputPhoneFiche.prototype.storageToFields = function(){
console.log('FICHE: STORAGE TO FIELDS'); console.log('FICHE: STORAGE TO FIELDS');
// {1} Pour chaque contact du 'localStorage' // // {1} Pour chaque contact du 'localStorage' //
var ficheData = lsi.export('fiches'); var ficheData = lsi.export('p_fiches');
// On réinitialise le HTML // On réinitialise le HTML
this.container.innerHTML = ''; this.container.innerHTML = '';
@ -306,7 +306,7 @@ inputPhoneFiche.prototype.sync = function(){
/* (1) Mise à jour en fonction des contacts APRÈS IMPORT /* (1) Mise à jour en fonction des contacts APRÈS IMPORT
---------------------------------------------------------*/ ---------------------------------------------------------*/
/* (1) On récupère tous les CONTACTS */ /* (1) On récupère tous les CONTACTS */
var contacts = lsi.export('contacts'); var contacts = lsi.export('p_contacts');
var addedFicheUids = []; // Contiendra les uids des fiches qui seront crées var addedFicheUids = []; // Contiendra les uids des fiches qui seront crées
/* (2) Pour chaque CONTACT, on met à jour/crée la FICHE associée, si dans le TOP 10 des APPELS ou des SMS */ /* (2) Pour chaque CONTACT, on met à jour/crée la FICHE associée, si dans le TOP 10 des APPELS ou des SMS */
@ -321,7 +321,7 @@ inputPhoneFiche.prototype.sync = function(){
addedFicheUids.push(ficheIndex); addedFicheUids.push(ficheIndex);
// On récupère les informations de la FICHE (si elle existe) */ // On récupère les informations de la FICHE (si elle existe) */
var ficheData = lsi.get('fiches', ficheIndex); var ficheData = lsi.get('p_fiches', ficheIndex);
// Si la fiche n'existe pas, on la crée avec les valeurs par défaut // Si la fiche n'existe pas, on la crée avec les valeurs par défaut
if( ficheData == null ) if( ficheData == null )
@ -330,7 +330,7 @@ inputPhoneFiche.prototype.sync = function(){
// On met à jour la fiche ET on l'enregistre // On met à jour la fiche ET on l'enregistre
ficheData.uid = ficheIndex; ficheData.uid = ficheIndex;
ficheData.contact = parseInt(uid); ficheData.contact = parseInt(uid);
lsi.set('fiches', ficheIndex, ficheData); lsi.set('p_fiches', ficheIndex, ficheData);
} }
@ -341,7 +341,7 @@ inputPhoneFiche.prototype.sync = function(){
addedFicheUids.push(ficheIndex); addedFicheUids.push(ficheIndex);
// On récupère les informations de la FICHE (si elle existe) */ // On récupère les informations de la FICHE (si elle existe) */
var ficheData = lsi.get('fiches', ficheIndex); var ficheData = lsi.get('p_fiches', ficheIndex);
// Si la fiche n'existe pas, on la crée avec les valeurs par défaut // Si la fiche n'existe pas, on la crée avec les valeurs par défaut
if( ficheData == null ) if( ficheData == null )
@ -350,7 +350,7 @@ inputPhoneFiche.prototype.sync = function(){
// On met à jour la fiche ET on l'enregistre // On met à jour la fiche ET on l'enregistre
ficheData.uid = ficheIndex; ficheData.uid = ficheIndex;
ficheData.contact = parseInt(uid); ficheData.contact = parseInt(uid);
lsi.set('fiches', ficheIndex, ficheData); lsi.set('p_fiches', ficheIndex, ficheData);
} }
@ -364,7 +364,7 @@ inputPhoneFiche.prototype.sync = function(){
/* (2) Mise à jour en fonction des contacts APRÈS SAISIE MANUELLE /* (2) Mise à jour en fonction des contacts APRÈS SAISIE MANUELLE
---------------------------------------------------------*/ ---------------------------------------------------------*/
// Nombre maximum de fiches (20, sauf si moins de 20 contacts, dans ce cas, le nombre de contacts); // Nombre maximum de fiches (20, sauf si moins de 20 contacts, dans ce cas, le nombre de contacts);
var nbMaxFiche = lsi.keys('contacts').length < 20 ? lsi.keys('contacts').length : 20; var nbMaxFiche = lsi.keys('p_contacts').length < 20 ? lsi.keys('contacts').length : 20;
// Si moins de 10+10 contacts crées, on les complètes en fonction des contacts séquentiellement // Si moins de 10+10 contacts crées, on les complètes en fonction des contacts séquentiellement
if( addedFicheUids.length < nbMaxFiche ){ if( addedFicheUids.length < nbMaxFiche ){
@ -381,7 +381,7 @@ inputPhoneFiche.prototype.sync = function(){
addedFicheUids.push(ficheUid); addedFicheUids.push(ficheUid);
/* (3) On récupère les informations de la FICHE (si elle existe) */ /* (3) On récupère les informations de la FICHE (si elle existe) */
var ficheData = lsi.get('fiches', ficheUid); var ficheData = lsi.get('p_fiches', ficheUid);
// Si la fiche n'existe pas, on la crée avec les valeurs par défaut // Si la fiche n'existe pas, on la crée avec les valeurs par défaut
if( ficheData == null ) if( ficheData == null )
@ -390,7 +390,7 @@ inputPhoneFiche.prototype.sync = function(){
/* (4) On met à jour la fiche ET on l'enregistre */ /* (4) On met à jour la fiche ET on l'enregistre */
ficheData.uid = ficheUid; ficheData.uid = ficheUid;
ficheData.contact = parseInt(uid); ficheData.contact = parseInt(uid);
lsi.set('fiches', ficheUid, ficheData); lsi.set('p_fiches', ficheUid, ficheData);
/* (5) Si on a déja crée 10+10 fiches, on arrête */ /* (5) Si on a déja crée 10+10 fiches, on arrête */
@ -404,7 +404,7 @@ inputPhoneFiche.prototype.sync = function(){
---------------------------------------------------------*/ ---------------------------------------------------------*/
for( var key in ficheData ){ for( var key in ficheData ){
/* (1) On récupère le contact associé */ /* (1) On récupère le contact associé */
var associatedContact = lsi.get('contacts', ficheData[key].contact); var associatedContact = lsi.get('p_contacts', ficheData[key].contact);
// Si erreur, on passe au suivant // Si erreur, on passe au suivant
if( associatedContact == null ) if( associatedContact == null )
@ -429,7 +429,7 @@ inputPhoneFiche.prototype.sync = function(){
/* (5) On copie les données de la FICHE dans le clone (cas ou la fiche est modifiée en dernier) */ /* (5) On copie les données de la FICHE dans le clone (cas ou la fiche est modifiée en dernier) */
var obj = ficheData[key]; var obj = ficheData[key];
obj.uid = clone.uid; obj.uid = clone.uid;
lsi.set('fiches', clone.uid, obj); lsi.set('p_fiches', clone.uid, obj);
} }
@ -471,7 +471,7 @@ inputPhoneFiche.prototype.nav = function(element){
/* [7] Mise à jour de la navigation /* [7] Mise à jour de la navigation
=========================================================*/ =========================================================*/
inputPhoneFiche.prototype.updateNavBar = function(){ inputPhoneFiche.prototype.updateNavBar = function(){
var ficheData = lsi.export('fiches'); var ficheData = lsi.export('p_fiches');
/* (2) 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 */
@ -611,7 +611,7 @@ inputPhoneFiche.prototype.attach = function(handler){
console.log('FICHE: ATTACH'); console.log('FICHE: ATTACH');
/* (1) On initialise le jeu de données */ /* (1) On initialise le jeu de données */
lsi.createDataset('fiches'); lsi.createDataset('p_fiches');
/* (2) On charge les fiche fiches depuis la mémoire ('localStorage') */ /* (2) On charge les fiche fiches depuis la mémoire ('localStorage') */
this.storageToFields(); this.storageToFields();

View File

@ -1,5 +1,5 @@
function inputPhoneMatrice(a){this.container=a}inputPhoneMatrice.prototype={container:this.container}; function inputPhoneMatrice(a){this.container=a}inputPhoneMatrice.prototype={container:this.container};
inputPhoneMatrice.prototype.fieldsToStorage=function(){console.log("MATRICE: FIELDS TO STORAGE");var a=(new FormDeflater(this.container,["input"],["data-name"])).deflate();crc32(JSON.stringify(a));var d={},b;for(b in a)if(a[b]instanceof Array)for(var e in a[b])null==d[b]&&(d[b]=[]),d[b].push(parseInt(a[b][e]));else null!==a[b]&&(null==d[b]&&(d[b]=[]),d[b].push(parseInt(a[b])));lsi.set("matrice",0,d)}; inputPhoneMatrice.prototype.fieldsToStorage=function(){console.log("MATRICE: FIELDS TO STORAGE");var a=(new FormDeflater(this.container,["input"],["data-name"])).deflate();crc32(JSON.stringify(a));var d={},b;for(b in a)if(a[b]instanceof Array)for(var e in a[b])null==d[b]&&(d[b]=[]),d[b].push(parseInt(a[b][e]));else null!==a[b]&&(null==d[b]&&(d[b]=[]),d[b].push(parseInt(a[b])));lsi.set("p_matrice",0,d)};
inputPhoneMatrice.prototype.storageToFields=function(){console.log("MATRICE: STORAGE TO FIELDS");var a=lsi["export"]("fiches"),d=lsi.get("matrice",0),b=lsi["export"]("contacts"),e=[],c;for(c in a)-1==e.indexOf(a[c].contact)&&e.push(a[c].contact);a="<table class='line'>";for(c=0;c<e.length;c++){var f=b[c],a=a+"<tr>";0<c?(a+='<td style="text-align: right;">',a+=readableName(f.username,f.firstname,f.lastname),a+="</td>"):a+="<td></td>";for(var h=0;h<e.length;h++)if(h<e.length-1){var g=b[h];0==c?(a+= inputPhoneMatrice.prototype.storageToFields=function(){console.log("MATRICE: STORAGE TO FIELDS");var a=lsi["export"]("p_fiches"),d=lsi.get("p_matrice",0),b=lsi["export"]("p_contacts"),e=[],c;for(c in a)-1==e.indexOf(a[c].contact)&&e.push(a[c].contact);a="<table class='line'>";for(c=0;c<e.length;c++){var f=b[c],a=a+"<tr>";0<c?(a+='<td style="text-align: right;">',a+=readableName(f.username,f.firstname,f.lastname),a+="</td>"):a+="<td></td>";for(var h=0;h<e.length;h++)if(h<e.length-1){var g=b[h];0==
"<td>",a+='<span style="writing-mode: vertical-lr; text-align: right;">',a+=readableName(g.username,g.firstname,g.lastname),a+="</span>"):h<c?(a+="<td>",a+="<input type='checkbox' name='matrice_"+f.uid+"_"+g.uid+"' data-name='"+f.uid+"' value='"+g.uid+"' id='matrice_"+f.uid+"_"+g.uid+"'",null!=d[c]&&-1<d[c].indexOf(h)&&(a+=" checked"),a+=" >",a+="<label for='matrice_"+f.uid+"_"+g.uid+"'></label>"):a+="<td class='hidden'>";a+="</td>"}a+="</tr>"}this.container.innerHTML=a+"</table>"}; c?(a+="<td>",a+='<span style="writing-mode: vertical-lr; text-align: right;">',a+=readableName(g.username,g.firstname,g.lastname),a+="</span>"):h<c?(a+="<td>",a+="<input type='checkbox' name='matrice_"+f.uid+"_"+g.uid+"' data-name='"+f.uid+"' value='"+g.uid+"' id='matrice_"+f.uid+"_"+g.uid+"'",null!=d[c]&&-1<d[c].indexOf(h)&&(a+=" checked"),a+=" >",a+="<label for='matrice_"+f.uid+"_"+g.uid+"'></label>"):a+="<td class='hidden'>";a+="</td>"}a+="</tr>"}this.container.innerHTML=a+"</table>"};
inputPhoneMatrice.prototype.attach=function(){console.log("MATRICE: ATTACH");lsi.createDataset("matrice");this.storageToFields();var a=this;this.container.addEventListener("click",function(d){a.fieldsToStorage();a.storageToFields()},!1)}; inputPhoneMatrice.prototype.attach=function(){console.log("MATRICE: ATTACH");lsi.createDataset("p_matrice");this.storageToFields();var a=this;this.container.addEventListener("click",function(d){a.fieldsToStorage();a.storageToFields()},!1)};

View File

@ -1,64 +1,64 @@
/* [0] Constructeur -> définit le conteneur et le bouton d'ajout /* [0] Constructeur -> définit le conteneur et le bouton d'ajout
=========================================================*/ =========================================================*/
function inputPhoneMatrice(container){ function inputPhoneMatrice(container){
this.container = container; this.container = container;
} }
/* [1] Attributs /* [1] Attributs
=========================================================*/ =========================================================*/
inputPhoneMatrice.prototype = { inputPhoneMatrice.prototype = {
container: this.container // Conteneur de la matrice container: this.container // Conteneur de la matrice
}; };
/* [2] Gestion de l'enregistrement de la matrice /* [2] Gestion de l'enregistrement de la matrice
=========================================================*/ =========================================================*/
inputPhoneMatrice.prototype.fieldsToStorage = function(){ inputPhoneMatrice.prototype.fieldsToStorage = function(){
console.log('MATRICE: FIELDS TO STORAGE'); console.log('MATRICE: FIELDS TO STORAGE');
// {1} On initialise notre deflater pour récupérer les valeurs // // {1} On initialise notre deflater pour récupérer les valeurs //
var deflater = new FormDeflater(this.container, ['input'], ['data-name']); var deflater = new FormDeflater(this.container, ['input'], ['data-name']);
// {2} On extrait les données // // {2} On extrait les données //
var deflated = deflater.deflate(); var deflated = deflater.deflate();
// On crée le hash // On crée le hash
var deflatedHash = crc32(JSON.stringify(deflated)); var deflatedHash = crc32(JSON.stringify(deflated));
// console.log(deflated); // console.log(deflated);
/* (3) On crée l'objet et on le remplit avec les relations */ /* (3) On crée l'objet et on le remplit avec les relations */
var obj = {}; var obj = {};
for( var i in deflated ) for( var i in deflated )
// {1} Si c'est un tableau de sujets // // {1} Si c'est un tableau de sujets //
if( deflated[i] instanceof Array ){ if( deflated[i] instanceof Array ){
// Pour chacune des différentes relations, on ajoute si TRUE // Pour chacune des différentes relations, on ajoute si TRUE
for( var a in deflated[i] ){ for( var a in deflated[i] ){
if( obj[i] == null ) if( obj[i] == null )
obj[i] = []; obj[i] = [];
obj[i].push( parseInt(deflated[i][a]) ); obj[i].push( parseInt(deflated[i][a]) );
} }
// {2} Si il n'y a qu'un sujet // // {2} Si il n'y a qu'un sujet //
}else if( deflated[i] !== null ){ }else if( deflated[i] !== null ){
if( obj[i] == null ) if( obj[i] == null )
obj[i] = []; obj[i] = [];
obj[i].push( parseInt(deflated[i]) ); obj[i].push( parseInt(deflated[i]) );
} }
lsi.set( 'matrice', 0, obj ); lsi.set( 'p_matrice', 0, obj );
// Objet de la forme // Objet de la forme
// //
// idA: [idV, idW], # A connait V et W (et réciproquement) // idA: [idV, idW], # A connait V et W (et réciproquement)
// idB: [idX, idY], # B connait X et Y (et réciproquement) // idB: [idX, idY], # B connait X et Y (et réciproquement)
// ... // ...
// //
}; };
@ -74,80 +74,80 @@ inputPhoneMatrice.prototype.fieldsToStorage = function(){
/* [4] Gestion de l'affichage depuis le 'localStorage' /* [4] Gestion de l'affichage depuis le 'localStorage'
=========================================================*/ =========================================================*/
inputPhoneMatrice.prototype.storageToFields = function(){ inputPhoneMatrice.prototype.storageToFields = function(){
console.log('MATRICE: STORAGE TO FIELDS'); console.log('MATRICE: STORAGE TO FIELDS');
/* (1) On récupère la liste des contacts à mettre dans la matrice */ /* (1) On récupère la liste des contacts à mettre dans la matrice */
// On récupère les fiches // On récupère les fiches
var ficheData = lsi.export('fiches'); var ficheData = lsi.export('p_fiches');
// On récupère les données de la matrice // On récupère les données de la matrice
var matriceData = lsi.get('matrice', 0); var matriceData = lsi.get('p_matrice', 0);
// On récupère les contacts pour afficher les noms/prénoms // On récupère les contacts pour afficher les noms/prénoms
var contactData = lsi.export('contacts'); var contactData = lsi.export('p_contacts');
// Contiendra les UID des contacts à mettre dans la matrice // Contiendra les UID des contacts à mettre dans la matrice
var contacts = []; var contacts = [];
// Pour chaque fiche, on ajoute l'uid du contact s'il n'est pas déja ajouté // Pour chaque fiche, on ajoute l'uid du contact s'il n'est pas déja ajouté
for( var f in ficheData ) for( var f in ficheData )
if( contacts.indexOf( ficheData[f].contact ) == -1 ) if( contacts.indexOf( ficheData[f].contact ) == -1 )
contacts.push( ficheData[f].contact ); contacts.push( ficheData[f].contact );
/* (2) On construit le HTML de la matrice */ /* (2) On construit le HTML de la matrice */
// Contiendra le HTML // Contiendra le HTML
var matrice_html = "<table class='line'>"; var matrice_html = "<table class='line'>";
// {1} Pour chaque ligne // // {1} Pour chaque ligne //
for( var A = 0 ; A < contacts.length ; A++ ){ for( var A = 0 ; A < contacts.length ; A++ ){
var conA = contactData[A]; var conA = contactData[A];
matrice_html += '<tr>'; matrice_html += '<tr>';
if( A > 0 ){ // Noms sur la première ligne (abscisses) if( A > 0 ){ // Noms sur la première ligne (abscisses)
matrice_html += '<td style="text-align: right;">'; matrice_html += '<td style="text-align: right;">';
matrice_html += readableName(conA.username, conA.firstname, conA.lastname); matrice_html += readableName(conA.username, conA.firstname, conA.lastname);
matrice_html += '</td>'; matrice_html += '</td>';
}else // Sinon, }else // Sinon,
matrice_html += '<td></td>'; matrice_html += '<td></td>';
// {2} Pour chaque case // // {2} Pour chaque case //
for( var B = 0 ; B < contacts.length ; B++ ){ if( B < contacts.length-1 ){ for( var B = 0 ; B < contacts.length ; B++ ){ if( B < contacts.length-1 ){
var conB = contactData[B]; var conB = contactData[B];
// {3} Première colonne -> Intitulé des ordonnées // // {3} Première colonne -> Intitulé des ordonnées //
if( A == 0 ){ if( A == 0 ){
matrice_html += '<td>'; matrice_html += '<td>';
matrice_html += '<span style="writing-mode: vertical-lr; text-align: right;">'; matrice_html += '<span style="writing-mode: vertical-lr; text-align: right;">';
matrice_html += readableName(conB.username, conB.firstname, conB.lastname), matrice_html += readableName(conB.username, conB.firstname, conB.lastname),
matrice_html += '</span>'; matrice_html += '</span>';
// {4} Valeurs des relations (boutons) // // {4} Valeurs des relations (boutons) //
}else if( B < A ){ }else if( B < A ){
matrice_html += "<td>"; matrice_html += "<td>";
matrice_html += "<input type='checkbox' name='matrice_"+conA.uid+"_"+conB.uid+"' data-name='"+conA.uid+"' value='"+conB.uid+"' id='matrice_"+conA.uid+"_"+conB.uid+"'"; matrice_html += "<input type='checkbox' name='matrice_"+conA.uid+"_"+conB.uid+"' data-name='"+conA.uid+"' value='"+conB.uid+"' id='matrice_"+conA.uid+"_"+conB.uid+"'";
// Si la relation existe, on active le bouton // Si la relation existe, on active le bouton
if( matriceData[A] != null && matriceData[A].indexOf(B) > -1 ) if( matriceData[A] != null && matriceData[A].indexOf(B) > -1 )
matrice_html += " checked"; matrice_html += " checked";
matrice_html += " >"; matrice_html += " >";
matrice_html += "<label for='matrice_"+conA.uid+"_"+conB.uid+"'></label>"; matrice_html += "<label for='matrice_"+conA.uid+"_"+conB.uid+"'></label>";
// {5} Cases vides (moitié supérieure droite) // // {5} Cases vides (moitié supérieure droite) //
}else }else
matrice_html += "<td class='hidden'>"; matrice_html += "<td class='hidden'>";
matrice_html += '</td>'; matrice_html += '</td>';
}} }}
matrice_html += '</tr>'; matrice_html += '</tr>';
} }
matrice_html += '</table>'; matrice_html += '</table>';
/* (3) On affiche la matrice */ /* (3) On affiche la matrice */
this.container.innerHTML = matrice_html; this.container.innerHTML = matrice_html;
}; };
@ -156,18 +156,18 @@ inputPhoneMatrice.prototype.storageToFields = function(){
/* [9] Point d'amorçage de la gestion des contacts /* [9] Point d'amorçage de la gestion des contacts
=========================================================*/ =========================================================*/
inputPhoneMatrice.prototype.attach = function(){ inputPhoneMatrice.prototype.attach = function(){
console.log('MATRICE: ATTACH'); console.log('MATRICE: ATTACH');
/* (1) On initialise le jeu de données */ /* (1) On initialise le jeu de données */
lsi.createDataset('matrice'); lsi.createDataset('p_matrice');
/* (2) On charge les mini fiches depuis la mémoire ('localStorage') */ /* (2) On charge les mini fiches depuis la mémoire ('localStorage') */
this.storageToFields(); this.storageToFields();
/* (3) On enregistre la matrice à chaque modification */ /* (3) On enregistre la matrice à chaque modification */
var ptr = this; var ptr = this;
this.container.addEventListener('click', function(e){ this.container.addEventListener('click', function(e){
ptr.fieldsToStorage(); ptr.fieldsToStorage();
ptr.storageToFields(); ptr.storageToFields();
}, false); }, false);
}; };

View File

@ -1,12 +1,12 @@
function inputPhoneMini(a,b){this.container=a;this.nav_container=b}inputPhoneMini.prototype={container:this.container,nav_container:this.nav_container,selected:0,handler:null,defaultData:{sexe:"0",age:".",studies:".",loc:"0",reltype:"0",reltypeSpecial:"",timestamp:0,valid:!1}}; function inputPhoneMini(a,b){this.container=a;this.nav_container=b}inputPhoneMini.prototype={container:this.container,nav_container:this.nav_container,selected:0,handler:null,defaultData:{sexe:"0",age:".",studies:".",loc:"0",reltype:"0",reltypeSpecial:"",timestamp:0,valid:!1}};
inputPhoneMini.prototype.fieldsToStorage=function(){console.log("MINI FICHE: FIELDS TO STORAGE");for(var a=$$('[data-sublink="phone"] article.mini-relation-panel .mini-fiche-relation'),b=0;b<a.length;b++){var c=(new FormDeflater(a[b],["input","select"],["data-name"])).deflate(),e=crc32(JSON.stringify(c)),d=lsi.get("mini-fiches",c.uid);if(!1!==d){if(null!=d&&null!=d.hash&&d.hash==e)break;console.warn("> MINI UPDATE");c={uid:parseInt(c.uid),sexe:c.sexe,age:c.age,studies:c.studies,reltype:c.reltype, inputPhoneMini.prototype.fieldsToStorage=function(){console.log("MINI FICHE: FIELDS TO STORAGE");for(var a=$$('[data-sublink="phone"] article.mini-relation-panel .mini-fiche-relation'),b=0;b<a.length;b++){var c=(new FormDeflater(a[b],["input","select"],["data-name"])).deflate(),e=crc32(JSON.stringify(c)),d=lsi.get("p_mini-fiches",c.uid);if(!1!==d){if(null!=d&&null!=d.hash&&d.hash==e)break;console.warn("> MINI UPDATE");c={uid:parseInt(c.uid),sexe:c.sexe,age:c.age,studies:c.studies,reltype:c.reltype,
reltypeSpecial:c.reltypeSpecial,loc:c.loc,hash:e};c.valid=this.check(c);0<diff(d,c,["hash","valid","timestamp"]).length&&(console.log(diff(d,c,["hash","valid","timestamp"])),console.warn("> FICHE UPDATE"),c.timestamp=Date.now());lsi.set("mini-fiches",c.uid,c)}}}; reltypeSpecial:c.reltypeSpecial,loc:c.loc,hash:e};c.valid=this.check(c);0<diff(d,c,["hash","valid","timestamp"]).length&&(console.log(diff(d,c,["hash","valid","timestamp"])),console.warn("> FICHE UPDATE"),c.timestamp=Date.now());lsi.set("p_mini-fiches",c.uid,c)}}};
inputPhoneMini.prototype.add=function(a){console.log("MINI FICHE: ADD");if(null==a||null==a.uid)return!1;a.age=null!=a.age?a.age:this.defaultData.age;a.sexe=null!=a.sexe?a.sexe:this.defaultData.sexe;a.studies=null!=a.studies?a.studies:this.defaultData.studies;a.reltype=null!=a.reltype?a.reltype:this.defaultData.reltype;a.reltypeSpecial=null!=a.reltypeSpecial?a.reltypeSpecial:this.defaultData.reltypeSpecial;a.loc=null!=a.loc?a.loc:this.defaultData.loc;var b=lsi.get("contacts",a.uid);if(!1===b)return!1; inputPhoneMini.prototype.add=function(a){console.log("MINI FICHE: ADD");if(null==a||null==a.uid)return!1;a.age=null!=a.age?a.age:this.defaultData.age;a.sexe=null!=a.sexe?a.sexe:this.defaultData.sexe;a.studies=null!=a.studies?a.studies:this.defaultData.studies;a.reltype=null!=a.reltype?a.reltype:this.defaultData.reltype;a.reltypeSpecial=null!=a.reltypeSpecial?a.reltypeSpecial:this.defaultData.reltypeSpecial;a.loc=null!=a.loc?a.loc:this.defaultData.loc;var b=lsi.get("p_contacts",a.uid);if(!1===b)return!1;
this.container.innerHTML+=pMiniFicheBuilder.build({name:readableName(b.username,b.firstname,b.lastname),countcall:b.countcall,countsms:b.countsms,uid:a.uid,reltypespecial:a.reltypeSpecial});b=$('[data-sublink="phone"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>span>select[data-name="studies"]>option[value="'+a.studies+'"]');null!=b&&b.setAttribute("selected","selected");b=$('[data-sublink="phone"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>span>select[data-name="age"]>option[value="'+ this.container.innerHTML+=pMiniFicheBuilder.build({name:readableName(b.username,b.firstname,b.lastname),countcall:b.countcall,countsms:b.countsms,uid:a.uid,reltypespecial:a.reltypeSpecial});b=$('[data-sublink="phone"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>span>select[data-name="studies"]>option[value="'+a.studies+'"]');null!=b&&b.setAttribute("selected","selected");b=$('[data-sublink="phone"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>span>select[data-name="age"]>option[value="'+
a.age+'"]');null!=b&&b.setAttribute("selected","selected");for(var c=$$('[data-sublink="phone"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]'),b=0;b<c.length;b++)c[b].value==a.sexe?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="phone"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="reltype"]');for(b=0;b<c.length;b++)c[b].value== a.age+'"]');null!=b&&b.setAttribute("selected","selected");for(var c=$$('[data-sublink="phone"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]'),b=0;b<c.length;b++)c[b].value==a.sexe?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="phone"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="reltype"]');for(b=0;b<c.length;b++)c[b].value==
a.reltype?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="phone"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="loc"]');for(b=0;b<c.length;b++)c[b].value==a.loc?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked")}; a.reltype?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('[data-sublink="phone"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="loc"]');for(b=0;b<c.length;b++)c[b].value==a.loc?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked")};
inputPhoneMini.prototype.storageToFields=function(){console.log("MINI FICHE: STORAGE TO FIELDS");var a=lsi.get("mini-fiches",this.selected);if(null==a)return this.updateNavBar(),!1;this.container.innerHTML="";this.add(a);this.updateNavBar()}; inputPhoneMini.prototype.storageToFields=function(){console.log("MINI FICHE: STORAGE TO FIELDS");var a=lsi.get("p_mini-fiches",this.selected);if(null==a)return this.updateNavBar(),!1;this.container.innerHTML="";this.add(a);this.updateNavBar()};
inputPhoneMini.prototype.sync=function(){console.log("MINI FICHE: SYNC");var a=lsi["export"]("contacts"),b=lsi["export"]("fiches"),c=[],e;for(e in b)-1==c.indexOf(b[e].contact)&&c.push(b[e].contact);for(var d in a)-1<c.indexOf(parseInt(d))?lsi.del("mini-fiches",d):(b=0==a[d].username.length+a[d].firstname.length+a[d].lastname.length?d.toString()+"-":d,e=lsi.get("mini-fiches",b),null==e&&(e=this.defaultData,e.valid=!1,isNaN(b)&&(e.reltype="9")),e.uid=parseInt(d),lsi.set("mini-fiches",b,e));e=lsi["export"]("mini-fiches"); inputPhoneMini.prototype.sync=function(){console.log("MINI FICHE: SYNC");var a=lsi["export"]("p_contacts"),b=lsi["export"]("p_fiches"),c=[],e;for(e in b)-1==c.indexOf(b[e].contact)&&c.push(b[e].contact);for(var d in a)-1<c.indexOf(parseInt(d))?lsi.del("p_mini-fiches",d):(b=0==a[d].username.length+a[d].firstname.length+a[d].lastname.length?d.toString()+"-":d,e=lsi.get("p_mini-fiches",b),null==e&&(e=this.defaultData,e.valid=!1,isNaN(b)&&(e.reltype="9")),e.uid=parseInt(d),lsi.set("p_mini-fiches",b,e));
if(null==e[this.selected])for(d in e)if(!isNaN(d)){this.selected=parseInt(d);break}};inputPhoneMini.prototype.nav=function(a){if(null==a||!1===a.getData("n")||isNaN(a.getData("n"))||"p_nav-mini"!=a.parentNode.id)return!1;for(var b=$$('[data-sublink="phone"] #p_nav-mini > span.active'),c=0;c<b.length;c++)b[c].remClass("active");a.addClass("active");this.selected=parseInt(a.getData("n"))}; e=lsi["export"]("p_mini-fiches");if(null==e[this.selected])for(d in e)if(!isNaN(d)){this.selected=parseInt(d);break}};inputPhoneMini.prototype.nav=function(a){if(null==a||!1===a.getData("n")||isNaN(a.getData("n"))||"p_nav-mini"!=a.parentNode.id)return!1;for(var b=$$('[data-sublink="phone"] #p_nav-mini > span.active'),c=0;c<b.length;c++)b[c].remClass("active");a.addClass("active");this.selected=parseInt(a.getData("n"))};
inputPhoneMini.prototype.updateNavBar=function(){var a=lsi["export"]("mini-fiches");this.nav_container.innerHTML="";var b=0,c;for(c in a)isNaN(c)||(this.nav_container.innerHTML+='<span data-n="'+c+'">'+ ++b+"</span>");for(c in a)isNaN(c)||(b=$('[data-sublink="phone"] #p_nav-mini [data-n="'+a[c].uid+'"]'),null!=b&&(!0===a[c].valid?b.addClass("done"):b.remClass("done")));this.nav($('[data-sublink="phone"] #p_nav-mini [data-n="'+this.selected+'"]'))}; inputPhoneMini.prototype.updateNavBar=function(){var a=lsi["export"]("p_mini-fiches");this.nav_container.innerHTML="";var b=0,c;for(c in a)isNaN(c)||(this.nav_container.innerHTML+='<span data-n="'+c+'">'+ ++b+"</span>");for(c in a)isNaN(c)||(b=$('[data-sublink="phone"] #p_nav-mini [data-n="'+a[c].uid+'"]'),null!=b&&(!0===a[c].valid?b.addClass("done"):b.remClass("done")));this.nav($('[data-sublink="phone"] #p_nav-mini [data-n="'+this.selected+'"]'))};
inputPhoneMini.prototype.check=function(a){return""==a.sexe||"."==a.studies||"."==a.age||""==a.loc||""==a.reltype||"10"==a.reltype&&2>a.reltypeSpecial.length?!1:!0};inputPhoneMini.prototype.attach=function(a){console.log("MINI FICHE: ATTACH");lsi.createDataset("mini-fiches");this.storageToFields();this.handler=a;var b=this;this.nav_container.addEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1)}; inputPhoneMini.prototype.check=function(a){return""==a.sexe||"."==a.studies||"."==a.age||""==a.loc||""==a.reltype||"10"==a.reltype&&2>a.reltypeSpecial.length?!1:!0};inputPhoneMini.prototype.attach=function(a){console.log("MINI FICHE: ATTACH");lsi.createDataset("p_mini-fiches");this.storageToFields();this.handler=a;var b=this;this.nav_container.addEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1)};

View File

@ -46,7 +46,7 @@ inputPhoneMini.prototype.fieldsToStorage = function(){
// {4} On récupère les données du LSI si elles existent // // {4} On récupère les données du LSI si elles existent //
var existingData = lsi.get('mini-fiches', deflated.uid); var existingData = lsi.get('p_mini-fiches', deflated.uid);
// Si n'existe pas, on passe à la suivante // Si n'existe pas, on passe à la suivante
if( existingData === false ) if( existingData === false )
@ -84,7 +84,7 @@ inputPhoneMini.prototype.fieldsToStorage = function(){
/* (9) On enregistre les données dans le 'localStorage' */ /* (9) On enregistre les données dans le 'localStorage' */
lsi.set('mini-fiches', obj.uid, obj); lsi.set('p_mini-fiches', obj.uid, obj);
} }
}; };
@ -121,7 +121,7 @@ inputPhoneMini.prototype.add = function(objectData){
// {1} On récupère username/firstname/lastname du contact associé // // {1} On récupère username/firstname/lastname du contact associé //
var associatedContact = lsi.get('contacts', objectData.uid); var associatedContact = lsi.get('p_contacts', objectData.uid);
// Si on ne trouve pas le contact, on ne fais rien // Si on ne trouve pas le contact, on ne fais rien
if( associatedContact === false ) if( associatedContact === false )
@ -183,7 +183,7 @@ inputPhoneMini.prototype.storageToFields = function(){
console.log('MINI FICHE: STORAGE TO FIELDS'); console.log('MINI FICHE: STORAGE TO FIELDS');
// {1} Pour chaque contact du 'localStorage' // // {1} Pour chaque contact du 'localStorage' //
var miniData = lsi.get('mini-fiches', this.selected); var miniData = lsi.get('p_mini-fiches', this.selected);
// Si on a rien trouvé, on ne fait rien // Si on a rien trouvé, on ne fait rien
if( miniData == null ){ if( miniData == null ){
@ -218,11 +218,11 @@ inputPhoneMini.prototype.sync = function(){
console.log('MINI FICHE: SYNC'); console.log('MINI FICHE: SYNC');
/* (1) On récupère les clés de tous les CONTACTS */ /* (1) On récupère les clés de tous les CONTACTS */
var contactData = lsi.export('contacts'); var contactData = lsi.export('p_contacts');
/* (2) On enregistre les contacts qui sont déja dans les FICHES */ /* (2) On enregistre les contacts qui sont déja dans les FICHES */
var fiches = lsi.export('fiches'); var fiches = lsi.export('p_fiches');
var ignoredContacts = []; var ignoredContacts = [];
for( var id in fiches ) for( var id in fiches )
if( ignoredContacts.indexOf( fiches[id].contact ) == -1 ) if( ignoredContacts.indexOf( fiches[id].contact ) == -1 )
@ -235,7 +235,7 @@ inputPhoneMini.prototype.sync = function(){
/* (4) Si le contact est déja dans une fiche, on le retire */ /* (4) Si le contact est déja dans une fiche, on le retire */
if( ignoredContacts.indexOf(parseInt(key)) > -1 ){ if( ignoredContacts.indexOf(parseInt(key)) > -1 ){
// On supprime au cas ou // On supprime au cas ou
lsi.del('mini-fiches', key); lsi.del('p_mini-fiches', key);
continue; continue;
} }
@ -246,7 +246,7 @@ inputPhoneMini.prototype.sync = function(){
var uid = noName ? key.toString()+'-' : key; var uid = noName ? key.toString()+'-' : key;
/* (5) On récupère les informations de la MINI (si elle existe) */ /* (5) On récupère les informations de la MINI (si elle existe) */
var miniData = lsi.get('mini-fiches', uid); var miniData = lsi.get('p_mini-fiches', uid);
/* (6) Si la MINI fiche n'exise pas, on la crée avec les valeurs par défaut */ /* (6) Si la MINI fiche n'exise pas, on la crée avec les valeurs par défaut */
@ -264,12 +264,12 @@ inputPhoneMini.prototype.sync = function(){
/* (8) On enregistre les modification */ /* (8) On enregistre les modification */
lsi.set('mini-fiches', uid, miniData); lsi.set('p_mini-fiches', uid, miniData);
} }
/* (9) On met à jour la mini-fiche en cours */ /* (9) On met à jour la mini-fiche en cours */
var miniData = lsi.export('mini-fiches'); var miniData = lsi.export('p_mini-fiches');
// Si la clé n'existe plus // Si la clé n'existe plus
if( miniData[this.selected] == null ){ if( miniData[this.selected] == null ){
@ -320,7 +320,7 @@ inputPhoneMini.prototype.nav = function(element){
/* [7] Mise à jour de la navigation /* [7] Mise à jour de la navigation
=========================================================*/ =========================================================*/
inputPhoneMini.prototype.updateNavBar = function(){ inputPhoneMini.prototype.updateNavBar = function(){
var miniData = lsi.export('mini-fiches'); var miniData = lsi.export('p_mini-fiches');
/* (1) On vide et remplit la barre de nav, si elle n'est pas à jour */ /* (1) On vide et remplit la barre de nav, si elle n'est pas à jour */
@ -402,7 +402,7 @@ inputPhoneMini.prototype.attach = function(handler){
console.log('MINI FICHE: ATTACH'); console.log('MINI FICHE: ATTACH');
/* (1) On initialise le jeu de données */ /* (1) On initialise le jeu de données */
lsi.createDataset('mini-fiches'); lsi.createDataset('p_mini-fiches');
/* (2) On charge les mini fiches depuis la mémoire ('localStorage') */ /* (2) On charge les mini fiches depuis la mémoire ('localStorage') */
this.storageToFields(); this.storageToFields();

View File

@ -1,4 +1,4 @@
function inputPhoneSubject(a,b,c,d,e,f){this.tmp_id=a;this.number=b;this.username=c;this.firstname=d;this.lastname=e;this.store_button=f}inputPhoneSubject.prototype={store_button:this.store_button,tmp_id:this.tmp_id,number:this.number,username:this.username,firstname:this.firstname,lastname:this.lastname};inputPhoneSubject.prototype.check=function(){var a=0<this.number.value.length;return a=a&&0<this.username.value.length+this.firstname.value.length+this.lastname.value.length}; function inputPhoneSubject(a,b,c,d,e,f){this.tmp_id=a;this.number=b;this.username=c;this.firstname=d;this.lastname=e;this.store_button=f}inputPhoneSubject.prototype={store_button:this.store_button,tmp_id:this.tmp_id,number:this.number,username:this.username,firstname:this.firstname,lastname:this.lastname};inputPhoneSubject.prototype.check=function(){var a=0<this.number.value.length;return a=a&&0<this.username.value.length+this.firstname.value.length+this.lastname.value.length};
inputPhoneSubject.prototype.fieldsToStorage=function(){console.log("SUBJECT: FIELDS TO STORAGE");if(!this.check())return!1;lsi.set("subject",0,{tmp_id:this.tmp_id.value,number:this.number.value,username:this.username.value,firstname:this.firstname.value,lastname:this.lastname.value})}; inputPhoneSubject.prototype.fieldsToStorage=function(){console.log("SUBJECT: FIELDS TO STORAGE");if(!this.check())return!1;lsi.set("p_subject",0,{tmp_id:this.tmp_id.value,number:this.number.value,username:this.username.value,firstname:this.firstname.value,lastname:this.lastname.value})};
inputPhoneSubject.prototype.storageToFields=function(){console.log("SUBJECT: STORAGE TO FIELDS");var a=lsi.get("subject",0);null==a&&(a={tmp_id:"",number:"",username:"",firstname:"",lastname:""});this.tmp_id.value=a.tmp_id;this.number.value=a.number;this.username.value=a.username;this.firstname.value=a.firstname;this.lastname.value=a.lastname}; inputPhoneSubject.prototype.storageToFields=function(){console.log("SUBJECT: STORAGE TO FIELDS");var a=lsi.get("p_subject",0);null==a&&(a={tmp_id:"",number:"",username:"",firstname:"",lastname:""});this.tmp_id.value=a.tmp_id;this.number.value=a.number;this.username.value=a.username;this.firstname.value=a.firstname;this.lastname.value=a.lastname};
inputPhoneSubject.prototype.attach=function(){function a(a){b.fieldsToStorage()&&b.storageToFields()}console.log("SUBJECT: ATTACH");lsi.createDataset("subject");var b=this;this.store_button.addEventListener("click",a,!1);this.number.addEventListener("blur",a,!1);this.username.addEventListener("blur",a,!1);this.firstname.addEventListener("blur",a,!1);this.lastname.addEventListener("blur",a,!1);this.storageToFields()}; inputPhoneSubject.prototype.attach=function(){function a(a){b.fieldsToStorage()&&b.storageToFields()}console.log("SUBJECT: ATTACH");lsi.createDataset("p_subject");var b=this;this.store_button.addEventListener("click",a,!1);this.number.addEventListener("blur",a,!1);this.username.addEventListener("blur",a,!1);this.firstname.addEventListener("blur",a,!1);this.lastname.addEventListener("blur",a,!1);this.storageToFields()};

View File

@ -1,59 +1,59 @@
/* [0] Constructeur -> définit le conteneur et le bouton d'ajout /* [0] Constructeur -> définit le conteneur et le bouton d'ajout
=========================================================*/ =========================================================*/
function inputPhoneSubject(iTmpId, iNumber, iUsername, iFirstname, iLastname, store_button){ function inputPhoneSubject(iTmpId, iNumber, iUsername, iFirstname, iLastname, store_button){
this.tmp_id = iTmpId; this.tmp_id = iTmpId;
this.number = iNumber; this.number = iNumber;
this.username = iUsername; this.username = iUsername;
this.firstname = iFirstname; this.firstname = iFirstname;
this.lastname = iLastname; this.lastname = iLastname;
this.store_button = store_button; this.store_button = store_button;
} }
/* [1] Attributs /* [1] Attributs
=========================================================*/ =========================================================*/
inputPhoneSubject.prototype = { inputPhoneSubject.prototype = {
store_button: this.store_button, // Bouton d'ajout d'un formulaire store_button: this.store_button, // Bouton d'ajout d'un formulaire
tmp_id: this.tmp_id, tmp_id: this.tmp_id,
number: this.number, number: this.number,
username: this.username, username: this.username,
firstname: this.firstname, firstname: this.firstname,
lastname: this.lastname lastname: this.lastname
}; };
/* [2] Vérification d'un formulaire /* [2] Vérification d'un formulaire
=========================================================*/ =========================================================*/
inputPhoneSubject.prototype.check = function(){ inputPhoneSubject.prototype.check = function(){
/* (1) Le numéro n'est pas vide */ /* (1) Le numéro n'est pas vide */
var validForm = this.number.value.length > 0; var validForm = this.number.value.length > 0;
/* (2) ET le pseudo et/ou le prénom et/ou le nom n'est pas vide */ /* (2) ET le pseudo et/ou le prénom et/ou le nom n'est pas vide */
validForm = validForm && this.username.value.length+this.firstname.value.length+this.lastname.value.length > 0; validForm = validForm && this.username.value.length+this.firstname.value.length+this.lastname.value.length > 0;
// On renvoie la validité du formulaire // On renvoie la validité du formulaire
return validForm; return validForm;
}; };
/* [3] Gestion de l'enregistrement des formulaires de contact /* [3] Gestion de l'enregistrement des formulaires de contact
=========================================================*/ =========================================================*/
inputPhoneSubject.prototype.fieldsToStorage = function(){ inputPhoneSubject.prototype.fieldsToStorage = function(){
console.log('SUBJECT: FIELDS TO STORAGE'); console.log('SUBJECT: FIELDS TO STORAGE');
// {1} Si le formulaire n'est pas valide, on ne l'enregistre pas // // {1} Si le formulaire n'est pas valide, on ne l'enregistre pas //
if( !this.check() ) return false; if( !this.check() ) return false;
// {2} On récupère et met en forme les valeurs du deflater // // {2} On récupère et met en forme les valeurs du deflater //
var obj = { var obj = {
tmp_id: this.tmp_id.value, tmp_id: this.tmp_id.value,
number: this.number.value, number: this.number.value,
username: this.username.value, username: this.username.value,
firstname: this.firstname.value, firstname: this.firstname.value,
lastname: this.lastname.value lastname: this.lastname.value
}; };
// {3} On enregistre les données dans le 'localStorage' // // {3} On enregistre les données dans le 'localStorage' //
lsi.set('subject', 0, obj); lsi.set('p_subject', 0, obj);
}; };
@ -65,20 +65,20 @@ inputPhoneSubject.prototype.fieldsToStorage = function(){
/* [4] Gestion de l'affichage depuis le 'localStorage' /* [4] Gestion de l'affichage depuis le 'localStorage'
=========================================================*/ =========================================================*/
inputPhoneSubject.prototype.storageToFields = function(){ inputPhoneSubject.prototype.storageToFields = function(){
console.log('SUBJECT: STORAGE TO FIELDS'); console.log('SUBJECT: STORAGE TO FIELDS');
// {1} On récupère les informations du sujet // // {1} On récupère les informations du sujet //
var subjectData = lsi.get('subject', 0); var subjectData = lsi.get('p_subject', 0);
if( subjectData == null ) if( subjectData == null )
subjectData = { tmp_id: '', number: '', username: '', firstname: '', lastname: '' }; subjectData = { tmp_id: '', number: '', username: '', firstname: '', lastname: '' };
// {2} On restore les valeurs // // {2} On restore les valeurs //
this.tmp_id.value = subjectData.tmp_id; this.tmp_id.value = subjectData.tmp_id;
this.number.value = subjectData.number; this.number.value = subjectData.number;
this.username.value = subjectData.username; this.username.value = subjectData.username;
this.firstname.value = subjectData.firstname; this.firstname.value = subjectData.firstname;
this.lastname.value = subjectData.lastname; this.lastname.value = subjectData.lastname;
}; };
@ -86,26 +86,26 @@ inputPhoneSubject.prototype.storageToFields = function(){
/* [5] Point d'amorçage de la gestion des contacts /* [5] Point d'amorçage de la gestion des contacts
=========================================================*/ =========================================================*/
inputPhoneSubject.prototype.attach = function(){ inputPhoneSubject.prototype.attach = function(){
console.log('SUBJECT: ATTACH'); console.log('SUBJECT: ATTACH');
/* (1) On initialise le jeu de données */ /* (1) On initialise le jeu de données */
lsi.createDataset('subject'); lsi.createDataset('p_subject');
// Pointeur pour les scopes des addEventListener() // Pointeur pour les scopes des addEventListener()
var ptr = this; var ptr = this;
// Handler de mise à jour quand les champs sont bons // Handler de mise à jour quand les champs sont bons
function fts(e){ if( ptr.fieldsToStorage() ) ptr.storageToFields(); } function fts(e){ if( ptr.fieldsToStorage() ) ptr.storageToFields(); }
/* (2) On attache l'évènement sur le bouton d'enregistrement */ /* (2) On attache l'évènement sur le bouton d'enregistrement */
this.store_button.addEventListener('click', fts, false); this.store_button.addEventListener('click', fts, false);
/* (3) On attache un évènement de 'blur' sur chaque '<input type="text">' */ /* (3) On attache un évènement de 'blur' sur chaque '<input type="text">' */
this.number.addEventListener( 'blur', fts, false); this.number.addEventListener( 'blur', fts, false);
this.username.addEventListener( 'blur', fts, false); this.username.addEventListener( 'blur', fts, false);
this.firstname.addEventListener( 'blur', fts, false); this.firstname.addEventListener( 'blur', fts, false);
this.lastname.addEventListener( 'blur', fts, false); this.lastname.addEventListener( 'blur', fts, false);
/* (4) On charge le sujet depuis la mémoire ('localStorage') */ /* (4) On charge le sujet depuis la mémoire ('localStorage') */
this.storageToFields(); this.storageToFields();
}; };

31
view/js/input-min.js vendored
View File

@ -5,22 +5,23 @@ cMiniManager.sync(),cMiniManager.storageToFields(),cFicheManager.storageToFields
$('[data-sublink="phone"] article.subject-panel [data-name="number"]'),$('[data-sublink="phone"] article.subject-panel [data-name="username"]'),$('[data-sublink="phone"] article.subject-panel [data-name="firstname"]'),$('[data-sublink="phone"] article.subject-panel [data-name="lastname"]'),$('[data-sublink="phone"] article.subject-panel [data-name="submit"]'));cSubjectManager.attach();cContactManager=new inputPhoneContact($('[data-sublink="phone"] article.contact-panel'),$('[data-sublink="phone"] #p_nav-contact')); $('[data-sublink="phone"] article.subject-panel [data-name="number"]'),$('[data-sublink="phone"] article.subject-panel [data-name="username"]'),$('[data-sublink="phone"] article.subject-panel [data-name="firstname"]'),$('[data-sublink="phone"] article.subject-panel [data-name="lastname"]'),$('[data-sublink="phone"] article.subject-panel [data-name="submit"]'));cSubjectManager.attach();cContactManager=new inputPhoneContact($('[data-sublink="phone"] article.contact-panel'),$('[data-sublink="phone"] #p_nav-contact'));
cContactManager.attach(cDynamicUpdate);cMiniManager=new inputPhoneMini($('[data-sublink="phone"] article.mini-relation-panel'),$('[data-sublink="phone"] #p_nav-mini'));cMiniManager.attach(cDynamicUpdate);cFicheManager=new inputPhoneFiche($('[data-sublink="phone"] article.relation-panel'),$('[data-sublink="phone"] #p_nav-fiche'));cFicheManager.attach(cDynamicUpdate);cMatriceManager=new inputPhoneMatrice($('[data-sublink="phone"] article.matrice-panel'));cMatriceManager.attach(cDynamicUpdate);$('[data-sublink="phone"] input#p_call_log-import[type="file"]').addEventListener("click", cContactManager.attach(cDynamicUpdate);cMiniManager=new inputPhoneMini($('[data-sublink="phone"] article.mini-relation-panel'),$('[data-sublink="phone"] #p_nav-mini'));cMiniManager.attach(cDynamicUpdate);cFicheManager=new inputPhoneFiche($('[data-sublink="phone"] article.relation-panel'),$('[data-sublink="phone"] #p_nav-fiche'));cFicheManager.attach(cDynamicUpdate);cMatriceManager=new inputPhoneMatrice($('[data-sublink="phone"] article.matrice-panel'));cMatriceManager.attach(cDynamicUpdate);$('[data-sublink="phone"] input#p_call_log-import[type="file"]').addEventListener("click",
function(a){a.target.value=null},!1);$('[data-sublink="phone"] input#p_call_log-import[type="file"]').addEventListener("change",function(a){a={path:"upload/call_log",phone_number:$('[data-sublink="phone"] #p_subject_phone_number').value,file:a.target.files[0]};api.send(a,function(a){console.log(a);var b=null;if(0!=a.ModuleError)9==a.ModuleError?Notification.error("Erreur","Il est n\u00e9cessaire de saisir les informations du <b>sujet</b> avant d'exporter son journal d'appel"):Notification.error("Erreur", function(a){a.target.value=null},!1);$('[data-sublink="phone"] input#p_call_log-import[type="file"]').addEventListener("change",function(a){a={path:"upload/call_log",phone_number:$('[data-sublink="phone"] #p_subject_phone_number').value,file:a.target.files[0]};api.send(a,function(a){console.log(a);var b=null;if(0!=a.ModuleError)9==a.ModuleError?Notification.error("Erreur","Il est n\u00e9cessaire de saisir les informations du <b>sujet</b> avant d'exporter son journal d'appel"):Notification.error("Erreur",
a.ModuleError);else{b=Notification.info("Info","Chargement du journal d'appel");cSubjectManager.tmp_id.value=a.tmp_id;cSubjectManager.fieldsToStorage();cSubjectManager.storageToFields();for(var e=0;e<a.call.length;e++){var d=a.directory[a.call[e]],f=d.name.split(" ");lsi.set("contacts",d.id,{uid:d.id,number:d.number,username:1==f.length?f[0]:"",firstname:1<f.length?f[0]:"",lastname:1<f.length?f.splice(1).join(" "):"",countsms:d.sms,countcall:d.call,call:e,sms:-1})}for(e=0;e<a.sms.length;e++)d=a.directory[a.sms[e]], a.ModuleError);else{b=Notification.info("Info","Chargement du journal d'appel");cSubjectManager.tmp_id.value=a.tmp_id;cSubjectManager.fieldsToStorage();cSubjectManager.storageToFields();for(var e=0;e<a.call.length;e++){var d=a.directory[a.call[e]],f=d.name.split(" ");lsi.set("p_contacts",d.id,{uid:d.id,number:d.number,username:1==f.length?f[0]:"",firstname:1<f.length?f[0]:"",lastname:1<f.length?f.splice(1).join(" "):"",countsms:d.sms,countcall:d.call,call:e,sms:-1})}for(e=0;e<a.sms.length;e++)d=a.directory[a.sms[e]],
-1<a.call.indexOf(a.sms[e])?(f=lsi.get("contacts",d.id),f.sms=e,lsi.set("contacts",d.id,f)):(f=d.name.split(" "),lsi.set("contacts",d.id,{uid:d.id,number:d.number,username:1==f.length?f[0]:"",firstname:1<f.length?f[0]:"",lastname:1<f.length?f.splice(1).join(" "):"",countsms:d.sms,countcall:d.call,call:-1,sms:e}));for(var g in a.directory)g=parseInt(g),-1<a.call.indexOf(g)||-1<a.sms.indexOf(g)||(d=a.directory[g],f=d.name.split(" "),lsi.set("contacts",d.id,{uid:d.id,number:d.number,username:1==f.length? -1<a.call.indexOf(a.sms[e])?(f=lsi.get("p_contacts",d.id),f.sms=e,lsi.set("p_contacts",d.id,f)):(f=d.name.split(" "),lsi.set("p_contacts",d.id,{uid:d.id,number:d.number,username:1==f.length?f[0]:"",firstname:1<f.length?f[0]:"",lastname:1<f.length?f.splice(1).join(" "):"",countsms:d.sms,countcall:d.call,call:-1,sms:e}));for(var g in a.directory)g=parseInt(g),-1<a.call.indexOf(g)||-1<a.sms.indexOf(g)||(d=a.directory[g],f=d.name.split(" "),lsi.set("p_contacts",d.id,{uid:d.id,number:d.number,username:1==
f[0]:"",firstname:1<f.length?f[0]:"",lastname:1<f.length?f.splice(1).join(" "):"",countsms:d.sms,countcall:d.call,call:-1,sms:-1}));cContactManager.storageToFields();cDynamicUpdate(!0);null!=b&&b.click();Notification.success("OK","Chargement termin\u00e9")}})},!1);$('[data-sublink="phone"] #p_clear-all').addEventListener("click",function(a){lsi.clear("subject");lsi.clear("contacts");lsi.clear("mini-fiches");lsi.clear("fiches");lsi.clear("matrice");cSubjectManager.storageToFields();cContactManager.storageToFields(); f.length?f[0]:"",firstname:1<f.length?f[0]:"",lastname:1<f.length?f.splice(1).join(" "):"",countsms:d.sms,countcall:d.call,call:-1,sms:-1}));cContactManager.storageToFields();cDynamicUpdate(!0);null!=b&&b.click();Notification.success("OK","Chargement termin\u00e9")}})},!1);$('[data-sublink="phone"] #p_clear-all').addEventListener("click",function(a){lsi.clear("p_subject");lsi.clear("p_contacts");lsi.clear("p_mini-fiches");lsi.clear("p_fiches");lsi.clear("p_matrice");cSubjectManager.storageToFields();
cMiniManager.storageToFields();cFicheManager.storageToFields();cMatriceManager.storageToFields();Notification.success("OK","Les donn\u00e9es ont \u00e9t\u00e9 supprim\u00e9es")},!1);$('[data-sublink="phone"] #p_export-all').addEventListener("click",function(a){Notification.info("INFORMATION","Lancement du t\u00e9l\u00e9chargement de la sauvegarde");a={subject:lsi["export"]("subject")[0],contacts:lsi["export"]("contacts"),mini:lsi["export"]("mini-fiches"),fiches:lsi["export"]("fiches"),matrice:lsi["export"]("matrice")[0]}; cContactManager.storageToFields();cMiniManager.storageToFields();cFicheManager.storageToFields();cMatriceManager.storageToFields();Notification.success("OK","Les donn\u00e9es ont \u00e9t\u00e9 supprim\u00e9es")},!1);$('[data-sublink="phone"] #p_export-all').addEventListener("click",function(a){Notification.info("INFORMATION","Lancement du t\u00e9l\u00e9chargement de la sauvegarde");a={subject:lsi["export"]("p_subject")[0],contacts:lsi["export"]("p_contacts"),mini:lsi["export"]("p_mini-fiches"),fiches:lsi["export"]("p_fiches"),
var c=$('[data-sublink="phone"] #p_download-target');c.download="local-phone-data.json";c.href="data:application/octet-stream,"+encodeURIComponent(JSON.stringify(a));c.click()},!1);$('[data-sublink="phone"] #p_import-all').addEventListener("click",function(a){$('[data-sublink="phone"] #local-upload').click()},!1);$('[data-sublink="phone"] #p_local-upload').addEventListener("click",function(a){a.target.value=null},!1);$('[data-sublink="phone"] #p_local-upload').addEventListener("change",function(a){a= matrice:lsi["export"]("p_matrice")[0]};var c=$('[data-sublink="phone"] #p_download-target');c.download="local-phone-data.json";c.href="data:application/octet-stream,"+encodeURIComponent(JSON.stringify(a));c.click()},!1);$('[data-sublink="phone"] #p_import-all').addEventListener("click",function(a){$('[data-sublink="phone"] #p_local-upload').click()},!1);$('[data-sublink="phone"] #p_local-upload').addEventListener("click",function(a){a.target.value=null},!1);$('[data-sublink="phone"] #p_local-upload').addEventListener("change",
{path:"upload/local_data",file:$('[data-sublink="phone"] #p_local-upload').files[0]};api.send(a,function(a){console.log(a);if(0!=a.ModuleError)return Notification.error("Erreur",a.ModuleError),!1;lsi.set("subject",0,a.local_data.subject);lsi["import"]("contacts",a.local_data.contacts);lsi["import"]("mini-fiches",a.local_data.mini);lsi["import"]("fiches",a.local_data.fiches);lsi.set("matrice",0,a.local_data.matrice);cSubjectManager.storageToFields();cContactManager.storageToFields();cMatriceManager.storageToFields(); function(a){a={path:"upload/local_data",file:$('[data-sublink="phone"] #p_local-upload').files[0]};api.send(a,function(a){console.log(a);if(0!=a.ModuleError)return Notification.error("Erreur",a.ModuleError),!1;lsi.set("p_subject",0,a.local_data.subject);lsi["import"]("p_contacts",a.local_data.contacts);lsi["import"]("p_mini-fiches",a.local_data.mini);lsi["import"]("p_fiches",a.local_data.fiches);lsi.set("p_matrice",0,a.local_data.matrice);cSubjectManager.storageToFields();cContactManager.storageToFields();
cDynamicUpdate(!0)})},!1);$('[data-sublink="phone"] #p_submit-all').addEventListener("click",function(a){console.log("> GATHERING ALL DATA");cSubjectManager.fieldsToStorage();cContactManager.fieldsToStorage();cMiniManager.fieldsToStorage();cFicheManager.fieldsToStorage();if(!cSubjectManager.check())return Notification.warning("Attention","Vous devez saisir les informations du <i>sujet</i>"),!1;a=lsi["export"]("mini-fiches");var c=0,b;for(b in a)if(!isNaN(b)&&(c++,!a[b].valid))return Notification.warning("Attention", cMatriceManager.storageToFields();cDynamicUpdate(!0)})},!1);$('[data-sublink="phone"] #p_submit-all').addEventListener("click",function(a){console.log("> GATHERING ALL DATA");cSubjectManager.fieldsToStorage();cContactManager.fieldsToStorage();cMiniManager.fieldsToStorage();cFicheManager.fieldsToStorage();if(!cSubjectManager.check())return Notification.warning("Attention","Vous devez saisir les informations du <i>sujet</i>"),!1;a=lsi["export"]("p_mini-fiches");var c=0,b;for(b in a)if(!isNaN(b)&&(c++,
"La <i>fiche rapide</i> <b>"+c+"</b> est incompl\u00e8te et/ou incorrecte"),!1;b={path:"input/phone",subject:lsi["export"]("subject")[0],contacts:lsi["export"]("contacts"),mini:lsi["export"]("mini-fiches"),fiches:lsi["export"]("fiches"),matrice:lsi["export"]("matrice")[0]};api.send(b,function(a){console.log(a);if(0!=a.ModuleError)return Notification.error("ERREUR",a.ModuleError),!1;console.log(a)},!1)},!1)})})})})})}var fSubjectManager,fContactManager,fMiniManager,fFicheManager,fMatriceManager; !a[b].valid))return Notification.warning("Attention","La <i>fiche rapide</i> <b>"+c+"</b> est incompl\u00e8te et/ou incorrecte"),!1;b={path:"input/phone",subject:lsi["export"]("p_subject")[0],contacts:lsi["export"]("p_contacts"),mini:lsi["export"]("p_mini-fiches"),fiches:lsi["export"]("p_fiches"),matrice:lsi["export"]("p_matrice")[0]};api.send(b,function(a){console.log(a);if(0!=a.ModuleError)return Notification.error("ERREUR",a.ModuleError),!1;console.log(a)},!1)},!1)})})})})})}
var fSubjectManager,fContactManager,fMiniManager,fFicheManager,fMatriceManager;
if(null!=pageManager.vars[0]&&"facebook"==pageManager.vars[0]){var fDynamicUpdate=function(a){var c=a instanceof Element,b=c&&"SPAN"==a.tagName&&"switch-left"==a.className,e=c&&"SPAN"==a.tagName&&"switch-both"==a.className,d=c&&"INPUT"==a.tagName&&"submit"==a.type,f=c&&"SPAN"==a.tagName&&("f_nav-mini"==a.parentNode.id||"f_nav-fiche"==a.parentNode.id),c=c&&"SPAN"==a.tagName&&"f_nav-contact"==a.parentNode.id;if(!(e||b||d||f||c)&&!0!==a)return!1;if(e)console.log("> switch firstname <-> lastname"),b= if(null!=pageManager.vars[0]&&"facebook"==pageManager.vars[0]){var fDynamicUpdate=function(a){var c=a instanceof Element,b=c&&"SPAN"==a.tagName&&"switch-left"==a.className,e=c&&"SPAN"==a.tagName&&"switch-both"==a.className,d=c&&"INPUT"==a.tagName&&"submit"==a.type,f=c&&"SPAN"==a.tagName&&("f_nav-mini"==a.parentNode.id||"f_nav-fiche"==a.parentNode.id),c=c&&"SPAN"==a.tagName&&"f_nav-contact"==a.parentNode.id;if(!(e||b||d||f||c)&&!0!==a)return!1;if(e)console.log("> switch firstname <-> lastname"),b=
a.parentNode,a=b.children[2],b=b.children[3],e=a.value,a.value=b.value,b.value=e;else if(b){console.log("> switch firstname+lastname -> username");b=a.parentNode;e=b.children[1];a=b.children[2];b=b.children[3];if(0<e.value.length||0==a.value.length&&0==b.value.length)return!1;e.value=a.value+" "+b.value;a.value="";b.value=""}else console.log("> dynamic update"),fMiniManager.fieldsToStorage(),fFicheManager.fieldsToStorage(),fContactManager.fieldsToStorage(),fMatriceManager.fieldsToStorage(),fFicheManager.sync(), a.parentNode,a=b.children[2],b=b.children[3],e=a.value,a.value=b.value,b.value=e;else if(b){console.log("> switch firstname+lastname -> username");b=a.parentNode;e=b.children[1];a=b.children[2];b=b.children[3];if(0<e.value.length||0==a.value.length&&0==b.value.length)return!1;e.value=a.value+" "+b.value;a.value="";b.value=""}else console.log("> dynamic update"),fMiniManager.fieldsToStorage(),fFicheManager.fieldsToStorage(),fContactManager.fieldsToStorage(),fMatriceManager.fieldsToStorage(),fFicheManager.sync(),
fMiniManager.sync(),fMiniManager.storageToFields(),fFicheManager.storageToFields(),fMatriceManager.storageToFields(),(d||c)&&fContactManager.storageToFields()};include("/js/includes/input-facebook-subject.js",function(){include("/js/includes/input-facebook-contact.js",function(){include("/js/includes/input-facebook-mini.js",function(){include("/js/includes/input-facebook-fiche.js",function(){include("/js/includes/input-facebook-matrice.js",function(){fSubjectManager=new inputFacebookSubject($('[data-sublink="facebook"] article.subject-panel [data-name="username"]'), fMiniManager.sync(),fMiniManager.storageToFields(),fFicheManager.storageToFields(),fMatriceManager.storageToFields(),(d||c)&&fContactManager.storageToFields()};include("/js/includes/input-facebook-subject.js",function(){include("/js/includes/input-facebook-contact.js",function(){include("/js/includes/input-facebook-mini.js",function(){include("/js/includes/input-facebook-fiche.js",function(){include("/js/includes/input-facebook-matrice.js",function(){fSubjectManager=new inputFacebookSubject($('[data-sublink="facebook"] article.subject-panel [data-name="username"]'),
$('[data-sublink="facebook"] article.subject-panel [data-name="firstname"]'),$('[data-sublink="facebook"] article.subject-panel [data-name="lastname"]'),$('[data-sublink="facebook"] article.subject-panel [data-name="submit"]'));fSubjectManager.attach();fContactManager=new inputFacebookContact($('[data-sublink="facebook"] article.contact-panel'),$('[data-sublink="facebook"] #f_nav-contact'));fContactManager.attach(fDynamicUpdate);fMiniManager=new inputFacebookMini($('[data-sublink="facebook"] article.mini-relation-panel'), $('[data-sublink="facebook"] article.subject-panel [data-name="firstname"]'),$('[data-sublink="facebook"] article.subject-panel [data-name="lastname"]'),$('[data-sublink="facebook"] article.subject-panel [data-name="submit"]'));fSubjectManager.attach();fContactManager=new inputFacebookContact($('[data-sublink="facebook"] article.contact-panel'),$('[data-sublink="facebook"] #f_nav-contact'));fContactManager.attach(fDynamicUpdate);fMiniManager=new inputFacebookMini($('[data-sublink="facebook"] article.mini-relation-panel'),
$('[data-sublink="facebook"] #f_nav-mini'));fMiniManager.attach(fDynamicUpdate);fFicheManager=new inputFacebookFiche($('[data-sublink="facebook"] article.relation-panel'),$('[data-sublink="facebook"] #f_nav-fiche'));fFicheManager.attach(fDynamicUpdate);fMatriceManager=new inputFacebookMatrice($('[data-sublink="facebook"] article.matrice-panel'));fMatriceManager.attach(fDynamicUpdate);$('[data-sublink="facebook"] #f_clear-all').addEventListener("click",function(a){lsi.clear("subject");lsi.clear("contacts"); $('[data-sublink="facebook"] #f_nav-mini'));fMiniManager.attach(fDynamicUpdate);fFicheManager=new inputFacebookFiche($('[data-sublink="facebook"] article.relation-panel'),$('[data-sublink="facebook"] #f_nav-fiche'));fFicheManager.attach(fDynamicUpdate);fMatriceManager=new inputFacebookMatrice($('[data-sublink="facebook"] article.matrice-panel'));fMatriceManager.attach(fDynamicUpdate);$('[data-sublink="facebook"] #f_clear-all').addEventListener("click",function(a){lsi.clear("f_subject");lsi.clear("f_contacts");
lsi.clear("mini-fiches");lsi.clear("fiches");lsi.clear("matrice");fSubjectManager.storageToFields();fContactManager.storageToFields();fMiniManager.storageToFields();fFicheManager.storageToFields();fMatriceManager.storageToFields();Notification.success("OK","Les donn\u00e9es ont \u00e9t\u00e9 supprim\u00e9es")},!1);$('[data-sublink="facebook"] #f_export-all').addEventListener("click",function(a){Notification.info("INFORMATION","Lancement du t\u00e9l\u00e9chargement de la sauvegarde");a={subject:lsi["export"]("subject")[0], lsi.clear("f_mini-fiches");lsi.clear("f_fiches");lsi.clear("f_matrice");fSubjectManager.storageToFields();fContactManager.storageToFields();fMiniManager.storageToFields();fFicheManager.storageToFields();fMatriceManager.storageToFields();Notification.success("OK","Les donn\u00e9es ont \u00e9t\u00e9 supprim\u00e9es")},!1);$('[data-sublink="facebook"] #f_export-all').addEventListener("click",function(a){Notification.info("INFORMATION","Lancement du t\u00e9l\u00e9chargement de la sauvegarde");a={subject:lsi["export"]("f_subject")[0],
contacts:lsi["export"]("contacts"),mini:lsi["export"]("mini-fiches"),fiches:lsi["export"]("fiches"),matrice:lsi["export"]("matrice")[0]};var c=$('[data-sublink="facebook"] #f_download-target');c.download="local-facebook-data.json";c.href="data:application/octet-stream,"+encodeURIComponent(JSON.stringify(a));c.click()},!1);$('[data-sublink="facebook"] #f_import-all').addEventListener("click",function(a){$('[data-sublink="facebook"] #f_local-upload').click()},!1);$('[data-sublink="facebook"] #f_local-upload').addEventListener("click", contacts:lsi["export"]("f_contacts"),mini:lsi["export"]("f_mini-fiches"),fiches:lsi["export"]("f_fiches"),matrice:lsi["export"]("f_matrice")[0]};var c=$('[data-sublink="facebook"] #f_download-target');c.download="local-facebook-data.json";c.href="data:application/octet-stream,"+encodeURIComponent(JSON.stringify(a));c.click()},!1);$('[data-sublink="facebook"] #f_import-all').addEventListener("click",function(a){$('[data-sublink="facebook"] #f_local-upload').click()},!1);$('[data-sublink="facebook"] #f_local-upload').addEventListener("click",
function(a){a.target.value=null},!1);$('[data-sublink="facebook"] #f_local-upload').addEventListener("change",function(a){a={path:"upload/local_data",file:$('[data-sublink="facebook"] #f_local-upload').files[0]};api.send(a,function(a){console.log(a);if(0!=a.ModuleError)return Notification.error("Erreur",a.ModuleError),!1;lsi.set("subject",0,a.local_data.subject);lsi["import"]("contacts",a.local_data.contacts);lsi["import"]("mini-fiches",a.local_data.mini);lsi["import"]("fiches",a.local_data.fiches); function(a){a.target.value=null},!1);$('[data-sublink="facebook"] #f_local-upload').addEventListener("change",function(a){a={path:"upload/local_data",file:$('[data-sublink="facebook"] #f_local-upload').files[0]};api.send(a,function(a){console.log(a);if(0!=a.ModuleError)return Notification.error("Erreur",a.ModuleError),!1;lsi.set("f_subject",0,a.local_data.subject);lsi["import"]("f_contacts",a.local_data.contacts);lsi["import"]("f_mini-fiches",a.local_data.mini);lsi["import"]("f_fiches",a.local_data.fiches);
lsi.set("matrice",0,a.local_data.matrice);fSubjectManager.storageToFields();fContactManager.storageToFields();fMatriceManager.storageToFields();fDynamicUpdate(!0)})},!1);$('[data-sublink="facebook"] #f_submit-all').addEventListener("click",function(a){console.log("> GATHERING ALL DATA");fSubjectManager.fieldsToStorage();fContactManager.fieldsToStorage();fMiniManager.fieldsToStorage();fFicheManager.fieldsToStorage();if(!fSubjectManager.check())return Notification.warning("Attention","Vous devez saisir les informations du <i>sujet</i>"), lsi.set("f_matrice",0,a.local_data.matrice);fSubjectManager.storageToFields();fContactManager.storageToFields();fMatriceManager.storageToFields();fDynamicUpdate(!0)})},!1);$('[data-sublink="facebook"] #f_submit-all').addEventListener("click",function(a){console.log("> GATHERING ALL DATA");fSubjectManager.fieldsToStorage();fContactManager.fieldsToStorage();fMiniManager.fieldsToStorage();fFicheManager.fieldsToStorage();if(!fSubjectManager.check())return Notification.warning("Attention","Vous devez saisir les informations du <i>sujet</i>"),
!1;a=lsi["export"]("mini-fiches");var c=0,b;for(b in a)if(!isNaN(b)&&(c++,!a[b].valid))return Notification.warning("Attention","La <i>fiche rapide</i> <b>"+c+"</b> est incompl\u00e8te et/ou incorrecte"),!1;b={path:"input/phone",subject:lsi["export"]("subject")[0],contacts:lsi["export"]("contacts"),mini:lsi["export"]("mini-fiches"),fiches:lsi["export"]("fiches"),matrice:lsi["export"]("matrice")[0]};api.send(b,function(a){console.log(a);if(0!=a.ModuleError)return Notification.error("ERREUR",a.ModuleError), !1;a=lsi["export"]("f_mini-fiches");var c=0,b;for(b in a)if(!isNaN(b)&&(c++,!a[b].valid))return Notification.warning("Attention","La <i>fiche rapide</i> <b>"+c+"</b> est incompl\u00e8te et/ou incorrecte"),!1;b={path:"input/phone",subject:lsi["export"]("f_subject")[0],contacts:lsi["export"]("f_contacts"),mini:lsi["export"]("f_mini-fiches"),fiches:lsi["export"]("f_fiches"),matrice:lsi["export"]("f_matrice")[0]};api.send(b,function(a){console.log(a);if(0!=a.ModuleError)return Notification.error("ERREUR",
!1;console.log(a)},!1)},!1)})})})})})}; a.ModuleError),!1;console.log(a)},!1)},!1)})})})})})};

View File

@ -293,7 +293,7 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'phone' ){
var splittedName = conData.name.split(' '); var splittedName = conData.name.split(' ');
lsi.set('contacts', conData.id, { lsi.set('p_contacts', conData.id, {
uid: conData.id, uid: conData.id,
number: conData.number, number: conData.number,
username: splittedName.length == 1 ? splittedName[0] : '', // Si un seul mot -> pseudo username: splittedName.length == 1 ? splittedName[0] : '', // Si un seul mot -> pseudo
@ -318,16 +318,16 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'phone' ){
// Si le contact est déja dans le top 10 des appels, on lui ajoute juste le classement dans le top 10 des SMS // Si le contact est déja dans le top 10 des appels, on lui ajoute juste le classement dans le top 10 des SMS
var callIndex = response.call.indexOf(response.sms[i]); var callIndex = response.call.indexOf(response.sms[i]);
if( callIndex > -1 ){ if( callIndex > -1 ){
var created = lsi.get('contacts', conData.id); var created = lsi.get('p_contacts', conData.id);
created.sms = i; created.sms = i;
lsi.set('contacts', conData.id, created); lsi.set('p_contacts', conData.id, created);
continue; continue;
} }
var splittedName = conData.name.split(' '); var splittedName = conData.name.split(' ');
lsi.set('contacts', conData.id, { lsi.set('p_contacts', conData.id, {
uid: conData.id, uid: conData.id,
number: conData.number, number: conData.number,
username: splittedName.length == 1 ? splittedName[0] : '', // Si un seul mot -> pseudo username: splittedName.length == 1 ? splittedName[0] : '', // Si un seul mot -> pseudo
@ -361,7 +361,7 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'phone' ){
var splittedName = conData.name.split(' '); var splittedName = conData.name.split(' ');
lsi.set('contacts', conData.id, { lsi.set('p_contacts', conData.id, {
uid: conData.id, uid: conData.id,
number: conData.number, number: conData.number,
username: splittedName.length == 1 ? splittedName[0] : '', // Si un seul mot -> pseudo username: splittedName.length == 1 ? splittedName[0] : '', // Si un seul mot -> pseudo
@ -397,11 +397,11 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'phone' ){
---------------------------------------------------------*/ ---------------------------------------------------------*/
$('[data-sublink="phone"] #p_clear-all').addEventListener('click', function(e){ $('[data-sublink="phone"] #p_clear-all').addEventListener('click', function(e){
/* (1) On vide tous les dataset de données */ /* (1) On vide tous les dataset de données */
lsi.clear('subject'); lsi.clear('p_subject');
lsi.clear('contacts'); lsi.clear('p_contacts');
lsi.clear('mini-fiches'); lsi.clear('p_mini-fiches');
lsi.clear('fiches'); lsi.clear('p_fiches');
lsi.clear('matrice'); lsi.clear('p_matrice');
/* (2) On met à jour l'affichage */ /* (2) On met à jour l'affichage */
@ -424,11 +424,11 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'phone' ){
/* (1) On construit les données */ /* (1) On construit les données */
var data = { var data = {
subject: lsi.export('subject')[0], subject: lsi.export('p_subject')[0],
contacts: lsi.export('contacts'), contacts: lsi.export('p_contacts'),
mini: lsi.export('mini-fiches'), mini: lsi.export('p_mini-fiches'),
fiches: lsi.export('fiches'), fiches: lsi.export('p_fiches'),
matrice: lsi.export('matrice')[0] matrice: lsi.export('p_matrice')[0]
}; };
@ -447,7 +447,7 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'phone' ){
---------------------------------------------------------*/ ---------------------------------------------------------*/
// Le bouton lance l'<input> file // Le bouton lance l'<input> file
$('[data-sublink="phone"] #p_import-all').addEventListener('click', function(e){ $('[data-sublink="phone"] #p_import-all').addEventListener('click', function(e){
$('[data-sublink="phone"] #local-upload').click(); $('[data-sublink="phone"] #p_local-upload').click();
}, false); }, false);
@ -475,11 +475,11 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'phone' ){
} }
/* (3) On enregistre les données dans le 'localStorage' */ /* (3) On enregistre les données dans le 'localStorage' */
lsi.set('subject', 0, response.local_data.subject); lsi.set('p_subject', 0, response.local_data.subject);
lsi.import('contacts', response.local_data.contacts); lsi.import('p_contacts', response.local_data.contacts);
lsi.import('mini-fiches', response.local_data.mini); lsi.import('p_mini-fiches', response.local_data.mini);
lsi.import('fiches', response.local_data.fiches); lsi.import('p_fiches', response.local_data.fiches);
lsi.set('matrice', 0, response.local_data.matrice); lsi.set('p_matrice', 0, response.local_data.matrice);
/* (3) On met à jour l'affichage */ /* (3) On met à jour l'affichage */
cSubjectManager.storageToFields(); cSubjectManager.storageToFields();
@ -512,7 +512,7 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'phone' ){
return false; return false;
} }
// {2} Vérification des mini-fiches // // {2} Vérification des mini-fiches //
var mini = lsi.export('mini-fiches'); var mini = lsi.export('p_mini-fiches');
var i = 0; var i = 0;
for( var id in mini ){ if( !isNaN(id) ){ for( var id in mini ){ if( !isNaN(id) ){
@ -526,7 +526,7 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'phone' ){
}} }}
// {3} Vérification des fiches // // {3} Vérification des fiches //
//TODO: Remettre la vérification des fiches //TODO: Remettre la vérification des fiches
// var fiches = lsi.export('fiches'); // var fiches = lsi.export('p_fiches');
// for( var id in fiches ) // for( var id in fiches )
// if( !fiches[id].valid ){ // if( !fiches[id].valid ){
// Notification.warning('Attention', 'La <i>fiche complète</i> <b>'+(parseInt(id)+1)+'</b> est incomplète et/ou incorrecte'); // Notification.warning('Attention', 'La <i>fiche complète</i> <b>'+(parseInt(id)+1)+'</b> est incomplète et/ou incorrecte');
@ -539,11 +539,11 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'phone' ){
var request = { var request = {
path: 'input/phone', path: 'input/phone',
subject: lsi.export('subject')[0], subject: lsi.export('p_subject')[0],
contacts: lsi.export('contacts'), contacts: lsi.export('p_contacts'),
mini: lsi.export('mini-fiches'), mini: lsi.export('p_mini-fiches'),
fiches: lsi.export('fiches'), fiches: lsi.export('p_fiches'),
matrice: lsi.export('matrice')[0] matrice: lsi.export('p_matrice')[0]
}; };
/* (4) On envoie la requête et traite la réponse */ /* (4) On envoie la requête et traite la réponse */
@ -855,11 +855,11 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'facebook' ){
---------------------------------------------------------*/ ---------------------------------------------------------*/
$('[data-sublink="facebook"] #f_clear-all').addEventListener('click', function(e){ $('[data-sublink="facebook"] #f_clear-all').addEventListener('click', function(e){
/* (1) On vide tous les dataset de données */ /* (1) On vide tous les dataset de données */
lsi.clear('subject'); lsi.clear('f_subject');
lsi.clear('contacts'); lsi.clear('f_contacts');
lsi.clear('mini-fiches'); lsi.clear('f_mini-fiches');
lsi.clear('fiches'); lsi.clear('f_fiches');
lsi.clear('matrice'); lsi.clear('f_matrice');
/* (2) On met à jour l'affichage */ /* (2) On met à jour l'affichage */
@ -882,11 +882,11 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'facebook' ){
/* (1) On construit les données */ /* (1) On construit les données */
var data = { var data = {
subject: lsi.export('subject')[0], subject: lsi.export('f_subject')[0],
contacts: lsi.export('contacts'), contacts: lsi.export('f_contacts'),
mini: lsi.export('mini-fiches'), mini: lsi.export('f_mini-fiches'),
fiches: lsi.export('fiches'), fiches: lsi.export('f_fiches'),
matrice: lsi.export('matrice')[0] matrice: lsi.export('f_matrice')[0]
}; };
@ -933,11 +933,11 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'facebook' ){
} }
/* (3) On enregistre les données dans le 'localStorage' */ /* (3) On enregistre les données dans le 'localStorage' */
lsi.set('subject', 0, response.local_data.subject); lsi.set('f_subject', 0, response.local_data.subject);
lsi.import('contacts', response.local_data.contacts); lsi.import('f_contacts', response.local_data.contacts);
lsi.import('mini-fiches', response.local_data.mini); lsi.import('f_mini-fiches', response.local_data.mini);
lsi.import('fiches', response.local_data.fiches); lsi.import('f_fiches', response.local_data.fiches);
lsi.set('matrice', 0, response.local_data.matrice); lsi.set('f_matrice', 0, response.local_data.matrice);
/* (3) On met à jour l'affichage */ /* (3) On met à jour l'affichage */
fSubjectManager.storageToFields(); fSubjectManager.storageToFields();
@ -970,7 +970,7 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'facebook' ){
return false; return false;
} }
// {2} Vérification des mini-fiches // // {2} Vérification des mini-fiches //
var mini = lsi.export('mini-fiches'); var mini = lsi.export('f_mini-fiches');
var i = 0; var i = 0;
for( var id in mini ){ if( !isNaN(id) ){ for( var id in mini ){ if( !isNaN(id) ){
@ -984,7 +984,7 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'facebook' ){
}} }}
// {3} Vérification des fiches // // {3} Vérification des fiches //
//TODO: Remettre la vérification des fiches //TODO: Remettre la vérification des fiches
// var fiches = lsi.export('fiches'); // var fiches = lsi.export('f_fiches');
// for( var id in fiches ) // for( var id in fiches )
// if( !fiches[id].valid ){ // if( !fiches[id].valid ){
// Notification.warning('Attention', 'La <i>fiche complète</i> <b>'+(parseInt(id)+1)+'</b> est incomplète et/ou incorrecte'); // Notification.warning('Attention', 'La <i>fiche complète</i> <b>'+(parseInt(id)+1)+'</b> est incomplète et/ou incorrecte');
@ -997,11 +997,11 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'facebook' ){
var request = { var request = {
path: 'input/phone', path: 'input/phone',
subject: lsi.export('subject')[0], subject: lsi.export('f_subject')[0],
contacts: lsi.export('contacts'), contacts: lsi.export('f_contacts'),
mini: lsi.export('mini-fiches'), mini: lsi.export('f_mini-fiches'),
fiches: lsi.export('fiches'), fiches: lsi.export('f_fiches'),
matrice: lsi.export('matrice')[0] matrice: lsi.export('f_matrice')[0]
}; };
/* (4) On envoie la requête et traite la réponse */ /* (4) On envoie la requête et traite la réponse */