@disy/cadenza.js 11.0.0 → 11.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/apidoc/assets/icons.js +1 -1
- package/apidoc/assets/icons.svg +1 -1
- package/apidoc/assets/main.js +5 -5
- package/apidoc/assets/navigation.js +1 -1
- package/apidoc/assets/search.js +1 -1
- package/apidoc/assets/style.css +248 -226
- package/apidoc/classes/AbortError.html +60 -60
- package/apidoc/classes/CadenzaClient.html +170 -166
- package/apidoc/classes/CadenzaError.html +16 -16
- package/apidoc/functions/cadenza.html +8 -8
- package/apidoc/hierarchy.html +1 -0
- package/apidoc/index.html +83 -44
- package/apidoc/interfaces/AreaIntersectionsResult.html +6 -6
- package/apidoc/interfaces/CadenzaClientOptions.html +11 -11
- package/apidoc/interfaces/CadenzaEvent.html +6 -6
- package/apidoc/interfaces/CommonEditGeometryOptions.html +22 -22
- package/apidoc/interfaces/Distance.html +3 -3
- package/apidoc/interfaces/ExternalLinkKey.html +6 -6
- package/apidoc/interfaces/Feature.html +16 -16
- package/apidoc/interfaces/FeatureCollection.html +6 -6
- package/apidoc/interfaces/Geometry.html +6 -6
- package/apidoc/interfaces/GeometryExtentStrategy.html +6 -6
- package/apidoc/interfaces/LayerDataExtentStrategy.html +6 -6
- package/apidoc/interfaces/LayerDefinition.html +7 -7
- package/apidoc/interfaces/LocationFinderExtentStrategy.html +6 -6
- package/apidoc/interfaces/PageSource.html +4 -4
- package/apidoc/interfaces/ProblemDetails.html +10 -10
- package/apidoc/interfaces/SnappingOptions.html +5 -5
- package/apidoc/interfaces/SpatialFilterValue.html +6 -6
- package/apidoc/interfaces/StaticExtentStrategy.html +6 -6
- package/apidoc/modules.html +1 -1
- package/apidoc/types/AttributeValue.html +3 -0
- package/apidoc/types/CadenzaActionEvent.html +2 -2
- package/apidoc/types/CadenzaChangeExtentEvent.html +2 -2
- package/apidoc/types/CadenzaChangeSelectionEvent.html +2 -2
- package/apidoc/types/CadenzaDrillThroughEvent.html +2 -2
- package/apidoc/types/CadenzaEditGeometryCancelEvent.html +2 -2
- package/apidoc/types/CadenzaEditGeometryCreateEvent.html +2 -2
- package/apidoc/types/CadenzaEditGeometryDeleteEvent.html +2 -2
- package/apidoc/types/CadenzaEditGeometryEditEvent.html +2 -2
- package/apidoc/types/CadenzaEditGeometryOkEvent.html +2 -2
- package/apidoc/types/CadenzaEditGeometryUpdateEvent.html +2 -2
- package/apidoc/types/CadenzaErrorEvent.html +2 -2
- package/apidoc/types/CadenzaEventByType.html +1 -1
- package/apidoc/types/CadenzaEventType.html +2 -2
- package/apidoc/types/CadenzaReloadEvent.html +2 -2
- package/apidoc/types/CadenzaSelectObjectsCancelEvent.html +2 -2
- package/apidoc/types/CadenzaSelectObjectsOkEvent.html +2 -2
- package/apidoc/types/Coordinate.html +2 -2
- package/apidoc/types/CustomValidityType.html +2 -2
- package/apidoc/types/DataType.html +2 -2
- package/apidoc/types/EmbeddingTargetId.html +2 -2
- package/apidoc/types/Extent.html +2 -2
- package/apidoc/types/ExtentStrategy.html +2 -2
- package/apidoc/types/FilterVariables.html +7 -6
- package/apidoc/types/GeometryType.html +2 -2
- package/apidoc/types/GlobalId.html +2 -2
- package/apidoc/types/Layout.html +2 -2
- package/apidoc/types/LengthUnit.html +1 -1
- package/apidoc/types/LenientAttributeValue.html +21 -0
- package/apidoc/types/OpaqueString.html +2 -2
- package/apidoc/types/OperationMode.html +2 -2
- package/apidoc/types/Polygon.html +1 -1
- package/apidoc/types/SpatialRelation.html +2 -2
- package/apidoc/types/TablePart.html +2 -2
- package/apidoc/types/UiFeature.html +2 -2
- package/apidoc/types/WorkbookLayerPath.html +2 -2
- package/apidoc/types/WorksheetPlaceholders.html +2 -2
- package/cadenza.d.ts +30 -15
- package/cadenza.js +78 -31
- package/package.json +8 -8
- package/sandbox.html +1 -0
package/apidoc/index.html
CHANGED
|
@@ -1,21 +1,26 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="./"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Cadenza JS - v11.0.2</title><meta name="description" content="Documentation for Cadenza JS"/><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/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="index.html" class="title">Cadenza JS - v11.0.2</a><div id="tsd-toolbar-links"><a href="https://github.com/DisyInformationssysteme/cadenza.js">Cadenza JS on GitHub</a></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>Cadenza JS - v11.0.2</h1></div><div class="tsd-panel tsd-typography"><!-- prettier-ignore-start -->
|
|
2
2
|
<p>Cadenza JS is a JavaScript library to use the <a href="https://www.disy.net/en/products/disy-cadenza/">disy Cadenza</a> APIs conveniently without having to deal with technical details like parameter encoding or the <code>postMessage()</code> Web API.</p>
|
|
3
3
|
<ul>
|
|
4
4
|
<li><a href="#installation">Installation</a></li>
|
|
5
5
|
<li><a href="#usage-examples">Usage Examples</a></li>
|
|
6
6
|
<li><a href="#the-development-sandbox">The development sandbox</a></li>
|
|
7
7
|
</ul>
|
|
8
|
-
<
|
|
8
|
+
<h2 id="installation" class="tsd-anchor-link">Installation<a href="#installation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
9
|
+
<p>Cadenza JS is included in the Cadenza distribution in the corresponding version.</p>
|
|
9
10
|
<p>Alternatively you can install the most recent version for a particular Cadenza Release using npm:</p>
|
|
10
11
|
<pre><code class="bash"><span class="hl-0">npm</span><span class="hl-1"> </span><span class="hl-2">install</span><span class="hl-1"> </span><span class="hl-2">@disy/cadenza.js@~10.2.0</span><span class="hl-1"> </span><span class="hl-3"># For latest version for Cadenza 10.2 </span>
|
|
11
12
|
</code><button type="button">Copy</button></pre>
|
|
12
13
|
|
|
13
14
|
<p>The Cadenza main version is reflected in the corresponding major and minor version of Cadenza JS (e.g. 10.2.0 for Cadenza 10.2), while the last version segment is increased for both, bugfixes and functional changes.</p>
|
|
14
|
-
<
|
|
15
|
-
<
|
|
16
|
-
<
|
|
15
|
+
<h3 id="cadenza-101-and-earlier" class="tsd-anchor-link">Cadenza 10.1 and earlier<a href="#cadenza-101-and-earlier" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
16
|
+
<p>For Cadenza 10.1 and earlier versions Cadenza JS did use genuine semantic versioning. Please consult the Cadenza Documentation for the corresponding major and minor version of cadenza.js.</p>
|
|
17
|
+
<h2 id="usage-examples" class="tsd-anchor-link">Usage Examples<a href="#usage-examples" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
18
|
+
<p>This section features usage examples for Cadenza JS. For detailed usage information, see the "API:" links.</p>
|
|
19
|
+
<h3 id="general-usage" class="tsd-anchor-link">General Usage<a href="#general-usage" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
20
|
+
<p><small>API: <a href="./functions/cadenza.html">cadenza()</a></small></p>
|
|
17
21
|
<p>There are two ways to use Cadenza JS: As a module and globally.</p>
|
|
18
|
-
<
|
|
22
|
+
<h4 id="as-a-module" class="tsd-anchor-link">As a module<a href="#as-a-module" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
23
|
+
<p>Create an instance of the Cadenza client by calling <code>cadenza()</code> with the base URL of your Cadenza instance. Pass an iframe in the options if you want to show Cadenza in an iframe.</p>
|
|
19
24
|
<pre><code class="html"><span class="hl-4"><</span><span class="hl-5">iframe</span><span class="hl-1"> </span><span class="hl-6">id</span><span class="hl-1">=</span><span class="hl-7">"cadenza-iframe"</span><span class="hl-4">></</span><span class="hl-5">iframe</span><span class="hl-4">></span>
|
|
20
25
|
</code><button type="button">Copy</button></pre>
|
|
21
26
|
|
|
@@ -23,7 +28,8 @@
|
|
|
23
28
|
</code><button type="button">Copy</button></pre>
|
|
24
29
|
|
|
25
30
|
<p><em>Tip:</em> If you develop your application in TypeScript - Cadenza JS is typed using JSDoc and also comes with a <code>cadenza.d.ts</code> type definition file.</p>
|
|
26
|
-
<
|
|
31
|
+
<h4 id="globally" class="tsd-anchor-link">Globally<a href="#globally" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
32
|
+
<pre><code class="html"><span class="hl-4"><</span><span class="hl-5">script</span><span class="hl-12"> </span><span class="hl-6">type</span><span class="hl-12">=</span><span class="hl-7">"module"</span><span class="hl-12"> </span><span class="hl-6">src</span><span class="hl-12">=</span><span class="hl-7">"./cadenza.js"</span><span class="hl-4">></span>
|
|
27
33
|
</code><button type="button">Copy</button></pre>
|
|
28
34
|
|
|
29
35
|
<pre><code class="javascript"><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">cadenzaClient</span><span class="hl-1"> = </span><span class="hl-9">window</span><span class="hl-1">.</span><span class="hl-0">cadenza</span><span class="hl-1">(...);</span>
|
|
@@ -37,14 +43,16 @@
|
|
|
37
43
|
<pre><code class="javascript"><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">cadenza</span><span class="hl-1"> = </span><span class="hl-9">window</span><span class="hl-1">.</span><span class="hl-9">cadenza</span><span class="hl-1">.</span><span class="hl-0">noConflict</span><span class="hl-1">();</span>
|
|
38
44
|
</code><button type="button">Copy</button></pre>
|
|
39
45
|
|
|
40
|
-
<
|
|
46
|
+
<h3 id="communication-with-parent-cadenza" class="tsd-anchor-link">Communication with parent Cadenza<a href="#communication-with-parent-cadenza" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
47
|
+
<p>If your application is opened from inside Cadenza (e.g. in a popup), you can send commands to parent Cadenza window.
|
|
41
48
|
To do that, create CadenzaClient with no arguments:</p>
|
|
42
49
|
<pre><code class="javascript"><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">parentClient</span><span class="hl-1"> = </span><span class="hl-9">window</span><span class="hl-1">.</span><span class="hl-0">cadenza</span><span class="hl-1">();</span>
|
|
43
50
|
</code><button type="button">Copy</button></pre>
|
|
44
51
|
|
|
45
52
|
<p><em>Warning:</em> Not every operation can be done when dealing with parent Cadenza. For example <code>reload</code> and <code>expandNavigator</code>
|
|
46
53
|
work, but <code>show</code>, <code>showMap</code> etc. require an iframe. Using these functions in this mode will result in errors.</p>
|
|
47
|
-
<
|
|
54
|
+
<h3 id="show-an-embedding-target-in-an-iframe" class="tsd-anchor-link">Show an Embedding Target in an Iframe<a href="#show-an-embedding-target-in-an-iframe" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
55
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#show">CadenzaClient#show</a></small></p>
|
|
48
56
|
<p>Show an embedding target in an iframe and ...</p>
|
|
49
57
|
<ul>
|
|
50
58
|
<li>Hide Cadenza's main header and footer and the workbook toolbar.</li>
|
|
@@ -63,23 +71,27 @@ work, but <code>show</code>, <code>showMap</code> etc. require an iframe. Using
|
|
|
63
71
|
<li>If the embedding target cannot be resolved, a 404 page is shown to the user.</li>
|
|
64
72
|
<li>Cadenza JS does not handle user authentication: If the user is not already logged in, the normal authentication flow of Cadenza will run. By default, the login page would be shown to the user.</li>
|
|
65
73
|
</ul>
|
|
66
|
-
<
|
|
74
|
+
<h4 id="show-the-generated-pdf-of-a-jasperreports-report-view-directly" class="tsd-anchor-link">Show the Generated PDF of a "JasperReports report" View Directly<a href="#show-the-generated-pdf-of-a-jasperreports-report-view-directly" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
75
|
+
<p>Views of type "JasperReports report" can be shown in an iframe like any other view. Additionally, there is an option to show only the generated PDF without any Cadenza footers or headers. This is done by setting the "dataType" option to "pdf".</p>
|
|
67
76
|
<pre><code class="javascript"><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">show</span><span class="hl-1">(</span><span class="hl-2">'<embeddingTargetId>'</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-9">dataType:</span><span class="hl-1"> </span><span class="hl-2">'pdf'</span><br/><span class="hl-1">});</span>
|
|
68
77
|
</code><button type="button">Copy</button></pre>
|
|
69
78
|
|
|
70
|
-
<
|
|
79
|
+
<h4 id="fill-worksheet-placeholders-in-reports" class="tsd-anchor-link">Fill Worksheet Placeholders in Reports<a href="#fill-worksheet-placeholders-in-reports" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
80
|
+
<p>Embedding targets of type report are shown as PDF. Additionally, if the report template of the embedding target contains
|
|
71
81
|
worksheet placeholder elements, they will be replaced by the worksheets according to <code>worksheetPlaceholders</code> parameter.
|
|
72
82
|
In the example below, the worksheet placeholder with the ID "placeholder1" will be replaced with a worksheet
|
|
73
83
|
"First worksheet" from the workbook of the embedding target.</p>
|
|
74
84
|
<pre><code class="javascript"><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">show</span><span class="hl-1">(</span><span class="hl-2">'<embeddingTargetId>'</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-9">worksheetPlaceholders:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">placeholder1:</span><span class="hl-1"> </span><span class="hl-2">'First worksheet'</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">});</span>
|
|
75
85
|
</code><button type="button">Copy</button></pre>
|
|
76
86
|
|
|
77
|
-
<
|
|
87
|
+
<h3 id="abort-iframe-loading" class="tsd-anchor-link">Abort (Iframe) Loading<a href="#abort-iframe-loading" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
88
|
+
<p>Cadenza JS uses the <a href="https://developer.mozilla.org/en-US/docs/Web/API/AbortController">AbortController Web API</a> for aborting requests. This is supported by most of the public methods.</p>
|
|
78
89
|
<pre><code class="javascript"><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">abortController</span><span class="hl-1"> = </span><span class="hl-10">new</span><span class="hl-1"> </span><span class="hl-0">AbortController</span><span class="hl-1">();</span><br/><span class="hl-8">try</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-8">await</span><span class="hl-1"> </span><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">show</span><span class="hl-1">(</span><span class="hl-2">'<embeddingTargetId>'</span><span class="hl-1">, { </span><span class="hl-9">signal:</span><span class="hl-1"> </span><span class="hl-9">abortController</span><span class="hl-1">.</span><span class="hl-9">signal</span><span class="hl-1"> });</span><br/><span class="hl-1">} </span><span class="hl-8">catch</span><span class="hl-1"> (</span><span class="hl-9">error</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-8">if</span><span class="hl-1"> (</span><span class="hl-9">error</span><span class="hl-1">.</span><span class="hl-9">name</span><span class="hl-1"> === </span><span class="hl-2">'AbortError'</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-9">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'Iframe loading was aborted'</span><span class="hl-1">);</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-9">cancelButton</span><span class="hl-1">.</span><span class="hl-0">onclick</span><span class="hl-1"> = () </span><span class="hl-10">=></span><span class="hl-1"> </span><span class="hl-9">abortController</span><span class="hl-1">.</span><span class="hl-0">abort</span><span class="hl-1">();</span>
|
|
79
90
|
</code><button type="button">Copy</button></pre>
|
|
80
91
|
|
|
81
92
|
<p><em>Tip:</em> You can use the same <code>AbortController</code> to abort multiple requests, e.g. when embedding Cadenza in multiple iframes.</p>
|
|
82
|
-
<
|
|
93
|
+
<h3 id="set-filters-in-the-currently-shown-embedding-target" class="tsd-anchor-link">Set Filters in the Currently Shown Embedding Target<a href="#set-filters-in-the-currently-shown-embedding-target" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
94
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#setfilter">CadenzaClient#setFilter</a></small></p>
|
|
83
95
|
<p>Set filter variables using a mapping of variable names to values.</p>
|
|
84
96
|
<pre><code class="javascript"><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">setFilter</span><span class="hl-1">({ </span><span class="hl-2">'<variableName>'</span><span class="hl-9">:</span><span class="hl-1"> </span><span class="hl-2">'value'</span><span class="hl-1"> });</span>
|
|
85
97
|
</code><button type="button">Copy</button></pre>
|
|
@@ -89,7 +101,8 @@ In the example below, the worksheet placeholder with the ID "placeholder1&q
|
|
|
89
101
|
<pre><code class="javascript"><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">setFilter</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-2">'$spatial'</span><span class="hl-9">:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-2">"spatialRelation"</span><span class="hl-9">:</span><span class="hl-1"> </span><span class="hl-2">"overlaps"</span><span class="hl-1">, </span><span class="hl-3">// Also: "notOverlaps", "contains"</span><br/><span class="hl-1"> </span><span class="hl-2">"geometry"</span><span class="hl-9">:</span><span class="hl-1"> { </span><span class="hl-3">// GeoJSON geometry; Restricted to type "Polygon"</span><br/><span class="hl-1"> </span><span class="hl-2">"coordinates"</span><span class="hl-9">:</span><span class="hl-1"> [</span><br/><span class="hl-1"> [</span><br/><span class="hl-1"> [</span><span class="hl-13">9.59</span><span class="hl-1">, </span><span class="hl-13">52.70</span><span class="hl-1">],</span><br/><span class="hl-1"> [</span><span class="hl-13">8.89</span><span class="hl-1">, </span><span class="hl-13">51.72</span><span class="hl-1">],</span><br/><span class="hl-1"> [</span><span class="hl-13">10.90</span><span class="hl-1">, </span><span class="hl-13">51.72</span><span class="hl-1">],</span><br/><span class="hl-1"> [</span><span class="hl-13">9.59</span><span class="hl-1">, </span><span class="hl-13">52.70</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-2">"type"</span><span class="hl-9">:</span><span class="hl-1"> </span><span class="hl-2">"Polygon"</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">});</span>
|
|
90
102
|
</code><button type="button">Copy</button></pre>
|
|
91
103
|
|
|
92
|
-
<
|
|
104
|
+
<h3 id="show-a-workbook-map-view" class="tsd-anchor-link">Show a Workbook Map View<a href="#show-a-workbook-map-view" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
105
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#showmap">CadenzaClient#showMap</a></small></p>
|
|
93
106
|
<p>Show the embedding target of a workbook map view in an iframe and ...</p>
|
|
94
107
|
<ul>
|
|
95
108
|
<li>Set the initial map extent.</li>
|
|
@@ -99,26 +112,31 @@ In the example below, the worksheet placeholder with the ID "placeholder1&q
|
|
|
99
112
|
<pre><code class="javascript"><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">showMap</span><span class="hl-1">(</span><span class="hl-2">'<embeddingTargetId>'</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-9">useMapSrs:</span><span class="hl-1"> </span><span class="hl-10">true</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">extentStrategy:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">type:</span><span class="hl-1"> </span><span class="hl-2">'static'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">extent:</span><span class="hl-1"> [ </span><br/><span class="hl-1"> -</span><span class="hl-13">572_513.341856</span><span class="hl-1">, </span><br/><span class="hl-1"> </span><span class="hl-13">5_211_017.966314</span><span class="hl-1">, </span><br/><span class="hl-1"> </span><span class="hl-13">916_327.095083</span><span class="hl-1">, </span><br/><span class="hl-1"> </span><span class="hl-13">6_636_950.728974</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-9">geometry:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">type:</span><span class="hl-1"> </span><span class="hl-2">'Point'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">coordinates:</span><span class="hl-1"> [</span><span class="hl-13">328_627.563458</span><span class="hl-1">, </span><span class="hl-13">5_921_296.662223</span><span class="hl-1">],</span><br/><span class="hl-1"> },</span><br/><span class="hl-1">});</span>
|
|
100
113
|
</code><button type="button">Copy</button></pre>
|
|
101
114
|
|
|
102
|
-
<
|
|
115
|
+
<h4 id="initialize-the-map-extent-by-setting-the-location-finder" class="tsd-anchor-link">Initialize the Map Extent by Setting the Location Finder<a href="#initialize-the-map-extent-by-setting-the-location-finder" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
116
|
+
<pre><code class="javascript"><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">showMap</span><span class="hl-1">(</span><span class="hl-2">'<embeddingTargetId>'</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-9">extentStrategy:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">type:</span><span class="hl-1"> </span><span class="hl-2">'locationFinder'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">query:</span><span class="hl-1"> </span><span class="hl-2">'Karlsruhe'</span><span class="hl-1">,</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">});</span>
|
|
103
117
|
</code><button type="button">Copy</button></pre>
|
|
104
118
|
|
|
105
|
-
<
|
|
119
|
+
<h3 id="set-the-visibility-of-a-layer-in-the-currently-shown-workbook-map-view" class="tsd-anchor-link">Set the Visibility of a Layer in the Currently Shown Workbook Map View<a href="#set-the-visibility-of-a-layer-in-the-currently-shown-workbook-map-view" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
120
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#setlayervisibility">CadenzaClient#setLayerVisibility</a></small></p>
|
|
106
121
|
<p>To set the visibility of a layer in the currently shown map, pass the layer path or print name and the desired visibility.</p>
|
|
107
122
|
<pre><code class="javascript"><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">setLayerVisibility</span><span class="hl-1">(</span><span class="hl-2">'<layerPrintName>'</span><span class="hl-1">, </span><span class="hl-10">false</span><span class="hl-1">);</span>
|
|
108
123
|
</code><button type="button">Copy</button></pre>
|
|
109
124
|
|
|
110
|
-
<
|
|
125
|
+
<h3 id="get-the-image-of-the-currently-shown-workbook-map-view" class="tsd-anchor-link">Get the Image of the Currently Shown Workbook Map View<a href="#get-the-image-of-the-currently-shown-workbook-map-view" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
126
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#getdata">CadenzaClient#getData</a></small></p>
|
|
111
127
|
<p>The method may support multiple data types in the future. Currently, only <code>"png"</code> is supported to get the image of a workbook map view.
|
|
112
128
|
You may pass the desired <code>width</code> and <code>height</code> in px and whether the resulting image should include the scale.</p>
|
|
113
129
|
<pre><code class="javascript"><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">canvas</span><span class="hl-1"> = </span><span class="hl-9">document</span><span class="hl-1">.</span><span class="hl-0">querySelector</span><span class="hl-1">(</span><span class="hl-2">'canvas'</span><span class="hl-1">);</span><br/><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">data</span><span class="hl-1"> = </span><span class="hl-8">await</span><span class="hl-1"> </span><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">getData</span><span class="hl-1">(</span><span class="hl-2">'png'</span><span class="hl-1">, { </span><span class="hl-9">width:</span><span class="hl-1"> </span><span class="hl-13">1200</span><span class="hl-1">, </span><span class="hl-9">height:</span><span class="hl-1"> </span><span class="hl-13">800</span><span class="hl-1">, </span><span class="hl-9">withScale:</span><span class="hl-1"> </span><span class="hl-10">true</span><span class="hl-1"> });</span><br/><span class="hl-9">canvas</span><span class="hl-1">.</span><span class="hl-0">drawImage</span><span class="hl-1">(</span><span class="hl-8">await</span><span class="hl-1"> </span><span class="hl-0">createImageBitmap</span><span class="hl-1">(</span><span class="hl-9">data</span><span class="hl-1">), </span><span class="hl-13">0</span><span class="hl-1">, </span><span class="hl-13">0</span><span class="hl-1">);</span>
|
|
114
130
|
</code><button type="button">Copy</button></pre>
|
|
115
131
|
|
|
116
|
-
<
|
|
132
|
+
<h3 id="edit-an-existing-geometry" class="tsd-anchor-link">Edit an Existing Geometry<a href="#edit-an-existing-geometry" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
133
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#editgeometry">CadenzaClient#editGeometry</a>, <a href="./classes/CadenzaClient.html#on">CadenzaClient#on</a></small></p>
|
|
117
134
|
<p>Edit a GeoJSON geometry with a workbook map view in the background. The geometry coordinates are in the map's SRS (<code>useMapSrs: true</code>).</p>
|
|
118
135
|
<pre><code class="javascript"><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">geometry</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-9">type:</span><span class="hl-1"> </span><span class="hl-2">'Point'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">coordinates:</span><span class="hl-1"> [</span><span class="hl-13">328_627.563458</span><span class="hl-1">, </span><span class="hl-13">5_921_296.662223</span><span class="hl-1">],</span><br/><span class="hl-1">};</span><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">editGeometry</span><span class="hl-1">(</span><span class="hl-2">'<embeddingTargetId>'</span><span class="hl-1">, </span><span class="hl-9">geometry</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-9">useMapSrs:</span><span class="hl-1"> </span><span class="hl-10">true</span><span class="hl-1">,</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'editGeometry:update'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'Geometry was updated'</span><span class="hl-1">, </span><span class="hl-9">event</span><span class="hl-1">.</span><span class="hl-9">detail</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'editGeometry:ok'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'Geometry editing was completed'</span><span class="hl-1">, </span><span class="hl-9">event</span><span class="hl-1">.</span><span class="hl-9">detail</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'editGeometry:cancel'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'Geometry editing was cancelled'</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
|
|
119
136
|
</code><button type="button">Copy</button></pre>
|
|
120
137
|
|
|
121
|
-
<
|
|
138
|
+
<h3 id="edit-multiple-geometries" class="tsd-anchor-link">Edit multiple Geometries<a href="#edit-multiple-geometries" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
139
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#batcheditgeometry">CadenzaClient#batchEditGeometry</a>, <a href="./classes/CadenzaClient.html#on">CadenzaClient#on</a></small></p>
|
|
122
140
|
<p>Edit a collection of geometries with a workbook map view in the background. The geometry coordinates are in the map's SRS (<code>useMapSrs: true</code>).
|
|
123
141
|
The editor will create an additional layer where editable geometries are stored and selectable for editing.
|
|
124
142
|
The layer's print name is 'Editor Layer' and can be used by other API actions.
|
|
@@ -128,18 +146,21 @@ When finished, all geometries are collected and returned in a single collection.
|
|
|
128
146
|
<pre><code class="javascript"><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">feature1</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-9">type:</span><span class="hl-1"> </span><span class="hl-2">'Feature'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">geometry:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">type:</span><span class="hl-1"> </span><span class="hl-2">'Point'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">coordinates:</span><span class="hl-1"> [</span><span class="hl-13">328_627.563458</span><span class="hl-1">, </span><span class="hl-13">5_921_296.662223</span><span class="hl-1">],</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> };</span><br/><br/><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">feature2</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-9">type:</span><span class="hl-1"> </span><span class="hl-2">'Feature'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">geometry:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">type:</span><span class="hl-1"> </span><span class="hl-2">'Point'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">coordinates:</span><span class="hl-1"> [</span><span class="hl-13">916_327.095083</span><span class="hl-1">, </span><span class="hl-13">6_636_950.728974</span><span class="hl-1">],</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> };</span><br/><br/><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">featureCollection</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-9">type:</span><span class="hl-1"> </span><span class="hl-2">'FeatureCollection'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">features:</span><span class="hl-1"> [</span><span class="hl-9">feature1</span><span class="hl-1"> , </span><span class="hl-9">feature2</span><span class="hl-1">]</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">batchEditGeometry</span><span class="hl-1">(</span><span class="hl-2">'<embeddingTargetId>'</span><span class="hl-1">, </span><span class="hl-9">featureCollection</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-9">useMapSrs:</span><span class="hl-1"> </span><span class="hl-10">true</span><span class="hl-1">,</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'editGeometry:update'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'Geometry was updated'</span><span class="hl-1">, </span><span class="hl-9">event</span><span class="hl-1">.</span><span class="hl-9">detail</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'editGeometry:create'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'At least one geometry feature was created'</span><span class="hl-1">, </span><span class="hl-9">event</span><span class="hl-1">.</span><span class="hl-9">detail</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'editGeometry:edit'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'Geometry feature was edited'</span><span class="hl-1">, </span><span class="hl-9">event</span><span class="hl-1">.</span><span class="hl-9">detail</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'editGeometry:delete'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">deletedFeatures</span><span class="hl-1"> = </span><span class="hl-9">event</span><span class="hl-1">.</span><span class="hl-9">details</span><span class="hl-1">.</span><span class="hl-9">objectIds</span><span class="hl-1">;</span><br/><span class="hl-1"> ...</span><br/><span class="hl-1">});</span><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'editGeometry:ok'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'Geometry editing was completed'</span><span class="hl-1">, </span><span class="hl-9">event</span><span class="hl-1">.</span><span class="hl-9">detail</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'editGeometry:cancel'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'Geometry editing was cancelled'</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
|
|
129
147
|
</code><button type="button">Copy</button></pre>
|
|
130
148
|
|
|
131
|
-
<
|
|
149
|
+
<h3 id="unsubscribe-from-an-event" class="tsd-anchor-link">Unsubscribe From an Event<a href="#unsubscribe-from-an-event" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
150
|
+
<p>The <code>on()</code> method returns an unsubscribe function.</p>
|
|
132
151
|
<pre><code class="javascript"><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">unsubscribe</span><span class="hl-1"> = </span><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'editGeometry:ok'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> ...);</span><br/><span class="hl-1">...</span><br/><span class="hl-0">unsubscribe</span><span class="hl-1">();</span>
|
|
133
152
|
</code><button type="button">Copy</button></pre>
|
|
134
153
|
|
|
135
|
-
<
|
|
154
|
+
<h3 id="create-a-new-geometry" class="tsd-anchor-link">Create a New Geometry<a href="#create-a-new-geometry" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
155
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#creategeometry">CadenzaClient#createGeometry</a></small></p>
|
|
136
156
|
<p>Create a GeoJSON point geometry with a workbook map view in the background. The geometry coordinates are in the map's SRS (<code>useMapSrs: true</code>).</p>
|
|
137
157
|
<pre><code class="javascript"><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">createGeometry</span><span class="hl-1">(</span><span class="hl-2">'<embeddingTargetId>'</span><span class="hl-1">, </span><span class="hl-2">'Point'</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-9">useMapSrs:</span><span class="hl-1"> </span><span class="hl-10">true</span><span class="hl-1">,</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'editGeometry:ok'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'Geometry editing was completed'</span><span class="hl-1">, </span><span class="hl-9">event</span><span class="hl-1">.</span><span class="hl-9">detail</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
|
|
138
158
|
</code><button type="button">Copy</button></pre>
|
|
139
159
|
|
|
140
160
|
<p><em>Note:</em> Under the hood, creating a geometry is similar to editing a geometry.
|
|
141
161
|
That's why the events use the <code>editGeometry</code> prefix.</p>
|
|
142
|
-
<
|
|
162
|
+
<h3 id="create-multiple-geometries" class="tsd-anchor-link">Create multiple Geometries<a href="#create-multiple-geometries" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
163
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#batchcreategeometry">CadenzaClient#batchCreateGeometry</a>, <a href="./classes/CadenzaClient.html#on">CadenzaClient#on</a></small></p>
|
|
143
164
|
<p>Create multiple geometries with a workbook map view in the background. The geometry coordinates are in the map's SRS (<code>useMapSrs: true</code>).
|
|
144
165
|
The editor will create an additional layer where created geometries are stored and selectable for editing.
|
|
145
166
|
The layer's print name is 'Editor Layer' and can be used by other API actions.
|
|
@@ -147,17 +168,20 @@ When finished, all geometries are collected and returned in a single collection.
|
|
|
147
168
|
<pre><code class="javascript"><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">batchCreateGeometry</span><span class="hl-1">(</span><span class="hl-2">'<embeddingTargetId>'</span><span class="hl-1">, </span><span class="hl-2">'Point'</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-9">useMapSrs:</span><span class="hl-1"> </span><span class="hl-10">true</span><span class="hl-1">,</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'editGeometry:update'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'Geometry was updated'</span><span class="hl-1">, </span><span class="hl-9">event</span><span class="hl-1">.</span><span class="hl-9">detail</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'editGeometry:create'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'At least one geometry feature was created'</span><span class="hl-1">, </span><span class="hl-9">event</span><span class="hl-1">.</span><span class="hl-9">detail</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'editGeometry:edit'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'Geometry feature was edited'</span><span class="hl-1">, </span><span class="hl-9">event</span><span class="hl-1">.</span><span class="hl-9">detail</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'editGeometry:delete'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">deletedFeatures</span><span class="hl-1"> = </span><span class="hl-9">event</span><span class="hl-1">.</span><span class="hl-9">details</span><span class="hl-1">.</span><span class="hl-9">objectIds</span><span class="hl-1">;</span><br/><span class="hl-1"> ...</span><br/><span class="hl-1">});</span><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'editGeometry:ok'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'Geometry editing was completed'</span><span class="hl-1">, </span><span class="hl-9">event</span><span class="hl-1">.</span><span class="hl-9">detail</span><span class="hl-1">);</span><br/><span class="hl-1">});</span><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'editGeometry:cancel'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'Geometry editing was cancelled'</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
|
|
148
169
|
</code><button type="button">Copy</button></pre>
|
|
149
170
|
|
|
150
|
-
<
|
|
171
|
+
<h4 id="additional-background-layers" class="tsd-anchor-link">Additional Background Layers<a href="#additional-background-layers" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
172
|
+
<p>Create a GeoJSON polygon geometry with a workbook map view and some additional background layers.</p>
|
|
151
173
|
<p>IMPORTANT: The Cadenza referenced with <code>cadenzaClient</code> must be configured to support the import of GeoJSON, and the (system) privileges of the corresponding user must also be set in such a way that the import of GeoJSON is possible.</p>
|
|
152
174
|
<pre><code class="javascript"><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">createGeometry</span><span class="hl-1">(</span><span class="hl-2">'<embeddingTargetId>'</span><span class="hl-1">, </span><span class="hl-2">'Polygon'</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-9">additionalLayers:</span><span class="hl-1"> [</span><br/><span class="hl-1"> { </span><span class="hl-9">type:</span><span class="hl-1"> </span><span class="hl-2">'geojson'</span><span class="hl-1">, </span><span class="hl-9">name:</span><span class="hl-1"> </span><span class="hl-2">'Example'</span><span class="hl-1">, </span><span class="hl-9">content:</span><span class="hl-1"> </span><span class="hl-4"><</span><span class="hl-14">FeatureCollection</span><span class="hl-4">></span><span class="hl-1"> },</span><br/><span class="hl-1"> ...</span><br/><span class="hl-1"> ]</span><br/><span class="hl-1">});</span>
|
|
153
175
|
</code><button type="button">Copy</button></pre>
|
|
154
176
|
|
|
155
|
-
<
|
|
177
|
+
<h3 id="select-objects-in-a-workbook-map-view" class="tsd-anchor-link">Select Objects in a Workbook Map View<a href="#select-objects-in-a-workbook-map-view" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
178
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#selectobjects">CadenzaClient#selectObjects</a></small></p>
|
|
156
179
|
<p>Ask the user to select objects in a workbook map view. In the example the selection is restricted to specific layers. For layers in groups, pass the layer path.</p>
|
|
157
180
|
<pre><code class="javascript"><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">selectObjects</span><span class="hl-1">(</span><span class="hl-2">'<embeddingTargetId>'</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-9">layers:</span><span class="hl-1"> [</span><br/><span class="hl-1"> [ </span><span class="hl-2">'<layerGroupPrintName>'</span><span class="hl-1">, </span><span class="hl-2">'<layerPrintName>'</span><span class="hl-1"> ],</span><br/><span class="hl-1"> [ </span><span class="hl-2">'<layerPrintName>'</span><span class="hl-1"> ]</span><br/><span class="hl-1"> ]</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">on</span><span class="hl-1">(</span><span class="hl-2">'selectObjects:ok'</span><span class="hl-1">, (</span><span class="hl-9">event</span><span class="hl-1">) </span><span class="hl-10">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-9">console</span><span class="hl-1">.</span><span class="hl-0">log</span><span class="hl-1">(</span><span class="hl-2">'Object selection was completed'</span><span class="hl-1">, </span><span class="hl-9">event</span><span class="hl-1">.</span><span class="hl-9">detail</span><span class="hl-1">.</span><span class="hl-9">selection</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
|
|
158
181
|
</code><button type="button">Copy</button></pre>
|
|
159
182
|
|
|
160
|
-
<
|
|
183
|
+
<h4 id="programmatically-set-the-selection-in-the-currently-shown-workbook-map-view" class="tsd-anchor-link"><em>Programmatically</em> Set the Selection in the Currently Shown Workbook Map View<a href="#programmatically-set-the-selection-in-the-currently-shown-workbook-map-view" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
184
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#setselection">CadenzaClient#setSelection</a></small></p>
|
|
161
185
|
<p>Set the selection in the currently shown workbook map view using a list of object IDs to select. An empty list clears the selection.</p>
|
|
162
186
|
<pre><code class="javascript"><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">setSelection</span><span class="hl-1">(</span><br/><span class="hl-1"> </span><span class="hl-9">layer</span><span class="hl-1">: </span><span class="hl-2">'<layerPrintName>'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">values</span><span class="hl-1">: [ </span><span class="hl-2">'objectId'</span><span class="hl-1">, ... ]</span><br/><span class="hl-1">);</span>
|
|
163
187
|
</code><button type="button">Copy</button></pre>
|
|
@@ -167,36 +191,43 @@ When finished, all geometries are collected and returned in a single collection.
|
|
|
167
191
|
<li><small>API: <a href="./classes/CadenzaClient.html#addselection">CadenzaClient#addSelection</a></small></li>
|
|
168
192
|
<li><small>API: <a href="./classes/CadenzaClient.html#removeselection">CadenzaClient#removeSelection</a></small></li>
|
|
169
193
|
</ul>
|
|
170
|
-
<
|
|
194
|
+
<h3 id="highlight-an-item-in-the-navigator" class="tsd-anchor-link">Highlight an Item in the Navigator<a href="#highlight-an-item-in-the-navigator" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
195
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#show">CadenzaClient#show</a></small></p>
|
|
171
196
|
<p>Show an embedding target in an iframe and highlight an item in the navigator. Additionally, expand the navigator tree.</p>
|
|
172
197
|
<pre><code class="javascript"><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">show</span><span class="hl-1">(</span><span class="hl-2">'<embeddingTargetId>'</span><span class="hl-1">, {</span><span class="hl-9">expandNavigator:</span><span class="hl-1"> </span><span class="hl-10">true</span><span class="hl-1">, </span><span class="hl-9">highlightGlobalId:</span><span class="hl-1"> </span><span class="hl-2">'ROOT.MyFolder'</span><span class="hl-1">});</span>
|
|
173
198
|
</code><button type="button">Copy</button></pre>
|
|
174
199
|
|
|
175
|
-
<
|
|
200
|
+
<h4 id="highlight-an-item-in-the-navigator-on-the-welcome-page" class="tsd-anchor-link">Highlight an Item in the Navigator on the Welcome Page<a href="#highlight-an-item-in-the-navigator-on-the-welcome-page" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
201
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#show">CadenzaClient#show</a></small></p>
|
|
176
202
|
<p>Show Cadenza's welcome page in an iframe and highlight an item in the navigator.</p>
|
|
177
203
|
<pre><code class="javascript"><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">show</span><span class="hl-1">({</span><span class="hl-9">page:</span><span class="hl-1"> </span><span class="hl-2">'welcome'</span><span class="hl-1">}, {</span><span class="hl-9">highlightGlobalId:</span><span class="hl-1"> </span><span class="hl-2">'ROOT.MyFolder'</span><span class="hl-1">});</span>
|
|
178
204
|
</code><button type="button">Copy</button></pre>
|
|
179
205
|
|
|
180
|
-
<
|
|
206
|
+
<h4 id="expand-the-navigator" class="tsd-anchor-link">Expand the Navigator<a href="#expand-the-navigator" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
207
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#expandnavigator">CadenzaClient#expandNavigator</a></small></p>
|
|
181
208
|
<p>Expand the navigator.</p>
|
|
182
209
|
<pre><code class="javascript"><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">expandNavigator</span><span class="hl-1">();</span>
|
|
183
210
|
</code><button type="button">Copy</button></pre>
|
|
184
211
|
|
|
185
|
-
<
|
|
212
|
+
<h3 id="fetch-data-from-a-workbook-view" class="tsd-anchor-link">Fetch Data From a Workbook View<a href="#fetch-data-from-a-workbook-view" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
213
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#fetchdata">CadenzaClient#fetchData</a></small></p>
|
|
186
214
|
<p>Fetch data from a workbook view in CSV format.</p>
|
|
187
215
|
<pre><code class="javascript"><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">response</span><span class="hl-1"> = </span><span class="hl-8">await</span><span class="hl-1"> </span><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">fetchData</span><span class="hl-1">(</span><span class="hl-2">'<embeddingTargetId>'</span><span class="hl-1">, </span><span class="hl-2">'csv'</span><span class="hl-1">);</span><br/><br/><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">text</span><span class="hl-1"> = </span><span class="hl-8">await</span><span class="hl-1"> </span><span class="hl-9">response</span><span class="hl-1">.</span><span class="hl-0">text</span><span class="hl-1">();</span><br/><span class="hl-1">...</span>
|
|
188
216
|
</code><button type="button">Copy</button></pre>
|
|
189
217
|
|
|
190
|
-
<
|
|
218
|
+
<h4 id="control-the-contents-of-the-fetched-table-data" class="tsd-anchor-link">Control the Contents of the Fetched Table Data<a href="#control-the-contents-of-the-fetched-table-data" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
219
|
+
<p>Fetch data from a workbook view in JSON format and include only the data values and the aggregation totals. (Do not include the column names.)</p>
|
|
191
220
|
<pre><code class="javascript"><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">response</span><span class="hl-1"> = </span><span class="hl-8">await</span><span class="hl-1"> </span><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">fetchData</span><span class="hl-1">(</span><span class="hl-2">'<embeddingTargetId>'</span><span class="hl-1">, </span><span class="hl-2">'json'</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-9">parts:</span><span class="hl-1"> [</span><span class="hl-2">'values'</span><span class="hl-1">, </span><span class="hl-2">'totals'</span><span class="hl-1">]</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">tableData</span><span class="hl-1"> = </span><span class="hl-8">await</span><span class="hl-1"> </span><span class="hl-9">response</span><span class="hl-1">.</span><span class="hl-0">json</span><span class="hl-1">();</span><br/><span class="hl-1">...</span>
|
|
192
221
|
</code><button type="button">Copy</button></pre>
|
|
193
222
|
|
|
194
|
-
<
|
|
223
|
+
<h3 id="fetch-the-object-info-from-a-workbook-map-view" class="tsd-anchor-link">Fetch the Object Info from a Workbook Map View<a href="#fetch-the-object-info-from-a-workbook-map-view" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
224
|
+
<p><small>API: [CadenzaClient#fetchObjectInfo(./classes/CadenzaClient.html#fetchobjectinfo)</small></p>
|
|
195
225
|
<p>Fetch the object info from a workbook map view in JSON format. The result contains all information, that is shown in the object info within cadenza.</p>
|
|
196
226
|
<pre><code class="javascript"><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">objectInfo</span><span class="hl-1"> = </span><span class="hl-8">await</span><span class="hl-1"> </span><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">fetchObjectInfo</span><span class="hl-1">(</span><span class="hl-2">'embeddingTargetId'</span><span class="hl-1">, </span><span class="hl-2">'layerPrintName'</span><span class="hl-1">, [[</span><span class="hl-2">'objectId'</span><span class="hl-1">]], {</span><br/><span class="hl-1"> </span><span class="hl-9">useMapSrs:</span><span class="hl-1"> </span><span class="hl-10">false</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">fullGeometries:</span><span class="hl-1"> </span><span class="hl-10">true</span><br/><span class="hl-1">});</span>
|
|
197
227
|
</code><button type="button">Copy</button></pre>
|
|
198
228
|
|
|
199
|
-
<
|
|
229
|
+
<h3 id="fetch-the-area-intersection-from-a-workbook-map-view-layer" class="tsd-anchor-link">Fetch the area intersection from a Workbook Map View Layer<a href="#fetch-the-area-intersection-from-a-workbook-map-view-layer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
230
|
+
<p><small>API: [CadenzaClient#fetchObjectInfo(./classes/CadenzaClient.html#fetchareaintersections)</small></p>
|
|
200
231
|
<p>Fetch the intersection area from a workbook map view layer in JSON format for a given area. The result contains all intersecting objects of the layer, their object ID, if defined the object name and a geometry representing the intersection area, with area size and area perimeter.</p>
|
|
201
232
|
<p>If the geometry intersection fails because a geometry is invalid, a problem detail object is returned. In all other error cases, an exception is thrown.</p>
|
|
202
233
|
<pre><code class="javascript"><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">geometry</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-9">type:</span><span class="hl-1"> </span><span class="hl-2">'Point'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">coordinates:</span><span class="hl-1"> [</span><span class="hl-13">328_627.563458</span><span class="hl-1">, </span><span class="hl-13">5_921_296.662223</span><span class="hl-1">],</span><br/><span class="hl-1">};</span><br/><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">bufferSize</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-9">value:</span><span class="hl-1"> </span><span class="hl-13">100</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">lengthUnit:</span><span class="hl-1"> </span><span class="hl-2">'m'</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">areaIntersectionsResult</span><span class="hl-1"> = </span><span class="hl-8">await</span><span class="hl-1"> </span><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">fetchAreaIntersections</span><span class="hl-1">(</span><span class="hl-2">'embeddingTargetId'</span><span class="hl-1">, </span><span class="hl-2">'layerPrintName'</span><span class="hl-1">, </span><span class="hl-9">geometry</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-9">useMapSrs:</span><span class="hl-1"> </span><span class="hl-10">true</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">bufferSize:</span><span class="hl-1"> </span><span class="hl-9">bufferSize</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">useAutoCorrection:</span><span class="hl-1"> </span><span class="hl-10">true</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-9">includeGeometryValidationReport:</span><span class="hl-1"> </span><span class="hl-10">true</span><br/><span class="hl-1">});</span>
|
|
@@ -206,12 +237,14 @@ When finished, all geometries are collected and returned in a single collection.
|
|
|
206
237
|
<pre><code class="json"><span class="hl-1">{</span><br/><span class="hl-1"> </span><span class="hl-15">"results"</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-15">"features"</span><span class="hl-1">: [</span><br/><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-15">"objectId"</span><span class="hl-1">: [ </span><span class="hl-13">333</span><span class="hl-1"> ],</span><br/><span class="hl-1"> </span><span class="hl-15">"geometry"</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-15">"type"</span><span class="hl-1">: </span><span class="hl-2">"Polygon"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-15">"coordinates"</span><span class="hl-1">: [</span><span class="hl-16"><coordinates></span><span class="hl-1">]</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-15">"area"</span><span class="hl-1">: </span><span class="hl-13">5209.274047788233</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-15">"type"</span><span class="hl-1">: </span><span class="hl-2">"Feature"</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> ],</span><br/><span class="hl-1"> </span><span class="hl-15">"type"</span><span class="hl-1">: </span><span class="hl-2">"FeatureCollection"</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-15">"errors"</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-15">"features"</span><span class="hl-1">: [</span><br/><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-15">"objectId"</span><span class="hl-1">: [ </span><span class="hl-13">333</span><span class="hl-1"> ],</span><br/><span class="hl-1"> </span><span class="hl-15">"geometry"</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-15">"type"</span><span class="hl-1">: </span><span class="hl-2">"Point"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-15">"coordinates"</span><span class="hl-1">: [ </span><span class="hl-13">457172.35</span><span class="hl-1">, </span><span class="hl-13">5427744.68</span><span class="hl-1">]</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-15">"properties"</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-15">"category"</span><span class="hl-1">: </span><span class="hl-2">"Ring Self-intersection"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-15">"message"</span><span class="hl-1">: </span><span class="hl-2">"Ring Self-intersection at or near point (457172.35, 5427744.68, NaN)"</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-15">"type"</span><span class="hl-1">: </span><span class="hl-2">"Feature"</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> ],</span><br/><span class="hl-1"> </span><span class="hl-15">"type"</span><span class="hl-1">: </span><span class="hl-2">"FeatureCollection"</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">}</span>
|
|
207
238
|
</code><button type="button">Copy</button></pre>
|
|
208
239
|
|
|
209
|
-
<
|
|
240
|
+
<h3 id="download-data-from-a-workbook-view" class="tsd-anchor-link">Download Data From a Workbook View<a href="#download-data-from-a-workbook-view" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
241
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#downloaddata">CadenzaClient#downloadData</a></small></p>
|
|
210
242
|
<p>Download data from a workbook view in Excel format. This triggers the browser's download dialog.</p>
|
|
211
243
|
<pre><code class="javascript"><span class="hl-10">const</span><span class="hl-1"> </span><span class="hl-11">button</span><span class="hl-1"> = </span><span class="hl-9">document</span><span class="hl-1">.</span><span class="hl-0">createElement</span><span class="hl-1">(</span><span class="hl-2">'button'</span><span class="hl-1">);</span><br/><span class="hl-9">button</span><span class="hl-1">.</span><span class="hl-9">textContent</span><span class="hl-1"> = </span><span class="hl-2">'Download Excel'</span><span class="hl-1">;</span><br/><span class="hl-9">button</span><span class="hl-1">.</span><span class="hl-0">onclick</span><span class="hl-1"> = () </span><span class="hl-10">=></span><span class="hl-1"> </span><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">downloadData</span><span class="hl-1">(</span><span class="hl-2">'<embeddingTargetId>'</span><span class="hl-1">, </span><span class="hl-2">'excel'</span><span class="hl-1">);</span>
|
|
212
244
|
</code><button type="button">Copy</button></pre>
|
|
213
245
|
|
|
214
|
-
<
|
|
246
|
+
<h3 id="reload-the-views-of-a-worksheet" class="tsd-anchor-link">Reload the Views of a Worksheet<a href="#reload-the-views-of-a-worksheet" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
247
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#reload">CadenzaClient#reload</a></small></p>
|
|
215
248
|
<p>To reload a worksheet:</p>
|
|
216
249
|
<pre><code class="javascript"><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">reload</span><span class="hl-1">();</span>
|
|
217
250
|
</code><button type="button">Copy</button></pre>
|
|
@@ -220,18 +253,21 @@ When finished, all geometries are collected and returned in a single collection.
|
|
|
220
253
|
<pre><code class="javascript"><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">reload</span><span class="hl-1">({ </span><span class="hl-9">invalidateCaches:</span><span class="hl-1"> </span><span class="hl-10">true</span><span class="hl-1"> });</span>
|
|
221
254
|
</code><button type="button">Copy</button></pre>
|
|
222
255
|
|
|
223
|
-
<
|
|
256
|
+
<h3 id="close-the-cadenza-dialog-or-window-that-embeds-the-custom-application" class="tsd-anchor-link">Close the Cadenza Dialog or Window That Embeds the Custom Application<a href="#close-the-cadenza-dialog-or-window-that-embeds-the-custom-application" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
257
|
+
<p><small>API: <a href="./classes/CadenzaClient.html#closeme">CadenzaClient#closeMe</a></small></p>
|
|
224
258
|
<p>Sends a message to parent Cadenza window to close the window containing this application.</p>
|
|
225
259
|
<pre><code class="javascript"><span class="hl-9">cadenzaClient</span><span class="hl-1">.</span><span class="hl-0">closeMe</span><span class="hl-1">();</span>
|
|
226
260
|
</code><button type="button">Copy</button></pre>
|
|
227
261
|
|
|
228
|
-
<
|
|
262
|
+
<h4 id="listen-for-cadenza-closing-the-custom-application" class="tsd-anchor-link">Listen for Cadenza Closing the Custom Application<a href="#listen-for-cadenza-closing-the-custom-application" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
263
|
+
<p>Cadenza does not send an event when the dialog or window is closed that embeds the custom application. Depending on your use case you might listen to these browser events instead:</p>
|
|
229
264
|
<ul>
|
|
230
265
|
<li>The <a href="https://developer.mozilla.org/docs/Web/API/Window/unload_event">Window: <code>unload</code> event</a> is dispatched when the window/dialog is closed.</li>
|
|
231
266
|
<li>The <a href="https://developer.mozilla.org/docs/Web/API/Document/visibilitychange_event">Document: <code>visibilitychange</code> event</a> is dispatched when the window/dialog is closed <em>or hidden</em> (for example when the user switches to another browser tab).</li>
|
|
232
267
|
</ul>
|
|
233
268
|
<p><em>Note:</em> If you need to send a request to your server when the window/dialog is closed, you should use the <a href="https://developer.mozilla.org/docs/Web/API/Navigator/sendBeacon">Navigator: <code>sendBeacon()</code> method</a>. It's limited to POST requests, but in contrast to the "normal" XHR or <code>fetch()</code> APIs, it works reliably when the dialog/window is closed.</p>
|
|
234
|
-
<
|
|
269
|
+
<h2 id="the-development-sandbox" class="tsd-anchor-link">The Development Sandbox<a href="#the-development-sandbox" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
270
|
+
<p>The development sandbox is a simple custom application (in fact a single <code>.html</code> file) for playing with Cadenza JS.</p>
|
|
235
271
|
<p>To run it ...</p>
|
|
236
272
|
<ul>
|
|
237
273
|
<li>You need a Cadenza installation running on <a href="http://localhost:8080/cadenza">http://localhost:8080/cadenza</a>. (See <a href="#customize-the-cadenza-url">Customize the Cadenza URL</a> below)</li>
|
|
@@ -244,9 +280,11 @@ When finished, all geometries are collected and returned in a single collection.
|
|
|
244
280
|
<li>Now, <code>sandbox.html</code> is served on <a href="http://localhost:8080/cadenza/sandbox">http://localhost:8080/cadenza/sandbox</a> (replace with custom Cadenza url <code>/sandbox</code> as needed).</li>
|
|
245
281
|
</ul>
|
|
246
282
|
<p><code>cadenza.js</code> is automatically served when Cadenza starts.</p>
|
|
247
|
-
<
|
|
283
|
+
<h3 id="the-sandbox-ui" class="tsd-anchor-link">The Sandbox UI<a href="#the-sandbox-ui" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
284
|
+
<p><code>npm run sandbox</code> also opens the sandbox in a new browser window. Select the Cadenza JS method you want to play with in the select box at the top. For each method there are controls to define the parameters. Hit "Go!" to call the method.</p>
|
|
248
285
|
<p>The sandbox uses Cadenza JS with the "debug" option enabled, so you can see what is going on internally in the browser's devtools console. In the "Network" tab of the devtools you can see the requests to the Cadenza server.</p>
|
|
249
|
-
<
|
|
286
|
+
<h3 id="customize-the-cadenza-url" class="tsd-anchor-link">Customize the Cadenza URL<a href="#customize-the-cadenza-url" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
287
|
+
<p>By default, the sandbox expects Cadenza to run on <a href="http://localhost:8080/cadenza">http://localhost:8080/cadenza</a>. There are two ways to customize the Cadenza URL:</p>
|
|
250
288
|
<ul>
|
|
251
289
|
<li>Pass an argument:<pre><code class="bash"><span class="hl-0">npm</span><span class="hl-1"> </span><span class="hl-2">run</span><span class="hl-1"> </span><span class="hl-2">sandbox</span><span class="hl-1"> </span><span class="hl-10">--</span><span class="hl-1"> </span><span class="hl-10">--cadenza-url</span><span class="hl-1"> </span><span class="hl-2">http://localhost:8000/my-cadenza</span>
|
|
252
290
|
</code><button type="button">Copy</button></pre>
|
|
@@ -257,7 +295,8 @@ When finished, all geometries are collected and returned in a single collection.
|
|
|
257
295
|
|
|
258
296
|
</li>
|
|
259
297
|
</ul>
|
|
260
|
-
<
|
|
298
|
+
<h2 id="json-representation-of-cadenza-object-data" class="tsd-anchor-link">JSON Representation of Cadenza Object Data<a href="#json-representation-of-cadenza-object-data" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
299
|
+
<p><a href="https://www.json.org/">JSON</a> is a simple data-interchange format, which is also used in the Embedding API. It does not support all the attribute types of Cadenza objects, that's why there are some rules for representing Cadenza object data in JSON.</p>
|
|
261
300
|
<table>
|
|
262
301
|
<thead>
|
|
263
302
|
<tr>
|
|
@@ -284,7 +323,7 @@ When finished, all geometries are collected and returned in a single collection.
|
|
|
284
323
|
<td>Number (Long)</td>
|
|
285
324
|
<td>string</td>
|
|
286
325
|
<td><code>"1"</code></td>
|
|
287
|
-
<td>The long value range exceeds the range of the JSON number type. So it's represented as a string.</td>
|
|
326
|
+
<td>The long value range exceeds the range of the JSON number type (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number#number_encoding">more info on MDN</a>). So it's represented as a string.</td>
|
|
288
327
|
</tr>
|
|
289
328
|
<tr>
|
|
290
329
|
<td>Floating point number (Double)</td>
|
|
@@ -296,13 +335,13 @@ When finished, all geometries are collected and returned in a single collection.
|
|
|
296
335
|
<td>Floating point number (Big decimal)</td>
|
|
297
336
|
<td>string</td>
|
|
298
337
|
<td><code>"1.23"</code></td>
|
|
299
|
-
<td>The big decimal value range exceeds the range of the JSON number type. So it's represented as a string.</td>
|
|
338
|
+
<td>The big decimal value range exceeds the range of the JSON number type (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number#number_encoding">more info on MDN</a>). So it's represented as a string.</td>
|
|
300
339
|
</tr>
|
|
301
340
|
<tr>
|
|
302
341
|
<td>Date</td>
|
|
303
342
|
<td>string</td>
|
|
304
343
|
<td><code>"1999-12-31T23:00:00Z"</code></td>
|
|
305
|
-
<td>A date is represented as an <a href="https://
|
|
344
|
+
<td>A date is represented as an <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#date_time_string_format">ISO date time string</a>.</td>
|
|
306
345
|
</tr>
|
|
307
346
|
<tr>
|
|
308
347
|
<td>Duration</td>
|
|
@@ -336,4 +375,4 @@ When finished, all geometries are collected and returned in a single collection.
|
|
|
336
375
|
</tr>
|
|
337
376
|
</tbody>
|
|
338
377
|
</table>
|
|
339
|
-
<!-- prettier-ignore-end --></div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><
|
|
378
|
+
<!-- prettier-ignore-end --></div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><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-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></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><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-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#installation"><span>Installation</span></a><ul><li><a href="#cadenza-101-and-earlier"><span>Cadenza 10.1 and earlier</span></a></li></ul><a href="#usage-examples"><span>Usage <wbr/>Examples</span></a><ul><li><a href="#general-usage"><span>General <wbr/>Usage</span></a></li><li><ul><li><a href="#as-a-module"><span>As a module</span></a></li><li><a href="#globally"><span>Globally</span></a></li></ul></li><li><a href="#communication-with-parent-cadenza"><span>Communication with parent <wbr/>Cadenza</span></a></li><li><a href="#show-an-embedding-target-in-an-iframe"><span>Show an <wbr/>Embedding <wbr/>Target in an <wbr/>Iframe</span></a></li><li><ul><li><a href="#show-the-generated-pdf-of-a-jasperreports-report-view-directly"><span>Show the <wbr/>Generated <wbr/>PDF of a "<wbr/>Jasper<wbr/>Reports report" <wbr/>View <wbr/>Directly</span></a></li><li><a href="#fill-worksheet-placeholders-in-reports"><span>Fill <wbr/>Worksheet <wbr/>Placeholders in <wbr/>Reports</span></a></li></ul></li><li><a href="#abort-iframe-loading"><span>Abort (<wbr/>Iframe) <wbr/>Loading</span></a></li><li><a href="#set-filters-in-the-currently-shown-embedding-target"><span>Set <wbr/>Filters in the <wbr/>Currently <wbr/>Shown <wbr/>Embedding <wbr/>Target</span></a></li><li><a href="#show-a-workbook-map-view"><span>Show a <wbr/>Workbook <wbr/>Map <wbr/>View</span></a></li><li><ul><li><a href="#initialize-the-map-extent-by-setting-the-location-finder"><span>Initialize the <wbr/>Map <wbr/>Extent by <wbr/>Setting the <wbr/>Location <wbr/>Finder</span></a></li></ul></li><li><a href="#set-the-visibility-of-a-layer-in-the-currently-shown-workbook-map-view"><span>Set the <wbr/>Visibility of a <wbr/>Layer in the <wbr/>Currently <wbr/>Shown <wbr/>Workbook <wbr/>Map <wbr/>View</span></a></li><li><a href="#get-the-image-of-the-currently-shown-workbook-map-view"><span>Get the <wbr/>Image of the <wbr/>Currently <wbr/>Shown <wbr/>Workbook <wbr/>Map <wbr/>View</span></a></li><li><a href="#edit-an-existing-geometry"><span>Edit an <wbr/>Existing <wbr/>Geometry</span></a></li><li><a href="#edit-multiple-geometries"><span>Edit multiple <wbr/>Geometries</span></a></li><li><a href="#unsubscribe-from-an-event"><span>Unsubscribe <wbr/>From an <wbr/>Event</span></a></li><li><a href="#create-a-new-geometry"><span>Create a <wbr/>New <wbr/>Geometry</span></a></li><li><a href="#create-multiple-geometries"><span>Create multiple <wbr/>Geometries</span></a></li><li><ul><li><a href="#additional-background-layers"><span>Additional <wbr/>Background <wbr/>Layers</span></a></li></ul></li><li><a href="#select-objects-in-a-workbook-map-view"><span>Select <wbr/>Objects in a <wbr/>Workbook <wbr/>Map <wbr/>View</span></a></li><li><ul><li><a href="#programmatically-set-the-selection-in-the-currently-shown-workbook-map-view"><span>Programmatically <wbr/>Set the <wbr/>Selection in the <wbr/>Currently <wbr/>Shown <wbr/>Workbook <wbr/>Map <wbr/>View</span></a></li></ul></li><li><a href="#highlight-an-item-in-the-navigator"><span>Highlight an <wbr/>Item in the <wbr/>Navigator</span></a></li><li><ul><li><a href="#highlight-an-item-in-the-navigator-on-the-welcome-page"><span>Highlight an <wbr/>Item in the <wbr/>Navigator on the <wbr/>Welcome <wbr/>Page</span></a></li><li><a href="#expand-the-navigator"><span>Expand the <wbr/>Navigator</span></a></li></ul></li><li><a href="#fetch-data-from-a-workbook-view"><span>Fetch <wbr/>Data <wbr/>From a <wbr/>Workbook <wbr/>View</span></a></li><li><ul><li><a href="#control-the-contents-of-the-fetched-table-data"><span>Control the <wbr/>Contents of the <wbr/>Fetched <wbr/>Table <wbr/>Data</span></a></li></ul></li><li><a href="#fetch-the-object-info-from-a-workbook-map-view"><span>Fetch the <wbr/>Object <wbr/>Info from a <wbr/>Workbook <wbr/>Map <wbr/>View</span></a></li><li><a href="#fetch-the-area-intersection-from-a-workbook-map-view-layer"><span>Fetch the area intersection from a <wbr/>Workbook <wbr/>Map <wbr/>View <wbr/>Layer</span></a></li><li><a href="#download-data-from-a-workbook-view"><span>Download <wbr/>Data <wbr/>From a <wbr/>Workbook <wbr/>View</span></a></li><li><a href="#reload-the-views-of-a-worksheet"><span>Reload the <wbr/>Views of a <wbr/>Worksheet</span></a></li><li><a href="#close-the-cadenza-dialog-or-window-that-embeds-the-custom-application"><span>Close the <wbr/>Cadenza <wbr/>Dialog or <wbr/>Window <wbr/>That <wbr/>Embeds the <wbr/>Custom <wbr/>Application</span></a></li><li><ul><li><a href="#listen-for-cadenza-closing-the-custom-application"><span>Listen for <wbr/>Cadenza <wbr/>Closing the <wbr/>Custom <wbr/>Application</span></a></li></ul></li></ul><a href="#the-development-sandbox"><span>The <wbr/>Development <wbr/>Sandbox</span></a><ul><li><a href="#the-sandbox-ui"><span>The <wbr/>Sandbox <wbr/>UI</span></a></li><li><a href="#customize-the-cadenza-url"><span>Customize the <wbr/>Cadenza <wbr/>URL</span></a></li></ul><a href="#json-representation-of-cadenza-object-data"><span>JSON <wbr/>Representation of <wbr/>Cadenza <wbr/>Object <wbr/>Data</span></a></div></details></div><div class="site-menu"><nav id="tsd-sidebar-links" class="tsd-navigation"><a href="https://github.com/DisyInformationssysteme/cadenza.js" class="tsd-nav-link">Cadenza JS on GitHub</a></nav><nav class="tsd-navigation"><a href="modules.html">Cadenza JS - v11.0.2</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|