From 9d69cc9d45b5ec7f78df5000feb5122d84787f55 Mon Sep 17 00:00:00 2001 From: Naoki Takezoe Date: Mon, 12 Dec 2016 12:15:41 +0900 Subject: [PATCH 1/2] Don't search for undisplayed tabs --- .../core/controller/IndexController.scala | 14 ++++---------- .../twirl/gitbucket/core/search/code.scala.html | 14 ++++++++------ .../gitbucket/core/search/issues.scala.html | 16 +++++++++------- .../twirl/gitbucket/core/search/menu.scala.html | 11 +---------- .../twirl/gitbucket/core/search/wiki.scala.html | 16 +++++++++------- 5 files changed, 31 insertions(+), 40 deletions(-) diff --git a/src/main/scala/gitbucket/core/controller/IndexController.scala b/src/main/scala/gitbucket/core/controller/IndexController.scala index 9c25fd03d..2ef049086 100644 --- a/src/main/scala/gitbucket/core/controller/IndexController.scala +++ b/src/main/scala/gitbucket/core/controller/IndexController.scala @@ -138,7 +138,7 @@ trait IndexControllerBase extends ControllerBase { // TODO Move to RepositoryViwerController? get("/:owner/:repository/search")(referrersOnly { repository => defining(params("q").trim, params.getOrElse("type", "code")){ case (query, target) => - val page = try { + val page = try { val i = params.getOrElse("page", "1").toInt if(i <= 0) 1 else i } catch { @@ -147,21 +147,15 @@ trait IndexControllerBase extends ControllerBase { target.toLowerCase match { case "issue" => gitbucket.core.search.html.issues( - countFiles(repository.owner, repository.name, query), - searchIssues(repository.owner, repository.name, query), - countWikiPages(repository.owner, repository.name, query), + if(query.nonEmpty) searchIssues(repository.owner, repository.name, query) else Nil, query, page, repository) case "wiki" => gitbucket.core.search.html.wiki( - countFiles(repository.owner, repository.name, query), - countIssues(repository.owner, repository.name, query), - searchWikiPages(repository.owner, repository.name, query), + if(query.nonEmpty) searchWikiPages(repository.owner, repository.name, query) else Nil, query, page, repository) case _ => gitbucket.core.search.html.code( - searchFiles(repository.owner, repository.name, query), - countIssues(repository.owner, repository.name, query), - countWikiPages(repository.owner, repository.name, query), + if(query.nonEmpty) searchFiles(repository.owner, repository.name, query) else Nil, query, page, repository) } } diff --git a/src/main/twirl/gitbucket/core/search/code.scala.html b/src/main/twirl/gitbucket/core/search/code.scala.html index 0b6293cb2..a89fa7104 100644 --- a/src/main/twirl/gitbucket/core/search/code.scala.html +++ b/src/main/twirl/gitbucket/core/search/code.scala.html @@ -1,17 +1,19 @@ @(files: List[gitbucket.core.service.RepositorySearchService.FileSearchResult], - issueCount: Int, - wikiCount: Int, query: String, page: Int, repository: gitbucket.core.service.RepositoryService.RepositoryInfo)(implicit context: gitbucket.core.controller.Context) @import gitbucket.core.view.helpers @import gitbucket.core.service.RepositorySearchService @gitbucket.core.html.main("Search Results", Some(repository)){ - @gitbucket.core.search.html.menu("code", files.size, issueCount, wikiCount, query, repository){ - @if(files.isEmpty){ -

We couldn't find any code matching '@query'

+ @gitbucket.core.search.html.menu("code", query, repository){ + @if(query.isEmpty) { +

Input the search keyword

} else { -

We've found @files.size code @helpers.plural(files.size, "result")

+ @if(files.isEmpty) { +

We couldn't find any code matching '@query'

+ } else { +

We've found @files.size code @helpers.plural(files.size, "result")

+ } } @files.drop((page - 1) * RepositorySearchService.CodeLimit).take(RepositorySearchService.CodeLimit).map { file =>
diff --git a/src/main/twirl/gitbucket/core/search/issues.scala.html b/src/main/twirl/gitbucket/core/search/issues.scala.html index 06e05c38a..13e5da02b 100644 --- a/src/main/twirl/gitbucket/core/search/issues.scala.html +++ b/src/main/twirl/gitbucket/core/search/issues.scala.html @@ -1,17 +1,19 @@ -@(fileCount: Int, - issues: List[gitbucket.core.service.RepositorySearchService.IssueSearchResult], - wikiCount: Int, +@(issues: List[gitbucket.core.service.RepositorySearchService.IssueSearchResult], query: String, page: Int, repository: gitbucket.core.service.RepositoryService.RepositoryInfo)(implicit context: gitbucket.core.controller.Context) @import gitbucket.core.view.helpers @import gitbucket.core.service.RepositorySearchService @gitbucket.core.html.main("Search Results", Some(repository)){ - @gitbucket.core.search.html.menu("issue", fileCount, issues.size, wikiCount, query, repository){ - @if(issues.isEmpty){ -

We couldn't find any code matching '@query'

+ @gitbucket.core.search.html.menu("issue", query, repository){ + @if(query.isEmpty){ +

Input the search keyword

} else { -

We've found @issues.size code @helpers.plural(issues.size, "result")

+ @if(issues.isEmpty) { +

We couldn't find any code matching '@query'

+ } else { +

We've found @issues.size code @helpers.plural(issues.size, "result")

+ } } @issues.drop((page - 1) * RepositorySearchService.IssueLimit).take(RepositorySearchService.IssueLimit).map { issue =>
diff --git a/src/main/twirl/gitbucket/core/search/menu.scala.html b/src/main/twirl/gitbucket/core/search/menu.scala.html index 5a946abfd..8b1d7eb51 100644 --- a/src/main/twirl/gitbucket/core/search/menu.scala.html +++ b/src/main/twirl/gitbucket/core/search/menu.scala.html @@ -1,4 +1,4 @@ -@(active: String, fileCount: Int, issueCount: Int, wikiCount: Int, query: String, +@(active: String, query: String, repository: gitbucket.core.service.RepositoryService.RepositoryInfo)(body: Html)(implicit context: gitbucket.core.controller.Context) @import gitbucket.core.view.helpers @gitbucket.core.html.menu("", repository){ @@ -6,25 +6,16 @@ Files - @if(fileCount != 0){ - @fileCount - } Issues - @if(issueCount != 0){ - @issueCount - } Wiki - @if(wikiCount != 0){ - @wikiCount - } diff --git a/src/main/twirl/gitbucket/core/search/wiki.scala.html b/src/main/twirl/gitbucket/core/search/wiki.scala.html index e423b4478..be05a0434 100644 --- a/src/main/twirl/gitbucket/core/search/wiki.scala.html +++ b/src/main/twirl/gitbucket/core/search/wiki.scala.html @@ -1,17 +1,19 @@ -@(fileCount: Int, - issueCount: Int, - wikis: List[gitbucket.core.service.RepositorySearchService.FileSearchResult], +@(wikis: List[gitbucket.core.service.RepositorySearchService.FileSearchResult], query: String, page: Int, repository: gitbucket.core.service.RepositoryService.RepositoryInfo)(implicit context: gitbucket.core.controller.Context) @import gitbucket.core.view.helpers @import gitbucket.core.service.RepositorySearchService @gitbucket.core.html.main("Search Results", Some(repository)){ - @gitbucket.core.search.html.menu("wiki", fileCount, issueCount, wikis.size, query, repository){ - @if(wikis.isEmpty){ -

We couldn't find any code matching '@query'

+ @gitbucket.core.search.html.menu("wiki", query, repository){ + @if(query.isEmpty){ +

Input the search keyword

} else { -

We've found @wikis.size code @helpers.plural(wikis.size, "result")

+ @if(wikis.isEmpty) { +

We couldn't find any code matching '@query'

+ } else { +

We've found @wikis.size code @helpers.plural(wikis.size, "result")

+ } } @wikis.drop((page - 1) * RepositorySearchService.CodeLimit).take(RepositorySearchService.CodeLimit).map { file =>
From f0872d410c608894e1e62ea5a521eb5230ab4f47 Mon Sep 17 00:00:00 2001 From: Naoki Takezoe Date: Mon, 12 Dec 2016 13:59:01 +0900 Subject: [PATCH 2/2] Replace the search tabs with the select box --- .../gitbucket/core/search/code.scala.html | 4 +--- .../gitbucket/core/search/issues.scala.html | 4 +--- .../gitbucket/core/search/menu.scala.html | 24 +++++-------------- .../gitbucket/core/search/wiki.scala.html | 4 +--- 4 files changed, 9 insertions(+), 27 deletions(-) diff --git a/src/main/twirl/gitbucket/core/search/code.scala.html b/src/main/twirl/gitbucket/core/search/code.scala.html index a89fa7104..de5190f03 100644 --- a/src/main/twirl/gitbucket/core/search/code.scala.html +++ b/src/main/twirl/gitbucket/core/search/code.scala.html @@ -6,9 +6,7 @@ @import gitbucket.core.service.RepositorySearchService @gitbucket.core.html.main("Search Results", Some(repository)){ @gitbucket.core.search.html.menu("code", query, repository){ - @if(query.isEmpty) { -

Input the search keyword

- } else { + @if(query.nonEmpty) { @if(files.isEmpty) {

We couldn't find any code matching '@query'

} else { diff --git a/src/main/twirl/gitbucket/core/search/issues.scala.html b/src/main/twirl/gitbucket/core/search/issues.scala.html index 13e5da02b..e72fa99c7 100644 --- a/src/main/twirl/gitbucket/core/search/issues.scala.html +++ b/src/main/twirl/gitbucket/core/search/issues.scala.html @@ -6,9 +6,7 @@ @import gitbucket.core.service.RepositorySearchService @gitbucket.core.html.main("Search Results", Some(repository)){ @gitbucket.core.search.html.menu("issue", query, repository){ - @if(query.isEmpty){ -

Input the search keyword

- } else { + @if(query.nonEmpty) { @if(issues.isEmpty) {

We couldn't find any code matching '@query'

} else { diff --git a/src/main/twirl/gitbucket/core/search/menu.scala.html b/src/main/twirl/gitbucket/core/search/menu.scala.html index 8b1d7eb51..d280f17f3 100644 --- a/src/main/twirl/gitbucket/core/search/menu.scala.html +++ b/src/main/twirl/gitbucket/core/search/menu.scala.html @@ -2,25 +2,13 @@ repository: gitbucket.core.service.RepositoryService.RepositoryInfo)(body: Html)(implicit context: gitbucket.core.controller.Context) @import gitbucket.core.view.helpers @gitbucket.core.html.menu("", repository){ -
- + +
diff --git a/src/main/twirl/gitbucket/core/search/wiki.scala.html b/src/main/twirl/gitbucket/core/search/wiki.scala.html index be05a0434..1f459d540 100644 --- a/src/main/twirl/gitbucket/core/search/wiki.scala.html +++ b/src/main/twirl/gitbucket/core/search/wiki.scala.html @@ -6,9 +6,7 @@ @import gitbucket.core.service.RepositorySearchService @gitbucket.core.html.main("Search Results", Some(repository)){ @gitbucket.core.search.html.menu("wiki", query, repository){ - @if(query.isEmpty){ -

Input the search keyword

- } else { + @if(query.nonEmpty) { @if(wikis.isEmpty) {

We couldn't find any code matching '@query'

} else {