Server IP : 85.214.239.14 / Your IP : 18.189.143.236 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /var/www/wordpress/phpMyAdmin/js/vendor/jquery/ |
Upload File : |
/* * Copyright (c) 2008 Greg Weber greg at gregweber.info * Dual licensed under the MIT and GPLv2 licenses just as jQuery is: * http://jquery.org/license * * Multi-columns fork by natinusala * * documentation at http://gregweber.info/projects/uitablefilter * https://github.com/natinusala/jquery-uitablefilter * * allows table rows to be filtered (made invisible) * <code> * t = $('table') * $.uiTableFilter( t, phrase ) * </code> * arguments: * jQuery object containing table rows * phrase to search for * optional arguments: * array of columns to limit search too (the column title in the table header) * ifHidden - callback to execute if one or more elements was hidden * tdElem - specific element within <td> to be considered for searching or to limit search to, * default:whole <td>. useful if <td> has more than one elements inside but want to * limit search within only some of elements or only visible elements. eg tdElem can be "td span" */ (function($) { $.uiTableFilter = function(jq, phrase, column, ifHidden, tdElem){ if(!tdElem) tdElem = "td"; var new_hidden = false; if( this.last_phrase === phrase ) return false; var phrase_length = phrase.length; var words = phrase.toLowerCase().split(" "); // these function pointers may change var matches = function(elem) { elem.show() } var noMatch = function(elem) { elem.hide(); new_hidden = true } var getText = function(elem) { return elem.text() } if( column ) { if (!$.isArray(column)) { column = new Array(column); } var index = new Array(); jq.find("thead > tr:last > th").each(function(i) { for (var j = 0; j < column.length; j++) { if ($.trim($(this).text()) == column[j]) { index[j] = i; break; } } }); getText = function(elem) { var selector = ""; for (var i = 0; i < index.length; i++) { if (i != 0) {selector += ",";} selector += tdElem + ":eq(" + index[i] + ")"; } return $(elem.find((selector))).text(); } } // if added one letter to last time, // just check newest word and only need to hide if( (words.size > 1) && (phrase.substr(0, phrase_length - 1) === this.last_phrase) ) { if( phrase[-1] === " " ) { this.last_phrase = phrase; return false; } var words = words[-1]; // just search for the newest word // only hide visible rows matches = function(elem) {;} var elems = jq.find("tbody:first > tr:visible") } else { new_hidden = true; var elems = jq.find("tbody:first > tr") } elems.each(function(){ var elem = $(this); $.uiTableFilter.has_words( getText(elem), words, false ) ? matches(elem) : noMatch(elem); }); last_phrase = phrase; if( ifHidden && new_hidden ) ifHidden(); return jq; }; // caching for speedup $.uiTableFilter.last_phrase = "" // not jQuery dependent // "" [""] -> Boolean // "" [""] Boolean -> Boolean $.uiTableFilter.has_words = function( str, words, caseSensitive ) { var text = caseSensitive ? str : str.toLowerCase(); for (var i=0; i < words.length; i++) { if (text.indexOf(words[i]) === -1) return false; } return true; } }) (jQuery);