Refactored JS used to export Routines, Triggers and Events.

This commit is contained in:
Rouslan Placella 2011-06-01 15:27:50 +01:00
parent 15bc505431
commit 80fa502e22
6 changed files with 79 additions and 87 deletions

View File

@ -43,29 +43,4 @@ $(document).ready(function() {
}) // end $.get()
}) // end $.PMA_confirm()
}) // end Drop Event
/**
* Ajax Event handler for 'Export Event'
*
* @see $cfg['AjaxEnable']
*/
$('.export_event_anchor').live('click', function(event) {
event.preventDefault();
/**
* @var button_options Object containing options for jQueryUI dialog buttons
*/
var button_options = {};
button_options[PMA_messages['strClose']] = function() {$(this).dialog("close").remove();}
/**
* @var button_options The export SQL query to display to the user
*/
var query = $(this).parents('tr').find('.create_sql').html();
// show dialog
$('<div><textarea>'+query+'</textarea></div>').dialog({
width: 450,
buttons: button_options
}).find('textarea').width('100%');
}); // end Export Procedure
}, 'top.frame_content'); //end $(document).ready() for Drop Event

View File

@ -45,33 +45,4 @@ $(document).ready(function() {
}) // end $.PMA_confirm()
}); // end Drop Procedure
/**
* Ajax Event handler for 'Export Routine'
*
* @see $cfg['AjaxEnable']
*/
$('.export_routine_anchor').live('click', function(event) {
event.preventDefault();
var $msg = PMA_ajaxShowMessage(PMA_messages['strLoading']);
$.get($(this).attr('href'), {'ajax_request': true}, function(data) {
if(data.success == true) {
PMA_ajaxRemoveMessage($msg);
/**
* @var button_options Object containing options for jQueryUI dialog buttons
*/
var button_options = {};
button_options[PMA_messages['strClose']] = function() {$(this).dialog("close").remove();}
/**
* Display the dialog to the user
*/
$('<div>'+data.message+'</div>').dialog({
width: 450,
buttons: button_options,
title: data.title
}).find('textarea').width('100%');
} else {
PMA_ajaxShowMessage(data.error);
}
})
}); // end Export Procedure
}, 'top.frame_content'); //end $(document).ready() for Drop Procedure

View File

@ -43,29 +43,4 @@ $(document).ready(function() {
}) // end $.get()
}) // end $.PMA_confirm()
}) // end $().live()
/**
* Ajax Event handler for 'Export Trigger'
*
* @see $cfg['AjaxEnable']
*/
$('.export_trigger_anchor').live('click', function(event) {
event.preventDefault();
/**
* @var button_options Object containing options for jQueryUI dialog buttons
*/
var button_options = {};
button_options[PMA_messages['strClose']] = function() {$(this).dialog("close").remove();}
/**
* @var button_options The export SQL query to display to the user
*/
var query = $(this).parents('tr').find('.create_sql').html();
// show dialog
$('<div><textarea>'+query+'</textarea></div>').dialog({
width: 450,
buttons: button_options
}).find('textarea').width('100%');
}); // end Export Procedure
}, 'top.frame_content'); //end $(document).ready() for Drop Trigger

View File

@ -2330,3 +2330,38 @@ $(document).ready(function() {
}); // end $.PMA_confirm()
}); //end of Drop Table Ajax action
}) // end of $(document).ready() for Drop Table
/**
* Attach Ajax event handlers for Export of Routines, Triggers and Events.
*
* @uses PMA_ajaxShowMessage()
* @uses PMA_ajaxRemoveMessage()
*
* @see $cfg['AjaxEnable']
*/
$(document).ready(function() {
$('.export_routine_anchor, .export_event_anchor, .export_trigger_anchor').live('click', function(event) {
event.preventDefault();
var $msg = PMA_ajaxShowMessage(PMA_messages['strLoading']);
$.get($(this).attr('href'), {'ajax_request': true}, function(data) {
if(data.success == true) {
PMA_ajaxRemoveMessage($msg);
/**
* @var button_options Object containing options for jQueryUI dialog buttons
*/
var button_options = {};
button_options[PMA_messages['strClose']] = function() {$(this).dialog("close").remove();}
/**
* Display the dialog to the user
*/
$('<div>'+data.message+'</div>').dialog({
width: 450,
buttons: button_options,
title: data.title
}).find('textarea').width('100%');
} else {
PMA_ajaxShowMessage(data.error);
}
})
}); // end Export Procedure
}); // end of $(document).ready() for Export of Routines, Triggers and Events.

View File

@ -23,11 +23,28 @@ if ($GLOBALS['cfg']['AjaxEnable']) {
* Display the export for a event. This is for when JS is disabled.
*/
if (! empty($_GET['exportevent']) && ! empty($_GET['eventname'])) {
$event_name = htmlspecialchars(PMA_backquote($_GET['eventname']));
if ($create_event = PMA_DBI_get_definition($db, 'EVENT', $_GET['eventname'])) {
echo '<fieldset>' . "\n"
. ' <legend>' . sprintf(__('Export for event "%s"'), $_GET['eventname']) . '</legend>' . "\n"
. '<textarea cols="40" rows="15" style="width: 100%;">' . $create_event . '</textarea>' . "\n"
. '</fieldset>';
$create_event = '<textarea cols="40" rows="15" style="width: 100%;">' . $create_event . '</textarea>';
if (! empty($_REQUEST['ajax_request'])) {
$extra_data = array('title' => sprintf(__('Export of event %s'), $event_name));
PMA_ajaxResponse($create_event, true, $extra_data);
} else {
echo '<fieldset>' . "\n"
. ' <legend>' . sprintf(__('Export of event "%s"'), $event_name) . '</legend>' . "\n"
. $create_event
. '</fieldset>';
}
} else {
$response = __('Error in Processing Request') . ' : '
. sprintf(__('No event with name %s found in database %s'),
$event_name, htmlspecialchars(PMA_backquote($db)));
$response = PMA_message::error($response);
if (! empty($_REQUEST['ajax_request'])) {
PMA_ajaxResponse($response, false);
} else {
$response->display();
}
}
}

View File

@ -25,12 +25,31 @@ if ($GLOBALS['cfg']['AjaxEnable']) {
* Display the export for a trigger. This is for when JS is disabled.
*/
if (! empty($_GET['exporttrigger']) && ! empty($_GET['triggername'])) {
$success = false;
foreach ($triggers as $trigger) {
if ($trigger['name'] === $_GET['triggername']) {
echo '<fieldset>' . "\n"
. ' <legend>' . sprintf(__('Export for trigger "%s"'), $trigger['name']) . '</legend>' . "\n"
. '<textarea cols="40" rows="15" style="width: 100%;">' . $trigger['create'] . '</textarea>' . "\n"
. '</fieldset>';
$success = true;
$trigger_name = htmlspecialchars(PMA_backquote($_GET['triggername']));
$create_trig = '<textarea cols="40" rows="15" style="width: 100%;">' . $trigger['create'] . '</textarea>';
if (! empty($_REQUEST['ajax_request'])) {
$extra_data = array('title' => sprintf(__('Export of trigger %s'), $trigger_name));
PMA_ajaxResponse($create_trig, true, $extra_data);
} else {
echo '<fieldset>' . "\n"
. ' <legend>' . sprintf(__('Export of trigger "%s"'), $trigger_name) . '</legend>' . "\n"
. $create_trig
. '</fieldset>';
}
}
}
if (! $success) {
$response = __('Error in Processing Request') . ' : '
. sprintf(__('No trigger with name %s found'), $event_name);
$response = PMA_message::error($response);
if (! empty($_REQUEST['ajax_request'])) {
PMA_ajaxResponse($response, false);
} else {
$response->display();
}
}
}