summaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
authorLauris BH <lauris@nix.lv>2022-01-27 10:30:51 +0200
committerGitHub <noreply@github.com>2022-01-27 10:30:51 +0200
commit8038610a4279862a87e630e4f1d1077c510f9d15 (patch)
tree802489f8ddde899e76643ea157f9020f12ca1490 /templates
parent2649eddcf0bb1190abab49c9d79ce19bfcf19e87 (diff)
downloadgitea-8038610a4279862a87e630e4f1d1077c510f9d15.tar.gz
gitea-8038610a4279862a87e630e4f1d1077c510f9d15.zip
Automatically pause queue if index service is unavailable (#15066)
* Handle keyword search error when issue indexer service is not available * Implement automatic disabling and resume of code indexer queue
Diffstat (limited to 'templates')
-rw-r--r--templates/explore/code.tmpl14
-rw-r--r--templates/repo/home.tmpl9
-rw-r--r--templates/repo/search.tmpl88
-rw-r--r--templates/shared/issuelist.tmpl5
4 files changed, 68 insertions, 48 deletions
diff --git a/templates/explore/code.tmpl b/templates/explore/code.tmpl
index 573c096f83..e1056ab312 100644
--- a/templates/explore/code.tmpl
+++ b/templates/explore/code.tmpl
@@ -5,21 +5,25 @@
<form class="ui form ignore-dirty" style="max-width: 100%">
<input type="hidden" name="tab" value="{{$.TabName}}">
<div class="ui fluid action input">
- <input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "explore.search"}}..." autofocus>
- <div class="ui dropdown selection">
- <input name="t" type="hidden" value="{{.queryType}}">{{svg "octicon-triangle-down" 14 "dropdown icon"}}
+ <input name="q" value="{{.Keyword}}"{{if .CodeIndexerUnavailable }} disabled{{end}} placeholder="{{.i18n.Tr "explore.search"}}..." autofocus>
+ <div class="ui dropdown selection{{if .CodeIndexerUnavailable }} disabled{{end}}">
+ <input name="t" type="hidden" value="{{.queryType}}"{{if .CodeIndexerUnavailable }} disabled{{end}}>{{svg "octicon-triangle-down" 14 "dropdown icon"}}
<div class="text">{{.i18n.Tr (printf "explore.search.%s" (or .queryType "fuzzy"))}}</div>
<div class="menu transition hidden" tabindex="-1" style="display: block !important;">
<div class="item" data-value="">{{.i18n.Tr "explore.search.fuzzy"}}</div>
<div class="item" data-value="match">{{.i18n.Tr "explore.search.match"}}</div>
</div>
</div>
- <button class="ui blue button">{{.i18n.Tr "explore.search"}}</button>
+ <button class="ui blue button"{{if .CodeIndexerUnavailable }} disabled{{end}}>{{.i18n.Tr "explore.search"}}</button>
</div>
</form>
<div class="ui divider"></div>
<div class="ui user list">
- {{if .SearchResults}}
+ {{if .CodeIndexerUnavailable }}
+ <div class="ui error message">
+ <p>{{$.i18n.Tr "explore.code_search_unavailable"}}</p>
+ </div>
+ {{else if .SearchResults}}
<h3>
{{.i18n.Tr "explore.code_search_results" (.Keyword|Escape) | Str2html }}
</h3>
diff --git a/templates/repo/home.tmpl b/templates/repo/home.tmpl
index 9924ae547d..6d525c24da 100644
--- a/templates/repo/home.tmpl
+++ b/templates/repo/home.tmpl
@@ -13,9 +13,12 @@
<div class="ui repo-search">
<form class="ui form ignore-dirty" action="{{.RepoLink}}/search" method="get">
<div class="field">
- <div class="ui action input">
- <input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "repo.search.search_repo"}}">
- <button class="ui icon button" type="submit">
+ <div class="ui action input{{if .CodeIndexerUnavailable }} disabled left icon tooltip{{end}}"{{if .CodeIndexerUnavailable }} data-content="{{.i18n.Tr "repo.search.code_search_unavailable"}}"{{end}}>
+ <input name="q" value="{{.Keyword}}"{{if .CodeIndexerUnavailable }} disabled{{end}} placeholder="{{.i18n.Tr "repo.search.search_repo"}}">
+ {{if .CodeIndexerUnavailable }}
+ <i class="icon df ac jc">{{svg "octicon-alert"}}</i>
+ {{end}}
+ <button class="ui icon button"{{if .CodeIndexerUnavailable }} disabled{{end}} type="submit">
{{svg "octicon-search"}}
</button>
</div>
diff --git a/templates/repo/search.tmpl b/templates/repo/search.tmpl
index f2c2269af7..fe15b89f81 100644
--- a/templates/repo/search.tmpl
+++ b/templates/repo/search.tmpl
@@ -5,60 +5,68 @@
<div class="ui repo-search">
<form class="ui form ignore-dirty" method="get">
<div class="ui fluid action input">
- <input name="q" value="{{.Keyword}}" placeholder="{{.i18n.Tr "repo.search.search_repo"}}">
- <div class="ui dropdown selection">
- <input name="t" type="hidden" value="{{.queryType}}">{{svg "octicon-triangle-down" 14 "dropdown icon"}}
+ <input name="q" value="{{.Keyword}}"{{if .CodeIndexerUnavailable }} disabled{{end}} placeholder="{{.i18n.Tr "repo.search.search_repo"}}">
+ <div class="ui dropdown selection{{if .CodeIndexerUnavailable }} disabled{{end}}">
+ <input name="t" type="hidden"{{if .CodeIndexerUnavailable }} disabled{{end}} value="{{.queryType}}">{{svg "octicon-triangle-down" 14 "dropdown icon"}}
<div class="text">{{.i18n.Tr (printf "repo.search.%s" (or .queryType "fuzzy"))}}</div>
<div class="menu transition hidden" tabindex="-1" style="display: block !important;">
<div class="item" data-value="">{{.i18n.Tr "repo.search.fuzzy"}}</div>
<div class="item" data-value="match">{{.i18n.Tr "repo.search.match"}}</div>
</div>
</div>
- <button class="ui icon button" type="submit">{{svg "octicon-search" 16}}</button>
+ <button class="ui icon button"{{if .CodeIndexerUnavailable }} disabled{{end}} type="submit">{{svg "octicon-search" 16}}</button>
</div>
</form>
</div>
- {{if .Keyword}}
+ {{if .CodeIndexerUnavailable }}
+ <div class="ui error message">
+ <p>{{$.i18n.Tr "repo.search.code_search_unavailable"}}</p>
+ </div>
+ {{else if .Keyword}}
<h3>
{{.i18n.Tr "repo.search.results" (.Keyword|Escape) (.RepoLink|Escape) (.RepoName|Escape) | Str2html }}
</h3>
- <div class="df ac fw">
- {{range $term := .SearchResultLanguages}}
- <a class="ui text-label df ac mr-1 my-1 {{if eq $.Language $term.Language}}primary {{end}}basic label" href="{{$.SourcePath}}/search?q={{$.Keyword}}{{if ne $.Language $term.Language}}&l={{$term.Language}}{{end}}{{if ne $.queryType ""}}&t={{$.queryType}}{{end}}">
- <i class="color-icon mr-3" style="background-color: {{$term.Color}}"></i>
- {{$term.Language}}
- <div class="detail">{{$term.Count}}</div>
- </a>
- {{end}}
- </div>
- <div class="repository search">
- {{range $result := .SearchResults}}
- <div class="diff-file-box diff-box file-content non-diff-file-content repo-search-result">
- <h4 class="ui top attached normal header">
- <span class="file">{{.Filename}}</span>
- <a class="ui basic tiny button" rel="nofollow" href="{{$.SourcePath}}/src/commit/{{PathEscape $result.CommitID}}/{{PathEscapeSegments .Filename}}">{{$.i18n.Tr "repo.diff.view_file"}}</a>
- </h4>
- <div class="ui attached table segment">
- <div class="file-body file-code code-view">
- <table>
- <tbody>
- <tr>
- <td class="lines-num">
- {{range .LineNumbers}}
- <a href="{{$.SourcePath}}/src/commit/{{PathEscape $result.CommitID}}/{{PathEscapeSegments $result.Filename}}#L{{.}}"><span>{{.}}</span></a>
- {{end}}
- </td>
- <td class="lines-code chroma"><code class="code-inner">{{.FormattedLines | Safe}}</code></td>
- </tr>
- </tbody>
- </table>
+ {{if .SearchResults}}
+ <div class="df ac fw">
+ {{range $term := .SearchResultLanguages}}
+ <a class="ui text-label df ac mr-1 my-1 {{if eq $.Language $term.Language}}primary {{end}}basic label" href="{{$.SourcePath}}/search?q={{$.Keyword}}{{if ne $.Language $term.Language}}&l={{$term.Language}}{{end}}{{if ne $.queryType ""}}&t={{$.queryType}}{{end}}">
+ <i class="color-icon mr-3" style="background-color: {{$term.Color}}"></i>
+ {{$term.Language}}
+ <div class="detail">{{$term.Count}}</div>
+ </a>
+ {{end}}
+ </div>
+ <div class="repository search">
+ {{range $result := .SearchResults}}
+ <div class="diff-file-box diff-box file-content non-diff-file-content repo-search-result">
+ <h4 class="ui top attached normal header">
+ <span class="file">{{.Filename}}</span>
+ <a class="ui basic tiny button" rel="nofollow" href="{{$.SourcePath}}/src/commit/{{PathEscape $result.CommitID}}/{{PathEscapeSegments .Filename}}">{{$.i18n.Tr "repo.diff.view_file"}}</a>
+ </h4>
+ <div class="ui attached table segment">
+ <div class="file-body file-code code-view">
+ <table>
+ <tbody>
+ <tr>
+ <td class="lines-num">
+ {{range .LineNumbers}}
+ <a href="{{$.SourcePath}}/src/commit/{{PathEscape $result.CommitID}}/{{PathEscapeSegments $result.Filename}}#L{{.}}"><span>{{.}}</span></a>
+ {{end}}
+ </td>
+ <td class="lines-code chroma"><code class="code-inner">{{.FormattedLines | Safe}}</code></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
</div>
+ {{template "shared/searchbottom" dict "root" $ "result" .}}
</div>
- {{template "shared/searchbottom" dict "root" $ "result" .}}
- </div>
- {{end}}
- </div>
- {{template "base/paginate" .}}
+ {{end}}
+ </div>
+ {{template "base/paginate" .}}
+ {{else}}
+ <div>{{$.i18n.Tr "repo.search.code_no_results"}}</div>
+ {{end}}
{{end}}
</div>
</div>
diff --git a/templates/shared/issuelist.tmpl b/templates/shared/issuelist.tmpl
index 3050107123..687bbdee94 100644
--- a/templates/shared/issuelist.tmpl
+++ b/templates/shared/issuelist.tmpl
@@ -139,5 +139,10 @@
</div>
</li>
{{end}}
+ {{if .IssueIndexerUnavailable}}
+ <div class="ui error message">
+ <p>{{$.i18n.Tr "repo.issues.keyword_search_unavailable"}}</p>
+ </div>
+ {{end}}
</div>
{{template "base/paginate" .}}