AML-разметка

Assistant Markup Language (AML) — это язык разметки на базе JSON. С его помощью вы можете создать визуальный интерфейс прямо в коде сценария для Canvas App. Подробнее про использование AML в сценариях читайте в разделе Создание дизайна в коде.

Формат параметров

Основные параметры

НаименованиеТипОписание
typestringТип команды. Единственное возможное значение — aml_render_page
payloadobjectОбъект, содержащий content
payload.contentarray | objectМассив или объект в разметке AML, описывающий визуальный интерфейс смартапа. Содержимое content автоматически оборачивается в компонент Container

Формат объекта content

НаименованиеТипОписание
componentstringНазвание компонента. Соответствует названиям компонентов в Plasma
propsobjectСвойства компонента. Поддерживаются все свойства компонентов Plasma, а также параметры разметки AML: id и amlHandleEvents, которые используются для обработки действий пользователя.

Чтобы создать поле ввода, используйте параметр defaultValue вместо value
props.idstringИдентификатор компонента
props.amlHandleEventsstring[] | array<[string, any]>Список названий обработчиков событий, на которые должен реагировать интерфейс. Названия обработчиков соответствуют названиям в Plasma.

Для передачи в сценарий дополнительных данных о действиях пользователя укажите массив кортежей вида ["имя обработчика", <дополнительные данные>]
childrenarray | 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": ""
}
}
]
}
}