Closed (fixed)
Project:
Navigation +
Version:
2.3.x-dev
Component:
Code
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
9 Jun 2026 at 21:26 UTC
Updated:
23 Jun 2026 at 21:30 UTC
Jump to comment: Most recent
Server-readable editor preferences (hotkeys, media file associations, tool toggles) are stored per-account on the user's navigation_plus_settings map field, but each new preference needed its own bespoke save route and controller. There was no single read/write API, which made adding a preference more work than it should be.
EditorSettings service exposing get($namespace, $key, $default) and set($namespace, $key, $value), namespaced by the owning module and persisted on the live user entity (outside any workspace)./navigation-plus/setting/{namespace}/{key}/{value} route to Settings::saveSetting(), which calls EditorSettings::set().Drupal.NavigationPlus.saveSetting(namespace, key, value) JS helper as the client counterpart.Purely visual, client-only toggles (block preview, layout outlines) remain in the browser's localStorage and are intentionally not handled
here.
navigation_plus.editor_settings service (EditorSettings).navigation_plus.settings.save_setting.Drupal.NavigationPlus.saveSetting().
Comments
Comment #3
tim bozeman commented