Portage phone->facebook : 1) Différenciation des données dans le 'lsi' (localStorage/sessionStorage)
This commit is contained in:
parent
1b2f3f4284
commit
0a019db9f4
|
@ -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};
|
||||
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');
|
||||
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.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.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.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("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)};
|
||||
|
|
|
@ -54,7 +54,7 @@ inputFacebookContact.prototype.fieldsToStorage = function(){
|
|||
obj.hash = crc32( JSON.stringify(obj) );
|
||||
|
||||
// {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');
|
||||
|
||||
// {1} Pour chaque contact du 'localStorage' //
|
||||
var contactKeys = lsi.keys('contacts');
|
||||
var contactKeys = lsi.keys('f_contacts');
|
||||
|
||||
// On réinitialise le HTML
|
||||
this.container.innerHTML = '';
|
||||
|
@ -132,7 +132,7 @@ inputFacebookContact.prototype.storageToFields = function(){
|
|||
var max = this.selected+10; // On s'arrête à 10 contacs
|
||||
|
||||
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
|
||||
|
@ -178,7 +178,7 @@ inputFacebookContact.prototype.nav = function(element){
|
|||
/* [7] Mise à jour de la navigation
|
||||
=========================================================*/
|
||||
inputFacebookContact.prototype.updateNavBar = function(){
|
||||
var contactKeys = lsi.keys('contacts');
|
||||
var contactKeys = lsi.keys('f_contacts');
|
||||
var len = contactKeys.length;
|
||||
|
||||
|
||||
|
@ -210,7 +210,7 @@ inputFacebookContact.prototype.attach = function(handler){
|
|||
console.log('CONTACTS: ATTACH');
|
||||
|
||||
/* (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') */
|
||||
this.storageToFields();
|
||||
|
|
|
@ -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}};
|
||||
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,
|
||||
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)}}};
|
||||
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("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:
|
||||
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;
|
||||
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="'+
|
||||
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.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")};
|
||||
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.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=
|
||||
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)))};
|
||||
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"]("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> ":(10==e&&(this.nav_container.innerHTML+='<span class="fc">MESSENGER</span>'),this.nav_container.innerHTML+='<span data-n="'+e+'">'+
|
||||
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"]("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,
|
||||
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.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> ":(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+'"]'))};
|
||||
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)};
|
||||
|
|
|
@ -58,7 +58,7 @@ inputFacebookFiche.prototype.fieldsToStorage = function(){
|
|||
|
||||
|
||||
// {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
|
||||
if( existingData === false )
|
||||
|
@ -106,7 +106,7 @@ inputFacebookFiche.prototype.fieldsToStorage = function(){
|
|||
}
|
||||
|
||||
/* (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é //
|
||||
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
|
||||
if( associatedContact === false )
|
||||
|
@ -273,7 +273,7 @@ inputFacebookFiche.prototype.storageToFields = function(){
|
|||
console.log('FICHE: STORAGE TO FIELDS');
|
||||
|
||||
// {1} Pour chaque contact du 'localStorage' //
|
||||
var ficheData = lsi.export('fiches');
|
||||
var ficheData = lsi.export('f_fiches');
|
||||
|
||||
// On réinitialise le HTML
|
||||
this.container.innerHTML = '';
|
||||
|
@ -306,67 +306,16 @@ inputFacebookFiche.prototype.sync = function(){
|
|||
/* (1) Mise à jour en fonction des contacts APRÈS IMPORT
|
||||
---------------------------------------------------------*/
|
||||
/* (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
|
||||
|
||||
/* (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
|
||||
---------------------------------------------------------*/
|
||||
// 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 ){
|
||||
|
||||
/* (1) Pour chaque CONTACT, on met à jour/crée la FICHE associée*/
|
||||
|
@ -381,7 +330,7 @@ inputFacebookFiche.prototype.sync = function(){
|
|||
addedFicheUids.push(ficheUid);
|
||||
|
||||
/* (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
|
||||
if( ficheData == null )
|
||||
|
@ -390,7 +339,7 @@ inputFacebookFiche.prototype.sync = function(){
|
|||
/* (4) On met à jour la fiche ET on l'enregistre */
|
||||
ficheData.uid = ficheUid;
|
||||
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 */
|
||||
|
@ -404,7 +353,7 @@ inputFacebookFiche.prototype.sync = function(){
|
|||
---------------------------------------------------------*/
|
||||
for( var key in ficheData ){
|
||||
/* (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
|
||||
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) */
|
||||
var obj = ficheData[key];
|
||||
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
|
||||
=========================================================*/
|
||||
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 */
|
||||
|
@ -611,7 +560,7 @@ inputFacebookFiche.prototype.attach = function(handler){
|
|||
console.log('FICHE: ATTACH');
|
||||
|
||||
/* (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') */
|
||||
this.storageToFields();
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
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.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+=
|
||||
"<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.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"]("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];
|
||||
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("f_matrice");this.storageToFields();var a=this;this.container.addEventListener("click",function(d){a.fieldsToStorage();a.storageToFields()},!1)};
|
||||
|
|
|
@ -52,7 +52,7 @@ inputFacebookMatrice.prototype.fieldsToStorage = function(){
|
|||
obj[i].push( parseInt(deflated[i]) );
|
||||
}
|
||||
|
||||
lsi.set( 'matrice', 0, obj );
|
||||
lsi.set( 'f_matrice', 0, obj );
|
||||
// Objet de la forme
|
||||
//
|
||||
// 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 */
|
||||
// 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
|
||||
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
|
||||
var contactData = lsi.export('contacts');
|
||||
var contactData = lsi.export('f_contacts');
|
||||
|
||||
// Contiendra les UID des contacts à mettre dans la matrice
|
||||
var contacts = [];
|
||||
|
@ -159,7 +159,7 @@ inputFacebookMatrice.prototype.attach = function(){
|
|||
console.log('MATRICE: ATTACH');
|
||||
|
||||
/* (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') */
|
||||
this.storageToFields();
|
||||
|
|
|
@ -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}};
|
||||
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,
|
||||
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)}}};
|
||||
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.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("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("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+
|
||||
'"] ~ 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")};
|
||||
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.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");
|
||||
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.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.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"]("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",
|
||||
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"]("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("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)};
|
||||
|
|
|
@ -46,7 +46,7 @@ inputFacebookMini.prototype.fieldsToStorage = function(){
|
|||
|
||||
|
||||
// {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
|
||||
if( existingData === false )
|
||||
|
@ -84,7 +84,7 @@ inputFacebookMini.prototype.fieldsToStorage = function(){
|
|||
|
||||
|
||||
/* (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é //
|
||||
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
|
||||
if( associatedContact === false )
|
||||
|
@ -183,7 +183,7 @@ inputFacebookMini.prototype.storageToFields = function(){
|
|||
console.log('MINI FICHE: STORAGE TO FIELDS');
|
||||
|
||||
// {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
|
||||
if( miniData == null ){
|
||||
|
@ -218,11 +218,11 @@ inputFacebookMini.prototype.sync = function(){
|
|||
console.log('MINI FICHE: SYNC');
|
||||
|
||||
/* (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 */
|
||||
var fiches = lsi.export('fiches');
|
||||
var fiches = lsi.export('f_fiches');
|
||||
var ignoredContacts = [];
|
||||
for( var id in fiches )
|
||||
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 */
|
||||
if( ignoredContacts.indexOf(parseInt(key)) > -1 ){
|
||||
// On supprime au cas ou
|
||||
lsi.del('mini-fiches', key);
|
||||
lsi.del('f_mini-fiches', key);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -246,7 +246,7 @@ inputFacebookMini.prototype.sync = function(){
|
|||
var uid = noName ? key.toString()+'-' : key;
|
||||
|
||||
/* (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 */
|
||||
|
@ -264,12 +264,12 @@ inputFacebookMini.prototype.sync = function(){
|
|||
|
||||
|
||||
/* (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 */
|
||||
var miniData = lsi.export('mini-fiches');
|
||||
var miniData = lsi.export('f_mini-fiches');
|
||||
|
||||
// Si la clé n'existe plus
|
||||
if( miniData[this.selected] == null ){
|
||||
|
@ -320,7 +320,7 @@ inputFacebookMini.prototype.nav = function(element){
|
|||
/* [7] Mise à jour de la navigation
|
||||
=========================================================*/
|
||||
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 */
|
||||
|
@ -402,7 +402,7 @@ inputFacebookMini.prototype.attach = function(handler){
|
|||
console.log('MINI FICHE: ATTACH');
|
||||
|
||||
/* (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') */
|
||||
this.storageToFields();
|
||||
|
|
|
@ -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};
|
||||
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.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.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()};
|
||||
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("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("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("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()};
|
||||
|
|
|
@ -22,7 +22,7 @@ inputFacebookSubject.prototype = {
|
|||
=========================================================*/
|
||||
inputFacebookSubject.prototype.check = function(){
|
||||
// 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
|
||||
|
@ -41,7 +41,7 @@ inputFacebookSubject.prototype.fieldsToStorage = function(){
|
|||
};
|
||||
|
||||
// {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');
|
||||
|
||||
// {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 )
|
||||
subjectData = { username: '', firstname: '', lastname: '' };
|
||||
|
@ -75,7 +75,7 @@ inputFacebookSubject.prototype.attach = function(){
|
|||
console.log('SUBJECT: ATTACH');
|
||||
|
||||
/* (1) On initialise le jeu de données */
|
||||
lsi.createDataset('subject');
|
||||
lsi.createDataset('f_subject');
|
||||
|
||||
// Pointeur pour les scopes des addEventListener()
|
||||
var ptr = this;
|
||||
|
|
|
@ -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};
|
||||
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');
|
||||
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.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.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.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("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)};
|
||||
|
|
|
@ -66,7 +66,7 @@ inputPhoneContact.prototype.fieldsToStorage = function(){
|
|||
obj.hash = crc32( JSON.stringify(obj) );
|
||||
|
||||
// {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');
|
||||
|
||||
// {1} Pour chaque contact du 'localStorage' //
|
||||
var contactKeys = lsi.keys('contacts');
|
||||
var contactKeys = lsi.keys('p_contacts');
|
||||
|
||||
// On réinitialise le HTML
|
||||
this.container.innerHTML = '';
|
||||
|
@ -145,7 +145,7 @@ inputPhoneContact.prototype.storageToFields = function(){
|
|||
var max = this.selected+10; // On s'arrête à 10 contacs
|
||||
|
||||
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
|
||||
|
@ -191,7 +191,7 @@ inputPhoneContact.prototype.nav = function(element){
|
|||
/* [7] Mise à jour de la navigation
|
||||
=========================================================*/
|
||||
inputPhoneContact.prototype.updateNavBar = function(){
|
||||
var contactKeys = lsi.keys('contacts');
|
||||
var contactKeys = lsi.keys('p_contacts');
|
||||
var len = contactKeys.length;
|
||||
|
||||
|
||||
|
@ -223,7 +223,7 @@ inputPhoneContact.prototype.attach = function(handler){
|
|||
console.log('CONTACTS: ATTACH');
|
||||
|
||||
/* (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') */
|
||||
this.storageToFields();
|
||||
|
|
|
@ -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}};
|
||||
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,
|
||||
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)}}};
|
||||
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("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:
|
||||
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;
|
||||
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="'+
|
||||
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.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")};
|
||||
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.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=
|
||||
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)))};
|
||||
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"]("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<
|
||||
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.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> ":(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> ":(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+'"]'))};
|
||||
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)};
|
||||
|
|
|
@ -58,7 +58,7 @@ inputPhoneFiche.prototype.fieldsToStorage = function(){
|
|||
|
||||
|
||||
// {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
|
||||
if( existingData === false )
|
||||
|
@ -106,7 +106,7 @@ inputPhoneFiche.prototype.fieldsToStorage = function(){
|
|||
}
|
||||
|
||||
/* (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é //
|
||||
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
|
||||
if( associatedContact === false )
|
||||
|
@ -273,7 +273,7 @@ inputPhoneFiche.prototype.storageToFields = function(){
|
|||
console.log('FICHE: STORAGE TO FIELDS');
|
||||
|
||||
// {1} Pour chaque contact du 'localStorage' //
|
||||
var ficheData = lsi.export('fiches');
|
||||
var ficheData = lsi.export('p_fiches');
|
||||
|
||||
// On réinitialise le HTML
|
||||
this.container.innerHTML = '';
|
||||
|
@ -306,7 +306,7 @@ inputPhoneFiche.prototype.sync = function(){
|
|||
/* (1) Mise à jour en fonction des contacts APRÈS IMPORT
|
||||
---------------------------------------------------------*/
|
||||
/* (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
|
||||
|
||||
/* (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);
|
||||
|
||||
// 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
|
||||
if( ficheData == null )
|
||||
|
@ -330,7 +330,7 @@ inputPhoneFiche.prototype.sync = function(){
|
|||
// On met à jour la fiche ET on l'enregistre
|
||||
ficheData.uid = ficheIndex;
|
||||
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);
|
||||
|
||||
// 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
|
||||
if( ficheData == null )
|
||||
|
@ -350,7 +350,7 @@ inputPhoneFiche.prototype.sync = function(){
|
|||
// On met à jour la fiche ET on l'enregistre
|
||||
ficheData.uid = ficheIndex;
|
||||
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
|
||||
---------------------------------------------------------*/
|
||||
// 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
|
||||
if( addedFicheUids.length < nbMaxFiche ){
|
||||
|
@ -381,7 +381,7 @@ inputPhoneFiche.prototype.sync = function(){
|
|||
addedFicheUids.push(ficheUid);
|
||||
|
||||
/* (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
|
||||
if( ficheData == null )
|
||||
|
@ -390,7 +390,7 @@ inputPhoneFiche.prototype.sync = function(){
|
|||
/* (4) On met à jour la fiche ET on l'enregistre */
|
||||
ficheData.uid = ficheUid;
|
||||
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 */
|
||||
|
@ -404,7 +404,7 @@ inputPhoneFiche.prototype.sync = function(){
|
|||
---------------------------------------------------------*/
|
||||
for( var key in ficheData ){
|
||||
/* (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
|
||||
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) */
|
||||
var obj = ficheData[key];
|
||||
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
|
||||
=========================================================*/
|
||||
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 */
|
||||
|
@ -611,7 +611,7 @@ inputPhoneFiche.prototype.attach = function(handler){
|
|||
console.log('FICHE: ATTACH');
|
||||
|
||||
/* (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') */
|
||||
this.storageToFields();
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
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.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+=
|
||||
"<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.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"]("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==
|
||||
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("p_matrice");this.storageToFields();var a=this;this.container.addEventListener("click",function(d){a.fieldsToStorage();a.storageToFields()},!1)};
|
||||
|
|
|
@ -1,64 +1,64 @@
|
|||
/* [0] Constructeur -> définit le conteneur et le bouton d'ajout
|
||||
=========================================================*/
|
||||
function inputPhoneMatrice(container){
|
||||
this.container = container;
|
||||
this.container = container;
|
||||
}
|
||||
|
||||
/* [1] Attributs
|
||||
=========================================================*/
|
||||
inputPhoneMatrice.prototype = {
|
||||
container: this.container // Conteneur de la matrice
|
||||
container: this.container // Conteneur de la matrice
|
||||
};
|
||||
|
||||
|
||||
/* [2] Gestion de l'enregistrement de la matrice
|
||||
=========================================================*/
|
||||
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 //
|
||||
var deflater = new FormDeflater(this.container, ['input'], ['data-name']);
|
||||
// {1} On initialise notre deflater pour récupérer les valeurs //
|
||||
var deflater = new FormDeflater(this.container, ['input'], ['data-name']);
|
||||
|
||||
// {2} On extrait les données //
|
||||
var deflated = deflater.deflate();
|
||||
// On crée le hash
|
||||
var deflatedHash = crc32(JSON.stringify(deflated));
|
||||
// {2} On extrait les données //
|
||||
var deflated = deflater.deflate();
|
||||
// On crée le hash
|
||||
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 */
|
||||
var obj = {};
|
||||
/* (3) On crée l'objet et on le remplit avec les relations */
|
||||
var obj = {};
|
||||
|
||||
for( var i in deflated )
|
||||
for( var i in deflated )
|
||||
|
||||
// {1} Si c'est un tableau de sujets //
|
||||
if( deflated[i] instanceof Array ){
|
||||
// {1} Si c'est un tableau de sujets //
|
||||
if( deflated[i] instanceof Array ){
|
||||
|
||||
// Pour chacune des différentes relations, on ajoute si TRUE
|
||||
for( var a in deflated[i] ){
|
||||
if( obj[i] == null )
|
||||
obj[i] = [];
|
||||
// Pour chacune des différentes relations, on ajoute si TRUE
|
||||
for( var a in deflated[i] ){
|
||||
if( obj[i] == null )
|
||||
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 //
|
||||
}else if( deflated[i] !== null ){
|
||||
if( obj[i] == null )
|
||||
obj[i] = [];
|
||||
// {2} Si il n'y a qu'un sujet //
|
||||
}else if( deflated[i] !== null ){
|
||||
if( obj[i] == null )
|
||||
obj[i] = [];
|
||||
|
||||
obj[i].push( parseInt(deflated[i]) );
|
||||
}
|
||||
obj[i].push( parseInt(deflated[i]) );
|
||||
}
|
||||
|
||||
lsi.set( 'matrice', 0, obj );
|
||||
// Objet de la forme
|
||||
//
|
||||
// idA: [idV, idW], # A connait V et W (et réciproquement)
|
||||
// idB: [idX, idY], # B connait X et Y (et réciproquement)
|
||||
// ...
|
||||
//
|
||||
lsi.set( 'p_matrice', 0, obj );
|
||||
// Objet de la forme
|
||||
//
|
||||
// idA: [idV, idW], # A connait V et W (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'
|
||||
=========================================================*/
|
||||
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 */
|
||||
// On récupère les fiches
|
||||
var ficheData = lsi.export('fiches');
|
||||
/* (1) On récupère la liste des contacts à mettre dans la matrice */
|
||||
// On récupère les fiches
|
||||
var ficheData = lsi.export('p_fiches');
|
||||
|
||||
// On récupère les données de la matrice
|
||||
var matriceData = lsi.get('matrice', 0);
|
||||
// On récupère les données de la matrice
|
||||
var matriceData = lsi.get('p_matrice', 0);
|
||||
|
||||
// On récupère les contacts pour afficher les noms/prénoms
|
||||
var contactData = lsi.export('contacts');
|
||||
// On récupère les contacts pour afficher les noms/prénoms
|
||||
var contactData = lsi.export('p_contacts');
|
||||
|
||||
// Contiendra les UID des contacts à mettre dans la matrice
|
||||
var contacts = [];
|
||||
// Contiendra les UID des contacts à mettre dans la matrice
|
||||
var contacts = [];
|
||||
|
||||
// Pour chaque fiche, on ajoute l'uid du contact s'il n'est pas déja ajouté
|
||||
for( var f in ficheData )
|
||||
if( contacts.indexOf( ficheData[f].contact ) == -1 )
|
||||
contacts.push( ficheData[f].contact );
|
||||
// Pour chaque fiche, on ajoute l'uid du contact s'il n'est pas déja ajouté
|
||||
for( var f in ficheData )
|
||||
if( contacts.indexOf( ficheData[f].contact ) == -1 )
|
||||
contacts.push( ficheData[f].contact );
|
||||
|
||||
|
||||
/* (2) On construit le HTML de la matrice */
|
||||
// Contiendra le HTML
|
||||
var matrice_html = "<table class='line'>";
|
||||
/* (2) On construit le HTML de la matrice */
|
||||
// Contiendra le HTML
|
||||
var matrice_html = "<table class='line'>";
|
||||
|
||||
// {1} Pour chaque ligne //
|
||||
for( var A = 0 ; A < contacts.length ; A++ ){
|
||||
var conA = contactData[A];
|
||||
// {1} Pour chaque ligne //
|
||||
for( var A = 0 ; A < contacts.length ; A++ ){
|
||||
var conA = contactData[A];
|
||||
|
||||
|
||||
matrice_html += '<tr>';
|
||||
matrice_html += '<tr>';
|
||||
|
||||
if( A > 0 ){ // Noms sur la première ligne (abscisses)
|
||||
matrice_html += '<td style="text-align: right;">';
|
||||
matrice_html += readableName(conA.username, conA.firstname, conA.lastname);
|
||||
matrice_html += '</td>';
|
||||
}else // Sinon,
|
||||
matrice_html += '<td></td>';
|
||||
if( A > 0 ){ // Noms sur la première ligne (abscisses)
|
||||
matrice_html += '<td style="text-align: right;">';
|
||||
matrice_html += readableName(conA.username, conA.firstname, conA.lastname);
|
||||
matrice_html += '</td>';
|
||||
}else // Sinon,
|
||||
matrice_html += '<td></td>';
|
||||
|
||||
// {2} Pour chaque case //
|
||||
for( var B = 0 ; B < contacts.length ; B++ ){ if( B < contacts.length-1 ){
|
||||
var conB = contactData[B];
|
||||
// {2} Pour chaque case //
|
||||
for( var B = 0 ; B < contacts.length ; B++ ){ if( B < contacts.length-1 ){
|
||||
var conB = contactData[B];
|
||||
|
||||
// {3} Première colonne -> Intitulé des ordonnées //
|
||||
if( A == 0 ){
|
||||
matrice_html += '<td>';
|
||||
matrice_html += '<span style="writing-mode: vertical-lr; text-align: right;">';
|
||||
matrice_html += readableName(conB.username, conB.firstname, conB.lastname),
|
||||
matrice_html += '</span>';
|
||||
// {3} Première colonne -> Intitulé des ordonnées //
|
||||
if( A == 0 ){
|
||||
matrice_html += '<td>';
|
||||
matrice_html += '<span style="writing-mode: vertical-lr; text-align: right;">';
|
||||
matrice_html += readableName(conB.username, conB.firstname, conB.lastname),
|
||||
matrice_html += '</span>';
|
||||
|
||||
// {4} Valeurs des relations (boutons) //
|
||||
}else if( B < A ){
|
||||
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+"'";
|
||||
// Si la relation existe, on active le bouton
|
||||
if( matriceData[A] != null && matriceData[A].indexOf(B) > -1 )
|
||||
matrice_html += " checked";
|
||||
matrice_html += " >";
|
||||
matrice_html += "<label for='matrice_"+conA.uid+"_"+conB.uid+"'></label>";
|
||||
// {4} Valeurs des relations (boutons) //
|
||||
}else if( B < A ){
|
||||
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+"'";
|
||||
// Si la relation existe, on active le bouton
|
||||
if( matriceData[A] != null && matriceData[A].indexOf(B) > -1 )
|
||||
matrice_html += " checked";
|
||||
matrice_html += " >";
|
||||
matrice_html += "<label for='matrice_"+conA.uid+"_"+conB.uid+"'></label>";
|
||||
|
||||
// {5} Cases vides (moitié supérieure droite) //
|
||||
}else
|
||||
matrice_html += "<td class='hidden'>";
|
||||
// {5} Cases vides (moitié supérieure droite) //
|
||||
}else
|
||||
matrice_html += "<td class='hidden'>";
|
||||
|
||||
matrice_html += '</td>';
|
||||
}}
|
||||
matrice_html += '</td>';
|
||||
}}
|
||||
|
||||
matrice_html += '</tr>';
|
||||
}
|
||||
matrice_html += '</table>';
|
||||
matrice_html += '</tr>';
|
||||
}
|
||||
matrice_html += '</table>';
|
||||
|
||||
|
||||
/* (3) On affiche la matrice */
|
||||
this.container.innerHTML = matrice_html;
|
||||
/* (3) On affiche la matrice */
|
||||
this.container.innerHTML = matrice_html;
|
||||
|
||||
};
|
||||
|
||||
|
@ -156,18 +156,18 @@ inputPhoneMatrice.prototype.storageToFields = function(){
|
|||
/* [9] Point d'amorçage de la gestion des contacts
|
||||
=========================================================*/
|
||||
inputPhoneMatrice.prototype.attach = function(){
|
||||
console.log('MATRICE: ATTACH');
|
||||
console.log('MATRICE: ATTACH');
|
||||
|
||||
/* (1) On initialise le jeu de données */
|
||||
lsi.createDataset('matrice');
|
||||
/* (1) On initialise le jeu de données */
|
||||
lsi.createDataset('p_matrice');
|
||||
|
||||
/* (2) On charge les mini fiches depuis la mémoire ('localStorage') */
|
||||
this.storageToFields();
|
||||
/* (2) On charge les mini fiches depuis la mémoire ('localStorage') */
|
||||
this.storageToFields();
|
||||
|
||||
/* (3) On enregistre la matrice à chaque modification */
|
||||
var ptr = this;
|
||||
this.container.addEventListener('click', function(e){
|
||||
ptr.fieldsToStorage();
|
||||
ptr.storageToFields();
|
||||
}, false);
|
||||
/* (3) On enregistre la matrice à chaque modification */
|
||||
var ptr = this;
|
||||
this.container.addEventListener('click', function(e){
|
||||
ptr.fieldsToStorage();
|
||||
ptr.storageToFields();
|
||||
}, false);
|
||||
};
|
||||
|
|
|
@ -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}};
|
||||
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,
|
||||
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)}}};
|
||||
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.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("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("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="'+
|
||||
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")};
|
||||
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.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");
|
||||
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.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.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"]("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));
|
||||
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"]("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("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)};
|
||||
|
|
|
@ -46,7 +46,7 @@ inputPhoneMini.prototype.fieldsToStorage = function(){
|
|||
|
||||
|
||||
// {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
|
||||
if( existingData === false )
|
||||
|
@ -84,7 +84,7 @@ inputPhoneMini.prototype.fieldsToStorage = function(){
|
|||
|
||||
|
||||
/* (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é //
|
||||
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
|
||||
if( associatedContact === false )
|
||||
|
@ -183,7 +183,7 @@ inputPhoneMini.prototype.storageToFields = function(){
|
|||
console.log('MINI FICHE: STORAGE TO FIELDS');
|
||||
|
||||
// {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
|
||||
if( miniData == null ){
|
||||
|
@ -218,11 +218,11 @@ inputPhoneMini.prototype.sync = function(){
|
|||
console.log('MINI FICHE: SYNC');
|
||||
|
||||
/* (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 */
|
||||
var fiches = lsi.export('fiches');
|
||||
var fiches = lsi.export('p_fiches');
|
||||
var ignoredContacts = [];
|
||||
for( var id in fiches )
|
||||
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 */
|
||||
if( ignoredContacts.indexOf(parseInt(key)) > -1 ){
|
||||
// On supprime au cas ou
|
||||
lsi.del('mini-fiches', key);
|
||||
lsi.del('p_mini-fiches', key);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -246,7 +246,7 @@ inputPhoneMini.prototype.sync = function(){
|
|||
var uid = noName ? key.toString()+'-' : key;
|
||||
|
||||
/* (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 */
|
||||
|
@ -264,12 +264,12 @@ inputPhoneMini.prototype.sync = function(){
|
|||
|
||||
|
||||
/* (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 */
|
||||
var miniData = lsi.export('mini-fiches');
|
||||
var miniData = lsi.export('p_mini-fiches');
|
||||
|
||||
// Si la clé n'existe plus
|
||||
if( miniData[this.selected] == null ){
|
||||
|
@ -320,7 +320,7 @@ inputPhoneMini.prototype.nav = function(element){
|
|||
/* [7] Mise à jour de la navigation
|
||||
=========================================================*/
|
||||
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 */
|
||||
|
@ -402,7 +402,7 @@ inputPhoneMini.prototype.attach = function(handler){
|
|||
console.log('MINI FICHE: ATTACH');
|
||||
|
||||
/* (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') */
|
||||
this.storageToFields();
|
||||
|
|
|
@ -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};
|
||||
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.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.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.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("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("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()};
|
||||
|
|
|
@ -1,59 +1,59 @@
|
|||
/* [0] Constructeur -> définit le conteneur et le bouton d'ajout
|
||||
=========================================================*/
|
||||
function inputPhoneSubject(iTmpId, iNumber, iUsername, iFirstname, iLastname, store_button){
|
||||
this.tmp_id = iTmpId;
|
||||
this.number = iNumber;
|
||||
this.username = iUsername;
|
||||
this.firstname = iFirstname;
|
||||
this.lastname = iLastname;
|
||||
this.tmp_id = iTmpId;
|
||||
this.number = iNumber;
|
||||
this.username = iUsername;
|
||||
this.firstname = iFirstname;
|
||||
this.lastname = iLastname;
|
||||
|
||||
this.store_button = store_button;
|
||||
this.store_button = store_button;
|
||||
}
|
||||
|
||||
/* [1] Attributs
|
||||
=========================================================*/
|
||||
inputPhoneSubject.prototype = {
|
||||
store_button: this.store_button, // Bouton d'ajout d'un formulaire
|
||||
tmp_id: this.tmp_id,
|
||||
number: this.number,
|
||||
username: this.username,
|
||||
firstname: this.firstname,
|
||||
lastname: this.lastname
|
||||
store_button: this.store_button, // Bouton d'ajout d'un formulaire
|
||||
tmp_id: this.tmp_id,
|
||||
number: this.number,
|
||||
username: this.username,
|
||||
firstname: this.firstname,
|
||||
lastname: this.lastname
|
||||
};
|
||||
|
||||
|
||||
/* [2] Vérification d'un formulaire
|
||||
=========================================================*/
|
||||
inputPhoneSubject.prototype.check = function(){
|
||||
/* (1) Le numéro n'est pas vide */
|
||||
var validForm = this.number.value.length > 0;
|
||||
/* (1) Le numéro n'est pas vide */
|
||||
var validForm = this.number.value.length > 0;
|
||||
|
||||
/* (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;
|
||||
/* (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;
|
||||
|
||||
// On renvoie la validité du formulaire
|
||||
return validForm;
|
||||
// On renvoie la validité du formulaire
|
||||
return validForm;
|
||||
};
|
||||
|
||||
/* [3] Gestion de l'enregistrement des formulaires de contact
|
||||
=========================================================*/
|
||||
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 //
|
||||
if( !this.check() ) return false;
|
||||
// {1} Si le formulaire n'est pas valide, on ne l'enregistre pas //
|
||||
if( !this.check() ) return false;
|
||||
|
||||
// {2} On récupère et met en forme les valeurs du deflater //
|
||||
var obj = {
|
||||
tmp_id: this.tmp_id.value,
|
||||
number: this.number.value,
|
||||
username: this.username.value,
|
||||
firstname: this.firstname.value,
|
||||
lastname: this.lastname.value
|
||||
};
|
||||
// {2} On récupère et met en forme les valeurs du deflater //
|
||||
var obj = {
|
||||
tmp_id: this.tmp_id.value,
|
||||
number: this.number.value,
|
||||
username: this.username.value,
|
||||
firstname: this.firstname.value,
|
||||
lastname: this.lastname.value
|
||||
};
|
||||
|
||||
// {3} On enregistre les données dans le 'localStorage' //
|
||||
lsi.set('subject', 0, obj);
|
||||
// {3} On enregistre les données dans le 'localStorage' //
|
||||
lsi.set('p_subject', 0, obj);
|
||||
|
||||
};
|
||||
|
||||
|
@ -65,20 +65,20 @@ inputPhoneSubject.prototype.fieldsToStorage = function(){
|
|||
/* [4] Gestion de l'affichage depuis le 'localStorage'
|
||||
=========================================================*/
|
||||
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 //
|
||||
var subjectData = lsi.get('subject', 0);
|
||||
// {1} On récupère les informations du sujet //
|
||||
var subjectData = lsi.get('p_subject', 0);
|
||||
|
||||
if( subjectData == null )
|
||||
subjectData = { tmp_id: '', number: '', username: '', firstname: '', lastname: '' };
|
||||
if( subjectData == null )
|
||||
subjectData = { tmp_id: '', number: '', username: '', firstname: '', lastname: '' };
|
||||
|
||||
// {2} On restore les valeurs //
|
||||
this.tmp_id.value = subjectData.tmp_id;
|
||||
this.number.value = subjectData.number;
|
||||
this.username.value = subjectData.username;
|
||||
this.firstname.value = subjectData.firstname;
|
||||
this.lastname.value = subjectData.lastname;
|
||||
// {2} On restore les valeurs //
|
||||
this.tmp_id.value = subjectData.tmp_id;
|
||||
this.number.value = subjectData.number;
|
||||
this.username.value = subjectData.username;
|
||||
this.firstname.value = subjectData.firstname;
|
||||
this.lastname.value = subjectData.lastname;
|
||||
};
|
||||
|
||||
|
||||
|
@ -86,26 +86,26 @@ inputPhoneSubject.prototype.storageToFields = function(){
|
|||
/* [5] Point d'amorçage de la gestion des contacts
|
||||
=========================================================*/
|
||||
inputPhoneSubject.prototype.attach = function(){
|
||||
console.log('SUBJECT: ATTACH');
|
||||
console.log('SUBJECT: ATTACH');
|
||||
|
||||
/* (1) On initialise le jeu de données */
|
||||
lsi.createDataset('subject');
|
||||
/* (1) On initialise le jeu de données */
|
||||
lsi.createDataset('p_subject');
|
||||
|
||||
// Pointeur pour les scopes des addEventListener()
|
||||
var ptr = this;
|
||||
// Handler de mise à jour quand les champs sont bons
|
||||
function fts(e){ if( ptr.fieldsToStorage() ) ptr.storageToFields(); }
|
||||
// Pointeur pour les scopes des addEventListener()
|
||||
var ptr = this;
|
||||
// Handler de mise à jour quand les champs sont bons
|
||||
function fts(e){ if( ptr.fieldsToStorage() ) ptr.storageToFields(); }
|
||||
|
||||
|
||||
/* (2) On attache l'évènement sur le bouton d'enregistrement */
|
||||
this.store_button.addEventListener('click', fts, false);
|
||||
/* (2) On attache l'évènement sur le bouton d'enregistrement */
|
||||
this.store_button.addEventListener('click', fts, false);
|
||||
|
||||
/* (3) On attache un évènement de 'blur' sur chaque '<input type="text">' */
|
||||
this.number.addEventListener( 'blur', fts, false);
|
||||
this.username.addEventListener( 'blur', fts, false);
|
||||
this.firstname.addEventListener( 'blur', fts, false);
|
||||
this.lastname.addEventListener( 'blur', fts, false);
|
||||
/* (3) On attache un évènement de 'blur' sur chaque '<input type="text">' */
|
||||
this.number.addEventListener( 'blur', fts, false);
|
||||
this.username.addEventListener( 'blur', fts, false);
|
||||
this.firstname.addEventListener( 'blur', fts, false);
|
||||
this.lastname.addEventListener( 'blur', fts, false);
|
||||
|
||||
/* (4) On charge le sujet depuis la mémoire ('localStorage') */
|
||||
this.storageToFields();
|
||||
/* (4) On charge le sujet depuis la mémoire ('localStorage') */
|
||||
this.storageToFields();
|
||||
};
|
||||
|
|
|
@ -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'));
|
||||
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",
|
||||
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]],
|
||||
-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?
|
||||
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();
|
||||
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]};
|
||||
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=
|
||||
{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();
|
||||
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",
|
||||
"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.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("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.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();
|
||||
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"),
|
||||
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",
|
||||
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();
|
||||
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++,
|
||||
!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=
|
||||
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"]'),
|
||||
$('[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");
|
||||
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],
|
||||
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",
|
||||
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);
|
||||
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>"),
|
||||
!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;console.log(a)},!1)},!1)})})})})})};
|
||||
$('[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("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"]("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("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("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"]("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",
|
||||
a.ModuleError),!1;console.log(a)},!1)},!1)})})})})})};
|
||||
|
|
100
view/js/input.js
100
view/js/input.js
|
@ -293,7 +293,7 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'phone' ){
|
|||
|
||||
var splittedName = conData.name.split(' ');
|
||||
|
||||
lsi.set('contacts', conData.id, {
|
||||
lsi.set('p_contacts', conData.id, {
|
||||
uid: conData.id,
|
||||
number: conData.number,
|
||||
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
|
||||
var callIndex = response.call.indexOf(response.sms[i]);
|
||||
if( callIndex > -1 ){
|
||||
var created = lsi.get('contacts', conData.id);
|
||||
var created = lsi.get('p_contacts', conData.id);
|
||||
created.sms = i;
|
||||
lsi.set('contacts', conData.id, created);
|
||||
lsi.set('p_contacts', conData.id, created);
|
||||
continue;
|
||||
}
|
||||
|
||||
var splittedName = conData.name.split(' ');
|
||||
|
||||
|
||||
lsi.set('contacts', conData.id, {
|
||||
lsi.set('p_contacts', conData.id, {
|
||||
uid: conData.id,
|
||||
number: conData.number,
|
||||
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(' ');
|
||||
|
||||
|
||||
lsi.set('contacts', conData.id, {
|
||||
lsi.set('p_contacts', conData.id, {
|
||||
uid: conData.id,
|
||||
number: conData.number,
|
||||
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){
|
||||
/* (1) On vide tous les dataset de données */
|
||||
lsi.clear('subject');
|
||||
lsi.clear('contacts');
|
||||
lsi.clear('mini-fiches');
|
||||
lsi.clear('fiches');
|
||||
lsi.clear('matrice');
|
||||
lsi.clear('p_subject');
|
||||
lsi.clear('p_contacts');
|
||||
lsi.clear('p_mini-fiches');
|
||||
lsi.clear('p_fiches');
|
||||
lsi.clear('p_matrice');
|
||||
|
||||
|
||||
/* (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 */
|
||||
var data = {
|
||||
subject: lsi.export('subject')[0],
|
||||
contacts: lsi.export('contacts'),
|
||||
mini: lsi.export('mini-fiches'),
|
||||
fiches: lsi.export('fiches'),
|
||||
matrice: lsi.export('matrice')[0]
|
||||
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]
|
||||
};
|
||||
|
||||
|
||||
|
@ -447,7 +447,7 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'phone' ){
|
|||
---------------------------------------------------------*/
|
||||
// Le bouton lance l'<input> file
|
||||
$('[data-sublink="phone"] #p_import-all').addEventListener('click', function(e){
|
||||
$('[data-sublink="phone"] #local-upload').click();
|
||||
$('[data-sublink="phone"] #p_local-upload').click();
|
||||
}, false);
|
||||
|
||||
|
||||
|
@ -475,11 +475,11 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'phone' ){
|
|||
}
|
||||
|
||||
/* (3) On enregistre les données dans le 'localStorage' */
|
||||
lsi.set('subject', 0, response.local_data.subject);
|
||||
lsi.import('contacts', response.local_data.contacts);
|
||||
lsi.import('mini-fiches', response.local_data.mini);
|
||||
lsi.import('fiches', response.local_data.fiches);
|
||||
lsi.set('matrice', 0, response.local_data.matrice);
|
||||
lsi.set('p_subject', 0, response.local_data.subject);
|
||||
lsi.import('p_contacts', response.local_data.contacts);
|
||||
lsi.import('p_mini-fiches', response.local_data.mini);
|
||||
lsi.import('p_fiches', response.local_data.fiches);
|
||||
lsi.set('p_matrice', 0, response.local_data.matrice);
|
||||
|
||||
/* (3) On met à jour l'affichage */
|
||||
cSubjectManager.storageToFields();
|
||||
|
@ -512,7 +512,7 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'phone' ){
|
|||
return false;
|
||||
}
|
||||
// {2} Vérification des mini-fiches //
|
||||
var mini = lsi.export('mini-fiches');
|
||||
var mini = lsi.export('p_mini-fiches');
|
||||
var i = 0;
|
||||
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 //
|
||||
//TODO: Remettre la vérification des fiches
|
||||
// var fiches = lsi.export('fiches');
|
||||
// var fiches = lsi.export('p_fiches');
|
||||
// for( var id in fiches )
|
||||
// if( !fiches[id].valid ){
|
||||
// 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 = {
|
||||
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]
|
||||
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]
|
||||
};
|
||||
|
||||
/* (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){
|
||||
/* (1) On vide tous les dataset de données */
|
||||
lsi.clear('subject');
|
||||
lsi.clear('contacts');
|
||||
lsi.clear('mini-fiches');
|
||||
lsi.clear('fiches');
|
||||
lsi.clear('matrice');
|
||||
lsi.clear('f_subject');
|
||||
lsi.clear('f_contacts');
|
||||
lsi.clear('f_mini-fiches');
|
||||
lsi.clear('f_fiches');
|
||||
lsi.clear('f_matrice');
|
||||
|
||||
|
||||
/* (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 */
|
||||
var data = {
|
||||
subject: lsi.export('subject')[0],
|
||||
contacts: lsi.export('contacts'),
|
||||
mini: lsi.export('mini-fiches'),
|
||||
fiches: lsi.export('fiches'),
|
||||
matrice: lsi.export('matrice')[0]
|
||||
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]
|
||||
};
|
||||
|
||||
|
||||
|
@ -933,11 +933,11 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'facebook' ){
|
|||
}
|
||||
|
||||
/* (3) On enregistre les données dans le 'localStorage' */
|
||||
lsi.set('subject', 0, response.local_data.subject);
|
||||
lsi.import('contacts', response.local_data.contacts);
|
||||
lsi.import('mini-fiches', response.local_data.mini);
|
||||
lsi.import('fiches', response.local_data.fiches);
|
||||
lsi.set('matrice', 0, response.local_data.matrice);
|
||||
lsi.set('f_subject', 0, response.local_data.subject);
|
||||
lsi.import('f_contacts', response.local_data.contacts);
|
||||
lsi.import('f_mini-fiches', response.local_data.mini);
|
||||
lsi.import('f_fiches', response.local_data.fiches);
|
||||
lsi.set('f_matrice', 0, response.local_data.matrice);
|
||||
|
||||
/* (3) On met à jour l'affichage */
|
||||
fSubjectManager.storageToFields();
|
||||
|
@ -970,7 +970,7 @@ if( pageManager.vars[0] != null && pageManager.vars[0] == 'facebook' ){
|
|||
return false;
|
||||
}
|
||||
// {2} Vérification des mini-fiches //
|
||||
var mini = lsi.export('mini-fiches');
|
||||
var mini = lsi.export('f_mini-fiches');
|
||||
var i = 0;
|
||||
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 //
|
||||
//TODO: Remettre la vérification des fiches
|
||||
// var fiches = lsi.export('fiches');
|
||||
// var fiches = lsi.export('f_fiches');
|
||||
// for( var id in fiches )
|
||||
// if( !fiches[id].valid ){
|
||||
// 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 = {
|
||||
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]
|
||||
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]
|
||||
};
|
||||
|
||||
/* (4) On envoie la requête et traite la réponse */
|
||||
|
|
Loading…
Reference in New Issue