diff options
-rw-r--r-- | init.php | 6 | ||||
-rw-r--r-- | mail.js | 16 |
2 files changed, 18 insertions, 4 deletions
@@ -15,15 +15,15 @@ class Mail extends Plugin { $host->add_hook($host::HOOK_ARTICLE_BUTTON, $this); $host->add_hook($host::HOOK_PREFS_TAB, $this); - $host->add_hook($host::HOOK_HEADLINE_TOOLBAR_SELECT_MENU_ITEM, $this); + $host->add_hook($host::HOOK_HEADLINE_TOOLBAR_SELECT_MENU_ITEM2, $this); } function get_js() { return file_get_contents(__DIR__ . "/mail.js"); } - function hook_headline_toolbar_select_menu_item($feed_id, $is_cat) { - return "<div dojoType='dijit.MenuItem' onclick='Plugins.Mail.send()'>".__('Forward by email')."</div>"; + function hook_headline_toolbar_select_menu_item2($feed_id, $is_cat) { + return "<option value='Plugins.Mail.send()'>".__('Forward by email')."</option>"; } function save() : void { @@ -1,6 +1,14 @@ -/* global Plugins, Headlines, dojo, App, xhr, Notify, fox, __ */ +/* global require, PluginHost, Plugins, Headlines, dojo, App, xhr, Notify, fox, __ */ Plugins.Mail = { + init: function() { + PluginHost.register(PluginHost.HOOK_HEADLINE_TOOLBAR_SELECT_MENU_ITEM2, (action) => { + if (action == "Plugins.Mail.send()") + this.send(); + + return true; + }); + }, send: function(id) { if (!id) { const ids = Headlines.getSelected(); @@ -49,3 +57,9 @@ Plugins.Mail = { Plugins.Mail.send(id); } }; + +require(['dojo/_base/kernel', 'dojo/ready'], function (dojo, ready, script) { + ready(function() { + Plugins.Mail.init(); + }) +}); |