diff --git a/js/src/functions.js b/js/src/functions.js index f618033982..ee563379f3 100644 --- a/js/src/functions.js +++ b/js/src/functions.js @@ -3376,6 +3376,39 @@ AJAX.registerOnload('functions.js', function () { Functions.indexDialogModal = function (routeUrl, url, title, callbackSuccess, callbackFailure) { /* Remove the hidden dialogs if there are*/ var modal = $('#indexDialogModal'); + + const indexDialogPreviewModal = document.getElementById('indexDialogPreviewModal'); + indexDialogPreviewModal.addEventListener('shown.bs.modal', () => { + const modalBody = indexDialogPreviewModal.querySelector('.modal-body'); + const $form = $('#index_frm'); + const formUrl = $form.attr('action'); + const sep = CommonParams.get('arg_separator'); + const formData = $form.serialize() + + sep + 'do_save_data=1' + + sep + 'preview_sql=1' + + sep + 'ajax_request=1'; + $.post({ + url: formUrl, + data: formData, + success: response => { + if (! response.success) { + modalBody.innerHTML = '