Merge pull request #2657 from basecamp/mobile/fix-clipped-column-menu

Mobile / Fix clipped column menu
This commit is contained in:
Adrien Maston
2026-03-05 17:39:21 +01:00
committed by GitHub
4 changed files with 13 additions and 4 deletions
@@ -54,6 +54,12 @@ export default class extends Controller {
}
}
frameColumnOnMobile(event) {
if (!this.#isDesktop) {
event.currentTarget.scrollIntoView({ behavior: "smooth", inline: "center" })
}
}
async #restoreColumnsDisablingTransitions() {
this.#disableTransitions()
this.#restoreColumns()
@@ -7,7 +7,8 @@ export default class extends Controller {
static values = {
modal: { type: Boolean, default: false },
sizing: { type: Boolean, default: true },
autoOpen: { type: Boolean, default: false }
autoOpen: { type: Boolean, default: false },
orient: { type: Boolean, default: true }
}
connect() {
@@ -26,7 +27,9 @@ export default class extends Controller {
this.dialogTarget.showModal()
} else {
this.dialogTarget.show()
orient({ target: this.dialogTarget, anchor: this.element })
if (this.orientValue) {
orient({ target: this.dialogTarget, anchor: this.element })
}
}
this.loadLazyFrames()
+1 -1
View File
@@ -4,7 +4,7 @@
drag_and_strum_target: "container",
collapsible_columns_target: "column",
controller: "clicker",
action: "turbo:before-stream-render@document->collapsible-columns#restoreState focus->collapsible-columns#focusOnColumn"
action: "turbo:before-stream-render@document->collapsible-columns#restoreState focus->collapsible-columns#focusOnColumn dialog:show->collapsible-columns#frameColumnOnMobile"
} do %>
<header class="cards__header">
<%= render "boards/show/menu/column", column: column %>
+1 -1
View File
@@ -1,4 +1,4 @@
<div id="<%= dom_id(column, :menu) %>" class="cards__menu" data-controller="dialog" data-action="keydown.esc->dialog#close click@document->dialog#closeOnClickOutside">
<div id="<%= dom_id(column, :menu) %>" class="cards__menu" data-controller="dialog" data-dialog-orient-value="false" data-action="keydown.esc->dialog#close click@document->dialog#closeOnClickOutside">
<button class="btn btn--circle txt-x-small borderless" data-action="click->dialog#open">
<%= icon_tag "menu-dots-horizontal", class: "translucent" %>
<span class="for-screen-reader">Column options</span>