mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-23 21:21:04 +03:00
feat(web-test): чтение и раскрытие сворачиваемых групп формы
getFormState().groups → [{name, title, collapsed}] для сворачиваемых
групп (оба варианта ControlRepresentation: заголовок-гиперссылка и
картинка-каретка #titleBtn). Обычные несворачиваемые группы не
попадают. Состояние — по display первого контент-сиблинга за #title_div
(переживает свободные элементы между группами: при обходе Form.xml дети
группы идут до следующего сиблинга).
clickElement(title, {expand}/{expand:false}/{toggle}) раскрывает/
сворачивает группу — единый словарь с грид-узлами/деревьями, клик по
#titleBtn (вариант «картинка») или заголовку-гиперссылке. Новый
kind:'formGroup' в findClickTargetScript + хендлер click-group.mjs.
Фикстура СтраницаНастроек расширена вариантами A/B + негатив (обычная
группа) + стресс-привязка (свободный элемент между группами); тест
25-decoration-form покрывает чтение и expand/collapse/toggle. Полный
регресс 29 passed.
Popup-группы: содержимое в отдельном слое, состояние пока не читается
надёжно (follow-up).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
86cddc8ec3
commit
bd86ece90e
@@ -1296,6 +1296,44 @@ export const steps = [
|
||||
{ label: 'ПояснениеКлассификаторы', title: 'Загрузка курсов валют и классификаторов' },
|
||||
],
|
||||
},
|
||||
// Развёрнутая сворачиваемая (collapsed:false) — сверка сигнала collapsed/expanded.
|
||||
{ group: 'collapsible', name: 'ГруппаРазвёрнутая', title: 'Развёрнутая группа',
|
||||
collapsed: false, showTitle: true, children: [
|
||||
{ label: 'ПояснениеРазвёрнутая', title: 'Содержимое развёрнутой группы' },
|
||||
],
|
||||
},
|
||||
// Вариант B: контрол сворачивания как КАРТИНКА (#titleBtn-каретка) — как в реальном ERP,
|
||||
// в отличие от дефолтного «заголовок-гиперссылка» (вариант A) на этой платформе.
|
||||
{ group: 'collapsible', name: 'ГруппаКартинкой', title: 'Свёрнута картинкой',
|
||||
controlRepresentation: 'Picture', collapsed: true, showTitle: true, children: [
|
||||
{ label: 'ПояснениеКартинкой', title: 'Содержимое группы с картинкой-контролом' },
|
||||
],
|
||||
},
|
||||
// Всплывающая (popup) группа — тоже прячет содержимое за триггером.
|
||||
{ group: 'vertical', name: 'ГруппаВсплывающая', title: 'Всплывающая группа', behavior: 'popup',
|
||||
collapsed: true, showTitle: true, children: [
|
||||
{ label: 'ПояснениеВсплывающая', title: 'Содержимое всплывающей группы' },
|
||||
],
|
||||
},
|
||||
// Обычная НЕсворачиваемая группа — негатив: НЕ должна попадать в groups[] (не шуметь).
|
||||
{ group: 'vertical', name: 'ГруппаОбычная', title: 'Обычная группа', showTitle: true, children: [
|
||||
{ label: 'ПояснениеОбычная', title: 'Содержимое обычной группы' },
|
||||
],
|
||||
},
|
||||
// СТРЕСС привязки контента: свёрнутая группа → свободный элемент верхнего уровня →
|
||||
// развёрнутая группа. Проверяем, отличим ли «свободный сосед после свёрнутой» от
|
||||
// «видимого дочернего развёрнутой» (порядок DOM их путает; нужен геометрич./иной сигнал).
|
||||
{ group: 'collapsible', name: 'ГруппаСтрессСвёрнутая', title: 'Стресс: свёрнутая',
|
||||
collapsed: true, showTitle: true, children: [
|
||||
{ label: 'ВнутриСтрессСвёрнутой', title: 'Внутри свёрнутой стресс-группы' },
|
||||
],
|
||||
},
|
||||
{ label: 'СвободныйМеждуГруппами', title: 'Свободный элемент между группами' },
|
||||
{ group: 'collapsible', name: 'ГруппаСтрессРазвёрнутая', title: 'Стресс: развёрнутая',
|
||||
collapsed: false, showTitle: true, children: [
|
||||
{ label: 'ВнутриСтрессРазвёрнутой', title: 'Внутри развёрнутой стресс-группы' },
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
args: { '-JsonPath': '{inputFile}', '-OutputPath': '{workDir}/DataProcessors/СтраницаНастроек/Forms/ФормаОбработки/Ext/Form.xml' },
|
||||
|
||||
Reference in New Issue
Block a user