jQuery contextMenu v3.0.0 Release Notes

Release Date: 2018-03-16 // about 2 years ago
  • 🛠 Fixed

    • 🛠 The contextmenu now checks visible on items once instead of twice. Fixes issue 612.
    • 🛠 Font awesome li height is now consistent again. Fixes issue Fixes issue 612.

Previous changes from v3.0.0-beta.1

  • Migrating

    • 🏗 To migrate, you only need to change all callback functions to the new arguments (icon, build, visible, disabled, item callback and global item callback). Also if you listen to contextmenu events, please check if you still get the correct data.

    🔄 Changed

    • 🏗 Restructured the code to use Webpack with Babel. Build the code with yarn run webpack.
    • 🔄 Changed linting to ESLint.
    • 🚚 Moved to BrowserStack for browser testing.
    • ➕ Added JSDoc for generated API documentation.
    • ➕ Added 3.x documentation on GitHub pages.
    • The previous opt and root arguments are now described as currentMenuData and rootMenuData, which are documented in ContextMenuData.
    • Defined a few callback types to illustrate the arguments with which they are called.
    • 🏗 Build callback ContextMenuBuildCallback is now function(e, $currentTrigger).
    • Icon callback ContextMenuIconCallback is now function(e, $item, key, item, currentMenuData, rootMenuData).
    • The visibile, disabled, global callback and item callback ContextMenuItemCallback is now function(e, key, currentMenuData, rootMenuData).
    • If you define custom menu item types in $.contextMenu.types they get called as ContextMenuItemTypeCallback with function(e, item, currentMenuData, rootMenuData).
    • All events should always include event data containing the ContextMenuData as described in ContextMenuEvent. So if you listen to contextmenu events you should always have the data available.

    🛠 Fixed

    • ➕ Add options argument to events.activates. (Issue #580)
    • 🛠 Fix support for $(element).contextMenu('update') which was broken.
    • 🛠 Fixed bug in checking visibility of items for menu visibility. If a menu item was defined as { item: { visible: false } } it would not stop the menu from showing.