From 9e61a1433c36887e8ae2f1bb5a8ec08fc8d9fbca Mon Sep 17 00:00:00 2001 From: Matthieu Dumont Date: Tue, 3 Nov 2015 10:50:44 +0100 Subject: [PATCH] feat(clearAll): New widget - ClearAll: Component + tests - clearAll: Widget + tests - Documentation - Default style --- components/ClearAll/ClearAll.js | 49 +++++++ .../ClearAll/__tests__/ClearAll-test.js | 73 ++++++++++ css/default/_clear-all.scss | 20 +++ css/instantsearch.scss | 1 + dev/app.js | 7 + dev/index.html | 1 + docs/_includes/widget-jsdoc/clearAll.md | 16 +++ docs/documentation.md | 41 ++++++ lib/main.js | 1 + widgets/clear-all/__tests__/clear-all-test.js | 130 ++++++++++++++++++ widgets/clear-all/clear-all.js | 93 +++++++++++++ widgets/clear-all/defaultTemplates.js | 5 + 12 files changed, 437 insertions(+) create mode 100644 components/ClearAll/ClearAll.js create mode 100644 components/ClearAll/__tests__/ClearAll-test.js create mode 100644 css/default/_clear-all.scss create mode 100644 docs/_includes/widget-jsdoc/clearAll.md create mode 100644 widgets/clear-all/__tests__/clear-all-test.js create mode 100644 widgets/clear-all/clear-all.js create mode 100644 widgets/clear-all/defaultTemplates.js diff --git a/components/ClearAll/ClearAll.js b/components/ClearAll/ClearAll.js new file mode 100644 index 0000000000..7b23bb3c21 --- /dev/null +++ b/components/ClearAll/ClearAll.js @@ -0,0 +1,49 @@ +let React = require('react'); + +let Template = require('../Template.js'); + +let {isSpecialClick} = require('../../lib/utils.js'); + +class ClearAll extends React.Component { + handleClick(e) { + if (isSpecialClick(e)) { + // do not alter the default browser behavior + // if one special key is down + return; + } + e.preventDefault(); + this.props.clearAll(); + } + + render() { + const className = this.props.cssClasses.link; + const data = { + hasRefinements: this.props.hasRefinements + }; + + return ( + +