mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-28 03:16:25 -06:00
Optimizations
This commit is contained in:
parent
c3f1a9601c
commit
f81f76f862
@ -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 %}
|
@ -59,45 +59,33 @@ 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 = ""
|
||||
|
||||
# Build kwargs for querystring function
|
||||
kwargs = {
|
||||
field.name: None
|
||||
}
|
||||
# Handle filter forms
|
||||
if table:
|
||||
# Build kwargs for querystring function
|
||||
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 '#',
|
||||
'hx-push-url': "true",
|
||||
'hx-target': '#object_list',
|
||||
'hx-trigger': 'hidden.bs.dropdown from:closest .dropdown'
|
||||
})
|
||||
|
||||
# Build request url
|
||||
if request and table.htmx_url:
|
||||
url = table.htmx_url + querystring(request, **kwargs)
|
||||
elif request:
|
||||
url = querystring(request, **kwargs)
|
||||
|
||||
if hasattr(field.field, 'widget'):
|
||||
field.field.widget.attrs.update({
|
||||
'hx-get': url if url else '#',
|
||||
'hx-push-url': "true",
|
||||
'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,
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user