diff app/views/my/.svn/text-base/page_layout.rhtml.svn-base @ 0:513646585e45

* Import Redmine trunk SVN rev 3859
author Chris Cannam
date Fri, 23 Jul 2010 15:52:44 +0100
parents
children 94944d00e43c
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/views/my/.svn/text-base/page_layout.rhtml.svn-base	Fri Jul 23 15:52:44 2010 +0100
@@ -0,0 +1,108 @@
+<script language="JavaScript">
+//<![CDATA[
+function recreateSortables() {
+    Sortable.destroy('list-top');
+    Sortable.destroy('list-left');
+    Sortable.destroy('list-right');
+    
+	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'})
+	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'})
+	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'})
+}
+
+function updateSelect() {
+    s = $('block-select')
+    for (var i = 0; i < s.options.length; i++) {
+        if ($('block_' + s.options[i].value)) {
+            s.options[i].disabled = true;
+        } else {
+            s.options[i].disabled = false;
+        }
+    }
+    s.options[0].selected = true;
+}
+
+function afterAddBlock() {
+    recreateSortables();
+    updateSelect();
+}
+
+function removeBlock(block) {
+    Effect.DropOut(block);
+    updateSelect();
+}
+//]]>
+</script>
+
+<div class="contextual">
+<% form_tag({:action => "add_block"}, :id => "block-form") do %>
+<%= label_tag('block-select', l(:label_my_page_block)) %>
+<%= select_tag 'block', "<option></option>" + options_for_select(@block_options), :id => "block-select" %>
+<%= link_to_remote l(:button_add),
+           {:url => { :action => "add_block" },
+            :with => "Form.serialize('block-form')",
+            :update => "list-top",
+            :position => :top,
+            :complete => "afterAddBlock();"
+           }, :class => 'icon icon-add'
+             %>
+<% end %>
+<%= link_to l(:button_back), {:action => 'page'}, :class => 'icon icon-cancel' %>
+</div>
+
+<h2><%=l(:label_my_page)%></h2>
+
+<div id="list-top" class="block-receiver">
+	<% @blocks['top'].each do |b| 
+	   next unless MyController::BLOCKS.keys.include? b %>
+	<%= render :partial => 'block', :locals => {:user => @user, :block_name => b} %>
+	<% end if @blocks['top'] %>
+</div>
+
+<div id="list-left" class="splitcontentleft block-receiver">
+	<% @blocks['left'].each do |b| 
+	   next unless MyController::BLOCKS.keys.include? b %>
+	<%= render :partial => 'block', :locals => {:user => @user, :block_name => b} %>
+	<% end if @blocks['left'] %>
+</div>
+
+<div id="list-right" class="splitcontentright block-receiver">
+	<% @blocks['right'].each do |b| 
+	   next unless MyController::BLOCKS.keys.include? b %>
+	<%= render :partial => 'block', :locals => {:user => @user, :block_name => b} %>
+	<% end if @blocks['right'] %>
+</div>
+
+<%= sortable_element 'list-top',
+      :tag => 'div',
+      :only => 'mypage-box',
+      :handle => "handle",
+      :dropOnEmpty => true,
+      :containment => ['list-top', 'list-left', 'list-right'],
+      :constraint => false,
+      :url => { :action => "order_blocks", :group => "top" }
+       %>
+      
+      
+<%= sortable_element 'list-left', 
+      :tag => 'div',
+      :only => 'mypage-box',
+      :handle => "handle",
+      :dropOnEmpty => true,
+      :containment => ['list-top', 'list-left', 'list-right'],
+      :constraint => false,
+      :url => { :action => "order_blocks", :group => "left" }
+       %>
+      
+<%= sortable_element 'list-right', 
+      :tag => 'div',
+      :only => 'mypage-box',
+      :handle => "handle",
+      :dropOnEmpty => true,
+      :containment => ['list-top', 'list-left', 'list-right'],
+      :constraint => false,
+      :url => { :action => "order_blocks", :group => "right" }
+       %>
+      
+<%= javascript_tag "updateSelect()" %>
+<% html_title(l(:label_my_page)) -%>