Mark keys as a clean archtecture

This commit is contained in:
Shin'ya Ueoka 2019-05-14 20:28:22 +09:00
parent efc48dc742
commit 2ec912c262
8 changed files with 200 additions and 7 deletions

View file

@ -0,0 +1,36 @@
import MarkKeyRepository, { MarkKeyRepositoryImpl }
from '../repositories/MarkKeyRepository';
export default class MarkKeyUseCase {
private repository: MarkKeyRepository;
constructor({
repository = new MarkKeyRepositoryImpl()
} = {}) {
this.repository = repository;
}
isSetMode(): boolean {
return this.repository.isSetMode();
}
isJumpMode(): boolean {
return this.repository.isJumpMode();
}
enableSetMode(): void {
this.repository.enableSetMode();
}
disableSetMode(): void {
this.repository.disabeSetMode();
}
enableJumpMode(): void {
this.repository.enableJumpMode();
}
disableJumpMode(): void {
this.repository.disabeJumpMode();
}
}

View file

@ -51,11 +51,15 @@ export default class MarkUseCase {
if (!pos) {
throw new Error('Mark is not set');
}
let smooth = this.settingRepository.get().properties.smoothscroll;
this.scrollPresenter.scrollTo(pos.x, pos.y, smooth);
this.scroll(pos.x, pos.y);
}
}
scroll(x: number, y: number): void {
let smooth = this.settingRepository.get().properties.smoothscroll;
this.scrollPresenter.scrollTo(x, y, smooth);
}
private globalKey(key: string) {
return (/^[A-Z0-9]$/).test(key);
}