いつも大変お世話になっております。
タイトルの通りのエラーです。
(B)の //管理者用フィールドへボタンを配置の、” $(` "の部分で止まります。
・テーブルに明細行を追加する際にデータをコピーして表示する方法(A) と
・一覧画面で1レコードごとにボタン配置(B) を参考にさせていただきました。
競合?しているのでしょうか?JQueryの読み込みの問題でしょうか?
未熟者で恐縮ですが、どなたかアドバイスいただけると幸いです。
(A)
jQuery.noConflict();
(($) => {
"use strict";
//発注伝票の追加編集画面で、テーブル行を複写する。
let copyRowNo = -1;
const events = [
//レコード編集画面表示後、レコード追加画面表示後
//レコード編集画面表示後フィールド値変更、レコード追加画面表示後フィールド値変更
"app.record.edit.show", "app.record.create.show",
"app.record.edit.change.発注詳細", "app.record.create.change.発注詳細",
];
kintone.events.on(events, (event) => {
const record = event.record;
$('button.remove-row-image-gaia').each((index, element) => {
if ($(element).parent().find('button.xp-copy-row-image-gaia').length === 0) {
$('<button type="button" class="xp-copy-row-image-gaia" title="行を複写する"></button>').insertAfter(element);
$(element).parent().on('click', 'button.xp-copy-row-image-gaia', () => {
if (copyRowNo === -1) {
const tr_idx = $(this).parents('tr')[0].rowIndex - 1;
copyRowNo = tr_idx;
$(this).parent().find('button.add-row-image-gaia')[0].click();
}
});
}
});
if (copyRowNo >= 0 && event.changes && event.changes.row) {
const copyFrom = record['発注詳細'].value[copyRowNo].value;
const copyTo = event.changes.row.value;
copyTo['商品名'].value = copyFrom['商品名'].value;
copyTo['単位'].value = copyFrom['単位'].value;
}
copyRowNo = -1;
return event;
});
})(jQuery);
(B)
(() => {
"use strict";
kintone.events.on('app.record.index.show', function (event) {
const field = 'field_for_button'; //管理者用フィールド
const records = event.records;
let element = kintone.app.getFieldElements(field);
//管理者用フィールドへボタンを配置
for (let i in records) {
let rec_id = records[i].$id.value;
$(`
<button id="button_${rec_id}" class="kintoneplugin-button-dialog-ok" name='${rec_id}'>
${records[i]['ボタン表示内容'].value}
</button>
`)
.appendTo(element[i]);
}
$('.kintoneplugin-button-dialog-ok').on('click', function (e) {
const id = $(this).attr('name');
let record = "";
for (let i in records) {
if (records[i].$id.value == id) {
record = records[i];
const check1 = records[i].発注No.value;
const check2 = records[i].発注先.value;
//確認ダイアログ
Swal.fire({
customClass: 'swal-text',
title: '登録確認',
html: '<strong>' + check1 + '</strong>' + '<br>' + '<strong>' + check2 + '</strong>' + '<br>' + '仕入伝票へ登録しますか?',
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: '実行する',
cancelButtonText: 'キャンセル',
//reverseButtons: true //確認キャンセルボタン位置逆転
}).then((result) => {
}).then((resp1) => {
}).then(() => {
}).then(() => {
}).catch((error) => {
// キャンセル時のエラーを処理
if (error.message === 'Cancelled') {
Swal.fire(
'キャンセル',
'キャンセルしました。',
'error',
);
} else {
event.error = error.message;
Swal.fire(
'エラー',
'エラーが発生しました。' + error.message,
'error'
);
}
return event;
});
}
};
});
});
})();