Skip to content

Modernize the ConfirmDialog composable to use GModal#22091

Open
ahmedhamidawan wants to merge 12 commits intogalaxyproject:devfrom
ahmedhamidawan:b_modal_to_g_modal_simple_batch
Open

Modernize the ConfirmDialog composable to use GModal#22091
ahmedhamidawan wants to merge 12 commits intogalaxyproject:devfrom
ahmedhamidawan:b_modal_to_g_modal_simple_batch

Conversation

@ahmedhamidawan
Copy link
Member

@ahmedhamidawan ahmedhamidawan commented Mar 13, 2026

ConfirmDialog is now a modern vue component, instead of a legacy, options API, programmatically mounted component.

Before After
firefox_WUPbrsw0WU 9xnNpSlOxO

This also updates selenium selectors to use the global confirm dialog.

Part of the larger bootstrap to base components conversion effort in #21976 and #21956

How to test the changes?

(Select all options that apply)

  • I've included appropriate automated tests.
  • This is a refactoring of components with existing test coverage.
  • Instructions for manual testing are as follows:
    1. [add testing steps and prerequisites here if you didn't write automated tests covering all your changes]

License

  • I agree to license these and all my past contributions to the core galaxy codebase under the MIT license.

@ahmedhamidawan ahmedhamidawan added this to the 26.1 milestone Mar 13, 2026
@ahmedhamidawan ahmedhamidawan added kind/enhancement area/UI-UX kind/refactoring cleanup or refactoring of existing code, no functional changes labels Mar 13, 2026
@ahmedhamidawan ahmedhamidawan force-pushed the b_modal_to_g_modal_simple_batch branch from f1c544a to abfc5ca Compare March 14, 2026 01:34
@ahmedhamidawan ahmedhamidawan force-pushed the b_modal_to_g_modal_simple_batch branch from abfc5ca to 5738f34 Compare March 24, 2026 00:52
@ahmedhamidawan ahmedhamidawan marked this pull request as ready for review March 24, 2026 00:52
@ahmedhamidawan
Copy link
Member Author

ahmedhamidawan commented Mar 24, 2026

Fixing the couple client fails... Fixed ✅

The failing

FAILED lib/galaxy_test/selenium/test_workflow_editor.py::TestWorkflowEditor::test_change_datatype

should be unrelated.

@ahmedhamidawan ahmedhamidawan moved this from Needs Review to In Progress in Galaxy Dev - weeklies Mar 24, 2026
ahmedhamidawan and others added 12 commits March 24, 2026 11:02
ConfirmDialog is now a modern vue component, instead of a legacy, options API, programmatically mounted component.

This also updates selenium selectors to use the global confirm dialog.

Part of the larger bootstrap to base components conversion effort in galaxyproject#21976 and galaxyproject#21956
Two edge cases are now handled in the confirm dialog system:

- Concurrent calls: if `confirm()` is called while a dialog is
  already pending, the outstanding promise is resolved as `false`
  before the new dialog is shown. Content updates in place so
  there is no close/reopen flash.
- Caller unmount: `useConfirmDialog()` now creates an
  AbortController and aborts it on `onUnmounted`, automatically
  cancelling any pending dialog. The `signal` is injected via
  the options so call sites need no changes. A `signal` field
  is also exposed on `ConfirmDialogOptions` for manual use.

Co-Authored-By: Claude <noreply@anthropic.com>
Also, uses the confirm dialog in `ConfigureHeader` (extends the vitest as well)
@ahmedhamidawan ahmedhamidawan force-pushed the b_modal_to_g_modal_simple_batch branch from 5738f34 to df9a88f Compare March 24, 2026 16:19
@ahmedhamidawan ahmedhamidawan moved this from In Progress to Needs Review in Galaxy Dev - weeklies Mar 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/UI-UX kind/enhancement kind/refactoring cleanup or refactoring of existing code, no functional changes

Projects

Status: Needs Review

Development

Successfully merging this pull request may close these issues.

2 participants