Add ReferencesColumn component

pull/9097/head
Sage Abdullah 2023-02-02 14:37:45 +00:00 zatwierdzone przez Matt Westcott
rodzic a21e911266
commit 3f89d4e142
2 zmienionych plików z 39 dodań i 0 usunięć

Wyświetl plik

@ -0,0 +1,13 @@
<td {% if column.classname %}class="{{ column.classname }}"{% endif %}>
<ul>
{% for reference in value %}
<li>
{% if edit_url %}
<a href="{{ edit_url }}#content-path-{{ reference.content_path }}">
{% endif %}
{{ reference.describe_source_field }}
{% if edit_url %}</a>{% endif %}
</li>
{% endfor %}
</ul>
</td>

Wyświetl plik

@ -278,6 +278,32 @@ class BulkActionsCheckboxColumn(Column):
return context
class ReferencesColumn(Column):
cell_template_name = "wagtailadmin/tables/references_cell.html"
def __init__(
self,
name,
label=None,
accessor=None,
classname=None,
sort_key=None,
width=None,
get_url=None,
):
super().__init__(name, label, accessor, classname, sort_key, width)
self._get_url_func = get_url
def get_edit_url(self, instance):
if self._get_url_func:
return self._get_url_func(instance)
def get_cell_context_data(self, instance, parent_context):
context = super().get_cell_context_data(instance, parent_context)
context["edit_url"] = self.get_edit_url(instance)
return context
class Table(Component):
template_name = "wagtailadmin/tables/table.html"
classname = "listing"