3.2 KiB
DataRecord
The DataRecord class represents a single record within a data source.
It extends the base Model class and provides additional methods and properties specific to data records.
Each DataRecord is associated with a DataSource and can trigger events when its properties change.
DataRecord API
Example of Usage
const record = new DataRecord({ id: 'record1', name: 'value1' }, { collection: dataRecords });
const path = record.getPath(); // e.g., 'SOURCE_ID.record1'
record.set('name', 'newValue');
Parameters
propsDataRecordProps Properties to initialize the data record.optsObject Options for initializing the data record.
getPath
Get the path of the record. The path is a string that represents the location of the record within the data source. Optionally, include a property name to create a more specific path.
Parameters
-
propString? Optional property name to include in the path. -
optsObject? Options for path generation.opts.useIndexBoolean? Whether to use the index of the record in the path.
Examples
const pathRecord = record.getPath();
// e.g., 'SOURCE_ID.record1'
const pathRecord2 = record.getPath('myProp');
// e.g., 'SOURCE_ID.record1.myProp'
Returns String The path of the record.
getPaths
Get both ID-based and index-based paths of the record. Returns an array containing the paths using both ID and index.
Parameters
propString? Optional property name to include in the paths.
Examples
const paths = record.getPaths();
// e.g., ['SOURCE_ID.record1', 'SOURCE_ID.0']
Returns Array<String> An array of paths.
triggerChange
Trigger a change event for the record. Optionally, include a property name to trigger a change event for a specific property.
Parameters
propString? Optional property name to trigger a change event for a specific property.
set
Set a property on the record, optionally using transformers. If transformers are defined for the record, they will be applied to the value before setting it.
Parameters
-
attributeName(String | Object) The name of the attribute to set, or an object of key-value pairs. -
valueany? The value to set for the attribute. -
optionsObject? Options to apply when setting the attribute.options.avoidTransformersBoolean? If true, transformers will not be applied.
Examples
record.set('name', 'newValue');
// Sets 'name' property to 'newValue'
Returns DataRecord The instance of the DataRecord.