Component
Defined in: js-api/src/u2core/component.ts:50
Base of every u2 component, visual or not: a name, an effect/cleanup scope, and the widget
introspection surface (DD7) generated from componentMeta — what the shell, the context
panel, automation and the copilot ask of a widget, implemented by DG.Widget through
inheritance. A component constructed inside
another's scope is disposed with it. Platform-free; in Datagrok, DG.Widget extends Control,
so the kill channel and the introspection surface are this class's own — nothing wires or
delegates. Standalone hosts (gallery, tests) call dispose directly.
Extended by
Implements
Constructors
Constructor
new Component(
scope?):Component
Defined in: js-api/src/u2core/component.ts:78
Parameters
| Parameter | Type |
|---|---|
scope? | Scope |
Returns
Component
Properties
| Property | Modifier | Type | Description | Defined in |
|---|---|---|---|---|
_u2 | readonly | ComponentState | - | js-api/src/u2core/component.ts:76 |
componentMeta? | public | ComponentMetaBase | The registry metadata of the tag that built this component, stamped by the spec renderer — the single source the introspection surface below is generated from. | js-api/src/u2core/component.ts:71 |
specProps? | public | Record<string, unknown> | The props the registry's create was handed, stamped alongside componentMeta: the last resort of the property read below, for a component that keeps a prop under another name or not at all (a create wrapping a bare element). Construction-time values — a live one always wins. | js-api/src/u2core/component.ts:75 |
Accessors
aiDescription
Get Signature
get aiDescription():
string|null
Defined in: js-api/src/u2core/component.ts:146
A short AI-facing briefing, seeded from the registry's usage or description.
Returns
string | null
Set Signature
set aiDescription(
x):void
Defined in: js-api/src/u2core/component.ts:150
Parameters
| Parameter | Type |
|---|---|
x | string | null |
Returns
void
ambientAdoption
Get Signature
get
protectedambientAdoption():boolean
Defined in: js-api/src/u2core/component.ts:233
Whether a component constructed inside an ambient scope is disposed with it.
Returns
boolean
name
Get Signature
get name():
string|undefined
Defined in: js-api/src/u2core/component.ts:67
Unique within a spec: the anchor for selection, patches and automation. An accessor pair
(not a field), so a platform descendant's own name accessors override it legally (TS2611).
Returns
string | undefined
Set Signature
set name(
x):void
Defined in: js-api/src/u2core/component.ts:68
Parameters
| Parameter | Type |
|---|---|
x | string | undefined |
Returns
void
propertyTarget
Get Signature
get propertyTarget():
unknown
Defined in: js-api/src/u2core/component.ts:228
What this component's properties are read from and written to — prop.get(target) /
prop.set(target, v): the component itself, unless an adoption says otherwise.
Returns
unknown
propertyTier
Get Signature
get propertyTier():
boolean
Defined in: js-api/src/u2core/component.ts:222
The second binding tier is on: every property getProperties declares is a bind step, read and written on propertyTarget. Off for a plain u2 component, whose signal-less meta props are construction-time options.
Returns
boolean
scope
Get Signature
get scope():
Scope
Defined in: js-api/src/u2core/component.ts:53
Minted on first use; assigned before _scopeMinted fires, so the hook's own
this.scope.own(...) reads the stored scope instead of re-entering the mint.
Returns
Methods
_scopeMinted()
protected_scopeMinted(_scope):void
Defined in: js-api/src/u2core/component.ts:64
First-mint hook: a platform descendant wires its lifecycle here. Never fired for a scope provided to init — that path runs inside the constructor chain.
Parameters
| Parameter | Type |
|---|---|
_scope | Scope |
Returns
void
bindProps()
bindProps():
BindProp[]
Defined in: js-api/src/u2core/component.ts:285
The signal-backed subset of the meta props — what a binding picker offers on a named node — plus, under propertyTier, every declared property. Allocates no signal.
Returns
BindProp[]
Implementation of
bindStep()
bindStep(
name):BindSource|Signal<unknown> |null
Defined in: js-api/src/u2core/component.ts:274
One binding step (DD5): a meta-declared prop's same-named Signal member — a named node is a
bind source, generated off componentMeta the way getProperties is — then, under
propertyTier, a cached signal over the declared property. '' answers the default
binding: the component's own value signal, where one exists.
Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
BindSource | Signal<unknown> | null
Implementation of
dispose()
dispose():
void
Defined in: js-api/src/u2core/component.ts:141
On a never-engaged wrapper the getter mints here and _scopeMinted wires the
lifecycle (own(kill) + the platform cleanup for Dart-owned), so dispose still kills it;
re-entry from the kill cleanup is a no-op via the scope's disposed flag.
Returns
void
effect()
effect(
fn):this
Defined in: js-api/src/u2core/component.ts:128
Parameters
| Parameter | Type |
|---|---|
fn | () => void |
Returns
this
fireEvent()
protectedfireEvent(eventId,args?):void
Defined in: js-api/src/u2core/component.ts:413
Parameters
| Parameter | Type |
|---|---|
eventId | string |
args? | unknown |
Returns
void
getFunctions()
getFunctions():
FuncLike[]
Defined in: js-api/src/u2core/component.ts:181
Returns
FuncLike[]
getProperties()
getProperties():
NamedProperty[]
Defined in: js-api/src/u2core/component.ts:161
The props componentMeta declares, each closed over the component's own state: a same-named
signal reads and writes live, a same-named plain member, an options entry or — last —
a specProps entry reads read-only. name — the component's spec identity —
is never a property; an input's
declared name prop is its form key, a different thing that IS a property like any other.
A component never hand-writes its property list. The list is generated once per componentMeta:
the accessors read live state, so only a re-stamp invalidates it.
Returns
getWidgetStatus()
getWidgetStatus():
IWidgetStatus
Defined in: js-api/src/u2core/component.ts:208
Returns
link()
link(
name,source,twoWay):void
Defined in: js-api/src/u2core/component.ts:246
Keeps this component's name step and source equal, echo-suppressed by value; the reverse
direction only where twoWay. A component that took source as its own signal needs no link
and gets none; a read-only step cannot follow anything and gets none either.
Parameters
| Parameter | Type |
|---|---|
name | string |
source | Signal<unknown> |
twoWay | boolean |
Returns
void
onEvent()
onEvent(
eventId?):ObservableLike<unknown>
Defined in: js-api/src/u2core/component.ts:188
Events fired by this component, and — on a Control — the DOM events of that name raised on its root. Without an id, every component event. The two streams are merged as they are, so a subscriber sees either payload and must discriminate (see ObservableLike).
Parameters
| Parameter | Type | Default value |
|---|---|---|
eventId | string | null | null |
Returns
ObservableLike<unknown>
own()
own(
dispose):this
Defined in: js-api/src/u2core/component.ts:133
Parameters
| Parameter | Type |
|---|---|
dispose | () => void |
Returns
this
propertyChanges()
protectedpropertyChanges():ObservableLike<PropertyChange> |null
Defined in: js-api/src/u2core/component.ts:239
What refreshes the property tier's cached signals from outside: null where nothing announces a change (one-way).
Returns
ObservableLike<PropertyChange> | null
registerFunction()
protectedregisterFunction(f):void
Defined in: js-api/src/u2core/component.ts:409
Parameters
| Parameter | Type |
|---|---|
f | FuncLike |
Returns
void
run()
run<
T>(fn):T
Defined in: js-api/src/u2core/component.ts:124
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type |
|---|---|
fn | () => T |
Returns
T
init()
staticinit(self,scope?):void
Defined in: js-api/src/u2core/component.ts:83
Per-instance state, for a constructed component and for an adopted platform object alike.
Parameters
| Parameter | Type |
|---|---|
self | Component |
scope? | Scope |
Returns
void
is()
staticis(x):x is Component
Defined in: js-api/src/u2core/component.ts:95
Structural probe by methods only — never .scope: the accessor mints.
Parameters
| Parameter | Type |
|---|---|
x | unknown |
Returns
x is Component
sameValue()
staticsameValue(a,b):boolean
Defined in: js-api/src/u2core/component.ts:105
The equality the property tier and link suppress echoes by: Object.is, arrays
element-wise, plain objects key-wise (recursive), everything else by identity.
Parameters
| Parameter | Type |
|---|---|
a | unknown |
b | unknown |
Returns
boolean