@disy/cadenza.js 2.11.0 → 2.12.0

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.
Files changed (48) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +1 -0
  3. package/apidoc/assets/navigation.js +1 -1
  4. package/apidoc/assets/search.js +1 -1
  5. package/apidoc/classes/AbortError.html +3 -3
  6. package/apidoc/classes/CadenzaClient.html +39 -23
  7. package/apidoc/classes/CadenzaError.html +5 -5
  8. package/apidoc/functions/cadenza.html +3 -3
  9. package/apidoc/index.html +10 -2
  10. package/apidoc/interfaces/CadenzaClientOptions.html +5 -5
  11. package/apidoc/interfaces/CadenzaEvent.html +4 -4
  12. package/apidoc/interfaces/Distance.html +3 -0
  13. package/apidoc/interfaces/ExternalLinkKey.html +4 -4
  14. package/apidoc/interfaces/Feature.html +12 -0
  15. package/apidoc/interfaces/FeatureCollection.html +4 -0
  16. package/apidoc/interfaces/Geometry.html +3 -3
  17. package/apidoc/interfaces/GeometryZoomTarget.html +4 -0
  18. package/apidoc/interfaces/PageSource.html +3 -3
  19. package/apidoc/modules.html +8 -2
  20. package/apidoc/types/CadenzaChangeSelectionEvent.html +2 -2
  21. package/apidoc/types/CadenzaDrillThroughEvent.html +2 -2
  22. package/apidoc/types/CadenzaEditGeometryCancelEvent.html +2 -2
  23. package/apidoc/types/CadenzaEditGeometryOkEvent.html +2 -2
  24. package/apidoc/types/CadenzaEditGeometryUpdateEvent.html +2 -2
  25. package/apidoc/types/CadenzaErrorEvent.html +2 -2
  26. package/apidoc/types/CadenzaEventByType.html +1 -1
  27. package/apidoc/types/CadenzaEventType.html +2 -2
  28. package/apidoc/types/CadenzaObjectInfoEvent.html +2 -2
  29. package/apidoc/types/CadenzaSelectObjectsCancelEvent.html +2 -2
  30. package/apidoc/types/CadenzaSelectObjectsOkEvent.html +2 -2
  31. package/apidoc/types/DataType.html +2 -2
  32. package/apidoc/types/EmbeddingTargetId.html +2 -2
  33. package/apidoc/types/Extent.html +2 -2
  34. package/apidoc/types/FilterVariables.html +2 -2
  35. package/apidoc/types/GeometryType.html +2 -2
  36. package/apidoc/types/GlobalId.html +2 -2
  37. package/apidoc/types/LengthUnit.html +1 -0
  38. package/apidoc/types/OpaqueString.html +2 -2
  39. package/apidoc/types/OperationMode.html +2 -2
  40. package/apidoc/types/TablePart.html +2 -2
  41. package/apidoc/types/UiFeature.html +2 -2
  42. package/apidoc/types/WorkbookLayerPath.html +2 -2
  43. package/apidoc/types/ZoomTarget.html +2 -0
  44. package/cadenza.d.ts +104 -8
  45. package/cadenza.js +112 -14
  46. package/package.json +1 -1
  47. package/sandbox.cjs +2 -2
  48. package/sandbox.html +97 -14
package/sandbox.html CHANGED
@@ -161,9 +161,9 @@
161
161
  },
162
162
  setFilter: data => cadenzaClient.setFilter(parseFilterVariables(data.filter)),
163
163
  setLayerVisibility: data => cadenzaClient.setLayerVisibility(JSON.parse(data.layer), data.visibility === 'on'),
164
- setSelection: data => cadenzaClient.setSelection(JSON.parse(data.layer), JSON.parse(data.values)),
165
- addSelection: data => cadenzaClient.addSelection(JSON.parse(data.layer), JSON.parse(data.values)),
166
- removeSelection: data => cadenzaClient.removeSelection(JSON.parse(data.layer), JSON.parse(data.values)),
164
+ setSelection: data => cadenzaClient.setSelection(JSON.parse(data.layer), JSON.parse(data.objectIds)),
165
+ addSelection: data => cadenzaClient.addSelection(JSON.parse(data.layer), JSON.parse(data.objectIds)),
166
+ removeSelection: data => cadenzaClient.removeSelection(JSON.parse(data.layer), JSON.parse(data.objectIds)),
167
167
  createGeometry: data => cadenzaClient.createGeometry(data.embeddingTargetId, data.geometryType, getOptions(data)),
168
168
  editGeometry: ({ geometry, ...data }) => cadenzaClient.editGeometry(data.embeddingTargetId, JSON.parse(geometry), getOptions(data)),
169
169
  selectObjects: data => cadenzaClient.selectObjects(data.embeddingTargetId, getOptions(data)),
@@ -171,6 +171,16 @@
171
171
  console.log('Inspect the fetchData() request in the devtools.');
172
172
  cadenzaClient.fetchData(data.embeddingTargetId, data.dataType, getOptions(data));
173
173
  },
174
+ fetchObjectInfo: data => {
175
+ console.log('Inspect the fetchObjectInfo() request in the devtools.');
176
+ cadenzaClient.fetchObjectInfo(data.embeddingTargetId, JSON.parse(data.layer), JSON.parse(data.objectIds), getOptions(data))
177
+ .then(console.log);
178
+ },
179
+ fetchAreaIntersections: data => {
180
+ console.log('Inspect the fetchAreaIntersections() request in the devtools.');
181
+ cadenzaClient.fetchAreaIntersections(data.embeddingTargetId, JSON.parse(data.layer), JSON.parse(data.geometry), getOptions(data))
182
+ .then(console.log);
183
+ },
174
184
  downloadData: data => cadenzaClient.downloadData(data.embeddingTargetId, data.dataType, getOptions(data))
175
185
  };
176
186
 
@@ -216,7 +226,11 @@
216
226
  parts,
217
227
  layers,
218
228
  simplifiedOperationMode,
219
- useMapSrs
229
+ useMapSrs,
230
+ fullGeometries,
231
+ zoomToGeometry,
232
+ distance,
233
+ lengthUnit
220
234
  }) {
221
235
  return {
222
236
  disabledUiFeatures: disabledUiFeatures && disabledUiFeatures.split(','),
@@ -235,7 +249,10 @@
235
249
  parts: parts && parts.split(','),
236
250
  ...(simplifiedOperationMode === 'on' && { operationMode: 'simplified' }),
237
251
  layers: layers ? JSON.parse(layers) : undefined,
238
- useMapSrs: useMapSrs === 'on'
252
+ useMapSrs: useMapSrs === 'on',
253
+ fullGeometries: fullGeometries === 'on',
254
+ zoomTarget: zoomToGeometry === 'on' ? { type: 'geometry' } : undefined,
255
+ buffer: distance ? { value: Number(distance), lengthUnit: lengthUnit ? lengthUnit : 'm' } : undefined
239
256
  };
240
257
  }
241
258
 
@@ -284,6 +301,8 @@
284
301
  <optgroup label="Without Iframe">
285
302
  <option value="downloadData">Download data</option>
286
303
  <option value="fetchData">Fetch data</option>
304
+ <option value="fetchObjectInfo">Fetch Object Info</option>
305
+ <option value="fetchAreaIntersections">Fetch Area Intersections</option>
287
306
  </optgroup>
288
307
  </select>
289
308
  </div>
@@ -442,7 +461,7 @@
442
461
  </div>
443
462
  </template>
444
463
 
445
- <template data-action="showMap" data-common="map,showWorkbook,filter,show">
464
+ <template data-action="showMap" data-common="zoomTo,map,showWorkbook,filter,show">
446
465
  <div>
447
466
  <label for="embeddingTargetId">Embedding target ID of the map view *</label>
448
467
  <input name="embeddingTargetId" id="embeddingTargetId" required>
@@ -477,7 +496,7 @@
477
496
  </div>
478
497
  </template>
479
498
 
480
- <template data-action="editGeometry" data-common="map,filter">
499
+ <template data-action="editGeometry" data-common="zoomTo,map,filter">
481
500
  <div>
482
501
  <label for="embeddingTargetId">Embedding target ID of the map view *</label>
483
502
  <input name="embeddingTargetId" id="embeddingTargetId" required>
@@ -518,9 +537,9 @@
518
537
  </div>
519
538
  </template>
520
539
 
521
- <template data-action="setSelection" data-common="layer,layer-selection"></template>
522
- <template data-action="addSelection" data-common="layer,layer-selection"></template>
523
- <template data-action="removeSelection" data-common="layer,layer-selection"></template>
540
+ <template data-action="setSelection" data-common="layer,object-ids"></template>
541
+ <template data-action="addSelection" data-common="layer,object-ids"></template>
542
+ <template data-action="removeSelection" data-common="layer,object-ids"></template>
524
543
 
525
544
  <template data-action="reload">
526
545
  <div>
@@ -532,12 +551,12 @@
532
551
  </template>
533
552
  <template data-action="closeMe">No Parameters needed.</template>
534
553
 
535
- <template id="common-layer-selection">
554
+ <template id="common-object-ids">
536
555
  <div>
537
- <label for="values">List of Object IDs *</label>
538
- <textarea name="values" id="values" rows="5" required></textarea>
556
+ <label for="objectids">List of object ID value lists *</label>
557
+ <textarea name="objectIds" id="objectids" rows="5" required></textarea>
539
558
  <small>
540
- <p>A JSON value like <code>["object1","object2"]</code></p>
559
+ <p>A JSON value like <code>[["&lt;object1-id&gt;"],["&lt;object2-id&gt;"]]</code></p>
541
560
  </small>
542
561
  </div>
543
562
  </template>
@@ -555,6 +574,15 @@
555
574
  </div>
556
575
  </template>
557
576
 
577
+ <template id="common-zoomTo">
578
+ <div>
579
+ <label>
580
+ <input type="checkbox" name="zoomToGeometry">
581
+ Zoom to geometry
582
+ </label>
583
+ </div>
584
+ </template>
585
+
558
586
  <template data-action="downloadData" data-common="data,filter">
559
587
  <div>
560
588
  <label for="embeddingTargetId">Embedding target ID *</label>
@@ -573,6 +601,61 @@
573
601
  </div>
574
602
  </template>
575
603
 
604
+ <template data-action="fetchObjectInfo" data-common="layer,object-ids,filter">
605
+ <div>
606
+ <label for="embeddingTargetId">Embedding target ID *</label>
607
+ <input name="embeddingTargetId" id="embeddingTargetId" required>
608
+ </div>
609
+ <div>
610
+ <label>
611
+ <input type="checkbox" name="useMapSrs">
612
+ Use map SRS
613
+ </label>
614
+ </div>
615
+ <div>
616
+ <label>
617
+ <input type="checkbox" name="fullGeometries">
618
+ Return the non-simplified geometries
619
+ </label>
620
+ </div>
621
+ </template>
622
+
623
+ <template data-action="fetchAreaIntersections" data-common="layer">
624
+ <div>
625
+ <label for="embeddingTargetId">Embedding target ID *</label>
626
+ <input name="embeddingTargetId" id="embeddingTargetId" required>
627
+ </div>
628
+ <div>
629
+ <label for="geometry">Intersection Geometry (GeoJSON) *</label>
630
+ <textarea name="geometry" id="geometry" rows="5" required></textarea>
631
+ <small>
632
+ <p>
633
+ The geometry must result in an area in combination with the buffer specification.
634
+ </p>
635
+ </small>
636
+ </div>
637
+ <div>
638
+ <label>
639
+ <input type="checkbox" name="useMapSrs">
640
+ Use map SRS
641
+ </label>
642
+ </div>
643
+ <div>
644
+ <label for="distance">Buffer size</label>
645
+ <input name="distance" id="distance" type="number" min="0">
646
+ <label for="lengthUnit">Length unit</label>
647
+ <select name="lengthUnit" id="lengthUnit">
648
+ <option>m</option>
649
+ <option>km</option>
650
+ </select>
651
+ <small>
652
+ <p>
653
+ A positive buffer size is needed for point or line intersection geometries.
654
+ </p>
655
+ </small>
656
+ </div>
657
+ </template>
658
+
576
659
  <template data-action="getData">
577
660
  <div>
578
661
  <label for="dataType">Data type</label>