Open link as Clean Architecture
This commit is contained in:
parent
42d902982a
commit
0846587baf
5 changed files with 73 additions and 12 deletions
27
src/background/usecases/link.js
Normal file
27
src/background/usecases/link.js
Normal file
|
@ -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
|
||||
});
|
||||
}
|
||||
}
|
Reference in a new issue