Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a destroy method #404

Merged
merged 1 commit into from
Sep 6, 2019
Merged

Add a destroy method #404

merged 1 commit into from
Sep 6, 2019

Conversation

karlito40
Copy link
Contributor

PR Checklist

Please review the guidelines for contributing to this repository.

  • I am requesting to pull a feature branch (right side). In other words, not master.
  • I have run yarn test against my changes and tests pass.
  • I have added tests to prove my fix is affective or my feature works. This can be done in the form of unit tests in test/unit/ or a new or altered demo in demo/.
  • I have added or edited necessary documentation in the README.md, or no docs changes are needed.

Description

I've added a destroy method to remove all event listeners bind to the Panzoom Element as there was no way to do it or i didn't found it.

I 'm not sure of the api you want though.

I have manually test that it does remove all the listeners. I tried to add some unit tests for it but i don't really know the better way to test these listeners with karma. I may be able to do it this week end If you really need it.

Feel free to fix my english ;)

Copy link
Owner

@timmywil timmywil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good to me! Thanks for the PR.

@timmywil timmywil merged commit c88ef75 into timmywil:master Sep 6, 2019
timmywil added a commit that referenced this pull request Oct 29, 2019
* master:
  docs: update docs, adding destroy, exclude, and excludeClass
  feat(exclude): add exclude option; change clickableClass to excludeClass
  Update rollup-plugin-typescript2 to the latest version 🚀 (#412)
  Update puppeteer to the latest version 🚀 (#409)
  chore(deps): upgrade packages
  Update concurrently to the latest version 🚀 (#405)
  test(destroy): add test for new destroy method
  feat: add a destroy method (#404)
  chore(deps): upgrade packages
  fix(handleup): remove pointer regardless of isPanning state
  build(demo): add task for building the demo for gh-pages
  fix(css): fix border width retrieval in Firefox
  refactor(panzoom): be specific about panzoom event names
  chore(package): update rollup-plugin-typescript2 to version 0.24.0 (#401)
  chore(package): update rollup-plugin-typescript2 to version 0.23.0 (#400)
  chore(deps): upgrade packages
  docs(zoomtopoint): the point is more like from the element's parent
  docs(readme): regenerate source URLs for docs
timmywil added a commit that referenced this pull request Dec 16, 2019
# [4.0.0](3.2.3...4.0.0) (2019-12-16)

### Bug Fixes

* **contain:** always set scale before using constrainXY ([761a0ec](761a0ec)), closes [#426](#426)
* **css:** fix border width retrieval in Firefox ([5d2f580](5d2f580))
* **events:** fallback to touch and mouse events ([#399](#399)) ([2c4c303](2c4c303))
* **events:** fix triggering panzoomend for one pointer event ([f23e0fa](f23e0fa)), closes [#428](#428)
* **handledown:** exclude descendents of excluded parents ([b2f943a](b2f943a)), closes [#431](#431)
* **handleup:** remove pointer regardless of isPanning state ([8938b29](8938b29)), closes [#402](#402) [#403](#403)
* **reset:** use setTransform passed to reset options ([2adbb4e](2adbb4e))
* **setoptions:** set cursor style with the option ([9c8efb4](9c8efb4))
* **setstyle:** remove unnecessary param from exposed setStyle ([c9bcf94](c9bcf94))
* **zoom:** account for smaller elements and padding/border ([3fe89a1](3fe89a1))
* **zoom:** need the before and after dimensions to constrain ([7c2c982](7c2c982)), closes [#426](#426)
* **zoom:** set min and max scale based on containment ([d05f1e7](d05f1e7)), closes [#426](#426)

### Features

* basic panning and zooming functionality ([e80270f](e80270f))
* clean slate with typescript, rollup, and semantic-release ([27a0887](27a0887))
* **centering:** switch to default transform origins ([b483cda](b483cda))
* **contain:** add contain: 'outside' option ([1571e99](1571e99))
* **events:** add custom events for panning and zooming ([#398](#398)) ([7713025](7713025))
* **exclude:** add exclude option; change clickableClass to excludeClass ([da72c32](da72c32)), closes [#411](#411)
* **handlestartevent:** add option to handle the start event ([931743a](931743a)), closes [#414](#414)
* **overflow:** add an option to override the parent's overflow ([77032bb](77032bb)), closes [#427](#427)
* add a destroy method ([#404](#404)) ([c88ef75](c88ef75))
* add animate option to transition the transforms ([d9a8e67](d9a8e67))
* **pan:** add contain: 'inside' option ([a7078e8](a7078e8))
* **pan:** add panOnlyWhenZoomed option ([5559967](5559967))
* **panzoom:** add the force option ([0ba521a](0ba521a)), closes [#413](#413)
* **zoom:** implement focal point zooming without matrices ([5d077f1](5d077f1))
* **zoom:** pinch zooming with pointer events! ([5ddbd30](5ddbd30))

### Performance Improvements

* **pan:** make move/cancel listeners passive ([f647163](f647163))

### BREAKING CHANGES

* This is a complete rewrite of the panzoom library
to be a standard JS lib that doesn't rely on jQuery,
but can still integrate as a plugin
timmywil added a commit that referenced this pull request Dec 16, 2019
# [4.0.0](3.2.3...4.0.0) (2019-12-16)

### Bug Fixes

* **contain:** always set scale before using constrainXY ([761a0ec](761a0ec)), closes [#426](#426)
* **css:** fix border width retrieval in Firefox ([5d2f580](5d2f580))
* **events:** fallback to touch and mouse events ([#399](#399)) ([2c4c303](2c4c303))
* **events:** fix triggering panzoomend for one pointer event ([f23e0fa](f23e0fa)), closes [#428](#428)
* **handledown:** exclude descendents of excluded parents ([b2f943a](b2f943a)), closes [#431](#431)
* **handleup:** remove pointer regardless of isPanning state ([8938b29](8938b29)), closes [#402](#402) [#403](#403)
* **reset:** use setTransform passed to reset options ([2adbb4e](2adbb4e))
* **setoptions:** set cursor style with the option ([9c8efb4](9c8efb4))
* **setstyle:** remove unnecessary param from exposed setStyle ([c9bcf94](c9bcf94))
* **zoom:** account for smaller elements and padding/border ([3fe89a1](3fe89a1))
* **zoom:** need the before and after dimensions to constrain ([7c2c982](7c2c982)), closes [#426](#426)
* **zoom:** set min and max scale based on containment ([d05f1e7](d05f1e7)), closes [#426](#426)

### Features

* basic panning and zooming functionality ([e80270f](e80270f))
* clean slate with typescript, rollup, and semantic-release ([27a0887](27a0887))
* **centering:** switch to default transform origins ([b483cda](b483cda))
* **contain:** add contain: 'outside' option ([1571e99](1571e99))
* **events:** add custom events for panning and zooming ([#398](#398)) ([7713025](7713025))
* **exclude:** add exclude option; change clickableClass to excludeClass ([da72c32](da72c32)), closes [#411](#411)
* **handlestartevent:** add option to handle the start event ([931743a](931743a)), closes [#414](#414)
* **overflow:** add an option to override the parent's overflow ([77032bb](77032bb)), closes [#427](#427)
* add a destroy method ([#404](#404)) ([c88ef75](c88ef75))
* add animate option to transition the transforms ([d9a8e67](d9a8e67))
* **pan:** add contain: 'inside' option ([a7078e8](a7078e8))
* **pan:** add panOnlyWhenZoomed option ([5559967](5559967))
* **panzoom:** add the force option ([0ba521a](0ba521a)), closes [#413](#413)
* **zoom:** implement focal point zooming without matrices ([5d077f1](5d077f1))
* **zoom:** pinch zooming with pointer events! ([5ddbd30](5ddbd30))

### Performance Improvements

* **pan:** make move/cancel listeners passive ([f647163](f647163))

### BREAKING CHANGES

* This is a complete rewrite of the panzoom library
to be a standard JS lib that doesn't rely on jQuery,
but can still integrate as a plugin
timmywil added a commit that referenced this pull request Dec 16, 2019
# [4.0.0](3.2.3...4.0.0) (2019-12-16)

### Bug Fixes

* **contain:** always set scale before using constrainXY ([761a0ec](761a0ec)), closes [#426](#426)
* **css:** fix border width retrieval in Firefox ([5d2f580](5d2f580))
* **events:** fallback to touch and mouse events ([#399](#399)) ([2c4c303](2c4c303))
* **events:** fix triggering panzoomend for one pointer event ([f23e0fa](f23e0fa)), closes [#428](#428)
* **handledown:** exclude descendents of excluded parents ([b2f943a](b2f943a)), closes [#431](#431)
* **handleup:** remove pointer regardless of isPanning state ([8938b29](8938b29)), closes [#402](#402) [#403](#403)
* **reset:** use setTransform passed to reset options ([2adbb4e](2adbb4e))
* **setoptions:** set cursor style with the option ([9c8efb4](9c8efb4))
* **setstyle:** remove unnecessary param from exposed setStyle ([c9bcf94](c9bcf94))
* **zoom:** account for smaller elements and padding/border ([3fe89a1](3fe89a1))
* **zoom:** need the before and after dimensions to constrain ([7c2c982](7c2c982)), closes [#426](#426)
* **zoom:** set min and max scale based on containment ([d05f1e7](d05f1e7)), closes [#426](#426)

### Features

* basic panning and zooming functionality ([e80270f](e80270f))
* clean slate with typescript, rollup, and semantic-release ([27a0887](27a0887))
* **centering:** switch to default transform origins ([b483cda](b483cda))
* **contain:** add contain: 'outside' option ([1571e99](1571e99))
* **events:** add custom events for panning and zooming ([#398](#398)) ([7713025](7713025))
* **exclude:** add exclude option; change clickableClass to excludeClass ([da72c32](da72c32)), closes [#411](#411)
* **handlestartevent:** add option to handle the start event ([931743a](931743a)), closes [#414](#414)
* **overflow:** add an option to override the parent's overflow ([77032bb](77032bb)), closes [#427](#427)
* add a destroy method ([#404](#404)) ([c88ef75](c88ef75))
* add animate option to transition the transforms ([d9a8e67](d9a8e67))
* **pan:** add contain: 'inside' option ([a7078e8](a7078e8))
* **pan:** add panOnlyWhenZoomed option ([5559967](5559967))
* **panzoom:** add the force option ([0ba521a](0ba521a)), closes [#413](#413)
* **zoom:** implement focal point zooming without matrices ([5d077f1](5d077f1))
* **zoom:** pinch zooming with pointer events! ([5ddbd30](5ddbd30))

### Performance Improvements

* **pan:** make move/cancel listeners passive ([f647163](f647163))

### BREAKING CHANGES

* This is a complete rewrite of the panzoom library
to be a standard JS lib that doesn't rely on jQuery,
but can still integrate as a plugin
@timmywil
Copy link
Owner

🎉 This PR is included in version 4.0.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@lock lock bot locked as resolved and limited conversation to collaborators Jun 24, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants