Viewer<TSettings>
Defined in: js-api/src/viewer.ts:120
Base class for controls that have a visual root and a set of properties.
Extends
Widget<TSettings>
Extended by
FormViewerGridJsViewerFilterGroupLineChartViewerScatterPlotViewerDensityPlotViewerHistogramViewerBarChartViewerPieChartViewerPcPlotBoxPlotCorrelationPlotTreeMapMatrixPlotTileViewerConfusionMatrixRocCurveCalendarViewerPivotViewerNetworkDiagramViewerTrellisPlotViewer
Type Parameters
| Type Parameter | Default type |
|---|---|
TSettings | any |
Constructors
Constructor
new Viewer<
TSettings>(dart,root?):Viewer<TSettings>
Defined in: js-api/src/viewer.ts:127
Parameters
| Parameter | Type |
|---|---|
dart | any |
root? | HTMLElement |
Returns
Viewer<TSettings>
Overrides
Properties
| Property | Modifier | Type | Default value | Description | Inherited from | Defined in |
|---|---|---|---|---|---|---|
_functions | protected | Func[] | [] | - | Widget._functions | js-api/src/widgets/base.ts:207 |
_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 |
factory | public | Func | null | null | Constructor function. No parameters, returns [Widget]. | Widget.factory | js-api/src/widgets/base.ts:204 |
isDetached | public | boolean | false | Whether detach has been called. | Widget.isDetached | js-api/src/widgets/base.ts:214 |
props | public | TSettings & ObjectPropertyBag | 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 |
tags | public | any | undefined | Viewer tags: a string map persisted with the layout. | - | js-api/src/viewer.ts:123 |
temp | public | any | undefined | Contains auxiliary information | Widget.temp | js-api/src/widgets/base.ts:201 |
CORE_VIEWER_TYPES | static | string[] | undefined | Viewer types that ship with the platform and are available synchronously. | - | js-api/src/viewer.ts:527 |
Accessors
aiDescription
Get Signature
get aiDescription():
string|null
Defined in: js-api/src/viewer.ts:147
AI briefing of the underlying Dart viewer.
Returns
string | null
Set Signature
set aiDescription(
x):void
Defined in: js-api/src/viewer.ts:152
A short AI-facing briefing, seeded from the registry's usage or description.
Parameters
| Parameter | Type |
|---|---|
x | string | null |
Returns
void
Overrides
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
dataFrame
Get Signature
get dataFrame():
DataFrame
Defined in: js-api/src/viewer.ts:323
Returns
Set Signature
set dataFrame(
t):void
Defined in: js-api/src/viewer.ts:324
Parameters
| Parameter | Type |
|---|---|
t | DataFrame |
Returns
void
descriptor
Get Signature
get descriptor():
WidgetDescriptor
Defined in: js-api/src/viewer.ts:141
Descriptor of this widget.
Returns
filter
Get Signature
get filter():
BitSet
Defined in: js-api/src/viewer.ts:134
combined filter of the viewer
Returns
Set Signature
set filter(
f):void
Defined in: js-api/src/viewer.ts:137
Parameters
| Parameter | Type |
|---|---|
f | BitSet |
Returns
void
helpUrl
Get Signature
get helpUrl():
string
Defined in: js-api/src/viewer.ts:327
Help URL
Returns
string
Set Signature
set helpUrl(
s):void
Defined in: js-api/src/viewer.ts:328
Parameters
| Parameter | Type |
|---|---|
s | string |
Returns
void
immediateRendering
Get Signature
get immediateRendering():
boolean
Defined in: js-api/src/viewer.ts:333
Repaints as soon as the current task completes instead of on the next animation frame or after the render delay; property sets within one task still coalesce into one repaint. For automated tests: a property set is painted once the test yields one macrotask.
Returns
boolean
Set Signature
set immediateRendering(
x):void
Defined in: js-api/src/viewer.ts:334
Parameters
| Parameter | Type |
|---|---|
x | boolean |
Returns
void
isRenderPending
Get Signature
get isRenderPending():
boolean
Defined in: js-api/src/viewer.ts:338
True while a change is on its way to the canvas: a debounced refresh is armed, or a repaint is requested and not yet done. A test waits on this instead of a timeout.
Returns
boolean
meta
Get Signature
get meta():
ViewerMetaHelper
Defined in: js-api/src/viewer.ts:296
Formula lines and annotation regions of this viewer.
Returns
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
onAfterDrawOverlay
Get Signature
get onAfterDrawOverlay():
Observable<EventData<any>>
Defined in: js-api/src/viewer.ts:184
Fires after rendering of the overlay canvas (interactive layer).
Returns
Observable<EventData<any>>
onAfterDrawScene
Get Signature
get onAfterDrawScene():
Observable<EventData<any>>
Defined in: js-api/src/viewer.ts:180
Fires after rendering of the main canvas.
Returns
Observable<EventData<any>>
onAfterLayout
Get Signature
get onAfterLayout():
Observable<EventData<any>>
Defined in: js-api/src/viewer.ts:176
Fires after the viewer completes a layout pass.
Returns
Observable<EventData<any>>
onBeforeDrawOverlay
Get Signature
get onBeforeDrawOverlay():
Observable<EventData<any>>
Defined in: js-api/src/viewer.ts:182
Fires before rendering of the overlay canvas (interactive layer).
Returns
Observable<EventData<any>>
onBeforeDrawScene
Get Signature
get onBeforeDrawScene():
Observable<EventData<any>>
Defined in: js-api/src/viewer.ts:178
Fires before rendering of the main canvas.
Returns
Observable<EventData<any>>
onContextMenu
Get Signature
get onContextMenu():
Observable<Menu>
Defined in: js-api/src/viewer.ts:466
Fires when the viewer builds its context menu; add items to the emitted Menu.
Returns
Observable<Menu>
onDartPropertyChanged
Get Signature
get onDartPropertyChanged():
Observable<null>
Defined in: js-api/src/viewer.ts:494
Low-level stream of property changes on the Dart side; prefer onPropertyValueChanged.
Returns
Observable<null>
onDataEvent
Get Signature
get onDataEvent():
Observable<ViewerEvent>
Defined in: js-api/src/viewer.ts:161
All data events of this viewer (selection, row click, tooltip); filter by e.type.
Returns
Observable<ViewerEvent>
onDataFrameChanged
Get Signature
get onDataFrameChanged():
Observable<any>
Defined in: js-api/src/viewer.ts:172
Fires when the viewer's underlying DataFrame is replaced (table attached).
Returns
Observable<any>
onDataRowClicked
Get Signature
get onDataRowClicked():
Observable<ViewerEvent>
Defined in: js-api/src/viewer.ts:167
current row clicked
Returns
Observable<ViewerEvent>
onDataSelected
Get Signature
get onDataSelected():
Observable<ViewerEvent>
Defined in: js-api/src/viewer.ts:165
Fires when the user selects data in the viewer.
Returns
Observable<ViewerEvent>
onDetached
Get Signature
get onDetached():
Observable<any>
Defined in: js-api/src/viewer.ts:509
Occurs when viewer is detached.
Returns
Observable<any>
onPropertyValueChanged
Get Signature
get onPropertyValueChanged():
Observable<EventData<Property>>
Defined in: js-api/src/viewer.ts:169
Fires after any viewer property changes; args.property is the property.
Returns
Observable<EventData<Property>>
onResized
Get Signature
get onResized():
Observable<null>
Defined in: js-api/src/viewer.ts:174
Fires when the viewer is resized.
Returns
Observable<null>
onTooltipCreated
Get Signature
get onTooltipCreated():
Observable<ViewerEvent>
Defined in: js-api/src/viewer.ts:163
Fires when the viewer shows a data tooltip.
Returns
Observable<ViewerEvent>
onViewerRendered
Get Signature
get onViewerRendered():
Observable<EventData<any>>
Defined in: js-api/src/viewer.ts:186
Fires after the viewer is rendered.
Returns
Observable<EventData<any>>
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/viewer.ts:245
A viewer's property lives on its look, which the props bag is over. Read per call:
a viewer's look is settable.
Returns
unknown
Overrides
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/viewer.ts:291
Visual root.
Returns
HTMLElement
Overrides
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
table
Get Signature
get table():
DataFrame
Defined in: js-api/src/viewer.ts:308
The DataFrame this viewer is attached to. Same as dataFrame.
Returns
tableView
Get Signature
get tableView():
TableView|null
Defined in: js-api/src/viewer.ts:318
Returns a view this viewer is associated with, or null
Returns
TableView | null
type
Get Signature
get type():
ViewerType
Defined in: js-api/src/viewer.ts:303
Returns viewer type (see VIEWER constants)
Returns
Overrides
view
Get Signature
get view():
View|null
Defined in: js-api/src/viewer.ts:313
Returns a view this viewer is associated with, or null
Returns
View | null
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/viewer.ts:257
Returns
void
Overrides
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/viewer.ts:277
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[]
Overrides
bindStep()
bindStep(
name):BindSource|Signal<unknown> |null
Defined in: js-api/src/viewer.ts:264
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
Overrides
close()
close():
void
Defined in: js-api/src/viewer.ts:286
Closes and detaches the viewer.
Returns
void
copyViewersLook()
copyViewersLook(
other):void
Defined in: js-api/src/viewer.ts:512
Copies all settings (the look) from [other] into this viewer.
Parameters
| Parameter | Type |
|---|---|
other | Viewer |
Returns
void
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/viewer.ts:144
Functions applicable to the underlying Dart viewer.
Returns
Func[]
Overrides
getInfo()
getInfo():
object
Defined in: js-api/src/viewer.ts:234
Viewer internals exposed for diagnostics and tests (canvas, overlay, and more), keyed by name.
Returns
object
getOptions()
getOptions(
includeDefaults?):object
Defined in: js-api/src/viewer.ts:229
Gets the serialized viewer options. [includeDefaults] flag specifies whether the properties with the default values should be returned. Not including default properties makes it more clean and efficient for serialization purposes.
See also setOptions Sample: https://public.datagrok.ai/js/samples/ui/viewers/types/scatter-plot
Parameters
| Parameter | Type | Default value |
|---|---|---|
includeDefaults | boolean | false |
Returns
object
| Name | Type | Defined in |
|---|---|---|
id | string | js-api/src/viewer.ts:229 |
look | ViewerOptions<TSettings> | js-api/src/viewer.ts:229 |
type | ViewerType | js-api/src/viewer.ts:229 |
getProperties()
getProperties():
Property[]
Defined in: js-api/src/viewer.ts:239
All properties of this viewer, including the data-bound ones.
Returns
Property[]
Overrides
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
initDartObject()
initDartObject(
dart):void
Defined in: js-api/src/viewer.ts:188
Parameters
| Parameter | Type |
|---|---|
dart | any |
Returns
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/viewer.ts:471
Observes platform events with the specified eventId.
Parameters
| Parameter | Type | Default value |
|---|---|---|
eventId | string | null | null |
Returns
Observable<any>
Overrides
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/viewer.ts:247
What refreshes the property tier's cached signals from outside: null where nothing announces a change (one-way).
Returns
ObservableLike<PropertyChange>
Overrides
registerFunction()
protectedregisterFunction(f):void
Defined in: js-api/src/u2core/component.ts:431
Parameters
| Parameter | Type |
|---|---|
f | FuncLike |
Returns
void
Inherited from
removeFromView()
removeFromView():
any
Defined in: js-api/src/viewer.ts:517
Removes the viewer from its view without disposing it.
Returns
any
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
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
setOptions()
setOptions(
map):void
Defined in: js-api/src/viewer.ts:218
Sets viewer options. See also getOptions Sample: https://public.datagrok.ai/js/samples/ui/viewers/types/scatter-plot
Parameters
| Parameter | Type |
|---|---|
map | { [K in string | number | symbol]?: any } & object & object |
Returns
void
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