Skip to main content

ObjectPropertyBag

Defined in: src/widgets/base.ts:76

A dynamic property bag that provides convenient access to an object's properties.

This class uses a JavaScript Proxy to allow accessing properties directly by name:

viewer.props.showAxes = true; // Instead of: viewer.setOptions({showAxes: true})
console.log(viewer.props.color);

The Proxy intercepts property access and routes it through the underlying property system, which handles type conversion and validation.

Note: Due to the dynamic Proxy nature, TypeScript cannot provide compile-time type checking for property access. Use getProperties() to discover available properties at runtime.

Example

// Access viewer properties
const scatter = view.scatterPlot();
scatter.props.xColumnName = 'age';
scatter.props.yColumnName = 'weight';

// Enumerate available properties
for (const prop of scatter.props.getProperties()) {
console.log(prop.name, prop.propertyType);
}

Constructors

Constructor

new ObjectPropertyBag(source, x?): ObjectPropertyBag

Defined in: src/widgets/base.ts:80

Parameters

ParameterTypeDefault value
sourceanyundefined
xanynull

Returns

ObjectPropertyBag

Properties

PropertyTypeDescriptionDefined in
sourceanyThe source object whose properties are being wrappedsrc/widgets/base.ts:78

Methods

get()

get(propertyName): object

Defined in: src/widgets/base.ts:129

Gets the value of the specified property

Parameters

ParameterTypeDescription
propertyNamestring-

Returns

object


getProperties()

getProperties(): Property[]

Defined in: src/widgets/base.ts:149

Returns

Property[]


getProperty()

getProperty(name): Property

Defined in: src/widgets/base.ts:156

Gets property by name (case-sensitive).

Parameters

ParameterTypeDescription
namestring-

Returns

Property


hasProperty()

hasProperty(name): boolean

Defined in: src/widgets/base.ts:166

Parameters

ParameterTypeDescription
namestring-

Returns

boolean


resetDefault()

resetDefault(): void

Defined in: src/widgets/base.ts:187

Clears the previously remembered default settings for viewers of this type. See also: [setDefault]

Returns

void


set()

set(propertyName, propertyValue): void

Defined in: src/widgets/base.ts:138

Sets the value of the specified property

Parameters

ParameterTypeDescription
propertyNamestring-
propertyValueobject-

Returns

void


setAll()

setAll(params): void

Defined in: src/widgets/base.ts:143

Sets all properties according to the passed object containing key-value pairs

Parameters

ParameterType
paramsobject

Returns

void


setDefault()

setDefault(data?, style?): void

Defined in: src/widgets/base.ts:175

Sets the current state of viewer properties as the default configuration used to create new viewer instances of this type. Equivalent to the "Pick Up / Apply | Set as Default" context menu command. Read more about viewer commands: https://datagrok.ai/help/visualize/viewers/#common-actions

Parameters

ParameterTypeDefault valueDescription
databooleanfalseindicates if data settings should be copied.
stylebooleantrueindicates if style (non-data) settings should be copied.

Returns

void


setDefaultProperty()

static setDefaultProperty(viewerType, propertyName, propertyValue): void

Defined in: src/widgets/base.ts:182

Parameters

ParameterType
viewerTypestring
propertyNamestring
propertyValueany

Returns

void