vue-instantsearch-ssr
Version:
👀 Lightning-fast Algolia search for Vue apps
3 lines (2 loc) • 1.49 kB
JavaScript
import{createSuitMixin as e}from"../mixins/suit.js";import{createWidgetMixin as t}from"../mixins/widget.js";import{connectHitsPerPage as s}from"instantsearch.js/es/connectors/index.js";import{createPanelConsumerMixin as n}from"../mixins/panel.js";export default{render:function(){var e=this,t=e.$createElement,s=e._self._c||t;return e.state?s("div",{class:e.suit()},[e._t("default",[s("select",{directives:[{name:"model",rawName:"v-model",value:e.selected,expression:"selected"}],class:e.suit("select"),on:{change:[function(t){var s=Array.prototype.filter.call(t.target.options,function(e){return e.selected}).map(function(e){return"_value"in e?e._value:e.value});e.selected=t.target.multiple?s:s[0]},e.handleChange]}},e._l(e.state.items,function(t){return s("option",{key:t.value,class:e.suit("option"),domProps:{value:t.value}},[e._v(e._s(t.label))])}),0)],{items:e.state.items,refine:e.state.refine,hasNoResults:e.state.hasNoResults})],2):e._e()},staticRenderFns:[],name:"AisHitsPerPage",mixins:[e({name:"HitsPerPage"}),t({connector:s}),n({mapStateToCanRefine:function(e){return!1===e.hasNoResults}})],props:{items:{type:Array,required:!0},transformItems:{type:Function,default:void 0}},data:function(){return{selected:this.items.find(function(e){return!0===e.default}).value}},computed:{widgetParams:function(){return{items:this.items,transformItems:this.transformItems}}},methods:{handleChange:function(){this.state.refine(this.selected)}}};
//# sourceMappingURL=HitsPerPage.vue.js.map