ADataProvider Abstract Class

The ADataProvider is the foundational abstract class that powers structured data views in the Katlux ecosystem. It is specifically designed for complex UI components that require pagination, filtering, and sorting, rather than for arbitrary application state. It is extended by specialized Flat Providers (for tabular data) and Tree Providers (for hierarchical tree data).

Flat Data Providers

Manage standard flat arrays of data. Ideal for datatables, lists, and standard grids.

Tree Data Providers

Manage hierarchical data. Ideal for tree views, nested lists, and category structures.

High-Performance Architecture

Modern Katlux data providers feature built-in optimizations for responsive UIs and large datasets:

  • Reference Map Array (rowMap): Client providers maintain a reference map array holding the current active filtered and sorted row references. When navigating pages via setCurrentPage(), the provider slices this pre-computed array in O(1) time without re-running sorting or filtering.
  • Debounced Searching & Sorting: Configure filterDebounce and sortDebounce in IDataProviderOptions to prevent excessive re-computations during rapid user keystrokes.
  • Immediate Execution: Both setFilter(filter, immediate) and setSortList(sortList, immediate) accept an optional boolean parameter to bypass debouncing when instant updates are required (e.g., button clicks or programmatic resets).

Base Architecture & Related Classes

Katlux base abstractions working in unison: