@esri/solutions-components 0.8.30 → 0.8.32

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 (52) hide show
  1. package/dist/cjs/calcite-alert_4.cjs.entry.js +1 -1
  2. package/dist/cjs/calcite-flow_6.cjs.entry.js +58 -34
  3. package/dist/cjs/card-manager_3.cjs.entry.js +17 -4
  4. package/dist/cjs/crowdsource-manager.cjs.entry.js +1 -1
  5. package/dist/cjs/crowdsource-reporter.cjs.entry.js +2 -2
  6. package/dist/cjs/feature-list.cjs.entry.js +1 -1
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/{popupUtils-e3fa775b.js → popupUtils-9ca69f8c.js} +1 -1
  9. package/dist/cjs/solutions-components.cjs.js +1 -1
  10. package/dist/collection/components/create-feature/create-feature.js +13 -8
  11. package/dist/collection/components/create-related-feature/create-related-feature.css +4 -0
  12. package/dist/collection/components/create-related-feature/create-related-feature.js +52 -26
  13. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +1 -1
  14. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.css +4 -0
  15. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +1 -1
  16. package/dist/collection/components/layer-table/layer-table.js +36 -4
  17. package/dist/collection/demos/crowdsource-manager.html +1 -1
  18. package/dist/collection/utils/popupUtils.js +1 -1
  19. package/dist/collection/utils/popupUtils.ts +1 -1
  20. package/dist/components/create-feature2.js +13 -8
  21. package/dist/components/create-related-feature2.js +57 -30
  22. package/dist/components/crowdsource-manager.js +1 -1
  23. package/dist/components/crowdsource-reporter.js +2 -2
  24. package/dist/components/layer-table2.js +19 -4
  25. package/dist/components/popupUtils.js +1 -1
  26. package/dist/esm/calcite-alert_4.entry.js +1 -1
  27. package/dist/esm/calcite-flow_6.entry.js +58 -34
  28. package/dist/esm/card-manager_3.entry.js +17 -4
  29. package/dist/esm/crowdsource-manager.entry.js +1 -1
  30. package/dist/esm/crowdsource-reporter.entry.js +2 -2
  31. package/dist/esm/feature-list.entry.js +1 -1
  32. package/dist/esm/loader.js +1 -1
  33. package/dist/esm/{popupUtils-17193415.js → popupUtils-8efd3cde.js} +1 -1
  34. package/dist/esm/solutions-components.js +1 -1
  35. package/dist/solutions-components/demos/crowdsource-manager.html +1 -1
  36. package/dist/solutions-components/{p-61bf98bc.entry.js → p-1b096a8b.entry.js} +1 -1
  37. package/dist/solutions-components/p-2455bcb0.js +21 -0
  38. package/dist/solutions-components/{p-bb90a138.entry.js → p-3365a6de.entry.js} +2 -2
  39. package/dist/solutions-components/p-4ae34862.entry.js +17 -0
  40. package/dist/solutions-components/p-5862de8d.entry.js +6 -0
  41. package/dist/solutions-components/{p-16fb8296.entry.js → p-628874a6.entry.js} +1 -1
  42. package/dist/solutions-components/{p-2f7bfd8d.entry.js → p-90c3bc54.entry.js} +1 -1
  43. package/dist/solutions-components/solutions-components.esm.js +1 -1
  44. package/dist/solutions-components/utils/popupUtils.ts +1 -1
  45. package/dist/types/components/create-feature/create-feature.d.ts +1 -1
  46. package/dist/types/components/create-related-feature/create-related-feature.d.ts +19 -1
  47. package/dist/types/components/layer-table/layer-table.d.ts +8 -0
  48. package/dist/types/components.d.ts +8 -0
  49. package/package.json +1 -1
  50. package/dist/solutions-components/p-1bdf0ba0.entry.js +0 -6
  51. package/dist/solutions-components/p-2e23ac2c.js +0 -21
  52. package/dist/solutions-components/p-c21a6940.entry.js +0 -17
@@ -32,7 +32,7 @@ export class CreateFeature {
32
32
  this.customizeSubmit = false;
33
33
  this.searchConfiguration = undefined;
34
34
  this._editorLoading = false;
35
- this.showSearchWidget = undefined;
35
+ this._showSearchWidget = undefined;
36
36
  }
37
37
  //--------------------------------------------------------------------------
38
38
  //
@@ -105,10 +105,10 @@ export class CreateFeature {
105
105
  * Renders the component.
106
106
  */
107
107
  render() {
108
- const showSearchWidget = this.showSearchWidget ? '' : 'display-none';
108
+ const showSearchWidget = this._showSearchWidget ? '' : 'display-none';
109
109
  const loaderClass = this._editorLoading ? "" : "display-none";
110
110
  const featureFormClass = this._editorLoading ? "display-none" : "";
111
- return (h(Fragment, { key: '2e790defdd5592fed729853888ee06143c95c84d' }, h("calcite-loader", { key: 'a0f1de0064ea80305d4aaf83f78939c0236c955a', class: loaderClass, label: "", scale: "s" }), h("div", { key: '1af391d6d7fd0dffa2e8e4b43905f8081a5f9820', class: featureFormClass, id: "feature-form" }), h("div", { key: '88d12115c3c2e0d34a5d6fd8895fb60cec6e9b5d', class: `search-widget ${showSearchWidget} ${featureFormClass}`, id: "search-widget-ref" })));
111
+ return (h(Fragment, { key: 'a4ccd565a52a4cde4e76439629425f19bd4c222e' }, h("calcite-loader", { key: '30e8a3753985a734dd7cba461f26691b51f49ab9', class: loaderClass, label: "", scale: "s" }), h("div", { key: '0845f1fa85a21b578fd18200b43d4a77c34e6808', class: featureFormClass, id: "feature-form" }), h("div", { key: 'af74b6337f5a0dcfdbd552145c88eae5282a3307', class: `search-widget ${showSearchWidget} ${featureFormClass}`, id: "search-widget-ref" })));
112
112
  }
113
113
  //--------------------------------------------------------------------------
114
114
  //
@@ -198,7 +198,7 @@ export class CreateFeature {
198
198
  const formHandle = this.reactiveUtils.watch(() => this._editor.viewModel.state, (state) => {
199
199
  if (state === 'creating-features') {
200
200
  this._editorLoading = true;
201
- this.showSearchWidget = true;
201
+ this._showSearchWidget = true;
202
202
  }
203
203
  });
204
204
  this._editor.viewModel.addHandles(formHandle);
@@ -222,11 +222,12 @@ export class CreateFeature {
222
222
  //on sketch complete emit the event
223
223
  this._editor.viewModel.sketchViewModel.on("create", (evt) => {
224
224
  if (evt.state === "complete") {
225
- this.showSearchWidget = false;
225
+ this._showSearchWidget = false;
226
226
  this.progressStatus.emit(1);
227
227
  this.drawComplete.emit();
228
228
  }
229
229
  });
230
+ //hides the header and footer elements in editor widget
230
231
  this.hideEditorsElements().then(() => {
231
232
  resolve({});
232
233
  }, e => reject(e));
@@ -237,8 +238,12 @@ export class CreateFeature {
237
238
  if (items.length === 1) {
238
239
  this._editor.viewModel.featureTemplatesViewModel.select(items[0]);
239
240
  }
240
- //hides the header and footer elements in editor widget
241
- void this.hideEditorsElements();
241
+ const resolvePromise = items.length > 1;
242
+ this.hideEditorsElements().then(() => {
243
+ if (resolvePromise) {
244
+ resolve({});
245
+ }
246
+ }, e => resolvePromise && reject(e));
242
247
  }
243
248
  });
244
249
  }
@@ -486,7 +491,7 @@ export class CreateFeature {
486
491
  static get states() {
487
492
  return {
488
493
  "_editorLoading": {},
489
- "showSearchWidget": {}
494
+ "_showSearchWidget": {}
490
495
  };
491
496
  }
492
497
  static get events() {
@@ -5,4 +5,8 @@
5
5
  /* Override to hide Editor settings panel collapsible */
6
6
  .esri-editor__panel-toolbar {
7
7
  display: none !important;
8
+ }
9
+
10
+ .display-none {
11
+ display: none !important;
8
12
  }
@@ -18,7 +18,7 @@
18
18
  * See the License for the specific language governing permissions and
19
19
  * limitations under the License.
20
20
  */
21
- import { Host, h } from "@stencil/core";
21
+ import { h } from "@stencil/core";
22
22
  import { loadModules } from "../../utils/loadModules";
23
23
  export class CreateRelatedFeature {
24
24
  constructor() {
@@ -30,6 +30,7 @@ export class CreateRelatedFeature {
30
30
  this.table = undefined;
31
31
  this.selectedFeature = undefined;
32
32
  this.customizeSubmit = false;
33
+ this._editorLoading = false;
33
34
  }
34
35
  //--------------------------------------------------------------------------
35
36
  //
@@ -44,6 +45,18 @@ export class CreateRelatedFeature {
44
45
  await this.init();
45
46
  });
46
47
  }
48
+ /**
49
+ * When _editorLoading is true the container node will be hidden while starting the create workflow
50
+ */
51
+ async _editorLoadingWatchHandler(v) {
52
+ var _a, _b;
53
+ if (v) {
54
+ (_a = this._container) === null || _a === void 0 ? void 0 : _a.classList.add("display-none");
55
+ await this.startCreate();
56
+ (_b = this._container) === null || _b === void 0 ? void 0 : _b.classList.remove("display-none");
57
+ this._editorLoading = false;
58
+ }
59
+ }
47
60
  //--------------------------------------------------------------------------
48
61
  //
49
62
  // Methods (public)
@@ -100,7 +113,8 @@ export class CreateRelatedFeature {
100
113
  this.reactiveUtils = reactiveUtils;
101
114
  }
102
115
  render() {
103
- return (h(Host, { key: 'c8516898db79b35b7fba909810afdc56b0602ebd' }));
116
+ const loaderClass = this._editorLoading ? "" : "display-none";
117
+ return (h("calcite-loader", { key: 'a8fd1e83a4a9614779be19a11e6028b3a402cbd2', class: loaderClass, label: "", scale: "s" }));
104
118
  }
105
119
  /**
106
120
  * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
@@ -113,29 +127,24 @@ export class CreateRelatedFeature {
113
127
  * @protected
114
128
  */
115
129
  async createEditorWidget() {
130
+ var _a;
116
131
  if (this._editor) {
117
132
  this._editor.destroy();
118
133
  }
119
- const container = document.createElement("div");
134
+ this._container = document.createElement("div");
135
+ (_a = this._container) === null || _a === void 0 ? void 0 : _a.classList.add("display-none");
120
136
  this._editor = new this.Editor({
121
137
  view: this.mapView,
122
138
  visibleElements: {
123
139
  snappingControls: false
124
140
  },
125
- container
141
+ container: this._container
126
142
  });
127
- this.el.appendChild(container);
128
- //Add handle to watch featureFormViewModel ready state and hide the editor elements
129
- const hideElementHandle = this.reactiveUtils.watch(() => { var _a; return (_a = this._editor.viewModel.featureFormViewModel) === null || _a === void 0 ? void 0 : _a.state; }, (state) => {
130
- if (state === 'ready') {
131
- this.hideEditorsElements();
132
- }
133
- });
134
- this._editor.viewModel.addHandles(hideElementHandle);
143
+ this.el.appendChild(this._container);
135
144
  //Add handle to watch featureTemplatesViewModel ready state and then start the creation
136
145
  const handle = this.reactiveUtils.watch(() => this._editor.viewModel.featureTemplatesViewModel.state, (state) => {
137
146
  if (state === 'ready') {
138
- void this.startCreate();
147
+ this._editorLoading = true;
139
148
  }
140
149
  });
141
150
  this._editor.viewModel.addHandles(handle);
@@ -176,6 +185,8 @@ export class CreateRelatedFeature {
176
185
  template,
177
186
  };
178
187
  await this._editor.startCreateFeaturesWorkflowAtFeatureCreation(creationInfo);
188
+ //hides the header and footer elements in editor widget
189
+ await this.hideEditorsElements();
179
190
  // Emit an event to show submit cancel buttons
180
191
  this.isActionPending.emit(false);
181
192
  this._editor.viewModel.featureFormViewModel.on('submit', this.submitted.bind(this));
@@ -184,22 +195,21 @@ export class CreateRelatedFeature {
184
195
  * Hides the elements of editor widget
185
196
  * @protected
186
197
  */
187
- hideEditorsElements() {
198
+ async hideEditorsElements() {
199
+ var _a, _b;
188
200
  if (!this.customizeSubmit) {
189
201
  return;
190
202
  }
191
- setTimeout(() => {
192
- var _a;
193
- //hides the header and footer on the featureForm
194
- (_a = this.el.querySelector('.esri-editor').querySelectorAll('calcite-flow-item')) === null || _a === void 0 ? void 0 : _a.forEach((flowItem) => {
195
- var _a, _b, _c, _d, _e;
196
- const article = (_c = (_b = (_a = flowItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('calcite-panel')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('article');
197
- //hide the header
198
- (_d = article === null || article === void 0 ? void 0 : article.querySelector('header')) === null || _d === void 0 ? void 0 : _d.setAttribute('style', 'display: none');
199
- //hide the footer
200
- (_e = article === null || article === void 0 ? void 0 : article.querySelector('footer')) === null || _e === void 0 ? void 0 : _e.setAttribute('style', 'display: none');
201
- });
202
- }, 700);
203
+ await this.timeout(700);
204
+ //hides the header and footer on the featureForm
205
+ (_b = (_a = this.el.querySelector('.esri-editor')) === null || _a === void 0 ? void 0 : _a.querySelectorAll('calcite-flow-item')) === null || _b === void 0 ? void 0 : _b.forEach((flowItem) => {
206
+ var _a, _b, _c, _d, _e;
207
+ const article = (_c = (_b = (_a = flowItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('calcite-panel')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('article');
208
+ //hide the header
209
+ (_d = article === null || article === void 0 ? void 0 : article.querySelector('header')) === null || _d === void 0 ? void 0 : _d.setAttribute('style', 'display: none');
210
+ //hide the footer
211
+ (_e = article === null || article === void 0 ? void 0 : article.querySelector('footer')) === null || _e === void 0 ? void 0 : _e.setAttribute('style', 'display: none');
212
+ });
203
213
  }
204
214
  /**
205
215
  * Makes attributes for related feature
@@ -255,6 +265,14 @@ export class CreateRelatedFeature {
255
265
  this.success.emit();
256
266
  }
257
267
  }
268
+ /**
269
+ * call setTimeout in Promise wrapper
270
+ * @param delay The time, in milliseconds that the timer should wait before the promise is resolved
271
+ * @protected
272
+ */
273
+ timeout(delay) {
274
+ return new Promise(resolve => setTimeout(resolve, delay));
275
+ }
258
276
  static get is() { return "create-related-feature"; }
259
277
  static get originalStyleUrls() {
260
278
  return {
@@ -348,6 +366,11 @@ export class CreateRelatedFeature {
348
366
  }
349
367
  };
350
368
  }
369
+ static get states() {
370
+ return {
371
+ "_editorLoading": {}
372
+ };
373
+ }
351
374
  static get events() {
352
375
  return [{
353
376
  "method": "success",
@@ -444,6 +467,9 @@ export class CreateRelatedFeature {
444
467
  return [{
445
468
  "propName": "mapView",
446
469
  "methodName": "mapViewWatchHandler"
470
+ }, {
471
+ "propName": "_editorLoading",
472
+ "methodName": "_editorLoadingWatchHandler"
447
473
  }];
448
474
  }
449
475
  }
@@ -431,7 +431,7 @@ export class CrowdsourceManager {
431
431
  ((_a = this.defaultGlobalId) === null || _a === void 0 ? void 0 : _a.indexOf(",")) > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
432
432
  const defaultOid = !this.defaultOid ? undefined :
433
433
  ((_b = this.defaultOid) === null || _b === void 0 ? void 0 : _b.indexOf(",")) > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
434
- return (h("calcite-shell", { class: `${tableSizeClass} ${tableClass} border-bottom` }, !this._isMobile ? (h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), text: "" }), h("calcite-tooltip", { label: tooltip, placement: "bottom", "reference-element": id }, h("span", null, tooltip)))) : undefined, h("div", { class: `width-full height-full position-relative` }, h("layer-table", { defaultGlobalId: hasMapAndLayer ? globalId : undefined, defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultOid: hasMapAndLayer && !globalId ? defaultOid : undefined, enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableColumnReorder: this.enableColumnReorder, enableInlineEdit: this.enableInlineEdit, enableShare: this.enableShare, isMobile: this._isMobile, mapInfo: this._mapInfo, mapView: this === null || this === void 0 ? void 0 : this._mapView, onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._layerTable = el, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected, zoomToScale: this.zoomToScale }))));
434
+ return (h("calcite-shell", { class: `${tableSizeClass} ${tableClass} border-bottom` }, !this._isMobile ? (h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), text: "" }), h("calcite-tooltip", { label: tooltip, placement: "bottom", "reference-element": id }, h("span", null, tooltip)))) : undefined, h("div", { class: `width-full height-full position-relative` }, h("layer-table", { defaultGlobalId: hasMapAndLayer ? globalId : undefined, defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultOid: hasMapAndLayer && !globalId ? defaultOid : undefined, enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableColumnReorder: this.enableColumnReorder, enableInlineEdit: this.enableInlineEdit, enableShare: this.enableShare, isMobile: this._isMobile, mapHidden: this._expandPopup, mapInfo: this._mapInfo, mapView: this === null || this === void 0 ? void 0 : this._mapView, onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._layerTable = el, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected, zoomToScale: this.zoomToScale }))));
435
435
  }
436
436
  /**
437
437
  * Update the component layout when its size changes
@@ -79,3 +79,7 @@
79
79
  position: absolute;
80
80
  z-index: 1000;
81
81
  }
82
+
83
+ .share-node {
84
+ display: flex;
85
+ }
@@ -580,7 +580,7 @@ export class CrowdsourceReporter {
580
580
  getFeatureDetailsFlowItem() {
581
581
  var _a;
582
582
  const showCommentBtn = ((_a = this._getLayersConfig(this._selectedLayerId)) === null || _a === void 0 ? void 0 : _a.comment) && this._selectedLayer.relationships.length > 0;
583
- return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("instant-apps-social-share", { autoUpdateShareUrl: false, embed: false, popoverButtonIconScale: "s", ref: el => this._shareNode = el, removePopoverOffset: true, scale: "s", 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, mapView: this.mapView, onCommentSelect: this.onCommentSelectFromList.bind(this), onFeatureSelectionChange: this.selectionChanged.bind(this), onLoadingStatus: (evt) => void this.updatingFeatureDetails(evt.detail), ref: el => this._featureDetails = el, reportingOptions: this.reportingOptions }), showCommentBtn &&
583
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, 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, mapView: this.mapView, onCommentSelect: this.onCommentSelectFromList.bind(this), onFeatureSelectionChange: this.selectionChanged.bind(this), onLoadingStatus: (evt) => void this.updatingFeatureDetails(evt.detail), ref: el => this._featureDetails = el, reportingOptions: this.reportingOptions }), showCommentBtn &&
584
584
  h("calcite-button", { appearance: "solid", onClick: () => this._flowItems = [...this._flowItems, "add-comment"], slot: "footer", width: "full" }, this._translations.comment))));
585
585
  }
586
586
  /**
@@ -73,6 +73,7 @@ export class LayerTable {
73
73
  this.enableInlineEdit = undefined;
74
74
  this.enableShare = undefined;
75
75
  this.isMobile = undefined;
76
+ this.mapHidden = undefined;
76
77
  this.mapInfo = undefined;
77
78
  this.mapView = undefined;
78
79
  this.onlyShowUpdatableLayers = undefined;
@@ -156,6 +157,15 @@ export class LayerTable {
156
157
  }
157
158
  });
158
159
  }
160
+ /**
161
+ * Reset the toolInfos when mapHidden prop changes so we can show/hide any map dependant tool(s)
162
+ */
163
+ mapHiddenWatchHandler() {
164
+ var _a;
165
+ if (((_a = this._toolInfos) === null || _a === void 0 ? void 0 : _a.length) > 0) {
166
+ this._initToolInfos();
167
+ }
168
+ }
159
169
  /**
160
170
  * When isMobile is false we need to init the tool infos for the dynamic toolbar
161
171
  */
@@ -319,7 +329,7 @@ export class LayerTable {
319
329
  const selected = this.selectedIds.length.toString();
320
330
  const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
321
331
  this._validateActiveActions();
322
- return (h(Host, { key: '928286a8e4d1159b56b2aa4384f0d6eed38c9e76' }, h("calcite-shell", { key: '7c9b98056ee867df54ebfd31fee6f046f5152f64' }, this._getTableControlRow("header"), h("div", { key: 'b1a9a9cca100c7bef335afd5b6c7d7384ca7536c', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: 'ceeead9900f43c94f46c8c94698ae17f3ae558b7', class: "height-full width-full" }, h("calcite-loader", { key: '7bf3c9ba21daa27dd387ba5413b6f6e982e1f10d', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: '7d0440047453a45fe1688ad373ab2463fe7479ba', class: tableNodeClass, ref: this.onTableNodeCreate })), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
332
+ return (h(Host, { key: '9692c6f764d078c22e1d6271deb3844ef65b1fca' }, h("calcite-shell", { key: 'a37b9fcfdd8450fea4a994738bf833c331bb168a' }, this._getTableControlRow("header"), h("div", { key: 'e0e82e0bb5441286d5cd3bdda3c55d77515fbcb0', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: '4890c168eba3db34a291121f633c0d69ab8a1517', class: "height-full width-full" }, h("calcite-loader", { key: '19f85ec47a03731fe4c9ebb13d91cad66a8637fa', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: '53d1c8bce2e2d464a141fabfcf13ee41aaf02168', class: tableNodeClass, ref: this.onTableNodeCreate })), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
323
333
  .replace("{{total}}", total)
324
334
  .replace("{{selected}}", selected))) : undefined)), this._filterModal()));
325
335
  }
@@ -482,7 +492,8 @@ export class LayerTable {
482
492
  const featuresEmpty = this._featuresEmpty();
483
493
  const hasFilterExpressions = this._hasFilterExpressions();
484
494
  if (this._translations) {
485
- this._toolInfos = [{
495
+ this._toolInfos = [
496
+ !this.mapHidden ? {
486
497
  active: false,
487
498
  icon: "zoom-to-object",
488
499
  indicator: false,
@@ -490,7 +501,7 @@ export class LayerTable {
490
501
  func: () => this._zoom(),
491
502
  disabled: !featuresSelected,
492
503
  isOverflow: false
493
- },
504
+ } : undefined,
494
505
  hasFilterExpressions ? {
495
506
  active: false,
496
507
  icon: "filter",
@@ -568,7 +579,8 @@ export class LayerTable {
568
579
  disabled: false,
569
580
  isOverflow: false,
570
581
  isSublist: true
571
- }];
582
+ }
583
+ ];
572
584
  this._defaultVisibleToolSizeInfos = undefined;
573
585
  }
574
586
  }
@@ -1664,6 +1676,23 @@ export class LayerTable {
1664
1676
  "attribute": "is-mobile",
1665
1677
  "reflect": false
1666
1678
  },
1679
+ "mapHidden": {
1680
+ "type": "boolean",
1681
+ "mutable": false,
1682
+ "complexType": {
1683
+ "original": "boolean",
1684
+ "resolved": "boolean",
1685
+ "references": {}
1686
+ },
1687
+ "required": false,
1688
+ "optional": false,
1689
+ "docs": {
1690
+ "tags": [],
1691
+ "text": "boolean: when true the map is hidden and map specific controls should be hidden"
1692
+ },
1693
+ "attribute": "map-hidden",
1694
+ "reflect": false
1695
+ },
1667
1696
  "mapInfo": {
1668
1697
  "type": "unknown",
1669
1698
  "mutable": false,
@@ -1879,6 +1908,9 @@ export class LayerTable {
1879
1908
  }, {
1880
1909
  "propName": "_controlsThatFit",
1881
1910
  "methodName": "_controlsThatFitWatchHandler"
1911
+ }, {
1912
+ "propName": "mapHidden",
1913
+ "methodName": "mapHiddenWatchHandler"
1882
1914
  }, {
1883
1915
  "propName": "isMobile",
1884
1916
  "methodName": "isMobileWatchHandler"
@@ -209,7 +209,7 @@
209
209
  }
210
210
  }]
211
211
  ];
212
- demo.hideMapOnLoad = false;
212
+ demo.hideMapOnLoad = true;
213
213
  //demo.coverPageEnabled = true;
214
214
  demo.introductionWindowEnabled = true;
215
215
  }
@@ -68,7 +68,7 @@ export class PopupUtils {
68
68
  const fieldInfo = layer.popupTemplate.fieldInfos.find((fInfo) => fInfo.fieldName.toLowerCase() === field.name.toLowerCase());
69
69
  //format the attribute value
70
70
  const formattedAttributeValue = _prepareAttributeValue(attributeValue, field.type, field.domain, fieldInfo === null || fieldInfo === void 0 ? void 0 : fieldInfo.format, this.intl);
71
- attributes[`{${field.name.toUpperCase()}}`] = formattedAttributeValue;
71
+ attributes[`{${field.name.toUpperCase()}}`] = formattedAttributeValue !== null && formattedAttributeValue !== void 0 ? formattedAttributeValue : attributeValue;
72
72
  });
73
73
  }
74
74
  return popupTitle === null || popupTitle === void 0 ? void 0 : popupTitle.replace(/{.*?}/g, (placeholder) => {
@@ -80,7 +80,7 @@ export class PopupUtils {
80
80
  const fieldInfo = layer.popupTemplate.fieldInfos.find((fInfo) => fInfo.fieldName.toLowerCase() === field.name.toLowerCase());
81
81
  //format the attribute value
82
82
  const formattedAttributeValue = _prepareAttributeValue(attributeValue, field.type, field.domain, fieldInfo?.format, this.intl);
83
- attributes[`{${field.name.toUpperCase()}}`] = formattedAttributeValue;
83
+ attributes[`{${field.name.toUpperCase()}}`] = formattedAttributeValue ?? attributeValue;
84
84
  })
85
85
  }
86
86
 
@@ -29,7 +29,7 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
29
29
  this.customizeSubmit = false;
30
30
  this.searchConfiguration = undefined;
31
31
  this._editorLoading = false;
32
- this.showSearchWidget = undefined;
32
+ this._showSearchWidget = undefined;
33
33
  }
34
34
  //--------------------------------------------------------------------------
35
35
  //
@@ -102,10 +102,10 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
102
102
  * Renders the component.
103
103
  */
104
104
  render() {
105
- const showSearchWidget = this.showSearchWidget ? '' : 'display-none';
105
+ const showSearchWidget = this._showSearchWidget ? '' : 'display-none';
106
106
  const loaderClass = this._editorLoading ? "" : "display-none";
107
107
  const featureFormClass = this._editorLoading ? "display-none" : "";
108
- return (h(Fragment, { key: '2e790defdd5592fed729853888ee06143c95c84d' }, h("calcite-loader", { key: 'a0f1de0064ea80305d4aaf83f78939c0236c955a', class: loaderClass, label: "", scale: "s" }), h("div", { key: '1af391d6d7fd0dffa2e8e4b43905f8081a5f9820', class: featureFormClass, id: "feature-form" }), h("div", { key: '88d12115c3c2e0d34a5d6fd8895fb60cec6e9b5d', class: `search-widget ${showSearchWidget} ${featureFormClass}`, id: "search-widget-ref" })));
108
+ return (h(Fragment, { key: 'a4ccd565a52a4cde4e76439629425f19bd4c222e' }, h("calcite-loader", { key: '30e8a3753985a734dd7cba461f26691b51f49ab9', class: loaderClass, label: "", scale: "s" }), h("div", { key: '0845f1fa85a21b578fd18200b43d4a77c34e6808', class: featureFormClass, id: "feature-form" }), h("div", { key: 'af74b6337f5a0dcfdbd552145c88eae5282a3307', class: `search-widget ${showSearchWidget} ${featureFormClass}`, id: "search-widget-ref" })));
109
109
  }
110
110
  //--------------------------------------------------------------------------
111
111
  //
@@ -195,7 +195,7 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
195
195
  const formHandle = this.reactiveUtils.watch(() => this._editor.viewModel.state, (state) => {
196
196
  if (state === 'creating-features') {
197
197
  this._editorLoading = true;
198
- this.showSearchWidget = true;
198
+ this._showSearchWidget = true;
199
199
  }
200
200
  });
201
201
  this._editor.viewModel.addHandles(formHandle);
@@ -219,11 +219,12 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
219
219
  //on sketch complete emit the event
220
220
  this._editor.viewModel.sketchViewModel.on("create", (evt) => {
221
221
  if (evt.state === "complete") {
222
- this.showSearchWidget = false;
222
+ this._showSearchWidget = false;
223
223
  this.progressStatus.emit(1);
224
224
  this.drawComplete.emit();
225
225
  }
226
226
  });
227
+ //hides the header and footer elements in editor widget
227
228
  this.hideEditorsElements().then(() => {
228
229
  resolve({});
229
230
  }, e => reject(e));
@@ -234,8 +235,12 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
234
235
  if (items.length === 1) {
235
236
  this._editor.viewModel.featureTemplatesViewModel.select(items[0]);
236
237
  }
237
- //hides the header and footer elements in editor widget
238
- void this.hideEditorsElements();
238
+ const resolvePromise = items.length > 1;
239
+ this.hideEditorsElements().then(() => {
240
+ if (resolvePromise) {
241
+ resolve({});
242
+ }
243
+ }, e => resolvePromise && reject(e));
239
244
  }
240
245
  });
241
246
  }
@@ -401,7 +406,7 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
401
406
  "customizeSubmit": [4, "customize-submit"],
402
407
  "searchConfiguration": [16],
403
408
  "_editorLoading": [32],
404
- "showSearchWidget": [32],
409
+ "_showSearchWidget": [32],
405
410
  "close": [64],
406
411
  "submit": [64]
407
412
  }, undefined, {