@esri/solutions-components 0.6.46 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (196) hide show
  1. package/dist/assets/t9n/feature-comments/resources.json +3 -0
  2. package/dist/assets/t9n/feature-comments/resources_en.json +3 -0
  3. package/dist/assets/t9n/feature-form-flow-item/resources.json +3 -0
  4. package/dist/assets/t9n/feature-form-flow-item/resources_en.json +3 -0
  5. package/dist/assets/t9n/layer-table/resources.json +2 -1
  6. package/dist/assets/t9n/layer-table/resources_en.json +2 -1
  7. package/dist/assets/t9n/list-flow-item/resources.json +3 -0
  8. package/dist/assets/t9n/list-flow-item/resources_en.json +3 -0
  9. package/dist/assets/t9n/location-flow-item/resources.json +3 -0
  10. package/dist/assets/t9n/location-flow-item/resources_en.json +3 -0
  11. package/dist/assets/t9n/share-item/resources.json +3 -0
  12. package/dist/assets/t9n/share-item/resources_en.json +3 -0
  13. package/dist/cjs/{list-item.cjs.entry.js → arcgis-login.cjs.entry.js} +4 -19
  14. package/dist/cjs/basemap-gallery_7.cjs.entry.js +13 -9
  15. package/dist/cjs/calcite-action_2.cjs.entry.js +61 -392
  16. package/dist/cjs/calcite-alert_3.cjs.entry.js +21 -3
  17. package/dist/cjs/calcite-combobox_6.cjs.entry.js +32 -8
  18. package/dist/cjs/calcite-popover.cjs.entry.js +418 -0
  19. package/dist/cjs/card-manager_3.cjs.entry.js +154 -18
  20. package/dist/cjs/crowdsource-manager.cjs.entry.js +24 -2
  21. package/dist/cjs/crowdsource-reporter.cjs.entry.js +45 -6
  22. package/dist/cjs/{downloadUtils-e3e595e9.js → downloadUtils-9c4fde54.js} +2 -2
  23. package/dist/cjs/feature-comments.cjs.entry.js +60 -0
  24. package/dist/cjs/feature-form-flow-item.cjs.entry.js +60 -0
  25. package/dist/cjs/features-flow-item.cjs.entry.js +60 -0
  26. package/dist/cjs/{index.es-047537b5.js → index.es-d208a6d6.js} +2 -2
  27. package/dist/cjs/list-flow-item.cjs.entry.js +60 -0
  28. package/dist/cjs/loader.cjs.js +1 -1
  29. package/dist/cjs/location-flow-item.cjs.entry.js +60 -0
  30. package/dist/cjs/map-select-tools_3.cjs.entry.js +2 -2
  31. package/dist/cjs/{mapViewUtils-f7bbc35b.js → mapViewUtils-bab83c90.js} +21 -0
  32. package/dist/cjs/public-notification.cjs.entry.js +2 -2
  33. package/dist/cjs/refine-results-flow-item.cjs.entry.js +60 -0
  34. package/dist/cjs/share-item.cjs.entry.js +60 -0
  35. package/dist/cjs/solutions-components.cjs.js +1 -1
  36. package/dist/collection/collection-manifest.json +8 -1
  37. package/dist/collection/components/{list-item/list-item.js → arcgis-login/arcgis-login.js} +4 -19
  38. package/dist/collection/components/arcgis-login/test/arcgis-login.e2e.js +29 -0
  39. package/dist/collection/components/arcgis-login/test/arcgis-login.spec.js +37 -0
  40. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +118 -2
  41. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +294 -6
  42. package/dist/collection/components/feature-comments/feature-comments.css +19 -0
  43. package/dist/collection/components/feature-comments/feature-comments.js +74 -0
  44. package/dist/collection/components/feature-comments/test/feature-comments.e2e.js +29 -0
  45. package/dist/collection/components/feature-comments/test/feature-comments.spec.js +37 -0
  46. package/dist/collection/components/feature-form-flow-item/feature-form-flow-item.css +19 -0
  47. package/dist/collection/components/feature-form-flow-item/feature-form-flow-item.js +74 -0
  48. package/dist/collection/components/feature-form-flow-item/test/feature-form-flow-item.e2e.js +29 -0
  49. package/dist/collection/components/feature-form-flow-item/test/feature-form-flow-item.spec.js +37 -0
  50. package/dist/collection/components/features-flow-item/features-flow-item.css +19 -0
  51. package/dist/collection/components/features-flow-item/features-flow-item.js +74 -0
  52. package/dist/collection/components/features-flow-item/test/features-flow-item.e2e.js +29 -0
  53. package/dist/collection/components/features-flow-item/test/features-flow-item.spec.js +37 -0
  54. package/dist/collection/components/info-card/info-card.js +21 -2
  55. package/dist/collection/components/layer-table/layer-table.js +199 -10
  56. package/dist/collection/components/list-flow-item/list-flow-item.css +19 -0
  57. package/dist/collection/components/list-flow-item/list-flow-item.js +74 -0
  58. package/dist/collection/components/list-flow-item/test/list-flow-item.e2e.js +29 -0
  59. package/dist/collection/components/list-flow-item/test/list-flow-item.spec.js +37 -0
  60. package/dist/collection/components/location-flow-item/location-flow-item.css +19 -0
  61. package/dist/collection/components/location-flow-item/location-flow-item.js +74 -0
  62. package/dist/collection/components/location-flow-item/test/location-flow-item.e2e.js +29 -0
  63. package/dist/collection/components/location-flow-item/test/location-flow-item.spec.js +37 -0
  64. package/dist/collection/components/map-card/map-card.js +38 -7
  65. package/dist/collection/components/map-layer-picker/map-layer-picker.js +49 -7
  66. package/dist/collection/components/map-picker/map-picker.js +37 -9
  67. package/dist/collection/components/refine-results-flow-item/refine-results-flow-item.css +19 -0
  68. package/dist/collection/components/refine-results-flow-item/refine-results-flow-item.js +74 -0
  69. package/dist/collection/components/refine-results-flow-item/test/refine-results-flow-item.e2e.js +29 -0
  70. package/dist/collection/components/refine-results-flow-item/test/refine-results-flow-item.spec.js +37 -0
  71. package/dist/collection/components/share-item/share-item.css +19 -0
  72. package/dist/collection/components/share-item/share-item.js +74 -0
  73. package/dist/collection/components/share-item/test/share-item.e2e.js +29 -0
  74. package/dist/collection/components/share-item/test/share-item.spec.js +37 -0
  75. package/dist/collection/demos/crowdsource-reporter.html +56 -15
  76. package/dist/collection/utils/interfaces.ts +5 -0
  77. package/dist/collection/utils/queryUtils.js +20 -0
  78. package/dist/collection/utils/queryUtils.ts +26 -0
  79. package/dist/components/arcgis-login.d.ts +11 -0
  80. package/dist/components/arcgis-login.js +75 -0
  81. package/dist/components/calcite-list-item.js +1 -1
  82. package/dist/components/card-manager2.js +7 -1
  83. package/dist/components/crowdsource-manager.js +32 -3
  84. package/dist/components/crowdsource-reporter.js +61 -7
  85. package/dist/components/feature-comments.d.ts +11 -0
  86. package/dist/components/feature-comments.js +75 -0
  87. package/dist/components/feature-form-flow-item.d.ts +11 -0
  88. package/dist/components/feature-form-flow-item.js +75 -0
  89. package/dist/components/features-flow-item.d.ts +11 -0
  90. package/dist/components/features-flow-item.js +75 -0
  91. package/dist/components/info-card2.js +28 -3
  92. package/dist/components/layer-table2.js +138 -10
  93. package/dist/components/list-flow-item.d.ts +11 -0
  94. package/dist/components/list-flow-item.js +75 -0
  95. package/dist/components/list-item.js +425 -55
  96. package/dist/components/location-flow-item.d.ts +11 -0
  97. package/dist/components/location-flow-item.js +75 -0
  98. package/dist/components/map-card2.js +22 -8
  99. package/dist/components/map-layer-picker2.js +32 -7
  100. package/dist/components/map-picker2.js +16 -11
  101. package/dist/components/map-select-tools2.js +1 -1
  102. package/dist/components/public-notification.js +1 -1
  103. package/dist/components/queryUtils.js +21 -1
  104. package/dist/components/refine-results-flow-item.d.ts +11 -0
  105. package/dist/components/refine-results-flow-item.js +75 -0
  106. package/dist/components/refine-selection2.js +2 -2
  107. package/dist/components/{list-item.d.ts → share-item.d.ts} +4 -4
  108. package/dist/components/share-item.js +75 -0
  109. package/dist/esm/{list-item.entry.js → arcgis-login.entry.js} +4 -19
  110. package/dist/esm/basemap-gallery_7.entry.js +13 -9
  111. package/dist/esm/calcite-action_2.entry.js +63 -394
  112. package/dist/esm/calcite-alert_3.entry.js +21 -3
  113. package/dist/esm/calcite-combobox_6.entry.js +32 -8
  114. package/dist/esm/calcite-popover.entry.js +414 -0
  115. package/dist/esm/card-manager_3.entry.js +154 -18
  116. package/dist/esm/crowdsource-manager.entry.js +24 -2
  117. package/dist/esm/crowdsource-reporter.entry.js +45 -6
  118. package/dist/esm/{downloadUtils-8fbd1347.js → downloadUtils-b84a6f55.js} +2 -2
  119. package/dist/esm/feature-comments.entry.js +56 -0
  120. package/dist/esm/feature-form-flow-item.entry.js +56 -0
  121. package/dist/esm/features-flow-item.entry.js +56 -0
  122. package/dist/esm/{index.es-b6705ce7.js → index.es-0d4698c7.js} +2 -2
  123. package/dist/esm/list-flow-item.entry.js +56 -0
  124. package/dist/esm/loader.js +1 -1
  125. package/dist/esm/location-flow-item.entry.js +56 -0
  126. package/dist/esm/map-select-tools_3.entry.js +2 -2
  127. package/dist/esm/{mapViewUtils-1e2befd7.js → mapViewUtils-88f363b6.js} +21 -1
  128. package/dist/esm/public-notification.entry.js +2 -2
  129. package/dist/esm/refine-results-flow-item.entry.js +56 -0
  130. package/dist/esm/share-item.entry.js +56 -0
  131. package/dist/esm/solutions-components.js +1 -1
  132. package/dist/solutions-components/demos/crowdsource-reporter.html +56 -15
  133. package/dist/solutions-components/{p-072680a5.js → p-214d41c3.js} +2 -2
  134. package/dist/solutions-components/p-28657abb.entry.js +11 -0
  135. package/dist/solutions-components/p-31b66bc3.entry.js +6 -0
  136. package/dist/solutions-components/{p-0123207d.entry.js → p-34737944.entry.js} +1 -1
  137. package/dist/solutions-components/{p-13d0424a.entry.js → p-3ced939f.entry.js} +1 -1
  138. package/dist/solutions-components/p-3dfbf45e.entry.js +6 -0
  139. package/dist/solutions-components/{p-092fd5d9.js → p-3ee78186.js} +1 -1
  140. package/dist/solutions-components/{p-7f793144.entry.js → p-4327c361.entry.js} +1 -1
  141. package/dist/solutions-components/p-455f4ed8.entry.js +17 -0
  142. package/dist/solutions-components/p-478fc7cb.entry.js +6 -0
  143. package/dist/solutions-components/p-4aafb627.js +36 -0
  144. package/dist/solutions-components/p-58562dda.entry.js +6 -0
  145. package/dist/solutions-components/{p-f367db61.entry.js → p-81503752.entry.js} +1 -1
  146. package/dist/solutions-components/{p-c90671e1.entry.js → p-9d54d7a0.entry.js} +4 -4
  147. package/dist/solutions-components/p-a5d70d3a.entry.js +6 -0
  148. package/dist/solutions-components/p-bd62df52.entry.js +6 -0
  149. package/dist/solutions-components/{p-ca780ab8.entry.js → p-d6f51bea.entry.js} +2 -2
  150. package/dist/solutions-components/p-e6371690.entry.js +6 -0
  151. package/dist/solutions-components/p-e7aad23d.entry.js +6 -0
  152. package/dist/solutions-components/p-ed95f634.entry.js +6 -0
  153. package/dist/solutions-components/p-fd08afb5.entry.js +6 -0
  154. package/dist/solutions-components/solutions-components.esm.js +1 -1
  155. package/dist/solutions-components/utils/interfaces.ts +5 -0
  156. package/dist/solutions-components/utils/queryUtils.ts +26 -0
  157. package/dist/types/components/{list-item/list-item.d.ts → arcgis-login/arcgis-login.d.ts} +2 -9
  158. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +36 -0
  159. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +73 -0
  160. package/dist/types/components/feature-comments/feature-comments.d.ts +19 -0
  161. package/dist/types/components/feature-form-flow-item/feature-form-flow-item.d.ts +19 -0
  162. package/dist/types/components/features-flow-item/features-flow-item.d.ts +19 -0
  163. package/dist/types/components/info-card/info-card.d.ts +8 -0
  164. package/dist/types/components/layer-table/layer-table.d.ts +77 -2
  165. package/dist/types/components/list-flow-item/list-flow-item.d.ts +19 -0
  166. package/dist/types/components/location-flow-item/location-flow-item.d.ts +19 -0
  167. package/dist/types/components/map-card/map-card.d.ts +12 -0
  168. package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +15 -2
  169. package/dist/types/components/map-picker/map-picker.d.ts +1 -4
  170. package/dist/types/components/refine-results-flow-item/refine-results-flow-item.d.ts +19 -0
  171. package/dist/types/components/share-item/share-item.d.ts +19 -0
  172. package/dist/types/components.d.ts +301 -9
  173. package/dist/types/preact.d.ts +15 -1
  174. package/dist/types/utils/interfaces.d.ts +4 -0
  175. package/dist/types/utils/queryUtils.d.ts +9 -0
  176. package/package.json +1 -1
  177. package/dist/assets/t9n/config-buffer-tools/resources.json +0 -12
  178. package/dist/assets/t9n/config-buffer-tools/resources_en.json +0 -12
  179. package/dist/assets/t9n/config-draw-tools/resources.json +0 -10
  180. package/dist/assets/t9n/config-draw-tools/resources_en.json +0 -10
  181. package/dist/assets/t9n/config-layer-picker/resources.json +0 -3
  182. package/dist/assets/t9n/config-layer-picker/resources_en.json +0 -3
  183. package/dist/assets/t9n/config-pdf-download/resources.json +0 -6
  184. package/dist/assets/t9n/config-pdf-download/resources_en.json +0 -6
  185. package/dist/cjs/calcite-loader.cjs.entry.js +0 -80
  186. package/dist/components/list-item2.js +0 -460
  187. package/dist/esm/calcite-loader.entry.js +0 -76
  188. package/dist/solutions-components/p-11cb7b04.entry.js +0 -6
  189. package/dist/solutions-components/p-45cf4f67.entry.js +0 -6
  190. package/dist/solutions-components/p-4807b2a1.js +0 -36
  191. package/dist/solutions-components/p-557a1912.entry.js +0 -6
  192. package/dist/solutions-components/p-68735975.entry.js +0 -6
  193. package/dist/solutions-components/p-ec830ecb.entry.js +0 -23
  194. /package/dist/assets/t9n/{list-item → arcgis-login}/resources.json +0 -0
  195. /package/dist/assets/t9n/{list-item → arcgis-login}/resources_en.json +0 -0
  196. /package/dist/collection/components/{list-item/list-item.css → arcgis-login/arcgis-login.css} +0 -0
@@ -28,10 +28,15 @@ import { loadModules } from "../../utils/loadModules";
28
28
  // TODO map list should close if the user clicks something else...hope this will be easy when I figure out how to set focus when it opens
29
29
  export class MapCard {
30
30
  constructor() {
31
+ /**
32
+ * boolean: When true the default map provided via url params has been loaded and should no longer override other maps
33
+ */
34
+ this._defaultWebmapHonored = false;
31
35
  /**
32
36
  * string: the id of map currently displayed
33
37
  */
34
38
  this._loadedId = "";
39
+ this.defaultWebmapId = "";
35
40
  this.enableHome = undefined;
36
41
  this.enableLegend = undefined;
37
42
  this.enableFloorFilter = undefined;
@@ -80,7 +85,7 @@ export class MapCard {
80
85
  render() {
81
86
  const mapClass = this.hidden ? "visibility-hidden" : "";
82
87
  const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
83
- return (h(Host, null, h("map-picker", { mapInfos: this.mapInfos }), h("div", { class: `map-height ${mapClass}`, ref: (el) => (this._mapDiv = el) }), h("map-tools", { basemapConfig: this.basemapConfig, class: `box-shadow ${themeClass}`, 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 })));
88
+ return (h(Host, null, h("map-picker", { mapInfos: this.mapInfos, ref: (el) => this._mapPicker = el }), h("div", { class: `map-height ${mapClass}`, ref: (el) => (this._mapDiv = el) }), h("map-tools", { basemapConfig: this.basemapConfig, class: `box-shadow ${themeClass}`, 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 })));
84
89
  }
85
90
  //--------------------------------------------------------------------------
86
91
  //
@@ -114,12 +119,15 @@ export class MapCard {
114
119
  * @protected
115
120
  */
116
121
  async _loadMap(webMapInfo) {
117
- let id = webMapInfo === null || webMapInfo === void 0 ? void 0 : webMapInfo.id;
118
- // on the first render use the first child of the provided mapInfos
119
- this._webMapInfo = (id === "" || !id) && this.mapInfos.length > 0 ?
120
- this.mapInfos[0] : webMapInfo;
121
- id = this._webMapInfo.id;
122
- if (this._loadedId !== id) {
122
+ var _a;
123
+ // on the first render use the default webmap id if provided otherwise use the first child of the provided mapInfos
124
+ const loadDefaultMap = !this._defaultWebmapHonored && this.defaultWebmapId;
125
+ const defaultMap = (_a = this.mapInfos) === null || _a === void 0 ? void 0 : _a.filter(i => i.id === this.defaultWebmapId);
126
+ this._webMapInfo = loadDefaultMap && defaultMap ? defaultMap[0] :
127
+ !(webMapInfo === null || webMapInfo === void 0 ? void 0 : webMapInfo.id) && this.mapInfos.length > 0 ? this.mapInfos[0] : webMapInfo;
128
+ const id = this._webMapInfo.id;
129
+ const isDefaultMap = loadDefaultMap && (webMapInfo === null || webMapInfo === void 0 ? void 0 : webMapInfo.id) === this.defaultWebmapId;
130
+ if ((this._loadedId !== id && !loadDefaultMap) || isDefaultMap) {
123
131
  const webMap = new this.WebMap({
124
132
  portalItem: { id }
125
133
  });
@@ -134,12 +142,17 @@ export class MapCard {
134
142
  await this.mapView.when(() => {
135
143
  this._initHome();
136
144
  this.mapView.ui.add(this._mapTools, { position: "top-right", index: 0 });
145
+ this._defaultWebmapHonored = isDefaultMap ? true : this._defaultWebmapHonored;
137
146
  this.mapChanged.emit({
138
147
  id: id,
139
148
  mapView: this.mapView
140
149
  });
141
150
  });
142
151
  }
152
+ else if (loadDefaultMap) {
153
+ this._defaultWebmapHonored = true;
154
+ this._mapPicker.setMapByID(id);
155
+ }
143
156
  }
144
157
  /**
145
158
  * Add/remove the home widget base on enableHome prop
@@ -170,6 +183,24 @@ export class MapCard {
170
183
  }
171
184
  static get properties() {
172
185
  return {
186
+ "defaultWebmapId": {
187
+ "type": "string",
188
+ "mutable": false,
189
+ "complexType": {
190
+ "original": "string",
191
+ "resolved": "string",
192
+ "references": {}
193
+ },
194
+ "required": false,
195
+ "optional": false,
196
+ "docs": {
197
+ "tags": [],
198
+ "text": "string: Item ID of the web map that should be selected by default when the app loads"
199
+ },
200
+ "attribute": "default-webmap-id",
201
+ "reflect": false,
202
+ "defaultValue": "\"\""
203
+ },
173
204
  "enableHome": {
174
205
  "type": "boolean",
175
206
  "mutable": false,
@@ -24,7 +24,17 @@ import { getMapLayerHash, getMapTableHash } from "../../utils/mapViewUtils";
24
24
  import state from "../../utils/publicNotificationStore";
25
25
  export class MapLayerPicker {
26
26
  constructor() {
27
+ //--------------------------------------------------------------------------
28
+ //
29
+ // Properties (protected)
30
+ //
31
+ //--------------------------------------------------------------------------
32
+ /**
33
+ * boolean: When true the default layer has been loaded once and should no longer be used
34
+ */
35
+ this.defaultLayerHonored = false;
27
36
  this.appearance = "transparent";
37
+ this.defaultLayerId = "";
28
38
  this.enabledLayerIds = [];
29
39
  this.enabledTableIds = [];
30
40
  this.mapView = undefined;
@@ -46,7 +56,6 @@ export class MapLayerPicker {
46
56
  //--------------------------------------------------------------------------
47
57
  /**
48
58
  * Called each time the mapView prop is changed.
49
- *
50
59
  */
51
60
  async mapViewWatchHandler() {
52
61
  await this._setLayers();
@@ -168,21 +177,36 @@ export class MapLayerPicker {
168
177
  const item = itemType === "layer" ? this._layerNameHash[id] : this._tableNameHash[id];
169
178
  const disabled = this.onlyShowUpdatableLayers ? !item.supportsUpdate : false;
170
179
  const name = item.name;
171
- return this.type === "combobox" ? (h("calcite-combobox-item", { disabled: disabled, textLabel: name, value: id })) :
172
- this.type === "select" ? (h("calcite-option", { disabled: disabled, label: name, value: id })) :
173
- (h("calcite-dropdown-item", { disabled: disabled, onClick: disabled ? undefined : () => void this._setSelectedLayer(id) }, name));
180
+ const selected = this.selectedIds.indexOf(id) > -1;
181
+ return this.type === "combobox" ? (h("calcite-combobox-item", { disabled: disabled, selected: selected, textLabel: name, value: id })) :
182
+ this.type === "select" ? (h("calcite-option", { disabled: disabled, label: name, selected: selected, value: id })) : (h("calcite-dropdown-item", { disabled: disabled, onClick: disabled ? undefined : () => void this._setSelectedLayer(id), selected: selected }, name));
174
183
  }
175
184
  /**
176
185
  * Store the layer name based on the user selection
177
186
  */
178
187
  _setSelectedLayer(id) {
179
- const item = Object.keys(this._layerNameHash).indexOf(id) > -1 ?
180
- this._layerNameHash[id] : Object.keys(this._tableNameHash).indexOf(id) > -1 ?
181
- this._tableNameHash[id] : undefined;
188
+ let item;
189
+ const hasDefaultLayer = this.defaultLayerId && !this.defaultLayerHonored;
190
+ if (hasDefaultLayer) {
191
+ item = this._getLayerFromHash(this.defaultLayerId);
192
+ this.defaultLayerHonored = item !== undefined;
193
+ id = this.defaultLayerHonored ? this.defaultLayerId : id;
194
+ }
195
+ item = item ? item : this._getLayerFromHash(id);
182
196
  this.selectedName = item === null || item === void 0 ? void 0 : item.name;
183
197
  this.selectedIds = [id];
184
198
  this.layerSelectionChange.emit(this.selectedIds);
185
199
  }
200
+ /**
201
+ * Fetch layer hash info for the given id
202
+ *
203
+ * @returns ILayerHashInfo for the id
204
+ */
205
+ _getLayerFromHash(id) {
206
+ return Object.keys(this._layerNameHash).indexOf(id) > -1 ?
207
+ this._layerNameHash[id] : Object.keys(this._tableNameHash).indexOf(id) > -1 ?
208
+ this._tableNameHash[id] : undefined;
209
+ }
186
210
  /**
187
211
  * Fetch the ids of the layers from the map
188
212
  *
@@ -299,6 +323,24 @@ export class MapLayerPicker {
299
323
  "reflect": false,
300
324
  "defaultValue": "\"transparent\""
301
325
  },
326
+ "defaultLayerId": {
327
+ "type": "string",
328
+ "mutable": false,
329
+ "complexType": {
330
+ "original": "string",
331
+ "resolved": "string",
332
+ "references": {}
333
+ },
334
+ "required": false,
335
+ "optional": false,
336
+ "docs": {
337
+ "tags": [],
338
+ "text": "string: when provided this layer ID will be used when the app loads"
339
+ },
340
+ "attribute": "default-layer-id",
341
+ "reflect": false,
342
+ "defaultValue": "\"\""
343
+ },
302
344
  "enabledLayerIds": {
303
345
  "type": "unknown",
304
346
  "mutable": false,
@@ -55,6 +55,18 @@ export class MapPicker {
55
55
  }
56
56
  //--------------------------------------------------------------------------
57
57
  //
58
+ // Methods (public)
59
+ //
60
+ //--------------------------------------------------------------------------
61
+ async setMapByID(id) {
62
+ var _a;
63
+ const mapInfos = (_a = this.mapInfos) === null || _a === void 0 ? void 0 : _a.filter(i => i.id === id);
64
+ if (id && (mapInfos === null || mapInfos === void 0 ? void 0 : mapInfos.length) > 0) {
65
+ this._webMapSelected(mapInfos[0]);
66
+ }
67
+ }
68
+ //--------------------------------------------------------------------------
69
+ //
58
70
  // Functions (lifecycle)
59
71
  //
60
72
  //--------------------------------------------------------------------------
@@ -72,14 +84,6 @@ export class MapPicker {
72
84
  render() {
73
85
  return (h(Host, null, this._getToolbar(), this._getMapNameList(this._mapListExpanded)));
74
86
  }
75
- /**
76
- * Called after each render
77
- */
78
- async componentDidRender() {
79
- if (this._mapListExpanded) {
80
- await this._list.setFocus();
81
- }
82
- }
83
87
  /**
84
88
  * Called once after the component has loaded
85
89
  */
@@ -129,7 +133,7 @@ export class MapPicker {
129
133
  */
130
134
  _getMapNameList(show) {
131
135
  const listClass = show ? "map-list" : "display-none";
132
- return (h("div", { class: listClass }, h("calcite-list", { id: "mapList", ref: (el) => this._list = el, selectionAppearance: "border" }, this.mapInfos.map(mapInfo => {
136
+ return (h("div", { class: listClass }, h("calcite-list", { id: "mapList", ref: (el) => this._list = el, selectionAppearance: "border", selectionMode: "single" }, this.mapInfos.map(mapInfo => {
133
137
  return (h("calcite-list-item", { label: mapInfo.name, onClick: () => this._webMapSelected(mapInfo), selected: mapInfo.id === this._loadedId, value: mapInfo.id }));
134
138
  }))));
135
139
  }
@@ -235,6 +239,30 @@ export class MapPicker {
235
239
  }
236
240
  }];
237
241
  }
242
+ static get methods() {
243
+ return {
244
+ "setMapByID": {
245
+ "complexType": {
246
+ "signature": "(id: string) => Promise<void>",
247
+ "parameters": [{
248
+ "tags": [],
249
+ "text": ""
250
+ }],
251
+ "references": {
252
+ "Promise": {
253
+ "location": "global",
254
+ "id": "global::Promise"
255
+ }
256
+ },
257
+ "return": "Promise<void>"
258
+ },
259
+ "docs": {
260
+ "text": "",
261
+ "tags": []
262
+ }
263
+ }
264
+ };
265
+ }
238
266
  static get elementRef() { return "el"; }
239
267
  static get watchers() {
240
268
  return [{
@@ -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,74 @@
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
+ export class RefineResultsFlowItem {
23
+ //--------------------------------------------------------------------------
24
+ //
25
+ // Properties (public)
26
+ //
27
+ //--------------------------------------------------------------------------
28
+ //--------------------------------------------------------------------------
29
+ //
30
+ // State (internal)
31
+ //
32
+ //--------------------------------------------------------------------------
33
+ //--------------------------------------------------------------------------
34
+ //
35
+ // Properties (protected)
36
+ //
37
+ //--------------------------------------------------------------------------
38
+ //--------------------------------------------------------------------------
39
+ //
40
+ // Watch handlers
41
+ //
42
+ //--------------------------------------------------------------------------
43
+ //--------------------------------------------------------------------------
44
+ //
45
+ // Methods (public)
46
+ //
47
+ //--------------------------------------------------------------------------
48
+ //--------------------------------------------------------------------------
49
+ //
50
+ // Events (public)
51
+ //
52
+ //--------------------------------------------------------------------------
53
+ //--------------------------------------------------------------------------
54
+ //
55
+ // Functions (lifecycle)
56
+ //
57
+ //--------------------------------------------------------------------------
58
+ render() {
59
+ return (h(Host, null, h("slot", null)));
60
+ }
61
+ static get is() { return "refine-results-flow-item"; }
62
+ static get encapsulation() { return "shadow"; }
63
+ static get originalStyleUrls() {
64
+ return {
65
+ "$": ["refine-results-flow-item.css"]
66
+ };
67
+ }
68
+ static get styleUrls() {
69
+ return {
70
+ "$": ["refine-results-flow-item.css"]
71
+ };
72
+ }
73
+ static get elementRef() { return "el"; }
74
+ }
@@ -0,0 +1,29 @@
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 { newE2EPage } from "@stencil/core/testing";
22
+ xdescribe('refine-results-flow-item', () => {
23
+ it('renders', async () => {
24
+ const page = await newE2EPage();
25
+ await page.setContent('<refine-results-flow-item></refine-results-flow-item>');
26
+ const element = await page.find('refine-results-flow-item');
27
+ expect(element).toHaveClass('hydrated');
28
+ });
29
+ });
@@ -0,0 +1,37 @@
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 { newSpecPage } from "@stencil/core/testing";
22
+ import { RefineResultsFlowItem } from "../refine-results-flow-item";
23
+ xdescribe('refine-results-flow-item', () => {
24
+ it('renders', async () => {
25
+ const page = await newSpecPage({
26
+ components: [RefineResultsFlowItem],
27
+ html: `<refine-results-flow-item></refine-results-flow-item>`,
28
+ });
29
+ expect(page.root).toEqualHtml(`
30
+ <refine-results-flow-item>
31
+ <mock:shadow-root>
32
+ <slot></slot>
33
+ </mock:shadow-root>
34
+ </refine-results-flow-item>
35
+ `);
36
+ });
37
+ });
@@ -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,74 @@
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
+ export class ShareItem {
23
+ //--------------------------------------------------------------------------
24
+ //
25
+ // Properties (public)
26
+ //
27
+ //--------------------------------------------------------------------------
28
+ //--------------------------------------------------------------------------
29
+ //
30
+ // State (internal)
31
+ //
32
+ //--------------------------------------------------------------------------
33
+ //--------------------------------------------------------------------------
34
+ //
35
+ // Properties (protected)
36
+ //
37
+ //--------------------------------------------------------------------------
38
+ //--------------------------------------------------------------------------
39
+ //
40
+ // Watch handlers
41
+ //
42
+ //--------------------------------------------------------------------------
43
+ //--------------------------------------------------------------------------
44
+ //
45
+ // Methods (public)
46
+ //
47
+ //--------------------------------------------------------------------------
48
+ //--------------------------------------------------------------------------
49
+ //
50
+ // Events (public)
51
+ //
52
+ //--------------------------------------------------------------------------
53
+ //--------------------------------------------------------------------------
54
+ //
55
+ // Functions (lifecycle)
56
+ //
57
+ //--------------------------------------------------------------------------
58
+ render() {
59
+ return (h(Host, null, h("slot", null)));
60
+ }
61
+ static get is() { return "share-item"; }
62
+ static get encapsulation() { return "shadow"; }
63
+ static get originalStyleUrls() {
64
+ return {
65
+ "$": ["share-item.css"]
66
+ };
67
+ }
68
+ static get styleUrls() {
69
+ return {
70
+ "$": ["share-item.css"]
71
+ };
72
+ }
73
+ static get elementRef() { return "el"; }
74
+ }
@@ -0,0 +1,29 @@
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 { newE2EPage } from "@stencil/core/testing";
22
+ xdescribe('share-item', () => {
23
+ it('renders', async () => {
24
+ const page = await newE2EPage();
25
+ await page.setContent('<share-item></share-item>');
26
+ const element = await page.find('share-item');
27
+ expect(element).toHaveClass('hydrated');
28
+ });
29
+ });
@@ -0,0 +1,37 @@
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 { newSpecPage } from "@stencil/core/testing";
22
+ import { ShareItem } from "../share-item";
23
+ xdescribe('share-item', () => {
24
+ it('renders', async () => {
25
+ const page = await newSpecPage({
26
+ components: [ShareItem],
27
+ html: `<share-item></share-item>`,
28
+ });
29
+ expect(page.root).toEqualHtml(`
30
+ <share-item>
31
+ <mock:shadow-root>
32
+ <slot></slot>
33
+ </mock:shadow-root>
34
+ </share-item>
35
+ `);
36
+ });
37
+ });