Skip to content

[Tracker] Selection List Refactor #11795

Closed

Description

@mountiny

Problem

OptionRow component is a beast that handles all the use cases of the App where there is a list of options. This is error-prone and hard to maintain.

Solution

Let's refactor all different list component variations into 3 new, clean components:


Other Related issues

Potentially updating the List button background styles as per this Slack thread.

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01c464f37c9f85723e
  • Upwork Job ID: 1620157290858266624
  • Last Price Increase: 2023-01-30

Activity

  1. shawnborton commented on Oct 13, 2022

    @shawnborton
    Contributor

    Ah interesting, I was thinking the main issue is mostly because we have a list selection on the screen at the same time as a separate text area. So I wonder if a solution to this whole thing would be to rethink the invite flow where maybe the personal message and selection rows are not on the same screen?

  2. mountiny commented on Oct 13, 2022

    @mountiny
    ContributorAuthor

    So I wonder if a solution to this whole thing would be to rethink the invite flow where maybe the personal message and selection rows are not on the same screen?

    that is also part of the problem I would say. Can we combine other inputs with the list input on the same screen? How will it behave? I think this will benefit from the discussion about the push to page navigation decisions

  3. melvin-bot commented on Oct 13, 2022

    @melvin-bot

    Looks like something related to react-navigation may have been mentioned in this issue discussion.

    As a reminder, please make sure that all proposals are not workarounds and that any and all attempt to fix the issue holistically have been made before proceeding with a solution. Proposals to change our DeprecatedCustomActions.js files should not be accepted.

    Feel free to drop a note in #expensify-open-source with any questions.

  4. melvin-bot commented on Oct 18, 2022

    @melvin-bot

    Triggered auto assignment to @isabelastisser (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

  5. added and removed
    AutoAssignerTriageAuto assign issues for triage to an available triage team member
    on Oct 18, 2022
  6. added
    BugSomething is broken. Auto assigns a BugZero manager.
    on Oct 19, 2022
  7. rushatgabhane commented on Oct 20, 2022

    @rushatgabhane
    Member

    @mountiny who is leading this issue / how i can follow the predesign?

  8. JmillsExpensify commented on Oct 20, 2022

    @JmillsExpensify
    Contributor

    Ah interesting, I was thinking the main issue is mostly because we have a list selection on the screen at the same time as a separate text area. So I wonder if a solution to this whole thing would be to rethink the invite flow where maybe the personal message and selection rows are not on the same screen?

    Oh haha yeah totally agree. I just got here from the most recently added issue and came to the same conclusion. Wouldn't the custom message be a selection row and push-to-page?

  9. mountiny commented on Oct 20, 2022

    @mountiny
    ContributorAuthor

    Wouldn't the custom message be a selection row and push-to-page?

    Makes sense, this should be discovered in the pre-design. @rushatgabhane I think there is nobody to lead this yet, @isabelastisser might need to try and get some volunteer from engineers as I dont have a time at the moment to take this on :/

  10. 237 remaining items

  11. melvin-bot commented on Feb 1, 2024

    @melvin-bot

    This issue has not been updated in over 15 days. @dannymcclain, @twisterdotcom, @cristipaval, @ArekChr, @Santhosh-Sellavel, @lukemorawski eroding to Monthly issue.

    P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do!

  12. roryabraham commented on Feb 27, 2024

    @roryabraham
    Contributor

    BaseOptionsSelector just got migrated from class => functional component. There's a number of active bugs / regressions with it, and we're feeling the need for some cleanup: https://expensify.slack.com/archives/C01GTK53T8Q/p1708995608771049

  13. melvin-bot commented on Apr 5, 2024

    @melvin-bot

    @dannymcclain, @twisterdotcom, @cristipaval, @ArekChr, @Santhosh-Sellavel, @lukemorawski, this Monthly task hasn't been acted upon in 6 weeks; closing.

    If you disagree, feel encouraged to reopen it -- but pick your least important issue to close instead.

  14. roryabraham commented on Apr 10, 2024

    @roryabraham
    Contributor

    I think we should work to get this over the finish line. BaseOptionsSelector is a very large, complex component to leave in place deprecated.

  15. twisterdotcom commented on Sep 11, 2024

    @twisterdotcom
    Contributor

    Who is working on this now?

  16. roryabraham commented on Sep 13, 2024

    @roryabraham
    Contributor

    I'm not sure when it happened, but BaseOptionsSelector has been removed, so I think this is done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

BugSomething is broken. Auto assigns a BugZero manager.InternalRequires API changes or must be handled by Expensify staffNewFeatureSomething to build that is a new item.ReviewingHas a PR in reviewWeeklyKSv2

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions