vue-instantsearch
Version:
👀 Lightning-fast Algolia search for Vue apps
3 lines (2 loc) • 1.83 kB
JavaScript
import{createSuitMixin as e}from"../mixins/suit.js";import{createWidgetMixin as t}from"../mixins/widget.js";import{connectRefinementList as r}from"instantsearch.js/es/connectors/index.js";import{createPanelConsumerMixin as i}from"../mixins/panel.js";import o from"./Highlight.vue.js";import s from"./SearchInput.vue.js";var a=function(){};export default{name:"AisRefinementList",components:{SearchInput:s,AisHighlight:o},mixins:[e({name:"RefinementList"}),t({connector:r},{$$widgetType:"ais.refinementList"}),i()],props:{attribute:{type:String,required:!0},searchable:{type:Boolean,default:void 0},searchablePlaceholder:{type:String,required:!1,default:"Search here…"},operator:{default:"or",validator:function(e){return"and"===e||"or"===e},required:!1},limit:{type:Number,required:!1,default:void 0},showMoreLimit:{type:Number,required:!1,default:void 0},showMore:{type:Boolean,required:!1,default:!1},sortBy:{type:[Array,Function],required:!1,default:void 0},transformItems:{type:Function,required:!1,default:void 0}},data:function(){return{searchForFacetValuesQuery:""}},computed:{searchForFacetValues:{get:function(){return this.searchForFacetValuesQuery},set:function(e){this.state.searchForItems(e),this.searchForFacetValuesQuery=e}},toggleShowMore:function(){return this.state.toggleShowMore||a},items:function(){return this.state.items.map(function(e){return Object.assign({},e,{_highlightResult:{item:{value:e.highlighted}}})})},widgetParams:function(){return{attribute:this.attribute,operator:this.operator,limit:this.limit,showMore:this.showMore,showMoreLimit:this.showMoreLimit,sortBy:this.sortBy,escapeFacetValues:!0,transformItems:this.transformItems}}},methods:{refine:function(e){this.state.refine(e),this.searchForFacetValuesQuery=""}}};
//# sourceMappingURL=RefinementList.vue_rollup-plugin-vue=script.js.map