1/** 2 * 2007-2025 PrestaShop 3 * 4 * NOTICE OF LICENSE 5 * 6 * This source file is subject to the Academic Free License (AFL 3.0) 7 * that is bundled with this package in the file LICENSE.txt. 8 * It is also available through the world-wide-web at this URL: 9 * http://opensource.org/licenses/afl-3.0.php 10 * If you did not receive a copy of the license and are unable to 11 * obtain it through the world-wide-web, please send an email 12 * to [email protected] so we can send you a copy immediately. 13 * 14 * DISCLAIMER 15 * 16 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer 17 * versions in the future. If you wish to customize PrestaShop for your 18 * needs please refer to http://www.prestashop.com for more information. 19 * 20 * @author PrestaShop SA <[email protected]> 21 * @copyright 2007-2025 PrestaShop SA 22 * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) 23 * International Registered Trademark & Property of PrestaShop SA 24 * 25 * Don't forget to prefix your containers with your own identifier 26 * to avoid any conflicts with others containers. 27 */ 28 29var mobileViewSize = 991; 30var storage; 31var langId = document.getElementsByTagName("html")[0].getAttribute("lang"); 32var currentFtrProdModule = tvthemename + "_ftrprod_" + langId; 33jQuery(document).ready(function($) { 34 storage = $.localStorage; 35 36 function storageGet(key) { 37 return "" + storage.get(currentFtrProdModule + key); 38 } 39 40 function storageSet(key, value) { 41 storage.set(currentFtrProdModule + key, value); 42 } 43 44 function storageClear(key) { 45 storage.remove(currentFtrProdModule + key); 46 } 47 var StatusPopupAjax = true; 48 49 function footerproductslider() { 50 var customFooterproductSlider = [ 51 //['slider className','navigation nextClass','navigation prevClass'] 52 ['.tvcmsfooter-featured-product .tvmain-featured-product-wrapper-info-box', '.tvfooter-featured-product-next', '.tvfooter-featured-product-prev'], 53 ['.tvcmsfooter-new-product .tvmain-new-product-wrapper-info-box', '.tvfooter-new-product-next', '.tvfooter-new-product-prev'], 54 ['.tvcmsfooter-best-seller-product .tvmain-new-product-wrapper-info-box', '.tvfooter-best-seller-product-next', '.tvfooter-best-seller-product-prev'], 55 ]; 56 for (var i = 0; i < customFooterproductSlider.length; i++) { 57 if ($(customFooterproductSlider[i][0]).length) { 58 $(customFooterproductSlider[i][0]).owlCarousel({ 59 loop: false, 60 dots: false, 61 nav: false, 62 smartSpeed: tvMainSmartSpeed, 63 responsive: { 64 0: { items: 1 }, 65 320: { items: 1, slideBy: 1 }, 66 576: { items: 1, slideBy: 1 }, 67 768: { items: 1, slideBy: 1 }, 68 992: { items: 1, slideBy: 1 }, 69 1200: { items: 1, slideBy: 1 }, 70 1600: { items: 2, slideBy: 1 }, 71 1800: { items: 2, slideBy: 1 } 72 } 73 }); 74 75 $(customFooterproductSlider[i][1]).on('click', function(e) { 76 e.preventDefault(); 77 $('.' + $(this).attr('data-parent') + ' .owl-nav .owl-next').trigger('click'); 78 }); 79 80 $(customFooterproductSlider[i][2]).on('click', function(e) { 81 e.preventDefault(); 82 $('.' + $(this).attr('data-parent') + ' .owl-nav .owl-prev').trigger('click'); 83 }); 84 } 85 } 86 } 87 var gettvcmsfooterproductsajax = function() { 88 if (StatusPopupAjax && $('.tvfooter-product-box-layout').length) { 89 /*****Load Cache*****/ 90 var data = storageGet(""); 91 if (data != "null") { 92 $('.tvfooter-product-box-layout').html(data); 93 footerproductslider(); 94 } 95 /*****Load Cache*****/ 96 StatusPopupAjax = false; 97 $.ajax({ 98 type: 'POST', 99 url: gettvcmsfooterproductlink, 100 success: function(data) { 101 var dataCache = storageGet(""); 102 storageSet("", data); 103 if (dataCache === 'null') { 104 $('.tvfooter-product-box-layout').html(data); 105 footerproductslider(); 106 customImgLazyLoad('.tvfooter-product-box-layout'); 107 } 108 }, 109 error: function(jqXHR, textStatus, errorThrown) { 110 console.log(textStatus, errorThrown); 111 } 112 }); 113 } 114 } 115 themevoltyCallEventsPush(gettvcmsfooterproductsajax, null); 116});
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.