I have a form to capture the title and file name of an office document.
The form has a commandLink to invoke a backend method that then builds the
necessary LiveEdit url and redirects to that url. This works fine and Word
is invoked and the document gets the right title and filename.
However, I also need to be able to force the ajax region that defines the
form (that captures title and file name) to refresh to hide the input
fields (for title and file name) and then display a launch message (not
yet included). I have tried a number of different approaches to make this
happen but none have worked. I have attached relevant code snippets below.
Does anyone have any ideas on how to force the region to refresh after the
LiveEdit redirection?
This is the code that validates the filename and then redirects... to the
livedit URL (liveCreateInContextURL is a modified version of the
Nuxeo-provided liveCreate code)
public String createOfficeDocument() throws ClientException {
// need to validate the date again! date is required
if (!DocumentDatePrefix.isFilePrefixValid(fileName)) {
facesMessages.add("Invalid file name prefix. All file names
must start with a valid date in the format yyyyMMdd");
return ACTION_PAGE_QUICK_LAUNCH;
}
redirectUrl =
officeTemplateListManager.liveCreateInContextUrl(quickLaunchName,
docTitle, fileName);
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse httpResponse = (HttpServletResponse)
context.getExternalContext().getResponse();
try {
httpResponse.sendRedirect(redirectUrl);
} catch (IOException e) {
e.printStackTrace();
}
// reset attributes
setDocTitle("");
setFileName("");
return "";
}
The XHTML that collects the data. I have tried a number of different
options and none have worked
<ui:define name="body">
<div>
<a4j:region>
<a4j:form>
<a4j:outputPanel id="panel1"
ajaxRendered="true">
<h3><h:outputText
value="#{messages['ca.metalogic.officedocument.metadata.form.title']}"
/></h3>
<h:outputText
value="#{messages['ca.metalogic.officedocument.metadata.form.subtitle']}"
rendered="#{quickLaunchActions.isEditMode}" />
<ui:include
src="/incl/message_banner.xhtml" />
<h:panelGrid columns="2"
styleClass="dataInput"
columnClasses="mckQuickLaunchLabelColumn, mckQuickLaunchFieldColumn"
rendered="#{quickLaunchActions.isEditMode}">
<h:outputLabel
for="doctitle" class="required" value="Document Title:" />
<h:panelGroup>
<h:inputText
id="doctitle" value="#{quickLaunchActions.docTitle}" required="true"
size="80" />
<h:message
for="doctitle" />
</h:panelGroup>
</h:panelGrid>
<h:panelGrid columns="2"
styleClass="dataInput"
columnClasses="mckQuickLaunchLabelColumn, mckQuickLaunchFieldColumn"
rendered="#{quickLaunchActions.isEditMode}">
<h:outputLabel
for="filename" class="required" value="Office Document Name:" />
<h:panelGroup>
<h:inputText
id="filename" value="#{quickLaunchActions.fileName}" required="true"
size="80" />
<h:message
for="filename" />
</h:panelGroup>
</h:panelGrid>
</a4j:outputPanel>
<h:panelGrid columns="1"
styleClass="dataInput" rendered="#{quickLaunchActions.isEditMode}">
<a4j:commandLink
id="saveOfficeMetadata" value="Create Document" immediate="true"
action="#{quickLaunchActions.createOfficeDocument}"
reRender="panel1" />
</h:panelGrid>
</a4j:form>
</a4j:region></div>
</ui:define>
_______________________________________________
ECM mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm
To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm