2 * Ext JS Library 0.30
\r
3 * Copyright(c) 2006-2009, Ext JS, LLC.
\r
4 * licensing@extjs.com
\r
6 * http://extjs.com/license
\r
9 Ext.air.Notify = Ext.extend(Ext.air.NativeWindow, {
\r
11 type: 'lightweight',
\r
21 icon: Ext.BLANK_IMAGE_URL,
\r
23 extAllCSS: '../extjs/resources/css/ext-all.css',
\r
24 xtpl: new Ext.XTemplate(
\r
25 '<html><head><link rel="stylesheet" href="{extAllCSS}" /></head>',
\r
27 '<div class="{boxCls}-tl"><div class="{boxCls}-tr"><div class="{boxCls}-tc"></div></div></div><div class="{boxCls}-ml"><div class="{boxCls}-mr"><div class="{boxCls}-mc">',
\r
28 '<div id="{msgId}">',
\r
29 '<span>{msg}</span>',
\r
30 '<div id="{iconId}" style="float: right;"><img src="{icon}"></div>',
\r
32 '</div></div></div><div class="{boxCls}-bl"><div class="{boxCls}-br"><div class="{boxCls}-bc"></div></div></div>',
\r
36 constructor: function(config) {
\r
37 config = config || {};
\r
38 Ext.apply(this, config);
\r
39 config.html = this.xtpl.apply(this);
\r
40 Ext.air.Notify.superclass.constructor.call(this, config);
\r
41 this.getNative().alwaysInFront = true;
\r
42 this.onCompleteDelegate = this.onComplete.createDelegate(this);
\r
43 this.loader.addEventListener(air.Event.COMPLETE, this.onCompleteDelegate);
\r
45 onComplete: function(event) {
\r
46 this.loader.removeEventListener(air.Event.COMPLETE, this.onCompleteDelegate);
\r
49 show: function(event) {
\r
50 var h = event.target.window.document.getElementById(this.msgId).clientHeight + this.extraHeight;
\r
51 var main = air.Screen.mainScreen;
\r
53 xy[0] = main.visibleBounds.bottomRight.x - this.width;
\r
54 xy[1] = main.visibleBounds.bottomRight.y - this.height;
\r
55 this.moveTo(xy[0], xy[1]);
\r
56 Ext.air.Notify.superclass.show.call(this);
\r
57 this.close.defer(this.hideDelay, this);
\r