Skip to main content

ObjectPropertyBag

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

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: js-api/src/widgets/base.ts:84

Parameters​

ParameterTypeDefault value
sourceanyundefined
xanynull

Returns​

ObjectPropertyBag

Properties​

PropertyTypeDescriptionDefined in
sourceanyThe source object whose properties are being wrappedjs-api/src/widgets/base.ts:82

Methods​

get()​

get(propertyName): object

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

Gets the value of the specified property

Parameters​

ParameterType
propertyNamestring

Returns​

object


getProperties()​

getProperties(): Property[]

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

Returns​

Property[]


getProperty()​

getProperty(name): Property

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

Gets property by name (case-sensitive).

Parameters​

ParameterType
namestring

Returns​

Property


hasProperty()​

hasProperty(name): boolean

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

Parameters​

ParameterType
namestring

Returns​

boolean


resetDefault()​

resetDefault(): void

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

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

Returns​

void


set()​

set(propertyName, propertyValue): void

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

Sets the value of the specified property

Parameters​

ParameterType
propertyNamestring
propertyValueobject

Returns​

void


setAll()​

setAll(params): void

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

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

Parameters​

ParameterType
paramsobject

Returns​

void


setDefault()​

setDefault(data?, style?): void

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

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: js-api/src/widgets/base.ts:176

Parameters​

ParameterType
viewerTypestring
propertyNamestring
propertyValueany

Returns​

void