Nuclear Pumpkin Mayhem

    electron-editor-context-menu

    1.1.1 • Public • Published

    electron-editor-context-menu

    In Electron, right-clicking in text editors does… nothing.

    This module enables the menu you'd expect, with optional spell-checker integration.

    menu

    Installation

    npm install electron-editor-context-menu --save

    Usage

    // In the renderer process:
    var remote = require('electron').remote;
    // `remote.require` since `Menu` is a main-process module.
    var buildEditorContextMenu = remote.require('electron-editor-context-menu');
     
    window.addEventListener('contextmenu', function(e) {
      // Only show the context menu in text editors.
      if (!e.target.closest('textarea, input, [contenteditable="true"]')) return;
     
      var menu = buildEditorContextMenu();
     
      // The 'contextmenu' event is emitted after 'selectionchange' has fired but possibly before the
      // visible selection has changed. Try to wait to show the menu until after that, otherwise the
      // visible selection will update after the menu dismisses and look weird.
      setTimeout(function() {
        menu.popup(remote.getCurrentWindow());
      }, 30);
    });

    Spell-checker integration

    Show spelling suggestions by passing a selection object when building the menu:

    var selection = {
      isMisspelled: true,
      spellingSuggestions: [
        'men',
        'mean',
        'menu'
      ]
    };
     
    var menu = buildEditorContextMenu(selection);

    Get these suggestions when your spell-check provider runs —Electron will poll it immediately before the 'contextmenu' event fires.

    For a complete example using electron-spell-check-provider, see here.

    Credits

    Created by Jeff Wear.

    Thanks to https://github.com/atom/electron/pull/942#issuecomment-171445954 for the initial sketch of this.

    Copyright and License

    Copyright 2016 Mixmax, Inc., licensed under the MIT License.

    Release History

    • 1.1.1 Fix compatibility with electron-builder
    • 1.1.0 Add the ability to customize the main template and the suggestions template.
    • 1.0.0 Initial release.

    Install

    npm i electron-editor-context-menu

    DownloadsWeekly Downloads

    1,778

    Version

    1.1.1

    License

    MIT

    Last publish

    Collaborators

    • fealaer
    • rafael.decampos
    • mixmaxkristina
    • corridonimatias
    • mikusd
    • mixmax_it
    • andra.lazariuc
    • anda.nenu
    • danaya
    • suretrust
    • jfbarranco
    • adborroto
    • aaavakian
    • kovalskyi
    • dnechay
    • raphaelbs
    • fzaffarana
    • guilhermemj
    • eduard.borges
    • mixmax-codeship
    • bradvogel
    • jessem3
    • jsalvata
    • mdumrauf
    • leanmarty
    • gabriel-mixmax
    • wearhere