@esri/solutions-components 0.6.16 → 0.6.18

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 (216) hide show
  1. package/README.md +1 -1
  2. package/dist/assets/t9n/map-tools/resources.json +2 -1
  3. package/dist/assets/t9n/map-tools/resources_en.json +2 -1
  4. package/dist/assets/t9n/solution-spatial-ref/resources.json +0 -1
  5. package/dist/assets/t9n/solution-spatial-ref/resources_en.json +0 -1
  6. package/dist/assets/t9n/solution-spatial-ref/resources_fr.json +6 -0
  7. package/dist/assets/t9n/solution-spatial-ref/resources_he.json +6 -0
  8. package/dist/assets/t9n/spatial-ref/resources.json +3 -0
  9. package/dist/assets/t9n/spatial-ref/resources_en.json +3 -0
  10. package/dist/assets/t9n/spatial-ref/resources_fr.json +3 -0
  11. package/dist/assets/t9n/spatial-ref/resources_he.json +3 -0
  12. package/dist/cjs/{basemap-gallery_6.cjs.entry.js → basemap-gallery_7.cjs.entry.js} +124 -3
  13. package/dist/cjs/{calcite-tree_3.cjs.entry.js → calcite-checkbox_3.cjs.entry.js} +123 -319
  14. package/dist/cjs/calcite-combobox_6.cjs.entry.js +1 -1
  15. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +4 -3
  16. package/dist/cjs/card-manager_3.cjs.entry.js +10 -7
  17. package/dist/{collection/components/basemap-gallery/test/basemap-gallery.e2e.js → cjs/common-13719149.js} +17 -9
  18. package/dist/cjs/crowdsource-manager.cjs.entry.js +12 -7
  19. package/dist/cjs/{downloadUtils-34a515ad.js → downloadUtils-121fd7ff.js} +2 -2
  20. package/dist/cjs/edit-card_2.cjs.entry.js +4 -3
  21. package/dist/cjs/{index.es-0ba11065.js → index.es-5c0c137a.js} +2 -2
  22. package/dist/cjs/loader.cjs.js +1 -1
  23. package/dist/cjs/map-select-tools_3.cjs.entry.js +2 -2
  24. package/dist/cjs/{mapViewUtils-a2884698.js → mapViewUtils-786a219b.js} +32 -19
  25. package/dist/cjs/public-notification.cjs.entry.js +2 -2
  26. package/dist/cjs/solution-configuration.cjs.entry.js +2 -1
  27. package/dist/cjs/solution-contents_3.cjs.entry.js +21 -21256
  28. package/dist/cjs/solution-item-icon.cjs.entry.js +327 -0
  29. package/dist/cjs/{solution-store-c443e657.js → solution-resource-f9e3b289.js} +2 -1698
  30. package/dist/cjs/solution-store-2414dd8a.js +1707 -0
  31. package/dist/cjs/solutions-components.cjs.js +1 -1
  32. package/dist/cjs/spatial-ref.cjs.entry.js +21293 -0
  33. package/dist/collection/collection-manifest.json +2 -0
  34. package/dist/collection/components/card-manager/card-manager.js +1 -1
  35. package/dist/collection/components/crowdsource-manager/crowdsource-manager.css +17 -2
  36. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +47 -6
  37. package/dist/collection/components/edit-card/edit-card.css +0 -8
  38. package/dist/collection/components/floor-filter/floor-filter.css +19 -0
  39. package/dist/collection/components/floor-filter/floor-filter.js +163 -0
  40. package/dist/collection/components/info-card/info-card.js +3 -2
  41. package/dist/collection/components/layer-table/layer-table.css +8 -0
  42. package/dist/collection/components/layer-table/layer-table.js +18 -2
  43. package/dist/collection/components/map-card/map-card.js +19 -1
  44. package/dist/collection/components/map-picker/map-picker.css +0 -4
  45. package/dist/collection/components/map-picker/map-picker.js +1 -1
  46. package/dist/collection/components/map-tools/map-tools.js +54 -1
  47. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.css +1 -7
  48. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +37 -291
  49. package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.e2e.js +24 -12
  50. package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.spec.js +32 -128
  51. package/dist/collection/components/spatial-ref/spatial-ref.css +20 -0
  52. package/dist/collection/components/spatial-ref/spatial-ref.js +445 -0
  53. package/dist/collection/components/spatial-ref/test/spatial-ref.e2e.js +71 -0
  54. package/dist/collection/components/spatial-ref/test/spatial-ref.spec.js +158 -0
  55. package/dist/collection/demos/crowdsource-manager.html +4 -0
  56. package/dist/collection/demos/solution-spatial-ref.html +9 -16
  57. package/dist/collection/demos/spatial-ref.html +53 -0
  58. package/dist/collection/utils/mapViewUtils.js +32 -19
  59. package/dist/collection/utils/mapViewUtils.ts +43 -20
  60. package/dist/collection/utils/{templates.e2e.js → test/templates.e2e.js} +2 -2
  61. package/dist/collection/utils/{templates.e2e.ts → test/templates.e2e.ts} +2 -2
  62. package/dist/components/card-manager2.js +1 -1
  63. package/dist/components/crowdsource-manager.js +86 -73
  64. package/dist/components/edit-card2.js +1 -1
  65. package/dist/components/floor-filter.d.ts +11 -0
  66. package/dist/components/floor-filter.js +11 -0
  67. package/dist/components/floor-filter2.js +115 -0
  68. package/dist/components/info-card2.js +3 -2
  69. package/dist/components/layer-table2.js +5 -3
  70. package/dist/components/map-card2.js +45 -37
  71. package/dist/components/map-picker2.js +2 -2
  72. package/dist/components/map-tools2.js +52 -11
  73. package/dist/components/mapViewUtils.js +32 -19
  74. package/dist/components/solution-configuration.js +79 -72
  75. package/dist/components/solution-resource-item2.js +2 -1
  76. package/dist/components/solution-resource.js +1836 -0
  77. package/dist/components/solution-spatial-ref2.js +41 -21277
  78. package/dist/components/solution-store.js +2 -1830
  79. package/dist/components/spatial-ref.d.ts +11 -0
  80. package/dist/components/spatial-ref.js +11 -0
  81. package/dist/components/spatial-ref2.js +21374 -0
  82. package/dist/esm/{basemap-gallery_6.entry.js → basemap-gallery_7.entry.js} +124 -4
  83. package/dist/esm/{calcite-tree_3.entry.js → calcite-checkbox_3.entry.js} +125 -321
  84. package/dist/esm/calcite-combobox_6.entry.js +1 -1
  85. package/dist/esm/calcite-shell-panel_14.entry.js +2 -1
  86. package/dist/esm/card-manager_3.entry.js +10 -7
  87. package/dist/{collection/components/layer-table/test/layer-table.e2e.js → esm/common-e4a8e353.js} +15 -9
  88. package/dist/esm/crowdsource-manager.entry.js +12 -7
  89. package/dist/esm/{downloadUtils-ac67a786.js → downloadUtils-287994b1.js} +2 -2
  90. package/dist/esm/edit-card_2.entry.js +4 -3
  91. package/dist/esm/{index.es-f553598f.js → index.es-a3f8409f.js} +2 -2
  92. package/dist/esm/loader.js +1 -1
  93. package/dist/esm/map-select-tools_3.entry.js +2 -2
  94. package/dist/esm/{mapViewUtils-8141d8c1.js → mapViewUtils-8bfabd80.js} +32 -19
  95. package/dist/esm/public-notification.entry.js +2 -2
  96. package/dist/esm/solution-configuration.entry.js +2 -1
  97. package/dist/esm/solution-contents_3.entry.js +20 -21255
  98. package/dist/esm/solution-item-icon.entry.js +323 -0
  99. package/dist/esm/{solution-store-b29d50f7.js → solution-resource-be35d35b.js} +1 -1697
  100. package/dist/esm/solution-store-e734626a.js +1704 -0
  101. package/dist/esm/solutions-components.js +1 -1
  102. package/dist/esm/spatial-ref.entry.js +21289 -0
  103. package/dist/solutions-components/demos/crowdsource-manager.html +4 -0
  104. package/dist/solutions-components/demos/solution-spatial-ref.html +9 -16
  105. package/dist/solutions-components/demos/spatial-ref.html +53 -0
  106. package/dist/solutions-components/{p-64d29ba2.entry.js → p-0bc27ba7.entry.js} +2 -2
  107. package/dist/{collection/components/map-card/test/map-card.e2e.js → solutions-components/p-1b228f97.js} +2 -10
  108. package/dist/solutions-components/{p-9f11a403.entry.js → p-3c5c1487.entry.js} +1 -1
  109. package/dist/solutions-components/{p-a26711e8.js → p-469c8f8a.js} +1 -1
  110. package/dist/solutions-components/p-53bc5fc1.js +36 -0
  111. package/dist/solutions-components/p-5b8c8942.entry.js +21 -0
  112. package/dist/solutions-components/p-63c6fc29.entry.js +6 -0
  113. package/dist/solutions-components/p-64945b43.entry.js +18 -0
  114. package/dist/solutions-components/{p-c8d0ce92.js → p-698c6a56.js} +2 -2
  115. package/dist/solutions-components/{p-b9d29f30.entry.js → p-734cb206.entry.js} +1 -1
  116. package/dist/solutions-components/p-770bff06.entry.js +6 -0
  117. package/dist/solutions-components/p-7741dbab.entry.js +6 -0
  118. package/dist/solutions-components/p-80465067.entry.js +6 -0
  119. package/dist/solutions-components/p-846df994.entry.js +6 -0
  120. package/dist/solutions-components/p-b3f8d2cb.js +192 -0
  121. package/dist/solutions-components/p-c26d8b36.entry.js +6 -0
  122. package/dist/solutions-components/{p-57cf6784.entry.js → p-d22be647.entry.js} +1 -1
  123. package/dist/solutions-components/{p-4d942b0f.entry.js → p-f35147d5.entry.js} +1 -1
  124. package/dist/solutions-components/p-ff0d7712.js +44 -0
  125. package/dist/solutions-components/solutions-components.esm.js +1 -1
  126. package/dist/solutions-components/utils/mapViewUtils.ts +43 -20
  127. package/dist/solutions-components/utils/{templates.e2e.ts → test/templates.e2e.ts} +2 -2
  128. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +9 -1
  129. package/dist/types/components/floor-filter/floor-filter.d.ts +61 -0
  130. package/dist/types/components/layer-table/layer-table.d.ts +4 -0
  131. package/dist/types/components/map-card/map-card.d.ts +4 -0
  132. package/dist/types/components/map-tools/map-tools.d.ts +24 -0
  133. package/dist/types/components/solution-spatial-ref/solution-spatial-ref.d.ts +11 -93
  134. package/dist/types/components/spatial-ref/spatial-ref.d.ts +142 -0
  135. package/dist/types/components.d.ts +123 -16
  136. package/dist/types/preact.d.ts +8 -1
  137. package/package.json +6 -6
  138. package/dist/cjs/calcite-checkbox.cjs.entry.js +0 -136
  139. package/dist/collection/components/basemap-gallery/test/basemap-gallery.spec.js +0 -37
  140. package/dist/collection/components/buffer-tools/test/buffer-tools.e2e.js +0 -29
  141. package/dist/collection/components/buffer-tools/test/buffer-tools.spec.js +0 -160
  142. package/dist/collection/components/card-manager/test/card-manager.e2e.js +0 -29
  143. package/dist/collection/components/card-manager/test/card-manager.spec.js +0 -37
  144. package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.e2e.js +0 -29
  145. package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.spec.js +0 -37
  146. package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.e2e.js +0 -29
  147. package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.spec.js +0 -37
  148. package/dist/collection/components/deduct-calculator/test/deduct-calculator.e2e.js +0 -29
  149. package/dist/collection/components/deduct-calculator/test/deduct-calculator.spec.js +0 -37
  150. package/dist/collection/components/edit-card/test/edit-card.e2e.js +0 -14
  151. package/dist/collection/components/edit-card/test/edit-card.spec.js +0 -22
  152. package/dist/collection/components/info-card/test/info-card.e2e.js +0 -29
  153. package/dist/collection/components/info-card/test/info-card.spec.js +0 -37
  154. package/dist/collection/components/json-editor/test/json-editor.e2e.js +0 -36
  155. package/dist/collection/components/json-editor/test/json-editor.spec.js +0 -65
  156. package/dist/collection/components/layer-table/test/layer-table.spec.js +0 -37
  157. package/dist/collection/components/layout-manager/test/layout-manager.e2e.js +0 -29
  158. package/dist/collection/components/layout-manager/test/layout-manager.spec.js +0 -37
  159. package/dist/collection/components/list-item/test/list-item.e2e.js +0 -29
  160. package/dist/collection/components/list-item/test/list-item.spec.js +0 -37
  161. package/dist/collection/components/map-card/test/map-card.spec.js +0 -37
  162. package/dist/collection/components/map-draw-tools/test/map-draw-tools.e2e.js +0 -29
  163. package/dist/collection/components/map-draw-tools/test/map-draw-tools.spec.js +0 -37
  164. package/dist/collection/components/map-fullscreen/test/map-fullscreen.e2e.js +0 -29
  165. package/dist/collection/components/map-fullscreen/test/map-fullscreen.spec.js +0 -37
  166. package/dist/collection/components/map-layer-picker/test/map-layer-picker.e2e.js +0 -29
  167. package/dist/collection/components/map-layer-picker/test/map-layer-picker.spec.js +0 -114
  168. package/dist/collection/components/map-legend/test/map-legend.e2e.js +0 -14
  169. package/dist/collection/components/map-legend/test/map-legend.spec.js +0 -22
  170. package/dist/collection/components/map-picker/test/map-picker.e2e.js +0 -29
  171. package/dist/collection/components/map-picker/test/map-picker.spec.js +0 -37
  172. package/dist/collection/components/map-search/test/map-search.e2e.js +0 -29
  173. package/dist/collection/components/map-search/test/map-search.spec.js +0 -37
  174. package/dist/collection/components/map-select-tools/test/map-select-tools.e2e.js +0 -29
  175. package/dist/collection/components/map-select-tools/test/map-select-tools.spec.js +0 -366
  176. package/dist/collection/components/map-tools/test/map-tools.e2e.js +0 -29
  177. package/dist/collection/components/map-tools/test/map-tools.spec.js +0 -37
  178. package/dist/collection/components/pci-calculator/test/pci-calculator.e2e.js +0 -29
  179. package/dist/collection/components/pci-calculator/test/pci-calculator.spec.js +0 -37
  180. package/dist/collection/components/pdf-download/test/pdf-download.e2e.js +0 -76
  181. package/dist/collection/components/pdf-download/test/pdf-download.spec.js +0 -107
  182. package/dist/collection/components/public-notification/test/public-notification.spec.js +0 -161
  183. package/dist/collection/components/refine-selection/test/refine-selection.e2e.js +0 -14
  184. package/dist/collection/components/refine-selection/test/refine-selection.spec.js +0 -22
  185. package/dist/collection/components/solution-configuration/test/solution-configuration.e2e.js +0 -36
  186. package/dist/collection/components/solution-configuration/test/solution-configuration.spec.js +0 -119
  187. package/dist/collection/components/solution-contents/test/solution-contents.e2e.js +0 -94
  188. package/dist/collection/components/solution-contents/test/solution-contents.spec.js +0 -143
  189. package/dist/collection/components/solution-item/test/solution-item.e2e.js +0 -36
  190. package/dist/collection/components/solution-item/test/solution-item.spec.js +0 -77
  191. package/dist/collection/components/solution-item-details/test/solution-item-details.e2e.js +0 -36
  192. package/dist/collection/components/solution-item-details/test/solution-item-details.spec.js +0 -142
  193. package/dist/collection/components/solution-item-icon/test/solution-item-icon.e2e.js +0 -29
  194. package/dist/collection/components/solution-item-icon/test/solution-item-icon.spec.js +0 -39
  195. package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.e2e.js +0 -36
  196. package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.spec.js +0 -54
  197. package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.e2e.js +0 -36
  198. package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.spec.js +0 -65
  199. package/dist/collection/components/solution-resource-item/test/solution-resource-item.e2e.js +0 -36
  200. package/dist/collection/components/solution-resource-item/test/solution-resource-item.spec.js +0 -55
  201. package/dist/collection/components/solution-template-data/test/solution-template-data.e2e.js +0 -36
  202. package/dist/collection/components/solution-template-data/test/solution-template-data.spec.js +0 -60
  203. package/dist/collection/components/solution-variables/test/solution-variables.e2e.js +0 -36
  204. package/dist/collection/components/solution-variables/test/solution-variables.spec.js +0 -131
  205. package/dist/esm/calcite-checkbox.entry.js +0 -132
  206. package/dist/solutions-components/p-07d7e11f.entry.js +0 -6
  207. package/dist/solutions-components/p-16362eb4.js +0 -36
  208. package/dist/solutions-components/p-17d176b5.js +0 -230
  209. package/dist/solutions-components/p-1d9a5198.entry.js +0 -37
  210. package/dist/solutions-components/p-3707d9bd.entry.js +0 -6
  211. package/dist/solutions-components/p-4dbe8337.entry.js +0 -6
  212. package/dist/solutions-components/p-5ffaaaf4.entry.js +0 -6
  213. package/dist/solutions-components/p-736e76fb.entry.js +0 -17
  214. package/dist/solutions-components/p-99f1a767.entry.js +0 -6
  215. /package/dist/collection/components/{solution-spatial-ref → spatial-ref}/spatialreferences.js +0 -0
  216. /package/dist/types/components/{solution-spatial-ref → spatial-ref}/spatialreferences.d.ts +0 -0
@@ -7,6 +7,7 @@
7
7
  "components/crowdsource-reporter/crowdsource-reporter.js",
8
8
  "components/deduct-calculator/deduct-calculator.js",
9
9
  "components/edit-card/edit-card.js",
10
+ "components/floor-filter/floor-filter.js",
10
11
  "components/info-card/info-card.js",
11
12
  "components/json-editor/json-editor.js",
12
13
  "components/layer-table/layer-table.js",
@@ -36,6 +37,7 @@
36
37
  "components/solution-spatial-ref/solution-spatial-ref.js",
37
38
  "components/solution-template-data/solution-template-data.js",
38
39
  "components/solution-variables/solution-variables.js",
40
+ "components/spatial-ref/spatial-ref.js",
39
41
  "components/store-manager/store-manager.js"
40
42
  ],
41
43
  "compiler": {
@@ -84,7 +84,7 @@ export class CardManager {
84
84
  var _a, _b;
85
85
  const featuresClass = ((_a = this._graphics) === null || _a === void 0 ? void 0 : _a.length) > 0 ? "" : "display-none";
86
86
  const messageClass = ((_b = this._graphics) === null || _b === void 0 ? void 0 : _b.length) > 0 ? "display-none" : "";
87
- return (h(Host, null, h("div", { class: "overflow-auto height-full" }, h("calcite-shell", { class: "position-relative " + featuresClass }, h("div", null, h("info-card", { graphics: this._graphics, isLoading: this._cardLoading, mapView: this.mapView, zoomAndScrollToSelected: this.zoomAndScrollToSelected }))), h("div", { class: "padding-1 " + messageClass }, h("calcite-notice", { icon: "table", open: true }, h("div", { slot: "message" }, this._translations.selectFeaturesToStart))))));
87
+ return (h(Host, null, h("div", { class: "overflow-auto height-full" }, h("calcite-shell", { class: "position-relative " + featuresClass }, h("div", null, h("info-card", { graphics: this._graphics, isLoading: this._cardLoading, mapView: this.mapView, zoomAndScrollToSelected: this.zoomAndScrollToSelected }))), h("calcite-shell", { class: "position-relative " + messageClass }, h("div", { class: "padding-1" }, h("calcite-notice", { icon: "table", open: true }, h("div", { slot: "message" }, this._translations.selectFeaturesToStart)))))));
88
88
  }
89
89
  //--------------------------------------------------------------------------
90
90
  //
@@ -130,10 +130,25 @@
130
130
  height: 50px;
131
131
  }
132
132
 
133
- .padding-inline-end-75 {
134
- padding-inline-end: 0.75rem;
133
+ .padding-inline-start-75 {
134
+ padding-inline-start: 0.75rem;
135
135
  }
136
136
 
137
137
  .align-items-center {
138
138
  align-items: center;
139
139
  }
140
+
141
+ .esri-floor-filter__close-levels-button {
142
+ width: 40px !important;
143
+ height: 40px !important;
144
+ }
145
+
146
+ .esri-floor-filter__level-button {
147
+ width: 40px !important;
148
+ height: 40px !important;
149
+ }
150
+
151
+ .esri-floor-filter__browse-button {
152
+ width: 40px !important;
153
+ height: 40px !important;
154
+ }
@@ -30,6 +30,7 @@ export class CrowdsourceManager {
30
30
  this._shouldSetMapView = false;
31
31
  this.classicGrid = false;
32
32
  this.enableAutoRefresh = true;
33
+ this.enableFloorFilter = true;
33
34
  this.enableFullscreen = true;
34
35
  this.enableInlineEdit = false;
35
36
  this.enableLegend = true;
@@ -43,6 +44,7 @@ export class CrowdsourceManager {
43
44
  this.mapInfos = [];
44
45
  this.onlyShowUpdatableLayers = true;
45
46
  this.searchConfiguration = undefined;
47
+ this.theme = "light";
46
48
  this.zoomAndScrollToSelected = false;
47
49
  this._expandPopup = false;
48
50
  this._translations = undefined;
@@ -231,7 +233,7 @@ export class CrowdsourceManager {
231
233
  */
232
234
  _getMapAndCard(layoutMode, panelOpen, hideMap) {
233
235
  const mapSizeClass = this._getMapSizeClass(layoutMode, panelOpen);
234
- return this.classicGrid ? (h("div", { class: `${mapSizeClass} overflow-hidden` }, this._getCardNode(layoutMode, hideMap), this._getMapNode(layoutMode, hideMap))) : (h("div", { class: `${mapSizeClass} overflow-hidden` }, this._getMapNode(layoutMode, hideMap), this._getPopupExpandNode(), this._getCardNode(layoutMode, hideMap)));
236
+ return this.classicGrid ? (h("div", { class: `${mapSizeClass} overflow-hidden` }, this._getCardNode(layoutMode, hideMap), this._getMapNode(layoutMode, hideMap))) : (h("div", { class: `${mapSizeClass} overflow-hidden` }, this._getMapNode(layoutMode, hideMap), this._getPopupExpandNode(layoutMode, hideMap)));
235
237
  }
236
238
  /**
237
239
  * Get the map node based for the current layout options
@@ -243,10 +245,11 @@ export class CrowdsourceManager {
243
245
  * @protected
244
246
  */
245
247
  _getMapNode(layoutMode, hideMap) {
248
+ var _a, _b;
246
249
  const mapDisplayClass = this.classicGrid && layoutMode === ELayoutMode.GRID ? "display-flex height-full width-1-2" :
247
250
  layoutMode === ELayoutMode.GRID && !hideMap ? "" : "display-none";
248
251
  const mapContainerClass = this.classicGrid && layoutMode === ELayoutMode.GRID ? "width-full" : this._expandPopup ? "height-50-px" : "adjusted-height-50";
249
- return (h("div", { class: `${mapContainerClass} overflow-hidden ${mapDisplayClass}` }, h("map-card", { basemapConfig: this.basemapConfig, class: "width-full", enableBasemap: this.enableBasemap, enableFullscreen: this.enableFullscreen, enableLegend: this.enableLegend, enableSearch: this.enableSearch, mapInfos: this.mapInfos })));
252
+ return (h("div", { class: `${mapContainerClass} overflow-hidden ${mapDisplayClass}` }, h("map-card", { basemapConfig: this.basemapConfig, class: "width-full", enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter && ((_b = (_a = this._mapView) === null || _a === void 0 ? void 0 : _a.map) === null || _b === void 0 ? void 0 : _b.floorInfo), enableFullscreen: this.enableFullscreen, enableLegend: this.enableLegend, enableSearch: this.enableSearch, mapInfos: this.mapInfos.filter(mapInfo => mapInfo.visible !== false) })));
250
253
  }
251
254
  /**
252
255
  * Get the expand node for the popup information
@@ -254,11 +257,12 @@ export class CrowdsourceManager {
254
257
  * @returns the expand node
255
258
  * @protected
256
259
  */
257
- _getPopupExpandNode() {
260
+ _getPopupExpandNode(layoutMode, hideMap) {
258
261
  const icon = this._expandPopup ? "chevrons-down" : "chevrons-up";
259
262
  const id = "expand-popup";
260
263
  const tooltip = this._expandPopup ? this._translations.collapsePopup : this._translations.expandPopup;
261
- return (h("div", { class: "height-49-px calcite-mode-dark" }, h("calcite-panel", null, h("div", { class: "display-flex align-items-center", slot: "header-content" }, h("calcite-icon", { class: "padding-inline-end-75", icon: "information", scale: "s" }), h("div", null, this._translations.information)), h("calcite-action", { class: "height-49-px", icon: icon, id: id, onClick: () => this._togglePopup(), slot: "header-actions-end" }), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": id }, h("span", null, tooltip)))));
264
+ const themeClass = this.theme === "light" ? "calcite-mode-light" : "calcite-mode-dark";
265
+ return (h("div", { class: "calcite-mode-dark" }, h("calcite-panel", null, h("div", { class: "display-flex align-items-center", slot: "header-content" }, h("calcite-icon", { icon: "information", scale: "s" }), h("div", { class: "padding-inline-start-75" }, this._translations.information)), h("calcite-action", { class: "height-49-px", icon: icon, id: id, onClick: () => this._togglePopup(), slot: "header-actions-end" }), h("calcite-tooltip", { class: themeClass, label: "", placement: "bottom", "reference-element": id }, h("span", null, tooltip)), this._getCardNode(layoutMode, hideMap))));
262
266
  }
263
267
  /**
264
268
  * Toggle the popup information
@@ -279,10 +283,11 @@ export class CrowdsourceManager {
279
283
  */
280
284
  _getCardNode(layoutMode, hideMap) {
281
285
  const cardManagerHeight = this.classicGrid && layoutMode === ELayoutMode.GRID ? "" :
282
- layoutMode === ELayoutMode.GRID && !this._expandPopup && !hideMap ? "adjusted-height-50" : "adjusted-height-100";
286
+ layoutMode === ELayoutMode.GRID && !this._expandPopup && !hideMap ? "height-50" : "";
283
287
  const cardManagerContainer = this.classicGrid && layoutMode === ELayoutMode.GRID ?
284
288
  "width-full adjusted-height-100" : this._expandPopup ? "width-50 adjusted-height-100-50" : "width-50 height-full";
285
- return (h("div", { class: `${cardManagerContainer}` }, h("card-manager", { class: `${cardManagerHeight} width-full`, mapView: this === null || this === void 0 ? void 0 : this._mapView, zoomAndScrollToSelected: this.zoomAndScrollToSelected })));
289
+ const themeClass = this.theme === "light" ? "calcite-mode-light" : "calcite-mode-dark";
290
+ return (h("div", { class: `${cardManagerContainer} ${themeClass}` }, h("card-manager", { class: `${cardManagerHeight} width-full`, mapView: this === null || this === void 0 ? void 0 : this._mapView, zoomAndScrollToSelected: this.zoomAndScrollToSelected })));
286
291
  }
287
292
  /**
288
293
  * Get the table node based for the current layout
@@ -399,6 +404,24 @@ export class CrowdsourceManager {
399
404
  "reflect": false,
400
405
  "defaultValue": "true"
401
406
  },
407
+ "enableFloorFilter": {
408
+ "type": "boolean",
409
+ "mutable": false,
410
+ "complexType": {
411
+ "original": "boolean",
412
+ "resolved": "boolean",
413
+ "references": {}
414
+ },
415
+ "required": false,
416
+ "optional": false,
417
+ "docs": {
418
+ "tags": [],
419
+ "text": "boolean: when true the fullscreen widget will be available"
420
+ },
421
+ "attribute": "enable-floor-filter",
422
+ "reflect": false,
423
+ "defaultValue": "true"
424
+ },
402
425
  "enableFullscreen": {
403
426
  "type": "boolean",
404
427
  "mutable": false,
@@ -643,6 +666,24 @@ export class CrowdsourceManager {
643
666
  "text": "ISearchConfiguration: Configuration details for the Search widget"
644
667
  }
645
668
  },
669
+ "theme": {
670
+ "type": "string",
671
+ "mutable": false,
672
+ "complexType": {
673
+ "original": "\"light\" | \"dark\"",
674
+ "resolved": "\"dark\" | \"light\"",
675
+ "references": {}
676
+ },
677
+ "required": false,
678
+ "optional": false,
679
+ "docs": {
680
+ "tags": [],
681
+ "text": "\"light\" | \"dark\": Calcite theme to be used"
682
+ },
683
+ "attribute": "theme",
684
+ "reflect": false,
685
+ "defaultValue": "\"light\""
686
+ },
646
687
  "zoomAndScrollToSelected": {
647
688
  "type": "boolean",
648
689
  "mutable": false,
@@ -60,11 +60,3 @@
60
60
  .esri-editor__panel-toolbar {
61
61
  display: none !important;
62
62
  }
63
-
64
- .esri-feature-relationship__list {
65
- border-top: 1px solid var(--calcite-ui-border-3);
66
- }
67
-
68
- .esri-feature-form__related-records_list {
69
- border-top: 1px solid var(--calcite-ui-border-3);
70
- }
@@ -0,0 +1,19 @@
1
+ /** @license
2
+ * Copyright 2022 Esri
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ :host {
18
+ display: block;
19
+ }
@@ -0,0 +1,163 @@
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ /** @license
7
+ * Copyright 2022 Esri
8
+ *
9
+ * Licensed under the Apache License, Version 2.0 (the "License");
10
+ * you may not use this file except in compliance with the License.
11
+ * You may obtain a copy of the License at
12
+ *
13
+ * http://www.apache.org/licenses/LICENSE-2.0
14
+ *
15
+ * Unless required by applicable law or agreed to in writing, software
16
+ * distributed under the License is distributed on an "AS IS" BASIS,
17
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ * See the License for the specific language governing permissions and
19
+ * limitations under the License.
20
+ */
21
+ import { Host, h } from "@stencil/core";
22
+ import { loadModules } from "../../utils/loadModules";
23
+ export class FloorFilter {
24
+ constructor() {
25
+ this.floorFilterWidget = undefined;
26
+ this.mapView = undefined;
27
+ }
28
+ //--------------------------------------------------------------------------
29
+ //
30
+ // Watch handlers
31
+ //
32
+ //--------------------------------------------------------------------------
33
+ async mapViewWatchHandler() {
34
+ await this.mapView.when(() => {
35
+ this._initFloorFilter(this.mapView);
36
+ });
37
+ }
38
+ //--------------------------------------------------------------------------
39
+ //
40
+ // Methods (public)
41
+ //
42
+ //--------------------------------------------------------------------------
43
+ //--------------------------------------------------------------------------
44
+ //
45
+ // Events (public)
46
+ //
47
+ //--------------------------------------------------------------------------
48
+ //--------------------------------------------------------------------------
49
+ //
50
+ // Functions (lifecycle)
51
+ //
52
+ //--------------------------------------------------------------------------
53
+ /**
54
+ * StencilJS: Called once just after the component is first connected to the DOM.
55
+ */
56
+ async componentWillLoad() {
57
+ return this._initModules();
58
+ }
59
+ render() {
60
+ return (h(Host, null, h("div", { ref: (el) => { this._floorFilterElement = el; } })));
61
+ }
62
+ //--------------------------------------------------------------------------
63
+ //
64
+ // Functions (protected)
65
+ //
66
+ //--------------------------------------------------------------------------
67
+ /**
68
+ * Load esri javascript api modules
69
+ *
70
+ * @returns Promise resolving when function is done
71
+ *
72
+ * @protected
73
+ */
74
+ async _initModules() {
75
+ const [FloorFilter] = await loadModules([
76
+ "esri/widgets/FloorFilter"
77
+ ]);
78
+ this.FloorFilter = FloorFilter;
79
+ }
80
+ /**
81
+ * Initialize the floor filter or reset the current view if it already exists
82
+ *
83
+ * @returns void
84
+ *
85
+ * @protected
86
+ */
87
+ _initFloorFilter(view) {
88
+ if (view && this.FloorFilter) {
89
+ if (!this.floorFilterWidget) {
90
+ this.floorFilterWidget = new this.FloorFilter({
91
+ container: this._floorFilterElement,
92
+ view
93
+ });
94
+ }
95
+ else {
96
+ this.floorFilterWidget.view = view;
97
+ }
98
+ }
99
+ }
100
+ static get is() { return "floor-filter"; }
101
+ static get encapsulation() { return "shadow"; }
102
+ static get originalStyleUrls() {
103
+ return {
104
+ "$": ["floor-filter.css"]
105
+ };
106
+ }
107
+ static get styleUrls() {
108
+ return {
109
+ "$": ["floor-filter.css"]
110
+ };
111
+ }
112
+ static get properties() {
113
+ return {
114
+ "floorFilterWidget": {
115
+ "type": "unknown",
116
+ "mutable": false,
117
+ "complexType": {
118
+ "original": "__esri.FloorFilter",
119
+ "resolved": "FloorFilter",
120
+ "references": {
121
+ "___esri": {
122
+ "location": "global",
123
+ "id": "global::___esri"
124
+ }
125
+ }
126
+ },
127
+ "required": false,
128
+ "optional": false,
129
+ "docs": {
130
+ "tags": [],
131
+ "text": "esri/widgets/FloorFilter: https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FloorFilter.html\n\nFloorFilter instance"
132
+ }
133
+ },
134
+ "mapView": {
135
+ "type": "unknown",
136
+ "mutable": false,
137
+ "complexType": {
138
+ "original": "__esri.MapView",
139
+ "resolved": "MapView",
140
+ "references": {
141
+ "___esri": {
142
+ "location": "global",
143
+ "id": "global::___esri"
144
+ }
145
+ }
146
+ },
147
+ "required": false,
148
+ "optional": false,
149
+ "docs": {
150
+ "tags": [],
151
+ "text": "esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html"
152
+ }
153
+ }
154
+ };
155
+ }
156
+ static get elementRef() { return "el"; }
157
+ static get watchers() {
158
+ return [{
159
+ "propName": "mapView",
160
+ "methodName": "mapViewWatchHandler"
161
+ }];
162
+ }
163
+ }
@@ -102,12 +102,13 @@ export class InfoCard {
102
102
  * Renders the component.
103
103
  */
104
104
  render() {
105
- var _a;
105
+ var _a, _b, _c;
106
106
  const loadingClass = this.isLoading ? "" : "display-none";
107
107
  const featureNodeClass = this.isLoading || this._editRecordOpen ? "display-none" : "position-absolute";
108
108
  const editClass = !this.isLoading && this._editRecordOpen ? "position-absolute" : "display-none";
109
109
  const editButtonClass = !this.isLoading && this._editRecordOpen ? "display-none" : "";
110
- return (h(Host, null, h("calcite-shell", null, h("calcite-loader", { class: loadingClass, label: this._translations.fetchingData }), h("div", { class: "esri-widget " + featureNodeClass, id: "features-node" }), h("div", { class: `${editButtonClass} width-100`, slot: "footer" }, h("div", { class: "display-flex top-border padding-1-2" }, h("calcite-button", { appearance: "solid", "icon-start": "pencil", id: "solutions-edit", onClick: () => this._openEditRecord(), width: "full" }, this._translations.edit), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "solutions-edit" }, h("span", null, this._translations.edit))), h("div", { class: "display-flex padding-1-2 button-container top-border" }, h("div", { class: "min-width-100" }, h("calcite-button", { appearance: "outline", id: "solutions-back", onClick: () => this._back(), width: "full" }, this._translations.back), h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-back" }, h("span", null, this._translations.back))), h("div", null, this._getCount()), h("div", { class: "min-width-100" }, h("calcite-button", { appearance: "outline", id: "solutions-next", onClick: () => this._next(), width: "full" }, this._translations.next), h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-next" }, h("span", null, this._translations.next))))), h("edit-card", { class: editClass, graphicIndex: (_a = this._features) === null || _a === void 0 ? void 0 : _a.selectedFeatureIndex, graphics: this.graphics, mapView: this.mapView, open: this._editRecordOpen }), h("calcite-alert", { icon: "layer-broken", kind: "warning", label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen, placement: "top" }, h("div", { slot: "title" }, this._translations.editDisabled), h("div", { slot: "message" }, this._translations.enableEditing)))));
110
+ const nextBackDisabled = ((_b = (_a = this._features) === null || _a === void 0 ? void 0 : _a.features) === null || _b === void 0 ? void 0 : _b.length) < 2;
111
+ return (h(Host, null, h("calcite-shell", null, h("calcite-loader", { class: loadingClass, label: this._translations.fetchingData }), h("div", { class: "esri-widget " + featureNodeClass, id: "features-node" }), h("div", { class: `${editButtonClass} width-100`, slot: "footer" }, h("div", { class: "display-flex top-border padding-1-2" }, h("calcite-button", { appearance: "solid", "icon-start": "pencil", id: "solutions-edit", onClick: () => this._openEditRecord(), width: "full" }, this._translations.edit), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "solutions-edit" }, h("span", null, this._translations.edit))), h("div", { class: "display-flex padding-1-2 button-container top-border" }, h("div", { class: "min-width-100" }, h("calcite-button", { appearance: "outline", disabled: nextBackDisabled, id: "solutions-back", onClick: () => this._back(), width: "full" }, this._translations.back), h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-back" }, h("span", null, this._translations.back))), h("div", null, this._getCount()), h("div", { class: "min-width-100" }, h("calcite-button", { appearance: "outline", disabled: nextBackDisabled, id: "solutions-next", onClick: () => this._next(), width: "full" }, this._translations.next), h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-next" }, h("span", null, this._translations.next))))), h("edit-card", { class: editClass, graphicIndex: (_c = this._features) === null || _c === void 0 ? void 0 : _c.selectedFeatureIndex, graphics: this.graphics, mapView: this.mapView, open: this._editRecordOpen }), h("calcite-alert", { icon: "layer-broken", kind: "warning", label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen, placement: "top" }, h("div", { slot: "title" }, this._translations.editDisabled), h("div", { slot: "message" }, this._translations.enableEditing)))));
111
112
  }
112
113
  //--------------------------------------------------------------------------
113
114
  //
@@ -77,3 +77,11 @@ html[dir="rtl"] .bottom-left {
77
77
  .danger-color {
78
78
  color: var(--calcite-ui-danger);
79
79
  }
80
+
81
+ .esri-feature-table vaadin-grid {
82
+ border: none !important;
83
+ }
84
+
85
+ vaadin-grid-cell-content {
86
+ padding: var(--lumo-space-xs) var(--lumo-space-m) !important;
87
+ }
@@ -204,9 +204,10 @@ export class LayerTable {
204
204
  * @returns The dom node that contains the controls
205
205
  */
206
206
  _getTableControlRow(slot) {
207
+ var _a;
207
208
  const featuresSelected = this._selectedIndexes.length > 0;
208
209
  const id = "more-table-options";
209
- return (h("div", { class: "display-flex table-border height-51", slot: slot }, h("calcite-action-bar", { expandDisabled: true, expanded: true, layout: "horizontal" }, h("div", { class: "border-end" }, h("map-layer-picker", { appearance: "transparent", mapView: this.mapView, onLayerSelectionChange: (evt) => this._layerSelectionChanged(evt), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, placeholderIcon: "layers", scale: "l", type: "dropdown" })), this._getAction("zoom-to-object", this._translations.zoom, () => this._zoom(), !featuresSelected), this._getAction("filter", this._translations.filters, () => this._filter(), false), this._deleteEnabled ? this._getDangerAction("trash", this._translations.delete, () => this._delete(), !featuresSelected) : undefined, this._getAction("erase", this._translations.clearSelection, () => this._clearSelection(), !featuresSelected)), h("calcite-dropdown", { disabled: this._layer === undefined }, h("calcite-action", { appearance: "solid", id: id, label: "", slot: "trigger", text: "" }, h("calcite-button", { appearance: "transparent", iconEnd: "chevron-down", kind: "neutral" }, this._translations.more)), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": id }, h("span", null, this._translations.moreOptions)), h("calcite-dropdown-group", { "selection-mode": "none" }, h("calcite-dropdown-item", { iconStart: "list-check-all", onClick: () => this._selectAll() }, this._translations.selectAll), h("calcite-dropdown-item", { iconStart: "selected-items-filter", onClick: () => this._toggleShowSelected() }, this._showOnlySelected ? this._translations.showAll :
210
+ return (h("div", { class: "display-flex table-border height-51", slot: slot }, h("calcite-action-bar", { expandDisabled: true, expanded: true, layout: "horizontal" }, h("div", { class: "border-end" }, h("map-layer-picker", { appearance: "transparent", mapView: this.mapView, onLayerSelectionChange: (evt) => this._layerSelectionChanged(evt), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, placeholderIcon: "layers", scale: "l", type: "dropdown" })), this._getAction("zoom-to-object", this._translations.zoom, () => this._zoom(), !featuresSelected), ((_a = this.mapInfo) === null || _a === void 0 ? void 0 : _a.filters) ? this._getAction("filter", this._translations.filters, () => this._filter(), false) : undefined, this._deleteEnabled ? this._getDangerAction("trash", this._translations.delete, () => this._delete(), !featuresSelected) : undefined, this._getAction("erase", this._translations.clearSelection, () => this._clearSelection(), !featuresSelected)), h("calcite-dropdown", { disabled: this._layer === undefined }, h("calcite-action", { appearance: "solid", id: id, label: "", slot: "trigger", text: "" }, h("calcite-button", { appearance: "transparent", iconEnd: "chevron-down", kind: "neutral" }, this._translations.more)), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": id }, h("span", null, this._translations.moreOptions)), h("calcite-dropdown-group", { "selection-mode": "none" }, h("calcite-dropdown-item", { iconStart: "list-check-all", onClick: () => this._selectAll() }, this._translations.selectAll), h("calcite-dropdown-item", { iconStart: "selected-items-filter", onClick: () => this._toggleShowSelected() }, this._showOnlySelected ? this._translations.showAll :
210
211
  this._translations.showSelected), h("calcite-dropdown-item", { iconStart: "compare", onClick: () => this._switchSelected() }, this._translations.switchSelected), h("calcite-dropdown-item", { iconStart: "refresh", onClick: () => this._refresh() }, this._translations.refresh), h("calcite-dropdown-item", { iconStart: "export", onClick: () => void this._exportToCSV() }, this._translations.exportCSV)))));
211
212
  }
212
213
  /**
@@ -457,7 +458,7 @@ export class LayerTable {
457
458
  * @returns void
458
459
  */
459
460
  _filter() {
460
- alert("do whatever this button is supposed to do");
461
+ this.openFilterOptions.emit();
461
462
  }
462
463
  /**
463
464
  * Select all rows that are not currently selectd
@@ -778,6 +779,21 @@ export class LayerTable {
778
779
  "resolved": "number[]",
779
780
  "references": {}
780
781
  }
782
+ }, {
783
+ "method": "openFilterOptions",
784
+ "name": "openFilterOptions",
785
+ "bubbles": true,
786
+ "cancelable": true,
787
+ "composed": true,
788
+ "docs": {
789
+ "tags": [],
790
+ "text": "Emitted on demand when the filters button is clicked"
791
+ },
792
+ "complexType": {
793
+ "original": "void",
794
+ "resolved": "void",
795
+ "references": {}
796
+ }
781
797
  }];
782
798
  }
783
799
  static get methods() {
@@ -33,6 +33,7 @@ export class MapCard {
33
33
  */
34
34
  this._loadedId = "";
35
35
  this.enableLegend = undefined;
36
+ this.enableFloorFilter = undefined;
36
37
  this.enableFullscreen = undefined;
37
38
  this.enableSearch = undefined;
38
39
  this.enableBasemap = undefined;
@@ -63,7 +64,7 @@ export class MapCard {
63
64
  * Renders the component.
64
65
  */
65
66
  render() {
66
- return (h(Host, null, h("map-picker", { mapInfos: this.mapInfos }), h("div", { class: "map-height", ref: (el) => (this._mapDiv = el) }), h("map-tools", { basemapConfig: this.basemapConfig, class: "box-shadow", enableBasemap: this.enableBasemap, enableFullscreen: this.enableFullscreen, enableLegend: this.enableLegend, enableSearch: this.enableSearch, mapView: this.mapView, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration })));
67
+ return (h(Host, null, h("map-picker", { mapInfos: this.mapInfos }), h("div", { class: "map-height", ref: (el) => (this._mapDiv = el) }), h("map-tools", { basemapConfig: this.basemapConfig, class: "box-shadow", enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableLegend: this.enableLegend, enableSearch: this.enableSearch, mapView: this.mapView, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration })));
67
68
  }
68
69
  //--------------------------------------------------------------------------
69
70
  //
@@ -157,6 +158,23 @@ export class MapCard {
157
158
  "attribute": "enable-legend",
158
159
  "reflect": false
159
160
  },
161
+ "enableFloorFilter": {
162
+ "type": "boolean",
163
+ "mutable": false,
164
+ "complexType": {
165
+ "original": "boolean",
166
+ "resolved": "boolean",
167
+ "references": {}
168
+ },
169
+ "required": false,
170
+ "optional": false,
171
+ "docs": {
172
+ "tags": [],
173
+ "text": "boolean: when true the floor filter widget will be available"
174
+ },
175
+ "attribute": "enable-floor-filter",
176
+ "reflect": false
177
+ },
160
178
  "enableFullscreen": {
161
179
  "type": "boolean",
162
180
  "mutable": false,
@@ -59,10 +59,6 @@
59
59
  display: none;
60
60
  }
61
61
 
62
- .action-bar-color {
63
- background-color: var(--calcite-ui-border-3) !important;
64
- }
65
-
66
62
  .align-center {
67
63
  align-items: center;
68
64
  }
@@ -116,7 +116,7 @@ export class MapPicker {
116
116
  * @protected
117
117
  */
118
118
  _getToolbar() {
119
- return (h("div", { class: "display-flex" }, h("calcite-action-bar", { class: "action-bar-color border-bottom-1 action-bar-size", "expand-disabled": true, layout: "horizontal", slot: "header" }, this._getMapPicker())));
119
+ return (h("div", { class: "display-flex" }, h("calcite-action-bar", { class: "border-bottom-1 action-bar-size", "expand-disabled": true, layout: "horizontal", slot: "header" }, this._getMapPicker())));
120
120
  }
121
121
  /**
122
122
  * Get a pick list for all maps in mapInfos
@@ -23,6 +23,7 @@ import { getLocaleComponentStrings } from "../../utils/locale";
23
23
  export class MapTools {
24
24
  constructor() {
25
25
  this.enableLegend = undefined;
26
+ this.enableFloorFilter = undefined;
26
27
  this.enableFullscreen = undefined;
27
28
  this.enableSearch = undefined;
28
29
  this.enableBasemap = undefined;
@@ -33,6 +34,7 @@ export class MapTools {
33
34
  this._translations = undefined;
34
35
  this._showTools = true;
35
36
  this._showBasemapWidget = false;
37
+ this._showFloorFilter = false;
36
38
  this._showFullscreen = false;
37
39
  this._showLegendWidget = false;
38
40
  this._showSearchWidget = false;
@@ -59,6 +61,21 @@ export class MapTools {
59
61
  /**
60
62
  * When the _showBasemapWidget property is true display the basemap gallery
61
63
  */
64
+ async _showFloorFilterWatchHandler(v) {
65
+ const widget = this._floorFilterElement.floorFilterWidget;
66
+ if (v) {
67
+ this.mapView.ui.add(widget, {
68
+ position: "top-right",
69
+ index: 1
70
+ });
71
+ }
72
+ else {
73
+ this.mapView.ui.remove(widget);
74
+ }
75
+ }
76
+ /**
77
+ * When the _showFullscreen property is true the app will consume the full screen
78
+ */
62
79
  async _showFullscreenWatchHandler(v) {
63
80
  const fs = this._fullscreenElement.fullscreenWidget;
64
81
  if (v) {
@@ -126,6 +143,7 @@ export class MapTools {
126
143
  const searchClass = this._showSearchWidget ? "" : "display-none";
127
144
  const basemapClass = this._showBasemapWidget ? "" : "display-none";
128
145
  const legendClass = this._showLegendWidget ? "" : "display-none";
146
+ const floorFilterClass = this._showFloorFilter ? "" : "display-none";
129
147
  const fullscreenClass = this._showFullscreen ? "" : "display-none";
130
148
  const fullscreenIcon = this._showFullscreen ? "full-screen-exit" : "full-screen";
131
149
  const fullscreenTip = this._showFullscreen ? this._translations.exitFullscreen : this._translations.enterFullscreen;
@@ -139,7 +157,9 @@ export class MapTools {
139
157
  this._getActionGroup(fullscreenIcon, false, fullscreenTip, () => this._expand()) :
140
158
  undefined, this.enableBasemap ?
141
159
  this._getActionGroup("basemap", false, this._translations.basemap, () => this._toggleBasemapPicker()) :
142
- undefined)), h("basemap-gallery", { basemapConfig: this.basemapConfig, class: basemapClass, mapView: this.mapView, ref: (el) => { this._basemapElement = el; } }), h("map-search", { class: searchClass, mapView: this.mapView, ref: (el) => { this._searchElement = el; }, searchConfiguration: this.searchConfiguration }), h("map-legend", { class: legendClass, mapView: this.mapView, ref: (el) => { this._legendElement = el; } }), h("map-fullscreen", { class: fullscreenClass, mapView: this.mapView, ref: (el) => { this._fullscreenElement = el; } })));
160
+ undefined, this.enableFloorFilter ?
161
+ this._getActionGroup("urban-model", false, this._translations.floorFilter, () => this._toggleFloorFilter()) :
162
+ undefined)), h("basemap-gallery", { basemapConfig: this.basemapConfig, class: basemapClass, mapView: this.mapView, ref: (el) => { this._basemapElement = el; } }), h("map-search", { class: searchClass, mapView: this.mapView, ref: (el) => { this._searchElement = el; }, searchConfiguration: this.searchConfiguration }), h("map-legend", { class: legendClass, mapView: this.mapView, ref: (el) => { this._legendElement = el; } }), h("map-fullscreen", { class: fullscreenClass, mapView: this.mapView, ref: (el) => { this._fullscreenElement = el; } }), h("floor-filter", { class: floorFilterClass, mapView: this.mapView, ref: (el) => { this._floorFilterElement = el; } })));
143
163
  }
144
164
  //--------------------------------------------------------------------------
145
165
  //
@@ -182,6 +202,17 @@ export class MapTools {
182
202
  this._showBasemapWidget = !this._showBasemapWidget;
183
203
  this._showTools = false;
184
204
  }
205
+ /**
206
+ * Show/Hide the floor filter
207
+ *
208
+ * @returns void
209
+ *
210
+ * @protected
211
+ */
212
+ _toggleFloorFilter() {
213
+ this._showFloorFilter = !this._showFloorFilter;
214
+ this._showTools = false;
215
+ }
185
216
  /**
186
217
  * Enter/Exit fullscreen mode
187
218
  *
@@ -204,6 +235,7 @@ export class MapTools {
204
235
  this._showBasemapWidget = false;
205
236
  this._showSearchWidget = false;
206
237
  this._showLegendWidget = false;
238
+ this._showFloorFilter = false;
207
239
  }
208
240
  this._showTools = !this._showTools;
209
241
  }
@@ -248,6 +280,23 @@ export class MapTools {
248
280
  "attribute": "enable-legend",
249
281
  "reflect": false
250
282
  },
283
+ "enableFloorFilter": {
284
+ "type": "boolean",
285
+ "mutable": false,
286
+ "complexType": {
287
+ "original": "boolean",
288
+ "resolved": "boolean",
289
+ "references": {}
290
+ },
291
+ "required": false,
292
+ "optional": false,
293
+ "docs": {
294
+ "tags": [],
295
+ "text": "boolean: when true the floor filter widget will be available"
296
+ },
297
+ "attribute": "enable-floor-filter",
298
+ "reflect": false
299
+ },
251
300
  "enableFullscreen": {
252
301
  "type": "boolean",
253
302
  "mutable": false,
@@ -386,6 +435,7 @@ export class MapTools {
386
435
  "_translations": {},
387
436
  "_showTools": {},
388
437
  "_showBasemapWidget": {},
438
+ "_showFloorFilter": {},
389
439
  "_showFullscreen": {},
390
440
  "_showLegendWidget": {},
391
441
  "_showSearchWidget": {}
@@ -396,6 +446,9 @@ export class MapTools {
396
446
  return [{
397
447
  "propName": "_showBasemapWidget",
398
448
  "methodName": "_showBasemapWidgetWatchHandler"
449
+ }, {
450
+ "propName": "_showFloorFilter",
451
+ "methodName": "_showFloorFilterWatchHandler"
399
452
  }, {
400
453
  "propName": "_showFullscreen",
401
454
  "methodName": "_showFullscreenWatchHandler"