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.
- Flat ClientSide DataProvider — Manages a local, in-memory array of flat data. Handles pagination, filtering, and sorting entirely on the client side.
- Flat ServerSide DataProvider — Delegates data fetching to a custom handler function. Useful when fetching logic is non-standard.
- Flat API ClientSide DataProvider — Connects to an API to fetch data but manages the dataset locally on the client.
- Flat API ServerSide DataProvider — Automatically pushes pagination, sorting, and filtering state to your backend API as query parameters.
Tree Data Providers
Manage hierarchical data. Ideal for tree views, nested lists, and category structures.
- Tree ClientSide DataProvider — Manages a local, in-memory array of nested data, building the tree locally.
- Tree ServerSide DataProvider — Delegates hierarchical data fetching to a custom handler function.
- Tree API ClientSide DataProvider — Fetches tree data from an API, then manages the hierarchical structure and node expansion locally.
- Tree API ServerSide DataProvider — Automatically syncs expanded nodes, pagination, and tree traversal with your backend API.
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 viasetCurrentPage(), the provider slices this pre-computed array inO(1)time without re-running sorting or filtering. - Debounced Searching & Sorting: Configure
filterDebounceandsortDebounceinIDataProviderOptionsto prevent excessive re-computations during rapid user keystrokes. - Immediate Execution: Both
setFilter(filter, immediate)andsetSortList(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:
- ACacheProvider — Foundational abstract class for client and server cache providers.
- AEncryptionProvider — Foundational abstract class for cryptographic payload encryption providers.
- CWebCryptoEncryptionProvider — Built-in hardware-accelerated AES-256-GCM cipher provider.
- IProviderEncryptionOptions — Configuration schema for end-to-end payload encryption on data providers.
- RequestProvider — Underlying HTTP engine powering API data providers.