UNPKG

rws-js-client

Version:
53 lines 62.8 kB
<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Realtime Web Suite Client package</title><meta name="description" content="Documentation for Realtime Web Suite Client package"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script><link rel="stylesheet" href="assets/hierarchy.css"/></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">Realtime Web Suite Client package</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h2>Realtime Web Suite Client package</h2></div><div class="tsd-panel tsd-typography"><a id="md:rws-frontend-framework-readme" class="tsd-anchor"></a><h1><a href="#md:rws-frontend-framework-readme">RWS Frontend Framework README</a></h1><a id="md:table-of-contents" class="tsd-anchor"></a><h2><a href="#md:table-of-contents">Table of Contents</a></h2><ol> <li><a href="#md:overview">Overview</a></li> <li><a href="#md:getting-started">Getting Started</a></li> <li><a href="#md:key-components-rwsclient--routingservice">Key Components: RWSClient &amp; RoutingService</a></li> <li><a href="#md:component-initialization">Component Initialization</a></li> <li><a href="#md:frontend-routes">Frontend routes</a></li> <li><a href="#md:backend-imports">Backend Imports</a></li> <li><a href="#md:utilizing-apiservice">Utilizing APIService</a></li> <li><a href="#md:notifier">Notifier</a></li> <li><a href="#md:example-webchat-component">Example: WebChat Component</a></li> </ol> <a id="md:overview" class="tsd-anchor"></a><h2><a href="#md:overview">Overview</a></h2><p>The RWS Frontend Framework is designed to create dynamic and responsive web applications. It integrates seamlessly with the backend and provides a robust set of tools for developing comprehensive web solutions.</p> <a id="md:getting-started" class="tsd-anchor"></a><h2><a href="#md:getting-started">Getting Started</a></h2><p>To get started with the RWS Frontend Framework, ensure you have the necessary environment set up, including Node.js and any other dependencies specific to the framework.</p> <p>from your project dir do:</p> <pre><code class="language-bash"><span class="hl-0">yarn</span> </code><button>Copy</button></pre> <p>Initiate cfg files:</p> <pre><code class="language-bash"><span class="hl-0">rws-client</span><span class="hl-1"> </span><span class="hl-2">init</span> </code><button>Copy</button></pre> <p>to install once and then to build after preparing compionents:</p> <pre><code class="language-bash"><span class="hl-0">yarn</span><span class="hl-1"> </span><span class="hl-2">build</span> </code><button>Copy</button></pre> <p>or to watch for dev</p> <pre><code class="language-bash"><span class="hl-0">yarn</span><span class="hl-1"> </span><span class="hl-2">watch</span> </code><button>Copy</button></pre> <p>then start engine in the site javascript (can be inline):</p> <pre><code class="language-javascript"><span class="hl-3">window</span><span class="hl-1">.</span><span class="hl-3">RWSClient</span><span class="hl-1">.</span><span class="hl-0">start</span><span class="hl-1">(</span><span class="hl-4">CFG</span><span class="hl-1">);</span> </code><button>Copy</button></pre> <p>example config with interface:</p> <pre><code class="language-javascript"><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-4">CFG</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-3">backendUrl:</span><span class="hl-1"> </span><span class="hl-2">&#39;http://localhost:1337&#39;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-3">wsUrl:</span><span class="hl-1"> </span><span class="hl-2">&#39;http://localhost:1338&#39;</span><br/><span class="hl-1">}</span> </code><button>Copy</button></pre> <pre><code class="language-typescript"><span class="hl-6">export</span><span class="hl-1"> </span><span class="hl-6">default</span><span class="hl-1"> </span><span class="hl-5">interface</span><span class="hl-1"> </span><span class="hl-7">IRWSConfig</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-3">defaultLayout</span><span class="hl-1">?: </span><span class="hl-5">typeof</span><span class="hl-1"> </span><span class="hl-3">RWSViewComponent</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-3">backendUrl</span><span class="hl-1">?: </span><span class="hl-7">string</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-3">wsUrl</span><span class="hl-1">?: </span><span class="hl-7">string</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-3">backendRoutes</span><span class="hl-1">?: </span><span class="hl-7">any</span><span class="hl-1">[] </span><span class="hl-8">// routes from backend</span><br/><span class="hl-1"> </span><span class="hl-3">apiPrefix</span><span class="hl-1">?: </span><span class="hl-7">string</span><span class="hl-1"> </span><span class="hl-8">// f.e /api after host</span><br/><span class="hl-1"> </span><span class="hl-3">routes</span><span class="hl-1">?: </span><span class="hl-7">IFrontRoutes</span><span class="hl-1">, </span><span class="hl-8">//override front routes</span><br/><span class="hl-1"> </span><span class="hl-3">transports</span><span class="hl-1">?: </span><span class="hl-7">string</span><span class="hl-1">[], </span><span class="hl-8">//ws transports setup</span><br/><span class="hl-1"> </span><span class="hl-3">user</span><span class="hl-1">?: </span><span class="hl-7">any</span><span class="hl-1">, </span><span class="hl-8">//user data if logged</span><br/><span class="hl-1"> </span><span class="hl-3">ignoreRWSComponents</span><span class="hl-1">?: </span><span class="hl-7">boolean</span><span class="hl-1"> </span><span class="hl-8">//do not register base RWS components</span><br/><span class="hl-1">}</span> </code><button>Copy</button></pre> <a id="md:key-components" class="tsd-anchor"></a><h2><a href="#md:key-components">Key Components</a></h2><a id="md:rwsclient" class="tsd-anchor"></a><h3><a href="#md:rwsclient">RWSClient</a></h3><a id="md:" class="tsd-anchor"></a><h2><a href="#md:"></a></h2><p><code>RWSClient</code> is the heart of the framework, managing configuration and initialization. It sets up routes, backend connections, and other essential framework services.</p> <a id="md:routingservice" class="tsd-anchor"></a><h3><a href="#md:routingservice">RoutingService</a></h3><a id="md:-1" class="tsd-anchor"></a><h2><a href="#md:-1"></a></h2><p><code>RoutingService</code> handles the navigation and routing within your application. It ensures that URL changes reflect the correct component rendering.</p> <p>Implementing the Framework</p> <p><strong>Main File:</strong></p> <p>The main file (<code>index.ts</code>) is where you initialize the RWSClient. Here, you configure your routes, backend routes, and component initializations.</p> <p>Following is example of full usage of the framework</p> <pre><code class="language-typescript"><span class="hl-6">import</span><span class="hl-1"> </span><span class="hl-3">RWSClient</span><span class="hl-1">, { </span><span class="hl-3">NotifyUiType</span><span class="hl-1">, </span><span class="hl-3">NotifyLogType</span><span class="hl-1"> } </span><span class="hl-6">from</span><span class="hl-1"> </span><span class="hl-2">&#39;rws-js-client&#39;</span><span class="hl-1">;</span><br/><span class="hl-8">//@ts-ignore</span><br/><span class="hl-6">import</span><span class="hl-1"> </span><span class="hl-3">alertify</span><span class="hl-1"> </span><span class="hl-6">from</span><span class="hl-1"> </span><span class="hl-2">&#39;alertifyjs&#39;</span><span class="hl-1">;</span><br/><br/><span class="hl-6">import</span><span class="hl-1"> </span><span class="hl-2">&#39;./styles/main.scss&#39;</span><span class="hl-1">;</span><br/><br/><span class="hl-6">import</span><span class="hl-1"> </span><span class="hl-3">routes</span><span class="hl-1"> </span><span class="hl-6">from</span><span class="hl-1"> </span><span class="hl-2">&#39;./routing/routes&#39;</span><span class="hl-1">;</span><br/><br/><span class="hl-6">import</span><span class="hl-1"> { </span><span class="hl-3">backendRoutes</span><span class="hl-1"> } </span><span class="hl-6">from</span><span class="hl-1"> </span><span class="hl-2">&#39;./backendImport&#39;</span><span class="hl-1">;</span><br/><br/><span class="hl-6">import</span><span class="hl-1"> </span><span class="hl-3">initComponents</span><span class="hl-1"> </span><span class="hl-6">from</span><span class="hl-1"> </span><span class="hl-2">&#39;./application/_initComponents&#39;</span><span class="hl-1">;</span><br/><span class="hl-6">import</span><span class="hl-1"> { </span><span class="hl-3">provideFASTDesignSystem</span><span class="hl-1">, </span><span class="hl-3">allComponents</span><span class="hl-1"> } </span><span class="hl-6">from</span><span class="hl-1"> </span><span class="hl-2">&#39;@microsoft/fast-components&#39;</span><span class="hl-1">;</span><br/><br/><span class="hl-5">async</span><span class="hl-1"> </span><span class="hl-5">function</span><span class="hl-1"> </span><span class="hl-0">initializeApp</span><span class="hl-1">() { </span><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-4">theClient</span><span class="hl-1"> = </span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">RWSClient</span><span class="hl-1">();</span><br/><br/><span class="hl-1"> </span><span class="hl-3">theClient</span><span class="hl-1">.</span><span class="hl-0">setBackendRoutes</span><span class="hl-1">(</span><span class="hl-0">backendRoutes</span><span class="hl-1">());</span><br/><span class="hl-1"> </span><span class="hl-3">theClient</span><span class="hl-1">.</span><span class="hl-0">addRoutes</span><span class="hl-1">(</span><span class="hl-3">routes</span><span class="hl-1">); </span><br/><span class="hl-1"> </span><br/><span class="hl-1"> </span><span class="hl-3">theClient</span><span class="hl-1">.</span><span class="hl-0">onInit</span><span class="hl-1">(</span><span class="hl-5">async</span><span class="hl-1"> () </span><span class="hl-5">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-0">initComponents</span><span class="hl-1">();</span><br/><span class="hl-1"> </span><span class="hl-0">provideFASTDesignSystem</span><span class="hl-1">().</span><span class="hl-0">register</span><span class="hl-1">(</span><span class="hl-3">allComponents</span><span class="hl-1">);</span><br/><span class="hl-1"> }); </span><br/><br/><br/><span class="hl-1"> </span><span class="hl-3">theClient</span><span class="hl-1">.</span><span class="hl-0">setNotifier</span><span class="hl-1">((</span><span class="hl-3">message</span><span class="hl-1">: </span><span class="hl-7">string</span><span class="hl-1">, </span><span class="hl-3">logType</span><span class="hl-1">: </span><span class="hl-7">NotifyLogType</span><span class="hl-1">, </span><span class="hl-3">uiType</span><span class="hl-1">: </span><span class="hl-7">NotifyUiType</span><span class="hl-1"> = </span><span class="hl-2">&#39;notification&#39;</span><span class="hl-1">, </span><span class="hl-0">onConfirm</span><span class="hl-1">: (</span><span class="hl-3">params</span><span class="hl-1">: </span><span class="hl-7">any</span><span class="hl-1">) </span><span class="hl-5">=&gt;</span><span class="hl-1"> </span><span class="hl-7">void</span><span class="hl-1">) </span><span class="hl-5">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">switch</span><span class="hl-1">(</span><span class="hl-3">uiType</span><span class="hl-1">){</span><br/><span class="hl-1"> </span><span class="hl-6">case</span><span class="hl-1"> </span><span class="hl-2">&#39;notification&#39;</span><span class="hl-1">:</span><br/><span class="hl-1"> </span><span class="hl-5">let</span><span class="hl-1"> </span><span class="hl-3">notifType</span><span class="hl-1"> = </span><span class="hl-2">&#39;success&#39;</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-6">if</span><span class="hl-1">(</span><span class="hl-3">logType</span><span class="hl-1"> === </span><span class="hl-2">&#39;error&#39;</span><span class="hl-1">){</span><br/><span class="hl-1"> </span><span class="hl-3">notifType</span><span class="hl-1"> = </span><span class="hl-2">&#39;error&#39;</span><span class="hl-1">;</span><br/><span class="hl-1"> }</span><br/><br/><span class="hl-1"> </span><span class="hl-6">if</span><span class="hl-1">(</span><span class="hl-3">logType</span><span class="hl-1"> === </span><span class="hl-2">&#39;warning&#39;</span><span class="hl-1">){</span><br/><span class="hl-1"> </span><span class="hl-3">notifType</span><span class="hl-1"> = </span><span class="hl-2">&#39;warning&#39;</span><span class="hl-1">;</span><br/><span class="hl-1"> }</span><br/><br/><span class="hl-1"> </span><span class="hl-3">alertify</span><span class="hl-1">.</span><span class="hl-0">notify</span><span class="hl-1">(</span><span class="hl-3">message</span><span class="hl-1">, </span><span class="hl-3">notifType</span><span class="hl-1">, </span><span class="hl-9">5</span><span class="hl-1">, </span><span class="hl-3">onConfirm</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-6">return</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-6">case</span><span class="hl-1"> </span><span class="hl-2">&#39;alert&#39;</span><span class="hl-1">:</span><br/><span class="hl-1"> </span><span class="hl-3">alertify</span><span class="hl-1">.</span><span class="hl-0">alert</span><span class="hl-1">(</span><span class="hl-2">&#39;Junction AI Notification&#39;</span><span class="hl-1">, </span><span class="hl-3">message</span><span class="hl-1">, </span><span class="hl-3">onConfirm</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-6">return</span><span class="hl-1">; </span><br/><span class="hl-1"> </span><span class="hl-6">case</span><span class="hl-1"> </span><span class="hl-2">&#39;silent&#39;</span><span class="hl-1">:</span><br/><span class="hl-1"> </span><span class="hl-6">if</span><span class="hl-1">(</span><span class="hl-3">logType</span><span class="hl-1"> == </span><span class="hl-2">&#39;warning&#39;</span><span class="hl-1">){</span><br/><span class="hl-1"> </span><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-0">warn</span><span class="hl-1">(</span><span class="hl-3">message</span><span class="hl-1">);</span><br/><span class="hl-1"> }</span><span class="hl-6">else</span><span class="hl-1"> </span><span class="hl-6">if</span><span class="hl-1">(</span><span class="hl-3">logType</span><span class="hl-1"> == </span><span class="hl-2">&#39;error&#39;</span><span class="hl-1">){</span><br/><span class="hl-1"> </span><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-0">error</span><span class="hl-1">(</span><span class="hl-3">message</span><span class="hl-1">);</span><br/><span class="hl-1"> }</span><span class="hl-6">else</span><span class="hl-1">{</span><br/><span class="hl-1"> </span><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-3">message</span><span class="hl-1">);</span><br/><span class="hl-1"> } </span><br/><span class="hl-1"> </span><span class="hl-6">return</span><span class="hl-1">; </span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> });</span><br/><span class="hl-1"> (</span><span class="hl-3">window</span><span class="hl-1"> </span><span class="hl-6">as</span><span class="hl-1"> </span><span class="hl-7">any</span><span class="hl-1">).</span><span class="hl-3">RWSClient</span><span class="hl-1"> = </span><span class="hl-3">theClient</span><span class="hl-1">; </span><br/><span class="hl-1">}</span><br/><br/><span class="hl-0">initializeApp</span><span class="hl-1">().</span><span class="hl-0">catch</span><span class="hl-1">(</span><span class="hl-3">console</span><span class="hl-1">.</span><span class="hl-3">error</span><span class="hl-1">);</span><br/> </code><button>Copy</button></pre> <a id="md:component-initialization" class="tsd-anchor"></a><h2><a href="#md:component-initialization">Component Initialization</a></h2><p>In <code>application/_initComponents.ts</code>, you initialize the custom components used in your application. If components added in here will include other components they dont need to be listed here. A component imported in this mode needs to be imported once.</p> <a id="md:default-component-structure" class="tsd-anchor"></a><h3><a href="#md:default-component-structure">Default component structure</a></h3><pre><code><span class="hl-3">component</span><span class="hl-1">-</span><span class="hl-3">dir</span><span class="hl-1">/</span><br/><span class="hl-1"> </span><span class="hl-3">component</span><span class="hl-1">.</span><span class="hl-3">ts</span><br/><span class="hl-1"> </span><span class="hl-3">template</span><span class="hl-1">.</span><span class="hl-3">html</span><br/><span class="hl-1"> </span><span class="hl-3">styles</span><span class="hl-1">/</span><br/><span class="hl-1"> </span><span class="hl-3">layout</span><span class="hl-1">.</span><span class="hl-3">scss</span> </code><button>Copy</button></pre> <p><strong>WARNING</strong> <em>All html templates refer to variable &quot;T&quot; as to FASTElement templating html scope. It contains all the functions FAST templates uses in html. F.e:</em> <strong>T.html</strong>, <strong>T.when</strong>, <strong>T.repeat</strong></p> <pre><code class="language-html"><span class="hl-10">&lt;</span><span class="hl-11">div</span><span class="hl-1"> </span><span class="hl-12">class</span><span class="hl-1">=</span><span class="hl-13">&quot;convo-area-wrap&quot;</span><span class="hl-10">&gt;</span><br/><span class="hl-1"> </span><span class="hl-10">&lt;</span><span class="hl-11">header</span><span class="hl-10">&gt;</span><span class="hl-1"> </span><br/><span class="hl-1"> </span><span class="hl-10">&lt;</span><span class="hl-11">div</span><span class="hl-1"> </span><span class="hl-12">class</span><span class="hl-1">=</span><span class="hl-13">&quot;header-inner&quot;</span><span class="hl-10">&gt;&lt;/</span><span class="hl-11">div</span><span class="hl-10">&gt;</span><span class="hl-1"> </span><br/><span class="hl-1"> ${T.when(x =&gt; x.noChoose === &#39;false&#39;, (item, index) =&gt; T.html`</span><span class="hl-10">&lt;</span><span class="hl-11">div</span><span class="hl-10">&gt;</span><br/><span class="hl-1"> </span><span class="hl-10">&lt;</span><span class="hl-11">chat-convo-models</span><span class="hl-1"> </span><span class="hl-12">:chosenModel</span><span class="hl-1">=</span><span class="hl-13">&quot;${x =&gt; x.chosenModel}&quot;</span><span class="hl-10">&gt;&lt;/</span><span class="hl-11">chat-convo-models</span><span class="hl-10">&gt;</span><br/><span class="hl-1"> </span><span class="hl-10">&lt;/</span><span class="hl-11">div</span><span class="hl-10">&gt;</span><span class="hl-1">`)}</span><br/><span class="hl-1"> </span><span class="hl-10">&lt;</span><span class="hl-11">div</span><span class="hl-10">&gt;</span><br/><span class="hl-1"> </span><span class="hl-10">&lt;</span><span class="hl-11">h2</span><span class="hl-10">&gt;</span><span class="hl-1">${ x =&gt; x.chatContext ? x.chatContext.label : &#39;loading...&#39; }</span><span class="hl-10">&lt;/</span><span class="hl-11">h2</span><span class="hl-10">&gt;</span><br/><span class="hl-1"> </span><span class="hl-10">&lt;</span><span class="hl-11">h3</span><span class="hl-10">&gt;&lt;</span><span class="hl-11">strong</span><span class="hl-10">&gt;</span><span class="hl-1">${ x =&gt; x.messageList.length }</span><span class="hl-10">&lt;/</span><span class="hl-11">strong</span><span class="hl-10">&gt;</span><span class="hl-1"> messages in total</span><span class="hl-10">&lt;/</span><span class="hl-11">h3</span><span class="hl-10">&gt;</span><br/><span class="hl-1"> </span><span class="hl-10">&lt;/</span><span class="hl-11">div</span><span class="hl-10">&gt;</span><span class="hl-1"> </span><br/><span class="hl-1"> </span><span class="hl-10">&lt;</span><span class="hl-11">fast-divider</span><span class="hl-10">&gt;&lt;/</span><span class="hl-11">fast-divider</span><span class="hl-10">&gt;</span><span class="hl-1"> </span><br/><span class="hl-1"> </span><span class="hl-10">&lt;/</span><span class="hl-11">header</span><span class="hl-10">&gt;</span><br/><span class="hl-1"> </span><span class="hl-10">&lt;</span><span class="hl-11">section</span><span class="hl-10">&gt;</span><br/><span class="hl-1"> </span><span class="hl-10">&lt;</span><span class="hl-11">div</span><span class="hl-1"> </span><span class="hl-12">class</span><span class="hl-1">=</span><span class="hl-13">&quot;scroll-area&quot;</span><span class="hl-10">&gt;</span><br/><span class="hl-1"> </span><span class="hl-10">&lt;</span><span class="hl-11">div</span><span class="hl-1"> </span><span class="hl-12">class</span><span class="hl-1">=</span><span class="hl-13">&quot;scroll-content&quot;</span><span class="hl-10">&gt;</span><br/><span class="hl-1"> ${T.repeat(x =&gt; x.messageList, (item, index) =&gt; T.html`</span><br/><span class="hl-1"> </span><span class="hl-10">&lt;</span><span class="hl-11">chat-convo-message</span><span class="hl-1"> </span><span class="hl-12">:contentReturn</span><span class="hl-1">=</span><span class="hl-13">&quot;${item =&gt; item}&quot;</span><span class="hl-1"> </span><span class="hl-12">:item</span><span class="hl-1">=</span><span class="hl-13">&quot;${item =&gt; item}&quot;</span><span class="hl-10">/&gt;</span><br/><span class="hl-1"> `)} </span><br/><span class="hl-1"> </span><br/><span class="hl-1"> ${T.when(x =&gt; !x.messageList.length, (item, index) =&gt; T.html`</span><br/><span class="hl-1"> </span><span class="hl-10">&lt;</span><span class="hl-11">p</span><span class="hl-1"> </span><span class="hl-12">class</span><span class="hl-1">=</span><span class="hl-13">&quot;no-chat&quot;</span><span class="hl-10">&gt;</span><span class="hl-1">No messages</span><span class="hl-10">&lt;/</span><span class="hl-11">p</span><span class="hl-10">&gt;</span><br/><span class="hl-1"> `)} </span><br/><span class="hl-1"> </span><span class="hl-10">&lt;/</span><span class="hl-11">div</span><span class="hl-10">&gt;</span><br/><span class="hl-1"> </span><span class="hl-10">&lt;/</span><span class="hl-11">div</span><span class="hl-10">&gt;</span><br/><span class="hl-1"> </span><span class="hl-10">&lt;/</span><span class="hl-11">section</span><span class="hl-10">&gt;</span><span class="hl-1"> </span><br/><br/><span class="hl-10">&lt;/</span><span class="hl-11">div</span><span class="hl-10">&gt;</span> </code><button>Copy</button></pre> <a id="md:application_initcomponentsts" class="tsd-anchor"></a><h3><a href="#md:application_initcomponentsts">application/_initComponents.ts</a></h3><pre><code class="language-typescript"><span class="hl-6">import</span><span class="hl-1"> { </span><span class="hl-3">ChatNav</span><span class="hl-1"> } </span><span class="hl-6">from</span><span class="hl-1"> </span><span class="hl-2">&#39;../components/chat-nav/component&#39;</span><span class="hl-1">;</span><br/><span class="hl-6">import</span><span class="hl-1"> { </span><span class="hl-3">DefaultLayout</span><span class="hl-1"> } </span><span class="hl-6">from</span><span class="hl-1"> </span><span class="hl-2">&#39;../components/default-layout/component&#39;</span><span class="hl-1">;</span><br/><span class="hl-6">import</span><span class="hl-1"> { </span><span class="hl-3">RWSIcon</span><span class="hl-1"> } </span><span class="hl-6">from</span><span class="hl-1"> </span><span class="hl-2">&#39;../components/rws-icon/component&#39;</span><span class="hl-1">;</span><br/><span class="hl-6">import</span><span class="hl-1"> { </span><span class="hl-3">Loader</span><span class="hl-1"> } </span><span class="hl-6">from</span><span class="hl-1"> </span><span class="hl-2">&#39;../components/loader/component&#39;</span><span class="hl-1">;</span><br/><span class="hl-6">import</span><span class="hl-1"> { </span><span class="hl-3">LineSplitter</span><span class="hl-1"> } </span><span class="hl-6">from</span><span class="hl-1"> </span><span class="hl-2">&#39;../components/line-splitter/component&#39;</span><span class="hl-1">;</span><br/><br/><span class="hl-6">import</span><span class="hl-1"> { </span><span class="hl-3">registerRWSComponents</span><span class="hl-1"> } </span><span class="hl-6">from</span><span class="hl-1"> </span><span class="hl-2">&#39;rws-js-client&#39;</span><span class="hl-1">;</span><br/><br/><span class="hl-6">export</span><span class="hl-1"> </span><span class="hl-6">default</span><span class="hl-1"> () </span><span class="hl-5">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-3">LineSplitter</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-3">DefaultLayout</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-3">ChatNav</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-3">RWSIcon</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-3">Loader</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-0">registerRWSComponents</span><span class="hl-1">(); </span><span class="hl-8">//register rws components like &lt;rws-uploader&gt; and other comfy components</span><br/><span class="hl-1">}</span><br/> </code><button>Copy</button></pre> <pre><code class="language-typescript"><span class="hl-8">//index.ts</span><br/><br/><span class="hl-1"> </span><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-4">theClient</span><span class="hl-1"> = </span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">RWSClient</span><span class="hl-1">();</span><br/><br/><span class="hl-1"> </span><br/><span class="hl-1"> </span><span class="hl-3">theClient</span><span class="hl-1">.</span><span class="hl-0">addRoutes</span><span class="hl-1">(</span><span class="hl-3">routes</span><span class="hl-1">); </span><span class="hl-8">//routes are optional</span><br/><span class="hl-1"> </span><br/><span class="hl-1"> </span><span class="hl-3">theClient</span><span class="hl-1">.</span><span class="hl-0">onInit</span><span class="hl-1">(</span><span class="hl-5">async</span><span class="hl-1"> () </span><span class="hl-5">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-0">initComponents</span><span class="hl-1">(); </span><span class="hl-8">//user components from _initComponents.ts</span><br/><span class="hl-1"> </span><span class="hl-0">provideFASTDesignSystem</span><span class="hl-1">().</span><span class="hl-0">register</span><span class="hl-1">(</span><span class="hl-3">allComponents</span><span class="hl-1">); </span><span class="hl-8">// @microsoft/fast-components ready components init</span><br/><span class="hl-1"> }); </span><br/> </code><button>Copy</button></pre> <p>**Component needs to extend RWSViewComponent and use</p> </div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-index-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><h4 class="uppercase">Member Visibility</h4><form><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div><div class="tsd-theme-toggle"><h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-index-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><ul><li><ul><li><a href="#md:rws-frontend-framework-readme"><span>RWS <wbr/>Frontend <wbr/>Framework README</span></a></li><li><ul><li><a href="#md:table-of-contents"><span>Table of <wbr/>Contents</span></a></li><li><a href="#md:overview"><span>Overview</span></a></li><li><a href="#md:getting-started"><span>Getting <wbr/>Started</span></a></li><li><a href="#md:key-components"><span>Key <wbr/>Components</span></a></li><li><ul><li><a href="#md:rwsclient"><span>RWSClient</span></a></li></ul></li><li><a href="#md:"><span></span></a></li><li><ul><li><a href="#md:routingservice"><span>Routing<wbr/>Service</span></a></li></ul></li><li><a href="#md:-1"><span></span></a></li><li><a href="#md:component-initialization"><span>Component <wbr/>Initialization</span></a></li><li><ul><li><a href="#md:default-component-structure"><span>Default component structure</span></a></li><li><a href="#md:application_initcomponentsts"><span>application/_<wbr/>init<wbr/>Components.ts</span></a></li></ul></li></ul></li></ul></li></ul></div></details></div><div class="site-menu"><div class="tree"><div class="tree-config"><button class="tree-config__button tree-config__button--expand js-tree-expand" title="Expand All"><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 490.72 490.72" fill="currentColor"><path d="M480.027,288.027H10.693c-5.867,0-10.667,4.8-10.667,10.667c0,5.867,4.8,10.667,10.667,10.667h213.333v144.96l-45.76-45.76c-4.267-4.053-10.987-3.947-15.04,0.213c-3.947,4.16-3.947,10.667,0,14.827l64,64c4.16,4.16,10.88,4.16,15.04,0l64-64c4.053-4.267,3.947-10.987-0.213-15.04c-4.16-3.947-10.667-3.947-14.827,0l-45.867,45.76V309.36h234.667c5.867,0,10.667-4.8,10.667-10.667C490.693,292.827,485.893,288.027,480.027,288.027z"></path><path d="M10.693,224.027h469.333c5.867,0,10.667-4.8,10.667-10.667c0-5.867-4.8-10.667-10.667-10.667H245.36V36.4l45.76,45.76c4.267,4.053,10.987,3.947,15.04-0.213c3.947-4.16,3.947-10.667,0-14.827l-64-64c-4.16-4.16-10.88-4.16-15.04,0l-64,64c-4.053,4.267-3.947,10.987,0.213,15.04c4.16,3.947,10.667,3.947,14.827,0l45.867-45.76v166.293H10.693c-5.867,0-10.667,4.8-10.667,10.667C0.027,219.227,4.827,224.027,10.693,224.027z"></path></svg></button><button class="tree-config__button tree-config__button--collapse js-tree-collapse" title="Collapse All"><svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill="currentColor"><path fill-rule="evenodd" d="M1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8zm7-8a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 4.293V.5A.5.5 0 0 1 8 0zm-.5 11.707-1.146 1.147a.5.5 0 0 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 11.707V15.5a.5.5 0 0 1-1 0v-3.793z"></path></svg></button><button class="tree-config__button tree-config__button--target js-tree-target" title="Scroll to current file"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor"><circle cx="12" cy="12" r="3"></circle><path d="M13 4.069V2h-2v2.069A8.008 8.008 0 0 0 4.069 11H2v2h2.069A8.007 8.007 0 0 0 11 19.931V22h2v-2.069A8.007 8.007 0 0 0 19.931 13H22v-2h-2.069A8.008 8.008 0 0 0 13 4.069zM12 18c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6z"></path></svg></button></div><div class="tree-content"><ul class="js-category-list category" data-id="root"><li><span class="js-category-title category__title" data-id="root-src"><div class="category__folder" data-id="root-src"></div>src</span><ul class="js-category-list category" data-id="root-src"><li><span class="js-category-title category__title" data-id="root-src-services"><div class="category__folder" data-id="root-src-services"></div>services</span><ul class="js-category-list category" data-id="root-src-services"><li><span class="category__link category__link--disable js-category-link category__link--ts">ApiService.ts</span><ul><li><a class="category__link js-category-link" href="classes/ApiServiceInstance.html" data-id="/classes/ApiServiceInstance.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>ApiServiceInstance</a></li><li><a class="category__link js-category-link" href="interfaces/IRWSHttpRoute.html" data-id="/interfaces/IRWSHttpRoute.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>IRWSHttpRoute</a></li><li><a class="category__link js-category-link" href="interfaces/IRWSPrefixedHTTProutes.html" data-id="/interfaces/IRWSPrefixedHTTProutes.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>IRWSPrefixedHTTProutes</a></li><li><a class="category__link js-category-link" href="types/IRWSBackendRoute.html" data-id="/types/IRWSBackendRoute.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2097152"></use></svg>IRWSBackendRoute</a></li><li><a class="category__link js-category-link" href="variables/ApiService.html" data-id="/variables/ApiService.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-32"></use></svg>ApiService</a></li></ul></li><li><span class="category__link category__link--disable js-category-link category__link--ts">DOMService.ts</span><ul><li><a class="category__link js-category-link" href="classes/DOMServiceInstance.html" data-id="/classes/DOMServiceInstance.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>DOMServiceInstance</a></li><li><a class="category__link js-category-link" href="types/DOMOutputType.html" data-id="/types/DOMOutputType.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2097152"></use></svg>DOMOutputType</a></li><li><a class="category__link js-category-link" href="variables/DOMService.html" data-id="/variables/DOMService.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-32"></use></svg>DOMService</a></li></ul></li><li><span class="category__link category__link--disable js-category-link category__link--ts">NotifyService.ts</span><ul><li><a class="category__link js-category-link" href="classes/NotifyServiceInstance.html" data-id="/classes/NotifyServiceInstance.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>NotifyServiceInstance</a></li><li><a class="category__link js-category-link" href="variables/NotifyService.html" data-id="/variables/NotifyService.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-32"></use></svg>NotifyService</a></li></ul></li><li><span class="category__link category__link--disable js-category-link category__link--ts">RoutingService.ts</span><ul><li><a class="category__link js-category-link" href="classes/RWSRouter.html" data-id="/classes/RWSRouter.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>RWSRouter</a></li><li><a class="category__link js-category-link" href="classes/RoutingServiceInstance.html" data-id="/classes/RoutingServiceInstance.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>RoutingServiceInstance</a></li><li><a class="category__link js-category-link" href="interfaces/IRoutingEvent.html" data-id="/interfaces/IRoutingEvent.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>IRoutingEvent</a></li><li><a class="category__link js-category-link" href="types/IRWSFrontRoutes.html" data-id="/types/IRWSFrontRoutes.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2097152"></use></svg>IRWSFrontRoutes</a></li><li><a class="category__link js-category-link" href="types/IRWSRouteResult.html" data-id="/types/IRWSRouteResult.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2097152"></use></svg>IRWSRouteResult</a></li><li><a class="category__link js-category-link" href="types/RouteReturn.html" data-id="/types/RouteReturn.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2097152"></use></svg>RouteReturn</a></li><li><a class="category__link js-category-link" href="variables/RoutingService.html" data-id="/variables/RoutingService.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-32"></use></svg>RoutingService</a></li><li><a class="category__link js-category-link" href="variables/_ROUTING_EVENT_NAME.html" data-id="/variables/_ROUTING_EVENT_NAME.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-32"></use></svg>_ROUTING_EVENT_NAME</a></li><li><a class="category__link js-category-link" href="functions/renderRouteComponent.html" data-id="/functions/renderRouteComponent.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg>renderRouteComponent</a></li></ul></li><li><span class="category__link category__link--disable js-category-link category__link--ts">_service.ts</span><ul><li><a class="category__link js-category-link" href="classes/RWSService.html" data-id="/classes/RWSService.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>RWSService</a></li></ul></li><li><span class="category__link category__link--disable js-category-link category__link--ts">UtilsService.ts</span><ul><li><a class="category__link js-category-link" href="classes/UtilsServiceInstance.html" data-id="/classes/UtilsServiceInstance.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>UtilsServiceInstance</a></li><li><a class="category__link js-category-link" href="variables/UtilsService.html" data-id="/variables/UtilsService.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-32"></use></svg>UtilsService</a></li></ul></li><li><span class="category__link category__link--disable js-category-link category__link--ts">WSService.ts</span><ul><li><a class="category__link js-category-link" href="classes/WSServiceInstance.html" data-id="/classes/WSServiceInstance.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>WSServiceInstance</a></li><li><a class="category__link js-category-link" href="types/IRWSWebsocketStatus.html" data-id="/types/IRWSWebsocketStatus.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2097152"></use></svg>IRWSWebsocketStatus</a></li><li><a class="category__link js-category-link" href="variables/WSService.html" data-id="/variables/WSService.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-32"></use></svg>WSService</a></li></ul></li></ul></li><li><span class="js-category-title category__title" data-id="root-src-components"><div class="category__folder" data-id="root-src-components"></div>components</span><ul class="js-category-list category" data-id="root-src-components"><li><span class="js-category-title category__title" data-id="root-src-components-uploader"><div class="category__folder" data-id="root-src-components-uploader"></div>uploader</span><ul class="js-category-list category" data-id="root-src-components-uploader"><li><span class="category__link category__link--disable js-category-link category__link--ts">component.ts</span><ul><li><a class="category__link js-category-link" href="classes/RWSUploader.html" data-id="/classes/RWSUploader.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>RWSUploader</a></li></ul></li></ul></li><li><span class="js-category-title category__title" data-id="root-src-components-router"><div class="category__folder" data-id="root-src-components-router"></div>router</span><ul class="js-category-list category" data-id="root-src-components-router"><li><span class="category__link category__link--disable js-category-link category__link--ts">component.ts</span><ul><li><a class="category__link js-category-link" href="classes/RouterComponent.html" data-id="/classes/RouterComponent.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>RouterComponent</a></li></ul></li></ul></li><li><span class="js-category-title category__title" data-id="root-src-components-_attrs"><div class="category__folder" data-id="root-src-components-_attrs"></div>_attrs</span><ul class="js-category-list category" data-id="root-src-components-_attrs"><li><span class="category__link category__link--disable js-category-link category__link--ts">angular-attr.ts</span><ul><li><a class="category__link js-category-link" href="functions/ngAttr.html" data-id="/functions/ngAttr.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg>ngAttr</a></li></ul></li></ul></li><li><span class="category__link category__link--disable js-category-link category__link--ts">_component.ts</span><ul><li><a class="category__link js-category-link" href="classes/RWSViewComponent.html" data-id="/classes/RWSViewComponent.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>RWSViewComponent</a></li><li><a class="category__link js-category-link" href="interfaces/IRWSAssetShowOptions.html" data-id="/interfaces/IRWSAssetShowOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>IRWSAssetShowOptions</a></li></ul></li><li><span class="category__link category__link--disable js-category-link category__link--ts">_decorator.ts</span><ul><li><a class="category__link js-category-link" href="interfaces/IRWSDecoratorOptions.html" data-id="/interfaces/IRWSDecoratorOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>IRWSDecoratorOptions</a></li><li><a class="category__link js-category-link" href="functions/RWSView.html" data-id="/functions/RWSView.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg>RWSView</a></li></ul></li><li><span class="category__link category__link--disable js-category-link category__link--ts">index.ts</span><ul><li><a class="category__link js-category-link" href="functions/registerRWSComponents.html" data-id="/functions/registerRWSComponents.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg>registerRWSComponents</a></li></ul></li></ul></li><li><span class="js-category-title category__title" data-id="root-src-interfaces"><div class="category__folder" data-id="root-src-interfaces"></div>interfaces</span><ul class="js-category-list category" data-id="root-src-interfaces"><li><span class="category__link category__link--disable js-category-link category__link--ts">IRWSConfig.ts</span><ul><li><a class="category__link js-category-link" href="interfaces/IRWSConfig.html" data-id="/interfaces/IRWSConfig.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg>IRWSConfig</a></li></ul></li></ul></li><li><span class="js-category-title category__title" data-id="root-src-types"><div class="category__folder" data-id="root-src-types"></div>types</span><ul class="js-category-list category" data-id="root-src-types"><li><span class="category__link category__link--disable js-category-link category__link--ts">RWSNotify.ts</span><ul><li><a class="category__link js-category-link" href="types/NotifyLogType.html" data-id="/types/NotifyLogType.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2097152"></use></svg>NotifyLogType</a></li><li><a class="category__link js-category-link" href="types/NotifyUiType.html" data-id="/types/NotifyUiType.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2097152"></use></svg>NotifyUiType</a></li><li><a class="category__link js-category-link" href="types/RWSNotify.html" data-id="/types/RWSNotify.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2097152"></use></svg>RWSNotify</a></li></ul></li></ul></li><li><span class="category__link category__link--disable js-category-link category__link--ts">index.ts</span><ul><li><a class="category__link js-category-link" href="classes/RWSClient.html" data-id="/classes/RWSClient.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg>RWSClient</a></li></ul></li></ul></li></ul></div></div></div></div></div><div class="tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><svg style="display: none"><g id="icon-1"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-module)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)"></path></g><g id="icon-2"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-module)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8