@disy/cadenza.js 10.2.14 → 10.2.15
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 +4 -0
- package/apidoc/classes/AbortError.html +3 -3
- package/apidoc/classes/CadenzaClient.html +27 -23
- package/apidoc/classes/CadenzaError.html +5 -5
- package/apidoc/functions/cadenza.html +4 -4
- package/apidoc/index.html +192 -165
- package/apidoc/interfaces/CadenzaClientOptions.html +5 -5
- package/apidoc/interfaces/CadenzaEvent.html +4 -4
- package/apidoc/interfaces/Distance.html +2 -2
- package/apidoc/interfaces/ExternalLinkKey.html +4 -4
- package/apidoc/interfaces/Feature.html +9 -9
- package/apidoc/interfaces/FeatureCollection.html +4 -4
- package/apidoc/interfaces/Geometry.html +4 -4
- package/apidoc/interfaces/GeometryExtentStrategy.html +4 -4
- package/apidoc/interfaces/LayerDataExtentStrategy.html +4 -4
- package/apidoc/interfaces/LayerDefinition.html +4 -4
- package/apidoc/interfaces/LocationFinderExtentStrategy.html +4 -4
- package/apidoc/interfaces/PageSource.html +3 -3
- package/apidoc/interfaces/SnappingOptions.html +3 -3
- package/apidoc/interfaces/StaticExtentStrategy.html +4 -4
- package/apidoc/modules.html +1 -1
- package/apidoc/types/CadenzaActionEvent.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/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/CadenzaObjectInfoEvent.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 +2 -2
- 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/OpaqueString.html +2 -2
- package/apidoc/types/OperationMode.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/cadenza.d.ts +10 -5
- package/cadenza.js +11 -6
- package/package.json +3 -3
package/apidoc/index.html
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
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 - v10.2.
|
|
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 - v10.2.15</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(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"><a href="https://github.com/DisyInformationssysteme/cadenza.js">Cadenza JS on GitHub</a></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">Cadenza JS - v10.2.15</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>Cadenza JS - v10.2.15</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>
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
</code><button type="button">Copy</button></pre>
|
|
12
12
|
|
|
13
13
|
<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
|
-
<a id="cadenza-101-and-earlier" class="tsd-anchor"></a><h3 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><p>For Cadenza 10.1 and earlier versions Cadenza JS
|
|
14
|
+
<a id="cadenza-101-and-earlier" class="tsd-anchor"></a><h3 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><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>
|
|
15
15
|
<a id="usage-examples" class="tsd-anchor"></a><h2 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><p>This section features usage examples for Cadenza JS. For detailed usage information, see the "API:" links.</p>
|
|
16
16
|
<a id="general-usage" class="tsd-anchor"></a><h3 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><p><small>API: <a href="./functions/cadenza.html">cadenza()</a></small></p>
|
|
17
17
|
<p>There are two ways to use Cadenza JS: As a module and globally.</p>
|
|
@@ -71,7 +71,7 @@ work, but <code>show</code>, <code>showMap</code> etc. require an iframe. Using
|
|
|
71
71
|
<!--
|
|
72
72
|
### Set Filters in the Currently Shown Embedding Target
|
|
73
73
|
|
|
74
|
-
<small>API: [CadenzaClient#setFilter](./classes/CadenzaClient.html#
|
|
74
|
+
<small>API: [CadenzaClient#setFilter](./classes/CadenzaClient.html#setfilter)</small>
|
|
75
75
|
|
|
76
76
|
Set filter variables using a mapping of variable names to values.
|
|
77
77
|
|
|
@@ -79,7 +79,7 @@ Set filter variables using a mapping of variable names to values.
|
|
|
79
79
|
cadenzaClient.setFilter({ '<variableName>': 'value' });
|
|
80
80
|
```
|
|
81
81
|
-->
|
|
82
|
-
<a id="show-a-workbook-map-view" class="tsd-anchor"></a><h3 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><p><small>API: <a href="./classes/CadenzaClient.html#
|
|
82
|
+
<a id="show-a-workbook-map-view" class="tsd-anchor"></a><h3 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><p><small>API: <a href="./classes/CadenzaClient.html#showmap">CadenzaClient#showMap</a></small></p>
|
|
83
83
|
<p>Show the embedding target of a workbook map view in an iframe and ...</p>
|
|
84
84
|
<ul>
|
|
85
85
|
<li>Set the initial map extent.</li>
|
|
@@ -95,7 +95,7 @@ cadenzaClient.setFilter({ '<variableName>': 'value' });
|
|
|
95
95
|
<!--
|
|
96
96
|
### Set the Visibility of a Layer in the Currently Shown Workbook Map View
|
|
97
97
|
|
|
98
|
-
<small>API: [CadenzaClient#setLayerVisibility](./classes/CadenzaClient.html#
|
|
98
|
+
<small>API: [CadenzaClient#setLayerVisibility](./classes/CadenzaClient.html#setlayervisibility)</small>
|
|
99
99
|
|
|
100
100
|
To set the visibility of a layer in the currently shown map, pass the layer path or print name and the desired visibility.
|
|
101
101
|
|
|
@@ -106,7 +106,7 @@ cadenzaClient.setLayerVisibility('<layerPrintName>', false);
|
|
|
106
106
|
<!--
|
|
107
107
|
### Get the Image of the Currently Shown Workbook Map View
|
|
108
108
|
|
|
109
|
-
<small>API: [CadenzaClient#getData](./classes/CadenzaClient.html#
|
|
109
|
+
<small>API: [CadenzaClient#getData](./classes/CadenzaClient.html#getdata)</small>
|
|
110
110
|
|
|
111
111
|
The method may support multiple data types in the future. Currently, only `"png"` is supported to get the image of a workbook map view.
|
|
112
112
|
|
|
@@ -116,7 +116,7 @@ const data = await cadenzaClient.getData('png');
|
|
|
116
116
|
canvas.drawImage(await createImageBitmap(data), 0, 0);
|
|
117
117
|
```
|
|
118
118
|
-->
|
|
119
|
-
<a id="edit-an-existing-geometry" class="tsd-anchor"></a><h3 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><p><small>API: <a href="./classes/CadenzaClient.html#
|
|
119
|
+
<a id="edit-an-existing-geometry" class="tsd-anchor"></a><h3 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><p><small>API: <a href="./classes/CadenzaClient.html#editgeometry">CadenzaClient#editGeometry</a>, <a href="./classes/CadenzaClient.html#on">CadenzaClient#on</a></small></p>
|
|
120
120
|
<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>
|
|
121
121
|
<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><span class="hl-9">geometry</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><span class="hl-9">geometry</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>
|
|
122
122
|
</code><button type="button">Copy</button></pre>
|
|
@@ -125,7 +125,7 @@ canvas.drawImage(await createImageBitmap(data), 0, 0);
|
|
|
125
125
|
<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>
|
|
126
126
|
</code><button type="button">Copy</button></pre>
|
|
127
127
|
|
|
128
|
-
<a id="create-a-new-geometry" class="tsd-anchor"></a><h3 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><p><small>API: <a href="./classes/CadenzaClient.html#
|
|
128
|
+
<a id="create-a-new-geometry" class="tsd-anchor"></a><h3 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><p><small>API: <a href="./classes/CadenzaClient.html#creategeometry">CadenzaClient#createGeometry</a></small></p>
|
|
129
129
|
<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>
|
|
130
130
|
<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 creation 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">geometry</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
|
|
131
131
|
</code><button type="button">Copy</button></pre>
|
|
@@ -137,7 +137,7 @@ That's why the events use the <code>editGeometry</code> prefix.</p>
|
|
|
137
137
|
<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>
|
|
138
138
|
</code><button type="button">Copy</button></pre>
|
|
139
139
|
|
|
140
|
-
<a id="select-objects-in-a-workbook-map-view" class="tsd-anchor"></a><h3 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><p><small>API: <a href="./classes/CadenzaClient.html#
|
|
140
|
+
<a id="select-objects-in-a-workbook-map-view" class="tsd-anchor"></a><h3 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><p><small>API: <a href="./classes/CadenzaClient.html#selectobjects">CadenzaClient#selectObjects</a></small></p>
|
|
141
141
|
<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>
|
|
142
142
|
<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>
|
|
143
143
|
</code><button type="button">Copy</button></pre>
|
|
@@ -145,7 +145,7 @@ That's why the events use the <code>editGeometry</code> prefix.</p>
|
|
|
145
145
|
<!--
|
|
146
146
|
#### _Programmatically_ Set the Selection in the Currently Shown Workbook Map View
|
|
147
147
|
|
|
148
|
-
<small>API: [CadenzaClient#setSelection](./classes/CadenzaClient.html#
|
|
148
|
+
<small>API: [CadenzaClient#setSelection](./classes/CadenzaClient.html#setselection)</small>
|
|
149
149
|
|
|
150
150
|
Set the selection in the currently shown workbook map view using a list of object IDs to select. An empty list clears the selection.
|
|
151
151
|
|
|
@@ -157,171 +157,198 @@ cadenzaClient.setSelection(
|
|
|
157
157
|
```
|
|
158
158
|
|
|
159
159
|
You can also add to or remove from the current selection:
|
|
160
|
-
* <small>API: [CadenzaClient#addSelection](./classes/CadenzaClient.html#
|
|
161
|
-
* <small>API: [CadenzaClient#removeSelection](./classes/CadenzaClient.html#
|
|
162
|
-
-->
|
|
163
|
-
<a id="highlight-an-item-in-the-navigator" class="tsd-anchor"></a><h3 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><p><small>API: <a href="./classes/CadenzaClient.html#show">CadenzaClient#show</a></small></p>
|
|
164
|
-
<p>Show an embedding target in an iframe and highlight an item in the navigator. Additionally, expand the navigator tree.</p>
|
|
165
|
-
<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>
|
|
166
|
-
</code><button type="button">Copy</button></pre>
|
|
160
|
+
* <small>API: [CadenzaClient#addSelection](./classes/CadenzaClient.html#addselection)</small>
|
|
161
|
+
* <small>API: [CadenzaClient#removeSelection](./classes/CadenzaClient.html#removeselection)</small>
|
|
167
162
|
|
|
168
|
-
|
|
169
|
-
<p>Show Cadenza's welcome page in an iframe and highlight an item in the navigator.</p>
|
|
170
|
-
<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>
|
|
171
|
-
</code><button type="button">Copy</button></pre>
|
|
163
|
+
### Highlight an Item in the Navigator
|
|
172
164
|
|
|
173
|
-
<
|
|
174
|
-
<p>Expand the navigator.</p>
|
|
175
|
-
<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>
|
|
176
|
-
</code><button type="button">Copy</button></pre>
|
|
165
|
+
<small>API: [CadenzaClient#show](./classes/CadenzaClient.html#show)</small>
|
|
177
166
|
|
|
178
|
-
|
|
179
|
-
<p>Fetch data from a workbook view in CSV format.</p>
|
|
180
|
-
<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>
|
|
181
|
-
</code><button type="button">Copy</button></pre>
|
|
167
|
+
Show an embedding target in an iframe and highlight an item in the navigator. Additionally, expand the navigator tree.
|
|
182
168
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
169
|
+
```javascript
|
|
170
|
+
cadenzaClient.show('<embeddingTargetId>', {expandNavigator: true, highlightGlobalId: 'ROOT.MyFolder'});
|
|
171
|
+
```
|
|
186
172
|
|
|
187
|
-
|
|
188
|
-
<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>
|
|
189
|
-
<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>
|
|
190
|
-
</code><button type="button">Copy</button></pre>
|
|
173
|
+
#### Highlight an Item in the Navigator on the Welcome Page
|
|
191
174
|
|
|
192
|
-
<
|
|
193
|
-
<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>
|
|
194
|
-
<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">featureCollection</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><br/><span class="hl-1">});</span>
|
|
195
|
-
</code><button type="button">Copy</button></pre>
|
|
175
|
+
<small>API: [CadenzaClient#show](./classes/CadenzaClient.html#show)</small>
|
|
196
176
|
|
|
197
|
-
|
|
198
|
-
<p>Download data from a workbook view in Excel format. This triggers the browser's download dialog.</p>
|
|
199
|
-
<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>
|
|
200
|
-
</code><button type="button">Copy</button></pre>
|
|
177
|
+
Show Cadenza's welcome page in an iframe and highlight an item in the navigator.
|
|
201
178
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
</code><button type="button">Copy</button></pre>
|
|
179
|
+
```javascript
|
|
180
|
+
cadenzaClient.show({page: 'welcome'}, {highlightGlobalId: 'ROOT.MyFolder'});
|
|
181
|
+
```
|
|
206
182
|
|
|
207
|
-
|
|
208
|
-
<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>
|
|
209
|
-
</code><button type="button">Copy</button></pre>
|
|
183
|
+
#### Expand the Navigator
|
|
210
184
|
|
|
211
|
-
<
|
|
212
|
-
<p>Sends a message to parent Cadenza window to close the window containing this application.</p>
|
|
213
|
-
<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>
|
|
214
|
-
</code><button type="button">Copy</button></pre>
|
|
185
|
+
<small>API: [CadenzaClient#expandNavigator](./classes/CadenzaClient.html#expandnavigator)</small>
|
|
215
186
|
|
|
216
|
-
|
|
217
|
-
<ul>
|
|
218
|
-
<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>
|
|
219
|
-
<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>
|
|
220
|
-
</ul>
|
|
221
|
-
<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>
|
|
222
|
-
<a id="the-development-sandbox" class="tsd-anchor"></a><h2 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><p>The development sandbox is a simple custom application (in fact a single <code>.html</code> file) for playing with Cadenza JS.</p>
|
|
223
|
-
<p>To run it ...</p>
|
|
224
|
-
<ul>
|
|
225
|
-
<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>
|
|
226
|
-
<li>In <code>node_modules/@disy/cadenza.js</code> run <code>npm run sandbox</code> to start the sandbox.</li>
|
|
227
|
-
</ul>
|
|
228
|
-
<p>The command starts a proxy server that serves the <code>sandbox.html</code> and <code>cadenza.js</code> files and proxies all other requests to the Cadenza server. Since that way the sandbox and Cadenza run on the same origin, embedding and <code>postMessage</code> communication just work.</p>
|
|
229
|
-
<p>Alternatively ...</p>
|
|
230
|
-
<ul>
|
|
231
|
-
<li>Set the system variable <code>"net.disy.cadenza.sandbox"</code> in Cadenza to enable the sandbox.</li>
|
|
232
|
-
<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>
|
|
233
|
-
</ul>
|
|
234
|
-
<p><code>cadenza.js</code> is automatically served when Cadenza starts.</p>
|
|
235
|
-
<a id="the-sandbox-ui" class="tsd-anchor"></a><h3 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><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>
|
|
236
|
-
<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>
|
|
237
|
-
<a id="customize-the-cadenza-url" class="tsd-anchor"></a><h3 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><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>
|
|
238
|
-
<ul>
|
|
239
|
-
<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>
|
|
240
|
-
</code><button type="button">Copy</button></pre>
|
|
187
|
+
Expand the navigator.
|
|
241
188
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
189
|
+
```javascript
|
|
190
|
+
cadenzaClient.expandNavigator();
|
|
191
|
+
```
|
|
245
192
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
<
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
<
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
<
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
<
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
<
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
<
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
<
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
193
|
+
### Fetch Data From a Workbook View
|
|
194
|
+
|
|
195
|
+
<small>API: [CadenzaClient#fetchData](./classes/CadenzaClient.html#fetchdata)</small>
|
|
196
|
+
|
|
197
|
+
Fetch data from a workbook view in CSV format.
|
|
198
|
+
|
|
199
|
+
```javascript
|
|
200
|
+
const response = await cadenzaClient.fetchData('<embeddingTargetId>', 'csv');
|
|
201
|
+
|
|
202
|
+
const text = await response.text();
|
|
203
|
+
...
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
#### Control the Contents of the Fetched Table Data
|
|
207
|
+
|
|
208
|
+
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.)
|
|
209
|
+
|
|
210
|
+
```javascript
|
|
211
|
+
const response = await cadenzaClient.fetchData('<embeddingTargetId>', 'json', {
|
|
212
|
+
parts: ['values', 'totals']
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
const tableData = await response.json();
|
|
216
|
+
...
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Fetch the Object Info from a Workbook Map View
|
|
220
|
+
|
|
221
|
+
<small>API: [CadenzaClient#fetchObjectInfo(./classes/CadenzaClient.html#fetchobjectinfo)</small>
|
|
222
|
+
|
|
223
|
+
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.
|
|
224
|
+
|
|
225
|
+
```javascript
|
|
226
|
+
const objectInfo = await cadenzaClient.fetchObjectInfo('embeddingTargetId', 'layerPrintName', [['objectId']], {
|
|
227
|
+
useMapSrs: false,
|
|
228
|
+
fullGeometries: true
|
|
229
|
+
});
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### Fetch the area intersection from a Workbook Map View Layer
|
|
233
|
+
|
|
234
|
+
<small>API: [CadenzaClient#fetchObjectInfo(./classes/CadenzaClient.html#fetchareaintersections)</small>
|
|
235
|
+
|
|
236
|
+
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.
|
|
237
|
+
|
|
238
|
+
```javascript
|
|
239
|
+
const geometry = {
|
|
240
|
+
type: 'Point',
|
|
241
|
+
coordinates: [328_627.563458, 5_921_296.662223],
|
|
242
|
+
};
|
|
243
|
+
const bufferSize = {
|
|
244
|
+
value: 100,
|
|
245
|
+
lengthUnit: 'm'
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
const featureCollection = await cadenzaClient.fetchAreaIntersections('embeddingTargetId', 'layerPrintName', geometry, {
|
|
249
|
+
useMapSrs: true,
|
|
250
|
+
bufferSize: bufferSize
|
|
251
|
+
});
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### Download Data From a Workbook View
|
|
255
|
+
|
|
256
|
+
<small>API: [CadenzaClient#downloadData](./classes/CadenzaClient.html#downloaddata)</small>
|
|
257
|
+
|
|
258
|
+
Download data from a workbook view in Excel format. This triggers the browser's download dialog.
|
|
259
|
+
|
|
260
|
+
```javascript
|
|
261
|
+
const button = document.createElement('button');
|
|
262
|
+
button.textContent = 'Download Excel';
|
|
263
|
+
button.onclick = () => cadenzaClient.downloadData('<embeddingTargetId>', 'excel');
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### Reload the Views of a Worksheet
|
|
267
|
+
|
|
268
|
+
<small>API: [CadenzaClient#reload](./classes/CadenzaClient.html#reload)</small>
|
|
269
|
+
|
|
270
|
+
To reload a worksheet:
|
|
271
|
+
```javascript
|
|
272
|
+
cadenzaClient.reload();
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
To invalidate caches and reload:
|
|
276
|
+
```javascript
|
|
277
|
+
cadenzaClient.reload({ invalidateCaches: true });
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### Close the Cadenza Dialog or Window That Embeds the Custom Application
|
|
281
|
+
|
|
282
|
+
<small>API: [CadenzaClient#closeMe](./classes/CadenzaClient.html#closeme)</small>
|
|
283
|
+
|
|
284
|
+
Sends a message to parent Cadenza window to close the window containing this application.
|
|
285
|
+
```javascript
|
|
286
|
+
cadenzaClient.closeMe();
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
#### Listen for Cadenza Closing the Custom Application
|
|
290
|
+
|
|
291
|
+
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:
|
|
292
|
+
* The [Window: `unload` event](https://developer.mozilla.org/docs/Web/API/Window/unload_event) is dispatched when the window/dialog is closed.
|
|
293
|
+
* The [Document: `visibilitychange` event](https://developer.mozilla.org/docs/Web/API/Document/visibilitychange_event) is dispatched when the window/dialog is closed _or hidden_ (for example when the user switches to another browser tab).
|
|
294
|
+
|
|
295
|
+
_Note:_ If you need to send a request to your server when the window/dialog is closed, you should use the [Navigator: `sendBeacon()` method](https://developer.mozilla.org/docs/Web/API/Navigator/sendBeacon). It's limited to POST requests, but in contrast to the "normal" XHR or `fetch()` APIs, it works reliably when the dialog/window is closed.
|
|
296
|
+
|
|
297
|
+
## The Development Sandbox
|
|
298
|
+
|
|
299
|
+
The development sandbox is a simple custom application (in fact a single `.html` file) for playing with Cadenza JS.
|
|
300
|
+
|
|
301
|
+
To run it ...
|
|
302
|
+
|
|
303
|
+
* You need a Cadenza installation running on http://localhost:8080/cadenza. (See [Customize the Cadenza URL](#customize-the-cadenza-url) below)
|
|
304
|
+
* In `node_modules/@disy/cadenza.js` run `npm run sandbox` to start the sandbox.
|
|
305
|
+
|
|
306
|
+
The command starts a proxy server that serves the `sandbox.html` and `cadenza.js` files and proxies all other requests to the Cadenza server. Since that way the sandbox and Cadenza run on the same origin, embedding and `postMessage` communication just work.
|
|
307
|
+
|
|
308
|
+
Alternatively ...
|
|
309
|
+
|
|
310
|
+
* Set the system variable `"net.disy.cadenza.sandbox"` in Cadenza to enable the sandbox.
|
|
311
|
+
* Now, `sandbox.html` is served on http://localhost:8080/cadenza/sandbox (replace with custom Cadenza url `/sandbox` as needed).
|
|
312
|
+
|
|
313
|
+
`cadenza.js` is automatically served when Cadenza starts.
|
|
314
|
+
|
|
315
|
+
### The Sandbox UI
|
|
316
|
+
|
|
317
|
+
`npm run sandbox` 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.
|
|
318
|
+
|
|
319
|
+
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.
|
|
320
|
+
|
|
321
|
+
### Customize the Cadenza URL
|
|
322
|
+
|
|
323
|
+
By default, the sandbox expects Cadenza to run on http://localhost:8080/cadenza. There are two ways to customize the Cadenza URL:
|
|
324
|
+
|
|
325
|
+
* Pass an argument:
|
|
326
|
+
```bash
|
|
327
|
+
npm run sandbox -- --cadenza-url http://localhost:8000/my-cadenza
|
|
328
|
+
```
|
|
329
|
+
* Set an environment variable:
|
|
330
|
+
```bash
|
|
331
|
+
export CADENZA_URL=http://localhost:8000/my-cadenza
|
|
332
|
+
npm run sandbox
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
## JSON Representation of Cadenza Object Data
|
|
336
|
+
|
|
337
|
+
[JSON](https://www.json.org/) is a simple data-interchange format, which is also used in the Cadenza 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.
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
| Cadenza Attribute Type | JSON Type | JSON Example Value | Notes |
|
|
341
|
+
|-------------------------------------|-----------|--------------------------|-------|
|
|
342
|
+
| Text (String) | string | `"Text"` | |
|
|
343
|
+
| Number (Integer) | number | `1` | |
|
|
344
|
+
| Number (Long) | string | `"1"` | The long value range exceeds the range of the JSON number type. So it's represented as a string. |
|
|
345
|
+
| Floating point number (Double) | number | `1.23` |
|
|
346
|
+
| Floating point number (Big decimal) | string | `"1.23"` | The big decimal value range exceeds the range of the JSON number type. So it's represented as a string. |
|
|
347
|
+
| Date | string | `"1999-12-31T23:00:00Z"` | A date is represented as an [ISO string in universal time](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) (UTC). |
|
|
348
|
+
| Duration | number | `1` | A duration is represented by its numeric value. |
|
|
349
|
+
| Geometry | object | <pre lang="json">{<br> "type": "Point"<br> "coordinates": [125.6, 10.1]<br>}</pre> | A geometry is represented as a [GeoJSON](https://geojson.org/) object.<br>_Note:_ By default, coordinates in GeoJSON use the WGS84 projection. |
|
|
350
|
+
| IP address | string | `"127.0.0.1"` | |
|
|
351
|
+
| URL | string | `"http://example.com"` | |
|
|
352
|
+
| LOB | string | | |
|
|
353
|
+
|
|
354
|
+
<!-- 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"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>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"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg>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 PDF of a "<wbr/>Jasper<wbr/>Reports report" <wbr/>View <wbr/>Directly</span></a></li></ul></li><li><a href="#abort-iframe-loading"><span>Abort (<wbr/>Iframe) <wbr/>Loading</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="#edit-an-existing-geometry"><span>Edit an <wbr/>Existing <wbr/>Geometry</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><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></ul></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 - v10.2.15</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>
|