dynymic xforms:case inside repeat

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

dynymic xforms:case inside repeat

Jarosław Kowalewski
Hi everybody,

it's possible to construct dynamic xf:case via xf:repeat

I want to generate  xf:case and xf:trigger by xf:repeat but I've problem
with ids. How to automaticlly generate it? It's possible?



Full testcase below:

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ev="http://www.w3.org/2001/xml-events"
xmlns:xf="http://www.w3.org/2002/xforms">
        <head>
                <xf:model>
                        <xf:instance id="main">
                                <root xmlns="">
                                        <month>
                                                <worker>
                                                        <name/>
                                                        <age/>
                                                </worker>
                                        </month>
                                </root>
                        </xf:instance>
                </xf:model>
        </head>
        <body>
                <div>
                        <!-- I generate triggers to switch xf:cases -->
                        <xf:repeat nodeset="instance('main')/month/worker">
                                <xf:trigger>
                                        <xf:label>
                                                Case
                                                <xf:output value="position()"/>
                                                <xf:output value="context()"/>
                                        </xf:label>
                                        <!--TODO Hier is a problem -->
                                        <xf:toggle case="concat('id' ,position())" ev:event="DOMActivate"/>
                                </xf:trigger>
                        </xf:repeat>
                </div>
                <xf:switch>
                        <h2>Repeat worker</h2>
                        <xf:repeat id="worker" nodeset="instance('main')/month/worker">
                                <!-- TODO And hier is a problem -->
                                <xf:case id="concat('id' ,position())">
                                        <xf:input ref="name">
                                                <xf:label>Name</xf:label>
                                        </xf:input>
                                        <xf:input ref="age">
                                                <xf:label>age</xf:label>
                                        </xf:input>
                                </xf:case>
                        </xf:repeat>
                        <xf:group>
                                <xf:trigger>
                                        <xf:insert ev:event="DOMActivate" at="index('worker')"
position="after" nodeset="instance('main')/month/worker"/>
                                        <xf:label>Add worker</xf:label>
                                </xf:trigger>
                                <xf:trigger>
                                        <xf:delete ev:event="DOMActivate" at="index('worker')"
nodeset="instance('main')/month/worker"/>
                                        <xf:label>Delete worker</xf:label>
                                </xf:trigger>
                        </xf:group>
                </xf:switch>
        </body>
</html>
_______________________________________________
dev-tech-xforms mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-tech-xforms