Skip to main content

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:79

Returns

SketcherBase

Overrides

Widget.constructor

Properties

PropertyModifierTypeDefault valueDescriptionInherited fromDefined in
_functionsprotectedFunc[][]-Widget._functionsjs-api/src/widgets/base.ts:214
_namepublicstring''--js-api/src/chem.ts:77
_propertiesprotectedProperty[][]-Widget._propertiesjs-api/src/widgets/base.ts:213
_rootprotectedHTMLElementundefined-Widget._rootjs-api/src/u2core/component.ts:423
_u2readonlyComponentStateundefined-Widget._u2js-api/src/u2core/component.ts:76
componentMeta?publicComponentMetaBaseundefinedThe 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.componentMetajs-api/src/u2core/component.ts:71
dartpublicanyundefined-Widget.dartjs-api/src/widgets/base.ts:217
explicitMol?public{ notation: "smiles" | "molblock" | "smarts" | "molblockV3000"; value: string; } | nullnullThis 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:87
factorypublicFunc | nullnullConstructor function. No parameters, returns [Widget].Widget.factoryjs-api/src/widgets/base.ts:211
host?publicSketcherundefined--js-api/src/chem.ts:76
isDetachedpublicbooleanfalse-Widget.isDetachedjs-api/src/widgets/base.ts:218
onChangedpublicSubject<any>undefined--js-api/src/chem.ts:75
propspublicanyundefined-Widget.propsjs-api/src/widgets/base.ts:215
specProps?publicRecord<string, unknown>undefinedThe 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.specPropsjs-api/src/u2core/component.ts:75
subspublicSubscription[]undefined-Widget.subsjs-api/src/widgets/base.ts:216
temppublicanyundefinedContains auxiliary informationWidget.tempjs-api/src/widgets/base.ts:208

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
ParameterType
xstring | null
Returns

void

Inherited from

Widget.aiDescription


ambientAdoption

Get Signature

get protected ambientAdoption(): boolean

Defined in: js-api/src/widgets/base.ts:272

A widget wrapper minted inside somebody's effect scope must not be auto-disposed with it.

Returns

boolean

Inherited from

Widget.ambientAdoption


children

Get Signature

get children(): Widget<any>[]

Defined in: js-api/src/widgets/base.ts:304

Parent widget up the DOM tree, or null.

Returns

Widget<any>[]

Inherited from

Widget.children


height

Get Signature

get height(): number

Defined in: js-api/src/chem.ts:120

Returns

number


isInitialized

Get Signature

get abstract isInitialized(): boolean

Defined in: js-api/src/chem.ts:110

Returns

boolean


molFile

Get Signature

get abstract molFile(): string

Defined in: js-api/src/chem.ts:95

MolFile representation of the molecule

Returns

string

Set Signature

set abstract molFile(s): void

Defined in: js-api/src/chem.ts:101

Parameters
ParameterType
sstring
Returns

void


molV3000

Get Signature

get abstract molV3000(): string

Defined in: js-api/src/chem.ts:97

Returns

string

Set Signature

set abstract molV3000(s): void

Defined in: js-api/src/chem.ts:99

Parameters
ParameterType
sstring
Returns

void


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
ParameterType
xstring | undefined
Returns

void

Inherited from

Widget.name


parent

Get Signature

get parent(): Widget<any> | null

Defined in: js-api/src/widgets/base.ts:301

Parent widget up the DOM tree, or null.

Returns

Widget<any> | null

Inherited from

Widget.parent


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

Inherited from

Widget.propertyTarget


propertyTier

Get Signature

get propertyTier(): boolean

Defined in: js-api/src/widgets/base.ts:276

Every property getProperties declares is a bind step, read and written on propertyTarget.

Returns

boolean

Inherited from

Widget.propertyTier


root

Get Signature

get root(): HTMLElement

Defined in: js-api/src/u2core/component.ts:431

Returns

HTMLElement

Set Signature

set root(x): void

Defined in: js-api/src/u2core/component.ts:435

Parameters
ParameterType
xHTMLElement
Returns

void

Inherited from

Widget.root


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

Scope

Inherited from

Widget.scope


smarts

Set Signature

set abstract smarts(s): void

Defined in: js-api/src/chem.ts:108

Parameters
ParameterType
sstring
Returns

void


smiles

Get Signature

get abstract smiles(): string

Defined in: js-api/src/chem.ts:90

SMILES representation of the molecule

Returns

string

Set Signature

set abstract smiles(s): void

Defined in: js-api/src/chem.ts:92

Parameters
ParameterType
sstring
Returns

void


supportedExportFormats

Get Signature

get supportedExportFormats(): string[]

Defined in: js-api/src/chem.ts:112

Returns

string[]


type

Get Signature

get type(): string

Defined in: js-api/src/widgets/base.ts:205

Returns

string

Inherited from

Widget.type


width

Get Signature

get width(): number

Defined in: js-api/src/chem.ts:116

Returns

number

Methods

_notifyPropertyChange()

protected _notifyPropertyChange(p): void

Defined in: js-api/src/widgets/base.ts:351

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

ParameterType
pProperty | null

Returns

void

Inherited from

Widget._notifyPropertyChange


_ownPropertyChanges()

protected _ownPropertyChanges(): ObservableLike<PropertyChange>

Defined in: js-api/src/widgets/base.ts:356

Returns

ObservableLike<PropertyChange>

Inherited from

Widget._ownPropertyChanges


_scopeMinted()

protected _scopeMinted(_scope): void

Defined in: js-api/src/widgets/base.ts:320

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

ParameterType
_scopeScope

Returns

void

Inherited from

Widget._scopeMinted


_wireDartLifecycle()

protected _wireDartLifecycle(): void

Defined in: js-api/src/widgets/base.ts:336

Dart-owned lifecycle: the platform kill disposes the scope, and disposing the scope kills the widget through the kill-walk.

Returns

void

Inherited from

Widget._wireDartLifecycle


_wireJsLifecycle()

protected _wireJsLifecycle(): void

Defined in: js-api/src/widgets/base.ts:327

JS-owned lifecycle: disposing the scope detaches the widget, and vice versa.

Returns

void

Inherited from

Widget._wireJsLifecycle


_wireLifecycle()

protected _wireLifecycle(): void

Defined in: js-api/src/widgets/base.ts:322

Returns

void

Inherited from

Widget._wireLifecycle


apply()

apply(properties): Widget

Defined in: js-api/src/widgets/base.ts:261

Parameters

ParameterTypeDescription
propertiesobject-

Returns

Widget

Inherited from

Widget.apply


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[]

Inherited from

Widget.bindProps


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

ParameterType
namestring

Returns

BindSource | Signal<unknown> | null

Inherited from

Widget.bindStep


detach()

detach(): void

Defined in: js-api/src/widgets/base.ts:308

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

Widget.detach


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

Inherited from

Widget.dispose


effect()

effect(fn): this

Defined in: js-api/src/u2core/component.ts:128

Parameters

ParameterType
fn() => void

Returns

this

Inherited from

Widget.effect


fireEvent()

protected fireEvent(eventId, args?): void

Defined in: js-api/src/u2core/component.ts:413

Parameters

ParameterType
eventIdstring
args?unknown

Returns

void

Inherited from

Widget.fireEvent


getDartProperties()

getDartProperties(): any[]

Defined in: js-api/src/widgets/base.ts:289

Returns

any[]

Inherited from

Widget.getDartProperties


getFunctions()

getFunctions(): Func[]

Defined in: js-api/src/widgets/base.ts:283

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

Widget.getFunctions


getProperties()

getProperties(): Property[]

Defined in: js-api/src/widgets/base.ts:279

Returns all properties of this widget: the meta-generated ones plus addProperty's.

Returns

Property[]

Inherited from

Widget.getProperties


getSmarts()

getSmarts(): Promise<string>

Defined in: js-api/src/chem.ts:104

SMARTS query

Returns

Promise<string>


getWidgetStatus()

getWidgetStatus(): IWidgetStatus

Defined in: js-api/src/widgets/base.ts:422

Returns the widget's runtime structure for automated testing and introspection.

Returns

IWidgetStatus

Inherited from

Widget.getWidgetStatus


init()

init(host): Promise<void>

Defined in: js-api/src/chem.ts:125

Override to provide custom initialization. At this point, the root is already in the DOM.

Parameters

ParameterType
hostSketcher

Returns

Promise<void>


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

ParameterType
namestring
sourceSignal<unknown>
twoWayboolean

Returns

void

Inherited from

Widget.link


onEvent()

onEvent(eventId?): Observable<any>

Defined in: js-api/src/widgets/base.ts:419

Observes events with the specified eventId. Override in subclasses to provide actual events.

Parameters

ParameterTypeDefault value
eventIdstring | nullnull

Returns

Observable<any>

Inherited from

Widget.onEvent


onFrameAttached()

onFrameAttached(dataFrame): void

Defined in: js-api/src/widgets/base.ts:295

Parameters

ParameterType
dataFrameDataFrame

Returns

void

Inherited from

Widget.onFrameAttached


onPropertyChanged()

onPropertyChanged(property): void

Defined in: js-api/src/widgets/base.ts:287

Gets called when viewer's property is changed.

Parameters

ParameterTypeDescription
propertyProperty | nullor null, if multiple properties were changed.

Returns

void

Inherited from

Widget.onPropertyChanged


own()

own(dispose): this

Defined in: js-api/src/u2core/component.ts:133

Parameters

ParameterType
dispose() => void

Returns

this

Inherited from

Widget.own


propertyChanges()

protected propertyChanges(): ObservableLike<PropertyChange>

Defined in: js-api/src/widgets/base.ts:366

What refreshes the property tier's cached signals from outside: null where nothing announces a change (one-way).

Returns

ObservableLike<PropertyChange>

Inherited from

Widget.propertyChanges


refresh()

refresh(): void

Defined in: js-api/src/chem.ts:129

Returns

void


registerFunction()

protected registerFunction(f): void

Defined in: js-api/src/u2core/component.ts:409

Parameters

ParameterType
fFuncLike

Returns

void

Inherited from

Widget.registerFunction


resize()

resize(): void

Defined in: js-api/src/chem.ts:131

Returns

void


run()

run<T>(fn): T

Defined in: js-api/src/u2core/component.ts:124

Type Parameters

Type Parameter
T

Parameters

ParameterType
fn() => T

Returns

T

Inherited from

Widget.run


sourceRowsChanged()

sourceRowsChanged(): void

Defined in: js-api/src/widgets/base.ts:293

Returns

void

Inherited from

Widget.sourceRowsChanged


sub()

sub(subscription): void

Defined in: js-api/src/widgets/base.ts:254

Registers a subscription to an external event.

Parameters

ParameterTypeDescription
subscriptionSubscription-

Returns

void

Inherited from

Widget.sub


toDart()

toDart(): any

Defined in: js-api/src/widgets/base.ts:246

Returns

any

Inherited from

Widget.toDart


build()

static build(builder): Control

Defined in: js-api/src/u2core/component.ts:470

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

ParameterType
builder() => HTMLElement | (string | HTMLElement | Control)[]

Returns

Control

Inherited from

Widget.build


find()

static find(root): Widget<any> | null

Defined in: js-api/src/widgets/base.ts:236

Finds existing widget from its visual root.

Parameters

ParameterType
rootElement

Returns

Widget<any> | null

Inherited from

Widget.find


fromRoot()

static fromRoot(root): Widget

Defined in: js-api/src/widgets/base.ts:425

Creates a new widget from the root element.

Parameters

ParameterType
rootHTMLElement

Returns

Widget

Inherited from

Widget.fromRoot


getAll()

static getAll(): Widget<any>[]

Defined in: js-api/src/widgets/base.ts:231

Returns all currently active widgets.

Returns

Widget<any>[]

Inherited from

Widget.getAll


init()

static init(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

ParameterType
selfComponent
scope?Scope

Returns

void

Inherited from

Widget.init


is()

static is(x): x is Control

Defined in: js-api/src/u2core/component.ts:439

Structural probe by methods only — never .scope: the accessor mints.

Parameters

ParameterType
xunknown

Returns

x is Control

Inherited from

Widget.is


registerCleanup()

static registerCleanup(element, cleanup): void

Defined in: js-api/src/widgets/base.ts:242

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

ParameterType
elementElement
cleanupFunction

Returns

void

Inherited from

Widget.registerCleanup


sameValue()

static sameValue(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

ParameterType
aunknown
bunknown

Returns

boolean

Inherited from

Widget.sameValue