1 /* vim: set expandtab sw=4 ts=4 sts=4: */
3 * @fileoverview Javascript functions used in server replication page
4 * @name Server Replication
8 * @requires js/functions.js
11 var randomServerId = Math.floor(Math.random() * 10000000);
12 var confPrefix = 'server-id=' + randomServerId + '\nlog_bin=mysql-bin\nlog_error=mysql-bin.err\n';
14 function updateConfig () {
15 var confIgnore = 'binlog_ignore_db=';
16 var confDo = 'binlog_do_db=';
17 var databaseList = '';
19 if ($('#db_select option:selected').length === 0) {
20 $('#rep').text(confPrefix);
21 } else if ($('#db_type option:selected').val() === 'all') {
22 $('#db_select option:selected').each(function () {
23 databaseList += confIgnore + $(this).val() + '\n';
25 $('#rep').text(confPrefix + databaseList);
27 $('#db_select option:selected').each(function () {
28 databaseList += confDo + $(this).val() + '\n';
30 $('#rep').text(confPrefix + databaseList);
35 * Unbind all event handlers before tearing down a page
37 AJAX.registerTeardown('replication.js', function () {
38 $('#db_type').off('change');
39 $('#db_select').off('change');
40 $('#master_status_href').off('click');
41 $('#master_slaves_href').off('click');
42 $('#slave_status_href').off('click');
43 $('#slave_control_href').off('click');
44 $('#slave_errormanagement_href').off('click');
45 $('#slave_synchronization_href').off('click');
46 $('#db_reset_href').off('click');
47 $('#db_select_href').off('click');
48 $('#reset_slave').off('click');
51 AJAX.registerOnload('replication.js', function () {
52 $('#rep').text(confPrefix);
53 $('#db_type').on('change', updateConfig);
54 $('#db_select').on('change', updateConfig);
56 $('#master_status_href').on('click', function () {
57 $('#replication_master_section').toggle();
59 $('#master_slaves_href').on('click', function () {
60 $('#replication_slaves_section').toggle();
62 $('#slave_status_href').on('click', function () {
63 $('#replication_slave_section').toggle();
65 $('#slave_control_href').on('click', function () {
66 $('#slave_control_gui').toggle();
68 $('#slave_errormanagement_href').on('click', function () {
69 $('#slave_errormanagement_gui').toggle();
71 $('#slave_synchronization_href').on('click', function () {
72 $('#slave_synchronization_gui').toggle();
74 $('#db_reset_href').on('click', function () {
75 $('#db_select option:selected').prop('selected', false);
76 $('#db_select').trigger('change');
78 $('#db_select_href').on('click', function () {
79 $('#db_select option').prop('selected', true);
80 $('#db_select').trigger('change');
82 $('#reset_slave').on('click', function (e) {
84 var $anchor = $(this);
85 var question = Messages.strResetSlaveWarning;
86 $anchor.confirm(question, $anchor.attr('href'), function (url) {
87 Functions.ajaxShowMessage();
88 AJAX.source = $anchor;
89 var params = Functions.getJsConfirmCommonParam({
90 'ajax_page_request': true,
92 }, $anchor.getPostData());
93 $.post(url, params, AJAX.responseHandler);