|
From: Walter M. <wal...@us...> - 2007-12-01 23:03:20
|
User: walterim
Date: 07/12/01 15:03:23
Modified: andromda-jsf2/src/main/resources/templates/jsf2/controllers/crud
Controller.java.vsl
andromda-jsf2/src/main/resources/templates/jsf2/views/facelets/crud
view.xhtml.vsl
andromda-jsf2/src/main/resources/templates/jsf2/messages
messages.properties.vsl
Log:
Changes related with Ajax support in crud views
Revision Changes Path
1.11 +33 -3 cartridges/andromda-jsf2/src/main/resources/templates/jsf2/controllers/crud/Controller.java.vsl
Index: Controller.java.vsl
===================================================================
RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/src/main/resources/templates/jsf2/controllers/crud/Controller.java.vsl,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -w -r1.10 -r1.11
--- Controller.java.vsl 21 Oct 2007 20:06:59 -0000 1.10
+++ Controller.java.vsl 1 Dec 2007 23:03:23 -0000 1.11
@@ -132,13 +132,43 @@
{
this.addExceptionMessage(throwable);
}
- return "${manageable.viewFullPath}";
+ return null;
}
public void doBack(${manageable.formBeanType} form) throws Exception {
form.setEditState(false);
}
+ public String cancel(){
+ final org.andromda.presentation.jsf2.AdfFacesContextWrapper contextWrapper = new org.andromda.presentation.jsf2.AdfFacesContextWrapper();
+ try
+ {
+ final ${manageable.formBeanType} form = this.getForm();
+
+ try
+ {
+ contextWrapper.getCurrentInstance().getPageFlowScope().put("form", form);
+
+ this.doCancel(form);
+ }
+ catch (final Throwable throwable)
+ {
+ final String message = org.andromda.presentation.jsf2.Messages.get(
+ org.andromda.presentation.jsf2.PatternMatchingExceptionHandler.instance().handleException(throwable), null);
+ this.addErrorMessage(message);
+ }
+ }
+ catch (final Throwable throwable)
+ {
+ this.addExceptionMessage(throwable);
+ }
+ return null;
+ }
+
+ public void doCancel(${manageable.formBeanType} form) throws Exception {
+ form.setEditState(false);
+ }
+
#if ($manageable.create)
public String startNew(){
final org.andromda.presentation.jsf2.AdfFacesContextWrapper contextWrapper = new org.andromda.presentation.jsf2.AdfFacesContextWrapper();
@@ -163,7 +193,7 @@
{
this.addExceptionMessage(throwable);
}
- return "${manageable.viewFullPath}";
+ return null;
}
public void doStartNew(${manageable.formBeanType} form) throws Exception {
@@ -239,7 +269,7 @@
{
this.addExceptionMessage(throwable);
}
- return "${manageable.viewFullPath}";
+ return null;
}
public void doSave(${manageable.formBeanType} form) throws Exception {
1.12 +19 -15 cartridges/andromda-jsf2/src/main/resources/templates/jsf2/views/facelets/crud/view.xhtml.vsl
Index: view.xhtml.vsl
===================================================================
RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/src/main/resources/templates/jsf2/views/facelets/crud/view.xhtml.vsl,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -w -r1.11 -r1.12
--- view.xhtml.vsl 2 Nov 2007 18:13:32 -0000 1.11
+++ view.xhtml.vsl 1 Dec 2007 23:03:23 -0000 1.12
@@ -87,10 +87,14 @@
</ui:define>
<ui:define name="content">
#set($formName = $manageable.formBeanName)
+#set($searchFormName = "${formName}_search")
+#set($editFormName = "${formName}_edit")
## deixei false em função da discrepância com o uso do \ no javascript#set ($clientValidation = $clientValidation && $manageable.validationRequired)
#set ($clientValidation = false)
#set ($formValidateName = "validate$stringUtils.capitalize($formName)")
- <tr:form id="${formName}_search" rendered="#{!${formName}.editState}"#if($view.needsFileUpload) usesUpload="true"#end>
+ <tr:form id="${formName}" partialTriggers="${searchFormName}:newAction ${searchFormName}:searchAction ${searchFormName}:searchResult:loadAction ${editFormName}:saveAction ${editFormName}:cancelAction" #if($view.needsFileUpload) usesUpload="true"#end>
+ <tr:group rendered="#{!${formName}.editState}">
+ <tr:subform id="${searchFormName}">
<tr:panelFormLayout>
#foreach ($field in $manageable.manageableSearchAttributes)
#renderSearchInput($field)
@@ -113,27 +117,27 @@
#end
<f:facet name="footer">
<tr:panelButtonBar>
- <tr:commandButton id="searchButton" text="#{messages['action.search']}" action="#{${manageable.controllerBeanName}.search}" accessKey="#{messages['action.search.access.key']}"/>
+ <tr:commandButton id="searchAction" text="#{messages['action.search']}" action="#{${manageable.controllerBeanName}.search}" accessKey="#{messages['action.search.access.key']}" partialSubmit="true" blocking="true"/>
#if ($manageable.create)
- <tr:commandButton id="newButton" text="#{messages['action.new']}" action="#{${manageable.controllerBeanName}.startNew}" accessKey="#{messages['action.new.access.key']}"/>
+ <tr:commandButton id="newAction" text="#{messages['action.new']}" action="#{${manageable.controllerBeanName}.startNew}" accessKey="#{messages['action.new.access.key']}" partialSubmit="true" blocking="true"/>
#end
</tr:panelButtonBar>
</f:facet>
</tr:panelFormLayout>
- <tr:table allDetailsEnabled="true" var="row" bandingInterval="1" banding="row" value="#{${formName}.${manageable.listName}}" rows="#{${preferencesBeanName}.maxTableRows}" width="90%" rendered="#{${formName}.${manageable.listName} != null}">
+ <tr:table id="searchResult" allDetailsEnabled="true" var="row" rowBandingInterval="1" value="#{${formName}.${manageable.listName}}" rows="#{${preferencesBeanName}.maxTableRows}" width="90%" rendered="#{not empty ${formName}.${manageable.listName}}" partialTriggers="searchResult:deleteAction">
<tr:column width="46px">
<f:facet name="header">
<h:panelGroup><t:graphicImage url="/images/space.gif"/></h:panelGroup>
</f:facet>
<h:panelGroup>
- <tr:commandLink actionListener="#{${manageable.controllerBeanName}.load}" action="${manageable.viewFullPath}" >
- <t:graphicImage url="/skins/#{${preferencesBeanName}.skin}/images/tableLoad.gif" title="#{messages['action.load']}" border="0"/>
+ <tr:commandLink id="loadAction" actionListener="#{${manageable.controllerBeanName}.load}" action="${manageable.viewFullPath}" partialSubmit="true" blocking="true">
+ <t:graphicImage url="/skins/#{${preferencesBeanName}.skin}/images/tableLoad.gif" title="#{messages['action.load']}" style="border-style:none" />
<f:param name="${manageable.manageableIdentifier.name}" id="${manageable.manageableIdentifier.name}" value="#{row.${manageable.manageableIdentifier.name}}" />
</tr:commandLink>
#if ($manageable.delete)
<tr:spacer width="10" height="1"/>
- <tr:commandLink actionListener="#{${manageable.controllerBeanName}.delete}">
- <t:graphicImage url="/skins/#{${preferencesBeanName}.skin}/images/tableDelete.gif" title="#{messages['action.delete']}" border="0"/>
+ <tr:commandLink id="deleteAction" actionListener="#{${manageable.controllerBeanName}.delete}" partialSubmit="true" blocking="true">
+ <t:graphicImage url="/skins/#{${preferencesBeanName}.skin}/images/tableDelete.gif" title="#{messages['action.delete']}" style="border-style:none" />
<f:param name="${manageable.manageableIdentifier.name}" id="${manageable.manageableIdentifier.name}" value="#{row.${manageable.manageableIdentifier.name}}" />
</tr:commandLink>
#end
@@ -170,12 +174,10 @@
#end
#end
</tr:table>
- </tr:form>
+ </tr:subform>
+ </tr:group>
<tr:group rendered="#{${formName}.editState}">
- <tr:commandLink action="#{${manageable.controllerBeanName}.back}" accessKey="#{messages['action.back.access.key']}">
- <t:graphicImage url="/skins/#{${preferencesBeanName}.skin}/images/back.gif" title="#{messages['action.back']}" border="0" />
- </tr:commandLink>
- <tr:form id="${formName}_edit" #if($clientValidation) onsubmit="return $formValidateName(this);"#end#if($view.needsFileUpload) usesUpload="true"#end>
+ <tr:subform id="${formName}_edit" #if($clientValidation) onsubmit="return $formValidateName(this);"#end>
<tr:panelFormLayout>
#foreach ($field in $manageable.manageableAttributes)
#if($field.hidden)
@@ -223,14 +225,16 @@
<f:facet name="footer">
<tr:panelButtonBar>
#if ($manageable.create || !$manageable.update)
- <tr:commandButton text="#{messages['action.save']}" action="#{${manageable.controllerBeanName}.save}" accessKey="#{messages['action.save.access.key']}"/>
+ <tr:commandButton id="saveAction" text="#{messages['action.save']}" action="#{${manageable.controllerBeanName}.save}" accessKey="#{messages['action.save.access.key']}" blocking="true"/>
+ <tr:commandButton id="cancelAction" text="#{messages['action.cancel']}" action="#{${manageable.controllerBeanName}.cancel}" accessKey="#{messages['action.cancel.access.key']}" immediate="true" partialSubmit="true" blocking="true"/>
#end
</tr:panelButtonBar>
</f:facet>
</tr:panelFormLayout>
<a:validator#if(!$clientValidation) client="false"#end/>
- </tr:form>
+ </tr:subform>
</tr:group>
+ </tr:form>
</ui:define>
</ui:composition>
1.6 +2 -0 cartridges/andromda-jsf2/src/main/resources/templates/jsf2/messages/messages.properties.vsl
Index: messages.properties.vsl
===================================================================
RCS file: /cvsroot/andromdaplugins/cartridges/andromda-jsf2/src/main/resources/templates/jsf2/messages/messages.properties.vsl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -w -r1.5 -r1.6
--- messages.properties.vsl 19 Jul 2007 17:41:16 -0000 1.5
+++ messages.properties.vsl 1 Dec 2007 23:03:23 -0000 1.6
@@ -175,6 +175,7 @@
action.delete=Delete
action.load=Load
action.save=Save
+action.cancel=Cancel
action.back=Back
action.close=Close
action.search=Search
@@ -184,6 +185,7 @@
action.delete.access.key=d
action.load.access.key=l
action.save.access.key=s
+action.cancel.access.key=c
action.back.access.key=b
action.close.access.key=c
action.search.access.key=s
|