Skip to content

Feat: Enhance Neo.data.Store to support Proxy loading #9091

@tobiu

Description

@tobiu

Objective

Update Neo.data.Store to utilize the new Proxy architecture for data loading.

Tasks

  1. Proxy Integration:

    • Add a proxy config to Store.
    • If proxy is defined (and is a valid instance/config), use it in load().
  2. Incremental Loading:

    • Implement listeners/callbacks for the Proxy's streaming events.
    • When the Proxy yields a chunk of records:
      • Instantiate Models (if configured).
      • Add them to the internal collection without firing a "refresh" event every time.
      • Fire a new recordsLoaded (or similar) event for the chunk.
    • Fire load event only when the stream is fully complete.
  3. Backwards Compatibility:

    • Ensure existing url / autoLoad behavior works (either via legacy logic or by auto-creating a default Ajax proxy under the hood, though that might be out of scope for step 1). For now, proxy should probably be an alternative to the standard load.

Key Challenge

Handling sorting/filtering during a stream. Ideally, we just append. If the store is sorted, we might need to insert-sort (expensive) or just wait until the end. Decision: For Phase 1, assume "append-only" behavior during load, then sort at the end (or assume the source is pre-sorted).

Metadata

Metadata

Assignees

Labels

aicoreCore framework functionalityfeatureNew feature functionality

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions