set loading of deletions
This commit is contained in:
parent
b137263bef
commit
686e6a4911
@ -281,6 +281,7 @@ function sendMessage() {
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
padding: 0 10px 10px 10px;
|
padding: 0 10px 10px 10px;
|
||||||
|
min-height: 90px;
|
||||||
max-height: 500px;
|
max-height: 500px;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
@ -296,7 +297,7 @@ function sendMessage() {
|
|||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
min-height: 150px;
|
min-height: 80px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bubble-menu,
|
.bubble-menu,
|
||||||
|
@ -14,6 +14,7 @@ const room: any = inject("room");
|
|||||||
|
|
||||||
const seenLoading = ref(false);
|
const seenLoading = ref(false);
|
||||||
const flaggedLoading = ref(false);
|
const flaggedLoading = ref(false);
|
||||||
|
const deletionLoading = ref(false);
|
||||||
|
|
||||||
const setReadFlag = () => setFlag("\\Seen", seenLoading);
|
const setReadFlag = () => setFlag("\\Seen", seenLoading);
|
||||||
const setFlaggedFlag = () => setFlag("\\Flagged", flaggedLoading);
|
const setFlaggedFlag = () => setFlag("\\Flagged", flaggedLoading);
|
||||||
@ -44,26 +45,34 @@ const setFlag = (flag: string, loadingState: Ref<boolean>) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const deleteEverywhere = () => {
|
const deleteEverywhere = () => {
|
||||||
|
if (deletionLoading.value) return;
|
||||||
if (!room?.value || !props.msg) return;
|
if (!room?.value || !props.msg) return;
|
||||||
|
deletionLoading.value = true;
|
||||||
API.deleteEverywhere({ mailboxId: room.value?.mailboxId, messageId: props.msg?.id })
|
API.deleteEverywhere({ mailboxId: room.value?.mailboxId, messageId: props.msg?.id })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
store.commit("removeMsg", { roomId: room.value?.id, messageId: props.msg?.id });
|
store.commit("removeMsg", { roomId: room.value?.id, messageId: props.msg?.id });
|
||||||
|
deletionLoading.value = false;
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
|
deletionLoading.value = false;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const deleteRemoteOnly = () => {
|
const deleteRemoteOnly = () => {
|
||||||
|
if (deletionLoading.value) return;
|
||||||
if (!room?.value || !props.msg) return;
|
if (!room?.value || !props.msg) return;
|
||||||
|
deletionLoading.value = true;
|
||||||
API.deleteRemoteOnly({ mailboxId: room.value?.mailboxId, messageId: props.msg?.id })
|
API.deleteRemoteOnly({ mailboxId: room.value?.mailboxId, messageId: props.msg?.id })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (!hasFlag(props.msg?.flags, "\\Deleted")) {
|
if (!hasFlag(props.msg?.flags, "\\Deleted")) {
|
||||||
store.commit("addFlag", { roomId: room.value?.id, messageId: props.msg?.id, flag: "\\Deleted" });
|
store.commit("addFlag", { roomId: room.value?.id, messageId: props.msg?.id, flag: "\\Deleted" });
|
||||||
}
|
}
|
||||||
|
deletionLoading.value = false;
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
|
deletionLoading.value = false;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@ -98,10 +107,22 @@ const deleteRemoteOnly = () => {
|
|||||||
</span>
|
</span>
|
||||||
<SvgLoader svg="reply-line" class="option" />
|
<SvgLoader svg="reply-line" class="option" />
|
||||||
<span @click="deleteRemoteOnly()">
|
<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>
|
||||||
<span @click="deleteEverywhere()">
|
<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>
|
</span>
|
||||||
<SvgLoader svg="share-forward-line" class="option" />
|
<SvgLoader svg="share-forward-line" class="option" />
|
||||||
<SvgLoader svg="reply-all-line" class="option" />
|
<SvgLoader svg="reply-all-line" class="option" />
|
||||||
|
@ -37,7 +37,7 @@ img {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.lds-dual-ring {
|
.lds-dual-ring {
|
||||||
display: inline-block;
|
display: flex;
|
||||||
width: 26px;
|
width: 26px;
|
||||||
height: 26px;
|
height: 26px;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user