Skip to main content

Button

system:button

Runs a client callback, opens a URL or sends a string to the server.

Nodes are written into the body or children of a resource pack card template. Besides their own fields, all nodes share id, style, when, unless and repeat; see Common node fields.

JSON fields​

FieldTypeRequiredDefaultDescription
typeResource IDyes—system:button
valueStringno""The value or expression used by this type.
clickStringno""Button behavior: link, return-val or local.
textStringno""Display text; supports {{parameter_name}} placeholders.
labelStringno""Label used for text or the accessible name.
iconStringno""FTB icon parameter key or button icon name.
selectedStringno""State key that controls the selected state of the button.
disabledStringno""State key that controls the disabled state of the button.
bindingStringno""Optional host action binding.
behaviorStringno"replace"Display behavior after the business action completes: close, wait, replace, push.
childrenCard node arrayno[]Child node array.

The example strings only demonstrate the transport form; the server must register the corresponding parsing logic. When reusing an existing button, prefer reading the actions snapshot; for behavior and permissions see Common interaction conventions.

JSON example​

{
"type": "system:button",
"text": "View details",
"click": "return-val",
"value": "example:details reference-123"
}

Placed in the body of a card template or the children of a container. Placeholders come from server snapshots and client build events; changing only the JSON does not produce the missing data or business handlers.

Java entry point​

com.iafenvoy.system.screen.card.node.interaction.ButtonNode. This page is based on the Codec in the current 26.1.2 source.