-
Notifications
You must be signed in to change notification settings - Fork 160
Description
Motivation
Managing multiple services in a project often requires performing the same action (start/stop) on several services simultaneously. Currently, users must start or stop each service individually, which is time-consuming and inefficient when managing projects with many services.
Current Behavior
The project dashboard displays a list of services (applications and compose services) but lacks the ability to perform actions on multiple services at once. Users must click into each service individually to start or stop it. Additionally, the domain dropdown menu shows service names but provides no visual indication of whether those services are currently running, stopped, or in another state.
Reproduction Steps:
- Navigate to a project that contains multiple applications and/or compose services (at least 3-4 services)
- Attempt to stop all running services at once
- Observe: There is no way to select multiple services or perform bulk actions - each service must be managed individually
- Click on the domain dropdown menu in the project view
- Observe: Service names are displayed but there is no status indicator showing whether each service is running or stopped
Expected Behavior
The project dashboard should provide a checkbox-based selection system that allows users to select multiple services and perform bulk start/stop operations on them. The system should provide clear feedback during bulk operations, including progress indication and success/failure notifications for each service. The domain dropdown menu should display status indicators next to each service name, showing whether the service is running, stopped, or in another state.
Acceptance Criteria:
- Checkboxes appear next to each service in the project dashboard, allowing individual service selection
- A "Select All" checkbox is available to quickly select or deselect all visible services
- Bulk action buttons (Start All, Stop All) are available and only enabled when at least one service is selected
- Bulk operations provide visual feedback (loading states) and display toast notifications showing success/failure counts
- Status indicators (tooltips or badges) appear next to service names in the domain dropdown menu, reflecting the current state of each service
- After bulk operations complete, the service list refreshes to show updated statuses
Steps To Test
- Navigate to a project with multiple services (create test applications and compose services if needed)
- Verify checkboxes appear next to each service in the list
- Select 2-3 services using the checkboxes and verify the selection state is maintained
- Click the "Select All" checkbox and verify all services become selected; click again to verify all become deselected
- With multiple services selected, click the "Stop All" button and verify:
- A loading indicator appears during the operation
- Toast notifications appear showing the results (e.g., "Successfully stopped 3 services")
- The service statuses update after the operation completes
- Repeat step 5 with the "Start All" button
- Open the domain dropdown menu from the project view
- Verify that status indicators appear next to each service name showing their current state (running/stopped)
Submission
Download https://cap.so/ to record your screen (use Studio mode). Export as an mp4, and drag and drop into an issue comment below.
Guide to submitting pull requests: https://hackmd.io/@timothy1ee/Hky8kV3hlx