My favorites | Sign in
Logo
                
New issue | Search
for
| Advanced search | Search tips
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
Status:  Accepted
Owner:  ----
Type-Defect
Priority-Medium


Sign in to add a comment
 
Reported by kamason74, Jul 14, 2009
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)



iframe.zip
1.1 MB Download
Comment 3 by alistair.rutherford, 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 :(
Comment 4 by har...@hitushawaii.com, 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.
  

Comment 5 by Julien.Nicoulaud, 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
Comment 6 by Julien.Nicoulaud, 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 ;)
Sign in to add a comment

Hosted by Google Code