Dear all,
I would like to put a variable to an item of a repeater widget:
miscs[0].code = "ISIL";
miscs[0].misc = cocoon.session.getAttribute("mpf_aaa_isil");
Maybe i must change somehow the binding file:
<fb:context path="misc-group">
<fb:repeater id="miscs" parent-path="." row-path="misc">
<fb:on-bind>
<!-- <fb:value id="misc" path="."/> -->
<fb:javascript id="miscs.0.misc" path=".">
<fb:load-form>
????
</fb:load-form>
<fb:save-form>
????
</fb:save-form>
</fb:javascript>
<!-- <fb:value id="code" path="@role"/> -->
<fb:javascript id="miscs.0.code" path="@role">
<fb:load-form>
????
</fb:load-form>
<fb:save-form>
????
</fb:save-form>
</fb:javascript>
</fb:on-bind>
<fb:on-delete-row>
<fb:delete-node/>
</fb:on-delete-row>
<fb:on-insert-row>
<fb:insert-node/>
</fb:on-insert-row>
</fb:repeater>
</fb:context>
Could anyone help me.
Best Regards,
Erik Hovi
<?xml version="1.0" encoding="UTF-8"?>
<!-- physical-collection model -->
<fd:form
xmlns:fd="http://apache.org/cocoon/forms/1.0#definition"
xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
xmlns:xdepo="http://xdepo.org/xdepo/1.0"
>
<fd:widgets>
<fd:field id="xdepo">
<fd:datatype base="string"/>
</fd:field>
<fd:field id="xdepopage">
<fd:label></fd:label>
<fd:datatype base="string"/>
<fd:selection-list src="../../xdepo-local/datatypes/mpf/physical-collection/forms/form1/pages.xml" dynamic="true"/>
</fd:field>
<fd:output id="creation-date">
<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.creation-date"/></fd:label>
<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.creation-date.help"/></fd:help>
<fd:datatype base="string"/>
</fd:output>
<fd:output id="modification-date">
<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.modification-date"/></fd:label>
<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.modification-date.help"/></fd:help>
<fd:datatype base="string"/>
</fd:output>
<fd:output id="agent">
<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.agent"/></fd:label>
<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.agent.help"/></fd:help>
<fd:datatype base="string"/>
</fd:output>
<fd:field id="update">
<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.update"/></fd:label>
<fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.update.hint"/></fd:hint>
<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.update.help"/></fd:help>
<fd:datatype base="date">
<fd:convertor>
<fd:patterns>
<fd:pattern>yyyy-MM-dd</fd:pattern>
</fd:patterns>
</fd:convertor>
</fd:datatype>
</fd:field>
<fd:field id="language">
<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.language"/></fd:label>
<fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.language.hint"/></fd:hint>
<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.language.help"/></fd:help>
<fd:datatype base="string"/>
<fd:selection-list src="../../xdepo-local/common/langs.xml"/>
</fd:field>
<xdepo:widget name="chooseWidgetSupervisor">
<xdepo:sub-widget role="supervisor">
<fd:field id="record-status">
<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status"/></fd:label>
<fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status.hint"/></fd:hint>
<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status.help"/></fd:help>
<fd:datatype base="string"/>
<fd:selection-list src="cocoon:/listvalues.xml?uri=/Lists/&doc=record-status.xml"/>
</fd:field>
</xdepo:sub-widget>
<xdepo:sub-widget role="others">
<fd:output id="record-status">
<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status"/></fd:label>
<fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status.hint"/></fd:hint>
<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.status.help"/></fd:help>
<fd:datatype base="string"/>
</fd:output>
</xdepo:sub-widget>
</xdepo:widget>
<fd:field id="right">
<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.rights"/></fd:label>
<fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.rights.hint"/></fd:hint>
<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.rights.help"/></fd:help>
<fd:datatype base="string"/>
</fd:field>
<fd:field id="comment">
<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.comment"/></fd:label>
<fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.comment.hint"/></fd:hint>
<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.comment.help"/></fd:help>
<fd:datatype base="string"/>
</fd:field>
<fd:field id="misc-val">
<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.val"/></fd:label>
<fd:datatype base="string"/>
</fd:field>
<fd:repeater id="miscs" initial-size="1">
<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc"/></fd:label>
<fd:widgets>
<fd:output id="id">
<fd:datatype base="long"/>
</fd:output>
<fd:field id="code">
<fd:label><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.code"/></fd:label>
<fd:hint><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.hint"/></fd:hint>
<fd:help><i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.help"/></fd:help>
<fd:datatype base="string"/>
</fd:field>
<fd:field id="misc">
<fd:datatype base="string"/>
</fd:field>
<fd:row-action id="removemisc" action-command="delete">
<fd:label><i18n:text key="less"/></fd:label>
</fd:row-action>
<fd:row-action id="addmisc" action-command="add-after">
<fd:label><i18n:text key="more"/></fd:label>
</fd:row-action>
</fd:widgets>
</fd:repeater>
</fd:widgets>
</fd:form>
<?xml version="1.0" encoding="UTF-8"?>
<!-- physical-collection binding -->
<fb:context
xmlns:fb="http://apache.org/cocoon/forms/1.0#binding"
xmlns:fd="http://apache.org/cocoon/forms/1.0#definition"
path="/physical-collection">
<fb:javascript id="xdepo" path="/physical-collection/@xdepo:datatype">
<fb:load-form>
createNonExistentElement( jxpathContext,"/physical-collection", "metadata",0);
createNonExistentElementWithAttribute( jxpathContext,"/physical-collection/metadata", "language",0,"code");
createNonExistentElementWithAttribute( jxpathContext,"/physical-collection/metadata", "record-status",1,"code");
</fb:load-form>
<fb:save-form>
</fb:save-form>
</fb:javascript>
<fb:context path="metadata">
<fb:value id="creation-date" path="creation/date"/>
<fb:value id="modification-date" path="modification/date"/>
<fb:javascript id="update" path="update">
<fb:load-form>
var update = jxpathPointer.getValue();
var date = new java.text.SimpleDateFormat("yyyy-MM-dd").parse(update);
widget.setValue(date);
</fb:load-form>
<fb:save-form>
jxpathPointer.setValue(new java.text.SimpleDateFormat("yyyy-MM-dd").format(widget.getValue()));
</fb:save-form>
</fb:javascript>
<fb:javascript id="record-status" path="record-status/@code">
<fb:load-form>
var role = cocoon.session.getAttribute("mpf_role");
var contadmin = cocoon.session.getAttribute("mpf_contadmin");
var systadmin = cocoon.session.getAttribute("mpf_systadmin");
var value= "";
if (role.equals("supervisor") || contadmin.equals("true") || systadmin.equals("true")) {
var currentval = jxpathPointer.getValue();
if (currentval=="") {
value = "valid";
}
else {
value = currentval;
}
}
else {
value = "draft";
}
widget.setValue(value);
</fb:load-form>
<fb:save-form>
var role = cocoon.session.getAttribute("mpf_role");
var contadmin = cocoon.session.getAttribute("mpf_contadmin");
var systadmin = cocoon.session.getAttribute("mpf_systadmin");
if (role.equals("supervisor") || contadmin.equals("true") || systadmin.equals("true")) {
jxpathPointer.setValue(widget.getValue());
if (widget.getValue().equals("valid")){
var date = new java.util.Date();
var df = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(date);
var login = cocoon.session.getAttribute("xdepo_login");
var name="";
var email="";
var database = cocoon.session.getAttribute("xdepo_instance");
var xdbuser = DatabaseManager.getCollection("xmldb:"+database+":///db" + "/mpf/conf/users/", "admin", getGlobalVariable(database+"-admin-pwd"));
var userservice = xdbuser.getService( "XQueryService", "1.0" );
var q = userservice.queryResource(login+".xml","/user/name/text()");
if (q.getSize() > 0){
name = q.getResource(0).getContent();
}
var q2 = userservice.queryResource(login+".xml","/user/email/text()");
if (q2.getSize() > 0){
email = q2.getResource(0).getContent();
}
var metadata = jxpathContext.getPointer("/*/metadata");
var validation = jxpathContext.getPointer("/*/metadata/validation");
var qname = new Packages.org.apache.commons.jxpath.ri.QName("validation");
if (validation.getNode()==null){
metadata.createChild(jxpathContext, qname, 0);
validation = jxpathContext.getPointer("/*/metadata/validation");
}
var validationdate = jxpathContext.getPointer("/*/metadata/validation/date");
qname = new Packages.org.apache.commons.jxpath.ri.QName("date");
if (validationdate.getNode()==null){
validation.createChild(jxpathContext, qname, 0,df);
}
var validationagent = jxpathContext.getPointer("/*/metadata/validation/agent");
qname = new Packages.org.apache.commons.jxpath.ri.QName("agent");
if(validationagent.getNode()==null){
validation.createChild(jxpathContext, qname, 0);
validationagent = jxpathContext.getPointer("/*/metadata/validation/agent");
}
var validationagentcode = jxpathContext.getPointer("/*/metadata/validation/agent/@code");
var premiervalidationagent = jxpathContext.getPointer("/*/metadata/validation/agent/@code");
qname = new Packages.org.apache.commons.jxpath.ri.QName("code");
if(validationagentcode.getNode()==null){
validationagent.createAttribute(jxpathContext, qname).setValue(login);
}
var validationagentname = jxpathContext.getPointer("/*/metadata/validation/agent/@name");
qname = new Packages.org.apache.commons.jxpath.ri.QName("name");
if(validationagentname.getNode()==null && premiervalidationagent.getNode()==null){
validationagent.createAttribute(jxpathContext, qname).setValue(name);
}
var validationagentmail = jxpathContext.getPointer("/*/metadata/validation/agent/@email");
qname = new Packages.org.apache.commons.jxpath.ri.QName("email");
if(validationagentmail.getNode()==null && premiervalidationagent.getNode()==null){
validationagent.createAttribute(jxpathContext, qname).setValue(email);
}
}
}
else {
jxpathPointer.setValue("draft");
}
</fb:save-form>
</fb:javascript>
<fb:value id="agent" path="owner/agent/@code"/>
<fb:value id="right" path="rights"/>
<fb:javascript id="language" path="language/@code">
<fb:load-form>
var value = jxpathPointer.getValue();
if (value=="") {
value = cocoon.session.getAttribute("xdepo_lang");
}
widget.setValue(value);
</fb:load-form>
<fb:save-form>
jxpathPointer.setValue(widget.getValue());
</fb:save-form>
</fb:javascript>
<fb:javascript id="comment" path="comment">
<fb:load-form>
loadingWidgetWithSeparator(widget, jxpathPointer,"\n\n");
</fb:load-form>
<fb:save-form>
creatingElementWithSeparator(widget, jxpathPointer,jxpathContext,"\r\n","\n","p");
</fb:save-form>
</fb:javascript>
<fb:context path="misc-group">
<fb:repeater id="miscs" parent-path="." row-path="misc">
<fb:on-bind>
<fb:value id="misc" path="."/>
<fb:value id="code" path="@role"/>
</fb:on-bind>
<fb:on-delete-row>
<fb:delete-node/>
</fb:on-delete-row>
<fb:on-insert-row>
<fb:insert-node/>
</fb:on-insert-row>
</fb:repeater>
</fb:context>
</fb:context>
</fb:context>
<?xml version="1.0" encoding="UTF-8"?>
<!-- physical-collection template -->
<document
xmlns:ft="http://apache.org/cocoon/forms/1.0#template"
xmlns:fi="http://apache.org/cocoon/forms/1.0#instance"
xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
xmlns:xdepo="http://xdepo.org/xdepo/1.0">
<header>
<title>
<i18n:text i18n:catalogue="mpf_michael-forms" key="physical-collection.header"/>
</title>
<style href="lib/xdepo/css/viewer.css"/>
</header>
<body id="formulaire">
<div class="main">
<ft:form-template name="physical-collection" method="POST" action="#{$continuation/id}.continue?uri=${cocoon.request.uri}&doc=${cocoon.request.doc}">
<div class="infocontext">
<p>
<i18n:text i18n:catalogue="mpf_michael-forms" key="physical-collection.header"/> <xdepo:viewer-context base="${cocoon.request.uri}" title="${cocoon.request.uri}"/> : ${cocoon.request.doc} 
<ft:widget id="xdepopage">
<fi:styling onChange="FormSubmit('physical-collection');"/>
</ft:widget>
</p>
</div>
<fi:validation-errors>
<header>
<i18n:text i18n:catalogue="mpf_michael-forms" key="michael.validation.errors.header"/>
</header>
<footer>
<i18n:text i18n:catalogue="mpf_michael-forms" key="michael.validation.errors.footer"/>
</footer>
</fi:validation-errors>
<table align="center" cellpadding="0" cellspacing="0" class="form">
<tr>
<td colspan="2">
<table width="100%" cellpadding="0" cellspacing="0">
<!--creation date-->
<tr class="line b1">
<td class="missing">
<xdepo:alert id="creation-date"/>
</td>
<td class="mandatory">
<xdepo:required id="creation-date"/>
</td>
<td class="more"> </td>
<td class="less"> </td>
<td class="label">
<ft:widget-label id="creation-date"/>
</td>
<td class="value">
<ft:widget id="creation-date">
<fi:styling help="false" required="false" validation="false"/>
</ft:widget>
</td>
<td class="help">
<xdepo:help id="creation-date">
<img src="resources/help.gif" border="0"/>
</xdepo:help>
</td>
</tr>
<!--modification date-->
<tr class="line b2">
<td class="missing">
<xdepo:alert id="modification-date"/>
</td>
<td class="mandatory">
<xdepo:required id="modification-date"/>
</td>
<td class="more"> </td>
<td class="less"> </td>
<td class="label">
<ft:widget-label id="modification-date"/>
</td>
<td class="value">
<ft:widget id="modification-date">
<fi:styling help="false" required="false" validation="false"/>
</ft:widget>
</td>
<td class="help">
<xdepo:help id="modification-date">
<img src="resources/help.gif" border="0"/>
</xdepo:help>
</td>
</tr>
<!--update-->
<tr class="line b1">
<td class="missing">
<xdepo:alert id="update"/>
</td>
<td class="mandatory">
<xdepo:required id="update"/>
</td>
<td class="more"> </td>
<td class="less"> </td>
<td class="label">
<ft:widget-label id="update"/>
</td>
<td class="value">
<ft:widget id="update">
<fi:styling help="false" required="false" validation="false"/>
</ft:widget>
</td>
<td class="help">
<xdepo:help id="update">
<img src="resources/help.gif" border="0"/>
</xdepo:help>
</td>
</tr>
<!--record-status-->
<tr class="line b2">
<td class="missing">
<xdepo:alert id="record-status"/>
</td>
<td class="mandatory">
<xdepo:required id="record-status"/>
</td>
<td class="more"> </td>
<td class="less"> </td>
<td class="label">
<ft:widget-label id="record-status"/>
</td>
<td class="value">
<ft:widget id="record-status">
<fi:styling help="false" required="false" validation="false"/>
</ft:widget>
</td>
<td class="help">
<xdepo:help id="record-status">
<img src="resources/help.gif" border="0"/>
</xdepo:help>
</td>
</tr>
<!--agent-->
<tr class="line b1">
<td class="missing">
<xdepo:alert id="agent"/>
</td>
<td class="mandatory">
<xdepo:required id="agent"/>
</td>
<td class="more"> </td>
<td class="less"> </td>
<td class="label">
<ft:widget-label id="agent"/>
</td>
<td class="value">
<ft:widget id="agent">
<fi:styling help="false" required="false" validation="false"/>
</ft:widget>
</td>
<td class="help">
<xdepo:help id="agent">
<img src="resources/help.gif" border="0"/>
</xdepo:help>
</td>
</tr>
<!--right-->
<tr class="line b2">
<td class="missing">
<xdepo:alert id="right"/>
</td>
<td class="mandatory">
<xdepo:required id="right"/>
</td>
<td class="more"> </td>
<td class="less"> </td>
<td class="label">
<ft:widget-label id="right"/>
</td>
<td class="value">
<ft:widget id="right">
<fi:styling help="false" required="false" validation="false"/>
</ft:widget>
</td>
<td class="help">
<xdepo:help id="right">
<img src="resources/help.gif" border="0"/>
</xdepo:help>
</td>
</tr>
<!--language-->
<tr class="line b1">
<td class="missing">
<xdepo:alert id="language"/>
</td>
<td class="mandatory">
<xdepo:required id="language"/>
</td>
<td class="more"> </td>
<td class="less"> </td>
<td class="label">
<ft:widget-label id="language"/>
</td>
<td class="value">
<ft:widget id="language">
<fi:styling help="false" required="false" validation="false"/>
</ft:widget>
</td>
<td class="help">
<xdepo:help id="language">
<img src="resources/help.gif" border="0"/>
</xdepo:help>
</td>
</tr>
<!--comment-->
<tr class="line b2">
<td class="missing">
<xdepo:alert id="comment"/>
</td>
<td class="mandatory">
<xdepo:required id="comment"/>
</td>
<td class="more"> </td>
<td class="less"> </td>
<td class="label">
<ft:widget-label id="comment"/>
</td>
<td class="value">
<ft:widget id="comment">
<fi:styling help="false" required="false" validation="false" type="textarea"/>
</ft:widget>
</td>
<td class="help">
<xdepo:help id="comment">
<img src="resources/help.gif" border="0"/>
</xdepo:help>
</td>
</tr>
<!--misc-->
<ft:repeater-widget id="miscs">
<tr class="line b1">
<td class="missing">
 
</td>
<td class="mandatory">
 
</td>
<td class="more">
<ft:widget id="addmisc">
<xdepo:button type="img" role="add" code="misc"/>
</ft:widget>
</td>
<td class="less">
<ft:widget id="removemisc">
<xdepo:button type="img" role="remove" code="misc"/>
</ft:widget>
</td>
<td class="label">
<i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc"/>
</td>
<td class="value">
<table cellspacing="0" cellpadding="0">
<tr>
<td align="center">
<i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.code"/>
</td>
<td align="center">
<i18n:text i18n:catalogue="mpf_michael-forms" key="general.meta.misc.val"/>
</td>
</tr>
<tr>
<td>
<ft:widget id="code">
<fi:styling size="10" help="false"/>
</ft:widget>
</td>
<td>
<ft:widget id="misc">
<fi:styling size="60"/>
</ft:widget>
</td>
</tr>
</table>
</td>
<td class="help">
<xdepo:help id1="miscs." id2=".code">
<img src="resources/help.gif" border="0"/>
</xdepo:help>
</td>
</tr>
</ft:repeater-widget>
<!--navigation-->
<tr>
<td> </td>
<td colspan="6">
<table align="center" width="100%">
<tr>
<td align="left" width="33%">
<input type="submit" name="prev" value="Prev" i18n:attr="value"/>
</td>
<td align="center" width="33%">
<input type="submit" name="save" value="Save" i18n:attr="value"/>
</td>
<td align="right" width="33%"> </td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</ft:form-template>
</div>
</body>
</document>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]