Fix compatibility issues with new version of select2

This commit is contained in:
Rohan Mitchell
2016-02-19 15:34:15 +11:00
parent 1e288e5f14
commit 977ff7b35d
5 changed files with 16 additions and 9 deletions

View File

@@ -2,12 +2,12 @@ angular.module("admin.users").directive "userSelect", ->
scope:
user: '&userSelect'
model: '=ngModel'
link: (scope,element,attrs) ->
link: (scope, element, attrs) ->
setTimeout ->
element.select2
multiple: false
initSelection: (element, callback) ->
callback {id: scope.user().id, email: scope.user().email}
callback {id: scope.user()?.id, email: scope.user()?.email}
ajax:
url: '/admin/search/known_users'
datatype: 'json'

View File

@@ -11,7 +11,7 @@
.filter_select.four.columns
%label{ :for => 'producer_filter', ng: {class: '{disabled: !hub.id}'} }Producer
%br
%input.ofn-select2.fullwidth{ :id => 'producer_filter', type: 'number', style: 'display:none', data: 'producers', blank: "{id: 0, name: 'All'}", ng: { model: 'producerFilter', disabled: '!hub.id' } }
%input.ofn-select2.fullwidth{ :id => 'producer_filter', type: 'number', data: 'producers', blank: "{id: 0, name: 'All'}", ng: { model: 'producerFilter', disabled: '!hub.id' } }
-# .filter_select{ :class => "three columns" }
-# %label{ :for => 'distributor_filter' }Hub
-# %br

View File

@@ -236,9 +236,9 @@ feature %q{
it "displays a select box for producers, which filters line items by the selected supplier" do
supplier_names = ["All"]
Enterprise.is_primary_producer.each{ |e| supplier_names << e.name }
find("div.select2-container#s2id_supplier_filter").click
open_select2 "div.select2-container#s2id_supplier_filter"
supplier_names.each { |sn| expect(page).to have_selector "div.select2-drop-active ul.select2-results li", text: sn }
find("div.select2-container#s2id_supplier_filter").click
close_select2 "div.select2-container#s2id_supplier_filter"
expect(page).to have_selector "tr#li_#{li1.id}", visible: true
expect(page).to have_selector "tr#li_#{li2.id}", visible: true
select2_select s1.name, from: "supplier_filter"
@@ -271,9 +271,9 @@ feature %q{
it "displays a select box for distributors, which filters line items by the selected distributor" do
distributor_names = ["All"]
Enterprise.is_distributor.each{ |e| distributor_names << e.name }
find("div.select2-container#s2id_distributor_filter").click
open_select2 "div.select2-container#s2id_distributor_filter"
distributor_names.each { |dn| expect(page).to have_selector "div.select2-drop-active ul.select2-results li", text: dn }
find("div.select2-container#s2id_distributor_filter").click
close_select2 "div.select2-container#s2id_distributor_filter"
expect(page).to have_selector "tr#li_#{li1.id}", visible: true
expect(page).to have_selector "tr#li_#{li2.id}", visible: true
select2_select d1.name, from: "distributor_filter"

View File

@@ -103,9 +103,9 @@ RSpec::Matchers.define :have_select2 do |id, options={}|
end
def with_select2_open(from)
find(from).click
open_select2 from
r = yield
find(from).click
close_select2 from
r
end
end

View File

@@ -144,6 +144,13 @@ module WebHelper
have_selector "div.select2-result-label", text: value
end
def open_select2(selector)
page.evaluate_script "jQuery('#{selector}').select2('open');"
end
def close_select2(selector)
page.evaluate_script "jQuery('#{selector}').select2('close');"
end
private
def wait_for_ajax