ux.ManagedIFrame.[Element, Component,Panel, Portlet, Window]
(Current Release 2.1.5)
MIF 2.0x is only supported on Ext 3.0 RC3 thru 3.0.3 (previous Ext 3 release-candidates RC1, 2 are not compatible).
MIF 2.1.x is only supported on Ext 3.1.1 higher. (For more on Ext 3.1 compatibility, read this)
The latest build is also available on code.google/svn/tags.
Some features available:
- UpdateManager.update and load support (to IFrames document).
- advanced scripting support.
- loadMask support.
- Cross-frame messaging (proprietary and HTML5 compatible postMessage)
- domready (fired when used with Updatemanager.update method, or when the document DOM reports ready)
- message[: subject]
- blur (fired when the frame window loses focus)
- focus (fired when the frame window receives focus)
- resize (fired when the frame window is resized)
- unload (fired when the frame document is unloaded)
- scroll (fired when the frame document is scrolled)
- reset (fired when the frame document is reset to neutral domain)
The ux.ManagedIframe components leverages the cool layout management features of a Panel, but embeds a ManagedIframe into the body of a Panel, Window, or other Ext Component. This preserves the native header, footer, and toolbar support of a standard panel, but permits creation of complex layouts surrounding an IFrame.
Licensing: ux.ManagedIframe v2.0 or higher is dual-licensed: GPL 3.0 or CDL for commercial use.
* MIF now has a modular build structure. You can exclude features you don't need (like X-frame messaging and Drag-drop [still under development]) to minimize production file sizes. Customize the included miframe.jsb file, for your requirements (a standard miframe.js file is already built for the base classes.)
* Due to recent changes in Ext 3.0 internals, MIF now requires the included multidom library. This library enhances the Ext Core (via function overloading) to permit DOM access to external "same-origin" document contexts without Ext be loaded into them. Most all Ext.Element and core methods ( Ext.[get,getDom,select,query], addListener, etc) can be targeted against specific document contexts. A similar library that permits rendering UI components in the same fashion is still under development -- stay tuned for more on that.
* Component xtypes
mif = Ext.ux.ManagedIFrame.Component
iframepanel = Ext.ux.ManagedIFrame.Panel
iframeportlet = Ext.ux.ManagedIFrame.Portlet
iframewindow = Ext.ux.ManagedIFrame.Window
* Convert Existing IFRAME element to Ext.ux.ManagedIFrame.Element. The following are all equivalent:
* Migrating from previous releases.Code:var MIF = new Ext.ux.ManagedIFrame.Element('myFrame'); var MIF = new Ext.Element.IFRAME('myFrame'); var MIF = Ext.get('myFrame');
The following methods/features have been changed/added:
- the MIF.getDocument method now returns the document the IFRAME was rendered to.
- the new MIF.getFrameDocument returns a reference to the embedded document of the IFRAME.
- the new setDesignMode method toggles the frame's current designMode state.
- the resize event now reports the frames current document, view, and viewport sizes.
- for any of the MIF UI Components, the autoScroll config option (default is true) now determines the frames overflow behavior.
Online API Documentation: Here.
- Simple MIF.Window.
- By popular demand: A Westside Story (Treepanel-based URLs drive a MIF-filled TabPanel, with page link <a> interception, and frame templating samples. )
- PDFSubmit (demonstrates MIF's ability to submit Forms/File-uploads using its new 'submitAsTarget' method)).
More demos coming soon...
* The current vBulletin config gzips attachments which IE hates. Download this with Firefox (or other browser) instead of IE.
* MIF 2.1.x will ONLY work on Ext 3.1.1 or higher ! (For more on Ext 3.1 compatibility, read this)
Downloads for MIF 2.1.x (and Ext 3.1.1+) are only available from google/code/downloads.
@For those monitoring--
MIF 4.0alpha2 is now available for Ext 4.0.x.