Merge branch 'main' into combobox-a11y
* main: (26 commits) Center figure attachments and use normal size for Save Changes button Re-record message response VCR cassette Improve link rendering Give Fizzy Ask context about who it's talking to Show only published cards to Fizzy Ask Remove unique index Update to latest lexxy (merged renamed branch) Fix lexxy events prefix Rename Action Text Lexical => Lexxy Ensure empty/new transcript isn't narrow Source order We need this for the events index Safari apparently doesn't apply `position` in its internal stylesheet Don't allow the pattern to show through buttons Button is now in the column, merge fix Style tweaks to bar placeholder Any press of `esc` should close the dialog Copy Fix type mismatch Make the quota error message friendlier ...
This commit is contained in:
@@ -27,7 +27,10 @@ export default class extends Controller {
|
||||
if (event.detail.success) {
|
||||
this.#reset()
|
||||
} else {
|
||||
this.conversationMessagesOutlet.failPendingMessage(this.clientMessageIdInputTarget.value)
|
||||
this.#failPendingMessage(
|
||||
this.clientMessageIdInputTarget.value,
|
||||
event.detail.fetchResponse
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,4 +63,18 @@ export default class extends Controller {
|
||||
this.textInputTarget.value = ""
|
||||
this.clientMessageIdInputTarget.value = ""
|
||||
}
|
||||
|
||||
async #failPendingMessage(clientMessageId, response) {
|
||||
let errorMessage = null
|
||||
|
||||
if (response?.contentType?.includes('application/json')) {
|
||||
const error = JSON.parse(await response.responseText)
|
||||
errorMessage = error.error
|
||||
}
|
||||
|
||||
this.conversationMessagesOutlet.failPendingMessage(
|
||||
this.clientMessageIdInputTarget.value,
|
||||
errorMessage
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,11 +12,15 @@ export default class extends Controller {
|
||||
this.scrollToBottom()
|
||||
}
|
||||
|
||||
failPendingMessage(clientMessageId) {
|
||||
failPendingMessage(clientMessageId, errorMessage) {
|
||||
const message = this.element.querySelector(`#message_${clientMessageId}`)
|
||||
|
||||
if (message) {
|
||||
message.classList.add(this.failedMessageClass)
|
||||
|
||||
if (errorMessage) {
|
||||
message.dataset.error = errorMessage
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ export default class extends Controller {
|
||||
}
|
||||
|
||||
#shouldIgnore(event) {
|
||||
return event.defaultPrevented || event.target.closest("input, textarea, lexical-editor")
|
||||
return event.defaultPrevented || event.target.closest("input, textarea, lexxy-editor")
|
||||
}
|
||||
|
||||
get #isClickable() {
|
||||
|
||||
@@ -46,8 +46,8 @@ export default class extends Controller {
|
||||
}
|
||||
|
||||
#triggerChangeEvent(newValue) {
|
||||
if (this.inputTarget.tagName === "LEXICAL-EDITOR") {
|
||||
this.inputTarget.dispatchEvent(new CustomEvent('actiontext:change', {
|
||||
if (this.inputTarget.tagName === "LEXXY-EDITOR") {
|
||||
this.inputTarget.dispatchEvent(new CustomEvent('lexxy:change', {
|
||||
bubbles: true,
|
||||
detail: {
|
||||
previousContent: '',
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Controller } from "@hotwired/stimulus"
|
||||
import { highlightAll } from "actiontext-lexical"
|
||||
import { highlightAll } from "lexxy"
|
||||
|
||||
export default class extends Controller {
|
||||
connect() {
|
||||
|
||||
Reference in New Issue
Block a user