Fixed updating modal not closing as well
This commit is contained in:
@@ -1,8 +1,6 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
const { eventSkeleton, lastActiveEvent, isEditEventModalOpen } = storeToRefs(useCalendar())
|
const { eventSkeleton, lastActiveEvent, isEditEventModalOpen } = storeToRefs(useCalendar())
|
||||||
|
|
||||||
const isLoading = ref(false)
|
|
||||||
|
|
||||||
// Watch the popover state
|
// Watch the popover state
|
||||||
watch(isEditEventModalOpen, (hasOpened, _o) => {
|
watch(isEditEventModalOpen, (hasOpened, _o) => {
|
||||||
if (hasOpened && lastActiveEvent.value) {
|
if (hasOpened && lastActiveEvent.value) {
|
||||||
@@ -15,10 +13,8 @@ watch(isEditEventModalOpen, (hasOpened, _o) => {
|
|||||||
*
|
*
|
||||||
* @param e The closing event (can be keydown or click)
|
* @param e The closing event (can be keydown or click)
|
||||||
*/
|
*/
|
||||||
function handleClosing(e: Event) {
|
function handleClosing() {
|
||||||
if (isLoading.value) {
|
isEditEventModalOpen.value = false
|
||||||
e.preventDefault()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -43,7 +39,7 @@ function handleClosing(e: Event) {
|
|||||||
</UiDialogDescription>
|
</UiDialogDescription>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<CalendarFormUpdateEvent />
|
<CalendarFormUpdateEvent @event-updated="handleClosing" />
|
||||||
</UiDialogContent>
|
</UiDialogContent>
|
||||||
</UiDialog>
|
</UiDialog>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ import { PhAlarm, PhCircleNotch, PhEye, PhEyeClosed, PhMapPinArea, PhPencilSimpl
|
|||||||
import { useToast } from "~/components/ui/toast";
|
import { useToast } from "~/components/ui/toast";
|
||||||
import type { APIError } from "~/models/Errors";
|
import type { APIError } from "~/models/Errors";
|
||||||
|
|
||||||
|
const emit = defineEmits(["event-updated"])
|
||||||
|
|
||||||
const { resetSkeleton, updateEventFromSkeleton, cancelLatestRequest } = useCalendar()
|
const { resetSkeleton, updateEventFromSkeleton, cancelLatestRequest } = useCalendar()
|
||||||
const { eventSkeleton, lastActiveEvent } = storeToRefs(useCalendar())
|
const { eventSkeleton, lastActiveEvent } = storeToRefs(useCalendar())
|
||||||
|
|
||||||
@@ -22,6 +24,8 @@ async function handleAction() {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
await updateEventFromSkeleton()
|
await updateEventFromSkeleton()
|
||||||
|
|
||||||
|
emit("event-updated")
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
const apiError = (err as any).data as APIError
|
const apiError = (err as any).data as APIError
|
||||||
|
|||||||
Reference in New Issue
Block a user