お世話になります。
イベントカレンダーを使用しており、フィルタをするために旧ファイルでパッケージングしなおしたのですが、やはり最新の100件のみでは不都合があり、全件取得しつつデータも絞り込みをしてカレンダー表示をしたいと思ってます。
こちらのコメントも読んでみたのですが、「絞り込み条件ごとに一覧を作成、レコード一覧画面表示イベントにて一覧名が●●だったら条件指定してレコード取得する。」というところはどこに記述すれば良いのでしょうか?
(customize.js 内の、全件取得関数の後に追記してパッケージングしなおすのでしょうか?)
具体的に絞り込みたい内容としては、フォーム内のグループフィールド(フィールドコード:group)が「A」「B」「C」の場合に、それぞれ「カレンダーA」「カレンダーB」「カレンダーC」を別途作成したいです。
カレンダーは、「カレンダーA」「カレンダーB」「カレンダーC」という名称で一覧には設定済みとなります。
こちらは、customize.jsを3パターン作成しなければならないのでしょうか・・・?
初心者には難しいかもしれませんが、この場合の記述方法を教えていただきたいです。
よろしくお願いいたします。
Maruさん
> customize.js 内の、全件取得関数の後に追記してパッケージングしなおすのでしょうか?
はい、ご認識通りです。全件取得関数の中で、レコードGETするためのparamsを定義している箇所があります。
var params = {app: appId, query: query + ’ limit ’ + limit + ’ offset ’ + offset};
上記paramsの内容を一覧名によって変更するのです。
if (event.viewName === ‘カレンダーA’) {
var params = {
‘app’: kintone.app.getId(),
‘query’: ‘order by $id desc limit 500 offset 0’,
‘fields’: [‘取得したい値のフィールドコードを入れる’]
};
} else if (event.viewName === ‘カレンダーB’){
var params = {
‘app’: kintone.app.getId(),
‘query’: ‘order by $id desc limit 500 offset 0’,
‘fields’: [‘取得したい値のフィールドコードを入れる’]
};
} else if (event.viewName === ‘カレンダーC’){
・・・・ここではカレンダーCの場合のparams定義ですね
↑各'query'項目にてフィルタ条件を指定してあげて下さい。
また、if文で処理を分ければcustomize.jsを3パターン作成する必要は特にありませんです。
queryの指定とか良く分からない場合は下記URLのレコード一括取得(クエリで条件を指定)を参考にしてみてください。
https://developer.cybozu.io/hc/ja/articles/202331474