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

@uppy/drop-target: ignore if dropped elements aren't files #3563

Merged
merged 3 commits into from
Mar 14, 2022

Conversation

pmusaraj
Copy link
Contributor

@pmusaraj pmusaraj commented Mar 11, 2022

We're using the drop-target package in Discourse, and a user noticed that nothing would happen when dragging text into an input or a textarea. I tracked this down to the

      event.preventDefault();
      event.stopPropagation();

in DropTarget's event listeners and added a check in this PR, if the dropped objects aren't files, all of DropTarget's event listeners are skipped (and the issue reported by the user is resolved).

@Murderlon
Copy link
Member

I don't understand how the issue from the user is dragging text doesn't work, but now we add logic to also do nothing when we don't drop files?

@pmusaraj
Copy link
Contributor Author

Thanks for your input!

Yes, when user drags text, it doesn't work because we use preventDefault and stopPropagation in the event listeners. These two calls block the default browser handling. This is useful for files (otherwise browser would open the file in a new tab), but not for text, so the proposed solution is to skip all Uppy handlers for non-files.

@Murderlon
Copy link
Member

Alright makes sense, thanks

@Murderlon
Copy link
Member

Seems we have some linter errors (probably from my code suggestion):

packages/@uppy/drop-target/src/index.js:

Error:    49:1   error    Expected indentation of 4 spaces but found 3                        indent
Error:    50:1   error    Expected indentation of 4 spaces but found 3                        indent

@Murderlon Murderlon merged commit aab74a9 into transloadit:main Mar 14, 2022
@pmusaraj pmusaraj deleted the drop-target-files-only branch March 14, 2022 12:44
github-actions bot added a commit that referenced this pull request Mar 16, 2022
| Package              | Version | Package              | Version |
| -------------------- | ------- | -------------------- | ------- |
| @uppy/audio          |   0.3.0 | @uppy/locales        |   2.0.8 |
| @uppy/aws-s3         |   2.0.8 | @uppy/provider-views |   2.0.8 |
| @uppy/companion      |   3.4.0 | @uppy/vue            |   0.4.6 |
| @uppy/compressor     |   0.2.3 | @uppy/robodog        |   2.4.0 |
| @uppy/core           |   2.1.6 | uppy                 |   2.8.0 |
| @uppy/drop-target    |   1.1.2 |                      |         |

- @uppy/aws-s3: fix wrong events being sent to companion (Mikael Finstad / #3576)
- @uppy/compressor: ignore remote files, calculate savings correctly (Artur Paikin / #3578)
- @uppy/companion: always log errors with stack trace (Mikael Finstad / #3573)
- meta: remove incorrect s3 documentation (Mikael Finstad / #3571)
- @uppy/companion: Companion refactor (Mikael Finstad / #3542)
- website: partial ooops (Artur Paikin)
- meta: run e2e workflow on the head branch instead of the base one (Antoine du Hamel / #3561)
- website: Use Plausible instead of Google Analytics (Artur Paikin / #3567)
- @uppy/vue: enforce use of file extension within the import path (Antoine du Hamel / #3560)
- @uppy/drop-target: ignore if dropped elements aren't files (Penar Musaraj / #3563)
- @uppy/core: Abstract restriction logic in a new Restricter class (Merlijn Vos / #3532)
- @uppy/companion: Fetch all Google Drive shared drives (Robert DiMartino / #3553)
- website: add blog post 2.4-2.7 (Artur Paikin / #3557)
- meta: fix e2e (Antoine du Hamel / #3562)
- meta: fix broken link (YukeshShr / #3559)
- meta: fix support of export declaration in source files (Antoine du Hamel / #3558)
- @uppy/companion: Order Google Drive results by folder to show all folders first (Robert DiMartino / #3546)
- meta: add corsOrigins to docs (Mikael Finstad / #3554)
- @uppy/audio: refactor to ESM (Antoine du Hamel / #3470)
- @uppy/locales: compressor cleanup (Antoine du Hamel / #3531)
- meta: fix CJS interop in Vite config (Antoine du Hamel / #3543)
- @uppy/companion: upgrade node-redis-pubsub (Mikael Finstad / #3541)
- @uppy/provider-views: provider-view: fix breadcrumbs (Artur Paikin / #3535)
- meta: Update BACKLOG.md (Artur Paikin)
- @uppy/locales: Update ru_RU.js (Sobakin Sviatoslav / #3529)
- @uppy/companion: reorder reqToOptions (Antoine du Hamel / #3530)
- meta: Fix yarn caching in github actions (Mikael Finstad / #3526)
vymao pushed a commit to vymao/uppy that referenced this pull request Mar 29, 2022
| Package              | Version | Package              | Version |
| -------------------- | ------- | -------------------- | ------- |
| @uppy/audio          |   0.3.0 | @uppy/locales        |   2.0.8 |
| @uppy/aws-s3         |   2.0.8 | @uppy/provider-views |   2.0.8 |
| @uppy/companion      |   3.4.0 | @uppy/vue            |   0.4.6 |
| @uppy/compressor     |   0.2.3 | @uppy/robodog        |   2.4.0 |
| @uppy/core           |   2.1.6 | uppy                 |   2.8.0 |
| @uppy/drop-target    |   1.1.2 |                      |         |

- @uppy/aws-s3: fix wrong events being sent to companion (Mikael Finstad / transloadit#3576)
- @uppy/compressor: ignore remote files, calculate savings correctly (Artur Paikin / transloadit#3578)
- @uppy/companion: always log errors with stack trace (Mikael Finstad / transloadit#3573)
- meta: remove incorrect s3 documentation (Mikael Finstad / transloadit#3571)
- @uppy/companion: Companion refactor (Mikael Finstad / transloadit#3542)
- website: partial ooops (Artur Paikin)
- meta: run e2e workflow on the head branch instead of the base one (Antoine du Hamel / transloadit#3561)
- website: Use Plausible instead of Google Analytics (Artur Paikin / transloadit#3567)
- @uppy/vue: enforce use of file extension within the import path (Antoine du Hamel / transloadit#3560)
- @uppy/drop-target: ignore if dropped elements aren't files (Penar Musaraj / transloadit#3563)
- @uppy/core: Abstract restriction logic in a new Restricter class (Merlijn Vos / transloadit#3532)
- @uppy/companion: Fetch all Google Drive shared drives (Robert DiMartino / transloadit#3553)
- website: add blog post 2.4-2.7 (Artur Paikin / transloadit#3557)
- meta: fix e2e (Antoine du Hamel / transloadit#3562)
- meta: fix broken link (YukeshShr / transloadit#3559)
- meta: fix support of export declaration in source files (Antoine du Hamel / transloadit#3558)
- @uppy/companion: Order Google Drive results by folder to show all folders first (Robert DiMartino / transloadit#3546)
- meta: add corsOrigins to docs (Mikael Finstad / transloadit#3554)
- @uppy/audio: refactor to ESM (Antoine du Hamel / transloadit#3470)
- @uppy/locales: compressor cleanup (Antoine du Hamel / transloadit#3531)
- meta: fix CJS interop in Vite config (Antoine du Hamel / transloadit#3543)
- @uppy/companion: upgrade node-redis-pubsub (Mikael Finstad / transloadit#3541)
- @uppy/provider-views: provider-view: fix breadcrumbs (Artur Paikin / transloadit#3535)
- meta: Update BACKLOG.md (Artur Paikin)
- @uppy/locales: Update ru_RU.js (Sobakin Sviatoslav / transloadit#3529)
- @uppy/companion: reorder reqToOptions (Antoine du Hamel / transloadit#3530)
- meta: Fix yarn caching in github actions (Mikael Finstad / transloadit#3526)
HeavenFox pushed a commit to docsend/uppy that referenced this pull request Jun 27, 2023
| Package              | Version | Package              | Version |
| -------------------- | ------- | -------------------- | ------- |
| @uppy/audio          |   0.3.0 | @uppy/locales        |   2.0.8 |
| @uppy/aws-s3         |   2.0.8 | @uppy/provider-views |   2.0.8 |
| @uppy/companion      |   3.4.0 | @uppy/vue            |   0.4.6 |
| @uppy/compressor     |   0.2.3 | @uppy/robodog        |   2.4.0 |
| @uppy/core           |   2.1.6 | uppy                 |   2.8.0 |
| @uppy/drop-target    |   1.1.2 |                      |         |

- @uppy/aws-s3: fix wrong events being sent to companion (Mikael Finstad / transloadit#3576)
- @uppy/compressor: ignore remote files, calculate savings correctly (Artur Paikin / transloadit#3578)
- @uppy/companion: always log errors with stack trace (Mikael Finstad / transloadit#3573)
- meta: remove incorrect s3 documentation (Mikael Finstad / transloadit#3571)
- @uppy/companion: Companion refactor (Mikael Finstad / transloadit#3542)
- website: partial ooops (Artur Paikin)
- meta: run e2e workflow on the head branch instead of the base one (Antoine du Hamel / transloadit#3561)
- website: Use Plausible instead of Google Analytics (Artur Paikin / transloadit#3567)
- @uppy/vue: enforce use of file extension within the import path (Antoine du Hamel / transloadit#3560)
- @uppy/drop-target: ignore if dropped elements aren't files (Penar Musaraj / transloadit#3563)
- @uppy/core: Abstract restriction logic in a new Restricter class (Merlijn Vos / transloadit#3532)
- @uppy/companion: Fetch all Google Drive shared drives (Robert DiMartino / transloadit#3553)
- website: add blog post 2.4-2.7 (Artur Paikin / transloadit#3557)
- meta: fix e2e (Antoine du Hamel / transloadit#3562)
- meta: fix broken link (YukeshShr / transloadit#3559)
- meta: fix support of export declaration in source files (Antoine du Hamel / transloadit#3558)
- @uppy/companion: Order Google Drive results by folder to show all folders first (Robert DiMartino / transloadit#3546)
- meta: add corsOrigins to docs (Mikael Finstad / transloadit#3554)
- @uppy/audio: refactor to ESM (Antoine du Hamel / transloadit#3470)
- @uppy/locales: compressor cleanup (Antoine du Hamel / transloadit#3531)
- meta: fix CJS interop in Vite config (Antoine du Hamel / transloadit#3543)
- @uppy/companion: upgrade node-redis-pubsub (Mikael Finstad / transloadit#3541)
- @uppy/provider-views: provider-view: fix breadcrumbs (Artur Paikin / transloadit#3535)
- meta: Update BACKLOG.md (Artur Paikin)
- @uppy/locales: Update ru_RU.js (Sobakin Sviatoslav / transloadit#3529)
- @uppy/companion: reorder reqToOptions (Antoine du Hamel / transloadit#3530)
- meta: Fix yarn caching in github actions (Mikael Finstad / transloadit#3526)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants