@convergence/convergence
Version:
Convergence JavaScript Client
824 lines • 52.2 kB
HTML
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>ModelReference | Convergence JavaScript Client API Documentation</title>
<meta name="description" content="Documentation for Convergence JavaScript Client API Documentation">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
<link rel="icon" type="image/png" href="https://convergence.io/assets/img/favicon/favicon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="https://convergence.io/assets/img/favicon/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/ico" href="https://convergence.io/assets/img/favicon/favicon.ico" sizes="48x48">
<link rel="icon" type="image/png" href="https://convergence.io/assets/img/favicon/favicon-96x96.png" sizes="96x96">
<!-- Start of convergencelabs Zendesk Widget script -->
<script id="ze-snippet" src="https://static.zdassets.com/ekr/snippet.js?key=3ee5157d-2fc2-4b08-b6c7-d5fad0533179"> </script>
<!-- End of convergencelabs Zendesk Widget script -->
</head>
<body>
<header>
<div class="tsd-page-toolbar convergence-header">
<div class="container">
<div class="flex-content">
<a href="../index.html" class="header-brand">
<img src=../assets/images/convergence-logo.png />
<span class="brand-title brand-copy">Convergence JavaScript Client API Documentation</span>
<span class="version">1.0.0-rc.12</span>
</a>
<div class="links brand-copy">
<div class="link">
<a href="https://docs.convergence.io/guide/">Dev Guide</a>
</div>
<div class="link">
<a href="https://examples.convergence.io">Examples</a>
</div>
<div class="link">
<a href="https://convergence.io/support/">Support</a>
</div>
</div>
</div>
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../globals.html">Index</a>
</li>
<li>
<a href="../modules/real_time_data.html">Real Time Data</a>
</li>
<li>
<a href="real_time_data.modelreference.html">ModelReference</a>
</li>
</ul>
<h1>Class ModelReference<V></h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The base class for all <a href="https://docs.convergence.io/guide/models/references/references.html">references</a>,
which are essentially pointers to elements and data within a <a href="real_time_data.realtimemodel.html">RealTimeModel</a>.
They are typically used to implement transient UX constructs such as text selections
and cursors.</p>
</div>
<p>See <a href="../interfaces/real_time_data.modelreferenceevents.html">ModelReferenceEvents</a> for all of the events that could be emitted from
instances of this class.</p>
</div>
</section>
<section class="tsd-panel tsd-type-parameters">
<h3>Type parameters</h3>
<ul class="tsd-type-parameters">
<li>
<h4>V = <span class="tsd-signature-type">any</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span>
<ul class="tsd-hierarchy">
<li>
<span class="target">ModelReference</span>
<ul class="tsd-hierarchy">
<li>
<a href="real_time_data.indexreference.html" class="tsd-signature-type">IndexReference</a>
</li>
<li>
<a href="real_time_data.rangereference.html" class="tsd-signature-type">RangeReference</a>
</li>
<li>
<a href="real_time_data.propertyreference.html" class="tsd-signature-type">PropertyReference</a>
</li>
<li>
<a href="real_time_data.elementreference.html" class="tsd-signature-type">ElementReference</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.modelreference.html#addlistener" class="tsd-kind-icon">add<wbr>Listener</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.modelreference.html#events" class="tsd-kind-icon">events</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="real_time_data.modelreference.html#isdisposed" class="tsd-kind-icon">is<wbr>Disposed</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="real_time_data.modelreference.html#islocal" class="tsd-kind-icon">is<wbr>Local</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="real_time_data.modelreference.html#isset" class="tsd-kind-icon">is<wbr>Set</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="real_time_data.modelreference.html#key" class="tsd-kind-icon">key</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.modelreference.html#off" class="tsd-kind-icon">off</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.modelreference.html#on" class="tsd-kind-icon">on</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.modelreference.html#once" class="tsd-kind-icon">once</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.modelreference.html#removealllisteners" class="tsd-kind-icon">remove<wbr>All<wbr>Listeners</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.modelreference.html#removelistener" class="tsd-kind-icon">remove<wbr>Listener</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.modelreference.html#removelisteners" class="tsd-kind-icon">remove<wbr>Listeners</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="real_time_data.modelreference.html#sessionid" class="tsd-kind-icon">session<wbr>Id</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="real_time_data.modelreference.html#source" class="tsd-kind-icon">source</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="real_time_data.modelreference.html#type" class="tsd-kind-icon">type</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="real_time_data.modelreference.html#user" class="tsd-kind-icon">user</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="real_time_data.modelreference.html#value" class="tsd-kind-icon">value</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="real_time_data.modelreference.html#values" class="tsd-kind-icon">values</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Object literals</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-object-literal tsd-parent-kind-class tsd-is-static"><a href="real_time_data.modelreference.html#events-1" class="tsd-kind-icon">Events</a></li>
<li class="tsd-kind-object-literal tsd-parent-kind-class tsd-is-static"><a href="real_time_data.modelreference.html#types" class="tsd-kind-icon">Types</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a name="addlistener" class="tsd-anchor"></a>
<h3>add<wbr>Listener</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<li class="tsd-signature tsd-kind-icon">add<wbr>Listener<span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, listener<span class="tsd-signature-symbol">: </span><a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Inherited from <a href="convergenceeventemitter.html">ConvergenceEventEmitter</a>.<a href="convergenceeventemitter.html#addlistener">addListener</a></p>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Adds a new event listener for the specified event. The class will ignore
duplicate registrations of the same listener to the same event.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>event: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p> The name of the event to add the listener for.</p>
</div>
</li>
<li>
<h5>listener: <a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></h5>
<div class="tsd-comment tsd-typography">
<p> The listener callback to register.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></h4>
<p> This object, in support of a fluent API.</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a name="events" class="tsd-anchor"></a>
<h3>events</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<li class="tsd-signature tsd-kind-icon">events<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Observable</span><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Inherited from <a href="convergenceeventemitter.html">ConvergenceEventEmitter</a>.<a href="convergenceeventemitter.html#events">events</a></p>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Provides the events emitted by this object as an Observable stream.</p>
</div>
<dl class="tsd-comment-tags">
<dt>example</dt>
<dd><pre><code class="language-typescript">
eventEmitter.events()
.filter(<span class="hljs-function"><span class="hljs-params">e</span> =></span> e.name === <span class="hljs-string">"myevent"</span>)
.subscribe(<span class="hljs-function"><span class="hljs-params">e</span> =></span> <span class="hljs-built_in">console</span>.log(e));
</code></pre>
</dd>
</dl>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Observable</span><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></h4>
<p> An Observable stream of all events emitted by this object.</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="isdisposed" class="tsd-anchor"></a>
<h3>is<wbr>Disposed</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">is<wbr>Disposed<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns true if this reference has already been disposed (cleaned up).</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="islocal" class="tsd-anchor"></a>
<h3>is<wbr>Local</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">is<wbr>Local<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns true if this reference was created locally.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="isset" class="tsd-anchor"></a>
<h3>is<wbr>Set</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">is<wbr>Set<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns true if a value is currenly set on the reference.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="key" class="tsd-anchor"></a>
<h3>key</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">key<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns the unique key corresponding to this reference.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a name="off" class="tsd-anchor"></a>
<h3>off</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<li class="tsd-signature tsd-kind-icon">off<span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, listener<span class="tsd-signature-symbol">: </span><a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Inherited from <a href="convergenceeventemitter.html">ConvergenceEventEmitter</a>.<a href="convergenceeventemitter.html#off">off</a></p>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Removes a single event listener for a specific event.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>event: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p> The name of the event to remove the listener for.</p>
</div>
</li>
<li>
<h5>listener: <a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></h5>
<div class="tsd-comment tsd-typography">
<p> The listener callback to unregister.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></h4>
<p> This object, in support of a fluent API.</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a name="on" class="tsd-anchor"></a>
<h3>on</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<li class="tsd-signature tsd-kind-icon">on<span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, listener<span class="tsd-signature-symbol">: </span><a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Inherited from <a href="convergenceeventemitter.html">ConvergenceEventEmitter</a>.<a href="convergenceeventemitter.html#on">on</a></p>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Adds a new event listener for the specified event. The class will ignore
duplicate registrations of the same listener to the same event.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>event: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p> The name of the event to add the listener for.</p>
</div>
</li>
<li>
<h5>listener: <a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></h5>
<div class="tsd-comment tsd-typography">
<p> The listener callback to register.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></h4>
<p> This object, in support of a fluent API.</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a name="once" class="tsd-anchor"></a>
<h3>once</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<li class="tsd-signature tsd-kind-icon">once<span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, listener<span class="tsd-signature-symbol">: </span><a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Inherited from <a href="convergenceeventemitter.html">ConvergenceEventEmitter</a>.<a href="convergenceeventemitter.html#once">once</a></p>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>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.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>event: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p> The name of the event to add the listener for.</p>
</div>
</li>
<li>
<h5>listener: <a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></h5>
<div class="tsd-comment tsd-typography">
<p> The listener callback to register.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></h4>
<p> This object, in support of a fluent API.</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a name="removealllisteners" class="tsd-anchor"></a>
<h3>remove<wbr>All<wbr>Listeners</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<li class="tsd-signature tsd-kind-icon">remove<wbr>All<wbr>Listeners<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Inherited from <a href="convergenceeventemitter.html">ConvergenceEventEmitter</a>.<a href="convergenceeventemitter.html#removealllisteners">removeAllListeners</a></p>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Removes all listeners for all events. This is useful for cleanup before
disposing of this particular event emitter.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></h4>
<p> This object, in support of a fluent API.</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a name="removelistener" class="tsd-anchor"></a>
<h3>remove<wbr>Listener</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<li class="tsd-signature tsd-kind-icon">remove<wbr>Listener<span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, listener<span class="tsd-signature-symbol">: </span><a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Inherited from <a href="convergenceeventemitter.html">ConvergenceEventEmitter</a>.<a href="convergenceeventemitter.html#removelistener">removeListener</a></p>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Removes a single event listener for a specific event.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>event: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p> The name of the event to remove the listener for.</p>
</div>
</li>
<li>
<h5>listener: <a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></h5>
<div class="tsd-comment tsd-typography">
<p> The listener callback to unregister.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></h4>
<p> This object, in support of a fluent API.</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a name="removelisteners" class="tsd-anchor"></a>
<h3>remove<wbr>Listeners</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<li class="tsd-signature tsd-kind-icon">remove<wbr>Listeners<span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<p>Inherited from <a href="convergenceeventemitter.html">ConvergenceEventEmitter</a>.<a href="convergenceeventemitter.html#removelisteners">removeListeners</a></p>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Removes all listeners bound on the given event.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>event: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p>the name of the event to remove listeners for</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol"><</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">></span></h4>
<p> This object, in support of a fluent API.</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="sessionid" class="tsd-anchor"></a>
<h3>session<wbr>Id</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">session<wbr>Id<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns the session ID of the user session that created this reference.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="source" class="tsd-anchor"></a>
<h3>source</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">source<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="real_time_data.realtimeelement.html" class="tsd-signature-type">RealTimeElement</a><span class="tsd-signature-symbol"> | </span><a href="real_time_data.realtimemodel.html" class="tsd-signature-type">RealTimeModel</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns the element or model on which this reference was created.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <a href="real_time_data.realtimeelement.html" class="tsd-signature-type">RealTimeElement</a><span class="tsd-signature-symbol"> | </span><a href="real_time_data.realtimemodel.html" class="tsd-signature-type">RealTimeModel</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="type" class="tsd-anchor"></a>
<h3>type</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">type<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../modules/real_time_data.html#referencetype" class="tsd-signature-type">ReferenceType</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns a string indicating the type of reference this is.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <a href="../modules/real_time_data.html#referencetype" class="tsd-signature-type">ReferenceType</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="user" class="tsd-anchor"></a>
<h3>user</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">user<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="users_and_identity.domainuser.html" class="tsd-signature-type">DomainUser</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns the user that created this reference.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <a href="users_and_identity.domainuser.html" class="tsd-signature-type">DomainUser</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="value" class="tsd-anchor"></a>
<h3>value</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">value<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">V</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns the first value of the underlying reference.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">V</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="values" class="tsd-anchor"></a>
<h3>values</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">values<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">V</span><span class="tsd-signature-symbol">[]</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns all values of the underlying reference.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">V</span><span class="tsd-signature-symbol">[]</span></h4>
</li>
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Object literals</h2>
<section class="tsd-panel tsd-member tsd-kind-object-literal tsd-parent-kind-class tsd-is-static">
<a name="events-1" class="tsd-anchor"></a>
<h3>Events</h3>
<div class="tsd-signature tsd-kind-icon">Events<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
<aside class="tsd-sources">
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>A mapping of the events this instance could emit to each event's unique name.
Use this to refer an event name:</p>
</div>
<pre><code class="language-typescript">reference.on(ModelReference.Events.SET, <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">listener</span>(<span class="hljs-params">e</span>) </span>{
<span class="hljs-comment">// ...</span>
})
</code></pre>
</div>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal">
<a name="events-1.cleared" class="tsd-anchor"></a>
<h3>CLEARED</h3>
<div class="tsd-signature tsd-kind-icon">CLEARED<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = ReferenceClearedEvent.NAME</span></div>
<aside class="tsd-sources">
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal">
<a name="events-1.disposed" class="tsd-anchor"></a>
<h3>DISPOSED</h3>
<div class="tsd-signature tsd-kind-icon">DISPOSED<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = ReferenceDisposedEvent.NAME</span></div>
<aside class="tsd-sources">
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal">
<a name="events-1.set" class="tsd-anchor"></a>
<h3>SET</h3>
<div class="tsd-signature tsd-kind-icon">SET<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = ReferenceSetEvent.NAME</span></div>
<aside class="tsd-sources">
</aside>
</section>
</section>
<section class="tsd-panel tsd-member tsd-kind-object-literal tsd-parent-kind-class tsd-is-static">
<a name="types" class="tsd-anchor"></a>
<h3>Types</h3>
<div class="tsd-signature tsd-kind-icon">Types<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
<aside class="tsd-sources">
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>All the types of references available on the various <a href="real_time_data.realtimeelement.html">RealTimeElement</a>s.</p>
</div>
</div>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal">
<a name="types.element" class="tsd-anchor"></a>
<h3>ELEMENT</h3>
<div class="tsd-signature tsd-kind-icon">ELEMENT<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"element"</span><span class="tsd-signature-symbol"> = "element"</span></div>
<aside class="tsd-sources">
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal">
<a name="types.index" class="tsd-anchor"></a>
<h3>INDEX</h3>
<div class="tsd-signature tsd-kind-icon">INDEX<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"index"</span><span class="tsd-signature-symbol"> = "index"</span></div>
<aside class="tsd-sources">
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal">
<a name="types.property" class="tsd-anchor"></a>
<h3>PROPERTY</h3>
<div class="tsd-signature tsd-kind-icon">PROPERTY<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"property"</span><span class="tsd-signature-symbol"> = "property"</span></div>
<aside class="tsd-sources">
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-object-literal">
<a name="types.range" class="tsd-anchor"></a>
<h3>RANGE</h3>
<div class="tsd-signature tsd-kind-icon">RANGE<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"range"</span><span class="tsd-signature-symbol"> = "range"</span></div>
<aside class="tsd-sources">
</aside>
</section>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../globals.html"><em>Index</em></a>
</li>
<li class="modules-label">Modules</li>
<li class=" tsd-kind-module">
<span class="tsd-kind-icon"><a href="../modules/activities.html">Activities</a></span>
</li>
<li class=" tsd-kind-module">
<span class="tsd-kind-icon"><a href="../modules/chat.html">Chat</a></span>
</li>
<li class=" tsd-kind-module">
<span class="tsd-kind-icon"><a href="../modules/connection_and_authentication.html">Connection and <wbr>Authentication</a></span>
</li>
<li class=" tsd-kind-module">
<span class="tsd-kind-icon"><a href="../modules/offline.html">Offline</a></span>
</li>
<li class=" tsd-kind-module">
<span class="tsd-kind-icon"><a href="../modules/presence.html">Presence</a></span>
</li>
<li class="current tsd-kind-module">
<span class="tsd-kind-icon"><a href="../modules/real_time_data.html">Real <wbr>Time <wbr>Data</a></span>
</li>
<li class=" tsd-kind-module">
<span class="tsd-kind-icon"><a href="../modules/users_and_identity.html">Users and <wbr>Identity</a></span>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
</ul>
<ul class="current">
<li class="current tsd-kind-class tsd-parent-kind-module tsd-has-type-parameter">
<a href="real_time_data.modelreference.html" class="tsd-kind-icon">Model<wbr>Reference</a>
<ul>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a href="real_time_data.modelreference.html#addlistener" class="tsd-kind-icon">add<wbr>Listener</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a href="real_time_data.modelreference.html#events" class="tsd-kind-icon">events</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="real_time_data.modelreference.html#isdisposed" class="tsd-kind-icon">is<wbr>Disposed</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="real_time_data.modelreference.html#islocal" class="tsd-kind-icon">is<wbr>Local</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="real_time_data.modelreference.html#isset" class="tsd-kind-icon">is<wbr>Set</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="real_time_data.modelreference.html#key" class="tsd-kind-icon">key</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a href="real_time_data.modelreference.html#off" class="tsd-kind-icon">off</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a href="real_time_data.modelreference.html#on" class="tsd-kind-icon">on</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a href="real_time_data.modelreference.html#once" class="tsd-kind-icon">once</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a href="real_time_data.modelreference.html#removealllisteners" class="tsd-kind-icon">remove<wbr>All<wbr>Listeners</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a href="real_time_data.modelreference.html#removelistener" class="tsd-kind-icon">remove<wbr>Listener</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
<a href="real_time_data.modelreference.html#removelisteners" class="tsd-kind-icon">remove<wbr>Listeners</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="real_time_data.modelreference.html#sessionid" class="tsd-kind-icon">session<wbr>Id</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="real_time_data.modelreference.html#source" class="tsd-kind-icon">source</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="real_time_data.modelreference.html#type" class="tsd-kind-icon">type</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="real_time_data.modelreference.html#user" class="tsd-kind-icon">user</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="real_time_data.modelreference.html#value" class="tsd-kind-icon">value</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="real_time_data.modelreference.html#values" class="tsd-kind-icon">values</a>
</li>
<li class=" tsd-kind-object-literal tsd-parent-kind-class tsd-is-static">
<a href="real_time_data.modelreference.html#events-1" class="tsd-kind-icon">Events</a>
</li>
<li class=" tsd-kind-object-literal tsd-parent-kind-class tsd-is-static">
<a href="real_time_data.modelreference.html#types" class="tsd-kind-icon">Types</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
</ul>
</nav>
</div>
</div>
</div>
<footer>
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-pare