##// END OF EJS Templates
show "no data" label when there's nothing to display on changelog and roadmap...
show "no data" label when there's nothing to display on changelog and roadmap git-svn-id: http://redmine.rubyforge.org/svn/trunk@255 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r243:f4842d6eedc8
r252:ddd0796e403d
Show More
page_layout.rhtml
116 lines | 5.3 KiB | text/html+ruby | RhtmlLexer
/ app / views / my / page_layout.rhtml
Jean-Philippe Lang
- new controller "myController"...
r60 <script language="JavaScript">
Jean-Philippe Lang
wrapped javascript with //<![CDATA[ in my/page_layout...
r242 //<![CDATA[
Jean-Philippe Lang
- new controller "myController"...
r60 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, onComplete:function(request){new Effect.Highlight("list-top",{});}, onLoaded:function(request){Element.hide('indicator')}, onLoading:function(request){Element.show('indicator')}, 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, onComplete:function(request){new Effect.Highlight("list-left",{});}, onLoaded:function(request){Element.hide('indicator')}, onLoading:function(request){Element.show('indicator')}, 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, onComplete:function(request){new Effect.Highlight("list-right",{});}, onLoaded:function(request){Element.hide('indicator')}, onLoading:function(request){Element.show('indicator')}, 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) {
$(block).parentNode.removeChild($(block));
updateSelect();
}
Jean-Philippe Lang
wrapped javascript with //<![CDATA[ in my/page_layout...
r242 //]]>
Jean-Philippe Lang
- new controller "myController"...
r60 </script>
Jean-Philippe Lang
various modifications to prevent xss...
r96 <div class="contextual">
<span id="indicator" style="display:none"><%= image_tag "loading.gif", :align => "absmiddle" %></span>
Jean-Philippe Lang
deprecated start_form_tag replaced by form_tag...
r181 <% form_tag({:action => "add_block"}, :id => "block-form") do %>
Jean-Philippe Lang
various modifications to prevent xss...
r96 <%= select_tag 'block', "<option></option>" + options_for_select(@block_options), :id => "block-select" %>
Jean-Philippe Lang
- new controller "myController"...
r60 <%= link_to_remote l(:button_add),
Jean-Philippe Lang
added icons on my/page_layout top right links...
r243 {:url => { :action => "add_block" },
Jean-Philippe Lang
- new controller "myController"...
r60 :with => "Form.serialize('block-form')",
:update => "list-top",
:position => :top,
:complete => "afterAddBlock();",
:loading => "Element.show('indicator')",
:loaded => "Element.hide('indicator')"
Jean-Philippe Lang
added icons on my/page_layout top right links...
r243 }, :class => 'icon icon-add'
Jean-Philippe Lang
- new controller "myController"...
r60 %>
Jean-Philippe Lang
added icons on my/page_layout top right links...
r243 <% end %>
<%= link_to l(:button_save), {:action => 'page_layout_save'}, :class => 'icon icon-save' %>
<%= link_to l(:button_cancel), {:action => 'page'}, :class => 'icon icon-cancel' %>
Jean-Philippe Lang
- new controller "myController"...
r60 </div>
<h2><%=l(:label_my_page)%></h2>
<div id="list-top" class="block-receiver">
Jean-Philippe Lang
check that block is defined before rendering it (my/page_layout)...
r241 <% @blocks['top'].each do |b|
next unless MyController::BLOCKS.keys.include? b %>
Jean-Philippe Lang
- new controller "myController"...
r60 <%= render :partial => 'block', :locals => {:user => @user, :block_name => b} %>
<% end if @blocks['top'] %>
</div>
<div id="list-left" class="splitcontentleft block-receiver">
Jean-Philippe Lang
check that block is defined before rendering it (my/page_layout)...
r241 <% @blocks['left'].each do |b|
next unless MyController::BLOCKS.keys.include? b %>
Jean-Philippe Lang
- new controller "myController"...
r60 <%= render :partial => 'block', :locals => {:user => @user, :block_name => b} %>
<% end if @blocks['left'] %>
</div>
<div id="list-right" class="splitcontentright block-receiver">
Jean-Philippe Lang
check that block is defined before rendering it (my/page_layout)...
r241 <% @blocks['right'].each do |b|
next unless MyController::BLOCKS.keys.include? b %>
Jean-Philippe Lang
- new controller "myController"...
r60 <%= 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,
:complete => visual_effect(:highlight, 'list-top'),
:url => { :action => "order_blocks", :group => "top" },
:loading => "Element.show('indicator')",
:loaded => "Element.hide('indicator')"
%>
<%= sortable_element 'list-left',
:tag => 'div',
:only => 'mypage-box',
:handle => "handle",
:dropOnEmpty => true,
:containment => ['list-top', 'list-left', 'list-right'],
:constraint => false,
:complete => visual_effect(:highlight, 'list-left'),
:url => { :action => "order_blocks", :group => "left" },
:loading => "Element.show('indicator')",
:loaded => "Element.hide('indicator')" %>
<%= sortable_element 'list-right',
:tag => 'div',
:only => 'mypage-box',
:handle => "handle",
:dropOnEmpty => true,
:containment => ['list-top', 'list-left', 'list-right'],
:constraint => false,
:complete => visual_effect(:highlight, 'list-right'),
:url => { :action => "order_blocks", :group => "right" },
:loading => "Element.show('indicator')",
:loaded => "Element.hide('indicator')" %>
<%= javascript_tag "updateSelect()" %>