How to use a custom table HTML template in a Portlet?
–> Use a Portlet script in Simple form type and create a custom HTML template in table form in the script or store it in the FIle cabinet.
–> Use this custom template to render the contents in the table.
var portlet = params.portlet;
portlet.title = '<Title>';
var entityId = params.entity;
log.debug('entityId', entityId);
<script functionalities >
if (Object.keys(supportingEntities).length) {
var html = "<div><link rel=\"stylesheet\" href=\"https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css\" integrity=\"sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS\" crossorigin=\"anonymous\">\n" + "<script src=\"https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js\" integrity=\"sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k\" crossorigin=\"anonymous\"></script><body><table class='table table-bordered table-hover table-sm' border='2'><tr><td align='center'><b>Donated From</b></td><td align='center'><b>Currency</b></td><td align='center'><b>Recent Trandate</b></td><td align='right'><b>Recent Transaction Amount</b></td><td align='right'><b>Cumulative FX Amount</b></td></tr><#list results.details as donationsFrom><tr><td align='left'>${donationsFrom.donatedFrom.text}</td><td align='center'>${donationsFrom.currency.text}</td><td align='center'>${donationsFrom.recentTransactionDate.value}</td><td align='right'>${donationsFrom.recentTransactionAmount.value}</td><td align='right'>${donationsFrom.amountFX.value}</td></tr></#list></table></body> </div>";
var renderer = render.create();
renderer.templateContent = html;
renderer.addCustomDataSource({
format: render.DataSource.OBJECT,
alias: "results",
data: {
details: supportingEntities
}
});
portlet.addField({
id: '_supportingentities',
type: serverWidget.FieldType.INLINEHTML,
label: 'Supporting Donors/DAFs'
}).defaultValue = renderer.renderAsString();