Created
March 10, 2011 02:46
-
-
Save avernet/863487 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<xhtml:html xmlns:xforms="http://www.w3.org/2002/xforms" | |
xmlns:xhtml="http://www.w3.org/1999/xhtml" | |
xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" | |
xmlns:ev="http://www.w3.org/2001/xml-events" | |
xmlns:xs="http://www.w3.org/2001/XMLSchema" | |
xmlns:xi="http://www.w3.org/2001/XInclude" | |
xmlns:xxi="http://orbeon.org/oxf/xml/xinclude" | |
xmlns:xbl="http://www.w3.org/ns/xbl" | |
xmlns:fr="http://orbeon.org/oxf/xml/form-runner"> | |
<xhtml:head> | |
<xhtml:title>XForms Controls</xhtml:title> | |
<xhtml:link type="text/css" rel="stylesheet" href="/ops/yui/logger/assets/logger.css"/> | |
<xhtml:script type="text/javascript" src="/ops/yui/logger/logger.js"/> | |
<xhtml:script type="text/javascript" src="/ops/yui/event-simulate/event-simulate.js"/> | |
<xhtml:script type="text/javascript" src="/ops/yui/yuitest/yuitest.js"/> | |
<!--<xhtml:script type="text/javascript" src="/apps/xforms-sandbox/samples/test-update-full.js"/>--> | |
<xforms:model xxforms:xhtml-layout="span" xxforms:ajax.update.full.threshold="1"> | |
<xforms:instance id="ui"> | |
<ui> | |
<show-one>true</show-one> | |
<show-two>true</show-two> | |
<case-value>1</case-value> | |
<focus-restore>Initial</focus-restore> | |
<focus-non-relevant-no-error>Initial</focus-non-relevant-no-error> | |
<focus-readonly-no-error>Initial</focus-readonly-no-error> | |
<server-value>false</server-value> | |
</ui> | |
</xforms:instance> | |
<xforms:bind nodeset="focus-non-relevant-no-error" relevant=". != 'Non-relevant'"/> | |
<xforms:bind nodeset="focus-readonly-no-error" readonly=". = 'Read-only'"/> | |
<xforms:bind nodeset="server-value" type="xs:boolean"/> | |
<xforms:instance id="numbers"> | |
<numbers> | |
<number value="1">One</number> | |
<number value="2">Two</number> | |
<number value="3">Three</number> | |
</numbers> | |
</xforms:instance> | |
</xforms:model> | |
<xhtml:style type="text/css"> | |
.xforms-repeat-selected-item-1 { background-color: transparent } | |
fieldset div { margin-top: 1em } | |
</xhtml:style> | |
</xhtml:head> | |
<xhtml:body> | |
<xhtml:fieldset> | |
<xhtml:legend>Full update on group around tr</xhtml:legend> | |
<fr:button id="toggle-two"> | |
<xforms:label>Toggle two</xforms:label> | |
<xforms:setvalue ev:event="DOMActivate" ref="instance('ui')/show-two" value="if (. = 'true') then 'false' else 'true'"/> | |
</fr:button> | |
<xhtml:div> | |
<xhtml:table> | |
<xforms:repeat nodeset="instance('numbers')/number"> | |
<xxforms:variable name="position" select="position()"/> | |
<xforms:group ref=".[@value != 2 or instance('ui')/show-two = 'true']" xxforms:update="full" id="group-update-full"> | |
<xhtml:tr> | |
<xhtml:td> | |
<xforms:output value="." id="number"/> | |
</xhtml:td> | |
<xhtml:td> | |
<xforms:input id="field" ref="."> | |
<xforms:setvalue ev:event="DOMFocusIn" ref="instance('ui')/show-two" value="if (. = 'true') then 'false' else 'true'"/> | |
</xforms:input> | |
</xhtml:td> | |
</xhtml:tr> | |
</xforms:group> | |
</xforms:repeat> | |
</xhtml:table> | |
</xhtml:div> | |
</xhtml:fieldset> | |
<xhtml:fieldset> | |
<xhtml:legend>Full update on case</xhtml:legend> | |
<fr:button id="increment-case-value"> | |
<xforms:label>Increment case value</xforms:label> | |
<xforms:setvalue ev:event="DOMActivate" ref="case-value" value=". + 1"/> | |
</fr:button> | |
<xhtml:div> | |
<xforms:switch> | |
<xforms:case id="case-1" xxforms:update="full"> | |
<xforms:output value="case-value" id="case-value"/> | |
</xforms:case> | |
</xforms:switch> | |
</xhtml:div> | |
</xhtml:fieldset> | |
<xhtml:fieldset> | |
<xhtml:legend>Full update on repeat</xhtml:legend> | |
<fr:button id="toggle-one"> | |
<xforms:label>Show one</xforms:label> | |
<xforms:setvalue ev:event="DOMActivate" ref="show-one" value="if (. = 'true') then 'false' else 'true'"/> | |
</fr:button> | |
<xhtml:div> | |
<xforms:repeat nodeset="instance('numbers')/number[if (instance('ui')/show-one = 'false') then @value != 1 else true()]" xxforms:update="full" id="repeat-update-full"> | |
<xforms:output value="." id="repeat-value"/> | |
</xforms:repeat> | |
</xhtml:div> | |
</xhtml:fieldset> | |
<xhtml:fieldset> | |
<xhtml:legend>Restoring the focus</xhtml:legend> | |
<xforms:group xxforms:update="full"> | |
<xforms:output value="focus-value"/> | |
<xforms:input id="focus-restore" ref="focus-restore"/> | |
<xforms:input id="focus-non-relevant-no-error" ref="focus-non-relevant-no-error"> | |
<xforms:setvalue ev:event="DOMFocusIn" ref=".">Non-relevant</xforms:setvalue> | |
</xforms:input> | |
<xforms:input id="focus-readonly-no-error" ref="focus-readonly-no-error"> | |
<xforms:setvalue ev:event="DOMFocusIn" ref=".">Read-only</xforms:setvalue> | |
</xforms:input> | |
</xforms:group> | |
</xhtml:fieldset> | |
<xhtml:fieldset> | |
<xhtml:legend>Resetting server values</xhtml:legend> | |
<fr:button id="server-value-true"> | |
<xforms:label>Set to true</xforms:label> | |
<xforms:setvalue ev:event="DOMActivate" ref="server-value">true</xforms:setvalue> | |
</fr:button> | |
<fr:button id="server-value-false"> | |
<xforms:label>Set to false</xforms:label> | |
<xforms:setvalue ev:event="DOMActivate" ref="server-value">false</xforms:setvalue> | |
</fr:button> | |
<xforms:group id="server-value-group" xxforms:update="full"> | |
<xforms:input ref="server-value" id="server-value-input"/> | |
</xforms:group> | |
<xforms:output ref="server-value" id="server-value-output"/> | |
</xhtml:fieldset> | |
<xhtml:fieldset> | |
<xhtml:legend>Dialog initialization</xhtml:legend> | |
<fr:button id="open-dialog"> | |
<xforms:label>Add and open dialog</xforms:label> | |
<xforms:action ev:event="DOMActivate"> | |
<xforms:insert nodeset="*" origin="xxforms:element('dialog')"/> | |
<xxforms:show dialog="dialog"/> | |
</xforms:action> | |
</fr:button> | |
<xhtml:div> | |
<xforms:group id="dialog-container" xxforms:update="full"> | |
<!--xxforms:update="full"--> | |
<xforms:repeat nodeset="dialog"> | |
<xxforms:dialog id="dialog">Dialog content</xxforms:dialog> | |
</xforms:repeat> | |
</xforms:group> | |
</xhtml:div> | |
</xhtml:fieldset> | |
</xhtml:body> | |
</xhtml:html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment