From 169a6680d539429dbaadae4eca44423006292e8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 21 Nov 2018 13:40:47 -0500 Subject: [PATCH] #6928 --- public/src/modules/categorySelector.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/public/src/modules/categorySelector.js b/public/src/modules/categorySelector.js index c4d6d3313c..88b505ed1b 100644 --- a/public/src/modules/categorySelector.js +++ b/public/src/modules/categorySelector.js @@ -13,6 +13,30 @@ define('categorySelector', ['benchpress', 'translator'], function (Benchpress, t categorySelector.selectCategory(categoryEl.attr('data-cid')); callback(selectedCategory); }); + + var searchEl = el.find('[component="category-selector-search"]'); + var categoryEls = el.find('.category-dropdown-menu .category'); + el.on('show.bs.dropdown', function () { + function updateList() { + var val = searchEl.find('input').val().toLowerCase(); + categoryEls.each(function () { + var liEl = $(this); + liEl.toggleClass('hidden', liEl.attr('data-name').toLowerCase().indexOf(val) === -1); + }); + } + + searchEl.removeClass('hidden').on('click', function (ev) { + ev.preventDefault(); + ev.stopPropagation(); + }); + searchEl.find('input').val('').on('keyup', updateList); + updateList(); + }); + + el.on('hide.bs.dropdown', function () { + searchEl.addClass('hidden').off('click'); + searchEl.find('input').off('keyup'); + }); }; categorySelector.getSelectedCategory = function () {