@disy/cadenza.js 10.2.13 → 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 +9 -0
- package/apidoc/assets/navigation.js +1 -1
- package/apidoc/assets/search.js +1 -1
- package/apidoc/classes/AbortError.html +3 -3
- package/apidoc/classes/CadenzaClient.html +32 -27
- package/apidoc/classes/CadenzaError.html +5 -5
- package/apidoc/functions/cadenza.html +4 -4
- package/apidoc/index.html +193 -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 +6 -0
- 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 +22 -9
- package/cadenza.js +31 -11
- package/package.json +3 -3
- package/sandbox.html +10 -0
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>
|
|
@@ -133,10 +133,11 @@ canvas.drawImage(await createImageBitmap(data), 0, 0);
|
|
|
133
133
|
<p><em>Note:</em> Under the hood, creating a geometry is similar to editing a geometry.
|
|
134
134
|
That's why the events use the <code>editGeometry</code> prefix.</p>
|
|
135
135
|
<a id="additional-background-layers" class="tsd-anchor"></a><h4 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><p>Create a GeoJSON polygon geometry with a workbook map view and some additional background layers.</p>
|
|
136
|
+
<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>
|
|
136
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>
|
|
137
138
|
</code><button type="button">Copy</button></pre>
|
|
138
139
|
|
|
139
|
-
<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>
|
|
140
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>
|
|
141
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>
|
|
142
143
|
</code><button type="button">Copy</button></pre>
|
|
@@ -144,7 +145,7 @@ That's why the events use the <code>editGeometry</code> prefix.</p>
|
|
|
144
145
|
<!--
|
|
145
146
|
#### _Programmatically_ Set the Selection in the Currently Shown Workbook Map View
|
|
146
147
|
|
|
147
|
-
<small>API: [CadenzaClient#setSelection](./classes/CadenzaClient.html#
|
|
148
|
+
<small>API: [CadenzaClient#setSelection](./classes/CadenzaClient.html#setselection)</small>
|
|
148
149
|
|
|
149
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.
|
|
150
151
|
|
|
@@ -156,171 +157,198 @@ cadenzaClient.setSelection(
|
|
|
156
157
|
```
|
|
157
158
|
|
|
158
159
|
You can also add to or remove from the current selection:
|
|
159
|
-
* <small>API: [CadenzaClient#addSelection](./classes/CadenzaClient.html#
|
|
160
|
-
* <small>API: [CadenzaClient#removeSelection](./classes/CadenzaClient.html#
|
|
161
|
-
-->
|
|
162
|
-
<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>
|
|
163
|
-
<p>Show an embedding target in an iframe and highlight an item in the navigator. Additionally, expand the navigator tree.</p>
|
|
164
|
-
<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>
|
|
165
|
-
</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>
|
|
166
162
|
|
|
167
|
-
|
|
168
|
-
<p>Show Cadenza's welcome page in an iframe and highlight an item in the navigator.</p>
|
|
169
|
-
<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>
|
|
170
|
-
</code><button type="button">Copy</button></pre>
|
|
163
|
+
### Highlight an Item in the Navigator
|
|
171
164
|
|
|
172
|
-
<
|
|
173
|
-
<p>Expand the navigator.</p>
|
|
174
|
-
<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>
|
|
175
|
-
</code><button type="button">Copy</button></pre>
|
|
165
|
+
<small>API: [CadenzaClient#show](./classes/CadenzaClient.html#show)</small>
|
|
176
166
|
|
|
177
|
-
|
|
178
|
-
<p>Fetch data from a workbook view in CSV format.</p>
|
|
179
|
-
<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>
|
|
180
|
-
</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.
|
|
181
168
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
169
|
+
```javascript
|
|
170
|
+
cadenzaClient.show('<embeddingTargetId>', {expandNavigator: true, highlightGlobalId: 'ROOT.MyFolder'});
|
|
171
|
+
```
|
|
185
172
|
|
|
186
|
-
|
|
187
|
-
<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>
|
|
188
|
-
<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>
|
|
189
|
-
</code><button type="button">Copy</button></pre>
|
|
173
|
+
#### Highlight an Item in the Navigator on the Welcome Page
|
|
190
174
|
|
|
191
|
-
<
|
|
192
|
-
<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>
|
|
193
|
-
<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>
|
|
194
|
-
</code><button type="button">Copy</button></pre>
|
|
175
|
+
<small>API: [CadenzaClient#show](./classes/CadenzaClient.html#show)</small>
|
|
195
176
|
|
|
196
|
-
|
|
197
|
-
<p>Download data from a workbook view in Excel format. This triggers the browser's download dialog.</p>
|
|
198
|
-
<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>
|
|
199
|
-
</code><button type="button">Copy</button></pre>
|
|
177
|
+
Show Cadenza's welcome page in an iframe and highlight an item in the navigator.
|
|
200
178
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
</code><button type="button">Copy</button></pre>
|
|
179
|
+
```javascript
|
|
180
|
+
cadenzaClient.show({page: 'welcome'}, {highlightGlobalId: 'ROOT.MyFolder'});
|
|
181
|
+
```
|
|
205
182
|
|
|
206
|
-
|
|
207
|
-
<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>
|
|
208
|
-
</code><button type="button">Copy</button></pre>
|
|
183
|
+
#### Expand the Navigator
|
|
209
184
|
|
|
210
|
-
<
|
|
211
|
-
<p>Sends a message to parent Cadenza window to close the window containing this application.</p>
|
|
212
|
-
<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>
|
|
213
|
-
</code><button type="button">Copy</button></pre>
|
|
185
|
+
<small>API: [CadenzaClient#expandNavigator](./classes/CadenzaClient.html#expandnavigator)</small>
|
|
214
186
|
|
|
215
|
-
|
|
216
|
-
<ul>
|
|
217
|
-
<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>
|
|
218
|
-
<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>
|
|
219
|
-
</ul>
|
|
220
|
-
<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>
|
|
221
|
-
<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>
|
|
222
|
-
<p>To run it ...</p>
|
|
223
|
-
<ul>
|
|
224
|
-
<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>
|
|
225
|
-
<li>In <code>node_modules/@disy/cadenza.js</code> run <code>npm run sandbox</code> to start the sandbox.</li>
|
|
226
|
-
</ul>
|
|
227
|
-
<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>
|
|
228
|
-
<p>Alternatively ...</p>
|
|
229
|
-
<ul>
|
|
230
|
-
<li>Set the system variable <code>"net.disy.cadenza.sandbox"</code> in Cadenza to enable the sandbox.</li>
|
|
231
|
-
<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>
|
|
232
|
-
</ul>
|
|
233
|
-
<p><code>cadenza.js</code> is automatically served when Cadenza starts.</p>
|
|
234
|
-
<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>
|
|
235
|
-
<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>
|
|
236
|
-
<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>
|
|
237
|
-
<ul>
|
|
238
|
-
<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>
|
|
239
|
-
</code><button type="button">Copy</button></pre>
|
|
187
|
+
Expand the navigator.
|
|
240
188
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
189
|
+
```javascript
|
|
190
|
+
cadenzaClient.expandNavigator();
|
|
191
|
+
```
|
|
244
192
|
|
|
245
|
-
|
|
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
|
-
|
|
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>
|