Geo Replication List: Shared Bulk Actions Component
What does this MR do and why?
Part of #410401 (closed)
Broken off from !184092 (closed)
Based on POC: !181027 (closed)
Uses feature flag geo_replicables_filtered_list_view
This change extracts the existing bulk actions into there own component so they can be shared between the old UI and new UI based on the Feature Flag.
note: The UX of the actions leaves some to be desired. This MR is focused only on the migration, we are working on a new UX as part of Geo Replicables: Improve Bulk Actions Experienc... (#520355 - closed)
List of changes in this MR
- Extract existing Bulk Actions and Modal into a shared component
- Use shared component in non-ff component
geo_replicable_filter_bar.vue - Use shared component in ff template in
app.vue - Migrate existing specs to new file
- Add coverage for both parent components validating when the bulk actions should exist
Screenshots or screen recordings
note: to see a more in-depth before and after outside of the feature flag and end goal visit !184092 (closed)
Demo (FF on, this change)
Screen_Recording_2025-04-01_at_2.57.27_PM
| Before | After | |
|---|---|---|
| FF On | ![]() |
![]() |
| FF Off | ![]() |
![]() |
How to set up and validate locally
Setup Geo (optional)
Important: To properly test Geo you will need a separate GDK setup. Setup is straightforward but takes some time. Another option is to validate the code functionally and if needed schedule a call to sync and I can screen share my instance.
- Ensure no other GDKs are running.
gdk stop/gdk kill - Open an empty directory and install and run Geo with the one-line command found on the Easy installation instructions
- Access your primary and secondary Geo instances via
127.0.0.1:3000and127.0.0.1:3001.
Testing
- Test both sides of the feature flag
Feature.enable(:geo_replicables_filtered_list_view) - Access your primary GDK Geo Page (
127.0.0.1:3000/admin/geo) - Scroll down to the very bottom
Replication detailssection - Click one of the blue links (ex:
Project Repositories) - Find list with items in it
- Ensure bulk actions work and fire a modal when first clicked



