//データセット名
var dbCacheName = 'DataSet1';
//現在のフィールド値の置き換えに使用されるデータセットのフィールド
var fieldNameInCache = 'Field2';
var self = this;
var styles = {
display: 'block',
position: 'absolute',
top: '0px',
bottom: '0px',
left: '0px',
right: '0px',
width: '100%',
height: '100%',
border: '0',
overflow: 'hidden',
'overflow-x': 'hidden',
'overflow-y': 'hidden',
'z-index': '10000'
}
var newValueToInsert = '';
// iframeスタイルを設定
setStyles(
styles,
function() {
//ダイアログマークアップ
var windowMarkup = "<div class='frame'><div class='searchField'><input id='searchValue' /><button id='searchButton'>Search</button></div><div id='recordspanel'><table id='resultspreview'></table><div id='norecord'>No records found</div></div><div class='buttonsfield'><button id='confirm'>Ok</button><button id='cancel'>Cancel</button></div></div>";
//ダイアログスタイル
var css = "<style>body{width:100vw;height:100vh;background:rgba(0,0,0,0.1);margin:0;padding:0;display:flex;align-items:center;justify-content:center;}.frame{width:400px;max-height:80vh;background:white;min-height:200px;padding:50px;}#norecord{display:none;}#searchValue{width:calc(100% - 60px);}#cancel{margin-left:20px;}.buttonsfield{display:flex;justify-content:flex-end;height:25px;}.bolded{font-weight:bold;}button{width:60px;}#confirm{display:none;}#recordspanel{min-height:145px;padding: 10px 0;}#searchfield{height:30px;}</style>";
//スタイルを設定
$('head').append(css);
//iframeにDOMを作成
$("body").append(windowMarkup);
// 検索ボタンクリック
$('#searchButton').click(function () {
//辞書を検索
getDict(
{
cacheName: dbCacheName, //データセット名
filters: [{ FieldName: "", FieldValue: $('#searchValue').val() }] //検索するフィールド
},
function (result) {
//データセットから行を記録
var records = result.detail.result;
//最初の行の記述
var firstRecord = records[0];
//「表」と「OK」を非表示
if (!firstRecord && !firstRecord.BoldMask){
$('#resultspreview').hide();
$('#norecord').show();
$('#confirm').hide();
} else {
$('#resultspreview').show();
$('#confirm').show();
$('#norecord').hide();
$('#resultspreview').html('');
firstRecord.forEach(function (recordData) {
if (fieldNameInCache === recordData.FieldName) {
newValueToInsert = recordData.FieldValue;
}
$('#resultspreview')
.append('<tr class="' +
(fieldNameInCache === recordData.FieldName ? 'bolded' : '') +
'"><td>' +
recordData.FieldName +
'</td><td>' +
recordData.FieldValue +
'</td></tr>');
});
}
});
});
//「OK」ボタンクリック
$('#confirm').click(function () {
if (newValueToInsert) {
//現在のフィールドに値を設定
setCurrentFieldValue(newValueToInsert);
//iframeを保存して閉じる
save();
}
});
//「キャンセル」ボタンクリック
$('#cancel').click(function () {
cancel();
});
});