mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-28 11:26:26 -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>
|
<i class="mdi mdi-filter-settings" style="font-size: 1.25rem;"> </i>
|
||||||
</a>
|
</a>
|
||||||
<div class="dropdown-menu">
|
<div class="dropdown-menu">
|
||||||
{% render_filter_field form_field table=table request=request %}
|
{% render_field form_field table=table request=request %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
@ -59,45 +59,33 @@ def widget_type(field):
|
|||||||
#
|
#
|
||||||
|
|
||||||
@register.inclusion_tag('form_helpers/render_field.html')
|
@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
|
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 = ""
|
url = ""
|
||||||
|
|
||||||
# Build kwargs for querystring function
|
# Handle filter forms
|
||||||
kwargs = {
|
if table:
|
||||||
field.name: None
|
# 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 {
|
return {
|
||||||
'field': field,
|
'field': field,
|
||||||
'label': None,
|
'label': label or field.label if not table else None,
|
||||||
'bulk_nullable': bulk_nullable,
|
'bulk_nullable': bulk_nullable,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user