| @@ -122,7 +122,7 @@ function close() { | ||||
| } | ||||
|  | ||||
| function expand() { | ||||
| 	mainRouter.push(router.getCurrentPath()); | ||||
| 	mainRouter.push(router.getCurrentPath(), 'forcePage'); | ||||
| 	windowEl.close(); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -71,7 +71,7 @@ export class Router extends EventEmitter<{ | ||||
| 	private currentKey = Date.now().toString(); | ||||
|  | ||||
| 	public currentRoute: ShallowRef<RouteDef | null> = shallowRef(null); | ||||
| 	public navHook: ((path: string) => boolean) | null = null; | ||||
| 	public navHook: ((path: string, flag?: any) => boolean) | null = null; | ||||
|  | ||||
| 	constructor(routes: Router['routes'], currentPath: Router['currentPath']) { | ||||
| 		super(); | ||||
| @@ -213,14 +213,14 @@ export class Router extends EventEmitter<{ | ||||
| 		return this.currentKey; | ||||
| 	} | ||||
|  | ||||
| 	public push(path: string) { | ||||
| 	public push(path: string, flag?: any) { | ||||
| 		const beforePath = this.currentPath; | ||||
| 		if (path === beforePath) { | ||||
| 			this.emit('same'); | ||||
| 			return; | ||||
| 		} | ||||
| 		if (this.navHook) { | ||||
| 			const cancel = this.navHook(path); | ||||
| 			const cancel = this.navHook(path, flag); | ||||
| 			if (cancel) return; | ||||
| 		} | ||||
| 		this.navigate(path, null); | ||||
|   | ||||
| @@ -89,7 +89,8 @@ import { mainRouter } from '@/router'; | ||||
| import { unisonReload } from '@/scripts/unison-reload'; | ||||
| const XStatusBars = defineAsyncComponent(() => import('@/ui/_common_/statusbars.vue')); | ||||
|  | ||||
| mainRouter.navHook = (path): boolean => { | ||||
| mainRouter.navHook = (path, flag): boolean => { | ||||
| 	if (flag === 'forcePage') return false; | ||||
| 	const noMainColumn = !deckStore.state.columns.some(x => x.type === 'main'); | ||||
| 	if (deckStore.state.navWindow || noMainColumn) { | ||||
| 		os.pageWindow(path); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 syuilo
					syuilo