import $ from 'jquery'; import { AJAX } from './modules/ajax.ts'; import { suggestPassword } from './modules/functions.ts'; import { ajaxShowMessage } from './modules/ajax-message.ts'; import getJsConfirmCommonParam from './modules/functions/getJsConfirmCommonParam.ts'; /** * @fileoverview Javascript functions used in server replication page * @name Server Replication * * @requires jQueryUI */ const randomServerId = Math.floor(Math.random() * 10000000); const confPrefix = 'server-id=' + randomServerId + '\nlog_bin=mysql-bin\nlog_error=mysql-bin.err\n'; function updateConfig () { const confIgnore = 'binlog_ignore_db='; const confDo = 'binlog_do_db='; let 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'); $('#primary_status_href').off('click'); $('#primary_replicas_href').off('click'); $('#replica_status_href').off('click'); $('#replica_control_href').off('click'); $('#replica_errormanagement_href').off('click'); $('#replica_synchronization_href').off('click'); $('#db_reset_href').off('click'); $('#db_select_href').off('click'); $('#reset_replica').off('click'); }); AJAX.registerOnload('replication.js', function () { $('#rep').text(confPrefix); $('#db_type').on('change', updateConfig); $('#db_select').on('change', updateConfig); $('#primary_status_href').on('click', function () { $('#replication_primary_section').toggle(); }); $('#primary_replicas_href').on('click', function () { $('#replication_replicas_section').toggle(); }); $('#replica_status_href').on('click', function () { $('#replication_replica_section').toggle(); }); $('#replica_control_href').on('click', function () { $('#replica_control_gui').toggle(); }); $('#replica_errormanagement_href').on('click', function () { $('#replica_errormanagement_gui').toggle(); }); $('#replica_synchronization_href').on('click', function () { $('#replica_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_replica').on('click', function (e) { e.preventDefault(); const $anchor = $(this); const question = window.Messages.strResetReplicaWarning; $anchor.confirm(question, $anchor.attr('href'), function (url) { ajaxShowMessage(); AJAX.source = $anchor; const params = getJsConfirmCommonParam({ 'ajax_page_request': true, }, $anchor.getPostData()); $.post(url, params, AJAX.responseHandler); }); }); ($('#button_generate_password') as JQuery).on('click', function () { suggestPassword(this.form); }); ($('#nopass_1') as JQuery).on('click', function () { this.form.pma_pw.value = ''; this.form.pma_pw2.value = ''; this.checked = true; }); $('#nopass_0').on('click', function () { document.getElementById('text_pma_change_pw').focus(); }); });