mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-15 02:14:57 +03:00
feat(form-decompile,form-compile): collapsedTitle — заголовок свёрнутой группы
Ключ collapsedTitle у группы → <CollapsedRepresentationTitle> (мультиязычный текст, как title/inputHint). Заголовок свёрнутого представления у collapsible/ popup групп. 172 файла в корпусе, не обрабатывался. Зеркало py (байт-в-байт). Кейс groups сертифицирован в 1С. Регресс 39/39 ps1+py. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# form-compile v1.83 — Compile 1C managed form from JSON or object metadata
|
||||
# form-compile v1.84 — Compile 1C managed form from JSON or object metadata
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
param(
|
||||
[string]$JsonPath,
|
||||
@@ -2582,7 +2582,7 @@ function Emit-Element {
|
||||
# label/hyperlink
|
||||
"hyperlink"=1;"formatted"=1
|
||||
# group-specific
|
||||
"showTitle"=1;"united"=1;"collapsed"=1;"behavior"=1
|
||||
"collapsedTitle"=1;"showTitle"=1;"united"=1;"collapsed"=1;"behavior"=1
|
||||
# hierarchy
|
||||
"children"=1;"columns"=1
|
||||
# table-specific
|
||||
@@ -3013,6 +3013,8 @@ function Emit-Group {
|
||||
|
||||
# ShowTitle
|
||||
if ($el.showTitle -eq $false) { X "$inner<ShowTitle>false</ShowTitle>" }
|
||||
# Заголовок свёрнутого представления (collapsible/popup) — мультиязычный текст
|
||||
if ($el.collapsedTitle) { Emit-MLText -tag "CollapsedRepresentationTitle" -text $el.collapsedTitle -indent $inner }
|
||||
|
||||
# United
|
||||
if ($el.united -eq $false) { X "$inner<United>false</United>" }
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# form-compile v1.83 — Compile 1C managed form from JSON or object metadata
|
||||
# form-compile v1.84 — Compile 1C managed form from JSON or object metadata
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
import argparse
|
||||
import copy
|
||||
@@ -1791,7 +1791,7 @@ KNOWN_KEYS = {
|
||||
"choiceButtonRepresentation", "footerHorizontalAlign", "headerHorizontalAlign",
|
||||
"format", "editFormat", "choiceParameters", "choiceParameterLinks", "typeLink",
|
||||
"hyperlink", "formatted",
|
||||
"showTitle", "united", "collapsed", "behavior",
|
||||
"collapsedTitle", "showTitle", "united", "collapsed", "behavior",
|
||||
"children", "columns",
|
||||
"changeRowSet", "changeRowOrder", "autoInsertNewRow", "rowFilter", "header", "footer",
|
||||
"commandBarLocation", "searchStringLocation", "viewStatusLocation", "searchControlLocation",
|
||||
@@ -3082,6 +3082,9 @@ def emit_group(lines, el, name, eid, indent):
|
||||
# ShowTitle
|
||||
if el.get('showTitle') is False:
|
||||
lines.append(f'{inner}<ShowTitle>false</ShowTitle>')
|
||||
# Заголовок свёрнутого представления (collapsible/popup) — мультиязычный текст
|
||||
if el.get('collapsedTitle'):
|
||||
emit_mltext(lines, inner, 'CollapsedRepresentationTitle', el['collapsedTitle'])
|
||||
|
||||
# United
|
||||
if el.get('united') is False:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# form-decompile v0.60 — Decompile 1C managed Form.xml to JSON DSL (draft)
|
||||
# form-decompile v0.61 — Decompile 1C managed Form.xml to JSON DSL (draft)
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
# ВНИМАНИЕ: раундтрип не гарантируется. Навык исключён из авто-использования моделью.
|
||||
param(
|
||||
@@ -1347,6 +1347,7 @@ function Decompile-Element {
|
||||
$rep = Get-Child $node 'Representation'
|
||||
if ($rep) { $repmap=@{'None'='none';'NormalSeparation'='normal';'WeakSeparation'='weak';'StrongSeparation'='strong'}; if ($repmap.ContainsKey($rep)) { $obj['representation']=$repmap[$rep] } else { $obj['representation']=$rep } }
|
||||
if ((Get-Child $node 'ShowTitle') -eq 'false') { $obj['showTitle'] = $false }
|
||||
$crt = $node.SelectSingleNode("lf:CollapsedRepresentationTitle", $ns); if ($crt) { $ct = Get-LangText $crt; if ($null -ne $ct -and $ct -ne '') { $obj['collapsedTitle'] = $ct } }
|
||||
if ((Get-Child $node 'United') -eq 'false') { $obj['united'] = $false }
|
||||
if ((Get-Child $node 'Collapsed') -eq 'true') { $obj['collapsed'] = $true }
|
||||
$kids = Decompile-Children $node
|
||||
|
||||
@@ -339,6 +339,7 @@ companion-панели с собственным контентом. Оба не
|
||||
| `group` | string | Ориентация: `horizontal`, `vertical`, `alwaysHorizontal`, `alwaysVertical`. **`""`** → `<Group>` не эмитится (тег отсутствовал в исходнике; платформа сериализует «Группировку», только если она задана в конфигураторе — даже явный `Vertical` хранится, поэтому `""` ≠ `vertical`). Ключ обязателен как тип-маркер группы. (Legacy: `collapsible` = `vertical` + `behavior:'collapsible'`) |
|
||||
| `behavior` | string | Поведение (`<Behavior>`): `usual`, `collapsible`, `popup`. **Отсутствие = Авто** (дефолт, не эмитится). Свёртываемая/всплывающая несут доп. свойства |
|
||||
| `collapsed` | bool | Свёрнута (у `collapsible`/`popup`) |
|
||||
| `collapsedTitle` | string/object | Заголовок свёрнутого представления (`<CollapsedRepresentationTitle>`), мультиязычный текст |
|
||||
| `children` | array | Вложенные элементы |
|
||||
| `showTitle` | bool | Показывать заголовок группы |
|
||||
| `representation` | string | `none`, `normal`, `weak`, `strong` |
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
{ "input": "Поле2", "path": "Поле2", "title": "Поле 2" },
|
||||
{ "labelField": "Метка", "path": "Поле1", "groupVerticalAlign": "Center" }
|
||||
]},
|
||||
{ "group": "vertical", "name": "ГруппаПодвал", "behavior": "collapsible", "collapsed": true, "title": { "ru": "Подвал", "en": "Footer" }, "showLeftMargin": false, "enableContentChange": false, "children": [
|
||||
{ "group": "vertical", "name": "ГруппаПодвал", "behavior": "collapsible", "collapsed": true, "title": { "ru": "Подвал", "en": "Footer" }, "collapsedTitle": "Развернуть подвал", "showLeftMargin": false, "enableContentChange": false, "children": [
|
||||
{ "input": "Поле3", "path": "Поле3", "title": "Поле 3" }
|
||||
]}
|
||||
],
|
||||
|
||||
+6
@@ -78,6 +78,12 @@
|
||||
<Group>Vertical</Group>
|
||||
<Behavior>Collapsible</Behavior>
|
||||
<Collapsed>true</Collapsed>
|
||||
<CollapsedRepresentationTitle>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Развернуть подвал</v8:content>
|
||||
</v8:item>
|
||||
</CollapsedRepresentationTitle>
|
||||
<EnableContentChange>false</EnableContentChange>
|
||||
<ShowLeftMargin>false</ShowLeftMargin>
|
||||
<ExtendedTooltip name="ГруппаПодвалРасширеннаяПодсказка" id="15"/>
|
||||
|
||||
Reference in New Issue
Block a user