diff --git a/index.js b/index.js
index e4aa4abe16..cc114e0ab0 100644
--- a/index.js
+++ b/index.js
@@ -3,6 +3,7 @@ module.exports = {
widgets: {
searchBox: require('./widgets/search-box/'),
hits: require('./widgets/hits/'),
- pagination: require('./widgets/pagination/')
+ pagination: require('./widgets/pagination/'),
+ multipleChoiceList: require('./widgets/multiple-choice-list/')
}
};
diff --git a/package.json b/package.json
index 5ea0bfb687..c5418d5653 100644
--- a/package.json
+++ b/package.json
@@ -35,7 +35,6 @@
"onchange": "2.0.0",
"pretty-bytes": "2.0.1",
"proxyquire": "1.7.1",
- "raw-loader": "0.5.1",
"sinon": "1.16.1",
"style-loader": "0.12.3",
"tap-spec": "4.1.0",
@@ -50,6 +49,7 @@
"classnames": "2.1.3",
"hogan.js": "3.0.2",
"lodash": "3.10.1",
+ "raw-loader": "0.5.1",
"react": "0.13.3"
},
"license": "MIT"
diff --git a/webpack.config.js b/webpack.config.js
index f15c6a3391..e92939abfa 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -9,6 +9,8 @@ module.exports = {
module: {
loaders: [{
test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader'
+ }, {
+ test: /\.html$/, exclude: /node_modules/, loader: 'raw'
}]
}
};
diff --git a/widgets/multiple-choice-list/index.js b/widgets/multiple-choice-list/index.js
new file mode 100644
index 0000000000..9d27470066
--- /dev/null
+++ b/widgets/multiple-choice-list/index.js
@@ -0,0 +1,29 @@
+var React = require('react');
+
+var utils = require('../../lib/widgetUtils.js');
+var defaultTemplate = require('./template.html');
+
+function multipleChoiceList({container = null, facetName = null, template = defaultTemplate}) {
+ var MultipleChoiceList = require('../../components/MultipleChoiceList');
+ var containerNode = utils.getContainerNode(container);
+
+ if (container === null || facetName === null) {
+ throw new Error('Usage: multipleChoiceList({container, facetName[, template]})');
+ }
+
+ return {
+ getConfiguration: () => ({disjunctiveFacets: [facetName]}),
+ render: function(results, state, helper) {
+ React.render(
+
,
+ containerNode
+ );
+ }
+ };
+}
+
+module.exports = multipleChoiceList;
diff --git a/widgets/multiple-choice-list/template.html b/widgets/multiple-choice-list/template.html
new file mode 100644
index 0000000000..c3ad0296de
--- /dev/null
+++ b/widgets/multiple-choice-list/template.html
@@ -0,0 +1 @@
+