jsf - p :dialog appears on bottom when p:blockUI targets it

标签 jsf primefaces dialog blockui

我有一个 PrimeFaces 对话框,它有两个命令按钮,可以在支持 bean 中执行一些代码。我想阻止 Action 中的对话框。

我设法使用 blockUI 做到了这一点,但是当 blockUI 存在并且我打开对话框时,它出现在页面底部。

如果我删除 blockUI 组件,对话框会在页面中央打开,如我所愿。但我希望它居中并带有 blockUI。

        <p:dialog header="Attention" id="dialog" position="center"
            widgetVar="dialog" modal="true" closable="false"
            dynamic="true" closeOnEscape="false">

        <div class="internal-margin-top">

                <h:outputText value="Location" styleClass="ui-outputtext" />
                <p:inputText value="#{activityBean.location}"
                    id="inputLocation" maxlength="15">
                </p:inputText>

            </div>
            <div class="internal-margin-bottom">
                <p:commandButton id="closureYes" value="Yes"
                    styleClass="btn-green"
                    onstart="PF('block').show();"
                    oncomplete="PF('dialog').hide(); PF('block').hide();"
                    action="#{activityBean.processItem()}" process="@all">
                </p:commandButton>
                <p:commandButton id="closureNo" value="No"
                    styleClass="btn-red"
                    onstart="PF('block').show();"
                    oncomplete="PF('dialog').hide(); PF('block').hide();"
                    action="#{activityBean.processActivity()}" process="@all" />
            </div>
        </p:dialog>

            <p:blockUI block="scrapDialog" widgetVar="block">
                <p:graphicImage library="images" name="loading_bar.gif" />
            </p:blockUI>

提前致谢。

最佳答案

带有居中模式对话框的示例:

    <p:dialog header="Header" position="center" widgetVar="wv_dialog" modal="true" closable="false" dynamic="true" closeOnEscape="false">
        <h:form id="dialogform">
            <p:panelGrid columns="1">
                <p:inputText value="test"/>
                <p:inputText value="test"/>
                <p:inputText value="test"/>
                <p:inputText value="test"/>
            </p:panelGrid>
            <p:commandButton id="closebutton" 
                value="Close"
                oncomplete="PF('wv_dialog').hide();"
                action="#{testBean.actionTest()}"
                process="@form"/>
            <p:blockUI block="dialogform" trigger="closebutton"/>
        </h:form>
    </p:dialog>

关于jsf - p :dialog appears on bottom when p:blockUI targets it,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31275782/

相关文章:

java - 尝试在 JSF 中使用 Servlet Filter 登录时出现无限循环

jsf - 将新行添加到 p :datatable then submit content

java - JSF <h :inputText>/<h:outputText> not rendering according to boolean value

javascript - 为什么 p :inputTextArea value is not set?

primefaces - 数据表中的列卡住或固定列

javascript - 单击按钮后在 css 弹出窗口中填充值

css - 背景颜色 css 未申请 ace :textEntry

javascript - 使用 iframe URL 的 jQuery UI 对话框

android - 如何制作 Material Design 全屏对话框?

java - 如何将事件监听器绑定(bind)到对话框中的 JavaFX TextFields。当字段为空时,“确定”按钮将被禁用,反之亦然