クエリで条件指定し表示させたときのイベント

一覧のレコード一覧表示形式→カスタマイズにして
HTMLにクロス集計レポートをiframeで埋め込み、一覧表と表を両方表示しています。

現在クロス集計表にはレコードへのリンクがないので
小項目に設定している「氏名」のテキストを取得し
URL内のクエリで、表示するレコードの条件を指定
を参考にレコード条件を指定したリンクをtrに設定してみました。
動作自体は思った通りになりました。

しかしURLに遷移した後app.record.index.showイベントが起きてくれません。

ドキュメントにはapp.record.index.showは「レコード一覧画面の絞り込み条件を適用した時」とあるのですがこのようにURL内のクエリで、表示するレコードの条件を指定して一覧を表示させた場合app.record.index.showイベントは発生しないのでしょうか?

 

jQuery.noConflict();
(function($) {
“use strict”;

kintone.events.on(‘app.record.index.show’, function(event) {
$(‘iframe’).contents().find(‘td.gaia-report-crosstable-groupvalue’).each(function() {
var findName = $(this).text();
$(this).parents(‘tr’).attr(‘data-href’, “https://{sub-domain}.cybozu.com/k/{appId}/?view={viewId}&query=%E6%B0%8F%E5%90%8D%20like%20%22” + findName + “%22&keyword=” + findName);
$(this).parents(‘tr’).addClass(‘clickable’).click( function() {
window.location = $(this).attr(‘data-href’);
});
});

})(jQuery);

aikoさん、はじめまして。

 

クエリ指定で一覧開いたときもapp.record.index.showは走ります。

iframe詳しくないのでわからないのですが、window.locationで開いたURLはiframe内に表示されるのでしょうか?

iframe内ではなく、親画面で開けばイベント動くはずです。

もしiframe内で動かしているのであれば、「画面の再表示」とはみなされないのかもしれませんね。

 

こういう場合は、切り分けのためになるべくシンプルなコード(今回の場合はiframe使わない)にして試してみることをお勧めします。

ご回答ありがとうございました!
開いたURLは親画面で表示されて、一覧表のほうは絞り込みもできている状態です。

グラフと一覧表を同時に表示する場合iframeで埋め込むしかないと思っていたのですが
他にも方法があるのかもしれませんね。
もう少し研究してみます。ありがとうございました。