Fix extension register tab with API (#229)

* Get rid of extension manager impl

* nit

* Test register tab
This commit is contained in:
Chenlei Hu
2024-07-26 10:29:20 -04:00
committed by GitHub
parent 8e1d3f3baa
commit ee6eed1c1c
6 changed files with 52 additions and 65 deletions

View File

@@ -39,25 +39,24 @@ import SideBarIcon from './SideBarIcon.vue'
import SideBarThemeToggleIcon from './SideBarThemeToggleIcon.vue'
import SideBarSettingsToggleIcon from './SideBarSettingsToggleIcon.vue'
import { computed, onBeforeUnmount } from 'vue'
import { app } from '@/scripts/app'
import { useWorkspaceStore } from '@/stores/workspaceStateStore'
import {
CustomSidebarTabExtension,
SidebarTabExtension
} from '@/types/extensionTypes'
const workspaceStateStore = useWorkspaceStore()
const tabs = computed(() => app.extensionManager.getSidebarTabs())
const workspaceStore = useWorkspaceStore()
const tabs = computed(() => workspaceStore.getSidebarTabs())
const selectedTab = computed<SidebarTabExtension | null>(() => {
const tabId = workspaceStateStore.activeSidebarTab
const tabId = workspaceStore.activeSidebarTab
return tabs.value.find((tab) => tab.id === tabId) || null
})
const mountCustomTab = (tab: CustomSidebarTabExtension, el: HTMLElement) => {
tab.render(el)
}
const onTabClick = (item: SidebarTabExtension) => {
workspaceStateStore.updateActiveSidebarTab(
workspaceStateStore.activeSidebarTab === item.id ? null : item.id
workspaceStore.updateActiveSidebarTab(
workspaceStore.activeSidebarTab === item.id ? null : item.id
)
}
onBeforeUnmount(() => {