in content/resources/js/index.js [45:117]
function filterExamples($button) {
// resetting filter by text input
$('#searchbox').val('');
// selecting the clicked button
if ($button.selected) {
$button.value = $button.value.substring(0, $button.value.length - close.length);
for (var i = 0; i < selectedClasses.length; i++) {
if (selectedClasses[i] == $($button).attr('api')) {
selectedClasses.splice(i, 1);
correspondingExamples.splice(i, 1);
break;
}
}
} else {
$button.value = $button.value.concat(close);
selectedClasses.push($($button).attr('api'));
correspondingExamples.push($($button).attr('class'));
}
$button.selected = !$button.selected;
// refreshing
var filteringForExamples = ''; // for examples
if (selectedClasses.length > 0) {
filteringForExamples = '.'.concat(selectedClasses.join('.'));
}
var filteringForButtons = ''; // for buttons
if (correspondingExamples.length > 0) {
for (var i = 0; i < correspondingExamples.length; i++) {
filteringForButtons = filteringForButtons.concat(' ').concat(correspondingExamples[i]);
}
var examplesForButtons = $.unique(filteringForButtons.split(' '));
filteringForButtons = '.'.concat(examplesForButtons.join('.'));
}
// filtering examples
$('div#examples').find('li' + filteringForExamples).show('fast');
if (selectedClasses.length > 0) {
$('div#examples').find('li:not(' + filteringForExamples + ').example').hide();
}
// filtering buttons (apis)
if (correspondingExamples.length > 0) {
var examples = new Array();
$('div#examples').find('li' + filteringForExamples).each(function(i, val) {
examples.push($(val).attr('example'));
});
examples = filterArray(examples);
$('div#checkboxes-check > ul > li > input[type=button].button').hide();
for (var i = 0; i < examples.length; i++) {
$('li[example="' + examples[i].substring(examples[i].lastIndexOf('_') + 1, examples[i].length) + '"]').each(function(i, val) {
$buttons = $(val).attr('class');
$buttons = $buttons.substring('example '.length, $buttons.length);
$buttonsArray = $buttons.split(' ');
for (var b = 0; b < $buttonsArray.length; b++) {
if (shouldIHideIt(examples, $buttonsArray[b]) && selectedClasses.indexOf($buttonsArray[b]) == -1) {
$('input[api="' + $buttonsArray[b] + '"]').hide();
} else {
$('input[api="' + $buttonsArray[b] + '"]').show('fast');
}
}
});
}
$('#api-info').show();
$('#api-info').text(examples.length + ' examples are matching');
} else {
$('div#checkboxes-check > ul > li > input[type=button].button').show('fast');
$('#api-info').hide();
}
}