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

Add support for virtualization #7384

Open
jcfranco opened this issue Jul 27, 2023 · 5 comments
Open

Add support for virtualization #7384

jcfranco opened this issue Jul 27, 2023 · 5 comments
Labels
0 - new New issues that need assignment. ArcGIS Field Apps Issues logged by ArcGIS Field Apps team members. ArcGIS Maps SDK for JavaScript Issues logged by ArcGIS SDK for JavaScript team members. estimate - 13 Requires planning and input from team, consider smaller steps. p - high Issue should be addressed in the current milestone, impacts component or core functionality research Issues that require more in-depth research or multiple team members to resolve or make decision. spike Issues that need quick investigations for time estimations, prioritization, or a quick assessment.

Comments

@jcfranco
Copy link
Member

jcfranco commented Jul 27, 2023

Background

Rendering items based on a dataset is a common workflow and adding support for virtualization will greatly help rendering these items in an efficient manner.

Additional considerations

  • flexible APIs to support:
    • data population, pagination (fetching/updating)
    • navigation, search, selection
    • state management (e.g., app needs to keep place in a virtualized component when navigating away and back)
    • animation/styling hooks to allow devs to provide placeholder content at certain points (e.g., initial loading or while scrolling)
      • a skeleton component (related) might be useful, albeit not required if we provide hooks for developers
        navigating away and back)
  • provide hooks to refresh on keyboard/scroll events
  • guidelines/examples should be provided as well

Priorities

  • Utils should be made available first, afterwards we could look into providing a component based on feedback
  • List use cases should cover most of our current needs, we can evaluate other types (e.g., tree, grid, carousel) based on feedback (combobox, select might be good candidates to start with)

Useful resources

Related issues

Desired Outcome

Rich utility/utilities to support virtualization

@jcfranco jcfranco added research Issues that require more in-depth research or multiple team members to resolve or make decision. 0 - new New issues that need assignment. needs triage Planning workflow - pending design/dev review. labels Jul 27, 2023
@driskull
Copy link
Member

@jcfranco @geospatialem any idea on when this might be implemented?

Its a blocking issue for the Maps SDK / MapViewer to be able to use calcite components for their search experience and search widget.

@geospatialem geospatialem added p - medium Issue is non core or affecting less that 60% of people using the library estimate - 13 Requires planning and input from team, consider smaller steps. spike Issues that need quick investigations for time estimations, prioritization, or a quick assessment. ArcGIS Maps SDK for JavaScript Issues logged by ArcGIS SDK for JavaScript team members. p - high Issue should be addressed in the current milestone, impacts component or core functionality and removed p - medium Issue is non core or affecting less that 60% of people using the library labels Mar 19, 2024
@geospatialem
Copy link
Member

A spike will be performed to determine a breakdown of issues for next steps, where:

  1. The above issue will be modified to an epic and its overall priority re-scoped (likely to p - medium)
  2. Child issues will be created, which could include:
    • Animation/styling hooks to allow devs to provide placeholder content at certain points (e.g., initial loading or while scrolling)
      • Note: high priority for the Maps SDK team to achieve with the combobox. Where a hook is needed, but not a skeleton component - for the component's filter/search logic.
    • Data population, pagination (fetching/updating)
    • State management
    • A skeleton component
    • Possibly others mentioned in the above description
  3. Could also include specific components, which include, but are not limited to:
    • combobox
    • filter (could leverage combobox)
    • dropdown
    • list
    • select
    • table
    • tree

The above issue will also address situations where large datasets are used, such as some implementations of combobox, where on our doc site we load in all of the Calcite UI icons and they don't display all of their contents.

@geospatialem geospatialem added needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. and removed needs triage Planning workflow - pending design/dev review. labels May 6, 2024
@pllcoster
Copy link

Giving this issue a +1 as in our app we are often working with thousands / tens of thousands of items and virtualization would help in various ways, particularly for list

@gpbmike
Copy link
Contributor

gpbmike commented Aug 1, 2024

Would love to see combobox get the virtualization treatment for use with Site Scan.

@geospatialem geospatialem added this to the 2024-12-17 - Dec Release milestone Aug 7, 2024
@geospatialem geospatialem removed the needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. label Aug 7, 2024
@nwhittaker
Copy link
Contributor

nwhittaker commented Sep 13, 2024

Field Maps Designer is also very interested in virtualization for list and combobox elements. We'd like to use those elements when editing/choosing values from domains. Some of our clients' domains easily have 1,000+ values and the Calcite elements are currently too slow to load and interact with (e.g. drag-and-drop) when this much data is involved.

@geospatialem geospatialem added the ArcGIS Field Apps Issues logged by ArcGIS Field Apps team members. label Sep 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0 - new New issues that need assignment. ArcGIS Field Apps Issues logged by ArcGIS Field Apps team members. ArcGIS Maps SDK for JavaScript Issues logged by ArcGIS SDK for JavaScript team members. estimate - 13 Requires planning and input from team, consider smaller steps. p - high Issue should be addressed in the current milestone, impacts component or core functionality research Issues that require more in-depth research or multiple team members to resolve or make decision. spike Issues that need quick investigations for time estimations, prioritization, or a quick assessment.
Projects
None yet
Development

No branches or pull requests

6 participants