JSF Primefaces Confirm Confirm не работает - PullRequest
0 голосов
/ 29 октября 2018

я пытаюсь показать диалог подтверждения через кнопку перед удалением пользователя, ive copy вставил пример с веб-сайта primefaces, но не работает, он только показывает мне сообщение от actionListener ... также попытался p: verifyDialog с его собственный h: form вне моей таблицы данных, но пока безуспешно, потому что я использую шаблонный клиент? любые идеи будут оценены, вот мой код:

<body>

    <ui:composition template="./TemplateDefault.xhtml">            
        <ui:define name="content">

                <h:outputStylesheet name="./css/modules.css" />                               

                <p:dataTable var="user" value="#{user.getList()}">
                    <f:facet name="header">
                        USER LIST
                    </f:facet>

                    <p:column headerText="Id" style="width:5%">
                        <h:outputText value="#{user.id}" />
                    </p:column>

                    <p:column headerText="Name" style="width:20%">
                        <h:outputText value="#{user.name}" />
                    </p:column>

                    <p:column headerText="Password" style="width:20%">
                        <h:outputText value="#{user.pwd}" />
                    </p:column>

                    <p:column headerText="Email" style="width:20%">
                        <h:outputText value="#{user.email}" />
                    </p:column>

                    <p:column headerText="Options" style="width:15%">

                        <h:form>
                            <p:growl id="message" showDetail="true" />

                            <p:commandButton actionListener="#{loginFormBean.msgDelete}" update="message" icon="ui-icon-trash" title="Delete User" >                                 
                                <p:confirm header="Confirm" message="Are you sure?" icon="ui-icon-alert"/>                                
                            </p:commandButton>

                            <p:confirmDialog global="true">
                                <p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
                                <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
                            </p:confirmDialog> 
                        </h:form>

                    </p:column>

                    <f:facet name="footer">
                        Found #{user.getList().size()} users.                            
                    </f:facet>                    
                </p:dataTable>    

        </ui:define>

    </ui:composition>

</body>

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Я пробую следующее

<p:dataTable var="user" value="#{user.getList()}">
                    <f:facet name="header">
                        USER LIST
                    </f:facet>

                    <p:column headerText="Id" style="width:5%">
                        <h:outputText value="#{user.id}" />
                    </p:column>

                    <p:column headerText="Name" style="width:20%">
                        <h:outputText value="#{user.name}" />
                    </p:column>

                    <p:column headerText="Password" style="width:20%">
                        <h:outputText value="#{user.pwd}" />
                    </p:column>

                    <p:column headerText="Email" style="width:20%">
                        <h:outputText value="#{user.email}" />
                    </p:column>

                    <p:column style="text-align: center" >

                    </p:column>

                    <p:column headerText="Options" style="width:15%">

                        <p:commandButton  icon="ui-icon-trash" title="Delete User" onclick="PF('widgetVarDialog').show();" >                                                          
                        </p:commandButton>

                    </p:column>

                    <f:facet name="footer">
                        Found #{user.getList().size()} users.                            
                    </f:facet>                    
 </p:dataTable>  

<p:confirmDialog global="true" widgetVar="widgetVarDialog">
                                <p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
                                <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" onclick="PF('widgetVarDialog').hide();" />
</p:confirmDialog>  

Вы должны убедиться, что получили предмет, подлежащий уничтожению

0 голосов
/ 29 октября 2018

Попробуйте разместить форму, содержащую только p: verifyDialog, сразу после h: body в вашем шаблоне. Вы можете сделать что-то вроде <ui:insert name="dialogs"/> в своем шаблоне, затем

<ui:define name="dialogs">
    <h:form id="dialogForm">
        <p:confirmDialog global="true">
            <p:commandButton value="Yes" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
            <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
        </p:confirmDialog>
    </h:form>
</ui:define>

В вашем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...