summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2019-09-21 07:52:16 +0000
committerGo MAEDA <maeda@farend.jp>2019-09-21 07:52:16 +0000
commitf5bbb0317ac874a0184c93f039146caf4ddb7f7c (patch)
tree5106451b4274b1933a56f3c11b1c524efaf393a8
parent7df0230d673e8075aafad51f0ac7913fcc90d996 (diff)
downloadredmine-f5bbb0317ac874a0184c93f039146caf4ddb7f7c.tar.gz
redmine-f5bbb0317ac874a0184c93f039146caf4ddb7f7c.zip
Auto-complete issues #id in the search form (#32052).
Patch by Mizuki ISHIKAWA. git-svn-id: http://svn.redmine.org/redmine/trunk@18498 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/views/layouts/base.html.erb6
-rw-r--r--app/views/search/index.html.erb6
-rw-r--r--public/javascripts/application.js3
3 files changed, 13 insertions, 2 deletions
diff --git a/app/views/layouts/base.html.erb b/app/views/layouts/base.html.erb
index 1ed1032e9..42819c1fb 100644
--- a/app/views/layouts/base.html.erb
+++ b/app/views/layouts/base.html.erb
@@ -80,7 +80,11 @@
<label for='q'>
<%= link_to l(:label_search), {:controller => 'search', :action => 'index', :id => @project, :scope => default_search_project_scope}, :accesskey => accesskey(:search) %>:
</label>
- <%= text_field_tag 'q', @question, :size => 20, :class => 'small', :accesskey => accesskey(:quick_search) %>
+ <%= text_field_tag 'q', @question, :size => 20, :class => 'small', :accesskey => accesskey(:quick_search),
+ :data => {
+ :auto_complete => true,
+ :issues_url => auto_complete_issues_path(:q => '')
+ } %>
<% end %>
<%= render_project_jump_box %>
</div>
diff --git a/app/views/search/index.html.erb b/app/views/search/index.html.erb
index ab11f5a49..5160f04fe 100644
--- a/app/views/search/index.html.erb
+++ b/app/views/search/index.html.erb
@@ -3,7 +3,11 @@
<%= form_tag({}, :method => :get, :id => 'search-form') do %>
<div class="box">
<%= label_tag "search-input", l(:description_search), :class => "hidden-for-sighted" %>
-<p><%= text_field_tag 'q', @question, :size => 60, :id => 'search-input' %>
+<p><%= text_field_tag 'q', @question, :size => 60, :id => 'search-input',
+ :data => {
+ :auto_complete => true,
+ :issues_url => auto_complete_issues_path(:q => '')
+ } %>
<%= project_select_tag %>
<%= hidden_field_tag 'all_words', '', :id => nil %>
<label><%= check_box_tag 'all_words', 1, @all_words %> <%= l(:label_all_words) %></label>
diff --git a/public/javascripts/application.js b/public/javascripts/application.js
index 0868f971a..e125e68b4 100644
--- a/public/javascripts/application.js
+++ b/public/javascripts/application.js
@@ -1036,6 +1036,9 @@ function inlineAutoComplete(element) {
const tribute = new Tribute({
trigger: '#',
values: function (text, cb) {
+ if (event.target.type === 'text' && $(element).attr('autocomplete') != 'off') {
+ $(element).attr('autocomplete', 'off');
+ }
remoteSearch(issuesUrl + text, function (issues) {
return cb(issues);
});