OPX//77
opx_infinitypanel

panel

Last updated on

The mouse-driven drawer with tabs, a searchable item list, buttons, sliders and a confirm dialog, opened by other client modules through the panel contract.

Draws a large mouse-driven drawer: a title, optional tabs, a searchable and paged list of items, rows of buttons, and a confirm dialog. Instead of items a caller can send sliders, which turns the left side into a category rail with a picture grid (the clothing fitting room uses this). Other client modules open it through the panel contract, stream items into it, and get a callback for every click. Use it for lists too long for a menu, such as shop stock or a wardrobe.

Sideclient
Requiresnone
Optionaldowned (no panel opens over a downed player)
Contractpanel v1 — client
Configconfig/panel.lua (shared)
Datanone

Configuration

config/panel.lua sets OPX.Config.MODULES.panel.

KeyDefaultEffect
enabledtruefalse switches the module off.
COLUMNS2Item columns when a spec names none. 1 or 2.
WHILE_DOWN{ admin = true }Owners whose panel may open, and stays open, while the player is down.

Refusal codes

CodeMeaning
spec_must_be_a_table, patch_must_be_a_tableNot a table.
invalid_owner, invalid_id, callback_required, invalid_dismissSpec basics wrong.
unknown_fieldA field the panel does not draw (or clearItems in Open).
no_surfaceThe interactive WebUI surface does not exist.
player_downThe player is down and the owner is not in WHILE_DOWN.
panel_busyAnother owner's panel is open and steal was not set.
invalid_<field>That field is malformed: eyebrow, title, subtitle, intro, tabs, tab, search, summary, actions, tools, groups, sliders, tiles, selected, status, labels.
invalid_items, invalid_item, too_many_itemsAppend list over 200, a bad item, or more than 5000 items in the panel.
invalid_dialogConfirm question malformed.
handle_required, no_panel_open, stale_handleNothing open, or an old handle.
payload_too_large, payload_refused, page_not_ready, queue_fullA message did not reach the page.

Locale keys owned here: panel.count, panel.empty, panel.loading, panel.search, panel.nothing, panel.confirmYes, panel.confirmNo.

On this page