PageSourceSearch

https://rosariasitalianrestaurant.com/index_files/quick-search.min.js.download

js rosariasitalianrestaurant.com collected 2026-10-04 09:32:01 UTC 8,271 bytes, 29 lines download raw bytes

1(function(){'use strict';$.widget('quickSearch',{component:'quickSearch',options:{autocomplete:'off',minSearchLength:3,responseFieldElements:'ul li',dropdown:'<ul role="listbox"></ul>',dropdownClass:'',itemClass:'',selectClass:'selected',template:'<li class="<%- data.row_class %>" id="qs-option-<%- data.index %>" role="option">'+'<span class="qs-option-name">'+' <%- data.title %>'+'</span>'+'<span aria-hidden="true" class="amount">'+'<%- data.num_results %>'+'</span>'+'</li>',formSelector:'#search_mini_form',destinationSelector:'#search_autocomplete',submitBtn:'button[type="submit"]',searchLabel:'[data-role=minisearch-label]',suggestionDelay:300,mediaBreakpoint:'(max-width: 768px)'},create:function(){var self=this;this.responseList={indexList:null,selected:null,selectedIndex:null};this.dataset=[];this.autoComplete=$(this.options.destinationSelector);this.searchForm=$(this.options.formSelector);this.submitBtn=this.searchForm.find(this.options.submitBtn);this.searchLabel=this.searchForm.find(this.options.searchLabel);this.element.attr('autocomplete',this.options.autocomplete);this.debouncedRequest=_.debounce(this.sendRequest.bind(this),this.options.suggestionDelay);if(this.element.get(0)===document.activeElement){this.setActiveState(true);}
2if(!this.element.val()){this.submitBtn.prop('disabled',true);}
3this.searchLabel.on('click.quickSearch',function(event){if(self.isActive()){event.preventDefault();}else{self.element.focus();self.setActiveState(true);}});this.element.on('keydown.quickSearch',this._onEnterKeyDown.bind(this)).on('focus.quickSearch',this.setActiveState.bind(this,true)).on('blur.quickSearch',this._onBlur.bind(this)).on('input.quickSearch propertychange.quickSearch',this.debouncedRequest);this.searchForm.on('keydown.quickSearch',this._onKeyDown.bind(this)).on('submit.quickSearch',function(event){self._onSubmit(event);self._updateAriaHasPopup(false);});this.autoComplete.on('click.quickSearch',this.options.responseFieldElements,function(){self._selectEl($(this));self.submitSelectedItem();}).on('focus.quickSearch',this.options.responseFieldElements,function(){self._selectEl($(this));});this._on(document,{keydown:function(e){if(e.key==='Escape'){self.hideAutocomplete();}}});$(document).on('click.quickSearch',function(event){if(self.searchLabel.has(event.target).length){return;}
4if(self.element.has(event.target).length||self.autoComplete.has(event.target).length){return clearTimeout(self.blurTimeout);}
5self.setActiveState(false);self.hideAutocomplete();});},destroy:function(){$(document).off('click.quickSearch');this._super();},isActive:function(){return this.searchLabel.hasClass('active');},setActiveState:function(isActive){var el=this.element.get(0);this.searchForm.toggleClass('active',isActive);this.searchLabel.toggleClass('active',isActive);this.element.attr('aria-expanded',isActive);if(!isActive){return;}
6if(!this.element.isInViewport()||!this.element.isVisible()){setTimeout(function(){el.selectionStart=10000;el.selectionEnd=10000;},13);}
7clearTimeout(this.blurTimeout);if(this.responseList.indexList){this.showAutocomplete();}else if(this.element.val()){this.debouncedRequest();}},submitSelectedItem:function(){this.searchForm.submit();},_getFirstVisibleElement:function(){return this.responseList.indexList?this.responseList.indexList.first():false;},_getLastElement:function(){return this.responseList.indexList?this.responseList.indexList.last():false;},_updateAriaHasPopup:function(show){this.element.attr('aria-haspopup',show);},_resetResponseList:function(all){if(this.responseList.selected){this.responseList.selected.removeClass(this.options.selectClass);}
8this.responseList.selected=null;this.responseList.selectedIndex=null;if(all===true){this.responseList.indexList=null;}},_onSubmit:function(e){var value=this.element.val(),selected=this.dataset[this.responseList.selectedIndex];if(typeof value==='string'&&!value){e.preventDefault();}
9if(selected&&selected.title&&this.isVisibleAutocomplete()){this.element.val(selected.title);}},_onBlur:function(){var self=this;if(!self.isActive()){return;}
10self.blurTimeout=setTimeout(function(){if(self.autoComplete.is(':focus-within')){return;}
11self.setActiveState(false);self.hideAutocomplete();},250);},_selectEl:function(el,focus){if(!el){return;}
12if(this.responseList.selected){this.responseList.selected.removeClass(this.options.selectClass);}
13el.addClass(this.options.selectClass);if(focus){el.focus();}
14this.responseList.selected=el;this.responseList.selectedIndex=this.responseList.indexList.index(el);},_selectNextEl:function(focus){var index=this.responseList.selectedIndex,el=this._getFirstVisibleElement();if(index!==null&&this.responseList.indexList[index+1]){el=$(this.responseList.indexList[index+1]);}
15this._selectEl(el,focus);},_selectPrevEl:function(focus){var index=this.responseList.selectedIndex,el=this._getLastElement();if(index!==null&&this.responseList.indexList[index-1]){el=$(this.responseList.indexList[index-1]);}
16this._selectEl(el,focus);},_onKeyDown:function(e){var navKeys=['Home','End','ArrowDown','ArrowUp','Tab'],selected=this.responseList.selected,first=this._getFirstVisibleElement(),last=this._getLastElement();if(e.ctrlKey||e.altKey||e.shiftKey&&e.key!=='Tab'){return;}
17if(e.key==='Tab'){if(e.shiftKey&&this.element.is(':focus')){return;}
18if(selected&&e.shiftKey&&first&&selected.has(first.get(0)).length||selected&&!e.shiftKey&&last&&selected.has(last.get(0)).length){return;}}
19if(navKeys.indexOf(e.key)!==-1){if(!this.canUseNavKeys()){return;}
20e.preventDefault();}
21switch(e.key){case'Home':this._selectEl(first,true);break;case'End':this._selectEl(last,true);break;case'ArrowDown':this._selectNextEl(true);break;case'Tab':if(e.shiftKey){this._selectPrevEl(true);}else{this._selectNextEl(true);}
22break;case'ArrowUp':this._selectPrevEl(true);break;case'Escape':if(this.isVisibleAutocomplete()){this.element.focus();this.hideAutocomplete();}else if(this.element.is(':focus')){this.element.blur();}
23break;default:this.element.focus();break;}},canUseNavKeys:function(){return this.isVisibleAutocomplete();},isVisibleAutocomplete:function(){var autocomplete=this.autoComplete.not(':empty').visible();return autocomplete.length>0&&autocomplete.css('visibility')!=='hidden';}
23,_onEnterKeyDown:function(e){if(e.key==='Enter'&&this.element.val().length>=this.options.minSearchLength){e.preventDefault();this.searchForm.submit();}},sendRequest:function(){var value=this.element.val();this.submitBtn.prop('disabled',true);if(value.length<this.options.minSearchLength){return this.resetAutocomplete();}
24this.submitBtn.prop('disabled',false);return $.request.get({url:this.options.url,type:'json',data:{q:value}}).then(function(response){this.prepareResponse(response.body);this.processResponse();}.bind(this));},prepareResponse:function(data){this.dataset=data;},processResponse:function(){var dropdown=$(this.options.dropdown);if(this.options.dropdownClass){dropdown.addClass(this.options.dropdownClass);}
25if(!this.dataset.length){return this.resetAutocomplete();}
26$.each(this.dataset,function(index,item){item.index=index;dropdown.append(this.renderItem(item));}.bind(this));dropdown.children().addClass(this.options.itemClass);this._resetResponseList(true);this.showAutocomplete(dropdown);this.responseList.indexList=this.autoComplete.find(this.options.responseFieldElements).visible();this.element.removeAttr('aria-activedescendant');if(this.responseList.indexList.length){this._updateAriaHasPopup(true);}else{this._updateAriaHasPopup(false);}},showAutocomplete:function(content){if(!content&&this.isVisibleAutocomplete()){return;}
27if(content){this.autoComplete.empty().append(content);}
28this.autoComplete.css({position:'absolute',minWidth:this.element.outerWidth()}).show().find(this.options.responseFieldElements).attr('tabIndex',0);},hideAutocomplete:function(){this.autoComplete.hide().find(this.options.responseFieldElements).removeAttr('tabIndex');},renderItem:function(item){return this.getItemTemplate(item)({data:item});},getItemTemplate:function(){if(!this.template){this.template=_.template(this.options.template);}
29return this.template;},resetAutocomplete:function(){this._resetResponseList(true);this.hideAutocomplete();this._updateAriaHasPopup(false);this.element.removeAttr('aria-activedescendant');}});})();

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.