3.8 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | |||
|---|---|---|---|---|---|---|---|
|
2026-04-16T12:09:07.697429+00:00 | zai-org/GLM-5-FP8 | 1 | 17272f9179ee1d83 |
Documentation: Pagination Interfaces
1. Purpose
This module defines core interfaces for pagination and filtering functionality within a view/view-model architecture. It provides marker interfaces for pagination-capable views and view models (IPaginationView, IPaginationViewModel) that integrate with a base view system, as well as a behavioral interface (IFilterableListView) for list views that support dynamic filtering. These interfaces establish contracts for UI components that need to handle paginated data and user-driven filter operations.
2. Public Interface
IPaginationView
Namespace: DTS.Common.Interface
Inheritance: IBaseView
A marker interface for views that support pagination. Defines no members of its own; its contract is purely type identity, indicating that a view participates in pagination workflows.
IPaginationViewModel
Namespace: DTS.Common.Interface
Inheritance: IBaseViewModel
A marker interface for view models that support pagination. Like IPaginationView, it defines no members and serves as a type marker for pagination-capable view models within the system.
IFilterableListView
Namespace: DTS.Common.Interface.Pagination
An interface for views that support filterable list functionality.
| Member | Signature | Description |
|---|---|---|
Filter |
void Filter(object tag, string term) |
Applies a filter to the list view using the provided tag and search term. |
ClearAllFilters |
void ClearAllFilters() |
Removes all active filters from the list view. |
ListViewId |
string ListViewId { get; } |
Read-only property returning the identifier for this list view. |
3. Invariants
IPaginationViewandIPaginationViewModelmust be assignable toIBaseViewandIBaseViewModelrespectively (enforced by inheritance).IFilterableListView.ListViewIdmust return a valid string identifier; whether null or empty strings are permitted is not specified in the source.- The
Filtermethod'stagparameter is of typeobject, implying any reference or value type may be passed; the semantic contract for this parameter is not defined in the source.
4. Dependencies
This module depends on:
DTS.Common.Base— providesIBaseViewandIBaseViewModelbase interfaces thatIPaginationViewandIPaginationViewModelextend.
What depends on this module:
- Cannot be determined from the provided source files alone. These interfaces are likely consumed by concrete view/view model implementations and any framework code that handles pagination or filtering logic.
5. Gotchas
-
Inconsistent namespace structure:
IPaginationViewandIPaginationViewModelreside inDTS.Common.Interface, whileIFilterableListViewresides inDTS.Common.Interface.Pagination. This may cause confusion when importing or organizing related types. -
Marker interfaces with no members:
IPaginationViewandIPaginationViewModeldefine no members, suggesting they may be used for type checking, dependency injection registration, or convention-based wiring. Their actual utility depends on framework-level code not shown here. -
Ambiguous
tagparameter: TheFilter(object tag, string term)method accepts an untypedobjectparameter. Without additional documentation or implementation code, the intended use of this parameter (e.g., column identifier, filter type enum, or other metadata) is unclear.