getodk / central-frontend

Vue.js based frontend for ODK Central
https://docs.getodk.org/central-intro/
Apache License 2.0
32 stars 57 forks source link

Replace dropZone mixin with component #931

Closed matthew-white closed 7 months ago

matthew-white commented 7 months ago

Closes #590.

What has been done to verify that this works as intended?

Tests continue to pass.

Why is this the best possible solution? Were any other approaches considered?

The move from mixin to component is definitely an improvement. I'm also excited to remove some of the last jQuery from the codebase.

I have thoughts about other ways to improve the drop zone component. I think it'd be nice to be able to nest drop zone components so that the component that contains the drop zone doesn't have to do as much work to track movement within the drop zone (tracking the specific drop target). However, that only comes up for FormAttachmentList right now, and it'd require some reworking, so I don't think it's a refactor we should pursue quite yet.

Before submitting this PR, please make sure you have: