Difference between revisions of "Template:PropVals/doc"
From Salem Wiki
m (adding documentation) |
m (Protected "Template:PropVals/doc": Documentation of key-feature ([edit=sysop] (indefinite) [move=sysop] (indefinite))) |
||
(13 intermediate revisions by the same user not shown) | |||
Line 17: | Line 17: | ||
*{{t|PropVals}} is used as a wrapper to inject extra arguments into {{t|PropVals/List}}, using the output of {{t|PropVals/getGroupedRecords}}. | *{{t|PropVals}} is used as a wrapper to inject extra arguments into {{t|PropVals/List}}, using the output of {{t|PropVals/getGroupedRecords}}. | ||
*#{{t|PropVals/List}} is used as a wrapper to inject extra arguments into {{t|PropVals/Print Entry}}, to output each '''''entry''''' of a '''''grouped-record''''' under a common group-heading when appropriate, as list-items <code><nowiki><li>...</li></nowiki></code>. | *#{{t|PropVals/List}} is used as a wrapper to inject extra arguments into {{t|PropVals/Print Entry}}, to output each '''''entry''''' of a '''''grouped-record''''' under a common group-heading when appropriate, as list-items <code><nowiki><li>...</li></nowiki></code>. | ||
− | *#*{{t|PropVals/Print Entry}} is used to display each '''''entry''''' in a visually appealing way, by outputting an icon-image followed by a link to the page of the object followed by the amount. | + | *#*{{t|PropVals/Print Entry}} is used to display each '''''entry''''' in a visually appealing way, by outputting an icon-image followed by a link to the page of the object followed by the amount when requested. |
*#*:It uses {{t|PropVals/Split}} to extract the name- and amount-fields from the '''''entry'''''. | *#*:It uses {{t|PropVals/Split}} to extract the name- and amount-fields from the '''''entry'''''. | ||
− | |||
*#{{t|PropVals/getGroupedRecords}} is used as a wrapper to inject extra arguments into {{t|PropVals/Group}}, using the output of {{t|PropVals/getRecords}} as input, to output '''''grouped-records''''', for further processing by {{t|PropVals}}. | *#{{t|PropVals/getGroupedRecords}} is used as a wrapper to inject extra arguments into {{t|PropVals/Group}}, using the output of {{t|PropVals/getRecords}} as input, to output '''''grouped-records''''', for further processing by {{t|PropVals}}. | ||
*##{{t|PropVals/Group}} is used as a wrapper to inject extra arguments into {{t|PropVals/Group/NextPart}}, using '''''records''''' as input, to output '''''grouped-records'''''. | *##{{t|PropVals/Group}} is used as a wrapper to inject extra arguments into {{t|PropVals/Group/NextPart}}, using '''''records''''' as input, to output '''''grouped-records'''''. | ||
− | *##*{{t|PropVals/Group/NextPart}} is used as a helper-template, to output a '''''grouped-record''''' that starts with the ''group-heading'' followed by '''''entries''''' | + | *##*{{t|PropVals/Group/NextPart}} is used as a helper-template, to output a '''''grouped-record''''' that starts with the ''group-heading'' followed by '''''entries'''''. |
− | *##*:It uses {{t|PropVals/Split}} to separate the '' | + | *##*:An '''''entry''''' is a '''''record''''' with its heading-field removed, that has the same heading-field as the previous '''''record'''''. |
+ | *##*:It uses {{t|PropVals/Group/heading}} and {{t|PropVals/Split}} to separate the ''fields'' in the '''''record'''''. | ||
+ | *##*:The structure of a '''''record''''' is: <code><nowiki>Objectname{{{sep}}}Amount{{{sep}}}Groupheading</nowiki></code> | ||
*##{{t|PropVals/getRecords}} is used to retrieve all the values of a property of a page, and output them as '''''records''''' for further processing by {{t|PropVals/getGroupedRecords}}. | *##{{t|PropVals/getRecords}} is used to retrieve all the values of a property of a page, and output them as '''''records''''' for further processing by {{t|PropVals/getGroupedRecords}}. | ||
==Syntax== | ==Syntax== | ||
:Type the below code somewhere inside {{t|Infobox}} or a page: | :Type the below code somewhere inside {{t|Infobox}} or a page: | ||
− | <pre>{{PropVals |prop=RequiresObj |page={{FULLPAGENAME}} |sep={{{sep|;}}} |grpsep={{{grpsep|/\}}} }}</pre> | + | <pre>{{PropVals |prop=RequiresObj |page={{FULLPAGENAME}} |sep={{{sep|;}}} |grpsep={{{grpsep|/\}}} |showamount={{{showamount|no}}} }}</pre> |
+ | |||
==Examples== | ==Examples== | ||
− | #{{t|PropVals|prop<nowiki>=</nowiki>RequiresObj|page<nowiki>=</nowiki> | + | #{{t|PropVals|prop<nowiki>=</nowiki>RequiresObj|page<nowiki>=</nowiki>Help:Infobox/testdata|showamount<nowiki>=</nowiki>y}} gives:<br/>{{PropVals|prop=RequiresObj|page=Help:Infobox/testdata|showamount=y}} |
+ | #{{t|PropVals|prop<nowiki>=</nowiki>RequiresObj|page<nowiki>=</nowiki>Help:Infobox/testdata|showamount<nowiki>=</nowiki>y|debug<nowiki>=</nowiki>y}} gives:<br/>{{PropVals|prop=RequiresObj|page=Help:Infobox/testdata|showamount=y|debug=y}} | ||
+ | |||
+ | ==Sub-templates== | ||
+ | *Test data used in examples: [[Help:Infobox/testdata|PropVals testdata]] | ||
+ | *{{t|PropVals/Group}} | ||
+ | *{{t|PropVals/Group/NextPart}} | ||
+ | *{{t|PropVals/Group/heading}} | ||
+ | *{{t|PropVals/List}} | ||
+ | *{{t|PropVals/Print Entry}} | ||
+ | *{{t|PropVals/Split}} | ||
+ | *{{t|PropVals/getGroupedRecords}} | ||
+ | *{{t|PropVals/getRecords}} | ||
+ | *{{t|PropVals/getIcon}} | ||
<includeonly>[[Category:Templates|{{PAGENAME}}]]<!-- Any categories for the template itself --> | <includeonly>[[Category:Templates|{{PAGENAME}}]]<!-- Any categories for the template itself --> | ||
[[Category:Templates/©TriMoon™|{{SUBPAGENAME}}]] | [[Category:Templates/©TriMoon™|{{SUBPAGENAME}}]] | ||
</includeonly><noinclude>[[Category:Template documentation|{{PAGENAME}}]]</noinclude> | </includeonly><noinclude>[[Category:Template documentation|{{PAGENAME}}]]</noinclude> |
Latest revision as of 18:14, 25 July 2012
Description
- This is the main-entry-point of a complex template-class
- It is used to automatically list all the values of a property of a page as an un-ordered list.
- This generated-output will be used in {{Infobox}} to automatically show relevant info.
- See these pages for documentation on functions used:
- Other pages with relevant info are:
Functional logic
- {{PropVals}} is used as a wrapper to inject extra arguments into {{PropVals/List}}, using the output of {{PropVals/getGroupedRecords}}.
- {{PropVals/List}} is used as a wrapper to inject extra arguments into {{PropVals/Print Entry}}, to output each entry of a grouped-record under a common group-heading when appropriate, as list-items
<li>...</li>
.- {{PropVals/Print Entry}} is used to display each entry in a visually appealing way, by outputting an icon-image followed by a link to the page of the object followed by the amount when requested.
- It uses {{PropVals/Split}} to extract the name- and amount-fields from the entry.
- {{PropVals/Print Entry}} is used to display each entry in a visually appealing way, by outputting an icon-image followed by a link to the page of the object followed by the amount when requested.
- {{PropVals/getGroupedRecords}} is used as a wrapper to inject extra arguments into {{PropVals/Group}}, using the output of {{PropVals/getRecords}} as input, to output grouped-records, for further processing by {{PropVals}}.
- {{PropVals/Group}} is used as a wrapper to inject extra arguments into {{PropVals/Group/NextPart}}, using records as input, to output grouped-records.
- {{PropVals/Group/NextPart}} is used as a helper-template, to output a grouped-record that starts with the group-heading followed by entries.
- An entry is a record with its heading-field removed, that has the same heading-field as the previous record.
- It uses {{PropVals/Group/heading}} and {{PropVals/Split}} to separate the fields in the record.
- The structure of a record is:
Objectname{{{sep}}}Amount{{{sep}}}Groupheading
- {{PropVals/Group/NextPart}} is used as a helper-template, to output a grouped-record that starts with the group-heading followed by entries.
- {{PropVals/getRecords}} is used to retrieve all the values of a property of a page, and output them as records for further processing by {{PropVals/getGroupedRecords}}.
- {{PropVals/Group}} is used as a wrapper to inject extra arguments into {{PropVals/Group/NextPart}}, using records as input, to output grouped-records.
- {{PropVals/List}} is used as a wrapper to inject extra arguments into {{PropVals/Print Entry}}, to output each entry of a grouped-record under a common group-heading when appropriate, as list-items
Syntax
- Type the below code somewhere inside {{Infobox}} or a page:
{{PropVals |prop=RequiresObj |page={{FULLPAGENAME}} |sep={{{sep|;}}} |grpsep={{{grpsep|/\}}} |showamount={{{showamount|no}}} }}
Examples
- {{PropVals|prop=RequiresObj|page=Help:Infobox/testdata|showamount=y}} gives:
- {{PropVals|prop=RequiresObj|page=Help:Infobox/testdata|showamount=y|debug=y}} gives:
Sub-templates
- Test data used in examples: PropVals testdata
- {{PropVals/Group}}
- {{PropVals/Group/NextPart}}
- {{PropVals/Group/heading}}
- {{PropVals/List}}
- {{PropVals/Print Entry}}
- {{PropVals/Split}}
- {{PropVals/getGroupedRecords}}
- {{PropVals/getRecords}}
- {{PropVals/getIcon}}