Make ReportChangeWorkspacePage use new SelectionList#75378
Make ReportChangeWorkspacePage use new SelectionList#75378grgia merged 12 commits intoExpensify:mainfrom
ReportChangeWorkspacePage use new SelectionList#75378Conversation
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
| <BaseTextInput | ||
| ref={mergedRef} | ||
| onKeyPress={onKeyPress} | ||
| onFocus={() => onFocusChange?.(true)} |
There was a problem hiding this comment.
Maybe we could add handleFocusChange in a similar way to how we handle handleTextInputChange
There was a problem hiding this comment.
do you mean like below? it's not a big difference 🤔
onFocus={() => handleFocusChange(true)}
onBlur={() => handleFocusChange(false)}There was a problem hiding this comment.
or?
const handleFocus = useCallback(() => {
onFocusChange(true);
}, [onFocusChange]);
const handleBlur = useCallback(() => {
onFocusChange(false);
}, [onFocusChange]);
return (
<View style={[styles.ph5, styles.pb3]}>
<BaseTextInput
ref={mergedRef}
onKeyPress={onKeyPress}
onFocus={handleFocus}
onBlur={handleBlur}
There was a problem hiding this comment.
Yeah, I meant second option 😅
|
@dukenv0307 Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
ReportChangeWorkspacePage use new SelectionListReportChangeWorkspacePage use new SelectionList
JmillsExpensify
left a comment
There was a problem hiding this comment.
No review required from a product perspective. Unsubscribing.
ReportChangeWorkspacePage use new SelectionListReportChangeWorkspacePage use new SelectionList
| textInputOptions={textInputOptions} | ||
| initiallyFocusedItemKey={report.policyID} | ||
| showLoadingPlaceholder={fetchStatus.status === 'loading' || !didScreenTransitionEnd} | ||
| disableMaintainingScrollPosition |
There was a problem hiding this comment.
There is an enabled by default option in FlashList that the scroll position stays the same. Here we expect that after clearing input the scroll goes to the beginning of the list.
So I add a possibility to disable this option. In all others usages of FlashList it's also disabled 😉
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppScreen.Recording.2025-11-20.at.22.20.05.movAndroid: mWeb ChromeScreen.Recording.2025-11-20.at.22.15.46.moviOS: HybridAppScreen.Recording.2025-11-20.at.22.19.46.moviOS: mWeb SafariScreen.Recording.2025-11-20.at.22.17.46.movMacOS: Chrome / SafariScreen.Recording.2025-11-20.at.22.13.24.movMacOS: DesktopScreen.Recording.2025-11-20.at.22.19.19.mov |
|
✋ 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/grgia in version: 9.2.63-0 🚀
|
|
🚀 Deployed to production by https://github.com/marcaaron in version: 9.2.63-8 🚀
|
Explanation of Change
Fixed Issues
$ #72970
PROPOSAL:
Tests
MoreChange workspaceOffline tests
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.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
Android: Native
android.mp4
Android: mWeb Chrome
iOS: Native
Screen.Recording.2025-11-18.at.11.55.40.mov
iOS: mWeb Safari
MacOS: Chrome / Safari
web.mov
MacOS: Desktop