38 lines
2.3 KiB
Markdown
38 lines
2.3 KiB
Markdown
# 2026-09-06: группы слоя 1 по умолчанию свёрнуты
|
|
|
|
## Запрос
|
|
|
|
При большом количестве файлов в папках и ZIP раскрытая таблица становится неудобной: все файлы сразу занимают много строк, и пользователь вынужден вручную сворачивать группы.
|
|
|
|
Требование: папки и ZIP должны быть свёрнуты по умолчанию, с возможностью раскрывать каждую группу отдельно.
|
|
|
|
## Найденная причина
|
|
|
|
Рендер слоя 1 уже поддерживал `expanded === false`: дочерние строки не выводятся, а кнопка группы показывает стрелку раскрытия. Проблема находилась в создании узлов:
|
|
|
|
- корень ZIP и вложенные папки создавались с `expanded: true`;
|
|
- корни выбранных папок и промежуточные папки также создавались с `expanded: true`.
|
|
|
|
## План исправления
|
|
|
|
- сделать `expanded: false` только для групп `folder` и `zip`;
|
|
- оставить leaf-файлы обычными строками;
|
|
- сохранить независимое ручное раскрытие групп;
|
|
- добавить регрессионный тест рендера свернутой группы.
|
|
|
|
## Результат
|
|
|
|
- узлы `folder` и `zip` теперь создаются с `expanded: false`;
|
|
- leaf-файлы доступны после раскрытия родительской группы;
|
|
- ручное раскрытие каждой группы сохранено;
|
|
- добавлен регрессионный тест рендера свернутой папки;
|
|
- пересобраны ESM и IIFE-бандлы в `dist/`.
|
|
|
|
## Проверка
|
|
|
|
- `npm run build` выполнен успешно;
|
|
- `npm test`: `10/10` тестов пройдены;
|
|
- `python3 -m pytest tests/ -q`: `10/10` тестов пройдены;
|
|
- `python3 -m py_compile site/app.py` выполнен успешно;
|
|
- `git diff --check` без замечаний.
|