97 lines
2.9 KiB
Markdown
97 lines
2.9 KiB
Markdown
# BaseFrame
|
|
|
|
Extends: `Container`
|
|
|
|
## Functions
|
|
|
|
|Method|Returns|Description|
|
|
|---|---|---|
|
|
|[BaseFrame:initializeState](#baseframe-initializestate-self-name-default-persist-path)|BaseFrame|Initializes a new state|
|
|
|
|
## 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
|
|
|
|
# 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
|
|
|
|
|Method|Returns|Description|
|
|
|---|---|---|
|
|
|[BaseElement:setState](#baseelement-setstate-self-name-value)|BaseElement|Sets a state value|
|
|
|[BaseElement:getState](#baseelement-getstate-self-name)|any|Gets a state value|
|
|
|[BaseElement:onStateChange](#baseelement-onstatechange-self-statename-callback)|BaseElement|Watches for state changes|
|
|
|[BaseElement:removeStateChange](#baseelement-removestatechange-self-statename-callback)|BaseElement|Removes a state change observer|
|
|
|[BaseElement:bind](#baseelement-bind-self-propertyname-statename)|BaseElement|Binds a property to a state|
|
|
|
|
## 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
|
|
|
|
## 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: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
|