Files
2020-09-11 13:03:39 -04:00

26 lines
700 B
TypeScript

import { BackButtonEvent } from '@ionic/core';
import { inject } from 'vue';
type Handler = (processNextHandler: () => void) => Promise<any> | void | null;
export interface IonRouter {
canGoBack: (deep?: number) => boolean;
}
export const useBackButton = (priority: number, handler: Handler) => {
const callback = (ev: BackButtonEvent) => ev.detail.register(priority, handler);
const unregister = () => document.removeEventListener('ionBackButton', callback);
document.addEventListener('ionBackButton', callback);
return { unregister };
}
export const useIonRouter = (): IonRouter => {
const { canGoBack } = inject('navManager') as any;
return {
canGoBack
} as IonRouter
}