123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- <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('<%= url_for(:controller => 'my', :action => '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('<%= url_for(:controller => 'my', :action => '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('<%= url_for(:controller => 'my', :action => '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>".html_safe + 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)) -%>
|