Documentation
AcademyCommunitySign In
  • πŸ‘‹Overview
  • πŸ’™Platform Features
  • Getting started
    • πŸšͺSigning up & Logging in
      • πŸ‘€Profile Settings
    • πŸŽ›οΈApp Management
    • ✴️Templates to Start With
      • Basic Template (Blank app)
      • CRM Template
    • πŸ‘¨β€πŸŽ“Learning Directual
      • πŸ‘¨β€πŸ«Webinars
  • Data base
    • Data Structures
      • System Structures
    • Data Types
      • Markdown Cheat Sheet
      • Indexing Fields
      • Formatting Date/Time
    • Directual Query Language (DQL)
    • Import and Export
      • Import API
    • File Storage
      • API for File Storage
  • API and integraions
    • API-Endpoints
      • Advanced techniques for GET and POST requesting
        • Paging for GET-requests
        • Dynamic sorting for GET-requests
        • Custom filtering parameters for GET-requests
        • Advanced filtering for GET-requests
        • Formatting response for GET-request
        • Fields validation for POST-requests
        • Synchronic scenarios for POST-requests
        • Cross-Origin Resource Sharing CORS
      • API testing and debugging
      • Coding mode (raw mode) in filters
      • Swagger specification
    • Webhooks
    • Authentication API
      • Login/password
      • OpenID connect
      • Facebook oAuth
      • Google oAuth
    • Security Features
    • Other Integrations
      • OpenAI
      • Integration Hubs
        • Zapier
      • Telegram
        • Telegram: Advanced Techniques
      • Email
        • SMTP
        • Gmail
      • Twilio SMS
      • Airtable
      • Coupler.io
      • Other No-Code Tools
        • Bubble.io
          • Authorization
          • Displaying Data from Directual on Bubble
        • Adalo
        • UI bakery
        • Tilda
        • AppGyver
  • App interface
    • Web-App Builder basics
    • Web-App Settings
      • General web-app settings
      • Main menu
      • Creating a logotype
      • Web-App color scheme
      • Web-app typography
      • White Labeling
      • Web-App Icon
      • Custom Domain
      • Custom code
    • Setting Up Page Layout
      • Subpages and URL Parameters
    • Components
      • Multistep Form
      • Cards
      • Table
      • Kanban
      • Chart
      • Markdown text
      • HTML code
      • Hint
      • Link Button
      • Video
      • Form (outdated)
    • Embedding Pages
  • Scenarios
    • Understanding Directual Scenarios
      • Directual Event Model
    • Event-Based Triggers
    • Scheduled Triggers
      • Cron Format
    • Synchronous Scenarios
    • Editing Scenarios
      • System Steps
        • Start step
        • Delay step
        • Comment step
        • Catch error step
        • Link scenario step
        • Exit step
      • Action steps
        • Edit object step
        • Create object step
        • Search objects step
        • JSON step
        • Delete object step
        • Run report step
        • Generate document step
        • JS SDK step
      • Condition steps
        • Condition step
        • A/B test step
        • JS SDK condition step
      • Integration steps
        • HTTP-request step
        • Zapier step
        • Telegram step
        • API response
        • Email step
        • SQL-request step
        • Queue step
    • Using Variables
      • Global Variables
      • Context Variables (scenario parameters)
    • Testing and Debugging
    • System Scenarios
    • Advanced Scenario Settings
  • Template system
    • Templating Principles
      • Templating Techniques for Scenarios
      • Templating Techniques for Web-pages
    • Coding Mode (evaluating as a JS-expression)
    • Comparison Component
      • Regular Expressions
    • Tips for Dealing with Data
  • Telegram
    • Telegram
  • Plugins
    • πŸ”ŒUsing Plugins
      • Scenario Steps Plugins
      • Web Plugins
      • User Authentication Plugins (Not Web3)
        • TMA (Telegram Mini App)
        • Google OAuth Plugin
        • Facebook OAuth Plugin
        • Open ID Auth Plugin
      • Blockchain (Web3)
        • TON (The Open Network)
        • Polygon
        • Ethereum
        • NEAR Protocol
        • NFT and Smart-Contracts
        • MetaMask Wallet
        • WalletConnect
      • WebSockets (Socket.IO)
    • πŸͺšDeveloping Plugins
      • Developing Scenario Plugins
      • Developing Web-plugins
        • Example: Using Chart.js in Directual
        • Example: Building Simple Form
        • Example: TON plugin
  • Teams
    • Teams
    • Sandbox Apps
  • JavaScript SDK
    • Directual + JavaScript SDK: The Basics
    • Internal $D Methods
    • Using Google Sheets
    • JS SDK: Examples
  • Reports
    • Reports
  • App life cycle management
    • App Versions
  • Directual πŸ’™ React JS
    • Directual + React JS
  • Pricing and billing
    • πŸ’³How Billing Works
    • 🎁Promo Codes
    • Pricing Plans for Apps
    • Team Pricing Plans
    • How we count requests and operations
    • On-Demand Resource Consumption
    • 🀝Affiliate Program
  • Hire a Directual expert
    • πŸ†Certification
    • 🀝Matching with Experts
    • 🏦Escrow service
  • Security and stability
    • πŸ›‘οΈPublic Cloud
    • Platform Architecture
  • Support
    • πŸ“¬Contact Directual
  • Directual step-by-step
    • Public Development Roadmap
      • Step 0: Planning App Architecture
      • Step 1: Requesting Features
      • Step 2: Approving Features
      • Step 3. Upvoting Features
      • Step 4. Watching Features
    • Weather Forecast App
    • Web3 Marketplace on Polygon
    • Transferring NFT
Powered by GitBook
On this page
  • Checking expressions
  • Examples of JavaScript expressions
  • Other resources

Was this helpful?

  1. Template system

Coding Mode (evaluating as a JS-expression)

Include calculations and JavaScript features in your scenarios 🧠

PreviousTemplating Techniques for Web-pagesNextComparison Component

Last updated 11 months ago

Was this helpful?

You have the option to enable or disable JavaScript evaluation in scenario steps (ECMAScript 5.1):

Please note that if you enable this option and make a syntax mistake, the scenario will pause with an exception message.

Checking expressions

You can verify the result of your expression by clicking the "Check the expression" link. You'll need to provide an object ID for validation.

Examples of JavaScript expressions

Expression

πŸ…ΎοΈ JS-interpreter is off

βœ… JS-interpreter is on

{{a}} +1

// {{a}} = 3

3 + 1

4

Math.random()

Math.random()

0.4353

// some random value 0.0–1.0

Today +1 day

Today +1 day

2020-05-04T00:00:00.000Z

// today at 00:00

'{{a}}'.length

// {{a}} == hello world

'hello world'.length

12

'{{a}}'.length

// {{a}} == 1,-12,hello (array type)

'1,12,hello'.length

11

// Note! It evaluates as a string.

Don't forget to enclose '{{fields}}' in quotes if you want them to be processed as strings.

Other resources

Don't mix "Check the expression" feature with .

and expressions

Learn how to

- Get a high-level overview of fundamental JavaScript concepts.

- Learn JavaScript in this free online course with interactive lessons.

step testing
MDN JavaScript Guide
Codecademy Introduction to JavaScript
deal with arrays
Turning On/Off JS evaluation in scenario steps
Checking the expression providing an object with ID=1
similar