Move some navigation operations to background
This commit is contained in:
parent
07897df636
commit
5a7db96feb
7 changed files with 150 additions and 13 deletions
40
src/background/usecases/NavigateUseCase.ts
Normal file
40
src/background/usecases/NavigateUseCase.ts
Normal 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');
|
||||
}
|
||||
}
|
Reference in a new issue