[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