aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/js/server/status/variables.js
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-01-09 10:55:03 +0100
committerCharles <sircharlesaze@gmail.com>2020-01-09 13:09:38 +0100
commit04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa (patch)
tree5c691241355c943a3c68ddb06b8cf8c60aa11319 /srcs/phpmyadmin/js/server/status/variables.js
parent7e0d85db834d6351ed85d01e5126ac31dc510b86 (diff)
downloadft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.gz
ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.bz2
ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.zip
phpmyadmin working
Diffstat (limited to 'srcs/phpmyadmin/js/server/status/variables.js')
-rw-r--r--srcs/phpmyadmin/js/server/status/variables.js100
1 files changed, 100 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/js/server/status/variables.js b/srcs/phpmyadmin/js/server/status/variables.js
new file mode 100644
index 0000000..441aeeb
--- /dev/null
+++ b/srcs/phpmyadmin/js/server/status/variables.js
@@ -0,0 +1,100 @@
+/* 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').off('change');
+ $('#filterText').off('keyup');
+ $('#filterCategory').off('change');
+ $('#dontFormat').off('change');
+});
+
+AJAX.registerOnload('server/status/variables.js', function () {
+ // Filters for status variables
+ var textFilter = null;
+ var alertFilter = $('#filterAlert').prop('checked');
+ var categoryFilter = $('#filterCategory').find(':selected').val();
+ var text = ''; // Holds filter text
+
+ /* 3 Filtering functions */
+ $('#filterAlert').on('change', function () {
+ alertFilter = this.checked;
+ filterVariables();
+ });
+
+ $('#filterCategory').on('change', function () {
+ categoryFilter = $(this).val();
+ filterVariables();
+ });
+
+ $('#dontFormat').on('change', function () {
+ // Hiding the table while changing values speeds up the process a lot
+ $('#serverstatusvariables').hide();
+ $('#serverstatusvariables').find('td.value span.original').toggle(this.checked);
+ $('#serverstatusvariables').find('td.value span.formatted').toggle(! this.checked);
+ $('#serverstatusvariables').show();
+ }).trigger('change');
+
+ $('#filterText').on('keyup', function () {
+ var word = $(this).val().replace(/_/g, ' ');
+ if (word.length === 0) {
+ textFilter = null;
+ } else {
+ try {
+ textFilter = new RegExp('(^| )' + word, 'i');
+ $(this).removeClass('error');
+ } catch (e) {
+ if (e instanceof SyntaxError) {
+ $(this).addClass('error');
+ textFilter = null;
+ }
+ }
+ }
+ text = word;
+ filterVariables();
+ }).trigger('keyup');
+
+ /* Filters the status variables by name/category/alert in the variables tab */
+ function filterVariables () {
+ var usefulLinks = 0;
+ var section = text;
+
+ if (categoryFilter.length > 0) {
+ section = categoryFilter;
+ }
+
+ if (section.length > 1) {
+ $('#linkSuggestions').find('span').each(function () {
+ if ($(this).attr('class').indexOf('status_' + section) !== -1) {
+ usefulLinks++;
+ $(this).css('display', '');
+ } else {
+ $(this).css('display', 'none');
+ }
+ });
+ }
+
+ if (usefulLinks > 0) {
+ $('#linkSuggestions').css('display', '');
+ } else {
+ $('#linkSuggestions').css('display', 'none');
+ }
+
+ $('#serverstatusvariables').find('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))
+ ) {
+ $(this).parent().css('display', '');
+ } else {
+ $(this).parent().css('display', 'none');
+ }
+ });
+ }
+});