Move open parent and open root to background

This commit is contained in:
Shin'ya Ueoka 2019-05-24 21:51:18 +09:00
parent e779fb1779
commit 8d0739463d
8 changed files with 108 additions and 57 deletions

View file

@ -30,11 +30,28 @@ export default class NavigateUseCase {
await this.navigateClient.linkPrev(tab.id!!);
}
openParent(): Promise<void> {
throw new Error('not implemented');
async openParent(): Promise<void> {
let tab = await this.tabPresenter.getCurrent();
let url = new URL(tab.url!!);
if (url.hash !== '') {
url.hash = '';
} else if (url.search !== '') {
url.search = '';
} else {
const basenamePattern = /\/[^/]+$/;
const lastDirPattern = /\/[^/]+\/$/;
if (basenamePattern.test(url.pathname)) {
url.pathname = url.pathname.replace(basenamePattern, '/');
} else if (lastDirPattern.test(url.pathname)) {
url.pathname = url.pathname.replace(lastDirPattern, '/');
}
}
await this.tabPresenter.open(url.href);
}
openRoot(): Promise<void> {
throw new Error('not implemented');
async openRoot(): Promise<void> {
let tab = await this.tabPresenter.getCurrent();
let url = new URL(tab.url!!);
await this.tabPresenter.open(url.origin);
}
}