0 Votes

Wiki source code of Properties Displayer Macro

Last modified by JOSE RONALDO DOS ARAUJO on 11/04/2024

Show last authors
1 This macro displays a block with properties name and corresponding values from an object. As an example, it can be used in class sheets.
2
3 == Example of usage ==
4 {{code}}
5 (% class="row" %)
6 (((
7 {{propertiesDisplayer className="Help.Applications.Movies.Code.MoviesClass" title="" backgroundColor="white" properties="title1, longText1" propertyNameClasses="col-sm-12" propertyValuesClasses="col-sm-12" blockClasses="col-sm-8" /}}
8
9 {{propertiesDisplayer className="Help.Applications.Movies.Code.MoviesClass" title="Properties" titleStyle="text-align: center; font-size: 16px; font-weight: bold; margin-top: 15px; margin-bottom: 10px;" properties="staticList1, databaseList1, date1, number1, boolean1" blockClasses="col-sm-4" propertyNameClasses="col-sm-3" propertyValuesClasses="col-sm-9" backgroundColor="#f5f5f5" style="border-radius: 10px; line-height: 25px; padding-bottom: 20px;" /}}
10 )))
11 (% class="row" %)
12 (((
13 == Content ==
14 {{propertiesDisplayer className="Help.Applications.Movies.Code.MoviesClass" title="" backgroundColor="white" properties="content1" blockClasses="col-sm-12" propertyNameClasses="hide" propertyValuesClasses="col-sm-12" /}}
15 )))
16 {{/code}}
17 == Result ==
18 image:properties-displayer-1
19
20 == Parameters ==
21
22 {{velocity}}
23 #set ($parameters = $doc.getObjects('XWiki.WikiMacroParameterClass'))
24 #set ($tableHeaders = '|=Name|=Description|=Mandatory|=Default')
25 #set ($tableBody = '')
26 #foreach ($parameter in $parameters)
27 #set ($isMandatory = ${parameter.getProperty('mandatory').value})
28 #if ($isMandatory == "true")
29 #set ($isMandatory = "Yes")
30 #else
31 #set ($isMandatory = "No")
32 #end
33 #set ($tableBody = "$tableBody|${parameter.getProperty('name').value}|(((${parameter.getProperty('description').value})))|$isMandatory|$parameter.getProperty('defaultValue').value
34 ")
35 #end
36 #if ($request.debug)
37 {{code}}
38 $tableHeaders
39 $tableBody
40 {{/code}}
41 #end
42 ##
43 $tableHeaders
44 $tableBody
45 {{/velocity}}