1- from typing import Literal , Optional
1+ from typing import Literal
22
33from django_components import Component , register
44from pydantic import BaseModel
1010
1111@register ("icon" )
1212class Icon (Component ):
13-
1413 class Kwargs (BaseModel ):
1514 kind : Literal ["heart" , "bookmark" ]
1615 color : str
@@ -29,8 +28,8 @@ def get_template_data(self, args, kwargs, slots, context):
2928
3029class PaginationItem (BaseModel ):
3130 kind : Literal ["current" , "ellipsis" , "number" ]
32- text : Optional [ str | int ] = None
33- attrs : Optional [ dict ] = None
31+ text : str | int | None = None
32+ attrs : dict | None = None
3433
3534
3635@register ("pagination" )
@@ -48,21 +47,26 @@ def pagination_number(self, pagination: Pagination, num: int) -> PaginationItem:
4847 """
4948 if num == pagination .paginator .ELLIPSIS :
5049 return PaginationItem (kind = "ellipsis" , text = str (pagination .paginator .ELLIPSIS ))
51- elif num == pagination .page_num :
50+ if num == pagination .page_num :
5251 return PaginationItem (kind = "current" , text = num )
53- else :
54- link = querystring (None , {** pagination .params , PAGE_VAR : num })
55- return PaginationItem (
56- kind = "number" ,
57- text = num ,
58- attrs = {"href" : link },
59- )
52+ link = querystring (None , {** pagination .params , PAGE_VAR : num })
53+ return PaginationItem (
54+ kind = "number" ,
55+ text = num ,
56+ attrs = {"href" : link },
57+ )
6058
6159 def get_template_data (self , args , kwargs , slots , context ):
6260 pagination = kwargs .pagination_obj
63- page_elements = [self .pagination_number (pagination , page_num ) for page_num in pagination .page_range ]
64- previous_page_link = f"?{ PAGE_VAR } ={ pagination .page_num - 1 } " if pagination .page .has_previous () else ""
65- next_page_link = f"?{ PAGE_VAR } ={ pagination .page_num + 1 } " if pagination .page .has_next () else ""
61+ page_elements = [
62+ self .pagination_number (pagination , page_num ) for page_num in pagination .page_range
63+ ]
64+ previous_page_link = (
65+ f"?{ PAGE_VAR } ={ pagination .page_num - 1 } " if pagination .page .has_previous () else ""
66+ )
67+ next_page_link = (
68+ f"?{ PAGE_VAR } ={ pagination .page_num + 1 } " if pagination .page .has_next () else ""
69+ )
6670 return {
6771 "pagination" : pagination ,
6872 "previous_page_link" : previous_page_link ,
@@ -74,7 +78,7 @@ def get_template_data(self, args, kwargs, slots, context):
7478class TabItem (BaseModel ):
7579 text : str
7680 is_current : bool
77- attrs : Optional [ dict ]
81+ attrs : dict | None
7882
7983
8084@register ("sorting_tabs" )
@@ -95,8 +99,7 @@ def create_tab(self, object_list: ObjectList, tab: str) -> TabItem:
9599 return TabItem (text = verbose_text , is_current = is_current , attrs = attrs )
96100
97101 def create_all_tabs (self , object_list : ObjectList ):
98- tabs = [self .create_tab (object_list , tab ) for tab in object_list .sorting_tabs ]
99- return tabs
102+ return [self .create_tab (object_list , tab ) for tab in object_list .sorting_tabs ]
100103
101104 def get_template_data (self , args , kwargs , slots , context ):
102105 object_list = kwargs .object_list
0 commit comments