From 51ba799f98113b7112f2968fc80e4d291924b3bf Mon Sep 17 00:00:00 2001 From: Azul Date: Mon, 26 Nov 2012 16:34:46 +0100 Subject: basic users index with typeahead search --- users/app/assets/javascripts/users.js.coffee | 4 ++++ users/app/controllers/users_controller.rb | 8 +++++++- users/app/models/user.rb | 1 + users/app/views/users/index.html.haml | 18 +++++++++++++++++- 4 files changed, 29 insertions(+), 2 deletions(-) (limited to 'users') diff --git a/users/app/assets/javascripts/users.js.coffee b/users/app/assets/javascripts/users.js.coffee index f0bb3dd..61d4121 100644 --- a/users/app/assets/javascripts/users.js.coffee +++ b/users/app/assets/javascripts/users.js.coffee @@ -21,6 +21,9 @@ srp.error = (message) -> else alert(message) +pollUsers = (query, process) -> + $.get( "/users.json", query: query).done(process); + $(document).ready -> $('#new_user').submit preventDefault $('#new_user').submit srp.signup @@ -28,4 +31,5 @@ $(document).ready -> $('#new_session').submit srp.login $('.user.form.edit').submit srp.update $('.user.form.edit').submit preventDefault + $('.user.typeahead').typeahead({source: pollUsers}); diff --git a/users/app/controllers/users_controller.rb b/users/app/controllers/users_controller.rb index 4912ac8..09199f0 100644 --- a/users/app/controllers/users_controller.rb +++ b/users/app/controllers/users_controller.rb @@ -8,7 +8,13 @@ class UsersController < ApplicationController respond_to :json, :html def index - @users = User.all + if params[:query] + @users = User.by_login.startkey(params[:query]).endkey(params[:query].succ) + else + @users = User.by_created_at.descending + end + @users = @users.limit(5) + respond_with @users.map(&:login).sort end def new diff --git a/users/app/models/user.rb b/users/app/models/user.rb index 39d079a..325c981 100644 --- a/users/app/models/user.rb +++ b/users/app/models/user.rb @@ -27,6 +27,7 @@ class User < CouchRest::Model::Base design do view :by_login + view :by_created_at end class << self diff --git a/users/app/views/users/index.html.haml b/users/app/views/users/index.html.haml index 7db6038..65e99af 100644 --- a/users/app/views/users/index.html.haml +++ b/users/app/views/users/index.html.haml @@ -1 +1,17 @@ -%h1= User.model_name.human(:count =>@users.count) +.page-header + %h1= User.model_name.human(:count =>User.count) +.row + .span8 + %h2 Last users who signed up + %table.table.table-hover + %tr + %th Login + %th Created + %th Action + = render @users.all + .span4 + %h4 Find user + %form.form-search + .input-append + %input.user.typeahead.span2.search-query{:type => :text} + %button.btn{:type => :submit} Search -- cgit v1.2.3