MenuButton

You are viewing an old version (v. 7) of this page.
The latest version is v. 11, last edited on May 20, 2013 (view differences | )
<< View previous version | view page history | view next version >>

MenuButton

The MenuButton will allow the user to create a list of objects with a value, label, panelConfirmation and submitNotification which will trigger an ActionEvent when the option is selected.(Action and ActionListeners is supported)

This component is styled for the devices that this project supports to most look and feel like the native html5 select tag on the devices/desktop browsers. As for all mobi components, use <mobi:deviceStylesheet to have proper css loaded for each device.

If an Action or ActionListener is required and form submission is not required or desired, then place a singleSubmit="true" attribute on the button and only the button will be submitted to the server, firing the Action/ActionListener's method, with the resulting update. Otherwise, the button will submit the entire form (normal function). This component also has mobi:ajax support

Usage

Basic Use (no singleSubmit, mobi:ajax, panelConfirmation or submitNotification)

<mobi:menuButton id="mnu1" buttonLabel="Action Menu"
                 value="#{menuButton.dynamicMenuButton}"
                 var="item">
    <mobi:menuButtonItem label="#{item.label}"
                         actionListener="#{item.commandAction.execute}"/>
</mobi:menuButton>

Using singleSubmit (can be done by individual item in the backing bean for example). Can also choose a panelConfirmation or submitNotification the same way.

        <mobi:menuButton id="menu1" value="#{menu.data}" var="item">
                <mobi:menuButtonItem value="#{item.value}" label="#{item.label}"
                                     singleSubmit="#{item.singleSubmit}"
                                     panelConfirmation="#{item.panelConfId}"
                                     submitNotification="#{item.submitNotif}"
                                     disabled="#{item.disabled}" actionListener="#{item.actionMethod}"/>
        </mobi:menuButton>

In the backing bean, just populate the values for each of the "item" attributes. In this way, for example, you may want to just have a "Cancel" selection in the menuButton submit itself and trigger a method with the actionListener attribute. In this way, the singleSubmit property for the "Cancel" option can be set to true while the other options can be triggering full form submit (if that is the required use-case).

Attributes. This component actually requires the menuButton and menuButtonItem components

menuButton attributes
  • style - standard jsf component attribute
  • disabled - button will not submit
  • styleClass - for user to extend/overwrite the pre-defined, device-detected styleClasses
  • buttonLabel - label of the button itself
menuButtonItem attributes
  • singleSubmit - if true, then the menuButton submits itself only and renders @all (using DomDiff algorithm of course)
  • value - allows user to have a value of the option to use separate of label
  • label - allows user to have separate value for label (can use jsf messages.properties for i8N for example)
  • immediate - as per jsf specs
  • panelConfirmation - each menuButtonItem option may specify it's own panelConfirmation (or none as the case may be)
  • submitNotification - each menuButtonItem option may specify it's own submitNotification panel (or none as case may be)
  • disabled - allows each option to have it's own value for disabled.
TagLib Documentation
This section covers attributes involved in the typical use-cases for this component. For reference, the complete taglib documentation for this component is not available until after the release here.
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

© Copyright 2017 ICEsoft Technologies Canada Corp.