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
| Parameter | Type | Default value |
|---|---|---|
source | any | undefined |
x | any | null |
Returns
ObjectPropertyBag
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
_target | any | The object the properties read and write: the look for core viewers, else the source | js-api/src/widgets/base.ts:85 |
source | any | The source object whose properties are being wrapped | js-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
| Parameter | Type |
|---|---|
propertyName | string |
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
| Parameter | Type |
|---|---|
name | string |
Returns
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
| Parameter | Type |
|---|---|
name | string |
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
| Parameter | Type |
|---|---|
propertyName | string |
propertyValue | object |
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
| Parameter | Type |
|---|---|
params | object |
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
| Parameter | Type | Default value | Description |
|---|---|---|---|
data | boolean | false | indicates if data settings should be copied. |
style | boolean | true | indicates if style (non-data) settings should be copied. |
Returns
void
setDefaultProperty()
staticsetDefaultProperty(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
| Parameter | Type |
|---|---|
viewerType | string |
propertyName | string |
propertyValue | unknown |
Returns
void