aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/initializers/simple_form/safe_submit.rb15
-rw-r--r--lib/af83/simple_form/safe_submit.rb24
2 files changed, 10 insertions, 29 deletions
diff --git a/config/initializers/simple_form/safe_submit.rb b/config/initializers/simple_form/safe_submit.rb
index 8d10929eb..64b9f1e6e 100644
--- a/config/initializers/simple_form/safe_submit.rb
+++ b/config/initializers/simple_form/safe_submit.rb
@@ -1,7 +1,12 @@
-AF83::SimpleForm::SafeSubmit.decorate_simple_form
-
-if Rails.env.development?
- ActionDispatch::Reloader.to_prepare do
- AF83::SimpleForm::SafeSubmit.decorate_simple_form
+::SimpleForm::FormBuilder.class_eval do
+ def button_with_safe_submit(type, *args, &block)
+ options = args.extract_options!.dup
+ if type == :submit
+ options[:data] ||= {}
+ options[:data][:disable_with] ||= I18n.t('actions.wait_for_submission')
+ end
+ args << options
+ button_without_safe_submit type, *args, &block
end
+ alias_method_chain :button, :safe_submit
end
diff --git a/lib/af83/simple_form/safe_submit.rb b/lib/af83/simple_form/safe_submit.rb
deleted file mode 100644
index d4d84f90d..000000000
--- a/lib/af83/simple_form/safe_submit.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-module AF83
- module SimpleForm
- module SafeSubmit
- def self.decorate_simple_form
- ::SimpleForm::FormBuilder.class_eval do
- def button(type, *args, &block)
- options = args.extract_options!.dup
- options[:class] = [::SimpleForm.button_class, options[:class]].compact
- if type == :submit
- options[:data] ||= {}
- options[:data][:disable_with] ||= I18n.t('actions.wait_for_submission')
- end
- args << options
- if respond_to?(:"#{type}_button")
- send(:"#{type}_button", *args, &block)
- else
- send(type, *args, &block)
- end
- end
- end
- end
- end
- end
-end