def includePage = 'Examples:table page' // customize to point to your SPACE:Page title
def columnTypes = ['S','S','S','S','S'] // customize to set the default column types for all columns
def selectedColumns = '$columns'.split(',') // assumes run macro is configured using the columns replacement variable name
def moreTablePlusParameters = '' // customize if you need some additional table plus parameters - must be in standard wiki parameter notation!
// For each column that was NOT selected, replace the default column type for that entry to hide
for (int i = 1; i <= columnTypes.size(); i++) {
if (!selectedColumns.contains(i.toString())) {
columnTypes[i - 1] = 'H'
}
}
// Build the wiki markup for the include page
def StringBuilder builder = new StringBuilder()
builder.append("{table-plus:columnTypes=${listToSeparatedString(columnTypes)}|${moreTablePlusParameters}}").append('\n')
builder.append("{include:${includePage}}").append('\n')
builder.append('{table-plus}')
out.print(builder.toString())
def listToSeparatedString(list) {
StringBuilder builder = new StringBuilder()
list.each { element ->
builder.append("'").append(element).append("',")
}
return builder.toString()
} |