From 464db6580b5bf9675acc0786572d6eba1f335f6c Mon Sep 17 00:00:00 2001 From: JoKer Date: Tue, 28 Jun 2022 11:02:49 +0200 Subject: [PATCH 1/9] removes sassc sassc-rails dependencies --- .ruby-version | 2 +- Gemfile.lock | 2 -- activeadmin_addons.gemspec | 2 -- lib/activeadmin_addons/engine.rb | 4 +--- 4 files changed, 2 insertions(+), 8 deletions(-) diff --git a/.ruby-version b/.ruby-version index 1effb003..24ba9a38 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.7 +2.7.0 diff --git a/Gemfile.lock b/Gemfile.lock index 795978ec..ba11bbb5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -12,8 +12,6 @@ PATH active_material railties require_all - sassc - sassc-rails xdan-datetimepicker-rails (~> 2.5.1) GEM diff --git a/activeadmin_addons.gemspec b/activeadmin_addons.gemspec index db6ecb1d..35229320 100644 --- a/activeadmin_addons.gemspec +++ b/activeadmin_addons.gemspec @@ -21,8 +21,6 @@ Gem::Specification.new do |s| s.add_dependency "active_material" s.add_dependency "railties" s.add_dependency "require_all" - s.add_dependency "sassc" - s.add_dependency "sassc-rails" s.add_dependency "xdan-datetimepicker-rails", "~> 2.5.1" s.add_development_dependency "aasm" diff --git a/lib/activeadmin_addons/engine.rb b/lib/activeadmin_addons/engine.rb index 779588a0..0b484be6 100644 --- a/lib/activeadmin_addons/engine.rb +++ b/lib/activeadmin_addons/engine.rb @@ -1,8 +1,6 @@ module ActiveAdminAddons module Rails class Engine < ::Rails::Engine - require 'sassc' - require 'sassc-rails' require "xdan-datetimepicker-rails" require "require_all" require "active_material" @@ -11,7 +9,7 @@ class Engine < ::Rails::Engine require_rel "support" require_rel "addons" require_rel "active_admin_config" - app.config.assets.precompile += %w(select.scss fileicons/*.png switches/switch_*.png + app.config.assets.precompile += %w(fileicons/*.png switches/switch_*.png material/icons *.svg) end end From f2924191be2da0d3a852b5fe1c3d9ffcb7860ea8 Mon Sep 17 00:00:00 2001 From: JoKer Date: Thu, 7 Jul 2022 15:23:04 +0200 Subject: [PATCH 2/9] only require sprockets when ENV[SPROCKETS] == 'true' --- Gemfile | 2 ++ lib/activeadmin_addons/engine.rb | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 0dd5fb81..8025373f 100644 --- a/Gemfile +++ b/Gemfile @@ -15,4 +15,6 @@ gemspec gem "activeadmin" gem "mimemagic", github: "mimemagicrb/mimemagic", ref: "01f92d86d15d85cfd0f20dabd025dcbd36a8a60f" +gem "sassc", require: ENV["SPROCKETS"] == "true" +gem "sassc-rails", require: ENV["SPROCKETS"] == "true" gem "webpacker", "~> 5.0", require: ENV["SPROCKETS"] != "true" diff --git a/lib/activeadmin_addons/engine.rb b/lib/activeadmin_addons/engine.rb index 0b484be6..21ee5cca 100644 --- a/lib/activeadmin_addons/engine.rb +++ b/lib/activeadmin_addons/engine.rb @@ -1,6 +1,10 @@ module ActiveAdminAddons module Rails class Engine < ::Rails::Engine + if ENV["SPROCKETS"] == "true" + require 'sassc' + require 'sassc-rails' + end require "xdan-datetimepicker-rails" require "require_all" require "active_material" @@ -9,7 +13,7 @@ class Engine < ::Rails::Engine require_rel "support" require_rel "addons" require_rel "active_admin_config" - app.config.assets.precompile += %w(fileicons/*.png switches/switch_*.png + app.config.assets.precompile += %w(select.scss fileicons/*.png switches/switch_*.png material/icons *.svg) end end From a259de7e7eecc2f2f565726f1e6e2f8c728a0508 Mon Sep 17 00:00:00 2001 From: JoKer Date: Wed, 10 Aug 2022 13:50:46 +0200 Subject: [PATCH 3/9] Select2 tags addon should allow tokenSeparators attribute https://github.com/platanus/activeadmin_addons/issues/418 --- app/inputs/tags_input.rb | 1 + app/javascript/activeadmin_addons/inputs/tags.js | 1 + 2 files changed, 2 insertions(+) diff --git a/app/inputs/tags_input.rb b/app/inputs/tags_input.rb index 470e1292..1d3c63fd 100644 --- a/app/inputs/tags_input.rb +++ b/app/inputs/tags_input.rb @@ -13,6 +13,7 @@ def load_control_attributes load_data_attr(:model, value: model_name) load_data_attr(:method, value: method) load_data_attr(:width, default: "80%") + load_data_attr(:token_separators) if active_record_select? load_data_attr(:relation, value: true) diff --git a/app/javascript/activeadmin_addons/inputs/tags.js b/app/javascript/activeadmin_addons/inputs/tags.js index 09bf9d9b..69d3e8a4 100644 --- a/app/javascript/activeadmin_addons/inputs/tags.js +++ b/app/javascript/activeadmin_addons/inputs/tags.js @@ -18,6 +18,7 @@ var initializer = function() { multiple: true, tags: true, data: collection, + tokenSeparators: $(el).data('tokenSeparators'), }; if (!!isRelation) { From 15fc3f05d54daae1c2ea729e2d3f0fd1497c9a34 Mon Sep 17 00:00:00 2001 From: JoKer Date: Wed, 10 Aug 2022 13:50:46 +0200 Subject: [PATCH 4/9] Select2 tags addon should allow tokenSeparators attribute https://github.com/platanus/activeadmin_addons/issues/418 --- app/inputs/tags_input.rb | 1 + app/javascript/activeadmin_addons/inputs/tags.js | 1 + 2 files changed, 2 insertions(+) diff --git a/app/inputs/tags_input.rb b/app/inputs/tags_input.rb index 470e1292..1d3c63fd 100644 --- a/app/inputs/tags_input.rb +++ b/app/inputs/tags_input.rb @@ -13,6 +13,7 @@ def load_control_attributes load_data_attr(:model, value: model_name) load_data_attr(:method, value: method) load_data_attr(:width, default: "80%") + load_data_attr(:token_separators) if active_record_select? load_data_attr(:relation, value: true) diff --git a/app/javascript/activeadmin_addons/inputs/tags.js b/app/javascript/activeadmin_addons/inputs/tags.js index 09bf9d9b..fe81649f 100644 --- a/app/javascript/activeadmin_addons/inputs/tags.js +++ b/app/javascript/activeadmin_addons/inputs/tags.js @@ -18,6 +18,7 @@ var initializer = function() { multiple: true, tags: true, data: collection, + tokenSeparators: $(el).data('tokenSeparators') }; if (!!isRelation) { From 070b79b50cd5a65811e8d9c9ffe054c064396ce6 Mon Sep 17 00:00:00 2001 From: JoKer Date: Thu, 11 Aug 2022 10:52:23 +0200 Subject: [PATCH 5/9] default should actually be [','] --- app/javascript/activeadmin_addons/inputs/tags.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/activeadmin_addons/inputs/tags.js b/app/javascript/activeadmin_addons/inputs/tags.js index fe81649f..c3c31b59 100644 --- a/app/javascript/activeadmin_addons/inputs/tags.js +++ b/app/javascript/activeadmin_addons/inputs/tags.js @@ -18,7 +18,7 @@ var initializer = function() { multiple: true, tags: true, data: collection, - tokenSeparators: $(el).data('tokenSeparators') + tokenSeparators: $(el).data('tokenSeparators') || [','] }; if (!!isRelation) { From b15f1fe6979f8a0d2de7717e045cc8ec6a0bc483 Mon Sep 17 00:00:00 2001 From: JoKer Date: Thu, 11 Aug 2022 10:55:29 +0200 Subject: [PATCH 6/9] I run now yarn build --- app/assets/javascripts/activeadmin_addons/all.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/activeadmin_addons/all.js b/app/assets/javascripts/activeadmin_addons/all.js index 0846df99..46dd8368 100644 --- a/app/assets/javascripts/activeadmin_addons/all.js +++ b/app/assets/javascripts/activeadmin_addons/all.js @@ -447,7 +447,8 @@ width: width, multiple: true, tags: true, - data: collection + data: collection, + tokenSeparators: $(el).data("tokenSeparators") || [ "," ] }; if (!!isRelation) { selectOptions.createTag = function() { From a3cf4a70b07f18c0c3f7d9b749a516adc58d76f0 Mon Sep 17 00:00:00 2001 From: JoKer Date: Thu, 11 Aug 2022 11:18:41 +0200 Subject: [PATCH 7/9] preparing for publishing it to npm --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 626e0f04..6d020ed9 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "activeadmin_addons", + "name": "@joker-7777/activeadmin_addons", "version": "1.0.0", "description": "Set of addons to help with the activeadmin ui", "main": "src/all.js", @@ -7,7 +7,7 @@ "src/*" ], "repository": "https://github.com/platanus/activeadmin_addons.git", - "author": "Platanus ", + "author": "Johannes Köhler ", "license": "MIT", "scripts": { "build": "rollup --config rollup.config.js", From d485049347cce3bdd65573f07ed54e26fb5363fe Mon Sep 17 00:00:00 2001 From: JoKer Date: Thu, 11 Aug 2022 13:09:14 +0200 Subject: [PATCH 8/9] fixes issue where rails stores array as spaces sperated string in hidden field tag --- app/inputs/tags_input.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/inputs/tags_input.rb b/app/inputs/tags_input.rb index 1d3c63fd..46f5c95c 100644 --- a/app/inputs/tags_input.rb +++ b/app/inputs/tags_input.rb @@ -26,7 +26,9 @@ def load_control_attributes private def render_array_tags - render_tags_control { build_hidden_control(prefixed_method, method_to_input_name, input_value) } + render_tags_control { + build_hidden_control(prefixed_method, method_to_input_name, input_value.join(",")) + } end def render_collection_tags From 9da307407bf8b9239cb76a58ac0229d6013aa9e8 Mon Sep 17 00:00:00 2001 From: JoKer Date: Mon, 15 Aug 2022 17:28:53 +0200 Subject: [PATCH 9/9] input value for hidden input field can be nil --- app/inputs/tags_input.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/inputs/tags_input.rb b/app/inputs/tags_input.rb index 46f5c95c..13a28fb0 100644 --- a/app/inputs/tags_input.rb +++ b/app/inputs/tags_input.rb @@ -27,7 +27,7 @@ def load_control_attributes def render_array_tags render_tags_control { - build_hidden_control(prefixed_method, method_to_input_name, input_value.join(",")) + build_hidden_control(prefixed_method, method_to_input_name, input_value.try(:join, ",")) } end