PageSourceSearch

https://magarderieplus.com/assets/20630260/js/app.js?v=1789735158

js magarderieplus.com collected 2026-10-02 16:02:53 UTC 8,262 bytes, 217 lines download raw bytes

1(function ($, window, document) {
2    var breakpoints = {
3        sm: 544, // Small screen / phone
4        md: 768, // Medium screen / tablet
5        lg: 992, // Large screen / desktop
6        xl: 1200, // Extra large screen / wide desktop
7    };
8
9    var _getViewPort = function () {
10        var e = window, a = 'inner';
11        if (!('innerWidth' in window)) {
12            a = 'client';
13            e = document.documentElement || document.body;
14        }
15        return {
16            width: e[a + 'Width'],
17            height: e[a + 'Height'],
18        };
19    };
20
21    var _isInResponsiveRange = function (mode) {
22        var breakpoint = _getViewPort().width;
23        if (mode === 'general') {
24            return true;
25        } else if (mode === 'desktop' && breakpoint >= breakpoints.lg + 1) {
26            return true;
27        } else if (mode === 'tablet' && breakpoint >= breakpoints.md + 1 && breakpoint < breakpoints.lg) {
28            return true;
29        } else if (mode === 'mobile' && breakpoint <= breakpoints.md) {
30            return true;
31        } else if (mode === 'desktop-and-tablet' && breakpoint >= breakpoints.md + 1) {
32            return true;
33        } else if (mode === 'tablet-and-mobile' && breakpoint <= breakpoints.lg) {
34            return true;
35        }
36        return false;
37    };
38
39    var _isMainMenuMinimized = function () {
40        return $('body').hasClass('e8-primary-menu--minimize');
41    };
42
43    var popper;
44    var active;
45
46    function _initMenuPopper($el) {
47        var togglerIcon = $el.find('> .e8-primary-menu__toggle >.e8-primary-menu__link-icon').first().get(0);
48        var submenu = $el.find('> .e8-primary-menu__submenu').first().get(0);
49
50        if (togglerIcon && submenu) {
51            popper = new Popper(
52                togglerIcon,
53                submenu,
54                {
55                    placement: 'right-start',
56                    positionFixed: 'true',
57                    modifiers: {
58                        flip: {
59                            enabled: true,
60                            flipVariations: true,
61                            flipVariationsByContent: true,
62                        },
63                    },
64                },
65            );
66
67            $el.addClass('e8-primary-menu__item--hover');
68
69            $el.on('mouseleave', function () {
70                $el.removeClass('e8-primary-menu__item--hover');
71                if (popper) {
72                    popper.destroy();
73                    popper = null;
74                }
75            });
76        }
77    }
78
79    $(document).ready(function () {
80        $('.e8-primary-menu__toggle').on('click', function (e) {
81            e.stopPropagation();
82            var $submenu = $(this).siblings('.e8-primary-menu__submenu');
83
84            var $opened = $submenu
85                .closest('.e8-primary-menu__item--submenu')
86                .toggleClass('e8-primary-menu__item--open');
87
88            if (_isMainMenuMinimized()) {
89                if ($opened.closest('.e8-primary-menu__subnav').length) {
90                    $submenu.slideToggle('fast', function () {
91                        if (popper) {
92                            popper.update();
93                        }
94                    });
95                }
96            } else {
97                $submenu.slideToggle('fast');
98            }
99
100            $submenu
101                .closest('.e8-primary-menu__nav')
102                .find('.e8-primary-menu__item--submenu.e8-primary-menu__item--open')
103                .not($submenu.parents('.e8-primary-menu__item--submenu'))
104                .removeClass('e8-primary-menu__item--open')
105                .find('.e8-primary-menu__submenu')
106                .slideUp('fast');
107        });
108
109        $('.e8-primary-menu__nav > .e8-primary-menu__item--submenu')
110            .on('mouseenter', function () {
111                var $elem = $(this);
112                if (_isInResponsiveRange('desktop') && _isMainMenuMinimized()) {
113                    _initMenuPopper($elem);
114                    active = $elem;
115                }
116            })
117            .on('mouseleave', function () {
118                $(this).removeClass('e8-primary-menu__item--hover');
119            });
120
121        $('.e8-primary-menu--minimize_toggle')
122            .on('click', function (e) {
123                e.preventDefault();
124                $('.e8-primary-menu--offcanvas_toggle').toggleClass('e8-toggler--active');
125                $('body').toggleClass('e8-primary-menu--minimize');
126                if (_isMainMenuMinimized()) {
127                    Cookies.set('minimizeSidebar', 1, { expires: 365 });
128                } else {
129                    Cookies.remove('minimizeSidebar');
130                    $('.e8-primary-menu__item--submenu').removeClass('e8-primary-menu__item--hover');
131                    if (popper) {
132                        popper.destroy();
133                        popper = null;
134                    }
135                }
136            });
137
138        $('.e8-primary-menu--offcanvas_toggle').on('click', function (e) {
139            e.preventDefault();
140            $('.e8-primary-menu--offcanvas_toggle').toggleClass('e8-toggler--active');
141            $('body').toggleClass('e8-primary-menu--on');
142        });
143
144        $(document).on('click', '.e8-primary-menu__overlay', function () {
145            $('.e8-primary-menu--offcanvas_toggle').first().trigger('click');
146        });
147
148        $(document).on('click', '[data-core-action=submit]', function () {
149            var $elem = $(this);
150            var target = $elem.attr('data-core-target');
151            if (target) {
152                var $form = $(target);
153                if ($form.length) {
154                    if ($elem.attr('name')) {
155                        $form.prepend($('<input>', {
156                            type: 'hidden',
157                            name: $elem.attr('name'),
158                            value: $elem.val(),
159                        }));
160                    }
161                    $form.trigger('submit');
162                }
163            }
164            return true;
165        }).on('click', '[data-toggle=\'e8-modal\']', function (e) {
166            var $elem = $(this);
167            if (window.E8Modal) {
168                e.stopPropagation();
169                e.preventDefault();
170                window.E8Modal.show($elem.data('e8-modal-src'), $elem.data('e8-modal-options'));
171                return false;
172            }
173        });
174
175        $('.e8-primary-menu__item:not(.e8-primary-menu__item--submenu) > .e8-primary-menu__link').on('click', function () {
176            $(this).closest('.dropdown-menu').removeClass('show');
177        });
178
179        $('.e8-custom_menu__toggle').on('click', function (e) {
180            e.stopPropagation();
181            const $self = $(this);
182            const $toggler = $self.closest('.dropdown').find('[data-toggle=dropdown]')
183            const $submenu = $self.siblings('.e8-custom_menu__submenu');
184            $submenu.closest('.e8-custom_menu__item--submenu').toggleClass('e8-custom_menu__item--open');
185            $submenu.slideToggle('fast', 'swing', () => $toggler.dropdown('update'));
186
187            $submenu
188                .closest('.e8-custom_menu')
189                .find('.e8-custom_menu__item--submenu.e8-custom_menu__item--open')
190                .not($submenu.parents('.e8-custom_menu__item--submenu'))
191                .removeClass('e8-custom_menu__item--open')
192                .find('.e8-custom_menu__submenu')
193                .slideUp('fast', () => $toggler.dropdown('update'));
194        });
195
196        setTimeout(() => {
197            const activeMenuItem = document.querySelector('.e8-primary-menu__item--active');
198            const scrollable = activeMenuItem?.closest('.simplebar-content-wrapper');
199
200            if (!activeMenuItem || !scrollable) {
201                return;
202            }
203
204            const containerRect = scrollable.getBoundingClientRect();
205            const elRect = activeMenuItem.getBoundingClientRect();
206
207            const isAbove = elRect.top < containerRect.top;
208            const isBelow = elRect.bottom > containerRect.bottom;
209
210            if (isAbove || isBelow) {
211                activeMenuItem.scrollIntoView({ behavior: 'smooth', block: 'end' });
212            }
213
214        }, 100);
215    });
216
217}(window.jQuery, window, document));

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.