2 * @fileoverview Javascript functions used in server replication page
3 * @name Server Replication
7 * @requires js/functions.js
10 var randomServerId = Math.floor(Math.random() * 10000000);
11 var confPrefix = 'server-id=' + randomServerId + '\nlog_bin=mysql-bin\nlog_error=mysql-bin.err\n';
13 function updateConfig () {
14 var confIgnore = 'binlog_ignore_db=';
15 var confDo = 'binlog_do_db=';
16 var databaseList = '';
18 if ($('#db_select option:selected').length === 0) {
19 $('#rep').text(confPrefix);
20 } else if ($('#db_type option:selected').val() === 'all') {
21 $('#db_select option:selected').each(function () {
22 databaseList += confIgnore + $(this).val() + '\n';
24 $('#rep').text(confPrefix + databaseList);
26 $('#db_select option:selected').each(function () {
27 databaseList += confDo + $(this).val() + '\n';
29 $('#rep').text(confPrefix + databaseList);
34 * Unbind all event handlers before tearing down a page
36 AJAX.registerTeardown('replication.js', function () {
37 $('#db_type').off('change');
38 $('#db_select').off('change');
39 $('#master_status_href').off('click');
40 $('#master_slaves_href').off('click');
41 $('#slave_status_href').off('click');
42 $('#slave_control_href').off('click');
43 $('#slave_errormanagement_href').off('click');
44 $('#slave_synchronization_href').off('click');
45 $('#db_reset_href').off('click');
46 $('#db_select_href').off('click');
47 $('#reset_slave').off('click');
50 AJAX.registerOnload('replication.js', function () {
51 $('#rep').text(confPrefix);
52 $('#db_type').on('change', updateConfig);
53 $('#db_select').on('change', updateConfig);
55 $('#master_status_href').on('click', function () {
56 $('#replication_master_section').toggle();
58 $('#master_slaves_href').on('click', function () {
59 $('#replication_slaves_section').toggle();
61 $('#slave_status_href').on('click', function () {
62 $('#replication_slave_section').toggle();
64 $('#slave_control_href').on('click', function () {
65 $('#slave_control_gui').toggle();
67 $('#slave_errormanagement_href').on('click', function () {
68 $('#slave_errormanagement_gui').toggle();
70 $('#slave_synchronization_href').on('click', function () {
71 $('#slave_synchronization_gui').toggle();
73 $('#db_reset_href').on('click', function () {
74 $('#db_select option:selected').prop('selected', false);
75 $('#db_select').trigger('change');
77 $('#db_select_href').on('click', function () {
78 $('#db_select option').prop('selected', true);
79 $('#db_select').trigger('change');
81 $('#reset_slave').on('click', function (e) {
83 var $anchor = $(this);
84 var question = Messages.strResetSlaveWarning;
85 $anchor.confirm(question, $anchor.attr('href'), function (url) {
86 Functions.ajaxShowMessage();
87 AJAX.source = $anchor;
88 var params = Functions.getJsConfirmCommonParam({
89 'ajax_page_request': true,
91 }, $anchor.getPostData());
92 $.post(url, params, AJAX.responseHandler);