Primefaces对话事件的取消最大化?

问题描述 投票:1回答:3

我的基本问题是“是否有对话的取消最大化的事件”,我知道我能为“最大化”的活动,但有关事件从全屏模式回到正在添加回正常尺寸后happeneds什么注册AJAX?”

面对现在的问题IM的描述:“当对话框来自全屏返回到正常模式,则滚动消失。”

文件的内容:

<p:dialog ... width="600" height="400" maximize="true">
   <p:panel style="overflow:auto;">
      <p:dataTable style="min-width:800px !important;">
           ....cols/data ~height~600px;
      </p:dataTable>
   </p:panel>
</p:dialog>

在.show()操作一切正常,同时对调整大小的动作在滚动正确的方式呈现。之后的一切行动最大化(回来到正常大小模式)分手。

Primefaces香港专业教育学院尝试和重现的问题都是我的项目版本3.5.RC1和最新的5.2。

假设,在最新版本的问题依然存在,我需要实施一些解决办法,但wasnt能够:(

jquery ajax spring jsf primefaces
3个回答
0
投票

对话状态的PrimeFaces文档,存在一个最小化,最大化和移动事件。

尝试使用

<p:ajax event="minimize" listener="#{bean.listener}" update="controls" />

对话:你的P内。


0
投票

它是如何固定的:

Primefaces版本3.5.23和4.0.7和5.0.0已实施的变通不解析为取消最大化事件,因为它是不可能调用该事件仅在取消最大化。

变通涉及文件primefaces.js手动更改saveState和和对话的JavaScript restoreState。方法是彪保存和恢复对话的内容的宽度和高度。

最好的办法是端口解决方案从以上版本primefaces的精英版3.5。


0
投票

我不知道,也没有检查primefaces <6但此后就没有需要的解决方法。您可以使用AJAX事件,如下列:

<p:dialog widgetVar="myDialog"
    header="Dialog"
    onShow="updateClientSide()"
    modal="true" blockScroll="true" responsive="true"
    closable="true" closeOnEscape="true" maximizable="true"
    height="80vh" width="80vw" minHeight="300" minWidth="330">

    <p:ajax event="maximize" update="{id's to update}" onstart="updateClientSide()" process="@none"/>
    <p:ajax event="restoreMaximize" update="id's to update" onstart="updateClientSide()" process="@none"/>

    <div>
        content
    </div>
</p:dialog>

...

<script type="text/javascript">
    function updateClientSide() {
        your client side stuff
    };
</script>

请注意,给出的例子仅用于客户端回调,如果你想处理你需要一个侦听器添加到p服务器端的事情:AJAX标签,并更新了部分请求您需要的过程值。

问候

© www.soinside.com 2019 - 2024. All rights reserved.