##// END OF EJS Templates
Add the page title when editing /my/page....
Eric Davis -
r3641:c3c3460e0dea
parent child
Show More
@@ -1,107 +1,108
1 <script language="JavaScript">
1 <script language="JavaScript">
2 //<![CDATA[
2 //<![CDATA[
3 function recreateSortables() {
3 function recreateSortables() {
4 Sortable.destroy('list-top');
4 Sortable.destroy('list-top');
5 Sortable.destroy('list-left');
5 Sortable.destroy('list-left');
6 Sortable.destroy('list-right');
6 Sortable.destroy('list-right');
7
7
8 Sortable.create("list-top", {constraint:false, containment:['list-top','list-left','list-right'], dropOnEmpty:true, handle:'handle', onUpdate:function(){new Ajax.Request('/my/order_blocks?group=top', {asynchronous:true, evalScripts:true, parameters:Sortable.serialize("list-top")})}, only:'mypage-box', tag:'div'})
8 Sortable.create("list-top", {constraint:false, containment:['list-top','list-left','list-right'], dropOnEmpty:true, handle:'handle', onUpdate:function(){new Ajax.Request('/my/order_blocks?group=top', {asynchronous:true, evalScripts:true, parameters:Sortable.serialize("list-top")})}, only:'mypage-box', tag:'div'})
9 Sortable.create("list-left", {constraint:false, containment:['list-top','list-left','list-right'], dropOnEmpty:true, handle:'handle', onUpdate:function(){new Ajax.Request('/my/order_blocks?group=left', {asynchronous:true, evalScripts:true, parameters:Sortable.serialize("list-left")})}, only:'mypage-box', tag:'div'})
9 Sortable.create("list-left", {constraint:false, containment:['list-top','list-left','list-right'], dropOnEmpty:true, handle:'handle', onUpdate:function(){new Ajax.Request('/my/order_blocks?group=left', {asynchronous:true, evalScripts:true, parameters:Sortable.serialize("list-left")})}, only:'mypage-box', tag:'div'})
10 Sortable.create("list-right", {constraint:false, containment:['list-top','list-left','list-right'], dropOnEmpty:true, handle:'handle', onUpdate:function(){new Ajax.Request('/my/order_blocks?group=right', {asynchronous:true, evalScripts:true, parameters:Sortable.serialize("list-right")})}, only:'mypage-box', tag:'div'})
10 Sortable.create("list-right", {constraint:false, containment:['list-top','list-left','list-right'], dropOnEmpty:true, handle:'handle', onUpdate:function(){new Ajax.Request('/my/order_blocks?group=right', {asynchronous:true, evalScripts:true, parameters:Sortable.serialize("list-right")})}, only:'mypage-box', tag:'div'})
11 }
11 }
12
12
13 function updateSelect() {
13 function updateSelect() {
14 s = $('block-select')
14 s = $('block-select')
15 for (var i = 0; i < s.options.length; i++) {
15 for (var i = 0; i < s.options.length; i++) {
16 if ($('block_' + s.options[i].value)) {
16 if ($('block_' + s.options[i].value)) {
17 s.options[i].disabled = true;
17 s.options[i].disabled = true;
18 } else {
18 } else {
19 s.options[i].disabled = false;
19 s.options[i].disabled = false;
20 }
20 }
21 }
21 }
22 s.options[0].selected = true;
22 s.options[0].selected = true;
23 }
23 }
24
24
25 function afterAddBlock() {
25 function afterAddBlock() {
26 recreateSortables();
26 recreateSortables();
27 updateSelect();
27 updateSelect();
28 }
28 }
29
29
30 function removeBlock(block) {
30 function removeBlock(block) {
31 Effect.DropOut(block);
31 Effect.DropOut(block);
32 updateSelect();
32 updateSelect();
33 }
33 }
34 //]]>
34 //]]>
35 </script>
35 </script>
36
36
37 <div class="contextual">
37 <div class="contextual">
38 <% form_tag({:action => "add_block"}, :id => "block-form") do %>
38 <% form_tag({:action => "add_block"}, :id => "block-form") do %>
39 <%= label_tag('block-select', l(:label_my_page_block)) %>
39 <%= label_tag('block-select', l(:label_my_page_block)) %>
40 <%= select_tag 'block', "<option></option>" + options_for_select(@block_options), :id => "block-select" %>
40 <%= select_tag 'block', "<option></option>" + options_for_select(@block_options), :id => "block-select" %>
41 <%= link_to_remote l(:button_add),
41 <%= link_to_remote l(:button_add),
42 {:url => { :action => "add_block" },
42 {:url => { :action => "add_block" },
43 :with => "Form.serialize('block-form')",
43 :with => "Form.serialize('block-form')",
44 :update => "list-top",
44 :update => "list-top",
45 :position => :top,
45 :position => :top,
46 :complete => "afterAddBlock();"
46 :complete => "afterAddBlock();"
47 }, :class => 'icon icon-add'
47 }, :class => 'icon icon-add'
48 %>
48 %>
49 <% end %>
49 <% end %>
50 <%= link_to l(:button_back), {:action => 'page'}, :class => 'icon icon-cancel' %>
50 <%= link_to l(:button_back), {:action => 'page'}, :class => 'icon icon-cancel' %>
51 </div>
51 </div>
52
52
53 <h2><%=l(:label_my_page)%></h2>
53 <h2><%=l(:label_my_page)%></h2>
54
54
55 <div id="list-top" class="block-receiver">
55 <div id="list-top" class="block-receiver">
56 <% @blocks['top'].each do |b|
56 <% @blocks['top'].each do |b|
57 next unless MyController::BLOCKS.keys.include? b %>
57 next unless MyController::BLOCKS.keys.include? b %>
58 <%= render :partial => 'block', :locals => {:user => @user, :block_name => b} %>
58 <%= render :partial => 'block', :locals => {:user => @user, :block_name => b} %>
59 <% end if @blocks['top'] %>
59 <% end if @blocks['top'] %>
60 </div>
60 </div>
61
61
62 <div id="list-left" class="splitcontentleft block-receiver">
62 <div id="list-left" class="splitcontentleft block-receiver">
63 <% @blocks['left'].each do |b|
63 <% @blocks['left'].each do |b|
64 next unless MyController::BLOCKS.keys.include? b %>
64 next unless MyController::BLOCKS.keys.include? b %>
65 <%= render :partial => 'block', :locals => {:user => @user, :block_name => b} %>
65 <%= render :partial => 'block', :locals => {:user => @user, :block_name => b} %>
66 <% end if @blocks['left'] %>
66 <% end if @blocks['left'] %>
67 </div>
67 </div>
68
68
69 <div id="list-right" class="splitcontentright block-receiver">
69 <div id="list-right" class="splitcontentright block-receiver">
70 <% @blocks['right'].each do |b|
70 <% @blocks['right'].each do |b|
71 next unless MyController::BLOCKS.keys.include? b %>
71 next unless MyController::BLOCKS.keys.include? b %>
72 <%= render :partial => 'block', :locals => {:user => @user, :block_name => b} %>
72 <%= render :partial => 'block', :locals => {:user => @user, :block_name => b} %>
73 <% end if @blocks['right'] %>
73 <% end if @blocks['right'] %>
74 </div>
74 </div>
75
75
76 <%= sortable_element 'list-top',
76 <%= sortable_element 'list-top',
77 :tag => 'div',
77 :tag => 'div',
78 :only => 'mypage-box',
78 :only => 'mypage-box',
79 :handle => "handle",
79 :handle => "handle",
80 :dropOnEmpty => true,
80 :dropOnEmpty => true,
81 :containment => ['list-top', 'list-left', 'list-right'],
81 :containment => ['list-top', 'list-left', 'list-right'],
82 :constraint => false,
82 :constraint => false,
83 :url => { :action => "order_blocks", :group => "top" }
83 :url => { :action => "order_blocks", :group => "top" }
84 %>
84 %>
85
85
86
86
87 <%= sortable_element 'list-left',
87 <%= sortable_element 'list-left',
88 :tag => 'div',
88 :tag => 'div',
89 :only => 'mypage-box',
89 :only => 'mypage-box',
90 :handle => "handle",
90 :handle => "handle",
91 :dropOnEmpty => true,
91 :dropOnEmpty => true,
92 :containment => ['list-top', 'list-left', 'list-right'],
92 :containment => ['list-top', 'list-left', 'list-right'],
93 :constraint => false,
93 :constraint => false,
94 :url => { :action => "order_blocks", :group => "left" }
94 :url => { :action => "order_blocks", :group => "left" }
95 %>
95 %>
96
96
97 <%= sortable_element 'list-right',
97 <%= sortable_element 'list-right',
98 :tag => 'div',
98 :tag => 'div',
99 :only => 'mypage-box',
99 :only => 'mypage-box',
100 :handle => "handle",
100 :handle => "handle",
101 :dropOnEmpty => true,
101 :dropOnEmpty => true,
102 :containment => ['list-top', 'list-left', 'list-right'],
102 :containment => ['list-top', 'list-left', 'list-right'],
103 :constraint => false,
103 :constraint => false,
104 :url => { :action => "order_blocks", :group => "right" }
104 :url => { :action => "order_blocks", :group => "right" }
105 %>
105 %>
106
106
107 <%= javascript_tag "updateSelect()" %>
107 <%= javascript_tag "updateSelect()" %>
108 <% html_title(l(:label_my_page)) -%>
General Comments 0
You need to be logged in to leave comments. Login now