44 datetime ,
55 time ,
66)
7- from enum import (
8- Enum ,
9- auto ,
10- )
7+ from enum import auto , \
8+ Enum
119from functools import total_ordering
1210from io import StringIO
1311from itertools import groupby
4442)
4543
4644from iommi ._web_compat import (
45+ format_html ,
4746 HttpResponse ,
4847 HttpResponseRedirect ,
49- Template ,
50- format_html ,
5148 mark_safe ,
5249 render_template ,
5350 smart_str ,
51+ Template
5452)
5553from iommi .action import (
5654 Action ,
6361 render_attrs ,
6462)
6563from iommi .base import (
66- MISSING ,
67- NOT_BOUND_MESSAGE ,
6864 build_as_view_wrapper ,
6965 capitalize ,
7066 get_display_name ,
7167 items ,
7268 keys ,
69+ MISSING ,
7370 model_and_rows ,
74- values ,
71+ NOT_BOUND_MESSAGE ,
72+ values
7573)
7674from iommi .declarative import declarative
7775from iommi .declarative .dispatch import dispatch
78- from iommi .declarative .namespace import (
79- EMPTY ,
80- Namespace ,
81- flatten ,
82- getattr_path ,
83- setdefaults_path ,
84- )
76+ from iommi .declarative .namespace import EMPTY , \
77+ flatten , \
78+ getattr_path , \
79+ Namespace , \
80+ setdefaults_path
8581from iommi .declarative .with_meta import with_meta
8682from iommi .endpoint import (
8783 DISPATCH_PREFIX ,
9692 Field ,
9793 Form ,
9894)
99- from iommi .fragment import (
100- Fragment ,
101- Header ,
102- Tag ,
103- TransientFragment ,
104- build_and_bind_h_tag ,
105- html ,
106- )
95+ from iommi .fragment import build_and_bind_h_tag , \
96+ Fragment , \
97+ Header , \
98+ html , \
99+ Tag , \
100+ TransientFragment
107101from iommi .from_model import (
108102 AutoConfig ,
109- NoRegisteredSearchFieldException ,
110103 create_members_from_model ,
111104 get_search_fields ,
112105 member_from_model ,
106+ NoRegisteredSearchFieldException
113107)
114108from iommi .member import (
115109 bind_member ,
126120 Query ,
127121)
128122from iommi .refinable import (
123+ evaluated_refinable ,
129124 EvaluatedRefinable ,
130125 Prio ,
131126 Refinable ,
127+ refinable ,
132128 RefinableMembers ,
133129 RefinableObject ,
134- SpecialEvaluatedRefinable ,
135- evaluated_refinable ,
136- refinable ,
130+ SpecialEvaluatedRefinable
137131)
138132from iommi .shortcut import (
139133 Shortcut ,
143137 LAST ,
144138 sort_after ,
145139)
146- from iommi .struct import (
147- Struct ,
148- merged ,
149- )
140+ from iommi .struct import merged , \
141+ Struct
150142from iommi .traversable import (
151143 Traversable ,
152144)
153-
154145from ._db_compat import base_defaults_factory
155146
156147LAST = LAST
@@ -1636,6 +1627,13 @@ class TableAutoConfig(AutoConfig):
16361627
16371628 rows = Refinable ()
16381629
1630+ def endpoint__tbody (table , ** _ ):
1631+ return {
1632+ 'html' : table .container .__html__ (
1633+ render = lambda fragment , context : fragment .render_text_or_children (context = context )
1634+ )
1635+ }
1636+
16391637
16401638def endpoint__csv (table , ** _ ):
16411639 from datetime import timezone
@@ -1780,8 +1778,6 @@ class Meta:
17801778 columns : Dict [str , Column ] = RefinableMembers ()
17811779
17821780 class Meta :
1783- query__advanced__assets__query_form_toggle_script__template = "iommi/query/form_toggle_script.html"
1784- assets__table_js_select_all__template = "iommi/table/js_select_all.html"
17851781 member_class = Column
17861782 form_class = Form
17871783 query_class = Query
@@ -1790,24 +1786,6 @@ class Meta:
17901786 cells_class = Cells
17911787 row_group_class = RowGroup
17921788
1793- @staticmethod
1794- def endpoints__tbody__func (table , ** _ ):
1795- return {
1796- 'html' : table .container .__html__ (
1797- render = lambda fragment , context : fragment .render_text_or_children (context = context )
1798- )
1799- }
1800-
1801- endpoints__csv__func = endpoint__csv
1802-
1803- container__attrs = Namespace (
1804- {
1805- 'data-endpoint' : lambda table , ** _ : DISPATCH_PREFIX + table .endpoints .tbody .iommi_path ,
1806- 'data-iommi-id' : lambda table , ** _ : table .iommi_path ,
1807- }
1808- )
1809-
1810- query__form__attrs = {'data-iommi-id-of-table' : lambda table , ** _ : table .iommi_path }
18111789 columns = EMPTY
18121790 parts = EMPTY
18131791 row__attrs__class = EMPTY
@@ -1875,6 +1853,17 @@ def post_bulk_edit(table, queryset, updates, **_):
18751853 # style
18761854 query__form__actions__submit__call_target = Action .button ,
18771855 title = MISSING ,
1856+ endpoints__tbody__func = endpoint__tbody ,
1857+ endpoints__csv__func = endpoint__csv ,
1858+ query__advanced__assets__query_form_toggle_script__template = "iommi/query/form_toggle_script.html" ,
1859+ query__form__attrs = {
1860+ 'data-iommi-id-of-table' : lambda table , ** _ : table .iommi_path ,
1861+ },
1862+ assets__table_js_select_all__template = "iommi/table/js_select_all.html" ,
1863+ container__attrs = {
1864+ 'data-endpoint' : lambda table , ** _ : DISPATCH_PREFIX + table .endpoints .tbody .iommi_path ,
1865+ 'data-iommi-id' : lambda table , ** _ : table .iommi_path ,
1866+ },
18781867 )
18791868 def __init__ (
18801869 self ,
0 commit comments