aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/js/replication.js
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-01-09 10:55:03 +0100
committerCharles <sircharlesaze@gmail.com>2020-01-09 13:09:38 +0100
commit04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa (patch)
tree5c691241355c943a3c68ddb06b8cf8c60aa11319 /srcs/phpmyadmin/js/replication.js
parent7e0d85db834d6351ed85d01e5126ac31dc510b86 (diff)
downloadft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.gz
ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.bz2
ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.zip
phpmyadmin working
Diffstat (limited to 'srcs/phpmyadmin/js/replication.js')
-rw-r--r--srcs/phpmyadmin/js/replication.js96
1 files changed, 96 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/js/replication.js b/srcs/phpmyadmin/js/replication.js
new file mode 100644
index 0000000..be25b57
--- /dev/null
+++ b/srcs/phpmyadmin/js/replication.js
@@ -0,0 +1,96 @@
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * @fileoverview Javascript functions used in server replication page
+ * @name Server Replication
+ *
+ * @requires jQuery
+ * @requires jQueryUI
+ * @requires js/functions.js
+ */
+
+var randomServerId = Math.floor(Math.random() * 10000000);
+var confPrefix = 'server-id=' + randomServerId + '\nlog_bin=mysql-bin\nlog_error=mysql-bin.err\n';
+
+function updateConfig () {
+ var confIgnore = 'binlog_ignore_db=';
+ var confDo = 'binlog_do_db=';
+ var databaseList = '';
+
+ if ($('#db_select option:selected').length === 0) {
+ $('#rep').text(confPrefix);
+ } else if ($('#db_type option:selected').val() === 'all') {
+ $('#db_select option:selected').each(function () {
+ databaseList += confIgnore + $(this).val() + '\n';
+ });
+ $('#rep').text(confPrefix + databaseList);
+ } else {
+ $('#db_select option:selected').each(function () {
+ databaseList += confDo + $(this).val() + '\n';
+ });
+ $('#rep').text(confPrefix + databaseList);
+ }
+}
+
+/**
+ * Unbind all event handlers before tearing down a page
+ */
+AJAX.registerTeardown('replication.js', function () {
+ $('#db_type').off('change');
+ $('#db_select').off('change');
+ $('#master_status_href').off('click');
+ $('#master_slaves_href').off('click');
+ $('#slave_status_href').off('click');
+ $('#slave_control_href').off('click');
+ $('#slave_errormanagement_href').off('click');
+ $('#slave_synchronization_href').off('click');
+ $('#db_reset_href').off('click');
+ $('#db_select_href').off('click');
+ $('#reset_slave').off('click');
+});
+
+AJAX.registerOnload('replication.js', function () {
+ $('#rep').text(confPrefix);
+ $('#db_type').on('change', updateConfig);
+ $('#db_select').on('change', updateConfig);
+
+ $('#master_status_href').on('click', function () {
+ $('#replication_master_section').toggle();
+ });
+ $('#master_slaves_href').on('click', function () {
+ $('#replication_slaves_section').toggle();
+ });
+ $('#slave_status_href').on('click', function () {
+ $('#replication_slave_section').toggle();
+ });
+ $('#slave_control_href').on('click', function () {
+ $('#slave_control_gui').toggle();
+ });
+ $('#slave_errormanagement_href').on('click', function () {
+ $('#slave_errormanagement_gui').toggle();
+ });
+ $('#slave_synchronization_href').on('click', function () {
+ $('#slave_synchronization_gui').toggle();
+ });
+ $('#db_reset_href').on('click', function () {
+ $('#db_select option:selected').prop('selected', false);
+ $('#db_select').trigger('change');
+ });
+ $('#db_select_href').on('click', function () {
+ $('#db_select option').prop('selected', true);
+ $('#db_select').trigger('change');
+ });
+ $('#reset_slave').on('click', function (e) {
+ e.preventDefault();
+ var $anchor = $(this);
+ var question = Messages.strResetSlaveWarning;
+ $anchor.confirm(question, $anchor.attr('href'), function (url) {
+ Functions.ajaxShowMessage();
+ AJAX.source = $anchor;
+ var params = Functions.getJsConfirmCommonParam({
+ 'ajax_page_request': true,
+ 'ajax_request': true
+ }, $anchor.getPostData());
+ $.post(url, params, AJAX.responseHandler);
+ });
+ });
+});