Mark keys as a clean archtecture
This commit is contained in:
parent
efc48dc742
commit
2ec912c262
8 changed files with 200 additions and 7 deletions
36
src/content/usecases/MarkKeyUseCase.ts
Normal file
36
src/content/usecases/MarkKeyUseCase.ts
Normal 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();
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
|
Reference in a new issue