diff --git a/js/includes/input-html-data-min.js b/js/includes/input-html-data-min.js index 9ec17ae..04017c1 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 ea5782d..ef0d911 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"+ @@ -164,7 +164,7 @@ ficheBuilder.setLayout( "\t
\n"+ "\t\t\n"+ - "\t\t   \n"+ + "\t\t   \n"+ "\t
\n"+ @@ -264,13 +264,13 @@ 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"+ "\t
\n"+ - "\t\t\n"+ + "\t\t\n"+ "\t
\n"+ @@ -283,8 +283,8 @@ ficheBuilder.setLayout( "\t
\n"+ "\t\tDepuis quand connaissez-vous cette personne ?

\n"+ - "\t\tmois\n"+ - "\t\tet    ans.\n"+ + "\t\tmois\n"+ + "\t\tet    ans.\n"+ "\t
\n"+ @@ -304,9 +304,9 @@ ficheBuilder.setLayout( "\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

Avec quelle fréquence discutez-vous avec cette personne ?

\n"+ @@ -389,11 +389,11 @@ ficheBuilder.setLayout( "\t\n"+ "\t
\n"+ - "\t\tVous communiquez dans autre réseau social : \n"+ + "\t\tVous communiquez dans autre réseau social : \n"+ "\t
\n"+ "\t
\n"+ - "\t\tVous communiquez dans un autre dispositif (blogs, jeu vidéo ou autre) : \n"+ + "\t\tVous communiquez dans un autre dispositif (blogs, jeu vidéo ou autre) : \n"+ "\t
\n"+ "\n"); diff --git a/js/includes/input-phone-fiche-min.js b/js/includes/input-phone-fiche-min.js index 6c73bcb..f0a6d82 100644 --- a/js/includes/input-phone-fiche-min.js +++ b/js/includes/input-phone-fiche-min.js @@ -1,13 +1,19 @@ -function inputPhoneFiche(b,c){this.container=b;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 b=$$("article.relation-panel .fiche-relation"),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[data-name="job"]>option[value="'+a.job+'"]');null!=c&&c.setAttribute("selected","selected");c=$('article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>span>select[data-name="studies"]>option[value="'+a.studies+'"]');null!=c&&c.setAttribute("selected","selected");for(var b=$$('article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]'),c=0;cinput[type="radio"][data-name="famsit"]');for(c=0;cinput[type="radio"][data-name="reltype"]');for(c=0;cinput[type="radio"][data-name="loc"]');for(c=0;cinput[type="radio"][data-name="context"]');for(c=0;cinput[type="radio"][data-name="freq'+b+'"]'),c=0;cinput[type="radio"][data-name="connect'+b+'"]'),c=0;cc;c++){var b=lsi.get("contacts",a[c]),d=lsi.get("fiches",a[c]);null==d&&(d=this.defaultData);d.uid=b.uid;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;c // + objectData.job = (objectData.job != null) ? objectData.job : this.defaultData.job; + objectData.studies = (objectData.studies != null) ? objectData.studies : this.defaultData.studies; + + // {3} Champs // + objectData.sexe = (objectData.sexe != null) ? objectData.sexe : this.defaultData.sexe; + objectData.famsit = (objectData.famsit != null) ? objectData.famsit : this.defaultData.famsit; + objectData.reltype = (objectData.reltype != null) ? objectData.reltype : this.defaultData.reltype; + objectData.loc = (objectData.loc != null) ? objectData.loc : this.defaultData.loc; + objectData.context = (objectData.context != null) ? objectData.context : this.defaultData.context; + objectData.freq = (objectData.freq != null) ? objectData.freq : this.defaultData.freq; + objectData.connect = (objectData.connect != null) ? objectData.connect : this.defaultData.connect; // {1} Création physique // this.container.innerHTML += ficheBuilder.build({ - firstname: objectData.firstname, - 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' + firstname: objectData.firstname, + lastname: objectData.lastname, + username: objectData.username, + uid: objectData.uid, + age: objectData.age, + city: objectData.city, + duration0: objectData.duration[0], + duration1: objectData.duration[1], + reltypespecial: objectData.reltypeSpecial, + contextspecial0: objectData.contextSpecial[0], + contextspecial1: objectData.contextSpecial[1], + contextspecial2: objectData.contextSpecial[2], + connectspecial0: objectData.connectSpecial[0], + connectspecial1: objectData.connectSpecial[1] }); - /* (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; + /* (2) On sélectionne la valeur dans le select (manuellement) de la PROFESSION */ + var selectedOption = $('article.fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>span>select[data-name="job"]>option[value="'+objectData.job+'"]'); + if( selectedOption != null ) + selectedOption.setAttribute('selected', 'selected'); + + /* (3) On sélectionne la valeur dans le select (manuellement) des ETUDES */ + selectedOption = $('article.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'); + + + /* (4) On sélectionna la valeur des boutons pour le SEXE */ + var sexeCreated = $$('article.fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]'); + for( var i = 0 ; i < sexeCreated.length && i < objectData.sexe.length ; i++ ) + if( objectData.sexe[i].status ) sexeCreated[i].setAttribute('checked', 'checked'); + else sexeCreated[i].removeAttribute('checked'); + + + /* (5) On sélectionna la valeur des boutons pour la SITUATION FAMILIALE */ + var famsitCreated = $$('article.fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>input[type="radio"][data-name="famsit"]'); + for( var i = 0 ; i < famsitCreated.length && i < objectData.famsit.length ; i++ ) + if( objectData.famsit[i].status ) famsitCreated[i].setAttribute('checked', 'checked'); + else famsitCreated[i].removeAttribute('checked'); + + + /* (6) On sélectionna la valeur des boutons pour le TYPE DE RELATION */ + var reltypeCreated = $$('article.fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>input[type="radio"][data-name="reltype"]'); + for( var i = 0 ; i < reltypeCreated.length && i < objectData.reltype.length ; i++ ) + if( objectData.reltype[i].status ) reltypeCreated[i].setAttribute('checked', 'checked'); + else reltypeCreated[i].removeAttribute('checked'); + + + /* (7) On sélectionna la valeur des boutons pour la LOCATION */ + var locCreated = $$('article.fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>input[type="radio"][data-name="loc"]'); + for( var i = 0 ; i < locCreated.length && i < objectData.loc.length ; i++ ) + if( objectData.loc[i].status ) locCreated[i].setAttribute('checked', 'checked'); + else locCreated[i].removeAttribute('checked'); + + + /* (8) On sélectionna la valeur des boutons pour le CONTEXTE DE RENCONTRE */ + var contextCreated = $$('article.fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>input[type="radio"][data-name="context"]'); + for( var i = 0 ; i < contextCreated.length && i < objectData.context.length ; i++ ) + if( objectData.context[i].status ) contextCreated[i].setAttribute('checked', 'checked'); + else contextCreated[i].removeAttribute('checked'); + + + /* (9) On sélectionna la valeur des boutons pour les FREQUENCES */ + for( var f = 0 ; f < objectData.freq.length ; f++ ){ + var freqCreated = $$('article.fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>input[type="radio"][data-name="freq'+f+'"]'); + for( var i = 0 ; i < freqCreated.length && i < objectData.freq[f].length ; i++ ) + if( objectData.freq[f][i].status ) freqCreated[i].setAttribute('checked', 'checked'); + else freqCreated[i].removeAttribute('checked'); + } + + /* (10) On sélectionna la valeur des boutons pour les CONNECTIONS */ + for( var c = 0 ; c < objectData.connect.length ;c++ ){ + var connectCreated = $$('article.fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>input[type="radio"][data-name="connect'+c+'"]'); + for( var i = 0 ; i < connectCreated.length && i < objectData.connect[c].length ; i++ ) + if( objectData.connect[c][i].status ) connectCreated[i].setAttribute('checked', 'checked'); + else connectCreated[i].removeAttribute('checked'); + } - /* (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'); - /* (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'); }; @@ -231,16 +299,7 @@ inputPhoneFiche.prototype.storageToFields = function(){ var ficheData = lsi.get('fiches', existingFiches[i]); // {3} On ajoute un contact à la liste // - this.add({ - uid: ficheData.uid, - firstname: ficheData.firstname, - lastname: ficheData.lastname, - username: ficheData.username, - age: ficheData.age, - sexe: ficheData.sexe, - job: ficheData.job, - loc: ficheData.loc - }); + this.add(ficheData); UIDs.push(ficheData.uid); } @@ -278,35 +337,20 @@ inputPhoneFiche.prototype.sync = function(){ var ficheData = lsi.get('fiches', contactUIDs[i]); - /* (5) Cas 1 : la MINI fiche n'exise pas */ - if( ficheData == null ){ - - // On crée la MINI fiche - lsi.set('fiches', contactUIDs[i], { - 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 - }); + /* (5) Si la FICHE n'exise pas, on la crée avec les valeurs par défaut */ + if( ficheData == null ) + ficheData = this.defaultData; - /* (6) Cas 2 : la MINI fiche existe déja */ - }else{ - - // On modifie la MINI fiche - ficheData.firstname = contactData.firstname; - ficheData.lastname = contactData.lastname; - ficheData.username = contactData.username; - - // On met à jour la MINI fiche - lsi.set('fiches', contactUIDs[i], ficheData); + /* (6) On met à jour la fiche */ + ficheData.uid = contactData.uid; + ficheData.firstname = contactData.firstname; + ficheData.lastname = contactData.lastname; + ficheData.username = contactData.username; - } + /* (7) On enregistre les modification */ + lsi.set('fiches', contactUIDs[i], ficheData); } diff --git a/js/includes/input-phone-mini-min.js b/js/includes/input-phone-mini-min.js index f7e0f7b..9ba2787 100644 --- a/js/includes/input-phone-mini-min.js +++ b/js/includes/input-phone-mini-min.js @@ -1,10 +1,11 @@ -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}; +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:{firstname:"",lastname:"",username:"",sexe:[{status:!0},{status:!1}],age:"",job:".",loc:[{status:!0},{status:!1},{status:!1},{status:!1}]}}; inputPhoneMini.prototype.fieldsToStorage=function(){console.log("MINI FICHE: FIELDS TO STORAGE");for(var a=$$("article.mini-relation-panel .mini-fiche-relation"),b=0;bspan>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;cspan>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"]');console.log(a.loc);for(b=0;b 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;bspan>select>option[value="'+objectData.job+'"]'); + /* (2) 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+'"]'); 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++ ) + var sexeCreated = $$('article.mini-fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]'); + for( var i = 0 ; i < sexeCreated.length && i < objectData.sexe.length ; i++ ) 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++ ) + var locCreated = $$('article.mini-fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>input[type="radio"][data-name="loc"]'); + console.log(objectData.loc); + for( var i = 0 ; i < locCreated.length && i < objectData.loc.length ; i++ ) if( objectData.loc[i].status ) locCreated[i].setAttribute('checked', 'checked'); else locCreated[i].removeAttribute('checked'); @@ -199,36 +209,21 @@ inputPhoneMini.prototype.sync = function(){ var miniData = lsi.get('mini-fiches', contactUIDs[i]); - /* (5) Cas 1 : la MINI fiche n'exise pas */ - if( miniData == null ){ - - // On crée la MINI fiche - miniData = { - uid: contactData.uid, - firstname: contactData.firstname, - lastname: contactData.lastname, - username: contactData.username, - 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 - }; + /* (5) Si la MINI fiche n'exise pas, on la crée avec les valeurs par défaut */ + if( miniData == null ) + miniData = this.defaultData; - /* (6) Cas 2 : la MINI fiche existe déja */ - }else{ - - // On modifie la MINI fiche - miniData.firstname = contactData.firstname; - miniData.lastname = contactData.lastname; - miniData.username = contactData.username; + /* (6) On met à jour la MINI fiche */ + miniData.uid = contactData.uid; + miniData.firstname = contactData.firstname; + miniData.lastname = contactData.lastname; + miniData.username = contactData.username; - - } - - /* (7) On met à jour la MINI fiche */ + /* (7) On enregistre les modification */ lsi.set('mini-fiches', contactUIDs[i], miniData); + } }; diff --git a/view/js/input-min.js b/view/js/input-min.js index 43d39a3..681a88d 100644 --- a/view/js/input-min.js +++ b/view/js/input-min.js @@ -1,3 +1,4 @@ -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()} +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()} 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)})})})});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 8401cd3..f3dfff1 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);