refactor(mxl-compile,mxl-decompile): ключ ячейки control → controlType

Тег ячейки <control> и тег формата <controlType> в выгрузке — разные
вещи: первый несёт сериализованные настройки элемента управления, второй
GUID его вида. Ключ DSL описывал второй, а назывался как первый, и при
поддержке настроек отображение стало бы перекрёстным.

Свести их в один ключ нельзя: <controlType> живёт в палитре и разделяется
ячейками с одинаковым оформлением, а настройки принадлежат конкретной
ячейке. Синоним не заводим — он занял бы ровно то имя, которое
освобождается.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-08-15 11:46:50 +03:00
co-authored by Claude Opus 5
parent 7f743b18a9
commit aaeb752cf1
14 changed files with 40 additions and 40 deletions
+7 -7
View File
@@ -152,8 +152,8 @@
| `{ ... }` | Обычная ячейка **без** `col`; нужна для `style`, `detail`, `template` |
Объект-элемент трактуется по его ключам: если среди них есть ключ ячейки (`span`, `rowspan`,
`style`, `param`, `detail`, `text`, `template`) — объект описывает свойства ячейки. Иначе он
целиком считается её текстом, а его ключи — идентификаторами языков.
`style`, `param`, `detail`, `text`, `template`, `valueType`, `controlType`) — объект описывает
свойства ячейки. Иначе он целиком считается её текстом, а его ключи — идентификаторами языков.
```json
"rows": [
@@ -183,7 +183,7 @@
| `text` | нет | — | Статический текст. Строка или объект `{ ru, en }` — см. ниже |
| `template` | нет | — | Шаблонный текст с `[Параметр]`. Строка или объект, как `text` |
| `valueType` | нет | — | Тип значения: ячейка становится полем ввода (см. ниже) |
| `control` | нет | `input` | Элемент управления поля ввода: `input` или `checkbox`. Только вместе с `valueType` |
| `controlType` | нет | `input` | Элемент управления поля ввода: `input` или `checkbox`. Только вместе с `valueType` |
### Содержимое ячейки
@@ -222,7 +222,7 @@
```json
{ "col": 1, "valueType": "Number(15,3,nonneg)" }
{ "col": 2, "valueType": "String(10)" }
{ "col": 3, "valueType": "Boolean", "control": "checkbox" }
{ "col": 3, "valueType": "Boolean", "controlType": "checkbox" }
{ "col": 4, "valueType": "CatalogRef.Валюты" }
{ "col": 5, "valueType": "Boolean + String + Date + CatalogRef.Валюты" }
{ "col": 6, "valueType": "AnyRef" }
@@ -248,9 +248,9 @@
Пустой тип `"valueType": ""` — «ячейка содержит значение», но тип не ограничен.
`control` нужен редко: умолчание платформы — поле ввода, и оно применяется ко всем типам, включая
`Boolean`. Флажок задаётся явно. Значение `"none"` (тега элемента управления нет вовсе) — форма
раундтрипа, для ручного авторинга не нужна.
`controlType` нужен редко: умолчание платформы — поле ввода, и оно применяется ко всем типам,
включая `Boolean`. Флажок задаётся явно. Значение `"none"` (тега элемента управления нет вовсе) —
форма раундтрипа, для ручного авторинга не нужна.
## `rowStyle` — оформление строки