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
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
|
|
|