//DataSet Name
var dbCacheName = 'DataSet1';
//Champ du jeu de données, utilisé pour remplacer la valeur de champ actuelle
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 = '';
// Définit les styles de iFrame
self.executeAsync("setStyles",
styles,
function() {
//Balisage du dialogue
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>";
//Styles de dialogue
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>";
//Styles du jeu
$('head').append(css);
//Crée le domaine dans iFrame
$("body").append(windowMarkup);
// Clic sur le bouton de recherche
$('#searchButton').click(function () {
//Consulter le dictionnaire
self.executeAsync("getDict",
{
cacheName: dbCacheName, //dataset name
filters: [{ FieldName: "", FieldValue: $('#searchValue').val() }] //champs à rechercher
},
function (result) {
//Enregistre les lignes du jeu de données
var records = result.detail.result;
//Description de la première ligne
var firstRecord = records[0];
//masquer le 'tableau' et le bouton 'ok' si aucun résultat n'est trouvé
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>');
});
}
});
});
//Clic sur le bouton 'ok'
$('#confirm').click(function () {
if (newValueToInsert) {
//Définir la valeur sur le champ actuel
setCurrentFieldValue(newValueToInsert);
//Enregistrer et fermer iFrame
save();
}
});
//Clic sur le bouton 'annuler'
$('#cancel').click(function () {
cancel();
});
});