UNPKG

vue-instantsearch

Version:

👀 Lightning-fast Algolia search for Vue apps

50 lines (46 loc) • 1.14 kB
import indexWidget from 'instantsearch.js/es/widgets/index/index'; import { createSuitMixin } from '../mixins/suit'; import { createWidgetMixin } from '../mixins/widget'; import { renderCompat, getDefaultSlot } from '../util/vue-compat'; // wrapped in a dummy function, since indexWidget doesn't render const connectIndex = () => indexWidget; export default { name: 'AisIndex', mixins: [ createSuitMixin({ name: 'Index' }), createWidgetMixin( { connector: connectIndex }, { $$widgetType: 'ais.index', } ), ], provide() { return { // The widget is created & registered by widgetMixin, accessor is needed // because provide is not reactive. $_ais_getParentIndex: () => this.widget, }; }, props: { indexName: { type: String, required: true, }, indexId: { type: String, required: false, }, }, render: renderCompat(function (h) { return h('div', {}, getDefaultSlot(this)); }), computed: { widgetParams() { return { indexName: this.indexName, indexId: this.indexId, }; }, }, };