/*!
- * Ext JS Library 3.1.1
- * Copyright(c) 2006-2010 Ext JS, LLC
- * licensing@extjs.com
- * http://www.extjs.com/license
+ * Ext JS Library 3.3.1
+ * Copyright(c) 2006-2010 Sencha Inc.
+ * licensing@sencha.com
+ * http://www.sencha.com/license
*/
-Ext.ux.Spotlight = function(config){\r
- Ext.apply(this, config);\r
-}\r
-Ext.ux.Spotlight.prototype = {\r
- active : false,\r
- animate : true,\r
- duration: .25,\r
- easing:'easeNone',\r
-\r
- // private\r
- animated : false,\r
-\r
- createElements : function(){\r
- var bd = Ext.getBody();\r
-\r
- this.right = bd.createChild({cls:'x-spotlight'});\r
- this.left = bd.createChild({cls:'x-spotlight'});\r
- this.top = bd.createChild({cls:'x-spotlight'});\r
- this.bottom = bd.createChild({cls:'x-spotlight'});\r
-\r
- this.all = new Ext.CompositeElement([this.right, this.left, this.top, this.bottom]);\r
- },\r
-\r
- show : function(el, callback, scope){\r
- if(this.animated){\r
- this.show.defer(50, this, [el, callback, scope]);\r
- return;\r
- }\r
- this.el = Ext.get(el);\r
- if(!this.right){\r
- this.createElements();\r
- }\r
- if(!this.active){\r
- this.all.setDisplayed('');\r
- this.applyBounds(true, false);\r
- this.active = true;\r
- Ext.EventManager.onWindowResize(this.syncSize, this);\r
- this.applyBounds(false, this.animate, false, callback, scope);\r
- }else{\r
- this.applyBounds(false, false, false, callback, scope); // all these booleans look hideous\r
- }\r
- },\r
-\r
- hide : function(callback, scope){\r
- if(this.animated){\r
- this.hide.defer(50, this, [callback, scope]);\r
- return;\r
- }\r
- Ext.EventManager.removeResizeListener(this.syncSize, this);\r
- this.applyBounds(true, this.animate, true, callback, scope);\r
- },\r
-\r
- doHide : function(){\r
- this.active = false;\r
- this.all.setDisplayed(false);\r
- },\r
-\r
- syncSize : function(){\r
- this.applyBounds(false, false);\r
- },\r
-\r
- applyBounds : function(basePts, anim, doHide, callback, scope){\r
-\r
- var rg = this.el.getRegion();\r
-\r
- var dw = Ext.lib.Dom.getViewWidth(true);\r
- var dh = Ext.lib.Dom.getViewHeight(true);\r
-\r
- var c = 0, cb = false;\r
- if(anim){\r
- cb = {\r
- callback: function(){\r
- c++;\r
- if(c == 4){\r
- this.animated = false;\r
- if(doHide){\r
- this.doHide();\r
- }\r
- Ext.callback(callback, scope, [this]);\r
- }\r
- },\r
- scope: this,\r
- duration: this.duration,\r
- easing: this.easing\r
- };\r
- this.animated = true;\r
- }\r
-\r
- this.right.setBounds(\r
- rg.right,\r
- basePts ? dh : rg.top,\r
- dw - rg.right,\r
- basePts ? 0 : (dh - rg.top),\r
- cb);\r
-\r
- this.left.setBounds(\r
- 0,\r
- 0,\r
- rg.left,\r
- basePts ? 0 : rg.bottom,\r
- cb);\r
-\r
- this.top.setBounds(\r
- basePts ? dw : rg.left,\r
- 0,\r
- basePts ? 0 : dw - rg.left,\r
- rg.top,\r
- cb);\r
-\r
- this.bottom.setBounds(\r
- 0,\r
- rg.bottom,\r
- basePts ? 0 : rg.right,\r
- dh - rg.bottom,\r
- cb);\r
-\r
- if(!anim){\r
- if(doHide){\r
- this.doHide();\r
- }\r
- if(callback){\r
- Ext.callback(callback, scope, [this]);\r
- }\r
- }\r
- },\r
-\r
- destroy : function(){\r
- this.doHide();\r
- Ext.destroy(\r
- this.right,\r
- this.left,\r
- this.top,\r
- this.bottom);\r
- delete this.el;\r
- delete this.all;\r
- }\r
-};\r
-\r
-//backwards compat\r
+Ext.ux.Spotlight = function(config){
+ Ext.apply(this, config);
+}
+Ext.ux.Spotlight.prototype = {
+ active : false,
+ animate : true,
+ duration: .25,
+ easing:'easeNone',
+
+ // private
+ animated : false,
+
+ createElements : function(){
+ var bd = Ext.getBody();
+
+ this.right = bd.createChild({cls:'x-spotlight'});
+ this.left = bd.createChild({cls:'x-spotlight'});
+ this.top = bd.createChild({cls:'x-spotlight'});
+ this.bottom = bd.createChild({cls:'x-spotlight'});
+
+ this.all = new Ext.CompositeElement([this.right, this.left, this.top, this.bottom]);
+ },
+
+ show : function(el, callback, scope){
+ if(this.animated){
+ this.show.defer(50, this, [el, callback, scope]);
+ return;
+ }
+ this.el = Ext.get(el);
+ if(!this.right){
+ this.createElements();
+ }
+ if(!this.active){
+ this.all.setDisplayed('');
+ this.applyBounds(true, false);
+ this.active = true;
+ Ext.EventManager.onWindowResize(this.syncSize, this);
+ this.applyBounds(false, this.animate, false, callback, scope);
+ }else{
+ this.applyBounds(false, false, false, callback, scope); // all these booleans look hideous
+ }
+ },
+
+ hide : function(callback, scope){
+ if(this.animated){
+ this.hide.defer(50, this, [callback, scope]);
+ return;
+ }
+ Ext.EventManager.removeResizeListener(this.syncSize, this);
+ this.applyBounds(true, this.animate, true, callback, scope);
+ },
+
+ doHide : function(){
+ this.active = false;
+ this.all.setDisplayed(false);
+ },
+
+ syncSize : function(){
+ this.applyBounds(false, false);
+ },
+
+ applyBounds : function(basePts, anim, doHide, callback, scope){
+
+ var rg = this.el.getRegion();
+
+ var dw = Ext.lib.Dom.getViewWidth(true);
+ var dh = Ext.lib.Dom.getViewHeight(true);
+
+ var c = 0, cb = false;
+ if(anim){
+ cb = {
+ callback: function(){
+ c++;
+ if(c == 4){
+ this.animated = false;
+ if(doHide){
+ this.doHide();
+ }
+ Ext.callback(callback, scope, [this]);
+ }
+ },
+ scope: this,
+ duration: this.duration,
+ easing: this.easing
+ };
+ this.animated = true;
+ }
+
+ this.right.setBounds(
+ rg.right,
+ basePts ? dh : rg.top,
+ dw - rg.right,
+ basePts ? 0 : (dh - rg.top),
+ cb);
+
+ this.left.setBounds(
+ 0,
+ 0,
+ rg.left,
+ basePts ? 0 : rg.bottom,
+ cb);
+
+ this.top.setBounds(
+ basePts ? dw : rg.left,
+ 0,
+ basePts ? 0 : dw - rg.left,
+ rg.top,
+ cb);
+
+ this.bottom.setBounds(
+ 0,
+ rg.bottom,
+ basePts ? 0 : rg.right,
+ dh - rg.bottom,
+ cb);
+
+ if(!anim){
+ if(doHide){
+ this.doHide();
+ }
+ if(callback){
+ Ext.callback(callback, scope, [this]);
+ }
+ }
+ },
+
+ destroy : function(){
+ this.doHide();
+ Ext.destroy(
+ this.right,
+ this.left,
+ this.top,
+ this.bottom);
+ delete this.el;
+ delete this.all;
+ }
+};
+
+//backwards compat
Ext.Spotlight = Ext.ux.Spotlight;
\ No newline at end of file