All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Vue 3 support
- Under some conditions, the wrong
pathTo
value would be passed to thechange
event.
- Fixed a bug where under some conditions the
.nestable-drag-layer
element would not render until the next frame, therefore calculating its size would throw an error.
- When moving the mouse slowly, the ghost item would appear in the top left corner until the next mousemove event triggerd. This is now fixed. #87
- Upgraded dependencies.
- Upgraded dependencies.
- Fixes a bug that caused the dragging item to be offset when the content was in a scrollable container. #17
This release updates many dependencies to the latest version.
This release updates many dependencies to the latest version. There are no new features or changes in this release.
There are no new features or changes in this release.
- Upgraded many internal dev-dependencies as well as our build tools.
- Fixed an issue that caused an items nesting level to be always increased on the first interaction. #24
- You have now the option to pass hooks that get called when an item is moved. This gives you greater flexibility and the option to prevent specific items from being dragged.
- In some cases, the
onMouseEnter
event would fire after the drag operation was already completed. This would cause an unhandled exception. #22
- The
items
property in thechange
event is no longer undefined, but actually contains the data that was promised.
- The
options
object in thechange
event now includes theitems
prop. Theitem
prop gives access to the new list of all items after the changes were applied. #20 (by @notflip)
- The default slot that renders the item now provides an
isChild
prop
- Small performance improvement when finding the closest parent of an element
- The position for the ghost element is now calculated correctly when the list is inside a scrollable container. #17
- You now get additional information in the change event about the item that
was moved. For now, we only set the
pathTo
attribute. #13 (by @iceflash)
- Modernized the development environment. We now use Webpack to build vue-nestable. In addition, we now export multiple builds: common-js, es, iife, and umd. You can import a different build if you need to, but node and webpack will automatically use what works best for your setup.
- Dragging items that are not of equal size should now work better. Currently this is only fixed on the desktop, on mobile the issue still persists.
Only a month after we hit version 1.0.0, we are already releasing version 2.0.0! So Yay... I guess? 😃
But we release this new version not because we added many new features, but because we made a potential breaking change so you might have to make changes to your code. And since we follow semver: here is version 2.0.0.
- The vue-nestable-handle component now uses a div instead of a span as a
wrapper element to allow for more flexible content. If you are using the
handle next to other content, you might have to set
display: inline;
on the.nestable-handle
class.
- support for touch events to handle drag & drop on mobile device.
- the option to add custom classes to an item by setting
classProp
to the name of the property that holds your class for each item.
- When a string was passed to the class prop it was expanded to an array of characters in the browser version of vue.
- You can add custom classes to an item by setting
classProp
to the name of the property that holds your class for each item.
- The vue-nestable-handle component now uses a div instead of a span to allow
for more flexible content. If you are using the handle next to other
content, make sure to set
display: inline;
on.nestable-handle
. #9 (by @Guntau)
- vue-nestable now supports touch events to handle drag & drop on mobile device.
🎉 I'm proud to announce that version 1.0 has landed. 🎉
No changes since the last beta release, but if you are upgrading from a 0.x release, please note that the polyfill for the experimental support for binding scopedSlots was removed. See Installation for details on how to import the component.
- You can now access the
index
of the item in the scoped-slot. - The components
VueNestable
andVueNestableHandle
are exposed as named exports.
- Renamed component names to PascalCase.
keyProp
was documented but never implemented. You can now set thekeyProp
that is used to identifie the item.
🎉 We are approaching the first official release of vue-nestable. Check out this beta and please report any bugs you may encounter.
- Switched from binding scopedSlots to useing a template loop with slots, #2 (by @pbastowski)
- The polyfill for the experimental support for binding scopedSlots was removed.