Commit 84475efd266f295fd4e63250493cb6ea329ee185
1 parent
0e391d12
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
refactoring block store view
Showing
5 changed files
with
41 additions
and
14 deletions
Show diff stats
app/helpers/box_organizer_helper.rb
1 | 1 | module BoxOrganizerHelper |
2 | 2 | |
3 | + def max_number_of_blocks_per_line | |
4 | + 7 | |
5 | + end | |
6 | + | |
3 | 7 | def icon_selector(icon = 'no-ico') |
4 | 8 | render :partial => 'icon_selector', :locals => { :icon => icon } |
5 | 9 | end |
... | ... | @@ -10,4 +14,4 @@ module BoxOrganizerHelper |
10 | 14 | end |
11 | 15 | end |
12 | 16 | |
13 | -end | |
14 | 17 | \ No newline at end of file |
18 | +end | ... | ... |
app/models/block.rb
... | ... | @@ -139,10 +139,6 @@ class Block < ActiveRecord::Base |
139 | 139 | "/images/icon_block.png" |
140 | 140 | end |
141 | 141 | |
142 | - def self.position | |
143 | - [1,2,3] | |
144 | - end | |
145 | - | |
146 | 142 | # Returns the content to be used for this block. |
147 | 143 | # |
148 | 144 | # This method can return several types of objects: | ... | ... |
app/views/box_organizer/index.html.erb
... | ... | @@ -7,24 +7,24 @@ |
7 | 7 | <%= button(:back, _('Back to control panel'), :controller => (profile.nil? ? 'admin_panel': 'profile_editor')) %> |
8 | 8 | <% end %> |
9 | 9 | |
10 | -<% cont = 0 %> | |
11 | -<% i = 0 %> | |
10 | +<% n_blocks_in_line = 0 %> | |
11 | +<% last_block = @blocks.last %> | |
12 | 12 | |
13 | 13 | <div id="block-types-container"> |
14 | 14 | <div id="block-types"> |
15 | 15 | |
16 | 16 | <% @blocks.each do |block| %> |
17 | 17 | |
18 | - <% if cont == 0 && i < @blocks.length %> | |
18 | + <% if n_blocks_in_line == 0 %> | |
19 | 19 | <div class="block-types-group"> |
20 | 20 | <% end %> |
21 | 21 | |
22 | - <% cont += 1 %> | |
22 | + <% n_blocks_in_line += 1 %> | |
23 | 23 | |
24 | 24 | <div id="block-<%=block.name%>" class="block-type <%= block.name.to_css_class %> drag"> |
25 | 25 | <div class="button-bar"> |
26 | 26 | <%= link_to content_tag('span', _('Help on this block')), |
27 | - {:controller => 'environment_design', :action => 'show_block_type_info', :type => block.name}, | |
27 | + {:action => 'show_block_type_info', :type => block.name}, | |
28 | 28 | :class => "button icon-button icon-help colorbox", |
29 | 29 | :title => _('Help on this block') %> |
30 | 30 | <br style="clear: left"> |
... | ... | @@ -37,13 +37,11 @@ |
37 | 37 | |
38 | 38 | <%= draggable_element("block-#{block.name}", :revert => true) %> |
39 | 39 | |
40 | - <% if cont == 7 || i == (@blocks.length - 1) %> | |
41 | - <% cont = 0 %> | |
40 | + <% if n_blocks_in_line == max_number_of_blocks_per_line || last_block == block %> | |
41 | + <% n_blocks_in_line = 0 %> | |
42 | 42 | </div> |
43 | 43 | <% end %> |
44 | 44 | |
45 | - <% i += 1 %> | |
46 | - | |
47 | 45 | <% end %> |
48 | 46 | |
49 | 47 | </div> | ... | ... |
test/functional/environment_design_controller_test.rb
... | ... | @@ -352,4 +352,21 @@ class EnvironmentDesignControllerTest < ActionController::TestCase |
352 | 352 | assert_equal json_response, [] |
353 | 353 | end |
354 | 354 | |
355 | + should 'display all available blocks in groups' do | |
356 | + login_as(create_admin_user(Environment.default)) | |
357 | + get :index | |
358 | + assert_select 'div.block-types-group', 3 | |
359 | + | |
360 | + assert_select 'div.block-types-group' do |elements| | |
361 | + assert_select 'div.block-type', 15 | |
362 | + end | |
363 | + end | |
364 | + | |
365 | + should 'paginate the block store with 7 elements per line' do | |
366 | + assert_equal 15, @controller.available_blocks.length | |
367 | + login_as(create_admin_user(Environment.default)) | |
368 | + get :index | |
369 | + assert_select 'div.block-types-group', 3, "something wrong happens with the pagination of the block store" | |
370 | + end | |
371 | + | |
355 | 372 | end | ... | ... |
... | ... | @@ -0,0 +1,12 @@ |
1 | +# encoding: UTF-8 | |
2 | +require File.dirname(__FILE__) + '/../test_helper' | |
3 | + | |
4 | +class BoxOrganizerHelperTest < ActiveSupport::TestCase | |
5 | + | |
6 | + include BoxOrganizerHelper | |
7 | + | |
8 | + should 'max number of blocks be 7' do | |
9 | + assert_equal 7, max_number_of_blocks_per_line | |
10 | + end | |
11 | + | |
12 | +end | ... | ... |