Start background search with gon

This commit is contained in:
Benjamin Neff 2016-09-19 01:23:37 +02:00 committed by Steffen van Bergerem
parent b8c76a3317
commit 459ebffa6e
No known key found for this signature in database
GPG key ID: 315C9787D548DC6B
3 changed files with 17 additions and 16 deletions

View file

@ -30,4 +30,10 @@ var List = {
setTimeout( "List.runDelayedSearch('" + theSearch + "')", 10000); setTimeout( "List.runDelayedSearch('" + theSearch + "')", 10000);
} }
}; };
$(document).ready(function() {
if (gon.preloads.background_query) {
List.startSearchDelay(gon.preloads.background_query);
}
});
// @license-end // @license-end

View file

@ -39,13 +39,10 @@ class PeopleController < ApplicationController
end end
format.any(:html, :mobile) do format.any(:html, :mobile) do
#only do it if it is an email address # only do it if it is a diaspora*-ID
if diaspora_id?(search_query) if diaspora_id?(search_query)
@people = Person.where(diaspora_handle: search_query.downcase, closed_account: false) @people = Person.where(diaspora_handle: search_query.downcase, closed_account: false)
if @people.empty? background_search(search_query) if @people.empty?
Workers::FetchWebfinger.perform_async(search_query)
@background_query = search_query.downcase
end
end end
@people = @people.paginate(:page => params[:page], :per_page => 15) @people = @people.paginate(:page => params[:page], :per_page => 15)
@hashes = hashes_for_people(@people, @aspects) @hashes = hashes_for_people(@people, @aspects)
@ -167,6 +164,12 @@ class PeopleController < ApplicationController
raise Diaspora::AccountClosed if @person.closed_account? raise Diaspora::AccountClosed if @person.closed_account?
end end
def background_search(search_query)
Workers::FetchWebfinger.perform_async(search_query)
@background_query = search_query.downcase
gon.preloads[:background_query] = @background_query
end
def hashes_for_people(people, aspects) def hashes_for_people(people, aspects)
people.map {|person| people.map {|person|
{ {

View file

@ -16,20 +16,12 @@
.col-md-8 .col-md-8
#people_stream.stream #people_stream.stream
- if @hashes.empty? - if @hashes.empty?
- if @background_query.present? %p
- if @background_query.present?
/ TODO this is gross, and should be extracted!
:javascript
$(document).ready( function() {
List.startSearchDelay('#{@background_query}')
} );
%p
= t(".searching") = t(".searching")
.loader .loader
.spinner .spinner
- else - else
%p
= t('.no_one_found') = t('.no_one_found')
- else - else
- for hash in @hashes - for hash in @hashes