From 019e25137c4fac47d0b0b633a2734f7d004e05af Mon Sep 17 00:00:00 2001 From: Geriano Date: Sun, 31 Jul 2022 10:06:45 +0700 Subject: [PATCH] implementing data table refresh --- resources/js/Pages/Superuser/Role/Index.vue | 30 ++++++++-------- resources/js/Pages/Superuser/User/Index.vue | 39 +++++++++++---------- 2 files changed, 36 insertions(+), 33 deletions(-) diff --git a/resources/js/Pages/Superuser/Role/Index.vue b/resources/js/Pages/Superuser/Role/Index.vue index fdd66e6..2e3ae40 100644 --- a/resources/js/Pages/Superuser/Role/Index.vue +++ b/resources/js/Pages/Superuser/Role/Index.vue @@ -19,13 +19,14 @@ const self = getCurrentInstance() const { permissions } = defineProps({ permissions: Array, }) + const form = useForm({ id: null, name: '', permissions: [], }) -const tableRefresh = ref(null) +const table = ref(null) const open = ref(false) const show = () => { @@ -36,9 +37,10 @@ const show = () => { const close = () => { open.value = false form.reset() + table.value?.refresh() } -const detach = async (role, permission, refresh) => { +const detach = async (role, permission) => { const response = await Swal.fire({ title: 'are you sure?', icon: 'question', @@ -49,13 +51,13 @@ const detach = async (role, permission, refresh) => { if (!response.isConfirmed) return - Inertia.on('finish', () => refresh()) + Inertia.on('finish', () => close()) Inertia.patch(route('superuser.role.detach', { role: role.id, permission: permission.id })) } const store = () => { return form.post(route('superuser.role.store'), { - onSuccess: () => close() || (tableRefresh.value && tableRefresh.value()), + onSuccess: () => close(), onError: () => show(), }) } @@ -70,12 +72,12 @@ const edit = role => { const update = () => { return form.patch(route('superuser.role.update', form.id), { - onSuccess: () => close() || (tableRefresh.value && tableRefresh.value()), + onSuccess: () => close(), onError: () => show(), }) } -const destroy = async (role, refresh) => { +const destroy = async role => { const response = await Swal.fire({ title: 'Are you sure?', text: 'You can\'t restore it after deleted', @@ -85,7 +87,7 @@ const destroy = async (role, refresh) => { }) if (response.isConfirmed) { - Inertia.on('finish', () => refresh()) + Inertia.on('finish', () => close()) return Inertia.delete(route('superuser.role.destroy', role.id)) } @@ -114,8 +116,8 @@ onUnmounted(() => window.removeEventListener('keydown', esc))