Add improved extensibility and display for config form action menus.
Review Request #7618 — Created Sept. 4, 2015 and submitted
Consumers of the config form action menu support now have more control over the appearance and display of the menus. New events are triggered prior to showing and removing the menu, allowing consumers to make any additional changes they need to make. The rows for each action in a menu now have a class name corresponding to the action ID, to improve styling. The padding around the menu has also changed to be more consistent, so that, for example, an action can have a suitable border separating it and other actions. The display of the action menu is also smarter. It no longer assumes the actions can fit on-screen when positioning the menu to align with the left of the action button. Instead, if there's not enough room, the menu will be positioned to align with the right of the button. Action items in the menu can also now be enabled/disabled based on a given property. This is helpful for having one action affect others, or to limit which actions can be toggled based on other computed state. Unit tests were added for the event and property additions.
Tested all the conditions manually and made use of most in another change.
Unit tests pass.