EzeScan WebApps

Placeholders

Fields

{{fields["field_id_here"]}}

Current User

{{user["email"]}}

{{user["username"]}}

Date/Time

{{date}}

{{time}}

Methods

Name

Usage Syntax

Input

Result

Format

format("%{0}%")

Cat

%Cat%

Split

split("|",2)

Cat|Dog

Dog

ToLower

toLower()

Cat

cat

ToUpper

toUpper()

Cat

CAT

TrimWhiteSpace

trim()

       Cat      

Cat

AsFinanaicalYear

asFinancialYear("dd/MM") - Where dd/MM is the day/month that the financial year starts on. eg Australia would be 01/07

01/04/2018

2017-2018

AsFinanaicalYear

asFinancialYear("dd/MM", "dd/MM/yyyy")

Where dd/MM is the day/month that the financial year starts on. eg Australia would be 01/07

Where dd/MM/yyyy is the date formatting of the input date (defaults to the culture of the IIS server). eg Australia would be "dd/MM/yyyy". USA would be "MM/dd/yyyy"

01/04/2018

2017-2018

Exists

exists()

Value

true

Starts With

startsWith("Fri")

Friday

true

Ends With

endsWith("ay")

Saturday

true

Contains

contains("ver")

Conversion

true

Matches (regex)

matches("[0-9]2")

abc123IAM

true

Date field output conversion

Convert the date output format to YYYYMMDD

{{fields["date_field"] | asDate() | format("{0:yyyyMMdd}")}}

12/02/2021

20210221

{fields["field_id_here"]|method1|method2}}

Note: Methods can be chained together and are run sequentially.

Example usage syntax:

{{fields["field_id_here"]|split(",",2)}}

This would get the value of the field with id "field_id_here", split on the comma and then return the 2nd value.

{{fields["field_id_here"]|split("|",2)|trim()}}

This would get the value of the field with id "field_id_here", split on the pipe and then return the 2nd value.

Then it would trim all leading and trailing white space.

{{fields["financial_date_id"]|asFinancialYear("01/07")}}

This would get the value of the field with id ""field_id_here", and convert it to a human readable financial year.

{{fields["field_id_here"]|exists()|condition("yes", "no")}}

This would get the value of the field with id "field_id_here".

Then if it has a value it would return the text "yes" otherwise it would return "no".

{{fields["field_id_here"]|contains("ver")|condition("TrueValue", "FalseValue")}}

This would get the value of the field with id "field_id_here".

Then if it's value contains "ver" it returns "TrueValue" otherwise it would return "FalseValue".

Complex Methods

C#
{{fields["workflow"] | exists() | condition(format("{0} || uA1 || new workflow", fields["workflow"]), "")}}


Reading left to right;

  • Start with fields["workflow"] as our input

  • | delimits operations in the filter chain, and is very similar to bash shells and how they pipe outputs

    • When a pipe exists, everything on the left side is evaluated, and passed into the right side as input

    • They respect parentheses, and will be ignored if nested in quotes

  • exists() will see whether the input value (fields["workflow"]) is empty, null, or whitespace, and return true/false

  • condition(trueOutput, falseOutput) will take a boolean input, and return either its trueOutput or falseOutput

    • Think of it as an if statement

    • When true the first argument is evaluated,​​​​​​​

      • format(text, values[]) leverages the standard .net string format, and can use placeholders matched to the input indices, starting from 0

    • When false then the second argument is evaluated, which is an empty string ("")