1/* 2 * doofinder.js 3 * 4 * Created on 08th of November of 2024, 09:51 5 * @author cmotoso. FitnessBit S.L. 6 * @version 1.0 7 */ 8 9var Doofinder = (function () { 10 11 /* Carga el entorno doofinder */ 12 function initFitnessdigitalConfig() { 13 //console.log("Start initFitnessdigitalConfig "); 14 try { 15 16 const dfLayerRootClassName = "dfd-root"; 17 document.addEventListener("doofinder.layer.load", () => { 18 loadClickEventOnDFCard(dfLayerRootClassName); 19 //console.log("Df Layer Loaded "); 20 }); 21 22 document.addEventListener("doofinder.layer.update", () => { 23 //loadClickEventOnDFCard(dfLayerRootClassName); 24 //console.log("Df Layer Updated"); 25 }); 26 27 document.addEventListener("doofinder.carousel.load", () => { 28 //loadClickEventOnDFCard(dfLayerRootClassName); 29 //console.log("Df Carousel Loaded"); 30 }); 31 32 document.addEventListener('doofinder.cart.add', function (event) { 33 const {item_id, amount} = event.detail; 34 Cart.addCart(`${item_id}`, `${amount}`, false); 35 JSLogCollector.sendLog(logLevelDef, `Doofinder cart added ${amount} of item #${item_id}`); 36 }); 37 38 document.addEventListener('doofinder.ready', () => { 39 //Show Keyboard 40 //console.log("doofinder.ready listener executed"); 41 Doofinder.getApp("layer")[0].trigger._eventBus.on('df:trigger:click', (event) => { 42 currentInput = event.detail.source; 43 if (typeof keyboard === 'undefined') { 44 //keyboard = {}; 45 //console.log("keyboard empty!!" + keyboard); 46 } else { 47 console.log("keyboard exits!!" + keyboard); 48 keyboard.style.display = 'flex'; 49 keyboard.style.visibility = 'visible'; 50 keyboard.style.opacity = '1'; 51 } 52 //console.log("click > doofinder show keyboard in input!!!"); 53 }); 54 }); 55 56 // doofinder.hide is triggered when the layer close 57 document.addEventListener('doofinder.hide', (event) => { 58 //console.log("doofinder hide keyboard!!!"); 59 }); 60 61 } catch (err) { 62 //console.error(" ERROR: initFitnessdigitalConfig: "+err); 63 JSLogCollector.sendLog(logLevelDef, "EXC initFitnessdigitalConfig " + err); 64 } 65 66 } 67 ; 68 69 /*Añade el evento onclick a una capa, con la llamada a addParamtoHrefDfCardLayer*/ 70 function loadClickEventOnDFCard(classLayer) { 71 const capa = document.getElementsByClassName(classLayer); 72 if (capa) { 73 capa[0].addEventListener("click", () => { 74 //console.log("loadClickEventOnDFCard add on click "); 75 addParamtoHrefDfCardLayer('.dfd-card a', 'ct', codTienda); 76 }); 77 //console.log(`loadClickEventOnDFCard Click event assigned to id layer: ${classLayer}`); 78 } else { 79 //console.error(`loadClickEventOnDFCard Id layer ${classLayer} doesn't assign to click event`); 80 } 81 } 82 83 /*Añade parametro a href a todas las capas dfd-card a*/ 84 function addParamtoHrefDfCardLayer(layer, param, value) { 85 $(layer).each(function () { 86 addParamtoHref($(this), "ct", codTienda); 87 //console.log("1 addParamtoHrefDfCardLayer " + layer + " p " + param + " v " + value); 88 }); 89 //console.log("2 addParamtoHrefDfCardLayer " + layer + " p " + param + " v " + value); 90 } 91 92 /*Añade un parametro y su valor a el href de un objeto*/ 93 function addParamtoHref(hrefObject, param, value) { 94 var queryString = param + '=' + value; 95 var href = $(hrefObject).attr('href'); 96 if (href && href.indexOf(param + '=') === -1) { 97 href += (href.match(/\?/) ? '&' : '?') + queryString; 98 hrefObject.attr('href', href); 99 } 100 //console.log("addParamtoHref " + hrefObject + " p " + param + " v " + value + " qs " + queryString + " href " + $(hrefObject).attr('href')); 101 102 } 103 return { 104 initFitnessdigitalConfig: function () { 105 return initFitnessdigitalConfig(); 106 } 107 }; 108})();
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.