diff --git a/app/assets/javascripts/active_admin/select2.js b/app/assets/javascripts/active_admin/select2.js new file mode 100644 index 0000000..9d2d250 --- /dev/null +++ b/app/assets/javascripts/active_admin/select2.js @@ -0,0 +1,3 @@ +//= require select2 + +//= require_tree ./select2 diff --git a/app/assets/javascripts/active_admin/select2.js.coffee b/app/assets/javascripts/active_admin/select2.js.coffee deleted file mode 100644 index 7d2479d..0000000 --- a/app/assets/javascripts/active_admin/select2.js.coffee +++ /dev/null @@ -1,3 +0,0 @@ -#= require select2 - -#= require_tree ./select2 diff --git a/app/assets/javascripts/active_admin/select2/select2.js b/app/assets/javascripts/active_admin/select2/select2.js new file mode 100644 index 0000000..62e816c --- /dev/null +++ b/app/assets/javascripts/active_admin/select2/select2.js @@ -0,0 +1,30 @@ +'use strict'; +var initSelect2; + +initSelect2 = function(inputs, extra = {}) { + return inputs.each(function() { + var item, options; + item = $(this); + // reading from data allows to be passed to select2 + options = $.extend({ + allowClear: true + }, extra, item.data('select2')); + // because select2 reads from input.data to check if it is select2 already + item.data('select2', null); + return item.select2(options); + }); +}; + +$(document).on('has_many_add:after', '.has_many_container', function(e, fieldset) { + return initSelect2(fieldset.find('.select2-input')); +}); + +$(document).on('page:change page:load turbolinks:load', function() { + initSelect2($(".select2-input"), { placeholder: "" + }); +}); + +$(document).ready(function() { + initSelect2($(".select2-input"), { placeholder: "" }); +}); + diff --git a/app/assets/javascripts/active_admin/select2/select2.js.coffee b/app/assets/javascripts/active_admin/select2/select2.js.coffee deleted file mode 100644 index aebe977..0000000 --- a/app/assets/javascripts/active_admin/select2/select2.js.coffee +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -initSelect2 = (inputs, extra = {}) -> - inputs.each -> - item = $(this) - # reading from data allows to be passed to select2 - options = $.extend(allowClear: true, extra, item.data('select2')) - # because select2 reads from input.data to check if it is select2 already - item.data('select2', null) - item.select2(options) - -$(document).on 'has_many_add:after', '.has_many_container', (e, fieldset) -> - initSelect2(fieldset.find('.select2-input')) - -$(document).on 'ready page:load turbolinks:load', -> - initSelect2($(".select2-input"), placeholder: "") - return