Usage
Signature:
interface CMenuButtonElement
Typescript Import Format
//To typecheck the element APIs, import as below.
import { CMenuButtonElement } from "oj-c/menu-button";
//For the transpiled javascript to load the element's module, import as below
import "oj-c/menu-button";
For additional information visit:
Note: Application logic should not interact with the component's properties or invoke its methods until the BusyContext indicates that the component is ready for interaction.
Slots
JET components that allow child content support slots. Please see the slots section of the JET component overview doc for more information on allowed slot content and slot types.
-
endIcon
-
The endIcon slot is the button's end icon. The oj-c-menu-button element accepts DOM nodes as children with the endIcon slot.
-
startIcon
-
The startIcon slot is the button's start icon. The oj-c-menu-button element accepts DOM nodes as children with the startIcon slot.
Attributes
-
chroming :"borderless"|"outlined"|"solid"
-
Indicates in what states the button has chromings in background and border.
- Default Value:
"outlined"
Supported Values:
Value Description borderlessBorderless buttons are a more prominent variation. Borderless buttons are useful for supplemental actions that require minimal emphasis. outlinedOutlined buttons are salient, but lighter weight than solid buttons. Outlined buttons are useful for secondary actions. solidSolid buttons stand out, and direct the user's attention to the most important actions in the UI. Names
Item Name Property chromingProperty change event chromingChangedProperty change listener attribute (must be of type function, see Events and Listeners for additional information.) on-chroming-changed -
disabled :boolean
-
Specifies that the button element should be disabled.
- Default Value:
false
Names
Item Name Property disabledProperty change event disabledChangedProperty change listener attribute (must be of type function, see Events and Listeners for additional information.) on-disabled-changed -
display :"all"|"icons"|"label"
-
Display just the label, the icons, or all. Label is used as tooltip and should be set in all cases.
- Default Value:
"all"
Supported Values:
Value Description allDisplay both the label and icons. iconsDisplay only the icons. labelDisplay only the text label. Names
Item Name Property displayProperty change event displayChangedProperty change listener attribute (must be of type function, see Events and Listeners for additional information.) on-display-changed -
items :Array<MenuSeparator|MenuItem|MenuSubMenu|MenuSelectSingle|MenuSelectMultiple>
-
Type Def MenuSeparator { type: 'separator'} MenuItem { type?: 'item'; label: string; key: string; disabled?: boolean; onAction?: () => void; startIcon?: MenuIcon; endIcon?: MenuIcon; variant?: 'standard' | 'destructive'; }; MenuSubMenu { type: 'submenu'; label?: string; disabled?: boolean; startIcon?: string; items?: Array<MenuItems>; }; MenuSelectSingle { type: 'selectsingle'; key?: string; items?: Array<MenuSelectItem>; }; MenuSelectMultiple { type: 'selectmultiple'; key?: string; items?: Array<MenuSelectItem>; }; MenuIcon { type?: 'class'; class: string; } | { type: 'img'; src: string; }; MenuSelectItem { label: string; disabled?: boolean; endIcon?: MenuIcon; value: string; } - Default Value:
[]
Names
Item Name Property itemsProperty change event itemsChangedProperty change listener attribute (must be of type function, see Events and Listeners for additional information.) on-items-changed -
label* :string
-
Text to show in the button.
- Default Value:
""
Names
Item Name Property labelProperty change event labelChangedProperty change listener attribute (must be of type function, see Events and Listeners for additional information.) on-label*-changed -
selection :Readonly<Record<string, MenuSelection>>
-
An array containing key/value objects for menu selection groups.
- Supports writeback:
true
Names
Item Name Property selectionProperty change event selectionChangedProperty change listener attribute (must be of type function, see Events and Listeners for additional information.) on-selection-changed -
size :"sm"|"md"|"lg"
-
Size of button
- Default Value:
"md"
Supported Values:
Value Description lgDisplay a large button. mdDisplay a default size button. smDisplay a small button. Names
Item Name Property sizeProperty change event sizeChangedProperty change listener attribute (must be of type function, see Events and Listeners for additional information.) on-size-changed -
suffix :string
-
Suffix appended to menu label to indicate last selection.
Names
Item Name Property suffixProperty change event suffixChangedProperty change listener attribute (must be of type function, see Events and Listeners for additional information.) on-suffix-changed -
tooltip :string
-
Text to show in the tooltip. This overrides the default tooltip that renders the label when in icon mode.
Names
Item Name Property tooltipProperty change event tooltipChangedProperty change listener attribute (must be of type function, see Events and Listeners for additional information.) on-tooltip-changed -
width :Size
-
Specifies that the button style width
Names
Item Name Property widthProperty change event widthChangedProperty change listener attribute (must be of type function, see Events and Listeners for additional information.) on-width-changed
Events
-
ojMenuAction
-
Triggered when a menu item is clicked, whether by keyboard, mouse, or touch events. Detail indicates which menu item was clicked.
Properties:
All of the event payloads listed below can be found under
event.detail. See Events and Listeners for additional information.Name Type Argument keystring <optional>
Methods
-
getProperty(property) : {any}
-
Retrieves the value of a property or a subproperty.
Parameters:
Name Type Description propertyThe property name to get. Supports dot notation for subproperty access. Returns:
- Type
- any
-
setProperties(properties) : {void}
-
Performs a batch set of properties.
Parameters:
Name Type Description propertiesAn object containing the property and value pairs to set. Returns:
- Type
- void
-
setProperty(property, value) : {void}
-
Sets a property or a single subproperty for complex properties and notifies the component of the change, triggering a corresponding event.
Parameters:
Name Type Description propertyThe property name to set. Supports dot notation for subproperty access. valueThe new value to set the property to. Returns:
- Type
- void