Skip to main content

ObjectPropertyBag

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

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:87

Parameters​

ParameterTypeDefault value
sourceanyundefined
xanynull

Returns​

ObjectPropertyBag

Properties​

PropertyTypeDescriptionDefined in
_targetanyThe object the properties read and write: the look for core viewers, else the sourcejs-api/src/widgets/base.ts:85
sourceanyThe source object whose properties are being wrappedjs-api/src/widgets/base.ts:83

Methods​

get()​

get(propertyName): object

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

Gets the value of the specified property

Parameters​

ParameterType
propertyNamestring

Returns​

object


getProperties()​

getProperties(): Property[]

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

Properties of the source object.

Returns​

Property[]


getProperty()​

getProperty(name): Property

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

Gets property by name (case-sensitive).

Parameters​

ParameterType
namestring

Returns​

Property


hasProperty()​

hasProperty(name): boolean

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

Whether the source object has a property with this name (case-sensitive).

Parameters​

ParameterType
namestring

Returns​

boolean


resetDefault()​

resetDefault(): void

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

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:140

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:145

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

Sets the default value of one property for viewers of the specified type created from now on; the value must be JSON-serializable.

Parameters​

ParameterType
viewerTypestring
propertyNamestring
propertyValueunknown

Returns​

void