Skip to main content

ViewBase

Defined in: js-api/src/views/view.ts:45

Subclass ViewBase to implement a Datagrok view in JavaScript.

Extends

Extended by

Constructors

Constructor

new ViewBase(params?, path?, createHost?): ViewBase

Defined in: js-api/src/views/view.ts:56

Parameters

ParameterTypeDefault valueDescription
paramsobject | nullnullURL parameters.
pathstring''URL path.
createHostbooleantrueCreate JS host wrapper.

Returns

ViewBase

Constructs

ViewBase

Overrides

Widget.constructor

Properties

PropertyModifierTypeDefault valueDescriptionOverridesInherited fromDefined in
_functionsprotectedFunc[][]--Widget._functionsjs-api/src/widgets/base.ts:214
_nameprotectedstring'New View'---js-api/src/views/view.ts:106
_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.dart-js-api/src/views/view.ts:46
factorypublicFunc | nullnullConstructor function. No parameters, returns [Widget].-Widget.factoryjs-api/src/widgets/base.ts:211
isDetachedpublicbooleanfalse--Widget.isDetachedjs-api/src/widgets/base.ts:218
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.subs-js-api/src/views/view.ts:47
temppublicanyundefinedContains auxiliary information-Widget.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

DomainGrid.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


basePath

Get Signature

get basePath(): string

Defined in: js-api/src/views/view.ts:131

Deprecated

use path instead

Returns

string

Set Signature

set basePath(s): void

Defined in: js-api/src/views/view.ts:132

Parameters
ParameterType
sstring
Returns

void


box

Get Signature

get box(): boolean

Defined in: js-api/src/views/view.ts:73

Returns

boolean

Set Signature

set box(b): void

Defined in: js-api/src/views/view.ts:74

Parameters
ParameterType
bboolean
Returns

void


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


closing

Get Signature

get closing(): boolean

Defined in: js-api/src/views/view.ts:149

Whether the view is currently closing.

Returns

boolean

Set Signature

set closing(c): void

Defined in: js-api/src/views/view.ts:150

Parameters
ParameterType
cboolean
Returns

void


description

Get Signature

get description(): string

Defined in: js-api/src/views/view.ts:124

Returns

string

Set Signature

set description(s): void

Defined in: js-api/src/views/view.ts:125

Parameters
ParameterType
sstring
Returns

void


entity

Get Signature

get entity(): object | null

Defined in: js-api/src/views/view.ts:127

Returns

object | null

Set Signature

set entity(_e): void

Defined in: js-api/src/views/view.ts:128

Parameters
ParameterType
_eobject | null
Returns

void


helpUrl

Get Signature

get helpUrl(): string | null

Defined in: js-api/src/views/view.ts:88

Returns

string | null

View help URL.

Set Signature

set helpUrl(url): void

Defined in: js-api/src/views/view.ts:92

Parameters
ParameterType
urlstring | null
Returns

void


name

Get Signature

get name(): string

Defined in: js-api/src/views/view.ts:109

Returns

string

Set Signature

set name(s): void

Defined in: js-api/src/views/view.ts:113

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
ParameterType
sstring
Returns

void

Overrides

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


parentCall

Get Signature

get parentCall(): FuncCall | undefined

Defined in: js-api/src/views/view.ts:118

Returns

FuncCall | undefined

Set Signature

set parentCall(s): void

Defined in: js-api/src/views/view.ts:119

Parameters
ParameterType
sFuncCall | undefined
Returns

void


parentView

Get Signature

get parentView(): ViewBase

Defined in: js-api/src/views/view.ts:121

Returns

ViewBase

Set Signature

set parentView(s): void

Defined in: js-api/src/views/view.ts:122

Parameters
ParameterType
sViewBase
Returns

void


path

Get Signature

get path(): string

Defined in: js-api/src/views/view.ts:176

View URI, relative to the view root

Returns

string

Set Signature

set path(s): void

Defined in: js-api/src/views/view.ts:177

Parameters
ParameterType
sstring
Returns

void


propertyTarget

Get Signature

get propertyTarget(): unknown

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

What this component's properties are read from and written to — prop.get(target) / prop.set(target, v): the component itself, unless an adoption says otherwise.

Returns

unknown

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


ribbonMenu

Get Signature

get ribbonMenu(): Menu

Defined in: js-api/src/views/view.ts:141

View menu. Sample: https://public.datagrok.ai/js/samples/ui/views/ribbon

Returns

Menu

Set Signature

set ribbonMenu(menu): void

Defined in: js-api/src/views/view.ts:142

Parameters
ParameterType
menuMenu
Returns

void


root

Get Signature

get root(): HTMLElement

Defined in: js-api/src/views/view.ts:70

Returns

HTMLElement

Set Signature

set root(newRoot): void

Defined in: js-api/src/views/view.ts:71

Parameters
ParameterType
newRootHTMLElement
Returns

void

Overrides

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


statusBarPanels

Get Signature

get statusBarPanels(): HTMLDivElement[]

Defined in: js-api/src/views/view.ts:145

Status bar panels to be shown on the bottom

Returns

HTMLDivElement[]

Set Signature

set statusBarPanels(panels): void

Defined in: js-api/src/views/view.ts:146

Parameters
ParameterType
panelsHTMLDivElement[]
Returns

void


toolbox

Get Signature

get toolbox(): HTMLElement

Defined in: js-api/src/views/view.ts:136

View toolbox. Sample: https://public.datagrok.ai/js/samples/ui/views/toolbox

Returns

HTMLElement

Set Signature

set toolbox(x): void

Defined in: js-api/src/views/view.ts:137

Parameters
ParameterType
xHTMLElement
Returns

void


type

Get Signature

get type(): string

Defined in: js-api/src/views/view.ts:83

View type

Returns

string

Overrides

Widget.type

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


acceptsPath()

acceptsPath(_urlPath): boolean

Defined in: js-api/src/views/view.ts:201

Checks if URL path is acceptable. Override in subclasses.

[_urlPath] is the path WITHOUT the query string: a view claims a URL by its path, and decides what the parameters mean in handlePath.

Parameters

ParameterType
_urlPathstring

Returns

boolean

"true" if path is acceptable, "false" otherwise.


afterPersist()

protected afterPersist(): void

Defined in: js-api/src/views/view.ts:99

Gets called automatically when this view gets pinned

Returns

void


append()

append(item): HTMLElement

Defined in: js-api/src/views/view.ts:206

Appends an item to this view. Use appendAll for appending multiple elements.

Parameters

ParameterTypeDescription
itemany-

Returns

HTMLElement


appendAll()

appendAll(items): HTMLElement

Defined in: js-api/src/views/view.ts:213

Appends multiple elements this view. Use append for appending a single element.

Parameters

ParameterTypeDescription
itemsHTMLElement[]-

Returns

HTMLElement


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


close()

close(): void

Defined in: js-api/src/views/view.ts:223

Closes this view.

Returns

void


detach()

detach(): void

Defined in: js-api/src/views/view.ts:218

Detaches this view.

Returns

void

Overrides

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/views/view.ts:183

Functions applicable to this view. Override in subclasses to return the view's registered package functions — each typically takes the generic view argument and reaches this instance through view.jsView. The Dart JsViewHost forwards its own getFunctions() here, so callers holding grok.shell.v see these functions.

Returns

Func[]

Overrides

Widget.getFunctions


getIcon()

getIcon(): HTMLElement | null

Defined in: js-api/src/views/view.ts:165

Returns

HTMLElement | null

View icon. Override in subclasses.


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


getRibbonPanels()

getRibbonPanels(): HTMLElement[][]

Defined in: js-api/src/views/view.ts:160

Returns

HTMLElement[][]


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


handlePath()

handlePath(_urlPath): void

Defined in: js-api/src/views/view.ts:194

Handles URL path. Override in subclasses.

[_urlPath] is the path WITHOUT the query string (see acceptsPath); the router has already updated the address bar, so read the parameters from window.location.search.

A handler may route elsewhere — set grok.shell.v to another view and the router leaves it alone (it only falls back to this view when the handler changed nothing).

Parameters

ParameterType
_urlPathstring

Returns

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


loadStateMap()

loadStateMap(_stateMap): void

Defined in: js-api/src/views/view.ts:173

Loads view state map. Override in subclasses.

Parameters

ParameterType
_stateMapobject

Returns

void


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


registerFunction()

protected registerFunction(f): void

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

Parameters

ParameterType
fFuncLike

Returns

void

Inherited from

Widget.registerFunction


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


saveStateMap()

saveStateMap(): object | null

Defined in: js-api/src/views/view.ts:170

Returns

object | null

Viewer state map. Override in subclasses.


setIcon()

setIcon(icon): void

Defined in: js-api/src/views/view.ts:167

Parameters

ParameterType
iconHTMLElement

Returns

void


setRibbonPanels()

setRibbonPanels(panels, clear?): void

Defined in: js-api/src/views/view.ts:156

Sets custom view panels on the ribbon.

Parameters

ParameterTypeDefault valueDescription
panelsHTMLElement[][]undefined-
clearbooleantrueClear all previous before setup Sample: https://public.datagrok.ai/js/samples/ui/views/ribbon

Returns

void


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