UNPKG

@insightphp/insight

Version:

Laravel package for building control panels.

39 lines (31 loc) 759 B
import { ref } from "vue"; import type { Ref } from "vue"; export interface DialogHandler { visible: Ref<boolean> visibleContent: Ref<boolean> close: (withContent: boolean) => void hideContent: () => void } export function useDialogHandler() { const visible = ref<boolean>(false) const visibleContent = ref<boolean>(false) const open = () => { visible.value = true visibleContent.value = true } const close = (withContent: boolean = true) => { visible.value = false if (withContent) { hideContent() } } const hideContent = () => { visibleContent.value = false } const dialog: DialogHandler = { visible, visibleContent, close, hideContent } return { dialog, open, close, visible } }