refactor: loading state for delete user

This commit is contained in:
liyasthomas
2022-02-04 22:01:01 +05:30
parent 1696f1f798
commit bd268e67ae
3 changed files with 25 additions and 5 deletions

View File

@@ -158,7 +158,8 @@
:title="t('action.remove')" :title="t('action.remove')"
svg="user-minus" svg="user-minus"
color="red" color="red"
@click.native="removeExistingTeamMember(member.userID)" :loading="isLoadingIndex === index"
@click.native="removeExistingTeamMember(member.userID, index)"
/> />
</div> </div>
</div> </div>
@@ -214,6 +215,7 @@ const t = useI18n()
const emit = defineEmits<{ const emit = defineEmits<{
(e: "hide-modal"): void (e: "hide-modal"): void
(e: "refetch-teams"): void
}>() }>()
const memberOptions = ref<any | null>(null) const memberOptions = ref<any | null>(null)
@@ -240,6 +242,7 @@ watch(
watch( watch(
() => props.editingTeamID, () => props.editingTeamID,
(teamID: string) => { (teamID: string) => {
console.log("teamID", teamID)
teamDetails.execute({ teamID }) teamDetails.execute({ teamID })
} }
) )
@@ -291,6 +294,8 @@ watch(
() => { () => {
if (teamDetails.loading) return if (teamDetails.loading) return
console.log(teamDetails)
const data = teamDetails.data const data = teamDetails.data
if (E.isRight(data)) { if (E.isRight(data)) {
@@ -321,6 +326,11 @@ const updateMemberRole = (userID: string, role: TeamMemberRole) => {
} }
} }
watch(
() => teamDetails.data,
(newVal) => console.log(newVal)
)
const membersList = computed(() => { const membersList = computed(() => {
if (teamDetails.loading) return [] if (teamDetails.loading) return []
@@ -347,10 +357,10 @@ const membersList = computed(() => {
return [] return []
}) })
const isLoading = ref(false) const isLoadingIndex = ref<null | number>(null)
const removeExistingTeamMember = async (userID: string) => { const removeExistingTeamMember = async (userID: string, index: number) => {
isLoading.value = true isLoadingIndex.value = index
const removeTeamMemberResult = await removeTeamMember( const removeTeamMemberResult = await removeTeamMember(
userID, userID,
props.editingTeamID props.editingTeamID
@@ -359,10 +369,14 @@ const removeExistingTeamMember = async (userID: string) => {
toast.error(`${t("error.something_went_wrong")}`) toast.error(`${t("error.something_went_wrong")}`)
} else { } else {
toast.success(`${t("team.member_removed")}`) toast.success(`${t("team.member_removed")}`)
emit("refetch-teams")
teamDetails.execute({ teamID: props.editingTeamID })
} }
isLoading.value = false isLoadingIndex.value = null
} }
const isLoading = ref(false)
const saveTeam = async () => { const saveTeam = async () => {
isLoading.value = true isLoading.value = true
if (name.value !== "") { if (name.value !== "") {

View File

@@ -61,6 +61,7 @@
:editing-team-i-d="editingTeamID" :editing-team-i-d="editingTeamID"
@hide-modal="displayModalEdit(false)" @hide-modal="displayModalEdit(false)"
@invite-team="inviteTeam(editingTeam, editingTeamID)" @invite-team="inviteTeam(editingTeam, editingTeamID)"
@refetch-teams="refetchTeams"
/> />
<TeamsInvite <TeamsInvite
v-if="!loading && myTeams.length > 0" v-if="!loading && myTeams.length > 0"
@@ -130,4 +131,8 @@ const inviteTeam = (team: any, teamID: any) => {
editingTeamID.value = teamID editingTeamID.value = teamID
displayModalInvite(true) displayModalInvite(true)
} }
const refetchTeams = () => {
adapter.fetchList()
}
</script> </script>

View File

@@ -395,6 +395,7 @@ export const useGQLQuery = <DocType, DocVarType, DocErrorType extends string>(
) )
) )
) )
console.log(res)
loading.value = false loading.value = false
} }