A fork of https://github.com/ueokande/vim-vixen
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.0 KiB
41 lines
1.0 KiB
5 years ago
|
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');
|
||
|
}
|
||
|
}
|