fun addFromBaseModule()

in plugin/src/main/kotlin/com/jetbrains/packagesearch/plugin/ui/model/packageslist/PackageListBuilder.kt [76:110]


    fun addFromBaseModule(base: PackageSearchModule.Base) {
        val id = PackageListItem.Header.Id.Declared.Base(base.identity)
        val dependenciesToShow = base.declaredDependencies
            .filter { it.matchesSearchQuery() }
        val state = getStateForOrOpen(id)
        if (dependenciesToShow.isNotEmpty() || isCompact) {
            addHeader(
                title = base.name,
                id = id,
                state = state,
                additionalContent = when (id) {
                    in headerLoadingStates -> PackageListItem.Header.AdditionalContent.Loading
                    else -> dependenciesToShow.getUpdatesAvailableAdditionalContent()
                }
            )
        }
        if (state == PackageListItem.Header.State.OPEN) {
            dependenciesToShow
                .filter { it.matchesSearchQuery() }
                .forEach { dependency ->
                    addDeclaredPackage(
                        title = dependency.displayName,
                        subtitle = dependency.coordinates,
                        id = PackageListItem.Package.Declared.Id.Base(base.identity, dependency.id),
                        icon = dependency.icon,
                        latestVersion = dependency.getLatestVersion(onlyStable)?.versionName,
                        selectedScope = dependency.declaredScope,
                        availableScopes = base.availableScopes,
                        declaredVersion = dependency.declaredVersion?.versionName,
                        availableVersions = dependency.getAvailableVersionStrings(),
                        allowMissingScope = !base.dependencyMustHaveAScope,
                    )
                }
        }
    }