Difference between revisions of "Inline Expressions"

From MSX - Wiki
Jump to navigation Jump to search
Line 5: Line 5:
 
! Expression !! Example !! Since Version !! class="unsortable" | Description  
 
! Expression !! Example !! Since Version !! class="unsortable" | Description  
 
|-
 
|-
| <code>_</code> || <code>_</code> | data-sort-value=0|0.1.0 ||  
+
| <code>{sp}</code> || <code>{sp}</code> || data-sort-value=0|0.1.0 ||  
 
Non-breakable space.
 
Non-breakable space.
 
|-
 
|-
| <code>_</code> || <code>_</code> | data-sort-value=0|0.1.0 ||  
+
| <code>{tb}</code> || <code>{tb}</code> || data-sort-value=0|0.1.0 ||  
Non-breakable space.
+
Non-breakable tab.
 +
|-
 +
| <code>{br}</code> || <code>{br}</code> || data-sort-value=0|0.1.0 ||
 +
Line break.
 +
|-
 +
| <code>{ico:{ICON}}</code> || <code>{ico:home}</code> || data-sort-value=0|0.1.0 ||
 +
Icon. The <code>{ICON}</code> part must be replaced with the icon name. Please see [[Icons]] for possible values.
 +
|-
 +
| <code>{ico:{COLOR}:{ICON}}</code> || <code>{ico:msx-red:home}</code> || data-sort-value=0|0.1.0 ||
 +
Colored icon. The <code>{COLOR}</code> part must be replaced with the color value and the <code>{ICON}</code> part must be replaced with the icon name. Please see [[Colors]] and [[Icons]] for possible values.
 +
|-
 +
| <code>{txt:{COLOR}:{TEXT}}</code> || <code>{txt:msx-red:Hello there!}</code> || data-sort-value=0|0.1.0 ||
 +
Colored text. The <code>{COLOR}</code> part must be replaced with the color value and the <code>{TEXT}</code> part must be replaced with any text. Please see [[Colors]] for possible color values.
 +
|-
 +
| <code>{context:{PROPERTY}}</code> || <code>{context:label}</code> || data-sort-value=0|0.1.0 ||
 +
This is a very special inline expression and can only be used inside the <code>data</code> property of a template object. It is used to reference properties of a templated item. The <code>{PROPERTY}</code> part must be replaced with any property that is available in the templated item (e.g. if the item has a property <code>"customProperty": "customValue"</code>, it can be referenced with <code>"{context:customProperty}"</code> → <code>"customValue"</code>). The referenced property must exist, otherwise the expression can not be replaced and will remain as it is (e.g. <code>"{context:missingProperty}"</code> → <code>"{context:missingProperty}"</code>). Additionally, the value of the referenced property must be indicated as string, otherwise the expression is removed (e.g. <code>"{context:invalidProperty}"</code> → <code>""</code>).
 +
 
 +
'''Note: Since version 0.1.110, also the <code>properties</code>, <code>live</code>, <code>selection</code>, and <code>options</code> property of a template object supports this inline expression.'''
 +
|-
 +
| <code>{unknown}</code> || <code>{unknown}</code> || data-sort-value=0|0.1.0 ||
 +
Any unknown expression is returned as it is without the braces (e.g. <code>"{unknown}"</code> → <code>"unknown"</code>).
 
|}
 
|}

Revision as of 15:53, 8 January 2021

Most of the text properties support inline expressions for adding icons or coloring text parts. Each expression starts with character { and ends with character }. Nested expressions are not supported.

Expression Example Since Version Description
{sp} {sp} 0.1.0

Non-breakable space.

{tb} {tb} 0.1.0

Non-breakable tab.

{br} {br} 0.1.0

Line break.

{ico:{ICON}} {ico:home} 0.1.0

Icon. The {ICON} part must be replaced with the icon name. Please see Icons for possible values.

{ico:{COLOR}:{ICON}} {ico:msx-red:home} 0.1.0

Colored icon. The {COLOR} part must be replaced with the color value and the {ICON} part must be replaced with the icon name. Please see Colors and Icons for possible values.

{txt:{COLOR}:{TEXT}} {txt:msx-red:Hello there!} 0.1.0

Colored text. The {COLOR} part must be replaced with the color value and the {TEXT} part must be replaced with any text. Please see Colors for possible color values.

{context:{PROPERTY}} {context:label} 0.1.0

This is a very special inline expression and can only be used inside the data property of a template object. It is used to reference properties of a templated item. The {PROPERTY} part must be replaced with any property that is available in the templated item (e.g. if the item has a property "customProperty": "customValue", it can be referenced with "{context:customProperty}""customValue"). The referenced property must exist, otherwise the expression can not be replaced and will remain as it is (e.g. "{context:missingProperty}""{context:missingProperty}"). Additionally, the value of the referenced property must be indicated as string, otherwise the expression is removed (e.g. "{context:invalidProperty}""").

Note: Since version 0.1.110, also the properties, live, selection, and options property of a template object supports this inline expression.

{unknown} {unknown} 0.1.0

Any unknown expression is returned as it is without the braces (e.g. "{unknown}""unknown").