-
Story
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
3
-
False
-
-
False
-
Release Note Not Required
-
-
-
Pipelines Sprint CrookShank 45
Story
As a frontend developer working on the OpenShift Pipelines UI, I want to deprecate the existing CreateModalLauncher implementation and replace it with a useOverlay hook-based modal solution so that the Pipeline Builder modal adopts a modern, consistent overlay pattern that improves accessibility, maintainability, and aligns with current framework standards.
Background
In the UI codebase for the OpenShift Pipelines plugin, the Pipeline Builder modal is currently launched using a legacy component called CreateModalLauncher. This approach is no longer aligned with modern overlay patterns and may not support consistent behavior across various modal use cases.
Out of scope
- Migration of other modal patterns in unrelated parts of the UI
- Backend or API changes related to modal data
- Changes to the business logic of pipeline creation beyond modal presentation
Approach
- Identify the existing CreateModalLauncher usage in the Pipeline Builder modal code.
- Deprecate CreateModalLauncher by removing its invocation and associated configurations.
- Integrate the useOverlay hook (or equivalent overlay hook used in our stack) for modal state and behavior.
-
- Use the hook to manage open/close state and ARIA accessibility features (e.g., focus trap, escape close). React Spectrum
- Update the Pipeline Builder modal component to open and close via this hook instead of the deprecated launcher.
Acceptance Criteria (Mandatory)
- The Pipeline Builder modal no longer uses CreateModalLauncher in any code path.
- The modal opens and closes correctly via the useOverlay hook implementation.
- Visual appearance and interaction of the modal remain consistent with UX expectations.
INVEST Checklist
Dependencies identified
Blockers noted and expected delivery timelines set
Design is implementable
Acceptance criteria agreed upon
Story estimated
Legend
Unknown
Verified
Unsatisfied
Done Checklist
- Code is completed, reviewed, documented and checked in
- Unit and integration test automation have been delivered and running cleanly in continuous integration/staging/canary environment
- Continuous Delivery pipeline(s) is able to proceed with new code included
- Customer facing documentation, API docs etc. are produced/updated, reviewed and published
- Acceptance criteria are met