summaryrefslogtreecommitdiff
path: root/hugo/js/replication.js
diff options
context:
space:
mode:
Diffstat (limited to 'hugo/js/replication.js')
-rw-r--r--hugo/js/replication.js72
1 files changed, 72 insertions, 0 deletions
diff --git a/hugo/js/replication.js b/hugo/js/replication.js
new file mode 100644
index 0000000..8c09de4
--- /dev/null
+++ b/hugo/js/replication.js
@@ -0,0 +1,72 @@
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * 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
+ */
+AJAX.registerTeardown('replication.js', function() {
+ $('#db_type').unbind('change');
+ $('#db_select').unbind('change');
+ $('#master_status_href').unbind('click');
+ $('#master_slaves_href').unbind('click');
+ $('#slave_status_href').unbind('click');
+ $('#slave_control_href').unbind('click');
+ $('#slave_errormanagement_href').unbind('click');
+ $('#slave_synchronization_href').unbind('click');
+ $('#db_reset_href').unbind('click');
+});
+
+AJAX.registerOnload('replication.js', function() {
+ $('#rep').text(conf_prefix);
+ $('#db_type').change(update_config);
+ $('#db_select').change(update_config);
+
+ $('#master_status_href').click(function() {
+ $('#replication_master_section').toggle();
+ });
+ $('#master_slaves_href').click(function() {
+ $('#replication_slaves_section').toggle();
+ });
+ $('#slave_status_href').click(function() {
+ $('#replication_slave_section').toggle();
+ });
+ $('#slave_control_href').click(function() {
+ $('#slave_control_gui').toggle();
+ });
+ $('#slave_errormanagement_href').click(function() {
+ $('#slave_errormanagement_gui').toggle();
+ });
+ $('#slave_synchronization_href').click(function() {
+ $('#slave_synchronization_gui').toggle();
+ });
+ $('#db_reset_href').click(function() {
+ $('#db_select option:selected').prop('selected', false);
+ });
+});