Problem/Motivation

Several small, independent Edit Mode issues had accumulated:

  • Tool hotkeys swallow browser/OS shortcuts. The keydown
    handler matched a single character against the tool hotkey map without
    checking modifier keys, so combinations such as Ctrl/Cmd+R could
    activate a tool instead of performing the browser action.
  • Edit Mode messages have no configurable lifetime.
    EditModeMessageCommand always used the client's per-type default
    duration, with no way for the server to request a shorter or permanent
    message.
  • The entity wrapper id format was duplicated. The
    entity_type::identifier::bundle string used to target an entity's
    editable wrapper in AJAX refreshes was built inline in more than one place, so
    producers and consumers could drift.
  • _navigation_plus_get_entity_view_display() assumed a
    display always exists.
    Config entities have no view display, so the
    non-nullable return type was incorrect.

User interface changes

Browser and OS keyboard shortcuts are no longer intercepted by tool hotkeys
while Edit Mode is active. We will be switching out this hotkey functionality for something more robust pretty soon.

API changes

  • EditModeMessageCommand::__construct() gains an optional
    ?int $duration = NULL parameter.
  • New navigation_plus_entity_wrapper_id(EntityInterface $entity): string.
  • _navigation_plus_get_entity_view_display() return type widened
    to ?EntityViewDisplayInterface.

Comments

tim bozeman created an issue. See original summary.

  • tim bozeman committed d6bfd2a4 on 2.3.x
    task: #3594947 Edit Mode: respect modifier keys in hotkeys, add message...
tim bozeman’s picture

Status: Reviewed & tested by the community » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.