annotate .svn/pristine/83/834d9cf4dced150304b5d64254144f6c7a1f3283.svn-base @ 1516:b450a9d58aed redmine-2.4

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