Client Menus
OpenMenu
Opens a customisable menu or form. A menu can be used whilst moving around whilst a form takes full control of the users UI.
closeHandler
Function
A function that gets triggered when the menu is closed.
selectHandler
Function
A function that gets triggered when using a menu and the highlighted field is modified.
changeHandler
Function
A function that gets triggered when a value within the form gets changed or a button element is pressed.
{ -- Settings
namespace = '', -- String, required
title = '', -- String
subtitle = '', -- String
searchable = false, -- Boolean, only available for forms
form = false, -- Boolean, enables direct input including mouse
disableFormButtons = false, -- Boolean, disables Confirm/Cancel buttons on the form. Will always return "complete" as false within the close handler
}{
type = '', -- String, defaults to button (text, checkbox, toggle, slider, select, button, linebreak, subtitle, number). 'select', 'number' and 'text' automatically enable the form option for the menu
name = '', -- String, required. Refernce for any return event. Not required for linebreak or subtitle
label = '', -- String, required. Display label. Not required for linebreak
value = nil, -- Anything, sets default value if applicable
disabled = false, -- Boolean
required = false, -- Boolean, force validation on input
regex = '', -- String, regex string for validating input. You can also pass the term `json` in order to activate JSON validation
validationMessage = '', -- String, required if regex is in use. Set the message to display to the end user
-- Subtitle
size = nil, -- Number, font size in VH units
position = nil, -- String, any applicable text-align variables I.e. left, right, center
margin = nil, -- Number, margin to apply in VH units. Can be negative to reduce the spacing between elements (I.e. -1)
-- Text
multiline = false, -- Boolean, used to change from a single line input to a text box (type of 'text' only)
-- Button/Number
icon = '', -- String (type of 'button' or 'number' only). Can change to any FontAwesome (including Pro) icons. Use full reference. I.e. `fad fa-heart`
description = '', -- String (type of 'button' or 'number' only)
-- Select
options = { -- Array of options (type of 'select' only)
{
value = '', -- String, required
label = '', -- String, falls back to value if not specified
}
},
multiselect = false, -- Boolean, used to allow multiple selections
-- Slider
step = 1, -- Number (type of 'slider' only). Used to specify the jump step of the slider
min = 0, -- Number (type of 'slider' or 'number' only). The minimum value of the slider
max = 100, -- Number (type of 'slider' or 'number' only). The maxmimum value of the slider
}UpdateMenuElement
Can handle any element data apart from type. See Menu Element Object for the element structure. Only name is required and it will only update the fields that are provided.
RemoveMenuElement
Can handle any element. Used to remove an element from a form.
StartSideMenuUi
These use direct callbacks based on the menu type. You will need to use TMC.Functions.RegisterUiHandler instead of callbacks.
menuRef
String
Reference to the side menu which events should be triggered for.
disableCancel
Bool
Disable the cancel button.
closeOnly
Bool
Hides both Confirm and Cancel buttons and puts a Close button in it's place.
initialTab
String
A reference to the initial category to show. When left blank it will default to the first category in the list.
Controls must be formatted into rows. This allows you to add multiple rows to a list of controls. I.e.
StopSideMenuUi
Close any open side menu
RegisterUiHandler
In order to receive event updates for the side menu you can register UI handlers. These handlers will be triggered when the side menu changes them.
When registering a handler you will need to prepend your menuRef to the handler.
I.e. to register a handler for a control click with a menu type of clothing you would do:
Available events for side menu:
CreateSideMenuElement
Can add an element to an open side menu. See Side Menu Element Object for the element structure.
UpdateSideMenuElement
Can handle any element data apart from type. See Side Menu Element Object for the element structure. Only name is required and it will only update the fields that are provided.
DeleteSideMenuElement
Remove an element from the side menu. Requires only the name of the element.
UpdateSideMenuCategory
Can handle any category data. See Side Menu Category Object for the category structure. Only name is required and it will only update the fields that are provided.
SetSideMenuTab
Update the current visible tab. Force the user to switch onto another tab. Requires the category name.
Last updated