@disy/cadenza.js 10.4.2 → 10.4.4

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 (59) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/apidoc/assets/search.js +1 -1
  3. package/apidoc/classes/AbortError.html +3 -3
  4. package/apidoc/classes/CadenzaClient.html +25 -24
  5. package/apidoc/classes/CadenzaError.html +5 -5
  6. package/apidoc/functions/cadenza.html +4 -4
  7. package/apidoc/index.html +40 -63
  8. package/apidoc/interfaces/CadenzaClientOptions.html +7 -5
  9. package/apidoc/interfaces/CadenzaEvent.html +4 -4
  10. package/apidoc/interfaces/CommonEditGeometryOptions.html +11 -11
  11. package/apidoc/interfaces/Distance.html +2 -2
  12. package/apidoc/interfaces/ExternalLinkKey.html +4 -4
  13. package/apidoc/interfaces/Feature.html +9 -9
  14. package/apidoc/interfaces/FeatureCollection.html +4 -4
  15. package/apidoc/interfaces/Geometry.html +4 -4
  16. package/apidoc/interfaces/GeometryExtentStrategy.html +4 -4
  17. package/apidoc/interfaces/LayerDataExtentStrategy.html +4 -4
  18. package/apidoc/interfaces/LayerDefinition.html +4 -4
  19. package/apidoc/interfaces/LocationFinderExtentStrategy.html +4 -4
  20. package/apidoc/interfaces/PageSource.html +3 -3
  21. package/apidoc/interfaces/SnappingOptions.html +3 -3
  22. package/apidoc/interfaces/SpatialFilterValue.html +4 -4
  23. package/apidoc/interfaces/StaticExtentStrategy.html +4 -4
  24. package/apidoc/modules.html +1 -1
  25. package/apidoc/types/CadenzaActionEvent.html +2 -2
  26. package/apidoc/types/CadenzaChangeSelectionEvent.html +2 -2
  27. package/apidoc/types/CadenzaDrillThroughEvent.html +2 -2
  28. package/apidoc/types/CadenzaEditGeometryCancelEvent.html +2 -2
  29. package/apidoc/types/CadenzaEditGeometryOkEvent.html +2 -2
  30. package/apidoc/types/CadenzaEditGeometryUpdateEvent.html +2 -2
  31. package/apidoc/types/CadenzaErrorEvent.html +2 -2
  32. package/apidoc/types/CadenzaEventByType.html +1 -1
  33. package/apidoc/types/CadenzaEventType.html +2 -2
  34. package/apidoc/types/CadenzaObjectInfoEvent.html +2 -2
  35. package/apidoc/types/CadenzaReloadEvent.html +2 -2
  36. package/apidoc/types/CadenzaSelectObjectsCancelEvent.html +2 -2
  37. package/apidoc/types/CadenzaSelectObjectsOkEvent.html +2 -2
  38. package/apidoc/types/Coordinate.html +2 -2
  39. package/apidoc/types/CustomValidityType.html +2 -2
  40. package/apidoc/types/DataType.html +2 -2
  41. package/apidoc/types/EmbeddingTargetId.html +2 -2
  42. package/apidoc/types/Extent.html +2 -2
  43. package/apidoc/types/ExtentStrategy.html +2 -2
  44. package/apidoc/types/FilterVariables.html +2 -2
  45. package/apidoc/types/GeometryType.html +2 -2
  46. package/apidoc/types/GlobalId.html +2 -2
  47. package/apidoc/types/Layout.html +2 -2
  48. package/apidoc/types/LengthUnit.html +1 -1
  49. package/apidoc/types/OpaqueString.html +2 -2
  50. package/apidoc/types/OperationMode.html +2 -2
  51. package/apidoc/types/Polygon.html +1 -1
  52. package/apidoc/types/SpatialRelation.html +2 -2
  53. package/apidoc/types/TablePart.html +2 -2
  54. package/apidoc/types/UiFeature.html +5 -2
  55. package/apidoc/types/WorkbookLayerPath.html +2 -2
  56. package/cadenza.d.ts +16 -6
  57. package/cadenza.js +115 -102
  58. package/package.json +1 -1
  59. package/sandbox.html +9 -6
package/cadenza.js CHANGED
@@ -9,10 +9,11 @@
9
9
  * This is required if Cadenza and your application are not running on the same origin.
10
10
  * Please ensure that the user has view privilege for that link!
11
11
  * @property {boolean} [options.debug] - Whether to enable debug logging
12
+ * @property {boolean} [options.skipGuest] - Whether a configured guest authenticator should be ignored
12
13
  */
13
14
  // This placeholder is replaced when Cadenza JS is released,
14
15
  // i.e. during development, the version is not available.
15
- const CADENZAJS_VERSION = '10.4.2';
16
+ const CADENZAJS_VERSION = '10.4.4';
16
17
  /**
17
18
  * Creates an instance of the Cadenza JS client.
18
19
  *
@@ -95,12 +96,15 @@ globalThis.cadenza = Object.assign((/** @type Parameters<cadenza> */ ...args) =>
95
96
  */
96
97
  /** @typedef {'normal'|'simplified'} OperationMode - The mode in which a workbook should be operated */
97
98
  /**
98
- * @typedef {'workbook-design'|'workbook-map-add-layer'|'workbook-view-management'} UiFeature - The name of a Cadenza UI feature
99
+ * @typedef {'workbook-design'|'workbook-map-add-layer'|'workbook-view-management'|'embedded-dialog-footer-buttons'|'embedded-dialog-apply-button'|'embedded-dialog-cancel-button'} UiFeature - The name of a Cadenza UI feature
99
100
  *
100
101
  * _Note:_ Supported features are:
101
102
  * * `"workbook-design"` - The workbook designer
102
103
  * * `"workbook-map-add-layer"`- Add layers to the map
103
104
  * * `"workbook-view-management"` - Add/Edit/Remove workbook views (Is included in 'workbook-design'.)
105
+ * * `"embedded-dialog-footer-buttons"` - All footer buttons for Create/Edit Geometries and Select Objects dialogs
106
+ * * `"embedded-dialog-apply-button"` - Apply button for Create/Edit Geometries and Select Objects dialogs
107
+ * * `"embedded-dialog-cancel-button"` - Cancel button for Create/Edit Geometries and Select Objects dialogs
104
108
  * */
105
109
  /**
106
110
  * @typedef LayerDefinition
@@ -250,6 +254,8 @@ export class CadenzaClient {
250
254
  #iframeElement;
251
255
  /** @readonly */
252
256
  #debug;
257
+ /** @readonly */
258
+ #skipGuest;
253
259
  /** @type {[ CadenzaEventType | string, (event: CadenzaEvent<never>) => void ][]} */
254
260
  #subscriptions = [];
255
261
  /**
@@ -257,7 +263,7 @@ export class CadenzaClient {
257
263
  * @hidden
258
264
  * @param {CadenzaClientOptions} [__namedParameters]
259
265
  */
260
- constructor({ baseUrl, debug = false, iframe, webApplication } = {}) {
266
+ constructor({ baseUrl, debug = false, skipGuest = false, iframe, webApplication, } = {}) {
261
267
  if (webApplication) {
262
268
  assert(validExternalLinkKey(webApplication), `Invalid webApplication parameter: ${webApplication}`);
263
269
  }
@@ -277,6 +283,7 @@ export class CadenzaClient {
277
283
  this.#log('Create Cadenza client for parent Cadenza');
278
284
  }
279
285
  this.#debug = debug;
286
+ this.#skipGuest = skipGuest;
280
287
  this.#webApplication = webApplication;
281
288
  }
282
289
  /** The base URL of the Cadenza server this client is requesting */
@@ -343,7 +350,7 @@ export class CadenzaClient {
343
350
  'page' in source &&
344
351
  source.page === 'welcome', 'labelSet is only supported on the welcome page');
345
352
  }
346
- const params = createParams({
353
+ const params = this.#createParams({
347
354
  dataType,
348
355
  disabledUiFeatures,
349
356
  expandNavigator,
@@ -411,7 +418,7 @@ export class CadenzaClient {
411
418
  extentStrategy,
412
419
  geometry,
413
420
  });
414
- const params = createParams({
421
+ const params = this.#createParams({
415
422
  disabledUiFeatures,
416
423
  expandNavigator,
417
424
  filter,
@@ -579,7 +586,7 @@ export class CadenzaClient {
579
586
  const validExtentStrategy = sanitizeExtentStrategy({
580
587
  extentStrategy,
581
588
  });
582
- const params = createParams({
589
+ const params = this.#createParams({
583
590
  action: 'editGeometry',
584
591
  disabledUiFeatures,
585
592
  filter,
@@ -619,7 +626,7 @@ export class CadenzaClient {
619
626
  extentStrategy,
620
627
  geometry,
621
628
  });
622
- const params = createParams({
629
+ const params = this.#createParams({
623
630
  action: 'editGeometry',
624
631
  disabledUiFeatures,
625
632
  filter,
@@ -658,7 +665,7 @@ export class CadenzaClient {
658
665
  const validExtentStrategy = sanitizeExtentStrategy({
659
666
  extentStrategy,
660
667
  });
661
- const params = createParams({
668
+ const params = this.#createParams({
662
669
  action: 'editGeometry',
663
670
  batchModeEnabled: true,
664
671
  disabledUiFeatures,
@@ -698,7 +705,7 @@ export class CadenzaClient {
698
705
  extentStrategy,
699
706
  geometry: features.features[features.features.length - 1].geometry,
700
707
  });
701
- const params = createParams({
708
+ const params = this.#createParams({
702
709
  action: 'editGeometry',
703
710
  batchModeEnabled: true,
704
711
  disabledUiFeatures,
@@ -765,6 +772,7 @@ export class CadenzaClient {
765
772
  *
766
773
  * @param {EmbeddingTargetId} backgroundMapView - The workbook map view
767
774
  * @param {object} [__namedParameters] - Options
775
+ * @param {UiFeature[]} [__namedParameters.disabledUiFeatures] - Cadenza UI features to disable
768
776
  * @param {ExtentStrategy} [__namedParameters.extentStrategy] - Defines the initial map extent; If not given, Cadenza's default logic is used.
769
777
  * @param {FilterVariables} [__namedParameters.filter] - Filter variables
770
778
  * @param {(WorkbookLayerPath | string)[]} [__namedParameters.layers] - Layers to restrict the selection to
@@ -781,13 +789,14 @@ export class CadenzaClient {
781
789
  * - {@link CadenzaSelectObjectsCancelEvent}
782
790
  * @embed
783
791
  */
784
- async selectObjects(backgroundMapView, { extentStrategy, filter, layers, useMapSrs, operationMode, signal } = {}) {
792
+ async selectObjects(backgroundMapView, { disabledUiFeatures, extentStrategy, filter, layers, useMapSrs, operationMode, signal, } = {}) {
785
793
  this.#log('CadenzaClient#selectObjects', ...arguments);
786
794
  const validExtentStrategy = sanitizeExtentStrategy({
787
795
  extentStrategy,
788
796
  });
789
- const params = createParams({
797
+ const params = this.#createParams({
790
798
  action: 'selectObjects',
799
+ disabledUiFeatures,
791
800
  filter,
792
801
  layers: layers?.map(array),
793
802
  useMapSrs,
@@ -1001,7 +1010,7 @@ export class CadenzaClient {
1001
1010
  fetchData(source, dataType, { filter, parts, signal } = {}) {
1002
1011
  this.#log('CadenzaClient#fetchData', ...arguments);
1003
1012
  assertSupportedDataType(dataType, ['csv', 'excel', 'json', 'pdf']);
1004
- const params = createParams({ dataType, filter, parts });
1013
+ const params = this.#createParams({ dataType, filter, parts });
1005
1014
  return this.#fetch(resolvePath(source), params, signal);
1006
1015
  }
1007
1016
  /**
@@ -1021,7 +1030,7 @@ export class CadenzaClient {
1021
1030
  */
1022
1031
  fetchObjectInfo(source, layerPath, objectIds, { filter, signal, fullGeometries, useMapSrs } = {}) {
1023
1032
  this.#log('CadenzaClient#fetchObjectInfo', ...arguments);
1024
- const params = createParams({
1033
+ const params = this.#createParams({
1025
1034
  filter,
1026
1035
  });
1027
1036
  return this.#fetch(resolvePath(source) + '/objectinfo', params, signal, JSON.stringify({
@@ -1047,7 +1056,7 @@ export class CadenzaClient {
1047
1056
  */
1048
1057
  fetchAreaIntersections(source, layerPath, geometry, { buffer, signal, useMapSrs } = {}) {
1049
1058
  this.#log('CadenzaClient#areaIntersections', ...arguments);
1050
- const params = createParams({});
1059
+ const params = this.#createParams({});
1051
1060
  return this.#fetch(resolvePath(source) + '/area-intersections', params, signal, JSON.stringify({
1052
1061
  buffer,
1053
1062
  layerPath: array(layerPath),
@@ -1104,7 +1113,7 @@ export class CadenzaClient {
1104
1113
  downloadData(source, dataType, { fileName, filter, parts } = {}) {
1105
1114
  this.#log('CadenzaClient#downloadData', ...arguments);
1106
1115
  assertSupportedDataType(dataType, ['csv', 'excel', 'json', 'pdf']);
1107
- const params = createParams({ dataType, fileName, filter, parts });
1116
+ const params = this.#createParams({ dataType, fileName, filter, parts });
1108
1117
  this.#download(resolvePath(source), params);
1109
1118
  }
1110
1119
  #download(/** @type string */ path, /** @type URLSearchParams */ params) {
@@ -1128,6 +1137,93 @@ export class CadenzaClient {
1128
1137
  }
1129
1138
  return url;
1130
1139
  }
1140
+ /**
1141
+ * @param {object} params
1142
+ * @param {string} [params.action]
1143
+ * @param {boolean} [params.batchModeEnabled]
1144
+ * @param {DataType} [params.dataType]
1145
+ * @param {UiFeature[]} [params.disabledUiFeatures]
1146
+ * @param {boolean} [params.expandNavigator]
1147
+ * @param {string} [params.fileName]
1148
+ * @param {FilterVariables} [params.filter]
1149
+ * @param {GeometryType} [params.geometryType]
1150
+ * @param {boolean} [params.hideMainHeaderAndFooter]
1151
+ * @param {boolean} [params.hideWorkbookToolBar]
1152
+ * @param {GlobalId} [params.highlightGlobalId]
1153
+ * @param {string} [params.labelSet]
1154
+ * @param {WorkbookLayerPath[]} [params.layers]
1155
+ * @param {number} [params.minScale]
1156
+ * @param {OperationMode} [params.operationMode]
1157
+ * @param {TablePart[]} [params.parts]
1158
+ * @param {'MAP'} [params.targetType]
1159
+ * @param {SnappingOptions} [params.snapping]
1160
+ * @param {boolean} [params.useMapSrs]
1161
+ * @param {ExtentStrategy} [params.validExtentStrategy]
1162
+ * @param {Layout} [params.layout]
1163
+ * @return {URLSearchParams}
1164
+ */
1165
+ #createParams({ action, batchModeEnabled, dataType, disabledUiFeatures, expandNavigator, fileName, filter, geometryType, hideMainHeaderAndFooter, hideWorkbookToolBar, highlightGlobalId, labelSet, layers, minScale, operationMode, parts, targetType, snapping, useMapSrs, validExtentStrategy, layout, }) {
1166
+ if (disabledUiFeatures) {
1167
+ disabledUiFeatures.forEach((feature) => assert(validUiFeature(feature), `Invalid UI feature: ${feature}`));
1168
+ }
1169
+ if (filter) {
1170
+ assertValidFilterVariables(filter);
1171
+ }
1172
+ if (geometryType) {
1173
+ assertValidGeometryType(geometryType);
1174
+ }
1175
+ if (operationMode) {
1176
+ assert(validOperationMode(operationMode), `Invalid operation mode: ${operationMode}`);
1177
+ }
1178
+ if (layout) {
1179
+ assert(validLayout(layout), `Invalid layout: ${layout}`);
1180
+ }
1181
+ if (parts) {
1182
+ parts.forEach((part) => assert(validTablePart(part), `Invalid table part: ${part}`));
1183
+ }
1184
+ let locationFinder;
1185
+ let mapExtent;
1186
+ if (validExtentStrategy) {
1187
+ if (validExtentStrategy.type === 'static') {
1188
+ mapExtent = validExtentStrategy.extent;
1189
+ }
1190
+ else if (validExtentStrategy.type === 'locationFinder') {
1191
+ locationFinder = validExtentStrategy.query;
1192
+ }
1193
+ }
1194
+ return new URLSearchParams({
1195
+ ...(action && { action }),
1196
+ ...(batchModeEnabled && { batchModeEnabled: 'true' }),
1197
+ ...(dataType && { dataType }),
1198
+ ...(disabledUiFeatures && {
1199
+ disabledUiFeatures: disabledUiFeatures.join(),
1200
+ }),
1201
+ ...(expandNavigator && { expandNavigator: 'true' }),
1202
+ ...(fileName && { fileName }),
1203
+ ...(filter &&
1204
+ Object.fromEntries(Object.entries(filter).map(([variable, value]) => [
1205
+ `filter.${variable}`,
1206
+ JSON.stringify(value instanceof Date ? value.toISOString() : value),
1207
+ ]))),
1208
+ ...(geometryType && { geometryType }),
1209
+ ...(hideMainHeaderAndFooter && { hideMainHeaderAndFooter: 'true' }),
1210
+ ...(hideWorkbookToolBar && { hideWorkbookToolBar: 'true' }),
1211
+ ...(highlightGlobalId && { highlightGlobalId }),
1212
+ ...(labelSet && { labelSet }),
1213
+ ...(layers?.length && { layers: JSON.stringify(layers) }),
1214
+ ...(locationFinder && { locationFinder }),
1215
+ ...(mapExtent && { mapExtent: mapExtent.join() }),
1216
+ ...(minScale && { minScale: String(minScale) }),
1217
+ ...(operationMode && { operationMode }),
1218
+ ...(parts && { parts: parts.join() }),
1219
+ ...(snapping && { snappingLayer: JSON.stringify(array(snapping.layer)) }),
1220
+ ...(snapping?.types?.length && { snappingTypes: snapping.types.join() }),
1221
+ ...(targetType && { targetType }),
1222
+ ...(useMapSrs && { useMapSrs: 'true' }),
1223
+ ...(layout && { layout }),
1224
+ ...(this.#skipGuest && { skipGuestAccess: 'true' }),
1225
+ });
1226
+ }
1131
1227
  #log(/** @type unknown[] */ ...args) {
1132
1228
  if (this.#debug) {
1133
1229
  /** @type {unknown[]} */
@@ -1223,6 +1319,9 @@ function validUiFeature(/** @type string */ value) {
1223
1319
  'workbook-design',
1224
1320
  'workbook-map-add-layer',
1225
1321
  'workbook-view-management',
1322
+ 'embedded-dialog-footer-buttons',
1323
+ 'embedded-dialog-apply-button',
1324
+ 'embedded-dialog-cancel-button',
1226
1325
  ].includes(value);
1227
1326
  }
1228
1327
  function assertSupportedDataType(
@@ -1252,92 +1351,6 @@ function assertValidFilterVariables(/** @type {FilterVariables} */ filter) {
1252
1351
  validSpatialFilterValue(/** @type {SpatialFilterValue} */ ($spatial)), 'Invalid value for spatial filter value under $spatial property');
1253
1352
  Object.keys(otherFilter).forEach((varName) => assert(validKebabCaseString(varName), `Invalid filter variable name: ${varName}`));
1254
1353
  }
1255
- /**
1256
- * @param {object} params
1257
- * @param {string} [params.action]
1258
- * @param {boolean} [params.batchModeEnabled]
1259
- * @param {DataType} [params.dataType]
1260
- * @param {UiFeature[]} [params.disabledUiFeatures]
1261
- * @param {boolean} [params.expandNavigator]
1262
- * @param {string} [params.fileName]
1263
- * @param {FilterVariables} [params.filter]
1264
- * @param {GeometryType} [params.geometryType]
1265
- * @param {boolean} [params.hideMainHeaderAndFooter]
1266
- * @param {boolean} [params.hideWorkbookToolBar]
1267
- * @param {GlobalId} [params.highlightGlobalId]
1268
- * @param {string} [params.labelSet]
1269
- * @param {WorkbookLayerPath[]} [params.layers]
1270
- * @param {number} [params.minScale]
1271
- * @param {OperationMode} [params.operationMode]
1272
- * @param {TablePart[]} [params.parts]
1273
- * @param {'MAP'} [params.targetType]
1274
- * @param {SnappingOptions} [params.snapping]
1275
- * @param {boolean} [params.useMapSrs]
1276
- * @param {ExtentStrategy | undefined} [params.validExtentStrategy]
1277
- * @param {Layout | undefined} [params.layout]
1278
- * @return {URLSearchParams}
1279
- */
1280
- function createParams({ action, batchModeEnabled, dataType, disabledUiFeatures, expandNavigator, fileName, filter, geometryType, hideMainHeaderAndFooter, hideWorkbookToolBar, highlightGlobalId, labelSet, layers, minScale, operationMode, parts, targetType, snapping, useMapSrs, validExtentStrategy, layout, }) {
1281
- if (disabledUiFeatures) {
1282
- disabledUiFeatures.forEach((feature) => assert(validUiFeature(feature), `Invalid UI feature: ${feature}`));
1283
- }
1284
- if (filter) {
1285
- assertValidFilterVariables(filter);
1286
- }
1287
- if (geometryType) {
1288
- assertValidGeometryType(geometryType);
1289
- }
1290
- if (operationMode) {
1291
- assert(validOperationMode(operationMode), `Invalid operation mode: ${operationMode}`);
1292
- }
1293
- if (layout) {
1294
- assert(validLayout(layout), `Invalid layout: ${layout}`);
1295
- }
1296
- if (parts) {
1297
- parts.forEach((part) => assert(validTablePart(part), `Invalid table part: ${part}`));
1298
- }
1299
- let locationFinder;
1300
- let mapExtent;
1301
- if (validExtentStrategy) {
1302
- if (validExtentStrategy.type === 'static') {
1303
- mapExtent = validExtentStrategy.extent;
1304
- }
1305
- else if (validExtentStrategy.type === 'locationFinder') {
1306
- locationFinder = validExtentStrategy.query;
1307
- }
1308
- }
1309
- return new URLSearchParams({
1310
- ...(action && { action }),
1311
- ...(batchModeEnabled && { batchModeEnabled: 'true' }),
1312
- ...(dataType && { dataType }),
1313
- ...(disabledUiFeatures && {
1314
- disabledUiFeatures: disabledUiFeatures.join(),
1315
- }),
1316
- ...(expandNavigator && { expandNavigator: 'true' }),
1317
- ...(fileName && { fileName }),
1318
- ...(filter &&
1319
- Object.fromEntries(Object.entries(filter).map(([variable, value]) => [
1320
- `filter.${variable}`,
1321
- JSON.stringify(value instanceof Date ? value.toISOString() : value),
1322
- ]))),
1323
- ...(geometryType && { geometryType }),
1324
- ...(hideMainHeaderAndFooter && { hideMainHeaderAndFooter: 'true' }),
1325
- ...(hideWorkbookToolBar && { hideWorkbookToolBar: 'true' }),
1326
- ...(highlightGlobalId && { highlightGlobalId }),
1327
- ...(labelSet && { labelSet }),
1328
- ...(layers?.length && { layers: JSON.stringify(layers) }),
1329
- ...(locationFinder && { locationFinder }),
1330
- ...(mapExtent && { mapExtent: mapExtent.join() }),
1331
- ...(minScale && { minScale: String(minScale) }),
1332
- ...(operationMode && { operationMode }),
1333
- ...(parts && { parts: parts.join() }),
1334
- ...(snapping && { snappingLayer: JSON.stringify(array(snapping.layer)) }),
1335
- ...(snapping?.types?.length && { snappingTypes: snapping.types.join() }),
1336
- ...(targetType && { targetType }),
1337
- ...(useMapSrs && { useMapSrs: 'true' }),
1338
- ...(layout && { layout }),
1339
- });
1340
- }
1341
1354
  function array(/** @type unknown */ value) {
1342
1355
  return Array.isArray(value) ? value : [value];
1343
1356
  }
@@ -1455,7 +1468,7 @@ function getGeometryTypeFromFeatureCollection(featureCollection) {
1455
1468
  * See also: <a href="../index.html#md:json-representation-of-cadenza-object-data">JSON Representation of Cadenza Object Data</a>
1456
1469
  */
1457
1470
  /** @typedef {CadenzaEvent<'editGeometry:update', FeatureCollection | Feature | undefined>} CadenzaEditGeometryUpdateEvent - When the user changed the geometry. `FeatureCollection` if multiple features are present on the edit layer, but the original defined type is not multi-geometry. This is also the case if the dialog was instantiated from a geometry and the original defined type is inherited. `undefined` if no feature is present on the edit layer. */
1458
- /** @typedef {CadenzaEvent<'editGeometry:ok', Feature>} CadenzaEditGeometryOkEvent - When the user submitted the geometry. */
1471
+ /** @typedef {CadenzaEvent<'editGeometry:ok', FeatureCollection | Feature>} CadenzaEditGeometryOkEvent - When the user submitted the geometry. `FeatureCollection` if batch editing is enabled. */
1459
1472
  /** @typedef {CadenzaEvent<'editGeometry:cancel'>} CadenzaEditGeometryCancelEvent - When the user cancelled the geometry editing. */
1460
1473
  /** @typedef {CadenzaEvent<'error', {type: string, message?: string}>} CadenzaErrorEvent - An error event that is mapped to a {@link CadenzaError} */
1461
1474
  /** @typedef {CadenzaEvent<'objectInfo', {layer: WorkbookLayerPath, objectInfos: {selectionIndex: number, elements: {attributePrintName: string, formattedValue: string}[]}}>} CadenzaObjectInfoEvent - When the user opened the object info flyout. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@disy/cadenza.js",
3
- "version": "10.4.2",
3
+ "version": "10.4.4",
4
4
  "license": "Apache-2.0",
5
5
  "repository": "github:DisyInformationssysteme/cadenza.js",
6
6
  "type": "module",
package/sandbox.html CHANGED
@@ -304,11 +304,11 @@
304
304
  <optgroup label="Interact With Shown Content">
305
305
  <option value="expandNavigator">Expand Navigator</option>
306
306
  <option value="getData">Get Data (Get Map Image)</option>
307
- <option value="setFilter" class="unpublished">Set Filter</option>
308
- <option value="setLayerVisibility" class="unpublished">Set Layer Visibility</option>
309
- <option value="setSelection" class="unpublished">Set Selection</option>
310
- <option value="addSelection" class="unpublished">Add Selection</option>
311
- <option value="removeSelection" class="unpublished">Remove Selection</option>
307
+ <option value="setFilter">Set Filter</option>
308
+ <option value="setLayerVisibility">Set Layer Visibility</option>
309
+ <option value="setSelection">Set Selection</option>
310
+ <option value="addSelection">Add Selection</option>
311
+ <option value="removeSelection">Remove Selection</option>
312
312
  <option value="reload">Reload worksheet views</option>
313
313
  <option value="closeMe">Close me</option>
314
314
  </optgroup>
@@ -400,6 +400,9 @@
400
400
  <li>workbook-design</li>
401
401
  <li>workbook-map-add-layer</li>
402
402
  <li>workbook-view-management</li>
403
+ <li>embedded-dialog-footer-buttons</li>
404
+ <li>embedded-dialog-apply-button</li>
405
+ <li>embedded-dialog-cancel-button</li>
403
406
  </ul>
404
407
  </small>
405
408
  </div>
@@ -654,7 +657,7 @@
654
657
  </div>
655
658
  </template>
656
659
 
657
- <template data-action="selectObjects" data-common="simplifiedOperationMode,extentStrategy,map,filter">
660
+ <template data-action="selectObjects" data-common="extentStrategy,map,disabledUiFeatures,filter">
658
661
  <div>
659
662
  <label for="embeddingTargetId">Embedding target ID of the map view *</label>
660
663
  <input name="embeddingTargetId" id="embeddingTargetId" required>