Agileツールキットを使用してグリッドを生成し、グリッドの自動リロードを取得しようとしていますが、方法がわかりません:/
js() 関数を掘り下げたところ、最初のパラメーターが $when であることがわかりましたが、間隔を設定するにはどうすればよいでしょうか?
ボタンクリックのようなイベントでのリロードは問題ありませんが、x 秒ごとにリロードを設定する必要があります。
Agileツールキットを使用してグリッドを生成し、グリッドの自動リロードを取得しようとしていますが、方法がわかりません:/
js() 関数を掘り下げたところ、最初のパラメーターが $when であることがわかりましたが、間隔を設定するにはどうすればよいでしょうか?
ボタンクリックのようなイベントでのリロードは問題ありませんが、x 秒ごとにリロードを設定する必要があります。
OKここにあなたがどのようにすべきか完全にテストされた例があります。
まず、ATK4にはuniv()ライブラリにsetInterval関数とclearInterval関数が追加されていませんが、すでにsetTimeoutが設定されていることを認める必要があります。setIntervalとclearIntervalを追加し、Github(https://github.com/atk4/atk4/pull/173)でプルリクエストを作成しました。ローマ人がそれを受け入れることを願っていますが、受け入れない場合は、いつでもこれらの関数を独自のJSライブラリに追加できます。
だからここにコードがあります:
$g = $this->add('Grid');
$this->js(true)->univ()->setInterval(
$g->js()->reload()->_enclose()
,3000);
または、次のような複数の独立した関数を実行することもできます。
$this->js(true)->univ()->setInterval(
$g->js(null,array(
$g->js()->reload(),
$g->js()->univ()->successMessage('Reloaded...')
))->_enclose()
,3000);
ここで重要なのは、JSチェーンを匿名のJS関数に変換する-> _ enclose()メソッドです。
Javascript code :
setInterval("func()",1000);
This will call the func()
function every 1000 ms