Commit 123c4f76160b674358e3427a0b4663de835b229b
1 parent
4a2b904d
Exists in
master
and in
29 other branches
ActionItem0: adding sort possibility on edit template
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@77 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
4 changed files
with
29 additions
and
6 deletions
Show diff stats
app/controllers/edit_template_controller.rb
1 | class EditTemplateController < ApplicationController | 1 | class EditTemplateController < ApplicationController |
2 | 2 | ||
3 | + before_filter :manage_template | ||
4 | + | ||
5 | + attr_accessor :controller_manage_template | ||
6 | + | ||
7 | + def manage_template? | ||
8 | + self.controller_manage_template == true ? true : false | ||
9 | + end | ||
10 | + | ||
3 | # This method changes a block content to a different box place and | 11 | # This method changes a block content to a different box place and |
4 | # updates all boxes at the ends | 12 | # updates all boxes at the ends |
5 | def change_box | 13 | def change_box |
@@ -10,7 +18,6 @@ class EditTemplateController < ApplicationController | @@ -10,7 +18,6 @@ class EditTemplateController < ApplicationController | ||
10 | @boxes.each do |box| | 18 | @boxes.each do |box| |
11 | @box = box | 19 | @box = box |
12 | page.replace_html "box_#{box.number}", {:partial => 'layouts/box_template'} | 20 | page.replace_html "box_#{box.number}", {:partial => 'layouts/box_template'} |
13 | - page.sortable "sort_#{box.number}", :url => {:action => 'sort_box', :box_number => box.number} | ||
14 | end | 21 | end |
15 | end | 22 | end |
16 | end | 23 | end |
@@ -30,4 +37,19 @@ class EditTemplateController < ApplicationController | @@ -30,4 +37,19 @@ class EditTemplateController < ApplicationController | ||
30 | render :partial => 'layouts/box_template' | 37 | render :partial => 'layouts/box_template' |
31 | end | 38 | end |
32 | 39 | ||
40 | + def set_sort_mode | ||
41 | + box = Box.find(params[:box_id]) | ||
42 | + render :update do |page| | ||
43 | + @box = box | ||
44 | + page.replace_html "box_#{box.number}", {:partial => 'layouts/box_template'} | ||
45 | + page.sortable "sort_#{box.number}", :url => {:action => 'sort_box', :box_number => box.number} | ||
46 | + end | ||
47 | + end | ||
48 | + | ||
49 | + private | ||
50 | + | ||
51 | + def manage_template | ||
52 | + self.controller_manage_template = true | ||
53 | + end | ||
54 | + | ||
33 | end | 55 | end |
app/helpers/application_helper.rb
@@ -77,7 +77,7 @@ module ApplicationHelper | @@ -77,7 +77,7 @@ module ApplicationHelper | ||
77 | 77 | ||
78 | # Check if the current controller is the controller that allows layout editing | 78 | # Check if the current controller is the controller that allows layout editing |
79 | def edit_mode? | 79 | def edit_mode? |
80 | - controller.controller_name == 'edit_template' ? true : false | 80 | + controller.manage_template? |
81 | end | 81 | end |
82 | 82 | ||
83 | # Shows the block as the struture bellow | 83 | # Shows the block as the struture bellow |
app/helpers/edit_template_helper.rb
@@ -7,11 +7,12 @@ module EditTemplateHelper | @@ -7,11 +7,12 @@ module EditTemplateHelper | ||
7 | # In this case the layout can be manipulated | 7 | # In this case the layout can be manipulated |
8 | def edit_blocks(box, main_content = "") | 8 | def edit_blocks(box, main_content = "") |
9 | blocks = box.blocks_sort_by_position | 9 | blocks = box.blocks_sort_by_position |
10 | - content_tag(:ul, box.name + | 10 | + content_tag(:ul, box.name + |
11 | + link_to_remote(_('sort'), {:update => "sort_#{box.number}", :url => {:action => 'set_sort_mode', :box_id => box.id }}, :class => 'sort_button') + | ||
11 | blocks.map {|b| | 12 | blocks.map {|b| |
12 | content_tag(:li, b.name, :class =>"block_item_box_#{box.number}" , :id => "block_#{b.id}" ) + draggable("block_#{b.id}") | 13 | content_tag(:li, b.name, :class =>"block_item_box_#{box.number}" , :id => "block_#{b.id}" ) + draggable("block_#{b.id}") |
13 | }.to_s, :id => "sort_#{box.number}" | 14 | }.to_s, :id => "sort_#{box.number}" |
14 | - ) + drag_drop_items(box) + sortable_block(box.number) | 15 | + ) + drag_drop_items(box) |
15 | end | 16 | end |
16 | 17 | ||
17 | # Allows the biven box to have sortable elements | 18 | # Allows the biven box to have sortable elements |
@@ -23,7 +24,7 @@ module EditTemplateHelper | @@ -23,7 +24,7 @@ module EditTemplateHelper | ||
23 | 24 | ||
24 | # Allows an element item to be draggable | 25 | # Allows an element item to be draggable |
25 | def draggable(item) | 26 | def draggable(item) |
26 | - draggable_element(item, :ghosting=>true, :revert=>true) | 27 | + draggable_element(item, :ghosting => true, :revert => true) |
27 | end | 28 | end |
28 | 29 | ||
29 | # Allows an draggable element change between diferrents boxes | 30 | # Allows an draggable element change between diferrents boxes |
app/views/layouts/application.rhtml
@@ -6,7 +6,7 @@ | @@ -6,7 +6,7 @@ | ||
6 | 6 | ||
7 | </head> | 7 | </head> |
8 | <body> | 8 | <body> |
9 | - <%= image_tag 'loading.gif', :id=>'spinner', :style=>"display:none; float:right;" %> | 9 | + <%= image_tag 'loading.gif', :id => 'spinner', :style => "display:none; float:right;" %> |
10 | 10 | ||
11 | <%= link_to _('Show Layout'), :controller => 'home' %> | 11 | <%= link_to _('Show Layout'), :controller => 'home' %> |
12 | <%= link_to _('Edit Layout'), :controller => 'edit_template' %> | 12 | <%= link_to _('Edit Layout'), :controller => 'edit_template' %> |