AML-разметка
Assistant Markup Language (AML) — это язык разметки на базе JSON. С его помощью вы можете создать визуальный интерфейс прямо в коде сценария для Canvas App. Подробнее про использование AML в сценариях читайте в разделе Создание дизайна в коде.
#
Формат параметров#
Основные параметрыНаименование | Тип | Описание |
---|---|---|
type | string | Тип команды. Единственное возможное значение — aml_render_page |
payload | object | Объект, содержащий content |
payload.content | array | object | Массив или объект в разметке AML, описывающий визуальный интерфейс смартапа. Содержимое content автоматически оборачивается в компонент Container |
content
#
Формат объекта Наименование | Тип | Описание |
---|---|---|
component | string | Название компонента. Соответствует названиям компонентов в Plasma |
props | object | Свойства компонента. Поддерживаются все свойства компонентов Plasma, а также параметры разметки AML: id и amlHandleEvents , которые используются для обработки действий пользователя.Чтобы создать поле ввода, используйте параметр defaultValue вместо value |
props.id | string | Идентификатор компонента |
props.amlHandleEvents | string[] | array<[string, any]> | Список названий обработчиков событий, на которые должен реагировать интерфейс. Названия обработчиков соответствуют названиям в Plasma. Для передачи в сценарий дополнительных данных о действиях пользователя укажите массив кортежей вида ["имя обработчика", <дополнительные данные>] |
children | array | object | string | Вложенные компоненты. Используются в сложных компонентах Plasma, например в Grid |
#
Пример параметровПример параметров для создания кнопки и поля для ввода, которое реагирует на ввод текста:
{ "type": "aml_render_page", "payload": { "content": [ { "component": "Headline1", "children": "Пример" }, { "component": "Button", "props": { "text": "Моя кнопка" } }, { "component": "TextField", "props": { "id": "myInputId", "amlHandleEvents": ["onChange"], "placeholder": "Моё поле ввода", "defaultValue": "" } } ] }}