8.7 KiB
Продвинутая раскладка
Тонкая настройка размещения элемента внутри родителя сверх базовой геометрии (width/height/horizontalStretch/verticalStretch/visible/enabled и ориентации групп/страниц — они в основной инструкции). Все ключи ниже задаются прямо на элементе и необязательны — без них действует поведение платформы по умолчанию.
Выравнивание внутри родителя
Различают выравнивание самого элемента в отведённой ему ячейке и выравнивание содержимого элемента.
| Ключ | Значения | Что выравнивает |
|---|---|---|
groupHorizontalAlign |
Left / Center / Right |
Положение элемента по горизонтали в родительской группе (когда элемент у́же доступного места) |
groupVerticalAlign |
Top / Center / Bottom |
Положение элемента по вертикали в родительской группе |
horizontalAlign |
Left / Center / Right |
Выравнивание содержимого (текста/значения) внутри самого элемента |
verticalAlign |
Top / Center / Bottom |
Выравнивание содержимого по вертикали внутри элемента |
group*Align отвечает на вопрос «куда сдвинуть нерастянутый элемент в его ячейке», horizontalAlign/verticalAlign — «как разместить текст внутри элемента». Это разные оси настройки, их часто комбинируют.
{ "button": "ОК", "groupHorizontalAlign": "Right" }
{ "input": "Сумма", "path": "Объект.Сумма", "horizontalAlign": "Right" }
{ "label": "Итого", "groupHorizontalAlign": "Center", "horizontalAlign": "Center" }
Ограничение максимального размера
По умолчанию растягивающийся элемент имеет авто-вычисляемый предел ширины/высоты. Чтобы задать жёсткий предел или вовсе снять авто-предел:
| Ключ | Значения | Назначение |
|---|---|---|
maxWidth |
число | Жёсткий максимум ширины элемента |
maxHeight |
число | Жёсткий максимум высоты элемента |
autoMaxWidth |
false |
Отключить авто-предел ширины (элемент тянется без ограничения сверху) |
autoMaxHeight |
false |
Отключить авто-предел высоты |
autoMaxWidth: false нужен, например, для широкого многострочного поля или растянутого по всей форме поля ввода, чтобы платформа не «прижимала» его к авто-пределу. Указывают именно отклонение от дефолта; обычное значение true писать не нужно.
{ "input": "Комментарий", "path": "Объект.Комментарий", "multiLine": true,
"horizontalStretch": true, "autoMaxWidth": false }
{ "input": "Поиск", "path": "СтрокаПоиска", "horizontalStretch": true, "maxWidth": 600 }
Поведение при вводе и активации
| Ключ | Значения | Назначение |
|---|---|---|
skipOnInput |
true / false |
Пропускать элемент при обходе по Enter/Tab (фокус через него не проходит). Указывают явно, в т.ч. false чтобы вернуть в обход поле, которое платформа пропустила бы |
defaultItem |
true |
Элемент получает фокус по умолчанию при открытии формы (поле/таблица для немедленного ввода) |
{ "input": "Идентификатор", "path": "Объект.Идентификатор", "skipOnInput": true }
{ "input": "Штрихкод", "path": "Штрихкод", "defaultItem": true }
skipOnInput: true — для служебных/расчётных полей, которые видны, но не редактируются вводом с клавиатуры в общем потоке. defaultItem: true ставят на одном элементе формы — точке, с которой пользователь начнёт работу.
Перетаскивание
| Ключ | Значения | Назначение |
|---|---|---|
enableStartDrag |
true |
Разрешить начинать перетаскивание из элемента (источник drag-n-drop) |
Для таблиц приём/перемещение строк управляется ключами таблицы (enableDrag, changeRowOrder) — см. основную инструкцию; enableStartDrag — общий низкоуровневый флаг «этот элемент может быть источником перетаскивания».
Закрепление колонки в таблице (fixingInTable)
Свойство поля-колонки внутри таблицы: закрепить колонку у края, чтобы она не уходила при горизонтальной прокрутке.
| Значения |
|---|
None (по умолчанию — не закреплена) / Left / Right |
{ "table": "Товары", "path": "Объект.Товары", "columns": [
{ "input": "Номенклатура", "path": "Объект.Товары.Номенклатура", "fixingInTable": "Left" },
{ "input": "Количество", "path": "Объект.Товары.Количество" },
{ "input": "Сумма", "path": "Объект.Товары.Сумма", "fixingInTable": "Right" } ] }
Закрепляют ключевые колонки (идентифицирующую слева, итоговую справа), чтобы они оставались видны при прокрутке широкой таблицы.
Ячейки колонок: шапка и подвал
Для поля-колонки внутри таблицы (и columnGroup) — размещение в шапке/подвале и выравнивание текста ячеек. Применять только к элементам внутри columns таблицы.
| Ключ | Значения | Назначение |
|---|---|---|
showInHeader |
true / false |
Показывать колонку в шапке таблицы |
showInFooter |
true / false |
Показывать колонку в подвале (нужно для итогов; подвал самой таблицы включается footer: true) |
headerHorizontalAlign |
Left / Right / Center / Auto |
Выравнивание текста в шапке колонки |
footerHorizontalAlign |
Left / Right / Center |
Выравнивание текста в подвале колонки |
autoCellHeight |
true / false |
Авто-высота ячейки (перенос содержимого на несколько строк) |
{ "table": "Товары", "path": "Объект.Товары", "footer": true, "columns": [
{ "input": "Номенклатура", "path": "Объект.Товары.Номенклатура", "autoCellHeight": true },
{ "input": "Сумма", "path": "Объект.Товары.Сумма",
"headerHorizontalAlign": "Right", "showInFooter": true, "footerHorizontalAlign": "Right" } ] }
Адаптивная важность (displayImportance)
| Значения |
|---|
VeryHigh / High / Usual / VeryLow / Low |
Приоритет элемента при адаптивной перекомпоновке формы на узких/мобильных экранах: элементы с меньшей важностью сворачиваются/прячутся первыми. Применимо к любому элементу.
{ "input": "Комментарий", "path": "Объект.Комментарий", "displayImportance": "Low" }