2009-07-04 05:37:30 +00:00
|
|
|
// $Id$
|
|
|
|
(function ($) {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Implementation of Drupal.behaviors for admin.
|
|
|
|
*/
|
|
|
|
Drupal.behaviors.admin = {
|
2009-08-31 16:48:37 +00:00
|
|
|
attach: function(context) {
|
2009-07-04 05:37:30 +00:00
|
|
|
|
2009-11-15 21:13:26 +00:00
|
|
|
// Set the initial state of the toolbar.
|
2009-08-31 05:51:08 +00:00
|
|
|
$('#toolbar', context).once('toolbar', Drupal.admin.toolbar.init);
|
2009-07-04 05:37:30 +00:00
|
|
|
|
2009-10-17 00:51:53 +00:00
|
|
|
// Toggling toolbar drawer.
|
2010-01-06 04:03:39 +00:00
|
|
|
$('#toolbar a.toggle', context).once('toolbar-toggle').click(function(e) {
|
2009-08-31 05:51:08 +00:00
|
|
|
Drupal.admin.toolbar.toggle();
|
2010-01-06 04:03:39 +00:00
|
|
|
// As the toolbar is an overlay displaced region, overlay should be
|
|
|
|
// notified of it's height change to adapt its position.
|
|
|
|
$(window).triggerHandler('resize.overlay-event');
|
2009-08-31 05:51:08 +00:00
|
|
|
return false;
|
2009-07-04 05:37:30 +00:00
|
|
|
});
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Initialize cautiously to avoid collisions with other modules.
|
|
|
|
*/
|
|
|
|
Drupal.admin = Drupal.admin || {};
|
|
|
|
Drupal.admin.toolbar = Drupal.admin.toolbar || {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Retrieve last saved cookie settings and set up the initial toolbar state.
|
|
|
|
*/
|
|
|
|
Drupal.admin.toolbar.init = function() {
|
|
|
|
// Retrieve the collapsed status from a stored cookie.
|
|
|
|
var collapsed = $.cookie('Drupal.admin.toolbar.collapsed');
|
|
|
|
|
|
|
|
// Expand or collapse the toolbar based on the cookie value.
|
|
|
|
if (collapsed == 1) {
|
|
|
|
Drupal.admin.toolbar.collapse();
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
Drupal.admin.toolbar.expand();
|
|
|
|
}
|
2010-01-04 16:08:52 +00:00
|
|
|
};
|
2009-07-04 05:37:30 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Collapse the admin toolbar.
|
|
|
|
*/
|
|
|
|
Drupal.admin.toolbar.collapse = function() {
|
2009-11-15 21:13:26 +00:00
|
|
|
var toggle_text = Drupal.t('Open the drawer');
|
2009-10-17 00:51:53 +00:00
|
|
|
$('#toolbar div.toolbar-drawer').addClass('collapsed');
|
2009-11-15 21:13:26 +00:00
|
|
|
$('#toolbar a.toggle')
|
|
|
|
.removeClass('toggle-active')
|
|
|
|
.attr('title', toggle_text)
|
|
|
|
.html(toggle_text);
|
2010-01-07 07:57:09 +00:00
|
|
|
$('body').removeClass('toolbar-drawer').css('paddingTop', $('#toolbar').outerHeight());
|
2009-07-04 05:37:30 +00:00
|
|
|
$.cookie(
|
2010-01-04 16:08:52 +00:00
|
|
|
'Drupal.admin.toolbar.collapsed',
|
|
|
|
1,
|
2009-11-17 18:51:19 +00:00
|
|
|
{
|
|
|
|
path: Drupal.settings.basePath,
|
|
|
|
// The cookie should "never" expire.
|
|
|
|
expires: 36500
|
|
|
|
}
|
2009-07-04 05:37:30 +00:00
|
|
|
);
|
2010-01-04 16:08:52 +00:00
|
|
|
};
|
2009-07-04 05:37:30 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Expand the admin toolbar.
|
|
|
|
*/
|
|
|
|
Drupal.admin.toolbar.expand = function() {
|
2009-11-15 21:13:26 +00:00
|
|
|
var toggle_text = Drupal.t('Close the drawer');
|
2009-10-17 00:51:53 +00:00
|
|
|
$('#toolbar div.toolbar-drawer').removeClass('collapsed');
|
2009-11-15 21:13:26 +00:00
|
|
|
$('#toolbar a.toggle')
|
|
|
|
.addClass('toggle-active')
|
|
|
|
.attr('title', toggle_text)
|
|
|
|
.html(toggle_text);
|
2010-01-07 07:57:09 +00:00
|
|
|
$('body').addClass('toolbar-drawer').css('paddingTop', $('#toolbar').outerHeight());
|
2009-07-04 05:37:30 +00:00
|
|
|
$.cookie(
|
2010-01-04 16:08:52 +00:00
|
|
|
'Drupal.admin.toolbar.collapsed',
|
|
|
|
0,
|
2009-11-17 18:51:19 +00:00
|
|
|
{
|
|
|
|
path: Drupal.settings.basePath,
|
|
|
|
// The cookie should "never" expire.
|
|
|
|
expires: 36500
|
|
|
|
}
|
2009-07-04 05:37:30 +00:00
|
|
|
);
|
2010-01-04 16:08:52 +00:00
|
|
|
};
|
2009-07-04 05:37:30 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Toggle the admin toolbar.
|
|
|
|
*/
|
|
|
|
Drupal.admin.toolbar.toggle = function() {
|
2009-11-15 21:13:26 +00:00
|
|
|
if ($('#toolbar div.toolbar-drawer').hasClass('collapsed')) {
|
2009-07-04 05:37:30 +00:00
|
|
|
Drupal.admin.toolbar.expand();
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
Drupal.admin.toolbar.collapse();
|
|
|
|
}
|
2010-01-04 16:08:52 +00:00
|
|
|
};
|
2009-07-04 05:37:30 +00:00
|
|
|
|
2009-09-15 20:50:48 +00:00
|
|
|
Drupal.admin.toolbar.height = function() {
|
|
|
|
return $("#toolbar").height();
|
2010-01-04 16:08:52 +00:00
|
|
|
};
|
2009-09-15 20:50:48 +00:00
|
|
|
|
2009-07-04 05:37:30 +00:00
|
|
|
})(jQuery);
|