set loading of deletions
This commit is contained in:
@@ -14,6 +14,7 @@ const room: any = inject("room");
|
||||
|
||||
const seenLoading = ref(false);
|
||||
const flaggedLoading = ref(false);
|
||||
const deletionLoading = ref(false);
|
||||
|
||||
const setReadFlag = () => setFlag("\\Seen", seenLoading);
|
||||
const setFlaggedFlag = () => setFlag("\\Flagged", flaggedLoading);
|
||||
@@ -44,26 +45,34 @@ const setFlag = (flag: string, loadingState: Ref<boolean>) => {
|
||||
};
|
||||
|
||||
const deleteEverywhere = () => {
|
||||
if (deletionLoading.value) return;
|
||||
if (!room?.value || !props.msg) return;
|
||||
deletionLoading.value = true;
|
||||
API.deleteEverywhere({ mailboxId: room.value?.mailboxId, messageId: props.msg?.id })
|
||||
.then((res) => {
|
||||
store.commit("removeMsg", { roomId: room.value?.id, messageId: props.msg?.id });
|
||||
deletionLoading.value = false;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
deletionLoading.value = false;
|
||||
});
|
||||
};
|
||||
|
||||
const deleteRemoteOnly = () => {
|
||||
if (deletionLoading.value) return;
|
||||
if (!room?.value || !props.msg) return;
|
||||
deletionLoading.value = true;
|
||||
API.deleteRemoteOnly({ mailboxId: room.value?.mailboxId, messageId: props.msg?.id })
|
||||
.then((res) => {
|
||||
if (!hasFlag(props.msg?.flags, "\\Deleted")) {
|
||||
store.commit("addFlag", { roomId: room.value?.id, messageId: props.msg?.id, flag: "\\Deleted" });
|
||||
}
|
||||
deletionLoading.value = false;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
deletionLoading.value = false;
|
||||
});
|
||||
};
|
||||
</script>
|
||||
@@ -98,10 +107,22 @@ const deleteRemoteOnly = () => {
|
||||
</span>
|
||||
<SvgLoader svg="reply-line" class="option" />
|
||||
<span @click="deleteRemoteOnly()">
|
||||
<SvgLoader svg="delete-bin-4-line" class="option" classes="danger" v-tooltip="'Delete from remote'" />
|
||||
<SvgLoader
|
||||
svg="delete-bin-4-line"
|
||||
class="option"
|
||||
:loading="deletionLoading"
|
||||
classes="danger"
|
||||
v-tooltip="'Delete from remote'"
|
||||
/>
|
||||
</span>
|
||||
<span @click="deleteEverywhere()">
|
||||
<SvgLoader svg="delete-bin-6-line" class="option" classes="danger" v-tooltip="'Delete everywhere'" />
|
||||
<SvgLoader
|
||||
svg="delete-bin-6-line"
|
||||
class="option"
|
||||
:loading="deletionLoading"
|
||||
classes="danger"
|
||||
v-tooltip="'Delete everywhere'"
|
||||
/>
|
||||
</span>
|
||||
<SvgLoader svg="share-forward-line" class="option" />
|
||||
<SvgLoader svg="reply-all-line" class="option" />
|
||||
|
||||
Reference in New Issue
Block a user