diff --git a/server/AyaNova/biz/ReportBiz.cs b/server/AyaNova/biz/ReportBiz.cs index 5c00f821..2ad8c066 100644 --- a/server/AyaNova/biz/ReportBiz.cs +++ b/server/AyaNova/biz/ReportBiz.cs @@ -412,7 +412,16 @@ namespace AyaNova.Biz #endif //compile and run handlebars template //var compileScript = $"Handlebars.compile(`{report.Template}`)({{ ayReportData:ayPreRender({ReportData}), ayClientMetaData:{clientMeta}, ayServerMetaData:{{ayApiUrl:`{apiUrl}`}} }});"; - var compileScript = $"Handlebars.compile(`{report.Template}`)(ayPreRender({{ ayReportData:{ReportData}, ayClientMetaData:{clientMeta}, ayServerMetaData:{serverMeta} }}));"; + //var compileScript = $"Handlebars.compile(`{report.Template}`)( (async () => {{await ayPreRender({{ ayReportData:{ReportData}, ayClientMetaData:{clientMeta}, ayServerMetaData:{serverMeta} }})}})());"; + + var ReportDataObject=$"{{ ayReportData:{ReportData}, ayClientMetaData:{clientMeta}, ayServerMetaData:{serverMeta} }}"; + // var ReportDataObject=$"{{ ayReportData:[1,2] }}"; + + var preRenderResult=await page.EvaluateExpressionAsync($"ayPreRender({ReportDataObject});"); + // var preRenderResult=await page.EvaluateExpressionAsync("ayPreRender('stringofdata');"); + + + var compileScript = $"Handlebars.compile(`{report.Template}`)({preRenderResult});"; var resultHTML = await page.EvaluateExpressionAsync(compileScript); //render report as HTML diff --git a/server/AyaNova/resource/rpt/ay-report.js b/server/AyaNova/resource/rpt/ay-report.js index ed46eb3b..e4c8b06a 100644 --- a/server/AyaNova/resource/rpt/ay-report.js +++ b/server/AyaNova/resource/rpt/ay-report.js @@ -26,10 +26,23 @@ function ayRegisterHelpers() { }); } //eof -async function ayPreRender(ayAllData) { - if (typeof ayPrepareData === "function") { - return await ayPrepareData(ayAllData); - } else { - return ayAllData; - } +// async function ayPreRender(ayAllData) { +// if (typeof ayPrepareData === "function") { +// return await ayPrepareData(ayAllData); +// } else { +// return ayAllData; +// } +// } + +// function ayPreRender(ayAllData) { +// if (typeof ayPrepareData === "function") { +// return ayPrepareData(ayAllData); +// } else { +// return ayAllData; +// } +// } + +function ayPreRender(ayAllData) { + return ayAllData; + // return typeof ayPrepareData; }