v3.4.2
3.4.2 (2023-11-02)
Release Info
This new release brings nested sub-menu(s) to all Menu plugins, you can see examples below or see print screens in each PRs, you can use the sub-menus with 2 type of events (click
or mouseover
, the latter is the default). This involved a lot of refactoring, also please note that prior to this version ColumnPicker & GridMenu were created at the same time as the grid but menus were hidden and shown whenever clicked, however with this new release ColumnPicker/GridMenu will be created dynamically and on-the-fly.
Also a big thanks to @Harsgalt86 for adding full support for GraphQL optional cursor pagination. Previous version never fully implemented cursor pagination until today. :) 🚀
Deprecations ⚠️
Please note that to align all Menu plugins, I decided to rename all HeaderMenu items
array list as commandItems
, updating your arrays are preferred but do not worry if you keep the previous names they still work and we will simply show a console warning for you to eventually change them.
- Header Menu
- rename
items
tocommandItems
- rename
Examples with sub-menus & Wikis docs
- Grid Menu - Example 1 - Wiki docs
- Header Menu - Example 14 - Wiki docs
- Context Menu - Example 4 - Wiki docs
- Cell Menu - Example 7 - Wiki docs
Bug Fixes
- common:
unbindAll
with a group name should remove all tagged ones (#1152) (5014354), closes #1150 - by @ghiscoding - common: calling
bind
with multiple events should add group name (#1157) (9023b54), closes #1150 - by @ghiscoding - common: clicking Menu close button should only close current menu (#1160) (b524ef1) - by @ghiscoding
- common: context menu should close when clicking another cell (#1163) (bd132c5) - by @ghiscoding
- common: disable throwWhenFrozenNotAllViewable w/frozen grids (#1149) (9a06875) - by @ghiscoding
- common: make sure destroy is a function before calling it (#1148) (dba9606) - by @ghiscoding
- common: mouseover disabled sub-menu shouldn't open it (#1167) (550f103) - by @ghiscoding
- common: replace
innerHTML: '×'
withtextContent: '×'
(#1156) (e8b2cfb) - by @ghiscoding - common: rollback event capture causing multiple calls (#1168) (90876c9) - by @ghiscoding
- common: deprecate HeaderMenu
items
in favor ofcommandItems
(634441c) - by @ghiscoding - common: deprecate HeaderMenu
items
in favor ofcommandItems
(#1159) (2b26d6d) - by @ghiscoding - deps: update all non-major dependencies (#1136) (a755b0f) - by @renovate-bot
- deps: update all non-major dependencies (#1138) (82a602e) - by @renovate-bot
- common: remove GridMenu from DOM after closing it (#1169) (87b242f) - by @ghiscoding
- all: move
innerHTML
as separate assignment to improve CSP trusted types (#1162) (9c6a002) - by @ghiscoding - pagination: add missing setCursorBased() method for dynamic change (#1171) (886170e) - by @ghiscoding
- common: update SlickGrid to fix misaligned column headers after horizontal scroll then freeze (#1172) (fb08bbc) - by @ghiscoding
Features
- common: add
subMenuOpenByEvent
option to open sub-menus via mouseover (#1161) (609f88b) - by @ghiscoding - common: add sub-menu(s) to CellMenu & ContextMenu plugins (#1141) (bd18af1) - by @ghiscoding
- common: add sub-menu(s) to GridMenu plugin (#1151) (5178310) - by @ghiscoding
- common: add sub-menu(s) to HeaderMenu plugin (#1158) (eeab42e) - by @ghiscoding
- common: add support for grid inside Shadow DOM (#1166) (f7b8c46) - by @ghiscoding
- common: add group name to
bind
andunbindAll
methods (#1150) (6c3b90e) - by @ghiscoding - common: create ColumnPicker dynamically every time (#1165) (7e8d80e) - by @ghiscoding
- graphql: add optional cursor pagination to GraphQL backend service (#1153) (29579b2) - by @Harsgalt86