Gestion de fichier externe pour les HTMLBuilders en js

This commit is contained in:
xdrm-brackets 2016-04-25 16:18:50 +02:00
parent 31589a4141
commit 5e384227c0
11 changed files with 441 additions and 142 deletions

10
js/includes/charts-sociogram-min.js vendored Normal file
View File

@ -0,0 +1,10 @@
function sociogramClass(a){this.container=a;this.log("sociogram created")}
sociogramClass.prototype={container:this.container,sigma:null,request:{path:"charts/network_data"},response:null,nodes:[],edges:[],rad:500,nodeDistance:100,overloadGraph:function(){},load:function(){},nodeAt:function(a,b){},arrange:function(a,b,d){},extractNodesFromResponse:function(){},extractEdgesFromResponse:function(){},renderNodes:function(){},renderEdges:function(){},overload:{nodeNeighbors:function(a){},nodeDirectNeighbors:function(a){}},bindings:{clickNode:function(a,b){},clickStage:function(a,
b){}},log:function(a){console.log("--[SOCIOGRAM]--");console.warn(a);console.log("--[/SOCIOGRAM]--")}};sociogramClass.prototype.overloadGraph=function(){sigma.classes.graph.addMethod("nodeNeighbors",this.overload.nodeNeighbors);sigma.classes.graph.addMethod("nodeDirectNeighbors",this.overload.nodeDirectNeighbors);this.log("graph overloaded")};
sociogramClass.prototype.load=function(){this.sigma=new sigma({renderer:{container:this.container,type:"canvas"}});var a=this;api.send(this.request,function(b){a.log(b);0==b.ModuleError&&(a.response=b,a.sigma.settings({defaultNodeColor:"#348ed8",defaultLabelSize:14,defaultLabelBGColor:"#ddd",defaultHoverLabelBGColor:"#002147",defaultLabelHoverColor:"#fff",labelThreshold:10,defaultEdgeType:"line"}),a.extractNodesFromResponse(),a.extractEdgesFromResponse(),a.addNodes(),a.addEdges(),a.sigma.bind("clickNode",
function(b){a.bindings.clickNode(a,b)}),a.sigma.bind("clickStage",function(b){a.bindings.clickStage(a,b)}),a.sigma.graph.nodes().forEach(function(b){a.arrange(b.id,null,!0)}),a.sigma.camera.ratio=1.2,a.sigma.refresh())})};sociogramClass.prototype.nodeAt=function(a,b){var d=this.sigma.graph.nodes(),c=null,e;for(e in d){var f=Math.sqrt(Math.pow(a-d[e].x,2)+Math.pow(b-d[e].y,2));if(null==c||f<c)c=f}return c};
sociogramClass.prototype.arrange=function(a,b,d){var c=this.sigma.graph.nodes(a);if(0==c.x&&0==c.y){b=null==b?{x:c.x,y:c.y}:b;if(d)for(;this.nodeAt(b.x,b.y)<2*this.nodeDistance;)b={x:b.x+2*this.nodeDistance*Math.cos(2*Math.random()*Math.PI),y:b.y+2*this.nodeDistance*Math.sin(2*Math.random()*Math.PI)};d=this.sigma.graph.nodeDirectNeighbors(a);a={};var e=0,f;for(f in d)a[f]=this.sigma.graph.nodes(f),e++;c.x=b.x;c.y=b.y;c=[];for(f in a)if(a=this.sigma.graph.nodes(f),0==a.x&&0==a.y){e=!1;do{d=2*Math.random()*
Math.PI;for(var g=0;g<c.length;g++)if(Math.abs(d-c[g])>Math.PI/10){e=!0;break}}while(e);a.x=b.x+this.nodeDistance*Math.cos(d);a.y=b.y+this.nodeDistance*Math.sin(d);this.arrange(a.id)}this.sigma.refresh()}};sociogramClass.prototype.overload.nodeNeighbors=function(a){a=this.allNeighborsIndex[a];var b=[],d;for(d in a)b.push(d);for(;0<b.length;){d=this.allNeighborsIndex[b[0]];for(var c in d)null==a[c]&&(b.push(c),a[c]=d[c]);b.shift()}return a};sociogramClass.prototype.overload.nodeDirectNeighbors=function(a){return this.allNeighborsIndex[a]};
sociogramClass.prototype.extractNodesFromResponse=function(){this.nodes=[];for(var a=0;a<this.response.data.alter.length;a++)this.nodes.push({id:"n-"+this.response.data.alter[a][0],label:this.response.data.alter[a][1],x:0,y:0,size:this.response.data.alter[a][2]})};
sociogramClass.prototype.extractEdgesFromResponse=function(){this.edges=[];for(var a=0;a<this.response.data.inter.length;a++)this.edges.push({id:"e-"+this.response.data.inter[a][0]+"-"+this.response.data.inter[a][1],source:"n-"+this.response.data.inter[a][0],target:"n-"+this.response.data.inter[a][1]})};sociogramClass.prototype.addNodes=function(){for(var a=0;a<this.nodes.length;a++)this.sigma.graph.addNode(this.nodes[a])};sociogramClass.prototype.addEdges=function(){for(var a=0;a<this.edges.length;a++)this.sigma.graph.addEdge(this.edges[a])};
sociogramClass.prototype.bindings.clickNode=function(a,b){console.log(a);var d=b.data.node.id,c=a.sigma.graph.nodeNeighbors(d);c[d]=b.data.node;a.sigma.graph.nodes().forEach(function(a){a.color=null!=c[a.id]?a.originalColor:"#888"});a.sigma.refresh()};sociogramClass.prototype.bindings.clickStage=function(a,b){a.sigma.graph.nodes().forEach(function(a){a.color=a.originalColor});a.sigma.refresh()};

3
js/includes/input-html-data-min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,381 @@
/* [0] Gestion des constructeurs HTML
=========================================================*/
/* (1) Constructeur de formulaire de contact */
var contactBuilder = new HTMLBuilder();
contactBuilder.setLayout(
"<h4 data-icon='p' class='new-contact color2'> \n"+
"\t<input type='text' data-name='number' placeholder='Numéro de téléphone' value='@number' > \n"+
"\t<input type='text' data-name='username' placeholder='Pseudo' value='@username' > \n"+
"\t<input type='text' data-name='firstname' placeholder='Prénom' value='@firstname' > \n"+
"\t<input type='text' data-name='lastname' placeholder='Nom' value='@lastname' > \n"+
"\t<input type='submit' class='primary sub-number' value='Enregistrer'>\n"+
"</h4>\n\n");
/* (2) Constructeur de MINI fiche de relation */
var miniFicheBuilder = new HTMLBuilder();
miniFicheBuilder.setLayout(
"<article class='mini-fiche-relation'>\n"+
"\t<span data-space></span>\n"+
"\t<h4 data-icon='o' class='color2'>@firstname @lastname (@username)</h4>\n"+
"\t<h5 class='nobold color0'>\n"+
"\t\t<input type='radio' name='sexe_min_@uid' checked data-name='sexe' id='sexeH_min_@uid'><label for='sexeH_min_@uid'>Homme</label>\n"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' class='btm' name='sexe_min_@uid' data-name='sexe' id='sexeF_min_@uid'><label for='sexeF_min_@uid'>Femme</label>\n"+
"\t</h5>\n"+
"\t<h5 class='nobold color0'>\n"+
"\t\t<input type='number' min='5' max='120' data-name='age' placeholder='Age'>\n"+
"\t</h5>\n"+
"\t<h5 class='nobold color0'>\n"+
"\t\t<span class='select-container'><select data-name='job'>\n"+
"\t\t\t<option value='.' disabled selected>Dernière profession exercée:</option>\n"+
"\t\t\t<option value='0'>Inconnue</option>\n"+
"\t\t\t<option value='1-' disabled>Agriculateur exploitants</option>\n"+
"\t\t\t\t<option value='10'>- Agriculteurs exploitants (Agriculteurs, maraîchers, viticulteurs…)</option>\n"+
"\t\t\t<option value='2-' disabled>Artisans, commerçants et chefs d'entreprises</option>\n"+
"\t\t\t\t<option value='21'>- Artisans (Maçons, électriciens, couturiers, boulangers, garagistes, coiffeurs…)</option>\n"+
"\t\t\t\t<option value='22'>- Commerçants et assimilés (Commerçants en détail ou en gros, buralistes, cafetiers, agents immobiliers…)</option>\n"+
"\t\t\t\t<option value='23'>- Chefs d'entreprise de 10 salariés ou plus</option>\n"+
"\t\t\t<option value='3-' disabled>Cadres et professions intellectuelles supérieures</option>\n"+
"\t\t\t\t<option value='31'>- Professions libérales et assimilés (Médecins, avocats, notaires, architectes libéraux…)</option>\n"+
"\t\t\t\t<option value='32'>- Cadres de la fonction publique, professions intellectuelles et artistiques (Personnels administratifs</option>\n"+
"\t\t\t\t\t<option class='pad' value='32'>de catégorie A, professeurs de lenseignement secondaire ou supérieur, médecins hospitaliers, artistes…)</option>\n"+
"\t\t\t\t<option value='36'>- Cadres d'entreprise (Cadres administratifs, cadres commerciaux, ingénieurs…)</option>\n"+
"\t\t\t<option value='4-' disabled>Professions Intermédiaires</option>\n"+
"\t\t\t\t<option value='41'>- Professions intermédiaires de l'enseignement, de la santé, de la fonction publique et assimilés </option>\n"+
"\t\t\t\t\t<option class='pad' value='41'>(Personnels administratifs de catégorie B, instituteurs, infirmiers, travailleurs sociaux…)</option>\n"+
"\t\t\t\t<option value='46'>- Professions intermédiaires administratives et commerciales des entreprises (Comptables, chargés de clientèles…)</option>\n"+
"\t\t\t\t<option value='47'>- Techniciens (Techniciens détudes, techniciens de contrôle, dessinateurs en bâtiment, géomètres…)</option>\n"+
"\t\t\t\t<option value='48'>- Contremaîtres, agents de maîtrise (Conducteurs de travaux, chefs déquipe…)</option>\n"+
"\t\t\t<option value='5-' disabled>Employés</option>\n"+
"\t\t\t\t<option value='51'>- Employés de la fonction publique (Personnels de catégorie C, agents administratifs, agents de service…)</option>\n"+
"\t\t\t\t<option value='54'>- Employés administratifs d'entreprise (Secrétaires, agents daccueil…)</option>\n"+
"\t\t\t\t<option value='55'>- Employés de commerce (Vendeurs, caissiers…)</option>\n"+
"\t\t\t\t<option value='56'>- Personnels des services directs aux particuliers (Serveurs, coiffeurs, assistantes maternelles…)</option>\n"+
"\t\t\t<option value='6-' disabled>Ouvriers</option>\n"+
"\t\t\t\t<option value='61'>- Ouvriers qualifiés de type industriel ou artisanal (Mécaniciens, chauffeurs, cuisiniers…)</option>\n"+
"\t\t\t\t<option value='66'>- Ouvriers non qualifiés de type industriel ou artisanal (Ouvrier de production, manœuvres…)</option>\n"+
"\t\t\t\t<option value='69'>- Ouvriers agricoles (Bergers, ouvriers de la viticulture, bûcherons, ouvrier forestiers…)</option>\n"+
"\t\t\t<option value='7-' disabled>Retraités</option>\n"+
"\t\t\t\t<option value='71'>- Anciens agriculteurs exploitants</option>\n"+
"\t\t\t\t<option value='72'>- Anciens artisans, commerçants, chefs d'entreprise</option>\n"+
"\t\t\t\t<option value='73'>- Anciens cadres</option>\n"+
"\t\t\t\t<option value='74'>- Anciennes professions intermédiaires</option>\n"+
"\t\t\t\t<option value='75'>- Anciens employés</option>\n"+
"\t\t\t\t<option value='76'>- Anciens ouvriers</option>\n"+
"\t\t\t<option value='8-' disabled>Sans activité professionnelle</option>\n"+
"\t\t\t\t<option value='81'>- Chômeurs n'ayant jamais travaillé</option>\n"+
"\t\t\t\t<option value='82'>- Inactifs divers (autres que retraités)</option>\n"+
"\t\t</select></span>\n"+
"\t</h5>\n"+
"\t<h5 class='nobold color0'>\n"+
"\t\tOù habite t-elle/il ?<br>\n"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' checked name='loc_min_@uid' data-name='loc' id='locA_min_@uid'><label for='locA_min_@uid'>- de 10km</label><br>\n"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='loc_min_@uid' data-name='loc' id='locB_min_@uid'><label for='locB_min_@uid'>de 10km à 30km</label><br>\n"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='loc_min_@uid' data-name='loc' id='locC_min_@uid'><label for='locC_min_@uid'>de 30km à 100km</label><br>\n"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='loc_min_@uid' data-name='loc' id='locD_min_@uid'><label for='locD_min_@uid'>+ de 100km</label>\n"+
"\t</h5>\n"+
"</article>");
/* (3) Constructeur de formulaire fiche relation */
var ficheBuilder = new HTMLBuilder();
ficheBuilder.setLayout(
"<article class='fiche-relation'>"+
"\t<span data-space></span>"+
"\t<h4 data-icon='o' class='color2'>@firstname @lastname (@username)</h4>"+
"\t<h5 class='nobold color0'>"+
"\t\t<input type='radio' name='sexe_@uid' checked data-name='sexe_@uid' id='sexeH_@uid'><label for='sexeH_@uid'>Homme</label>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' class='btm' name='sexe_@uid' data-name='sexe_@uid' id='sexeF_@uid'><label for='sexeF_@uid'>Femme</label>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\t<input type='number' min='5' max='120' data-name='age' placeholder='Age'>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\t<span class='select-container'><select data-name='job'>"+
"\t\t\t<option value='.' disabled selected>Dernière profession exercée:</option>"+
"\t\t\t<option value='0'>Inconnue</option>"+
"\t\t\t<option value='1-' disabled>Agriculateur exploitants</option>"+
"\t\t\t\t<option value='10'>- Agriculteurs exploitants (Agriculteurs, maraîchers, viticulteurs…)</option>"+
"\t\t\t<option value='2-' disabled>Artisans, commerçants et chefs d'entreprises</option>"+
"\t\t\t\t<option value='21'>- Artisans (Maçons, électriciens, couturiers, boulangers, garagistes, coiffeurs…)</option>"+
"\t\t\t\t<option value='22'>- Commerçants et assimilés (Commerçants en détail ou en gros, buralistes, cafetiers, agents immobiliers…)</option>"+
"\t\t\t\t<option value='23'>- Chefs d'entreprise de 10 salariés ou plus</option>"+
"\t\t\t<option value='3-' disabled>Cadres et professions intellectuelles supérieures</option>"+
"\t\t\t\t<option value='31'>- Professions libérales et assimilés (Médecins, avocats, notaires, architectes libéraux…)</option>"+
"\t\t\t\t<option value='32'>- Cadres de la fonction publique, professions intellectuelles et artistiques (Personnels administratifs</option>"+
"\t\t\t\t <option class='pad' value='32'>de catégorie A, professeurs de lenseignement secondaire ou supérieur, médecins hospitaliers, artistes…)</option>"+
"\t\t\t\t<option value='36'>- Cadres d'entreprise (Cadres administratifs, cadres commerciaux, ingénieurs…)</option>"+
"\t\t\t<option value='4-' disabled>Professions Intermédiaires</option>"+
"\t\t\t\t<option value='41'>- Professions intermédiaires de l'enseignement, de la santé, de la fonction publique et assimilés </option>"+
"\t\t\t\t <option class='pad' value='41'>(Personnels administratifs de catégorie B, instituteurs, infirmiers, travailleurs sociaux…)</option>"+
"\t\t\t\t<option value='46'>- Professions intermédiaires administratives et commerciales des entreprises (Comptables, chargés de clientèles…)</option>"+
"\t\t\t\t<option value='47'>- Techniciens (Techniciens détudes, techniciens de contrôle, dessinateurs en bâtiment, géomètres…)</option>"+
"\t\t\t\t<option value='48'>- Contremaîtres, agents de maîtrise (Conducteurs de travaux, chefs déquipe…)</option>"+
"\t\t\t<option value='5-' disabled>Employés</option>"+
"\t\t\t\t<option value='51'>- Employés de la fonction publique (Personnels de catégorie C, agents administratifs, agents de service…)</option>"+
"\t\t\t\t<option value='54'>- Employés administratifs d'entreprise (Secrétaires, agents daccueil…)</option>"+
"\t\t\t\t<option value='55'>- Employés de commerce (Vendeurs, caissiers…)</option>"+
"\t\t\t\t<option value='56'>- Personnels des services directs aux particuliers (Serveurs, coiffeurs, assistantes maternelles…)</option>"+
"\t\t\t<option value='6-' disabled>Ouvriers</option>"+
"\t\t\t\t<option value='61'>- Ouvriers qualifiés de type industriel ou artisanal (Mécaniciens, chauffeurs, cuisiniers…)</option>"+
"\t\t\t\t<option value='66'>- Ouvriers non qualifiés de type industriel ou artisanal (Ouvrier de production, manœuvres…)</option>"+
"\t\t\t\t<option value='69'>- Ouvriers agricoles (Bergers, ouvriers de la viticulture, bûcherons, ouvrier forestiers…)</option>"+
"\t\t\t<option value='7-' disabled>Retraités</option>"+
"\t\t\t\t<option value='71'>- Anciens agriculteurs exploitants</option>"+
"\t\t\t\t<option value='72'>- Anciens artisans, commerçants, chefs d'entreprise</option>"+
"\t\t\t\t<option value='73'>- Anciens cadres</option>"+
"\t\t\t\t<option value='74'>- Anciennes professions intermédiaires</option>"+
"\t\t\t\t<option value='75'>- Anciens employés</option>"+
"\t\t\t\t<option value='76'>- Anciens ouvriers</option>"+
"\t\t\t<option value='8-' disabled>Sans activité professionnelle</option>"+
"\t\t\t\t<option value='81'>- Chômeurs n'ayant jamais travaillé</option>"+
"\t\t\t\t<option value='82'>- Inactifs divers (autres que retraités)</option>"+
"\t\t</select></span>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\tSituation familiale:<br>"+
"\t\t<h5 class='nobold color0'>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' checked name='famsit_@uid' data-name='famsit' id='famsitA_@uid'><label for='famsitA_@uid'>Seul</label><br>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='famsit_@uid' data-name='famsit' id='famsitB_@uid'><label for='famsitB_@uid'>En couple sans enfants</label><br>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='famsit_@uid' data-name='famsit' id='famsitC_@uid'><label for='famsitC_@uid'>En couple avec enfants</label>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\t<span class='select-container'><select data-name='studies'>"+
"\t\t\t<option value='.' disabled selected>Niveau d'études maximal:</option>"+
"\t\t\t<option value='0'>Inconnue</option>"+
"\t\t\t<option value='01'>- Pas de scolarité</option>"+
"\t\t\t<option value='02'>- Aucun diplôme mais scolarité jusqu'en école primaire ou au collège</option>"+
"\t\t\t<option value='03'>- Aucun diplôme mais scolarité au-delà du collège</option>"+
"\t\t\t<option value='04'>- Certificat d'études primaires (CEP)</option>"+
"\t\t\t<option value='05'>- BEPC, brevet élémentaire, brevet des collèges</option>"+
"\t\t\t<option value='06'>- Certificat d'aptitudes professionnelles (CAP), brevet de compagnon, y compris CAPA</option>"+
"\t\t\t<option value='07'>- Brevet d'études professionnelles (BEP), y compris BEPA et diplômes agricoles (BAA, BPA)</option>"+
"\t\t\t\t<option value='07' class='pad'>Diplômes sociaux (aide-soignante, auxiliaire de puériculture, travailleuse familiale)</option>"+
"\t\t\t<option value='08'>- Baccalauréat général, brevet supérieur</option>"+
"\t\t\t\t<option class='pad' value='08'>BAC ( L, ES, S ou A, B , C, D, D, E )</option>"+
"\t\t\t<option value='09'>- Bac technologique ou professionnel, brevet professionnel ou de technicien</option>"+
"\t\t\t\t<option class='pad' value='09'>BAC (STI, STL, SMS, STT ou F, G, H)</option>"+
"\t\t\t\t<option class='pad' value='09'>BEC, BEI, BEH, capacité en droit</option>"+
"\t\t\t\t<option class='pad' value='09'>Brevet de technicien agricole (BTA)</option>"+
"\t\t\t<option value='10'>- Diplôme universitaire de 1er cycle</option>"+
"\t\t\t\t<option class='pad' value='10'>BTS, DUT, DEUG</option>"+
"\t\t\t\t<option class='pad' value='10'>Diplôme des professions sociales ou de santé, d'infirmier(ère)</option>"+
"\t\t\t\t<option class='pad' value='10'>Diplôme universitaire propédeutique, DUEL, DUES, DEUG, PCEM</option>"+
"\t\t\t<option value='11'>- Diplôme universitaire de 2ème ou 3ème cycle</option>"+
"\t\t\t\t<option class='pad' value='11'>MASTER, DOCTORAT (y compris médecine, pharmacie, dentaire),</option>"+
"\t\t\t\t<option class='pad' value='11'>Maîtrise, DEA, DESS,</option>"+
"\t\t\t\t<option class='pad' value='11'>CAPES, CAPET, agrégation</option>"+
"\t\t\t\t<option class='pad' value='11'>Diplôme d'ingénieur, d'une grande école, etc.</option>"+
"\t\t</select></span>"+
"\t</h5>"+
"\t<h4 data-icon='a'>Type de relation</h4>"+
"\t<h5 class='nobold color0'>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='reltype_@uid' id='reltype0_@uid'><label for='reltype0_@uid'>Père, mère ou équivalent</label><br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='reltype_@uid' id='reltype1_@uid'><label for='reltype1_@uid'>Frère ou soeur</label><br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='reltype_@uid' id='reltype2_@uid'><label for='reltype2_@uid'>Autre membre de la famille</label><br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='reltype_@uid' id='reltype3_@uid'><label for='reltype3_@uid'>Relation amoureuse</label><br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='reltype_@uid' id='reltype4_@uid'><label for='reltype4_@uid'>Collègue</label><br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='reltype_@uid' id='reltype5_@uid'><label for='reltype5_@uid'>Voisin</label><br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='reltype_@uid' id='reltype6_@uid'><label for='reltype6_@uid'>Ami</label><br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='reltype_@uid' id='reltype7_@uid'><label for='reltype7_@uid'>Copain</label><br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='reltype_@uid' id='reltype8_@uid'><label for='reltype8_@uid'>Autre : <input type='text' id='reltypeSpecial' placeholder='coéquipier de tennis, ..'></label><br>"+
"\t</h5>"+
"\t<h4 data-icon='m'>Où habite t-elle/il ?</h4>"+
"\t<h5 class='nobold color0'>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' checked name='loc_@uid' data-name='loc' id='locA_@uid'><label for='locA_@uid'>- de 5 minutes</label><br>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='loc_@uid' data-name='loc' id='locB_@uid'><label for='locB_@uid'>de 5 à 15 minutes</label><br>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='loc_@uid' data-name='loc' id='locC_@uid'><label for='locC_@uid'>de 15 à 60 minutes</label><br>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='loc_@uid' data-name='loc' id='locD_@uid'><label for='locD_@uid'>+ d'une heure</label><br>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\tDepuis quand connaissez-vous cette personne ?"+
"\t\t<input type='number' data-name='duration' placeholder='Nombre de mois'>"+
"\t</h5>"+
"\t<h4 data-icon='d'>Contexte de rencontre</h4>"+
"\t<h5 class='nobold color0'>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='contexte_@uid' id='contexte0_@uid'> <label for='contexte0_@uid'>De la même famille</label><br>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='contexte_@uid' id='contexte1_@uid'> <label for='contexte1_@uid'>Grandi ensemble</label><br>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='contexte_@uid' id='contexte2_@uid'> <label for='contexte2_@uid'>Par mon mari/ma femme/relation amoureuse</label><br>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='contexte_@uid' id='contexte3_@uid'> <label for='contexte3_@uid'>Par mes parents</label><br>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='contexte_@uid' id='contexte4_@uid'> <label for='contexte4_@uid'>Par mes enfants</label><br>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='contexte_@uid' id='contexte5_@uid'> <label for='contexte5_@uid'>Par un ami</label><br>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='contexte_@uid' id='contexte6_@uid'> <label for='contexte6_@uid'>Comme voisin</label><br>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='contexte_@uid' id='contexte7_@uid'> <label for='contexte7_@uid'>Par dautres membres de la famille</label><br>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='contexte_@uid' id='contexte8_@uid'> <label for='contexte8_@uid'>Etudes</label><br>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='contexte_@uid' id='contexte9_@uid'> <label for='contexte9_@uid'>Etudes supérieures</label><br>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='contexte_@uid' id='contexte10_@uid'><label for='contexte10_@uid'>Au travail</label><br>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='contexte_@uid' id='contexte11_@uid'><label for='contexte11_@uid'>Internet (quel contexte ? préciser <input type='text' id='contexteSpecial1' placeholder='facebook, youtube, twitter, ..'>)</label><br>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='contexte_@uid' id='contexte12_@uid'><label for='contexte12_@uid'>Par une association (quel type : <input type='text' id='contexteSpecial2' placeholder='aide à la personne, sport, ..'>)</label><br>"+
"\t\t&nbsp&nbsp&nbsp<input type='radio' name='contexte_@uid' id='contexte13_@uid'><label for='contexte13_@uid'>Autre : <input type='text' id='contexteSpecial3' placeholder='vacances, ..'></label><br>"+
"\t</h5>"+
"\t<h4 data-icon='b'>Avec quelle fréquence discutez-vous avec cette personne ?</h4>"+
"\t<h5 class='nobold color0'>"+
"\t\tFace à face<br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq0_@uid' id='freq01_@uid'><label for='freq01_@uid'>plusieurs fois par semaine</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq0_@uid' id='freq02_@uid'><label for='freq02_@uid'>1 fois par semaine</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq0_@uid' id='freq03_@uid'><label for='freq03_@uid'>1 fois par mois</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq0_@uid' id='freq04_@uid'><label for='freq04_@uid'>1 fois par an ou moins</label>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\tTéléphone ou skype et équivalent<br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq1_@uid' id='freq11_@uid'><label for='freq11_@uid'>plusieurs fois par semaine</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq1_@uid' id='freq12_@uid'><label for='freq12_@uid'>1 fois par semaine</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq1_@uid' id='freq13_@uid'><label for='freq13_@uid'>1 fois par mois</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq1_@uid' id='freq14_@uid'><label for='freq14_@uid'>1 fois par an ou moins</label>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\tSMS, et équivalents<br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq2_@uid' id='freq21_@uid'><label for='freq21_@uid'>plusieurs fois par semaine</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq2_@uid' id='freq22_@uid'><label for='freq22_@uid'>1 fois par semaine</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq2_@uid' id='freq23_@uid'><label for='freq23_@uid'>1 fois par mois</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq2_@uid' id='freq24_@uid'><label for='freq24_@uid'>1 fois par an ou moins</label>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\tCourrier électronique<br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq3_@uid' id='freq31_@uid'><label for='freq31_@uid'>plusieurs fois par semaine</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq3_@uid' id='freq32_@uid'><label for='freq32_@uid'>1 fois par semaine</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq3_@uid' id='freq33_@uid'><label for='freq33_@uid'>1 fois par mois</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq3_@uid' id='freq34_@uid'><label for='freq34_@uid'>1 fois par an ou moins</label>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\tFacebook ou autre réseau social<br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq4_@uid' id='freq41_@uid'><label for='freq41_@uid'>plusieurs fois par semaine</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq4_@uid' id='freq42_@uid'><label for='freq42_@uid'>1 fois par semaine</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq4_@uid' id='freq43_@uid'><label for='freq43_@uid'>1 fois par mois</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='freq4_@uid' id='freq44_@uid'><label for='freq44_@uid'>1 fois par an ou moins</label>"+
"\t</h5>"+
"\t<h4 data-icon='r'>Comment êtes-vous « connecté » à cette personne ?</h4>"+
"\t<h5 class='nobold color0'>"+
"\t\tSes coordonnées sont dans votre carnet dadresse<br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='connect1_@uid' id='connect11_@uid'><label for='connect11_@uid'>Oui</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='connect1_@uid' id='connect12_@uid' checked><label for='connect12_@uid'>Non</label>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\tSon numéro de mobile est enregistré sur votre mobile (ou vous-mêmes êtes sur le sien)<br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='connect2_@uid' id='connect21_@uid'><label for='connect21_@uid'>Oui</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='connect2_@uid' id='connect22_@uid' checked><label for='connect22_@uid'>Non</label>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\tElle figure parmi vos amis facebook<br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='connect3_@uid' id='connect31_@uid'><label for='connect31_@uid'>Oui</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='connect3_@uid' id='connect32_@uid' checked><label for='connect32_@uid'>Non</label>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\tElle figure parmi vos amis facebook et vous interagissez avec elle sur ce dispositif régulièrement<br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='connect4_@uid' id='connect41_@uid'><label for='connect41_@uid'>Oui</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='connect4_@uid' id='connect42_@uid' checked><label for='connect42_@uid'>Non</label>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\tVous le suivez sur Twitter<br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='connect5_@uid' id='connect51_@uid'><label for='connect51_@uid'>Oui</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='connect5_@uid' id='connect52_@uid' checked><label for='connect52_@uid'>Non</label>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\tVous communiquez avec cette personne sur Twitter<br>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='connect6_@uid' id='connect61_@uid'><label for='connect61_@uid'>Oui</label>"+
"\t\t\t&nbsp&nbsp&nbsp<input type='radio' name='connect6_@uid' id='connect62_@uid' checked><label for='connect62_@uid'>Non</label>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\tVous communiquez dans autre réseau social : <input type='text' name='connectSpecial1_@uid'>"+
"\t</h5>"+
"\t<h5 class='nobold color0'>"+
"\t\tVous communiquez dans un autre dispositif (blogs, jeu vidéo ou autre) : <input type='text' name='connectSpecial2_@uid'>"+
"\t</h5>"+
"</article>");

4
js/lib/reset-min.js vendored
View File

@ -1,4 +1,4 @@
function $(a){return document.querySelector(a)}function $$(a){return document.querySelectorAll(a)}Element.prototype.getData=function(a){return"undefined"==typeof this.dataset?!1:this.dataset.hasOwnProperty(a)?this.dataset[a]:!1};Element.prototype.addClass=function(a){var b=this.className.split(" ");-1<b.indexOf(a)||(b.push(a),this.className=b.join(" ").trim())};
Element.prototype.remClass=function(a){var b=this.className.split(" ");a=b.indexOf(a);-1!=a&&(b=b.slice(0,a).concat(b.slice(a+1)),this.className=b.join(" ").trim())};NodeList.prototype.indexOf=HTMLCollection.prototype.indexOf=function(a){for(var b=0;b<this.length;b++)if(this[b]==a)return b;return-1};Element.prototype.anim=function(a,b){var c=this;c.addClass(a);setTimeout(function(){c.remClass(a)},b)};var includes=[],includeTags=[];
function include(a,b,c){a="string"===typeof a?a:null;b="function"===typeof b?b:function(){console.log("[x] "+a+" loaded")};if(null==a)return!1;if("boolean"===typeof c&&c){b=includes.indexOf(a);if(-1==b)return!1;document.head.removeChild(includeTags[b]);includes.splice(b,1);includeTags.splice(b,1)}else{if(-1<includes.indexOf(a))return b(),!0;c=document.createElement("script");c.type="text/javascript";c.src=a;document.head.appendChild(c);includes.push(a);includeTags.push(c);c.onload=b}return!0}
Element.prototype.remClass=function(a){var b=this.className.split(" ");a=b.indexOf(a);-1!=a&&(b=b.slice(0,a).concat(b.slice(a+1)),this.className=b.join(" ").trim())};NodeList.prototype.indexOf=HTMLCollection.prototype.indexOf=function(a){for(var b=0;b<this.length;b++)if(this[b]==a)return b;return-1};Element.prototype.anim=function(a,b){var c=this;c.addClass(a);setTimeout(function(){c.remClass(a)},b)};var _includes=[],_includeTags=[];
function include(a,b,c){a="string"===typeof a?a:null;b="function"===typeof b?b:function(){console.log("[x] "+a+" loaded")};if(null==a)return!1;if("boolean"===typeof c&&c){b=_includes.indexOf(a);if(-1==b)return!1;document.head.removeChild(_includeTags[b]);_includes.splice(b,1);_includeTags.splice(b,1)}else{if(-1<_includes.indexOf(a))return b(),!0;c=document.createElement("script");c.type="text/javascript";c.src=a;document.head.appendChild(c);_includes.push(a);_includeTags.push(c);c.onload=b}return!0}
var format_number=new formatChecker(null,"0i ii ii ii ii");

View File

@ -94,8 +94,8 @@ Element.prototype.anim = function(className, timeout){
// INCLUSION D'UN SCRIPT JAVASCRIPT
var includes = [];
var includeTags = [];
var _includes = [];
var _includeTags = [];
function include(jsResource, callback, action){ // action=true -> EXCLUSION, SINON -> INCLUSION
/* (0) On formatte les arguments */
jsResource = typeof jsResource === 'string' ? jsResource : null;
@ -109,7 +109,7 @@ function include(jsResource, callback, action){ // action=true -> EXCLUSION, SIN
/* (1) Gestion de l'inclusion */
if( !action ){
// Si le fichier est déja inclus, on lance le callback
if( includes.indexOf(jsResource) > -1 ){
if( _includes.indexOf(jsResource) > -1 ){
callback();
return true;
}
@ -121,8 +121,8 @@ function include(jsResource, callback, action){ // action=true -> EXCLUSION, SIN
document.head.appendChild( tag );
// On ajoute la ressource et le tag à la liste
includes.push(jsResource);
includeTags.push(tag);
_includes.push(jsResource);
_includeTags.push(tag);
// On définit le callback
tag.onload = callback;
@ -130,17 +130,17 @@ function include(jsResource, callback, action){ // action=true -> EXCLUSION, SIN
return true;
/* (2) Gestion de l'exclusion */
}else{
var index = includes.indexOf(jsResource);
var index = _includes.indexOf(jsResource);
// On vérifie que le fichier est déja inclus
if( index == -1 ) return false;
// On supprime l'élément
document.head.removeChild( includeTags[index] );
document.head.removeChild( _includeTags[index] );
// On dé-indexe l'élément
includes.splice(index, 1);
includeTags.splice(index, 1);
_includes.splice(index, 1);
_includeTags.splice(index, 1);
return true;
}

View File

@ -33,6 +33,9 @@
<script type='text/javascript' src='/f/js/api-min/js/lib' ></script> <!-- Gestion des transactions avec le serveur -->
<script type='text/javascript' src='/f/js/page-manager-min/js/lib' ></script> <!-- Gestion réseau/chargement/liens/URL -->
<!-- Dépendences Spéficiques pré-chargeables -->
<script type='text/javascript' src='/f/js/input-html-data-min/js/includes' ></script> <!-- Gestion du constructeur HTML pour la page d'acquisition -->
<!-- Librairies Externes Javascript -->
<script type='text/javascript' src='/f/js/sigma-min/sigma' ></script> <!-- Gestion du graphique de type réseau -->
<!-- <script type='text/javascript' src='/f/js/sigma-plugins-animate-min/sigma/plugins' ></script> for animations -->

View File

@ -65,98 +65,27 @@
<span data-space></span>
<h5 data-text="Renseigner au moins un des nominatifs pour chaque contact. (pseudo, prénom et/ou nom)"></h5>
<article class='contact-panel'>
<!-- <h4 data-icon='p' class='new-contact'>
<input type='text' data-name='number' placeholder='Numéro de téléphone'>
<input type='text' data-name='username' placeholder='Pseudo'>
<input type='text' data-name='firstname' placeholder='Prénom'>
<input type='text' data-name='lastname' placeholder='Nom'>
<input type='submit' class='primary sub-number' data-store value='Enregistrer'>
</h4> -->
</article>
<h4 data-icon='+' class='add-contact' style='cursor: pointer;'>Ajouter un contact</h4>
<span data-space></span>
<h3 data-n='3' class='color4'>Remplir les fiches relations des contacts</h3>
<!-- GESTION DES MINI-FICHES RELATIONS -->
<h3 data-n='3' class='color4'>Remplir les fiches relations rapides pour tous les contacts</h3>
<span data-space></span>
<article class='mini-relation-panel'>
<article class='mini-fiche-relation'>
<span data-space></span>
<h4 data-icon='o' class='color2'>Prénom1 Nom1 (Pseudo1)</h4>
<h5 class='nobold color0'>
<input type='radio' name='sexe_min' checked data-name='sexe' id='sexeH_min'><label for='sexeH_min'>Homme</label>
&nbsp&nbsp&nbsp<input type='radio' class='btm' name='sexe_min' data-name='sexe' id='sexeF_min'><label for='sexeF_min'>Femme</label>
</h5>
<h5 class='nobold color0'>
<input type='number' min='5' max='120' data-name='age' placeholder='Age'>
</h5>
<h5 class='nobold color0'>
<span class='select-container'><select data-name='job'>
<option value='.' disabled selected>Dernière profession exercée:</option>
<option value='0'>Inconnue</option>
<option value='1-' disabled>Agriculateur exploitants</option>
<option value='10'>- Agriculteurs exploitants (Agriculteurs, maraîchers, viticulteurs…)</option>
<option value='2-' disabled>Artisans, commerçants et chefs d'entreprises</option>
<option value='21'>- Artisans (Maçons, électriciens, couturiers, boulangers, garagistes, coiffeurs…)</option>
<option value='22'>- Commerçants et assimilés (Commerçants en détail ou en gros, buralistes, cafetiers, agents immobiliers…)</option>
<option value='23'>- Chefs d'entreprise de 10 salariés ou plus</option>
<option value='3-' disabled>Cadres et professions intellectuelles supérieures</option>
<option value='31'>- Professions libérales et assimilés (Médecins, avocats, notaires, architectes libéraux…)</option>
<option value='32'>- Cadres de la fonction publique, professions intellectuelles et artistiques (Personnels administratifs</option>
<option class='pad' value='32'>de catégorie A, professeurs de lenseignement secondaire ou supérieur, médecins hospitaliers, artistes…)</option>
<option value='36'>- Cadres d'entreprise (Cadres administratifs, cadres commerciaux, ingénieurs…)</option>
<option value='4-' disabled>Professions Intermédiaires</option>
<option value='41'>- Professions intermédiaires de l'enseignement, de la santé, de la fonction publique et assimilés </option>
<option class='pad' value='41'>(Personnels administratifs de catégorie B, instituteurs, infirmiers, travailleurs sociaux…)</option>
<option value='46'>- Professions intermédiaires administratives et commerciales des entreprises (Comptables, chargés de clientèles…)</option>
<option value='47'>- Techniciens (Techniciens détudes, techniciens de contrôle, dessinateurs en bâtiment, géomètres…)</option>
<option value='48'>- Contremaîtres, agents de maîtrise (Conducteurs de travaux, chefs déquipe…)</option>
<option value='5-' disabled>Employés</option>
<option value='51'>- Employés de la fonction publique (Personnels de catégorie C, agents administratifs, agents de service…)</option>
<option value='54'>- Employés administratifs d'entreprise (Secrétaires, agents daccueil…)</option>
<option value='55'>- Employés de commerce (Vendeurs, caissiers…)</option>
<option value='56'>- Personnels des services directs aux particuliers (Serveurs, coiffeurs, assistantes maternelles…)</option>
<option value='6-' disabled>Ouvriers</option>
<option value='61'>- Ouvriers qualifiés de type industriel ou artisanal (Mécaniciens, chauffeurs, cuisiniers…)</option>
<option value='66'>- Ouvriers non qualifiés de type industriel ou artisanal (Ouvrier de production, manœuvres…)</option>
<option value='69'>- Ouvriers agricoles (Bergers, ouvriers de la viticulture, bûcherons, ouvrier forestiers…)</option>
<option value='7-' disabled>Retraités</option>
<option value='71'>- Anciens agriculteurs exploitants</option>
<option value='72'>- Anciens artisans, commerçants, chefs d'entreprise</option>
<option value='73'>- Anciens cadres</option>
<option value='74'>- Anciennes professions intermédiaires</option>
<option value='75'>- Anciens employés</option>
<option value='76'>- Anciens ouvriers</option>
<option value='8-' disabled>Sans activité professionnelle</option>
<option value='81'>- Chômeurs n'ayant jamais travaillé</option>
<option value='82'>- Inactifs divers (autres que retraités)</option>
</select></span>
</h5>
<h5 class='nobold color0'>
habite t-elle/il ?<br>
&nbsp&nbsp&nbsp<input type='radio' checked name='loc_min' data-name='loc' id='locA_min'><label for='locA_min'>- de 10km</label><br>
&nbsp&nbsp&nbsp<input type='radio' name='loc_min' data-name='loc' id='locB_min'><label for='locB_min'>de 10km à 30km</label><br>
&nbsp&nbsp&nbsp<input type='radio' name='loc_min' data-name='loc' id='locC_min'><label for='locC_min'>de 30km à 100km</label><br>
&nbsp&nbsp&nbsp<input type='radio' name='loc_min' data-name='loc' id='locD_min'><label for='locD_min'>+ de 100km</label>
</h5>
</article>
</article>
<span data-space></span>
<!-- GESTION DES FICHES RELATIONS -->
<h3 data-n='4' class='color4'>Remplir les fiches relations complètes des contacts les plus contactés</h3>
<article class='relation-panel'>
<article class='fiche-relation'>
<span data-space></span>
@ -272,7 +201,7 @@
&nbsp&nbsp&nbsp<input type='radio' checked name='loc' data-name='loc' id='locA_0'><label for='locA_0'>- de 5 minutes</label><br>
&nbsp&nbsp&nbsp<input type='radio' name='loc' data-name='loc' id='locB_0'><label for='locB_0'>de 5 à 15 minutes</label><br>
&nbsp&nbsp&nbsp<input type='radio' name='loc' data-name='loc' id='locC_0'><label for='locC_0'>de 15 à 60 minutes</label><br>
&nbsp&nbsp&nbsp<input type='radio' name='loc' data-name='loc' id='locD_0'><label for='locD_0'>+ d'une heure</label>
&nbsp&nbsp&nbsp<input type='radio' name='loc' data-name='loc' id='locD_0'><label for='locD_0'>+ d'une heure</label><br>
</h5>
<h5 class='nobold color0'>
@ -392,8 +321,8 @@
</article>
</article>
<span data-space></span>
</section>
<span data-space></span>
</section>

View File

@ -1 +1 @@
var chartManagers={sociogram:{link:"/js/includes/charts-sociogram-min.js",loaded:!1}},sociogram;chartManagers.sociogram.loaded=include(chartManagers.sociogram.link,null,!0);include(chartManagers.sociogram,link,function(){chartManagers.sociogram.loaded||sociogramClass.prototype.overloadGraph();sociogram=new sociogramClass($("#sociogram"));sociogram.load()});
var chartManagers={sociogram:{link:"/js/includes/charts-sociogram-min.js",loaded:!1}},sociogram;chartManagers.sociogram.loaded=include(chartManagers.sociogram.link,null,!0);include(chartManagers.sociogram.link,function(){chartManagers.sociogram.loaded||sociogramClass.prototype.overloadGraph();sociogram=new sociogramClass($("#sociogram"));sociogram.load()});

View File

@ -15,7 +15,7 @@ chartManagers.sociogram.loaded = include(chartManagers.sociogram.link, null, tru
/* (2) Si il est pas déja chargé, on initialise le sociogramme */
include(chartManagers.sociogram,link, function(){
include(chartManagers.sociogram.link, function(){
// On ajoute les méthodes si c'est la première fois qu'on charge
if( !chartManagers.sociogram.loaded ) sociogramClass.prototype.overloadGraph();

12
view/js/input-min.js vendored
View File

@ -1,11 +1,9 @@
var subjectBuilder=new HTMLBuilder;subjectBuilder.setLayout("<h4 data-icon='p' class='self color2'> \n\t<input type='text' data-name='number' placeholder='Num\u00e9ro de t\u00e9l\u00e9phone' value='@number' > \n\t<input type='text' data-name='username' placeholder='Pseudo' value='@username' > \n\t<input type='text' data-name='firstname' placeholder='Pr\u00e9nom' value='@firstname' > \n\t<input type='text' data-name='lastname' placeholder='Nom' value='@lastname' > \n\t<input type='submit' class='primary sub-number' value='Enregistrer'>\n</h4>\n\n");
var contactBuilder=new HTMLBuilder;contactBuilder.setLayout("<h4 data-icon='p' class='new-contact color2'> \n\t<input type='text' data-name='number' placeholder='Num\u00e9ro de t\u00e9l\u00e9phone' value='@number' > \n\t<input type='text' data-name='username' placeholder='Pseudo' value='@username' > \n\t<input type='text' data-name='firstname' placeholder='Pr\u00e9nom' value='@firstname' > \n\t<input type='text' data-name='lastname' placeholder='Nom' value='@lastname' > \n\t<input type='submit' class='primary sub-number' value='Enregistrer'>\n</h4>\n\n");
var ficheBuilder=new HTMLBuilder;ficheBuilder.setLayout("<h4 data-icon='p' class='new-contact'> \t<input type='text' data-name='number' placeholder='Num\u00e9ro de t\u00e9l\u00e9phone' value='@number' > \t<input type='text' data-name='username' placeholder='Pseudo' value='@username' > \t<input type='text' data-name='firstname' placeholder='Pr\u00e9nom' value='@firstname' > \t<input type='text' data-name='lastname' placeholder='Nom' value='@lastname' > \t<input type='submit' class='primary sub-number' value='Enregistrer'></h4>");
function updateListener(a,b,c){a.removeEventListener(b,c);a.addEventListener(b,c)}
var ic=new inputChecker,FormDeflaterP={tags:["input"],attr:["data-name"]},importCallLog=$('input#call_log-import[type="file"]'),addContact=$("h4.add-contact"),addFiche=$("h4.add-fiche"),subjectInput={number:$('article.subject-panel [data-name="number"]'),username:$('article.subject-panel [data-name="username"]'),firstname:$('article.subject-panel [data-name="firstname"]'),lastname:$('article.subject-panel [data-name="lastname"]'),store:$('article.subject-panel [data-name="submit"]')};lsi.createDataset("subject");
var ic=new inputChecker,FormDeflaterP={tags:["input"],attr:["data-name"]},importCallLog=$('input#call_log-import[type="file"]'),addContact=$("h4.add-contact"),contactContainer=$("article.contact-panel"),addFiche=$("h4.add-mini-fiche"),miniFicheContainer=$("article.mini-relation-panel"),addFiche=$("h4.add-fiche"),ficheContainer=$("article.relation-panel"),subjectInput={number:$('article.subject-panel [data-name="number"]'),username:$('article.subject-panel [data-name="username"]'),firstname:$('article.subject-panel [data-name="firstname"]'),
lastname:$('article.subject-panel [data-name="lastname"]'),store:$('article.subject-panel [data-name="submit"]')};lsi.createDataset("subject");
function storeSubject(){console.log("storing subject");var a=0<subjectInput.number.value.length,a=a&&0<subjectInput.username.value.length+subjectInput.firstname.value.length+subjectInput.lastname.value.length;if(!a)return!1;lsi.set("subject","form",{number:subjectInput.number.value,username:subjectInput.username.value,firstname:subjectInput.firstname.value,lastname:subjectInput.lastname.value})}
function restoreSubject(){var a=lsi.get("subject","form");console.log(a);null!=a&&(subjectInput.number.value=a.number,subjectInput.username.value=a.username,subjectInput.firstname.value=a.firstname,subjectInput.lastname.value=a.lastname)}restoreSubject();subjectInput.store.addEventListener("click",storeSubject,!1);var contactContainer=$("article.contact-panel");lsi.createDataset("contacts");
function restoreSubject(){var a=lsi.get("subject","form");console.log(a);null!=a&&(subjectInput.number.value=a.number,subjectInput.username.value=a.username,subjectInput.firstname.value=a.firstname,subjectInput.lastname.value=a.lastname)}restoreSubject();subjectInput.store.addEventListener("click",storeSubject,!1);lsi.createDataset("contacts");
function storeContacts(){console.log("storing all forms");for(var a=$$("article.contact-panel .new-contact"),b=0;b<a.length;b++){var c=a[b].parentNode.children.indexOf(a[b]),d=(new FormDeflater(a[b],["input"],["data-name"])).deflate(),e=0<d.number.value.length;(e=e&&0<d.username.value.length+d.firstname.value.length+d.lastname.value.length)&&lsi.set("contacts","form"+c,{number:d.number.value,username:d.username.value,firstname:d.firstname.value,lastname:d.lastname.value})}restoreContacts()}
function addNewContact(a,b,c,d){contactContainer.innerHTML+=contactBuilder.build({number:"string"!=typeof a?"":a,username:"string"!=typeof b?"":b,firstname:"string"!=typeof c?"":c,lastname:"string"!=typeof d?"":d});a=$$('article.contact-panel .new-contact input[type="submit"]');for(b=0;b<a.length;b++)updateListener(a[b],"click",storeContacts)}
function restoreContacts(){var a=lsi.keys("contacts");contactContainer.innerHTML="";for(var b=0;b<a.length;b++){var c=lsi.get("contacts",a[b]);addNewContact(c.number,c.username,c.firstname,c.lastname)}addNewContact();a=$$('article.contact-panel .new-contact input[type="submit"]');for(b=0;b<a.length;b++)updateListener(a[b],"click",storeContacts)}restoreContacts();addContact.addEventListener("click",storeContacts,!1);var ficheContainer=$("article.contact-panel");
function addNewFiche(a,b,c,d){ficheContainer.innerHTML+=contactBuilder.build({number:"string"!=typeof a?"":a,username:"string"!=typeof b?"":b,firstname:"string"!=typeof c?"":c,lastname:"string"!=typeof d?"":d})}importCallLog.addEventListener("change",function(a){api.send({path:"upload/call_log",file:importCallLog.files[0]},function(a){console.log(a);0==a.ModuleError&&importCallLog.addClass("active")})},!1);
function restoreContacts(){var a=lsi.keys("contacts");contactContainer.innerHTML="";for(var b=0;b<a.length;b++){var c=lsi.get("contacts",a[b]);addNewContact(c.number,c.username,c.firstname,c.lastname)}addNewContact();a=$$('article.contact-panel .new-contact input[type="submit"]');for(b=0;b<a.length;b++)updateListener(a[b],"click",storeContacts)}restoreContacts();addContact.addEventListener("click",storeContacts,!1);var miniFicheUID=0;
function addNewMiniFiche(a,b,c){miniFicheContainer.innerHTML+=miniFicheBuilder.build({firstname:"string"!=typeof a?"":a,lastname:"string"!=typeof b?"":b,username:"string"!=typeof c?"":c,uid:miniFicheUID});miniFicheUID++}importCallLog.addEventListener("change",function(a){api.send({path:"upload/call_log",file:importCallLog.files[0]},function(a){console.log(a);0==a.ModuleError&&importCallLog.addClass("active")})},!1);

View File

@ -3,41 +3,8 @@
// contacts -> contient les données de tous les contacts
// fiches -> contient les données de toutes les fiches
/* [0] Gestion des constantes et fonctions
=========================================================*/
var subjectBuilder = new HTMLBuilder();
subjectBuilder.setLayout(
"<h4 data-icon='p' class='self color2'> \n"+
"\t<input type='text' data-name='number' placeholder='Numéro de téléphone' value='@number' > \n"+
"\t<input type='text' data-name='username' placeholder='Pseudo' value='@username' > \n"+
"\t<input type='text' data-name='firstname' placeholder='Prénom' value='@firstname' > \n"+
"\t<input type='text' data-name='lastname' placeholder='Nom' value='@lastname' > \n"+
"\t<input type='submit' class='primary sub-number' value='Enregistrer'>\n"+
"</h4>\n\n");
var contactBuilder = new HTMLBuilder();
contactBuilder.setLayout(
"<h4 data-icon='p' class='new-contact color2'> \n"+
"\t<input type='text' data-name='number' placeholder='Numéro de téléphone' value='@number' > \n"+
"\t<input type='text' data-name='username' placeholder='Pseudo' value='@username' > \n"+
"\t<input type='text' data-name='firstname' placeholder='Prénom' value='@firstname' > \n"+
"\t<input type='text' data-name='lastname' placeholder='Nom' value='@lastname' > \n"+
"\t<input type='submit' class='primary sub-number' value='Enregistrer'>\n"+
"</h4>\n\n");
/* (2) TODO: Contiendra la fiche relation complète */
var ficheBuilder = new HTMLBuilder();
ficheBuilder.setLayout(
"<h4 data-icon='p' class='new-contact'> "+
"\t<input type='text' data-name='number' placeholder='Numéro de téléphone' value='@number' > "+
"\t<input type='text' data-name='username' placeholder='Pseudo' value='@username' > "+
"\t<input type='text' data-name='firstname' placeholder='Prénom' value='@firstname' > "+
"\t<input type='text' data-name='lastname' placeholder='Nom' value='@lastname' > "+
"\t<input type='submit' class='primary sub-number' value='Enregistrer'>"+
"</h4>");
/* (3) Fonction qui met à jour un élément et son listener */
function updateListener(element, eventType, handler){
@ -86,16 +53,26 @@ var FormDeflaterP = { tags: ['input'], attr: ['data-name'] };
/* [2] Indexation des inputs
/* [2] Indexation des inputs + Containers
=========================================================*/
/* (1) Input de type fichier pour l'import */
var importCallLog = $('input#call_log-import[type="file"]');
/* (2) Bouton d'ajout de contact */
var addContact = $('h4.add-contact');
/* (3) Conteneur des formulaires de contact */
var contactContainer = $('article.contact-panel');
/* (3) Bouton d'ajout de fiche */
/* (4) Bouton d'ajout de MINI fiche */
var addFiche = $('h4.add-mini-fiche');
/* (5) Conteneur des MINI fiches relation */
var miniFicheContainer = $('article.mini-relation-panel');
/* (6) Bouton d'ajout de fiche */
var addFiche = $('h4.add-fiche');
/* (7) Conteneur des fiches relation */
var ficheContainer = $('article.relation-panel');
@ -187,8 +164,6 @@ subjectInput.store.addEventListener('click', storeSubject, false);
/* [4] Gestion des formulaires de contact
=========================================================*/
/* (0) Conteneur de tous les formulaires */
var contactContainer = $('article.contact-panel');
/* (1) Gestion de l'enregistrement des contacts en local ('localStorage') */
lsi.createDataset('contacts');
@ -306,17 +281,17 @@ addContact.addEventListener('click', storeContacts, false);
/* [5] Gestion des fiches relation
=========================================================*/
// TODO : Gestion des fiches relation en fonction des contacts
/* (0) Conteneur de tous les formulaires */
var ficheContainer = $('article.contact-panel');
/* (1) Fonction pour l'ajout d'un contact */
function addNewFiche(number, username, firstname, lastname){
ficheContainer.innerHTML += contactBuilder.build({
number: (typeof number != 'string') ? '' : number,
username: (typeof username != 'string') ? '' : username,
var miniFicheUID = 0;
function addNewMiniFiche(firstname, lastname, username){
miniFicheContainer.innerHTML += miniFicheBuilder.build({
firstname: (typeof firstname != 'string') ? '' : firstname,
lastname: (typeof lastname != 'string') ? '' : lastname
lastname: (typeof lastname != 'string') ? '' : lastname,
username: (typeof username != 'string') ? '' : username,
uid: miniFicheUID
});
miniFicheUID++;
}
// On ajoute la première