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, 'MMMM 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
/MM/yyyy') }}Nisan 2021tr-TR{{ format(MyDate) }}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.

Code Block
{{ mask(DisplayName) }}					-> J*****D
{{ mask(CreditCard,4,4,'','-') }}		-> 1234-****-****-3456

Format Function Options

Data TypeFormat OptionDescriptionSample DataOutput
Numbern0Print number as integer without any decimal12.34512
Numbern1Print number as decimal with 1 number after dot12.34512.3
StringhtmlPrint string as encoded html text<script>alert('hello')</script><div>hello</div>"<script>alert('hello')</script><div>hello</div>"
String
Print value as safe html with discarding dangerous tags<script>alert('hello')</script><div>hello</div><div>hello</div>
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

Conditional Formatting

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

...