Skip to content

Commit b969444

Browse files
Merge pull request #1850 from basecamp/column-dialog-issues
Capture key presses inside the column edit form to prevent interferences with column navigation
2 parents def4872 + 0cb6568 commit b969444

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

app/javascript/controllers/dialog_controller.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,8 @@ export default class extends Controller {
5757
loadLazyFrames() {
5858
Array.from(this.dialogTarget.querySelectorAll("turbo-frame")).forEach(frame => { frame.loading = "eager" })
5959
}
60+
61+
captureKey(event) {
62+
if (event.key !== "Escape") { event.stopPropagation() }
63+
}
6064
}

app/views/boards/show/menu/_column_form.html.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<%= form_with model: [board, column], data: { controller: "form", action: "turbo:submit-end->dialog#close turbo:submit-end->form#reset" } do |form| %>
1+
<%= form_with model: [board, column], data: { controller: "form", action: "turbo:submit-end->dialog#close turbo:submit-end->form#reset keydown->dialog#captureKey" } do |form| %>
22
<%= form.text_field :name, class: "input", placeholder: "Name this column", value: column.name,
33
required: true, autocomplete: "off", pattern: ".*\\S.*", title: "Column name cannot be blank", data: { action: "focus->form#select" } %>
44

0 commit comments

Comments
 (0)