Skip to content

fix(vue): изоляция ConfirmDialog вкладок Настроек (#548) - #549

Merged
biz87 merged 1 commit into
betafrom
fix/548-settings-confirm-groups
Aug 13, 2026
Merged

fix(vue): изоляция ConfirmDialog вкладок Настроек (#548)#549
biz87 merged 1 commit into
betafrom
fix/548-settings-confirm-groups

Conversation

@Ibochkarev

Copy link
Copy Markdown
Member

Описание

На вкладке «Опции» удаление показывает два confirm: OptionsAndGroupsTabs монтирует OptionsGrid и OptionGroupsGrid без lazy, оба с ungrouped <ConfirmDialog>. SettingsPage держит посещённые вкладки в DOM, поэтому после обхода доставок/оплат диалогов становится больше.

Каждому из семи гридов задан свой CONFIRM_GROUP на <ConfirmDialog>, во все confirm.require, и в useSelection / ActionsColumn там, где грид ими пользуется. Паттерн тот же, что #538/#540.

Тип изменений

  • Исправление бага (non-breaking change)
  • Новая функциональность (non-breaking change)
  • Breaking change (изменение, ломающее обратную совместимость)
  • Рефакторинг (без изменения функциональности)
  • Документация
  • Другое (опишите):

Связанные Issues

Closes #548

Как это было протестировано?

cd vueManager
node --test tests/settingsConfirmGroups.test.js
# exit 0 (1 test)
npx eslint <7 grids + test> --max-warnings 0
# exit 0
npm run test:smoke
# 17 tests, exit 0
  • Ручное тестирование
  • Автоматические тесты (npm run test:smoke, eslint)
  • Тестирование на разных версиях PHP/MODX

Конфигурация тестирования:

  • MiniShop3: branch fix/548-settings-confirm-groups
  • MODX: n/a (Vue-only)
  • PHP: n/a

Скриншоты (если применимо)

До После
два confirm на удалении опции один

Чеклист

  • Код соответствует стилю проекта
  • Добавлены/обновлены комментарии в сложных местах
  • Изменения не ломают существующую функциональность
  • Лексиконы добавлены на двух языках (ru/en) — n/a
  • PHPStan проходит без новых ошибок — n/a (Vue)
  • ESLint проходит без ошибок (npm run lint:ci для Vue) — eslint по затронутым путям
  • Обновлён CHANGELOG.md — нет (политика репо)

Дополнительные заметки

Группы: settings-options, settings-option-groups, settings-deliveries, settings-payments, settings-statuses, settings-vendors, settings-links.

Вне scope: Toast, product-tabs (#539/#543), uiGroup.js.

Ручная проверка: Настройки → Опции → удалить опцию → один confirm. Открыть ещё вкладки, удалить доставку → один confirm.

Visited Settings tabs and Options+Groups keep multiple ungrouped
ConfirmDialogs on the shared PrimeVue bus, so delete shows two dialogs.
@Ibochkarev
Ibochkarev requested a review from biz87 August 13, 2026 02:32
@Ibochkarev Ibochkarev added the bug Something isn't working label Aug 13, 2026
@biz87
biz87 merged commit fd599fc into beta Aug 13, 2026
3 checks passed
@biz87
biz87 deleted the fix/548-settings-confirm-groups branch August 13, 2026 16:33
biz87 added a commit that referenced this pull request Aug 13, 2026
VendorsGrid's ActionsColumn delete action was confirm:true, so useActions showed a
confirm and then deleteVendor() showed a second one — a sequential double confirm
independent of the shared-bus grouping fixed in #548/#549. Align it to confirm:false
like the other settings grids; deleteVendor() remains the single grouped confirm.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

2 participants