Drag calendar events to another day in the week grid #400

Closed
opened 2026-09-19 04:16:20 +00:00 by jcoffey-dev · 0 comments
Owner

The month grid could already move an event to another day; the week grid could not. A timed event only moved up and down within its own column, and all-day chips above the grid did not drag at all.

  • Timed events in the week grid now move sideways across the columns as well as up and down, in one gesture, landing on the new day at the hour they were dropped. The preview shifts by whole columns and stops at the edges of the week rather than wrapping. Resizing is unchanged and stays vertical; the day view has one column, so nothing moves sideways there.
  • All-day chips in the week grid drag between days the way month chips do. The month grid's chip drag moved into a useChipDrag hook that both use.
  • Counted from the day it was grabbed. A three-day event picked up on its last day and dropped one cell to the right used to move three days, in the month grid too. It now moves one.
  • moveAcrossPatch adds the days as calendar days before the minutes, so an event keeps its hour across a clock change; columnsMoved turns horizontal pixels into a clamped column count. Both are tested, including a move across the November clock change.

No new strings.

Checked in Chrome against the mock: a timed event moved Sat 2 PM → Wed 3 PM and survived a reload; an 11 PM event moved a day left and stayed at 11 PM; a two-day all-day event moved one day in both the month grid and the week grid's all-day row.

Merged 2026-09-18 as coffey-labs/ihasmail@091782ae3a

Rebuilt from: git history, session transcript.

The month grid could already move an event to another day; the week grid could not. A timed event only moved up and down within its own column, and all-day chips above the grid did not drag at all. - **Timed events** in the week grid now move sideways across the columns as well as up and down, in one gesture, landing on the new day at the hour they were dropped. The preview shifts by whole columns and stops at the edges of the week rather than wrapping. Resizing is unchanged and stays vertical; the day view has one column, so nothing moves sideways there. - **All-day chips** in the week grid drag between days the way month chips do. The month grid's chip drag moved into a `useChipDrag` hook that both use. - **Counted from the day it was grabbed.** A three-day event picked up on its last day and dropped one cell to the right used to move three days, in the month grid too. It now moves one. - `moveAcrossPatch` adds the days as calendar days before the minutes, so an event keeps its hour across a clock change; `columnsMoved` turns horizontal pixels into a clamped column count. Both are tested, including a move across the November clock change. No new strings. Checked in Chrome against the mock: a timed event moved Sat 2 PM → Wed 3 PM and survived a reload; an 11 PM event moved a day left and stayed at 11 PM; a two-day all-day event moved one day in both the month grid and the week grid's all-day row. **Merged** 2026-09-18 as coffey-labs/ihasmail@091782ae3a52 <sub>Rebuilt from: git history, session transcript.</sub>
This repo is archived. You cannot comment on issues.