SketcherBase
Defined in: js-api/src/chem.ts:74
A common interface that all sketchers should implement
Extends
Constructors
Constructor
new SketcherBase():
SketcherBase
Defined in: js-api/src/chem.ts:83
Returns
SketcherBase
Overrides
Properties
| Property | Modifier | Type | Default value | Description | Inherited from | Defined in |
|---|---|---|---|---|---|---|
_functions | protected | Func[] | [] | - | Widget._functions | js-api/src/widgets/base.ts:207 |
_name | public | string | '' | - | - | js-api/src/chem.ts:81 |
_properties | protected | Property[] | [] | - | Widget._properties | js-api/src/widgets/base.ts:206 |
_root | protected | HTMLElement | undefined | - | Widget._root | js-api/src/u2core/component.ts:445 |
_u2 | readonly | ComponentState | undefined | - | Widget._u2 | js-api/src/u2core/component.ts:82 |
componentMeta? | public | ComponentMetaBase | undefined | 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. | Widget.componentMeta | js-api/src/u2core/component.ts:77 |
dart | public | any | undefined | - | Widget.dart | js-api/src/widgets/base.ts:212 |
explicitMol? | public | { notation: "smiles" | "molblock" | "smarts" | "molblockV3000"; value: string; } | null | null | This field is used in cases when smiles is set from column but actually molblock is set to keep same coordinates. When this happens and user copies over the smiles from sketche, the sketcher returns transformed smiles. | - | js-api/src/chem.ts:98 |
factory | public | Func | null | null | Constructor function. No parameters, returns [Widget]. | Widget.factory | js-api/src/widgets/base.ts:204 |
host? | public | Sketcher | undefined | - | - | js-api/src/chem.ts:80 |
isDetached | public | boolean | false | Whether detach has been called. | Widget.isDetached | js-api/src/widgets/base.ts:214 |
onChanged | public | Subject<any> | undefined | - | - | js-api/src/chem.ts:75 |
onRendered | public | Subject<void> | undefined | Fires each time a drawing the implementation shows has landed on the page, as a viewer's onViewerRendered does: with isRenderPending, what automated tests wait on instead of a timeout (the BDD library's settles wait on both). An implementation that draws asynchronously fires it once per drawing; the base never does. | - | js-api/src/chem.ts:79 |
props | public | any | undefined | Property bag over this widget's properties; read and write them by name. | Widget.props | js-api/src/widgets/base.ts:209 |
specProps? | public | Record<string, unknown> | undefined | 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. | Widget.specProps | js-api/src/u2core/component.ts:81 |
subs | public | Subscription[] | undefined | Subscriptions cancelled when the widget is detached. | Widget.subs | js-api/src/widgets/base.ts:211 |
temp | public | any | undefined | Contains auxiliary information | Widget.temp | js-api/src/widgets/base.ts:201 |
Accessors
aiDescription
Get Signature
get aiDescription():
string|null
Defined in: js-api/src/u2core/component.ts:152
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:156
Parameters
| Parameter | Type |
|---|---|
x | string | null |
Returns
void
Inherited from
ambientAdoption
Get Signature
get
protectedambientAdoption():boolean
Defined in: js-api/src/widgets/base.ts:266
A widget wrapper minted inside somebody's effect scope must not be auto-disposed with it.
Returns
boolean
Inherited from
children
Get Signature
get children():
Widget<any>[]
Defined in: js-api/src/widgets/base.ts:301
Parent widget up the DOM tree, or null.
Returns
Widget<any>[]
Inherited from
height
Get Signature
get height():
number
Defined in: js-api/src/chem.ts:131
Returns
number
isInitialized
Get Signature
get
abstractisInitialized():boolean
Defined in: js-api/src/chem.ts:121
Returns
boolean
isRenderPending
Get Signature
get isRenderPending():
boolean|undefined
Defined in: js-api/src/chem.ts:90
True while a change is on its way to the page (a drawing, a held gesture), as a viewer's isRenderPending:
what a test waits on instead of a timeout, with onRendered. Undefined when the implementation does not
say, as the base does not.
Returns
boolean | undefined
molFile
Get Signature
get
abstractmolFile():string
Defined in: js-api/src/chem.ts:106
MolFile representation of the molecule
Returns
string
Set Signature
set
abstractmolFile(s):void
Defined in: js-api/src/chem.ts:112
Parameters
| Parameter | Type |
|---|---|
s | string |
Returns
void
molV3000
Get Signature
get
abstractmolV3000():string
Defined in: js-api/src/chem.ts:108
Returns
string
Set Signature
set
abstractmolV3000(s):void
Defined in: js-api/src/chem.ts:110
Parameters
| Parameter | Type |
|---|---|
s | string |
Returns
void
name
Get Signature
get name():
string|undefined
Defined in: js-api/src/u2core/component.ts:469
A named control carries its name in the DOM: data-u2-name is the stable automation id
selectors, tutorials and agents address the control by — the same attribute the spec renderer
stamps on named nodes, so hand-built and spec-built UI share one selector vocabulary.
Derived names (an input's label fallback) never stamp — see Component.deriveName.
Returns
string | undefined
Set Signature
set name(
x):void
Defined in: js-api/src/u2core/component.ts:473
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).
Parameters
| Parameter | Type |
|---|---|
x | string | undefined |
Returns
void
Inherited from
parent
Get Signature
get parent():
Widget<any> |null
Defined in: js-api/src/widgets/base.ts:298
Parent widget up the DOM tree, or null.
Returns
Widget<any> | null
Inherited from
propertyTarget
Get Signature
get propertyTarget():
unknown
Defined in: js-api/src/u2core/component.ts:250
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
Inherited from
propertyTier
Get Signature
get propertyTier():
boolean
Defined in: js-api/src/widgets/base.ts:270
Every property getProperties declares is a bind step, read and written on propertyTarget.
Returns
boolean
Inherited from
root
Get Signature
get root():
HTMLElement
Defined in: js-api/src/u2core/component.ts:455
Returns
HTMLElement
Set Signature
set root(
x):void
Defined in: js-api/src/u2core/component.ts:459
Parameters
| Parameter | Type |
|---|---|
x | HTMLElement |
Returns
void
Inherited from
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
Inherited from
smarts
Set Signature
set
abstractsmarts(s):void
Defined in: js-api/src/chem.ts:119
Parameters
| Parameter | Type |
|---|---|
s | string |
Returns
void
smiles
Get Signature
get
abstractsmiles():string
Defined in: js-api/src/chem.ts:101
SMILES representation of the molecule
Returns
string
Set Signature
set
abstractsmiles(s):void
Defined in: js-api/src/chem.ts:103
Parameters
| Parameter | Type |
|---|---|
s | string |
Returns
void
supportedExportFormats
Get Signature
get supportedExportFormats():
string[]
Defined in: js-api/src/chem.ts:123
Returns
string[]
type
Get Signature
get type():
string
Defined in: js-api/src/widgets/base.ts:198
Returns
string
Inherited from
width
Get Signature
get width():
number
Defined in: js-api/src/chem.ts:127
Returns
number
Methods
_notifyPropertyChange()
protected_notifyPropertyChange(p):void
Defined in: js-api/src/widgets/base.ts:348
Notifies the property tier. Called from both the addProperty setter (overrides that skip
super would otherwise lose props.x = writes) and onPropertyChanged (direct calls);
the double notify collapses into one microtask refresh.
Parameters
| Parameter | Type |
|---|---|
p | Property | null |
Returns
void
Inherited from
_ownPropertyChanges()
protected_ownPropertyChanges():ObservableLike<PropertyChange>
Defined in: js-api/src/widgets/base.ts:353
Returns
ObservableLike<PropertyChange>
Inherited from
_scopeMinted()
protected_scopeMinted(_scope):void
Defined in: js-api/src/widgets/base.ts:317
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
Inherited from
_wireDartLifecycle()
protected_wireDartLifecycle():void
Defined in: js-api/src/widgets/base.ts:333
Dart-owned lifecycle: the platform kill disposes the scope, and disposing the scope kills the widget through the kill-walk.
Returns
void
Inherited from
_wireJsLifecycle()
protected_wireJsLifecycle():void
Defined in: js-api/src/widgets/base.ts:324
JS-owned lifecycle: disposing the scope detaches the widget, and vice versa.
Returns
void
Inherited from
_wireLifecycle()
protected_wireLifecycle():void
Defined in: js-api/src/widgets/base.ts:319
Returns
void
Inherited from
addProperty()
addProperty(
propertyName,propertyType,defaultValue?,options?):any
Defined in: js-api/src/widgets/base.ts:376
Registers an property with the specified type, name, and defaultValue.
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
propertyName | string | undefined | - |
propertyType | "string" | "bigint" | "object" | "map" | "file" | "bool" | "int" | "double" | "byte_array" | "datetime" | "qnum" | "dataframe" | "numerical" | "categorical" | "num" | "string_list" | "dataframe_list" | "cell" | "column" | "column_list" | "graphics" | "blob" | "tablerowfiltercall" | "colfiltercall" | "bitset" | "dynamic" | "viewer" | "list" | "semantic_value" | "func" | "funccall" | "property" | "GridCellRenderArgs" | "element" | "view" | "TableView" | "User" | "Menu" | "Project" | "event_data" | "progressindicator" | "Credentials" | "ScriptEnvironment" | "Notebook" | undefined | - |
defaultValue | any | null | - |
options | object & IProperty | null | null | - |
Returns
any
See
Registered property gets added to properties. Returns default value, thus allowing to combine registering a property with the initialization
options.get/options.set override how the property reads/writes (instead of the default
fieldName field access); the change notification (onPropertyChanged) always fires
on write, and a {get}-only options yields a custom read with the default fieldName write.
Inherited from
addStatusProvider()
addStatusProvider(
name,provider):void
Defined in: js-api/src/widgets/base.ts:437
Adds live parts, hit areas and readings to this widget's status. Providers run in registration
order on every read; an existing name is replaced in place, and later providers override earlier
entries. Coordinates use the widget's own hit-area system. Detaching the widget removes all
providers. A subclass that overrides getWidgetStatus composes with super.getWidgetStatus().
Parameters
| Parameter | Type | Description |
|---|---|---|
name | string | Stable name of the component contributing the status. |
provider | StatusProvider | Computes the contribution each time the status is requested. |
Returns
void
Example
widget.addStatusProvider('selection', () => ({values: {'selected rows': table.selection.trueCount}}));
console.log(widget.getWidgetStatus().values?.['selected rows']);
widget.removeStatusProvider('selection');
see samples/grid/custom-renderer-status
Inherited from
apply()
apply(
properties):Widget
Defined in: js-api/src/widgets/base.ts:255
Parameters
| Parameter | Type |
|---|---|
properties | object |
Returns
Inherited from
bindProps()
bindProps():
BindProp[]
Defined in: js-api/src/u2core/component.ts:307
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[]
Inherited from
bindStep()
bindStep(
name):BindSource|Signal<unknown> |null
Defined in: js-api/src/u2core/component.ts:296
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
Inherited from
deriveName()
protectedderiveName(x):void
Defined in: js-api/src/u2core/component.ts:72
Sets the introspection/form key without claiming an automation id — the label-fallback path:
a caption is not a stable identity, so it never reaches data-u2-name.
Parameters
| Parameter | Type |
|---|---|
x | string | undefined |
Returns
void
Inherited from
detach()
detach():
void
Defined in: js-api/src/widgets/base.ts:305
Gets called when a widget is detached and will no longer be used. Typically used for unsubscribing from events. Be sure to call super.detach() if this method is overridden.
Returns
void
Inherited from
dispose()
dispose():
void
Defined in: js-api/src/u2core/component.ts:147
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
Inherited from
effect()
effect(
fn):this
Defined in: js-api/src/u2core/component.ts:134
Parameters
| Parameter | Type |
|---|---|
fn | () => void |
Returns
this
Inherited from
fireEvent()
protectedfireEvent(eventId,args?):void
Defined in: js-api/src/u2core/component.ts:435
Parameters
| Parameter | Type |
|---|---|
eventId | string |
args? | unknown |
Returns
void
Inherited from
getDartProperties()
getDartProperties():
any[]
Defined in: js-api/src/widgets/base.ts:284
Dart handles of the properties that have one.
Returns
any[]
Inherited from
getFunctions()
getFunctions():
Func[]
Defined in: js-api/src/widgets/base.ts:277
Functions that are applicable to this particular widget. Used in the UI to display context actions, and for the AI integrations.
Returns
Func[]
Inherited from
getProperties()
getProperties():
Property[]
Defined in: js-api/src/widgets/base.ts:273
Returns all properties of this widget: the meta-generated ones plus addProperty's.
Returns
Property[]
Inherited from
getSmarts()
getSmarts():
Promise<string>
Defined in: js-api/src/chem.ts:115
SMARTS query
Returns
Promise<string>
getWidgetStatus()
getWidgetStatus():
IWidgetStatus
Defined in: js-api/src/widgets/base.ts:413
Returns the widget's runtime structure for automated testing and introspection.
Returns
Inherited from
init()
init(
host):Promise<void>
Defined in: js-api/src/chem.ts:136
Override to provide custom initialization. At this point, the root is already in the DOM.
Parameters
| Parameter | Type |
|---|---|
host | Sketcher |
Returns
Promise<void>
link()
link(
name,source,twoWay):void
Defined in: js-api/src/u2core/component.ts:268
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
Inherited from
onEvent()
onEvent(
eventId?):Observable<any>
Defined in: js-api/src/widgets/base.ts:410
Observes events with the specified eventId. Override in subclasses to provide actual events.
Parameters
| Parameter | Type | Default value |
|---|---|---|
eventId | string | null | null |
Returns
Observable<any>
Inherited from
onFrameAttached()
onFrameAttached(
dataFrame):void
Defined in: js-api/src/widgets/base.ts:292
Called when a DataFrame is attached; override to bind data.
Parameters
| Parameter | Type |
|---|---|
dataFrame | DataFrame |
Returns
void
Inherited from
onPropertyChanged()
onPropertyChanged(
property):void
Defined in: js-api/src/widgets/base.ts:281
Gets called when viewer's property is changed.
Parameters
| Parameter | Type | Description |
|---|---|---|
property | Property | null | or null, if multiple properties were changed. |
Returns
void
Inherited from
own()
own(
dispose):this
Defined in: js-api/src/u2core/component.ts:139
Parameters
| Parameter | Type |
|---|---|
dispose | () => void |
Returns
this
Inherited from
propertyChanges()
protectedpropertyChanges():ObservableLike<PropertyChange>
Defined in: js-api/src/widgets/base.ts:363
What refreshes the property tier's cached signals from outside: null where nothing announces a change (one-way).
Returns
ObservableLike<PropertyChange>
Inherited from
refresh()
refresh():
void
Defined in: js-api/src/chem.ts:140
Returns
void
registerFunction()
protectedregisterFunction(f):void
Defined in: js-api/src/u2core/component.ts:431
Parameters
| Parameter | Type |
|---|---|
f | FuncLike |
Returns
void
Inherited from
removeStatusProvider()
removeStatusProvider(
name):void
Defined in: js-api/src/widgets/base.ts:446
Removes the status contribution registered under name; an absent name is a no-op.
Parameters
| Parameter | Type | Description |
|---|---|---|
name | string | The name passed to addStatusProvider. |
Returns
void
Example
widget.removeStatusProvider('selection');
see samples/grid/custom-renderer-status
Inherited from
resize()
resize():
void
Defined in: js-api/src/chem.ts:142
Returns
void
runInScope()
runInScope<
T>(fn):T
Defined in: js-api/src/u2core/component.ts:130
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type |
|---|---|
fn | () => T |
Returns
T
Inherited from
sourceRowsChanged()
sourceRowsChanged():
void
Defined in: js-api/src/widgets/base.ts:289
Called when the rows the widget shows change; override to refresh.
Returns
void
Inherited from
sub()
sub(
subscription):void
Defined in: js-api/src/widgets/base.ts:250
Registers a subscription to an external event.
Parameters
| Parameter | Type |
|---|---|
subscription | Subscription |
Returns
void
Inherited from
toDart()
toDart():
any
Defined in: js-api/src/widgets/base.ts:243
The Dart handle of this widget, created on first use.
Returns
any
Inherited from
build()
staticbuild(builder):Control
Defined in: js-api/src/u2core/component.ts:529
Builds a control out of plain elements: builder runs with the new control's scope
ambient, so signal bindings and nested components inside it are owned by the result.
The ambient scope only spans the synchronous part of builder — components constructed after
an await inside it are adopted by nobody and must be disposed by hand, or constructed before
the first await.
Parameters
| Parameter | Type |
|---|---|
builder | () => HTMLElement | (string | HTMLElement | Control)[] |
Returns
Inherited from
find()
staticfind(root):Widget<any> |null
Defined in: js-api/src/widgets/base.ts:232
Finds existing widget from its visual root.
Parameters
| Parameter | Type |
|---|---|
root | Element |
Returns
Widget<any> | null
Inherited from
forElement()
staticforElement(el):Control|undefined
Defined in: js-api/src/u2core/component.ts:489
The nearest control owning el — the DOM → component door for tooling, automation and
inspectors (the u2 counterpart of the platform's Widget.find). Best-effort: the last
control constructed on (or assigned) a root wins it.
Parameters
| Parameter | Type |
|---|---|
el | Element | null |
Returns
Control | undefined
Inherited from
fromRoot()
staticfromRoot(root):Widget
Defined in: js-api/src/widgets/base.ts:452
Creates a new widget from the root element.
Parameters
| Parameter | Type |
|---|---|
root | HTMLElement |
Returns
Inherited from
getAll()
staticgetAll():Widget<any>[]
Defined in: js-api/src/widgets/base.ts:227
Returns all currently active widgets.
Returns
Widget<any>[]
Inherited from
init()
staticinit(self,scope?):void
Defined in: js-api/src/u2core/component.ts:89
Per-instance state, for a constructed component and for an adopted platform object alike.
Parameters
| Parameter | Type |
|---|---|
self | Component |
scope? | Scope |
Returns
void
Inherited from
is()
staticis(x):x is Control
Defined in: js-api/src/u2core/component.ts:498
Structural probe by methods only — never .scope: the accessor mints.
Parameters
| Parameter | Type |
|---|---|
x | unknown |
Returns
x is Control
Inherited from
registerCleanup()
staticregisterCleanup(element,cleanup):void
Defined in: js-api/src/widgets/base.ts:238
Registers a cleanup function to run when [element] is killed — i.e. when its host view or pane closes. Also marks the element so the kill-walk can find it.
Parameters
| Parameter | Type |
|---|---|
element | Element |
cleanup | Callback |
Returns
void
Inherited from
sameValue()
staticsameValue(a,b):boolean
Defined in: js-api/src/u2core/component.ts:111
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