PageSourceSearch

https://www.gesundheitsgmbh.de/app/cache/autoptimize/js/autoptimize_single_0aa0aeb23492281d441b0f191f66b5a0.js

js gesundheitsgmbh.de collected 2026-09-24 10:00:52 UTC 4,907 bytes, 80 lines download raw bytes

1(function(jQuery){jQuery(function($){if(window.elementorFrontend&&window.elementorFrontend.hooks){window.elementorFrontend.hooks.addAction('frontend/element_ready/widget',function($scope){if($scope.hasClass('elementor-widget-ghd-job-list-component')){initJobList();window.elementor.listenTo(window.elementor.channels.deviceMode,'change',function(){setTimeout(function(){initJobList()},500);})}});}
2$(window).on('elementor/frontend/init',function(){initJobList();})
3function initJobList(itemsToDisplayAtOnce){$('.ghd-job-list-component').each(function(){if(undefined===itemsToDisplayAtOnce){itemsToDisplayAtOnce=getComputedStyle(this).getPropertyValue('--items-to-display')}
4itemsToDisplayAtOnce=parseInt(itemsToDisplayAtOnce)
5var $jobComponent=$(this)
6var $showMoreButton=$jobComponent.find('.actions .elementor-button')
7var $searchInput=$jobComponent.find('.search input[type="search"]')
8var $filterButton=$jobComponent.find('.search .filter-button')
9var $sortButton=$jobComponent.find('.sort .sort-button')
10var $jobList=$jobComponent.find('.ghd-job-list')
11var $countVisible=$jobComponent.find('.count .current')
12var $countResults=$jobComponent.find('.count .sum')
13var $jobItems=$jobList.find('.ghd-job')
14$jobList.empty()
15var itemsToDisplay=itemsToDisplayAtOnce
16var searchTerm=''
17var sortBy='title-asc'
18var filterCompany=false
19$searchInput.off('keyup.search-job').on('keyup.search-job',function(){searchTerm=$(this).val().trim()
20updateList()})
21$showMoreButton.off('click.show-more-items').on('click.show-more-items',function(e){e.preventDefault()
22itemsToDisplay+=itemsToDisplayAtOnce
23updateList()})
24$sortButton.find('select').off('change.sort-job').on('change.sort-job',function(e){e.preventDefault()
25sortBy=$(this).val()
26$sortButton.find('.selected').text($(this).find('option:selected').text())
27updateList()})
28$filterButton.find('select').off('change.filter-job').on('change.filter-job',function(e){e.preventDefault()
29filterCompany='off'!==$(this).val()?$(this).val():false
30$filterButton.find('.selected').text($(this).find('option:selected').data('label'))
31updateList()})
32restoreSession()
33updateList(true)
34$jobComponent.show()
35function updateList(init=false){var searchTerms=searchTerm.replace(/[.*+?^${}()|[\]\\]/g,'\\$&').trim().split(/ /).filter(function(str){return str.trim().length>0})
36var $filteredItems=$jobItems.filter(function(){var searchText=$(this).find('.title').text()+' '+
37$(this).find('.location .city').text()+' '+
38$(this).find('.bottom .company').text()
39var search=true
40var filter=true
41if(Array.isArray(searchTerms)&&searchTerms.length>0){search=false!==searchInString(searchTerms,searchText)}
42if(search&&false!==filterCompany){filter=$(this).find('.company').text().trim()===filterCompany}
43return search&&filter})
44$filteredItems=sortElements($filteredItems,sortBy,init)
45$jobList.empty().append($filteredItems.slice(0,itemsToDisplay))
46$countVisible.text(Math.min(itemsToDisplay,$filteredItems.length))
47$countResults.text($filteredItems.length)
48if(itemsToDisplay<$filteredItems.length){$showMoreButton.show()}else{$showMoreButton.hide()}
49saveSession()}
50function searchInString(searchTerms,searchString){return searchTerms.reduce(function(str,searchTerm){if(false===str){return false;}
51if(searchTerm.trim().length===0){return str}
52var regex=new RegExp(searchTerm,'i')
53if(regex.test(str)){return str}else{return false}},searchString)}
54function sortElements($elements,sortBy,init){var query='.title'
55var sortOrder='asc'
56if(typeof sortBy==='string'&&sortBy.length>0){var sortParams=sortBy.split('-')
57switch(sortParams[0]){case'title':query='.title'
58break;case'location':query='.location > .city'
59break;default:query='.title'}
60if(sortParams.length>1){sortOrder=sortParams[1]}}
61if(init){var $elements_sticky=$elements.filter(function(index,elem){if($(elem).hasClass('sticky'))
62return elem;});$elements=$elements.filter(function(index,elem){if(!$(elem).hasClass('sticky'))
63return elem;});}
64var $items=$elements.sort(function(a,b){var an=$(a).find(query).text()
65var bn=$(b).find(query).text()
66if(an>bn){return 1;}
67if(an<bn){return-1;}
68return 0;}).get()
69if('desc'===sortOrder){$items.reverse()}
70if(init){$items=$.merge($elements_sticky,$items)}
71return $items}
72function restoreSession(){var data=sessionStorage.getItem('job-filter-'+btoa(window.location));if(data){data=JSON.parse(data)
73if(data.searchTerm){searchTerm=data.searchTerm
74$searchInput.val(searchTerm)}
75if(data.filterCompany){filterCompany=data.filterCompany
76$filterButton.find('select').val(filterCompany).trigger('change.filter-job')}
77if(data.sortBy){sortBy=data.sortBy
78$sortButton.find('select').val(sortBy).trigger('change.sort-job')}
79if(data.itemsToDisplay){itemsToDisplay=data.itemsToDisplay}}}
80function saveSession(){var data={searchTerm:searchTerm,filterCompany:filterCompany,sortBy:sortBy,itemsToDisplay:itemsToDisplay,};sessionStorage.setItem('job-filter-'+btoa(window.location),JSON.stringify(data));}})}})})(window.jQuery)

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.