Rendering Options
Apart from Building Blocks parameters are rendering options which are context insenstivie, meaning they can be set on every Building Block. It depends however on the wordchannel implementation whether these rendering options get interpreted or not. Rendering options are set on the node itself in the abstract report.
Add a rendering option
Rendering options can only be added via the code view of a building block and must be of the following json schema
{
"renderingOptions": {
"wordchannel": {
"<Key>": <Value>,
...
}
}
}
Note: Machinata uses its own rendering options under the "machinata"
object
Existent rendering options
Name | Description | Application |
---|---|---|
| Repeat the row group header if rows of its group span across multiple pages. | VerticalTableNodes |
| Repeat row headers up until (and including) the specified level of the tree. | ? |
| Defines the minimum scale value for the bar chart | VerticalTableNodes |
| Defines the maximum rows for a table before inserting a pagebreak (VerticalTable) | ? |
| Defines the minimum rows after the last pagebreak (VerticalTable) | ? |
| Defines the color shades which are used to overwritting the table charts. The i-th color is used for the i-th level (hierarchical) | VerticalTableNodes |
Implementation Checklist
Reporting Solution:
The building block has to set the
renderingOptions
field of its returned ReportNode (e.g., VerticalTableNode)
Core Implementation: In https://bitbucket.org/bmpi/ngr/src/24111d24dfdc74666350e62787ccec99768a2357/ngr-core/src/Rendering/RenderingOptions.ts#RenderingOptions.ts-49 in the WordchannelOptions class:
Add a new optional field with the rendering option name and type
Extend the
fromJson
method to support the rendering option field from the abstract report
Wordchannel: In the https://bitbucket.org/bmpi/ngr-word/src/d4c1b9baf7bceda820711b54ac1354aef57e42ea/ngr-wordchannel/src/main/java/ch/bmpi/ngr/wordchannel/rendering/ChannelOptions.java#ChannelOptions.java-3:3 class:
Add a new field (optionally with an default value)
Write a get- and set-method for the rendering option
The get- and set-method names need to be exact, as they are used for matching when transferring from abstract report to wordchannel!
Call the get-method on a reporting node anywhere in the wordchannel with
node.getChannelOptions().<getMethodName>()
Limitations
The Word Template function “Repeat Header Rows” should only be used for column headers. Otherwise
repeatRowGroupHeaders
will not work properly and displace its repeated headers!