| Issue 30: | new features submission (dynamic add/remove, check overlays when created) | |
| 2 people starred this issue and may be notified of changes. | Back to list |
New features ------------ 1. Support dynamic additon/deletion of panels containing IFrame objects 2. Detect overlay if already present when IFrame is created Source ------ See attached archive. A version of IFrame.as is included under iframe/IFrame.as that contains the new features. This version of IFrame.as is referred to as version 1.4. Demonstration ------------- See attached archive. The sub-folder iframe1.3.3 contains a demo app using version 1.3.3 of the IFrame code. The sub-folder iframe1.4 contains a demo app using version 1.4 of the IFrame code (wherein version 1.4 is the proposed set of fixes). To examine the new features, you can run through the following test scripts using each iframe demo app version and comparing the results. Demo of Feature: Support dynamic additon/deletion of panels containing IFrame objects 1a) navigate to 'Dynamic Tab IFrames' 1b) select 'http://code.google.com' in URL combo-box 1c) click 'Add Tab' 1d) delete the tab (hover over the tab label and a red box will appear with an x in it, click on this box) 1e) navigate to 'Test Panel' 1f) navigate back to 'Dynamic Tab IFrames' Note that using IFrame version 1.3.3, the IFrame still displays on Dynamic Tab IFrames. With IFrame version 1.4, when executing step 1f above, the IFrame does not display. Demo of Feature: Detect overlay if already present when IFrame is created 1a) navigate to 'Dynamic Tab IFrames' 1b) select 'http://code.google.com' in URL combo-box 1c) select 'Before Adding Tab' in 'PopUp Mode' combo-box 1d) click 'Add Tab' 1e) wait a few seconds for the irame load operation to complete in the background Note that using IFrame version 1.3.3, the IFrame is rendered over top of the pop-up. With IFrame version 1.4, the IFrame is not displayed until the pop-up is dismissed. Summary of code modifications ----------------------------- 1. check for overlays when iframe is first created 2. integrated source, content, and visible properties with Flex invalidate/commit properties functions 3. changed 'validForDisplay' to 'overlayVisible' and hooked into invalidate/commit properties functions 4. remove container change handlers when iframe is removed from stage 5. rebuild container list when the index change event fires 6. added remove iframe javascript (can be called externally for full clean-up of iframe) |
|
,
Aug 27, 2009
I am really sorry. Can you make your update to the latest version and create a FlexBuilder project for it. The swf you supplied kept throwing exception and the version you based your changes on was not the latest. I really want to bring your version onstream but I don't have the time to merge versions and figure out what the changes were. Sorry again :( |
|
,
Sep 03, 2009
umm... I took a look at this version and it tends to blink. that is the iframe container visible property must keep changing. Also, 1.3.3 took care of some of the issues you have proposed. The following is a copy of 1.3.3 modification: // 1.3.3 05/11/08 RAB .Fixed issue where iframe in nested ViewStacks (or // related components like TabNavigator) could become // visible when it shouldn't. // .Debug mode can now be turned on or off at any time // instead of being locked in when createChildren runs // .Fixed issue with incorrect switching when iframe // was created in ViewStack child on the fly due to // creationPolicy="auto" there are some things that would be nice to fix if your going to modify 1.3.3: 1) when moving a nested container with the iframe, the content floats outside the container. modification would move the iframe with the container smoothly. Currently, one needs to set visible to false until the parent container is done moving. 2) similiarly, when clicking and dragging, i.e. pressing the divider bar of a vertical or horizontal divided box, outside the iframe, movement should resize the iframe without disabling the event. |
|
,
Oct 07, 2009
@harley: This is not something that can be fixed, this is a performance issue. This is why the iFrame looks like it follows the container... This is the same for the divided box example: the event is not disabled, it is just that the mouse steps outside the swf into the iframe before it has been resized. Therefore, the drag-resize is ended. One easy way to solve this is to set visible = false on the iFrame while dragging and resizing.
Status: Accepted
|
|
,
Oct 22, 2009
Hi kamason74, your changes are really good, but unfortunately they were made on a (now) obsolete version... I don't have the time to merge it with the trunk, so let us know if you still want to do it with a patch, or we can give you the access you need. Regards ;) |
|
|
|