Welcome to mirror list, hosted at ThFree Co, Russian Federation.

replication.js « src « js - github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: a5be3886f2543a7a8fa7e7a2ee3c52b638edb6c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/* vim: set expandtab sw=4 ts=4 sts=4: */

/* Module Import */
import { PMA_messages as PMA_messages } from './variables/export_variables';
import { PMA_ajaxShowMessage } from './utils/show_ajax_messages';
import { AJAX } from './ajax';

/**
 * for server_replication.php
 */
var random_server_id = Math.floor(Math.random() * 10000000);
var conf_prefix = 'server-id=' + random_server_id + '\nlog_bin=mysql-bin\nlog_error=mysql-bin.err\n';

function update_config () {
    var conf_ignore = 'binlog_ignore_db=';
    var conf_do = 'binlog_do_db=';
    var database_list = '';

    if ($('#db_select option:selected').size() === 0) {
        $('#rep').text(conf_prefix);
    } else if ($('#db_type option:selected').val() === 'all') {
        $('#db_select option:selected').each(function () {
            database_list += conf_ignore + $(this).val() + '\n';
        });
        $('#rep').text(conf_prefix + database_list);
    } else {
        $('#db_select option:selected').each(function () {
            database_list += conf_do + $(this).val() + '\n';
        });
        $('#rep').text(conf_prefix + database_list);
    }
}

/**
 * Unbind all event handlers before tearing down a page
 */
export function teardownReplication () {
    $('#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');
}

export function onloadReplication () {
    $('#rep').text(conf_prefix);
    $('#db_type').on('change', update_config);
    $('#db_select').on('change', update_config);

    $('#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 = PMA_messages.strResetSlaveWarning;
        $anchor.PMA_confirm(question, $anchor.attr('href'), function (url) {
            PMA_ajaxShowMessage();
            AJAX.source = $anchor;
            var params = {
                'ajax_page_request': true,
                'ajax_request': true,
            };
            $.post(url, params, AJAX.responseHandler);
        });
    });
}