Compare commits
5 Commits
315e22a8ac
...
8acc4f9c5b
Author | SHA1 | Date |
---|---|---|
Lukáš Kucharczyk | 8acc4f9c5b | |
Lukáš Kucharczyk | 6b7a96dc06 | |
Lukáš Kucharczyk | 5c5fd5f26a | |
Lukáš Kucharczyk | 7181b6472c | |
Lukáš Kucharczyk | af06d07ee3 |
|
@ -6,11 +6,11 @@ repos:
|
||||||
# rev: 24.8.0
|
# rev: 24.8.0
|
||||||
# hooks:
|
# hooks:
|
||||||
# - id: black
|
# - id: black
|
||||||
- repo: https://github.com/pycqa/isort
|
# - repo: https://github.com/pycqa/isort
|
||||||
rev: 5.13.2
|
# rev: 5.13.2
|
||||||
hooks:
|
# hooks:
|
||||||
- id: isort
|
# - id: isort
|
||||||
name: isort (python)
|
# name: isort (python)
|
||||||
- repo: https://github.com/Riverside-Healthcare/djLint
|
- repo: https://github.com/Riverside-Healthcare/djLint
|
||||||
rev: v1.34.0
|
rev: v1.34.0
|
||||||
hooks:
|
hooks:
|
||||||
|
|
|
@ -68,8 +68,8 @@ def Popover(
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def PopoverTruncated(input_string: str) -> str:
|
def PopoverTruncated(input_string: str, length: int = 30, ellipsis: str = "…") -> str:
|
||||||
if (truncated := truncate(input_string)) != input_string:
|
if (truncated := truncate(input_string, length, ellipsis)) != input_string:
|
||||||
return Popover(wrapped_content=truncated, popover_content=input_string)
|
return Popover(wrapped_content=truncated, popover_content=input_string)
|
||||||
else:
|
else:
|
||||||
return input_string
|
return input_string
|
||||||
|
|
|
@ -36,8 +36,8 @@ def safe_getattr(obj: object, attr_chain: str, default: Any | None = None) -> ob
|
||||||
|
|
||||||
def truncate(input_string: str, length: int = 30, ellipsis: str = "…") -> str:
|
def truncate(input_string: str, length: int = 30, ellipsis: str = "…") -> str:
|
||||||
return (
|
return (
|
||||||
(f"{input_string[:length-len(ellipsis)]}{ellipsis}")
|
(f"{input_string[:length-len(ellipsis)].rstrip()}{ellipsis}")
|
||||||
if len(input_string) > 30
|
if len(input_string) > length
|
||||||
else input_string
|
else input_string
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -3117,6 +3117,10 @@ textarea:disabled:is(.dark *) {
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.md\:justify-between {
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
.md\:space-x-8 > :not([hidden]) ~ :not([hidden]) {
|
.md\:space-x-8 > :not([hidden]) ~ :not([hidden]) {
|
||||||
--tw-space-x-reverse: 0;
|
--tw-space-x-reverse: 0;
|
||||||
margin-right: calc(2rem * var(--tw-space-x-reverse));
|
margin-right: calc(2rem * var(--tw-space-x-reverse));
|
||||||
|
@ -3260,3 +3264,13 @@ textarea:disabled:is(.dark *) {
|
||||||
.\[\&_td\:last-child\]\:text-right td:last-child {
|
.\[\&_td\:last-child\]\:text-right td:last-child {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media not all and (min-width: 640px) {
|
||||||
|
.\[\&_td\:not\(\:first-child\)\:not\(\:last-child\)\]\:max-sm\:hidden td:not(:first-child):not(:last-child) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.\[\&_th\:not\(\:first-child\)\:not\(\:last-child\)\]\:max-sm\:hidden th:not(:first-child):not(:last-child) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -7,20 +7,20 @@
|
||||||
{{ header_action }}
|
{{ header_action }}
|
||||||
</c-table-header>
|
</c-table-header>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<thead class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
|
<thead class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400 [&_th:not(:first-child):not(:last-child)]:max-sm:hidden">
|
||||||
<tr>
|
<tr>
|
||||||
{% for column in columns %}<th scope="col" class="px-6 py-3">{{ column }}</th>{% endfor %}
|
{% for column in columns %}<th scope="col" class="px-6 py-3">{{ column }}</th>{% endfor %}
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody class="dark:divide-y">
|
<tbody class="dark:divide-y [&_td:not(:first-child):not(:last-child)]:max-sm:hidden">
|
||||||
{% for row in rows %}<c-table-row :data=row />{% endfor %}
|
{% for row in rows %}<c-table-row :data=row />{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% if page_obj and elided_page_range %}
|
{% if page_obj and elided_page_range %}
|
||||||
<nav class="flex items-center flex-column md:flex-row justify-between px-6 py-4 dark:bg-gray-900 sm:rounded-b-lg"
|
<nav class="flex items-center flex-col md:flex-row md:justify-between px-6 py-4 dark:bg-gray-900 sm:rounded-b-lg"
|
||||||
aria-label="Table navigation">
|
aria-label="Table navigation">
|
||||||
<span class="text-sm font-normal text-gray-500 dark:text-gray-400 mb-4 md:mb-0 block w-full md:inline md:w-auto">Showing <span class="font-semibold text-gray-900 dark:text-white">{{ page_obj.start_index }}</span>—<span class="font-semibold text-gray-900 dark:text-white">{{ page_obj.end_index }}</span> of <span class="font-semibold text-gray-900 dark:text-white">{{ page_obj.paginator.count }}</span></span>
|
<span class="text-sm text-center font-normal text-gray-500 dark:text-gray-400 mb-4 md:mb-0 block w-full md:inline md:w-auto"><span class="font-semibold text-gray-900 dark:text-white">{{ page_obj.start_index }}</span>—<span class="font-semibold text-gray-900 dark:text-white">{{ page_obj.end_index }}</span> of <span class="font-semibold text-gray-900 dark:text-white">{{ page_obj.paginator.count }}</span></span>
|
||||||
<ul class="inline-flex -space-x-px rtl:space-x-reverse text-sm h-8">
|
<ul class="inline-flex -space-x-px rtl:space-x-reverse text-sm h-8">
|
||||||
<li>
|
<li>
|
||||||
{% if page_obj.has_previous %}
|
{% if page_obj.has_previous %}
|
||||||
|
|
Loading…
Reference in New Issue