diff options
author | Lauris BH <lauris@nix.lv> | 2022-01-27 10:30:51 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-27 10:30:51 +0200 |
commit | 8038610a4279862a87e630e4f1d1077c510f9d15 (patch) | |
tree | 802489f8ddde899e76643ea157f9020f12ca1490 /templates | |
parent | 2649eddcf0bb1190abab49c9d79ce19bfcf19e87 (diff) | |
download | gitea-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.tmpl | 14 | ||||
-rw-r--r-- | templates/repo/home.tmpl | 9 | ||||
-rw-r--r-- | templates/repo/search.tmpl | 88 | ||||
-rw-r--r-- | templates/shared/issuelist.tmpl | 5 |
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" .}} |