Skip to content

feat: [minor] add safe event details, editing and deletion - #85

Merged
thedhanawada merged 5 commits into
masterfrom
feature/event-details-editor
Oct 2, 2026
Merged

thedhanawada merged 5 commits into
masterfrom
feature/event-details-editor

Conversation

@thedhanawada

@thedhanawada thedhanawada commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Closes #81, closes #74, closes #47 when reviewed and merged. Includes the verified equivalent of #84; keep #84 open until this consolidated PR lands.

  • Open calendar-owned, plain-DOM details before the editor from click/Enter/Space, showing title, clicked occurrence time, and location. Dynamic values use textContent. Times are explicitly labeled local, consistent with the existing grid.

  • Add Edit with prefilled title, location, all-day state, times and color; save updates the existing id instead of creating a duplicate, retaining host-owned metadata/attendees/description and the destination time zone supported by older Core releases.

  • Require an accessible delete confirmation, with Cancel/Escape, failure feedback and retry; retain failed save drafts and block stale edits after external data changes.

  • Scope keyboard/focus handling to the calendar, guard stale controls, restore visible/non-inert focus targets and release dialogs/traps on navigation, readOnly toggles, teardown and reattachment.

  • Preserve untouched full-precision dates and nullable colors, including sub-minute events and repeated DST hours. Range creation retains its selected end time.

  • Recurring details show the selected occurrence, but omit Edit/Delete and drag/resize mutation paths with a clear explanation. Recurrence is checked when arming gestures and again at move/up/commit, and unsupported resize handles are omitted. Series/occurrence mutation choice is intentionally deferred rather than silently editing the master.

  • Include fix: guard focus restoration and compile wildcard subscriptions #84 focus-restoration safety and subscription-scoped wildcard compilation.

  • Add show-color-picker="false" / showColorPicker = false for hosts that cannot persist color; default remains visible, active drafts and existing colors are preserved.

  • Recognize metadata.forceCalendarRecurring === true on externally expanded instances: display once without an RRULE and disable all built-in mutation controls. Standalone EventForm.edit also declines recurring entries; imperative host APIs remain unchanged.

  • Use date-only Start date / Last day (inclusive) fields for all-day events, accepting same-day events while preserving Core’s existing inclusive civil-date contract. Timed/all-day toggles retain exact unchanged timed instants; no Core boundary change.

Validation

  • npm test -- --runInBand: 20 suites, 291 tests passed against the actual published Core 2.5.6 tarball (including generated declarations and TypeScript consumer checks)
  • All-day + details suites: 54 tests passed in UTC, America/Los_Angeles, America/New_York and Pacific/Auckland, including DST boundaries and unchanged exact timestamp roundtrips
  • npm run build and node test-build.js passed
  • Prettier source check and git diff --check passed
  • ESLint: 0 errors, 12 pre-existing baseline warnings
  • Independent JSDOM/code review identified and verified fixes for precise-date, nullable-color, and destination-timezone preservation

Review limits

No live Salesforce Locker/LWS or browser visual acceptance is claimed. The available deployed preview requires Vercel login and the cloud browser blocks localhost. The implementation avoids a new custom-element registration, portals and native Popover APIs, but live integration, assistive technology and visual testing remain review gates.

Draft only. No merge, package version change, release or installer pin update. This is a minor feature release (1.9.0 from 1.8.1); preserve [minor] in the eventual merge/squash commit message. Live candidate acceptance remains required before release.

@vercel

vercel Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
force-calendar-interface Ready Ready Preview Oct 2, 2026 9:38am UTC

@thedhanawada thedhanawada changed the title feat: accessible event details with guarded edit and delete feat: [minor] add safe event details, editing and deletion Oct 2, 2026
@thedhanawada
thedhanawada marked this pull request as ready for review October 2, 2026 10:05
@thedhanawada
thedhanawada merged commit 8763c8c into master Oct 2, 2026
12 checks passed

This branch was successfully deployed

1 active deployment
Preview — 3dbfee02 Deployed Oct 2, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Event details popover before the edit form BaseComponent: Restore focus only to visible elements Optimize EventBus wildcard matching

1 participant