fixed editing members
This commit is contained in:
@@ -28,6 +28,15 @@ $(document).ready(function() {
|
||||
var creatorId = document.querySelector('.member-row').dataset.userId;
|
||||
addedMembers.add(creatorId);
|
||||
|
||||
// If in edit mode, add existing members to the set
|
||||
if (document.querySelector('.member-row[data-user-id]')) {
|
||||
document.querySelectorAll('.member-row[data-user-id]').forEach(function(row) {
|
||||
var memberId = String(row.dataset.userId);
|
||||
console.log('Adding existing member:', memberId);
|
||||
addedMembers.add(memberId);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows an alert modal with the specified message.
|
||||
* @function
|
||||
@@ -45,7 +54,7 @@ $(document).ready(function() {
|
||||
* @event
|
||||
*/
|
||||
$('#addMemberBtn').click(function() {
|
||||
var selectedUserId = $('#user_id').val();
|
||||
var selectedUserId = String($('#user_id').val());
|
||||
var selectedUserName = $('#user_id option:selected').text();
|
||||
var selectedUserEmail = $('#user_id option:selected').data('email') || '';
|
||||
var selectedUserAvatar = $('#user_id option:selected').data('avatar') || "/static/default-avatar.png";
|
||||
@@ -60,6 +69,7 @@ $(document).ready(function() {
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('Adding new member:', selectedUserId);
|
||||
// Add to the set of added members
|
||||
addedMembers.add(selectedUserId);
|
||||
|
||||
@@ -77,14 +87,6 @@ $(document).ready(function() {
|
||||
.append($('<button type="button" class="btn btn-remove-member ms-2">')
|
||||
.append($('<i class="fas fa-user-minus me-1"></i>'))
|
||||
.append('Remove')
|
||||
.click(function() {
|
||||
$(this).closest('.list-group-item').remove();
|
||||
addedMembers.delete(selectedUserId);
|
||||
// Re-enable the option in the dropdown
|
||||
$('#user_id option[value="' + selectedUserId + '"]').prop('disabled', false);
|
||||
$('#user_id').trigger('change');
|
||||
updateHiddenInputs();
|
||||
})
|
||||
);
|
||||
|
||||
// Add to the list
|
||||
@@ -103,6 +105,8 @@ $(document).ready(function() {
|
||||
// Remove any existing members inputs
|
||||
$('#conversationForm input[name="members"]').remove();
|
||||
|
||||
console.log('Current members in Set:', Array.from(addedMembers));
|
||||
|
||||
// Add new hidden inputs for each member
|
||||
addedMembers.forEach(function(memberId) {
|
||||
var input = $('<input>')
|
||||
@@ -115,4 +119,28 @@ $(document).ready(function() {
|
||||
|
||||
// Initialize hidden inputs
|
||||
updateHiddenInputs();
|
||||
|
||||
// Add click handler for remove buttons (both existing and new)
|
||||
$(document).on('click', '.btn-remove-member', function(e) {
|
||||
e.preventDefault();
|
||||
var memberRow = $(this).closest('.member-row');
|
||||
var memberId = String(memberRow.data('user-id'));
|
||||
|
||||
console.log('Removing member:', memberId);
|
||||
console.log('Current members before removal:', Array.from(addedMembers));
|
||||
|
||||
// Don't allow removing the creator
|
||||
if (memberId === creatorId) {
|
||||
return;
|
||||
}
|
||||
|
||||
memberRow.remove();
|
||||
addedMembers.delete(memberId);
|
||||
console.log('Current members after removal:', Array.from(addedMembers));
|
||||
|
||||
// Re-enable the option in the dropdown
|
||||
$('#user_id option[value="' + memberId + '"]').prop('disabled', false);
|
||||
$('#user_id').trigger('change');
|
||||
updateHiddenInputs();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user