mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-09 16:18:30 +08:00
Why this change? Previously just using the `addToolbarPopupMenuOptionsCallback` plugin API itself was insufficient because it required the return object to include an `action` key which only accepted a name of the action function as a string. This was highly problematic because the action function had to be defined on the `composer` service which means using the `modifyClass` API to add the action function. This made the API awkward to use leading to poor developer experiencec. What does this change do? This commit introduces a couple of improvemnts to the API. 1. First the API has been renamed to `addComposerToolbarPopupMenuOption` because the API no longer accepts a callback function which was quite redundant. Instead, it now accepts an Object. The `addToolbarPopupMenuOptionsCallback` API function is deprecated and will be dropped in Discourse 3.3. Note that passing the API a function is still supported but will be dropped when the `addToolbarPopupMenuOptionsCallback` is removed. 2. The `action` key in the Object passed to the function can now be a function and is passed the `toolbarEvent` object when called. 3. The `condition` on key in the Object passed to the function can now be a function and is passed the `composer` service when called. |
||
|---|---|---|
| .. | ||
| ADMIN-QUICK-START-GUIDE.md | ||
| AUTHORS.md | ||
| CHANGELOG-JAVASCRIPT-PLUGIN-API.md | ||
| code-of-conduct.md | ||
| DEVELOPER-ADVANCED.md | ||
| DEVELOPMENT-OSX-NATIVE.md | ||
| INSTALL-cloud.md | ||
| INSTALL-email.md | ||
| INSTALL.md | ||
| PLUGINS.md | ||
| SECURITY.md | ||
| TESTING.md | ||
| TROUBLESHOOTING.md | ||