@esri/solutions-components 0.8.10 → 0.8.12

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 (35) hide show
  1. package/dist/cjs/card-manager_3.cjs.entry.js +19 -6
  2. package/dist/cjs/crowdsource-manager.cjs.entry.js +5 -5
  3. package/dist/cjs/crowdsource-reporter.cjs.entry.js +2 -2
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/solutions-components.cjs.js +1 -1
  6. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +39 -5
  7. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +4 -3
  8. package/dist/collection/components/layer-table/layer-table.js +71 -7
  9. package/dist/collection/demos/crowdsource-manager.html +0 -1
  10. package/dist/components/crowdsource-manager.js +7 -5
  11. package/dist/components/crowdsource-reporter.js +3 -3
  12. package/dist/components/feature-list2.js +1 -1
  13. package/dist/components/layer-list2.js +1 -1
  14. package/dist/components/layer-table2.js +23 -7
  15. package/dist/components/map-layer-picker2.js +1 -1
  16. package/dist/components/map-select-tools2.js +1 -1
  17. package/dist/components/mapViewUtils.js +1 -1
  18. package/dist/components/refine-selection2.js +1 -1
  19. package/dist/esm/card-manager_3.entry.js +20 -7
  20. package/dist/esm/crowdsource-manager.entry.js +5 -5
  21. package/dist/esm/crowdsource-reporter.entry.js +2 -2
  22. package/dist/esm/loader.js +1 -1
  23. package/dist/esm/solutions-components.js +1 -1
  24. package/dist/solutions-components/demos/crowdsource-manager.html +0 -1
  25. package/dist/solutions-components/p-206caa2d.entry.js +6 -0
  26. package/dist/solutions-components/p-5ce5a6ae.entry.js +6 -0
  27. package/dist/solutions-components/p-a09daea3.entry.js +6 -0
  28. package/dist/solutions-components/solutions-components.esm.js +1 -1
  29. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +8 -0
  30. package/dist/types/components/layer-table/layer-table.d.ts +14 -2
  31. package/dist/types/components.d.ts +40 -0
  32. package/package.json +1 -1
  33. package/dist/solutions-components/p-40039b84.entry.js +0 -6
  34. package/dist/solutions-components/p-ae75d7d7.entry.js +0 -6
  35. package/dist/solutions-components/p-fffc9e08.entry.js +0 -6
@@ -165,7 +165,10 @@ const LayerTable = class {
165
165
  this.shareIncludeEmbed = undefined;
166
166
  this.shareIncludeSocial = undefined;
167
167
  this.showNewestFirst = undefined;
168
+ this.sortField = undefined;
169
+ this.sortOrder = undefined;
168
170
  this.zoomAndScrollToSelected = undefined;
171
+ this.zoomToScale = undefined;
169
172
  this._allIds = [];
170
173
  this._controlsThatFit = undefined;
171
174
  this._csvExporting = false;
@@ -320,7 +323,7 @@ const LayerTable = class {
320
323
  }
321
324
  });
322
325
  if (layerView) {
323
- await mapViewUtils.goToSelection([oid], layerView, this.mapView, true);
326
+ await mapViewUtils.goToSelection([oid], layerView, this.mapView, true, undefined, this.zoomToScale);
324
327
  }
325
328
  }
326
329
  }
@@ -1191,13 +1194,20 @@ const LayerTable = class {
1191
1194
  this._deleteEnabled = this._layer.editingEnabled && this._layer.capabilities.operations.supportsDelete;
1192
1195
  }
1193
1196
  /**
1194
- * Sort the objectid field in descending order
1197
+ * Sort the table with the configured field in the configured sort order
1195
1198
  */
1196
1199
  async _sortTable() {
1197
- if (this._table && this._layer && this.showNewestFirst) {
1200
+ var _a, _b, _c, _d, _e, _f;
1201
+ let sortField = this.sortField ? this.sortField : this._layer.objectIdField;
1202
+ if (((_c = (_b = (_a = this.mapInfo) === null || _a === void 0 ? void 0 : _a.layerOptions) === null || _b === void 0 ? void 0 : _b.layers) === null || _c === void 0 ? void 0 : _c.length) > 0) {
1203
+ const configuredLayer = (_d = this.mapInfo.layerOptions) === null || _d === void 0 ? void 0 : _d.layers.filter((layer) => layer.id === this._layer.id);
1204
+ sortField = ((_f = (_e = configuredLayer[0]) === null || _e === void 0 ? void 0 : _e.fields) === null || _f === void 0 ? void 0 : _f.includes(this.sortField)) ? this.sortField : this._layer.objectIdField;
1205
+ }
1206
+ const sortOrder = this.sortOrder ? this.sortOrder : 'desc';
1207
+ if (this._table && this._layer) {
1198
1208
  await this._table.when();
1199
1209
  await this._layer.when(() => {
1200
- this._table.sortColumn(this._layer.objectIdField, "desc");
1210
+ this._table.sortColumn(sortField, sortOrder);
1201
1211
  });
1202
1212
  }
1203
1213
  }
@@ -1443,8 +1453,11 @@ const LayerTable = class {
1443
1453
  *
1444
1454
  * @returns a promise that will resolve when the operation is complete
1445
1455
  */
1446
- _zoom() {
1447
- this._table.zoomToSelection();
1456
+ async _zoom() {
1457
+ if (this._layer) {
1458
+ const selectedLayerView = await mapViewUtils.getFeatureLayerView(this.mapView, this._layer.id);
1459
+ await mapViewUtils.goToSelection(this.selectedIds, selectedLayerView, this.mapView, true, undefined, this.zoomToScale);
1460
+ }
1448
1461
  }
1449
1462
  /**
1450
1463
  * Handles layer selection change to show new table
@@ -74,6 +74,8 @@ const CrowdsourceManager = class {
74
74
  this.theme = "light";
75
75
  this.zoomAndScrollToSelected = false;
76
76
  this.zoomToScale = undefined;
77
+ this.sortField = undefined;
78
+ this.sortOrder = undefined;
77
79
  this._expandPopup = this.hideMapOnLoad;
78
80
  this._hideFooter = false;
79
81
  this._hideTable = false;
@@ -180,9 +182,7 @@ const CrowdsourceManager = class {
180
182
  * Renders the component.
181
183
  */
182
184
  render() {
183
- const borderClass = this._isMobile && this._hideTable ? "border-width-0" :
184
- this._isMobile ? "border-bottom-width-0" : "";
185
- return (index.h(index.Host, null, index.h("calcite-shell", { class: "position-relative" }, index.h("calcite-panel", { class: `width-full height-full ${borderClass}` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
185
+ return (index.h(index.Host, null, index.h("calcite-shell", { class: "position-relative" }, index.h("calcite-panel", { class: `width-full height-full border-width-0` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
186
186
  }
187
187
  /**
188
188
  * Called after each render
@@ -352,7 +352,7 @@ const CrowdsourceManager = class {
352
352
  const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
353
353
  const popupNodeClass = !this._expandPopup ? "height-full" : ((_a = this.mapInfos) === null || _a === void 0 ? void 0 : _a.length) === 1 || this._isMobile ? "position-absolute-0" : "position-absolute-50";
354
354
  const headerClass = this._isMobile ? "display-none height-0" : "";
355
- const headerTheme = !this._isMobile ? "calcite-mode-dark" : "calcite-mode-light";
355
+ const headerTheme = this.popupHeaderColor ? "" : !this._isMobile ? "calcite-mode-dark" : "calcite-mode-light";
356
356
  const containerClass = this._isMobile && this._hideTable ? "position-absolute-0 width-full height-full" : this._isMobile ? "display-none height-0" : "";
357
357
  return (index.h("div", { class: `${headerTheme} ${popupNodeClass} ${containerClass}`, style: {
358
358
  '--calcite-color-foreground-1': this.popupHeaderColor,
@@ -403,7 +403,7 @@ const CrowdsourceManager = class {
403
403
  ((_a = this.defaultGlobalId) === null || _a === void 0 ? void 0 : _a.indexOf(",")) > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
404
404
  const defaultOid = !this.defaultOid ? undefined :
405
405
  ((_b = this.defaultOid) === null || _b === void 0 ? void 0 : _b.indexOf(",")) > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
406
- return (index.h("calcite-shell", { class: `${tableSizeClass} ${tableClass} border-bottom` }, !this._isMobile ? (index.h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, index.h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), text: "" }), index.h("calcite-tooltip", { label: tooltip, placement: "bottom", "reference-element": id }, index.h("span", null, tooltip)))) : undefined, index.h("div", { class: `width-full height-full position-relative` }, index.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 }))));
406
+ return (index.h("calcite-shell", { class: `${tableSizeClass} ${tableClass} border-bottom` }, !this._isMobile ? (index.h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, index.h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), text: "" }), index.h("calcite-tooltip", { label: tooltip, placement: "bottom", "reference-element": id }, index.h("span", null, tooltip)))) : undefined, index.h("div", { class: `width-full height-full position-relative` }, index.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, sortField: this.sortField, sortOrder: this.sortOrder, zoomAndScrollToSelected: this.zoomAndScrollToSelected, zoomToScale: this.zoomToScale }))));
407
407
  }
408
408
  /**
409
409
  * Update the component layout when its size changes
@@ -48,7 +48,7 @@ const CrowdsourceReporter = class {
48
48
  this.theme = "light";
49
49
  this.enableZoom = true;
50
50
  this.zoomToScale = undefined;
51
- this.layerExpressions = undefined;
51
+ this.layerExpressions = [];
52
52
  this._mapInfo = undefined;
53
53
  this._flowItems = [];
54
54
  this._sidePanelCollapsed = false;
@@ -91,7 +91,7 @@ const CrowdsourceReporter = class {
91
91
  this.setCurrentFeature(evt.detail.selectedFeature[0]);
92
92
  void this.highlightOnMap(evt.detail.selectedFeature[0]);
93
93
  this.selectedFeatureIndex = evt.detail.selectedFeatureIndex;
94
- //update the feature details to reflect the like dislike values
94
+ //update the feature details to reflect the like dislike values
95
95
  await this._featureDetails.refresh(evt.detail.selectedFeature[0]);
96
96
  }
97
97
  //--------------------------------------------------------------------------