Ajout de la case 'contact inconnu' et de la valeur par défaut pour la distance des domiciles 'Je ne sais pas' sur le modèle 'phone.mini'

This commit is contained in:
xdrm-brackets 2016-05-25 13:52:57 +02:00
parent 47b75ab5ab
commit bad062d570
8 changed files with 1544 additions and 880 deletions

File diff suppressed because one or more lines are too long

View File

@ -46,6 +46,10 @@ pMiniFicheBuilder.setLayout(
"\t<span data-space></span>\n"+
"\t<h4 data-icon='a' class='color2'>@name</h4>\n"+
"\t<h5 class='nobold color0'>"+
"\t\t<input type='checkbox' data-name='unknown' id='unknown_min_p_@uid' value='1'><label for='unknown_min_p_@uid'>Contact inconnu</label>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\t@countcall appels"+
"\t</h5>"+
@ -119,6 +123,7 @@ pMiniFicheBuilder.setLayout(
"\t<h4 data-icon='m'>Où habite t-elle/il ?</h4>\n"+
"\t<h5 class='nobold color0'>\n"+
"\t\tÀ combien de temps est-ce de chez vous ?<br>\n"+
"\t\t&nbsp;&nbsp;&nbsp;<input type='radio' name='loc_mini_p_@uid' data-name='loc' id='locX_mini_p_@uid' value='.'><label for='locX_mini_p_@uid'>Je ne sais pas</label><br>\n"+
"\t\t&nbsp;&nbsp;&nbsp;<input type='radio' name='loc_mini_p_@uid' data-name='loc' id='locA_mini_p_@uid' value='0'><label for='locA_mini_p_@uid'>- de 5 minutes</label><br>\n"+
"\t\t&nbsp;&nbsp;&nbsp;<input type='radio' name='loc_mini_p_@uid' data-name='loc' id='locB_mini_p_@uid' value='1'><label for='locB_mini_p_@uid'>de 5 à 15 minutes</label><br>\n"+
"\t\t&nbsp;&nbsp;&nbsp;<input type='radio' name='loc_mini_p_@uid' data-name='loc' id='locC_mini_p_@uid' value='2'><label for='locC_mini_p_@uid'>de 15 à 60 minutes</label><br>\n"+

View File

@ -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:"2",age:".",studies:"0",loc:"0",reltype:"9",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(),d=crc32(JSON.stringify(c));console.log(c);var e=lsi.get("p_mini-fiches",c.uid);if(!1!==e){if(null!=e&&null!=e.hash&&e.hash==d)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:d};c.valid=this.check(c);0<diff(e,c,["hash","valid","timestamp"]).length&&(console.log(diff(e,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:b.username,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("p_mini-fiches",this.selected);if(null==a)return this.updateNavBar(),!1;this.container.innerHTML="";this.add(a);this.updateNavBar()};
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:"2",age:".",studies:"0",loc:".",reltype:"9",reltypeSpecial:"",unknown:!1,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(),d=crc32(JSON.stringify(c)),e=lsi.get("p_mini-fiches",c.uid);if(!1!==e){if(null!=e&&null!=e.hash&&e.hash==d)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,unknown:null!=c.unknown,hash:d};c.valid=this.check(c);0<diff(e,c,["hash","valid","timestamp"]).length&&(console.log(diff(e,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;a.unknown=null!=a.unknown?a.unknown:this.defaultData.unknown;
var b=lsi.get("p_contacts",a.uid);if(!1===b)return!1;this.container.innerHTML+=pMiniFicheBuilder.build({name:b.username,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");b=$('[data-sublink="phone"] article.mini-fiche-relation input[data-name="uid"][value="'+a.uid+'"] ~ h5>input[type="checkbox"][data-name="unknown"]');
null!=b&&a.unknown&&b.setAttribute("checked","checked")};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=[],d;for(d in b)-1==c.indexOf(b[d].contact)&&c.push(b[d].contact);for(var e in a)-1<c.indexOf(parseInt(e))?lsi.del("p_mini-fiches",e):(b=0==a[e].username.length?e.toString()+"-":e,d=lsi.get("p_mini-fiches",b),null==d&&(d=this.defaultData,d.valid=!1,isNaN(b)&&(d.reltype="9")),d.uid=parseInt(e),lsi.set("p_mini-fiches",b,d));d=lsi["export"]("p_mini-fiches");if(null==
d[this.selected])for(e in d)if(!isNaN(e)){this.selected=parseInt(e);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)};
inputPhoneMini.prototype.check=function(a){console.log(a.unknown);return a.unknown?!0:""==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)};

View File

@ -16,9 +16,10 @@ inputPhoneMini.prototype = {
sexe: '2',
age: '.',
studies: '0',
loc: '0',
loc: '.',
reltype: '9',
reltypeSpecial: '',
unknown: false,
timestamp: 0,
valid: false
}
@ -42,7 +43,7 @@ inputPhoneMini.prototype.fieldsToStorage = function(){
var deflatedHash = crc32(JSON.stringify(deflated));
console.log(deflated);
// console.log(deflated);
// {4} On récupère les données du LSI si elles existent //
@ -69,6 +70,7 @@ inputPhoneMini.prototype.fieldsToStorage = function(){
reltype: deflated.reltype, // [0] ...
reltypeSpecial: deflated.reltypeSpecial,
loc: deflated.loc, // [0] Choix 1 -> [3] Choix 4
unknown: deflated.unknown != null,
hash: deflatedHash
};
@ -118,6 +120,7 @@ inputPhoneMini.prototype.add = function(objectData){
objectData.reltype = (objectData.reltype != null) ? objectData.reltype : this.defaultData.reltype;
objectData.reltypeSpecial = (objectData.reltypeSpecial != null) ? objectData.reltypeSpecial : this.defaultData.reltypeSpecial;
objectData.loc = (objectData.loc != null) ? objectData.loc : this.defaultData.loc;
objectData.unknown = (objectData.unknown != null) ? objectData.unknown : this.defaultData.unknown;
// {1} On récupère username/firstname/lastname du contact associé //
@ -166,6 +169,12 @@ inputPhoneMini.prototype.add = function(objectData){
if( locCreated[i].value == objectData.loc ) locCreated[i].setAttribute('checked', 'checked');
else locCreated[i].removeAttribute('checked');
/* (8) On coche ou non 'unknonw' */
var unknownCreated = $('[data-sublink="phone"] article.mini-fiche-relation input[data-name="uid"][value="'+objectData.uid+'"] ~ h5>input[type="checkbox"][data-name="unknown"]');
if( unknownCreated != null && objectData.unknown )
unknownCreated.setAttribute('checked', 'checked');
};
@ -368,6 +377,11 @@ inputPhoneMini.prototype.updateNavBar = function(){
=========================================================*/
inputPhoneMini.prototype.check = function(miniData){
// 0. Si inconnu coché, on valide
console.log( miniData.unknown );
if( miniData.unknown )
return true;
// 1. Le sexe est défini
if( miniData.sexe == '' )
return false;

View File

@ -296,7 +296,7 @@
$checkFiche = $checkFiche && isset($fiches['sexe']) && is_string($fiches['sexe']);
$checkFiche = $checkFiche && isset($fiches['age']) && is_string($fiches['age']);
$checkFiche = $checkFiche && isset($fiches['job']) && is_string($fiches['job']);
$checkFiche = $checkFiche && isset($fiches['loc']) && is_numeric($fiches['loc']);
$checkFiche = $checkFiche && isset($fiches['loc']) && (is_numeric($fiches['loc']) || $fiches['loc']=='.');
$checkFiche = $checkFiche && isset($fiches['studies']) && is_string($fiches['studies']);
$checkFiche = $checkFiche && isset($fiches['famsit']) && is_numeric($fiches['famsit']);
$checkFiche = $checkFiche && isset($fiches['reltype']) && is_numeric($fiches['reltype']);

View File

@ -119,6 +119,7 @@
},
"dist": {
".": "NA",
"0": "- de 5 minutes",
"1": "de 5 à 15 minutes",
"2": "de 15 à 60 minutes",

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long