Skip to content

BaseElement

This is the state plugin. It provides a state management system for UI elements with support for persistent states, computed states, and state sharing between elements.

Functions

MethodReturnsDescription
BaseElement:bindBaseElement
BaseElement:computed-
BaseElement:getStateanyGets a state value
BaseElement:onStateChangeBaseElementWatches for state changes
BaseElement:removeStateChangeBaseElementRemoves a state change observer
BaseElement:setStateBaseElementSets a state value

BaseElement:bind(self, propertyName, stateName)

Binds a property to a state

Parameters

  • self BaseElement The element to bind
  • propertyName string The property to bind
  • stateName string The state to bind to (optional, uses propertyName if not provided)

Returns

  • BaseElement self The element instance

BaseElement:computed()

BaseElement:getState(self, name)

Gets the value of a state

Parameters

  • self BaseElement The element to get state from
  • name string The name of the state

Returns

  • any value The current state value

BaseElement:onStateChange(self, stateName, callback)

Registers a callback for state changes

Parameters

  • self BaseElement The element to watch
  • stateName string The state to watch
  • callback function Called with (element, newValue, oldValue)

Returns

  • BaseElement self The element instance

BaseElement:removeStateChange(self, stateName, callback)

Removes a state change observer

Parameters

  • self BaseElement The element to remove observer from
  • stateName string The state to remove observer from
  • callback function The callback function to remove

Returns

  • BaseElement self The element instance

BaseElement:setState(self, name, value)

Sets the value of a state

Parameters

  • self BaseElement The element to set state for
  • name string The name of the state
  • value any The new value for the state

Returns

  • BaseElement self The element instance


BaseFrame : Container

Functions

MethodReturnsDescription
BaseFrame.setup-
BaseFrame:initializeStateBaseFrameInitializes a new state

BaseFrame.setup()

BaseFrame:initializeState(self, name, default, persist?, path?)

Initializes a new state for this element

Parameters

  • self BaseFrame The element to initialize state for
  • name string The name of the state
  • default any The default value of the state
  • persist (optional) boolean Whether to persist the state to disk
  • path (optional) string Custom file path for persistence

Returns

  • BaseFrame self The element instance

Released under the MIT License.