-
Notifications
You must be signed in to change notification settings - Fork 3k
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
[HOLD for payment 2024-05-08] [$250] Update "X selected" button above table views to be a dropdown button instead of a split button #39832
Comments
Job added to Upwork: https://www.upwork.com/jobs/~017b3c66ee08aa3e77 |
Triggered auto assignment to @dylanexpensify ( |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @abdulrahuman5196 ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.We're currently using a split button, which doesn't make sense for this UI interaction and also prevents the user from using the larger part of the button. What is the root cause of that problem?This is new feature change What changes do you think we should make in order to solve the problem?Add a prop to
(We'll of course put the And remove the
These are all straight forward style changes And use the What alternative solutions did you explore? (Optional)NA Result![]() |
ProposalPlease re-state the problem that we are trying to solve in this issue.Update "X selected" button above table views to be a dropdown button instead of a split button What is the root cause of that problem?New Feature What changes do you think we should make in order to solve the problem?We need to update the ButtonWithDropDownMenu to show the drop down without any separator. Right now we only have the option to show drop down with separator. We can take a props as To add Pseudo Codeconst renderButton = () => {
if (shouldAlwaysShowDropdownMenu) {
if (showWithSeparator) {
// We will show drop down button with separator here
} else {
// We will show drop down button without separator here
<Button
success={success}
ref={caretButton}
pressOnEnter={pressOnEnter}
isDisabled={isDisabled || !!options[0].disabled}
style={[styles.w100, style]}
isLoading={isLoading}
text={customText ?? selectedItem.text}
onPress={() => setIsMenuVisible(!isMenuVisible)}
large={isButtonSizeLarge}
medium={!isButtonSizeLarge}
innerStyles={[innerStyleDropButton]}
enterKeyEventListenerPriority={enterKeyEventListenerPriority}
shouldShowRightIcon={true}
iconRight={Expensicons.DownArrow}
/>
}
} else {
// We will how simple button here
}
}; What alternative solutions did you explore? (Optional)Note We will need to adjust inner style of this new button. |
ProposalPlease re-state the problem that we are trying to solve in this issue.We need to combine text and dropdown icon for dropdowns buttons. What is the root cause of that problem?New change. What changes do you think we should make in order to solve the problem?Add a new prop in ButtonWithDropdownMenu called as Define caretIcon like this: (Why? - Because this component shouldn't be added directly inside iconRight since it can lead to performance issues)
If shouldCombineTextAndIcon is true, then instead of this button, the below needs to be shown:
Also, this would be omitted if shouldCombineTextAndIcon is true. Screen.Recording.2024-04-08.at.10.47.16.PM.movI can provide a test branch if needed. |
ProposalUpdated to remove extra padding. Now, it will look like medium button. |
I think it's a medium button, yup. And good shout Danny, I agree it doesn't need to be fixed. |
Proposal updated to remove the additional padding, based on design team's confirmation |
Bump @abdulrahuman5196 to review |
Checking now |
This is a straightforward feature request. So choosing the first proposal with adequate information to work on the implementation. @nkdengineer 's proposal here #39832 (comment) looks good and works well. 🎀 👀 🎀 |
Triggered auto assignment to @arosiclair, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
The selected proposal mentions this:
This would lead to performance issues because of unnecessary re-renders. I've mentioned the correct way here. So, can you check the proposals again if possible? |
@luacmartins or @arosiclair to confirm proposal req from Abdul! |
@luacmartins @arosiclair Kindly check this comment before finalising: #39832 (comment) |
bump @abdulrahuman5196 on checklist |
@nkdengineer please apply at the job! 🙇♂️ |
bump @nkdengineer |
Hi @dylanexpensify my Upwork account doesn't have any Connects left so I'm unable to apply. Could you directly send an offer/invitation to my Upwork profile? Thanks 🙇 |
@arosiclair, @luacmartins, @abdulrahuman5196, @dylanexpensify, @nkdengineer Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
@arosiclair, @luacmartins, @abdulrahuman5196, @dylanexpensify, @nkdengineer 6 days overdue. This is scarier than being forced to listen to Vogon poetry! |
sent invite @nkdengineer! |
Not a regression. New feature.
|
@dylanexpensify I applied to the job! |
@arosiclair, @luacmartins, @abdulrahuman5196, @dylanexpensify, @nkdengineer Huh... This is 4 days overdue. Who can take care of this? |
@nkdengineer offer sent! |
@dylanexpensify Thank you 🙇 I accepted the offer |
@arosiclair, @luacmartins, @abdulrahuman5196, @dylanexpensify, @nkdengineer Eep! 4 days overdue now. Issues have feelings too... |
Are we good to close this one? |
I got paid. If @nkdengineer is also paid we can close this? @dylanexpensify |
Sorry @dylanexpensify it seems I wasn't paid here yet, could you reopen the issue to help with this? TIA |
Yes! |
Done! |
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Version Number: v1.4.61-0
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers): N/A
Logs: https://stackoverflow.com/c/expensify/questions/4856 N/A
Expensify/Expensify Issue URL: N/A
Issue reported by: @dannymcclain
Slack conversation: Link
Action Performed:
Expected Result:
Actual Result:
Workaround:
The smaller arrow part of the split button still works just fine.
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
View all open jobs on GitHub
cc @Expensify/design @mountiny @luacmartins @trjExpensify
Per Slack, let's start this one at $250.
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @dylanexpensifyThe text was updated successfully, but these errors were encountered: