diff --git a/server/AyaNova/Controllers/ReportController.cs b/server/AyaNova/Controllers/ReportController.cs
index da65983a..6701246d 100644
--- a/server/AyaNova/Controllers/ReportController.cs
+++ b/server/AyaNova/Controllers/ReportController.cs
@@ -104,7 +104,7 @@ namespace AyaNova.Api.Controllers
}";
//sample template
- var reportTemplate = "'
{{#with person}}{{firstname}} {{lastname}}{{/with}}
'";
+ var reportTemplate = "'{{#with person}}{{firstname}} {{loud lastname}}{{/with}}
'";
//data object
var reportData = "{ person: { firstname: 'Yehuda', lastname: 'Katz' } }";
@@ -114,13 +114,18 @@ namespace AyaNova.Api.Controllers
//Add handlebars JS for compiling and presenting
await page.AddScriptTagAsync(new AddTagOptions() { Path = hbspath });
+ //test add helpers
+ await page.AddScriptTagAsync(new AddTagOptions() { Path = Path.Combine(ReportJSFolderPath, "ay-hb-helpers.js") });
+ //execute to add to handlebars
+ await page.EvaluateExpressionAsync("ayRegisterHelpers();");
+
//compile and run handlebars template
- var compileScript = $"Handlebars.compile({reportTemplate})({reportData});";
+ var compileScript = $"Handlebars.compile({reportTemplate})({reportData});";
var resultHTML = await page.EvaluateExpressionAsync(compileScript);
-
+
//render report as HTML
- await page.AddStyleTagAsync(new AddTagOptions { Content = reportCSS });
- await page.SetContentAsync(resultHTML);
+ await page.AddStyleTagAsync(new AddTagOptions { Content = reportCSS });
+ await page.SetContentAsync(resultHTML);
//render to pdf and return
var pdfBuffer = await page.PdfDataAsync();
diff --git a/server/AyaNova/resource/reportjs/ay-hb-helpers.js b/server/AyaNova/resource/reportjs/ay-hb-helpers.js
new file mode 100644
index 00000000..bb0e9194
--- /dev/null
+++ b/server/AyaNova/resource/reportjs/ay-hb-helpers.js
@@ -0,0 +1,5 @@
+function ayRegisterHelpers() {
+ Handlebars.registerHelper("loud", function (aString) {
+ return aString.toUpperCase();
+ });
+}