ferrugemjs-node
Advanced tools
Comparing version 0.24.1 to 0.24.2
{ | ||
"name": "ferrugemjs-node", | ||
"version": "0.24.1", | ||
"version": "0.24.2", | ||
"description": "a node package to convert html template to Incremental DOM", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -240,3 +240,3 @@ var htmlparser = require("htmlparser2"); | ||
var txtFor = '\n\t'+contextToAlias(array_each[1])+'.forEach(function('+sub_array_each[0]+','+index_array+'){'; | ||
comp.children.forEach(sub_comp => txtFor += '\t'+componentToStr(sub_comp)); | ||
comp.children.forEach(sub_comp => txtFor += '\t'+componentToStr(sub_comp,index_array)); | ||
txtFor += '\t});\n'; | ||
@@ -471,10 +471,10 @@ return txtFor; | ||
function tagBasicToStr(comp){ | ||
function tagBasicToStr(comp, indexLoopName){ | ||
var static_key = 'null'; | ||
if(comp.attribs && comp.attribs["key:id"]){ | ||
static_key = '"'+encodeAndSetContext(comp.attribs["key:id"])+'"'; | ||
static_key = encodeAndSetContext(comp.attribs["key:id"]); | ||
delete comp.attribs["key:id"]; | ||
} | ||
var separateAttrsElement = separateAttribs(comp.attribs); | ||
var type = (separateAttrsElement.static ?separateAttrsElement.static["type"] : ""); | ||
var type = (separateAttrsElement.static ? separateAttrsElement.static["type"] : ""); | ||
var regx = /(\w*)+\.if$/g; | ||
@@ -493,5 +493,7 @@ for(key in separateAttrsElement.static){ | ||
var basicTag = ''; | ||
var haveStaticKeyGen = false; | ||
if(static_key === 'null' && (mod_tmp_static_attr_str !== '[""]' || mod_tmp_attr_str !== '""')){ | ||
static_key = '"'+nextUID()+'"'; | ||
static_key = nextUID(); | ||
haveStaticKeyGen = true; | ||
} | ||
@@ -501,6 +503,13 @@ if(static_key === 'null'){ | ||
}else{ | ||
basicTag = '\n\t_idom.elementOpen("'+comp.name+'",'+static_key+','+mod_tmp_static_attr_str+','+mod_tmp_attr_str+');\n'; | ||
/* | ||
if(comp.parent && comp.parent.attribs && comp.parent.attribs['key:id']){ | ||
console.log(comp.parent.attribs['key:id']); | ||
//static_key = comp.parent.attribs['key:id']+static_key; | ||
} | ||
*/ | ||
//comp.attribs['key:id'] = static_key; | ||
basicTag = '\n\t_idom.elementOpen("'+comp.name+'","'+static_key + (indexLoopName && haveStaticKeyGen ? '_"+'+indexLoopName : '"') +','+mod_tmp_static_attr_str+','+mod_tmp_attr_str+');\n'; | ||
} | ||
if(comp.children){ | ||
comp.children.forEach(sub_comp => basicTag += '\t'+componentToStr(sub_comp)); | ||
comp.children.forEach(sub_comp => basicTag += '\t'+componentToStr(sub_comp,indexLoopName)); | ||
} | ||
@@ -758,2 +767,7 @@ basicTag += '\n\t_idom.elementClose("'+comp.name+'");\n'; | ||
delete comp.attribs["each"]; | ||
/* | ||
if(!comp.attribs["key:id"]){ | ||
comp.attribs["key:id"] = nextUID(); | ||
} | ||
*/ | ||
forcomp.children=[comp]; | ||
@@ -763,3 +777,3 @@ return componentToStr(forcomp); | ||
function componentToStr(comp){ | ||
function componentToStr(comp, indexLoopName){ | ||
@@ -773,47 +787,47 @@ //ignorando os comentarios | ||
if(comp.type=='text'){ | ||
return tagTextToStr(comp); | ||
return tagTextToStr(comp, indexLoopName); | ||
} | ||
//tratando os skips embutidos | ||
if(comp.attribs && comp.attribs["skip"]){ | ||
return skipConditionExtractor(comp); | ||
return skipConditionExtractor(comp, indexLoopName); | ||
} | ||
//tratando os ifs embutidos | ||
if(comp.attribs && comp.attribs["if"]){ | ||
return ifConditionExtractor(comp); | ||
return ifConditionExtractor(comp, indexLoopName); | ||
} | ||
//precisa esta aqui para evitar deadlock | ||
if(comp.name=='for'){ | ||
return tagForToStr(comp); | ||
return tagForToStr(comp, indexLoopName); | ||
} | ||
if(comp.attribs && comp.attribs["each"]){ | ||
return forConditionExtractor(comp); | ||
return forConditionExtractor(comp, indexLoopName); | ||
} | ||
if(comp.name=='if'){ | ||
return tagIfToStr(comp); | ||
return tagIfToStr(comp, indexLoopName); | ||
} | ||
if(comp.name=='skip'){ | ||
return tagSkipToStr(comp); | ||
return tagSkipToStr(comp, indexLoopName); | ||
} | ||
if(comp.name=='else'){ | ||
return tagElseToStr(comp); | ||
return tagElseToStr(comp, indexLoopName); | ||
} | ||
if(comp.name=='elseif'){ | ||
return tagElseIfToStr(comp); | ||
return tagElseIfToStr(comp, indexLoopName); | ||
} | ||
if(comp.name=='route'){ | ||
return tagRouteToStr(comp); | ||
return tagRouteToStr(comp, indexLoopName); | ||
} | ||
if(comp.name=='compose'){ | ||
return tagComposeToStr(comp); | ||
return tagComposeToStr(comp, indexLoopName); | ||
} | ||
if(comp.name=='content'){ | ||
return tagContentToStr(comp); | ||
return tagContentToStr(comp, indexLoopName); | ||
} | ||
if(comp.name=='script'){ | ||
return tagCommandToStr(comp); | ||
return tagCommandToStr(comp, indexLoopName); | ||
} | ||
@@ -823,14 +837,14 @@ | ||
if(comp.name=='register-for'){ | ||
return tagRegisterForToStr(comp); | ||
return tagRegisterForToStr(comp, indexLoopName); | ||
} | ||
if(comp.name.indexOf("-") > 0 && requireScriptList.indexOf(comp.name) > -1){ | ||
return tagRpFunctionToStr(comp); | ||
return tagRpFunctionToStr(comp, indexLoopName); | ||
} | ||
if(comp.name.indexOf('-') > 0){ | ||
return tagCustomToStr(comp); | ||
return tagCustomToStr(comp, indexLoopName); | ||
} | ||
return tagBasicToStr(comp); | ||
return tagBasicToStr(comp, indexLoopName); | ||
} | ||
@@ -837,0 +851,0 @@ |
28934
725