UNPKG

@convergence/convergence

Version:
773 lines 72.4 kB
<!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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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 &quot;state_cleared&quot; 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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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> =&gt;</span> e.name === <span class="hljs-string">&quot;myevent&quot;</span>) .subscribe(<span class="hljs-function"><span class="hljs-params">e</span> =&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</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">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="activities.activityparticipant.html" class="tsd-signature-type">ActivityParticipant</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</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> =&gt;</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">&lt;</span><a href="activities.activityparticipant.html" class="tsd-signature-type">ActivityParticipant</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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">&lt;</span><a href="../interfaces/activities.iactivityevent.html" class="tsd-signature-type">IActivityEvent</a><span class="tsd-signature-symbol">&gt;</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 &quot;state_removed&quot; event for other joined participants to listen for.</p> </div> <pre><code class="language-typescript">activity.removeState(<span class="hljs-string">&quot;pointer&quot;</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 &quot;state_removed&quot; 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">&quot;pointer&quot;</span>, <span class="hljs-string">&quot;viewport&quot;</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&#39;s local state. This will result in a single &quot;state_set&quot; event being emitted for other joined participants to listen for.</p> </div> <pre><code class="language-typescript">activity.setState(<span class="hljs-string">&quot;key1&quot;</span>, <span class="hljs-string">&quot;delta&quot;</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&#39;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 &quot;state_set&quot; 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">&quot;v1&quot;</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">&quot;key1&quot;</span>, <span class="hljs-string">&quot;v1&quot;</span>); state.set(<span class="hljs-string">&quot;key2&quot;</span>, <span class="hljs-literal">false</span>); activity.setState(state); </code></pre> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-para