diff --git a/js/includes/input-html-data-min.js b/js/includes/input-html-data-min.js index 463fea4..9ec17ae 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

\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
\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

@firstname @lastname (@username)

\n\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\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"); +var miniFicheBuilder=new HTMLBuilder;miniFicheBuilder.setLayout("
\n\t\n\t\n\t\n\t\n\t\n\t

@firstname @lastname (@username)

\n\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

@firstname @lastname (@username)

\n\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\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 1a9bd8a..ea5782d 100644 --- a/js/includes/input-html-data.js +++ b/js/includes/input-html-data.js @@ -54,7 +54,7 @@ miniFicheBuilder.setLayout( "\t\n"+ "\t
\n"+ - "\t\t\n"+ "\t\t\t\n"+ "\t\t\t\n"+ "\t\t\t\n"+ @@ -264,7 +264,7 @@ ficheBuilder.setLayout( "\t\t   
\n"+ "\t\t   
\n"+ "\t\t   
\n"+ - "\t\t   
\n"+ + "\t\t   
\n"+ "\t
\n"+ "\t

Où habite t-elle/il ?

\n"+ @@ -328,10 +328,10 @@ ficheBuilder.setLayout( "\t
\n"+ "\t\tSMS, et équivalents
\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"+ @@ -354,38 +354,38 @@ ficheBuilder.setLayout( "\t

Comment êtes-vous « connecté » à cette personne ?

\n"+ "\t
\n"+ "\t\tSes coordonnées sont dans votre carnet d’adresse
\n"+ - "\t\t   \n"+ - "\t\t   \n"+ + "\t\t   \n"+ + "\t\t   \n"+ "\t
\n"+ "\t
\n"+ "\t\tSon numéro de mobile est enregistré sur votre mobile (ou vous-mêmes êtes sur le sien)
\n"+ - "\t\t   \n"+ - "\t\t   \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\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égulièrement
\n"+ - "\t\t   \n"+ - "\t\t   \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\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\t   \n"+ + "\t\t   \n"+ "\t
\n"+ "\t
\n"+ diff --git a/js/includes/input-phone-fiche-min.js b/js/includes/input-phone-fiche-min.js index 5a352c7..6c73bcb 100644 --- a/js/includes/input-phone-fiche-min.js +++ b/js/includes/input-phone-fiche-min.js @@ -1,10 +1,13 @@ -function inputPhoneFiche(a,c){this.container=a;this.nav_container=c}inputPhoneFiche.prototype={container:this.container,nav_container:this.nav_container,selected:0,handler:null}; -inputPhoneFiche.prototype.fieldsToStorage=function(){console.log("FICHE: FIELDS TO STORAGE");for(var a=$$("article.relation-panel .fiche-relation"),c=0;cspan>select').value=a.job;for(var c=$$('[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]'),b=0;binput[type="radio"][data-name="loc"]');for(b=0;bc;c++){var b=lsi.get("contacts",a[c]),d=lsi.get("fiches",a[c]);null==d?lsi.set("fiches",a[c],{uid:b.uid,firstname:b.firstname,lastname:b.lastname,username:b.username,sexe:[!0,!1],age:"",job:".",loc:[!0,!1,!1,!1]}):(d.firstname=b.firstname,d.lastname=b.lastname,d.username=b.username,lsi.set("fiches",a[c],d))}}; -inputPhoneFiche.prototype.nav=function(a){if("undefined"==typeof a||isNaN(a.innerHTML))return!1;for(var c=$$("#nav-fiche > span.active"),b=0;b"+b+""}this.check();this.nav(this.nav_container.children[this.selected])};inputPhoneFiche.prototype.check=function(){for(var a=lsi.keys("fiches"),c=0;cspan>select').value=b.job;for(var c=$$('[data-name="uid"][value="'+b.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]'),a=0;ainput[type="radio"][data-name="loc"]');for(a=0;ac;c++){var a=lsi.get("contacts",b[c]),d=lsi.get("fiches",b[c]);null==d?lsi.set("fiches",b[c],{uid:a.uid,firstname:a.firstname,lastname:a.lastname,username:a.username,sexe:[!0,!1],age:"",job:".",loc:[!0,!1,!1,!1]}):(d.firstname=a.firstname,d.lastname=a.lastname,d.username=a.username,lsi.set("fiches",b[c],d))}}; +inputPhoneFiche.prototype.nav=function(b){if("undefined"==typeof b||isNaN(b.innerHTML))return!1;for(var c=$$("#nav-fiche > span.active"),a=0;a"+a+""}this.check();this.nav(this.nav_container.children[this.selected])};inputPhoneFiche.prototype.check=function(){for(var b=lsi.keys("fiches"),c=0;cspan>select').value=a.job;for(var c=$$('[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"),b=0;b"+b+""}this.check();this.nav(this.nav_container.children[this.selected])};inputPhoneMini.prototype.check=function(){for(var a=lsi.keys("mini-fiches"),c=0;cspan>select>option[value="'+a.job+'"]');console.log(b);null!=b&&b.setAttribute("selected","selected");for(var c=$$('[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< +c.length;b++)a.loc[b].status?c[b].setAttribute("checked","checked"):c[b].removeAttribute("checked")};inputPhoneMini.prototype.storageToFields=function(){console.log("MINI FICHE: STORAGE TO FIELDS");var a=lsi.keys("mini-fiches");this.container.innerHTML="";for(var b=[],c=0;c span.active"),c=0;c"+c+""}this.check();this.nav(this.nav_container.children[this.selected])};inputPhoneMini.prototype.check=function(){for(var a=lsi.keys("mini-fiches"),b=0;b [3] Choix 4 }; // {6} On enregistre les données dans le 'localStorage' // @@ -98,9 +89,9 @@ inputPhoneMini.prototype.add = function(objectData){ objectData.lastname = (objectData.lastname != null) ? objectData.lastname : ''; objectData.username = (objectData.username != null) ? objectData.username : ''; objectData.age = (objectData.age != null) ? objectData.age : ''; - objectData.sexe = (objectData.sexe != null) ? objectData.sexe : [true, false]; + objectData.sexe = (objectData.sexe != null) ? objectData.sexe : [{status:true}, {status:false}]; objectData.job = (objectData.job != null) ? objectData.job : '.'; - objectData.loc = (objectData.loc != null) ? objectData.loc : [true, false, false, false]; + objectData.loc = (objectData.loc != null) ? objectData.loc : [{status:true}, {status:false}, {status:false}, {status:false}]; // {1} Création physique // @@ -109,31 +100,27 @@ inputPhoneMini.prototype.add = function(objectData){ lastname: objectData.lastname, username: objectData.username, uid: objectData.uid, - age: objectData.age - // sexe: objectData.sexe[0] ? 'true' : 'false', - // job: objectData.job, - // loca: objectData.loc[0] ? 'true' : 'false', - // locb: objectData.loc[1] ? 'true' : 'false', - // locc: objectData.loc[2] ? 'true' : 'false', - // locd: objectData.loc[3] ? 'true' : 'false' + age: objectData.age, + job: objectData.job }); /* (2) On sélectionne la valeur dans le select (manuellement) */ - var createdSelect = $('[data-name="uid"][value="'+objectData.uid+'"] ~ h5>span>select'); - createdSelect.value = objectData.job; + var selectedOption = $('[data-name="uid"][value="'+objectData.uid+'"] ~ h5>span>select>option[value="'+objectData.job+'"]'); + if( selectedOption != null ) + selectedOption.setAttribute('selected', 'selected'); /* (3) On sélectionna la valeur des boutons pour le SEXE */ var sexeCreated = $$('[data-name="uid"][value="'+objectData.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]'); for( var i = 0 ; i < sexeCreated.length ; i++ ) - if( objectData.sexe[i] ) sexeCreated[i].setAttribute('checked', 'checked'); - else sexeCreated[i].removeAttribute('checked'); + if( objectData.sexe[i].status ) sexeCreated[i].setAttribute('checked', 'checked'); + else sexeCreated[i].removeAttribute('checked'); /* (4) On sélectionna la valeur des boutons pour la LOCATION */ var locCreated = $$('[data-name="uid"][value="'+objectData.uid+'"] ~ h5>input[type="radio"][data-name="loc"]'); for( var i = 0 ; i < locCreated.length ; i++ ) - if( objectData.loc[i] ) locCreated[i].setAttribute('checked', 'checked'); - else locCreated[i].removeAttribute('checked'); + if( objectData.loc[i].status ) locCreated[i].setAttribute('checked', 'checked'); + else locCreated[i].removeAttribute('checked'); }; @@ -216,16 +203,16 @@ inputPhoneMini.prototype.sync = function(){ if( miniData == null ){ // On crée la MINI fiche - lsi.set('mini-fiches', contactUIDs[i], { + miniData = { uid: contactData.uid, firstname: contactData.firstname, lastname: contactData.lastname, username: contactData.username, - sexe: [true, false], // valeur par défaut - age: '', // valeur par défaut - job: '.', // valeur par défaut - loc: [true, false, false, false] // valeur par défaut - }); + sexe: [{status:true}, {status:false}], // valeur par défaut + age: '', // valeur par défaut + job: '.', // valeur par défaut + loc: [{status:true}, {status:false}, {status:false}, {status:false}] // valeur par défaut + }; /* (6) Cas 2 : la MINI fiche existe déja */ @@ -236,12 +223,12 @@ inputPhoneMini.prototype.sync = function(){ miniData.lastname = contactData.lastname; miniData.username = contactData.username; - // On met à jour la MINI fiche - lsi.set('mini-fiches', contactUIDs[i], miniData); } + /* (7) On met à jour la MINI fiche */ + lsi.set('mini-fiches', contactUIDs[i], miniData); } }; diff --git a/view/js/input-min.js b/view/js/input-min.js index 21cc2cd..43d39a3 100644 --- a/view/js/input-min.js +++ b/view/js/input-min.js @@ -1,5 +1,3 @@ -function updateListener(b,a,c){b.removeEventListener(a,c);b.addEventListener(a,c)}var importCallLog=$('input#call_log-import[type="file"]'),ficheContainer=$("article.relation-panel"),subjectManager,contactManager,miniManager,ficheManager; -function dynamicUpdate(){console.log("DYNAMIC UPDATE: UPDATING");miniManager.fieldsToStorage();ficheManager.fieldsToStorage();contactManager.fieldsToStorage();miniManager.sync();ficheManager.sync();miniManager.storageToFields();ficheManager.storageToFields();contactManager.storageToFields()} +function updateListener(b,a,c){b.removeEventListener(a,c);b.addEventListener(a,c)}var importCallLog=$('input#call_log-import[type="file"]'),ficheContainer=$("article.relation-panel"),subjectManager,contactManager,miniManager,ficheManager;function dynamicUpdate(){console.log("DYNAMIC UPDATE: UPDATING");miniManager.fieldsToStorage();contactManager.fieldsToStorage();miniManager.sync();miniManager.storageToFields();contactManager.storageToFields()} include("/js/includes/input-phone-subject.js",function(){include("/js/includes/input-phone-contact.js",function(){include("/js/includes/input-phone-mini.js",function(){include("/js/includes/input-phone-fiche.js",function(){subjectManager=new inputPhoneSubject($('article.subject-panel [data-name="number"]'),$('article.subject-panel [data-name="username"]'),$('article.subject-panel [data-name="firstname"]'),$('article.subject-panel [data-name="lastname"]'),$('article.subject-panel [data-name="submit"]')); -subjectManager.attach();contactManager=new inputPhoneContact($("article.contact-panel"),$("h4.add-contact"));contactManager.attach(dynamicUpdate);miniManager=new inputPhoneMini($("article.mini-relation-panel"),$("#nav-mini"));miniManager.attach(dynamicUpdate);ficheManager=new inputPhoneFiche($("article.relation-panel"),$("#nav-fiche"));ficheManager.attach(dynamicUpdate)})})})}); -importCallLog.addEventListener("change",function(b){api.send({path:"upload/call_log",file:importCallLog.files[0]},function(a){console.log(a);0==a.ModuleError&&importCallLog.addClass("active")})},!1); +subjectManager.attach();contactManager=new inputPhoneContact($("article.contact-panel"),$("h4.add-contact"));contactManager.attach(dynamicUpdate);miniManager=new inputPhoneMini($("article.mini-relation-panel"),$("#nav-mini"));miniManager.attach(dynamicUpdate)})})})});importCallLog.addEventListener("change",function(b){api.send({path:"upload/call_log",file:importCallLog.files[0]},function(a){console.log(a);0==a.ModuleError&&importCallLog.addClass("active")})},!1); diff --git a/view/js/input.js b/view/js/input.js index f3dfff1..8401cd3 100644 --- a/view/js/input.js +++ b/view/js/input.js @@ -53,7 +53,7 @@ function dynamicUpdate(){ miniManager.fieldsToStorage(); /* (2) On enregister les FICHES relation */ - ficheManager.fieldsToStorage(); + // ficheManager.fieldsToStorage(); /* (3) On enregistre les CONTACTS */ contactManager.fieldsToStorage(); @@ -62,11 +62,11 @@ function dynamicUpdate(){ miniManager.sync(); /* (5) On synchronise les FICHE avec les CONTACTS */ - ficheManager.sync(); + // ficheManager.sync(); /* (6) On affiche le tout */ miniManager.storageToFields(); - ficheManager.storageToFields(); + // ficheManager.storageToFields(); contactManager.storageToFields(); } @@ -141,13 +141,13 @@ include('/js/includes/input-phone-fiche.js', function(){ /* [6] Gestion des fiches relation =========================================================*/ /* (1) On crée une instance du gestionnaire des fiches relation */ - ficheManager = new inputPhoneFiche( - $('article.relation-panel'), - $('#nav-fiche') - ); - - /* (2) On le démarre */ - ficheManager.attach(dynamicUpdate); + // ficheManager = new inputPhoneFiche( + // $('article.relation-panel'), + // $('#nav-fiche') + // ); + // + // /* (2) On le démarre */ + // ficheManager.attach(dynamicUpdate);