Skip to content

Commit 0e9fc08

Browse files
committed
Update examples
1 parent 373e67f commit 0e9fc08

File tree

2 files changed

+73
-24
lines changed

2 files changed

+73
-24
lines changed

examples/src/index.jsx

Lines changed: 66 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,77 @@
1+
import _ from 'lodash';
12
import React from 'react';
23
import ReactDOM from 'react-dom';
34
import Sortable from 'react-sortablejs';
45
import SimpleList from './simple-list';
56
import SharedGroup from './shared-group';
67

7-
ReactDOM.render(
8-
<div>
9-
<div className="container-fluid">
10-
<div className="title">Simple List</div>
11-
<div className="row">
12-
<div className="col-sm-12">
13-
<SimpleList />
14-
</div>
15-
</div>
16-
</div>
17-
<div className="container-fluid">
18-
<div className="title" style={{marginTop: 100}}>Shared Group</div>
19-
<div className="row">
20-
<div className="col-sm-6">
21-
<SharedGroup
22-
items={['Apple', 'Banaba', 'Cherry', 'Grape']}
23-
/>
8+
const items = [
9+
'Apple',
10+
'Banana',
11+
'Cherry',
12+
'Guava',
13+
'Grape',
14+
'Kiwi',
15+
'Lemon',
16+
'Melon',
17+
'Orange',
18+
'Pear',
19+
'Peach',
20+
'Strawberry'
21+
];
22+
23+
class App extends React.Component {
24+
state = {
25+
left: ['Apple', 'Banaba', 'Cherry', 'Grape'],
26+
right: ['Lemon', 'Orange', 'Pear', 'Peach']
27+
};
28+
29+
handleClick() {
30+
const i = _.random(0, items.length - 1);
31+
const state = this.state.left.concat(items[i]);
32+
this.setState({ left: state });
33+
}
34+
render() {
35+
return (
36+
<div>
37+
<div className="container-fluid">
38+
<div className="title">Simple List</div>
39+
<div className="row">
40+
<div className="col-sm-12">
41+
<SimpleList />
42+
</div>
43+
</div>
2444
</div>
25-
<div className="col-sm-6">
26-
<SharedGroup
27-
items={['Lemon', 'Orange', 'Pear', 'Peach']}
28-
/>
45+
<div className="container-fluid">
46+
<div className="title" style={{marginTop: 100}}>Shared Group</div>
47+
<div className="form-group">
48+
<button
49+
type="button"
50+
className="btn btn-default"
51+
onClick={::this.handleClick}
52+
>
53+
Add more items
54+
</button>
55+
</div>
56+
<div className="row">
57+
<div className="col-sm-6">
58+
<SharedGroup
59+
items={this.state.left}
60+
/>
61+
</div>
62+
<div className="col-sm-6">
63+
<SharedGroup
64+
items={this.state.right}
65+
/>
66+
</div>
67+
</div>
2968
</div>
3069
</div>
31-
</div>
32-
</div>,
70+
);
71+
}
72+
}
73+
74+
ReactDOM.render(
75+
<App />,
3376
document.getElementById('container')
3477
);

examples/src/shared-group.jsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@ import Sortable from 'react-sortablejs';
44
const sortableOptions = {
55
ref: 'list',
66
model: 'items',
7-
group: 'shared'
7+
group: {
8+
name: 'shared',
9+
pull: true, //'clone',
10+
put: true
11+
}
812
};
913

1014
@Sortable(sortableOptions)
@@ -24,6 +28,8 @@ export default class SharedGroup extends React.Component {
2428
const items = this.state.items.map((text, index) => (
2529
<li key={index}>{text}</li>
2630
));
31+
32+
console.log('##', this.state.items);
2733

2834
return (
2935
<ul ref="list" className="block-list">{items}</ul>

0 commit comments

Comments
 (0)