pushコードで追加した行に対し、数値フィールド入力時にスマホではテンキーが自動で表示されるようにしたいです。
現在、pushコードで追加された行については、スマホでテンキーが表示されません。(文字列が表示される)
(function () {
"use strict";
const table = '運行記録TBL';
const events = [
'app.record.create.change.コピー',
'app.record.edit.change.コピー',
'mobile.app.record.create.change.コピー',
'mobile.app.record.edit.change.コピー'
];
kintone.events.on(events, function(event) {
const record = event.record;
if (event.changes.field.value.length !== 0) { //コピーボックスの値が0でなかったら(チェックが付いたら)
event.changes.row.value.コピー.value = ['✓']; //コピー元のチェックボックス✓を付ける
const originData = JSON.parse(JSON.stringify(event.changes.row.value)); //コピー元のデータを一度文字列に変換する
Object.keys(originData).forEach((code) => { //値がない場合はvalue情報を空文字で作成
if(!originData[code].value){
originData[code].value = "";
}
});
const addRowData = { "value": originData }; //コピーを挿入するテーブル行のデータを作成
//以下、コピー後に値を空にする
addRowData.value.コピー.value = [];
addRowData.value.重量.value = "";
var newRow = event.record[table]['value'].push(addRowData); //指定された行のデータをeventオブジェクトの既存テーブル最下行に挿入
return event;
}
return event;
});
})();
また、以下のスクリプトを実装済みですが、push して行を追加したときに、イベントが発生していないのではないかと思われます。
jQuery.noConflict();
(function($) {
"use strict";
kintone.events.on([
"mobile.app.record.edit.show",
"mobile.app.record.create.show",
"mobile.app.record.create.change.運行記録TBL",
"mobile.app.record.edit.change.運行記録TBL",
"mobile.app.record.edit.change.コピー",
"mobile.app.record.create.change.コピー",
"mobile.app.record.create.submit",
"mobile.app.record.create.submit.success"
],
function(event) {
$('.gaia-ui-decimal-input-input input').attr('type', 'number');
return event;
});
})(jQuery);