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

Extend Map Layers Functionality to Study Areas Side Menu #1824

Open
hdinia opened this issue Nov 21, 2023 · 2 comments
Open

Extend Map Layers Functionality to Study Areas Side Menu #1824

hdinia opened this issue Nov 21, 2023 · 2 comments

Comments

@hdinia
Copy link
Member

hdinia commented Nov 21, 2023

Feature Request: Extend Map Layers Functionality to Study Areas Side Menu

Description:

Our current application includes a layer feature in the map view, allowing users to filter areas by groups, with each group only visible in its assigned layer. However, this functionality is limited to the map view. We've received user feedback requesting the extension of this layer-based filtering to the study areas side menu. This extension would enable users to focus on specific areas within a given layer, reducing the clutter of irrelevant information.

  • Layer Functionality in Areas Menu:
    Extend the existing map layers functionality to the study areas side menu, allowing users to filter and work with areas based on the selected layer.

  • Selective Visibility:
    Areas should only be visible in the menu when their corresponding layer is active, aligning with the current behavior in the map view.

  • UI Integration:
    Add a select component beneath the search input in the areas menu. This component will facilitate layer selection, providing a user-friendly way to switch between different layers.

Sreenshots:

areas-menu-layers-1

areas-menu-layers-2

  • Synchronization with Map View:
    Ensure that the layer selection is synchronized between the map view and the areas menu, providing a cohesive user experience.

  • [To be confirmed] User Preference Memory:
    The application should remember the user's last selected layer in the areas menu and retain this selection across sessions.

  • Performance Considerations:
    Implement this feature with attention to performance, ensuring that the additional layer functionality does not negatively impact the application’s responsiveness or speed.

@hdinia hdinia self-assigned this Nov 21, 2023
@laurent-laporte-pro
Copy link
Contributor

laurent-laporte-pro commented Nov 21, 2023

About the "User Preference Memory" paragraph: to implement this, an association table between the list of studies and visited layers would be needed, and events like the following should be managed to update the table:

  • a layer is visited,
  • a layer is deleted,
  • a study is deleted.

This association table could be stored globally within the session and also at the level of the list of favorite studies.

At the back-office level, persisting this information is quite challenging because the list of layers is not specific to each user but rather global to the study.

@hdinia
Copy link
Member Author

hdinia commented Nov 23, 2023

About the "User Preference Memory" paragraph: to implement this, an association table between the list of studies and visited layers would be needed, and events like the following should be managed to update the table:

  • a layer is visited,
  • a layer is deleted,
  • a study is deleted.

This association table could be stored globally within the session and also at the level of the list of favorite studies.

At the back-office level, persisting this information is quite challenging because the list of layers is not specific to each user but rather global to the study.

I was thinking about local storage persistence, cause it's only UI-related information (layers does not affect the study configuration). This is a common method for persisting non-sensitive UI state across sessions. It's ideal for storing preferences like theme, layout choices, or the last state of certain UI elements.
But finally, I don't think it's a good idea from a user experience point of view. Maybe we can consider this as a future improvement if users asks for it

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

No branches or pull requests

2 participants