[jboss-cvs] jboss-seam/seam-gen/view ...
Gavin King
gavin.king at jboss.com
Sun Dec 3 20:45:25 EST 2006
User: gavin
Date: 06/12/03 20:45:25
Modified: seam-gen/view edit.xhtml.ftl
Log:
better formatting
better handling of id properties
JBSEAM-561
Revision Changes Path
1.13 +139 -92 jboss-seam/seam-gen/view/edit.xhtml.ftl
(In the diff below, changes in quantity of whitespace are not shown.)
Index: edit.xhtml.ftl
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/seam-gen/view/edit.xhtml.ftl,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- edit.xhtml.ftl 3 Dec 2006 19:28:30 -0000 1.12
+++ edit.xhtml.ftl 4 Dec 2006 01:45:25 -0000 1.13
@@ -21,26 +21,26 @@
<h:messages globalOnly="true" styleClass="message"/>
<h:form id="${componentName}">
+
<div class="dialog">
<table>
<s:validateAll>
<#foreach property in pojo.allPropertiesIterator>
-<#if !c2h.isCollection(property) && !c2h.isManyToOne(property)>
+<#if !c2h.isCollection(property) && !c2h.isManyToOne(property) && property.columnSpan==1>
+<#assign propertyIsId = property.equals(pojo.identifierProperty)>
+<#if !propertyIsId || property.value.identifierGeneratorStrategy == "assigned">
+<#assign column = property.columnIterator.next()>
+
<tr class="prop">
<td class="name">${property.name}</td>
<td class="value">
<s:decorate>
-<#if property.equals(pojo.identifierProperty)>
-<#if property.value.identifierGeneratorStrategy == "assigned">
- <h:inputText id="${property.name}"
- value="${'#'}{${homeName}.instance.${property.name}}"
- required="true"
- disabled="${'#'}{${homeName}.managed}"/>
-</#if>
-<#else>
<#if property.value.typeName == "date">
<h:inputText id="${property.name}"
-<#if !property.columnIterator.next().nullable>
+<#if propertyIsId>
+ disabled="${'#'}{${homeName}.managed}"
+</#if>
+<#if !column.nullable>
required="true"
</#if>
value="${'#'}{${homeName}.instance.${property.name}}">
@@ -48,7 +48,7 @@
</h:inputText>
<#elseif property.value.typeName == "time">
<h:inputText id="${property.name}"
-<#if !property.columnIterator.next().nullable>
+<#if !column.nullable>
required="true"
</#if>
value="${'#'}{${homeName}.instance.${property.name}}">
@@ -56,7 +56,7 @@
</h:inputText>
<#elseif property.value.typeName == "timestamp">
<h:inputText id="${property.name}"
-<#if !property.columnIterator.next().nullable>
+<#if !column.nullable>
required="true"
</#if>
value="${'#'}{${homeName}.instance.${property.name}}">
@@ -64,81 +64,116 @@
</h:inputText>
<#elseif property.value.typeName == "big_decimal">
<h:inputText id="${property.name}"
-<#if !property.columnIterator.next().nullable>
+<#if !column.nullable>
required="true"
</#if>
- value="${'#'}{${homeName}.instance.${property.name}}">
- <f:convertNumber/>
+ value="${'#'}{${homeName}.instance.${property.name}}"
+ size="${column.precision+7}">
+ <f:convertNumber maxIntegerDigits="${column.precision-column.scale}"
+ maxFractionDigits="${column.scale}"/>
</h:inputText>
<#elseif property.value.typeName == "big_integer">
<h:inputText id="${property.name}"
-<#if !property.columnIterator.next().nullable>
+<#if propertyIsId>
+ disabled="${'#'}{${homeName}.managed}"
+</#if>
+<#if !column.nullable>
required="true"
</#if>
- value="${'#'}{${homeName}.instance.${property.name}}">
- <f:convertNumber integerOnly="true"/>
+ value="${'#'}{${homeName}.instance.${property.name}}"
+ size="${column.precision+6}">
+ <f:convertNumber integerOnly="true"
+ maxIntegerDigits="${column.precision}"/>
</h:inputText>
<#elseif property.value.typeName == "boolean">
<h:selectBooleanCheckbox id="${property.name}"
-<#if !property.columnIterator.next().nullable>
+<#if !column.nullable>
required="true"
</#if>
value="${'#'}{${homeName}.instance.${property.name}}"/>
<#elseif property.value.typeName == "string">
-<#if property.columnIterator.next().length gt 200>
+<#if column.length gt 200>
<h:inputTextarea id="${property.name}"
-<#if !property.columnIterator.next().nullable>
+<#if propertyIsId>
+ disabled="${'#'}{${homeName}.managed}"
+</#if>
+<#if !column.nullable>
required="true"
</#if>
value="${'#'}{${homeName}.instance.${property.name}}"/>
<#else>
<h:inputText id="${property.name}"
-<#if !property.columnIterator.next().nullable>
+<#if propertyIsId>
+ disabled="${'#'}{${homeName}.managed}"
+</#if>
+<#if !column.nullable>
required="true"
</#if>
- size="${property.columnIterator.next().length}"
- maxlength="${property.columnIterator.next().length}"
+ size="${column.length}"
+ maxlength="${column.length}"
value="${'#'}{${homeName}.instance.${property.name}}"/>
</#if>
+<#else>
+ <h:inputText id="${property.name}"
+<#if !column.nullable>
+ required="true"
</#if>
+<#if propertyIsId>
+ disabled="${'#'}{${homeName}.managed}"
+</#if>
+ value="${'#'}{${homeName}.instance.${property.name}}"/>
</#if>
</s:decorate>
</td>
</tr>
</#if>
+</#if>
</#foreach>
+
</s:validateAll>
</table>
</div>
+
<div class="actionButtons">
- <h:commandButton id="save" value="Save"
+
+ <h:commandButton id="save"
+ value="Save"
action="${'#'}{${homeName}.persist}"
rendered="${'#'}{!${homeName}.managed}"/>
- <h:commandButton id="update" value="Save"
+
+ <h:commandButton id="update"
+ value="Save"
action="${'#'}{${homeName}.update}"
rendered="${'#'}{${homeName}.managed}"/>
- <s:button id="delete" value="Delete"
+
+ <s:button id="delete"
+ value="Delete"
action="${'#'}{${homeName}.remove}"
rendered="${'#'}{${homeName}.managed}"
propagation="end"
view="/${masterPageName}.xhtml"/>
- <s:button id="done" value="Done"
+
+ <s:button id="done"
+ value="Done"
propagation="end"
view="/${pageName}.xhtml"
rendered="${'#'}{${homeName}.managed}"/>
- <s:button id="cancel" value="Cancel"
+
+ <s:button id="cancel"
+ value="Cancel"
propagation="end"
view="/${masterPageName}.xhtml"
rendered="${'#'}{!${homeName}.managed}"/>
+
</div>
- </h:form>
+ </h:form>
<#foreach property in pojo.allPropertiesIterator>
-
<#if c2h.isManyToOne(property)>
<#assign parentPojo = c2j.getPOJOClass(cfg.getClassMapping(property.value.referencedEntityName))>
<#assign parentPageName = parentPojo.shortName>
<#assign parentName = util.lower(parentPojo.shortName)>
+
<h2>${property.name}</h2>
<h:outputText value="No ${property.name}" rendered="${'#'}{${homeName}.instance.${property.name} == null}"/>
<h:dataTable var="${parentName}"
@@ -163,15 +198,20 @@
</#foreach>
<h:column>
<f:facet name="header">action</f:facet>
- <s:link id="view${parentName}" value="View" view="/${parentPageName}.xhtml" propagation="end">
- <f:param name="${parentName}Id" value="${'#'}{${parentName}.${parentPojo.identifierProperty.name}}"/>
+ <s:link view="/${parentPageName}.xhtml"
+ id="view${parentName}"
+ value="View"
+ propagation="end">
+ <f:param name="${parentName}Id"
+ value="${'#'}{${parentName}.${parentPojo.identifierProperty.name}}"/>
</s:link>
</h:column>
</h:dataTable>
</#if>
-
<#if c2h.isOneToManyCollection(property)>
+
<f:subview rendered="${'#'}{${homeName}.managed}">
+
<h2>${property.name}</h2>
<#assign childPojo = c2j.getPOJOClass(property.value.element.associatedClass)>
<#assign childPageName = childPojo.shortName>
@@ -193,19 +233,26 @@
</#foreach>
<h:column>
<f:facet name="header">action</f:facet>
- <s:link id="select${childName}" value="Select" view="/${childPageName}.xhtml" propagation="end">
- <f:param name="${childName}Id" value="${'#'}{${childName}.${childPojo.identifierProperty.name}}"/>
+ <s:link view="/${childPageName}.xhtml"
+ id="select${childName}"
+ value="Select"
+ propagation="end">
+ <f:param name="${childName}Id"
+ value="${'#'}{${childName}.${childPojo.identifierProperty.name}}"/>
</s:link>
</h:column>
</h:dataTable>
<div class="actionButtons">
- <s:button id="add${childName}" value="Add ${childName}"
- view="/${childEditPageName}.xhtml" propagation="begin">
+ <s:button id="add${childName}"
+ value="Add ${childName}"
+ view="/${childEditPageName}.xhtml"
+ propagation="begin">
<f:param name="${componentName}Id"
value="${'#'}{${homeName}.instance.${pojo.identifierProperty.name}}"/>
</s:button>
</div>
+
</f:subview>
</#if>
</#foreach>
More information about the jboss-cvs-commits
mailing list