reset the state for the delay context action if it is not the delete action#12917
reset the state for the delay context action if it is not the delete action#12917deetergp merged 2 commits intoExpensify:mainfrom
Conversation
|
@Julesssss 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] |
|
Hi @mananjadhav @deetergp, not sure why I was assigned instead of you here. |
|
@Pujan92 I don't follow the change. We're adding a check whether delete modal is visible. Tomorrow if we add another action/modal we'll end up with the complex branching. I personally liked this proposal here by @0xmiroslav. @deetergp what are your thoughts? |
That solution is cleaner but the only concern there is about mutating the state directly which I think we should avoid. |
I already provided alternative solution to use |
@Pujan92 one of the earlier comments was mutating the state with |
|
Oh, Ok. But I think in that case delete won't work as we are resetting report fields. I just tried that, can you plz check once. |
tests well for me |
Copy to clipboard and delete working together for you? I just put in your changes but seems not working ed179627-b711-443f-9d91-b62889ec774d.webmAs per my understanding, your solution will reset the report fields as long as we hide the context menu. but for deletion I think we do not need to reset and for that reason, I might have added an extra condition. |
|
Bumping @deetergp |
|
@Pujan92 can you elaborate my code changes you applied for test? |
|
I liked @0xmiroslav proposal as well. Once we figure out why it isn't working for @Pujan92 and get it to work, then I'm all for going that route 👍 |
I added it here, please correct me if I added it incorrectly or you can share the working video. |
|
@Pujan92 I already guessed you missed this code: hideContextMenu(onHideActionCallback) {
if (_.isFunction(onHideActionCallback)) {
this.onPopoverHideActionCallback = onHideActionCallback;
}
this.setState({
- reportID: '0',
- reportAction: {},
selection: '',
reportActionDraftMessage: '',
isPopoverVisible: false,
});
} |
Oh, yes. It is working as expected @0xmiroslav 🎉 |
|
@Pujan92 Can you work on the changes please? |
Done, applied the suggested change by @0xmiroslav . |
|
@Pujan92 Sorry I should've highlighted this. I just started to test this and saw we're on the old theme. We've moved to Dark theme since the time we've merged and had a regression. Can you please take the latest |
374537e to
d3cd179
Compare
Ok. @mananjadhav I updated the screencasts with the latest main branch. |
Reviewer Checklist
Screenshots/VideosWebweb-delete-actions-menu.movMobile Web - Chromemweb-chrome-delete-actions-menu.movMobile Web - Safarimweb-safari-delete-actions-menu.movDesktopdesktop-delete-actions-menu.moviOSios-delete-actions-menu.movAndroidandroid-delete-actions-menu.mov |
|
Thanks for the updated changes @Pujan92. Appreciate you sticking around and taking this to the finish line. @deetergp All yours. I am not sure why @Julesssss is still tagged. I don't have a way to change this. May be @deetergp can help. 🎀 👀 🎀 |
deetergp
left a comment
There was a problem hiding this comment.
LGTM. Thanks for the changes 👍
|
✋ 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 production by @francoisl in version: 1.2.36-4 🚀
|
Details
Reset the state for the delay context action if it is not the delete action. delete action modal handles/reset the state by itself.
Fixed Issues
$ 11086
PROPOSAL: 11086
Tests
Offline tests
QA Steps
PR Author Checklist
I linked the correct issue in the
### Fixed Issuessection aboveI wrote clear testing steps that cover the changes made in this PR
TestssectionOffline stepssectionQA stepssectionI included screenshots or videos for tests on all platforms
I ran the tests on all platforms & verified they passed on:
I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
I followed proper code patterns (see Reviewing the code)
toggleReportand notonIconClick)src/languages/*filesWaiting for Copylabel for a copy review on the original GH to get the correct copy.STYLE.md) were followedIf a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
I followed the guidelines as stated in the Review Guidelines
I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like
Avatar, I verified the components usingAvatarare working as expected)I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
I verified that if a function's arguments changed that all usages have also been updated correctly
If a new component is created I verified that:
/** 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)If a new CSS style is added I verified that:
StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like
Avataris modified, I verified thatAvataris working as expected in all cases)If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.
PR Reviewer Checklist
The reviewer will copy/paste it into a new comment and complete it after the author checklist is completed
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick).src/languages/*filesWaiting for Copylabel for a copy review on the original GH to get the correct copy.STYLE.md) were followedAvatar, I verified the components usingAvatarhave been tested & I retested again)/** 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)Screenshots
Web
7a78da9c-72c7-43d6-935d-82a2b5c1361e.webm
Mobile Web - Chrome
chr.mp4
Mobile Web - Safari
Simulator.Screen.Recording.-.iPhone.14.-.2022-12-01.at.01.17.40.mp4
Desktop
7a78da9c-72c7-43d6-935d-82a2b5c1361e.webm
iOS
Simulator.Screen.Recording.-.iPhone.14.-.2022-12-01.at.01.16.28.mp4
Android
android.1.mp4