From c5e7904dfee01c3db8056f505e4177b06f9498f6 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Mon, 24 Aug 2020 21:51:57 +0000 Subject: [PATCH] --- server/AyaNova/Controllers/ReportController.cs | 15 ++++++++++----- server/AyaNova/resource/reportjs/ay-hb-helpers.js | 5 +++++ 2 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 server/AyaNova/resource/reportjs/ay-hb-helpers.js 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(); + }); +}