1/** 2 * @package Helix Ultimate Framework 3 * @author JoomShaper https://www.joomshaper.com 4 * @copyright Copyright (c) 2010 - 2018 JoomShaper 5 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or Later 6 */ 7 8jQuery(function ($) { 9 // Stikcy Header 10 if ($("body").hasClass("sticky-header")) { 11 var header = $("#sp-header"); 12 13 if ($("#sp-header").length) { 14 var headerHeight = header.outerHeight(); 15 var stickyHeaderTop = $("body").offset().top; 16 var stickyHeader = function () { 17 var scrollTop = $(window).scrollTop(); 18 if (scrollTop > stickyHeaderTop) { 19 header.addClass("header-sticky"); 20 } else { 21 if (header.hasClass("header-sticky")) { 22 header.removeClass("header-sticky"); 23 } 24 } 25 }; 26 stickyHeader(); 27 $(window).scroll(function () { 28 stickyHeader(); 29 }); 30 } 31 32 if ($("body").hasClass("layout-boxed")) { 33 var windowWidth = header.parent().outerWidth(); 34 header.css({ "max-width": windowWidth, left: "auto" }); 35 } 36 } 37 38 // go to top 39 $(window).scroll(function () { 40 if ($(this).scrollTop() > 100) { 41 $(".sp-scroll-up").fadeIn(); 42 } else { 43 $(".sp-scroll-up").fadeOut(400); 44 } 45 }); 46 47 $(".sp-scroll-up").click(function () { 48 $("html, body").animate( 49 { 50 scrollTop: 0, 51 }, 52 600 53 ); 54 return false; 55 }); 56 57 // Preloader 58 $(window).on("load", function () { 59 $(".sp-preloader").fadeOut(500, function () { 60 $(this).remove(); 61 }); 62 }); 63 64 //mega menu 65 $(".sp-megamenu-wrapper") 66 .parent() 67 .parent() 68 .css("position", "static") 69 .parent() 70 .css("position", "relative"); 71 $(".sp-menu-full").each(function () { 72 $(this).parent().addClass("menu-justify"); 73 }); 74 75 // Offcanvs 76 $("#offcanvas-toggler").on("click", function (event) { 77 event.preventDefault(); 78 $(".offcanvas-init").addClass("offcanvas-active"); 79 }); 80 81 $(".close-offcanvas, .offcanvas-overlay").on("click", function (event) { 82 event.preventDefault(); 83 $(".offcanvas-init").removeClass("offcanvas-active"); 84 }); 85 86 $(document).on("click", ".offcanvas-inner .menu-toggler", function (event) { 87 event.preventDefault(); 88 $(this) 89 .closest(".menu-parent") 90 .toggleClass("menu-parent-open") 91 .find(">.menu-child") 92 .slideToggle(400); 93 }); 94 95 // Tooltip 96 var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"], .hasTooltip')); 97 var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) { 98 return new bootstrap.Tooltip(tooltipTriggerEl,{ 99 html: true 100 }); 101 }); 102 103 // Popover 104 var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')); 105 var popoverList = popoverTriggerList.map(function (popoverTriggerEl) { 106 return new bootstrap.Popover(popoverTriggerEl); 107 }); 108 109 // Article Ajax voting 110 $(".article-ratings .rating-star").on("click", function (event) { 111 event.preventDefault(); 112 var $parent = $(this).closest(".article-ratings"); 113 114 var request = { 115 option: "com_ajax", 116 template: template, 117 action: "rating", 118 rating: $(this).data("number"), 119 article_id: $parent.data("id"), 120 format: "json", 121 }; 122 123 $.ajax({ 124 type: "POST", 125 data: request, 126 beforeSend: function () { 127 $parent.find(".fa-spinner").show(); 128 }, 129 success: function (response) { 130 var data = $.parseJSON(response); 131 $parent.find(".ratings-count").text(data.message); 132 $parent.find(".fa-spinner").hide(); 133 134 if (data.status) { 135 $parent.find(".rating-symbol").html(data.ratings); 136 } 137 138 setTimeout(function () { 139 $parent.find(".ratings-count").text("(" + data.rating_count + ")"); 140 }, 3000); 141 }, 142 }); 143 }); 144 145 // Cookie consent 146 $(".sp-cookie-allow").on("click", function (event) { 147 event.preventDefault(); 148 149 var date = new Date(); 150 date.setTime(date.getTime() + 30 * 24 * 60 * 60 * 1000); 151 var expires = "; expires=" + date.toGMTString(); 152 document.cookie = "spcookie_status=ok" + expires + "; path=/"; 153 154 $(this).closest(".sp-cookie-consent").fadeOut(); 155 }); 156 157 $(".btn-group label:not(.active)").click(function () { 158 var label = $(this); 159 var input = $("#" + label.attr("for")); 160 161 if (!input.prop("checked")) { 162 label 163 .closest(".btn-group") 164 .find("label") 165 .removeClass("active btn-success btn-danger btn-primary"); 166 if (input.val() === "") { 167 label.addClass("active btn-primary"); 168 } else if (input.val() == 0) { 169 label.addClass("active btn-danger"); 170 } else { 171 label.addClass("active btn-success"); 172 } 173 input.prop("checked", true); 174 input.trigger("change"); 175 } 176 var parent = $(this).parents("#attrib-helix_ultimate_blog_options"); 177 if (parent) { 178 showCategoryItems(parent, input.val()); 179 } 180 }); 181 $(".btn-group input[checked=checked]").each(function () { 182 if ($(this).val() == "") { 183 $("label[for=" + $(this).attr("id") + "]").addClass( 184 "active btn btn-primary" 185 ); 186 } else if ($(this).val() == 0) { 187 $("label[for=" + $(this).attr("id") + "]").addClass( 188 "active btn btn-danger" 189 ); 190 } else { 191 $("label[for=" + $(this).attr("id") + "]").addClass( 192 "active btn btn-success" 193 ); 194 } 195 var parent = $(this).parents("#attrib-helix_ultimate_blog_options"); 196 if (parent) { 197 parent.find("*[data-showon]").each(function () { 198 $(this).hide(); 199 }); 200 } 201 }); 202 203 function showCategoryItems(parent, value) { 204 var controlGroup = parent.find("*[data-showon]"); 205 controlGroup.each(function () { 206 var data = $(this).attr("data-showon"); 207 data = typeof data !== "undefined" ? JSON.parse(data) : []; 208 if (data.length > 0) { 209 if ( 210 typeof data[0].values !== "undefined" && 211 data[0].values.includes(value) 212 ) { 213 $(this).slideDown(); 214 } else { 215 $(this).hide(); 216 } 217 } 218 }); 219 } 220 221 $(window).on("scroll", function () { 222 var scrollBar = $(".sp-reading-progress-bar"); 223 if (scrollBar.length > 0) { 224 var s = $(window).scrollTop(), 225 d = $(document).height(), 226 c = $(window).height(); 227 var scrollPercent = (s / (d - c)) * 100; 228 const postition = scrollBar.data("position"); 229 if (postition === "top") { 230 // var sticky = $('.header-sticky'); 231 // if( sticky.length > 0 ){ 232 // sticky.css({ top: scrollBar.height() }) 233 // }else{ 234 // sticky.css({ top: 0 }) 235 // } 236 } 237 scrollBar.css({ width: `${scrollPercent}%` }); 238 } 239 }); 240 241 // floating form 242 $(".sppb-form-group input, .form-group input").on("focus", function () { 243 if ($(this).prev()[0].localName === "label") { 244 $(this).prev().addClass("focused"); 245 } 246 if ($(this).prev()[0].localName === "span") { 247 $(this).parent().parent().prev().addClass("focused"); 248 } 249 }); 250 251 $(".sppb-form-group input, .form-group input").on("blur", function (e) { 252 if ($(this).val().length === 0) { 253 if ($(this).prev()[0].localName === "label") { 254 $(this).prev().removeClass("focused"); 255 } 256 if ($(this).prev()[0].localName === "span") { 257 $(this).parent().parent().prev().removeClass("focused"); 258 } 259 } 260 }); 261 // add action class on first
262 $(".lexyort-image-carousel .sppb-carousel-extended-item-center") 263 .prev() 264 .addClass("text-active"); 265 // on click remove the old active class 266 $(" .lexyort-image-carousel .nav-control").on("click", function () { 267 const exist = $(".sppb-carousel-extended-item").hasClass("text-active"); 268 if (exist) { 269 $(".sppb-carousel-extended-item").removeClass("text-active"); 270 } 271 // add new active class 272 273 $(".lexyort-image-carousel .sppb-carousel-extended-item-center") 274 .prev() 275 .addClass("text-active"); 276 }); 277});
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.