Skip to content

Add support for virtualization #7384

@jcfranco

Description

@jcfranco

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
  • New While the effort is underway, are there any workarounds for folks to improve performance? (e.g., delay hydration on components that might reside within a parent component, or until the component(s) is/are needed?)

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

Metadata

Metadata

Labels

1 - assignedIssues that are assigned to a sprint and a team member.ArcGIS Field AppsIssues logged by ArcGIS Field Apps team members.ArcGIS KnowledgeIssues logged by ArcGIS Knowledge team members.ArcGIS Maps SDK for JavaScriptIssues logged by ArcGIS SDK for JavaScript team members.ArcGIS OnlineIssues logged by ArcGIS Online team members.ArcGIS ProIssues logged by ArcGIS Pro team members.ArcGIS SolutionsIssues logged by ArcGIS Solutions team members.estimate - 13Requires planning and input from team, consider smaller steps.p - highIssue should be addressed in the current milestone, impacts component or core functionalityresearchIssues that require more in-depth research or multiple team members to resolve or make decision.spike completeIssues that have a research spike completed and dev work can proceed

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions