Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions netbox/netbox/tables/tables.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from copy import deepcopy
from functools import cached_property

import django_tables2 as tables
from django.contrib.auth.models import AnonymousUser
Expand Down Expand Up @@ -189,6 +190,7 @@ class NetBoxTable(BaseTable):
actions = columns.ActionsColumn()

exempt_columns = ('pk', 'actions')
embedded = False

class Meta(BaseTable.Meta):
pass
Expand Down Expand Up @@ -218,12 +220,12 @@ def __init__(self, *args, extra_columns=None, **kwargs):

super().__init__(*args, extra_columns=extra_columns, **kwargs)

@property
@cached_property
def htmx_url(self):
"""
Return the base HTML request URL for embedded tables.
"""
if getattr(self, 'embedded', False):
if self.embedded:
viewname = get_viewname(self._meta.model, action='list')
try:
return reverse(viewname)
Expand Down
2 changes: 1 addition & 1 deletion netbox/netbox/views/generic/bulk_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ def get(self, request):

# If this is an HTMX request, return only the rendered table HTML
if htmx_partial(request):
if not request.htmx.target:
if request.GET.get('embedded', False):
table.embedded = True
# Hide selection checkboxes
if 'pk' in table.base_columns:
Expand Down
2 changes: 1 addition & 1 deletion netbox/utilities/templates/builtins/htmx_table.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<div class="htmx-container table-responsive"
hx-get="{% url viewname %}{% if url_params %}?{{ url_params.urlencode }}{% endif %}"
hx-get="{% url viewname %}?embedded=True{% if url_params %}&{{ url_params.urlencode }}{% endif %}"
hx-target="this"
hx-trigger="load" hx-select=".htmx-container" hx-swap="outerHTML"
></div>