summaryrefslogtreecommitdiff
path: root/hugo/js/server_status_variables.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--hugo/js/server_status_variables.js110
1 files changed, 110 insertions, 0 deletions
diff --git a/hugo/js/server_status_variables.js b/hugo/js/server_status_variables.js
new file mode 100644
index 0000000..2f67066
--- /dev/null
+++ b/hugo/js/server_status_variables.js
@@ -0,0 +1,110 @@
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ *
+ *
+ * @package PhpMyAdmin
+ */
+
+/**
+ * Unbind all event handlers before tearing down a page
+ */
+AJAX.registerTeardown('server_status_variables.js', function() {
+ $('#filterAlert').unbind('change');
+ $('#filterText').unbind('keyup');
+ $('#filterCategory').unbind('change');
+ $('#dontFormat').unbind('change');
+});
+
+AJAX.registerOnload('server_status_variables.js', function() {
+ /*** Table sort tooltip ***/
+ PMA_tooltip(
+ $('table.sortable>thead>tr:first').find('th'),
+ 'th',
+ PMA_messages['strSortHint']
+ );
+ initTableSorter('statustabs_allvars');
+
+ // Filters for status variables
+ var textFilter = null;
+ var alertFilter = $('#filterAlert').prop('checked');
+ var categoryFilter = $('#filterCategory').find(':selected').val();
+ var odd_row = false;
+ var text = ''; // Holds filter text
+
+ /* 3 Filtering functions */
+ $('#filterAlert').change(function() {
+ alertFilter = this.checked;
+ filterVariables();
+ });
+
+ $('#filterCategory').change(function() {
+ categoryFilter = $(this).val();
+ filterVariables();
+ });
+
+ $('#dontFormat').change(function() {
+ // Hiding the table while changing values speeds up the process a lot
+ $('#serverstatusvariables').hide();
+ $('#serverstatusvariables td.value span.original').toggle(this.checked);
+ $('#serverstatusvariables td.value span.formatted').toggle(! this.checked);
+ $('#serverstatusvariables').show();
+ }).trigger('change');
+
+ $('#filterText').keyup(function(e) {
+ var word = $(this).val().replace(/_/g, ' ');
+ if (word.length == 0) {
+ textFilter = null;
+ } else {
+ textFilter = new RegExp("(^| )" + word, 'i');
+ }
+ text = word;
+ filterVariables();
+ }).trigger('keyup');
+
+ /* Filters the status variables by name/category/alert in the variables tab */
+ function filterVariables() {
+ var useful_links = 0;
+ var section = text;
+
+ if (categoryFilter.length > 0) {
+ section = categoryFilter;
+ }
+
+ if (section.length > 1) {
+ $('#linkSuggestions span').each(function() {
+ if ($(this).attr('class').indexOf('status_' + section) != -1) {
+ useful_links++;
+ $(this).css('display', '');
+ } else {
+ $(this).css('display', 'none');
+ }
+ });
+ }
+
+ if (useful_links > 0) {
+ $('#linkSuggestions').css('display', '');
+ } else {
+ $('#linkSuggestions').css('display', 'none');
+ }
+
+ odd_row = false;
+ $('#serverstatusvariables th.name').each(function() {
+ if ((textFilter == null || textFilter.exec($(this).text()))
+ && (! alertFilter || $(this).next().find('span.attention').length>0)
+ && (categoryFilter.length == 0 || $(this).parent().hasClass('s_' + categoryFilter))
+ ) {
+ odd_row = ! odd_row;
+ $(this).parent().css('display', '');
+ if (odd_row) {
+ $(this).parent().addClass('odd');
+ $(this).parent().removeClass('even');
+ } else {
+ $(this).parent().addClass('even');
+ $(this).parent().removeClass('odd');
+ }
+ } else {
+ $(this).parent().css('display', 'none');
+ }
+ });
+ }
+});