This commit is contained in:
parent
e4671e816b
commit
900f322422
11 changed files with 161 additions and 80 deletions
|
|
@ -314,17 +314,18 @@ lib/
|
|||
- Display group name and description
|
||||
- List all members in group
|
||||
- Link to member detail pages
|
||||
- Add members to group (via modal with search/autocomplete)
|
||||
- Add members to group (via inline combobox with search/autocomplete)
|
||||
- Remove members from group (via remove button per member)
|
||||
- Edit group button (navigates to `/groups/:slug/edit`)
|
||||
- Delete group button (with confirmation modal)
|
||||
|
||||
**Add Member Functionality:**
|
||||
- "Add Member" button displayed above member table (only for users with `:update` permission)
|
||||
- Opens modal with member search/autocomplete
|
||||
- Opens inline add member area with member search/autocomplete (combobox)
|
||||
- Search filters out members already in the group
|
||||
- Selecting a member adds them to the group immediately
|
||||
- Success/error flash messages provide feedback
|
||||
- "Cancel" button closes the inline add member area without adding
|
||||
|
||||
**Remove Member Functionality:**
|
||||
- "Remove" button (icon button) for each member in table (only for users with `:update` permission)
|
||||
|
|
@ -818,7 +819,7 @@ Each functional unit can be implemented as a **separate issue**:
|
|||
|
||||
**Tasks:**
|
||||
1. Add "Add Member" button above member table in Group Detail View
|
||||
2. Implement modal with member search/autocomplete
|
||||
2. Implement inline add member with search/autocomplete
|
||||
3. Add "Remove" button for each member in table
|
||||
4. Implement add/remove functionality with flash messages
|
||||
5. Ensure proper authorization checks
|
||||
|
|
@ -1001,7 +1002,7 @@ Each functional unit can be implemented as a **separate issue**:
|
|||
|
||||
**Tasks:**
|
||||
- Add "Add Member" button above member table in Group Detail View (`/groups/:slug`)
|
||||
- Implement modal for member selection with search/autocomplete
|
||||
- Implement inline add member for member selection with search/autocomplete
|
||||
- Add "Remove" button for each member in the member table
|
||||
- Implement add member functionality (create MemberGroup association)
|
||||
- Implement remove member functionality (destroy MemberGroup association)
|
||||
|
|
@ -1012,7 +1013,7 @@ Each functional unit can be implemented as a **separate issue**:
|
|||
|
||||
**Acceptance Criteria:**
|
||||
- "Add Member" button is visible above member table (only for users with `:update` permission)
|
||||
- Clicking "Add Member" opens a modal with member search/autocomplete
|
||||
- Clicking "Add Member" opens inline add member area with member search/autocomplete
|
||||
- Search filters members and excludes those already in the group
|
||||
- Selecting a member from search adds them to the group
|
||||
- Success flash message is displayed when member is added
|
||||
|
|
@ -1021,7 +1022,7 @@ Each functional unit can be implemented as a **separate issue**:
|
|||
- Clicking "Remove" immediately removes the member from the group (no confirmation dialog)
|
||||
- Success flash message is displayed when member is removed
|
||||
- Group member list and member count update automatically after add/remove
|
||||
- Modal closes after successful member addition
|
||||
- Inline add member area closes after successful member addition
|
||||
- Authorization is enforced server-side in event handlers
|
||||
- UI respects permission checks (buttons hidden for unauthorized users)
|
||||
|
||||
|
|
@ -1031,15 +1032,15 @@ Each functional unit can be implemented as a **separate issue**:
|
|||
- Use `Membership.destroy_member_group/1` for removing members
|
||||
- Filter search results to exclude members already in the group (check `group.members`)
|
||||
- Reload group with `:members` and `:member_count` after operations
|
||||
- Follow existing modal patterns (similar to delete confirmation modal)
|
||||
- Use inline combobox pattern (delete group uses a separate confirmation modal)
|
||||
- Ensure accessibility: proper ARIA labels, keyboard navigation, focus management
|
||||
|
||||
**UI/UX Details:**
|
||||
- Modal title: "Add Member to Group"
|
||||
- Inline add member section (no modal; combobox above member table)
|
||||
- Search input placeholder: "Search for a member..."
|
||||
- Search results show member name and email
|
||||
- "Add" button in modal (disabled until member selected)
|
||||
- "Cancel" button to close modal
|
||||
- "Add" button in inline area (disabled until member selected)
|
||||
- "Cancel" button to close inline add member area
|
||||
- Remove button can be an icon button (trash icon) with tooltip
|
||||
- Flash messages: "Member added successfully" / "Member removed successfully" / error messages
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue