mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-11 16:34:57 +03:00
feat(form-compile): свойство collapsed для сворачиваемых групп
Добавлен ключ collapsed (для group=collapsible) → <Collapsed>true</Collapsed>: группа создаётся уже свёрнутой. Раньше DSL умел только включать сворачиваемое поведение, но начальное состояние задать было нельзя. Также уточнено описание united: оно про выравнивание левого края полей ввода (сквозное/локальное), а не про объединение рамок группы. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -183,7 +183,8 @@ powershell.exe -NoProfile -File .claude/skills/form-compile/scripts/form-compile
|
||||
| Ключ | Описание |
|
||||
|------|----------|
|
||||
| `showTitle: true` | Показывать заголовок группы |
|
||||
| `united: false` | Не объединять рамку |
|
||||
| `united: false` | Левый край полей ввода выравнивается только в пределах этой группы (по умолчанию `true` — сквозное выравнивание по самому длинному заголовку, в т.ч. с соседними группами) |
|
||||
| `collapsed: true` | Только для `"group": "collapsible"` — группа создаётся свёрнутой |
|
||||
| `representation` | `"none"`, `"normal"`, `"weak"`, `"strong"` |
|
||||
| `children: [...]` | Вложенные элементы |
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# form-compile v1.18 — Compile 1C managed form from JSON or object metadata
|
||||
# form-compile v1.19 — Compile 1C managed form from JSON or object metadata
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
param(
|
||||
[string]$JsonPath,
|
||||
@@ -1911,7 +1911,7 @@ function Emit-Element {
|
||||
# label/hyperlink
|
||||
"hyperlink"=1
|
||||
# group-specific
|
||||
"showTitle"=1;"united"=1
|
||||
"showTitle"=1;"united"=1;"collapsed"=1
|
||||
# hierarchy
|
||||
"children"=1;"columns"=1
|
||||
# table-specific
|
||||
@@ -2022,6 +2022,7 @@ function Emit-Group {
|
||||
if ($groupVal -eq "collapsible") {
|
||||
X "$inner<Group>Vertical</Group>"
|
||||
X "$inner<Behavior>Collapsible</Behavior>"
|
||||
if ($el.collapsed -eq $true) { X "$inner<Collapsed>true</Collapsed>" }
|
||||
}
|
||||
|
||||
# Representation
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# form-compile v1.18 — Compile 1C managed form from JSON or object metadata
|
||||
# form-compile v1.19 — Compile 1C managed form from JSON or object metadata
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
import argparse
|
||||
import copy
|
||||
@@ -1350,7 +1350,7 @@ KNOWN_KEYS = {
|
||||
"multiLine", "passwordMode", "choiceButton", "clearButton",
|
||||
"spinButton", "dropListButton", "markIncomplete", "skipOnInput", "inputHint",
|
||||
"hyperlink",
|
||||
"showTitle", "united",
|
||||
"showTitle", "united", "collapsed",
|
||||
"children", "columns",
|
||||
"changeRowSet", "changeRowOrder", "header", "footer",
|
||||
"commandBarLocation", "searchStringLocation",
|
||||
@@ -1833,6 +1833,8 @@ def emit_group(lines, el, name, eid, indent):
|
||||
if group_val == 'collapsible':
|
||||
lines.append(f'{inner}<Group>Vertical</Group>')
|
||||
lines.append(f'{inner}<Behavior>Collapsible</Behavior>')
|
||||
if el.get('collapsed') is True:
|
||||
lines.append(f'{inner}<Collapsed>true</Collapsed>')
|
||||
|
||||
# Representation
|
||||
if el.get('representation'):
|
||||
|
||||
Reference in New Issue
Block a user