ユーザーがアイドル状態のときに(クライアントで)データテーブルを自動更新したい。私はグラスフィッシュでPrimefaces 3.5を使用していますが、私の考えは次のとおりです。
私はboolean autoUpdate
豆に変数を持っています。また、ユーザーは自動更新のオン/オフを切り替えることができます。
p:poll
との 2 つのコンポーネントを作成しましp:idleMonitor
た。
にはidleMonitor
、更新をトリガーする 2 つのイベントがあります。
<p:ajax event="idle" oncomplete="myPoll.start();" />
<p:ajax event="active" oncomplete="myPoll.stop();" />
この部分は大丈夫です。問題は、 が?に設定されているidleMonitor
場合に無効にする方法です。私がする時autoUpdate
False
<h:panelGroup id="updatePanel" rendered="#{cc.attrs.bean.autoUpdate}">
....
</h:panelGroup>
それは私が始めた場合にのみ機能しautoUpdate = false
、モードを一度だけ切り替えることができます。一度レンダリングすると変更できません。私も試してみました
<p:ajax event="idle" oncomplete="#{cc.attrs.bean.autoUpdate ? 'myPoll.start();' : ''}" />
しかし、それもうまくいきませんでした。は#{cc.attrs.bean.autoUpdate}
決して変更されません。私も upadte を呼び出していますが、別の場所で変数が変更されていることがわかります。
だから、私の質問は次のとおりです:レンダリングされた後にidleMonitorを無効にする方法はありますか? または、アイドル状態のユーザー向けのオプションの定期的な更新のより良い解決策は何ですか?