Как вызвать управляемое действие bean в rich: popupPanel - PullRequest
0 голосов
/ 06 февраля 2012

Мне нужно подтвердить пользователю, если он уверен, что удалит свой аккаунт.Для этого я думаю, что всплывающее окно было бы здорово.Но большинство браузеров блокируют всплывающие окна.

Так что я пытался сделать это с помощью popupPanel .Но я предполагаю, что это было бы невозможно, потому что внутри меня есть команда LinkLink, вот что я делаю до сих пор:

<rich:popupPanel id="popup_delete_profile" modal="true" onmaskclick="#{rich:component('popup_delete_profile')}.hide()">
        <f:facet name="header">
            <h:outputText value="Aviso" />
        </f:facet>

        <f:facet name="controls">
            <h:outputLink value="#" onclick="#{rich:component('popup_delete_profile')}.hide(); return false;">
            Close
            </h:outputLink>
        </f:facet>


        <p>Are you sure ?</p>

        <h:commandLink value="Yes" action="#{userc.deleteUser}"></h:commandLink>

        <h:outputLink value="#" onclick="#{rich:component('popup_delete_profile')}.hide(); return false;">
            No
        </h:outputLink>        

    </rich:popupPanel>

Это мой manageBean:

    public void deleteUser(){
        try {
                eaoUser.delete(userb.getUser());
                // here I would like to refresh the popupPanel saying that was deleted with success and then logout

        } catch (Exception e) {
            view.errorMessage("ocorreu um erro, por favor tente novamente");
            e.printStackTrace();
        }
    }

РЕДАКТИРОВАТЬ:

public String deleteUser() {
        FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
        return "/index.xhtml?faces-redirect=true";

}

Есть идеи, как это сделать?

Ответы [ 2 ]

0 голосов
/ 03 марта 2014

Как вызвать действие управляемого компонента в rich: popupPanel

   Add this code in your popUp.xhtml page

    Note:replace rich:popuppanal and use rich:modalPanel

    <a4j:commandLink styleClass="no-decor" execute="@this" render="@none"
        oncomplete="#{rich:component('confirmPane')}.show()">
        <h:graphicImage value="/images/icon-delete.gif" />
        </a4j:commandLink>

        <rich:modalPanel id="confirmPane" width="282" height="70">
        Are you sure you want to delete the row?
        <button id="cancel"  onclick="#{rich:component('confirmPane')}.hide();" >
        <h:outputText value="cancel" escape="false" />
        </button>
        <button id="delete"  onclick="#{rich:component('confirmPane')}.hide();                  clickHiddenButton('officeForm:yesSubmit');return true;">
        <h:outputText value="yes" escape="false" />
        </button>
        <h:commandButton id="yesSubmit" style="visibility:hidden;"
        onclick="#{rich:component('confirmPane')}.hide()" action="deleteRecord" />
        </rich:modalPanel>
0 голосов
/ 06 февраля 2012

В демонстрационной версии richFaces

есть два примера вашей проблемы.

В демоверсии RF 4 они включают образец управляемого компонента.

Надеюсь, это поможет.

...