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.
36 lines
824 B
36 lines
824 B
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(); |
|
} |
|
}
|
|
|