Mercurial > kallithea
changeset 4710:e4721f7ba042
javascripts: plain javascript version q_filter without YAHOO.namespace
author | Takumi IINO <trot.thunder@gmail.com> |
---|---|
date | Sat, 29 Nov 2014 16:31:09 +0900 |
parents | 26c3e4708f58 |
children | ee2993beec85 |
files | kallithea/public/js/base.js |
diffstat | 1 files changed, 38 insertions(+), 29 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/public/js/base.js Sat Nov 29 16:25:13 2014 +0900 +++ b/kallithea/public/js/base.js Sat Nov 29 16:31:09 2014 +0900 @@ -559,43 +559,52 @@ * @param display_element function that takes current node from nodes and * does hide or show based on the node */ -var q_filter = function(target, $nodes, display_element) { - var $nodes = $nodes; - var $q_filter_field = $('#' + target); - var F = YAHOO.namespace(target); +var q_filter = (function() { + var _namespace = {}; + var namespace = function (target) { + if (!(target in _namespace)) { + _namespace[target] = {}; + } + return _namespace[target]; + }; + return function (target, $nodes, display_element) { + var $nodes = $nodes; + var $q_filter_field = $('#' + target); + var F = namespace(target); - $q_filter_field.keyup(function (e) { - clearTimeout(F.filterTimeout); - F.filterTimeout = setTimeout(F.updateFilter, 600); - }); + $q_filter_field.keyup(function (e) { + clearTimeout(F.filterTimeout); + F.filterTimeout = setTimeout(F.updateFilter, 600); + }); - F.filterTimeout = null; - - F.updateFilter = function () { - // Reset timeout F.filterTimeout = null; - var obsolete = []; + F.updateFilter = function () { + // Reset timeout + F.filterTimeout = null; - var req = $q_filter_field.val().toLowerCase(); + var obsolete = []; + + var req = $q_filter_field.val().toLowerCase(); - var showing = 0; - $nodes.each(function () { - var n = this; - var target_element = display_element(n); - if (req && n.innerHTML.toLowerCase().indexOf(req) == -1) { - $(target_element).hide(); - } - else{ - $(target_element).show(); - showing += 1; - } - }); + var showing = 0; + $nodes.each(function () { + var n = this; + var target_element = display_element(n); + if (req && n.innerHTML.toLowerCase().indexOf(req) == -1) { + $(target_element).hide(); + } + else { + $(target_element).show(); + showing += 1; + } + }); - $('#repo_count').html(showing); - /* FIXME: don't hardcode */ + $('#repo_count').html(showing); + /* FIXME: don't hardcode */ + } } -}; +})(); /* return jQuery expression with a tr with body in 3rd column and class cls and id named after the body */ var _table_tr = function(cls, body){