parent
21788740c1
commit
a26d8a8a1b
50 changed files with 247 additions and 245 deletions
@ -0,0 +1,11 @@ |
|||||||
|
import AddonEnabledUseCase from '../usecases/AddonEnabledUseCase'; |
||||||
|
|
||||||
|
export default class AddonEnabledController { |
||||||
|
constructor() { |
||||||
|
this.addonEnabledUseCase = new AddonEnabledUseCase(); |
||||||
|
} |
||||||
|
|
||||||
|
indicate(enabled) { |
||||||
|
return this.addonEnabledUseCase.indicate(enabled); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,15 @@ |
|||||||
|
import FindUseCase from '../usecases/FindUseCase'; |
||||||
|
|
||||||
|
export default class FindController { |
||||||
|
constructor() { |
||||||
|
this.findUseCase = new FindUseCase(); |
||||||
|
} |
||||||
|
|
||||||
|
getKeyword() { |
||||||
|
return this.findUseCase.getKeyword(); |
||||||
|
} |
||||||
|
|
||||||
|
setKeyword(keyword) { |
||||||
|
return this.findUseCase.setKeyword(keyword); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,15 @@ |
|||||||
|
import LinkUseCase from '../usecases/LinkUseCase'; |
||||||
|
|
||||||
|
export default class LinkController { |
||||||
|
constructor() { |
||||||
|
this.linkUseCase = new LinkUseCase(); |
||||||
|
} |
||||||
|
|
||||||
|
openToTab(url, tabId) { |
||||||
|
this.linkUseCase.openToTab(url, tabId); |
||||||
|
} |
||||||
|
|
||||||
|
openNewTab(url, openerId, background) { |
||||||
|
this.linkUseCase.openNewTab(url, openerId, background); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,15 @@ |
|||||||
|
import MarkUseCase from '../usecases/MarkUseCase'; |
||||||
|
|
||||||
|
export default class MarkController { |
||||||
|
constructor() { |
||||||
|
this.markUseCase = new MarkUseCase(); |
||||||
|
} |
||||||
|
|
||||||
|
setGlobal(key, x, y) { |
||||||
|
this.markUseCase.setGlobal(key, x, y); |
||||||
|
} |
||||||
|
|
||||||
|
jumpGlobal(key) { |
||||||
|
this.markUseCase.jumpGlobal(key); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,69 @@ |
|||||||
|
import operations from '../../shared/operations'; |
||||||
|
import OperationUseCase from '../usecases/OperationUseCase'; |
||||||
|
|
||||||
|
export default class OperationController { |
||||||
|
constructor() { |
||||||
|
this.operationUseCase = new OperationUseCase(); |
||||||
|
} |
||||||
|
|
||||||
|
// eslint-disable-next-line complexity, max-lines-per-function
|
||||||
|
exec(operation) { |
||||||
|
switch (operation.type) { |
||||||
|
case operations.TAB_CLOSE: |
||||||
|
return this.operationUseCase.close(false); |
||||||
|
case operations.TAB_CLOSE_RIGHT: |
||||||
|
return this.operationUseCase.closeRight(); |
||||||
|
case operations.TAB_CLOSE_FORCE: |
||||||
|
return this.operationUseCase.close(true); |
||||||
|
case operations.TAB_REOPEN: |
||||||
|
return this.operationUseCase.reopen(); |
||||||
|
case operations.TAB_PREV: |
||||||
|
return this.operationUseCase.selectPrev(1); |
||||||
|
case operations.TAB_NEXT: |
||||||
|
return this.operationUseCase.selectNext(1); |
||||||
|
case operations.TAB_FIRST: |
||||||
|
return this.operationUseCase.selectFirst(); |
||||||
|
case operations.TAB_LAST: |
||||||
|
return this.operationUseCase.selectLast(); |
||||||
|
case operations.TAB_PREV_SEL: |
||||||
|
return this.operationUseCase.selectPrevSelected(); |
||||||
|
case operations.TAB_RELOAD: |
||||||
|
return this.operationUseCase.reload(operation.cache); |
||||||
|
case operations.TAB_PIN: |
||||||
|
return this.operationUseCase.setPinned(true); |
||||||
|
case operations.TAB_UNPIN: |
||||||
|
return this.operationUseCase.setPinned(false); |
||||||
|
case operations.TAB_TOGGLE_PINNED: |
||||||
|
return this.operationUseCase.togglePinned(); |
||||||
|
case operations.TAB_DUPLICATE: |
||||||
|
return this.operationUseCase.duplicate(); |
||||||
|
case operations.PAGE_SOURCE: |
||||||
|
return this.operationUseCase.openPageSource(); |
||||||
|
case operations.PAGE_HOME: |
||||||
|
return this.operationUseCase.openHome(operation.newTab); |
||||||
|
case operations.ZOOM_IN: |
||||||
|
return this.operationUseCase.zoomIn(); |
||||||
|
case operations.ZOOM_OUT: |
||||||
|
return this.operationUseCase.zoomOut(); |
||||||
|
case operations.ZOOM_NEUTRAL: |
||||||
|
return this.operationUseCase.zoomNutoral(); |
||||||
|
case operations.COMMAND_SHOW: |
||||||
|
return this.operationUseCase.showCommand(); |
||||||
|
case operations.COMMAND_SHOW_OPEN: |
||||||
|
return this.operationUseCase.showOpenCommand(operation.alter); |
||||||
|
case operations.COMMAND_SHOW_TABOPEN: |
||||||
|
return this.operationUseCase.showTabopenCommand(operation.alter); |
||||||
|
case operations.COMMAND_SHOW_WINOPEN: |
||||||
|
return this.operationUseCase.showWinopenCommand(operation.alter); |
||||||
|
case operations.COMMAND_SHOW_BUFFER: |
||||||
|
return this.operationUseCase.showBufferCommand(); |
||||||
|
case operations.COMMAND_SHOW_ADDBOOKMARK: |
||||||
|
return this.operationUseCase.showAddbookmarkCommand(operation.alter); |
||||||
|
case operations.FIND_START: |
||||||
|
return this.operationUseCase.findStart(); |
||||||
|
case operations.CANCEL: |
||||||
|
return this.operationUseCase.hideConsole(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
@ -0,0 +1,18 @@ |
|||||||
|
import SettingUseCase from '../usecases/SettingUseCase'; |
||||||
|
import ContentMessageClient from '../infrastructures/ContentMessageClient'; |
||||||
|
|
||||||
|
export default class SettingController { |
||||||
|
constructor() { |
||||||
|
this.settingUseCase = new SettingUseCase(); |
||||||
|
this.contentMessageClient = new ContentMessageClient(); |
||||||
|
} |
||||||
|
|
||||||
|
getSetting() { |
||||||
|
return this.settingUseCase.get(); |
||||||
|
} |
||||||
|
|
||||||
|
async reload() { |
||||||
|
await this.settingUseCase.reload(); |
||||||
|
this.contentMessageClient.broadcastSettingsChanged(); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
import VersionUseCase from '../usecases/VersionUseCase'; |
||||||
|
|
||||||
|
export default class VersionController { |
||||||
|
constructor() { |
||||||
|
this.versionUseCase = new VersionUseCase(); |
||||||
|
} |
||||||
|
|
||||||
|
notifyIfUpdated() { |
||||||
|
this.versionUseCase.notifyIfUpdated(); |
||||||
|
} |
||||||
|
} |
@ -1,11 +0,0 @@ |
|||||||
import AddonEnabledInteractor from '../usecases/addon-enabled'; |
|
||||||
|
|
||||||
export default class AddonEnabledController { |
|
||||||
constructor() { |
|
||||||
this.addonEnabledInteractor = new AddonEnabledInteractor(); |
|
||||||
} |
|
||||||
|
|
||||||
indicate(enabled) { |
|
||||||
return this.addonEnabledInteractor.indicate(enabled); |
|
||||||
} |
|
||||||
} |
|
@ -1,15 +0,0 @@ |
|||||||
import FindInteractor from '../usecases/find'; |
|
||||||
|
|
||||||
export default class FindController { |
|
||||||
constructor() { |
|
||||||
this.findInteractor = new FindInteractor(); |
|
||||||
} |
|
||||||
|
|
||||||
getKeyword() { |
|
||||||
return this.findInteractor.getKeyword(); |
|
||||||
} |
|
||||||
|
|
||||||
setKeyword(keyword) { |
|
||||||
return this.findInteractor.setKeyword(keyword); |
|
||||||
} |
|
||||||
} |
|
@ -1,15 +0,0 @@ |
|||||||
import LinkInteractor from '../usecases/link'; |
|
||||||
|
|
||||||
export default class LinkController { |
|
||||||
constructor() { |
|
||||||
this.linkInteractor = new LinkInteractor(); |
|
||||||
} |
|
||||||
|
|
||||||
openToTab(url, tabId) { |
|
||||||
this.linkInteractor.openToTab(url, tabId); |
|
||||||
} |
|
||||||
|
|
||||||
openNewTab(url, openerId, background) { |
|
||||||
this.linkInteractor.openNewTab(url, openerId, background); |
|
||||||
} |
|
||||||
} |
|
@ -1,15 +0,0 @@ |
|||||||
import MarkInteractor from '../usecases/mark'; |
|
||||||
|
|
||||||
export default class MarkController { |
|
||||||
constructor() { |
|
||||||
this.markInteractor = new MarkInteractor(); |
|
||||||
} |
|
||||||
|
|
||||||
setGlobal(key, x, y) { |
|
||||||
this.markInteractor.setGlobal(key, x, y); |
|
||||||
} |
|
||||||
|
|
||||||
jumpGlobal(key) { |
|
||||||
this.markInteractor.jumpGlobal(key); |
|
||||||
} |
|
||||||
} |
|
@ -1,69 +0,0 @@ |
|||||||
import operations from '../../shared/operations'; |
|
||||||
import OperationInteractor from '../usecases/operation'; |
|
||||||
|
|
||||||
export default class OperationController { |
|
||||||
constructor() { |
|
||||||
this.operationInteractor = new OperationInteractor(); |
|
||||||
} |
|
||||||
|
|
||||||
// eslint-disable-next-line complexity, max-lines-per-function
|
|
||||||
exec(operation) { |
|
||||||
switch (operation.type) { |
|
||||||
case operations.TAB_CLOSE: |
|
||||||
return this.operationInteractor.close(false); |
|
||||||
case operations.TAB_CLOSE_RIGHT: |
|
||||||
return this.operationInteractor.closeRight(); |
|
||||||
case operations.TAB_CLOSE_FORCE: |
|
||||||
return this.operationInteractor.close(true); |
|
||||||
case operations.TAB_REOPEN: |
|
||||||
return this.operationInteractor.reopen(); |
|
||||||
case operations.TAB_PREV: |
|
||||||
return this.operationInteractor.selectPrev(1); |
|
||||||
case operations.TAB_NEXT: |
|
||||||
return this.operationInteractor.selectNext(1); |
|
||||||
case operations.TAB_FIRST: |
|
||||||
return this.operationInteractor.selectFirst(); |
|
||||||
case operations.TAB_LAST: |
|
||||||
return this.operationInteractor.selectLast(); |
|
||||||
case operations.TAB_PREV_SEL: |
|
||||||
return this.operationInteractor.selectPrevSelected(); |
|
||||||
case operations.TAB_RELOAD: |
|
||||||
return this.operationInteractor.reload(operation.cache); |
|
||||||
case operations.TAB_PIN: |
|
||||||
return this.operationInteractor.setPinned(true); |
|
||||||
case operations.TAB_UNPIN: |
|
||||||
return this.operationInteractor.setPinned(false); |
|
||||||
case operations.TAB_TOGGLE_PINNED: |
|
||||||
return this.operationInteractor.togglePinned(); |
|
||||||
case operations.TAB_DUPLICATE: |
|
||||||
return this.operationInteractor.duplicate(); |
|
||||||
case operations.PAGE_SOURCE: |
|
||||||
return this.operationInteractor.openPageSource(); |
|
||||||
case operations.PAGE_HOME: |
|
||||||
return this.operationInteractor.openHome(operation.newTab); |
|
||||||
case operations.ZOOM_IN: |
|
||||||
return this.operationInteractor.zoomIn(); |
|
||||||
case operations.ZOOM_OUT: |
|
||||||
return this.operationInteractor.zoomOut(); |
|
||||||
case operations.ZOOM_NEUTRAL: |
|
||||||
return this.operationInteractor.zoomNutoral(); |
|
||||||
case operations.COMMAND_SHOW: |
|
||||||
return this.operationInteractor.showCommand(); |
|
||||||
case operations.COMMAND_SHOW_OPEN: |
|
||||||
return this.operationInteractor.showOpenCommand(operation.alter); |
|
||||||
case operations.COMMAND_SHOW_TABOPEN: |
|
||||||
return this.operationInteractor.showTabopenCommand(operation.alter); |
|
||||||
case operations.COMMAND_SHOW_WINOPEN: |
|
||||||
return this.operationInteractor.showWinopenCommand(operation.alter); |
|
||||||
case operations.COMMAND_SHOW_BUFFER: |
|
||||||
return this.operationInteractor.showBufferCommand(); |
|
||||||
case operations.COMMAND_SHOW_ADDBOOKMARK: |
|
||||||
return this.operationInteractor.showAddbookmarkCommand(operation.alter); |
|
||||||
case operations.FIND_START: |
|
||||||
return this.operationInteractor.findStart(); |
|
||||||
case operations.CANCEL: |
|
||||||
return this.operationInteractor.hideConsole(); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
@ -1,18 +0,0 @@ |
|||||||
import SettingInteractor from '../usecases/setting'; |
|
||||||
import ContentMessageClient from '../infrastructures/content-message-client'; |
|
||||||
|
|
||||||
export default class SettingController { |
|
||||||
constructor() { |
|
||||||
this.settingInteractor = new SettingInteractor(); |
|
||||||
this.contentMessageClient = new ContentMessageClient(); |
|
||||||
} |
|
||||||
|
|
||||||
getSetting() { |
|
||||||
return this.settingInteractor.get(); |
|
||||||
} |
|
||||||
|
|
||||||
async reload() { |
|
||||||
await this.settingInteractor.reload(); |
|
||||||
this.contentMessageClient.broadcastSettingsChanged(); |
|
||||||
} |
|
||||||
} |
|
@ -1,11 +0,0 @@ |
|||||||
import VersionInteractor from '../usecases/version'; |
|
||||||
|
|
||||||
export default class VersionController { |
|
||||||
constructor() { |
|
||||||
this.versionInteractor = new VersionInteractor(); |
|
||||||
} |
|
||||||
|
|
||||||
notifyIfUpdated() { |
|
||||||
this.versionInteractor.notifyIfUpdated(); |
|
||||||
} |
|
||||||
} |
|
@ -1,11 +1,11 @@ |
|||||||
import messages from '../../shared/messages'; |
import messages from '../../shared/messages'; |
||||||
import CommandController from '../controllers/command'; |
import CommandController from '../controllers/CommandController'; |
||||||
import SettingController from '../controllers/setting'; |
import SettingController from '../controllers/SettingController'; |
||||||
import FindController from '../controllers/find'; |
import FindController from '../controllers/FindController'; |
||||||
import AddonEnabledController from '../controllers/addon-enabled'; |
import AddonEnabledController from '../controllers/AddonEnabledController'; |
||||||
import LinkController from '../controllers/link'; |
import LinkController from '../controllers/LinkController'; |
||||||
import OperationController from '../controllers/operation'; |
import OperationController from '../controllers/OperationController'; |
||||||
import MarkController from '../controllers/mark'; |
import MarkController from '../controllers/MarkController'; |
||||||
|
|
||||||
export default class ContentMessageListener { |
export default class ContentMessageListener { |
||||||
constructor() { |
constructor() { |
@ -1,4 +1,4 @@ |
|||||||
import MemoryStorage from '../infrastructures/memory-storage'; |
import MemoryStorage from '../infrastructures/MemoryStorage'; |
||||||
|
|
||||||
const CURRENT_SELECTED_KEY = 'tabs.current.selected'; |
const CURRENT_SELECTED_KEY = 'tabs.current.selected'; |
||||||
const LAST_SELECTED_KEY = 'tabs.last.selected'; |
const LAST_SELECTED_KEY = 'tabs.last.selected'; |
@ -1,4 +1,4 @@ |
|||||||
import MemoryStorage from '../infrastructures/memory-storage'; |
import MemoryStorage from '../infrastructures/MemoryStorage'; |
||||||
|
|
||||||
const FIND_KEYWORD_KEY = 'find-keyword'; |
const FIND_KEYWORD_KEY = 'find-keyword'; |
||||||
|
|
@ -1,5 +1,5 @@ |
|||||||
import MemoryStorage from '../infrastructures/memory-storage'; |
import MemoryStorage from '../infrastructures/MemoryStorage'; |
||||||
import GlobalMark from 'background/domains/global-mark'; |
import GlobalMark from '../domains/GlobalMark'; |
||||||
|
|
||||||
const MARK_KEY = 'mark'; |
const MARK_KEY = 'mark'; |
||||||
|
|
@ -1,4 +1,4 @@ |
|||||||
import Setting from '../domains/setting'; |
import Setting from '../domains/Setting'; |
||||||
|
|
||||||
export default class SettingRepository { |
export default class SettingRepository { |
||||||
save(settings) { |
save(settings) { |
@ -1,4 +1,4 @@ |
|||||||
import MemoryStorage from '../infrastructures/memory-storage'; |
import MemoryStorage from '../infrastructures/MemoryStorage'; |
||||||
|
|
||||||
const CACHED_SETTING_KEY = 'setting'; |
const CACHED_SETTING_KEY = 'setting'; |
||||||
|
|
@ -1,8 +1,8 @@ |
|||||||
import IndicatorPresenter from '../presenters/indicator'; |
import IndicatorPresenter from '../presenters/IndicatorPresenter'; |
||||||
import TabPresenter from '../presenters/tab'; |
import TabPresenter from '../presenters/TabPresenter'; |
||||||
import ContentMessageClient from '../infrastructures/content-message-client'; |
import ContentMessageClient from '../infrastructures/ContentMessageClient'; |
||||||
|
|
||||||
export default class AddonEnabledInteractor { |
export default class AddonEnabledUseCase { |
||||||
constructor() { |
constructor() { |
||||||
this.indicatorPresentor = new IndicatorPresenter(); |
this.indicatorPresentor = new IndicatorPresenter(); |
||||||
|
|
@ -1,6 +1,6 @@ |
|||||||
import FindRepository from '../repositories/find'; |
import FindRepository from '../repositories/FindRepository'; |
||||||
|
|
||||||
export default class FindInteractor { |
export default class FindUseCase { |
||||||
constructor() { |
constructor() { |
||||||
this.findRepository = new FindRepository(); |
this.findRepository = new FindRepository(); |
||||||
} |
} |
@ -1,7 +1,7 @@ |
|||||||
import SettingRepository from '../repositories/setting'; |
import SettingRepository from '../repositories/SettingRepository'; |
||||||
import TabPresenter from '../presenters/tab'; |
import TabPresenter from '../presenters/TabPresenter'; |
||||||
|
|
||||||
export default class LinkInteractor { |
export default class LinkUseCase { |
||||||
constructor() { |
constructor() { |
||||||
this.settingRepository = new SettingRepository(); |
this.settingRepository = new SettingRepository(); |
||||||
this.tabPresenter = new TabPresenter(); |
this.tabPresenter = new TabPresenter(); |
@ -1,8 +1,9 @@ |
|||||||
import Setting from '../domains/setting'; |
import Setting from '../domains/Setting'; |
||||||
import PersistentSettingRepository from '../repositories/persistent-setting'; |
// eslint-disable-next-line max-len
|
||||||
import SettingRepository from '../repositories/setting'; |
import PersistentSettingRepository from '../repositories/PersistentSettingRepository'; |
||||||
|
import SettingRepository from '../repositories/SettingRepository'; |
||||||
|
|
||||||
export default class SettingInteractor { |
export default class SettingUseCase { |
||||||
constructor() { |
constructor() { |
||||||
this.persistentSettingRepository = new PersistentSettingRepository(); |
this.persistentSettingRepository = new PersistentSettingRepository(); |
||||||
this.settingRepository = new SettingRepository(); |
this.settingRepository = new SettingRepository(); |
@ -1,9 +1,9 @@ |
|||||||
import manifest from '../../../manifest.json'; |
import manifest from '../../../manifest.json'; |
||||||
import VersionRepository from '../repositories/version'; |
import VersionRepository from '../repositories/VersionRepository'; |
||||||
import TabPresenter from '../presenters/tab'; |
import TabPresenter from '../presenters/TabPresenter'; |
||||||
import Notifier from '../infrastructures/notifier'; |
import Notifier from '../infrastructures/Notifier'; |
||||||
|
|
||||||
export default class VersionInteractor { |
export default class VersionUseCase { |
||||||
constructor() { |
constructor() { |
||||||
this.versionRepository = new VersionRepository(); |
this.versionRepository = new VersionRepository(); |
||||||
this.tabPresenter = new TabPresenter(); |
this.tabPresenter = new TabPresenter(); |
@ -1,4 +1,4 @@ |
|||||||
import GlobalMark from 'background/domains/global-mark'; |
import GlobalMark from 'background/domains/GlobalMark'; |
||||||
|
|
||||||
describe('background/domains/global-mark', () => { |
describe('background/domains/global-mark', () => { |
||||||
describe('constructor and getter', () => { |
describe('constructor and getter', () => { |
@ -1,4 +1,4 @@ |
|||||||
import MemoryStorage from 'background/infrastructures/memory-storage'; |
import MemoryStorage from 'background/infrastructures/MemoryStorage'; |
||||||
|
|
||||||
describe("background/infrastructures/memory-storage", () => { |
describe("background/infrastructures/memory-storage", () => { |
||||||
it('stores values', () => { |
it('stores values', () => { |
@ -1,5 +1,5 @@ |
|||||||
import MarkRepository from 'background/repositories/mark'; |
import MarkRepository from 'background/repositories/MarkRepository'; |
||||||
import GlobalMark from 'background/domains/global-mark'; |
import GlobalMark from 'background/domains/GlobalMark'; |
||||||
|
|
||||||
describe('background/repositories/mark', () => { |
describe('background/repositories/mark', () => { |
||||||
let repository; |
let repository; |
@ -1,4 +1,4 @@ |
|||||||
import VersionRepository from 'background/repositories/version'; |
import VersionRepository from 'background/repositories/Version'; |
||||||
|
|
||||||
describe("background/repositories/version", () => { |
describe("background/repositories/version", () => { |
||||||
let versionRepository; |
let versionRepository; |
Reference in new issue