toggle notes patch from Christian Frank

This commit is contained in:
popsch 2011-09-10 01:49:44 +08:00 committed by Reinier Balt
parent 39a38a8f73
commit 067df75e98
3 changed files with 23 additions and 1 deletions

View file

@ -48,7 +48,9 @@
</h1>
</div>
<div id="minilinks">
<%= link_to(t('layouts.toggle_notes'), "#", {:accesskey => "S", :title => t('layouts.toggle_notes_title'), :id => "toggle-notes-nav"}) %>
<%= link_to(t('layouts.toggle_contexts'), "#", {:title => t('layouts.toggle_contexts_title'), :id => "toggle-contexts-nav"}) %>
&nbsp;|&nbsp;
<%= link_to(t('layouts.toggle_notes'), "#", {:accesskey => "S", :title => t('layouts.toggle_notes_title'), :id => "toggle-notes-nav"}) %>
&nbsp;|&nbsp;
<%= link_to( t('common.logout') + " (#{current_user.display_name}) »", logout_path) %>
</div>

View file

@ -2,6 +2,8 @@
en:
layouts:
toggle_notes: Toggle notes
toggle_contexts: "Toggle collapsed contexts"
toggle_contexts_title: "Make collapsed contexts (in)visible"
next_actions_rss_feed: RSS feed of next actions
toggle_notes_title: Toggle all notes
mobile_navigation:

View file

@ -305,6 +305,19 @@ var TracksPages = {
$(".todo_notes").toggle();
});
/* Poor man's perspectives, allows to hide any context that is collapsed */
$("#toggle-contexts-nav").click(function () {
/* Need to keep a single toggle across all contexts */
$(this).toggleClass("context_visibility");
if ($(this).hasClass("context_visibility")) {
$(".context_collapsed").hide(); /* Hide all collapsed contexts together*/
}
else {
$(".context_collapsed").show();
}
});
/* fade flashes and alerts in automatically */
$(".alert").fadeOut(8000);
}
@ -354,12 +367,16 @@ var TodoItemsContainer = {
$(this).find('img').attr('src', imgSrc.replace('collapse', 'expand'));
$.cookie(TodoItemsContainer.buildCookieName(this.parentNode.parentNode), true);
toggle_target.slideUp(500);
// set parent class to 'context_collapsed' so we can hide/unhide all collapsed contexts
toggle_target.parent().addClass("context_collapsed");
} else {
// show it
imgSrc = $(this).find('img').attr('src');
$(this).find('img').attr('src', imgSrc.replace('expand', 'collapse'));
$.cookie(TodoItemsContainer.buildCookieName(this.parentNode.parentNode), null);
toggle_target.slideDown(500);
// remove class 'context_collapsed' from parent class
toggle_target.parent().removeClass("context_collapsed");
}
return false;
});
@ -370,6 +387,7 @@ var TodoItemsContainer = {
if (imgSrc) {
$(this).find('.container_toggle img').attr('src', imgSrc.replace('collapse', 'expand'));
$(this).find('.toggle_target').hide();
$(this).find('.toggle_target').parent().addClass("context_collapsed");
}
}
});