Commit 285132735eb400bc6929dd83a24d4a55841d8b94
1 parent
540a657f
Exists in
master
and in
28 other branches
support to add css class without replace original on button_bar
Showing
2 changed files
with
34 additions
and
1 deletions
Show diff stats
app/helpers/application_helper.rb
@@ -260,7 +260,10 @@ module ApplicationHelper | @@ -260,7 +260,10 @@ module ApplicationHelper | ||
260 | end | 260 | end |
261 | 261 | ||
262 | def button_bar(options = {}, &block) | 262 | def button_bar(options = {}, &block) |
263 | - concat(content_tag('div', capture(&block) + tag('br', :style => 'clear: left;'), { :class => 'button-bar' }.merge(options))) | 263 | + options[:class].nil? ? |
264 | + options[:class]='button-bar' : | ||
265 | + options[:class]+=' button-bar' | ||
266 | + concat(content_tag('div', capture(&block) + tag('br', :style => 'clear: left;'), options)) | ||
264 | end | 267 | end |
265 | 268 | ||
266 | VIEW_EXTENSIONS = %w[.rhtml .html.erb] | 269 | VIEW_EXTENSIONS = %w[.rhtml .html.erb] |
test/unit/application_helper_test.rb
@@ -657,7 +657,37 @@ class ApplicationHelperTest < ActiveSupport::TestCase | @@ -657,7 +657,37 @@ class ApplicationHelperTest < ActiveSupport::TestCase | ||
657 | assert_not_nil add_zoom_to_images | 657 | assert_not_nil add_zoom_to_images |
658 | end | 658 | end |
659 | 659 | ||
660 | + should 'envelop a html with button-bar div' do | ||
661 | + result = button_bar { '<b>foo</b>' } | ||
662 | + assert_equal '<div class="button-bar"><b>foo</b>'+ | ||
663 | + '<br style=\'clear: left;\' /></div>', result | ||
664 | + end | ||
665 | + | ||
666 | + should 'add more classes to button-bar envelope' do | ||
667 | + result = button_bar :class=>'test' do | ||
668 | + '<b>foo</b>' | ||
669 | + end | ||
670 | + assert_equal '<div class="test button-bar"><b>foo</b>'+ | ||
671 | + '<br style=\'clear: left;\' /></div>', result | ||
672 | + end | ||
673 | + | ||
674 | + should 'add more attributes to button-bar envelope' do | ||
675 | + result = button_bar :id=>'bt1' do | ||
676 | + '<b>foo</b>' | ||
677 | + end | ||
678 | + assert_equal '<div class="button-bar" id="bt1"><b>foo</b>'+ | ||
679 | + '<br style=\'clear: left;\' /></div>', result | ||
680 | + end | ||
681 | + | ||
660 | protected | 682 | protected |
661 | include NoosferoTestHelper | 683 | include NoosferoTestHelper |
662 | 684 | ||
685 | + def capture | ||
686 | + yield | ||
687 | + end | ||
688 | + | ||
689 | + def concat(str) | ||
690 | + str | ||
691 | + end | ||
692 | + | ||
663 | end | 693 | end |