Змінні у JS-вставках

🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію.

Часто при моделюванні форм необхідно зробити специфічне налаштування поведінки компонентів. Для цього у деяких параметрів є підтримка написання власного JS-коду. Це такі параметри як:

  • Calculated Value

  • Custom Default Value

  • Custom Validation

  • Advanced Conditions

У цих параметрах можна писати звичайний JS код який буде виконуватись у браузері користувача. Зазвичай у контексті виконання цього коду доступний певний набір змінних. Для кожного параметра він свій, але більшість спільні.

1. Корисні поради для розробки

1.1. Debug

Часто доречним є використання функції console.log у JS вставках для того, щоб перевірити виконання скрипту та знайти можливу помилку. При кожному виклику ця функція буде виводити значення своїх аргументів у консоль браузера.

Приклад:

eval debug settings

При послідовному вводі у поле Text Field символів 1, 2, 3, 4 маємо:

eval debug result

Спосіб відкриття DevTools залежить від вашего браузера. Наприклад у Chrome можливо використати комбінації Ctrl + Shift + I

2. Доступні змінні

2.1. data

Об’єкт з поточними даними форми. Саме його буде відправлено на BE API при завершенні задачі.

2.2. instance

Поточний компонент. У цьому об’єкті доступно багато методів та властивостей які відрізняються від компонента до компонента. Докладніше про спецефічні властивості можна прочитати на сторінках окремих компонентів.

2.3. input, value

Значення цього компонента. У певних параметрах для використання доступен input, у інших value.

2.4. row

Ця змінна доступна тільки якщо поточний компонент знаходиться у компоненті Edit Grid. Це посилання на конкретний елемент таблиці - той що зараз підлягає редагуванню.

2.6. currentUser

Об’єкт який містить інформацію про автентифікованого користувача. Цей об’єкт існує для будь якої вставки. Докладніше — за посиланням.

2.7. moment

Бібліотека moment.js для аналізу, перевірки, обробки та форматування дат.