| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 | 
							- <!DOCTYPE html>
 
- <html>
 
- <head>
 
-   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
-   <title>The source code</title>
 
-   <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
 
-   <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
 
-   <style type="text/css">
 
-     .highlight { display: block; background-color: #ddd; }
 
-   </style>
 
-   <script type="text/javascript">
 
-     function highlight() {
 
-       document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
 
-     }
 
-   </script>
 
- </head>
 
- <body onload="prettyPrint(); highlight();">
 
-   <pre class="prettyprint lang-js"><span id='Ext-dom-Element'>/**
 
- </span> * @class Ext.dom.Element
 
-  */
 
- (function() {
 
- var Element         = Ext.dom.Element,
 
-     VISIBILITY      = "visibility",
 
-     DISPLAY         = "display",
 
-     NONE            = "none",
 
-     HIDDEN          = 'hidden',
 
-     VISIBLE         = 'visible',
 
-     OFFSETS         = "offsets",
 
-     ASCLASS         = "asclass",
 
-     NOSIZE          = 'nosize',
 
-     ORIGINALDISPLAY = 'originalDisplay',
 
-     VISMODE         = 'visibilityMode',
 
-     ISVISIBLE       = 'isVisible',
 
-     OFFSETCLASS     = Ext.baseCSSPrefix + 'hide-offsets',
 
-     getDisplay = function(el) {
 
-         var data = (el.$cache || el.getCache()).data,
 
-             display = data[ORIGINALDISPLAY];
 
-             
 
-         if (display === undefined) {
 
-             data[ORIGINALDISPLAY] = display = '';
 
-         }
 
-         return display;
 
-     },
 
-     getVisMode = function(el){
 
-         var data = (el.$cache || el.getCache()).data,
 
-             visMode = data[VISMODE];
 
-             
 
-         if (visMode === undefined) {
 
-             data[VISMODE] = visMode = Element.VISIBILITY;
 
-         }
 
-         return visMode;
 
-     };
 
- Element.override({
 
- <span id='Ext-dom-Element-property-originalDisplay'>    /**
 
- </span>     * The element's default display mode.
 
-      */
 
-     originalDisplay : "",
 
-     visibilityMode : 1,
 
- <span id='Ext-dom-Element-method-setVisible'>    /**
 
- </span>     * Sets the visibility of the element (see details). If the visibilityMode is set to Element.DISPLAY, it will use
 
-      * the display property to hide the element, otherwise it uses visibility. The default is to hide and show using the visibility property.
 
-      * @param {Boolean} visible Whether the element is visible
 
-      * @param {Boolean/Object} [animate] True for the default animation, or a standard Element animation config object
 
-      * @return {Ext.dom.Element} this
 
-      */
 
-     setVisible : function(visible, animate) {
 
-         var me = this,
 
-             dom = me.dom,
 
-             visMode = getVisMode(me);
 
-         // hideMode string override
 
-         if (typeof animate == 'string') {
 
-             switch (animate) {
 
-                 case DISPLAY:
 
-                     visMode = Element.DISPLAY;
 
-                     break;
 
-                 case VISIBILITY:
 
-                     visMode = Element.VISIBILITY;
 
-                     break;
 
-                 case OFFSETS:
 
-                     visMode = Element.OFFSETS;
 
-                     break;
 
-                 case NOSIZE:
 
-                 case ASCLASS:
 
-                     visMode = Element.ASCLASS;
 
-                     break;
 
-             }
 
-             me.setVisibilityMode(visMode);
 
-             animate = false;
 
-         }
 
-         if (!animate || !me.anim) {
 
-             if (visMode == Element.DISPLAY) {
 
-                 return me.setDisplayed(visible);
 
-             } else if (visMode == Element.OFFSETS) {
 
-                 me[visible?'removeCls':'addCls'](OFFSETCLASS);
 
-             } else if (visMode == Element.VISIBILITY) {
 
-                 me.fixDisplay();
 
-                 // Show by clearing visibility style. Explicitly setting to "visible" overrides parent visibility setting
 
-                 dom.style.visibility = visible ? '' : HIDDEN;
 
-             } else if (visMode == Element.ASCLASS) {
 
-                 me[visible?'removeCls':'addCls'](me.visibilityCls || Element.visibilityCls);
 
-             }
 
-         } else {
 
-             // closure for composites
 
-             if (visible) {
 
-                 me.setOpacity(0.01);
 
-                 me.setVisible(true);
 
-             }
 
-             if (!Ext.isObject(animate)) {
 
-                 animate = {
 
-                     duration: 350,
 
-                     easing: 'ease-in'
 
-                 };
 
-             }
 
-             me.animate(Ext.applyIf({
 
-                 callback: function() {
 
-                     if (!visible) {
 
-                         me.setVisible(false).setOpacity(1);
 
-                     }
 
-                 },
 
-                 to: {
 
-                     opacity: (visible) ? 1 : 0
 
-                 }
 
-             }, animate));
 
-         }
 
-         (me.$cache || me.getCache()).data[ISVISIBLE] = visible;
 
-         return me;
 
-     },
 
- <span id='Ext-dom-Element-method-hasMetrics'>    /**
 
- </span>     * @private
 
-      * Determine if the Element has a relevant height and width available based
 
-      * upon current logical visibility state
 
-      */
 
-     hasMetrics  : function(){
 
-         var visMode = getVisMode(this);
 
-         return this.isVisible() || (visMode == Element.OFFSETS) || (visMode == Element.VISIBILITY);
 
-     },
 
- <span id='Ext-dom-Element-method-toggle'>    /**
 
- </span>     * Toggles the element's visibility or display, depending on visibility mode.
 
-      * @param {Boolean/Object} [animate] True for the default animation, or a standard Element animation config object
 
-      * @return {Ext.dom.Element} this
 
-      */
 
-     toggle : function(animate){
 
-         var me = this;
 
-         me.setVisible(!me.isVisible(), me.anim(animate));
 
-         return me;
 
-     },
 
- <span id='Ext-dom-Element-method-setDisplayed'>    /**
 
- </span>     * Sets the CSS display property. Uses originalDisplay if the specified value is a boolean true.
 
-      * @param {Boolean/String} value Boolean value to display the element using its default display, or a string to set the display directly.
 
-      * @return {Ext.dom.Element} this
 
-      */
 
-     setDisplayed : function(value) {
 
-         if(typeof value == "boolean"){
 
-            value = value ? getDisplay(this) : NONE;
 
-         }
 
-         this.setStyle(DISPLAY, value);
 
-         return this;
 
-     },
 
-     // private
 
-     fixDisplay : function(){
 
-         var me = this;
 
-         if (me.isStyle(DISPLAY, NONE)) {
 
-             me.setStyle(VISIBILITY, HIDDEN);
 
-             me.setStyle(DISPLAY, getDisplay(me)); // first try reverting to default
 
-             if (me.isStyle(DISPLAY, NONE)) { // if that fails, default to block
 
-                 me.setStyle(DISPLAY, "block");
 
-             }
 
-         }
 
-     },
 
- <span id='Ext-dom-Element-method-hide'>    /**
 
- </span>     * Hide this element - Uses display mode to determine whether to use "display" or "visibility". See {@link #setVisible}.
 
-      * @param {Boolean/Object} [animate] true for the default animation or a standard Element animation config object
 
-      * @return {Ext.dom.Element} this
 
-      */
 
-     hide : function(animate){
 
-         // hideMode override
 
-         if (typeof animate == 'string'){
 
-             this.setVisible(false, animate);
 
-             return this;
 
-         }
 
-         this.setVisible(false, this.anim(animate));
 
-         return this;
 
-     },
 
- <span id='Ext-dom-Element-method-show'>    /**
 
- </span>     * Show this element - Uses display mode to determine whether to use "display" or "visibility". See {@link #setVisible}.
 
-      * @param {Boolean/Object} [animate] true for the default animation or a standard Element animation config object
 
-      * @return {Ext.dom.Element} this
 
-      */
 
-     show : function(animate){
 
-         // hideMode override
 
-         if (typeof animate == 'string'){
 
-             this.setVisible(true, animate);
 
-             return this;
 
-         }
 
-         this.setVisible(true, this.anim(animate));
 
-         return this;
 
-     }
 
- });
 
- }());
 
- </pre>
 
- </body>
 
- </html>
 
 
  |