RichFaces + JSF 2 strange problem with rich:popupPanel
kaneeec Sep 15, 2011 11:09 AMI have the following page. Like this it works fine. But if I change jsFunction name to delete (and the button in the popupPanel also to delete();), it does not work at all. How is that possible?
Also how can I create a popupPanel which has form for new Profile creation? The form in in does not set the variables in the bean.
<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <ui:composition xmlns:ui="http://java.sun.com/jsf/facelets" template="./templates/template.xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j" xmlns:fn="http://java.sun.com/jsp/jstl/functions"> <ui:define name="main_title">Profiles</ui:define> <ui:define name="main"> <h:form> <rich:dataTable value="#{dataProviderBean.profiles}" var="item" id="profilesTable" styleClass="nice-tbl"> <rich:column filterValue="#{filteringBean.usernameFilter}" filterExpression="#{fn:containsIgnoreCase(item.username, filteringBean.usernameFilter)}"> <f:facet name="header"> <h:outputText value="Username" /> <br /> <h:inputText value="#{filteringBean.usernameFilter}"> <a4j:ajax event="keyup" render="profilesTable@body" execute="@this" /> </h:inputText> </f:facet> <h:outputText value="#{item.username}" /> </rich:column> <rich:column> <f:facet name="header">Password</f:facet> <h:outputText value="#{item.password}" /> </rich:column> <rich:column> <f:facet name="header">URL</f:facet> <h:outputText value="#{item.url}" /> </rich:column> <rich:column> <f:facet name="header">Administration</f:facet> <a4j:commandLink execute="@this" render="@none" oncomplete="#{rich:component('confirmPane')}.show()"> <h:graphicImage url="./resources/images/delete.png" alt="Delete" /> <a4j:param value="#{item.username}" assignTo="#{deleteProfileBean.username}" /> </a4j:commandLink> </rich:column> </rich:dataTable> </h:form> <a4j:jsFunction name="remove" action="#{deleteProfileBean.delete}" render="profilesTable" execute="@this" oncomplete="#{rich:component('confirmPane')}.hide();" /> <rich:popupPanel id="confirmPane" autosized="true"> Are you sure you want to delete the profile? <a4j:commandButton value="Cancel" onclick="#{rich:component('confirmPane')}.hide(); return false;" /> <a4j:commandButton value="Delete" onclick="remove(); return false;" /> </rich:popupPanel> </ui:define> </ui:composition>