Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Data templates transform the data model into text or HTML content. Templates are used in many areas in emakin like form controls or mail templates etc.

...

All text or string types are exactly transformed without any formatting being performed.

On the other hand, if a string node's value is actually a number, it automatically displays thousand separator dots.
To avoid this, pass 'string' as second argument to format function as below:

Code Block
languagexml
titleFormatting as string
{{ format( 'Employee/RegistryNumber', 'string' ) }}

By default template values are not automatically formatted but Label like controls automatically formats the number like values. You can use format string to disable auto formatting.

Examples

...

...

Number formatting

Functions like "Sum" or "Count" already return number values, therefore there is no need for number conversions, but in case it is necessary, number() function should be used. Ex: number(MyNumberField) 

...

{{ format(MyDate 09:00
TemplateOutputsCulture
{{ MyDate }}01/31/2014 16:04:12 +02:00
{{ format(MyDate,'MMM/yyyy/dd') }}Feb.2018.04
{{ format(MyDate,'MMM/yyyy/dd') }}Şub.2018.04tr-TR
{{format(MyDate, 'MMMM yyyy')}}Nisan 2021tr-TR
/MM/yyyy') }}31/01/2014
{{ format(MyDate) }}31.1.2014 09:00tr-TR
{{ format(MyDate,'d') }}31/01/2014
{{ format(MyDate,'D') }}Monday, June 15, 2009en-US
{{ format(MyDate,'o') }}
2014-01-31T09:00:00+02:00

...

Code Block
$Xml.SetValue('Test/testdate', new DateTimeOffset());  // testdate will be saved to an XML as "2015-11-12T15:27:16.2568549+02:00"
$Xml.SetValue('Test/testdate2', $Xml.Format("{{ format(Test/testdate,'yyyy-MM-dd') }}"));  // testdate2 will be saved to an XML as "2015-12-11"

// result : 2015-12-11

Text Masking

Template system also provides an mask function to filter displayed text on screen. This function can used to filter out personal data like name, credit card, identity number etc. More details can be found at mask function reference.

...

Format Function Options

Data TypeFormat OptionDescriptionSample DataOutput
String
Print string as automatically detection<script>alert('hello')</script><div>hello</div><div>hello</div>
String
Print string as automatically detection12.34512.3
String
Print string as automatically detection1212
String
Print string as automatically detection2022-05-07T00:00:00+03:0007.05.2022 00:00
String
Print string as automatically detectionTrue / true✓ (U+2713)
String
Print string as automatically detectionFalse / false✕ (U+2715)
StringhtmlPrint string as encoded html text<script>alert('hello')</script><div>hello</div>"<script>alert('hello')</script><div>hello</div>"
StringsafePrint value as safe html with discarding dangerous tags<script>alert('hello')</script><div>hello</div><div>hello</div>
StringstringPrint string without any encoding applied<script>alert('hello')</script><div>hello</div><script>alert('hello')</script><div>hello</div>
Numbern0Print number as integer without any decimal12.34512
Numbern1Print number as decimal with 1 number after dot12.34512.3
Boolean
Print value as unicode check markTrue / true✓ (U+2713)
Boolean
Print value as unicode check markFalse / false✕ (U+2715)
DateTime
Print date value in user's locale preference2022-05-07T00:00:00+03:0007.05.2022 00:00
DateTimeoPrint date in ISO format2022-05-07T00:00:00+03:002022-05-07T00:00:00+03:00
DateTimemPrint date in dynamic formatted format2022-05-07T00:00:00+03:002 days ago
DateTimedd/MM/yyyyPrint date in specified date format2022-05-07T00:00:00+03:0007/05/2022

Conditional Formatting

If conditional rendering is needed, the format below can be used:

...