Skip to content

Conversation

@cstns
Copy link
Contributor

@cstns cstns commented Dec 9, 2025

Description

This PR improves the bulk device group assignment user experience by extending the "Add to Group" and "Remove from Group" dialogs to include a collapsible list of selected devices, allowing users to review and modify their selection before confirming.

Key Changes:

  • Enhanced Dialog: The now features an accordion showing the selected Remote Instances with an option to remove individual items from the selection.
  • Validation Logic: Refactored device selection validation (checking for same application and ownership) into reactive computed properties for better state management.
  • Terminology Update: Updated various UI messages and headers to refer to "Remote Instances" instead of "Devices" in and the dialog. DevicesBrowser.vue
  • Component Updates: Added support to and a method to to support the new dialog functionality.
bulk-device-group-assignment.mp4

Related Issue(s)

closes #6164

Checklist

  • I have read the contribution guidelines
  • Suitable unit/system level tests have been added and they pass
  • Documentation has been updated
    • Upgrade instructions
    • Configuration details
    • Concepts
  • Changes flowforge.yml?
    • Issue/PR raised on FlowFuse/helm to update ConfigMap Template
    • Issue/PR raised on FlowFuse/CloudProject to update values for Staging/Production
  • Link to Changelog Entry PR, or note why one is not needed.

Labels

  • Includes a DB migration? -> add the area:migration label

cstns added 9 commits December 8, 2025 11:02
… handle content overflow in Accordion and list selected devices
- Add "Remove" button for individual devices with disable condition
- Emit `selection-removed` event when devices are removed
- Improve DataTable row key handling and integrate dialog state
- Add ref to DataTable for programmatic row toggle
- Watch and sync `checkedDevices` with dialog state
- Add `removeFromSelection` method and bind it to `selection-removed` event
…oup"

- Refactor computed properties for application ownership, single-device assignment, and disabling primary actions.
- Simplify device group fetching logic with application parameter.
- Remove redundant validation methods and integrate ownership checks directly into computed properties.
- Enhance UI logic with conditional rendering and alignment tweaks.
@codecov
Copy link

codecov bot commented Dec 9, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.22%. Comparing base (d51c8a8) to head (3166619).
⚠️ Report is 109 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #6379   +/-   ##
=======================================
  Coverage   76.22%   76.22%           
=======================================
  Files         393      393           
  Lines       19788    19789    +1     
  Branches     4743     4744    +1     
=======================================
+ Hits        15084    15085    +1     
  Misses       4704     4704           
Flag Coverage Δ
backend 76.22% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

…lection

- Move "Add Device to Group" dialog to `device-group-management` folder.
- Create new "Remove Device From Group" dialog.
- Replace inline device selection UI with reusable `DeviceList` component.
- Simplify UI and state handling for group management dialogs.
@cstns cstns self-assigned this Dec 9, 2025
@hardillb
Copy link
Contributor

Maybe pre-expand list if there are warnings/errors

image

Copy link
Contributor

@hardillb hardillb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved, but with the comment about expanding the list if there are problems.

Will let @cstns merge

@cstns
Copy link
Contributor Author

cstns commented Dec 17, 2025

I created a follow up task: #6430 for it

@cstns cstns merged commit e5ead6f into main Dec 17, 2025
25 checks passed
@cstns cstns deleted the 6164_improve-bulk-device-group-assignment branch December 17, 2025 11:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve Bulk Device Group Assignment Behavior

3 participants