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.
 
 
 
 

43 lines
914 B

import { inject, injectable } from "inversify"
import BaseContainer from "main/base/baseContainer"
import Tabs from "main/modules/tabs"
import WindowManager from "main/modules/window-manager"
@injectable()
class TabsService extends BaseContainer {
constructor(
@inject(Tabs) private _Tabs: Tabs,
@inject(WindowManager) private _WindowManager: WindowManager,
) {
super()
}
add(e) {
this._Tabs.add(e.body.url, true, this._WindowManager.getMainWindow()!)
}
setActive(e) {
this._Tabs.changeActive(e.body.active)
}
closeTab(e) {
this._Tabs.remove(e.body.active)
}
closeTabAll(e) {
this._Tabs.removeAll(e.body.active)
}
getAllTabs() {
return this._Tabs._tabs.map(v => ({
url: v.url,
showUrl: v.showUrl,
title: v.title,
favicons: v.favicons,
isActive: v.isActive,
}))
}
}
export { TabsService }
export default TabsService