- From: Andy Bailey <andy@hazlorealidad.com>
- Date: Sun, 27 Apr 2008 09:22:59 -0500
- To: www-forms@w3.org
I sent a message to mozilla.dev.tech.xforms and someone suggested that I
post the message to this group- so here goes:
I have a recursive data structure (see below), with any number of
levels and would like to display it in a select1
the closest I can get so far is a flat select1 using //path however it
would be nice to group the options together.
Ideally I would like a tree structure where I could expand/hide the
child elements as well as select1
something like appearance="tree"
I see that you can write custom controls in firefox with xul or xbl but
have no
experience with either and also would like a standard xform solution. I
thought of using repeats as well but cant see any way to have any
number of levels.
If I used repeats how could I get the expand/hide functionality?
In the repeat example I had to use index('part1')" in
<xf:setvalue bind="selectedpart" value="index('part1')"/>
"name" didnt work and if I put value="name(.)" the selected part
became the string "selectedpart"
can anyone explain why that is? I assumed it would be the node of the
repeat.
Also if I clicked with the mouse on the select1 each time the model
got updated but if I used the arrow keys up/down then the model didnt
get update even though incremental="true", is this a bug in firefox or
expected behavior in xforms?
Thanks in advance
Andy Bailey
http://www.hazlorealidad.com
<assembly>
<name>Open source CNC Machine</name>
<parts>
<part id="structure">
<name>Estructura</name>
<parts>
<part id="base">
<name>Base</name>
<parts>
<part id="baseStructure">
<name>Estructura</name>
</part>
<part id="feet">
<name>Pies</name>
</part>
<part id="antiVibration">
<name>Aisladores (anti vibración)</name>
</part>
</parts>
</part>
....
<xf:select1 bind="selectedpart" appearance="full" incremental="true">
<xf:label>Part Tree: </xf:label>
<xf:itemset nodeset="instance('assembly')//part">
<xf:label ref="name"/>
<xf:value ref="@id"/>
</xf:itemset>
</xf:select1>
<!--
<xf:repeat id="part1" nodeset="instance('assembly')/parts/part">
<div style="margin-left:0em;">
<xf:trigger ref=".">
<xf:label>
<xf:output ref="name"/>
</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue bind="selectedpart" value="index('part1')"/>
<xf:message level="modal">Part Selected <xf:output ref="name"/></
xf:message>
</xf:action>
</xf:trigger>
<xf:repeat id="part2" nodeset="parts/part">
<div style="margin-left:2em;">
<xf:trigger ref=".">
<xf:label>
<xf:output ref="name"/>
</xf:label>
</xf:trigger>
<xf:repeat nodeset="parts/part">
<div style="margin-left:2em;">
<xf:trigger ref=".">
<xf:label>
<xf:output ref="name"/>
</xf:label>
</xf:trigger>
</div>
</xf:repeat>
</div>
</xf:repeat>
</div>
</xf:repeat>
-->
Received on Monday, 28 April 2008 12:36:52 UTC