Flickering page with select1 and dialog...

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Flickering page with select1 and dialog...

David Sinclair
Hi

Attached is a file with a select1 and a dialog that should reproduce an
issue we are having - it runs in the xforms sandbox.   When you go click
on the select to select an item the whole screen flickers and the
selection is cleared.  This only happens when you have this dialog and
the select 1 has a hint.

Any ideas why this is happening?

Dave

PS, This seems to be an IE only problem...


<xhtml:html xmlns:xforms="http://www.w3.org/2002/xforms"
    xmlns:f="http://orbeon.org/oxf/xml/formatting"
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
    xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"
    xmlns:xi="http://www.w3.org/2001/XInclude"
    xmlns:xxi="http://orbeon.org/oxf/xml/xinclude"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:widget="http://orbeon.org/oxf/xml/widget"
    xmlns:ev="http://www.w3.org/2001/xml-events"
    xmlns:xdt="http://www.w3.org/2005/xpath-datatypes">

    <xhtml:head>
        <xforms:model id="main-model">
            <xforms:instance id="blah">
                                <inst>
                                        <thing/>
                                        <secondthing/>
                                </inst>
            </xforms:instance>

            <xforms:instance id="things">
                                <things>
                                        <thing>
                                                <id>1</id>
                                                <name>one</name>
                                        </thing>
                                        <thing>
                                                <id>2</id>
                                                <name>two</name>
                                        </thing>
                                </things>
            </xforms:instance>
        </xforms:model>
               
                <xforms:model
                        xmlns:xforms="http://www.w3.org/2002/xforms"
                        xmlns:ev="http://www.w3.org/2001/xml-events"
                        xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"
                        id="fck-model">
                        <xforms:instance id="fck-instance">
                                <instance xmlns="">
                                        <label/>
                                        <xpath/>
                                        <value/>
                                        <dirty/>
                                        <views>  
                                                <save/>
                                                <loading/>
                                                <error/>
                                        </views>
                                </instance>
                        </xforms:instance>
                       
                        <xforms:bind nodeset="instance('fck-instance')">
                                <xforms:bind nodeset="value" relevant="../views/error = ''"/>
                                <xforms:bind nodeset="views">
                                        <xforms:bind nodeset="save"
                                                relevant="../error = '' and . != 'true'"
                                                readonly="../dirty = 'true'"/>
                                        <xforms:bind nodeset="loading" relevant="../error = '' and ../save = 'true'"/>
                                        <xforms:bind nodeset="error" relevant=". != ''"/>
                                </xforms:bind>
                        </xforms:bind>
                       
                   <xforms:submission id="check-and-save-fck-editor" ref="instance('fck-instance')" method="post"
                                action="/services/fck/check" replace="instance" instance="fck-instance">
                                <xforms:action ev:event="xforms-submit">
                                        <xforms:setvalue model="fck-model"
                                                ref="instance('fck-instance')/views/save">true</xforms:setvalue>
                                </xforms:action>
                                <xforms:action ev:event="xforms-submit-done">
                                        <xforms:setvalue model="fck-model"
                                                ref="xxforms:evaluate(instance('fck-instance')/xpath)"
                                                value="instance('fck-instance')/value"/>
                                        <xxforms:hide dialog="fckDialog"/>
                                </xforms:action>
                                <xforms:action ev:event="xforms-submit-error">
                                        <xforms:setvalue model="fck-model"
                                                ref="instance('fck-instance')/views/save"/>
                                        <xforms:setvalue model="fck-model"
                                                ref="instance('fck-instance')/views/error"
                                                value="event('body')"/>
                                </xforms:action>
                        </xforms:submission>
                </xforms:model>
               
    </xhtml:head>
       
        <xhtml:body>
                <xforms:select1 ref="instance('blah')/thing" id="thing-id">
                        <xforms:hint>hint hint</xforms:hint>
                        <xforms:item>
                                <xforms:label>--- Select a thing---</xforms:label>
                                <xforms:value></xforms:value>
                        </xforms:item>
                        <xforms:itemset nodeset="instance('things')/thing">
                                <xforms:label ref="name"></xforms:label>
                                <xforms:value ref="id"></xforms:value>
                        </xforms:itemset>
                        <xforms:setvalue ev:event="xforms-value-changed" ref="../secondthing" value="1"></xforms:setvalue>
                </xforms:select1>
               
                <xxforms:dialog
                        xmlns:xs="http://www.w3.org/2001/XMLSchema"
                        xmlns:xforms="http://www.w3.org/2002/xforms"
                        xmlns:ev="http://www.w3.org/2001/xml-events"
                        xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"
                        xmlns:xhtml="http://www.w3.org/1999/xhtml"
                        id="fckDialog" level="modal" close="true" draggable="false">
                       
                        <xforms:label model="fck-model" ref="instance('fck-instance')/label"/>
                       
                        <xforms:group model="fck-model" ref="instance('fck-instance')">
                                <xhtml:p>
                                        <xforms:textarea ref="value" mediatype="text/html" id="fckEditor">
                                                <xforms:setvalue ev:event="xforms-value-changed"
                                                        ref="instance('fck-instance')/dirty" value="'true'"/>
                                        </xforms:textarea>
                                </xhtml:p>
                                <xforms:group ref="views">
                                        <xhtml:p>
                                                <xforms:group ref="loading">
                                                        <xhtml:img src="/images/loading.gif"/> Loading...
                                                </xforms:group>
                                                <xforms:submit ref="save" submission="check-and-save-fck-editor">
                                                        <xforms:label>Save</xforms:label>
                                                </xforms:submit>
                                                <xforms:trigger>
                                                        <xforms:label>Cancel</xforms:label>
                                                        <xxforms:hide ev:event="DOMActivate" dialog="fckDialog"/>
                                                </xforms:trigger>
                                        </xhtml:p>
                                        <xforms:output ref="error" mediatype="text/html"/>
                                </xforms:group>
                        </xforms:group>
                       
                        <!-- gets the value of the set xpath -->
                        <xforms:action ev:event="xxforms-dialog-open">
                                <xforms:setvalue model="fck-model"
                                        ref="instance('fck-instance')/value" value="xxforms:evaluate(instance('fck-instance')/xpath)"/>
                        </xforms:action>
                       
                        <!-- when clears the dialog box and resets the display. -->
                        <xforms:action ev:event="xxforms-dialog-close">
                                <xforms:setvalue model="fck-model" ref="instance('fck-instance')/dirty"/>
                                <xforms:setvalue model="fck-model" ref="instance('fck-instance')/label"/>
                                <xforms:setvalue model="fck-model" ref="instance('fck-instance')/xpath"/>
                                <xforms:setvalue model="fck-model" ref="instance('fck-instance')/value"/>
                                <xforms:setvalue model="fck-model" ref="instance('fck-instance')/views/save"/>
                                <xforms:setvalue model="fck-model" ref="instance('fck-instance')/views/error"/>
                        </xforms:action>
                </xxforms:dialog>
                               
    </xhtml:body>
</xhtml:html>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Flickering page with select1 and dialog...

Alessandro Vernet
Administrator
Hi Dave,

Thank you for the test case. I was able to reproduce that, and as you
might have noticed, the flickering happens when there is a drop-down
and a dialog that contains an FCK editor on the same page.

I started to investigate this, but haven't found a solution yet. On
IE, it seems that the drop-down is receiving the focus event 4 times,
while it receives that event only once on Firefox, as expected. This
is already quite strange. The problem still happens when I disable our
code that handles the focus and blur events. For now, I added a bug
for this:

http://forge.objectweb.org/tracker/index.php?func=detail&aid=306687&group_id=168&atid=350207

Alex

On 2/20/07, David Sinclair <[hidden email]> wrote:

> Hi
>
> Attached is a file with a select1 and a dialog that should reproduce an
> issue we are having - it runs in the xforms sandbox.   When you go click
> on the select to select an item the whole screen flickers and the
> selection is cleared.  This only happens when you have this dialog and
> the select 1 has a hint.
>
> Any ideas why this is happening?
>
> Dave
>
> PS, This seems to be an IE only problem...
>
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
>
>
>

--
Orbeon Forms - Web 2.0 Forms for the Enterprise
http://www.orbeon.com/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws