Add RB.MenuButtonView, for creating single or split buttons with menus.
Review Request #10907 — Created Feb. 19, 2020 and submitted
This introduces a new
RB.MenuButtonView
component, which uses the new
.rb-c-menu-button
CSS component. This offers the ability to create a
single button that works as a drop-down menu, or a split button that has
a primary action and a separate drop-down button.This is the successor to
RB.SplitButtonView
, which is now deprecated.
There are still differences, in thatRB.SplitButtonView
allows for
specifying IDs on menu items, but as that's not entirely useful in
practice, the functionality has not been carried over.This improves upon
RB.SplitButtonView
in plenty of other ways. It can
now function in a split mode or in a single-button mode. It has ARIA
attributes and keyboard navigation (thoughRB.SplitButtonView
now
inherits this). It also now smartly pops the menus either above or below
the button depending on space, rather than having to provide that detail
during construction.Unit tests cover the majority of the rendering, accessibility, and
events.
Tested
RB.MenuButtonView
in single-button and split-button modes.Tested all mouse and keyboard navigation.
Tested legacy usage of
RB.SplitButtonView
.Checked the elements in the ARIA tree to make sure they appeared sane.
Unit tests pass.
- Change Summary:
-
Removed leftover debug output.
- Commit:
-
0055193994ac52ca6f0435cf9dcd504c21f747280806c00abf6f5f7ba2a981b2948489b2e0df3ef2
- Diff:
-
Revision 2 (+524 -188)
- Change Summary:
-
Removed an unused variable.
- Commit:
-
0806c00abf6f5f7ba2a981b2948489b2e0df3ef28e6ff562909d1763c004f49f67ec16354819ac8e
- Diff:
-
Revision 3 (+521 -188)