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.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
|
|
|
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) {
|
|
|
|
return 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
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|