1var filters = {}; 2 3filters.nameSelector = 'data-filter-name'; 4filters.valueSelector = 'data-filter-value'; 5 6filters.selectedFiltersListener = function () { 7 $(document).on('click', '[' + filters.nameSelector + ']', function() { 8 var _name = $(this).attr(filters.nameSelector); 9 var _value = $(this).attr(filters.valueSelector); 10 11 if (_name && _value) { 12 filters.removeFilter(_name, _value); 13 } 14 }); 15} 16 17filters.removeFilter = function(name, value) { 18 // Actual URL parameters 19 var _urlParams = helper.getUrlParams(); 20 // New URL parameters 21 var _hrefParams = {}; 22 23 $.each(_urlParams, function(paramName, paramValues) { 24 paramName = decodeURIComponent(paramName); 25 paramValues = decodeURIComponent(paramValues); 26 27 // Actual URL parameters values 28 var _paramValues = paramValues.indexOf(',') > -1 ? paramValues.split(',') : paramValues; 29 30 var _comparisonValue = decodeURIComponent(value); 31 _hrefParams[paramName] = []; 32 if (name == paramName) { 33 if (_paramValues instanceof Array) { 34 $.each(_paramValues, function (index, val) { 35 if (val != _comparisonValue) { 36 _hrefParams[paramName].push(val); 37 } 38 }); 39 } else if (_paramValues != _comparisonValue) { 40 _hrefParams[paramName].push(_paramValues); 41 } 42 } else if (name == 'faixa' && (paramName == 'minp' || paramName == 'maxp')) { 43 return true; 44 } else { 45 if (_paramValues instanceof Array) { 46 $.each(_paramValues, function (index, val) { 47 _hrefParams[paramName].push(val); 48 }); 49 } else { 50 _hrefParams[paramName].push(_paramValues); 51 } 52 } 53 }); 54 55 var _url = window.location.origin + window.location.pathname; 56 var _urlParamsInst = ''; 57 58 var first = true; 59 $.each(_hrefParams, function (paramName, paramValues) { 60 if (paramValues.length == 0) { 61 return true; 62 } 63 var _values = paramValues.join(); 64 if (first) { 65 first = false; 66 _urlParamsInst += '?' + paramName + '=' + _values; 67 } else { 68 _urlParamsInst += '&' + paramName + '=' + _values; 69 } 70 }); 71 72 _url += _urlParamsInst; 73 helper.redirect(_url); 74} 75 76$(function(){ 77 filters.selectedFiltersListener(); 78});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.