Move some navigation operations to background

This commit is contained in:
Shin'ya Ueoka 2019-05-23 21:30:07 +09:00
parent 07897df636
commit 5a7db96feb
7 changed files with 150 additions and 13 deletions

View file

@ -0,0 +1,40 @@
import { injectable } from 'tsyringe';
import NavigateClient from '../clients/NavigateClient';
import TabPresenter from '../presenters/TabPresenter';
@injectable()
export default class NavigateUseCase {
constructor(
private tabPresenter: TabPresenter,
private navigateClient: NavigateClient,
) {
}
async openHistoryNext(): Promise<void> {
let tab = await this.tabPresenter.getCurrent();
await this.navigateClient.historyNext(tab.id!!);
}
async openHistoryPrev(): Promise<void> {
let tab = await this.tabPresenter.getCurrent();
await this.navigateClient.historyPrev(tab.id!!);
}
async openLinkNext(): Promise<void> {
let tab = await this.tabPresenter.getCurrent();
await this.navigateClient.linkNext(tab.id!!);
}
async openLinkPrev(): Promise<void> {
let tab = await this.tabPresenter.getCurrent();
await this.navigateClient.linkPrev(tab.id!!);
}
openParent(): Promise<void> {
throw new Error('not implemented');
}
openRoot(): Promise<void> {
throw new Error('not implemented');
}
}