Sketcher
Defined in: js-api/src/chem.ts:171
Molecule sketcher with pluggable implementations (OpenChemLib, Ketcher, Marvin, ...), inplace or as a thumbnail that opens the sketcher in a dialog. Read the molecule with getSmiles, getMolFile or getSmarts, set it with setMolecule, listen on onChanged.
Example
const sketcher = new DG.chem.Sketcher();
sketcher.setMolecule('c1ccccc1');
sketcher.onChanged.subscribe(() => grok.shell.info(sketcher.getSmiles()));
ui.dialog('Sketch').add(sketcher.root).show();
Extends
Constructors
Constructor
new Sketcher(
mode?,validationFunc?):Sketcher
Defined in: js-api/src/chem.ts:432
Creates a sketcher. [mode]: inplace (default) or external, a thumbnail that opens the sketcher in a dialog; [validationFunc] returns an error message or null.
Parameters
| Parameter | Type |
|---|---|
mode? | SKETCHER_MODE |
validationFunc? | (s) => string | null |
Returns
Sketcher
Overrides
Properties
| Property | Modifier | Type | Default value | Description | Inherited from | Defined in |
|---|---|---|---|---|---|---|
_align | public | boolean | true | - | - | js-api/src/chem.ts:224 |
_autoResized | public | boolean | true | - | - | js-api/src/chem.ts:221 |
_functions | protected | Func[] | [] | - | Widget._functions | js-api/src/widgets/base.ts:218 |
_highlight | public | boolean | true | - | - | js-api/src/chem.ts:225 |
_isSubstructureFilter | public | boolean | false | - | - | js-api/src/chem.ts:223 |
_mode | public | SKETCHER_MODE | SKETCHER_MODE.INPLACE | - | - | js-api/src/chem.ts:203 |
_molfile | public | string | null | null | - | - | js-api/src/chem.ts:205 |
_properties | protected | Property[] | [] | - | Widget._properties | js-api/src/widgets/base.ts:217 |
_root | protected | HTMLElement | undefined | - | Widget._root | js-api/src/u2core/component.ts:666 |
_sketcherTypeChanged | public | boolean | false | - | - | js-api/src/chem.ts:220 |
_smarts | public | string | null | null | - | - | js-api/src/chem.ts:206 |
_smiles | public | string | null | null | - | - | js-api/src/chem.ts:204 |
_u2 | readonly | ComponentState | undefined | - | Widget._u2 | js-api/src/u2core/component.ts:119 |
_validationFunc | public | (molecule) => string | null | undefined | - | - | js-api/src/chem.ts:222 |
alighInput | public | InputBase | undefined | - | - | js-api/src/chem.ts:231 |
changedSub | public | Subscription | null | null | - | - | js-api/src/chem.ts:176 |
clearSketcherButton | public | HTMLButtonElement | undefined | - | - | js-api/src/chem.ts:217 |
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:114 |
dart | public | any | undefined | - | Widget.dart | js-api/src/widgets/base.ts:223 |
emptySketcherLink | public | HTMLDivElement | undefined | - | - | js-api/src/chem.ts:218 |
error | public | string | null | null | Message from the validation function for the last value set, or null. | - | js-api/src/chem.ts:227 |
errorDiv | public | HTMLDivElement | undefined | - | - | js-api/src/chem.ts:230 |
extSketcherCanvas | public | HTMLCanvasElement | undefined | - | - | js-api/src/chem.ts:214 |
extSketcherDiv | public | HTMLDivElement | undefined | - | - | js-api/src/chem.ts:213 |
factory | public | Func | null | null | Constructor function. No parameters, returns [Widget]. | Widget.factory | js-api/src/widgets/base.ts:215 |
filterOnChangeInput | public | InputBase | undefined | - | - | js-api/src/chem.ts:233 |
filterOptionsDiv | public | HTMLDivElement | undefined | - | - | js-api/src/chem.ts:215 |
highlightInput | public | InputBase | undefined | - | - | js-api/src/chem.ts:232 |
host | public | HTMLDivElement | undefined | - | - | js-api/src/chem.ts:175 |
inplaceSketcherDiv | public | HTMLDivElement | null | null | - | - | js-api/src/chem.ts:216 |
invalidMoleculeWarning | public | HTMLDivElement | undefined | - | - | js-api/src/chem.ts:174 |
isDetached | public | boolean | false | Whether detach has been called. | Widget.isDetached | js-api/src/widgets/base.ts:225 |
listeners | public | () => void[] | [] | - | - | js-api/src/chem.ts:202 |
loader | public | HTMLDivElement | undefined | - | - | js-api/src/chem.ts:212 |
molFileUnits | public | Notation | Notation.MolBlock | Molblock notation of the last value set: V2000 or V3000. | - | js-api/src/chem.ts:208 |
molInput | public | HTMLInputElement | undefined | - | - | js-api/src/chem.ts:173 |
onAlignedChanged | public | Subject<boolean> | undefined | Fires when the "align" substructure-filter option is toggled. | - | js-api/src/chem.ts:181 |
onChanged | public | Subject<any> | undefined | Fires on every change of the sketched molecule. | - | js-api/src/chem.ts:179 |
onHighlightChanged | public | Subject<boolean> | undefined | Fires when the "highlight" substructure-filter option is toggled. | - | js-api/src/chem.ts:183 |
onSketcherReady | public | Subject<SketcherBase> | undefined | Fires when an implementation is ready: initialized, listened to, and showing the molecule the host holds. It fires once for every implementation that becomes ready, so a switch of sketcher (the ≡ menu) fires it again; and it fires synchronously at that moment, so a subscriber acts before any user input reaches the implementation. See sketcherReady. | - | js-api/src/chem.ts:188 |
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:220 |
resized | public | boolean | false | - | - | js-api/src/chem.ts:219 |
sketcher | public | SketcherBase | null | null | - | - | js-api/src/chem.ts:177 |
sketcherDialogOpened | public | boolean | false | - | - | js-api/src/chem.ts:196 |
sketcherFunctions | public | Func[] | [] | - | - | js-api/src/chem.ts:195 |
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:118 |
subs | public | Subscription[] | undefined | Subscriptions cancelled when the widget is detached. | Widget.subs | js-api/src/widgets/base.ts:222 |
syncCurrentObject | public | boolean | true | Whether the currently drawn molecule becomes the current object as you sketch it; never in the context panel (isInContextPanel) | - | js-api/src/chem.ts:200 |
temp | public | any | undefined | Contains auxiliary information | Widget.temp | js-api/src/widgets/base.ts:212 |
FAVORITES_KEY | readonly | "chem-molecule-favorites" | 'chem-molecule-favorites' | - | - | js-api/src/chem.ts:887 |
isRoot | static | boolean | false | A root has no owner by design (a dialog): built with none, it is not reported as owner-missing. | Widget.isRoot | js-api/src/u2core/component.ts:81 |
RECENT_KEY | readonly | "chem-molecule-recent" | 'chem-molecule-recent' | - | - | js-api/src/chem.ts:888 |
Accessors
aiDescription
Get Signature
get aiDescription():
string|null
Defined in: js-api/src/u2core/component.ts:337
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:341
Parameters
| Parameter | Type |
|---|---|
x | string | null |
Returns
void
Inherited from
align
Get Signature
get align():
boolean
Defined in: js-api/src/chem.ts:288
Substructure-filter option: align matched molecules to the pattern.
Returns
boolean
Set Signature
set align(
value):void
Defined in: js-api/src/chem.ts:289
Parameters
| Parameter | Type |
|---|---|
value | boolean |
Returns
void
ambientAdoption
Get Signature
get
protectedambientAdoption():boolean
Defined in: js-api/src/widgets/base.ts:278
A widget wrapper minted inside somebody's effect scope must not be auto-disposed with it.
Returns
boolean
Inherited from
autoResized
Get Signature
get autoResized():
boolean
Defined in: js-api/src/chem.ts:256
Whether the sketcher sizes itself to its host.
Returns
boolean
calculating
Get Signature
get calculating():
boolean
Defined in: js-api/src/chem.ts:266
Shows the loader while a value is being resolved (e.g. a compound name to a structure).
Returns
boolean
Set Signature
set calculating(
value):void
Defined in: js-api/src/chem.ts:267
Parameters
| Parameter | Type |
|---|---|
value | boolean |
Returns
void
children
Get Signature
get children():
Widget<any>[]
Defined in: js-api/src/widgets/base.ts:313
Parent widget up the DOM tree, or null.
Returns
Widget<any>[]
Inherited from
filterOnChange
Get Signature
get filterOnChange():
boolean
Defined in: js-api/src/chem.ts:294
Substructure-filter option: re-filter on every change instead of on demand.
Returns
boolean
Set Signature
set filterOnChange(
value):void
Defined in: js-api/src/chem.ts:295
Parameters
| Parameter | Type |
|---|---|
value | boolean |
Returns
void
filterOptions
Get Signature
get filterOptions():
HTMLElement
Defined in: js-api/src/chem.ts:297
Host element of the substructure-filter options.
Returns
HTMLElement
height
Get Signature
get height():
number
Defined in: js-api/src/chem.ts:246
Height of the current implementation in pixels (400 before one is initialized).
Returns
number
highlight
Get Signature
get highlight():
boolean
Defined in: js-api/src/chem.ts:291
Substructure-filter option: highlight the matched substructure.
Returns
boolean
Set Signature
set highlight(
value):void
Defined in: js-api/src/chem.ts:292
Parameters
| Parameter | Type |
|---|---|
value | boolean |
Returns
void
isResizing
Get Signature
get isResizing():
boolean
Defined in: js-api/src/chem.ts:251
True once resize has been applied to an initialized implementation.
Returns
boolean
isSubstructureFilter
Get Signature
get isSubstructureFilter():
boolean
Defined in: js-api/src/chem.ts:278
When true, the sketcher acts as a substructure filter and shows the align/highlight options.
Returns
boolean
Set Signature
set isSubstructureFilter(
value):void
Defined in: js-api/src/chem.ts:279
Parameters
| Parameter | Type |
|---|---|
value | boolean |
Returns
void
name
Get Signature
get name():
string|undefined
Defined in: js-api/src/u2core/component.ts:882
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:886
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:310
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:435
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:282
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:675
Returns
HTMLElement
Set Signature
set root(
x):void
Defined in: js-api/src/u2core/component.ts:679
Parameters
| Parameter | Type |
|---|---|
x | HTMLElement |
Returns
void
Inherited from
rootId
Get Signature
get rootId():
string
Defined in: js-api/src/u2core/component.ts:704
Stable element id, minted (u2-<n>) on first ask unless the root has one: the anchor of
for, aria-* and data-u2-owner-id references.
Returns
string
Inherited from
scope
Get Signature
get scope():
Scope
Defined in: js-api/src/u2core/component.ts:86
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. Lazy: counted and tracked only
once it owns something, so a static control costs nothing.
Returns
Inherited from
sketcherType
Set Signature
set sketcherType(
type):void
Defined in: js-api/src/chem.ts:236
Switches the sketcher implementation by name (one of the registered sketcher functions).
Parameters
| Parameter | Type |
|---|---|
type | string |
Returns
void
sketcherTypeChanged
Get Signature
get sketcherTypeChanged():
boolean
Defined in: js-api/src/chem.ts:261
True after the user switched the implementation.
Returns
boolean
supportedExportFormats
Get Signature
get supportedExportFormats():
string[]
Defined in: js-api/src/chem.ts:362
Export formats of the current implementation; empty before one is initialized.
Returns
string[]
type
Get Signature
get type():
string
Defined in: js-api/src/widgets/base.ts:209
Widget type name; subclasses override it.
Returns
string
Inherited from
visible
Get Signature
get visible():
boolean
Defined in: js-api/src/u2core/component.ts:694
Hidden ⇔ the root carries the hidden attribute.
Returns
boolean
Set Signature
set visible(
x):void
Defined in: js-api/src/u2core/component.ts:698
Parameters
| Parameter | Type |
|---|---|
x | boolean |
Returns
void
Inherited from
width
Get Signature
get width():
number
Defined in: js-api/src/chem.ts:241
Width of the current implementation in pixels (500 before one is initialized).
Returns
number
Methods
_notifyPropertyChange()
protected_notifyPropertyChange(p):void
Defined in: js-api/src/widgets/base.ts:360
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:365
Returns
ObservableLike<PropertyChange>
Inherited from
_scopeMinted()
protected_scopeMinted(_scope):void
Defined in: js-api/src/widgets/base.ts:329
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:345
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:336
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:331
Returns
void
Inherited from
accessibleLabel()
protectedaccessibleLabel():string|undefined
Defined in: js-api/src/u2core/component.ts:762
The accessible name: aria-label, then the aria-labelledby texts, then this control's own
data-u2-part="label" element, then — for a root that is a button — its own text.
Returns
string | undefined
Inherited from
addProperty()
addProperty(
propertyName,propertyType,defaultValue?,options?):any
Defined in: js-api/src/widgets/base.ts:388
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" | "num" | "string_list" | "dataframe_list" | "cell" | "column" | "column_list" | "graphics" | "blob" | "tablerowfiltercall" | "colfiltercall" | "bitset" | "dynamic" | "viewer" | "list" | "semantic_value" | "func" | "funccall" | "property" | "categorical" | "numerical" | "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:468
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:267
Sets each key of properties as the property of that name; returns this widget.
Parameters
| Parameter | Type |
|---|---|
properties | object |
Returns
Inherited from
bindProps()
bindProps():
BindProp[]
Defined in: js-api/src/u2core/component.ts:492
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):Signal<unknown> |BindSource|null
Defined in: js-api/src/u2core/component.ts:481
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
Signal<unknown> | BindSource | null
Inherited from
createAlignHighlightInputs()
createAlignHighlightInputs(
key,inputName,callback):InputBase<boolean>
Defined in: js-api/src/chem.ts:463
Parameters
| Parameter | Type |
|---|---|
key | string |
inputName | string |
callback | () => void |
Returns
InputBase<boolean>
createClearSketcherButton()
createClearSketcherButton(
canvas):HTMLButtonElement
Defined in: js-api/src/chem.ts:591
Parameters
| Parameter | Type |
|---|---|
canvas | HTMLCanvasElement |
Returns
HTMLButtonElement
createExternalModeSketcher()
createExternalModeSketcher():
HTMLElement
Defined in: js-api/src/chem.ts:614
Returns
HTMLElement
createInplaceModeSketcher()
createInplaceModeSketcher():
HTMLElement
Defined in: js-api/src/chem.ts:668
Returns
HTMLElement
createMoleculeTooltip()
createMoleculeTooltip(
currentMolfile):HTMLElement
Defined in: js-api/src/chem.ts:569
Parameters
| Parameter | Type |
|---|---|
currentMolfile | string |
Returns
HTMLElement
createSketcher()
createSketcher():
void
Defined in: js-api/src/chem.ts:535
Builds the sketcher's DOM, inplace or external, once: 100 ms after construction, or earlier when a host that needs it now calls it (the substructure filter, once its card is in the page: the mode is then known).
Returns
void
deriveName()
protectedderiveName(x):void
Defined in: js-api/src/u2core/component.ts:109
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/chem.ts:919
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
Overrides
dispose()
dispose():
void
Defined in: js-api/src/u2core/component.ts:687
Disposes the control; disposed by hand, it also leaves the page — a dead control left on show looks alive. One its owner disposes leaves the DOM to whoever holds it: a region swapping its content, a spec re-rendering.
Returns
void
Inherited from
drawToCanvas()
drawToCanvas(
w,h,molecule):HTMLElement
Defined in: js-api/src/chem.ts:925
Parameters
| Parameter | Type |
|---|---|
w | number |
h | number |
molecule | string |
Returns
HTMLElement
effect()
effect(
fn):this
Defined in: js-api/src/u2core/component.ts:260
Runs fn now and on every change of the signals it reads, until this component is disposed.
Called while a row of each() or an effect run is being built, it belongs on a control built
there (input.effect(...)) — on a longer-lived one it piles up with every rebuild, and u2 warns.
Parameters
| Parameter | Type |
|---|---|
fn | () => void |
Returns
this
Inherited from
fireEvent()
protectedfireEvent(eventId,args?):void
Defined in: js-api/src/u2core/component.ts:636
Every matching listener runs inside one batch; a throwing one is reported to this component's scope and does not stop the rest.
Parameters
| Parameter | Type |
|---|---|
eventId | string |
args? | unknown |
Returns
void
Inherited from
getDartProperties()
getDartProperties():
any[]
Defined in: js-api/src/widgets/base.ts:296
Dart handles of the properties that have one.
Returns
any[]
Inherited from
getFunctions()
getFunctions():
Func[]
Defined in: js-api/src/widgets/base.ts:289
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
getItems()
getItems(
_opts?):IItemsState|undefined
Defined in: js-api/src/u2core/component.ts:737
Items of a collection-like control; undefined for other kinds. list holds the first
ITEMS_CAP unless all.
Parameters
| Parameter | Type |
|---|---|
_opts? | { all?: boolean; } |
_opts.all? | boolean |
Returns
IItemsState | undefined
Inherited from
getMolFile()
getMolFile():
string
Defined in: js-api/src/chem.ts:318
Current molecule as a molblock: V2000, or V3000 when the last value set was V3000.
Returns
string
getProperties()
getProperties():
Property[]
Defined in: js-api/src/widgets/base.ts:285
Returns all properties of this widget: the meta-generated ones plus addProperty's.
Returns
Property[]
Inherited from
getSmarts()
getSmarts():
Promise<string|null>
Defined in: js-api/src/chem.ts:344
Current molecule as SMARTS; async because some implementations compute it on demand.
Returns
Promise<string | null>
getSmiles()
getSmiles():
string
Defined in: js-api/src/chem.ts:300
Current molecule as SMILES, converted from the stored molblock or SMARTS when needed.
Returns
string
getState()
getState():
IControlState
Defined in: js-api/src/u2core/component.ts:713
The state block generic tests read (DG.U2.state). This base reads the DOM — kind, name,
accessible name, aria-disabled, hidden, focus, aria-busy — plus getItems; a
subclass adds what the DOM cannot say and spreads super.getState(). Synchronous, side-effect
free, never cached.
Returns
Inherited from
getWidgetStatus()
getWidgetStatus():
IWidgetStatus
Defined in: js-api/src/widgets/base.ts:432
Returns the widget's runtime structure for automated testing and introspection; state is read off
the DOM (kind, label, enabled, visible, focused …), then merged with what providers contribute.
Returns
Inherited from
isEmpty()
isEmpty():
boolean
Defined in: js-api/src/chem.ts:367
True when nothing is drawn.
Returns
boolean
isInContextPanel()
isInContextPanel():
boolean
Defined in: js-api/src/chem.ts:521
True when the sketcher is in the context panel (a column's Filter pane, say). There a drawing is not made the current object (see syncCurrentObject): the panel would show the molecule instead of what holds the sketcher, and the sketcher would go with it at the first edit.
Returns
boolean
isInPopupContainer()
isInPopupContainer():
boolean
Defined in: js-api/src/chem.ts:514
True when the implementation is shown in a popup (not in the dialog a thumbnail in a popup opens).
Returns
boolean
link()
link(
name,source,twoWay):void
Defined in: js-api/src/u2core/component.ts:453
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
on()
on(
eventId,handler): () =>void
Defined in: js-api/src/u2core/component.ts:623
Subscribes handler to onEvent(eventId); it gets the payload and this component.
Owned by the ambient scope when there is one (the subscriber's), else by this component; runs
as Scope.bind runs a handler. Answers the unsubscribe.
Parameters
| Parameter | Type |
|---|---|
eventId | string |
handler | (arg, source) => void |
Returns
() => void
Inherited from
onEvent()
onEvent(
eventId?):Observable<any>
Defined in: js-api/src/widgets/base.ts:423
Observes events with the specified eventId: what fireEvent raises and, for an id, the DOM
events of that name on the root — as on every u2 Control.
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:304
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:293
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:267
Registers a cleanup that runs when this component is disposed.
Parameters
| Parameter | Type |
|---|---|
dispose | () => void |
Returns
this
Inherited from
propertyChanges()
protectedpropertyChanges():ObservableLike<PropertyChange>
Defined in: js-api/src/widgets/base.ts:375
What refreshes the property tier's cached signals from outside: null where nothing announces a change (one-way).
Returns
ObservableLike<PropertyChange>
Inherited from
registerFunction()
protectedregisterFunction(f):void
Defined in: js-api/src/u2core/component.ts:616
Parameters
| Parameter | Type |
|---|---|
f | FuncLike |
Returns
void
Inherited from
removeStatusProvider()
removeStatusProvider(
name):void
Defined in: js-api/src/widgets/base.ts:477
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:526
Resizes the current implementation to its host.
Returns
void
revealItem()
revealItem(
keyOrLabel):Promise<HTMLElement|null>
Defined in: js-api/src/u2core/component.ts:746
Brings the item into view and resolves to its element, or null when none matches: the exact
key (data-u2-item) first, then the label, trimmed and case-insensitive. Several label matches
reject, naming the candidates. This base searches the rendered [data-u2-item] elements under
the root and in the popups it owns; a virtual or collapsible control overrides it to scroll or
expand first.
Parameters
| Parameter | Type |
|---|---|
keyOrLabel | string |
Returns
Promise<HTMLElement | null>
Inherited from
runInScope()
runInScope<
T>(fn):T
Defined in: js-api/src/u2core/component.ts:253
Runs fn with this component's scope ambient: what it builds is owned by this component.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type |
|---|---|
fn | () => T |
Returns
T
Deprecated
Use the owner verb build(fn) (OwnerVerbs.build): this.build(fn), dialog.build(fn).
Inherited from
setChangeListenerCallback()
setChangeListenerCallback(
callback):void
Defined in: js-api/src/chem.ts:383
Registers a change callback; only the latest one is wired to the current implementation. Prefer onChanged.
Parameters
| Parameter | Type |
|---|---|
callback | () => void |
Returns
void
setExternalModeForSubstrFilter()
setExternalModeForSubstrFilter():
void
Defined in: js-api/src/chem.ts:494
In case sketcher is opened in filter panel use EXTERNAL mode
Returns
void
setMolecule()
setMolecule(
molString,substructure?):void
Defined in: js-api/src/chem.ts:372
Sets the molecule, supports either SMILES, SMARTS or MOLBLOCK formats
Parameters
| Parameter | Type | Default value |
|---|---|---|
molString | string | undefined |
substructure | boolean | false |
Returns
void
setMolFile()
setMolFile(
x):void
Defined in: js-api/src/chem.ts:331
Sets the molecule from a molblock, V2000 or V3000; runs validation.
Parameters
| Parameter | Type |
|---|---|
x | string |
Returns
void
setSmarts()
setSmarts(
x):void
Defined in: js-api/src/chem.ts:351
Sets the query pattern from SMARTS; runs validation.
Parameters
| Parameter | Type |
|---|---|
x | string |
Returns
void
setSmiles()
setSmiles(
x):void
Defined in: js-api/src/chem.ts:307
Sets the molecule from SMILES; runs validation.
Parameters
| Parameter | Type |
|---|---|
x | string |
Returns
void
setValue()
setValue(
x):void
Defined in: js-api/src/chem.ts:391
Sets SMILES, MOLBLOCK, or any other molecule representation
Parameters
| Parameter | Type |
|---|---|
x | string |
Returns
void
sketcherReady()
sketcherReady():
Promise<SketcherBase>
Defined in: js-api/src/chem.ts:502
Resolves to the implementation once it is ready (onSketcherReady): at once when the current one is ready
and no switch of sketcher is under way, else at the next announcement. A switch begun before the call (the ≡ menu,
a thumbnail's dialog opening) is waited for. Await it instead of polling sketcher.isInitialized.
Returns
Promise<SketcherBase>
sourceRowsChanged()
sourceRowsChanged():
void
Defined in: js-api/src/widgets/base.ts:301
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:261
Registers a subscription to an external event.
Parameters
| Parameter | Type |
|---|---|
subscription | Subscription |
Returns
void
Inherited from
subscribe()
subscribe<
T>(source,handler): () =>void
Defined in: js-api/src/u2core/component.ts:1040
Subscribes handler to source until this owner is disposed. See Scope.subscribe.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type |
|---|---|
source | ObservableLike<T> |
handler | (value) => void |
Returns
() => void
Inherited from
task()
task<
R>(fn,options?):TaskRun
Defined in: js-api/src/u2core/component.ts:1038
Async work owned here. See Scope.task.
Type Parameters
| Type Parameter |
|---|
R |
Parameters
| Parameter | Type |
|---|---|
fn | (t) => R | PromiseLike<R> |
options? | TaskOptions |
Returns
Inherited from
toDart()
toDart():
any
Defined in: js-api/src/widgets/base.ts:254
The Dart handle of this widget, created on first use.
Returns
any
Inherited from
updateExtSketcherContent()
updateExtSketcherContent():
void
Defined in: js-api/src/chem.ts:547
Returns
void
updateInvalidMoleculeWarning()
updateInvalidMoleculeWarning():
void
Defined in: js-api/src/chem.ts:607
Returns
void
validate()
validate(
x):void
Defined in: js-api/src/chem.ts:424
Runs the validation function from the constructor, sets error and toggles the warning.
Parameters
| Parameter | Type |
|---|---|
x | string |
Returns
void
_isPlain()
protectedstatic_isPlain(x):x is Record<string, unknown>
Defined in: js-api/src/u2core/component.ts:244
Parameters
| Parameter | Type |
|---|---|
x | unknown |
Returns
x is Record<string, unknown>
Inherited from
addToCollection()
staticaddToCollection(key,molecule):void
Defined in: js-api/src/chem.ts:894
Parameters
| Parameter | Type |
|---|---|
key | string |
molecule | string |
Returns
void
build()
Call Signature
staticbuild(builder,options?):Control
Defined in: js-api/src/u2core/component.ts:943
The function component component makes, under its old name.
Parameters
| Parameter | Type |
|---|---|
builder | (self) => BuiltRoot |
options? | ControlBuildOptions |
Returns
Deprecated
Use component: one spelling, apart from an owner's build(fn).
Inherited from
Call Signature
staticbuild<R>(builder,options?):never
Defined in: js-api/src/u2core/component.ts:944
The function component component makes, under its old name.
Type Parameters
| Type Parameter |
|---|
R extends BuiltHandle |
Parameters
| Parameter | Type |
|---|---|
builder | (self) => R |
options? | ControlBuildOptions |
Returns
never
Deprecated
Use component: one spelling, apart from an owner's build(fn).
Inherited from
checkDuplicatesAndAddToStorage()
staticcheckDuplicatesAndAddToStorage(storage,molecule,localStorageKey):void
Defined in: js-api/src/chem.ts:899
Parameters
| Parameter | Type |
|---|---|
storage | string[] |
molecule | string |
localStorageKey | string |
Returns
void
find()
staticfind(root):Widget<any> |null
Defined in: js-api/src/widgets/base.ts:243
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:904
The nearest control owning el — the DOM → component door for tooling, automation and
inspectors (the u2 counterpart of the platform's Widget.find): the nearest root at or above
el, else, inside a popup portaled to the body, the popup's owner (data-u2-owner-id).
Best-effort: the last control constructed on (or assigned) a root wins it. The root carries
the control under Symbol.for('u2.control'), so every engine copy on the page answers alike.
Parameters
| Parameter | Type |
|---|---|
el | Element | null |
Returns
Control | undefined
Inherited from
fromRoot()
staticfromRoot(root):Widget
Defined in: js-api/src/widgets/base.ts:483
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:238
Returns all currently active widgets.
Returns
Widget<any>[]
Inherited from
getCollection()
staticgetCollection(key):string[]
Defined in: js-api/src/chem.ts:890
Parameters
| Parameter | Type |
|---|---|
key | string |
Returns
string[]
init()
staticinit(self,scope?):void
Defined in: js-api/src/u2core/component.ts:126
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:915
Structural probe by methods only — never .scope: the accessor mints.
Parameters
| Parameter | Type |
|---|---|
x | unknown |
Returns
x is Control
Inherited from
isEmptyMolfile()
staticisEmptyMolfile(molFile):boolean
Defined in: js-api/src/chem.ts:911
True for an empty value: '' or a molblock with no atoms, V2000 or V3000 (WHITE_MOLBLOCK_V_3000 included, whose header is two lines, not three).
Parameters
| Parameter | Type |
|---|---|
molFile | string |
Returns
boolean
jsonValue()
staticjsonValue(x,depth?):JsonValue|undefined
Defined in: js-api/src/u2core/component.ts:826
The JSON-safe projection behind IControlState.value: a Date → its ISO string, an object
with a string name (an entity, a column) → the name, arrays and sets element-wise, plain objects
key-wise (depth 4), a signal → its current value; functions and elements → undefined; anything
else → String(x).
Parameters
| Parameter | Type | Default value |
|---|---|---|
x | unknown | undefined |
depth | number | 0 |
Returns
JsonValue | undefined
Inherited from
labelOf()
protectedstaticlabelOf(el):string|undefined
Defined in: js-api/src/u2core/component.ts:775
aria-label, else the joined texts of the aria-labelledby elements; undefined when neither names el.
Parameters
| Parameter | Type |
|---|---|
el | Element |
Returns
string | undefined
Inherited from
registerCleanup()
staticregisterCleanup(element,cleanup):void
Defined in: js-api/src/widgets/base.ts:249
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:232
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
Inherited from
text()
protectedstatictext(el):string
Defined in: js-api/src/u2core/component.ts:789
The text the user reads: trimmed, single-spaced.
Parameters
| Parameter | Type |
|---|---|
el | Element |
Returns
string