An Ember component for jQuery UI's Sortable Widget.
As an ember-cli addon:
npm install --save-dev ivy-sortable
ember generate ivy-sortable
Or if you aren't using ember-cli, you can use this library as a standalone Bower package:
bower install --save ivy-sortable
...and then add the ivy-sortable.js
script to your page.
Use the ivy-sortable
view with Ember's built-in collection
helper.
This will output a sortable list, and dragging and dropping items will reorder
them in the corresponding array (in this case, people
). There is also
a moved
action that will fire after an item has been moved, in case you want
to take further action:
In this case the movePerson
handler will be called with the item that has
been moved, and its old and new index:
App.ApplicationController = Ember.Controller.extend({
actions: {
movePerson: function(person, oldIndex, newIndex) {
// ...
}
}
});
The following jQuery UI Sortable options are supported:
axis
containment
cursor
cursorAt
delay
disabled
distance
forceHelperSize
forcePlaceholderSize
grid
handle
helper
opacity
placeholder
revert
scroll
scrollSensitivity
scrollSpeed
tolerance
zIndex
Fork this repo, make a new branch, and send a pull request. Make sure your change is tested or it won't be merged.
To run tests:
git clone # <this repo>
npm install
npm test
Or, to start a test server that continually runs (for development):
ember test --server