From 601c7f4ab624cb0e9182be6e1b74d40f88bfccf1 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Sun, 27 Nov 2016 16:29:29 +0100 Subject: [PATCH] `input-phone-fiche.js` gestion de `medrel` --- public_html/js/includes/input-phone-fiche.js | 39 +++++++++++-------- .../js/includes/min/input-phone-fiche.js | 26 ++++++------- 2 files changed, 36 insertions(+), 29 deletions(-) diff --git a/public_html/js/includes/input-phone-fiche.js b/public_html/js/includes/input-phone-fiche.js index a7b6273..16ae3c8 100644 --- a/public_html/js/includes/input-phone-fiche.js +++ b/public_html/js/includes/input-phone-fiche.js @@ -35,6 +35,7 @@ inputPhoneFiche.prototype = { connect: ['1', '3', '5', '7', '9', '11'], // Le deuxième choix (Oui/Non) donc 'Non' par défaut pour chaque question connectSpecial: ['', ''], medsoc: '0', + medrel: '0', timestamp: 0, valid: false } @@ -85,6 +86,7 @@ inputPhoneFiche.prototype.fieldsToStorage = function(){ duration: deflated.duration, context: deflated.context, medsoc: deflated.medsoc, + medrel: deflated.medrel, contextSpecial: deflated.contextSpecial, freq: deflated.freq, irlfreq: deflated.irlfreq, @@ -165,6 +167,7 @@ inputPhoneFiche.prototype.add = function(objectData){ objectData.loc = (objectData.loc != null) ? objectData.loc : this.defaultData.loc; objectData.context = (objectData.context != null) ? objectData.context : this.defaultData.context; objectData.medsoc = (objectData.medsoc != null) ? objectData.medsoc : this.defaultData.medsoc; + objectData.medrel = (objectData.medrel != null) ? objectData.medrel : this.defaultData.medrel; objectData.freq = (objectData.freq != null) ? objectData.freq : this.defaultData.freq; objectData.irlfreq = (objectData.irlfreq != null) ? objectData.irlfreq : this.defaultData.irlfreq; objectData.connect = (objectData.connect != null) ? objectData.connect : this.defaultData.connect; @@ -214,6 +217,7 @@ inputPhoneFiche.prototype.add = function(objectData){ objectData.duration[1] = existingData.duration[1]; objectData.context = existingData.context; objectData.medsoc = existingData.medsoc; + objectData.medrel = existingData.medrel; objectData.contextSpecial = existingData.contextExtra; objectData.connect = existingData.connect; objectData.connectSpecial = existingData.connectExtra; @@ -281,56 +285,56 @@ inputPhoneFiche.prototype.add = function(objectData){ if( sexeCreated[i].value == objectData.sexe ) sexeCreated[i].setAttribute('checked', 'checked'); else sexeCreated[i].removeAttribute('checked'); - /* {12} On sélectionna la valeur des boutons pour la SITUATION FAMILIALE */ var famsitCreated = $$('[data-sublink="phone"] 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++ ) if( famsitCreated[i].value == objectData.famsit ) famsitCreated[i].setAttribute('checked', 'checked'); else famsitCreated[i].removeAttribute('checked'); - /* {13} On sélectionna la valeur des boutons pour le TYPE DE RELATION */ var reltypeCreated = $$('[data-sublink="phone"] 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++ ) if( reltypeCreated[i].value == objectData.reltype ) reltypeCreated[i].setAttribute('checked', 'checked'); else reltypeCreated[i].removeAttribute('checked'); - /* {14} On sélectionna la valeur des boutons pour la LOCATION */ var locCreated = $$('[data-sublink="phone"] 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++ ) if( locCreated[i].value == objectData.loc ) locCreated[i].setAttribute('checked', 'checked'); else locCreated[i].removeAttribute('checked'); - /* {15} On sélectionna la valeur des boutons pour le CONTEXTE DE RENCONTRE */ var contextCreated = $$('[data-sublink="phone"] 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++ ) if( contextCreated[i].value == objectData.context ) contextCreated[i].setAttribute('checked', 'checked'); else - /* {16} On sélectionna la valeur des boutons pour l'UTILISATION DES MEDIAS SOCIAUX */ var medsocCreated = $$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>input[type="radio"][data-name="medsoc"]'); for( var i = 0 ; i < medsocCreated.length ; i++ ) if( medsocCreated[i].value == objectData.medsoc ) medsocCreated[i].setAttribute('checked', 'checked'); else medsocCreated[i].removeAttribute('checked'); + /* {17} On sélectionna la valeur des boutons pour l'UTILISATION DES MEDIAS SOCIAUX */ + var medrelCreated = $$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>input[type="radio"][data-name="medrel"]'); + for( var i = 0 ; i < medrelCreated.length ; i++ ) + if( medrelCreated[i].value == objectData.medrel ) medrelCreated[i].setAttribute('checked', 'checked'); + else medrelCreated[i].removeAttribute('checked'); - /* {17} On sélectionna la valeur des boutons pour les FREQUENCES */ + /* {18} On sélectionna la valeur des boutons pour les FREQUENCES */ var freqCreated = $$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>input[type="radio"][data-name="freq"]'); for( var i = 0 ; i < freqCreated.length ; i++ ) if( objectData.freq.indexOf(freqCreated[i].value) > -1 ) freqCreated[i].setAttribute('checked', 'checked'); else freqCreated[i].removeAttribute('checked'); - /* {18} On sélectionna la valeur des boutons pour les FREQUENCES IRL */ + /* {19} On sélectionna la valeur des boutons pour les FREQUENCES IRL */ var irlfreqCreated = $$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>input[type="radio"][data-name="irlfreq"]'); for( var i = 0 ; i < irlfreqCreated.length ; i++ ) if( objectData.irlfreq.indexOf(irlfreqCreated[i].value) > -1 ) irlfreqCreated[i].setAttribute('checked', 'checked'); else irlfreqCreated[i].removeAttribute('checked'); - /* {19} On sélectionna la valeur des boutons pour les CONNECTIONS */ + /* {20} On sélectionna la valeur des boutons pour les CONNECTIONS */ var connectCreated = $$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>input[type="radio"][data-name="connect"]'); for( var i = 0 ; i < connectCreated.length ; i++ ) if( objectData.connect.indexOf(connectCreated[i].value) > -1 ) connectCreated[i].setAttribute('checked', 'checked'); @@ -705,38 +709,41 @@ inputPhoneFiche.prototype.check = function(ficheData){ // 15. L'UTILISATION DES MEDIAS SOCIAUX a un et un seul choix if( ficheData.medsoc == '' ) return false; - // 16. Les FRÉQUENCES ont un et un seul choix (par question de fréquence) + // 16. L'UTILISATION DES MEDIAS SOCIAUX a un et un seul choix + if( ficheData.medrel == '' ) + return false; + // 17. Les FRÉQUENCES ont un et un seul choix (par question de fréquence) for( var i = 0 ; i < ficheData.freq.length ; i++ ) if( ficheData.freq[i] == '' ) return false; - // 17. Les FRÉQUENCES IRL ont un et un seul choix (par question de fréquence) + // 18. Les FRÉQUENCES IRL ont un et un seul choix (par question de fréquence) for( var i = 0 ; i < ficheData.irlfreq.length ; i++ ) if( ficheData.irlfreq[i] == '' ) return false; - // 18. Les CONNECTION ont un et un seul choix (par question de connection) + // 19. Les CONNECTION ont un et un seul choix (par question de connection) for( var i = 0 ; i < ficheData.connect.length ; i++ ) if( ficheData.connect[i] == '' ) return false; /* {4} dépendant d'un choix d'un radio */ - // 19. TYPE DE RELATION si autre est coché (indice 8), reltypeSpecial doit avoir au moins 2 caractère + // 20. TYPE DE RELATION si autre est coché (indice 8), reltypeSpecial doit avoir au moins 2 caractère if( ficheData.reltype == '10' && ficheData.reltypeSpecial.length < 2 ) return false; - // 20. CONTEXTE DE RELATION si est coché indice 11, contactSpecial[0] doit avoir au moins 2 caractères + // 21. CONTEXTE DE RELATION si est coché indice 11, contactSpecial[0] doit avoir au moins 2 caractères if( ficheData.context == '11' && ficheData.contextSpecial[0].length < 2 ) return false; - // 21. CONTEXTE DE RELATION si est coché indice 12, contextSpecial[1] doit avoir au moins 2 caractères + // 22. CONTEXTE DE RELATION si est coché indice 12, contextSpecial[1] doit avoir au moins 2 caractères if( ficheData.context == '12' && ficheData.contextSpecial[1].length < 2 ) return false; - // 22. CONTEXTE DE RELATION si est coché indice 13, contextSpecial[2] doit avoir au moins 2 caractères + // 23. CONTEXTE DE RELATION si est coché indice 13, contextSpecial[2] doit avoir au moins 2 caractères if( ficheData.context == '13' && ficheData.contextSpecial[2].length < 2 ) return false; - // 23. Si tout s'est bien passé, on retourne TRUE + // 24. Si tout s'est bien passé, on retourne TRUE return true; }; diff --git a/public_html/js/includes/min/input-phone-fiche.js b/public_html/js/includes/min/input-phone-fiche.js index d239029..acbffa2 100644 --- a/public_html/js/includes/min/input-phone-fiche.js +++ b/public_html/js/includes/min/input-phone-fiche.js @@ -1,20 +1,20 @@ function inputPhoneFiche(a,b){this.container=a;this.nav_container=b;this.top_size=10} -inputPhoneFiche.prototype={container:this.container,nav_container:this.nav_container,selected:0,handler:null,defaultData:{sexe:"2",age:".",interest:".",relmark:".",job:".",famsit:"0",studies:"0",reltype:"0",reltypeSpecial:"",city:"",quartier:"",cp:"",loc:"0",duration:["",""],context:"0",contextSpecial:["","",""],freq:["3","8","13","18","23"],irlfreq:["3","8","13","18","23"],connect:"1 3 5 7 9 11".split(" "),connectSpecial:["",""],medsoc:"0",timestamp:0,valid:!1}}; +inputPhoneFiche.prototype={container:this.container,nav_container:this.nav_container,selected:0,handler:null,defaultData:{sexe:"2",age:".",interest:".",relmark:".",job:".",famsit:"0",studies:"0",reltype:"0",reltypeSpecial:"",city:"",quartier:"",cp:"",loc:"0",duration:["",""],context:"0",contextSpecial:["","",""],freq:["3","8","13","18","23"],irlfreq:["3","8","13","18","23"],connect:"1 3 5 7 9 11".split(" "),connectSpecial:["",""],medsoc:"0",medrel:"0",timestamp:0,valid:!1}}; inputPhoneFiche.prototype.fieldsToStorage=function(){console.group("[phone.fiche] fields to storage");var a,b,c,d,e,h=$$('[data-sublink="phone"] article.relation-panel .fiche-relation');a=0;for(b=h.length;a FICHE UPDATE ("+(d.timestamp-input_ts)+")"),lsi.set("p_fiches",d.uid,d));console.groupEnd()}; +cp:d.cp,loc:d.loc,duration:d.duration,context:d.context,medsoc:d.medsoc,medrel:d.medrel,contextSpecial:d.contextSpecial,freq:d.freq,irlfreq:d.irlfreq,connect:d.connect,connectSpecial:d.connectSpecial,uid:parseInt(d.uid),contact:parseInt(d.contact)},e=crc32(JSON.stringify(d)),c.hasOwnProperty("hash")&&e==c.hash||(d.hash=e,d.valid=this.check(d),d.timestamp=Date.now(),console.warn("> FICHE UPDATE ("+(d.timestamp-input_ts)+")"),lsi.set("p_fiches",d.uid,d));console.groupEnd()}; inputPhoneFiche.prototype.add=function(a){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.interest=null!=a.interest?a.interest:this.defaultData.interest;a.relmark=null!=a.relmark?a.relmark:this.defaultData.relmark;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.medsoc=null!=a.medsoc?a.medsoc:this.defaultData.medsoc;a.freq=null!=a.freq?a.freq:this.defaultData.freq;a.irlfreq=null!=a.irlfreq?a.irlfreq:this.defaultData.irlfreq;a.connect=null!=a.connect?a.connect:this.defaultData.connect;var b=lsi.get("p_contacts",a.contact);if(!1===b)return!1;var c="";isNaN(b.existing)||(c=lsi.get("p_friends",b.existing),b.username=c.name,a.age=c.age,a.sexe=c.sexe,a.loc=c.dist,isNaN(c.reltype)?(a.reltype=10,a.reltypeSpecial=c.reltype): -(a.reltype=c.reltype,a.reltypeSpecial=""),null!=c.studies2?(a.studies=c.studies2,a.interest=c.interest,a.relmark=c.relmark,a.job=c.job,a.famsit=c.famsit,a.city=c.city,a.cp=c.cp,a.quartier=c.quartier,a.duration[0]=c.duration[0],a.duration[1]=c.duration[1],a.context=c.context,a.medsoc=c.medsoc,a.contextSpecial=c.contextExtra,a.connect=c.connect,a.connectSpecial=c.connectExtra,a.freq=c.freq,a.irlfreq=c.irlfreq,c="Contact import\u00e9: non modifiable!"):c="Contact import\u00e9 (incomplet): modifiable partiellement!"); -this.container.innerHTML+=pFicheBuilder.build({importedfiche:c,name:b.username,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");b=$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>span>select[data-name="interest"]>option[value="'+a.interest+'"]');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="relmark"]>option[value="'+a.relmark+'"]');null!=b&&b.setAttribute("selected","selected");c=$$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+ -a.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]');for(b=0;binput[type="radio"][data-name="famsit"]');for(b=0;binput[type="radio"][data-name="reltype"]');for(b=0;binput[type="radio"][data-name="loc"]');for(b=0;binput[type="radio"][data-name="context"]');for(b=0;binput[type="radio"][data-name="medsoc"]');for(b=0;binput[type="radio"][data-name="freq"]'); -for(b=0;binput[type="radio"][data-name="irlfreq"]');for(b=0;binput[type="radio"][data-name="connect"]'); -for(b=0;bspan>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");b=$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>span>select[data-name="interest"]>option[value="'+a.interest+'"]');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="relmark"]>option[value="'+a.relmark+'"]');null!=b&&b.setAttribute("selected", +"selected");c=$$('[data-sublink="phone"] article.fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="radio"][data-name="sexe"]');for(b=0;binput[type="radio"][data-name="famsit"]');for(b=0;binput[type="radio"][data-name="reltype"]');for(b=0;binput[type="radio"][data-name="loc"]');for(b=0;binput[type="radio"][data-name="context"]');for(b=0;binput[type="radio"][data-name="medsoc"]');for(b=0;binput[type="radio"][data-name="medrel"]');for(b=0;binput[type="radio"][data-name="freq"]');for(b=0;binput[type="radio"][data-name="irlfreq"]');for(b=0;binput[type="radio"][data-name="connect"]');for(b=0;b span.active'),c=0;cAPPELS");20>d&&c'+(d%20+1)+"  ":(20==d&&(this.nav_container.innerHTML+='
   SMS   '),this.nav_container.innerHTML+=''+(d%20+1)+"")}for(var e in a)b=$('[data-sublink="phone"] #p_nav-fiche [data-n="'+a[e].uid+'"]'),null!=b&&(!0===a[e].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]))&&0a.city.length||isNaN(parseInt(a.duration[0]))&&0a.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.group("[phone.fiche] attaching events");lsi.createDataset("p_fiches");this.storageToFields();this.handler=a;this.nav_container.addEventListener("click",function(a){this.nav(a.target);this.handler(a.target)}.bind(this),!1);console.groupEnd()};