vue-instantsearch
Version:
👀 Lightning-fast Algolia search for Vue apps
2 lines (1 loc) • 1.35 kB
JavaScript
import{_ as t}from"@swc/helpers/_/_define_property";import{createSuitMixin as e}from"../mixins/suit.js";import{createWidgetMixin as r}from"../mixins/widget.js";import{_objectSpread as n}from"../util/polyfills.js";import"@swc/helpers/_/_type_of";import"vue";var s,i=(t(s={name:"AisStateResults",mixins:[r({connector:!0}),e({name:"StateResults"})],props:{catchError:{type:Boolean,default:!1}},data:function(){var t=this;return{renderFn:function(){var e=t.instantSearchInstance,r=e.status,n=e.error,s=t.getParentIndex().getResults(),i=t.getParentIndex().getHelper(),a=i?i.state:null;t.state={results:s,state:a,status:r,error:n}}}},created:function(){this.instantSearchInstance.addListener("render",this.renderFn),this.renderFn()}},"beforeUnmount",function(){this.widget&&(this.instantSearchInstance.removeListener("render",this.renderFn),this.errorFn&&this.instantSearchInstance.removeListener("error",this.errorFn))}),t(s,"watch",{catchError:{immediate:!0,handler:function(t){t?(this.errorFn=function(){},this.instantSearchInstance.addListener("error",this.errorFn)):this.errorFn&&(this.instantSearchInstance.removeListener("error",this.errorFn),this.errorFn=void 0)}}}),t(s,"computed",{stateResults:function(){var t=this.state,e=t.results,r=t.state,s=t.status,i=t.error;return n({},e,{results:e,state:r,status:s,error:i})}}),s);export{i as default};