PageSourceSearch

https://de.skillqube.com/wp-content/themes/wordpress-theme-atomion…/js/frontend/partials/search.js?ver=2.2

js skillqube.com collected 2026-10-06 16:53:56 UTC 4,980 bytes, 125 lines download raw bytes

1class AtomionSearch {
2    
3    constructor() {
4        this.ready();
5        this.load();
6    }
7
8    // on ready
9    ready() {
10        jQuery(function(){
11            AtomionSearch.searchDropdown();
12        }); 
13    }
14
15    // on load
16    load() {
17        jQuery(window).on('load', function() {
18            AtomionSearch.searchLightbox();
19        });
20        
21    }
22
23    /*--------------------------------------------------------------
24    ## Search Dropdown
25    --------------------------------------------------------------*/
26    static searchDropdown() {
27        let open_label = jQuery('.search-item.search-dropdown .search-link').attr( 'data-open' );
28        let close_label = jQuery('.search-item.search-dropdown .search-link').attr( 'data-close' );
29        jQuery('.search-item.search-dropdown .search-link').on('click', function () {
30            jQuery(this).toggleClass('open');
31            jQuery('.search-item .search-dropdown').fadeToggle(function () {
32                jQuery('#desktop-navigation .search-dropdown .atomion-searchfield').trigger('focus');
33            });     
34        });
35
36        jQuery('#masthead .search-item.header-element.search-dropdown button.search-link').on('click', function() {
37            if ( jQuery(this).hasClass('open') ) {
38                jQuery(this).attr( 'aria-expanded', 'true' );
39                jQuery(this).attr( 'aria-label', close_label );
40            } else {
41                jQuery(this).attr( 'aria-expanded', 'false' );
42                jQuery(this).attr( 'aria-label', open_label );
43            }
44        });
45
46    }
47
48    /*--------------------------------------------------------------
49    ## Search Lightbox
50    --------------------------------------------------------------*/
51    /**
52     * frontend.js
53     * http://www.codrops.com
54     *
55     * Licensed under the MIT license.
56     * http://www.opensource.org/licenses/mit-license.php
57     * 
58     * Copyright 2016, Codrops
59     * http://www.codrops.com
60     */
61    static searchLightbox() {
62
63        let open_label = jQuery('#masthead .search-item.header-element.search-lightbox button.search-link').attr( 'data-open' );
64        let close_label = jQuery('#masthead .search-item.header-element.search-lightbox button.search-link').attr( 'data-close' );
65
66        if ( jQuery('.search-item').hasClass('search-lightbox') ) {
67
68            jQuery('button.search-link').on('click', AtomionMain.focusTrap('button.search-link', '#atomion-search-wrapper'));
69            
70            var openCtrl = jQuery('#masthead .search-lightbox > .search-link'),
71                closeCtrl = document.querySelector('.atomion-lightbox-search .btn-search-close'),
72                searchContainer = document.querySelector('.atomion-lightbox-search'),
73                inputSearch = searchContainer.querySelector('.atomion-lightbox-search .atomion-searchfield');            
74        
75            function init() {
76                initEvents();	
77            }
78        
79            function initEvents() {
80                openCtrl.each(function(index){
81                    openCtrl[index].addEventListener('click', openSearch);
82                });
83                
84                closeCtrl.addEventListener('click', closeSearch);
85                document.addEventListener('keyup', function(ev) {
86                    // escape key.
87                    if( ev.keyCode == 27 ) {
88                        closeSearch();
89                    }
90                });
91            }
92        
93            function openSearch() {
94                jQuery('body').addClass('no-scroll');
95                jQuery('#masthead .search-item.header-element.search-lightbox button.search-link').attr( 'aria-expanded', 'true' );
96                jQuery('#masthead .search-item.header-element.search-lightbox button.search-link').attr( 'aria-label', close_label );
97                jQuery('#atomion-search-wrapper.atomion-lightbox-search').attr( 'aria-hidden', 'false' );
98                searchContainer.classList.add('search--open');
99                setTimeout(function() {
100                    jQuery(inputSearch).trigger('focus');
101                }, 500);
102            }
103        
104            function closeSearch() {
105                jQuery('#masthead .search-item.header-element.search-lightbox button.search-link').attr( 'aria-expanded', 'false' );
106                jQuery('#masthead .search-item.header-element.search-lightbox button.search-link').attr( 'aria-label', open_label );
107                jQuery('#atomion-search-wrapper.atomion-lightbox-search').attr( 'aria-hidden', 'true' );
108                searchContainer.classList.remove('search--open');
109                inputSearch.blur();
110                inputSearch.value = '';
111
112                // avoid overflow: hidden conflict desktop
113                if (jQuery(window).width() > 1000) {
114                    jQuery('body').removeClass('no-scroll');
115                }
116
117            }
118        
119            init();
120        }
121    };
122
123}
124
125let atmionSearch = new AtomionSearch();

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.