|
8 | 8 |
|
9 | 9 | {% if results %} |
10 | 10 | <div class="{% if cl.search_fields or cl.has_filters %}lg:rounded-b-default{% else %}lg:rounded-default{% endif %} -mx-1 px-1 overflow-x-auto lg:border lg:border-base-200 lg:mx-0 lg:px-0 lg:shadow-xs lg:dark:border-base-800 lg:bg-white lg:dark:bg-base-900 {% if cl.model_admin.list_horizontal_scrollbar_top %}simplebar-horizontal-scrollbar-top{% endif %}" data-simplebar data-simplebar-auto-hide="false"> |
11 | | - <table id="result_list" class="block border-base-200 border-spacing-none border-separate w-full lg:table"> |
12 | | - <thead> |
13 | | - <tr> |
14 | | - {% if cl.model_admin.list_sections|length > 0 %} |
15 | | - <th></th> |
16 | | - {% endif %} |
17 | | - |
18 | | - {% for header in result_headers %} |
19 | | - <th class="align-middle font-semibold py-2 text-left text-font-important-light dark:text-font-important-dark whitespace-nowrap {{ header.class_attrib }} {% if "action-toggle" in header.text and forloop.counter == 1 %}lg:px-3 lg:w-10{% else %}hidden px-3 lg:table-cell{% endif %}" scope="col"> |
20 | | - <div class="flex items-center"> |
21 | | - <div class="text"> |
22 | | - {% if header.sortable %} |
23 | | - <a href="{{ header.url_primary }}"> |
24 | | - {{ header.text|capfirst }} |
25 | | - </a> |
26 | | - {% else %} |
27 | | - {% if "action-toggle" in header.text and forloop.counter == 1 %} |
28 | | - <label class="flex flex-row items-center gap-2"> |
29 | | - {{ header.text|capfirst }} |
30 | | - |
31 | | - <span class="block font-normal lg:hidden"> |
32 | | - {% trans "Select all rows"%} |
33 | | - </span> |
34 | | - </label> |
35 | | - {% else %} |
36 | | - <span> |
37 | | - {{ header.text|capfirst }} |
38 | | - </span> |
39 | | - {% endif %} |
40 | | - {% endif %} |
41 | | - </div> |
42 | | - |
43 | | - {% if header.sortable %} |
44 | | - {% if header.sort_priority > 0 %} |
45 | | - <div class="sortoptions flex items-center ml-2"> |
46 | | - <a href="{{ header.url_toggle }}" class="flex items-center leading-none text-base-400 hover:text-base-500 dark:text-base-500 dark:hover:text-base-400 toggle {% if header.ascending %}ascending{% else %}descending{% endif %}" title="{% translate "Toggle sorting" %}"> |
47 | | - {% if header.ascending %} |
48 | | - <span class="block material-symbols-outlined">arrow_circle_down</span> |
49 | | - {% else %} |
50 | | - <span class="block material-symbols-outlined">arrow_circle_up</span> |
51 | | - {% endif %} |
52 | | - </a> |
53 | | - |
54 | | - <a class="sortremove flex items-center leading-none ml-1 text-base-400 dark:text-base-500 transition-all hover:text-red-700 dark:hover:text-red-500" href="{{ header.url_remove }}" title="{% translate "Remove from sorting" %}"> |
55 | | - <span class="block material-symbols-outlined">cancel</span> |
56 | | - </a> |
57 | | - </div> |
58 | | - |
59 | | - {% if num_sorted_fields > 1 %} |
60 | | - <span class="sortpriority font-medium ml-2 text-xs" title="{% blocktranslate with priority_number=header.sort_priority %}Sorting priority: {{ priority_number }}{% endblocktranslate %}"> |
61 | | - {{ header.sort_priority }} |
62 | | - </span> |
63 | | - {% endif %} |
64 | | - {% endif %} |
65 | | - {% endif %} |
66 | | - </div> |
67 | | - </th> |
68 | | - {% endfor %} |
69 | | - </tr> |
70 | | - </thead> |
| 11 | + <table id="result_list" class="block border-base-200 border-spacing-none border-separate w-full lg:table" {% if cl.model_admin.ordering_field %}x-sort.ghost x-on:end="sortRecords"{% endif %} data-ordering-field="{{ cl.model_admin.ordering_field }}"> |
| 12 | + {% include 'unfold/helpers/change_list_headers.html' %} |
71 | 13 |
|
72 | 14 | {% for result in results %} |
73 | | - <tbody class="block relative lg:table-row-group lg:hover:shadow-raised lg:dark:hover:shadow-raised-dark lg:hover:z-20 {% cycle '' 'bg-base-50 dark:bg-white/[.02]' %}" x-data="{rowOpen: false}"> |
| 15 | + <tbody class="block relative lg:table-row-group lg:hover:shadow-raised lg:dark:hover:shadow-raised-dark lg:hover:z-20 {% cycle '' 'bg-base-50 dark:bg-white/[.02]' %}" x-data="{rowOpen: false}" {% if cl.model_admin.ordering_field %}x-sort:item{% endif %}> |
74 | 16 | {% if result.form and result.form.non_field_errors %} |
75 | 17 | <tr> |
76 | 18 | <td class="text-left" colspan="{{ result|length }}"> |
|
80 | 22 | {% endif %} |
81 | 23 |
|
82 | 24 | <tr class="block border border-base-200 mb-3 relative rounded-default shadow-xs lg:table-row lg:border-none lg:mb-0 lg:rounded-none lg:shadow-none dark:border-base-800"> |
| 25 | + {% if cl.model_admin.ordering_field %} |
| 26 | + <td class="align-middle cursor-move flex border-b border-base-200 font-normal px-2.5 py-2 relative text-left before:font-semibold before:text-font-important-light before:block before:capitalize before:content-[attr(data-label)] before:mr-auto lg:before:hidden lg:border-b-0 lg:border-t lg:pl-3 lg:pr-0 lg:py-3 lg:table-cell dark:border-base-800 dark:lg:border-base-800 dark:before:text-font-important-dark lg:w-px" x-sort:handle> |
| 27 | + <span class="material-symbols-outlined align-middle cursor-move">drag_indicator</span> |
| 28 | + </td> |
| 29 | + {% endif %} |
| 30 | + |
83 | 31 | {% if cl.model_admin.list_sections|length > 0 %} |
84 | 32 | <td class="align-middle cursor-pointer flex border-b border-base-200 font-normal px-2.5 py-2 relative text-left before:font-semibold before:text-font-important-light before:block before:capitalize before:content-[attr(data-label)] before:mr-auto lg:before:hidden lg:border-b-0 lg:border-t lg:pl-3 lg:pr-0 lg:py-3 lg:table-cell dark:border-base-800 dark:lg:border-base-800 dark:before:text-font-important-dark lg:w-px" |
85 | 33 | data-label="{% trans "Expand row" %}" |
|
100 | 48 |
|
101 | 49 | {% if cl.model_admin.list_sections|length > 0 %} |
102 | 50 | <tr class="block mb-3 relative z-30 lg:table-row" x-show="rowOpen"> |
103 | | - <td colspan="{{ result|length|add:2 }}" class="border bg-base-200/10 block border-base-200 relative rounded-default p-3 lg:shadow-inner lg:border-0 lg:border-t lg:rounded-none lg:table-cell dark:border-base-800"> |
| 51 | + <td colspan="100%" class="border bg-base-200/10 block border-base-200 relative rounded-default p-3 lg:shadow-inner lg:border-0 lg:border-t lg:rounded-none lg:table-cell dark:border-base-800"> |
104 | 52 | <div class="absolute bg-primary-600 h-full hidden left-0 top-0 w-0.5 lg:block"></div> |
105 | 53 |
|
106 | 54 | <div class="grid gap-3 {{ cl.model_admin.list_sections_classes }}"> |
|
0 commit comments