fix(client): デッキUI時に ページで表示 ボタンが機能しない問題を修正

Fix #9010
This commit is contained in:
syuilo 2022-07-17 05:12:22 +09:00
parent a974ab00d7
commit 77d4d6e377
4 changed files with 13 additions and 5 deletions

View file

@ -9,6 +9,13 @@
You should also include the user name that made the change.
-->
## 12.x.x (unreleased)
### Improvements
### Bugfixes
- Client: デッキUI時に ページで表示 ボタンが機能しない問題を修正 @syuilo
## 12.116.0 (2022/07/16)
### Improvements

View file

@ -122,7 +122,7 @@ function close() {
}
function expand() {
mainRouter.push(router.getCurrentPath());
mainRouter.push(router.getCurrentPath(), 'forcePage');
windowEl.close();
}

View file

@ -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);

View file

@ -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);