diff --git a/app/javascript/dashboard/components-next/captain/pageComponents/DeleteDialog.vue b/app/javascript/dashboard/components-next/captain/pageComponents/DeleteDialog.vue index 3301e085d..31e18394f 100644 --- a/app/javascript/dashboard/components-next/captain/pageComponents/DeleteDialog.vue +++ b/app/javascript/dashboard/components-next/captain/pageComponents/DeleteDialog.vue @@ -20,6 +20,8 @@ const props = defineProps({ }, }); +const emit = defineEmits(['deleteSuccess']); + const { t } = useI18n(); const store = useStore(); const deleteDialogRef = ref(null); @@ -30,6 +32,7 @@ const deleteEntity = async payload => { try { await store.dispatch(`captain${props.type}/delete`, payload); + emit('deleteSuccess'); useAlert(t(`CAPTAIN.${i18nKey.value}.DELETE.SUCCESS_MESSAGE`)); } catch (error) { useAlert(t(`CAPTAIN.${i18nKey.value}.DELETE.ERROR_MESSAGE`)); diff --git a/app/javascript/dashboard/routes/dashboard/captain/documents/Index.vue b/app/javascript/dashboard/routes/dashboard/captain/documents/Index.vue index af2cbc0ef..cfe088055 100644 --- a/app/javascript/dashboard/routes/dashboard/captain/documents/Index.vue +++ b/app/javascript/dashboard/routes/dashboard/captain/documents/Index.vue @@ -85,6 +85,12 @@ const handleAssistantFilterChange = assistant => { const onPageChange = page => fetchDocuments(page); +const onDeleteSuccess = () => { + if (documents.value?.length === 0 && documentsMeta.value?.page > 1) { + onPageChange(documentsMeta.value.page - 1); + } +}; + onMounted(() => { if (!assistants.value.length) { store.dispatch('captainAssistants/get'); @@ -146,6 +152,7 @@ onMounted(() => { ref="deleteDocumentDialog" :entity="selectedDocument" type="Documents" + @delete-success="onDeleteSuccess" /> diff --git a/app/javascript/dashboard/routes/dashboard/captain/responses/Index.vue b/app/javascript/dashboard/routes/dashboard/captain/responses/Index.vue index 6fddcd465..e62f8f0e1 100644 --- a/app/javascript/dashboard/routes/dashboard/captain/responses/Index.vue +++ b/app/javascript/dashboard/routes/dashboard/captain/responses/Index.vue @@ -129,6 +129,12 @@ const fetchResponses = (page = 1) => { const onPageChange = page => fetchResponses(page); +const onDeleteSuccess = () => { + if (responses.value?.length === 0 && responseMeta.value?.page > 1) { + onPageChange(responseMeta.value.page - 1); + } +}; + const handleStatusFilterChange = ({ value }) => { selectedStatus.value = value; isStatusFilterOpen.value = false; @@ -211,6 +217,7 @@ onMounted(() => { ref="deleteDialog" :entity="selectedResponse" type="Responses" + @delete-success="onDeleteSuccess" />