Class: Node
Defined in: packages/core/src/widgets/node.ts:29
Node
Extends
EventEmitter
Extended by
Constructors
Constructor
new Node(
options):Node
Defined in: packages/core/src/widgets/node.ts:92
Parameters
options
NodeOptions = {}
Returns
Node
Overrides
EventEmitter.constructor
Properties
_events
_events:
any
Defined in: packages/core/src/lib/events.ts:10
Inherited from
EventEmitter._events
_maxListeners?
optional_maxListeners:number
Defined in: packages/core/src/lib/events.ts:11
Inherited from
EventEmitter._maxListeners
uid
staticuid:number=0
Defined in: packages/core/src/widgets/node.ts:30
ScreenRegistry
staticScreenRegistry:any
Defined in: packages/core/src/widgets/node.ts:31
type
type:
string="node"
Defined in: packages/core/src/widgets/node.ts:37
Type of the node (e.g. box, list, form, etc.). Used to identify the widget type at runtime.
Overrides
EventEmitter.type
options
options:
NodeOptions
Defined in: packages/core/src/widgets/node.ts:38
screen
screen:
any
Defined in: packages/core/src/widgets/node.ts:47
Reference to the parent Screen instance. Type: Screen (subclass of Node)
Kept as any due to circular dependency between Node and Screen, and to preserve access to Screen-specific methods like clearRegion(), render(), and the program property without complex generic typing.
parent
parent:
any
Defined in: packages/core/src/widgets/node.ts:56
Reference to the parent element in the widget tree. Type: Node (can be any Element/Box/List/etc subclass)
Kept as any to avoid complex generic typing and preserve access to subclass-specific methods. Attempting to type as Node loses methods from subclasses like Box, List, Form, etc.
Overrides
EventEmitter.parent
children
children:
any[]
Defined in: packages/core/src/widgets/node.ts:63
Array of child elements. Type: Node[] (can contain any Node subclasses)
Kept as any[] to preserve flexibility with mixed widget types.
$
$:
Record<string,unknown>
Defined in: packages/core/src/widgets/node.ts:68
An object for any miscellaneous user data.
_
_:
Record<string,unknown>
Defined in: packages/core/src/widgets/node.ts:73
An object for any miscellaneous user data.
data
data:
Record<string,unknown>
Defined in: packages/core/src/widgets/node.ts:78
An object for any miscellaneous user data.
uid
uid:
number
Defined in: packages/core/src/widgets/node.ts:80
index
index:
number=-1
Defined in: packages/core/src/widgets/node.ts:86
Render index (document order index) of the last render call. Indicates the order in which this element was rendered relative to others. Set to -1 initially, updated during rendering.
detached?
optionaldetached:boolean
Defined in: packages/core/src/widgets/node.ts:87
destroyed?
optionaldestroyed:boolean
Defined in: packages/core/src/widgets/node.ts:88
runtime
runtime:
Runtime
Defined in: packages/core/src/widgets/node.ts:90
Methods
setMaxListeners()
setMaxListeners(
n):void
Defined in: packages/core/src/lib/events.ts:19
Parameters
n
number
Returns
void
Inherited from
EventEmitter.setMaxListeners
addListener()
addListener(
type,listener):void
Defined in: packages/core/src/lib/events.ts:23
Parameters
type
string
listener
Function
Returns
void
Inherited from
EventEmitter.addListener
on()
on(
type,listener):any
Defined in: packages/core/src/lib/events.ts:34
Parameters
type
string
listener
Function
Returns
any
Inherited from
EventEmitter.on
removeListener()
removeListener(
type,listener):void
Defined in: packages/core/src/lib/events.ts:38
Parameters
type
string
listener
Function
Returns
void
Inherited from
EventEmitter.removeListener
off()
off(
type,listener):any
Defined in: packages/core/src/lib/events.ts:57
Parameters
type
string
listener
Function
Returns
any
Inherited from
EventEmitter.off
removeAllListeners()
removeAllListeners(
type?):void
Defined in: packages/core/src/lib/events.ts:61
Parameters
type?
string
Returns
void
Inherited from
EventEmitter.removeAllListeners
once()
once(
type,listener):any
Defined in: packages/core/src/lib/events.ts:69
Parameters
type
string
listener
Function
Returns
any
Inherited from
EventEmitter.once
listeners()
listeners(
type):Function[]
Defined in: packages/core/src/lib/events.ts:79
Parameters
type
string
Returns
Function[]
Inherited from
EventEmitter.listeners
_emit()
_emit(
type,args):any
Defined in: packages/core/src/lib/events.ts:85
Parameters
type
string
args
any[]
Returns
any
Inherited from
EventEmitter._emit
emit()
emit(
type, ...rest):boolean
Defined in: packages/core/src/lib/events.ts:113
Parameters
type
string
rest
...any[]
Returns
boolean
Inherited from
EventEmitter.emit
insert()
insert(
element,i):void
Defined in: packages/core/src/widgets/node.ts:154
Insert a node to this node's children at index i.
Parameters
element
any
i
number
Returns
void
prepend()
prepend(
element):void
Defined in: packages/core/src/widgets/node.ts:191
Prepend a node to this node's children.
Parameters
element
any
Returns
void
append()
append(
element):void
Defined in: packages/core/src/widgets/node.ts:198
Append a node to this node's children.
Parameters
element
any
Returns
void
insertBefore()
insertBefore(
element,other):void
Defined in: packages/core/src/widgets/node.ts:205
Insert a node to this node's children before the reference node.
Parameters
element
any
other
any
Returns
void
insertAfter()
insertAfter(
element,other):void
Defined in: packages/core/src/widgets/node.ts:213
Insert a node from node after the reference node.
Parameters
element
any
other
any
Returns
void
remove()
remove(
element):void
Defined in: packages/core/src/widgets/node.ts:221
Remove child node from node.
Parameters
element
any
Returns
void
detach()
detach():
void
Defined in: packages/core/src/widgets/node.ts:255
Remove node from its parent.
Returns
void
free()
free():
void
Defined in: packages/core/src/widgets/node.ts:263
Free up the element. Automatically unbind all events that may have been bound to the screen object. This prevents memory leaks.
Returns
void
destroy()
destroy():
void
Defined in: packages/core/src/widgets/node.ts:271
Same as the detach() method, except this will automatically call free() and unbind any screen events to prevent memory leaks. For use with onScreenEvent(), removeScreenEvent(), and free().
Returns
void
forDescendants()
forDescendants(
iter,s?):void
Defined in: packages/core/src/widgets/node.ts:283
Iterate over all descendants, calling iter(el) for each.
Parameters
iter
(el) => void
s?
any
Returns
void
forAncestors()
forAncestors(
iter,s?):void
Defined in: packages/core/src/widgets/node.ts:294
Iterate over all ancestors, calling iter(el) for each.
Parameters
iter
(el) => void
s?
any
Returns
void
collectDescendants()
collectDescendants(
s?):any[]
Defined in: packages/core/src/widgets/node.ts:305
Collect all descendants into an array.
Parameters
s?
any
Returns
any[]
collectAncestors()
collectAncestors(
s?):any[]
Defined in: packages/core/src/widgets/node.ts:316
Collect all ancestors into an array.
Parameters
s?
any
Returns
any[]
emitDescendants()
emitDescendants(...
args):void
Defined in: packages/core/src/widgets/node.ts:327
Emit event for element, and recursively emit same event for all descendants.
Parameters
args
...any[]
Returns
void
emitAncestors()
emitAncestors(...
args):void
Defined in: packages/core/src/widgets/node.ts:343
Emit event for element, and recursively emit same event for all ancestors.
Parameters
args
...any[]
Returns
void
hasDescendant()
hasDescendant(
target):boolean
Defined in: packages/core/src/widgets/node.ts:359
Check if target is a descendant of this node.
Parameters
target
any
Returns
boolean
hasAncestor()
hasAncestor(
target):boolean
Defined in: packages/core/src/widgets/node.ts:377
Check if target is an ancestor of this node.
Parameters
target
any
Returns
boolean
get()
get(
name,value?):any
Defined in: packages/core/src/widgets/node.ts:388
Get user property with a potential default value.
Parameters
name
string
value?
any
Returns
any
set()
set(
name,value):any
Defined in: packages/core/src/widgets/node.ts:398
Set user property to value.
Parameters
name
string
value
any
Returns
any