Difference between revisions of "Inline Expressions"

From MSX - Wiki
Jump to navigation Jump to search
 
(6 intermediate revisions by the same user not shown)
Line 31: Line 31:
 
|-
 
|-
 
| <code>{context:{PROPERTY}}</code> || <code>{context:label}</code> || data-sort-value=0|0.1.0 ||  
 
| <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>).
+
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 (either in the templated item or in the template object), 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: Please note that the referenced property must not contain double quotes <code>"\""</code> or line breaks <code>"\n"</code>, but the equivalent inline expressions <code>{chr:quot}</code> and <code>{br}</code>. 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.'''
+
'''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 ||  
 
| <code>{unknown}</code> || <code>{unknown}</code> || data-sort-value=0|0.1.0 ||  

Latest revision as of 13:07, 25 May 2022

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 syntax
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.

{chr:{CHARACTER}} {chr:copy}
{chr:#169}
0.1.145

Character entity. The {CHARACTER} part must be replaced with an HTML character entity name or number without the leading & and trailing ; character (e.g. "{chr:copy}""&copy;" → "©").

{chr:{COLOR}:{CHARACTER}} {chr:msx-red:copy}
{chr:msx-red:#169}
0.1.145

Colored character entity. The {COLOR} part must be replaced with the color value and the {CHARACTER} part must be replaced with an HTML character entity name or number without the leading & and trailing ; character (e.g. "{chr:msx-red:copy}""&copy;" → "©"). 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 (either in the templated item or in the template object), 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").

Related Live API[edit]

Related Hidden Features[edit]