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 | 
