UNPKG

flexbiz-server

Version:

Flexible Server

7 lines (6 loc) 2.84 kB
'use strict';const ngcompile=require("ng-node-compile"),ejs=require("ejs"),rpt=global.getModel("rpt"),{evalute,prepareParameters}=require("../libs/utils"),utils=require("../libs/utils"),moment=require("moment"),numeral=require("numeral"); module.exports=async function($html_template_page$$,$_data_data$$){var $key_for_find_rptConfig$$;$_data_data$$={...$_data_data$$};if(global.mongoose.Types.ObjectId.isValid($html_template_page$$)&&($key_for_find_rptConfig$$=await rpt.findOne({_id:$html_template_page$$}).lean())){if(($html_template_page$$=$key_for_find_rptConfig$$.html_template)&&$key_for_find_rptConfig$$.handle_data_expression&&0>$key_for_find_rptConfig$$.handle_data_expression.indexOf("async ")){$_data_data$$.details&&($_data_data$$.details= $_data_data$$.details.map($d$$=>$d$$.toObject?$d$$.toObject():{...$d$$}));var $func_string_str_row_vt_cell_1$$=`return (async ()=>${$key_for_find_rptConfig$$.handle_data_expression})`;try{await evalute($func_string_str_row_vt_cell_1$$,{data:$_data_data$$,moment,numeral,utils})()}catch($e$$){console.error($e$$,$func_string_str_row_vt_cell_1$$)}}$html_template_page$$&&$key_for_find_rptConfig$$.parameters&&await prepareParameters($key_for_find_rptConfig$$.parameters,$_data_data$$,$_data_data$$)}if(!$html_template_page$$)return""; for(let $field$$ in $_data_data$$)if(Array.isArray($_data_data$$[$field$$])){$key_for_find_rptConfig$$=`{{tb:${$field$$}.`;$func_string_str_row_vt_cell_1$$=$html_template_page$$.indexOf($key_for_find_rptConfig$$);if(0<$func_string_str_row_vt_cell_1$$){$func_string_str_row_vt_cell_1$$=$html_template_page$$.substring(0,$func_string_str_row_vt_cell_1$$);var $new_str_row_trs$$=$func_string_str_row_vt_cell_1$$.split("<tr");0<$new_str_row_trs$$.length&&($new_str_row_trs$$[$new_str_row_trs$$.length-1]=` ng-repeat='_${$field$$} in ${$field$$}'${$new_str_row_trs$$[$new_str_row_trs$$.length- 1]}`,$new_str_row_trs$$=$new_str_row_trs$$.join("<tr"),$html_template_page$$=$html_template_page$$.replace($func_string_str_row_vt_cell_1$$,$new_str_row_trs$$))}$html_template_page$$=$html_template_page$$.split($key_for_find_rptConfig$$).join(`{{_${$field$$}.`)}0>$html_template_page$$.indexOf("print-content")&&($html_template_page$$=`<div id="print-content">${$html_template_page$$}</div>`);$html_template_page$$=unescape($html_template_page$$);if(0<=$html_template_page$$.indexOf("ng-")||0<=$html_template_page$$.indexOf("{{"))try{$html_template_page$$= (new ngcompile([])).$compile($html_template_page$$)($_data_data$$)}catch($e$$){console.error($e$$)}if(0<=$html_template_page$$.indexOf("&lt;%")||0<=$html_template_page$$.indexOf("%&gt;")||0<=$html_template_page$$.indexOf("<%")||0<=$html_template_page$$.indexOf("%>"))try{$html_template_page$$=ejs.render($html_template_page$$,$_data_data$$)}catch($e$$){console.error($e$$)}return $html_template_page$$};