mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-18 16:20:12 +01:00
Autocomplete lists should be based on "q" parameter
If you don't filter server-side, the user sees the full list until another character is entered.
This commit is contained in:
parent
9ccd6d11d8
commit
c79d1c964a
4 changed files with 6 additions and 5 deletions
|
|
@ -124,8 +124,9 @@ class ApplicationController < ActionController::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def for_autocomplete(coll)
|
def for_autocomplete(coll, substr)
|
||||||
coll.map {|item| "#{item.name}|#{item.id}"}.join("\n")
|
filtered = coll.find_all{|item| item.name.downcase.include? substr.downcase}
|
||||||
|
return filtered.map {|item| "#{item.name}|#{item.id}"}.join("\n")
|
||||||
end
|
end
|
||||||
|
|
||||||
# Uses RedCloth to transform text using either Textile or Markdown Need to
|
# Uses RedCloth to transform text using either Textile or Markdown Need to
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ class ContextsController < ApplicationController
|
||||||
format.rss &render_contexts_rss_feed
|
format.rss &render_contexts_rss_feed
|
||||||
format.atom &render_contexts_atom_feed
|
format.atom &render_contexts_atom_feed
|
||||||
format.text { render :action => 'index', :layout => false, :content_type => Mime::TEXT }
|
format.text { render :action => 'index', :layout => false, :content_type => Mime::TEXT }
|
||||||
format.autocomplete { render :text => for_autocomplete(@active_contexts + @hidden_contexts)}
|
format.autocomplete { render :text => for_autocomplete(@active_contexts + @hidden_contexts, params[:q])}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ class ProjectsController < ApplicationController
|
||||||
format.rss &render_rss_feed
|
format.rss &render_rss_feed
|
||||||
format.atom &render_atom_feed
|
format.atom &render_atom_feed
|
||||||
format.text &render_text_feed
|
format.text &render_text_feed
|
||||||
format.autocomplete { render :text => for_autocomplete(@projects) }
|
format.autocomplete { render :text => for_autocomplete(@projects, params[:q]) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -530,7 +530,7 @@ class TodosController < ApplicationController
|
||||||
def tags
|
def tags
|
||||||
@tags = Tag.all
|
@tags = Tag.all
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.autocomplete { render :text => for_autocomplete(@tags) }
|
format.autocomplete { render :text => for_autocomplete(@tags, params[:q]) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue