何を実現したいのかを書きましょう
一覧表示時に各レコードのコメント最新投稿日が7日以内の時にリストの一部のフィールドコードの背景色を変更したいです
発生した問題やエラーメッセージを具体的に書きましょう
以下のプログラムでやりたいことが一応できました。
しかし、キントーンもjavascriptも始めてから1か月程度で、このプログラムでほんとにいいのか、すごく不安のため添削をお願いしたいです。このコミュニティでこのようなお願いがいいのかわからないので、もしだめならご指摘ください。
実行したコードをコピー&ペーストしましょう
コードをここに入力または貼り付け
(() => {
'use strict';
// レコード一覧画面の表示後にフィールド値の条件に応じて、文字色、フィールドの背景色を変更する
kintone.events.on('app.record.index.show', (event) => {
const bgColor = '#fff8dc';
const elnumber = kintone.app.getFieldElements('No');
// 今日の日付を取得
const today = new Date();
console.log(today);
for (let i = 0; i < elnumber.length; i++) {
const record = event.records[i];
const myUrl = "/k/v1/record/comments";
const myParms = {
"app" : kintone.app.getId(),
"record" : record.$id.value,
"order" : "desc"
};
kintone.api(myUrl, "GET", myParms).then(function(resp) {
if(resp.comments.length !== 0){
//最新コメント投稿日を取得
const commentDate = new Date (resp.comments[0].createdAt);
console.log(commentDate);
//今日の日付とコメント投稿日時の差分を計算
const diffTime = Math.abs(today - commentDate);
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
//差分が7日以内かどうかを確認
if (diffDays <= 7) {
elnumber[i].style.backgroundColor = bgColor;
}
}
}, function(error) {
if (error.message !== undefined) {
var errmsg = error.message;
}
});
}
});
})();