From edca8631f313f8e855395a6fd356e81e334c25f4 Mon Sep 17 00:00:00 2001 From: Denys Metelov Date: Thu, 7 Apr 2022 17:43:58 +0300 Subject: [PATCH] Remove coffee script dependency --- .github/workflows/ci.yml | 3 --- active_admin_datetimepicker.gemspec | 3 +-- .../active_admin_datetimepicker.js | 25 ++++++++++++++++++ .../active_admin_datetimepicker.js.coffee | 26 ------------------- spec/support/rails_template.rb | 12 +++------ 5 files changed, 29 insertions(+), 40 deletions(-) create mode 100644 app/assets/javascripts/active_admin_datetimepicker.js delete mode 100644 app/assets/javascripts/active_admin_datetimepicker.js.coffee diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6e538d6..809eb11 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,14 +17,11 @@ jobs: - '5.2.0' - '6.0.0' activeadmin: - - '1.4.0' - '2.0.0' - '2.6.0' exclude: - rails: '5.2.0' activeadmin: '2.6.0' - - rails: '6.0.0' - activeadmin: '1.4.0' - rails: '6.0.0' activeadmin: '2.0.0' env: diff --git a/active_admin_datetimepicker.gemspec b/active_admin_datetimepicker.gemspec index aa15655..9a5afc5 100644 --- a/active_admin_datetimepicker.gemspec +++ b/active_admin_datetimepicker.gemspec @@ -19,7 +19,6 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) } spec.require_paths = ["lib"] - spec.add_dependency "coffee-rails" - spec.add_dependency "activeadmin", ">= 1.1", "< 3.a" + spec.add_dependency "activeadmin", ">= 2.0", "< 3.a" spec.add_dependency "xdan-datetimepicker-rails", "~> 2.5.4" end diff --git a/app/assets/javascripts/active_admin_datetimepicker.js b/app/assets/javascripts/active_admin_datetimepicker.js new file mode 100644 index 0000000..32ff1f0 --- /dev/null +++ b/app/assets/javascripts/active_admin_datetimepicker.js @@ -0,0 +1,25 @@ +//= require jquery.xdan.datetimepicker.full + +function setupDateTimePicker(container) { + const defaults = { + formatDate: 'y-m-d', + format: 'Y-m-d H:i', + allowBlank: true, + defaultSelect: false, + validateOnBlur: false + } + + $(container).find('input.date-time-picker').each(function(index, entry) { + $(entry).datetimepicker($.extend(defaults, $(entry).data('datepicker-options'))); + }); +} + +function initXdanDateTimePickerPlugin() { + setupDateTimePicker($('body')); + $(document).on('has_many_add:after', '.has_many_container', function(e, fieldset) { + setupDateTimePicker(fieldset); + }); +} + +$(document).ready(initXdanDateTimePickerPlugin); +$(document).on('turbolinks:load', initXdanDateTimePickerPlugin()); diff --git a/app/assets/javascripts/active_admin_datetimepicker.js.coffee b/app/assets/javascripts/active_admin_datetimepicker.js.coffee deleted file mode 100644 index 2d74aab..0000000 --- a/app/assets/javascripts/active_admin_datetimepicker.js.coffee +++ /dev/null @@ -1,26 +0,0 @@ -#= require jquery.xdan.datetimepicker.full - -@setupDateTimePicker = (container) -> - defaults = { - formatDate: 'y-m-d', - format: 'Y-m-d H:i', - allowBlank: true, - defaultSelect: false, - validateOnBlur: false - } - - entries = $(container).find('input.date-time-picker') - entries.each (index, entry) -> - options = $(entry).data 'datepicker-options' - $(entry).datetimepicker $.extend(defaults, options) - -@initXdanDateTimePickerPlugin = () -> - setupDateTimePicker $('body') - $(document).on 'has_many_add:after', '.has_many_container', (e, fieldset) -> - setupDateTimePicker fieldset - -$(document).ready -> - initXdanDateTimePickerPlugin() - -$(document).on 'turbolinks:load', -> - initXdanDateTimePickerPlugin() diff --git a/spec/support/rails_template.rb b/spec/support/rails_template.rb index 26d6a61..b348eda 100644 --- a/spec/support/rails_template.rb +++ b/spec/support/rails_template.rb @@ -27,15 +27,9 @@ "@import \"active_admin_datetimepicker\";\n", after: "@import \"active_admin/base\";\n" -if File.file?("app/assets/javascripts/active_admin.js.coffee") - inject_into_file "app/assets/javascripts/active_admin.js.coffee", - "#= require active_admin_datetimepicker\n", - after: "#= require active_admin/base\n" -else - inject_into_file "app/assets/javascripts/active_admin.js", - "//= require active_admin_datetimepicker\n", - after: "//= require active_admin/base\n" -end +inject_into_file "app/assets/javascripts/active_admin.js", + "//= require active_admin_datetimepicker\n", + after: "//= require active_admin/base\n" run "rm -r test" run "rm -r spec"