diff --git a/ontrack-extension-git/src/main/java/net/nemerosa/ontrack/extension/git/GitBranchSearchIndexer.kt b/ontrack-extension-git/src/main/java/net/nemerosa/ontrack/extension/git/GitBranchSearchIndexer.kt index c4e5bdc525..41d27c7747 100644 --- a/ontrack-extension-git/src/main/java/net/nemerosa/ontrack/extension/git/GitBranchSearchIndexer.kt +++ b/ontrack-extension-git/src/main/java/net/nemerosa/ontrack/extension/git/GitBranchSearchIndexer.kt @@ -11,17 +11,17 @@ import java.util.function.BiConsumer @Component class GitBranchSearchIndexer( - extensionFeature: GitExtensionFeature, - private val gitService: GitService, - private val structureService: StructureService, - private val uriBuilder: EntityURIBuilder + extensionFeature: GitExtensionFeature, + private val gitService: GitService, + private val structureService: StructureService, + private val uriBuilder: EntityURIBuilder ) : SearchIndexer { override val searchResultType = SearchResultType( - feature = extensionFeature.featureDescription, - id = "git-branch", - name = "Git Branch", - description = "Git branch associated to an Ontrack branch" + feature = extensionFeature.featureDescription, + id = "git-branch", + name = "Git Branch", + description = "Git branch associated to an Ontrack branch" ) override val indexerName: String = "Git Branches" @@ -36,7 +36,7 @@ class GitBranchSearchIndexer( override fun indexAll(processor: (GitBranchSearchItem) -> Unit) { gitService.forEachConfiguredBranch(BiConsumer { branch, branchConfig -> processor( - GitBranchSearchItem(branch, branchConfig) + GitBranchSearchItem(branch, branchConfig) ) }) } @@ -47,32 +47,40 @@ class GitBranchSearchIndexer( val branchConfig = branch?.let { gitService.getBranchConfiguration(branch) } return if (branch != null && branchConfig != null) { SearchResult( - title = branch.entityDisplayName, - description = "Git branch ${branchConfig.branch}", - uri = uriBuilder.getEntityURI(branch), - page = uriBuilder.getEntityPage(branch), - accuracy = score, - type = searchResultType + title = branch.entityDisplayName, + description = "Git branch ${branchConfig.branch}", + uri = uriBuilder.getEntityURI(branch), + page = uriBuilder.getEntityPage(branch), + accuracy = score, + type = searchResultType, + data = mapOf( + SearchResult.SEARCH_RESULT_BRANCH to branch, + SEARCH_RESULT_GIT_BRANCH to branchConfig.branch, + ), ) } else null } + + companion object { + const val SEARCH_RESULT_GIT_BRANCH = "gitBranch" + } } const val GIT_BRANCH_SEARCH_INDEX = "git-branch" class GitBranchSearchItem( - val branchId: Int, - val gitBranch: String + val branchId: Int, + val gitBranch: String ) : SearchItem { constructor(branch: Branch, branchConfig: GitBranchConfiguration) : this( - branchId = branch.id(), - gitBranch = branchConfig.branch + branchId = branch.id(), + gitBranch = branchConfig.branch ) override val id: String = branchId.toString() override val fields: Map = asMap( - this::gitBranch + this::gitBranch ) } \ No newline at end of file diff --git a/ontrack-web-core/components/framework/search/git-branch/Result.js b/ontrack-web-core/components/framework/search/git-branch/Result.js index 45b2b6f048..ec47bf4448 100644 --- a/ontrack-web-core/components/framework/search/git-branch/Result.js +++ b/ontrack-web-core/components/framework/search/git-branch/Result.js @@ -1,8 +1,20 @@ import SearchResultComponent from "@components/framework/search/SearchResultComponent"; +import BranchLink from "@components/branches/BranchLink"; +import {Space, Typography} from "antd"; +import ProjectLink from "@components/projects/ProjectLink"; export default function Result({data}) { return + + {data.gitBranch} + + / + + + + } + description={data.branch.description} /> } \ No newline at end of file