Menu

PPTX OUTPUT

Provides tags for printing data on PPTX documents.

Tags of this library may only be used in PPTX document content.

out

Replaces the wrapped contents with whatever text content the expression in the value attribute resolves into when evaluated.

Attributes

value

Required
Value type
EL-evaluated
Yes Any Yes
Defines the text output of this tag. The resolved value can be of any type - if the value is not a String, it is converted into one. Do note that values of certain types (such as Files) do not convert into very meaningful text content. 
required


Required
Value type
EL-evaluated
No Boolean Yes
Defines if this tag is required to have a value to output. If this attribute's resolved value is true and the value attribute resolves into null, the user is informed with an error message.

If undefined, value of false is used, allowing value to resolve into null.
format

Required
Value type
EL-evaluated
No String No
Specifies a Format that takes the value to output and formats into a String as according to its formatting rules. The resolved String is expected to the name of a Format defined earlier in the logic.
tagLogic

Required
Value type
EL-evaluated
No String Yes
Specifies the tag logic that will be executed right before the evaluation of this tag. The resolved String is expected to be the name of a tag controller.
reportTable

Reconstructs the table this tag is wrapped around to present the data of a report. Currently the only source of reports for this tag is the Salesforce-specific loadReport tag.

The tagged table is expected to have a certain amount of rows depending on the type of the report. If the report is a tabular report, there should be at least three rows: a header row as the first row, a detail row model as the second row and a grand total row as the third.  However, it is possible to have the details on more than one row by adding more rows between the header row and the grand total row.

If the report is a summary report, the structure differs from the tabular version by there having to as many group row models as the report has grouping levels. The group row models are placed between the header and the detail row model, with the topmost group row model representing the highest grouping level and the group row model just above the detail model the lowest grouping level. Unlike with tabular reports, summary report tables can have only one row for details.

Upon evaluation of this tag, the group and detail row models of the table are multiplied and evaluated to produce the rows needed to present the report data. The grand total row is also evaluated and may therefore contain tags, while the header row is not evaluated. Tags within the evaluated rows can access the relevant report data in the variable context through predefined variable names. Each of the variables found in the context represent data values in the report and share certain properties.

Common properties

A data value may have three different kinds of representations and can be accessed as follows (with 'var' here being the example name of the variable):

var.orig The original unformatted representation of the value.
var.val or var A template-formatted value. If the document has a default format suited to the type of this value, this representation of the value is basically 'var.orig' formatted as specified by the appropriate tag.
var.pre Value as formatted by the source of the report data. The report data's source may provide a formatted representation of 'var.orig' itself, which may differ from 'var.val'.

Group row

A group row has its data stored in a variable named like 'gr1', 'gr2', etc. depending on the group's level (highest level group being 'gr1'). Using 'gr1' as the example variable, the following group properties are available for tags within the group row: 

gr1.lbl Label of the group. For example, if the data is opportunities and grouped by the current stage of the opportunities, the label here could be "Stage".
gr1, gr1.val, gr1.pre, gr1.orig Value of the group, in its different forms as described in the Common properties section. Following on the example of the label, values of groups would be different opportunity stages eg. "Prospecting" and "Negotiation".
gr1.ag A map containing the aggregate column values of this column. Access an aggregate value by the ID of its column, eg. ${gr1.ag["a!AMOUNT"].val}.

Detail row

A detail row has its data stored in a variable named 'det'. This variable is a Map containing the different detail values with the IDs of the detail columns as keys. For example, ${det['OPPORTUNITY_NAME'].val}.

Total row

The total row has its data stored in a variable named 'tot'. The total row resembles a group row, but only contains aggregate values. For example, ${tot.ag['a!AMOUNT'].val}.

This tag produces a local variable context that will be the active context for all tags within the table's cells.  

Attributes

value


Required
Value type
EL-evaluated
Yes
Report data Yes
Defines the report data that the table will rebuilt to present. 
showDetails

Required
Value type
EL-evaluated
No Boolean Yes
Defines if detail rows are to be shown. If the value of this attribute resolves into true or the attribute is undefined, detail rows are produced, otherwise they are not. If the report data represents a summary report and this attribute resolves to false, the tagged table does not have to contain a model for the detail row.
test

Required
Value type
EL-evaluated
No Boolean Yes
Defining this attribute makes the table a conditional element. If defined and the resolved value is false, the tag and the table will be removed. If the resolved value is true, or if the attribute is not defined, the tag and the table remain in the document and are evaluated normally.  
slide

The slide tag iterates through the container specified by the value attribute. For each item in the container it creates a new slide after the slide on which the slide tag is. In each appended slide the user then has access to the current loop iteration item by using the variable specified by the var attribute.

Attributes

value


Required
Value type
EL-evaluated
Yes
Collection, Map, Data item Yes
Defines the container whose contents the tag iterates through. While this container is primarily expected to be a Collection, two other types of types are also accepted.

The three types are handled in the following ways:
  • If the value is a Collection, slide iterates through the items in it in their proper order.  
  • If the value is a Map, slide iterates through its entries. The item of every round is therefore a Map entry that allows both the key and the value to accessed.
  • If the value is a Data Item, slide performs just one loop round, with the Data Item being the item of the round.
var


Required
Value type
EL-evaluated
Yes
Report data Yes
The value of this attribute defines the name of the local context variable that tags within the created slides can use to access an item of the container defined with value.
logic

Required
Value type
EL-evaluated
No String Yes
Specifies the loop logic that will be executed during the evaluation of this tag. The resolved String is expected to be the name of a loop controller.
previousSlide

Required
Value type
EL-evaluated
No String Yes
Previous slide ID.
table

Reconstructs the tagged table to reflect the provided container value, which is typically a Collection.

The tag modifies the table by giving every item in the container a copy of the table's original content rows, which are all rows besides the first one - the first row is treated as the table's header row. So if the tagged table has two rows with the value being a Collection with seven items, the result would have the first row, the header, with seven content rows. And if the table originally had two content rows instead, the end result would have 14 rows in addition to the header.

The container value's items are iteratated through one by one, each getting a copy of the content rows created for it. Any tags within the newly created rows are then evaluated. The item for whom the rows were created for is visible to the tags as the variable named with var. Header rows have their tags evaluated before the producing of content rows starts and do not have access to any special variables.   

This tag produces a local variable context that will be the active context for all tags within the table's rows.  

Attributes

value


Required
Value type
EL-evaluated
Yes
Collection, Map, Data item Yes
Defines the container whose contents the tag iterates through. While this container is primarily expected to be a Collection, two other types of types are also accepted.

The three types are handled in the following ways:
  • If the value is a Collection, slide iterates through the items in it in their proper order.  
  • If the value is a Map, slide iterates through its entries. The item of every round is therefore a Map entry that allows both the key and the value to accessed.
  • If the value is a Data Item, slide performs just one loop round, with the Data Item being the item of the round.
var

Required
Value type
EL-evaluated
No String No
The value of this attribute defines the name of the local context variable that holds the current item of the loop.

If not defined, the name "row" is used for the item variable.
test

Required
Value type
EL-evaluated
No Boolean Yes
Defining this attribute makes the table a conditional element. If defined and the resolved value is false, the tagged table will be removed. If the resolved value is true, or if the attribute is not defined, the tagged table remains in the document and is evaluated normally.  
roundTest

Required
Value type
EL-evaluated
No Boolean Yes
This attribute can be used to define a condition for skipping certain iteration rounds. This attribute's expression is evaluated for every item in the local variable context, so the variable named with var holds the item. If the expression doesn't resolve into true, the current item is skipped, resulting in no copy of the content columns being produced.
logic

Required
Value type
EL-evaluated
No String Yes
Specifies the loop logic that will be executed during the evaluation of this tag. The resolved String is expected to be the name of a loop controller.

Comments

0 comments