summaryrefslogtreecommitdiff
path: root/hugo/js/db_operations.js
diff options
context:
space:
mode:
authorTristan Zur <tzur@web.web.ccwn.org>2014-03-27 22:27:47 +0100
committerTristan Zur <tzur@web.web.ccwn.org>2014-03-27 22:27:47 +0100
commitb62676ca5d3d6f6ba3f019ea3f99722e165a98d8 (patch)
tree86722cb80f07d4569f90088eeaea2fc2f6e2ef94 /hugo/js/db_operations.js
Initial commit of intern.ccwn.org contentsHEADmaster
Diffstat (limited to 'hugo/js/db_operations.js')
-rw-r--r--hugo/js/db_operations.js114
1 files changed, 114 insertions, 0 deletions
diff --git a/hugo/js/db_operations.js b/hugo/js/db_operations.js
new file mode 100644
index 0000000..848f984
--- /dev/null
+++ b/hugo/js/db_operations.js
@@ -0,0 +1,114 @@
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * @fileoverview function used in server privilege pages
+ * @name Database Operations
+ *
+ * @requires jQuery
+ * @requires jQueryUI
+ * @requires js/functions.js
+ *
+ */
+
+/**
+ * Ajax event handlers here for db_operations.php
+ *
+ * Actions Ajaxified here:
+ * Rename Database
+ * Copy Database
+ * Change charset
+ */
+
+/**
+ * Unbind all event handlers before tearing down a page
+ */
+AJAX.registerTeardown('db_operations.js', function() {
+ $("#rename_db_form.ajax").die('submit');
+ $("#copy_db_form.ajax").die('submit');
+ $("#change_db_charset_form.ajax").die('submit');
+});
+
+AJAX.registerOnload('db_operations.js', function() {
+
+ /**
+ * Ajax event handlers for 'Rename Database'
+ */
+ $("#rename_db_form.ajax").live('submit', function(event) {
+ event.preventDefault();
+
+ var $form = $(this);
+
+ var question = escapeHtml('CREATE DATABASE ' + $('#new_db_name').val() + ' / DROP DATABASE ' + PMA_commonParams.get('db'));
+
+ PMA_prepareForAjaxRequest($form);
+
+ $form.PMA_confirm(question, $form.attr('action'), function(url) {
+ PMA_ajaxShowMessage(PMA_messages['strRenamingDatabases'], false);
+ $.get(url, $("#rename_db_form").serialize() + '&is_js_confirmed=1', function(data) {
+ if (data.success == true) {
+ PMA_ajaxShowMessage(data.message);
+ PMA_commonParams.set('db', data.newname);
+
+ PMA_reloadNavigation(function() {
+ $('#pma_navigation_tree')
+ .find("a:not('.expander')")
+ .each(function(index) {
+ var $thisAnchor = $(this);
+ if ($thisAnchor.text() == data.newname) {
+ // simulate a click on the new db name
+ // in navigation
+ $thisAnchor.trigger('click');
+ }
+ });
+ });
+ } else {
+ PMA_ajaxShowMessage(data.error, false);
+ }
+ }); // end $.get()
+ })
+ }); // end Rename Database
+
+ /**
+ * Ajax Event Handler for 'Copy Database'
+ */
+ $("#copy_db_form.ajax").live('submit', function(event) {
+ event.preventDefault();
+ PMA_ajaxShowMessage(PMA_messages['strCopyingDatabase'], false);
+ var $form = $(this);
+ PMA_prepareForAjaxRequest($form);
+ $.get($form.attr('action'), $form.serialize(), function(data) {
+ // use messages that stay on screen
+ $('div.success, div.error').fadeOut();
+ if (data.success == true) {
+ PMA_commonParams.set('db', data.newname);
+ if ( $("#checkbox_switch").is(":checked")) {
+ PMA_commonParams.set('db', data.newname);
+ PMA_commonActions.refreshMain(false, function () {
+ PMA_ajaxShowMessage(data.message);
+ });
+ } else {
+ PMA_ajaxShowMessage(data.message);
+ }
+ PMA_reloadNavigation();
+ } else {
+ PMA_ajaxShowMessage(data.error, false);
+ }
+ }); // end $.get
+ }); // end copy database
+
+ /**
+ * Ajax Event handler for 'Change Charset' of the database
+ */
+ $("#change_db_charset_form.ajax").live('submit', function(event) {
+ event.preventDefault();
+ var $form = $(this);
+ PMA_prepareForAjaxRequest($form);
+ PMA_ajaxShowMessage(PMA_messages['strChangingCharset']);
+ $.get($form.attr('action'), $form.serialize() + "&submitcollation=1", function(data) {
+ if (data.success == true) {
+ PMA_ajaxShowMessage(data.message);
+ } else {
+ PMA_ajaxShowMessage(data.error, false);
+ }
+ }); // end $.get()
+ }); // end change charset
+});