From 265915af14fbb20ac03d74509cf463ad31fb25e3 Mon Sep 17 00:00:00 2001 From: John Behan Date: Thu, 20 Apr 2017 12:22:54 +0700 Subject: [PATCH 1/3] set z-index of currently active slider handle to 2 --- .eslintrc | 3 +++ src/js/input-range/slider.jsx | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/.eslintrc b/.eslintrc index 94c8ba3..0512143 100644 --- a/.eslintrc +++ b/.eslintrc @@ -26,6 +26,9 @@ rules: - after-props react/require-default-props: - 0 + no-param-reassign: + - error + - props: false env: es6: true browser: true diff --git a/src/js/input-range/slider.jsx b/src/js/input-range/slider.jsx index 3df937b..e1de788 100644 --- a/src/js/input-range/slider.jsx +++ b/src/js/input-range/slider.jsx @@ -88,6 +88,17 @@ export default class Slider extends React.Component { return style; } + /** + * @private + * @return {void} + */ + setZIndex() { + this.node.parentElement.childNodes.forEach((child) => { + child.style.zIndex = '0'; + }); + this.node.style.zIndex = '2'; + } + /** * Listen to mousemove event * @private @@ -168,6 +179,7 @@ export default class Slider extends React.Component { handleMouseDown() { this.addDocumentMouseMoveListener(); this.addDocumentMouseUpListener(); + this.setZIndex(this.node); } /** @@ -198,6 +210,7 @@ export default class Slider extends React.Component { handleTouchStart() { this.addDocumentTouchEndListener(); this.addDocumentTouchMoveListener(); + this.node.style.zIndex = '2'; } /** @@ -228,6 +241,7 @@ export default class Slider extends React.Component { @autobind handleKeyDown(event) { this.props.onSliderKeyDown(event, this.props.type); + this.node.style.zIndex = '2'; } /** @@ -236,7 +250,6 @@ export default class Slider extends React.Component { */ render() { const style = this.getStyle(); - return ( Date: Thu, 20 Apr 2017 12:30:49 +0700 Subject: [PATCH 2/3] cleanup old code --- src/js/input-range/slider.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/js/input-range/slider.jsx b/src/js/input-range/slider.jsx index e1de788..0cd45b1 100644 --- a/src/js/input-range/slider.jsx +++ b/src/js/input-range/slider.jsx @@ -210,7 +210,7 @@ export default class Slider extends React.Component { handleTouchStart() { this.addDocumentTouchEndListener(); this.addDocumentTouchMoveListener(); - this.node.style.zIndex = '2'; + this.setZIndex(this.node); } /** @@ -241,7 +241,7 @@ export default class Slider extends React.Component { @autobind handleKeyDown(event) { this.props.onSliderKeyDown(event, this.props.type); - this.node.style.zIndex = '2'; + this.setZIndex(this.node); } /** From 58036f54c2f8f631a4da83bf92478df3d12091a0 Mon Sep 17 00:00:00 2001 From: John Behan Date: Thu, 20 Apr 2017 14:12:06 +0700 Subject: [PATCH 3/3] fix issue with not passing ci - phantomjs --- src/js/input-range/slider.jsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/js/input-range/slider.jsx b/src/js/input-range/slider.jsx index 0cd45b1..1754075 100644 --- a/src/js/input-range/slider.jsx +++ b/src/js/input-range/slider.jsx @@ -89,6 +89,8 @@ export default class Slider extends React.Component { } /** + * set all sibling z-index values to zero + * set current node z-index to 2 * @private * @return {void} */ @@ -179,7 +181,6 @@ export default class Slider extends React.Component { handleMouseDown() { this.addDocumentMouseMoveListener(); this.addDocumentMouseUpListener(); - this.setZIndex(this.node); } /** @@ -188,6 +189,7 @@ export default class Slider extends React.Component { */ @autobind handleMouseUp() { + this.setZIndex(this.node); this.removeDocumentMouseMoveListener(); this.removeDocumentMouseUpListener(); } @@ -210,7 +212,6 @@ export default class Slider extends React.Component { handleTouchStart() { this.addDocumentTouchEndListener(); this.addDocumentTouchMoveListener(); - this.setZIndex(this.node); } /** @@ -229,6 +230,7 @@ export default class Slider extends React.Component { */ @autobind handleTouchEnd() { + this.setZIndex(this.node); this.removeDocumentTouchMoveListener(); this.removeDocumentTouchEndListener(); } @@ -240,8 +242,8 @@ export default class Slider extends React.Component { */ @autobind handleKeyDown(event) { - this.props.onSliderKeyDown(event, this.props.type); this.setZIndex(this.node); + this.props.onSliderKeyDown(event, this.props.type); } /**