1let active_search=[];const filters=['posts','podcasts','events','cclive','profiles'];const remove_filter=(item)=>{if(active_search.includes(item)){active_search.splice(active_search.indexOf(item),1);toggle_filter()}};const add_filter=(item)=>{if(active_search.includes(item)===!1){active_search.push(item);toggle_filter()}};const filter_difference=()=>{return filters.filter(value=>!active_search.includes(value))};const toggle_filter=()=>{let not_active=filter_difference();if(not_active.length>0){not_active.forEach((item)=>{document.getElementById(item).classList.add('u-js-hide');document.getElementById(item+'-filter').classList.add('u-js-hide')})} 2if(active_search.length>0){document.getElementById('filter').classList.remove('u-js-hide');active_search.forEach((item)=>{document.getElementById(item).classList.remove('u-js-hide');document.getElementById(item+'-filter').classList.remove('u-js-hide')})}else{document.getElementById('filter').classList.add('u-js-hide')}};const indexName='post';const algoliaClient=algoliasearch('HVP4PNEPYK','109cebd23979070c9368caa138ec6c67');const searchClient={...algoliaClient,search(requests){if(requests.every(({params})=>!params.query)||requests.every(({params})=>params.query.length<3)){return Promise.resolve({results:requests.map(()=>({hits:[],nbHits:0,nbPages:0,page:0,processingTimeMS:0,hitsPerPage:0,exhaustiveNbHits:!1,query:'',params:'',})),})} 3return algoliaClient.multipleQueries(requests)},};const search=instantsearch({indexName:indexName,searchClient,routing:{router:instantsearch.routers.history({windowTitle(routeState){const indexState=routeState.indexName||{};if(indexState.query){return `Výsledky vyhledávánà pro "${indexState.query}" - CzechCrunch`}},createURL({qsModule,location,routeState}){const{origin,pathname,hash}=location;const indexState=routeState.instant_search||{};const queryString=qsModule.stringify(routeState);if(!indexState.query){return `${origin}${pathname}${hash}`} 4return `${origin}${pathname}?${queryString}${hash}`},parseURL({qsModule,location}){return qsModule.parse(location.search.slice(1))},writeDelay:500,}),stateMapping:{stateToRoute(uiState){return{query:uiState[indexName].query,page:uiState[indexName].page,}},routeToState(routeState){return{[indexName]:{query:routeState.query,page:routeState.page,},}},},},insights:!0,});const renderInfinitePosts=(renderOptions,isFirstRender)=>{const{results,hits,widgetParams,showPrevious,isFirstPage,showMore,isLastPage,sendEvent,}=renderOptions;if(results&&results.query==''||results==='undefined'||hits.length==0){remove_filter('posts');widgetParams.container.classList.add('u-js-hide');let button=widgetParams.container.querySelector('.load-more');if(button){button.classList.add('u-js-hide')}}else{add_filter('posts');widgetParams.container.classList.remove('u-js-hide');let button=widgetParams.container.querySelector('.load-more');if(button){button.classList.remove('u-js-hide')}} 5if(isFirstRender){const div_search=document.createElement('div');div_search.className='c-search';const nextButton=document.createElement('button');nextButton.className='btn btn--primary btn--small';nextButton.addEventListener('click',()=>{showMore()});const span=document.createElement('span');span.className='btn__text';span.textContent='Dalšà výsledky';nextButton.appendChild(span);const p=document.createElement('p');p.className='u-text-center load-more';p.appendChild(nextButton);widgetParams.container.appendChild(div_search);widgetParams.container.appendChild(p);return} 6let button=widgetParams.container.querySelector('.load-more');if(button&&isLastPage){button.classList.add('u-js-hide')} 7widgetParams.container.querySelector('.c-search').innerHTML=` 8 ${hits 9 .map( 10 (item) => { 11 let type = 'Älánek'; 12 if (item.post_type == 'sk_nativni_special') type = 'Speciál'; 13 14 let item_html = `<div class="c-search__item c-search__item--post" onClick="${sendEvent('click', item, 'Post Clicked')}"><div class="c-search__hd"><p class="c-search__date">${item.date}</p><p class="c-search__type">${type}</p></div><div class="c-search__bd"><p class="c-search__img"><img src="${item.thumb}" alt="${item.title}" width="156" height="117"/></p><div class="c-search__content"><h2 class="c-search__title"><a href="${item.url}" target="_blank" class="link-inset">${instantsearch.highlight({attribute:'title',hit:item})}</a></h2><p class="c-search__desc">${instantsearch.snippet({attribute:'content',hit:item})}</p></div></div></div>`; 15 return item_html; 16 }, 17 ) 18 .join('')} 19 `};const renderInfinitePodcasts=(renderOptions,isFirstRender)=>{const{results,hits,widgetParams,showPrevious,isFirstPage,showMore,isLastPage,sendEvent,}=renderOptions;if(results&&results.query==''||results==='undefined'||hits.length==0){remove_filter('podcasts');widgetParams.container.classList.add('u-js-hide');let button=widgetParams.container.querySelector('.load-more');
19if(button){button.classList.add('u-js-hide')}}else{add_filter('podcasts');widgetParams.container.classList.remove('u-js-hide');let button=widgetParams.container.querySelector('.load-more');if(button){button.classList.remove('u-js-hide')}} 20if(isFirstRender){const div_search=document.createElement('div');div_search.className='c-search';const nextButton=document.createElement('button');nextButton.className='btn btn--primary btn--small';nextButton.addEventListener('click',()=>{showMore()});const span=document.createElement('span');span.className='btn__text';span.textContent='Dalšà výsledky';nextButton.appendChild(span);const p=document.createElement('p');p.className='u-text-center load-more';p.appendChild(nextButton);const section=document.createElement('p');section.className='c-search__section';section.textContent='Podcasty';div_search.appendChild(section);const div_results=document.createElement('div');div_results.className='c-search__results';div_search.appendChild(div_results);widgetParams.container.appendChild(div_search);widgetParams.container.appendChild(p);return} 21let button=widgetParams.container.querySelector('.load-more');if(button&&isLastPage){button.classList.add('u-js-hide')} 22widgetParams.container.querySelector('.c-search__results').innerHTML=` 23 ${hits 24 .map( 25 (item) => { 26 let item_html = `<div class="c-search__item c-search__item--podcast" onClick="${sendEvent('click', item, 'Podcast Clicked')}"><div class="c-search__hd"><p class="c-search__date">${item.date}</p><p class="c-search__type">Podcast</p></div><div class="c-search__bd"><p class="c-search__img"><img src="${item.thumb}" alt="${item.title}" width="89" height="89"/></p><div class="c-search__content"><h2 class="c-search__title"><a href="${item.url}" target="_blank" class="link-inset">${instantsearch.highlight({attribute:'title',hit:item})}</a></h2><p class="c-search__desc">${instantsearch.snippet({attribute:'content',hit:item})}</p>${item.length?` 27 <p class="c-search__time"> 28 <span class="icon-svg icon-svg--time"><svg class="icon-svg__svg icon-svg--time__svg" xmlns:xlink="http://www.w3.org/1999/xlink"><use xlink:href="/wp-content/themes/czechcrunch2018/static/img/bg/icons-svg.svg?v=2.6.3#icon-time" x="0" y="0" width="100%" height="100%"></use></svg></span> 29 ${item.length} 30 </p> 31 `:''}<span class="c-search__play"><span class="icon-svg icon-svg--podcast"><svg class="icon-svg__svg icon-svg--podcast__svg" xmlns:xlink="http://www.w3.org/1999/xlink"><use xlink:href="/wp-content/themes/czechcrunch2018/static/img/bg/icons-svg.svg?v=2.6.3#icon-podcast" x="0" y="0" width="100%" height="100%"></use></svg></span></span></div></div></div>`; 32 return item_html; 33 }, 34 ) 35 .join('')} 36 `};const renderEvent=(renderOptions,isFirstRender)=>{const{results,hits,widgetParams,sendEvent}=renderOptions;if(isFirstRender){return} 37if(results&&results.query==''||hits.length==0){remove_filter('events');widgetParams.container.classList.add('u-js-hide')}else{add_filter('events');widgetParams.container.classList.remove('u-js-hide')} 38widgetParams.container.innerHTML=` 39 <div class="c-search"><p class="c-search__section">Eventy</p> 40 ${hits 41 .map( 42 (item) => { 43 let item_html = `<div class="c-search__item c-search__item--event" onClick="${sendEvent('click', item, 'Event Clicked')}"><div class="c-search__hd"><p class="c-search__date">Již brzy</p><p class="c-search__type">Event</p></div><div class="c-search__bd"><div class="c-search__content">${item.date}<h2 class="c-search__title"><a href="${item.url}" target="_blank" class="link-inset">${instantsearch.highlight({attribute:'title',hit:item})}</a></h2><span class="c-search__more btn btn--primary btn--small"><span class="btn__text">VÃce</span></span></div></div></div>`; 44 return item_html; 45 }, 46 ) 47 .join('')} 48 </div> 49 `};const renderCCLive=(renderOptions,isFirstRender)=>{const{results,hits,widgetParams,sendEvent}=renderOptions;if(isFirstRender){return} 50if(results&&results.query==''||hits.length==0){remove_filter('cclive');widgetParams.container.classList.add('u-js-hide')}else{add_filter('cclive');widgetParams.container.classList.remove('u-js-hide')} 51widgetParams.container.innerHTML=` 52 <div class="c-search"><p class="c-search__section">CC Live</p> 53 ${hits 54 .map( 55 (item) => { 56 let item_html = ''; 57 switch (item.type) { 58 case 'hot': 59 item_html = `<div class="c-search__item c-search__item--post" onClick="${sendEvent('click', item, 'CCLive Clicked')}"><div class="c-search__hd"><p class="c-search__date">${item.date}</p><p class="c-search__type">CC Live</p></div><div class="c-search__bd"><p class="c-search__img"><img src="${item.thumb}" alt="${item.title}" width="156" height="117"/></p><div class="c-search__content"><h2 class="c-search__title"><a href="${item.url}" target="_blank" class="link-inset">${instantsearch.highlight({attribute:'title',hit:item})}</a></h2><p class="c-search__desc">${instantsearch.snippet({attribute:'content',hit:item})}</p></div></div></div>`; 60 break; 61 62 case 'quote': 63 item_html = `<div class="c-search__item c-search__item--comment"><div class="c-search__hd"><p class="c-search__date">${item.date}</p><p class="c-search__type">CC Live</p></div><div class="c-search__bd"><div class="c-search__content"><p class="c-search__quote">â${instantsearch.snippet({attribute:'content',hit:item})}â</p><p class="c-search__comment"><a href="${item.url}" target="_blank" class="link-inset">${instantsearch.highlight({attribute:'excerpt',hit:item})}</a></p></div></div></div>`; 64 break; 65 } 66 return item_html; 67 }, 68 ) 69 .join('')} 70 </div> 71 `};const renderProfile=(renderOptions,isFirstRender)=>{const{results,hits,widgetParams,sendEvent}=renderOptions;if(isFirstRender){return} 72if(results&&results.query==''||hits.length==0){remove_filter('profiles');widgetParams.container.classList.add('u-js-hide')}else{add_filter('profiles');widgetParams.container.classList.remove('u-js-hide')} 73widgetParams.container.innerHTML=` 74 <div class="c-search"><p class="c-search__section">Firmy</p> 75 ${hits 76 .map( 77 (item) => { 78 let item_html = `<div class="c-search__item c-search__item--profile" onClick="${sendEvent('click', item, 'Profile Clicked')}"><div class="c-search__bd"><a href="${item.url}" target="_blank" class="c-search__profile link-inset"><div class="c-search__content"><p class="c-search__img"><img src="${item.thumb}" alt="${item.title}" width="48" height="49"/></p><h2 class="c-search__title">${instantsearch.highlight({attribute:'title',hit:item})}</h2></div><p class="c-search__meta">${item.params}</p></a></div></div>`; 79 return item_html; 80 }, 81 ) 82 .join('')} 83 </div> 84 `};const hitInfinitePost=instantsearch.connectors.connectInfiniteHits(renderInfinitePosts);const hitInfinitePodcast=instantsearch.connectors.connectInfiniteHits(renderInfinitePodcasts);const hitEvent=instantsearch.connectors.connectHits(renderEvent);const hitCCLive=instantsearch.connectors.connectHits(renderCCLive);const hitProfile=instantsearch.connectors.connectHits(renderProfile);const today=new Date().getTime()/1000;search.addWidgets([instantsearch.widgets.configure({hitsPerPage:8,}),instantsearch.widgets.searchBox({container:'#searchbox',autofocus:!0,placeholder:'Älánky, Podcasty, Eventy, Firmy & Speciály',showSubmit:!0,showReset:!1,cssClasse
84s:{form:'f-search-v2__form',},templates:{submit({cssClasses},{html}){return html`<span class="icon-svg icon-svg--close"><svg class="icon-svg__svg icon-svg--close__svg" xmlns:xlink="http://www.w3.org/1999/xlink"><use xlink:href="/wp-content/themes/czechcrunch2018/static/img/bg/icons-svg.svg?v=5.3.6#icon-search" x="0" y="0" width="100%" height="100%"></use></svg></span>`},},showLoadingIndicator:!1,queryHook(query,search){search(query);active_search=[];toggle_filter()},}),instantsearch.widgets.index({indexName:'post',indexId:'post'}).addWidgets([instantsearch.widgets.configure({hitsPerPage:8,}),hitInfinitePost({container:document.querySelector('#posts'),showPrevious:!1,escapeHTML:!1,}),]),instantsearch.widgets.index({indexName:'sk_podcast',indexId:'sk_podcast'}).addWidgets([instantsearch.widgets.configure({hitsPerPage:4,}),hitInfinitePodcast({container:document.querySelector('#podcasts'),showPrevious:!1,escapeHTML:!1,}),]),instantsearch.widgets.index({indexName:'sk_events',indexId:'sk_events'}).addWidgets([instantsearch.widgets.configure({hitsPerPage:2,filters:`date_timestamp >= ${today}`,}),hitEvent({container:document.querySelector('#events'),escapeHTML:!1,}),]),instantsearch.widgets.index({indexName:'sk_live_feed',indexId:'sk_live_feed'}).addWidgets([instantsearch.widgets.configure({hitsPerPage:2,}),hitCCLive({container:document.querySelector('#cclive'),escapeHTML:!1,}),]),instantsearch.widgets.index({indexName:'sk_profiles',indexId:'sk_profiles'}).addWidgets([instantsearch.widgets.configure({hitsPerPage:2,}),hitProfile({container:document.querySelector('#profiles'),escapeHTML:!1,}),]),]);search.start()
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.