Files
DP44/docs/ai/Common/DTS.CommonCore/Interface/Pagination.md
2026-04-17 14:55:32 -04:00

2.1 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.CommonCore/Interface/Pagination/IPaginationView.cs
Common/DTS.CommonCore/Interface/Pagination/IPaginationViewModel.cs
Common/DTS.CommonCore/Interface/Pagination/IFilterableListView.cs
2026-04-17T16:22:31.599472+00:00 zai-org/GLM-5-FP8 1 2cac2f28b0d18155

Pagination

Purpose

This module defines interfaces for pagination and filtering functionality within the DTS system. It provides marker interfaces for pagination views and view models, as well as a contract for filterable list views. These interfaces enable a consistent pattern for implementing paginated, searchable UI components across the application.

Public Interface

IPaginationView (extends IBaseView)

  • Marker interface with no members. Identifies views that support pagination.

IPaginationViewModel (extends IBaseViewModel)

  • Marker interface with no members. Identifies view models that support pagination.

IFilterableListView

  • void Filter(object tag, string term) - Applies a filter to the list view using the provided tag and search term.
  • void ClearAllFilters() - Removes all active filters from the list view.
  • string ListViewId { get; } - Returns the identifier for this list view instance.

Invariants

  • IFilterableListView.ListViewId must return a consistent identifier for the lifetime of the view instance.
  • Both IPaginationView and IPaginationViewModel must be compatible with their respective base types (IBaseView and IBaseViewModel) from DTS.Common.Base.

Dependencies

  • Depends on: DTS.Common.Base (for IBaseView and IBaseViewModel)
  • Depended on by: Unknown from source alone (likely pagination UI components and list views)

Gotchas

  • IPaginationView and IPaginationViewModel are marker interfaces with no members, suggesting they may be used for type checking or dependency injection registration rather than defining behavioral contracts.
  • The Filter method accepts object tag as a parameter; the expected type and usage of this tag is not specified in the interface.