UNPKG

redux-search-filter

Version:

[![NPM version][npm-image]][npm-url] [![build status][travis-image]][travis-url] [![Test coverage][codecov-image]][codecov-url] [![npm download][download-image]][download-url]

43 lines (35 loc) 1.01 kB
import { createElement, Component } from 'react'; import { connect } from 'react-redux'; import PropTypes from 'prop-types'; import SearchFilter from './SearchFilter'; import { reset } from './actions'; export default function searchFilter(options) { const searchFilterInstance = new SearchFilter(options); return function (UserComponent) { class SearchFilterComponent extends Component { render() { const props = Object.assign({}, this.props); return createElement(UserComponent, props); } getChildContext() { return { searchFilter: searchFilterInstance }; } } SearchFilterComponent.childContextTypes = { searchFilter: PropTypes.object }; const connector = connect( (state) => { return { data: searchFilterInstance.getData(state) }; }, { reset: () => reset(searchFilterInstance.name) } ); return connector(SearchFilterComponent); }; }