From ebf92a87808044d65e9dfa6bfd2532268c9d0716 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sun, 3 May 2026 20:07:18 +0300 Subject: [PATCH] =?UTF-8?q?feat(form-compile):=20=D1=81=D0=B2=D0=BE=D0=B9?= =?UTF-8?q?=D1=81=D1=82=D0=B2=D0=BE=20collapsed=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D1=81=D0=B2=D0=BE=D1=80=D0=B0=D1=87=D0=B8=D0=B2=D0=B0=D0=B5?= =?UTF-8?q?=D0=BC=D1=8B=D1=85=20=D0=B3=D1=80=D1=83=D0=BF=D0=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавлен ключ collapsed (для group=collapsible) → true: группа создаётся уже свёрнутой. Раньше DSL умел только включать сворачиваемое поведение, но начальное состояние задать было нельзя. Также уточнено описание united: оно про выравнивание левого края полей ввода (сквозное/локальное), а не про объединение рамок группы. Co-Authored-By: Claude Opus 4.7 (1M context) --- .claude/skills/form-compile/SKILL.md | 3 ++- .claude/skills/form-compile/scripts/form-compile.ps1 | 5 +++-- .claude/skills/form-compile/scripts/form-compile.py | 6 ++++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.claude/skills/form-compile/SKILL.md b/.claude/skills/form-compile/SKILL.md index 8ed65552..6e0f8ffc 100644 --- a/.claude/skills/form-compile/SKILL.md +++ b/.claude/skills/form-compile/SKILL.md @@ -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: [...]` | Вложенные элементы | diff --git a/.claude/skills/form-compile/scripts/form-compile.ps1 b/.claude/skills/form-compile/scripts/form-compile.ps1 index e745f072..8a3cd3f9 100644 --- a/.claude/skills/form-compile/scripts/form-compile.ps1 +++ b/.claude/skills/form-compile/scripts/form-compile.ps1 @@ -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 "$innerVertical" X "$innerCollapsible" + if ($el.collapsed -eq $true) { X "$innertrue" } } # Representation diff --git a/.claude/skills/form-compile/scripts/form-compile.py b/.claude/skills/form-compile/scripts/form-compile.py index e94c5da4..a0afda00 100644 --- a/.claude/skills/form-compile/scripts/form-compile.py +++ b/.claude/skills/form-compile/scripts/form-compile.py @@ -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}Vertical') lines.append(f'{inner}Collapsible') + if el.get('collapsed') is True: + lines.append(f'{inner}true') # Representation if el.get('representation'):