listFormat: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
m (Conversion script moved page listFormat to ListFormat without leaving a redirect: Converting page title to first-letter uppercase)
m (Conversion script moved page ListFormat to listFormat: Converting page titles to lowercase)
(No difference)

Revision as of 23:03, 9 February 2023

listFormat() Function

Returns a custom-formatted version of the list.

Usage

[ listFormat(list, listFormat, itemFormat, separator) ]
[ listFormat(list, listFormat, itemFormat, separator, delim) ]
  • listFormat is a string that is emitted once. It should contain the text "%list", which is replaced with the formatted items.
  • itemFormat is emitted once per item. Each instance of "%item" in the string is replaced with the value of the list item.
  • separator is emitted in between the formatted items.

Example

[ listFormat("apple,bear,cat", "BEGIN LIST<br>%list<br>END LIST", "This item is: %item", "<br>") ]

(prints items on separate lines)

Convert a string list to html list:
[R: listFormat( "apple, bear, cat", "<ul>%list</ul>", "<li>%item</li>", "" ) ]
Produces:
  • apple
  • bear
  • cat


Create an option list input (drop-down list selection) for an html form, with the names of selected tokens:

[R: listFormat( getSelectedNames( "%%" ), 
    "<select name='test'>%list</select>", 
    "<option value='%item'>%item</option>", 
    "",  
    "%%" ) 
]
The first argument is the list, returned by getSelectedNames(): it has a delimiter specified ("%%"), to avoid PC names with commas or anything other than "%%" from appearing as more than one item. The second argument specifies html (text) to go around the entire formatted list, and the third is html to wrap around each item in the list. The fourth argument is blank (empty), since no separator between items is needed in this case. The fifth argument is usually optional, but in this case is the same delimiter specified in getSelectedNames(), to allow listFormat to find each item in the list.