diff options
| -rw-r--r-- | app/assets/stylesheets/application.scss | 9 | ||||
| -rw-r--r-- | users/app/assets/javascripts/users.js.coffee | 4 | ||||
| -rw-r--r-- | users/app/controllers/users_controller.rb | 8 | ||||
| -rw-r--r-- | users/app/models/user.rb | 1 | ||||
| -rw-r--r-- | users/app/views/users/index.html.haml | 18 | 
5 files changed, 38 insertions, 2 deletions
| diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss index 3465431..8dec07d 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.scss @@ -3,3 +3,12 @@ body {    padding: 40px;  }  @import "bootstrap-responsive"; + + +table.table-hover .btn { +  opacity: 0; +} + +table.table-hover tr:hover .btn { +  opacity: 1; +} diff --git a/users/app/assets/javascripts/users.js.coffee b/users/app/assets/javascripts/users.js.coffee index f0bb3dd..76a6d79 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..925b584 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(10) +    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..9e6a179 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= params[:query] ? "Users starting with '#{params[:query]}'" : "Last users who signed up" +    %table.table.table-hover +      %tr +        %th Login +        %th Created +        %th Action +      = render @users.all +  .span4 +    %h4 Find user +    = form_tag users_path, :method => :get, :class => "form-search" do +      .input-append +        = text_field_tag :query, "", :class => "user typeahead span2 search-query", :autocomplete => :off +        %button.btn{:type => :submit} Search | 
