react-scroll
Advanced tools
Comparing version 1.3.1 to 1.4.0
@@ -22,3 +22,5 @@ "use strict"; | ||
onClick: React.PropTypes.func, | ||
duration: React.PropTypes.oneOfType([React.PropTypes.number, React.PropTypes.func]) | ||
duration: React.PropTypes.oneOfType([React.PropTypes.number, React.PropTypes.func]), | ||
absolute: React.PropTypes.bool, | ||
onSetActive: React.PropTypes.func | ||
}; | ||
@@ -122,2 +124,9 @@ | ||
var spyHandler = function(y) { | ||
var containerTop = 0; | ||
if(scrollSpyContainer.getBoundingClientRect) { | ||
var containerCords = scrollSpyContainer.getBoundingClientRect(); | ||
containerTop = containerCords.top; | ||
} | ||
if(!element || this.props.isDynamic) { | ||
@@ -128,6 +137,8 @@ element = scroller.get(to); | ||
var cords = element.getBoundingClientRect(); | ||
elemTopBound = (cords.top + y); | ||
elemTopBound = (cords.top - containerTop + y); | ||
elemBottomBound = elemTopBound + cords.height; | ||
} | ||
var offsetY = y - this.props.offset; | ||
@@ -134,0 +145,0 @@ var isInside = (offsetY >= Math.floor(elemTopBound) && offsetY <= Math.floor(elemBottomBound)); |
{ | ||
"name": "react-scroll", | ||
"version": "1.3.1", | ||
"version": "1.4.0", | ||
"description": "A scroll component for React.js", | ||
@@ -5,0 +5,0 @@ "main": "lib", |
@@ -31,3 +31,2 @@ ## React Scroll | ||
var Link = Scroll.Link; | ||
var DirectLink = Scroll.DirectLink; | ||
var Element = Scroll.Element; | ||
@@ -69,6 +68,9 @@ var Events = Scroll.Events; | ||
}, | ||
handleSetActive: function(to) { | ||
console.log(to); | ||
}, | ||
render: function () { | ||
return ( | ||
<div> | ||
<Link activeClass="active" to="test1" spy={true} smooth={true} offset={50} duration={500} > | ||
<Link activeClass="active" to="test1" spy={true} smooth={true} offset={50} duration={500} onSetActive={this.handleSetActive}> | ||
Test 1 | ||
@@ -79,5 +81,5 @@ </Link> | ||
</Link> | ||
<DirectLink className="test6" to="anchor" spy={true} smooth={true} duration={500}> | ||
<Link className="test6" to="anchor" spy={true} smooth={true} duration={500}> | ||
Test 6 (anchor) | ||
</DirectLink> | ||
</Link> | ||
<Button activeClass="active" className="btn" type="submit" value="Test 2" to="test2" spy={true} smooth={true} offset={50} duration={500} > | ||
@@ -156,2 +158,4 @@ Test 2 | ||
> onSetActive - invoke whenever link is being set to active | ||
```js | ||
@@ -166,2 +170,3 @@ <Link activeClass="active" | ||
isDynamic={true} | ||
onSetActive={this.handleSetActive} | ||
> | ||
@@ -310,3 +315,8 @@ Your name | ||
#### Changelog | ||
> v1.4.0 | ||
- It's now possible to nest scroll areas and get a callback when "link is active" | ||
> v1.3.0 | ||
- Remove directlink, now just use Link. | ||
> v1.2.0 | ||
@@ -313,0 +323,0 @@ - Now using passive event listeners. |
40327
922
346