DragSelect Versions Save

An easy JavaScript library for selecting and moving elements. With no dependencies. Drag-Select & Drag-And-Drop. – Examples:

v3.0.5

2 months ago
  • Fix type issue during build bug #212

Full Changelog: https://github.com/ThibaultJanBeyer/DragSelect/compare/v3.0.4...v3.0.5

v3.0.4

7 months ago

v3.0.3

7 months ago

Breaking Updates

Moving the project to typescript

  • Enable complex typings
  • Removes typing issues from the past

New license model

  • Free to everything for non-commercial, paid for commercial projects
  • Fees will be split with contributors
  • Enables faster development cycles
  • Keeps the lights on
  • Attract talent to collaborate

Callbacks Refactor

"elementselect" => "DS:select",
"elementunselect" => "DS:unselect",
"autoscroll" => "DS:scroll",
"dragstart" => "DS:start",
"dragmove" => "DS:update",
"callback" => "DS:end",
"preelementselect" => "DS:select:pre",
"preelementunselect" => "DS:unselect:pre",
"preautoscroll" => "DS:scroll:pre",
"predragstart" => "DS:start:pre",
"predragmove" => "DS:update:pre",
"precallback" => "DS:end:pre",
  • New callbacks:
"DS:added:pre"
"DS:added"
"DS:removed:pre"
"DS:removed"

Box-Dragging as new default

  • This is the default expected behaviour, hence if should be the default

Binary files restructure

  • Renamed .es6m to .esm because that makes more sense
  • Release only /dist folder for a small package size (previously also packaged the src folder for curious people, BUT they can also just come check out the code on github imo.

Removing self-hosted versions

  • This was just bad practice from ancient times

Extras (non-breaking)

  • Previous setting dragAsBlock is the default behavior.
  • Add an over-writeable method to filter the elements that are supposed to be dragged .filterDragElements Override inspired by #158
  • Fix persistance of removeSelectables as of 148 note however, that the items are still in the settings, thus will be re-added when manually running .start()
  • Add keyboard drop-zoning solving 149
  • Fix key stroke bug #181

v3.0.0

7 months ago

Breaking Updates

Moving the project to typescript

  • Enable complex typings
  • Removes typing issues from the past

New license model

  • Free to everything for non-commercial, paid for commercial projects
  • Fees will be split with contributors
  • Enables faster development cycles
  • Keeps the lights on
  • Attract talent to collaborate

Callbacks Refactor

"elementselect" => "DS:select",
"elementunselect" => "DS:unselect",
"autoscroll" => "DS:scroll",
"dragstart" => "DS:start",
"dragmove" => "DS:update",
"callback" => "DS:end",
"preelementselect" => "DS:select:pre",
"preelementunselect" => "DS:unselect:pre",
"preautoscroll" => "DS:scroll:pre",
"predragstart" => "DS:start:pre",
"predragmove" => "DS:update:pre",
"precallback" => "DS:end:pre",
  • New callbacks:
"DS:added:pre"
"DS:added"
"DS:removed:pre"
"DS:removed"

Box-Dragging as new default

  • This is the default expected behaviour, hence if should be the default

Removing self-hosted versions

  • This was just bad practice from ancient times

Extras (non-breaking)

  • Previous setting dragAsBlock is the default behavior.
  • Add an over-writeable method to filter the elements that are supposed to be dragged .filterDragElements Override inspired by #158
  • Fix persistance of removeSelectables as of 148 note however, that the items are still in the settings, thus will be re-added when manually running .start()
  • Add keyboard drop-zoning solving 149
  • Fix key stroke bug #181

v2.7.4

1 year ago

v2.7.2

1 year ago
  • Add readme to npmjs
  • Fix bug #170 where area position was not updated after a start when the area was the document itself and there was a timeout.

v2.7.0

1 year ago
  • Introduce blog-drag as alpha. It is supposed to fix dragging of multiple elements: dragging them as one block keeping aspect ratio positions on drag-scroll. Instead of moving elements individually. This was considered a bug. However as it is not fully tested it comes under a flag, please turn it on by setting dragAsBlock: true and report any issue you find here. Thanks to @rendertom for the addition #162.

Note: this feature will be turned on by default in a future release once proper testing and all bugs are fixed

v2.6.1

1 year ago

v2.6.0

1 year ago
  • Introducing Overrides as a new concept to help advanced modification use-cases like #150 in collaboration with @HollowMan6
  • Expose filterSelected in Selection module
  • Expose isCollision helper method

v2.5.5

1 year ago
  • Fix the bug where setting a new area via .setSettings({ area: '...' }) would not remove the old event listeners. Which causes the mobile touch scroll from being blocked when switching between the Document to an area.