fix(12-03): clear discussion composer after suppressed swap
This commit is contained in:
parent
426d89c43b
commit
1034efcec4
2 changed files with 7 additions and 2 deletions
|
|
@ -491,7 +491,7 @@ func TestDiscussionStaticScriptClearsComposerAfterSuccessfulPost(t *testing.T) {
|
|||
t.Fatalf("read discussion-sse.js: %v", err)
|
||||
}
|
||||
script := string(js)
|
||||
for _, want := range []string{"htmx:afterRequest", "requestConfig.elt", "discussion-message-body", ".reset()"} {
|
||||
for _, want := range []string{"htmx:afterRequest", "requestConfig.elt", "isSuccessfulDiscussionPost", "xhr.status", "discussion-message-body", ".reset()"} {
|
||||
if !strings.Contains(script, want) {
|
||||
t.Fatalf("discussion script missing %q for composer reset; script: %.1200s", want, script)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,11 @@
|
|||
return detail && detail.requestConfig && detail.requestConfig.elt;
|
||||
}
|
||||
|
||||
function isSuccessfulDiscussionPost(detail) {
|
||||
var status = detail && detail.xhr && detail.xhr.status;
|
||||
return status >= 200 && status < 300;
|
||||
}
|
||||
|
||||
function messageIdFromHTML(html) {
|
||||
if (!html) return "";
|
||||
var template = document.createElement("template");
|
||||
|
|
@ -79,7 +84,7 @@
|
|||
});
|
||||
document.body.addEventListener("htmx:afterRequest", function (event) {
|
||||
var form = requestElement(event.detail);
|
||||
if (!isDiscussionMessageForm(form) || !event.detail.successful) return;
|
||||
if (!isDiscussionMessageForm(form) || !isSuccessfulDiscussionPost(event.detail)) return;
|
||||
|
||||
form.reset();
|
||||
var textarea = form.querySelector("#discussion-message-body");
|
||||
|
|
|
|||
Loading…
Reference in a new issue