Skip to content

Commit

Permalink
Merge pull request #41 from erichbehrens/feature/on-slide-change
Browse files Browse the repository at this point in the history
Feature/on slide change
  • Loading branch information
erichbehrens committed May 3, 2018
2 parents 5508e1d + 726fd58 commit 78da363
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 5,819 deletions.
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,14 +77,20 @@ Disable slider navigation through touch events

Minimum distance to swipe for triggering a navigation event

**previousButton** - `ReactElement`, default `string "previous"`
**previousButton** - `ReactElement`, default is an arrow svg

Will be rendered inside the previous button

**nextButton** - `ReactElement`, default `string "next"`
**nextButton** - `ReactElement`, default is an arrow svg

Will be rendered inside the next button

**onSlideChange** - `function`, called after the current slide has changed; receives an object with the new slide index as argument:

```js
<Slider onSlideChange={event => console.log(event.slideIndex)>
```
**classNames** `object`, default
```js
Expand Down
2 changes: 1 addition & 1 deletion build/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "react-animated-slider",
"version": "1.0.2",
"version": "1.1.1",
"description": "Animated slider component for react",
"main": "build/index.js",
"scripts": {
Expand Down
3 changes: 3 additions & 0 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,9 @@ class Slider extends React.PureComponent {
animation: undefined,
});
this.setupAutoplay();
if (typeof this.props.onSlideChange === 'function') {
this.props.onSlideChange({ slideIndex: this.nextSlideIndex });
}
};

isDisabled = () =>
Expand Down
9 changes: 9 additions & 0 deletions src/index.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,15 @@ test('test autoslide disabled', () => {
expect(initialSnapshot).toEqual(slider.toJSON());
});

test('onSlideChange should be called with new slide index', () => {
const callback = jest.fn();
const slider = ReactTestRenderer.create(<Slider onSlideChange={callback}><div /><div /></Slider>);
slider.getInstance().next();
jest.runAllTimers();
expect(callback.mock.calls.length).toBe(1);
expect(callback.mock.calls[0][0]).toHaveProperty('slideIndex', 1);
});

test('test autoslide enabled', () => {
const autoplay = 2000;
const slider = ReactTestRenderer.create(<Slider autoplay={autoplay}><div /><div /></Slider>);
Expand Down
Loading

0 comments on commit 78da363

Please sign in to comment.