diff options
author | Azul <azul@leap.se> | 2014-04-23 14:58:30 +0200 |
---|---|---|
committer | Azul <azul@leap.se> | 2014-04-25 12:18:40 +0200 |
commit | 689c10b618c6c469ce82a7f09e117567def577de (patch) | |
tree | 2e0d37efb7821ac65f03056a28366809c786d50d /lib/extensions | |
parent | 76ad25ba0ee344f185f8e8cdfe066685cd3b0447 (diff) |
simple form: add wrapped and loading... buttons #5542
the loading... text on the buttons was not capitalized before.
So in order to change this in a (more or less) single place i added
new button types to simple_form:
button :wrapped - normal button, with loading and an optional cancel button wrapped in the classical bootstrap action div.
cancel option contains the url to go to when canceling.
button :loading - simple button with loading text capitalized by using i18n (simple_form.buttons.loading)
Conflicts:
engines/support/app/views/tickets/new.html.haml
Diffstat (limited to 'lib/extensions')
-rw-r--r-- | lib/extensions/simple_form.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/extensions/simple_form.rb b/lib/extensions/simple_form.rb new file mode 100644 index 0000000..f28e18f --- /dev/null +++ b/lib/extensions/simple_form.rb @@ -0,0 +1,28 @@ +module WrappedButton + def wrapped_button(*args, &block) + template.content_tag :div, :class => "form-actions" do + options = args.extract_options! + options[:class] = ['btn-primary', options[:class]].compact + args.unshift :loading + args << options + if cancel = options.delete(:cancel) + cancel_link = template.link_to I18n.t('simple_form.buttons.cancel'), + cancel, class: :btn + button(*args, &block) + ' ' + cancel_link + else + button(*args, &block) + end + end + end +end +SimpleForm::FormBuilder.send :include, WrappedButton + +module LoadingButton + def loading_button(*args, &block) + options = args.extract_options! + options[:"data-loading-text"] = I18n.t('simple_form.buttons.loading') + args << options + button_button(*args, &block) + end +end +SimpleForm::FormBuilder.send :include, LoadingButton |