var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; }; if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } } { let window = _____WB$wombat$assign$function_____("window"); let self = _____WB$wombat$assign$function_____("self"); let document = _____WB$wombat$assign$function_____("document"); let location = _____WB$wombat$assign$function_____("location"); let top = _____WB$wombat$assign$function_____("top"); let parent = _____WB$wombat$assign$function_____("parent"); let frames = _____WB$wombat$assign$function_____("frames"); let opener = _____WB$wombat$assign$function_____("opener"); /* * jQuery Notify UI Widget 1.4 * Copyright (c) 2010 Eric Hynds * * http://www.erichynds.com/jquery/a-jquery-ui-growl-ubuntu-notification-widget/ * * Depends: * - jQuery 1.4 * - jQuery UI 1.8 widget factory * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * */ (function($){ $.widget("ech.notify", { options: { speed: 500, expires: 5000, stack: 'below', custom: false }, _create: function(){ var self = this; this.templates = {}; this.keys = []; // build and save templates this.element.addClass("ui-notify").children().addClass("ui-notify-message ui-notify-message-style").each(function(i){ var key = this.id || i; self.keys.push(key); self.templates[key] = $(this).removeAttr("id").wrap("
").parent().html(); // because $(this).andSelf().html() no workie }).end().empty().show(); }, create: function(template, msg, opts){ if(typeof template === "object"){ opts = msg; msg = template; template = null; } var tpl = this.templates[ template || this.keys[0]]; // remove default styling class if rolling w/ custom classes if(opts && opts.custom){ tpl = $(tpl).removeClass("ui-notify-message-style").wrap("
").parent().html(); } // return a new notification instance return new $.ech.notify.instance(this)._create(msg, $.extend({}, this.options, opts), tpl); } }); // instance constructor $.extend($.ech.notify, { instance: function(widget){ this.parent = widget; this.isOpen = false; } }); // instance methods $.extend($.ech.notify.instance.prototype, { _create: function(params, options, template){ this.options = options; var self = this, // build html template html = template.replace(/#(?:\{|%7B)(.*?)(?:\}|%7D)/g, function($1, $2){ return ($2 in params) ? params[$2] : ''; }), // the actual message m = (this.element = $(html)), // close link closelink = m.find(".ui-notify-close"); // clickable? if(typeof this.options.click === "function"){ m.addClass("ui-notify-click").bind("click", function(e){ self._trigger("click", e, self); }); } // show close link? if(closelink.length){ closelink.bind("click", function(){ self.close(); return false; }); } this.open(); // auto expire? if(typeof options.expires === "number"){ window.setTimeout(function(){ self.close(); }, options.expires); } return this; }, close: function(){ var self = this, speed = this.options.speed; this.element.fadeTo(speed, 0).slideUp(speed, function(){ self._trigger("close"); self.isOpen = false; }); return this; }, open: function(){ if(this.isOpen || this._trigger("beforeopen") === false){ return this; } var self = this; this.element[this.options.stack === 'above' ? 'prependTo' : 'appendTo'](this.parent.element).css({ display:"none", opacity:"" }).fadeIn(this.options.speed, function(){ self._trigger("open"); self.isOpen = true; }); return this; }, widget: function(){ return this.element; }, _trigger: function(type, e, instance){ return this.parent._trigger.call( this, type, e, instance ); } }); })(jQuery); }