MenuButton Component
The MenuButton component can be integrated with the ButtonBar component and supports the following:
- Integrated with the existing ButtonBar component
- Configure menu title, height, button text, menu item options, click event.
The MenuButton component consists of:
- MenuButton.component: The Visualforce UI component.
- MenuButtonOptions.class: The Apex class that stores the configuration options specified by the developer and used by the controller to render the component.
- MenuButtonOptions.MenuItem.class: The Apex class that constructs the menu item options for the component.
MenuButton Component Attributes
The MenuButton component accepts the following attributes.
Attribute | Type | Required? | Description |
---|---|---|---|
id | String | Required | An identifier that allows the component to be referenced by other components in the page. |
options | zqu.MenuButtonOptions | Required | The configuration options for the MenuButton component. |
MenuButtonOptions Class
The MenuButton component has the MenuButtonOptions class that provides the following property options.
Property | Type | Required? | Description |
---|---|---|---|
buttonLabel | String | Optional | The displayed label of the button in the component. |
menuHeight | String | Optional | The height of the menu button. |
menuId | String | Required | The Id of the menu button. |
menuItemLayoutBlock | Boolean | Optional | If set this to true, the menu item options won't be collapsible. |
menuItemOnClickAction | String | Optional | The JavaScript method which will be triggered when click each of the menu items. |
menuItems | List <zqu.MenuButtonOptions.MenuItem> | Required | The menu item options displayed in the menu button component. |
menuItemSectionTitle | String | Optional | The title of all the menu item options. |
menuLabel | String | Optional | The displayed label of the menu button. |
menuName | String | Optional | The API name of the menu button. |
Integration Sample Code
To use the MenuButton component:
- Put the ButtonBar component on your Visualforce page inside an
<apex:form>
tag as shown in the Visualforce Page Example below. - Set up the component options in your controller as shown in the Apex Controller Example below.
Visualforce Page Example:
<apex:page controller="SampleController"> <zqu:ButtonBar options="{!options}" dir="h" /> </apex:page>
Apex Controller Example:
public class SampleController { public zqu.ButtonBarOptions options {get;set;} public SampleController () { options = new zqu.ButtonBarOptions(); zqu.MenuButtonOptions menuButtonOption1 = new zqu.MenuButtonOptions(); menuButtonOption1.menuId = '1'; menuButtonOption1.menuName = 'add_product'; menuButtonOption1.menuLabel = 'Add Product'; menuButtonOption1.buttonLabel = 'Select'; menuButtonOption1.menuItemSectionTitle = 'Select a step to begin'; menuButtonOption1.menuItems = new List<zqu.MenuButtonOptions.MenuItem>(); zqu.MenuButtonOptions.MenuItem item1 = new zqu.MenuButtonOptions.MenuItem(); item1.id = 'id1'; item1.name = 'name1'; item1.label = 'Add Base Products'; item1.bullet = 'Step 1'; menuButtonOption1.menuItems.add(item1); zqu.MenuButtonOptions.MenuItem item2 = new zqu.MenuButtonOptions.MenuItem(); item2.id = 'id2'; item2.name = 'name2'; item2.label = 'Add Addon Products'; item2.bullet = 'Step 2'; menuButtonOption1.menuItems.add(item2); options.buttonItems = new List<zqu.ButtonBarOptions.ButtonBarItem>(); zqu.ButtonBarOptions.ButtonBarItem buttonBarItem1 = new zqu.ButtonBarOptions.ButtonBarItem('but1id', menuButtonOption1); options.buttonItems.add(buttonBarItem1); } }