PageSourceSearch

https://elviajedelili.netlify.app/theme/style.js

js elviajedelili.netlify.app collected 2026-10-03 10:41:49 UTC 4,307 bytes, 131 lines download raw bytes

1var myTheme = {
2    init: function () {
3        // Common functions
4        if (this.inIframe()) $('body').addClass('in-iframe');
5        if (!$('body').hasClass('exe-web-site')) return;
6        // Add menu and search bar togglers
7        var togglers =
8            '\
9            <button type="button" id="siteNavToggler" class="toggler" title="' +
10            $exe_i18n.menu +
11            '">\
12                <span class="sr-av">' +
13            $exe_i18n.menu +
14            '</span>\
15            </button>\
16            <button type="button" id="searchBarTogger" class="toggler" title="' +
17            $exe_i18n.search +
18            '">\
19                <span class="sr-av">' +
20            $exe_i18n.search +
21            '</span>\
22            </button>\
23        ';
24        $('#siteNav').before(togglers);
25        // Check the current NAV status
26        var url = window.location.href;
27        url = url.split('?');
28        if (url.length > 1) {
29            if (url[1].indexOf('nav=false') != -1) {
30                $('body').addClass('siteNav-off');
31                myTheme.params('add');
32            }
33        }
34        // Menu toggler
35        $('#siteNavToggler').on('click', function () {
36            if (myTheme.isLowRes()) {
37                $('#exe-client-search').hide();
38                if ($('body').hasClass('siteNav-off')) {
39                    $('body').removeClass('siteNav-off');
40                } else {
41                    if ($('#siteNav').isInViewport()) {
42                        $('body').addClass('siteNav-off');
43                        myTheme.params('add');
44                    }
45                }
46                window.scroll(0, 0);
47            } else {
48                $('body').toggleClass('siteNav-off');
49                myTheme.params(
50                    $('body').hasClass('siteNav-off') ? 'add' : 'remove'
51                );
52            }
53        });
54        // Search bar toggler
55        $('#searchBarTogger').on('click', function () {
56            var bar = $('#exe-client-search');
57            if (bar.is(':visible')) {
58                bar.hide();
59            } else {
60                if (myTheme.isLowRes()) {
61                    $('body').addClass('siteNav-off');
62                }
63                bar.show();
64                $('#exe-client-search-text').focus();
65                window.scroll(0, 0);
66            }
67        });
68        if (!this.inIframe()) {
69            // Fixed navigation
70            $('#siteNav').wrap('<div id="sidebar-nav"></div>');
71            myTheme.checkNav();
72            $(window).bind('resize', function () {
73                myTheme.checkNav();
74            });
75        }
76        // Search form
77        this.searchForm();
78    },
79    inIframe: function () {
80        try {
81            return window.self !== window.top;
82        } catch (e) {
83            return true;
84        }
85    },
86    searchForm: function () {
87        $('#exe-client-search-text').attr('class', 'form-control');
88    },
89    isLowRes: function () {
90        return $('#siteNav').css('float') == 'none';
91    },
92    checkNav: function () {
93        var wrapper = $('#sidebar-nav');
94        var navH = $('#siteNav > ul').height(); // Menu height
95        navH = navH + 50;
96        if (navH < $(window).height()) wrapper.addClass('fixed');
97        else wrapper.removeClass('fixed');
98    },
99    param: function (e, act) {
100        if (act == 'add') {
101            var ref = e.href;
102            var con = '?';
103            if (ref.indexOf('.html?') != -1) con = '&';
104            var param = 'nav=false';
105            if (ref.indexOf(param) == -1) {
106                ref += con + param;
107                e.href = ref;
108            }
109        } else {
110            // This will remove all params
111            var ref = e.href;
112            ref = ref.split('?');
113            e.href = ref[0];
114        }
115    },
116    params: function (act) {
117        $('.nav-buttons a').each(function () {
118            myTheme.param(this, act);
119        });
120    },
121};
122$(function () {
123    myTheme.init();
124});
125$.fn.isInViewport = function () {
126    var elementTop = $(this).offset().top;
127    var elementBottom = elementTop + $(this).outerHeight();
128    var viewportTop = $(window).scrollTop();
129    var viewportBottom = viewportTop + $(window).height();
130    return elementBottom > viewportTop && elementTop < viewportBottom;
131};

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.