});
}
+ function removeLog(l)
+ {
+ try {
+ var le = l.down('DIV.GrowlerNoticeExit');
+ if (!Object.isUndefined(le)) {
+ le.stopObserving('click', removeLog);
+ }
+ } catch (e) {}
+ try {
+ l.remove();
+ } catch (e) {}
+ }
+
window.Growler = Class.create({
initialize: function(opts)
growl: function(msg, options)
{
options = options || {};
- var notice, noticeExit, tmp,
+ var notice, noticeExit, log, logExit, tmp,
opts = Object.clone(noticeOptions);
Object.extend(opts, options);
if (tmp.down().hasClassName('NoAlerts')) {
tmp.down().remove();
}
- tmp.insert(new Element('LI', { className: opts.className.empty() ? null : opts.className }).insert(msg).insert(new Element('SPAN', { className: 'alertdate'} ).insert('[' + (new Date).toLocaleString() + ']')));
+ log = new Element('LI', { className: opts.className.empty() ? null : opts.className }).insert(msg).insert(new Element('SPAN', { className: 'alertdate'} ).insert('[' + (new Date).toLocaleString() + ']'));
+ logExit = new Element('DIV', { className: 'GrowlerNoticeExit' }).update("×");
+ logExit.observe('click', removeLog.curry(log));
+ log.insert(logExit);
+ tmp.insert(log);
}
notice = new Element('DIV', { className: 'GrowlerNotice' }).setStyle({ display: 'block', opacity: 0 });
#Growler div.GrowlerNoticeHead {
font-weight: bold;
}
-#Growler div.GrowlerNoticeExit {
- float: right;
- font-weight: bold;
- cursor: pointer;
-}
-#Growler div.GrowlerNoticeExit:hover {
- color: #444;
-}
#Growler div.horde-error, #GrowlerLog li.horde-error {
background-image: url("graphics/alerts/error.png");
}
font-style: italic;
padding-left: 10px;
}
+div.GrowlerNoticeExit {
+ float: right;
+ font-weight: bold;
+ cursor: pointer;
+}
+div.GrowlerNoticeExit:hover {
+ color: #444;
+}
.horde-message, .horde-success, .horde-warning, .horde-error {
border-color: #316600;
background-color: #5db110;