diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2018-07-22 17:09:14 +0900 |
---|---|---|
committer | Shin'ya Ueoka <ueokande@i-beam.org> | 2018-07-22 17:09:14 +0900 |
commit | 0846587baf8ff04d2183985a61f14ccdea7263d3 (patch) | |
tree | 828223c0aa96d1e7323d67fdda148aade5022f0f /src/background/usecases | |
parent | 42d902982a1d2edbca8ca2edb5fb25e642794e2a (diff) |
Open link as Clean Architecture
Diffstat (limited to 'src/background/usecases')
-rw-r--r-- | src/background/usecases/link.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/background/usecases/link.js b/src/background/usecases/link.js new file mode 100644 index 0000000..f9e474a --- /dev/null +++ b/src/background/usecases/link.js @@ -0,0 +1,27 @@ +import SettingRepository from '../repositories/setting'; +import TabPresenter from '../presenters/tab'; + +export default class LinkInteractor { + constructor() { + this.settingRepository = new SettingRepository(); + this.tabPresenter = new TabPresenter(); + } + + openToTab(url, tabId) { + this.tabPresenter.open(url, tabId); + + } + + async openNewTab(url, openerId, background) { + let settings = await this.settingRepository.get(); + let { adjacenttab } = settings.properties; + if (adjacenttab) { + return this.tabPresenter.create(url, { + openerTabId: openerId, active: !background + }); + } + return this.tabPresenter.create(url, { + openerTabId: openerId, active: !background + }); + } +} |