1( function( $ ) { 2 'use strict'; 3 4 /* rtl check */ 5 function rtl_owl(){ 6 if ($('body').hasClass("rtl")) { 7 return true; 8 } else { 9 return false; 10 }}; 11 12 function rtl_isotop(){ 13 if ($('body').hasClass("rtl")) { 14 return false; 15 } else { 16 return true; 17 }}; 18 19 /* -------------------------------------------------- 20 * preloader 21 * --------------------------------------------------*/ 22 if ( $('#royal_preloader').length ) { 23 var $selector = $('#royal_preloader'), 24 $width = $selector.data('width'), 25 $height = $selector.data('height'), 26 $color = $selector.data('color'), 27 $bgcolor = $selector.data('bgcolor'), 28 $logourl = $selector.data('url'); 29 30 Royal_Preloader.config({ 31 mode : 'logo', 32 logo : $logourl, 33 logo_size : [$width, $height], 34 showProgress : true, 35 showPercentage : true, 36 text_colour: $color, 37 background: $bgcolor, 38 }); 39 }; 40 41 /* -------------------------------------------------- 42 * sticky header 43 * --------------------------------------------------*/ 44 $('.header-static .is-fixed').parent().append('<div class="header-clone"></div>'); 45 $('.header-clone').height($('#site-header .is-fixed').outerHeight()); 46 $('.header-static .header-clone').hide(); 47 $(window).on("scroll", function(){ 48 var site_header = $('#site-header').outerHeight() + 1; 49 50 if ($(window).scrollTop() >= site_header) { 51 $('.site-header .is-fixed').addClass('is-stuck'); 52 $('.header-static .header-clone').show(); 53 }else { 54 $('.site-header .is-fixed').removeClass('is-stuck'); 55 $('.header-static .header-clone').hide(); 56 } 57 }); 58 59 /* -------------------------------------------------- 60 * mobile menu 61 * --------------------------------------------------*/ 62 $('.mmenu_wrapper li:has(ul)').prepend('<span class="arrow"><svg viewBox="0 0 448 448" xmlns="http://www.w3.org/2000/svg"><path d="m272 184c-4.417969 0-8-3.582031-8-8v-176h-80v176c0 4.417969-3.582031 8-8 8h-176v80h176c4.417969 0 8 3.582031 8 8v176h80v-176c0-4.417969 3.582031-8 8-8h176v-80zm0 0"/></svg></span>'); 63 $(".mmenu_wrapper .mobile_mainmenu > li span.arrow").on('click',function() { 64 $(this).parent().find("> ul").stop(true, true).slideToggle() 65 $(this).toggleClass( "active" ); 66 }); 67 68 $( "#mmenu_toggle" ).on('click', function() { 69 $(this).toggleClass( "active" ); 70 $(this).parents('.header_mobile').toggleClass( "open" ); 71 if ($(this).hasClass( "active" )) { 72 $('.mobile_nav').stop(true, true).slideDown(100); 73 }else{ 74 $('.mobile_nav').stop(true, true).slideUp(100); 75 } 76 }); 77 78 /* -------------------------------------------------- 79 * gallery post 80 * --------------------------------------------------*/ 81 $('.gallery-post').each( function () { 82 var selector = $(this); 83 selector.owlCarousel({ 84 rtl: rtl_owl(), 85 loop:true, 86 margin:0, 87 responsiveClass:true, 88 items:1, 89 dots:false, 90 nav:true, 91 navText:['<i class="ot-flaticon-left-arrow"></i>', '<i class="ot-flaticon-right-arrow"></i>'] 92 }); 93 }); 94 95 /* -------------------------------------------------- 96 * popup video 97 * --------------------------------------------------*/ 98 var video_popup = $('.video-popup'); 99 if (video_popup.length > 0 ) { 100 video_popup.each( function(){ 101 $(this).lightGallery({ 102 selector: '.btn-play', 103 }); 104 }); 105 }; 106 107 /* -------------------------------------------------- 108 * back to top 109 * --------------------------------------------------*/ 110 if ($('#back-to-top').length) { 111 var scrollTrigger = 500, // px 112 backToTop = function () { 113 var scrollTop = $(window).scrollTop(); 114 if (scrollTop > scrollTrigger) { 115 $('#back-to-top').addClass('show'); 116 } else { 117 $('#back-to-top').removeClass('show'); 118 } 119 }; 120 backToTop(); 121 $(window).on('scroll', function () { 122 backToTop(); 123 }); 124 $('#back-to-top').on('click', function (e) { 125 e.preventDefault(); 126 $('html,body').animate({ 127 scrollTop: 0 128 }, 700); 129 }); 130 } 131 132 /* -------------------------------------------------- 133 * related projects 134 * --------------------------------------------------*/ 135 $('.portfolio-related-posts').each( function () { 136 var selector = $(this); 137 selector.find('.owl-carousel').owlCarousel({ 138 rtl: rtl_owl(), 139 autoplay: true, 140 loop: false, 141 dotsClass: 'owl-dots ot-custom-dots', 142 dots: false, 143 nav: false, 144 navText:['<i class="ot-flaticon-left-arrow"></i>', '<i class="ot-flaticon-right-arrow"></i>'], 145 responsive : { 146 0 : { 147 items: 1, 148 margin: 0, 149 }, 150 768 : { 151 items: 2, 152 margin: 30, 153 }, 154 1024 : { 155 items: 3, 156 margin: 30, 157 } 158 } 159 }); 160 }); 161 162 163 /* Particles */ 164 $(window).load( function () { 165 $('.particles-js').each(function () { 166 var s_id = $( this ).data('id'), 167 s_color = $( this ).data('color'), 168 s_color = s_color.replace(/\s/g, ''), 169 e = $('<div class="progrisaas-particles"></div>'); 170 $( this ).append(e); 171 e.attr('id', 'particles-' + s_id ); 172 173 var id = 'particles-' + s_id; 174 var color_type = 'random_colors'; 175 var color = s_color; 176 var color_line = '#fff'; 177 var number = 8; 178 var lines = false;
179 if (color_type == 'random_colors') { 180 color = color.split(','); 181 color_line = color[0] 182 } 183 184 particlesJS( 185 id, { 186 "particles":{ 187 "number":{ 188 "value":number, 189 "density":{ 190 "enable":true, 191 "value_area":800 192 } 193 }, 194 "color":{ 195 "value": color 196 }, 197 "shape":{ 198 "type":'circle', 199 "polygon":{ 200 "nb_sides":6 201 }, 202 }, 203 "opacity":{ 204 "value":1, 205 "random":true, 206 "anim":{ 207 "enable":false, 208 "speed":1, 209 "opacity_min":1, 210 "sync":false 211 } 212 }, 213 "size":{ 214 "value":5, 215 "random":true, 216 "anim":{ 217 "enable":false, 218 "speed":30, 219 "size_min": 1, 220 "sync":false 221 } 222 }, 223 "line_linked":{ 224 "enable":false, 225 "distance":150, 226 "color":color_line, 227 "opacity":0, 228 "width":1 229 }, 230 "move":{ 231 "enable":true, 232 "speed":2, 233 "direction":"none", 234 "random":false, 235 "straight":false, 236 "out_mode":"out", 237 "bounce":false, 238 "attract":{ 239 "enable":false, 240 "rotateX":600, 241 "rotateY":1200 242 } 243 } 244 }, 245 "interactivity":{ 246 "detect_on":"canvas", 247 "events":{ 248 "onhover":{ 249 "enable":true, 250 "mode":'grab' 251 }, 252 "onclick":{ 253 "enable":true, 254 "mode":"push" 255 }, 256 "resize":true 257 }, 258 "modes":{ 259 "grab":{ 260 "distance":150, 261 "line_linked":{ 262 "opacity":1 263 } 264 }, 265 "bubble":{ 266 "distance":200, 267 "size":3.2, 268 "duration":20, 269 "opacity":1, 270 "speed":30 271 }, 272 "repulse":{ 273 "distance":80, 274 "duration":0.4 275 }, 276 "push":{"particles_nb":4}, 277 "remove":{"particles_nb":2} 278 } 279 }, 280 "retina_detect":true 281 }); 282 var update; 283 update = function() { 284 requestAnimationFrame(update); 285 }; 286 requestAnimationFrame(update); 287 }); 288 }); 289 290 291 /* -------------------------------------------------- 292 * filter projects 293 * --------------------------------------------------*/ 294 function updateFilter() { 295 $('.project_filters a').each(function() { 296 var data_filter = this.getAttribute('data-filter'); 297 var num = $(this) 298 .closest('.project-filter-wrapper') 299 .find('.project-item') 300 .filter(data_filter).length; 301 $(this) 302 .find('.filter-count') 303 .text( num ); 304 if ( num != 0 && $(this).hasClass('empty') ) { 305 $(this).removeClass('empty'); 306 } 307 }); 308 } 309 310 $('.project-filter-wrapper').each( function(){ 311 var $container = $(this).find('.projects-grid'); 312 $container.isotope({ 313 itemSelector : '.project-item', 314 animationEngine : 'css', 315 masonry: { 316 columnWidth: '.grid-sizer' 317 }, 318 isOriginLeft: rtl_isotop(), 319 }); 320 321 var $optionSets = $(this).find('.project_filters'), 322 $optionLinks = $optionSets.find('a'); 323 324 $optionLinks.on('click', function(){ 325 var $this = $(this); 326 327 if ( $this.hasClass('selected') ) { 328 return false;
329 } 330 var $optionSet = $this.parents('.project_filters'); 331 $optionSet.find('.selected').removeClass('selected'); 332 $this.addClass('selected'); 333 334 var selector = $(this).attr('data-filter'); 335 $container.isotope({ 336 filter: selector 337 }); 338 return false; 339 }); 340 /* count filters */ 341 updateFilter(); 342 }); 343 344 /* load more button */ 345 $('#btn-loadmore').on('click',function(){ 346 var btn = $(this), 347 grid = $(this).parents('.project-filter-wrapper').find('.projects-grid'), 348 offset = grid.find('.project-item').length, 349 more = grid.data('load'), 350 loaded = $(this).data('loaded'), 351 loading = $(this).data('loading'), 352 cat = $(this).data('category'), 353 count = grid.data('count'); 354 $.ajax({ 355 url : progrisaas_loadmore_params.ajaxurl, // AJAX handler 356 data : { 357 'action': 'loadmore', // the parameter for admin-ajax.php 358 'ppp' : more, 359 'cat' : cat, 360 'offset': offset, 361 }, 362 type : 'POST', 363 beforeSend : function ( xhr ) { 364 btn.text(loading).append('<i class="ot-flaticon-refresh fas fa-spin"></i>'); // some type of preloader 365 }, 366 success : function( data ){ 367 if( data ) { 368 var items = $(data); 369 btn.text(loaded); 370 grid.append(items).isotope('appended', items); // insert new posts 371 updateFilter(); 372 } else { 373 btn.hide(); // if no data, HIDE the button as well 374 } 375 } 376 }); 377 offset += more; 378 if( count <= offset ){ 379 btn.fadeOut(1000); 380 } 381 return false; 382 }); 383 384} )( 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.