Skip to content

Latest commit

 

History

History
155 lines (98 loc) · 6.55 KB

CHANGELOG.md

File metadata and controls

155 lines (98 loc) · 6.55 KB

1.15.1

  • This is a preparation to some code-refactoring and bigger changes aimed for v2
  • Preparation to deprecate getScroll and getAreaRect. They will both become internal methods. Unless you've valid reasons to keep exposing them.
  • We will soon also prevent you from using most internal methods (those marked with _ at the start). You'll not be able to extend them, nor override, nor use directly. Also here, unless you've valid reasons to keep them exposed.

1.15.0

  • Use rollup to build the package: this simplifies the portability of the module and will allow to split the code going forward.
  • Added tests for various import types (default, amd & esm)

1.14.0

  • Enhanced auto-scrolling. See PR 59. Big thanks to @slinhart for this addition <3

1.13.3-5

  • Update & upgrade dev-deps
  • Use puppeteer-jest for faster & cleaner tests
  • Fix typing issues (unused properties should be used last)
  • Deprecating isCursorNearEdge(event, area) in favor of isCursorNearEdge(area, event)
  • Using uglify-js as new uglifier

1.13.2

  • Update dev deps
  • Extract some build functionality from package.json to /bin
  • Fix typos in functional tests
  • Update raw DragSelect to meet new standards from prettier

1.13.1

  • Quick-Fix for zoom issue. See PR #42

1.13.0

  • Add zoom value for use-cases with CSS scale transformations. Implemented in PR #40. Thanks to @staradayev for your contribution!

1.12.2

  • Keep selection when clicking on scrollbars. Fixes #36

1.12.1

  • Improve private event callbacks

1.12.0

  • Fix bugs related to the stop() functionality #37 and #38. Big thanks to @Martin-Eckleben for the contribution!
    • Note that reset() now only resets the tool while resetWithCallback() also triggers the callback.
  • Improve automatic tests
  • Add typechecking to tests

1.11.3

  • Keep the dist/ folder holding only the relevant files. In order to not introduce breaking changed to standarts introduced earlier.
  • Automated all manual tests (functional) and added a CI process to improve project stability and maintainability.

1.11.2

  • Use DragSelect.js as "main" in package.json in order to get intellisense

1.11.1

  • Add em6 moduled files that have native module export DragSelect that can be used in for example:
<script type="module">
  import DragSelect from "path/to/DragSelect.es6m.js"
  new DragSelect({...});
</script>

1.11.0

  • Moved the files from the dist folder to the docs folder to adhere to github pages standart
  • Improve code stability by enforcing typechecks via JS-Docs, inspired by truckjs
  • Partial rewrite using native ES6 classes transpiling down to ES5 using babel.
    Note: first I refactored the code to TypeScript but then rolled back because it might limit the ability of external people to contribute due to the new language
  • Improve documentation by autogenerating it with JS-Docs

1.10.0

  • Add touch device support (i.e. Mobile Phones)
  • Preparations for modern code. I.e. ES6:
    Usind Babel to transpile downwards to ES5. This should not result in any changes on your side.

1.9.1

  • Dropped IE9 support. Oldest browser is now IE10 (should still work on IE9. Just stopped testing that browser)
  • Fix IE document.documentElement scrolling bug

1.9.0

  • Fix non scrollable document element issue. See #35
  • Added onDragStartBegin callback. Helpful for my friends at issue #24
  • Increase performance by calculating the selection rectangle outside of the _isElementTouching function. Tested on 30.000 Nodes. The selection is still usable although a bit laggy on 30k nodes.
  • Rename isElementTouching to private _isElementTouching. You also have to pass a selectionRect as second argument now instead of just passing the container node. This is not considered a breaking change because that function was not exposed before.
  • Add prettier & eslint + prettify code

1.8.1

  • add setSelectables() method. Based on request from @n1crack. See issue #30
  • [local tests] replace manual test3 with an automated test for constrained selection

1.8.0

  • CSS Classes naming is now customizable. See PR #27. Thanks to @ant1ucem for the contribution!

1.7.24

  • add multiSelectMode to set the multi-selection as default behavior. See #19. Thanks to @riless for the contribution!

1.7.21-23

  • fix issue with getCursorPositionDifference for single clicks. See #13. Big thanks to @RealTJ for the help
  • ! getCursorPositionDifference now returns negative values when moving to the left and positive values when moving to the right (exact oposite as before). This is more consistent with the default behaviour on a X/Y axis.

1.7.20

  • Add new .toggleSelection public method

1.7.19

  • Solve issue #10
  • Improve public .getCursorPos() method and made initial one private
  • Add more local tests representing different scenarios for proper manual testing

1.7.18

  • Prevent rightclick from triggering a selection.
  • Add release event to the document not the area. (makes more sense, as a user, when I release the mouse click I want to release selection as well)

1.7.16 + 1.7.17

  • Fix selection algorithm issue reported in issue #9
  • Improve .addSelection, .removeSelection and .setSelection by adding a third option (see docs).

1.7.15

  • Add several new methods, helpful for user: .addSelection, .removeSelection, .setSelection, .clearSelection.

1.7.14

  • Enhanced SVG support for legacy browsers

1.7.13

  • Add AMD Modules support

1.7.12

  • Add SVG Support
  • Add break functionality to break out of execution from within callbacks
  • Add 2 more callbacks: onDragStart and onDragMove
  • Pass the event object to callback