Skip to content

No pagination support for large datasets #11

@thedhanawada

Description

@thedhanawada

Problem

The calendar loads all events into memory at once. For calendars with thousands of events (common in Salesforce), this uses too much memory and makes the initial load slow.

Files: core/events/EventStore.js, core/calendar/Calendar.js

What happens

  • User has 10,000 events spanning 5 years
  • Calendar loads ALL 10,000 events on startup
  • Browser uses lots of memory
  • Initial render is slow

How to fix

Add pagination and lazy loading:

  1. Virtual windowing: Only keep events for visible date range in memory
  2. Pagination API: Add methods like getEvents(page, pageSize)
  3. On-demand loading: Load events as user scrolls/navigates
  4. Unload old events: Remove events far from current view

Example API:

// Load events for current view only
calendar.loadEventsInRange(startDate, endDate);

// Paginated fetch
eventStore.getEventsPaginated({ 
  start: date, 
  end: date, 
  page: 1, 
  limit: 100 
});

This would make the calendar work smoothly even with very large datasets.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestperformancePerformance improvements

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions