@esri/solutions-components 0.8.18 → 0.8.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. package/dist/cjs/calcite-alert_4.cjs.entry.js +1 -1
  2. package/dist/cjs/card-manager_3.cjs.entry.js +18 -9
  3. package/dist/cjs/crowdsource-manager.cjs.entry.js +11 -9
  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 +29 -43
  7. package/dist/collection/components/info-card/info-card.css +1 -0
  8. package/dist/collection/components/layer-table/layer-table.js +18 -43
  9. package/dist/collection/demos/crowdsource-manager.html +4 -2
  10. package/dist/collection/demos/crowdsource-reporter.html +1 -1
  11. package/dist/collection/utils/interfaces.ts +2 -0
  12. package/dist/components/crowdsource-manager.js +12 -11
  13. package/dist/components/info-card2.js +1 -1
  14. package/dist/components/layer-table2.js +18 -11
  15. package/dist/esm/calcite-alert_4.entry.js +1 -1
  16. package/dist/esm/card-manager_3.entry.js +18 -9
  17. package/dist/esm/crowdsource-manager.entry.js +11 -9
  18. package/dist/esm/loader.js +1 -1
  19. package/dist/esm/solutions-components.js +1 -1
  20. package/dist/solutions-components/demos/crowdsource-manager.html +4 -2
  21. package/dist/solutions-components/demos/crowdsource-reporter.html +1 -1
  22. package/dist/solutions-components/p-347a2b0d.entry.js +6 -0
  23. package/dist/solutions-components/p-6a598429.entry.js +6 -0
  24. package/dist/solutions-components/{p-d84fe0ee.entry.js → p-8cff32bd.entry.js} +1 -1
  25. package/dist/solutions-components/solutions-components.esm.js +1 -1
  26. package/dist/solutions-components/utils/interfaces.ts +2 -0
  27. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +6 -8
  28. package/dist/types/components/layer-table/layer-table.d.ts +1 -9
  29. package/dist/types/components.d.ts +8 -32
  30. package/dist/types/utils/interfaces.d.ts +2 -0
  31. package/package.json +1 -1
  32. package/dist/solutions-components/p-e6abef31.entry.js +0 -6
  33. package/dist/solutions-components/p-e947332f.entry.js +0 -6
@@ -53,6 +53,7 @@ export class CrowdsourceManager {
53
53
  this.defaultLevel = "";
54
54
  this.defaultOid = "";
55
55
  this.defaultWebmap = "";
56
+ this.introductionPageEnabled = false;
56
57
  this.enableAutoRefresh = false;
57
58
  this.enableBasemap = true;
58
59
  this.enableColumnReorder = true;
@@ -79,8 +80,6 @@ export class CrowdsourceManager {
79
80
  this.theme = "light";
80
81
  this.zoomAndScrollToSelected = false;
81
82
  this.zoomToScale = undefined;
82
- this.sortField = undefined;
83
- this.sortOrder = undefined;
84
83
  this._expandPopup = this.hideMapOnLoad;
85
84
  this._hideFooter = false;
86
85
  this._hideTable = false;
@@ -187,7 +186,9 @@ export class CrowdsourceManager {
187
186
  * Renders the component.
188
187
  */
189
188
  render() {
190
- return (h(Host, { key: '686aeccc0f97c1eb8bc1b673d8816663e80fdf71' }, h("calcite-shell", { key: 'f3451483cdbafa8b68a00b71e9927bbff55781b9', class: "position-relative" }, h("calcite-panel", { key: '8256440e1cefa8f25bf1af1f9a1e87650c34462d', class: `width-full height-full border-width-0` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
189
+ // only avoid border when we have a header color that is not white
190
+ const borderClass = this.popupHeaderColor && this.popupHeaderColor !== "#FFFFFF" ? "border-width-0" : "";
191
+ return (h(Host, { key: '175124a05c83f6f02bef1378a20e5a3ed083ce00' }, h("calcite-shell", { key: '10677408a11bbe6196a95622a7a5f69fd3766c20', class: "position-relative" }, h("calcite-panel", { key: 'd3f044385482089d2dd5a457c2de4b3cc748e7c6', class: `width-full height-full ${borderClass}` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
191
192
  }
192
193
  /**
193
194
  * Called after each render
@@ -307,7 +308,8 @@ export class CrowdsourceManager {
307
308
  _getBody(layoutMode, panelOpen, hideTable) {
308
309
  const contentClass = layoutMode === ELayoutMode.HORIZONTAL ? "" : "display-flex";
309
310
  const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
310
- return (h("calcite-panel", { class: "width-full height-full" }, h("div", { class: `width-full height-full overflow-hidden ${contentClass}` }, this._getMapAndCard(layoutMode, panelOpen, hideTable), this._getTable(layoutMode, panelOpen, hideTable)), h("div", { class: "floating-container", onClick: this.infoButtonClick.bind(this) }, h("calcite-button", { appearance: "solid", class: `floating-button ${themeClass}`, "icon-start": "information-letter", kind: "neutral", label: "", round: true, scale: "l", "split-child": "primary", width: "auto" }))));
311
+ return (h("calcite-panel", { class: "width-full height-full" }, h("div", { class: `width-full height-full overflow-hidden ${contentClass}` }, this._getMapAndCard(layoutMode, panelOpen, hideTable), this._getTable(layoutMode, panelOpen, hideTable)), this.coverPageEnabled &&
312
+ h("div", { class: "floating-container", onClick: this.infoButtonClick.bind(this) }, h("calcite-button", { appearance: "solid", class: `floating-button ${themeClass}`, "icon-start": "information-letter", kind: "neutral", label: "", round: true, scale: "l", "split-child": "primary", width: "auto" }))));
311
313
  }
312
314
  /**
313
315
  * Emit the event when info button clicked
@@ -360,10 +362,10 @@ export class CrowdsourceManager {
360
362
  const headerTheme = this.popupHeaderColor ? "" : !this._isMobile ? "calcite-mode-dark" : "calcite-mode-light";
361
363
  const containerClass = this._isMobile && this._hideTable ? "position-absolute-0 width-full height-full" : this._isMobile ? "display-none height-0" : "";
362
364
  return (h("div", { class: `${headerTheme} ${popupNodeClass} ${containerClass}`, style: {
363
- '--calcite-color-foreground-1': this.popupHeaderColor, /* background color to apply to the popup header */
364
- '--calcite-color-foreground-2': this.popupHeaderHoverColor, /* color that will be displayed on hover when expanding the popup header */
365
- '--calcite-color-text-3': this.popupHeaderHoverTextColor, /* font color that will be displayed on hover when expanding the popup header */
366
- '--calcite-color-text-2': this.popupHeaderTextColor, /* font color to apply to the popup header */
365
+ '--calcite-color-foreground-1': this.popupHeaderColor, /* background color that will be displayed on the popup header */
366
+ '--calcite-color-foreground-2': this.popupHeaderHoverColor, /* background color that will be displayed on button when hovered */
367
+ '--calcite-color-text-3': this.popupHeaderTextColor, /* font color that will be displayed on button */
368
+ '--calcite-color-text-2': this.popupHeaderTextColor, /* font color that will be displayed on popup header text*/
367
369
  } }, h("calcite-panel", null, !this._isMobile ? (h("div", { class: `display-flex align-items-center ${headerClass}`, slot: "header-content" }, h("calcite-icon", { icon: "information", scale: "s" }), h("div", { class: "padding-inline-start-75" }, this._translations.information))) : undefined, h("calcite-action", { class: headerClass, disabled: this._tableOnly, icon: icon, id: id, onClick: () => this._togglePopup(), slot: "header-actions-end", text: "" }), !this._tableOnly ? h("calcite-tooltip", { class: themeClass, label: "", placement: "bottom", "reference-element": id }, h("span", null, tooltip)) : undefined, this._getCardNode())));
368
370
  }
369
371
  /**
@@ -408,7 +410,7 @@ export class CrowdsourceManager {
408
410
  ((_a = this.defaultGlobalId) === null || _a === void 0 ? void 0 : _a.indexOf(",")) > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
409
411
  const defaultOid = !this.defaultOid ? undefined :
410
412
  ((_b = this.defaultOid) === null || _b === void 0 ? void 0 : _b.indexOf(",")) > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
411
- 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, sortField: this.sortField, sortOrder: this.sortOrder, zoomAndScrollToSelected: this.zoomAndScrollToSelected, zoomToScale: this.zoomToScale }))));
413
+ 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 }))));
412
414
  }
413
415
  /**
414
416
  * Update the component layout when its size changes
@@ -682,6 +684,24 @@ export class CrowdsourceManager {
682
684
  "reflect": false,
683
685
  "defaultValue": "\"\""
684
686
  },
687
+ "introductionPageEnabled": {
688
+ "type": "boolean",
689
+ "mutable": false,
690
+ "complexType": {
691
+ "original": "boolean",
692
+ "resolved": "boolean",
693
+ "references": {}
694
+ },
695
+ "required": false,
696
+ "optional": false,
697
+ "docs": {
698
+ "tags": [],
699
+ "text": "boolean: When true a introduction page has been enabled in the consuming application.\r\nAlso when true a floating button will be shown in the lower right of the window that\r\nwill emit an event when clicked that the consuming application can respond to that will open the introduction page."
700
+ },
701
+ "attribute": "introduction-page-enabled",
702
+ "reflect": false,
703
+ "defaultValue": "false"
704
+ },
685
705
  "enableAutoRefresh": {
686
706
  "type": "boolean",
687
707
  "mutable": false,
@@ -1155,40 +1175,6 @@ export class CrowdsourceManager {
1155
1175
  },
1156
1176
  "attribute": "zoom-to-scale",
1157
1177
  "reflect": false
1158
- },
1159
- "sortField": {
1160
- "type": "string",
1161
- "mutable": false,
1162
- "complexType": {
1163
- "original": "string",
1164
- "resolved": "string",
1165
- "references": {}
1166
- },
1167
- "required": false,
1168
- "optional": false,
1169
- "docs": {
1170
- "tags": [],
1171
- "text": "string: Field using which table will be sorted"
1172
- },
1173
- "attribute": "sort-field",
1174
- "reflect": false
1175
- },
1176
- "sortOrder": {
1177
- "type": "string",
1178
- "mutable": false,
1179
- "complexType": {
1180
- "original": "'asc' | 'desc'",
1181
- "resolved": "\"asc\" | \"desc\"",
1182
- "references": {}
1183
- },
1184
- "required": false,
1185
- "optional": false,
1186
- "docs": {
1187
- "tags": [],
1188
- "text": "string(asc/desc): Sorting order - Ascending or Descending"
1189
- },
1190
- "attribute": "sort-order",
1191
- "reflect": false
1192
1178
  }
1193
1179
  };
1194
1180
  }
@@ -104,4 +104,5 @@
104
104
  .pagination-count {
105
105
  color: var(--calcite-color-brand);
106
106
  border-bottom: 1px solid var(--calcite-color-brand);
107
+ font-weight: bold;
107
108
  }
@@ -80,8 +80,6 @@ export class LayerTable {
80
80
  this.shareIncludeEmbed = undefined;
81
81
  this.shareIncludeSocial = undefined;
82
82
  this.showNewestFirst = undefined;
83
- this.sortField = undefined;
84
- this.sortOrder = undefined;
85
83
  this.zoomAndScrollToSelected = undefined;
86
84
  this.zoomToScale = undefined;
87
85
  this._allIds = [];
@@ -309,7 +307,7 @@ export class LayerTable {
309
307
  const selected = this.selectedIds.length.toString();
310
308
  const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
311
309
  this._validateActiveActions();
312
- return (h(Host, { key: '69a8f1d8c41eb82d6f39f6c580f78369f372567f' }, h("calcite-shell", { key: '3cb7997d918af450d04b95e1a236e09400b30af1' }, this._getTableControlRow("header"), h("div", { key: '1f0e84f1759c0333acee402a603923ca96e7d9e4', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: 'b62bedc4c924f0d0a30e2746a532270c2a4d4a4b', class: "height-full width-full" }, h("calcite-loader", { key: 'e28017e4c3aba559774965f2cbff0fcb83f9ab2d', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: 'efc520212f53c3db46574c7caf5d9f9835b83a2c', class: tableNodeClass, ref: this.onTableNodeCreate })), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
310
+ return (h(Host, { key: '1077bca0d3f59ed86999449c2c5428e4aa65b30f' }, h("calcite-shell", { key: '02b7a7512cfdc8958251ae00709b971f9bfff6df' }, this._getTableControlRow("header"), h("div", { key: '83d03238c368cd332714f4434297a9a4f9d47ec4', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: '18927c7c65687c9df28f69b1e66f542be05e8c52', class: "height-full width-full" }, h("calcite-loader", { key: '51ed528d5676b983c27b50b098dd8785a3c7b591', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: '4e51683f468b29b6dcdf1a588cdfedb37a02166f', class: tableNodeClass, ref: this.onTableNodeCreate })), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
313
311
  .replace("{{total}}", total)
314
312
  .replace("{{selected}}", selected))) : undefined)), this._filterModal()));
315
313
  }
@@ -1109,16 +1107,27 @@ export class LayerTable {
1109
1107
  this._deleteEnabled = this._layer.editingEnabled && this._layer.capabilities.operations.supportsDelete;
1110
1108
  }
1111
1109
  /**
1112
- * Sort the table with the configured field in the configured sort order
1110
+ * Sort the table with the configured field and the sort order
1113
1111
  */
1114
1112
  async _sortTable() {
1115
- var _a, _b, _c, _d, _e, _f;
1116
- let sortField = this.sortField ? this.sortField : this._layer.objectIdField;
1113
+ var _a, _b, _c, _d;
1114
+ //By default sort the table using objectIdField and in descending order
1115
+ let sortField = this._layer.objectIdField;
1116
+ let sortOrder = 'desc';
1117
+ let configuredLayer;
1118
+ //get the sortField and sortOrder from the configuration
1117
1119
  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) {
1118
- const configuredLayer = (_d = this.mapInfo.layerOptions) === null || _d === void 0 ? void 0 : _d.layers.filter((layer) => layer.id === this._layer.id);
1119
- 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;
1120
+ configuredLayer = this.mapInfo.layerOptions.layers.filter((layer) => layer.id === this._layer.id);
1121
+ if (configuredLayer && configuredLayer.length > 0) {
1122
+ configuredLayer = configuredLayer[0];
1123
+ //if sort field is defined and sortField is available in the fields then use it
1124
+ if (configuredLayer.sortField && ((_d = configuredLayer.fields) === null || _d === void 0 ? void 0 : _d.includes(configuredLayer.sortField))) {
1125
+ sortField = configuredLayer.sortField;
1126
+ }
1127
+ //use sort order if configured
1128
+ sortOrder = (configuredLayer === null || configuredLayer === void 0 ? void 0 : configuredLayer.sortOrder) ? configuredLayer.sortOrder : "desc";
1129
+ }
1120
1130
  }
1121
- const sortOrder = this.sortOrder ? this.sortOrder : 'desc';
1122
1131
  if (this._table && this._layer) {
1123
1132
  await this._table.when();
1124
1133
  await this._layer.when(() => {
@@ -1770,40 +1779,6 @@ export class LayerTable {
1770
1779
  "attribute": "show-newest-first",
1771
1780
  "reflect": false
1772
1781
  },
1773
- "sortField": {
1774
- "type": "string",
1775
- "mutable": false,
1776
- "complexType": {
1777
- "original": "string",
1778
- "resolved": "string",
1779
- "references": {}
1780
- },
1781
- "required": false,
1782
- "optional": false,
1783
- "docs": {
1784
- "tags": [],
1785
- "text": "string: Field using which table will be sorted"
1786
- },
1787
- "attribute": "sort-field",
1788
- "reflect": false
1789
- },
1790
- "sortOrder": {
1791
- "type": "string",
1792
- "mutable": false,
1793
- "complexType": {
1794
- "original": "'asc' | 'desc'",
1795
- "resolved": "\"asc\" | \"desc\"",
1796
- "references": {}
1797
- },
1798
- "required": false,
1799
- "optional": false,
1800
- "docs": {
1801
- "tags": [],
1802
- "text": "string(asc/desc): Sorting order - Ascending or Descending"
1803
- },
1804
- "attribute": "sort-order",
1805
- "reflect": false
1806
- },
1807
1782
  "zoomAndScrollToSelected": {
1808
1783
  "type": "boolean",
1809
1784
  "mutable": false,
@@ -29,7 +29,7 @@
29
29
 
30
30
  <link rel="stylesheet" href="https://jsdev.arcgis.com/4.30/esri/themes/light/main.css" />
31
31
  <!-- <link rel="stylesheet" href="https://jsdev.arcgis.com/4.29/esri/themes/dark/main.css" /> -->
32
- <link rel="stylesheet" type="text/css" href="https://js.arcgis.com/calcite-components/2.0.0/calcite.css" />
32
+ <link rel="stylesheet" type="text/css" href="https://js.arcgis.com/calcite-components/2.8.2/calcite.css" />
33
33
 
34
34
  <link rel="stylesheet" href="https://webapps-cdn.esri.com/CDN/fonts/v1.4.1/fonts.css" />
35
35
  <link rel="stylesheet" href="../solutions-components.css" type="text/css">
@@ -175,7 +175,9 @@
175
175
  ],
176
176
  fieldOrder: [
177
177
  "Your_Stars", "Route", "Location", "URL", "Avg_Stars", "Route_Type", "Rating", "Pitches", "Length", "Area_Latitude", "Area_Longitude", "ObjectId"
178
- ]
178
+ ],
179
+ sortField: "Avg_Stars",
180
+ sortOrder: "asc"
179
181
  }],
180
182
  mapId: "91e220910a994da4abfb0d1763d64ecb"
181
183
  }
@@ -78,7 +78,7 @@
78
78
  <link rel="stylesheet" href="https://jsdev.arcgis.com/4.29/esri/themes/light/main.css"/>
79
79
  <link rel="stylesheet" href="https://webapps-cdn.esri.com/CDN/fonts/v1.4.1/fonts.css" />
80
80
  <link rel="stylesheet" href="../solutions-components.css" type="text/css">
81
- <link rel="stylesheet" type="text/css" href="https://js.arcgis.com/calcite-components/2.0.0/calcite.css" />
81
+ <link rel="stylesheet" type="text/css" href="https://js.arcgis.com/calcite-components/2.8.2/calcite.css" />
82
82
 
83
83
  <script src="https://jsdev.arcgis.com/4.29/"></script>
84
84
  <script type="module" src="../solutions-components.esm.js"></script>
@@ -470,6 +470,8 @@ export interface ILayerDef {
470
470
  sublayerId?: number;
471
471
  fields?: string[];
472
472
  fieldOrder?: string[];
473
+ sortField?: string;
474
+ sortOrder?: 'asc' | 'desc';
473
475
  }
474
476
 
475
477
  export interface IMapChange {
@@ -102,6 +102,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
102
102
  this.defaultLevel = "";
103
103
  this.defaultOid = "";
104
104
  this.defaultWebmap = "";
105
+ this.introductionPageEnabled = false;
105
106
  this.enableAutoRefresh = false;
106
107
  this.enableBasemap = true;
107
108
  this.enableColumnReorder = true;
@@ -128,8 +129,6 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
128
129
  this.theme = "light";
129
130
  this.zoomAndScrollToSelected = false;
130
131
  this.zoomToScale = undefined;
131
- this.sortField = undefined;
132
- this.sortOrder = undefined;
133
132
  this._expandPopup = this.hideMapOnLoad;
134
133
  this._hideFooter = false;
135
134
  this._hideTable = false;
@@ -236,7 +235,9 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
236
235
  * Renders the component.
237
236
  */
238
237
  render() {
239
- return (h(Host, { key: '686aeccc0f97c1eb8bc1b673d8816663e80fdf71' }, h("calcite-shell", { key: 'f3451483cdbafa8b68a00b71e9927bbff55781b9', class: "position-relative" }, h("calcite-panel", { key: '8256440e1cefa8f25bf1af1f9a1e87650c34462d', class: `width-full height-full border-width-0` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
238
+ // only avoid border when we have a header color that is not white
239
+ const borderClass = this.popupHeaderColor && this.popupHeaderColor !== "#FFFFFF" ? "border-width-0" : "";
240
+ return (h(Host, { key: '175124a05c83f6f02bef1378a20e5a3ed083ce00' }, h("calcite-shell", { key: '10677408a11bbe6196a95622a7a5f69fd3766c20', class: "position-relative" }, h("calcite-panel", { key: 'd3f044385482089d2dd5a457c2de4b3cc748e7c6', class: `width-full height-full ${borderClass}` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
240
241
  }
241
242
  /**
242
243
  * Called after each render
@@ -356,7 +357,8 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
356
357
  _getBody(layoutMode, panelOpen, hideTable) {
357
358
  const contentClass = layoutMode === ELayoutMode.HORIZONTAL ? "" : "display-flex";
358
359
  const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
359
- return (h("calcite-panel", { class: "width-full height-full" }, h("div", { class: `width-full height-full overflow-hidden ${contentClass}` }, this._getMapAndCard(layoutMode, panelOpen, hideTable), this._getTable(layoutMode, panelOpen, hideTable)), h("div", { class: "floating-container", onClick: this.infoButtonClick.bind(this) }, h("calcite-button", { appearance: "solid", class: `floating-button ${themeClass}`, "icon-start": "information-letter", kind: "neutral", label: "", round: true, scale: "l", "split-child": "primary", width: "auto" }))));
360
+ return (h("calcite-panel", { class: "width-full height-full" }, h("div", { class: `width-full height-full overflow-hidden ${contentClass}` }, this._getMapAndCard(layoutMode, panelOpen, hideTable), this._getTable(layoutMode, panelOpen, hideTable)), this.coverPageEnabled &&
361
+ h("div", { class: "floating-container", onClick: this.infoButtonClick.bind(this) }, h("calcite-button", { appearance: "solid", class: `floating-button ${themeClass}`, "icon-start": "information-letter", kind: "neutral", label: "", round: true, scale: "l", "split-child": "primary", width: "auto" }))));
360
362
  }
361
363
  /**
362
364
  * Emit the event when info button clicked
@@ -409,10 +411,10 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
409
411
  const headerTheme = this.popupHeaderColor ? "" : !this._isMobile ? "calcite-mode-dark" : "calcite-mode-light";
410
412
  const containerClass = this._isMobile && this._hideTable ? "position-absolute-0 width-full height-full" : this._isMobile ? "display-none height-0" : "";
411
413
  return (h("div", { class: `${headerTheme} ${popupNodeClass} ${containerClass}`, style: {
412
- '--calcite-color-foreground-1': this.popupHeaderColor, /* background color to apply to the popup header */
413
- '--calcite-color-foreground-2': this.popupHeaderHoverColor, /* color that will be displayed on hover when expanding the popup header */
414
- '--calcite-color-text-3': this.popupHeaderHoverTextColor, /* font color that will be displayed on hover when expanding the popup header */
415
- '--calcite-color-text-2': this.popupHeaderTextColor, /* font color to apply to the popup header */
414
+ '--calcite-color-foreground-1': this.popupHeaderColor, /* background color that will be displayed on the popup header */
415
+ '--calcite-color-foreground-2': this.popupHeaderHoverColor, /* background color that will be displayed on button when hovered */
416
+ '--calcite-color-text-3': this.popupHeaderTextColor, /* font color that will be displayed on button */
417
+ '--calcite-color-text-2': this.popupHeaderTextColor, /* font color that will be displayed on popup header text*/
416
418
  } }, h("calcite-panel", null, !this._isMobile ? (h("div", { class: `display-flex align-items-center ${headerClass}`, slot: "header-content" }, h("calcite-icon", { icon: "information", scale: "s" }), h("div", { class: "padding-inline-start-75" }, this._translations.information))) : undefined, h("calcite-action", { class: headerClass, disabled: this._tableOnly, icon: icon, id: id, onClick: () => this._togglePopup(), slot: "header-actions-end", text: "" }), !this._tableOnly ? h("calcite-tooltip", { class: themeClass, label: "", placement: "bottom", "reference-element": id }, h("span", null, tooltip)) : undefined, this._getCardNode())));
417
419
  }
418
420
  /**
@@ -457,7 +459,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
457
459
  ((_a = this.defaultGlobalId) === null || _a === void 0 ? void 0 : _a.indexOf(",")) > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
458
460
  const defaultOid = !this.defaultOid ? undefined :
459
461
  ((_b = this.defaultOid) === null || _b === void 0 ? void 0 : _b.indexOf(",")) > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
460
- 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, sortField: this.sortField, sortOrder: this.sortOrder, zoomAndScrollToSelected: this.zoomAndScrollToSelected, zoomToScale: this.zoomToScale }))));
462
+ 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 }))));
461
463
  }
462
464
  /**
463
465
  * Update the component layout when its size changes
@@ -570,6 +572,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
570
572
  "defaultLevel": [1, "default-level"],
571
573
  "defaultOid": [1, "default-oid"],
572
574
  "defaultWebmap": [1, "default-webmap"],
575
+ "introductionPageEnabled": [4, "introduction-page-enabled"],
573
576
  "enableAutoRefresh": [4, "enable-auto-refresh"],
574
577
  "enableBasemap": [4, "enable-basemap"],
575
578
  "enableColumnReorder": [4, "enable-column-reorder"],
@@ -596,8 +599,6 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
596
599
  "theme": [1],
597
600
  "zoomAndScrollToSelected": [4, "zoom-and-scroll-to-selected"],
598
601
  "zoomToScale": [2, "zoom-to-scale"],
599
- "sortField": [1, "sort-field"],
600
- "sortOrder": [1, "sort-order"],
601
602
  "_expandPopup": [32],
602
603
  "_hideFooter": [32],
603
604
  "_hideTable": [32],
@@ -24,7 +24,7 @@ import { d as defineCustomElement$3 } from './tooltip.js';
24
24
  import { d as defineCustomElement$2 } from './delete-button2.js';
25
25
  import { d as defineCustomElement$1 } from './edit-card2.js';
26
26
 
27
- const infoCardCss = ":host{display:block;--calcite-label-margin-bottom:0}.padding-1-2{padding:0.5rem}.display-none{display:none !important}.display-flex{display:flex}.position-absolute{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.feature-node{position:relative !important}.feature-node .esri-features__footer{display:none !important}.button-container{justify-content:center;align-items:center}.top-border{border-top:1px solid var(--calcite-color-border-1)}.width-100{width:100%}.esri-features__container{padding:0.5rem !important;background-color:var(--calcite-color-foreground-1) !important;height:100% !important}.overflow-hidden{overflow:hidden}.height-40{height:40px}.end-border{border-inline-end:1px solid var(--calcite-color-border-1)}.font-bold{font-weight:bold}.visibility-hidden{visibility:hidden;height:0px}.padding-inline-start-1{padding-inline-start:1rem}.border-width-0{border-width:0px}.pagination-action{position:relative;left:3px}.pagination-count{color:var(--calcite-color-brand);border-bottom:1px solid var(--calcite-color-brand)}";
27
+ const infoCardCss = ":host{display:block;--calcite-label-margin-bottom:0}.padding-1-2{padding:0.5rem}.display-none{display:none !important}.display-flex{display:flex}.position-absolute{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.feature-node{position:relative !important}.feature-node .esri-features__footer{display:none !important}.button-container{justify-content:center;align-items:center}.top-border{border-top:1px solid var(--calcite-color-border-1)}.width-100{width:100%}.esri-features__container{padding:0.5rem !important;background-color:var(--calcite-color-foreground-1) !important;height:100% !important}.overflow-hidden{overflow:hidden}.height-40{height:40px}.end-border{border-inline-end:1px solid var(--calcite-color-border-1)}.font-bold{font-weight:bold}.visibility-hidden{visibility:hidden;height:0px}.padding-inline-start-1{padding-inline-start:1rem}.border-width-0{border-width:0px}.pagination-action{position:relative;left:3px}.pagination-count{color:var(--calcite-color-brand);border-bottom:1px solid var(--calcite-color-brand);font-weight:bold}";
28
28
  const InfoCardStyle0 = infoCardCss;
29
29
 
30
30
  const InfoCard = /*@__PURE__*/ proxyCustomElement(class InfoCard extends HTMLElement {
@@ -110,8 +110,6 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
110
110
  this.shareIncludeEmbed = undefined;
111
111
  this.shareIncludeSocial = undefined;
112
112
  this.showNewestFirst = undefined;
113
- this.sortField = undefined;
114
- this.sortOrder = undefined;
115
113
  this.zoomAndScrollToSelected = undefined;
116
114
  this.zoomToScale = undefined;
117
115
  this._allIds = [];
@@ -339,7 +337,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
339
337
  const selected = this.selectedIds.length.toString();
340
338
  const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
341
339
  this._validateActiveActions();
342
- return (h(Host, { key: '69a8f1d8c41eb82d6f39f6c580f78369f372567f' }, h("calcite-shell", { key: '3cb7997d918af450d04b95e1a236e09400b30af1' }, this._getTableControlRow("header"), h("div", { key: '1f0e84f1759c0333acee402a603923ca96e7d9e4', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: 'b62bedc4c924f0d0a30e2746a532270c2a4d4a4b', class: "height-full width-full" }, h("calcite-loader", { key: 'e28017e4c3aba559774965f2cbff0fcb83f9ab2d', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: 'efc520212f53c3db46574c7caf5d9f9835b83a2c', class: tableNodeClass, ref: this.onTableNodeCreate })), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
340
+ return (h(Host, { key: '1077bca0d3f59ed86999449c2c5428e4aa65b30f' }, h("calcite-shell", { key: '02b7a7512cfdc8958251ae00709b971f9bfff6df' }, this._getTableControlRow("header"), h("div", { key: '83d03238c368cd332714f4434297a9a4f9d47ec4', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: '18927c7c65687c9df28f69b1e66f542be05e8c52', class: "height-full width-full" }, h("calcite-loader", { key: '51ed528d5676b983c27b50b098dd8785a3c7b591', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: '4e51683f468b29b6dcdf1a588cdfedb37a02166f', class: tableNodeClass, ref: this.onTableNodeCreate })), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
343
341
  .replace("{{total}}", total)
344
342
  .replace("{{selected}}", selected))) : undefined)), this._filterModal()));
345
343
  }
@@ -1139,16 +1137,27 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
1139
1137
  this._deleteEnabled = this._layer.editingEnabled && this._layer.capabilities.operations.supportsDelete;
1140
1138
  }
1141
1139
  /**
1142
- * Sort the table with the configured field in the configured sort order
1140
+ * Sort the table with the configured field and the sort order
1143
1141
  */
1144
1142
  async _sortTable() {
1145
- var _a, _b, _c, _d, _e, _f;
1146
- let sortField = this.sortField ? this.sortField : this._layer.objectIdField;
1143
+ var _a, _b, _c, _d;
1144
+ //By default sort the table using objectIdField and in descending order
1145
+ let sortField = this._layer.objectIdField;
1146
+ let sortOrder = 'desc';
1147
+ let configuredLayer;
1148
+ //get the sortField and sortOrder from the configuration
1147
1149
  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) {
1148
- const configuredLayer = (_d = this.mapInfo.layerOptions) === null || _d === void 0 ? void 0 : _d.layers.filter((layer) => layer.id === this._layer.id);
1149
- 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;
1150
+ configuredLayer = this.mapInfo.layerOptions.layers.filter((layer) => layer.id === this._layer.id);
1151
+ if (configuredLayer && configuredLayer.length > 0) {
1152
+ configuredLayer = configuredLayer[0];
1153
+ //if sort field is defined and sortField is available in the fields then use it
1154
+ if (configuredLayer.sortField && ((_d = configuredLayer.fields) === null || _d === void 0 ? void 0 : _d.includes(configuredLayer.sortField))) {
1155
+ sortField = configuredLayer.sortField;
1156
+ }
1157
+ //use sort order if configured
1158
+ sortOrder = (configuredLayer === null || configuredLayer === void 0 ? void 0 : configuredLayer.sortOrder) ? configuredLayer.sortOrder : "desc";
1159
+ }
1150
1160
  }
1151
- const sortOrder = this.sortOrder ? this.sortOrder : 'desc';
1152
1161
  if (this._table && this._layer) {
1153
1162
  await this._table.when();
1154
1163
  await this._layer.when(() => {
@@ -1544,8 +1553,6 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
1544
1553
  "shareIncludeEmbed": [4, "share-include-embed"],
1545
1554
  "shareIncludeSocial": [4, "share-include-social"],
1546
1555
  "showNewestFirst": [4, "show-newest-first"],
1547
- "sortField": [1, "sort-field"],
1548
- "sortOrder": [1, "sort-order"],
1549
1556
  "zoomAndScrollToSelected": [4, "zoom-and-scroll-to-selected"],
1550
1557
  "zoomToScale": [2, "zoom-to-scale"],
1551
1558
  "_allIds": [32],
@@ -666,7 +666,7 @@ const EditCard = class {
666
666
  };
667
667
  EditCard.style = EditCardStyle0;
668
668
 
669
- const infoCardCss = ":host{display:block;--calcite-label-margin-bottom:0}.padding-1-2{padding:0.5rem}.display-none{display:none !important}.display-flex{display:flex}.position-absolute{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.feature-node{position:relative !important}.feature-node .esri-features__footer{display:none !important}.button-container{justify-content:center;align-items:center}.top-border{border-top:1px solid var(--calcite-color-border-1)}.width-100{width:100%}.esri-features__container{padding:0.5rem !important;background-color:var(--calcite-color-foreground-1) !important;height:100% !important}.overflow-hidden{overflow:hidden}.height-40{height:40px}.end-border{border-inline-end:1px solid var(--calcite-color-border-1)}.font-bold{font-weight:bold}.visibility-hidden{visibility:hidden;height:0px}.padding-inline-start-1{padding-inline-start:1rem}.border-width-0{border-width:0px}.pagination-action{position:relative;left:3px}.pagination-count{color:var(--calcite-color-brand);border-bottom:1px solid var(--calcite-color-brand)}";
669
+ const infoCardCss = ":host{display:block;--calcite-label-margin-bottom:0}.padding-1-2{padding:0.5rem}.display-none{display:none !important}.display-flex{display:flex}.position-absolute{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.feature-node{position:relative !important}.feature-node .esri-features__footer{display:none !important}.button-container{justify-content:center;align-items:center}.top-border{border-top:1px solid var(--calcite-color-border-1)}.width-100{width:100%}.esri-features__container{padding:0.5rem !important;background-color:var(--calcite-color-foreground-1) !important;height:100% !important}.overflow-hidden{overflow:hidden}.height-40{height:40px}.end-border{border-inline-end:1px solid var(--calcite-color-border-1)}.font-bold{font-weight:bold}.visibility-hidden{visibility:hidden;height:0px}.padding-inline-start-1{padding-inline-start:1rem}.border-width-0{border-width:0px}.pagination-action{position:relative;left:3px}.pagination-count{color:var(--calcite-color-brand);border-bottom:1px solid var(--calcite-color-brand);font-weight:bold}";
670
670
  const InfoCardStyle0 = infoCardCss;
671
671
 
672
672
  const InfoCard = class {
@@ -162,8 +162,6 @@ const LayerTable = class {
162
162
  this.shareIncludeEmbed = undefined;
163
163
  this.shareIncludeSocial = undefined;
164
164
  this.showNewestFirst = undefined;
165
- this.sortField = undefined;
166
- this.sortOrder = undefined;
167
165
  this.zoomAndScrollToSelected = undefined;
168
166
  this.zoomToScale = undefined;
169
167
  this._allIds = [];
@@ -391,7 +389,7 @@ const LayerTable = class {
391
389
  const selected = this.selectedIds.length.toString();
392
390
  const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
393
391
  this._validateActiveActions();
394
- return (h(Host, { key: '69a8f1d8c41eb82d6f39f6c580f78369f372567f' }, h("calcite-shell", { key: '3cb7997d918af450d04b95e1a236e09400b30af1' }, this._getTableControlRow("header"), h("div", { key: '1f0e84f1759c0333acee402a603923ca96e7d9e4', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: 'b62bedc4c924f0d0a30e2746a532270c2a4d4a4b', class: "height-full width-full" }, h("calcite-loader", { key: 'e28017e4c3aba559774965f2cbff0fcb83f9ab2d', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: 'efc520212f53c3db46574c7caf5d9f9835b83a2c', class: tableNodeClass, ref: this.onTableNodeCreate })), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
392
+ return (h(Host, { key: '1077bca0d3f59ed86999449c2c5428e4aa65b30f' }, h("calcite-shell", { key: '02b7a7512cfdc8958251ae00709b971f9bfff6df' }, this._getTableControlRow("header"), h("div", { key: '83d03238c368cd332714f4434297a9a4f9d47ec4', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: '18927c7c65687c9df28f69b1e66f542be05e8c52', class: "height-full width-full" }, h("calcite-loader", { key: '51ed528d5676b983c27b50b098dd8785a3c7b591', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: '4e51683f468b29b6dcdf1a588cdfedb37a02166f', class: tableNodeClass, ref: this.onTableNodeCreate })), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
395
393
  .replace("{{total}}", total)
396
394
  .replace("{{selected}}", selected))) : undefined)), this._filterModal()));
397
395
  }
@@ -1191,16 +1189,27 @@ const LayerTable = class {
1191
1189
  this._deleteEnabled = this._layer.editingEnabled && this._layer.capabilities.operations.supportsDelete;
1192
1190
  }
1193
1191
  /**
1194
- * Sort the table with the configured field in the configured sort order
1192
+ * Sort the table with the configured field and the sort order
1195
1193
  */
1196
1194
  async _sortTable() {
1197
- var _a, _b, _c, _d, _e, _f;
1198
- let sortField = this.sortField ? this.sortField : this._layer.objectIdField;
1195
+ var _a, _b, _c, _d;
1196
+ //By default sort the table using objectIdField and in descending order
1197
+ let sortField = this._layer.objectIdField;
1198
+ let sortOrder = 'desc';
1199
+ let configuredLayer;
1200
+ //get the sortField and sortOrder from the configuration
1199
1201
  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) {
1200
- const configuredLayer = (_d = this.mapInfo.layerOptions) === null || _d === void 0 ? void 0 : _d.layers.filter((layer) => layer.id === this._layer.id);
1201
- 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;
1202
+ configuredLayer = this.mapInfo.layerOptions.layers.filter((layer) => layer.id === this._layer.id);
1203
+ if (configuredLayer && configuredLayer.length > 0) {
1204
+ configuredLayer = configuredLayer[0];
1205
+ //if sort field is defined and sortField is available in the fields then use it
1206
+ if (configuredLayer.sortField && ((_d = configuredLayer.fields) === null || _d === void 0 ? void 0 : _d.includes(configuredLayer.sortField))) {
1207
+ sortField = configuredLayer.sortField;
1208
+ }
1209
+ //use sort order if configured
1210
+ sortOrder = (configuredLayer === null || configuredLayer === void 0 ? void 0 : configuredLayer.sortOrder) ? configuredLayer.sortOrder : "desc";
1211
+ }
1202
1212
  }
1203
- const sortOrder = this.sortOrder ? this.sortOrder : 'desc';
1204
1213
  if (this._table && this._layer) {
1205
1214
  await this._table.when();
1206
1215
  await this._layer.when(() => {
@@ -45,6 +45,7 @@ const CrowdsourceManager = class {
45
45
  this.defaultLevel = "";
46
46
  this.defaultOid = "";
47
47
  this.defaultWebmap = "";
48
+ this.introductionPageEnabled = false;
48
49
  this.enableAutoRefresh = false;
49
50
  this.enableBasemap = true;
50
51
  this.enableColumnReorder = true;
@@ -71,8 +72,6 @@ const CrowdsourceManager = class {
71
72
  this.theme = "light";
72
73
  this.zoomAndScrollToSelected = false;
73
74
  this.zoomToScale = undefined;
74
- this.sortField = undefined;
75
- this.sortOrder = undefined;
76
75
  this._expandPopup = this.hideMapOnLoad;
77
76
  this._hideFooter = false;
78
77
  this._hideTable = false;
@@ -179,7 +178,9 @@ const CrowdsourceManager = class {
179
178
  * Renders the component.
180
179
  */
181
180
  render() {
182
- return (h(Host, { key: '686aeccc0f97c1eb8bc1b673d8816663e80fdf71' }, h("calcite-shell", { key: 'f3451483cdbafa8b68a00b71e9927bbff55781b9', class: "position-relative" }, h("calcite-panel", { key: '8256440e1cefa8f25bf1af1f9a1e87650c34462d', class: `width-full height-full border-width-0` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
181
+ // only avoid border when we have a header color that is not white
182
+ const borderClass = this.popupHeaderColor && this.popupHeaderColor !== "#FFFFFF" ? "border-width-0" : "";
183
+ return (h(Host, { key: '175124a05c83f6f02bef1378a20e5a3ed083ce00' }, h("calcite-shell", { key: '10677408a11bbe6196a95622a7a5f69fd3766c20', class: "position-relative" }, h("calcite-panel", { key: 'd3f044385482089d2dd5a457c2de4b3cc748e7c6', class: `width-full height-full ${borderClass}` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
183
184
  }
184
185
  /**
185
186
  * Called after each render
@@ -299,7 +300,8 @@ const CrowdsourceManager = class {
299
300
  _getBody(layoutMode, panelOpen, hideTable) {
300
301
  const contentClass = layoutMode === ELayoutMode.HORIZONTAL ? "" : "display-flex";
301
302
  const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
302
- return (h("calcite-panel", { class: "width-full height-full" }, h("div", { class: `width-full height-full overflow-hidden ${contentClass}` }, this._getMapAndCard(layoutMode, panelOpen, hideTable), this._getTable(layoutMode, panelOpen, hideTable)), h("div", { class: "floating-container", onClick: this.infoButtonClick.bind(this) }, h("calcite-button", { appearance: "solid", class: `floating-button ${themeClass}`, "icon-start": "information-letter", kind: "neutral", label: "", round: true, scale: "l", "split-child": "primary", width: "auto" }))));
303
+ return (h("calcite-panel", { class: "width-full height-full" }, h("div", { class: `width-full height-full overflow-hidden ${contentClass}` }, this._getMapAndCard(layoutMode, panelOpen, hideTable), this._getTable(layoutMode, panelOpen, hideTable)), this.coverPageEnabled &&
304
+ h("div", { class: "floating-container", onClick: this.infoButtonClick.bind(this) }, h("calcite-button", { appearance: "solid", class: `floating-button ${themeClass}`, "icon-start": "information-letter", kind: "neutral", label: "", round: true, scale: "l", "split-child": "primary", width: "auto" }))));
303
305
  }
304
306
  /**
305
307
  * Emit the event when info button clicked
@@ -352,10 +354,10 @@ const CrowdsourceManager = class {
352
354
  const headerTheme = this.popupHeaderColor ? "" : !this._isMobile ? "calcite-mode-dark" : "calcite-mode-light";
353
355
  const containerClass = this._isMobile && this._hideTable ? "position-absolute-0 width-full height-full" : this._isMobile ? "display-none height-0" : "";
354
356
  return (h("div", { class: `${headerTheme} ${popupNodeClass} ${containerClass}`, style: {
355
- '--calcite-color-foreground-1': this.popupHeaderColor, /* background color to apply to the popup header */
356
- '--calcite-color-foreground-2': this.popupHeaderHoverColor, /* color that will be displayed on hover when expanding the popup header */
357
- '--calcite-color-text-3': this.popupHeaderHoverTextColor, /* font color that will be displayed on hover when expanding the popup header */
358
- '--calcite-color-text-2': this.popupHeaderTextColor, /* font color to apply to the popup header */
357
+ '--calcite-color-foreground-1': this.popupHeaderColor, /* background color that will be displayed on the popup header */
358
+ '--calcite-color-foreground-2': this.popupHeaderHoverColor, /* background color that will be displayed on button when hovered */
359
+ '--calcite-color-text-3': this.popupHeaderTextColor, /* font color that will be displayed on button */
360
+ '--calcite-color-text-2': this.popupHeaderTextColor, /* font color that will be displayed on popup header text*/
359
361
  } }, h("calcite-panel", null, !this._isMobile ? (h("div", { class: `display-flex align-items-center ${headerClass}`, slot: "header-content" }, h("calcite-icon", { icon: "information", scale: "s" }), h("div", { class: "padding-inline-start-75" }, this._translations.information))) : undefined, h("calcite-action", { class: headerClass, disabled: this._tableOnly, icon: icon, id: id, onClick: () => this._togglePopup(), slot: "header-actions-end", text: "" }), !this._tableOnly ? h("calcite-tooltip", { class: themeClass, label: "", placement: "bottom", "reference-element": id }, h("span", null, tooltip)) : undefined, this._getCardNode())));
360
362
  }
361
363
  /**
@@ -400,7 +402,7 @@ const CrowdsourceManager = class {
400
402
  ((_a = this.defaultGlobalId) === null || _a === void 0 ? void 0 : _a.indexOf(",")) > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
401
403
  const defaultOid = !this.defaultOid ? undefined :
402
404
  ((_b = this.defaultOid) === null || _b === void 0 ? void 0 : _b.indexOf(",")) > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
403
- 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, sortField: this.sortField, sortOrder: this.sortOrder, zoomAndScrollToSelected: this.zoomAndScrollToSelected, zoomToScale: this.zoomToScale }))));
405
+ 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 }))));
404
406
  }
405
407
  /**
406
408
  * Update the component layout when its size changes