From 0e25d6d0331a5bd04fbb367f3dfb59bd1a4f1cab Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Fri, 23 Sep 2016 14:49:58 +0200 Subject: [PATCH] =?UTF-8?q?Gestion=20de=20la=20mise=20=C3=A0=20jour=20de?= =?UTF-8?q?=20la=20valeur=20d'un=20 // + if( select ){ + console.log('bla', built[b].node[created]); + + // On met à jour la valeur + built[b].node[created].addEventListener('change', function(e){ + // on lit selected (on suppose qu'il ne contient qu'une reference) + var selected_ref = definition.selected[0]; + + // On recupere la derniere reference + var last = selected_ref, + curr = selected_ref; + + // On var jusqu'a la valeur + while( FormBuilder.regex.ref_pri.test(curr) ){ + last = curr; + curr = ref_table[ curr ]; + + if( curr instanceof Array ) + curr = curr[0]; + } + + // On attribut la valeur modifiee + ref_table[ last ] = this.value; + }, false); + + } } @@ -1397,6 +1424,19 @@ FormBuilder.applyCSS = function(element, css){ FormBuilder.DOMUpdates = function(events){ - // TODO - console.log(events); + var e; + + + /* [1] On parcourt chaque évènement + =========================================================*/ + for( e in events){ + + console.log( events[e] ); + console.log( events[e].target ); + console.log( events[e].type ); + + + + } + }; diff --git a/js/lib/form-builder/main-min.js b/js/lib/form-builder/main-min.js index f80c726..a48e7cb 100644 --- a/js/lib/form-builder/main-min.js +++ b/js/lib/form-builder/main-min.js @@ -1,5 +1,6 @@ document.body.innerHTML="";"use strict"; -var default_definition={input:{node_type:"input"},"/^h([1-6])$/":{node_type:"h{$1}"},br:{node_type:"br"},option:{node_type:"option"},select:{node_type:"select"},span:{node_type:"span"},"/^br([0-9]+)$/":{node:"br",repeat:{n:"{$1}",id:"brs"}}},custom_definition={"/^input.([a-z]+)$/":{node:"input",attributes:{type:"{$1}","data-name":"{name}",value:"{value}",placeholder:"{placeholder}"},listeners:{click:"{click_listener()}"}},"custom-select":{node:"span",attributes:{"class":"select-container nobold"},children:[{node:"select", -attributes:{"data-name":"{name}"},children:[{node:"option",attributes:{value:"{options:i}"},text:"{options.value}",browse:{array:"{options[]}",funcs:{"options.value":"{getoptval()}"}}}],listeners:{change:"{listener()}"}}]}},contactForm={node:"h4",attributes:{"data-icon":"o","class":"new-contact colo2"},children:[{node:"input.hidden",$name:"uid",$value:"{uid}"},{node:"input.hidden",$name:"call",$value:"{call}"},{node:"input.hidden",$name:"sms",$value:"{sms}"},{node:"input.hidden",$name:"countcall", -$value:"{count_call}",$click_listener:"{my_listener()}"},{node:"input.hidden",$name:"countsms",$value:"{count_sms}"},{node:"input.text",$name:"number",$value:"{number}"},{node:"custom-select",$name:"existing",$options:"{existing[]}",$listener:"{existingsel()}"},{node:"input.text",$name:"username",$placeholder:"{username_ph}",$value:"{username}"},{node:"input.submit",$value:"Enregistrer",attributes:{"class":"primary sub-number"}}],next_nodes:[{node:"br"}]},a="

\n\t\n\t\n\t\n\t\n\t\n\t \n\t\n\t    ou    \n\t \n\t\n

\n\n", -fb=new FormBuilder(contactForm);fb.add_definition(default_definition);fb.add_definition(custom_definition);fb.build({uid:1,call:2,sms:3,count_call:4,count_sms:5,number:"01 02 03 04 05",existing:["Jean","Archibald","Daniel","Maurice"],username:"moi-meme",username_ph:"Pseudo",my_listener:function(b){console.log("clicked",b)},existingsel:function(b){console.log("selected",b)},getoptval:function(b){return b}});fb.attach(document.body); +var default_definition={input:{node_type:"input"},"/^h([1-6])$/":{node_type:"h{$1}"},br:{node_type:"br"},option:{node_type:"option"},select:{node_type:"select",selected:"{selected}"},span:{node_type:"span"},"/^br([0-9]+)$/":{node:"br",repeat:{n:"{$1}",id:"brs"}}},custom_definition={"/^input.([a-z]+)$/":{node:"input",attributes:{type:"{$1}","data-name":"{name}",value:"{value}",placeholder:"{placeholder}"},listeners:{click:"{click_listener()}"}},"custom-select":{node:"span",attributes:{"class":"select-container nobold"}, +children:[{node:"select",attributes:{"data-name":"{name}"},children:[{node:"option",attributes:{value:"{options:i}"},text:"{options.value}",browse:{array:"{options[]}",funcs:{"options.value":"{getoptval()}"}}}],listeners:{change:"{listener()}"},$selected:"{selected}"}]}},contactForm={node:"h4",attributes:{"data-icon":"o","class":"new-contact colo2"},children:[{node:"input.hidden",$name:"uid",$value:"{uid}"},{node:"input.hidden",$name:"call",$value:"{call}"},{node:"input.hidden",$name:"sms",$value:"{sms}"}, +{node:"input.hidden",$name:"countcall",$value:"{count_call}",$click_listener:"{my_listener()}"},{node:"input.hidden",$name:"countsms",$value:"{count_sms}"},{node:"input.text",$name:"number",$value:"{number}"},{node:"custom-select",$name:"existing",$options:"{existing[]}",$listener:"{existingsel()}",$selected:"{s}"},{node:"input.text",$name:"username",$placeholder:"{username_ph}",$value:"{username}"},{node:"input.submit",$value:"Enregistrer",attributes:{"class":"primary sub-number"}}],next_nodes:[{node:"br"}]}, +a="

\n\t\n\t\n\t\n\t\n\t\n\t \n\t\n\t    ou    \n\t \n\t\n

\n\n", +fb=new FormBuilder(contactForm);fb.add_definition(default_definition);fb.add_definition(custom_definition);fb.build({s:1,uid:1,call:2,sms:3,count_call:4,count_sms:5,number:"01 02 03 04 05",existing:["Jean","Archibald","Daniel","Maurice"],username:"moi-meme",username_ph:"Pseudo",my_listener:function(b){console.log("clicked",b)},existingsel:function(b){console.log("selected",b)},getoptval:function(b){return b}});fb.attach(document.body); diff --git a/js/lib/form-builder/main.js b/js/lib/form-builder/main.js index 345346f..c0f48a8 100644 --- a/js/lib/form-builder/main.js +++ b/js/lib/form-builder/main.js @@ -10,7 +10,7 @@ var default_definition = { '/^h([1-6])$/': { node_type: 'h{$1}' }, 'br': { node_type: 'br' }, 'option': { node_type: 'option' }, - 'select': { node_type: 'select' }, + 'select': { node_type: 'select', selected: '{selected}' }, 'span': { node_type: 'span' }, '/^br([0-9]+)$/': { node: 'br', repeat: { n: '{$1}', id: 'brs' } } }; @@ -46,7 +46,8 @@ var custom_definition = { } } ], - listeners: { 'change': '{listener()}' } + listeners: { 'change': '{listener()}' }, + $selected: '{selected}' } ] } @@ -65,7 +66,7 @@ var contactForm = { { node: 'input.text', $name: 'number', $value: '{number}' }, - { node: 'custom-select', $name: 'existing', $options: '{existing[]}', $listener: '{existingsel()}' }, + { node: 'custom-select', $name: 'existing', $options: '{existing[]}', $listener: '{existingsel()}', $selected: '{s}' }, { node: 'input.text', $name: 'username', $placeholder: '{username_ph}', $value: '{username}'}, { node: 'input.submit', $value: 'Enregistrer', attributes: { class: 'primary sub-number'} } @@ -108,6 +109,7 @@ var fb = new FormBuilder(contactForm); fb.add_definition(default_definition); fb.add_definition(custom_definition); fb.build({ + s: 1, uid: 1, call: 2, sms: 3,