Files
fizzy/app/views/commands/_form.html.erb
T
Kevin McConnell 880e3d98b2 Prevent default when handling keyboard shortcuts
Without this, any default action would still happen. With Chrome on
Linux, that causes browser features to be triggered with our CTRL+J and
CTRL+K actions.
2025-05-28 08:18:49 +01:00

25 lines
1.2 KiB
Plaintext

<%= form_tag commands_path,
id: "commands_form",
class: [ "flex align-center gap-half" ],
data: {
controller: "form",
terminal_target: "form",
action: "turbo:submit-start->terminal#commandSubmitted turbo:submit-end->terminal#focus keydown.meta+k@document->terminal#focus:prevent keydown.ctrl+k@document->terminal#focus:prevent keydown.enter->terminal#executeCommand keydown.esc->terminal#hideMenus turbo:submit-end->terminal#handleCommandResponse"
} do %>
<label class="terminal__label txt-nowrap" for="fizzy_do">Fizzy do &gt;</label>
<%= text_field_tag "command", nil,
autocomplete: "off",
autocorrect: "off",
autocapitalize: "off",
class: "terminal__input input fill-transparent unpad",
data: {
terminal_target: "input",
action: "keydown.up->toggle-class#add:prevent keydown.up->navigable-list#selectCurrentOrLast terminal#hideError"
},
placeholder: "Press #{ hotkey_label(["ctrl", "K"]) } to search or type commands…",
spellcheck: "false" %>
<%= hidden_field_tag "confirmed", nil, data: { terminal_target: "confirmation" } %>
<% end %>