mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-25 10:09:20 +03:00
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.
|
||
|---|---|---|
| .. | ||
| App | ||
| Common | ||
| Component | ||
| DAV | ||
| External | ||
| Knoin | ||
| Mime | ||
| Model | ||
| Remote | ||
| Screen | ||
| Settings | ||
| Sieve | ||
| Storage | ||
| Stores | ||
| Styles | ||
| View | ||
| admin.js | ||
| app.js | ||
| boot.js | ||
| bootstrap.js | ||
| dragdropgecko.js | ||
| prototype.js | ||
| serviceworker.js | ||
| shortcuts.js | ||
| sieve.js | ||