Commit ce5d736e0181e5a57b8f1de53bce576ede6afb3d
Exists in
master
and in
22 other branches
Merge branch 'container-block' of gitlab.com:diguliu/noosfero into container-block
Conflicts: app/helpers/boxes_helper.rb test/unit/boxes_helper_test.rb
Showing
9 changed files
with
15 additions
and
32 deletions
Show diff stats
app/helpers/boxes_helper.rb
| @@ -227,15 +227,11 @@ module BoxesHelper | @@ -227,15 +227,11 @@ module BoxesHelper | ||
| 227 | 227 | ||
| 228 | # DEPRECATED. Do not use this. | 228 | # DEPRECATED. Do not use this. |
| 229 | def import_blocks_stylesheets(options = {}) | 229 | def import_blocks_stylesheets(options = {}) |
| 230 | - @blocks_css_files ||= current_blocks.map{|b|'blocks/' + block_css_class_name(b)}.uniq | 230 | + @blocks_css_files ||= current_blocks.map{|b|'blocks/' + block.class.name.to_css_class}.uniq |
| 231 | stylesheet_import(@blocks_css_files, options) | 231 | stylesheet_import(@blocks_css_files, options) |
| 232 | end | 232 | end |
| 233 | - | ||
| 234 | - def block_css_class_name(block) | ||
| 235 | - block.class.name.underscore.gsub('_', '-').gsub('/','_') | ||
| 236 | - end | ||
| 237 | def block_css_classes(block) | 233 | def block_css_classes(block) |
| 238 | - classes = block_css_class_name(block) | 234 | + classes = block.class.name.to_css_class |
| 239 | classes += ' invisible-block' if block.display == 'never' | 235 | classes += ' invisible-block' if block.display == 'never' |
| 240 | classes | 236 | classes |
| 241 | end | 237 | end |
app/models/article.rb
| @@ -157,7 +157,7 @@ class Article < ActiveRecord::Base | @@ -157,7 +157,7 @@ class Article < ActiveRecord::Base | ||
| 157 | end | 157 | end |
| 158 | 158 | ||
| 159 | def css_class_list | 159 | def css_class_list |
| 160 | - [self.class.name.underscore.dasherize] | 160 | + [self.class.name.to_css_class] |
| 161 | end | 161 | end |
| 162 | 162 | ||
| 163 | def css_class_name | 163 | def css_class_name |
app/models/box.rb
| @@ -78,7 +78,7 @@ class Box < ActiveRecord::Base | @@ -78,7 +78,7 @@ class Box < ActiveRecord::Base | ||
| 78 | private | 78 | private |
| 79 | 79 | ||
| 80 | def to_css_class_name(blocks) | 80 | def to_css_class_name(blocks) |
| 81 | - blocks.map{ |block| block.to_s.underscore.tr('_', '-') } | 81 | + blocks.map{ |block| block.class.name.to_css_class } |
| 82 | end | 82 | end |
| 83 | 83 | ||
| 84 | end | 84 | end |
lib/noosfero/core_ext/string.rb
| @@ -80,6 +80,10 @@ class String | @@ -80,6 +80,10 @@ class String | ||
| 80 | transliterate.downcase.gsub(/[^\w~\s:;+=_."'`-]/, '').gsub(/[\s:;+=_"'`-]+/, '-').gsub(/-$/, '').gsub(/^-/, '').to_s | 80 | transliterate.downcase.gsub(/[^\w~\s:;+=_."'`-]/, '').gsub(/[\s:;+=_"'`-]+/, '-').gsub(/-$/, '').gsub(/^-/, '').to_s |
| 81 | end | 81 | end |
| 82 | 82 | ||
| 83 | + def to_css_class | ||
| 84 | + underscore.dasherize.gsub('/','_') | ||
| 85 | + end | ||
| 86 | + | ||
| 83 | def fix_i18n | 87 | def fix_i18n |
| 84 | self.sub('{fn} ', '') | 88 | self.sub('{fn} ', '') |
| 85 | end | 89 | end |
plugins/container_block/test/functional/container_block_home_controller_test.rb
| @@ -28,7 +28,7 @@ class HomeControllerTest < ActionController::TestCase | @@ -28,7 +28,7 @@ class HomeControllerTest < ActionController::TestCase | ||
| 28 | 28 | ||
| 29 | should 'display ContainerBlock' do | 29 | should 'display ContainerBlock' do |
| 30 | get :index | 30 | get :index |
| 31 | - assert_tag :div, :attributes => { :class => 'block container-block-plugin/container-block' } | 31 | + assert_tag :div, :attributes => { :class => 'block container-block-plugin_container-block' } |
| 32 | end | 32 | end |
| 33 | 33 | ||
| 34 | should 'display container children' do | 34 | should 'display container children' do |
plugins/container_block/views/blocks/container.rhtml
| @@ -16,10 +16,10 @@ | @@ -16,10 +16,10 @@ | ||
| 16 | 16 | ||
| 17 | <% if edit_mode %> | 17 | <% if edit_mode %> |
| 18 | <div class="button-bar"> | 18 | <div class="button-bar"> |
| 19 | - <a href="#" onclick="toggleMoveContainerChildren(<%= block.id %>, <%= block.container_box.id %>); return false;" class="button icon-resize"></a> | 19 | + <a href="#" onclick="toggleMoveContainerChildren(<%= block.id %>, <%= block.container_box.id %>); return false;" class="button icon-resize" title=<%= _('Resize blocks').to_json %>></a> |
| 20 | <%= link_to_remote '', :url => { :controller => @controller.boxes_holder.kind_of?(Environment) ? 'container_block_plugin_admin' : 'container_block_plugin_myprofile', :action => 'saveWidths', :id => block.id }, | 20 | <%= link_to_remote '', :url => { :controller => @controller.boxes_holder.kind_of?(Environment) ? 'container_block_plugin_admin' : 'container_block_plugin_myprofile', :action => 'saveWidths', :id => block.id }, |
| 21 | :with => "containerChildrenWidth(#{block.id}, #{block.container_box.id})", | 21 | :with => "containerChildrenWidth(#{block.id}, #{block.container_box.id})", |
| 22 | - :html => {:class => "button icon-save container_block_save", :id => "container_block_save_#{block.id}" }, | 22 | + :html => {:class => "button icon-save container_block_save", :id => "container_block_save_#{block.id}", :title => _('Save') }, |
| 23 | :loading => "open_loading(DEFAULT_LOADING_MESSAGE);", | 23 | :loading => "open_loading(DEFAULT_LOADING_MESSAGE);", |
| 24 | :loaded => "close_loading();", | 24 | :loaded => "close_loading();", |
| 25 | :complete => "display_notice(request.responseText);"%> | 25 | :complete => "display_notice(request.responseText);"%> |
plugins/container_block/views/box_organizer/_container_block.rhtml
| @@ -1,14 +0,0 @@ | @@ -1,14 +0,0 @@ | ||
| 1 | -<br/> | ||
| 2 | -<ul id="links"> | ||
| 3 | - <% @block.blocks.each do |block| %> | ||
| 4 | - <li> | ||
| 5 | - <%= block.class.name %> | ||
| 6 | - </li> | ||
| 7 | - <% end %> | ||
| 8 | -</ul> | ||
| 9 | - | ||
| 10 | -<%= link_to_function(_('New block'), nil, :class => 'button icon-add with-text') { |page| | ||
| 11 | - page.insert_html :bottom, 'links', content_tag('li',select_tag('block[block_classes][]', | ||
| 12 | - options_for_select( @controller.available_blocks.each_with_index.map {|b,i| [b.name, b.name] } ))) } %> | ||
| 13 | - | ||
| 14 | -<br/><br/> |
test/unit/boxes_helper_test.rb
| @@ -96,13 +96,6 @@ class BoxesHelperTest < ActiveSupport::TestCase | @@ -96,13 +96,6 @@ class BoxesHelperTest < ActiveSupport::TestCase | ||
| 96 | assert_tag_in_string insert_boxes('main content'), :tag => "div", :attributes => { :id => 'profile-footer' }, :content => 'my custom footer' | 96 | assert_tag_in_string insert_boxes('main content'), :tag => "div", :attributes => { :id => 'profile-footer' }, :content => 'my custom footer' |
| 97 | end | 97 | end |
| 98 | 98 | ||
| 99 | - should 'calculate CSS class names correctly' do | ||
| 100 | - class NamespacedBlock < Block; end | ||
| 101 | - assert_equal 'slideshow-block', block_css_class_name(SlideshowBlock.new) | ||
| 102 | - assert_equal 'main-block', block_css_class_name(MainBlock.new) | ||
| 103 | - assert_equal 'boxes-helper-test_namespaced-block', block_css_class_name(NamespacedBlock.new) | ||
| 104 | - end | ||
| 105 | - | ||
| 106 | should 'add invisible CSS class name for invisible blocks' do | 99 | should 'add invisible CSS class name for invisible blocks' do |
| 107 | assert !block_css_classes(Block.new(:display => 'always')).split.any? { |item| item == 'invisible-block'} | 100 | assert !block_css_classes(Block.new(:display => 'always')).split.any? { |item| item == 'invisible-block'} |
| 108 | assert block_css_classes(Block.new(:display => 'never')).split.any? { |item| item == 'invisible-block'} | 101 | assert block_css_classes(Block.new(:display => 'never')).split.any? { |item| item == 'invisible-block'} |
test/unit/string_core_ext_test.rb
| @@ -33,4 +33,8 @@ class StringCoreExtTest < ActiveSupport::TestCase | @@ -33,4 +33,8 @@ class StringCoreExtTest < ActiveSupport::TestCase | ||
| 33 | assert_equal 'aaaaaaAAAAAeeeeEEOOoocaaaiIIiuuyYnNcC', 'ªáàäâåÁÀÄÂÅéèëêÊËÖÔöôçäàâîÏÎïûüÿŸñÑçÇ'.transliterate | 33 | assert_equal 'aaaaaaAAAAAeeeeEEOOoocaaaiIIiuuyYnNcC', 'ªáàäâåÁÀÄÂÅéèëêÊËÖÔöôçäàâîÏÎïûüÿŸñÑçÇ'.transliterate |
| 34 | end | 34 | end |
| 35 | 35 | ||
| 36 | + should 'convert to css class' do | ||
| 37 | + assert_equal 'spaceship-propulsion_warp-core', "SpaceshipPropulsion::WarpCore".to_css_class | ||
| 38 | + end | ||
| 39 | + | ||
| 36 | end | 40 | end |