in plugin/src/main/kotlin/com/jetbrains/packagesearch/plugin/ui/PackageSearchToolWindow.kt [29:48]
fun PackageSearchToolwindow() {
val toolWindowViewModel: ToolWindowViewModel = viewModel()
val packageListViewModel: PackageListViewModel = viewModel()
val toolwindowState by toolWindowViewModel.toolWindowState.collectAsState()
when (val state = toolwindowState) {
is PackageSearchToolWindowState.Loading -> LoadingMessage(state.message)
PackageSearchToolWindowState.NoModules -> NoModulesFound { toolWindowViewModel.openLinkInBrowser(it) }
PackageSearchToolWindowState.Ready -> {
val isInfoPanelOpen by toolWindowViewModel.isInfoPanelOpen.collectAsState()
PackageSearchPackagePanel(
onSelectionModulesSelectionChanged = { packageListViewModel.setSelectedModules(it) },
isInfoPanelOpen = isInfoPanelOpen,
onLinkClick = { toolWindowViewModel.openLinkInBrowser(it) },
onPackageEvent = { packageListViewModel.onPackageListItemEvent(it) },
)
}
}
}