[No QA] [TS migration] Migrate 'useDragAndDrop.js' hook to TypeScript#29257
[No QA] [TS migration] Migrate 'useDragAndDrop.js' hook to TypeScript#29257cead22 merged 3 commits intoExpensify:mainfrom
Conversation
src/hooks/useDragAndDrop.ts
Outdated
| // You can think of this counter as a stack. When a child is hovered over we push an element onto the stack. | ||
| // Then we only process the dragleave event if the count is 0, because it means that the last element (the parent) has been popped off the stack. | ||
| const dragCounter = useRef(0); | ||
| const dragCounter = useRef<number>(0); |
There was a problem hiding this comment.
| const dragCounter = useRef<number>(0); | |
| const dragCounter = useRef(0); |
No need to explicitly set the type here.
Reviewer Checklist
Screenshots/VideosWebweb.movMobile Web - ChromeMobile Web - SafariDesktopdesktop.moviOSAndroid |
|
We did not find an internal engineer to review this PR, trying to assign a random engineer to #24943 as well as to this PR... Please reach out for help on Slack if no one gets assigned! |
|
Please test everywhere in the app where drag and drop can be used |
|
Just retested on the receipt selector (initial and replace flows) and the report screen (drop attachments). Working as expected. |
|
Thank you |
|
@cead22 looks like this was merged without a test passing. Please add a note explaining why this was done and remove the |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/cead22 in version: 1.3.84-0 🚀
|
|
🚀 Deployed to production by https://github.com/francoisl in version: 1.3.84-10 🚀
|
|
🚀 Deployed to production by https://github.com/francoisl in version: 1.3.84-10 🚀
|
|
🚀 Deployed to staging by https://github.com/cead22 in version: 1.3.85-0 🚀
|
|
🚀 Deployed to production by https://github.com/francoisl in version: 1.3.85-4 🚀
|



Details
[TS migration] Migrate 'useDragAndDrop.js' hook to TypeScript
Fixed Issues
$ #24943
PROPOSAL: N/A
Tests
Offline tests
N/A
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodWaiting for Copylabel for a copy review on the original GH to get the correct copy.STYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)/** comment above it */thisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
MacOS: Chrome / Safari
Web.google.mov
Web.safari.mov
MacOS: Desktop
Desktop.mov