diff --git a/web/satellite/vuetify-poc/src/components/TeamTableComponent.vue b/web/satellite/vuetify-poc/src/components/TeamTableComponent.vue index 227de7933..fff6812c0 100644 --- a/web/satellite/vuetify-poc/src/components/TeamTableComponent.vue +++ b/web/satellite/vuetify-poc/src/components/TeamTableComponent.vue @@ -3,27 +3,42 @@ - - {{ modelValue.length }} user{{ modelValue.length !== 1 ? 's' : '' }} selected + + {{ selectedMembers.length }} user{{ selectedMembers.length !== 1 ? 's' : '' }} selected - + + + + Remove + + + + + + + onSingleDelete(item.raw.email)" @@ -99,7 +115,7 @@ @@ -109,6 +125,7 @@ import { computed, onMounted, ref, watch } from 'vue'; import { VRow, VCard, + VCol, VTextField, VChip, VIcon, @@ -165,21 +182,12 @@ const router = useRouter(); const notify = useNotify(); const { isLoading, withLoading } = useLoading(); -const emit = defineEmits<{ - (event: 'update:modelValue', value: string[]): void, -}>(); -const props = defineProps<{ - modelValue: string[] -}>(); -const model = computed({ - get: () => props.modelValue, - set: value => emit('update:modelValue', value), -}); - const isRemoveMembersDialogShown = ref(false); const search = ref(''); const searchTimer = ref(); const sortBy = ref([{ key: 'date', order: 'asc' }]); +const selectedMembers = ref([]); + const headers = ref([ { title: 'Name', @@ -252,18 +260,18 @@ async function onUpdatePage(page: number): Promise { * Handles post delete operations. */ async function onPostDelete(): Promise { - if (props.modelValue.includes(usersStore.state.user.email)) { + if (selectedMembers.value.includes(usersStore.state.user.email)) { router.push('/projects'); return; } search.value = ''; - emit('update:modelValue', []); + selectedMembers.value = []; await onUpdatePage(FIRST_PAGE); } function onSingleDelete(email: string): void { - emit('update:modelValue', [email]); + selectedMembers.value = [email]; isRemoveMembersDialogShown.value = true; } @@ -367,6 +375,4 @@ watch(() => search.value, () => { onMounted(() => { fetch(); }); - -defineExpose({ showDeleteDialog }); diff --git a/web/satellite/vuetify-poc/src/components/dialogs/AddTeamMemberDialog.vue b/web/satellite/vuetify-poc/src/components/dialogs/AddTeamMemberDialog.vue index aa8cc162b..5176bbd70 100644 --- a/web/satellite/vuetify-poc/src/components/dialogs/AddTeamMemberDialog.vue +++ b/web/satellite/vuetify-poc/src/components/dialogs/AddTeamMemberDialog.vue @@ -139,7 +139,7 @@ async function onAddUsersClick(): Promise { await withLoading(async () => { try { await pmStore.inviteMembers([email.value], props.projectId); - notify.notify('Invites sent!'); + notify.success('Invites sent!'); email.value = ''; } catch (error) { error.message = `Error adding project members. ${error.message}`; diff --git a/web/satellite/vuetify-poc/src/components/dialogs/RemoveProjectMemberDialog.vue b/web/satellite/vuetify-poc/src/components/dialogs/RemoveProjectMemberDialog.vue index 695d3529a..7d63c181d 100644 --- a/web/satellite/vuetify-poc/src/components/dialogs/RemoveProjectMemberDialog.vue +++ b/web/satellite/vuetify-poc/src/components/dialogs/RemoveProjectMemberDialog.vue @@ -60,13 +60,13 @@ - - + + Please note: any access grants they have created will still provide them with full access. If necessary, please revoke these access grants to ensure the security of your data. - - + + @@ -80,7 +80,7 @@ - Delete + Remove @@ -92,6 +92,7 @@
{{ modelValue.length }} user{{ modelValue.length !== 1 ? 's' : '' }} selected
{{ selectedMembers.length }} user{{ selectedMembers.length !== 1 ? 's' : '' }} selected
+ + Please note: any access grants they have created will still provide them with full access. If necessary, please revoke these access grants to ensure the security of your data. -