UNPKG

vue-instantsearch

Version:

👀 Lightning-fast Algolia search for Vue apps

3 lines (2 loc) • 2.04 kB
import{createSuitMixin as e}from"../mixins/suit.js";import{createWidgetMixin as t}from"../mixins/widget.js";import{connectCurrentRefinements as i}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,i=e._self._c||t;return e.state?i("div",{class:[e.suit(),e.noRefinement&&e.suit("","noRefinement")]},[e._t("default",[i("ul",{class:e.suit("list")},e._l(e.state.items,function(t){return i("li",{key:t.attribute,class:e.suit("item")},[e._t("item",[i("span",{class:e.suit("label")},[e._v(e._s(e.capitalize(t.label))+": ")]),e._v(" "),e._l(t.refinements,function(n){return i("span",{key:e.createItemKey(n),class:e.suit("category")},[e._t("refinement",[i("span",{class:e.suit("categoryLabel")},["query"===n.attribute?i("q",[e._v(e._s(n.label))]):[e._v(" "+e._s(n.label)+" ")]],2),e._v(" "),i("button",{class:e.suit("delete"),on:{click:function(e){return t.refine(n)}}},[e._v(" ✕ ")])],{refine:t.refine,refinement:n,createURL:e.state.createURL})],2)})],{refine:t.refine,item:t,createURL:e.state.createURL})],2)}),0)],{refine:e.state.refine,items:e.state.items,createURL:e.state.createURL})],2):e._e()},staticRenderFns:[],name:"AisCurrentRefinements",mixins:[e({name:"CurrentRefinements"}),t({connector:i}),n({mapStateToCanRefine:function(e){return Boolean(e.items)&&e.items.length>0}})],props:{includedAttributes:{type:Array,default:void 0},excludedAttributes:{type:Array,default:void 0},transformItems:{type:Function,default:void 0}},computed:{noRefinement:function(){return this.state&&0===this.state.items.length},widgetParams:function(){return{includedAttributes:this.includedAttributes,excludedAttributes:this.excludedAttributes,transformItems:this.transformItems}}},methods:{createItemKey:function(e){var t=e.attribute,i=e.value;return[t,e.type,i,e.operator].join(":")},capitalize:function(e){return e?e.toString().charAt(0).toLocaleUpperCase()+e.toString().slice(1):""}}}; //# sourceMappingURL=CurrentRefinements.vue.js.map