@convergence/convergence
Version:
Convergence JavaScript Client
773 lines • 72.4 kB
HTML
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Activity | 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/activities.html">Activities</a>
</li>
<li>
<a href="activities.activity.html">Activity</a>
</li>
</ul>
<h1>Class Activity</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 <a href="activities.activity.html">Activity</a> class represents a activity that the users of a
collaboration are participating in together. The activity allows
developer to indicate what user are doing within a collaborative
application. The activity has a set of participants that indicate
which users are part of that activity. Each <a href="activities.activityparticipant.html">ActivityParticipant</a>
can share state which indicates what they are doing within the
<a href="activities.activity.html">Activity</a>.</p>
</div>
</div>
</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">></span>
<ul class="tsd-hierarchy">
<li>
<span class="target">Activity</span>
</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="activities.activity.html#addlistener" class="tsd-kind-icon">add<wbr>Listener</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="activities.activity.html#clearstate" class="tsd-kind-icon">clear<wbr>State</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="activities.activity.html#createdtime" class="tsd-kind-icon">created<wbr>Time</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="activities.activity.html#events" class="tsd-kind-icon">events</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="activities.activity.html#id" class="tsd-kind-icon">id</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="activities.activity.html#isephemeral" class="tsd-kind-icon">is<wbr>Ephemeral</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="activities.activity.html#isjoined" class="tsd-kind-icon">is<wbr>Joined</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="activities.activity.html#leave" class="tsd-kind-icon">leave</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="activities.activity.html#off" class="tsd-kind-icon">off</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="activities.activity.html#on" class="tsd-kind-icon">on</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="activities.activity.html#once" class="tsd-kind-icon">once</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="activities.activity.html#participant" class="tsd-kind-icon">participant</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="activities.activity.html#participants" class="tsd-kind-icon">participants</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="activities.activity.html#participantsasobservable" class="tsd-kind-icon">participants<wbr>AsObservable</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="activities.activity.html#permissions" class="tsd-kind-icon">permissions</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="activities.activity.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="activities.activity.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="activities.activity.html#removelisteners" class="tsd-kind-icon">remove<wbr>Listeners</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="activities.activity.html#removestate" class="tsd-kind-icon">remove<wbr>State</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="activities.activity.html#session" class="tsd-kind-icon">session</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="activities.activity.html#setstate" class="tsd-kind-icon">set<wbr>State</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="activities.activity.html#state" class="tsd-kind-icon">state</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="activities.activity.html#type" class="tsd-kind-icon">type</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="activities.activity.html#events-1" class="tsd-kind-icon">Events</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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="clearstate" class="tsd-anchor"></a>
<h3>clear<wbr>State</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">clear<wbr>State<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</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>Clears all local state from this <a href="activities.activity.html">Activity</a>. This will fire a single
"state_cleared" event for other joined participants to listen for.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="createdtime" class="tsd-anchor"></a>
<h3>created<wbr>Time</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">created<wbr>Time<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Date</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>Gets the time this <a href="activities.activity.html">Activity</a> was created.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Date</span></h4>
<p> The <a href="activities.activity.html">Activity</a> created time.</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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="id" class="tsd-anchor"></a>
<h3>id</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">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>Gets the id of this <a href="activities.activity.html">Activity</a>, which is unique within
its user defined type.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
<p> The <a href="activities.activity.html">Activity</a> id.</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="isephemeral" class="tsd-anchor"></a>
<h3>is<wbr>Ephemeral</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">is<wbr>Ephemeral<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>Determines if this <a href="activities.activity.html">Activity</a> is ephemeral. If so,
it will be deleted when the last participant leaves.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
<p> True if the <a href="activities.activity.html">Activity</a> is ephemeral, false otherwise.</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="isjoined" class="tsd-anchor"></a>
<h3>is<wbr>Joined</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">is<wbr>Joined<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>Determines if the <a href="activities.activity.html">Activity</a> is still joined.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
<p> True if the <a href="activities.activity.html">Activity</a> is joined, false otherwise.</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="leave" class="tsd-anchor"></a>
<h3>leave</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">leave<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</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>Causes the local session to leave the <a href="activities.activity.html">Activity</a>. All other participants
of this activity will be notified that this session has left. The state
associated with this session will be removed from eh <a href="activities.activity.html">Activity</a>. After
calling leave, the <a href="activities.activity.html">Activity</a> object becomes non-functional. The local
user can rejoin the activity from the <a href="activities.activityservice.html">ActivityService</a> but will
receive a new <a href="activities.activity.html">Activity</a> object.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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="participant" class="tsd-anchor"></a>
<h3>participant</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">participant<span class="tsd-signature-symbol">(</span>sessionId<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="activities.activityparticipant.html" class="tsd-signature-type">ActivityParticipant</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>Gets an <a href="activities.activityparticipant.html">ActivityParticipant</a> by their sessionId.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>sessionId: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p> The sessionId of the participant to get.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="activities.activityparticipant.html" class="tsd-signature-type">ActivityParticipant</a></h4>
<p> The <a href="activities.activityparticipant.html">ActivityParticipant</a> corresponding to the supplied id, or
undefined if no such participant exists.</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="participants" class="tsd-anchor"></a>
<h3>participants</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">participants<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="activities.activityparticipant.html" class="tsd-signature-type">ActivityParticipant</a><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>Gets all participants presently joined to this <a href="activities.activity.html">Activity</a>.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <a href="activities.activityparticipant.html" class="tsd-signature-type">ActivityParticipant</a><span class="tsd-signature-symbol">[]</span></h4>
<p> An array of <a href="activities.activityparticipant.html">ActivityParticipant</a> objects, one for each joined
participant.</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="participantsasobservable" class="tsd-anchor"></a>
<h3>participants<wbr>AsObservable</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">participants<wbr>AsObservable<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="activities.activityparticipant.html" class="tsd-signature-type">ActivityParticipant</a><span class="tsd-signature-symbol">[]</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>Gets the participants as an Observable stream.</p>
</div>
<pre><code class="language-typescript">activity
.participantsAsObservable()
.subscribe(<span class="hljs-function"><span class="hljs-params">p</span> =></span> <span class="hljs-built_in">console</span>.log(p));
</code></pre>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Observable</span><span class="tsd-signature-symbol"><</span><a href="activities.activityparticipant.html" class="tsd-signature-type">ActivityParticipant</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">></span></h4>
<p> An Observable array of participants.</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="permissions" class="tsd-anchor"></a>
<h3>permissions</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">permissions<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="activities.activitypermissionmanager.html" class="tsd-signature-type">ActivityPermissionManager</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
</aside>
<h4 class="tsd-returns-title">Returns <a href="activities.activitypermissionmanager.html" class="tsd-signature-type">ActivityPermissionManager</a></h4>
</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</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="removestate" class="tsd-anchor"></a>
<h3>remove<wbr>State</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">remove<wbr>State<span class="tsd-signature-symbol">(</span>key<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><span class="tsd-signature-type">void</span></li>
<li class="tsd-signature tsd-kind-icon">remove<wbr>State<span class="tsd-signature-symbol">(</span>keys<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><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</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>Removes a single local state entry from the <a href="activities.activity.html">Activity</a>. This will fire
a single "state_removed" event for other joined participants to listen
for.</p>
</div>
<pre><code class="language-typescript">activity.removeState(<span class="hljs-string">"pointer"</span>);
</code></pre>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>key: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p> The key of the local state to remove.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
<li class="tsd-description">
<aside class="tsd-sources">
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Removes one or more local state entries from the <a href="activities.activity.html">Activity</a>. This will
fire a multiple "state_removed" event for other joined participants to
listen for; one for each key removed.</p>
</div>
<pre><code class="language-typescript">activity.removeState([<span class="hljs-string">"pointer"</span>, <span class="hljs-string">"viewport"</span>]);
</code></pre>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>keys: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h5>
<div class="tsd-comment tsd-typography">
<p> The keys of the local state to remove.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="session" class="tsd-anchor"></a>
<h3>session</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">session<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="users_and_identity.convergencesession.html" class="tsd-signature-type">ConvergenceSession</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>Gets the session that this activity is a part of.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <a href="users_and_identity.convergencesession.html" class="tsd-signature-type">ConvergenceSession</a></h4>
<p> The session that this <a href="activities.activity.html">Activity</a> is a part of.</p>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="setstate" class="tsd-anchor"></a>
<h3>set<wbr>State</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">set<wbr>State<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
<li class="tsd-signature tsd-kind-icon">set<wbr>State<span class="tsd-signature-symbol">(</span>state<span class="tsd-signature-symbol">: </span><a href="../globals.html#stringmaplike" class="tsd-signature-type">StringMapLike</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</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>Sets a single key-value pair within this Activity's local state. This will
result in a single "state_set" event being emitted for other joined
participants to listen for.</p>
</div>
<pre><code class="language-typescript">activity.setState(<span class="hljs-string">"key1"</span>, <span class="hljs-string">"delta"</span>);
</code></pre>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>key: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p> The key of the delta to set.</p>
</div>
</li>
<li>
<h5>value: <span class="tsd-signature-type">any</span></h5>
<div class="tsd-comment tsd-typography">
<p> The delta to set for the supplied key.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
<li class="tsd-description">
<aside class="tsd-sources">
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Sets multiple key-value pairs within this Activity's local state. This
method does not replace all state; that is, keys not supplied in the map
will not be altered. This method will result in multiple "state_set"
events being fired for other joined participants to list for; one for
each key set.</p>
</div>
<pre><code class="language-typescript"><span class="hljs-keyword">const</span> state = {
<span class="hljs-attr">key1</span>: <span class="hljs-string">"v1"</span>,
<span class="hljs-attr">key2</span>: <span class="hljs-literal">false</span>
};
activity.setState(state);
</code></pre>
<p>or</p>
<pre><code class="language-typescript"><span class="hljs-keyword">const</span> state = <span class="hljs-keyword">new</span> <span class="hljs-built_in">Map</span>();
state.set(<span class="hljs-string">"key1"</span>, <span class="hljs-string">"v1"</span>);
state.set(<span class="hljs-string">"key2"</span>, <span class="hljs-literal">false</span>);
activity.setState(state);
</code></pre>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-para