To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / app / views / my / page_layout.html.erb @ 918:04114f36670d

History | View | Annotate | Download (4.16 KB)

1
<script language="JavaScript">
2
//<![CDATA[
3
function recreateSortables() {
4
    Sortable.destroy('list-top');
5
    Sortable.destroy('list-left');
6
    Sortable.destroy('list-right');
7

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'})
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'})
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'})
11
}
12

    
13
function updateSelect() {
14
    s = $('block-select')
15
    for (var i = 0; i < s.options.length; i++) {
16
        if ($('block_' + s.options[i].value)) {
17
            s.options[i].disabled = true;
18
        } else {
19
            s.options[i].disabled = false;
20
        }
21
    }
22
    s.options[0].selected = true;
23
}
24

    
25
function afterAddBlock() {
26
    recreateSortables();
27
    updateSelect();
28
}
29

    
30
function removeBlock(block) {
31
    Effect.DropOut(block);
32
    updateSelect();
33
}
34
//]]>
35
</script>
36

    
37
<div class="contextual">
38
<% form_tag({:action => "add_block"}, :id => "block-form") do %>
39
<%= label_tag('block-select', l(:label_my_page_block)) %>:
40
<%= select_tag 'block', "<option></option>" + options_for_select(@block_options), :id => "block-select" %>
41
<%= link_to_remote l(:button_add),
42
           {:url => { :action => "add_block" },
43
            :with => "Form.serialize('block-form')",
44
            :update => "list-top",
45
            :position => :top,
46
            :complete => "afterAddBlock();"
47
           }, :class => 'icon icon-add'
48
             %>
49
<% end %>
50
<%= link_to l(:button_back), {:action => 'page'}, :class => 'icon icon-cancel' %>
51
</div>
52

    
53
<h2><%=l(:label_my_page)%></h2>
54

    
55
<div id="list-top" class="block-receiver">
56
  <% @blocks['top'].each do |b|
57
     next unless MyController::BLOCKS.keys.include? b %>
58
  <%= render :partial => 'block', :locals => {:user => @user, :block_name => b} %>
59
  <% end if @blocks['top'] %>
60
</div>
61

    
62
<div id="list-left" class="splitcontentleft block-receiver">
63
  <% @blocks['left'].each do |b|
64
     next unless MyController::BLOCKS.keys.include? b %>
65
  <%= render :partial => 'block', :locals => {:user => @user, :block_name => b} %>
66
  <% end if @blocks['left'] %>
67
</div>
68

    
69
<div id="list-right" class="splitcontentright block-receiver">
70
  <% @blocks['right'].each do |b|
71
     next unless MyController::BLOCKS.keys.include? b %>
72
  <%= render :partial => 'block', :locals => {:user => @user, :block_name => b} %>
73
  <% end if @blocks['right'] %>
74
</div>
75

    
76
<%= sortable_element 'list-top',
77
      :tag => 'div',
78
      :only => 'mypage-box',
79
      :handle => "handle",
80
      :dropOnEmpty => true,
81
      :containment => ['list-top', 'list-left', 'list-right'],
82
      :constraint => false,
83
      :url => { :action => "order_blocks", :group => "top" }
84
       %>
85

    
86
<%= sortable_element 'list-left',
87
      :tag => 'div',
88
      :only => 'mypage-box',
89
      :handle => "handle",
90
      :dropOnEmpty => true,
91
      :containment => ['list-top', 'list-left', 'list-right'],
92
      :constraint => false,
93
      :url => { :action => "order_blocks", :group => "left" }
94
       %>
95

    
96
<%= sortable_element 'list-right',
97
      :tag => 'div',
98
      :only => 'mypage-box',
99
      :handle => "handle",
100
      :dropOnEmpty => true,
101
      :containment => ['list-top', 'list-left', 'list-right'],
102
      :constraint => false,
103
      :url => { :action => "order_blocks", :group => "right" }
104
       %>
105

    
106
<%= javascript_tag "updateSelect()" %>
107
<% html_title(l(:label_my_page)) -%>