1(function ($) { 2 'use strict'; 3 var $body = $('body'); 4 var xhr = false; 5 6 function woo_dropdown_sidebar() { 7 8 $body.on('click', '.widget.rosaa-widget-woocommerce .widget-title',function (e) { 9 e.preventDefault(); 10 var $parent = $(this).closest('.rosaa-menu-filter'); 11 if($parent.length){ 12 13 if($(this).hasClass('toggled-on')){ 14 $(this).removeClass('toggled-on') 15 .siblings('.widget-content').stop().slideUp() 16 .closest('.widget').removeClass('active'); 17 }else { 18 $parent.find('.toggled-on').removeClass('toggled-on'); 19 $parent.find('.widget-content').stop().slideUp(); 20 $parent.find('.widget').removeClass('active'); 21 22 $(this).addClass('toggled-on') 23 .siblings('.widget-content').stop().slideDown() 24 .closest('.widget').addClass('active'); 25 } 26 27 }else { 28 // $(this).toggleClass('toggled-on') 29 // .siblings('.widget-content').stop().slideToggle() 30 // .closest('.widget').toggleClass('active'); 31 32 $(this).toggleClass('toggled-on') 33 .parent('.widget').toggleClass('active').find('.widget-content').stop().slideToggle(); 34 35 $(this).parent('.widget').siblings().removeClass('active').find('.widget-content').stop().slideUp() 36 .parent('.widget').find('.widget-title').removeClass('toggled-on'); 37 } 38 }); 39 } 40 41 function woo_drawing_sidebar() { 42 var sidebarDrawing = $body.find('.widget-area'); 43 var top_sticky = 0, 44 $adminBar = $('#wpadminbar'); 45 46 if ($adminBar.length > 0) { 47 top_sticky += $adminBar.height(); 48 } 49 50 if($body.hasClass('rosaa-drawing-side') && sidebarDrawing.length > 0) { 51 $body.on('click', '.sidebar-drawing-toggle > a',function (e) { 52 e.preventDefault(); 53 $(this).toggleClass('actived'); 54 55 $body.toggleClass('rosaa-sidebar-left'); 56 sidebarDrawing.toggleClass('collapsed'); 57 58 $('#secondary').stick_in_parent({ 59 offset_top: top_sticky 60 }); 61 }); 62 } 63 } 64 65 function woo_widget_categories() { 66 var widget = $('.widget_product_categories'), 67 main_ul = widget.find('ul'); 68 if (main_ul.length) { 69 var dropdown_widget_nav = function () { 70 71 main_ul.find('li').each(function () { 72 73 var main = $(this), 74 link = main.find('> a'), 75 ul = main.find('> ul.children'); 76 if (ul.length) { 77 78 //init widget 79 if (main.hasClass('closed')) { 80 ul.hide(); 81 82 link.before('<i class="icon-plus"></i>'); 83 } else if (main.hasClass('opened')) { 84 link.before('<i class="icon-minus"></i>'); 85 } else { 86 main.addClass('opened'); 87 link.before('<i class="icon-minus"></i>'); 88 } 89 90 // on click 91 main.find('i').on('click', function (e) { 92 93 ul.slideToggle('slow'); 94 95 if (main.hasClass('closed')) { 96 main.removeClass('closed').addClass('opened'); 97 main.find('>i').removeClass('icon-plus').addClass('icon-minus'); 98 } else { 99 main.removeClass('opened').addClass('closed'); 100 main.find('>i').removeClass('icon-minus').addClass('icon-plus'); 101 } 102 103 e.stopImmediatePropagation(); 104 }); 105 106 main.on('click', function (e) { 107 108 if ($(e.target).filter('a').length) 109 return; 110 111 ul.slideToggle('slow'); 112 113 if (main.hasClass('closed')) { 114 main.removeClass('closed').addClass('opened'); 115 main.find('i').removeClass('icon-plus').addClass('icon-minus'); 116 } else { 117 main.removeClass('opened').addClass('closed'); 118 main.find('i').removeClass('icon-minus').addClass('icon-plus'); 119 } 120 121 e.stopImmediatePropagation(); 122 }); 123 } 124 }); 125 }; 126 dropdown_widget_nav(); 127 } 128 } 129 130 function sendRequest(url, append = false) { 131 132 if (xhr) { 133 xhr.abort(); 134 } 135 136 xhr = $.ajax({ 137 type: "GET", 138 url: url, 139 beforeSend: function () { 140 var $products = $('ul.rosaa-products'); 141 if(!append) { 142 $products.addClass('preloader'); 143 } 144 }, 145 success: function (data) { 146 let $html = $(data); 147 if(append) { 148 $('#main ul.rosaa-products').append($html.find('#main ul.rosaa-products > li')); 149 }else { 150 $('#main ul.rosaa-products').replaceWith($html.find('#main ul.rosaa-products')); 151 } 152 $('#main .woocommerce-pagination-wrap').replaceWith($html.find('#main .woocommerce-pagination-wrap')); 153 window.history.pushState(null, null, url); 154 xhr = false;
155 $(document).trigger('rosaa-products-loaded'); 156 } 157 }); 158 } 159 160 $body.on('change', '.rosaa-products-per-page #per_page', function (e) { 161 e.preventDefault(); 162 var url = this.value; 163 sendRequest(url); 164 }); 165 166 $body.on('click', '.products-load-more-btn', function (e) { 167 e.preventDefault(); 168 $(this).addClass('loading'); 169 var url = $(this).attr('href'); 170 sendRequest(url,true); 171 }); 172 function productsPaginationScroll() { 173 if (typeof $.fn.waypoint == 'function') { 174 var waypoint = $('.products-load-more-btn.load-on-scroll').waypoint(function() { 175 $('.products-load-more-btn.load-on-scroll').trigger('click'); 176 }, {offset: '100%'}); 177 } 178 } 179 180 $(document).ready(function () { 181 woo_dropdown_sidebar(); 182 woo_drawing_sidebar(); 183 }).on('rosaa-products-loaded',function () { 184 $('.products-load-more-btn').removeClass('loading'); 185 productsPaginationScroll(); 186 }); 187 188 productsPaginationScroll(); 189 190})(jQuery);
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.