snappymail/dev/Common
Fathi Ben Nasr 548e2fdc11 Let plugins register a navigation entry
A plugin that adds a screen has no way to offer a way into it. The
folder list toolbar holds Compose and Contacts, and nothing else can be
added to it, so plugins reach into the UI themselves: polling for an
existing button, replacing its icon and hanging a menu off it. That is
fragile, it varies per plugin, and it puts screens somewhere users do
not look for them.

rl.addNavEntry({icon, title, hash}) appends an entry to that toolbar,
rendered with the same .btn classes so it follows the active theme.
click may be given instead of hash for a popup rather than a route.

Three lines of template, one observableArray, one function, and no
change to existing behaviour when no plugin registers anything.
2026-08-14 11:04:25 +00:00
..
Audio.js Draft idea for custom notification sounds 2023-12-05 16:18:36 +01:00
Cache.js Cache changes for #1003 2023-03-06 11:36:23 +01:00
Consts.js User Settings General messages per page use <input number instead of select 2021-09-03 16:40:16 +02:00
Enums.js Ask old login password on CryptKey decrypt failure, to reseal with new password 2024-03-18 12:25:24 +01:00
EnumsUser.js Slightly modified patch code of #1657 2024-07-11 01:31:58 +02:00
File.js Prevent Infinity #1540 2024-04-08 17:22:27 +02:00
Folders.js Resolve #1678 2024-08-20 16:30:25 +02:00
Fullscreen.js centralize elementById('rl-app') 2023-02-20 15:47:46 +01:00
Globals.js Improved some AppData handling 2024-03-07 01:16:58 +01:00
Html.js Update Html.js to remove x-html tags before rendering 2024-12-07 09:37:33 +09:00
HtmlEditor.js Removed TODO as mentioned in #1473 2024-03-04 19:48:57 +01:00
Links.js Added option to convert HTML to Markdown instead of plain, using Turndown #1604 2024-09-14 14:00:36 +02:00
Plugins.js Let plugins register a navigation entry 2026-08-14 11:04:25 +00:00
Selector.js Cleanup and simplify messageList UpOrDown handling 2023-10-08 13:57:46 +02:00
Translator.js Change handling of (token) errors due to #1706 2024-08-16 22:05:15 +02:00
Utils.js Prevent Infinity #1540 2024-04-08 17:22:27 +02:00
UtilsUser.js Resolve #1689 2024-08-06 17:50:43 +02:00