Skip to content

Commit

Permalink
Merge pull request #82 from QuickCorp/v2.3
Browse files Browse the repository at this point in the history
Performance improvements for template data rendering
  • Loading branch information
jeanmachuca committed Aug 10, 2021
2 parents 408015c + 6eec329 commit 5a98936
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions QCObjects.js
Original file line number Diff line number Diff line change
Expand Up @@ -1595,13 +1595,19 @@
Class("DefaultTemplateHandler", Object, {
template: "",
assign: function(data) {
var processorHandler = this.component.processorHandler;
var parsedAssignmentText = this.template;
var _value;
for (var k in data) {
_value = data[k];
_value = ClassFactory("Processor").processObject.call(processorHandler,_value);
parsedAssignmentText = parsedAssignmentText.replace((new RegExp("{{" + k + "}}", "g")), _value);
var templateInstance = this;
var processorHandler = templateInstance.component.processorHandler;
var parsedAssignmentText = templateInstance.template;
if (typeof data === "object"){
[...Object.keys(data)].map(function (k){
var _value = data[k];
if (typeof _value === "string" || typeof _value === "number" || (!isNaN(_value))){
_value = ClassFactory("Processor").processObject.call(processorHandler,_value);
parsedAssignmentText = parsedAssignmentText.replace((new RegExp(`{{${k}}}`, "g")), _value);
}
});
} else {
logger.debug (`${templateInstance.component.name}.data is not an object`);
}
parsedAssignmentText = ClassFactory("Processor").processObject.call(processorHandler,parsedAssignmentText);
return parsedAssignmentText;
Expand Down

0 comments on commit 5a98936

Please sign in to comment.