Hello OPS list, Some week ago I started creating an application to find out the potential of the new XForms implementation in version 3.x. However I gave it up due to a multitude of problems regarding performance, selects within repeats, disappearing of help features, appearance of strange boxes and much more.
Now I give me some time to isolate the problems a bit.
The basic functionality is to have a XForms instance in a certain structure containing maybe some hundreds of parameter to be editable by the user. This Xforms instance is organized in a way that a navigation tree can be derived with XForms to select subnodes of the whole instance to let edit the user some parameters also by XForms.
Enclosed I have the whole application (except the OPS lib directory) but disabled most of the function by comments to isolate one of my problems (tree performance). This problem is in my XForms tree implementation that is based on xforms:repeat. The selected “record” within a repeat is shown in yellow as somewhere defined as OPS standard in a css file. However weeks ago I found no reliable way to get information what record is selected with the exception of defining a trigger containing a dispatch action to set a node with information of the selected “record”. This trigger is also doing the highlighting of the selected item and works of cause only when the trigger is pressed.
What I am describing is in the file ./resources/Application/Tree.xhtml and looks like below. The problem I put in comments <!--#########problem###########.
This file is included in the view file ./resources/Application/Main.xhtml. If you run the application to move from one tree item to another takes on my PC about 4 seconds what is not good. However if you uncomment the two xfroms:dispatch actions it takes more than 30 seconds what is far away from acceptable. This dispatch causes the main.xhtml just to set a content of a instance node with a integer value. So my application needs almost 30 seconds to set an integer!?
Any help is welcome, also a workaround would be fine to set me into the position to isolate also the other problems I mentioned above.
<!-- edited with XMLSpy v2006 U (http://www.altova.com) by XMLSPY 2005 Enterprise Ed. Release 3, Installed for 5 users (with SMP from 2004-10-28 to 2006-10-29) (Knorr-Bremse) --> <xhtml:div 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:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:widget="http://orbeon.org/oxf/xml/widget" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:saxon="http://saxon.sf.net/" style="height:600 px; overflow: auto"> <xforms:repeat nodeset="instance('Form')/..//*[@Expanded]/@ID" id="TreeNode"> <xforms:group ref="..[not(ancestor::*[@Expanded='false'])][not(ancestor::*[@ContentType='Link'])]"> <xhtml:p style="margin-top:0pt; margin-bottom:0pt; padding:0pt"> <xforms:repeat nodeset=" ./ancestor::*[@Expanded]"> <xforms:output value="'   '" /> </xforms:repeat> <xforms:trigger ref=".[@Expanded='true'][not(name() = 'Page')]" appearance="xxforms:image"> <xforms:label /> <xxforms:img src="img/minus.gif" /> <xforms:action ev:event="DOMActivate"> <xforms:setvalue ref="@Expanded" value="'false'" /> </xforms:action> </xforms:trigger> <xforms:trigger ref=".[@Expanded='false'][not(name() = 'Page')]" appearance="xxforms:image"> <xforms:label /> <xxforms:img src="img/plus.gif" /> <xforms:action ev:event="DOMActivate"> <xforms:setvalue ref="@Expanded" value="'true'" /> </xforms:action> </xforms:trigger> <xforms:group ref=".[name() = 'Project']"> <xhtml:img src="img/Project.gif" /> </xforms:group> <xforms:group ref=".[name() = 'Vehicle']"> <xhtml:img src="img/Vehicle.gif" /> </xforms:group> <xforms:group ref=".[name() = 'CU']"> <xhtml:img src="img/CU.gif" /> </xforms:group> <xforms:group ref=".[name() = 'Section']"> <xhtml:img src="img/Section.gif" /> </xforms:group> <xforms:group ref=".[name() = 'Page']"> <xhtml:img src="img/Page.gif" /> </xforms:group> <xforms:output value="@ID" /> <xforms:group ref=".[@ID= instance('Form')/../*/@ActID]"> <xforms:trigger style="background:#ffc" appearance="xxforms:link"> <xforms:label ref="@Name" /> <!--#########problem########### <xforms:action ev:event="DOMActivate"> Threaded
Re: xfoms:dispatch problem
«
Return to Orbeon Forms community mailing list
|
1 view|%1 views
|