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

1""" 

2Filter system for DataTable. 

3 

4Example usage: 

5 from lexigram.admin.ui.filters import SelectFilter, RangeFilter, ToggleFilter, MultiSelectFilter 

6 

7 # Column-based filters (New Content API) 

8 BadgeColumn("species").filterable(SelectFilter( 

9 options={"dog": "Dogs", "cat": "Cats"}, 

10 )) 

11 

12 DateColumn("birth_date").filterable(RangeFilter( 

13 label="Birth Date Range", 

14 )) 

15 

16 BooleanColumn("is_neutered").filterable(ToggleFilter( 

17 true_label="Neutered/Spayed", 

18 false_label="Not Neutered", 

19 )) 

20""" 

21 

22from __future__ import annotations 

23 

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) 

32 

33__all__ = [ 

34 "Filter", 

35 "MultiSelectFilter", 

36 "NumericRangeFilter", 

37 "RangeFilter", 

38 "SelectFilter", 

39 "ToggleFilter", 

40]