mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-16 02:36:16 +01:00
fixed three bugs in templates: 1) if you're sending in null as a value it should now correctly replace that field as ''. 2) you don't need to put objects last in data anymore (stupid bug) 3) you can now send multiple objects to be parsed in templates properly; Also added deprecation message to server side templates
This commit is contained in:
@@ -113,8 +113,8 @@ var templates = {};
|
|||||||
|
|
||||||
for (var d in data) {
|
for (var d in data) {
|
||||||
if (data.hasOwnProperty(d)) {
|
if (data.hasOwnProperty(d)) {
|
||||||
if (data[d] instanceof String || data[d] === null) {
|
if (data[d] === null) {
|
||||||
continue;
|
template = replace(namespace + d, '', template);
|
||||||
} else if (data[d].constructor == Array) {
|
} else if (data[d].constructor == Array) {
|
||||||
namespace += d;
|
namespace += d;
|
||||||
|
|
||||||
@@ -127,9 +127,9 @@ var templates = {};
|
|||||||
do {
|
do {
|
||||||
result += parse(data[d][i], namespace + '.', block);
|
result += parse(data[d][i], namespace + '.', block);
|
||||||
} while (i++ < numblocks);
|
} while (i++ < numblocks);
|
||||||
|
|
||||||
|
namespace = namespace.replace(d, '');
|
||||||
template = setBlock(regex, result, template);
|
template = setBlock(regex, result, template);
|
||||||
|
|
||||||
} else if (data[d] instanceof Object) {
|
} else if (data[d] instanceof Object) {
|
||||||
namespace += d + '.';
|
namespace += d + '.';
|
||||||
|
|
||||||
@@ -142,7 +142,7 @@ var templates = {};
|
|||||||
} else {
|
} else {
|
||||||
template = replace(namespace + d, data[d], template);
|
template = replace(namespace + d, data[d], template);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (namespace) {
|
if (namespace) {
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ var fs = require('fs');
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template.prototype.file = file;
|
||||||
template.prototype.parse = parse;
|
template.prototype.parse = parse;
|
||||||
template.prototype.html = String(html);
|
template.prototype.html = String(html);
|
||||||
|
|
||||||
@@ -65,6 +66,7 @@ var fs = require('fs');
|
|||||||
var template = this.html, regex, block;
|
var template = this.html, regex, block;
|
||||||
|
|
||||||
return (function parse(data, namespace, template) {
|
return (function parse(data, namespace, template) {
|
||||||
|
console.log(this.file + ' is being called on server side. Templates will be deprecated soon');
|
||||||
if (Object.keys(data).length == 0) {
|
if (Object.keys(data).length == 0) {
|
||||||
regex = makeRegex('[^]*');
|
regex = makeRegex('[^]*');
|
||||||
template = template.replace(regex, '');
|
template = template.replace(regex, '');
|
||||||
|
|||||||
Reference in New Issue
Block a user