Remove Fizzy Do command logic

This commit is contained in:
Stanko K.R.
2025-08-18 15:51:16 +02:00
parent 4596c5364d
commit 89af9066d3
14 changed files with 0 additions and 383 deletions
@@ -1,91 +0,0 @@
import { Controller } from "@hotwired/stimulus"
import { HttpStatus } from "helpers/http_helpers"
import { isMultiLineString } from "helpers/text_helpers";
import { marked } from "marked"
import { nextFrame } from "helpers/timing_helpers";
export default class extends Controller {
static targets = [ "input", "form", "modalTurboFrame" ]
static classes = [ "error", "busy" ]
static outlets = [ "dialog" ]
// Actions
async focus() {
await nextFrame()
this.inputTarget.focus()
this.inputTarget.selection.placeCursorAtTheEnd()
}
executeCommand(event) {
if (!this.inputTarget.value.trim()) {
event.preventDefault()
}
}
submitCommand({ target }) {
this.#submitCommand()
}
handleCommandResponse(event) {
const response = event.detail.fetchResponse?.response
if (event.detail.success) {
this.#handleSuccessResponse(response)
} else if (response) {
this.#handleErrorResponse(response)
}
}
hideError() {
this.element.classList.remove(this.errorClass)
}
commandSubmitted() {
this.element.classList.add(this.busyClass)
}
#reset(inputValue = "") {
this.inputTarget.value = inputValue
this.element.classList.remove(this.errorClass)
this.element.classList.remove(this.busyClass)
}
#handleSuccessResponse(response) {
if (response.headers.get("Content-Type")?.includes("application/json")) {
response.json().then((responseJson) => {
this.#handleJsonResponse(responseJson)
})
}
this.#reset()
}
async #handleErrorResponse(response) {
this.element.classList.add(this.errorClass)
}
#handleJsonResponse(responseJson) {
const { redirect_to, turbo_frame, url } = responseJson
if (redirect_to) {
Turbo.visit(redirect_to)
}
if (turbo_frame && url) {
this.#showTurboFrameModal(turbo_frame, url)
}
}
#submitCommand() {
this.formTarget.requestSubmit()
}
#showTurboFrameModal(name, url) {
this.inputTarget.blur()
this.modalTurboFrameTarget.id = name
this.modalTurboFrameTarget.src = url
this.dialogOutlet.open()
}
}