1(function ($, drupalSettings, DOMPurify) { 2 'use strict'; 3 var page = 6; 4 var ajax_page = 0; 5 var form; 6 var filter_trigger; 7 var view_id = ''; 8 var view_path = ''; 9 $(document).ready(function () { 10 page = drupalSettings.load_more; 11 filter_trigger = drupalSettings.filter_trigger; 12 view_id = drupalSettings.view_id; 13 view_path = drupalSettings.view_path; 14 form = $(".views-exposed-form"); 15 16 setTimeout(function () { 17 if ($('.card-item').length > 0) { 18 page = parseInt($('.review-more-btn').attr('data-count')); 19 $(".card-item:lt(" + page + ")").fadeIn(); 20 if (page >= $('.card-item').length) { 21 $('.field_views_selector .review-more-btn').hide(); 22 } 23 }else{ 24 $('.field_views_selector .review-more-btn').hide(); 25 } 26 }, 500); 27 28 if (!jQuery.isEmptyObject(filter_trigger)) { 29 for (var filter in filter_trigger) { 30 $('select[name="' + filter + '[]"] option').prop("selected", false); 31 $('select[name="' + filter + '[]"] option[value="' + filter_trigger[filter] + '"]').prop("selected", true); 32 $('select[name="' + filter + '"]').val(filter_trigger[filter]); 33 } 34 35 setTimeout(function () { 36 var seg_form = $(".views-exposed-form"); 37 $('.' + view_id).children().remove(); 38 //@todo: Whitelist data: seg_form.serialize(); 39 $.ajax({ 40 type: "GET", 41 url: view_path + '?_wrapper_format=drupal_ajax', 42 data: seg_form.serialize(), // serializes the form's elements. 43 success: function (data) { 44 for (var i = 0; i < data.length; i++) { 45 if (data[i].data != undefined && data[i].selector == null) { 46 var newContent = $.parseHTML(DOMPurify.sanitize(data[i].data), document, true); 47 $(newContent).find('.card-item').each(function () { 48 $('.' + view_id).append(this); 49 }); 50 $(newContent).find('.product__listing--empty').each(function () { 51 $('.' + view_id).replaceWith(this); 52 return; 53 }); 54 } 55 } 56 $('.' + view_id + ' .card-item').fadeIn(); 57 $('.filter__result .num').text($('.' + view_id + ' .card-item').length); 58 } 59 }); 60 }, 100); 61 } 62 63 window.loadMoreItem = function (count, e) { 64 $("." + e + " .card-item:lt(" + (page + count) + ")").fadeIn(); 65 page += count; 66 if (page >= $('.card-item').length) { 67 $('.' + e + '-loading').hide(); 68 } 69 70 // if (e == 'article__listing') { 71 // ajax_page++; 72 // $.ajax({ 73 // type: "GET", 74 // url: view_path + '?_wrapper_format=drupal_ajax&page=' + ajax_page, 75 // data: form.serialize(), // serializes the form's elements. 76 // success: function (data) { 77 // console.log('data: ',data); 78 // for (var i = 0; i < data.length; i++) { 79 // if (data[i].data != undefined && data[i].selector == null) { 80 // var newContent = $.parseHTML(DOMPurify.sanitize(data[i].data), document, true); 81 // 82 // $(newContent).find('.article__item').each(function () { 83 // $('.' + view_id).append(this); 84 // }); 85 // } 86 // } 87 // } 88 // }); 89 // } 90 }; 91 }); 92})(jQuery, drupalSettings, DOMPurify);
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.