Improve behaviour of secondary action lists when wrapping
Based on https://stackoverflow.com/a/31732902 this ensure that when a secondary action list wraps the additional lines don't start with an item delimiter by pushing it to the left, outside of a parent nav element which then hides it.
This commit is contained in:
parent
3f8cf32272
commit
29e9857145
10 changed files with 247 additions and 223 deletions
|
@ -7,109 +7,113 @@
|
|||
<h1><%= @user.display_name %> <%= role_icons(@user) %></h1>
|
||||
<% if current_user and @user.id == current_user.id %>
|
||||
<!-- Displaying user's own profile page -->
|
||||
<ul class='secondary-actions clearfix'>
|
||||
<li>
|
||||
<%= link_to t(".my edits"), :controller => "changesets", :action => "index", :display_name => current_user.display_name %>
|
||||
<span class='count-number'><%= number_with_delimiter(current_user.changesets.size) %></span>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".my notes"), user_notes_path(@user) %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".my traces"), :controller => "traces", :action => "mine" %>
|
||||
<span class='count-number'><%= number_with_delimiter(current_user.traces.size) %></span>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".my diary"), :controller => "diary_entries", :action => "index", :display_name => current_user.display_name %>
|
||||
<span class='count-number'><%= number_with_delimiter(current_user.diary_entries.size) %></span>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".my comments"), diary_comments_path(current_user) %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".my settings"), user_account_path(current_user) %>
|
||||
</li>
|
||||
|
||||
<% if current_user.blocks.exists? %>
|
||||
<nav class='secondary-actions'>
|
||||
<ul class='clearfix'>
|
||||
<li>
|
||||
<%= link_to t(".blocks on me"), user_blocks_on_path(current_user) %>
|
||||
<span class='count-number'><%= number_with_delimiter(current_user.blocks.active.size) %></span>
|
||||
<%= link_to t(".my edits"), :controller => "changesets", :action => "index", :display_name => current_user.display_name %>
|
||||
<span class='count-number'><%= number_with_delimiter(current_user.changesets.size) %></span>
|
||||
</li>
|
||||
<% end %>
|
||||
|
||||
<% if can?(:create, UserBlock) and current_user.blocks_created.exists? %>
|
||||
<li>
|
||||
<%= link_to t(".blocks by me"), user_blocks_by_path(current_user) %>
|
||||
<span class='count-number'><%= number_with_delimiter(current_user.blocks_created.active.size) %></span>
|
||||
<%= link_to t(".my notes"), user_notes_path(@user) %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".my traces"), :controller => "traces", :action => "mine" %>
|
||||
<span class='count-number'><%= number_with_delimiter(current_user.traces.size) %></span>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".my diary"), :controller => "diary_entries", :action => "index", :display_name => current_user.display_name %>
|
||||
<span class='count-number'><%= number_with_delimiter(current_user.diary_entries.size) %></span>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".my comments"), diary_comments_path(current_user) %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".my settings"), user_account_path(current_user) %>
|
||||
</li>
|
||||
<% end %>
|
||||
|
||||
</ul>
|
||||
<% if current_user.blocks.exists? %>
|
||||
<li>
|
||||
<%= link_to t(".blocks on me"), user_blocks_on_path(current_user) %>
|
||||
<span class='count-number'><%= number_with_delimiter(current_user.blocks.active.size) %></span>
|
||||
</li>
|
||||
<% end %>
|
||||
|
||||
<% if can?(:create, UserBlock) and current_user.blocks_created.exists? %>
|
||||
<li>
|
||||
<%= link_to t(".blocks by me"), user_blocks_by_path(current_user) %>
|
||||
<span class='count-number'><%= number_with_delimiter(current_user.blocks_created.active.size) %></span>
|
||||
</li>
|
||||
<% end %>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<% else %>
|
||||
<!-- Displaying user profile page to the public -->
|
||||
<ul class='secondary-actions clearfix'>
|
||||
<nav class='secondary-actions'>
|
||||
<ul class='clearfix'>
|
||||
|
||||
<li>
|
||||
<%= link_to t(".edits"), :controller => "changesets", :action => "index", :display_name => @user.display_name %>
|
||||
<span class='count-number'><%= number_with_delimiter(@user.changesets.size) %></span>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".notes"), user_notes_path(@user) %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".traces"), :controller => "traces", :action => "index", :display_name => @user.display_name %>
|
||||
<span class='count-number'><%= number_with_delimiter(@user.traces.size) %></span>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".edits"), :controller => "changesets", :action => "index", :display_name => @user.display_name %>
|
||||
<span class='count-number'><%= number_with_delimiter(@user.changesets.size) %></span>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".notes"), user_notes_path(@user) %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".traces"), :controller => "traces", :action => "index", :display_name => @user.display_name %>
|
||||
<span class='count-number'><%= number_with_delimiter(@user.traces.size) %></span>
|
||||
</li>
|
||||
|
||||
<!-- Displaying another user's profile page -->
|
||||
<!-- Displaying another user's profile page -->
|
||||
|
||||
<li>
|
||||
<%= link_to t(".send message"), new_message_path(@user) %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".diary"), :controller => "diary_entries", :action => "index", :display_name => @user.display_name %>
|
||||
<span class='count-number'><%= number_with_delimiter(@user.diary_entries.size) %></span>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".comments"), diary_comments_path(@user) %>
|
||||
</li>
|
||||
<li>
|
||||
<% if current_user and current_user.is_friends_with?(@user) %>
|
||||
<%= link_to t(".remove as friend"), remove_friend_path(:display_name => @user.display_name), :method => :post %>
|
||||
<% elsif current_user %>
|
||||
<%= link_to t(".add as friend"), make_friend_path(:display_name => @user.display_name), :method => :post %>
|
||||
<% else %>
|
||||
<%= link_to t(".add as friend"), make_friend_path(:display_name => @user.display_name) %>
|
||||
<li>
|
||||
<%= link_to t(".send message"), new_message_path(@user) %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".diary"), :controller => "diary_entries", :action => "index", :display_name => @user.display_name %>
|
||||
<span class='count-number'><%= number_with_delimiter(@user.diary_entries.size) %></span>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t(".comments"), diary_comments_path(@user) %>
|
||||
</li>
|
||||
<li>
|
||||
<% if current_user and current_user.is_friends_with?(@user) %>
|
||||
<%= link_to t(".remove as friend"), remove_friend_path(:display_name => @user.display_name), :method => :post %>
|
||||
<% elsif current_user %>
|
||||
<%= link_to t(".add as friend"), make_friend_path(:display_name => @user.display_name), :method => :post %>
|
||||
<% else %>
|
||||
<%= link_to t(".add as friend"), make_friend_path(:display_name => @user.display_name) %>
|
||||
<% end %>
|
||||
</li>
|
||||
|
||||
<% if @user.blocks.exists? %>
|
||||
<li>
|
||||
<%= link_to t(".block_history"), user_blocks_on_path(@user) %>
|
||||
<span class='count-number'><%= number_with_delimiter(@user.blocks.active.size) %></span>
|
||||
</li>
|
||||
<% end %>
|
||||
</li>
|
||||
|
||||
<% if @user.blocks.exists? %>
|
||||
<li>
|
||||
<%= link_to t(".block_history"), user_blocks_on_path(@user) %>
|
||||
<span class='count-number'><%= number_with_delimiter(@user.blocks.active.size) %></span>
|
||||
</li>
|
||||
<% end %>
|
||||
<% if @user.moderator? and @user.blocks_created.exists? %>
|
||||
<li>
|
||||
<%= link_to t(".moderator_history"), user_blocks_by_path(@user) %>
|
||||
<span class='count-number'><%= number_with_delimiter(@user.blocks_created.active.size) %></span>
|
||||
</li>
|
||||
<% end %>
|
||||
|
||||
<% if @user.moderator? and @user.blocks_created.exists? %>
|
||||
<li>
|
||||
<%= link_to t(".moderator_history"), user_blocks_by_path(@user) %>
|
||||
<span class='count-number'><%= number_with_delimiter(@user.blocks_created.active.size) %></span>
|
||||
</li>
|
||||
<% end %>
|
||||
<% if can?(:create, UserBlock) %>
|
||||
<li>
|
||||
<%= link_to t(".create_block"), new_user_block_path(@user) %>
|
||||
</li>
|
||||
<% end %>
|
||||
|
||||
<% if can?(:create, UserBlock) %>
|
||||
<li>
|
||||
<%= link_to t(".create_block"), new_user_block_path(@user) %>
|
||||
</li>
|
||||
<% end %>
|
||||
|
||||
<% if current_user and @user.id != current_user.id %>
|
||||
<li>
|
||||
<%= report_link(t(".report"), @user) %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<% if current_user and @user.id != current_user.id %>
|
||||
<li>
|
||||
<%= report_link(t(".report"), @user) %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</nav>
|
||||
<% end %>
|
||||
|
||||
<p class='text-muted'>
|
||||
|
@ -130,37 +134,39 @@
|
|||
</div>
|
||||
|
||||
<% if can?(:set_status, User) || can?(:destroy, User) %>
|
||||
<ul class='secondary-actions clearfix'>
|
||||
<% if can? :set_status, User %>
|
||||
<% if ["active", "confirmed"].include? @user.status %>
|
||||
<li>
|
||||
<%= link_to t(".deactivate_user"), set_status_user_path(:status => "pending", :display_name => @user.display_name), :method => :post, :data => { :confirm => t(".confirm") } %>
|
||||
</li>
|
||||
<% elsif ["pending"].include? @user.status %>
|
||||
<li>
|
||||
<%= link_to t(".activate_user"), set_status_user_path(:status => "active", :display_name => @user.display_name), :method => :post, :data => { :confirm => t(".confirm") } %>
|
||||
</li>
|
||||
<% end %>
|
||||
<nav class='secondary-actions'>
|
||||
<ul class='clearfix'>
|
||||
<% if can? :set_status, User %>
|
||||
<% if ["active", "confirmed"].include? @user.status %>
|
||||
<li>
|
||||
<%= link_to t(".deactivate_user"), set_status_user_path(:status => "pending", :display_name => @user.display_name), :method => :post, :data => { :confirm => t(".confirm") } %>
|
||||
</li>
|
||||
<% elsif ["pending"].include? @user.status %>
|
||||
<li>
|
||||
<%= link_to t(".activate_user"), set_status_user_path(:status => "active", :display_name => @user.display_name), :method => :post, :data => { :confirm => t(".confirm") } %>
|
||||
</li>
|
||||
<% end %>
|
||||
|
||||
<% if ["active", "suspended"].include? @user.status %>
|
||||
<li>
|
||||
<%= link_to t(".confirm_user"), set_status_user_path(:status => "confirmed", :display_name => @user.display_name), :method => :post, :data => { :confirm => t(".confirm") } %>
|
||||
</li>
|
||||
<% end %>
|
||||
<% if ["active", "suspended"].include? @user.status %>
|
||||
<li>
|
||||
<%= link_to t(".confirm_user"), set_status_user_path(:status => "confirmed", :display_name => @user.display_name), :method => :post, :data => { :confirm => t(".confirm") } %>
|
||||
</li>
|
||||
<% end %>
|
||||
<li>
|
||||
<% if ["pending", "active", "confirmed", "suspended"].include? @user.status %>
|
||||
<%= link_to t(".hide_user"), set_status_user_path(:status => "deleted", :display_name => @user.display_name), :method => :post, :data => { :confirm => t(".confirm") } %>
|
||||
<% else %>
|
||||
<%= link_to t(".unhide_user"), set_status_user_path(:status => "active", :display_name => @user.display_name), :method => :post, :data => { :confirm => t(".confirm") } %>
|
||||
<% else %>
|
||||
<%= link_to t(".unhide_user"), set_status_user_path(:status => "active", :display_name => @user.display_name), :method => :post, :data => { :confirm => t(".confirm") } %>
|
||||
<% end %>
|
||||
</li>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% if can? :destroy, User %>
|
||||
<li>
|
||||
<%= link_to t(".delete_user"), user_path(:display_name => @user.display_name), :method => :delete, :data => { :confirm => t(".confirm") } %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<% if can? :destroy, User %>
|
||||
<li>
|
||||
<%= link_to t(".delete_user"), user_path(:display_name => @user.display_name), :method => :delete, :data => { :confirm => t(".confirm") } %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</nav>
|
||||
<% end %>
|
||||
|
||||
<% if current_user and current_user.administrator? -%>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue