vue-instantsearch
Version:
👀 Lightning-fast Algolia search for Vue apps
3 lines (2 loc) • 1.9 kB
JavaScript
import{createSuitMixin as t}from"../mixins/suit.js";import{renderCompat as s,getScopedSlot as e}from"../util/vue-compat/index-vue3.js";import{createWidgetMixin as i}from"../mixins/widget.js";import{connectHitsWithInsights as n}from"instantsearch.js/es/connectors/index.js";import{createHitsComponent as a}from"instantsearch-ui-components";export default{name:"AisHits",mixins:[i({connector:n},{$$widgetType:"ais.hits"}),t({name:"Hits"})],props:{showBanner:{type:Boolean,default:!0},escapeHTML:{type:Boolean,default:!0},transformItems:{type:Function,default:void 0}},computed:{widgetParams:function(){return{showBanner:this.showBanner,escapeHTML:this.escapeHTML,transformItems:this.transformItems}}},render:s(function(t){var s=this;if(!this.state)return null;var i=e(this,"default"),n=e(this,"item"),r=e(this,"banner");return n||r||!i?t(a({createElement:t}),{hits:this.state.items,itemComponent:function(e){var i=e.hit,a=e.index,r=e.onClick,o=e.onAuxClick,m=(e.key,function(t,s){var e={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&-1===s.indexOf(i)&&(e[i]=t[i]);return e}(e,["hit","index","onClick","onAuxClick","key"]));return t("li",{key:i.objectID,attrs:m,on:{click:r,auxclick:o}},[n&&n({item:i,index:a,insights:s.state.insights,sendEvent:s.state.sendEvent})||"objectID: "+i.objectID+", index: "+a])},banner:this.showBanner?this.state.banner:void 0,bannerComponent:r,sendEvent:this.state.sendEvent,classNames:this.classNames&&{root:this.classNames["ais-Hits"],list:this.classNames["ais-Hits-list"],item:this.classNames["ais-Hits-item"],bannerRoot:this.classNames["ais-Hits-banner"],bannerImage:this.classNames["ais-Hits-banner-image"],bannerLink:this.classNames["ais-Hits-banner-link"]}}):t("div",{attrs:{class:this.suit()}},[i({banner:this.state.banner,items:this.state.items,insights:this.state.insights,sendEvent:this.state.sendEvent})])})};
//# sourceMappingURL=Hits.js.map