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
1 change: 1 addition & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ ba755ca13123d2691a0926ddb64e5d0a2906a880
1ecf6889cabc9f3f60d3fdd651468cddd8f4da6e
69a93a88edb56ba47f624dac7a21aacc47ea474f
78298b51629e14c0e472898b635bc819d47b7f27
f81e6e3a53ee36e3f730a71aa55a5744982dd016
5 changes: 4 additions & 1 deletion django/contrib/admin/static/admin/css/forms.css
Original file line number Diff line number Diff line change
Expand Up @@ -432,9 +432,12 @@ body.popup .submit-row {
border: none;
}

.inline-related.tabular div.wrapper {
overflow-x: auto;
}

.inline-related.tabular fieldset.module table {
width: 100%;
overflow-x: scroll;
}

.last-related fieldset {
Expand Down
6 changes: 4 additions & 2 deletions django/contrib/admin/templates/admin/edit_inline/tabular.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ <h2 id="{{ inline_admin_formset.formset.prefix }}-heading" class="inline-heading
</h2>
{% if inline_admin_formset.is_collapsible %}</summary>{% endif %}
{{ inline_admin_formset.formset.non_form_errors }}
<table>
<div class="wrapper">
<table>
<thead><tr>
<th class="original"></th>
{% for field in inline_admin_formset.fields %}
Expand Down Expand Up @@ -62,7 +63,8 @@ <h2 id="{{ inline_admin_formset.formset.prefix }}-heading" class="inline-heading
</tr>
{% endfor %}
</tbody>
</table>
</table>
</div>
{% if inline_admin_formset.is_collapsible %}</details>{% endif %}
</fieldset>
</div>
Expand Down
10 changes: 10 additions & 0 deletions tests/admin_inlines/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -2501,6 +2501,16 @@ def test_tabular_inline_layout(self):
tabular_inline.find_elements(By.CSS_SELECTOR, ".collapse"),
[],
)
# The table does not overflow the content section.
content = self.selenium.find_element(By.ID, "content-main")
tabular_wrapper = self.selenium.find_element(
By.CSS_SELECTOR, "div.tabular.inline-related div.wrapper"
)
self.assertGreater(
tabular_wrapper.find_element(By.TAG_NAME, "table").size["width"],
tabular_wrapper.size["width"],
)
self.assertLessEqual(tabular_wrapper.size["width"], content.size["width"])

@screenshot_cases(["desktop_size", "mobile_size", "rtl", "dark", "high_contrast"])
def test_tabular_inline_delete_layout(self):
Expand Down
Loading