Skip to content

Commit abf8223

Browse files
author
wfbn8821
committed
improve example
1 parent 8abdbc1 commit abf8223

File tree

1 file changed

+38
-23
lines changed

1 file changed

+38
-23
lines changed

example/index.js

Lines changed: 38 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,25 @@ import React from 'react'
22
import ReactDOM from 'react-dom'
33
import CardScroll from '../lib'
44

5+
const texts = ["Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas feugiat metus vel dui tristique, vitae suscipit libero ullamcorper. Phasellus ultrices ultricies gravida. Sed ut euismod tortor, et consectetur lectus. Etiam sollicitudin ligula metus, eget rhoncus velit scelerisque a. Sed ac varius ipsum. Etiam vel suscipit arcu, vel sagittis eros. Integer luctus urna quis malesuada maximus. Quisque ut gravida erat. Sed vestibulum neque eu ligula posuere, a dapibus augue tempus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec lobortis luctus lectus, a fringilla nulla vehicula eu. Cras mollis ullamcorper ornare. In hac habitasse platea dictumst. Ut pretium mauris id nunc finibus, at elementum lorem tristique. In hac habitasse platea dictumst. Donec commodo risus at lacinia porta.",
6+
"Aliquam lectus metus, tincidunt non diam non, rutrum pellentesque tortor. Nam at pulvinar nunc. Integer nisi diam, semper a nisi sed, mattis aliquet magna. Integer purus nulla, mollis eget enim eget, lobortis aliquam dui. Aenean sit amet libero id augue lacinia lacinia et vel mauris. Suspendisse consectetur a erat sit amet suscipit. Mauris a maximus nisi, vel sagittis nisi. Suspendisse sed consectetur nulla. Integer ut erat et tortor sodales suscipit pharetra ut nibh. Suspendisse cursus suscipit justo, sed consequat ipsum blandit id. Nullam ut risus mauris. Proin suscipit id sapien gravida ultricies. Duis sit amet nibh fringilla, viverra odio et, rhoncus mauris. Curabitur ac tellus nibh. In cursus, sem id iaculis lacinia, odio ante fermentum odio, at ullamcorper urna dui et purus. Cras dictum augue et dolor facilisis ornare. ",
7+
"Nam molestie ex molestie massa feugiat accumsan. Nulla facilisi. Cras libero neque, tristique nec eros non, venenatis sollicitudin sem. Nunc et turpis et orci aliquam congue. Maecenas hendrerit odio congue erat ultricies lobortis nec ut sem. Sed tristique purus in sapien dapibus luctus. Vivamus sed tempus purus, in ultricies diam. Nulla fermentum massa nec congue vestibulum. Vivamus gravida lacinia tempus. Nunc efficitur sit amet justo in fringilla. Nam bibendum est elit, in porta est iaculis nec. Praesent tempor blandit hendrerit. Donec hendrerit tortor elementum odio hendrerit, ac consequat sapien tristique.",
8+
"Suspendisse non lobortis ex. Nunc sagittis sapien ac ipsum accumsan dapibus. Proin efficitur non urna sed tempus. Pellentesque cursus nibh sed nisi porttitor, ut porttitor augue tempus. Donec et consequat quam. Praesent fringilla malesuada elit, at finibus nibh ullamcorper eu. Proin a consectetur sem, nec sagittis sapien. Suspendisse maximus, ligula vitae faucibus fermentum, orci mi sagittis lorem, vitae mattis urna tellus ut sem."]
9+
510
const ScrollableTitleCard = React.createClass({
611
componentDidMount() {
712
this.refs.title.addEventListener('wheel', event => {
8-
this.props.scrollCards({toLeft:event.wheelDelta>0})
13+
this.props.scrollCards({toLeft: event.wheelDelta > 0})
914
event.preventDefault()
1015
})
1116
},
1217
render() {
1318
const {title, children, className, style} = this.props
1419
const onClick = ev => {
1520
const offset = this.props.getCardOffset()
16-
if(offset!=0){
21+
if (offset != 0) {
1722
ev.preventDefault()
18-
this.props.scrollCards({toLeft:offset<0})
23+
this.props.scrollCards({toLeft: offset < 0})
1924
}
2025
}
2126
return (
@@ -35,41 +40,48 @@ const ScrollableTitleCard = React.createClass({
3540

3641
const Example = React.createClass({
3742
getInitialState(){
38-
return {cards: [
39-
<ScrollableTitleCard title="Card 1" key="card1" />,
40-
<ScrollableTitleCard title="Card 2" key="card2" >
41-
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
42-
<br/>
43-
<br/>
44-
<br/>
45-
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
46-
</ScrollableTitleCard>,
47-
<ScrollableTitleCard title="Card 3" key="card3" />,
48-
<ScrollableTitleCard title="Card 4" key="card4" />
49-
]}
43+
return {
44+
cards: [
45+
<ScrollableTitleCard title="Card 1" key="card1">
46+
{texts[0]}
47+
</ScrollableTitleCard>,
48+
<ScrollableTitleCard title="Card 2" key="card2">
49+
{texts[1]}
50+
</ScrollableTitleCard>,
51+
<ScrollableTitleCard title="Card 3" key="card3">
52+
{texts[2]}
53+
</ScrollableTitleCard>,
54+
<ScrollableTitleCard title="Card 4" key="card4">
55+
{texts[3]}
56+
</ScrollableTitleCard>
57+
]
58+
}
5059
},
5160

5261
addCard(){
53-
const index = this.state.cards.length+1
62+
const index = this.state.cards.length + 1
5463
let cards = this.state.cards.slice()
55-
cards.push(<ScrollableTitleCard title={`Card ${index}`} key={`card${index}`} />)
64+
cards.push(
65+
<ScrollableTitleCard title={`Card ${index}`}
66+
key={`card${index}`}>{texts[index % 4]}
67+
</ScrollableTitleCard>)
5668
this.setState({cards})
5769
},
5870

5971
removeCard(){
6072
let cards = this.state.cards.slice()
61-
if(cards.length>0){
62-
cards.splice(cards.length-1)
73+
if (cards.length > 0) {
74+
cards.splice(cards.length - 1)
6375
this.setState({cards})
6476
}
6577
},
6678

6779
componentDidUpdate(prevProps, {cards}){
68-
if(cards.length<this.state.cards.length){
69-
this.refs.cardScroll.scrollCards({number:1000})
80+
if (cards.length < this.state.cards.length) {
81+
this.refs.cardScroll.scrollCards({number: 1000})
7082
}
7183
},
72-
84+
7385
render() {
7486
const scrollCards = params => this.refs.cardScroll.scrollCards(params)
7587
const getCardOffset = index => () => this.refs.cardScroll.getCardOffset(index)
@@ -78,7 +90,10 @@ const Example = React.createClass({
7890
<button onClick={this.addCard}>Add card</button>
7991
<button onClick={this.removeCard}>Remove last card</button>
8092
<CardScroll ref="cardScroll">
81-
{this.state.cards.map((el, index) => React.cloneElement(el, {scrollCards, getCardOffset:getCardOffset(index)}))}
93+
{this.state.cards.map((el, index) => React.cloneElement(el, {
94+
scrollCards,
95+
getCardOffset: getCardOffset(index)
96+
}))}
8297
</CardScroll>
8398
</div>
8499
)

0 commit comments

Comments
 (0)