Update context-menu-demo

This commit is contained in:
Will Bamberg
2017-08-24 19:56:07 -07:00
parent f40d1785e2
commit 760b00f163
10 changed files with 45 additions and 32 deletions

View File

@@ -103,8 +103,8 @@
"runtime.lastError",
"tabs.executeScript"
],
"name": "context-menu-demo",
"description": "Demonstrates adding and manipulating context menu items using the contextMenus API."
"name": "menu-demo",
"description": "Demonstrates adding and manipulating menu items using the menus API."
},
{
"javascript_apis": [

View File

@@ -9,39 +9,44 @@
"description": "Description of the add-on."
},
"contextMenuItemSelectionLogger": {
"menuItemSelectionLogger": {
"message": "Log '%s' to the browser console",
"description": "Title of context menu item that logs the selected text when clicked."
},
"contextMenuItemRemoveMe": {
"menuItemRemoveMe": {
"message": "Remove me!",
"description": "Title of context menu item that removes itself when clicked."
},
"contextMenuItemGreenify": {
"menuItemGreenify": {
"message": "Greenify",
"description": "Title of context menu item that adds a green border when clicked."
},
"contextMenuItemBluify": {
"menuItemBluify": {
"message": "Bluify",
"description": "Title of context menu item that adds a green border when clicked."
},
"contextMenuItemCheckMe": {
"menuItemCheckMe": {
"message": "Check me",
"description": "Title of context menu item when the item is checked."
},
"contextMenuItemUncheckMe": {
"menuItemUncheckMe": {
"message": "Uncheck me",
"description": "Title of context menu item when the item is unchecked."
},
"contextMenuItemOpenSidebar": {
"menuItemOpenSidebar": {
"message": "Open sidebar",
"description": "Title of context menu item that opens a sidebar."
},
"menuItemToolsMenu": {
"message": "Click me!",
"description": "Title of tools menu item."
}
}

View File

@@ -29,41 +29,41 @@ function onError(error) {
/*
Create all the context menu items.
*/
browser.contextMenus.create({
browser.menus.create({
id: "log-selection",
title: browser.i18n.getMessage("contextMenuItemSelectionLogger"),
title: browser.i18n.getMessage("menuItemSelectionLogger"),
contexts: ["selection"]
}, onCreated);
browser.contextMenus.create({
browser.menus.create({
id: "remove-me",
title: browser.i18n.getMessage("contextMenuItemRemoveMe"),
title: browser.i18n.getMessage("menuItemRemoveMe"),
contexts: ["all"]
}, onCreated);
browser.contextMenus.create({
browser.menus.create({
id: "separator-1",
type: "separator",
contexts: ["all"]
}, onCreated);
browser.contextMenus.create({
browser.menus.create({
id: "greenify",
type: "radio",
title: browser.i18n.getMessage("contextMenuItemGreenify"),
title: browser.i18n.getMessage("menuItemGreenify"),
contexts: ["all"],
checked: true
}, onCreated);
browser.contextMenus.create({
browser.menus.create({
id: "bluify",
type: "radio",
title: browser.i18n.getMessage("contextMenuItemBluify"),
title: browser.i18n.getMessage("menuItemBluify"),
contexts: ["all"],
checked: false
}, onCreated);
browser.contextMenus.create({
browser.menus.create({
id: "separator-2",
type: "separator",
contexts: ["all"]
@@ -71,22 +71,27 @@ browser.contextMenus.create({
var checkedState = true;
browser.contextMenus.create({
browser.menus.create({
id: "check-uncheck",
type: "checkbox",
title: browser.i18n.getMessage("contextMenuItemUncheckMe"),
title: browser.i18n.getMessage("menuItemUncheckMe"),
contexts: ["all"],
checked: checkedState
}, onCreated);
browser.contextMenus.create({
browser.menus.create({
id: "open-sidebar",
title: browser.i18n.getMessage("contextMenuItemOpenSidebar"),
title: browser.i18n.getMessage("menuItemOpenSidebar"),
contexts: ["all"],
command: "_execute_sidebar_action"
}, onCreated);
browser.menus.create({
id: "tools-menu",
title: browser.i18n.getMessage("menuItemToolsMenu"),
contexts: ["tools_menu"],
}, onCreated);
/*
Set a colored border on the document in the given tab.
@@ -113,12 +118,12 @@ property into the event listener.
function updateCheckUncheck() {
checkedState = !checkedState;
if (checkedState) {
browser.contextMenus.update("check-uncheck", {
title: browser.i18n.getMessage("contextMenuItemUncheckMe"),
browser.menus.update("check-uncheck", {
title: browser.i18n.getMessage("menuItemUncheckMe"),
});
} else {
browser.contextMenus.update("check-uncheck", {
title: browser.i18n.getMessage("contextMenuItemCheckMe"),
browser.menus.update("check-uncheck", {
title: browser.i18n.getMessage("menuItemCheckMe"),
});
}
}
@@ -127,13 +132,13 @@ function updateCheckUncheck() {
The click event listener, where we perform the appropriate action given the
ID of the menu item that was clicked.
*/
browser.contextMenus.onClicked.addListener((info, tab) => {
browser.menus.onClicked.addListener((info, tab) => {
switch (info.menuItemId) {
case "log-selection":
console.log(info.selectionText);
break;
case "remove-me":
var removing = browser.contextMenus.remove(info.menuItemId);
var removing = browser.menus.remove(info.menuItemId);
removing.then(onRemoved, onError);
break;
case "bluify":
@@ -148,5 +153,8 @@ browser.contextMenus.onClicked.addListener((info, tab) => {
case "open-sidebar":
console.log("Opening my sidebar");
break;
case "tools-menu":
console.log("Clicked the tools menu item");
break;
}
});

View File

Before

Width:  |  Height:  |  Size: 251 B

After

Width:  |  Height:  |  Size: 251 B

View File

Before

Width:  |  Height:  |  Size: 344 B

After

Width:  |  Height:  |  Size: 344 B

View File

Before

Width:  |  Height:  |  Size: 310 B

After

Width:  |  Height:  |  Size: 310 B

View File

@@ -7,7 +7,7 @@
"default_locale": "en",
"applications": {
"gecko": {
"strict_min_version": "55.0a1"
"strict_min_version": "56.0a1"
}
},
@@ -16,7 +16,7 @@
},
"permissions": [
"contextMenus",
"menus",
"activeTab"
],