Giter Club home page Giter Club logo

firefox-addon-sdk-menu-button's Introduction

Given the move towards web extensions and the deprecation of certain Add-on SDK features, I am no longer actively working on this.

From the announcement

We will also continue supporting SDK add-ons as long as they don’t use require(‘chrome’) or some of the low-level APIs that provide access to XUL elements.

Emphasis mine. This is exactly what this custom button did. Old Readme below


Menu Button For Firefox add-on SDK

The Firefox add-on SDK allows for simple action buttons and toggle buttons. This creates a menu-button instead, which displays an icon on the left and a drop-marker on the right, like so:

Firefox menu-button

How to use it

Place both files in the lib directory of your extension.
Usage is similar to other button types. Include the following code in main.js (or any js file in the lib directory)

const { MenuButton } = require('./menu-button');
var btn = MenuButton({
  id: 'my-menu-button',
  label: 'My menu-button',
  icon: {
    "16": "./firefox-16.png",
    "32": "./firefox-32.png"
  },
  onClick: click
});

The click function will be passed the same state object as the toggle and action buttons, and will be passed an additional boolean argument: isMenu. It should be used like so

function click(state, isMenu) {
  if (isMenu) {
    //menu-button clicked
  } else {
    //icon clicked
  }
}

firefox-addon-sdk-menu-button's People

Contributors

willlma avatar

Stargazers

bluelovers avatar Denis Seleznev avatar Jason Zheng avatar Zach Munro-Cape avatar Bjørnar Hansen avatar Saleh Souzanchi avatar jcastros avatar  avatar  avatar Roland Pihlakas avatar Abdullah Diaa avatar Zhuo Chen avatar Matt McKeon avatar Matías Agustín Méndez avatar Paul Morris avatar  avatar

Watchers

Saleh Souzanchi avatar jcastros avatar Roland Pihlakas avatar  avatar Makyen avatar  avatar  avatar

firefox-addon-sdk-menu-button's Issues

Add to npm

The new jpm tool supports using npm modules as dependencies. If you added this module to npm, people cold install it via npm and load it using require, assuming they have moved to using the jpm tool.

mouse pointer on button

when you hover over the arrow part (the drop down menu) of the button the complete button is activate.
it would be nice if only the corresonding part of the button would be active.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.