/* * Ext JS Library 0.30 * Copyright(c) 2006-2009, Ext JS, LLC. * licensing@extjs.com * * http://extjs.com/license */ Ext.air.Notify = Ext.extend(Ext.air.NativeWindow, { winType: 'notify', type: 'lightweight', width: 400, height: 50, chrome: 'none', transparent: true, alwaysOnTop: true, extraHeight: 22, hideDelay: 3000, msgId: 'msg', iconId: 'icon', icon: Ext.BLANK_IMAGE_URL, boxCls: 'x-box', extAllCSS: '../extjs/resources/css/ext-all.css', xtpl: new Ext.XTemplate( '', '', '
', '
', '{msg}', '
', '
', '
', '', '' ), constructor: function(config) { config = config || {}; Ext.apply(this, config); config.html = this.xtpl.apply(this); Ext.air.Notify.superclass.constructor.call(this, config); this.getNative().alwaysInFront = true; this.onCompleteDelegate = this.onComplete.createDelegate(this); this.loader.addEventListener(air.Event.COMPLETE, this.onCompleteDelegate); }, onComplete: function(event) { this.loader.removeEventListener(air.Event.COMPLETE, this.onCompleteDelegate); this.show(event); }, show: function(event) { var h = event.target.window.document.getElementById(this.msgId).clientHeight + this.extraHeight; var main = air.Screen.mainScreen; var xy = [0,0]; xy[0] = main.visibleBounds.bottomRight.x - this.width; xy[1] = main.visibleBounds.bottomRight.y - this.height; this.moveTo(xy[0], xy[1]); Ext.air.Notify.superclass.show.call(this); this.close.defer(this.hideDelay, this); } });