refactor(vue-manager): extract thin list/config/crud/sort composables#397
Open
Ibochkarev wants to merge 3 commits into
Open
refactor(vue-manager): extract thin list/config/crud/sort composables#397Ibochkarev wants to merge 3 commits into
Ibochkarev wants to merge 3 commits into
Conversation
Pull shared mgr grid scaffolding into focused composables without a schema-driven mega-grid. Migrate pilot and twin grids; AbortController+seq in useResourceList addresses stale list races (#385 foundation).
…earchQuery Move normalizeImagePath into displayFormatters; bind formatValue in Vendors; remove unused Deliveries/Payments searchQuery; stabilize formatValue number test.
Extract createResourceList for Node-testable AbortController/seq races and reuse displayFormatters.normalizeImagePath in FileBrowser.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Описание
Узкие composables для повторяющегося каркаса mgr-гридов: list/pagination (с AbortController + seq), grid-config, filters, CRUD-dialog state, sortable drag→API. Без
useResourceGrid({ schema })и без schema форм.Мигрированы: Links, Notifications, Statuses, Vendors, Deliveries, Payments, OptionGroups, Orders (list + filters/config). OptionGroups переведён на
useSelectionвместо локальногоSet.Phase 2 (M2M Deliveries↔Payments linking) — отдельно в #361.
Тип изменений
Связанные Issues
Closes #354
Refs #385 (race foundation в
useResourceList; Orders тоже на нём)Refs #361 (Phase 2 linking)
Как это было протестировано?
Команды (Gate E):
cd vueManager && npm run lint→ exit 0npx prettier --checkпо затронутым путям → exit 0node --test src/utils/displayFormatters.test.js src/utils/resourceListResponse.test.js→ 10/10 passnpm run build→ exit 0Конфигурация тестирования:
feat/issue-354-thin-grid-composablesСкриншоты (если применимо)
Чеклист
Дополнительные заметки
grid-config.columns(раньше смотрели несуществующийfieldsи почти всегда шли в fallback) — стоит глянуть колонки в менеджере.useGridConfig.onErrorопционален; по умолчанию fallback без toast (как раньше).useResourceListбез Vue test harness не гонялся.