Add prepare_ajax_request and preview_sql to modular code.

Signed-Off-By: Piyush Vijay <piyushvijay.1997@gmail.com>
This commit is contained in:
Piyush Vijay 2018-07-27 18:21:14 +05:30
parent f2cc2344d5
commit eae0c753bb
2 changed files with 65 additions and 0 deletions

View File

@ -0,0 +1,11 @@
/**
* Add a hidden field to the form to indicate that this will be an
* Ajax request (only if this hidden field does not exist)
*
* @param $form object the form
*/
export function PMA_prepareForAjaxRequest ($form) {
if (! $form.find('input:hidden').is('#ajax_request_hidden')) {
$form.append('<input type="hidden" id="ajax_request_hidden" name="ajax_request" value="true" />');
}
}

View File

@ -0,0 +1,54 @@
import { PMA_Messages as PMA_messages } from '../../variables/export_variables';
import PMA_commonParams from '../../variables/common_params';
import { PMA_ajaxShowMessage, PMA_ajaxRemoveMessage } from '../../utils/show_ajax_messages';
/**
* Requests SQL for previewing before executing.
*
* @param jQuery Object $form Form containing query data
*
* @return void
*/
export function PMA_previewSQL ($form) {
var form_url = $form.attr('action');
var sep = PMA_commonParams.get('arg_separator');
var form_data = $form.serialize() +
sep + 'do_save_data=1' +
sep + 'preview_sql=1' +
sep + 'ajax_request=1';
var $msgbox = PMA_ajaxShowMessage();
$.ajax({
type: 'POST',
url: form_url,
data: form_data,
success: function (response) {
PMA_ajaxRemoveMessage($msgbox);
if (response.success) {
var $dialog_content = $('<div/>')
.append(response.sql_data);
var button_options = {};
button_options[PMA_messages.strClose] = function () {
$(this).dialog('close');
};
var $response_dialog = $dialog_content.dialog({
minWidth: 550,
maxHeight: 400,
modal: true,
buttons: button_options,
title: PMA_messages.strPreviewSQL,
close: function () {
$(this).remove();
},
open: function () {
// Pretty SQL printing.
PMA_highlightSQL($(this));
}
});
} else {
PMA_ajaxShowMessage(response.message);
}
},
error: function () {
PMA_ajaxShowMessage(PMA_messages.strErrorProcessingRequest);
}
});
}