UNPKG

webgme-engine

Version:

WebGME server and Client API without a GUI

2,700 lines (876 loc) 42.4 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>WebGME Classes</title> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/sunlight.dark.css"> <link type="text/css" rel="stylesheet" href="styles/site.slate.css"> </head> <body> <div class="navbar navbar-default navbar-fixed-top navbar-inverse"> <div class="container"> <div class="navbar-header"> <a class="navbar-brand" href="index.html">WebGME</a> <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#topNavigation"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <div class="navbar-collapse collapse" id="topNavigation"> <ul class="nav navbar-nav"> <li class="dropdown"> <a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b class="caret"></b></a> <ul class="dropdown-menu inline"> <li><a href="module-Core.html">Core</a></li><li><a href="module-crosscuts.html">crosscuts</a></li><li><a href="module-serialization.html">serialization</a></li><li><a href="module-Storage.html">Storage</a></li><li><a href="Server_GMEAuth.html">Server:GMEAuth</a></li><li><a href="Server_SafeStorage.html">Server:SafeStorage</a></li><li><a href="Server_UserProject.html">Server:UserProject</a></li> </ul> </li> <li class="dropdown"> <a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b class="caret"></b></a> <ul class="dropdown-menu inline"> <li><a href="AddOnBase.html">AddOnBase</a></li><li><a href="AddOnUpdateResult.html">AddOnUpdateResult</a></li><li><a href="Artifact.html">Artifact</a></li><li><a href="BlobClient.html">BlobClient</a></li><li><a href="BlobMetadata.html">BlobMetadata</a></li><li><a href="BlobRunPluginClient.html">BlobRunPluginClient</a></li><li><a href="Client.html">Client</a></li><li><a href="Core.html">Core</a></li><li><a href="ExecutorClient.html">ExecutorClient</a></li><li><a href="GmeLogger.html">GmeLogger</a></li><li><a href="GMENode.html">GMENode</a></li><li><a href="InterPluginResult.html">InterPluginResult</a></li><li><a href="JobInfo.html">JobInfo</a></li><li><a href="OutputInfo.html">OutputInfo</a></li><li><a href="PluginBase.html">PluginBase</a></li><li><a href="PluginConfig.html">PluginConfig</a></li><li><a href="PluginMessage.html">PluginMessage</a></li><li><a href="PluginNodeDescription.html">PluginNodeDescription</a></li><li><a href="PluginResult.html">PluginResult</a></li><li><a href="Project.html">Project</a></li><li><a href="ProjectInterface.html">ProjectInterface</a></li><li><a href="Server_GMEAuth-GMEAuth.html">Server:GMEAuth~GMEAuth</a></li><li><a href="Server_SafeStorage-SafeStorage.html">Server:SafeStorage~SafeStorage</a></li><li><a href="Server_UserProject-UserProject.html">Server:UserProject~UserProject</a></li><li><a href="WebsocketRouter.html">WebsocketRouter</a></li><li><a href="WebsocketRouterUser.html">WebsocketRouterUser</a></li> </ul> </li> <li class="dropdown"> <a href="events.list.html" class="dropdown-toggle" data-toggle="dropdown">Events<b class="caret"></b></a> <ul class="dropdown-menu inline"> <li><a href="Client.html#event:BRANCH_CHANGED">Client#event:BRANCH_CHANGED</a></li><li><a href="Client.html#event:BRANCH_CLOSED">Client#event:BRANCH_CLOSED</a></li><li><a href="Client.html#event:BRANCH_OPENED">Client#event:BRANCH_OPENED</a></li><li><a href="Client.html#event:BRANCH_STATUS_CHANGED">Client#event:BRANCH_STATUS_CHANGED</a></li><li><a href="Client.html#event:CONNECTED_USERS_CHANGED">Client#event:CONNECTED_USERS_CHANGED</a></li><li><a href="Client.html#event:NETWORK_STATUS_CHANGED">Client#event:NETWORK_STATUS_CHANGED</a></li><li><a href="Client.html#event:NOTIFICATION">Client#event:NOTIFICATION</a></li><li><a href="Client.html#event:PLUGIN_FINISHED">Client#event:PLUGIN_FINISHED</a></li><li><a href="Client.html#event:PLUGIN_INITIATED">Client#event:PLUGIN_INITIATED</a></li><li><a href="Client.html#event:PLUGIN_NOTIFICATION">Client#event:PLUGIN_NOTIFICATION</a></li><li><a href="Client.html#event:PROJECT_CLOSED">Client#event:PROJECT_CLOSED</a></li><li><a href="Client.html#event:PROJECT_OPENED">Client#event:PROJECT_OPENED</a></li> </ul> </li> <li class="dropdown"> <a href="global.html" class="dropdown-toggle" data-toggle="dropdown">Global<b class="caret"></b></a> <ul class="dropdown-menu inline"> <li><a href="global.html">Global</a></li> </ul> </li> <li class="dropdown"> <a href="externals.list.html" class="dropdown-toggle" data-toggle="dropdown">Externals<b class="caret"></b></a> <ul class="dropdown-menu inline"> <li><a href="external-Promise.html">Promise</a></li> </ul> </li> </ul> <div class="col-sm-3 col-md-3"> <form class="navbar-form" role="search"> <div class="input-group"> <input type="text" class="form-control" placeholder="Search" name="q" id="search-input"> <div class="input-group-btn"> <button class="btn btn-default" id="search-submit"><i class="glyphicon glyphicon-search"></i></button> </div> </div> </form> </div> </div> </div> </div> <div class="container" id="toc-content"> <div class="row"> <div class="col-md-8"> <div id="main"> <h1 class="page-title">Classes</h1> <section> <header> <h2> </h2> </header> <article> <div class="container-overview"> <dl class="details"> </dl> </div> <h3 class="subsection-title">Classes</h3> <dl> <dt><a href="AddOnBase.html">AddOnBase</a></dt> <dd></dd> <dt><a href="AddOnUpdateResult.html">AddOnUpdateResult</a></dt> <dd></dd> <dt><a href="Artifact.html">Artifact</a></dt> <dd></dd> <dt><a href="BlobClient.html">BlobClient</a></dt> <dd></dd> <dt><a href="BlobMetadata.html">BlobMetadata</a></dt> <dd></dd> <dt><a href="BlobRunPluginClient.html">BlobRunPluginClient</a></dt> <dd></dd> <dt><a href="Client.html">Client</a></dt> <dd></dd> <dt><a href="Core.html">Core</a></dt> <dd></dd> <dt><a href="ExecutorClient.html">ExecutorClient</a></dt> <dd></dd> <dt><a href="GmeLogger.html">GmeLogger</a></dt> <dd></dd> <dt><a href="GMENode.html">GMENode</a></dt> <dd></dd> <dt><a href="InterPluginResult.html">InterPluginResult</a></dt> <dd></dd> <dt><a href="JobInfo.html">JobInfo</a></dt> <dd></dd> <dt><a href="OutputInfo.html">OutputInfo</a></dt> <dd></dd> <dt><a href="PluginBase.html">PluginBase</a></dt> <dd></dd> <dt><a href="PluginConfig.html">PluginConfig</a></dt> <dd></dd> <dt><a href="PluginMessage.html">PluginMessage</a></dt> <dd></dd> <dt><a href="PluginNodeDescription.html">PluginNodeDescription</a></dt> <dd></dd> <dt><a href="PluginResult.html">PluginResult</a></dt> <dd></dd> <dt><a href="Project.html">Project</a></dt> <dd></dd> <dt><a href="ProjectInterface.html">ProjectInterface</a></dt> <dd></dd> <dt><a href="Server_GMEAuth-GMEAuth.html">GMEAuth</a></dt> <dd></dd> <dt><a href="Server_SafeStorage-SafeStorage.html">SafeStorage</a></dt> <dd></dd> <dt><a href="Server_UserProject-UserProject.html">UserProject</a></dt> <dd></dd> <dt><a href="WebsocketRouter.html">WebsocketRouter</a></dt> <dd></dd> <dt><a href="WebsocketRouterUser.html">WebsocketRouterUser</a></dt> <dd></dd> </dl> <h3 class="subsection-title">Events</h3> <dl> <hr> <dt> <h4 class="name" id="event:BRANCH_CHANGED">BRANCH_CHANGED</h4> </dt> <dd> <div class="description"> <p>Fired when the open branch changed. The event could either return the name of the newly opened branch or null if there no longer is a branch opened.</p> </div> <h5>Type: <span class="param-type"><a href="global.html#string">string</a></span> | <span class="param-type"><a href="global.html#null">null</a></span> </h5> <dl class="details"> </dl> </dd> <hr> <dt> <h4 class="name" id="event:BRANCH_CLOSED">BRANCH_CLOSED</h4> </dt> <dd> <div class="description"> <p>Fired when the currently opened branch is closed.</p> </div> <h5>Type: <span class="param-type"><a href="global.html#string">string</a></span> </h5> <dl class="details"> </dl> </dd> <hr> <dt> <h4 class="name" id="event:BRANCH_OPENED">BRANCH_OPENED</h4> </dt> <dd> <div class="description"> <p>Fired when a branch is opened.</p> </div> <h5>Type: <span class="param-type"><a href="global.html#string">string</a></span> </h5> <dl class="details"> </dl> </dd> <hr> <dt> <h4 class="name" id="event:BRANCH_STATUS_CHANGED">BRANCH_STATUS_CHANGED</h4> </dt> <dd> <div class="description"> <p>Fired when the branch status changes. The returned value is one of:</p> <ul> <li><code>'SYNC'</code> - The local branch is in sync with the server.</li> <li><code>'AHEAD_SYNC'</code> - There are changes in the local branch that has not been sent to the server. The latest commit was synchronized.</li> <li><code>'AHEAD_NOT_SYNC'</code> - There are changes in the local branch that has not been sent to the server. The latest commit did not update the branch head. An action is required.</li> <li><code>'PULLING'</code> - External changes to the branch are being pulled into the branch.</li> <li><code>'ERROR'</code> - Some unexpected error happened.</li> <li>(<code>'MERGING'</code> - a forked commit is attempted to be merged by the server (this is disabled by default))</li> </ul> </div> <h5>Type: <span class="param-type"><a href="global.html#object">object</a></span> </h5> <dl class="details"> </dl> </dd> <hr> <dt> <h4 class="name" id="event:CONNECTED_USERS_CHANGED">CONNECTED_USERS_CHANGED</h4> </dt> <dd> <div class="description"> <p>Fired when there are changes among the users connected to the same branch-room (have the same project and branch opened).</p> </div> <h5>Type: <span class="param-type"><a href="global.html#object">object</a></span> </h5> <dl class="details"> <h5 class="subsection-title">Properties:</h5> <dl> <table class="props table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Argument</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>type</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="attributes"> </td> <td class="description last"><p>'BRANCH_ROOM_SOCKETS', 'CLIENT_STATE_NOTIFICATION'</p></td> </tr> <tr> <td class="name"><code>projectId</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="attributes"> </td> <td class="description last"><p>The id of the project</p></td> </tr> <tr> <td class="name"><code>branchName</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="attributes"> </td> <td class="description last"><p>The name of the branch</p></td> </tr> <tr> <td class="name"><code>userId</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="attributes"> </td> <td class="description last"><p>The user-id of the user who joined or left</p></td> </tr> <tr> <td class="name"><code>socketId</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="attributes"> </td> <td class="description last"><p>The unique socket-id of the user who joined or left (this can become hashed)</p></td> </tr> <tr> <td class="name"><code>join</code></td> <td class="type"> <span class="param-type"><a href="global.html#boolean">boolean</a></span> | <span class="param-type"><a href="global.html#undefined">undefined</a></span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Whether or not the user joined or left the room (undefined -&gt; false) this only applies to the 'BRANCH_ROOM_SOCKETS' event.</p></td> </tr> <tr> <td class="name"><code>state</code></td> <td class="type"> <span class="param-type"><a href="global.html#object">object</a></span> | <span class="param-type"><a href="global.html#null">null</a></span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>This only applies to the 'CLIENT_STATE_NOTIFICATION' event and is defined by the return value of the function passed in at client.registerUIStateGetter. Behind the scenes this emitted by the client when it receives a 'BRANCH_ROOM_SOCKETS' event in order to notify that new client that it has a user in the same room. But can also be emitted from the GUI by invoking client.emitStateNotification() (which is invoked by the generic webgme UI whenever its state changes). The state in the example below is specific for the generic webgme UI.</p></td> </tr> </tbody> </table> </dl> </dl> <h5>Examples</h5> <pre class="sunlight-highlight-javascript">{ &quot;type&quot;: &quot;CLIENT_STATE_NOTIFICATION&quot;, &quot;state&quot;: { &quot;activeAspect&quot;: &quot;All&quot;, &quot;activeTab&quot;: 0, &quot;layout&quot;: &quot;DefaultLayout&quot;, &quot;activeVisualizer&quot;: &quot;ModelEditor&quot;, &quot;activeProjectName&quot;: &quot;demo+SignalFlowSystem&quot;, &quot;activeBranchName&quot;: &quot;master&quot;, &quot;activeCommit&quot;: null, &quot;_toBeActiveObject&quot;: &quot;/682825457/607500954&quot;, &quot;activeObject&quot;: &quot;/682825457/607500954&quot;, &quot;activeSelection&quot;: [ &quot;/682825457/607500954&quot; ] }, &quot;projectId&quot;: &quot;demo+SignalFlowSystem&quot;, &quot;branchName&quot;: &quot;master&quot;, &quot;userId&quot;: &quot;demo&quot;, &quot;socketId&quot;: &quot;nczll3cDYPfoK7IeAAAT&quot; }</pre> <pre class="sunlight-highlight-javascript">{ &quot;projectId&quot;: &quot;demo+SignalFlowSystem&quot;, &quot;branchName&quot;: &quot;master&quot;, &quot;userId&quot;: &quot;demo&quot;, &quot;socketId&quot;: &quot;nczll3cDYPfoK7IeAAAT&quot;, &quot;type&quot;: &quot;BRANCH_ROOM_SOCKETS&quot;, &quot;join&quot;: true }</pre> </dd> <hr> <dt> <h4 class="name" id="event:NETWORK_STATUS_CHANGED">NETWORK_STATUS_CHANGED</h4> </dt> <dd> <div class="description"> <p>Fired when the network status changes. The returned value is one of:</p> <ul> <li><code>'CONNECTED'</code> - The websocket connection has been established (a project can be selected)</li> <li><code>'DISCONNECTED'</code> - The websocket connection is broken, the user can continue offline and any commits will be pushed automatically by the client when reconnected.</li> <li><code>'RECONNECTED'</code> - After a disconnect, the connection has been established again.</li> <li><code>'INCOMPATIBLE_CONNECTION'</code> - If the version of webgme-engine the server is different from the one loaded in the client at this point the browser must be refreshed.</li> <li><code>'CONNECTION_ERROR'</code> - Some unexpected error happened and the browser needs to be refreshed.</li> </ul> </div> <h5>Type: <span class="param-type"><a href="global.html#string">string</a></span> </h5> <dl class="details"> </dl> </dd> <hr> <dt> <h4 class="name" id="event:NOTIFICATION">NOTIFICATION</h4> </dt> <dd> <div class="description"> <p>A notification with a message to the end-user. Could be generated by plugins or add-ons, but also by GUI widgets.</p> </div> <h5>Type: <span class="param-type"><a href="global.html#object">object</a></span> </h5> <dl class="details"> <h5 class="subsection-title">Properties:</h5> <dl> <table class="props table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>message</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="description last"><p>The content of the message.</p></td> </tr> <tr> <td class="name"><code>severity</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="description last"><p>One of 'success', 'info', 'warn', 'error'</p></td> </tr> </tbody> </table> </dl> </dl> </dd> <hr> <dt> <h4 class="name" id="event:PLUGIN_FINISHED">PLUGIN_FINISHED</h4> </dt> <dd> <div class="description"> <p>Fired when the execution of a plugin - initiated by this given client - finished. The event data contains information about the executed plugin.</p> </div> <h5>Type: <span class="param-type"><a href="global.html#object">object</a></span> </h5> <dl class="details"> <h5 class="subsection-title">Properties:</h5> <dl> <table class="props table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>id</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="description last"><p>the id of the plugin</p></td> </tr> <tr> <td class="name"><code>name</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="description last"><p>the name of the plugin</p></td> </tr> <tr> <td class="name"><code>executionId</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="description last"><p>unique identifier that can be used for managing the execution and communicating with the running plugin</p></td> </tr> <tr> <td class="name"><code>metadata</code></td> <td class="type"> <span class="param-type"><a href="global.html#object">object</a></span> </td> <td class="description last"><p>the original metadata of the plugin</p></td> </tr> <tr> <td class="name"><code>context</code></td> <td class="type"> <span class="param-type"><a href="global.html#object">object</a></span> </td> <td class="description last"><p>the context of the plugin that has information about the project, active object, and configuration settings for the run</p></td> </tr> <tr> <td class="name"><code>canBeAborted</code></td> <td class="type"> <span class="param-type"><a href="global.html#boolean">boolean</a></span> </td> <td class="description last"><p>flag that show if the plugin can be aborted</p></td> </tr> <tr> <td class="name"><code>start</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="description last"><p>the exact time of the initiation of the plugin</p></td> </tr> <tr> <td class="name"><code>clientSide</code></td> <td class="type"> <span class="param-type"><a href="global.html#boolean">boolean</a></span> </td> <td class="description last"><p>flag showing if the execution is done on the client or the server side</p></td> </tr> <tr> <td class="name"><code>result</code></td> <td class="type"> <span class="param-type"><a href="global.html#object">object</a></span> </td> <td class="description last"><p>the result of the plugin - once it became available</p></td> </tr> </tbody> </table> </dl> </dl> </dd> <hr> <dt> <h4 class="name" id="event:PLUGIN_INITIATED">PLUGIN_INITIATED</h4> </dt> <dd> <div class="description"> <p>Fired when the client initiates a plugin execution. The event data contains information about the executed plugin.</p> </div> <h5>Type: <span class="param-type"><a href="global.html#object">object</a></span> </h5> <dl class="details"> <h5 class="subsection-title">Properties:</h5> <dl> <table class="props table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>id</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="description last"><p>the id of the plugin</p></td> </tr> <tr> <td class="name"><code>name</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="description last"><p>the name of the plugin</p></td> </tr> <tr> <td class="name"><code>executionId</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="description last"><p>unique identifier that can be used for managing the execution and communicating with the running plugin</p></td> </tr> <tr> <td class="name"><code>metadata</code></td> <td class="type"> <span class="param-type"><a href="global.html#object">object</a></span> </td> <td class="description last"><p>the original metadata of the plugin</p></td> </tr> <tr> <td class="name"><code>context</code></td> <td class="type"> <span class="param-type"><a href="global.html#object">object</a></span> </td> <td class="description last"><p>the context of the plugin that has information about the project, active object, and configuration settings for the run</p></td> </tr> <tr> <td class="name"><code>canBeAborted</code></td> <td class="type"> <span class="param-type"><a href="global.html#boolean">boolean</a></span> </td> <td class="description last"><p>flag that show if the plugin can be aborted</p></td> </tr> <tr> <td class="name"><code>start</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="description last"><p>the exact time of the initiation of the plugin</p></td> </tr> <tr> <td class="name"><code>clientSide</code></td> <td class="type"> <span class="param-type"><a href="global.html#boolean">boolean</a></span> </td> <td class="description last"><p>flag showing if the execution is done on the client or the server side</p></td> </tr> <tr> <td class="name"><code>result</code></td> <td class="type"> <span class="param-type"><a href="global.html#object">object</a></span> </td> <td class="description last"><p>the result of the plugin - once it became available</p></td> </tr> </tbody> </table> </dl> </dl> </dd> <hr> <dt> <h4 class="name" id="event:PLUGIN_NOTIFICATION">PLUGIN_NOTIFICATION</h4> </dt> <dd> <div class="description"> <p>Fired when the plugin sends a notification to the initiating client. The event data contains information about the executed plugin.</p> </div> <h5>Type: <span class="param-type"><a href="global.html#object">object</a></span> </h5> <dl class="details"> <h5 class="subsection-title">Properties:</h5> <dl> <table class="props table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Argument</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>pluginId</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="attributes"> </td> <td class="description last"><p>the id of the plugin</p></td> </tr> <tr> <td class="name"><code>pluginName</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="attributes"> </td> <td class="description last"><p>the name of the plugin</p></td> </tr> <tr> <td class="name"><code>pluginVersion</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="attributes"> </td> <td class="description last"><p>the version of the plugin normally in the form of x.y.z</p></td> </tr> <tr> <td class="name"><code>executionId</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="attributes"> </td> <td class="description last"><p>unique identifier that can be used for managing the execution and communicating with the running plugin</p></td> </tr> <tr> <td class="name"><code>projectId</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="attributes"> </td> <td class="description last"><p>the id of the project context the plugin uses</p></td> </tr> <tr> <td class="name"><code>branchName</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>the name of the branch the plugin runs in.</p></td> </tr> <tr> <td class="name"><code>commitHash</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>the hash of the commit that represent the version that the plugin runs at.</p></td> </tr> <tr> <td class="name"><code>notification</code></td> <td class="type"> <span class="param-type"><a href="global.html#object">object</a></span> </td> <td class="attributes"> </td> <td class="description last"><p>the content of the notification, as the plugin control the content there are no mandatory fields</p> <h6>Properties</h6> <table class="props table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Argument</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>message</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>the text content of the notification</p></td> </tr> <tr> <td class="name"><code>severity</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>the severity of the notification ('debug', 'info' (default), 'warning', 'error').</p></td> </tr> </tbody> </table> </td> </tr> <tr> <td class="name"><code>type</code></td> <td class="type"> <span class="param-type"><a href="global.html#string">string</a></span> </td> <td class="attributes"> </td> <td class="description last"><p>the exact type of the notification which should always be 'PLUGIN_NOTIFICATION'.</p></td> </tr> </tbody> </table> </dl> </dl> </dd> <hr> <dt> <h4 class="name" id="event:PROJECT_CLOSED">PROJECT_CLOSED</h4> </dt> <dd> <div class="description"> <p>Fired when the currently opened project is closed.</p> </div> <h5>Type: <span class="param-type"><a href="global.html#string">string</a></span> </h5> <dl class="details"> </dl> </dd> <hr> <dt> <h4 class="name" id="event:PROJECT_OPENED">PROJECT_OPENED</h4> </dt> <dd> <div class="description"> <p>Fired when a project is opened.</p> </div> <h5>Type: <span class="param-type"><a href="global.html#string">string</a></span> </h5> <dl class="details"> </dl> </dd> </dl> </article> </section> </div> </div> <div class="clearfix"></div> <div class="col-md-3"> <div id="toc" class="col-md-3 hidden-xs hidden-sm hidden-md"></div> </div> </div> </div> <div class="modal fade" id="searchResults"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title">Search results</h4> </div> <div class="modal-body"></div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div> <footer> <span class="copyright"> Copyright (c) 2012-2020 Vanderbilt University, ISIS (MIT) </span> <span class="jsdoc-message"> Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.7</a> on Fr 07/04/2023 using the <a href="https://github.com/docstrap/docstrap">DocStrap template</a>. </span> </footer> <script src="scripts/docstrap.lib.js"></script> <script src="scripts/toc.js"></script> <script type="text/javascript" src="scripts/fulltext-search-ui.js"></script> <script> $( function () { $( "[id*='$']" ).each( function () { var $this = $( this ); $this.attr( "id", $this.attr( "id" ).replace( "$", "__" ) ); } ); $( ".tutorial-section pre, .readme-section pre, pre.prettyprint.source" ).each( function () { var $this = $( this ); var example = $this.find( "code" ); exampleText = example.html(); var lang = /{@lang (.*?)}/.exec( exampleText ); if ( lang && lang[1] ) { exampleText = exampleText.replace( lang[0], "" ); example.html( exampleText ); lang = lang[1]; } else { var langClassMatch = example.parent()[0].className.match(/lang\-(\S+)/); lang = langClassMatch ? langClassMatch[1] : "javascript"; } if ( lang ) { $this .addClass( "sunlight-highlight-" + lang ) .addClass( "linenums" ) .html( example.html() ); } } ); Sunlight.highlightAll( { lineNumbers : false, showMenu : true, enableDoclinks : true } ); $.catchAnchorLinks( { navbarOffset: 10 } ); $( "#toc" ).toc( { anchorName : function ( i, heading, prefix ) { return $( heading ).attr( "id" ) || ( prefix + i ); }, selectors : "#toc-content h1,#toc-content h2,#toc-content h3,#toc-content h4", showAndHide : false, smoothScrolling: true } ); $( "#main span[id^='toc']" ).addClass( "toc-shim" ); $( '.dropdown-toggle' ).dropdown(); $( "table" ).each( function () { var $this = $( this ); $this.addClass('table'); } ); } ); </script> <!--Navigation and Symbol Display--> <!--Google Analytics--> <script type="text/javascript"> $(document).ready(function() { SearcherDisplay.init(); }); </script> </body> </html>