Skip to content

Commit d034159

Browse files
committed
feat: generic HTMX spinner and hx_show_message helper
1 parent 16de74b commit d034159

5 files changed

Lines changed: 11 additions & 13 deletions

File tree

src/core/partial_views.py

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import json
2-
31
from django.core.cache import cache
42
from django.shortcuts import render
53
from django.http import HttpResponseBadRequest
@@ -8,14 +6,7 @@
86

97
from core import forms, models, logic
108
from security.decorators import editor_or_journal_manager_required
11-
12-
13-
def hx_show_message(response, message, level="success"):
14-
"""Set the HX-Trigger header to fire a showMessage toastr notification."""
15-
response["HX-Trigger"] = json.dumps(
16-
{"showMessage": {"type": level, "message": message}}
17-
)
18-
return response
9+
from utils.htmx import hx_show_message
1910

2011

2112
JOURNAL_IMAGE_FIELDS = {

src/templates/admin/core/base.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ <h1>{% block title-section %}{% endblock %}</h1>
119119
</script>
120120
{% endblock toastr %}
121121
{% include "admin/core/partials/htmx_messages.html" %}
122+
{% include "admin/core/partials/htmx_spinner.html" %}
122123

123124
{% block js %}{% endblock %}
124125
</body>

src/templates/admin/core/partials/journal_image/events.html renamed to src/templates/admin/core/partials/htmx_spinner.html

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
<script>
2-
{# Toastr notifications for image saves/removes are handled by htmx_messages.html in base.html. #}
3-
42
document.body.addEventListener("htmx:beforeRequest", function (event) {
53
var indicator = event.detail.elt.getAttribute("hx-indicator");
64
if (indicator) {

src/templates/admin/elements/forms/group_journal_images.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,3 @@ <h2>{% trans "Journal Images" %}</h2>
2727
</div>
2828

2929
{% include "admin/core/partials/htmx.html" %}
30-
{% include "admin/core/partials/journal_image/events.html" %}

src/utils/htmx.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import json
2+
3+
4+
def hx_show_message(response, message, level="success"):
5+
"""Set the HX-Trigger header to fire a showMessage toastr notification."""
6+
response["HX-Trigger"] = json.dumps(
7+
{"showMessage": {"type": level, "message": message}}
8+
)
9+
return response

0 commit comments

Comments
 (0)