diff options
| -rw-r--r-- | config/initializers/simple_form/safe_submit.rb | 15 | ||||
| -rw-r--r-- | lib/af83/simple_form/safe_submit.rb | 24 |
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 |
