Coverage for src/lexigram/admin/ui/filters/__init__.py: 0%
4 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-24 23:18 +0800
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-24 23:18 +0800
1"""
2Filter system for DataTable.
4Example usage:
5 from lexigram.admin.ui.filters import SelectFilter, RangeFilter, ToggleFilter, MultiSelectFilter
7 # Column-based filters (New Content API)
8 BadgeColumn("species").filterable(SelectFilter(
9 options={"dog": "Dogs", "cat": "Cats"},
10 ))
12 DateColumn("birth_date").filterable(RangeFilter(
13 label="Birth Date Range",
14 ))
16 BooleanColumn("is_neutered").filterable(ToggleFilter(
17 true_label="Neutered/Spayed",
18 false_label="Not Neutered",
19 ))
20"""
22from __future__ import annotations
24from lexigram.admin.ui.filters.base import Filter
25from lexigram.admin.ui.filters.types import (
26 MultiSelectFilter,
27 NumericRangeFilter,
28 RangeFilter,
29 SelectFilter,
30 ToggleFilter,
31)
33__all__ = [
34 "Filter",
35 "MultiSelectFilter",
36 "NumericRangeFilter",
37 "RangeFilter",
38 "SelectFilter",
39 "ToggleFilter",
40]