From 898a2fa59740a12cc137ae771cd5725f3cc39620 Mon Sep 17 00:00:00 2001 From: Pixelastic Date: Sat, 5 Sep 2015 00:14:18 +0200 Subject: [PATCH] feat: Add support for `className` --- components/IndexSelector/index.js | 14 ++++++++++---- example/app.js | 3 ++- example/index.html | 7 +++++-- widgets/index-selector/index.js | 11 +++++++++-- 4 files changed, 26 insertions(+), 9 deletions(-) diff --git a/components/IndexSelector/index.js b/components/IndexSelector/index.js index ce02f19723..2b73e9303c 100644 --- a/components/IndexSelector/index.js +++ b/components/IndexSelector/index.js @@ -8,18 +8,24 @@ class IndexSelector extends React.Component { render() { var currentIndex = this.props.currentIndex; var indices = this.props.indices; + var cssClass = this.props.cssClass; return ( - + {indices.map(function(index) { + return ; + })} ); } } IndexSelector.propTypes = { + cssClass: React.PropTypes.string, currentIndex: React.PropTypes.string, indices: React.PropTypes.array, setIndex: React.PropTypes.func diff --git a/example/app.js b/example/app.js index eef2fbda43..4b53a55a17 100644 --- a/example/app.js +++ b/example/app.js @@ -29,7 +29,8 @@ search.addWidget( {'name': 'instant_search', 'label': 'Most relevant'}, {'name': 'instant_search_price_asc', 'label': 'Lowest price'}, {'name': 'instant_search_price_desc', 'label': 'Highest price'} - ] + ], + cssClass: 'form-control' }) ); diff --git a/example/index.html b/example/index.html index 4ca2843771..33ab300a54 100644 --- a/example/index.html +++ b/example/index.html @@ -40,8 +40,11 @@

Instant search demo using instantsearch.js

-
- Sort by: +
+
+ + +
diff --git a/widgets/index-selector/index.js b/widgets/index-selector/index.js index 4659d9fa24..0da921ce2a 100644 --- a/widgets/index-selector/index.js +++ b/widgets/index-selector/index.js @@ -1,13 +1,18 @@ var React = require('react'); +var cx = require('classnames'); var findIndex = require('lodash/array/findIndex'); var utils = require('../../lib/widgetUtils.js'); -function indexSelector({container = null, indices = null}) { +function indexSelector({ + container = null, + cssClass = null, + indices = null + }) { var IndexSelector = require('../../components/IndexSelector'); var containerNode = utils.getContainerNode(container); - var usage = 'Usage: indexSelector({container, indices})'; + var usage = 'Usage: indexSelector({container, indices[, cssClass]})'; if (container === null || indices === null) { throw new Error(usage); } @@ -20,9 +25,11 @@ function indexSelector({container = null, indices = null}) { throw new Error('[stats]: Index ' + currentIndex + ' not present in `indices`'); } }, + render: function(results, state, helper) { React.render(