Optimizations

This commit is contained in:
Daniel Sheppard 2024-02-12 16:00:19 -06:00
parent c3f1a9601c
commit f81f76f862
2 changed files with 20 additions and 32 deletions

View File

@ -5,7 +5,7 @@
<i class="mdi mdi-filter-settings" style="font-size: 1.25rem;"> </i>
</a>
<div class="dropdown-menu">
{% render_filter_field form_field table=table request=request %}
{% render_field form_field table=table request=request %}
</div>
</div>
{% endif %}

View File

@ -59,35 +59,22 @@ def widget_type(field):
#
@register.inclusion_tag('form_helpers/render_field.html')
def render_field(field, bulk_nullable=False, label=None):
def render_field(field, bulk_nullable=False, label=None, table=None, request=None):
"""
Render a single form field from template
"""
return {
'field': field,
'label': label or field.label,
'bulk_nullable': bulk_nullable,
}
@register.inclusion_tag('form_helpers/render_field.html')
def render_filter_field(field, bulk_nullable=False, table=None, request=None):
"""
Render a single form field from template for use in column headers
"""
url = ""
# Handle filter forms
if table:
# Build kwargs for querystring function
kwargs = {
field.name: None
}
kwargs = {field.name: None}
# Build request url
if request and table.htmx_url:
url = table.htmx_url + querystring(request, **kwargs)
elif request:
url = querystring(request, **kwargs)
# Set HTMX args
if hasattr(field.field, 'widget'):
field.field.widget.attrs.update({
'hx-get': url if url else '#',
@ -95,9 +82,10 @@ def render_filter_field(field, bulk_nullable=False, table=None, request=None):
'hx-target': '#object_list',
'hx-trigger': 'hidden.bs.dropdown from:closest .dropdown'
})
return {
'field': field,
'label': None,
'label': label or field.label if not table else None,
'bulk_nullable': bulk_nullable,
}