diff --git a/js/includes/input-html-data-min.js b/js/includes/input-html-data-min.js index 1137240..dad4a20 100644 --- a/js/includes/input-html-data-min.js +++ b/js/includes/input-html-data-min.js @@ -1,3 +1,3 @@ var contactBuilder=new HTMLBuilder;contactBuilder.setLayout("

\n\t\n\t\n\t\n\t\n\t\n\t \n\t \n\t \n\t \n\t \n\t \n\t\n

\n\n"); -var miniFicheBuilder=new HTMLBuilder;miniFicheBuilder.setLayout("
\n\t\n\t\n\t\n\t\n\t\n\t

@firstname @lastname @username

\n\t
\t\t@countcall appels\t
\t
\t\t@countsms sms\t
\t
\n\t\t\n\t\t   \n\t
\n\t
\n\t\t\n\t
\n\t
\n\t\t\n\t
\n\t
\n\t\tO\u00f9 habite t-elle/il\u00a0?
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   \n\t
\n
"); +var miniFicheBuilder=new HTMLBuilder;miniFicheBuilder.setLayout("
\n\t\n\t\n\t\n\t\n\t\n\t

@firstname @lastname @username

\n\t
\t\t@countcall appels\t
\t
\t\t@countsms sms\t
\t
\n\t\t\n\t\t   \n\t
\n\t
\n\t\t\n\t
\n\t
\n\t\t\n\t
\n\t
\n\t\tO\u00f9 habite t-elle/il\u00a0?
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   \n\t
\n
"); var ficheBuilder=new HTMLBuilder;ficheBuilder.setLayout("
\n\t\n\t\n\t\n\t\n\t\n\t

@firstname @lastname @username

\n\t
\t\t@countcall appels\t
\t
\t\t@countsms sms\t
\t
\n\t\t\n\t\t   \n\t
\n\t
\n\t\t\n\t
\n\t
\n\t\t\n\t
\n\t
\n\t\tSituation familiale:
\n\t\t
\n\t\t   
\n\t\t   
\n\t\t   \n\t
\n\t
\n\t\t\n\t
\n\t

Type de relation

\n\t
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   
\n\t
\n\t

O\u00f9 habite t-elle/il\u00a0?

\n\t
\n\t\t\n\t
\n\t
\n\t\tO\u00f9 habite t-elle/il\u00a0?
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   \n\t
\n\t
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   
\n\t
\n\t
\n\t\tDepuis quand connaissez-vous cette personne ?

\n\t\tmois\n\t\tet    ans.\n\t
\n\t

Contexte de rencontre

\n\t
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   
\n\t
\n\t
\n\t\t   
\n\t\t   
\n\t\t   
\n\t\t   
\n\t
\n\t

Avec quelle fr\u00e9quence discutez-vous avec cette personne\u00a0?

\n\t
\n\t\tFace \u00e0 face
\n\t\t   \n\t\t   \n\t\t   \n\t\t   \n\t
\n\t
\n\t\tT\u00e9l\u00e9phone ou skype et \u00e9quivalent
\n\t\t   \n\t\t   \n\t\t   \n\t\t   \n\t
\n\t
\n\t\tSMS, et \u00e9quivalents
\n\t\t   \n\t\t   \n\t\t   \n\t\t   \n\t
\n\t
\n\t\tCourrier \u00e9lectronique
\n\t\t   \n\t\t   \n\t\t   \n\t\t   \n\t
\n\t
\n\t\tFacebook ou autre r\u00e9seau social
\n\t\t   \n\t\t   \n\t\t   \n\t\t   \n\t
\n\t

Comment \u00eates-vous \u00ab\u00a0connect\u00e9\u00a0\u00bb \u00e0 cette personne\u00a0?

\n\t
\n\t\tSes coordonn\u00e9es sont dans votre carnet d\u2019adresse
\n\t\t   \n\t\t   \n\t
\n\t
\n\t\tSon num\u00e9ro de mobile est enregistr\u00e9 sur votre mobile (ou vous-m\u00eames \u00eates sur le sien)
\n\t\t   \n\t\t   \n\t
\n\t
\n\t\tElle figure parmi vos amis facebook
\n\t\t   \n\t\t   \n\t
\n\t
\n\t\tElle figure parmi vos amis facebook et vous interagissez avec elle sur ce dispositif r\u00e9guli\u00e8rement
\n\t\t   \n\t\t   \n\t
\n\t
\n\t\tVous le suivez sur Twitter
\n\t\t   \n\t\t   \n\t
\n\t
\n\t\tVous communiquez avec cette personne sur Twitter
\n\t\t   \n\t\t   \n\t
\n\t
\n\t\tVous communiquez dans autre r\u00e9seau social : \n\t
\n\t
\n\t\tVous communiquez dans un autre dispositif (blogs, jeu vid\u00e9o ou autre) : \n\t
\n
\n"); diff --git a/js/includes/input-html-data.js b/js/includes/input-html-data.js index e586dbf..d3eed13 100644 --- a/js/includes/input-html-data.js +++ b/js/includes/input-html-data.js @@ -71,45 +71,33 @@ miniFicheBuilder.setLayout( "\t\n"+ "\t
\n"+ - "\t\t\n"+ + "\t\t\t\n"+ "\t\t\t\n"+ - "\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\n"+ - "\t\t\t\t\n"+ - "\t\t\t\t\n"+ + "\t\t\t\n"+ + "\t\t\t\n"+ + "\t\t\t\n"+ + "\t\t\t\n"+ + "\t\t\t\n"+ + "\t\t\t\n"+ + "\t\t\t\n"+ + "\t\t\t\t\n"+ + "\t\t\t\n"+ + "\t\t\t\t\n"+ + "\t\t\t\n"+ + "\t\t\t\t\n"+ + "\t\t\t\t\n"+ + "\t\t\t\t\n"+ + + "\t\t\t\n"+ + "\t\t\t\t\n"+ + "\t\t\t\t\n"+ + "\t\t\t\t\n"+ + "\t\t\t\n"+ + "\t\t\t\t\n"+ + "\t\t\t\t\n"+ + "\t\t\t\t\n"+ + "\t\t\t\t\n"+ "\t\t\n"+ "\t
\n"+ diff --git a/js/includes/input-phone-fiche-min.js b/js/includes/input-phone-fiche-min.js index 6566e10..fa4986e 100644 --- a/js/includes/input-phone-fiche-min.js +++ b/js/includes/input-phone-fiche-min.js @@ -15,11 +15,11 @@ c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked");c=$$('art "checked"):c[b].removeAttribute("checked");c=$$('article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="context"]');for(b=0;binput[type="radio"][data-name="freq'+c+'"]'),b=0;binput[type="radio"][data-name="connect'+c+'"]'),b=0;bb.length)for(c in console.log("need to add contacts sequentially to top 10s"),a){for(a= -0;-1a;)a++;b.push(a);d=lsi.get("fiches",a);null==d&&(d=this.defaultData);d.uid=a;d.contact=c;lsi.set("fiches",a,d);if(20<=b.length)break}var b=lsi["export"]("mini-fiches"),d=lsi["export"]("fiches"),e;for(e in d)d[e].timestamp>b[e].timestamp?(b[e].sexe=d[e].sexe,b[e].age=d[e].age,b[e].job=d[e].job,b[e].loc=d[e].loc):(d[e].sexe=b[e].sexe,d[e].age=b[e].age,d[e].job=b[e].job,d[e].loc=b[e].loc),lsi.set("mini-fiches",e,b[e]),lsi.set("fiches",e,d[e]);for(e in d)b=lsi.get("contacts",d[e].contact), -null!=b&&-1!=b.sms&&-1!=b.call&&(b=10>parseInt(e)?10+b.sms:b.call,b=d[b],b.timestamp>=d[e].timestamp||(c=d[e],c.uid=b.uid,lsi.set("fiches",b.uid,c)))};inputPhoneFiche.prototype.nav=function(a){if(null==a||!1===a.getData("n")||isNaN(a.getData("n"))||"nav-fiche"!=a.parentNode.id)return!1;for(var b=$$("#nav-fiche > span.active"),c=0;cAPPELS";for(var c=0;c'+(c%10+1)+"  ":(10==c&&(this.nav_container.innerHTML+='SMS'),this.nav_container.innerHTML+=''+(c%10+1)+"")}for(var f in a)b= -$('#nav-fiche [data-n="'+a[f].uid+'"]'),!0===a[f].valid?b.addClass("done"):b.remClass("done");this.nav($('#nav-fiche [data-n="'+this.selected+'"]'))}; +inputPhoneFiche.prototype.sync=function(){console.log("FICHE: SYNC");var a=lsi["export"]("contacts"),b=[],c;for(c in a){if(-1b.length)for(c in a){for(a=0;-1a;)a++;b.push(a);d=lsi.get("fiches",a);null==d&&(d=this.defaultData); +d.uid=a;d.contact=c;lsi.set("fiches",a,d);if(20<=b.length)break}var b=lsi["export"]("mini-fiches"),d=lsi["export"]("fiches"),e;for(e in b)d[e].timestamp>b[e].timestamp?(b[e].sexe=d[e].sexe,b[e].age=d[e].age,b[e].studies=d[e].studies,b[e].loc=d[e].loc):(d[e].sexe=b[e].sexe,d[e].age=b[e].age,d[e].studies=b[e].studies,d[e].loc=b[e].loc),lsi.set("mini-fiches",e,b[e]),lsi.set("fiches",e,d[e]);for(e in d)b=lsi.get("contacts",d[e].contact),null!=b&&-1!=b.sms&&-1!=b.call&&(b=10>parseInt(e)?10+b.sms:b.call, +b=d[b],b.timestamp>=d[e].timestamp||(c=d[e],c.uid=b.uid,lsi.set("fiches",b.uid,c)))};inputPhoneFiche.prototype.nav=function(a){if(null==a||!1===a.getData("n")||isNaN(a.getData("n"))||"nav-fiche"!=a.parentNode.id)return!1;for(var b=$$("#nav-fiche > span.active"),c=0;cAPPELS";for(var c=0;c'+(c%10+1)+"  ":(10==c&&(this.nav_container.innerHTML+='SMS'),this.nav_container.innerHTML+=''+(c%10+1)+"")}for(var f in a)b=$('#nav-fiche [data-n="'+ +a[f].uid+'"]'),!0===a[f].valid?b.addClass("done"):b.remClass("done");this.nav($('#nav-fiche [data-n="'+this.selected+'"]'))}; inputPhoneFiche.prototype.check=function(a){if(isNaN(parseInt(a.age))||2>a.city.length||isNaN(parseInt(a.duration[0]))&&0a.reltypeSpecial.length||a.context[11].status&&2>a.contextSpecial[0].length||a.context[12].status&&2>a.contextSpecial[1].length||a.context[13].status&&2>a.contextSpecial[2].length?!1:!0}; inputPhoneFiche.prototype.attach=function(a){console.log("FICHE: ATTACH");lsi.createDataset("fiches");this.storageToFields();this.handler=a;var b=this,b=this;this.nav_container.addEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1)}; diff --git a/js/includes/input-phone-fiche.js b/js/includes/input-phone-fiche.js index 8948b6f..ba82fb0 100644 --- a/js/includes/input-phone-fiche.js +++ b/js/includes/input-phone-fiche.js @@ -398,10 +398,8 @@ inputPhoneFiche.prototype.sync = function(){ /* (2) Mise à jour en fonction des contacts APRÈS SAISIE MANUELLE ---------------------------------------------------------*/ - console.log(addedFicheUids); // Si moins de 10+10 contacts crées, on les complètes en fonction des contacts séquentiellement if( addedFicheUids.length < 20 ){ - console.log('need to add contacts sequentially to top 10s'); /* (1) Pour chaque CONTACT, on met à jour/crée la FICHE associée*/ for( var uid in contacts ){ @@ -437,27 +435,27 @@ inputPhoneFiche.prototype.sync = function(){ /* (3) Mise à jour en fonction des MINI fiches ---------------------------------------------------------*/ /* (1) On récupère les valeurs des MINI fiches et des FICHES */ - var miniData = lsi.export('mini-fiches'); + var miniData = lsi.export('mini-fiches'); var ficheData = lsi.export('fiches'); /* (2) Pour chaque champ, on synchronise les MINI fiches avec les FICHES associées */ - for( var key in ficheData ){ + for( var key in miniData ){ var ficheModifiedLast = ficheData[key].timestamp > miniData[key].timestamp; /* (3) Si la FICHE a été modifiée en dernier, on utilise ses données */ if( ficheModifiedLast ){ - miniData[key].sexe = ficheData[key].sexe; - miniData[key].age = ficheData[key].age; - miniData[key].job = ficheData[key].job; - miniData[key].loc = ficheData[key].loc; + miniData[key].sexe = ficheData[key].sexe; + miniData[key].age = ficheData[key].age; + miniData[key].studies = ficheData[key].studies; + miniData[key].loc = ficheData[key].loc; /* (4) Sinon, on utilise les données de la MINI */ }else{ - ficheData[key].sexe = miniData[key].sexe; - ficheData[key].age = miniData[key].age; - ficheData[key].job = miniData[key].job; - ficheData[key].loc = miniData[key].loc; + ficheData[key].sexe = miniData[key].sexe; + ficheData[key].age = miniData[key].age; + ficheData[key].studies = miniData[key].studies; + ficheData[key].loc = miniData[key].loc; } /* (5) On enregistre les modifications */ @@ -542,7 +540,6 @@ inputPhoneFiche.prototype.updateNavBar = function(){ /* (1) On vérifie si la barre de navigation est à jour */ - console.log($$('#nav-fiche [data-n]').length); var navBarUpToDate = $$('#nav-fiche [data-n]').length == len; diff --git a/js/includes/input-phone-mini-min.js b/js/includes/input-phone-mini-min.js index ca0b528..65f684c 100644 --- a/js/includes/input-phone-mini-min.js +++ b/js/includes/input-phone-mini-min.js @@ -1,9 +1,9 @@ -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:[{status:!0},{status:!1}],age:"",job:".",loc:[{status:!0},{status:!1},{status:!1},{status:!1}],timestamp:0,valid:!1}}; +function inputPhoneMini(a,b){this.container=a;this.nav_container=b}inputPhoneMini.prototype={container:this.container,nav_container:this.nav_container,selected:0,handler:null,defaultData:{sexe:[{status:!0},{status:!1}],age:"",studies:".",loc:[{status:!0},{status:!1},{status:!1},{status:!1}],timestamp:0,valid:!1}}; inputPhoneMini.prototype.fieldsToStorage=function(){console.log("MINI FICHE: FIELDS TO STORAGE");for(var a=$$("article.mini-relation-panel .mini-fiche-relation"),b=0;b MINI UPDATE");c={uid:c.uid.value,firstname:d.firstname,lastname:d.lastname,username:d.username,sexe:c.sexe,age:c.age.value, -job:c.job.value,loc:c.loc,hash:e};c.valid=this.check(c);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.job=null!=a.job?a.job:this.defaultData.job;a.loc=null!=a.loc?a.loc:this.defaultData.loc;var b=lsi.get("contacts",a.uid);if(!1===b)return!1;this.container.innerHTML+=miniFicheBuilder.build({firstname:b.firstname,lastname:b.lastname,username:0==b.username.length?"":"("+b.username+")",countcall:b.countcall, -countsms:b.countsms,uid:a.uid,age:a.age,job:a.job});b=$('article.mini-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");for(var c=$$('article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]'),b=0;binput[type="radio"][data-name="loc"]');for(b=0;bspan>select[data-name="studies"]>option[value="'+a.studies+'"]');null!=b&&b.setAttribute("selected","selected");for(var c=$$('article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]'),b=0;binput[type="radio"][data-name="loc"]');for(b=0;b span.active"),c=0;c'+(c+1)+""}for(var e in a)b=$('#nav-mini [data-n="'+a[e].uid+'"]'),!0===a[e].valid?b.addClass("done"):b.remClass("done");this.nav($('#nav-mini [data-n="'+this.selected+'"]'))}; -inputPhoneMini.prototype.check=function(a){return!isNaN(parseInt(a.age))&&checkRadioValue(a.sexe)&&"."!=a.job&&checkRadioValue(a.loc)?!0:!1};inputPhoneMini.prototype.attach=function(a){console.log("MINI FICHE: ATTACH");lsi.createDataset("mini-fiches");this.storageToFields();this.handler=a;var b=this;this.nav_container.addEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1)}; +inputPhoneMini.prototype.check=function(a){return!isNaN(parseInt(a.age))&&checkRadioValue(a.sexe)&&"."!=a.studies&&checkRadioValue(a.loc)?!0:!1};inputPhoneMini.prototype.attach=function(a){console.log("MINI FICHE: ATTACH");lsi.createDataset("mini-fiches");this.storageToFields();this.handler=a;var b=this;this.nav_container.addEventListener("click",function(a){b.nav(a.target);b.handler(a.target)},!1)}; diff --git a/js/includes/input-phone-mini.js b/js/includes/input-phone-mini.js index 3ad83f8..25c73c4 100644 --- a/js/includes/input-phone-mini.js +++ b/js/includes/input-phone-mini.js @@ -15,7 +15,7 @@ inputPhoneMini.prototype = { defaultData: { // Valeur par défaut sexe: [{status:true}, {status:false}], age: '', - job: '.', + studies: '.', loc: [{status:true}, {status:false}, {status:false}, {status:false}], timestamp: 0, valid: false @@ -66,7 +66,7 @@ inputPhoneMini.prototype.fieldsToStorage = function(){ username: existingData.username, sexe: deflated.sexe, // [0] Homme, [1] Femme age: deflated.age.value, - job: deflated.job.value, + studies: deflated.studies.value, loc: deflated.loc, // [0] Choix 1 -> [3] Choix 4 hash: deflatedHash }; @@ -107,7 +107,7 @@ inputPhoneMini.prototype.add = function(objectData){ /* (0) Gestion du formattage des valeur */ objectData.age = (objectData.age != null) ? objectData.age : this.defaultData.age; objectData.sexe = (objectData.sexe != null) ? objectData.sexe : this.defaultData.sexe; - objectData.job = (objectData.job != null) ? objectData.job : this.defaultData.job; + objectData.studies = (objectData.studies != null) ? objectData.studies : this.defaultData.studies; objectData.loc = (objectData.loc != null) ? objectData.loc : this.defaultData.loc; @@ -128,12 +128,12 @@ inputPhoneMini.prototype.add = function(objectData){ countsms: associatedContact.countsms, uid: objectData.uid, age: objectData.age, - job: objectData.job + studies: objectData.studies }); /* {3} On sélectionne la valeur dans le select (manuellement) de la PROFESSION */ - var selectedOption = $('article.mini-fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>span>select[data-name="job"]>option[value="'+objectData.job+'"]'); + var selectedOption = $('article.mini-fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>span>select[data-name="studies"]>option[value="'+objectData.studies+'"]'); if( selectedOption != null ) selectedOption.setAttribute('selected', 'selected'); @@ -166,13 +166,13 @@ inputPhoneMini.prototype.storageToFields = function(){ console.log('MINI FICHE: STORAGE TO FIELDS'); // {1} Pour chaque contact du 'localStorage' // - var miniData = lsi.export('mini-fiches'); + var miniData = lsi.get('mini-fiches', this.selected); // On réinitialise le HTML this.container.innerHTML = ''; // {2} On affiche la MINI fiche sélectionnée // - this.add(miniData[this.selected]); + this.add(miniData); // {3} On met à jour la navigation // this.updateNavBar(); @@ -308,7 +308,7 @@ inputPhoneMini.prototype.check = function(miniData){ if( !checkRadioValue(miniData.sexe) ) return false; // 3. Le métier est défini - if( miniData.job == '.' ) + if( miniData.studies == '.' ) return false; // 4. La distance de localisation est définie if( !checkRadioValue(miniData.loc) )