Adding on click event on form
<field name="submitButton" widget-style="find" title="Print" event="onclick" action="javascript:var field=document.Form.inputElement; var tmp=field.value;if (condition) { do what you want };return true;">
<submit button-type="button"/>
</field>
Changing the target by conditions in form
<form name="FromName" type="single" target="likeUpdatetarget" default-map-name="mapName"
header-row-style="header-row" default-table-style="basic-table">
<alt-target use-when="variableParameter==null" target="likeCreateTarget"/>
<fields></fields>
.................
</form>
For dorp down in Forms
<drop-down allow-empty="false">
<entity-options entity-name="Entity" key-field-name="columnName" description="${entityColumnId} [${enttityColumnName}]">
<entity-constraint name="filterByColumne" operator="equals" value="${parameters.entityId}"/>
<entity-order-by field-name="entityColumn"/>
</entity-options>
</drop-down>
<set field="variableName" value="${bsh:
import org.ofbiz.entity.GenericValue;
import org.ofbiz.base.util.UtilMisc;
import org.ofbiz.entity.util.EntityUtil;
GenericValue gv= EntityUtil.getFirst(delegator.findByAnd("EntityName",UtilMisc.toMap("ColumnName",value)));
if(result==null) return ;
if(result!=null) variable= gv.getString("columnName");
return output;
}"/>
Working with Ofbiz forms
<display description="Y" type="text" default-value="N"/>
</field>
<field name="submitButton" widget-style="find" title="Print" event="onclick" action="javascript:var field=document.Form.inputElement; var tmp=field.value;if (condition) { do what you want };return true;">
<submit button-type="button"/>
</field>
Changing the target by conditions in form
<form name="FromName" type="single" target="likeUpdatetarget" default-map-name="mapName"
header-row-style="header-row" default-table-style="basic-table">
<alt-target use-when="variableParameter==null" target="likeCreateTarget"/>
<fields></fields>
.................
</form>
For dorp down in Forms
<drop-down allow-empty="false">
<entity-options entity-name="Entity" key-field-name="columnName" description="${entityColumnId} [${enttityColumnName}]">
<entity-constraint name="filterByColumne" operator="equals" value="${parameters.entityId}"/>
<entity-order-by field-name="entityColumn"/>
</entity-options>
</drop-down>
For getting data using delegator in forms
in action :<set field="variableName" value="${bsh:
import org.ofbiz.entity.GenericValue;
import org.ofbiz.base.util.UtilMisc;
import org.ofbiz.entity.util.EntityUtil;
GenericValue gv= EntityUtil.getFirst(delegator.findByAnd("EntityName",UtilMisc.toMap("ColumnName",value)));
if(result==null) return ;
if(result!=null) variable= gv.getString("columnName");
return output;
}"/>
Creating a FORM
1. include in screen
<include-form name="FormName" location="component://Form.xml"/>
2. Create a FORM . *Form.xml
<form name="FormName" type="single" default-map-name="" target="action" title="Title" header-row-style="header-row" default-table-style="basic-table">
<field name="FieldName"><hidden/></field>
<field position="1" name="Field1" ><text default-value="${fieldValue}"> </text> </field>
<field position="2" name="buttonName" title="Title" widget-style="smallSubmit"><submit button-type="button"/></field>
</form>
3. Populating form inside Action tag
<actions>
<entity-and entity-name="EntityName" list="populatedList">
<field-map field-name="columnName" from-field="columnValue"/>
</entity-and>
<set field="object" value="${groovy: return org.ofbiz.entity.util.EntityUtil.getFirst(populatedList).column;}" default-value="null"/>
</actions>
4. you can also use the auto field tag inside a form to auto populate any Entity with its field.
<auto-fields-entity entity-name="EntityName" default-field-type="display"/>
*******************************************************************************
To make a validation on the forms fields
"USE-WHEN"
<field name="name" title="title" widget-area-style="centered" use-when="object!=null&&object.equals("SOME_VALUE")"><display description="Y" type="text" default-value="N"/>
</field>
No comments:
Post a Comment