Coverage for src / lexigram / admin / ui / filters / __init__.py: 0%
4 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-08-13 18:58 +0800
« prev ^ index » next coverage.py v7.13.5, created at 2026-08-13 18:58 +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]