From 2f1052df1a815e3c4287fa31a61c42214dbef997 Mon Sep 17 00:00:00 2001 From: Nishanth Vijayan Date: Wed, 9 Mar 2016 17:41:28 +0530 Subject: [PATCH] Replace add userby email textinput in admin/roles#show with searchable combobox --- Gemfile | 2 ++ Gemfile.lock | 3 +++ app/assets/javascripts/application.js | 2 ++ app/assets/javascripts/osem-selectpicker.js | 3 +++ app/assets/stylesheets/application.css | 2 ++ app/assets/stylesheets/osem-selectpicker.css | 2 ++ app/views/admin/roles/show.html.haml | 4 ++-- 7 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 app/assets/javascripts/osem-selectpicker.js create mode 100644 app/assets/stylesheets/osem-selectpicker.css diff --git a/Gemfile b/Gemfile index c6cd7a50..46754e9b 100644 --- a/Gemfile +++ b/Gemfile @@ -91,6 +91,8 @@ source 'https://rails-assets.org' do gem 'rails-assets-bootstrap-markdown' gem 'rails-assets-to-markdown' gem 'rails-assets-markdown' + # for searchable selects + gem 'rails-assets-bootstrap-select' end # as date picker diff --git a/Gemfile.lock b/Gemfile.lock index f9ad33e9..1b7d9ea9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -335,6 +335,8 @@ GEM rails-assets-jquery (>= 1.9.1, < 3) rails-assets-bootstrap-markdown (2.10.0) rails-assets-bootstrap (~> 3) + rails-assets-bootstrap-select (1.10.0) + rails-assets-jquery (>= 1.8) rails-assets-date.format (1.2.3) rails-assets-holderjs (2.9.1) rails-assets-jquery (2.2.0) @@ -547,6 +549,7 @@ DEPENDENCIES quiet_assets rails (~> 4.2) rails-assets-bootstrap-markdown! + rails-assets-bootstrap-select! rails-assets-date.format! rails-assets-holderjs! rails-assets-jquery-smooth-scroll! diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 54c752a0..346b6445 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -40,6 +40,8 @@ //= require osem-commercials //= require unobtrusive_flash //= require unobtrusive_flash_bootstrap +//= require bootstrap-select +//= require osem-selectpicker $(document).ready(function() { $('a[disabled=disabled]').click(function(event){ diff --git a/app/assets/javascripts/osem-selectpicker.js b/app/assets/javascripts/osem-selectpicker.js new file mode 100644 index 00000000..adca5cb3 --- /dev/null +++ b/app/assets/javascripts/osem-selectpicker.js @@ -0,0 +1,3 @@ +$(function () { + $('.selectpicker').selectpicker(); +}); diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index d0447354..22f9e407 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -14,4 +14,6 @@ *= require bootstrap-datetimepicker *= require leaflet *= require bootstrap3-switch + *= require bootstrap-select + *= require osem-selectpicker */ diff --git a/app/assets/stylesheets/osem-selectpicker.css b/app/assets/stylesheets/osem-selectpicker.css new file mode 100644 index 00000000..8354bcdc --- /dev/null +++ b/app/assets/stylesheets/osem-selectpicker.css @@ -0,0 +1,2 @@ +/* Align bootstrap-select with the Add button */ +.add-user-role > .select { display: inline; } \ No newline at end of file diff --git a/app/views/admin/roles/show.html.haml b/app/views/admin/roles/show.html.haml index 69d02f6b..53367eaa 100644 --- a/app/views/admin/roles/show.html.haml +++ b/app/views/admin/roles/show.html.haml @@ -16,8 +16,8 @@ = semantic_form_for :user, url: toggle_user_admin_conference_role_path(@conference.short_title, @role.name), method: :post do |u| = u.label 'Add user by email: ' - .input-group - = u.input :email, label: false, placeholder: "User's email" + .input-group.add-user-role + = u.input :email, label: false, :collection => User.pluck(:email), :input_html => { class: "selectpicker", data: { live_search: "true", size: "10" } ,title: "Select User's email" } .input-group-btn = u.submit 'Add', id: 'user-add', class: 'btn btn-primary'