お世話になっております。
テーブルのなかにボタンを設置し、
ボタンをクリックするとモーダルウィンドウが表示されるのですが、
モーダルウィンドウをクリックすると、
下記、処理が行われなくなります。
デバッグしても処理を通らなかったので、イベントが無効になっている??
// 新規作成時、バーコード、ピックアップ、レジ袋、配達情報以外のメモ 非表示
(function () {
"use strict";
kintone.events.on(['app.record.create.show','app.record.create.change.order_items'], function (event) {
// バーコード
$('table:eq(2) thead tr th:eq(12)').hide();
$('table:eq(2) tbody tr td:nth-child(13)').hide();
//ピックアップラジオボタン
$('table:eq(2) thead tr th:eq(4)').hide();
$('table:eq(2) tbody tr td:nth-child(5)').hide();
// レジ袋
kintone.app.record.setFieldShown('bagM', false);
kintone.app.record.setFieldShown('bagL', false);
kintone.app.record.setFieldShown('bagPrice', false);
$('#user-js-bagSpace').parent('div').hide();
// 配達情報以外のメモ
kintone.app.record.setFieldShown('リッチエディター_1', false);
kintone.app.record.setFieldShown('memoPay', false);
});
})();
モーダルウィンドウのコードについては下記のとおりです。
テーブルに文字列フィールドをボタンに変換しました。
ボタンをクリックすると、モーダルウィンドウが表示します。
モーダルウィンドウの中身は他アプリの在庫データになります。
kintone.events.on([
'app.record.create.change.jan', 'app.record.edit.change.jan'
], (event) => {
const sp = document.getElementsByClassName("field-5525974");
const hide = document.getElementsByClassName("value-5525974");
let record = event.record
record['order_items'].value.forEach((row, index) => {
let jan = row.value['jan'].value;
let buttonId = 'zaikoBtn' + jan;
let removeBtnID = sp[index].lastElementChild.id;
let removeButton = document.getElementById(removeBtnID);
if (removeButton) sp[index].removeChild(removeButton);
if (jan) {
let btn = document.createElement('button');
btn.id = buttonId;
btn.className = 'jan-button';
btn.textContent = '開く';
btn.onclick = () => {
showJan(jan);
};
sp[index].appendChild(btn);
hide[index].style.display = 'none';
}
});
$('.jan-button').hover(() => {
$(this).css({
color: '#ECECEC',
background: '#3498DB'
});
});
return event;
});
function showJan(jan) {
let getRecords = {
app: 398,
query: 'code = \"' + jan + '\" order by deliStore asc'
};
kintone.api(kintone.api.url('/k/v1/records', true), 'GET', getRecords, (resp) => {
let CDs = {
CD102: '-',
CD103: '-'
};
resp.records.forEach((record) => {
let deliStoreCD = record['deliStore'].value, zaiko = record['zaiko'].value;
let deliStore = "CD"+deliStoreCD;
if (CDs[deliStore]) CDs[deliStore] = zaiko;
});
let headerSpace = kintone.app.record.getHeaderMenuSpaceElement();
headerSpace.innerHTML = '<div id="dialog_content_1" class="dialog_content" style="display:none;">' +
'<div class="dialogModal_header">JAN:' + jan + '</div>' +
'<div class="dialogModal_content">' +
'<table border="1px">' +
'<tr><td>店舗</td><td>在庫数</td></tr>' +
'<tr><td>102 XX</td><td>' + CDs.CD102 + '</td></tr>' +
'<tr><td>103 XX</td><td>' + CDs.CD103 + '</td></tr>' +
'</table></br>' +
'</div>' +
'<div class="dialogModal_footer">' +
'<button class="btn btn-default" data-dialogmodal-but="cancel" type="button">Cancel</button>' +
'</div>' +
'</div>';
$('.dialog_content').dialogModal({
topOffset: 0,
top: '10%',
});
}, (error) => {
console.error(error);
});
};
原因をご教授いただければ幸いです。