From c739e46430fd827abac1479985e0c319cc670618 Mon Sep 17 00:00:00 2001 From: Hugo Silva Date: Wed, 3 Aug 2016 13:37:24 +1200 Subject: [PATCH 1/3] included local copy of eslint to enable consistent testing --- .eslintrc.yml | 25 +++++++++++++++++++++++++ package.json | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 .eslintrc.yml diff --git a/.eslintrc.yml b/.eslintrc.yml new file mode 100644 index 0000000..f3719ee --- /dev/null +++ b/.eslintrc.yml @@ -0,0 +1,25 @@ +env: + browser: true + es6: true +extends: 'eslint:recommended' +installedESLint: true +parserOptions: + ecmaFeatures: + experimentalObjectRestSpread: true + jsx: true + sourceType: module +plugins: + - react +rules: + indent: + - error + - 2 + linebreak-style: + - error + - unix + quotes: + - error + - single + semi: + - error + - never diff --git a/package.json b/package.json index c2e8fff..996a49a 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,8 @@ "devDependencies": { "babel": "^5.8.23", "chai": "^3.3.0", + "eslint": "3.2.2", + "eslint-plugin-react": "6.0.0", "gulp": "^3.8.11", "legit-tests": "^0.4.4", "mocha": "^2.3.3", From 0105d0ab3a00eebedc6a5e1de0a24b76bf72abc6 Mon Sep 17 00:00:00 2001 From: Hugo Silva Date: Wed, 3 Aug 2016 13:37:53 +1200 Subject: [PATCH 2/3] made onClose callback optional --- src/simple-modal.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/simple-modal.js b/src/simple-modal.js index b11b337..d2e7ee8 100755 --- a/src/simple-modal.js +++ b/src/simple-modal.js @@ -11,11 +11,11 @@ export default class Modal extends React.Component{ let opacity = 0, display = 'block', - visibility = 'hidden'; + visibility = 'hidden' if(props.show){ - opacity = 1; - display = 'block'; + opacity = 1 + display = 'block' visibility = 'visible' } @@ -24,13 +24,13 @@ export default class Modal extends React.Component{ display, visibility, show: props.show - }; + } } hideOnOuterClick(event){ if(this.props.closeOnOuterClick === false) return - if(event.target.dataset.modal) this.props.onClose(event) + if(event.target.dataset.modal && this.props.onClose instanceof Function) this.props.onClose(event) } componentWillReceiveProps(props){ From 7a045bc010f446905311d6f8f12bb8c645c18ce7 Mon Sep 17 00:00:00 2001 From: Hugo Silva Date: Wed, 3 Aug 2016 13:58:51 +1200 Subject: [PATCH 3/3] filtered component own properties from div to avoid Unknown prop warning --- src/simple-modal.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/simple-modal.js b/src/simple-modal.js index d2e7ee8..492256c 100755 --- a/src/simple-modal.js +++ b/src/simple-modal.js @@ -78,7 +78,7 @@ export default class Modal extends React.Component{ if(this.props.transitionSpeed) modalStyle = Object.assign({}, this.state, modalStyle) return ( -
+
{this.props.children}
@@ -86,4 +86,19 @@ export default class Modal extends React.Component{ ) } } + +function _filteredProps(props) { + const filtered = Object.assign({}, props); + [ + 'containerStyle', + 'containerClassName', + 'closeOnOuterClick', + 'show', + 'onClose' + ].map( p => { + delete filtered[p] + }) + return filtered +} + export var closeStyle = styles.close