@esri/solutions-components 0.11.22 → 0.11.24

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 (176) hide show
  1. package/dist/cjs/basemap-gallery_7.cjs.entry.js +6 -6
  2. package/dist/cjs/buffer-tools_2.cjs.entry.js +1 -1
  3. package/dist/cjs/card-manager_3.cjs.entry.js +10 -6
  4. package/dist/cjs/consent-manager.cjs.entry.js +1 -1
  5. package/dist/cjs/create-feature_4.cjs.entry.js +22 -11
  6. package/dist/cjs/create-related-feature_3.cjs.entry.js +25 -19
  7. package/dist/cjs/crowdsource-manager.cjs.entry.js +3 -2
  8. package/dist/cjs/crowdsource-reporter.cjs.entry.js +7 -6
  9. package/dist/cjs/deduct-calculator.cjs.entry.js +1 -1
  10. package/dist/cjs/delete-dialog.cjs.entry.js +1 -1
  11. package/dist/cjs/feature-list.cjs.entry.js +4 -4
  12. package/dist/cjs/json-editor_7.cjs.entry.js +7 -7
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/cjs/map-layer-picker.cjs.entry.js +1 -1
  15. package/dist/cjs/map-select-tools_3.cjs.entry.js +3 -3
  16. package/dist/cjs/pci-calculator.cjs.entry.js +1 -1
  17. package/dist/cjs/public-notification.cjs.entry.js +1 -1
  18. package/dist/cjs/solution-configuration.cjs.entry.js +3 -3
  19. package/dist/cjs/solution-contents_3.cjs.entry.js +3 -3
  20. package/dist/cjs/solution-item-accordion.cjs.entry.js +1 -1
  21. package/dist/cjs/solution-item-icon.cjs.entry.js +1 -1
  22. package/dist/cjs/solutions-components.cjs.js +1 -1
  23. package/dist/cjs/spatial-ref.cjs.entry.js +1 -1
  24. package/dist/collection/assets/t9n/layer-table/resources.json +4 -1
  25. package/dist/collection/assets/t9n/layer-table/resources_en.json +4 -1
  26. package/dist/collection/components/card-manager/card-manager.js +23 -2
  27. package/dist/collection/components/consent-manager/consent-manager.js +1 -1
  28. package/dist/collection/components/create-feature/create-feature.css +1 -1
  29. package/dist/collection/components/create-feature/create-feature.js +28 -3
  30. package/dist/collection/components/create-related-feature/create-related-feature.css +1 -1
  31. package/dist/collection/components/create-related-feature/create-related-feature.js +74 -49
  32. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +23 -2
  33. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +27 -6
  34. package/dist/collection/components/deduct-calculator/deduct-calculator.js +1 -1
  35. package/dist/collection/components/delete-button/delete-button.js +1 -1
  36. package/dist/collection/components/delete-dialog/delete-dialog.js +1 -1
  37. package/dist/collection/components/edit-card/edit-card.css +1 -1
  38. package/dist/collection/components/edit-card/edit-card.js +48 -23
  39. package/dist/collection/components/feature-details/feature-details.js +27 -6
  40. package/dist/collection/components/feature-list/feature-list.js +4 -4
  41. package/dist/collection/components/floor-filter/floor-filter.js +1 -1
  42. package/dist/collection/components/info-card/info-card.js +23 -2
  43. package/dist/collection/components/json-editor/json-editor.js +1 -1
  44. package/dist/collection/components/layer-table/layer-table.js +6 -3
  45. package/dist/collection/components/map-card/map-card.js +1 -1
  46. package/dist/collection/components/map-draw-tools/map-draw-tools.js +1 -1
  47. package/dist/collection/components/map-fullscreen/map-fullscreen.js +1 -1
  48. package/dist/collection/components/map-layer-picker/map-layer-picker.js +1 -1
  49. package/dist/collection/components/map-legend/map-legend.js +1 -1
  50. package/dist/collection/components/map-picker/map-picker.js +1 -1
  51. package/dist/collection/components/map-search/map-search.js +1 -1
  52. package/dist/collection/components/map-select-tools/map-select-tools.js +1 -1
  53. package/dist/collection/components/map-tools/map-tools.js +1 -1
  54. package/dist/collection/components/pci-calculator/pci-calculator.js +1 -1
  55. package/dist/collection/components/pdf-download/pdf-download.js +1 -1
  56. package/dist/collection/components/public-notification/public-notification.js +1 -1
  57. package/dist/collection/components/refine-selection/refine-selection.js +1 -1
  58. package/dist/collection/components/solution-configuration/solution-configuration.js +3 -3
  59. package/dist/collection/components/solution-contents/solution-contents.js +1 -1
  60. package/dist/collection/components/solution-item/solution-item.js +1 -1
  61. package/dist/collection/components/solution-item-accordion/solution-item-accordion.js +1 -1
  62. package/dist/collection/components/solution-item-details/solution-item-details.js +1 -1
  63. package/dist/collection/components/solution-item-icon/solution-item-icon.js +1 -1
  64. package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +1 -1
  65. package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +1 -1
  66. package/dist/collection/components/solution-resource-item/solution-resource-item.js +1 -1
  67. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +1 -1
  68. package/dist/collection/components/solution-template-data/solution-template-data.js +1 -1
  69. package/dist/collection/components/solution-variables/solution-variables.js +1 -1
  70. package/dist/collection/components/spatial-ref/spatial-ref.js +1 -1
  71. package/dist/components/card-manager2.js +4 -2
  72. package/dist/components/consent-manager.js +1 -1
  73. package/dist/components/create-feature2.js +10 -4
  74. package/dist/components/create-related-feature2.js +21 -15
  75. package/dist/components/crowdsource-manager.js +4 -2
  76. package/dist/components/crowdsource-reporter.js +8 -6
  77. package/dist/components/deduct-calculator2.js +1 -1
  78. package/dist/components/delete-button2.js +1 -1
  79. package/dist/components/delete-dialog2.js +1 -1
  80. package/dist/components/edit-card2.js +11 -5
  81. package/dist/components/feature-details2.js +8 -6
  82. package/dist/components/feature-list2.js +4 -4
  83. package/dist/components/floor-filter2.js +1 -1
  84. package/dist/components/info-card2.js +4 -2
  85. package/dist/components/json-editor2.js +1 -1
  86. package/dist/components/layer-table2.js +6 -3
  87. package/dist/components/map-card2.js +1 -1
  88. package/dist/components/map-draw-tools2.js +1 -1
  89. package/dist/components/map-fullscreen2.js +1 -1
  90. package/dist/components/map-layer-picker2.js +1 -1
  91. package/dist/components/map-legend2.js +1 -1
  92. package/dist/components/map-picker2.js +1 -1
  93. package/dist/components/map-search2.js +1 -1
  94. package/dist/components/map-select-tools2.js +1 -1
  95. package/dist/components/map-tools2.js +1 -1
  96. package/dist/components/pci-calculator.js +1 -1
  97. package/dist/components/pdf-download2.js +1 -1
  98. package/dist/components/public-notification.js +1 -1
  99. package/dist/components/refine-selection2.js +1 -1
  100. package/dist/components/solution-configuration.js +3 -3
  101. package/dist/components/solution-contents2.js +1 -1
  102. package/dist/components/solution-item-accordion.js +1 -1
  103. package/dist/components/solution-item-details2.js +1 -1
  104. package/dist/components/solution-item-icon2.js +1 -1
  105. package/dist/components/solution-item-sharing2.js +1 -1
  106. package/dist/components/solution-item2.js +1 -1
  107. package/dist/components/solution-organization-variables2.js +1 -1
  108. package/dist/components/solution-resource-item2.js +1 -1
  109. package/dist/components/solution-spatial-ref2.js +1 -1
  110. package/dist/components/solution-template-data2.js +1 -1
  111. package/dist/components/solution-variables2.js +1 -1
  112. package/dist/components/spatial-ref.js +1 -1
  113. package/dist/esm/basemap-gallery_7.entry.js +6 -6
  114. package/dist/esm/buffer-tools_2.entry.js +1 -1
  115. package/dist/esm/card-manager_3.entry.js +10 -6
  116. package/dist/esm/consent-manager.entry.js +1 -1
  117. package/dist/esm/create-feature_4.entry.js +22 -11
  118. package/dist/esm/create-related-feature_3.entry.js +25 -19
  119. package/dist/esm/crowdsource-manager.entry.js +3 -2
  120. package/dist/esm/crowdsource-reporter.entry.js +7 -6
  121. package/dist/esm/deduct-calculator.entry.js +1 -1
  122. package/dist/esm/delete-dialog.entry.js +1 -1
  123. package/dist/esm/feature-list.entry.js +4 -4
  124. package/dist/esm/json-editor_7.entry.js +7 -7
  125. package/dist/esm/loader.js +1 -1
  126. package/dist/esm/map-layer-picker.entry.js +1 -1
  127. package/dist/esm/map-select-tools_3.entry.js +3 -3
  128. package/dist/esm/pci-calculator.entry.js +1 -1
  129. package/dist/esm/public-notification.entry.js +1 -1
  130. package/dist/esm/solution-configuration.entry.js +3 -3
  131. package/dist/esm/solution-contents_3.entry.js +3 -3
  132. package/dist/esm/solution-item-accordion.entry.js +1 -1
  133. package/dist/esm/solution-item-icon.entry.js +1 -1
  134. package/dist/esm/solutions-components.js +1 -1
  135. package/dist/esm/spatial-ref.entry.js +1 -1
  136. package/dist/solutions-components/assets/t9n/layer-table/resources.json +4 -1
  137. package/dist/solutions-components/assets/t9n/layer-table/resources_en.json +4 -1
  138. package/dist/solutions-components/{p-7e233b70.entry.js → p-0bc11bac.entry.js} +1 -1
  139. package/dist/solutions-components/{p-e3e35c14.entry.js → p-0efb117f.entry.js} +1 -1
  140. package/dist/solutions-components/p-12f91837.entry.js +6 -0
  141. package/dist/solutions-components/p-16c5c285.entry.js +6 -0
  142. package/dist/solutions-components/p-1dc077ec.entry.js +6 -0
  143. package/dist/solutions-components/{p-5e4e0f84.entry.js → p-281cc2b2.entry.js} +1 -1
  144. package/dist/solutions-components/{p-b636a8b4.entry.js → p-48ff9d90.entry.js} +1 -1
  145. package/dist/solutions-components/{p-832707fd.entry.js → p-505a2880.entry.js} +1 -1
  146. package/dist/solutions-components/{p-72d04c7a.entry.js → p-70fbbe26.entry.js} +1 -1
  147. package/dist/solutions-components/{p-837e0939.entry.js → p-7b9f3c85.entry.js} +1 -1
  148. package/dist/solutions-components/p-84976ab1.entry.js +6 -0
  149. package/dist/solutions-components/{p-698656b8.entry.js → p-8ef447cc.entry.js} +1 -1
  150. package/dist/solutions-components/{p-ed1ecb5b.entry.js → p-922e704c.entry.js} +1 -1
  151. package/dist/solutions-components/p-a2e356f8.entry.js +6 -0
  152. package/dist/solutions-components/{p-6d20da19.entry.js → p-a9b81651.entry.js} +1 -1
  153. package/dist/solutions-components/p-abcdbba6.entry.js +6 -0
  154. package/dist/solutions-components/{p-09041307.entry.js → p-c117b7f7.entry.js} +1 -1
  155. package/dist/solutions-components/{p-a5eaf7fe.entry.js → p-df018eb2.entry.js} +1 -1
  156. package/dist/solutions-components/{p-ee3bb943.entry.js → p-e806feda.entry.js} +1 -1
  157. package/dist/solutions-components/{p-244316dd.entry.js → p-e8df7a70.entry.js} +1 -1
  158. package/dist/solutions-components/{p-0326f1f4.entry.js → p-fd106abf.entry.js} +1 -1
  159. package/dist/solutions-components/solutions-components.esm.js +1 -1
  160. package/dist/solutions-components_commit.txt +6 -6
  161. package/dist/types/components/card-manager/card-manager.d.ts +4 -0
  162. package/dist/types/components/create-feature/create-feature.d.ts +4 -0
  163. package/dist/types/components/create-related-feature/create-related-feature.d.ts +23 -19
  164. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +4 -0
  165. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +4 -0
  166. package/dist/types/components/edit-card/edit-card.d.ts +8 -4
  167. package/dist/types/components/feature-details/feature-details.d.ts +4 -0
  168. package/dist/types/components/info-card/info-card.d.ts +4 -0
  169. package/dist/types/components.d.ts +64 -0
  170. package/package.json +1 -1
  171. package/dist/solutions-components/p-1ac20964.entry.js +0 -6
  172. package/dist/solutions-components/p-541eb93a.entry.js +0 -6
  173. package/dist/solutions-components/p-892b42be.entry.js +0 -6
  174. package/dist/solutions-components/p-9161beb0.entry.js +0 -6
  175. package/dist/solutions-components/p-decfd5fc.entry.js +0 -6
  176. package/dist/solutions-components/p-eba271dd.entry.js +0 -6
@@ -23,12 +23,13 @@ import { loadModules } from "../../utils/loadModules";
23
23
  import { getLocaleComponentStrings } from "../../utils/locale";
24
24
  export class CreateRelatedFeature {
25
25
  constructor() {
26
+ this.customizeSubmit = false;
27
+ this.enableSnapping = false;
26
28
  this.locale = undefined;
27
29
  this.mapView = undefined;
28
- this.table = undefined;
29
30
  this.selectedFeature = undefined;
30
- this.customizeSubmit = false;
31
31
  this.showGuidingMsg = true;
32
+ this.table = undefined;
32
33
  this._editorLoading = false;
33
34
  this._translations = undefined;
34
35
  }
@@ -48,23 +49,23 @@ export class CreateRelatedFeature {
48
49
  * The Editor constructor
49
50
  */
50
51
  Editor;
51
- /**
52
- * esri/widgets/Editor: https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html
53
- * The Editor instance
54
- */
55
- _editor;
56
52
  /**
57
53
  * esri/core/reactiveUtils: https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html
58
54
  */
59
55
  reactiveUtils;
56
+ /**
57
+ * boolean: Flag to maintain the add attachment
58
+ */
59
+ _addingAttachment;
60
60
  /**
61
61
  * HTMLDivElement: The node the editor will be added to
62
62
  */
63
63
  _container;
64
64
  /**
65
- * boolean: Flag to maintain the add attachment
66
- */
67
- _addingAttachment;
65
+ * esri/widgets/Editor: https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html
66
+ * The Editor instance
67
+ */
68
+ _editor;
68
69
  /**
69
70
  * boolean: Flag to maintain form submission using submit button
70
71
  */
@@ -172,7 +173,7 @@ export class CreateRelatedFeature {
172
173
  }
173
174
  render() {
174
175
  const loaderClass = this._editorLoading ? "" : "display-none";
175
- return (h(Fragment, { key: '261308f81b5bbed3e136efbb2100db9c1e5994a4' }, this.showGuidingMsg && h("calcite-notice", { key: '3aca1d3f48e46208ce07f2ccdd76ac4af752162d', class: "notice-msg", icon: "lightbulb", kind: "success", open: true }, h("div", { key: 'f449d7dcde1cc75bf7470a75ae0ce915ef457459', slot: "message" }, this._translations.provideDetailsMsg)), h("calcite-loader", { key: 'e94e971b96ddba0ab36f27ffd4e37b820bb2432f', class: loaderClass, label: "", scale: "s" })));
176
+ return (h(Fragment, { key: '6c2bfcf17fc2ef0f1fc16c3c45d98b58101f629b' }, this.showGuidingMsg && h("calcite-notice", { key: 'df2091f0435ef5ee4adcf71e177e35429c831d63', class: "notice-msg", icon: "lightbulb", kind: "success", open: true }, h("div", { key: 'e0180f8e8d6c615507c18ad3d1b0c248d42a754f', slot: "message" }, this._translations.provideDetailsMsg)), h("calcite-loader", { key: '235fb4b02ee3f6576ad5620517da6386774cfb7d', class: loaderClass, label: "", scale: "s" })));
176
177
  }
177
178
  /**
178
179
  * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
@@ -198,11 +199,15 @@ export class CreateRelatedFeature {
198
199
  }
199
200
  this._container = document.createElement("div");
200
201
  this._container?.classList.add("display-none");
202
+ if (!this.enableSnapping) {
203
+ this._container.classList.add("hide-editor-toolbar");
204
+ }
201
205
  this._editor = new this.Editor({
202
206
  view: this.mapView,
203
207
  visibleElements: {
204
208
  flow: true,
205
- snappingControls: false
209
+ settingsMenu: this.enableSnapping,
210
+ snappingControls: this.enableSnapping,
206
211
  },
207
212
  container: this._container
208
213
  });
@@ -372,6 +377,46 @@ export class CreateRelatedFeature {
372
377
  }
373
378
  static get properties() {
374
379
  return {
380
+ "customizeSubmit": {
381
+ "type": "boolean",
382
+ "mutable": false,
383
+ "complexType": {
384
+ "original": "boolean",
385
+ "resolved": "boolean",
386
+ "references": {}
387
+ },
388
+ "required": false,
389
+ "optional": true,
390
+ "docs": {
391
+ "tags": [],
392
+ "text": "boolean: Set this to true when have a custom submit button in the app.\r\nThis will hide the header and footer elements of the editor and user needs to execute the submit method manually."
393
+ },
394
+ "getter": false,
395
+ "setter": false,
396
+ "attribute": "customize-submit",
397
+ "reflect": false,
398
+ "defaultValue": "false"
399
+ },
400
+ "enableSnapping": {
401
+ "type": "boolean",
402
+ "mutable": false,
403
+ "complexType": {
404
+ "original": "boolean",
405
+ "resolved": "boolean",
406
+ "references": {}
407
+ },
408
+ "required": false,
409
+ "optional": false,
410
+ "docs": {
411
+ "tags": [],
412
+ "text": "When true the snapping options will be exposed"
413
+ },
414
+ "getter": false,
415
+ "setter": false,
416
+ "attribute": "enable-snapping",
417
+ "reflect": false,
418
+ "defaultValue": "false"
419
+ },
375
420
  "locale": {
376
421
  "type": "string",
377
422
  "mutable": false,
@@ -413,28 +458,6 @@ export class CreateRelatedFeature {
413
458
  "getter": false,
414
459
  "setter": false
415
460
  },
416
- "table": {
417
- "type": "unknown",
418
- "mutable": false,
419
- "complexType": {
420
- "original": "__esri.FeatureLayer",
421
- "resolved": "FeatureLayer",
422
- "references": {
423
- "___esri": {
424
- "location": "global",
425
- "id": "global::___esri"
426
- }
427
- }
428
- },
429
- "required": false,
430
- "optional": false,
431
- "docs": {
432
- "tags": [],
433
- "text": "__esri.FeatureLayer: https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html"
434
- },
435
- "getter": false,
436
- "setter": false
437
- },
438
461
  "selectedFeature": {
439
462
  "type": "unknown",
440
463
  "mutable": false,
@@ -457,7 +480,7 @@ export class CreateRelatedFeature {
457
480
  "getter": false,
458
481
  "setter": false
459
482
  },
460
- "customizeSubmit": {
483
+ "showGuidingMsg": {
461
484
  "type": "boolean",
462
485
  "mutable": false,
463
486
  "complexType": {
@@ -469,33 +492,35 @@ export class CreateRelatedFeature {
469
492
  "optional": true,
470
493
  "docs": {
471
494
  "tags": [],
472
- "text": "boolean: Set this to true when have a custom submit button in the app.\r\nThis will hide the header and footer elements of the editor and user needs to execute the submit method manually."
495
+ "text": "boolean: When true the notice message should be shown"
473
496
  },
474
497
  "getter": false,
475
498
  "setter": false,
476
- "attribute": "customize-submit",
499
+ "attribute": "show-guiding-msg",
477
500
  "reflect": false,
478
- "defaultValue": "false"
501
+ "defaultValue": "true"
479
502
  },
480
- "showGuidingMsg": {
481
- "type": "boolean",
503
+ "table": {
504
+ "type": "unknown",
482
505
  "mutable": false,
483
506
  "complexType": {
484
- "original": "boolean",
485
- "resolved": "boolean",
486
- "references": {}
507
+ "original": "__esri.FeatureLayer",
508
+ "resolved": "FeatureLayer",
509
+ "references": {
510
+ "___esri": {
511
+ "location": "global",
512
+ "id": "global::___esri"
513
+ }
514
+ }
487
515
  },
488
516
  "required": false,
489
- "optional": true,
517
+ "optional": false,
490
518
  "docs": {
491
519
  "tags": [],
492
- "text": "boolean: When true the notice message should be shown"
520
+ "text": "__esri.FeatureLayer: https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html"
493
521
  },
494
522
  "getter": false,
495
- "setter": false,
496
- "attribute": "show-guiding-msg",
497
- "reflect": false,
498
- "defaultValue": "true"
523
+ "setter": false
499
524
  }
500
525
  };
501
526
  }
@@ -48,6 +48,7 @@ export class CrowdsourceManager {
48
48
  this.enableLegend = true;
49
49
  this.enableSearch = true;
50
50
  this.enableShare = false;
51
+ this.enableSnapping = true;
51
52
  this.enableZoom = true;
52
53
  this.locale = undefined;
53
54
  this.mapInfos = [];
@@ -277,7 +278,7 @@ export class CrowdsourceManager {
277
278
  render() {
278
279
  // only avoid border when we have a header color that is not white
279
280
  const borderClass = this.popupHeaderColor && this.popupHeaderColor !== "#FFFFFF" ? "border-width-0" : "";
280
- return (h(Host, { key: '4ec349cf53a543077a3b938d5dad2e767f533181' }, h("calcite-shell", { key: '08c56e11ff814419aeb7295bba240b0e96856cae', class: "position-relative" }, h("calcite-panel", { key: 'aac7ff804b7e98f3b5d1b11dbc5ee8e18c9467ca', class: `width-full height-full ${borderClass}`, loading: this._isLoading }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter()), this._filterModal(), this._deleteModal()));
281
+ return (h(Host, { key: 'cb38f5440e7f36f0285b41a7193e58be94e6cbb7' }, h("calcite-shell", { key: 'dd7b80c00af2b2e28dd5cf7662cfc80d5a46f277', class: "position-relative" }, h("calcite-panel", { key: '5b38f18d4db6132822b622892b9eff5bffbdea2b', class: `width-full height-full ${borderClass}`, loading: this._isLoading }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter()), this._filterModal(), this._deleteModal()));
281
282
  }
282
283
  /**
283
284
  * Called after each render
@@ -508,7 +509,7 @@ export class CrowdsourceManager {
508
509
  const isTableLayout = this.appLayout === 'tableView';
509
510
  const cardManagerHeight = isTableLayout && this.mapInfos?.length > 1 ? "adjusted-height-100-51" : isMapLayout || isTableLayout ? "height-full" : (this._numSelected > 0 && !this._isMobile) ? "height-50" : !this._showInformationHeader ? "adjusted-height-50_25" : !this._isPortraitMobile ? "height-50" : "height-full";
510
511
  const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
511
- return (h("div", { class: `width-50 height-full ${themeClass}` }, h("card-manager", { class: `${cardManagerHeight} width-full`, customInfoText: this.customInfoText, enableCreateFeatures: this._enableCreateFeatures && !this._isMobile, enableEditGeometry: this?._mapInfo?.enableEditGeometry, isMobile: this._isPortraitMobile, layer: this._layer, locale: this.locale, mapView: this?._mapView, onBackFromCreateWorkFlow: () => {
512
+ return (h("div", { class: `width-50 height-full ${themeClass}` }, h("card-manager", { class: `${cardManagerHeight} width-full`, customInfoText: this.customInfoText, enableCreateFeatures: this._enableCreateFeatures && !this._isMobile, enableEditGeometry: this?._mapInfo?.enableEditGeometry, enableSnapping: this.enableSnapping, isMobile: this._isPortraitMobile, layer: this._layer, locale: this.locale, mapView: this?._mapView, onBackFromCreateWorkFlow: () => {
512
513
  this._showInformationHeader = true;
513
514
  }, onCreateWorkFlowStarted: () => {
514
515
  this.appLayout = this._layer.isTable ? "tableView" : "mapView";
@@ -1268,6 +1269,26 @@ export class CrowdsourceManager {
1268
1269
  "reflect": false,
1269
1270
  "defaultValue": "false"
1270
1271
  },
1272
+ "enableSnapping": {
1273
+ "type": "boolean",
1274
+ "mutable": false,
1275
+ "complexType": {
1276
+ "original": "boolean",
1277
+ "resolved": "boolean",
1278
+ "references": {}
1279
+ },
1280
+ "required": false,
1281
+ "optional": false,
1282
+ "docs": {
1283
+ "tags": [],
1284
+ "text": "When true the snapping options will be exposed"
1285
+ },
1286
+ "getter": false,
1287
+ "setter": false,
1288
+ "attribute": "enable-snapping",
1289
+ "reflect": false,
1290
+ "defaultValue": "true"
1291
+ },
1271
1292
  "enableZoom": {
1272
1293
  "type": "boolean",
1273
1294
  "mutable": false,
@@ -37,6 +37,7 @@ export class CrowdsourceReporter {
37
37
  this.enableLogin = undefined;
38
38
  this.enableNewReports = undefined;
39
39
  this.enableSearch = true;
40
+ this.enableSnapping = false;
40
41
  this.enableZoom = true;
41
42
  this.isMobile = undefined;
42
43
  this.layerExpressions = [];
@@ -390,7 +391,7 @@ export class CrowdsourceReporter {
390
391
  */
391
392
  render() {
392
393
  const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
393
- return (h(Host, { key: 'e9a4807ce84ddb099c3f25f562b03c178b69d91f' }, this._reportSubmitted && h("calcite-alert", { key: '4eb1a05f3bdb3abb65d34a59e7452b1cbb2aa011', "auto-close": true, class: themeClass + " report-submitted-msg", icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._reportSubmitted = false; }, open: true, placement: "top" }, h("div", { key: 'b6b1cb628e7a6695230e11c0320a60eb7ac8c77e', slot: "message" }, this.reportSubmittedMessage ? this.reportSubmittedMessage : this._translations.submitMsg)), this._featureCreationFailedErrorMsg && h("calcite-alert", { key: '3e5b98d155cb91950989229c54b58166d4072ba9', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, h("div", { key: '3ec867d92d44fc808415dbcf11cc0d4f64410ca1', slot: "title" }, this._translations.error), h("div", { key: 'b08a281438504605b23236622decfc632f5e980b', slot: "message" }, this._featureCreationFailedErrorMsg)), this._commentSubmitted && h("calcite-alert", { key: '700ce59b43b4bcf5b3b5f269a05b7916aab03119', "auto-close": true, class: 'report-submitted ' + themeClass, icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._commentSubmitted = false; }, open: true, placement: "top" }, h("div", { key: 'e3a853126b97fe73275b2908b7735dae0d8bacc4', slot: "message" }, this.commentSubmittedMessage || this._translations.commentSubmittedMsg)), this._addingCommentFailed && h("calcite-alert", { key: 'af903aa26896dfbbe1deeac12aee1a6777e2c352', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._addingCommentFailed = false; }, open: true, placement: "top" }, h("div", { key: 'c88a104fbe9f0266c77c25a7067cfd4836e4ac81', slot: "title" }, this._translations.error), h("div", { key: 'a34b0543199de865a65ae426e49aa3cd13128126', slot: "message" }, this._translations.addingCommentFailedMsg)), h("div", { key: '0bf41b76dcd6e0c6c26b7e4ac03b2a6a100aacfb' }, h("calcite-shell", { key: '0e7c0a7f15a15677c73ea8a087f77332b34583cc', "content-behind": true }, this._getReporter())), this.isMobile && this.filterModal()));
394
+ return (h(Host, { key: 'b262a653d9af3a8f332f416af7f297cc15ac3355' }, this._reportSubmitted && h("calcite-alert", { key: 'efe33e5ec3ed708d21f8464aa70eb7ce9a258035', "auto-close": true, class: themeClass + " report-submitted-msg", icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._reportSubmitted = false; }, open: true, placement: "top" }, h("div", { key: '6c6a35bc84da9a13241313dd15dc4a5905f59866', slot: "message" }, this.reportSubmittedMessage ? this.reportSubmittedMessage : this._translations.submitMsg)), this._featureCreationFailedErrorMsg && h("calcite-alert", { key: '21d8064c4bf5c0dd118cd012d9d30d2998011a00', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, h("div", { key: '93e68814f1f3cf62d9ed4d6673aec8124cfa0a4f', slot: "title" }, this._translations.error), h("div", { key: '156cd9169dbcbeafa605620938ba9aeccd0f9401', slot: "message" }, this._featureCreationFailedErrorMsg)), this._commentSubmitted && h("calcite-alert", { key: '2cb152fe6734f80f6d9714c3597aaf064ffffd57', "auto-close": true, class: 'report-submitted ' + themeClass, icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._commentSubmitted = false; }, open: true, placement: "top" }, h("div", { key: '33369e8086740651ef26bfc765448fb6bded03fe', slot: "message" }, this.commentSubmittedMessage || this._translations.commentSubmittedMsg)), this._addingCommentFailed && h("calcite-alert", { key: '5b4fbac03c85e82e2bb11611772186140d0419e9', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._addingCommentFailed = false; }, open: true, placement: "top" }, h("div", { key: '31bd9f781304d1493dcbbee5914369742c8c0e03', slot: "title" }, this._translations.error), h("div", { key: '7844073654d79069fe7e54c72ec7bc85a1e77436', slot: "message" }, this._translations.addingCommentFailedMsg)), h("div", { key: '17eca819f0141e4945deb8013aa662d5b3c27626' }, h("calcite-shell", { key: 'c07f28fa3733f6be3a22d813a267e77a05038f3e', "content-behind": true }, this._getReporter())), this.isMobile && this.filterModal()));
394
395
  }
395
396
  //--------------------------------------------------------------------------
396
397
  //
@@ -574,7 +575,7 @@ export class CrowdsourceReporter {
574
575
  * @protected
575
576
  */
576
577
  getFeatureCreateFlowItem() {
577
- return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromCreateFeaturePanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "feature-create" }, this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateFeaturePanel.bind(this), width: "full" }, this._translations.cancel)), h("calcite-panel", { "full-height": true, "full-width": true }, h("div", { class: "progress-bar" }, h("calcite-progress", { type: "determinate", value: this._updatedProgressBarStatus })), h("create-feature", { customizeSubmit: true, enableSearch: true, floorLevel: this.floorLevel, formElements: this._formElements.find(elm => elm.id === this._selectedLayerId), isMobile: this.isMobile, locale: this.locale, mapView: this.mapView, onDrawComplete: this.onFormReady.bind(this), onEditingAttachment: this.showSubmitCancelButton.bind(this), onFail: this.createFeatureFailed.bind(this), onModeChanged: this.backFromCreateFeaturePanel.bind(this), onProgressStatus: this.updatedProgressStatus.bind(this), onSuccess: this.onReportSubmitted.bind(this), ref: el => this._createFeature = el, searchConfiguration: this.searchConfiguration, selectedLayerId: this._selectedLayerId, submitNewReportsMessage: this.submitNewReportsMessage }))));
578
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromCreateFeaturePanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "feature-create" }, this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateFeaturePanel.bind(this), width: "full" }, this._translations.cancel)), h("calcite-panel", { "full-height": true, "full-width": true }, h("div", { class: "progress-bar" }, h("calcite-progress", { type: "determinate", value: this._updatedProgressBarStatus })), h("create-feature", { customizeSubmit: true, enableSearch: true, enableSnapping: this.enableSnapping, floorLevel: this.floorLevel, formElements: this._formElements.find(elm => elm.id === this._selectedLayerId), isMobile: this.isMobile, locale: this.locale, mapView: this.mapView, onDrawComplete: this.onFormReady.bind(this), onEditingAttachment: this.showSubmitCancelButton.bind(this), onFail: this.createFeatureFailed.bind(this), onModeChanged: this.backFromCreateFeaturePanel.bind(this), onProgressStatus: this.updatedProgressStatus.bind(this), onSuccess: this.onReportSubmitted.bind(this), ref: el => this._createFeature = el, searchConfiguration: this.searchConfiguration, selectedLayerId: this._selectedLayerId, submitNewReportsMessage: this.submitNewReportsMessage }))));
578
579
  }
579
580
  /**
580
581
  * Update the progress bar status when editor panel changes
@@ -742,7 +743,7 @@ export class CrowdsourceReporter {
742
743
  * @protected
743
744
  */
744
745
  async layerListLoaded(evt) {
745
- // Check if user is present on the layer panel or if first component is feature list then only allow to store the non-reporting valid layers to avoid the feature visbility issue on map
746
+ // Check if user is present on the layer panel or if first component is feature list then only allow to store the non-reporting valid layers to avoid the feature visbility issue on map
746
747
  const presentOnLayerListPanel = this._layerList && this._flowItems[this._flowItems.length - 1] === "layer-list" || this._flowItems[0] === "feature-list";
747
748
  if (presentOnLayerListPanel) {
748
749
  const layersListed = evt.detail;
@@ -942,7 +943,7 @@ export class CrowdsourceReporter {
942
943
  */
943
944
  getFeatureDetailsFlowItem() {
944
945
  const showCommentBtn = this._getLayersConfig(this._selectedLayerId)?.comment && this._selectedLayer.relationships.length > 0 && this._relatedTable;
945
- return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "feature-details" }, this.isMobile && this.getActionToExpandCollapsePanel(), h("instant-apps-social-share", { autoUpdateShareUrl: false, class: "share-node", embed: false, popoverButtonIconScale: "s", ref: el => this._shareNode = el, removePopoverOffset: true, scale: "m", shareButtonColor: "neutral", shareButtonType: "action", slot: "header-actions-end", socialMedia: true, view: this.mapView }), this._selectedFeature.length > 1 && this.getFeaturesPagination(), h("calcite-panel", null, h("feature-details", { class: 'full-height', graphics: this._selectedFeature, layerItemsHash: this._layerItemsHash, locale: this.locale, mapView: this.mapView, onAddComment: this.showAddCommentsPanel.bind(this), onCommentSelect: this.onCommentSelectFromList.bind(this), onFeatureSelectionChange: this.selectionChanged.bind(this), onLikeOrDislikeClicked: () => { void this._featureList.refresh(true); }, onLoadingStatus: (evt) => void this.updatingFeatureDetails(evt.detail), ref: el => this._featureDetails = el, reportingOptions: this.reportingOptions, showFullCommentTitle: this.showFullCommentTitle, showUserImageInCommentsList: this.showUserImageInCommentsList }), showCommentBtn &&
946
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "feature-details" }, this.isMobile && this.getActionToExpandCollapsePanel(), h("instant-apps-social-share", { autoUpdateShareUrl: false, class: "share-node", embed: false, popoverButtonIconScale: "s", ref: el => this._shareNode = el, removePopoverOffset: true, scale: "m", shareButtonColor: "neutral", shareButtonType: "action", slot: "header-actions-end", socialMedia: true, view: this.mapView }), this._selectedFeature.length > 1 && this.getFeaturesPagination(), h("calcite-panel", null, h("feature-details", { class: 'full-height', enableSnapping: this.enableSnapping, graphics: this._selectedFeature, layerItemsHash: this._layerItemsHash, locale: this.locale, mapView: this.mapView, onAddComment: this.showAddCommentsPanel.bind(this), onCommentSelect: this.onCommentSelectFromList.bind(this), onFeatureSelectionChange: this.selectionChanged.bind(this), onLikeOrDislikeClicked: () => { void this._featureList.refresh(true); }, onLoadingStatus: (evt) => void this.updatingFeatureDetails(evt.detail), ref: el => this._featureDetails = el, reportingOptions: this.reportingOptions, showFullCommentTitle: this.showFullCommentTitle, showUserImageInCommentsList: this.showUserImageInCommentsList }), showCommentBtn &&
946
947
  h("calcite-button", { appearance: "solid", onClick: this.showAddCommentsPanel.bind(this), slot: "footer", width: "full" }, this.commentButtonText || this._translations.comment))));
947
948
  }
948
949
  /**
@@ -958,14 +959,14 @@ export class CrowdsourceReporter {
958
959
  * @returns Node
959
960
  */
960
961
  getCommentDetailsFlowItem() {
961
- return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "comment-details" }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-panel", { "full-height": true }, h("info-card", { allowEditing: false, graphics: this._selectedRelatedFeature, highlightEnabled: false, isLoading: false, isMobile: false, locale: this.locale, mapView: this.mapView, paginationEnabled: false }))));
962
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "comment-details" }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-panel", { "full-height": true }, h("info-card", { allowEditing: false, enableSnapping: this.enableSnapping, graphics: this._selectedRelatedFeature, highlightEnabled: false, isLoading: false, isMobile: false, locale: this.locale, mapView: this.mapView, paginationEnabled: false }))));
962
963
  }
963
964
  /**
964
965
  * Returns the calcite-flow item for add comment
965
966
  * @returns Node
966
967
  */
967
968
  getAddCommentFlowItem() {
968
- return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromCreateRelatedFeaturePanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "add-comment" }, this.isMobile && this.getActionToExpandCollapsePanel(), h("div", { class: "width-full", slot: "footer" }, this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateRelatedFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateRelatedFeaturePanel.bind(this), width: "full" }, this._translations.cancel))), h("calcite-panel", null, h("create-related-feature", { customizeSubmit: true, locale: this.locale, mapView: this.mapView, onFail: this.addCommentFailed.bind(this), onFormReady: this.onFormReady.bind(this), onIsActionPending: this.showSubmitCancelButton.bind(this), onSuccess: this.onCommentSubmitted.bind(this), ref: el => this._createRelatedFeature = el, selectedFeature: this._currentFeature, table: this._relatedTable }))));
969
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromCreateRelatedFeaturePanel.bind(this), selected: this._flowItems[this._flowItems.length - 1] === "add-comment" }, this.isMobile && this.getActionToExpandCollapsePanel(), h("div", { class: "width-full", slot: "footer" }, this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateRelatedFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateRelatedFeaturePanel.bind(this), width: "full" }, this._translations.cancel))), h("calcite-panel", null, h("create-related-feature", { customizeSubmit: true, enableSnapping: this.enableSnapping, locale: this.locale, mapView: this.mapView, onFail: this.addCommentFailed.bind(this), onFormReady: this.onFormReady.bind(this), onIsActionPending: this.showSubmitCancelButton.bind(this), onSuccess: this.onCommentSubmitted.bind(this), ref: el => this._createRelatedFeature = el, selectedFeature: this._currentFeature, table: this._relatedTable }))));
969
970
  }
970
971
  /**
971
972
  * Sets the selected features and updates the first feature as the current selected feature
@@ -1680,6 +1681,26 @@ export class CrowdsourceReporter {
1680
1681
  "reflect": false,
1681
1682
  "defaultValue": "true"
1682
1683
  },
1684
+ "enableSnapping": {
1685
+ "type": "boolean",
1686
+ "mutable": false,
1687
+ "complexType": {
1688
+ "original": "boolean",
1689
+ "resolved": "boolean",
1690
+ "references": {}
1691
+ },
1692
+ "required": false,
1693
+ "optional": false,
1694
+ "docs": {
1695
+ "tags": [],
1696
+ "text": "When true the snapping options will be exposed"
1697
+ },
1698
+ "getter": false,
1699
+ "setter": false,
1700
+ "attribute": "enable-snapping",
1701
+ "reflect": false,
1702
+ "defaultValue": "false"
1703
+ },
1683
1704
  "enableZoom": {
1684
1705
  "type": "boolean",
1685
1706
  "mutable": false,
@@ -93,7 +93,7 @@ export class DeductCalculator {
93
93
  * Renders the component.
94
94
  */
95
95
  render() {
96
- return (h(Host, { key: 'bef351adfb4972c2bd84709220171922a4649cd7' }, h("div", { key: '51065f0afbe4c2a2c2351f7a41a621d5d1dc8ba2', class: "label-display" }, h("calcite-label", { key: '3c9e587ef5b6becd188cb109ec4c262fdb829d92', class: "label-display" }, "Density %", this._getDensityInput()), h("calcite-label", { key: 'a274eddffc391680e55edc8582ba0c3ade78b48e', class: "label-display" }, "Type", this._getTypeInput()), h("calcite-label", { key: '300d544f83a425dc43d6725322d2381872b1acd9', class: "label-display" }, "Severity", this._getSeverityInput())), h("div", { key: '511ed7788c57fc3ff8e162f0b910b1ed2a974b3d' }, this._getCalculateInput())));
96
+ return (h(Host, { key: 'b2208eddc39e3112b21061b0718c07b40b5d555f' }, h("div", { key: '141f1411adb23fe1678bd4335c46c4de0c3a6f45', class: "label-display" }, h("calcite-label", { key: '78f7956efdfd7d88832e6fd031682b7f58046e34', class: "label-display" }, "Density %", this._getDensityInput()), h("calcite-label", { key: '1e38c3db3a4797efcd98b8b767578f734448ec8f', class: "label-display" }, "Type", this._getTypeInput()), h("calcite-label", { key: '1793f3b2babbcadce21c45f4224ddfe958ad6e2f', class: "label-display" }, "Severity", this._getSeverityInput())), h("div", { key: 'e7e16b0e165357f0da22617463aab443534f7ace' }, this._getCalculateInput())));
97
97
  }
98
98
  //--------------------------------------------------------------------------
99
99
  //
@@ -101,7 +101,7 @@ export class DeleteButton {
101
101
  * Renders the component.
102
102
  */
103
103
  render() {
104
- return (h(Host, { key: '73d07f24703df76fdacc1b3a1ec80cfdd7bbee30' }, this.buttonType === "button" ? (h("calcite-button", { appearance: "outline", disabled: !this._deleteEndabled, id: "solutions-delete", kind: "danger", onClick: () => this._delete(), width: "full" }, this._translations.deleteCount.replace("{{n}}", this.ids.length.toString()))) : (h("calcite-action", { appearance: "solid", disabled: !this._deleteEndabled, id: this.icon, onClick: () => this._delete(), scale: "s", text: this._translations.delete }, h("calcite-button", { appearance: "transparent", iconStart: this.icon, kind: "danger" }, this._translations.delete))), this._deleteMessage(), h("calcite-tooltip", { key: '803898895029bd098264b9144ff5ccee102d4ae8', placement: "bottom", "reference-element": this.buttonType === "button" ? "solutions-delete" : this.icon }, h("span", { key: 'a920ffea1849667cd58812a2c1813d2e066f0064' }, this._translations.delete))));
104
+ return (h(Host, { key: 'a8b845e5a7283318d4e313914e8bf992c5405d82' }, this.buttonType === "button" ? (h("calcite-button", { appearance: "outline", disabled: !this._deleteEndabled, id: "solutions-delete", kind: "danger", onClick: () => this._delete(), width: "full" }, this._translations.deleteCount.replace("{{n}}", this.ids.length.toString()))) : (h("calcite-action", { appearance: "solid", disabled: !this._deleteEndabled, id: this.icon, onClick: () => this._delete(), scale: "s", text: this._translations.delete }, h("calcite-button", { appearance: "transparent", iconStart: this.icon, kind: "danger" }, this._translations.delete))), this._deleteMessage(), h("calcite-tooltip", { key: '63e746d5066e96a13066cae6d3ad0b23c81437dc', placement: "bottom", "reference-element": this.buttonType === "button" ? "solutions-delete" : this.icon }, h("span", { key: '9f6708e8ff0255d6634c69cb66d9544dc5b053ba' }, this._translations.delete))));
105
105
  }
106
106
  /**
107
107
  * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
@@ -90,7 +90,7 @@ export class DeleteDialog {
90
90
  render() {
91
91
  const confirmMessage = this.ids.length === 1 ? this._translations?.confirmSingle :
92
92
  this._translations?.confirmMultiple;
93
- return (h(Host, { key: 'd672a7218bc19c762c89b519b5d12c8d0122f770' }, h("calcite-dialog", { key: 'c43ba38dd9477869ae9797f98e3daafce09c5eae', heading: this._translations?.deleteFeature, kind: "danger", modal: true, onCalciteDialogClose: () => this._close(), open: this.open, widthScale: "s" }, h("div", { key: '481710981431c3bb10b8ec221604f0740f3f8772' }, confirmMessage), h("calcite-button", { key: '8f1fc8a1a66fbd25edbb8d7f99f223b5bfea0517', appearance: "outline", kind: "danger", onClick: () => this._close(), slot: "footer-end", width: "full" }, this._translations?.cancel), h("calcite-button", { key: '46830e28586f1d345de2b19a2d8198f36ae74f15', kind: "danger", loading: this._isDeleting, onClick: () => void this._deleteFeatures(), slot: "footer-end", width: "full" }, this._translations?.delete))));
93
+ return (h(Host, { key: 'c75cf86cce1b728837422e4102fd9cdffc33c78a' }, h("calcite-dialog", { key: '026e1b0a55ebd740f2352da820d5b15afa050f78', heading: this._translations?.deleteFeature, kind: "danger", modal: true, onCalciteDialogClose: () => this._close(), open: this.open, widthScale: "s" }, h("div", { key: '3f8e4aef2995387b758f1af8e1443253207998bc' }, confirmMessage), h("calcite-button", { key: '3005fafc853db910adc787290a328dcc161401bb', appearance: "outline", kind: "danger", onClick: () => this._close(), slot: "footer-end", width: "full" }, this._translations?.cancel), h("calcite-button", { key: '42e9da99a45f416fa9b9b5cfefdb10b045593ecb', kind: "danger", loading: this._isDeleting, onClick: () => void this._deleteFeatures(), slot: "footer-end", width: "full" }, this._translations?.delete))));
94
94
  }
95
95
  //--------------------------------------------------------------------------
96
96
  //
@@ -56,7 +56,7 @@
56
56
  background-color: var(--calcite-color-foreground-1) !important;
57
57
  }
58
58
 
59
- .esri-editor__panel-toolbar {
59
+ .hide-editor-toolbar .esri-editor__panel-toolbar {
60
60
  display: none !important;
61
61
  }
62
62
 
@@ -25,11 +25,12 @@ import { getAllLayers } from "../../utils/mapViewUtils";
25
25
  export class EditCard {
26
26
  constructor() {
27
27
  this.enableEditGeometry = false;
28
+ this.enableSnapping = false;
29
+ this.graphicIndex = 0;
28
30
  this.graphics = undefined;
29
31
  this.locale = undefined;
30
32
  this.mapView = undefined;
31
33
  this.open = false;
32
- this.graphicIndex = 0;
33
34
  this._editorLoading = false;
34
35
  this._translations = undefined;
35
36
  }
@@ -211,7 +212,7 @@ export class EditCard {
211
212
  !this.graphics[0].layer.editingEnabled : true;
212
213
  const tableNodeClass = this._editorLoading ? "display-none" : "position-absolute";
213
214
  const loadingClass = this._editorLoading ? "" : "display-none";
214
- return (h(Host, { key: 'e181f65e7218ce0350de5dcab9049ff63a5d39c1' }, h("div", { key: '44bf2b5cf31c5acc7f65fb7ec50fd84e77c95470', class: "position-absolute" }, editDisabled ? (h("calcite-notice", { kind: "warning", open: true, slot: "content-top", width: "full" }, h("div", { slot: "message" }, this._translations.enableEditing))) : undefined, h("div", { key: '97119476aa2a992ccadc1d61119f2640d195e7b1', class: "position-absolute" }, h("div", { key: 'f429decea684a6a22db89de89da3755bdbff19cc', class: tableNodeClass, id: "feature-form", ref: (el) => this._editContainer = el }), h("calcite-loader", { key: '3ea908ef8dadd2f1c85bfac1b344f8b4441b8706', class: loadingClass, label: "", scale: "s" })))));
215
+ return (h(Host, { key: '8491a0fbeefc9533ed6898cf4734ec98dddd7f62' }, h("div", { key: 'a98e923e1d697559c37ce85fbd57fc1688171cb2', class: "position-absolute" }, editDisabled ? (h("calcite-notice", { kind: "warning", open: true, slot: "content-top", width: "full" }, h("div", { slot: "message" }, this._translations.enableEditing))) : undefined, h("div", { key: 'ac5eed8a614523e1ddaad0eaf3b973faf28fdbf2', class: "position-absolute" }, h("div", { key: '63778d7c29d6fd26e0c8a534dc70da4a0e94075d', class: tableNodeClass, id: "feature-form", ref: (el) => this._editContainer = el }), h("calcite-loader", { key: '641a987e8860222a1a3b6f64e700a16c03463c81', class: loadingClass, label: "", scale: "s" })))));
215
216
  }
216
217
  //--------------------------------------------------------------------------
217
218
  //
@@ -252,7 +253,8 @@ export class EditCard {
252
253
  layerInfos,
253
254
  visibleElements: {
254
255
  flow: true,
255
- snappingControls: false
256
+ settingsMenu: this.enableSnapping,
257
+ snappingControls: this.enableSnapping,
256
258
  },
257
259
  container
258
260
  });
@@ -275,6 +277,9 @@ export class EditCard {
275
277
  this.open = false;
276
278
  }
277
279
  });
280
+ if (!this.enableSnapping) {
281
+ container.classList.add("hide-editor-toolbar");
282
+ }
278
283
  // had issues with destroy before adding like this
279
284
  this._editContainer.appendChild(container);
280
285
  this.editorInitialized.emit(this._editor);
@@ -349,6 +354,46 @@ export class EditCard {
349
354
  "reflect": false,
350
355
  "defaultValue": "false"
351
356
  },
357
+ "enableSnapping": {
358
+ "type": "boolean",
359
+ "mutable": false,
360
+ "complexType": {
361
+ "original": "boolean",
362
+ "resolved": "boolean",
363
+ "references": {}
364
+ },
365
+ "required": false,
366
+ "optional": false,
367
+ "docs": {
368
+ "tags": [],
369
+ "text": "When true the snapping options will be exposed"
370
+ },
371
+ "getter": false,
372
+ "setter": false,
373
+ "attribute": "enable-snapping",
374
+ "reflect": false,
375
+ "defaultValue": "false"
376
+ },
377
+ "graphicIndex": {
378
+ "type": "number",
379
+ "mutable": false,
380
+ "complexType": {
381
+ "original": "number",
382
+ "resolved": "number",
383
+ "references": {}
384
+ },
385
+ "required": false,
386
+ "optional": false,
387
+ "docs": {
388
+ "tags": [],
389
+ "text": "The index of the current graphic"
390
+ },
391
+ "getter": false,
392
+ "setter": false,
393
+ "attribute": "graphic-index",
394
+ "reflect": false,
395
+ "defaultValue": "0"
396
+ },
352
397
  "graphics": {
353
398
  "type": "unknown",
354
399
  "mutable": true,
@@ -431,26 +476,6 @@ export class EditCard {
431
476
  "attribute": "open",
432
477
  "reflect": false,
433
478
  "defaultValue": "false"
434
- },
435
- "graphicIndex": {
436
- "type": "number",
437
- "mutable": false,
438
- "complexType": {
439
- "original": "number",
440
- "resolved": "number",
441
- "references": {}
442
- },
443
- "required": false,
444
- "optional": false,
445
- "docs": {
446
- "tags": [],
447
- "text": "The index of the current graphic"
448
- },
449
- "getter": false,
450
- "setter": false,
451
- "attribute": "graphic-index",
452
- "reflect": false,
453
- "defaultValue": "0"
454
479
  }
455
480
  };
456
481
  }
@@ -23,6 +23,7 @@ import { loadModules } from "../../utils/loadModules";
23
23
  import { getAllTables } from "../../utils/mapViewUtils";
24
24
  export class FeatureDetails {
25
25
  constructor() {
26
+ this.enableSnapping = false;
26
27
  this.mapView = undefined;
27
28
  this.graphics = undefined;
28
29
  this.reportingOptions = undefined;
@@ -182,12 +183,12 @@ export class FeatureDetails {
182
183
  render() {
183
184
  //When related features found show comments list of only those features else comments list will be empty
184
185
  const commentsListWhereClause = this._relatedFeaturesOIDs?.length > 0 ? `objectId in(${this._relatedFeaturesOIDs})` : '1=0';
185
- return (h("calcite-panel", { key: '577f06f7bc41875b38e07a44f3c734ccc839e596', "full-height": true }, h("info-card", { key: 'e815f75d02bcdfe9cc11796c913be2a6c2bfecd2', allowEditing: false, graphics: this.graphics, highlightEnabled: false, isLoading: false, isMobile: false, locale: this.locale, mapView: this.mapView, onSelectionChanged: (e) => { this.featureSelectionChange.emit(e.detail); }, paginationEnabled: false, position: "relative", ref: el => this._infoCard = el }), (this._likeFieldAvailable || this._dislikeFieldAvailable || this._commentsAvailable) &&
186
- h("div", { key: '16d0af6b0e75b595573bd0816744f03d9d6dec37', class: "buttons-container" }, this._commentsAvailable &&
187
- h("calcite-button", { key: '550b3af830911a1437fa3e967492666ec8c5a2e4', appearance: "transparent", iconEnd: "speech-bubble", kind: "neutral", onClick: () => { this.addComment.emit(); }, scale: 'm' }, this._relatedFeaturesOIDs.length), this._likeFieldAvailable &&
188
- h("calcite-button", { key: '741848445c2083f4c0a3d9464cd810deee4a1218', appearance: "transparent", iconEnd: "thumbs-up", kind: this._isLikeBtnClicked ? "brand" : "neutral", loading: this._updating, onClick: this.onLikeButtonClick.bind(this), scale: 'm' }, this._likeCount ?? this._selectedGraphic.attributes[this._likeField] ?? 0), this._dislikeFieldAvailable &&
189
- h("calcite-button", { key: '4d5e8ae279559dbf981b1b91238706adbd6ebeef', appearance: "transparent", iconEnd: "thumbs-down", kind: this._isDislikeBtnClicked ? "brand" : "neutral", loading: this._updating, onClick: this.onDislikeButtonClick.bind(this), scale: 'm' }, this._disLikeCount ?? this._selectedGraphic.attributes[this._dislikeField] ?? 0)), this.relatedTableId && this._commentsAvailable &&
190
- h("feature-list", { key: '0daad9b37b13a05afc4b8a3a6eca70a7356afd8f', class: "height-full", locale: this.locale, mapView: this.mapView, onFeatureSelect: (e) => { this.commentSelect.emit(e.detail); }, pageSize: 5, ref: el => this._commentsList = el, selectedLayerId: this.relatedTableId, showErrorWhenNoFeatures: false, showFullTitle: this.showFullCommentTitle, showInitialLoading: false, showUserImageInList: this.showUserImageInCommentsList, textSize: "small", whereClause: commentsListWhereClause })));
186
+ return (h("calcite-panel", { key: '369276b48d989c7e15e86a507414e68b55c842b0', "full-height": true }, h("info-card", { key: '1cc64b674205bc2b1b7a7c65d9f99ae551daf89d', allowEditing: false, enableSnapping: this.enableSnapping, graphics: this.graphics, highlightEnabled: false, isLoading: false, isMobile: false, locale: this.locale, mapView: this.mapView, onSelectionChanged: (e) => { this.featureSelectionChange.emit(e.detail); }, paginationEnabled: false, position: "relative", ref: el => this._infoCard = el }), (this._likeFieldAvailable || this._dislikeFieldAvailable || this._commentsAvailable) &&
187
+ h("div", { key: '52d494236fbf3ea0db4894600885f25d8c9c021f', class: "buttons-container" }, this._commentsAvailable &&
188
+ h("calcite-button", { key: 'f9844e33d90a3d5c4b950e9d7dcbd8c1f2b541af', appearance: "transparent", iconEnd: "speech-bubble", kind: "neutral", onClick: () => { this.addComment.emit(); }, scale: 'm' }, this._relatedFeaturesOIDs.length), this._likeFieldAvailable &&
189
+ h("calcite-button", { key: '0912473490c6ada2ba3e3a703a37d26e752ee4d5', appearance: "transparent", iconEnd: "thumbs-up", kind: this._isLikeBtnClicked ? "brand" : "neutral", loading: this._updating, onClick: this.onLikeButtonClick.bind(this), scale: 'm' }, this._likeCount ?? this._selectedGraphic.attributes[this._likeField] ?? 0), this._dislikeFieldAvailable &&
190
+ h("calcite-button", { key: 'e6d62adf0d5669f50b829e78bd2b224d1e400b36', appearance: "transparent", iconEnd: "thumbs-down", kind: this._isDislikeBtnClicked ? "brand" : "neutral", loading: this._updating, onClick: this.onDislikeButtonClick.bind(this), scale: 'm' }, this._disLikeCount ?? this._selectedGraphic.attributes[this._dislikeField] ?? 0)), this.relatedTableId && this._commentsAvailable &&
191
+ h("feature-list", { key: '8cd2570111a3425e6c4d9d8b7de1e2b522ce8833', class: "height-full", locale: this.locale, mapView: this.mapView, onFeatureSelect: (e) => { this.commentSelect.emit(e.detail); }, pageSize: 5, ref: el => this._commentsList = el, selectedLayerId: this.relatedTableId, showErrorWhenNoFeatures: false, showFullTitle: this.showFullCommentTitle, showInitialLoading: false, showUserImageInList: this.showUserImageInCommentsList, textSize: "small", whereClause: commentsListWhereClause })));
191
192
  }
192
193
  /**
193
194
  * Load esri javascript api modules
@@ -469,6 +470,26 @@ export class FeatureDetails {
469
470
  }
470
471
  static get properties() {
471
472
  return {
473
+ "enableSnapping": {
474
+ "type": "boolean",
475
+ "mutable": false,
476
+ "complexType": {
477
+ "original": "boolean",
478
+ "resolved": "boolean",
479
+ "references": {}
480
+ },
481
+ "required": false,
482
+ "optional": false,
483
+ "docs": {
484
+ "tags": [],
485
+ "text": "When true the snapping options will be exposed"
486
+ },
487
+ "getter": false,
488
+ "setter": false,
489
+ "attribute": "enable-snapping",
490
+ "reflect": false,
491
+ "defaultValue": "false"
492
+ },
472
493
  "mapView": {
473
494
  "type": "unknown",
474
495
  "mutable": false,
@@ -235,10 +235,10 @@ export class FeatureList {
235
235
  */
236
236
  render() {
237
237
  const showSearch = this._canShowFullTextSearch();
238
- return (h("calcite-panel", { key: '465989fd2befec544d5a49a355a70dc13b6962dc', "full-height": true, "full-width": true }, showSearch &&
239
- h("calcite-input", { key: 'b09776016a6d854336b44bbfcb98eabbd50d1e95', class: "search", clearable: true, icon: "search", onCalciteInputChange: this._searchTextChanged.bind(this), placeholder: this._searchPlaceHolder, title: '', type: "search" }), this._isLoading && h("calcite-loader", { key: 'ac945c628e55c6dff43701c39d33c6a3a9ff8874', label: "", scale: "m" }), this.showErrorWhenNoFeatures && this._featureItems.length === 0 && !this._isLoading &&
240
- h("calcite-notice", { key: '00cb64af86c8cd8600cdf435f918131cc3e66a38', class: "error-msg", icon: "feature-details", kind: "info", open: true }, h("div", { key: '29b8bd85b3cb55c6bfb6adc282f8e69a7f9ea2ce', slot: "message" }, this.filterByMapExtent ? this._translations.featureErrorMsgInCurrentMapView : this.noFeaturesFoundMsg ? this.noFeaturesFoundMsg : this._translations.featureErrorMsg)), h("calcite-list", { key: '002f3171e10af68d189c71dbd9fa86d3106f13a2', class: this.textSize === 'small' && !this.showFullTitle ? 'overflow-hidden' : '', label: "", ref: el => this._calciteList = el, "selection-appearance": "border", "selection-mode": "none" }, !this._isLoading && this._featureItems.length > 0 && this._featureItems), this._featuresCount > this.pageSize &&
241
- h("div", { key: '3df744fa6f86db8c092e10dee631907516985fc5', class: "width-full", slot: "footer" }, h("calcite-pagination", { key: '0221928e0266e4b57c7ce5a34aa8ec758864312f', class: "pagination", "full-width": true, onCalcitePaginationChange: this.pageChanged.bind(this), "page-size": this.pageSize, ref: el => this._pagination = el, "start-item": "1", "total-items": this._featuresCount }))));
238
+ return (h("calcite-panel", { key: 'da51d35e66ceea64f32ddf7872ac7133f98bfc48', "full-height": true, "full-width": true }, showSearch &&
239
+ h("calcite-input", { key: '04a50538873d5a87eb194edca98fa5a86818bfc4', class: "search", clearable: true, icon: "search", onCalciteInputChange: this._searchTextChanged.bind(this), placeholder: this._searchPlaceHolder, title: '', type: "search" }), this._isLoading && h("calcite-loader", { key: 'f89602c8d36c41d8ed5b028619853ba8e1dedbc9', label: "", scale: "m" }), this.showErrorWhenNoFeatures && this._featureItems.length === 0 && !this._isLoading &&
240
+ h("calcite-notice", { key: '147d2072a916b9a0ec34d3819a8c88ded50673b1', class: "error-msg", icon: "feature-details", kind: "info", open: true }, h("div", { key: 'ab769558c1489e9b24eff945b970230b5015a35c', slot: "message" }, this.filterByMapExtent ? this._translations.featureErrorMsgInCurrentMapView : this.noFeaturesFoundMsg ? this.noFeaturesFoundMsg : this._translations.featureErrorMsg)), h("calcite-list", { key: 'aa05260aa25bd5023be842969f6660950269221e', class: this.textSize === 'small' && !this.showFullTitle ? 'overflow-hidden' : '', label: "", ref: el => this._calciteList = el, "selection-appearance": "border", "selection-mode": "none" }, !this._isLoading && this._featureItems.length > 0 && this._featureItems), this._featuresCount > this.pageSize &&
241
+ h("div", { key: '6db2614c585cc95605998c2ddd96e9d8980ed875', class: "width-full", slot: "footer" }, h("calcite-pagination", { key: '59f0c7e97b02215ec717d902fdf6294ed7c82a67', class: "pagination", "full-width": true, onCalcitePaginationChange: this.pageChanged.bind(this), "page-size": this.pageSize, ref: el => this._pagination = el, "start-item": "1", "total-items": this._featuresCount }))));
242
242
  }
243
243
  //--------------------------------------------------------------------------
244
244
  //