A mapping of the events this array could emit to each event's unique name. Use this to refer an event name, e.g.
rtNum.on(RealTimeNumber.Events.DELTA, function listener(e) {
// ...
})
Adds the given number to this object's underlying number.
rtNumber.value() // 13
rtNumber.add(4)
rtNumber.value() // 17
On a successful add
, a NumberDeltaEvent will be emitted for any remote users.
the addend to be added
Adds a new event listener for the specified event. The class will ignore duplicate registrations of the same listener to the same event.
The name of the event to add the listener for.
The listener callback to register.
This object, in support of a fluent API.
Decrements the underlying number by 1. Equivalent to subtract(1)
rtNumber.value() // 13
rtNumber.decrement()
rtNumber.value() // 12
On a successful decrement
, a NumberDeltaEvent will be emitted for any remote users.
Provides the events emitted by this object as an Observable stream.
An Observable stream of all events emitted by this object.
Each node within a RealTimeModel has a system-generated ID that is unique within this model's contents.
a unique (to the model) ID for this element
Increments the underlying number by 1. Equivalent to add(1)
rtNumber.value() // 13
rtNumber.increment()
rtNumber.value() // 14
On a successful increment
, a NumberDeltaEvent will be emitted for any remote users.
True if the element is currently set up to synchronize with the server.
True if the element is no longer synchronizing with the server. See the developer guide for more information.
Returns the model to which this element belongs.
Removes a single event listener for a specific event.
The name of the event to remove the listener for.
The listener callback to unregister.
This object, in support of a fluent API.
Adds a new event listener for the specified event. The class will ignore duplicate registrations of the same listener to the same event.
The name of the event to add the listener for.
The listener callback to register.
This object, in support of a fluent API.
Adds a single shot event listener for the specified event. The listener will be called the first time the specified event is fired after the event registration occurs, after which the registration will be removed and no further events will be passed to the listener.
The name of the event to add the listener for.
The listener callback to register.
This object, in support of a fluent API.
Returns the parent of this element within the model.
the parent of this element, or this
if this is the root element
The Path representing this element's location in the containing model's data. For instance, with model data
{
user: {
age: 32
}
}
The RealTimeNumber representing 32
would have path ['user', 'age']
.
Returns the remote ModelReference created by the given sessionId
with
the unique name key
, or undefined
if no such reference exists.
See Remote References in the developer guide.
The session ID that created the reference
the reference's unique key
Returns any remote references that match the given filter. You can provide
a single key
which could return references from multiple users, sessionId
which would return all of a particular user session's references, or both,
which is really just the same as using the reference method.
an object containing either a sessionId
, key
, or both
An array of remote ModelReferences, or an empty array if there were no matches.
This returns the PathElement representing this element's location relevant to its parent. For example, given a model with contents
{
obj: {
with: 1,
stuff: ['a', 'string']
}
}
let rtNumber = rtModel.elementAt(['obj', 'with']);
rtNumber.value() // 1
rtNumber.relativePath() // 'with'
let rtString = rtModel.elementAt(['obj', 'stuff', 0]);
rtString.value() // 'a'
rtString.relativePath() // 0
a PathElement representing this node's location relative to its parent, or null if it has no parent.
Removes all listeners for all events. This is useful for cleanup before disposing of this particular event emitter.
This object, in support of a fluent API.
A convenience function to delete this element. Throws an error if this is the root object in a model.
Removes a single event listener for a specific event.
The name of the event to remove the listener for.
The listener callback to unregister.
This object, in support of a fluent API.
Removes all listeners bound on the given event.
the name of the event to remove listeners for
This object, in support of a fluent API.
Subtracts the given number from this object's underlying number.
rtNumber.value() // 13
rtNumber.subtract(4)
rtNumber.value() // 9
On a successful subtract
, a NumberDeltaEvent will be emitted for any remote users.
the subtrahend to be subtracted
Returns a JSON-compatible representation of this element.
This element's type. See [[ModelElementType]] for an enumeration of types.
Returns the current underlying value of this element. Note that the return value will not be kept up to date automatically; rather, this function will need to be called each time the most up-to-date value is required.
Sets the value of this element, whose type must be the underlying type of this object.
On a successful value
call, the appropriate IValueChangedEvent will be emitted
to any remote users. This will be one of:
the new value for this object.
This is a distributed number that wraps a native javascript
number
. It provides a few convenience functions for doing arithmetic and incrementing/decrementing.See RealTimeNumberEvents for the events that can be emitted on remote changes to this object.
See the developer guide for the most common use cases.