Files
server/usr/share/psa-horde/js/sidebar.js
2026-01-07 20:52:11 +01:00

64 lines
1.9 KiB
JavaScript

/**
* Horde sidebar javascript.
*
* @copyright 2014-2015 Horde LLC
* @license LGPL-2 (http://www.horde.org/licenses/lgpl)
*/
var HordeSidebar = {
// Vars set in Horde_Sidebar
// opts, text
refreshEvents: function()
{
$('horde-sidebar').select('div.horde-resources div').each(function(s) {
s.observe('mouseover', s.addClassName.curry('horde-resource-over'));
s.observe('mouseout', s.removeClassName.curry('horde-resource-over'));
});
},
clickHandler: function(e)
{
if (e.isRightClick() || typeof e.element != 'function') {
return;
}
var elt = e.element(),
params = ';DOMAIN=' + this.opts.cookieDomain
+ ';PATH=' + this.opts.cookiePath + ';';
while (Object.isElement(elt)) {
switch (elt.className) {
case 'horde-collapse':
elt.up().next().blindUp({ duration: 0.5, queue: 'end' });
elt.title = this.text.expand;
elt.removeClassName('horde-collapse');
elt.addClassName('horde-expand');
document.cookie = 'horde_sidebar_c_' + elt.identify() + '=1' + params;
return;
case 'horde-expand':
elt.up().next().blindDown({ duration: 0.5, queue: 'end' });
elt.title = this.text.collapse;
elt.removeClassName('horde-expand');
elt.addClassName('horde-collapse');
document.cookie = 'horde_sidebar_c_' + elt.identify() + '=0' + params;
return;
}
elt = elt.up();
}
// Workaround Firebug bug.
Prototype.emptyFunction();
},
onDomLoad: function()
{
this.refreshEvents();
}
};
document.observe('dom:loaded', HordeSidebar.onDomLoad.bind(HordeSidebar));
document.observe('click', HordeSidebar.clickHandler.bindAsEventListener(HordeSidebar));