Upgrade to ExtJS 3.0.0 - Released 07/06/2009
[extjs.git] / docs / source / Element.fx-more.html
diff --git a/docs/source/Element.fx-more.html b/docs/source/Element.fx-more.html
new file mode 100644 (file)
index 0000000..65c0c74
--- /dev/null
@@ -0,0 +1,155 @@
+<html>\r
+<head>\r
+  <title>The source code</title>\r
+    <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
+    <script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
+</head>\r
+<body  onload="prettyPrint();">\r
+    <pre class="prettyprint lang-js">/**\r
+ * @class Ext.Element\r
+ */\r
+Ext.Element.addMethods(\r
+function(){\r
+    var VISIBILITY = "visibility",\r
+        DISPLAY = "display",\r
+        HIDDEN = "hidden",\r
+        NONE = "none",\r
+           XMASKED = "x-masked",\r
+               XMASKEDRELATIVE = "x-masked-relative",\r
+        data = Ext.Element.data;\r
+               \r
+       return {\r
+               <div id="method-Ext.Element-isVisible"></div>/**\r
+            * Checks whether the element is currently visible using both visibility and display properties.\r
+            * @param {Boolean} deep (optional) True to walk the dom and see if parent elements are hidden (defaults to false)\r
+            * @return {Boolean} True if the element is currently visible, else false\r
+            */\r
+           isVisible : function(deep) {\r
+               var vis = !this.isStyle(VISIBILITY,HIDDEN) && !this.isStyle(DISPLAY,NONE),\r
+                       p = this.dom.parentNode;\r
+               if(deep !== true || !vis){\r
+                   return vis;\r
+               }               \r
+               while(p && !/body/i.test(p.tagName)){\r
+                   if(!Ext.fly(p, '_isVisible').isVisible()){\r
+                       return false;\r
+                   }\r
+                   p = p.parentNode;\r
+               }\r
+               return true;\r
+           },\r
+           \r
+           <div id="method-Ext.Element-isDisplayed"></div>/**\r
+            * Returns true if display is not "none"\r
+            * @return {Boolean}\r
+            */\r
+           isDisplayed : function() {\r
+               return !this.isStyle(DISPLAY, NONE);\r
+           },\r
+           \r
+               <div id="method-Ext.Element-enableDisplayMode"></div>/**\r
+            * Convenience method for setVisibilityMode(Element.DISPLAY)\r
+            * @param {String} display (optional) What to set display to when visible\r
+            * @return {Ext.Element} this\r
+            */\r
+           enableDisplayMode : function(display){          \r
+               this.setVisibilityMode(Ext.Element.DISPLAY);\r
+               if(!Ext.isEmpty(display)){\r
+                data(this.dom, 'originalDisplay', display);\r
+            }\r
+               return this;\r
+           },\r
+           \r
+               <div id="method-Ext.Element-mask"></div>/**\r
+            * Puts a mask over this element to disable user interaction. Requires core.css.\r
+            * This method can only be applied to elements which accept child nodes.\r
+            * @param {String} msg (optional) A message to display in the mask\r
+            * @param {String} msgCls (optional) A css class to apply to the msg element\r
+            * @return {Element} The mask element\r
+            */\r
+           mask : function(msg, msgCls){\r
+                   var me = this,\r
+                       dom = me.dom,\r
+                       dh = Ext.DomHelper,\r
+                       EXTELMASKMSG = "ext-el-mask-msg",\r
+                el, \r
+                mask;\r
+                       \r
+               if(me.getStyle("position") == "static"){\r
+                   me.addClass(XMASKEDRELATIVE);\r
+               }\r
+               if((el = data(dom, 'maskMsg'))){\r
+                   el.remove();\r
+               }\r
+               if((el = data(dom, 'mask'))){\r
+                   el.remove();\r
+               }\r
+       \r
+            mask = dh.append(dom, {cls : "ext-el-mask"}, true);\r
+               data(dom, 'mask', mask);\r
+       \r
+               me.addClass(XMASKED);\r
+               mask.setDisplayed(true);\r
+               if(typeof msg == 'string'){\r
+                var mm = dh.append(dom, {cls : EXTELMASKMSG, cn:{tag:'div'}}, true);\r
+                data(dom, 'maskMsg', mm);\r
+                   mm.dom.className = msgCls ? EXTELMASKMSG + " " + msgCls : EXTELMASKMSG;\r
+                   mm.dom.firstChild.innerHTML = msg;\r
+                   mm.setDisplayed(true);\r
+                   mm.center(me);\r
+               }\r
+               if(Ext.isIE && !(Ext.isIE7 && Ext.isStrict) && me.getStyle('height') == 'auto'){ // ie will not expand full height automatically\r
+                   mask.setSize(undefined, me.getHeight());\r
+               }\r
+               return mask;\r
+           },\r
+       \r
+           <div id="method-Ext.Element-unmask"></div>/**\r
+            * Removes a previously applied mask.\r
+            */\r
+           unmask : function(){\r
+                   var me = this,\r
+                dom = me.dom,\r
+                       mask = data(dom, 'mask'),\r
+                       maskMsg = data(dom, 'maskMsg');\r
+               if(mask){\r
+                   if(maskMsg){\r
+                       maskMsg.remove();\r
+                    data(dom, 'maskMsg', undefined);\r
+                   }\r
+                   mask.remove();\r
+                data(dom, 'mask', undefined);\r
+               }\r
+               me.removeClass([XMASKED, XMASKEDRELATIVE]);\r
+           },\r
+       \r
+           <div id="method-Ext.Element-isMasked"></div>/**\r
+            * Returns true if this element is masked\r
+            * @return {Boolean}\r
+            */\r
+           isMasked : function(){\r
+            var m = data(this.dom, 'mask');\r
+               return m && m.isVisible();\r
+           },\r
+           \r
+           <div id="method-Ext.Element-createShim"></div>/**\r
+            * Creates an iframe shim for this element to keep selects and other windowed objects from\r
+            * showing through.\r
+            * @return {Ext.Element} The new shim element\r
+            */\r
+           createShim : function(){\r
+               var el = document.createElement('iframe'),              \r
+                       shim;\r
+               el.frameBorder = '0';\r
+               el.className = 'ext-shim';\r
+               if(Ext.isIE && Ext.isSecure){\r
+                   el.src = Ext.SSL_SECURE_URL;\r
+               }\r
+               shim = Ext.get(this.dom.parentNode.insertBefore(el, this.dom));\r
+               shim.autoBoxAdjust = false;\r
+               return shim;\r
+           }\r
+    };\r
+}());</pre>    \r
+</body>\r
+</html>
\ No newline at end of file