terriajs
Version:
Geospatial data visualization platform.
3,685 lines (965 loc) • 75.2 kB
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Class: CatalogFunction</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Class: CatalogFunction</h1>
<section>
<header>
<h2><span class="attribs"><span class="type-signature">(abstract) </span></span>CatalogFunction<span class="signature">(terria)</span><span class="type-signature"></span></h2>
</header>
<article>
<div class="container-overview">
<h4 class="name" id="CatalogFunction"><span class="type-signature">(abstract) </span>new CatalogFunction<span class="signature">(terria)</span><span class="type-signature"></span></h4>
<div class="description">
<p>A member of a catalog that does some kind of parameterized processing or analysis.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>terria</code></td>
<td class="type">
<span class="param-type"><a href="Terria.html">Terria</a></span>
</td>
<td class="description last"><p>The Terria instance.</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogFunction.js.html">Models/CatalogFunction.js</a>, <a href="Models_CatalogFunction.js.html#line28">line 28</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Extends</h3>
<ul>
<li><a href="CatalogMember.html">CatalogMember</a></li>
</ul>
<h3 class="subsection-title">Members</h3>
<h4 class="name" id=".parameters"><span class="type-signature">(static) </span>parameters<span class="type-signature"> :Array.<CatalogFunctionParameters></span></h4>
<div class="description">
<p>Gets the parameters used to <a href="CatalogFunction.html#invoke">CatalogFunction#invoke</a> to this process.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Array.<CatalogFunctionParameters></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogFunction.js.html">Models/CatalogFunction.js</a>, <a href="Models_CatalogFunction.js.html#line72">line 72</a>
</li></ul></dd>
</dl>
<h4 class="name" id=".parameters"><span class="type-signature">(static) </span>parameters<span class="type-signature"> :Array.<CatalogFunctionParameters></span></h4>
<div class="description">
<p>Gets the parameters used to <a href="CatalogFunction.html#invoke">CatalogFunction#invoke</a> to this process.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Array.<CatalogFunctionParameters></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_TerriaJsonCatalogFunction.js.html">Models/TerriaJsonCatalogFunction.js</a>, <a href="Models_TerriaJsonCatalogFunction.js.html#line267">line 267</a>
</li></ul></dd>
</dl>
<h4 class="name" id="_memoizedInfoItemsSourceLookup"><span class="type-signature"></span>_memoizedInfoItemsSourceLookup<span class="type-signature"></span></h4>
<div class="description">
<p>Lookup table for _sourceInfoItemNames, access through CatalogMember#_infoItemsWithSourceInfoLookup</p>
</div>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#_memoizedInfoItemsSourceLookup">CatalogMember#_memoizedInfoItemsSourceLookup</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line196">line 196</a>
</li></ul></dd>
</dl>
<h4 class="name" id="cacheDuration"><span class="type-signature"></span>cacheDuration<span class="type-signature"> :String</span></h4>
<div class="description">
<p>Gets or sets the cache duration to use for proxied URLs for this catalog member. If undefined, proxied URLs are effectively cachable
forever. The duration is expressed as a Varnish-like duration string, such as '1d' (one day) or '10000s' (ten thousand seconds).</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">String</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#cacheDuration">CatalogMember#cacheDuration</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line104">line 104</a>
</li></ul></dd>
</dl>
<h4 class="name" id="contextItem"><span class="type-signature"></span>contextItem<span class="type-signature"> :<a href="CatalogItem.html">CatalogItem</a></span></h4>
<div class="description">
<p>A catalog item that will be enabled while preparing to invoke this catalog function, in order to
provide context for the function.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="CatalogItem.html">CatalogItem</a></span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogFunction.js.html">Models/CatalogFunction.js</a>, <a href="Models_CatalogFunction.js.html#line47">line 47</a>
</li></ul></dd>
</dl>
<h4 class="name" id="customProperties"><span class="type-signature"></span>customProperties<span class="type-signature"> :Object</span></h4>
<div class="description">
<p>Gets or sets the dictionary of custom item properties. This property is observable.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#customProperties">CatalogMember#customProperties</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line117">line 117</a>
</li></ul></dd>
</dl>
<h4 class="name" id="description"><span class="type-signature"></span>description<span class="type-signature"> :String</span></h4>
<div class="description">
<p>Gets or sets the description of the item. This property is observable.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">String</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#description">CatalogMember#description</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line44">line 44</a>
</li></ul></dd>
</dl>
<h4 class="name" id="forceProxy"><span class="type-signature"></span>forceProxy<span class="type-signature"> :Boolean</span></h4>
<div class="description">
<p>Gets or sets whether or not this member should be forced to use a proxy.
This property is not observable.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#forceProxy">CatalogMember#forceProxy</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line111">line 111</a>
</li></ul></dd>
</dl>
<h4 class="name" id="hasDescription"><span class="type-signature"></span>hasDescription<span class="type-signature"> :Boolean</span></h4>
<div class="description">
<p>Tests whether a description is available, either in the 'description' property
or as a member of the 'info' array.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#hasDescription">CatalogMember#hasDescription</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line326">line 326</a>
</li></ul></dd>
</dl>
<h4 class="name" id="hideSource"><span class="type-signature"></span>hideSource<span class="type-signature"> :boolean</span></h4>
<div class="description">
<p>Indicates that the source of this data should be hidden from the UI (obviously this isn't super-secure as you
can just look at the network requests).</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#hideSource">CatalogMember#hideSource</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line174">line 174</a>
</li></ul></dd>
</dl>
<h4 class="name" id="id"><span class="type-signature"></span>id<span class="type-signature"> :String</span></h4>
<div class="description">
<p>An optional unique id for this member, that is stable across renames and moves.
Use uniqueId to get the canonical unique id for this CatalogMember, which is present even if there is no id.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">String</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#id">CatalogMember#id</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line124">line 124</a>
</li></ul></dd>
</dl>
<h4 class="name" id="info"><span class="type-signature"></span>info<span class="type-signature"> :Array.<Object></span></h4>
<div class="description">
<p>Gets or sets the array of section titles and contents for display in the layer info panel.
In future this may replace 'description' above - this list should not contain
sections named 'description' or 'Description' if the 'description' property
is also set as both will be displayed.
The object is of the form {name:string, content:string}.
Content will be rendered as Markdown with HTML.
This property is observable.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Array.<Object></span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#info">CatalogMember#info</a>
</li></ul></dd>
<dt class="tag-default">Default Value:</dt>
<dd class="tag-default"><ul class="dummy">
<li>[]</li>
</ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line57">line 57</a>
</li></ul></dd>
</dl>
<h4 class="name" id="infoSectionOrder"><span class="type-signature"></span>infoSectionOrder<span class="type-signature"> :Array.<String></span></h4>
<div class="description">
<p>Gets or sets the array of section titles definining the display order of info sections. If this property
is not defined, DataPreviewSections's DEFAULT_SECTION_ORDER is used. This property is observable.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Array.<String></span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#infoSectionOrder">CatalogMember#infoSectionOrder</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line64">line 64</a>
</li></ul></dd>
</dl>
<h4 class="name" id="initialMessage"><span class="type-signature"></span>initialMessage<span class="type-signature"> :Object</span></h4>
<div class="description">
<p>A message object that is presented to the user when an item or group is initially clicked
The object is of the form {title:string, content:string, key: string, confirmation: boolean, confirmText: string, width: number, height: number}.
This property is observable.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#initialMessage">CatalogMember#initialMessage</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line97">line 97</a>
</li></ul></dd>
</dl>
<h4 class="name" id="isGroup"><span class="type-signature"></span>isGroup<span class="type-signature"> :Boolean</span></h4>
<div class="description">
<p>Gets a value that tells the UI whether this is a group.
Groups, when clicked, expand to show their constituent items.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#isGroup">CatalogMember#isGroup</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line262">line 262</a>
</li></ul></dd>
</dl>
<h4 class="name" id="isHidden"><span class="type-signature"></span>isHidden<span class="type-signature"> :Boolean</span></h4>
<div class="description">
<p>Gets or sets a value indicating whether this item is hidden from the catalog. This
property is observable.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#isHidden">CatalogMember#isHidden</a>
</li></ul></dd>
<dt class="tag-default">Default Value:</dt>
<dd class="tag-default"><ul class="dummy">
<li>false</li>
</ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line89">line 89</a>
</li></ul></dd>
</dl>
<h4 class="name" id="isLoading"><span class="type-signature"></span>isLoading<span class="type-signature"> :Boolean</span></h4>
<div class="description">
<p>Gets or sets a value indicating whether the group is currently loading. This property
is observable.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogFunction.js.html">Models/CatalogFunction.js</a>, <a href="Models_CatalogFunction.js.html#line40">line 40</a>
</li></ul></dd>
</dl>
<h4 class="name" id="isPromoted"><span class="type-signature"></span>isPromoted<span class="type-signature"> :Boolean</span></h4>
<div class="description">
<p>Gets or sets a value indicating whether this item is kept above other non-promoted items.
This property is observable.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#isPromoted">CatalogMember#isPromoted</a>
</li></ul></dd>
<dt class="tag-default">Default Value:</dt>
<dd class="tag-default"><ul class="dummy">
<li>false</li>
</ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line81">line 81</a>
</li></ul></dd>
</dl>
<h4 class="name" id="isUserSupplied"><span class="type-signature"></span>isUserSupplied<span class="type-signature"> :Boolean</span></h4>
<div class="description">
<p>Gets or sets a value indicating whether this member was supplied by the user rather than loaded from one of the
<a href="Terria.html#initSources">Terria#initSources</a>. User-supplied members must be serialized completely when, for example,
serializing enabled members for sharing. This property is observable.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#isUserSupplied">CatalogMember#isUserSupplied</a>
</li></ul></dd>
<dt class="tag-default">Default Value:</dt>
<dd class="tag-default"><ul class="dummy">
<li>true</li>
</ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line73">line 73</a>
</li></ul></dd>
</dl>
<h4 class="name" id="isWaitingForDisclaimer"><span class="type-signature"></span>isWaitingForDisclaimer<span class="type-signature"> :boolean</span></h4>
<div class="description">
<p>Whether this catalog member is waiting for a disclaimer to be accepted before showing itself.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#isWaitingForDisclaimer">CatalogMember#isWaitingForDisclaimer</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line166">line 166</a>
</li></ul></dd>
</dl>
<h4 class="name" id="name"><span class="type-signature"></span>name<span class="type-signature"> :String</span></h4>
<div class="description">
<p>Gets or sets the name of the item. This property is observable.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">String</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#name">CatalogMember#name</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line38">line 38</a>
</li></ul></dd>
</dl>
<h4 class="name" id="nameInCatalog"><span class="type-signature"></span>nameInCatalog<span class="type-signature"> :String</span></h4>
<div class="description">
<p>Gets or sets the name of this catalog member in the catalog. By default this is just <code>name</code>, but can be overridden.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">String</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#nameInCatalog">CatalogMember#nameInCatalog</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line216">line 216</a>
</li></ul></dd>
</dl>
<h4 class="name" id="parent"><span class="type-signature"></span>parent<span class="type-signature"> :<a href="CatalogGroup.html">CatalogGroup</a></span></h4>
<div class="description">
<p>The parent <a href="CatalogGroup.html">CatalogGroup</a> of this member.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="CatalogGroup.html">CatalogGroup</a></span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#parent">CatalogMember#parent</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line139">line 139</a>
</li></ul></dd>
</dl>
<h4 class="name" id="propertiesForSharing"><span class="type-signature"></span>propertiesForSharing<span class="type-signature"> :Array.<String></span></h4>
<div class="description">
<p>Gets the set of names of the properties to be serialized for this object when <a href="CatalogMember.html#serializeToJson">CatalogMember#serializeToJson</a>
is called for a share link.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Array.<String></span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#propertiesForSharing">CatalogMember#propertiesForSharing</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line314">line 314</a>
</li></ul></dd>
</dl>
<h4 class="name" id="serializers"><span class="type-signature"></span>serializers<span class="type-signature"> :Object</span></h4>
<div class="description">
<p>Gets the set of functions used to serialize individual properties in <a href="CatalogMember.html#serializeToJson">CatalogMember#serializeToJson</a>.
When a property name on the model matches the name of a property in the serializers object literal,
the value will be called as a function and passed a reference to the model, a reference to the destination
JSON object literal, and the name of the property.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a href="CatalogMember.html#serializers">CatalogMember#serializers</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogFunction.js.html">Models/CatalogFunction.js</a>, <a href="Models_CatalogFunction.js.html#line111">line 111</a>
</li></ul></dd>
</dl>
<h4 class="name" id="shareKeys"><span class="type-signature"></span>shareKeys<span class="type-signature"> :Array.<String></span></h4>
<div class="description">
<p>An array of all possible keys that can be used to match to this catalog member when specified in a share link -
used for maintaining backwards compatibility when adding or changing <a href="CatalogMember.html#id">CatalogMember#id</a>.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Array.<String></span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#shareKeys">CatalogMember#shareKeys</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line132">line 132</a>
</li></ul></dd>
</dl>
<h4 class="name" id="shortReport"><span class="type-signature"></span>shortReport<span class="type-signature"> :String</span></h4>
<div class="description">
<p>A short report to show on the now viewing tab. This property is observable.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">String</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#shortReport">CatalogMember#shortReport</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line145">line 145</a>
</li></ul></dd>
</dl>
<h4 class="name" id="shortReportSections"><span class="type-signature"></span>shortReportSections<span class="type-signature"> :Array.<ShortReportSection></span></h4>
<div class="description">
<p>The list of collapsible sections of the short report. Each element of the array is an object literal
with a <code>name</code> and <code>content</code> property.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Array.<ShortReportSection></span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#shortReportSections">CatalogMember#shortReportSections</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line152">line 152</a>
</li></ul></dd>
</dl>
<h4 class="name" id="showsInfo"><span class="type-signature"></span>showsInfo<span class="type-signature"> :Boolean</span></h4>
<div class="description">
<p>Gets a value indicating whether this catalog member can show information. If so, an info icon will be shown next to the item
in the data catalog.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogFunction.js.html">Models/CatalogFunction.js</a>, <a href="Models_CatalogFunction.js.html#line61">line 61</a>
</li></ul></dd>
</dl>
<h4 class="name" id="terria"><span class="type-signature"></span>terria<span class="type-signature"> :<a href="Terria.html">Terria</a></span></h4>
<div class="description">
<p>Gets the Terria instance.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type"><a href="Terria.html">Terria</a></span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#terria">CatalogMember#terria</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line273">line 273</a>
</li></ul></dd>
</dl>
<h4 class="name" id="type"><span class="type-signature"></span>type<span class="type-signature"> :String</span></h4>
<div class="description">
<p>Gets the type of data item represented by this instance.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">String</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#type">CatalogMember#type</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line239">line 239</a>
</li></ul></dd>
</dl>
<h4 class="name" id="typeName"><span class="type-signature"></span>typeName<span class="type-signature"> :String</span></h4>
<div class="description">
<p>Gets a human-readable name for this type of data source, such as 'Web Map Service (WMS)'.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">String</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#typeName">CatalogMember#typeName</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line250">line 250</a>
</li></ul></dd>
</dl>
<h4 class="name" id="uniqueId"><span class="type-signature"></span>uniqueId<span class="type-signature"> :String</span></h4>
<div class="description">
<p>The canonical unique id for this CatalogMember. Will be the id property if one is present, otherwise it will fall
back to the uniqueId of this item's parent + this item's name. This means that if no id is set anywhere up the
tree, the uniqueId will be a complete path of this member's location.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">String</span>
</li>
</ul>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#uniqueId">CatalogMember#uniqueId</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line343">line 343</a>
</li></ul></dd>
</dl>
<h4 class="name" id="updaters"><span class="type-signature"></span>updaters<span class="type-signature"> :Object</span></h4>
<div class="description">
<p>Gets the set of functions used to update individual properties in <a href="CatalogMember.html#updateFromJson">CatalogMember#updateFromJson</a>.
When a property name in the returned object literal matches the name of a property on this instance, the value
will be called as a function and passed a reference to this instance, a reference to the source JSON object
literal, and the name of the property.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Object</span>
</li>
</ul>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a href="CatalogMember.html#updaters">CatalogMember#updaters</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogFunction.js.html">Models/CatalogFunction.js</a>, <a href="Models_CatalogFunction.js.html#line97">line 97</a>
</li></ul></dd>
</dl>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="connectsWithRoot"><span class="type-signature"></span>connectsWithRoot<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
<p>Goes up the hierarchy and determines if this CatalogMember is connected with the root in terria.catalog, or whether it's
part of a disconnected sub-tree.</p>
</div>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#connectsWithRoot">CatalogMember#connectsWithRoot</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line541">line 541</a>
</li></ul></dd>
</dl>
<h4 class="name" id="enableWithParents"><span class="type-signature"></span>enableWithParents<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
<p>"Enables" this catalog member in a way that makes sense for its implementation (e.g. isEnabled for items, isOpen for
groups, and all its parents and ancestors in the tree.</p>
</div>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#enableWithParents">CatalogMember#enableWithParents</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line553">line 553</a>
</li></ul></dd>
</dl>
<h4 class="name" id="findInfoSection"><span class="type-signature"></span>findInfoSection<span class="signature">(sectionName)</span><span class="type-signature"> → {Object}</span></h4>
<div class="description">
<p>Finds an <a href="CatalogMember.html#info">CatalogMember#info</a> section by name.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>sectionName</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last"><p>The name of the section to find.</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a href="CatalogMember.html#findInfoSection">CatalogMember#findInfoSection</a>
</li></ul></dd>
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogMember.js.html">Models/CatalogMember.js</a>, <a href="Models_CatalogMember.js.html#line528">line 528</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>The section, or undefined if no section with that name exists.</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Object</span>
</dd>
</dl>
<h4 class="name" id="getParameterValues"><span class="type-signature"></span>getParameterValues<span class="signature">()</span><span class="type-signature"> → {Object}</span></h4>
<div class="description">
<p>Gets the current parameters to this function.</p>
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogFunction.js.html">Models/CatalogFunction.js</a>, <a href="Models_CatalogFunction.js.html#line227">line 227</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>An object with a property for each parameter. The property name is the <code>id</code> of the
parameter and the property value is the value of that parameter.</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Object</span>
</dd>
</dl>
<h4 class="name" id="invoke"><span class="type-signature"></span>invoke<span class="signature">()</span><span class="type-signature"> → {AsyncProcessResultCatalogItem}</span></h4>
<div class="description">
<p>Invokes the function.</p>
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogFunction.js.html">Models/CatalogFunction.js</a>, <a href="Models_CatalogFunction.js.html#line218">line 218</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>The result of invoking this process. Because the process typically proceeds asynchronously, the result is a temporary
catalog item that resolves to the real one once the process finishes.</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">AsyncProcessResultCatalogItem</span>
</dd>
</dl>
<h4 class="name" id="load"><span class="type-signature"></span>load<span class="signature">()</span><span class="type-signature"> → {Promise}</span></h4>
<div class="description">
<p>Loads this function, if it's not already loaded. It is safe to
call this method multiple times. The <a href="CatalogFunction.html#isLoading">CatalogFunction#isLoading</a> flag will be set while the load is in progress.
Derived classes should implement CatalogFunction#_load to perform the actual loading for the function.
Derived classes may optionally implement CatalogFunction#_getValuesThatInfluenceLoad to provide an array containing
the current value of all properties that influence this function's load process. Each time that <a href="CatalogFunction.html#load">CatalogFunction#load</a>
is invoked, these values are checked against the list of values returned last time, and CatalogFunction#_load is
invoked again if they are different. If CatalogFunction#_getValuesThatInfluenceLoad is undefined or returns an
empty array, CatalogFunction#_load will only be invoked once, no matter how many times
<a href="CatalogFunction.html#load">CatalogFunction#load</a> is invoked.</p>
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="Models_CatalogFunction.js.html">Models/CatalogFunction.js</a>, <a href="Models_CatalogFunction.js.html#line166">line 166</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>A promise that resolves when the load is complete, or undefined if the function is already loaded.</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise</span>
</dd>
</dl>
<h4 class="name" id="serializeToJson"><span class="type-signature"></span>serializeToJson<span class="signature">(options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Object}</span></h4>
<div class="description">
<p>Serializes the data item to JSON.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>options</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"><p>Object with the following properties:</p>
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>propertyFilter</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"><p>Filter function that will be executed to determine whether a property
should be serialized.</p></td>
</tr>
<tr>
<td class="name"><code>itemFilter</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="attributes">
<optional><br>