Find as a controller

This commit is contained in:
Shin'ya Ueoka 2019-05-11 13:55:25 +09:00
parent ad1f3c07fb
commit fcd15f4f09
9 changed files with 78 additions and 75 deletions

View file

@ -1,36 +0,0 @@
import * as messages from '../../../shared/messages';
import MessageListener from '../../MessageListener';
import FindUseCase from '../../usecases/FindUseCase';
let findUseCase = new FindUseCase();
export default class FindComponent {
constructor() {
new MessageListener().onWebMessage(this.onMessage.bind(this));
}
onMessage(message: messages.Message) {
switch (message.type) {
case messages.CONSOLE_ENTER_FIND:
return this.start(message.text);
case messages.FIND_NEXT:
return this.next();
case messages.FIND_PREV:
return this.prev();
}
return Promise.resolve();
}
start(text: string) {
return findUseCase.startFind(text.length === 0 ? null : text);
}
next() {
return findUseCase.findNext();
}
prev() {
return findUseCase.findPrev();
}
}

View file

@ -1,6 +1,5 @@
import CommonComponent from '../common';
import FollowController from './follow-controller';
import FindComponent from './find';
import * as consoleFrames from '../../console-frames';
import * as messages from '../../../shared/messages';
import MessageListener from '../../MessageListener';
@ -18,7 +17,6 @@ export default class TopContent {
new CommonComponent(win, store); // eslint-disable-line no-new
new FollowController(win, store); // eslint-disable-line no-new
new FindComponent(); // eslint-disable-line no-new
// TODO make component
consoleFrames.initialize(this.win.document);