clean up conditional comments in the DOM; conditionals now treat undefined variables as false; closes #617

v1.18.x
psychobunny 11 years ago
parent 347f5c132e
commit 090d35f306

@ -320,14 +320,16 @@
if (conditionalBlock[1]) {
// there is an else statement
if (!value) {
template = template.replace(matches[i], conditionalBlock[1]);
template = template.replace(matches[i], conditionalBlock[1].replace(/<!-- ((\IF\b)|(\bENDIF\b))(.*?)-->/gi, ''));
} else {
template = template.replace(matches[i], conditionalBlock[0]);
template = template.replace(matches[i], conditionalBlock[0].replace(/<!-- ((\IF\b)|(\bENDIF\b))(.*?)-->/gi, ''));
}
} else {
// regular if statement
if (!value) {
template = template.replace(matches[i], '');
} else {
template = template.replace(matches[i], matches[i].replace(/<!-- ((\IF\b)|(\bENDIF\b))(.*?)-->/gi, ''));
}
}
}
@ -351,6 +353,9 @@
var regex = new RegExp("{" + namespace + "[\\s\\S]*?}", 'g');
template = template.replace(regex, '');
}
//console.log (template);
// clean up all undefined conditionals
template = template.replace(/<!-- IF([\s\S]*?)ENDIF([\s\S]*?)-->/gi, '');
return template;

@ -188,8 +188,7 @@
stats.raw = JSON.stringify(stats, null, 4);
stats.mongo = true;
//remove this when andrew adds in undefined checking to templates
stats.redis = false;
callback(err, stats);
});

@ -168,8 +168,6 @@
}
redisData.raw = JSON.stringify(redisData, null, 4);
redisData.redis = true;
//remove this when andrew adds in undefined checking to templates
redisData.mongo = false;
callback(null, redisData);
});

Loading…
Cancel
Save