0.2.8 • Published 6 years ago

react-smooth-draggable-list v0.2.8

Weekly downloads
81
License
MIT
Repository
-
Last release
6 years ago

React Smooth Draggable List

smooth, mobile-friendly, draggable list component for react.

:star: Check out the Demo :star:

How to Use It

Install

This component can be installed with npm:

npm install react-smooth-draggable-list --save

Include

import List from 'react-smooth-draggable-list'

Examples

Simple Example:
const items = [1, 2, 3]
<List rowHeight={80}>{
  items.map(item => <List.Item>item {item}</List.Item>)
}</List>
Controlled Example:
class MyList extends React.Component {
  // order index starts at zero
  state = {order: [1, 0, 2]}

  render() {
    return (
      <List
        rowHeight={50}
        order={this.state.order}
        onReOrder={order => this.setState({order})}
      >
        <List.Item>item 1</List.Item>
        <List.Item>item 2</List.Item>
        <List.Item>item 3</List.Item>
      </List>
    )
  }
}
More:

You can find more examples in the demo source code.

Props

List:
NameTypeDefaultDescription
orderarraynullorder is optional - when it is not defined, the list will be uncontrolled.
onReOrder(order) => {}nullThe onReOrder callback is invoked every time a user changes the list order. order is a list of integers representing the order of items.
rowHeightinteger0Required: RowHeight defines the height of each list item in pixels.
rowWidthintegernullRowWidth defines the width of the list component in pixels. Width defaults to 100% of parent.
gutternumbernullAmount of space between list items in pixels. Defaults to 0.1 * props.rowHeight.
springConfigobjectnullDrag animation control. Object has three keys. stiffness: optional, defaults to 300. damping: optional, defaults to 50. precision: optional, defaults to 0.05.
List.Item:
NameTypeDefaultDescription
dragHandleComponentnullPass in a functional component. See DragHandle in demo source code for an example.
disabledbooleanfalseAllows user to disable list items.

How to Contrubite

# install with dev dependencies
npm install react-smooth-draggable-list --save-dev
# run the dev server on port 2100
npm run dev

npm run dev will run a dev server with hot reloading enabled. The dev server runs at http://localhost:2100. Dev server source code is here.

0.2.8

6 years ago

0.2.7

6 years ago

0.2.6

6 years ago

0.2.5

6 years ago

0.2.4

6 years ago

0.2.3

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago

0.0.0

6 years ago