1$(() => { 2 let $contentFilter = $('.content-filter'); 3 4 if (!$contentFilter) { 5 return; 6 } 7 8 let submitForm = function (additionalFormData = null) { 9 let $form = $contentFilter.find('form'), 10 formData = new FormData($form[0]), 11 $dropdown = $contentFilter.find('.dropdown-toggle') 12 13 if (additionalFormData) { 14 $.each(additionalFormData, function (name, value) { 15 formData.append(name, value); 16 }); 17 } 18 19 $dropdown.each(function () { 20 $(this).dropdown('hide'); 21 }); 22 23 $contentFilter.find('.content-filter__list') 24 .find('.content-filter__list-content').html(''); 25 $contentFilter.find('.content-filter__list') 26 .find('.content-filter__list-loader').removeClass('js-deactivated'); 27 28 $.ajax({ 29 type: "POST", 30 enctype: 'multipart/form-data', 31 url: $form.attr('action'), 32 data: formData, 33 processData: false, 34 contentType: false, 35 cache: false, 36 timeout: 800000, 37 success: function (data) { 38 let uri = $(data).find('.content-filter form').data('uri'); 39 40 window.history.pushState({ 41 "html": data, 42 "pageTitle": window.location.pageTitle 43 }, "", uri); 44 45 $contentFilter.find('.applied-filter-display__filters-block') 46 .html($(data).find('.applied-filter-display__filters-block').html()); 47 48 $contentFilter.find('.content-filter__list') 49 .html($(data).find('.content-filter__list').html()); 50 51 $contentFilter.find('.alphabet-filter-list') 52 .html($(data).find('.alphabet-filter-list').html()); 53 54 $contentFilter.find('.content-filter__pagination') 55 .html($(data).find('.content-filter__pagination').html()); 56 preventUppercase(); 57 }, 58 error: function (e) { 59 console.error("ERROR: ", e); 60 } 61 }); 62 }; 63 64 $contentFilter.on('click', '.alphabet-filter-list button[type="submit"]', function (e) { 65 e.preventDefault(); 66 67 let additionalFormData = {}; 68 additionalFormData[$(this).attr('name')] = $(this).attr('value'); 69 70 submitForm(additionalFormData); 71 72 return false; 73 }); 74 75 $contentFilter.on('click', '.applied-filter-display__applied-filters .link-delete', function (e) { 76 e.preventDefault(); 77 78 let selector = 'input[value="' + $(this).data('option') + '"]'; 79 $(selector).click(); 80 81 $(this).parent('li').remove(); 82 83 submitForm(); 84 85 return false; 86 }); 87 88 $contentFilter.on('submit', 'form', function (e) { 89 e.preventDefault(); 90 91 submitForm(); 92 93 return false; 94 }); 95 96 $contentFilter.on('click', 'button.content-filter__list-more', function (e) { 97 e.preventDefault(); 98 99 let additionalFormData = {}; 100 additionalFormData[$(this).attr('name')] = $(this).attr('value'); 101 102 submitForm(additionalFormData); 103 104 return false; 105 }); 106 107 $contentFilter.on('keydown', '#filter-search-input', function (e) { 108 e.stopPropagation(); 109 110 if (!(e.key === 'Enter' || e.keyCode === 13)) { 111 return; 112 } 113 114 e.preventDefault(); 115 116 submitForm(); 117 118 return false; 119 }); 120 121 $contentFilter.on('click', '.content-filter__pagination button', function (e) { 122 e.preventDefault(); 123 124 let additionalFormData = {}; 125 additionalFormData[$(this).attr('name')] = $(this).attr('value'); 126 127 submitForm(additionalFormData); 128 129 return false; 130 }); 131});
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.