374 Commits

Author SHA1 Message Date
Andrey Epifancev
7b67740029 fix(dict-vsp): заголовок «Действия» на одной линии с остальными в grid-раскладке
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-29 12:23:02 +04:00
Andrey Epifancev
4cb0862ca5 fix(svod2): заголовок без виртуализации колонок, группы над своими колонками
MRT при виртуализации колонок рисует каждую строку заголовка по индексам
листовых колонок, из-за чего двухуровневые группы разъезжались. Штатный thead
отключён (enableTableHead: false), тот же MRT_TableHead без columnVirtualizer
вставляется порталом в <table>: все заголовки сразу, стили и встроенные фильтры
MRT сохраняются. Тело по-прежнему виртуализировано по строкам и колонкам.

Стили: order -1 для портального thead, flexShrink 0 у td/th (распорки
виртуализации сжимались и сдвигали тело на 2-8 px), скрыта подложка ::before
закреплённых ячеек (перекрывала чередование фона).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 12:18:41 +04:00
Andrey Epifancev
bf64fa0dc6 fix(dict-vsp): ширины колонок как в test — grid-раскладка не должна менять вид справочника
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 12:10:47 +04:00
Andrey Epifancev
b834f1008d fix(svod2): grid-no-grow и enableColumnPinning для виртуализации колонок
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 12:07:38 +04:00
Andrey Epifancev
fbc3601673 perf(web): свод 2 — refine по условиям данных, измерение высоты вне загрузки, окно по поколению
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 00:16:41 +04:00
Andrey Epifancev
d74f5286f9 perf(web): свод 2 — refine во время первой загрузки, «Найдено» без ошибки, измеренная высота строки
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 00:03:43 +04:00
Andrey Epifancev
1aa138a839 perf(web): свод 2 — строки страницами с сервера, поиск, фильтры и варианты через API
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:26:30 +04:00
Andrey Epifancev
325c1c5f15 perf(web): свод 2 — begin(load) не очищает данные до первого ответа
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:22:43 +04:00
Andrey Epifancev
78e06583f4 perf(web): свод 2 — состояние вкладки с поколениями запросов
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:21:04 +04:00
Andrey Epifancev
900a3c6535 perf(web): свод 2 — правка по biome (pages.at(-1))
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:19:09 +04:00
Andrey Epifancev
a9a05c2360 perf(web): свод 2 — чистая логика окна страниц, параметров и вариантов
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:19:00 +04:00
Andrey Epifancev
2421f7ddd5 test(web): свод 2 — окно строк через отступы виртуализатора
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:17:42 +04:00
Andrey Epifancev
e0e460b6c2 fix(table): ресайз завершается при потерянном mouseup; тест-характеристики table-core; комментарии
- ColumnResizer: handleMouseMove завершает перетаскивание, если левая кнопка не зажата
- cellMemoReset.test: убран дубль теста columnSizing, добавлены характеристики закрепления второй колонки и скрытия закреплённой
- комментарии к columnFilters (триггер React.memo(TableHead)) и ссылки на архивную спеку

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 21:49:03 +04:00
Andrey Epifancev
b9e44a7940 perf(table): memoMode 'cells' с явным сбросом по раскладке закреплённых и фильтрам
tableColumns = [...columns] пересоздаётся по ключу сброса (utils/cellMemoReset.js);
ширины закреплённых колонок входят в ключ по отпусканию мыши (design.md D1, D2).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 21:21:42 +04:00
Andrey Epifancev
1f553fd33e perf(table): управляемые columnFilters и columnSizingInfo в RealtimeTable
Значения нужны до создания таблицы, чтобы войти в ключ сброса мемоизации (design.md D3, D4).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 21:19:56 +04:00
Andrey Epifancev
e5f4b3b965 perf(table): ColumnResizer сообщает MRT начало и конец перетаскивания ширины
isResizingColumn выставляется на mousedown и снимается по mouseup, blur окна
и размонтированию: пока тянут, MRT замораживает тело таблицы (design.md D3).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 21:18:44 +04:00
Andrey Epifancev
61cafb44a6 perf(table): помощники columnSizingInfo для перетаскивания ширины
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-28 21:17:15 +04:00
Andrey Epifancev
3bd4b53657 perf(table): ключ сброса мемоизации ячеек и тест допущения table-core
Ключ из раскладки закреплённых колонок и фильтров (AURORA-1839, design.md D2),
pickSettledSizing замораживает ширины, пока колонку тянут.
Тесты table-core фиксируют фактическое поведение 8.20.5 (R-2): закрепление
пересоздаёт только ячейку закрепляемой колонки, columnSizing ячейки не трогает.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 21:15:00 +04:00
Andrey Epifancev
f7e553a7ab style(table): переименовать параметр escape в activeCellCss (biome)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 18:14:53 +04:00
Andrey Epifancev
21aded26cc perf(table): статичные стили ячеек в CSS контейнера, overscan строк 2 и колонок 3
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 18:14:38 +04:00
Andrey Epifancev
399234a827 perf(web): свод 2 — виртуализация колонок и статичные стили ячеек одним CSS-правилом
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 18:12:41 +04:00
Andrey Epifancev
4393e964f4 perf(realtime): убрать console.log каждого WebSocket-сообщения
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 18:10:30 +04:00
Andrey Epifancev
17dddc21d3 perf(realtime): updateCells без structuredClone и мутации входа
Копируются только строки на пути к затронутой, остальные сохраняют идентичность;
без изменений возвращается тот же data. Отсутствующие в row.data ключи теперь
вставляются (нужно для AURORA-1844/1848). Тесты с паритетом к прежней реализации.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 18:10:30 +04:00
Andrey Epifancev
12a315b04a perf(table): фиксированная высота строк вместо measureElement (лист, свод 1, свод 2)
Высота строки и ячейки задана явно в rem, виртуализатор не читает offsetHeight.
Мёртвая muiTableRowProps удалена. Overscan строк свода 2: 8 -> 3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 18:10:21 +04:00
Andrey Epifancev
bdb00afc5a test(table): хелпер createFixedRowVirtualizerOptions без чтения layout
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 18:10:21 +04:00
Andrey Epifancev
b0de763259 perf(dict-vsp): виртуализация строк, состояние модалок вынесено из таблицы
Модалки в DictVspModals (forwardRef), таблица в memo со стабильными колбэками,
enableRowVirtualization, size/minSize/maxSize колонок выверены под grid-раскладку.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 18:09:52 +04:00
Andrey Epifancev
3ab229f6f8 test(dict-vsp): фильтрация ВСП по ССП вынесена в чистую функцию
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 18:09:52 +04:00
Andrey Epifancev
365becc55a perf(таблица): стабильные колбэки поиска для SettingsPanel
onSearchNext/onSearchPrevious были стрелками в JSX и ломали memo панели.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 18:09:26 +04:00
Andrey Epifancev
2cb9006786 perf(web): форматтер чисел свода 1 и сводных проектов создаётся один раз
AURORA-1835: Cell в scaleColumns создавал Intl.NumberFormat на каждую ячейку.
Форматирование вынесено в formatSummaryAmount (summaryFormat.js) с модульным форматтером.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 18:09:12 +04:00
Andrey Epifancev
c724197682 perf(таблица): вынести состояние модалок листа из RealtimeTable в SheetModals
Открытие модалки больше не перерисовывает RealtimeTable: состояние живёт
в memo-компоненте SheetModals, наружу открывается через ref.open(kind).
Проверки выделенной строки остаются в таблице. Редьюсер вынесен в
utils/sheetModalsState.js с node-тестом.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 18:09:11 +04:00
PotapovaA
7174703149 изменение дублей accessorKey 2026-10-20 16:21:42 +03:00
PotapovaA
bce897f4ed правки 2026-10-16 14:55:58 +03:00
PotapovaA
6c3cd5b2e0 добавление селекта для изменения разрядности в твблицах 2026-10-16 14:41:19 +03:00
PotapovaA
f3539a5f36 новые своды для проектов 2026-10-01 18:20:30 +03:00
PotapovaA
b8632b445d Merge remote-tracking branch 'origin/test' into add-svod-projects 2026-10-01 15:43:47 +03:00
PotapovaA
633c36787d своды для проектов 2026-10-01 15:43:26 +03:00
172b343c69 export-optimize-refresh: очередь загрузки при экспорте 2026-09-30 20:40:21 +03:00
341e8b3936 last-column: Колонка Сумма оплаты структуры формы 4 2026-09-30 14:02:41 +03:00
PotapovaA
02a24954e5 исправила цвета колонок 2026-09-29 15:48:11 +03:00
PotapovaA
253e5d7c82 удаление задач 2026-09-28 19:12:03 +03:00
PotapovaA
056d00b2b4 Merge branch 'test' into ui-tasks 2026-09-28 17:38:04 +03:00
18faf6a724 svod-fix: свод 2 из формы 2, новый свод 1 для формы 3 2026-09-28 17:01:07 +03:00
1e02b0ca61 fix-columns: добавил комментарий, строки из Лимита не удаляются 2026-09-28 13:19:26 +03:00
PotapovaA
d5728c8e08 изменен список задач + удалила не используемые файлы 2026-09-25 14:45:27 +03:00
d6da54ecf4 form3-expense: добавил новые статьи в форму 3, возможность удаления задач 2026-09-25 14:20:04 +03:00
PotapovaA
bc4fd92791 правки версий библиотек 2026-09-24 16:29:27 +03:00
e01c0c105f Merge pull request 'add-columns-spod-4-form' (#176) from add-columns-spod-4-form into test
Reviewed-on: #176
2026-09-24 15:11:46 +03:00
PotapovaA
b4ba58a8d8 переезд на новую версию либы 2026-09-24 15:11:09 +03:00
PotapovaA
15ac95f7d7 добавила колонки + переехала на @babel/traverse@^7.28.5 2026-09-24 15:10:52 +03:00
adfc2dda81 form3-pages: новая разметка третьей формы, сводные отчеты по третьей форме на бэке 2026-09-24 12:28:27 +03:00