お世話になっております。是非どなたかお力をお貸し下さい。
レコード一覧を開いた時に、関連レコードがあるレコード(氏名)には色をつけ、無いレコードにはチェックボックスにチェックを入れたいのですが、勉強不足で申し訳ないのですが、PUTの仕方がわかりません。どなたかご教授いただけましたら、ありがたいです。
下記のコードにてレコード一覧を開いたら関連レコードがあるレコードには、氏名に色が着くようにしています。できることなら、13行目に色が着かないレコードのチェックボックスに「未レコード」などのチェックを入れ、絞り込み検索で関連レコードがないレコードの絞り込みを行いたいのです。
どなたかよろしくお願い致します。
(function() {
"use strict";
kintone.events.on([
'app.record.index.show'
], function(event){
RelatedRecordsFieldManager.prototype.getFieldProperties().then(function(){
var relatedRecordsField = new RelatedRecordsFieldManager('関連レコードフィールドコート');
event.records.forEach(function(record, index){
relatedRecordsField.getRecords(record).then(function(records){
if(records.length){
kintone.app.getFieldElements('氏名')[index].style.background = '#0F0';
//ここで色がつかないレコードのチェックボックスにチェックを入れたい
}
});
});
});
});
var RelatedRecordsFieldManager = (function(fieldCode){
function RelatedRecordsFieldManager(fieldCode) {
this.fieldCode = fieldCode;
this.targetAppId = kintone.app.getRelatedRecordsTargetAppId(fieldCode);
this.property = this.fieldProperties[fieldCode].referenceTable;
}
RelatedRecordsFieldManager.prototype = {
selfAppId: kintone.app.getId(),
records: [],
limit: 1,
//limit: 500,
offset: 0,
getFieldProperties: function(){
return kintone.api(kintone.api.url('/k/v1/app/form/fields', true), 'GET', {
app: RelatedRecordsFieldManager.prototype.selfAppId,
}).then(function(response){
RelatedRecordsFieldManager.prototype.fieldProperties = response.properties;
});
},
query: function(record){
return (
this.property.condition.relatedField +
'="' +
record[this.property.condition.field].value +
(this.property.filterCond ? '" and ' : '"') +
this.property.filterCond
);
},
getRecords: function(record){
var _this = this;
return kintone.api(kintone.api.url('/k/v1/records', true), 'GET', {
app: this.targetAppId,
query:
this.query(record) +
' order by ' + this.property.sort +
' limit ' + this.limit +
' offset ' + this.offset
}).then(function(response){
return response.records;
/*_this.records = _this.records.concat(response.records);
_this.offset += response.records.length;
if(response.records.length === _this.limit){
return _this.getRecords(record);
}else{
return _this.records;
}*/
});
}
}
return RelatedRecordsFieldManager;
})();
})();