-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIconsFilter.js
32 lines (28 loc) · 1.18 KB
/
IconsFilter.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$(document).ready(function() {
// Insert filter input before icons
$('.InputfieldIconAll').before('<div id="icons-filter" class="hidden"><input id="icons-filter-input" type="text" placeholder="Filter icons..."></div>');
// Toggle the filter input visibility
$('a.InputfieldIconShowAll').click(function() {
$('#icons-filter').toggleClass('hidden');
$('#icons-filter-input').val('');
// Show all icons when filter input is shown
$('.InputfieldIconAll i').parent('div').removeClass('hidden');
// Focus on the input field
if (!$('#icons-filter').hasClass('hidden')) {
$('#icons-filter-input').focus();
}
});
// Filter icons based on input value
$('.InputfieldIcon').on('keyup', '#icons-filter-input', function() {
var filterValue = $(this).val().toLowerCase();
var $icons = $('.InputfieldIconAll i');
$icons.each(function() {
var title = $(this).attr('title').toLowerCase();
if (title.indexOf(filterValue) === -1) {
$(this).addClass('hidden');
} else {
$(this).removeClass('hidden');
}
});
});
});