PageSourceSearch

https://www.fitnessdigital.com/fitnessdigital/scripts/doofinder.js

js fitnessdigital.com collected 2026-09-26 03:13:39 UTC 4,509 bytes, 108 lines download raw bytes

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.