Skip to content
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

Implement a configurable location selector UI #3068

Closed
15 tasks
dubdabasoduba opened this issue Feb 14, 2024 · 4 comments · Fixed by #3123
Closed
15 tasks

Implement a configurable location selector UI #3068

dubdabasoduba opened this issue Feb 14, 2024 · 4 comments · Fixed by #3123
Assignees
Labels
App Configuration Remote Sync All issues related to syncing data from or to the FHIR server Size - L 7-10 days Sync by Related Entity Location

Comments

@dubdabasoduba
Copy link
Member

dubdabasoduba commented Feb 14, 2024

On the Android app, users will be allowed to select different locations including the ones they are not assigned to. These locations will be selected from the location selector. The location selector should be accessible from the side menu or the map view during initial login (no locations selected).

  • This accessibility flow should be added as a configuration so that this UI can be launched from somewhere else e.g the Settings, Profile or Register pages

Business requirements

  • The ability for users to select or deselect a location they would like to visit during a field visit.

Functional requirements

  • The user can access the location selector from the side menu by tapping on the set location.
    image
  • User can access the location selector from the map view by tapping on set location on initial login.
    image
  • User can access the location selector from the register view by tapping on the set location (initial login).
    image
  • Once the user lands on the location selector, the location hierarchy is displayed and they can select the location where the service points they want to visit are located.
  • User can select more than 1 location.
  • User can also use the search bar on the page to filter a location. When the user types in a few letters, the locations with those letters are shown. The finer /more detailed the search, the finer the results.
  • Once the locations are selected, sync is triggered by clicking the Sync Data button

Technical Requirements

  • The hierarchy displayed on this view should be configurable i.e
    • Content authors can define up to what node of the location hierarchy should be shown here.
    • Add the ability to launch this bottom sheet like any other workflow since it can be launched from multiple pages.
  • All the selected locations should be stored in the secure shared prefs.
  • The search on this view should only search through the content of the tree view on this screen.

Acceptance criteria

  • All functions highlighted in the functional requirements are working correctly.

Implementation plan (For Engineers)
The plan for implementing the solution e.g. via a description or a check list for the various ordered tasks that will need to be completed.
i.e. Describe how you intend to solve the problem

@dubdabasoduba dubdabasoduba added Remote Sync All issues related to syncing data from or to the FHIR server App Configuration Sync by Related Entity Location labels Feb 14, 2024
@dubdabasoduba dubdabasoduba changed the title Implement a configurable location selector Implement a configurable location selector UI Feb 14, 2024
@dubdabasoduba
Copy link
Member Author

Updated location selection screenshot

Side menu 1 1 - Side menu 1 1 - bottom sheet (1)

@ellykits raised an interesting observation on the linked screenshot. Right now based on how the select and drill down icons are placed shows kinda of shows that the user has to select and then drill down.

would it make more sense to have the selection checkbox at the start? like in the screenshot below

Multi Level Select

cc: @HenryRae @rowo

@rowo
Copy link
Contributor

rowo commented Feb 20, 2024

I'm wary about both solutions on mobile screens because of the small area to tap for the checkboxes and arrows. For our users, I'd prefer the whole line as a tappable button that can either expand or select the line item.

However, I'm not sure about the exact solution though. I wonder if adding a "select all" option to lists with children could work. The problem is any choice with children will not be obviously selected (for example Lavington, if you select Nairobi).

@HenryRae any ideas?

@HenryRae
Copy link

The touch areas could be manageable to a minimum of 48px, @ellykits you can let me know if this is possible with our current tech.

The icons can be swapped, what is proposed by Elly is the most common UX.

I've updated the design and also tried to cater for other scenarios like search and selecting of location. See below
image

@dubdabasoduba dubdabasoduba added the Size - L 7-10 days label Feb 28, 2024
@ellykits
Copy link
Collaborator

The touch areas could be manageable to a minimum of 48px, @ellykits you can let me know if this is possible with our current tech.

This should be possible @HenryRae

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
App Configuration Remote Sync All issues related to syncing data from or to the FHIR server Size - L 7-10 days Sync by Related Entity Location
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants