@esri/solutions-components 0.8.11 → 0.8.12
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/card-manager_3.cjs.entry.js +19 -6
- package/dist/cjs/crowdsource-manager.cjs.entry.js +5 -5
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +39 -5
- package/dist/collection/components/layer-table/layer-table.js +71 -7
- package/dist/collection/demos/crowdsource-manager.html +0 -1
- package/dist/components/crowdsource-manager.js +7 -5
- package/dist/components/crowdsource-reporter.js +1 -1
- package/dist/components/feature-list2.js +1 -1
- package/dist/components/layer-list2.js +1 -1
- package/dist/components/layer-table2.js +23 -7
- package/dist/components/map-layer-picker2.js +1 -1
- package/dist/components/map-select-tools2.js +1 -1
- package/dist/components/mapViewUtils.js +1 -1
- package/dist/components/refine-selection2.js +1 -1
- package/dist/esm/card-manager_3.entry.js +20 -7
- package/dist/esm/crowdsource-manager.entry.js +5 -5
- package/dist/esm/loader.js +1 -1
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/demos/crowdsource-manager.html +0 -1
- package/dist/solutions-components/p-206caa2d.entry.js +6 -0
- package/dist/solutions-components/p-a09daea3.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +8 -0
- package/dist/types/components/layer-table/layer-table.d.ts +14 -2
- package/dist/types/components.d.ts +40 -0
- package/package.json +1 -1
- package/dist/solutions-components/p-40039b84.entry.js +0 -6
- package/dist/solutions-components/p-ae75d7d7.entry.js +0 -6
@@ -78,6 +78,8 @@ export class CrowdsourceManager {
|
|
78
78
|
this.theme = "light";
|
79
79
|
this.zoomAndScrollToSelected = false;
|
80
80
|
this.zoomToScale = undefined;
|
81
|
+
this.sortField = undefined;
|
82
|
+
this.sortOrder = undefined;
|
81
83
|
this._expandPopup = this.hideMapOnLoad;
|
82
84
|
this._hideFooter = false;
|
83
85
|
this._hideTable = false;
|
@@ -184,9 +186,7 @@ export class CrowdsourceManager {
|
|
184
186
|
* Renders the component.
|
185
187
|
*/
|
186
188
|
render() {
|
187
|
-
|
188
|
-
this._isMobile ? "border-bottom-width-0" : "";
|
189
|
-
return (h(Host, null, h("calcite-shell", { class: "position-relative" }, h("calcite-panel", { class: `width-full height-full ${borderClass}` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
|
189
|
+
return (h(Host, null, h("calcite-shell", { class: "position-relative" }, h("calcite-panel", { class: `width-full height-full border-width-0` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
|
190
190
|
}
|
191
191
|
/**
|
192
192
|
* Called after each render
|
@@ -356,7 +356,7 @@ export class CrowdsourceManager {
|
|
356
356
|
const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
|
357
357
|
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";
|
358
358
|
const headerClass = this._isMobile ? "display-none height-0" : "";
|
359
|
-
const headerTheme = !this._isMobile ? "calcite-mode-dark" : "calcite-mode-light";
|
359
|
+
const headerTheme = this.popupHeaderColor ? "" : !this._isMobile ? "calcite-mode-dark" : "calcite-mode-light";
|
360
360
|
const containerClass = this._isMobile && this._hideTable ? "position-absolute-0 width-full height-full" : this._isMobile ? "display-none height-0" : "";
|
361
361
|
return (h("div", { class: `${headerTheme} ${popupNodeClass} ${containerClass}`, style: {
|
362
362
|
'--calcite-color-foreground-1': this.popupHeaderColor,
|
@@ -407,7 +407,7 @@ export class CrowdsourceManager {
|
|
407
407
|
((_a = this.defaultGlobalId) === null || _a === void 0 ? void 0 : _a.indexOf(",")) > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
|
408
408
|
const defaultOid = !this.defaultOid ? undefined :
|
409
409
|
((_b = this.defaultOid) === null || _b === void 0 ? void 0 : _b.indexOf(",")) > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
|
410
|
-
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 }))));
|
410
|
+
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 }))));
|
411
411
|
}
|
412
412
|
/**
|
413
413
|
* Update the component layout when its size changes
|
@@ -1137,6 +1137,40 @@ export class CrowdsourceManager {
|
|
1137
1137
|
},
|
1138
1138
|
"attribute": "zoom-to-scale",
|
1139
1139
|
"reflect": false
|
1140
|
+
},
|
1141
|
+
"sortField": {
|
1142
|
+
"type": "string",
|
1143
|
+
"mutable": false,
|
1144
|
+
"complexType": {
|
1145
|
+
"original": "string",
|
1146
|
+
"resolved": "string",
|
1147
|
+
"references": {}
|
1148
|
+
},
|
1149
|
+
"required": false,
|
1150
|
+
"optional": false,
|
1151
|
+
"docs": {
|
1152
|
+
"tags": [],
|
1153
|
+
"text": "string: Field using which table will be sorted"
|
1154
|
+
},
|
1155
|
+
"attribute": "sort-field",
|
1156
|
+
"reflect": false
|
1157
|
+
},
|
1158
|
+
"sortOrder": {
|
1159
|
+
"type": "string",
|
1160
|
+
"mutable": false,
|
1161
|
+
"complexType": {
|
1162
|
+
"original": "'asc' | 'desc'",
|
1163
|
+
"resolved": "\"asc\" | \"desc\"",
|
1164
|
+
"references": {}
|
1165
|
+
},
|
1166
|
+
"required": false,
|
1167
|
+
"optional": false,
|
1168
|
+
"docs": {
|
1169
|
+
"tags": [],
|
1170
|
+
"text": "string(asc/desc): Sorting order - Ascending or Descending"
|
1171
|
+
},
|
1172
|
+
"attribute": "sort-order",
|
1173
|
+
"reflect": false
|
1140
1174
|
}
|
1141
1175
|
};
|
1142
1176
|
}
|
@@ -21,7 +21,7 @@
|
|
21
21
|
import { Host, h } from "@stencil/core";
|
22
22
|
import { loadModules } from "../../utils/loadModules";
|
23
23
|
import { getLocaleComponentStrings } from "../../utils/locale";
|
24
|
-
import { getLayerOrTable, goToSelection } from "../../utils/mapViewUtils";
|
24
|
+
import { getFeatureLayerView, getLayerOrTable, goToSelection } from "../../utils/mapViewUtils";
|
25
25
|
import { queryAllIds, queryFeatureIds, queryFeaturesByGlobalID } from "../../utils/queryUtils";
|
26
26
|
import * as downloadUtils from "../../utils/downloadUtils";
|
27
27
|
import "@esri/instant-apps-components/dist/components/instant-apps-social-share";
|
@@ -80,7 +80,10 @@ 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;
|
83
85
|
this.zoomAndScrollToSelected = undefined;
|
86
|
+
this.zoomToScale = undefined;
|
84
87
|
this._allIds = [];
|
85
88
|
this._controlsThatFit = undefined;
|
86
89
|
this._csvExporting = false;
|
@@ -235,7 +238,7 @@ export class LayerTable {
|
|
235
238
|
}
|
236
239
|
});
|
237
240
|
if (layerView) {
|
238
|
-
await goToSelection([oid], layerView, this.mapView, true);
|
241
|
+
await goToSelection([oid], layerView, this.mapView, true, undefined, this.zoomToScale);
|
239
242
|
}
|
240
243
|
}
|
241
244
|
}
|
@@ -1106,13 +1109,20 @@ export class LayerTable {
|
|
1106
1109
|
this._deleteEnabled = this._layer.editingEnabled && this._layer.capabilities.operations.supportsDelete;
|
1107
1110
|
}
|
1108
1111
|
/**
|
1109
|
-
* Sort the
|
1112
|
+
* Sort the table with the configured field in the configured sort order
|
1110
1113
|
*/
|
1111
1114
|
async _sortTable() {
|
1112
|
-
|
1115
|
+
var _a, _b, _c, _d, _e, _f;
|
1116
|
+
let sortField = this.sortField ? this.sortField : this._layer.objectIdField;
|
1117
|
+
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
|
+
}
|
1121
|
+
const sortOrder = this.sortOrder ? this.sortOrder : 'desc';
|
1122
|
+
if (this._table && this._layer) {
|
1113
1123
|
await this._table.when();
|
1114
1124
|
await this._layer.when(() => {
|
1115
|
-
this._table.sortColumn(
|
1125
|
+
this._table.sortColumn(sortField, sortOrder);
|
1116
1126
|
});
|
1117
1127
|
}
|
1118
1128
|
}
|
@@ -1358,8 +1368,11 @@ export class LayerTable {
|
|
1358
1368
|
*
|
1359
1369
|
* @returns a promise that will resolve when the operation is complete
|
1360
1370
|
*/
|
1361
|
-
_zoom() {
|
1362
|
-
this.
|
1371
|
+
async _zoom() {
|
1372
|
+
if (this._layer) {
|
1373
|
+
const selectedLayerView = await getFeatureLayerView(this.mapView, this._layer.id);
|
1374
|
+
await goToSelection(this.selectedIds, selectedLayerView, this.mapView, true, undefined, this.zoomToScale);
|
1375
|
+
}
|
1363
1376
|
}
|
1364
1377
|
/**
|
1365
1378
|
* Handles layer selection change to show new table
|
@@ -1757,6 +1770,40 @@ export class LayerTable {
|
|
1757
1770
|
"attribute": "show-newest-first",
|
1758
1771
|
"reflect": false
|
1759
1772
|
},
|
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
|
+
},
|
1760
1807
|
"zoomAndScrollToSelected": {
|
1761
1808
|
"type": "boolean",
|
1762
1809
|
"mutable": false,
|
@@ -1773,6 +1820,23 @@ export class LayerTable {
|
|
1773
1820
|
},
|
1774
1821
|
"attribute": "zoom-and-scroll-to-selected",
|
1775
1822
|
"reflect": false
|
1823
|
+
},
|
1824
|
+
"zoomToScale": {
|
1825
|
+
"type": "number",
|
1826
|
+
"mutable": false,
|
1827
|
+
"complexType": {
|
1828
|
+
"original": "number",
|
1829
|
+
"resolved": "number",
|
1830
|
+
"references": {}
|
1831
|
+
},
|
1832
|
+
"required": false,
|
1833
|
+
"optional": false,
|
1834
|
+
"docs": {
|
1835
|
+
"tags": [],
|
1836
|
+
"text": "number: default scale to zoom to when zooming to a single point feature"
|
1837
|
+
},
|
1838
|
+
"attribute": "zoom-to-scale",
|
1839
|
+
"reflect": false
|
1776
1840
|
}
|
1777
1841
|
};
|
1778
1842
|
}
|
@@ -126,6 +126,8 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
126
126
|
this.theme = "light";
|
127
127
|
this.zoomAndScrollToSelected = false;
|
128
128
|
this.zoomToScale = undefined;
|
129
|
+
this.sortField = undefined;
|
130
|
+
this.sortOrder = undefined;
|
129
131
|
this._expandPopup = this.hideMapOnLoad;
|
130
132
|
this._hideFooter = false;
|
131
133
|
this._hideTable = false;
|
@@ -232,9 +234,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
232
234
|
* Renders the component.
|
233
235
|
*/
|
234
236
|
render() {
|
235
|
-
|
236
|
-
this._isMobile ? "border-bottom-width-0" : "";
|
237
|
-
return (h(Host, null, h("calcite-shell", { class: "position-relative" }, h("calcite-panel", { class: `width-full height-full ${borderClass}` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
|
237
|
+
return (h(Host, null, h("calcite-shell", { class: "position-relative" }, h("calcite-panel", { class: `width-full height-full border-width-0` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
|
238
238
|
}
|
239
239
|
/**
|
240
240
|
* Called after each render
|
@@ -404,7 +404,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
404
404
|
const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
|
405
405
|
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";
|
406
406
|
const headerClass = this._isMobile ? "display-none height-0" : "";
|
407
|
-
const headerTheme = !this._isMobile ? "calcite-mode-dark" : "calcite-mode-light";
|
407
|
+
const headerTheme = this.popupHeaderColor ? "" : !this._isMobile ? "calcite-mode-dark" : "calcite-mode-light";
|
408
408
|
const containerClass = this._isMobile && this._hideTable ? "position-absolute-0 width-full height-full" : this._isMobile ? "display-none height-0" : "";
|
409
409
|
return (h("div", { class: `${headerTheme} ${popupNodeClass} ${containerClass}`, style: {
|
410
410
|
'--calcite-color-foreground-1': this.popupHeaderColor,
|
@@ -455,7 +455,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
455
455
|
((_a = this.defaultGlobalId) === null || _a === void 0 ? void 0 : _a.indexOf(",")) > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
|
456
456
|
const defaultOid = !this.defaultOid ? undefined :
|
457
457
|
((_b = this.defaultOid) === null || _b === void 0 ? void 0 : _b.indexOf(",")) > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
|
458
|
-
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 }))));
|
458
|
+
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 }))));
|
459
459
|
}
|
460
460
|
/**
|
461
461
|
* Update the component layout when its size changes
|
@@ -593,6 +593,8 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
593
593
|
"theme": [1],
|
594
594
|
"zoomAndScrollToSelected": [4, "zoom-and-scroll-to-selected"],
|
595
595
|
"zoomToScale": [2, "zoom-to-scale"],
|
596
|
+
"sortField": [1, "sort-field"],
|
597
|
+
"sortOrder": [1, "sort-order"],
|
596
598
|
"_expandPopup": [32],
|
597
599
|
"_hideFooter": [32],
|
598
600
|
"_hideTable": [32],
|
@@ -6,7 +6,7 @@
|
|
6
6
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
7
7
|
import { g as getLocaleComponentStrings } from './locale.js';
|
8
8
|
import { l as loadModules } from './loadModules.js';
|
9
|
-
import { a as getAllLayers,
|
9
|
+
import { a as getAllLayers, c as getFeatureLayerView, h as highlightFeatures, d as getMapLayerHash, g as getLayerOrTable } from './mapViewUtils.js';
|
10
10
|
import { q as queryFeaturesByID } from './queryUtils.js';
|
11
11
|
import { d as defineCustomElement$K } from './action.js';
|
12
12
|
import { d as defineCustomElement$J } from './action-menu.js';
|
@@ -6,7 +6,7 @@
|
|
6
6
|
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
7
7
|
import { l as loadModules } from './loadModules.js';
|
8
8
|
import { P as PopupUtils } from './popupUtils.js';
|
9
|
-
import { g as getLayerOrTable,
|
9
|
+
import { g as getLayerOrTable, c as getFeatureLayerView, h as highlightFeatures } from './mapViewUtils.js';
|
10
10
|
import { g as getLocaleComponentStrings } from './locale.js';
|
11
11
|
import { d as defineCustomElement$g } from './action.js';
|
12
12
|
import { d as defineCustomElement$f } from './action-menu.js';
|
@@ -4,7 +4,7 @@
|
|
4
4
|
* http://www.apache.org/licenses/LICENSE-2.0
|
5
5
|
*/
|
6
6
|
import { proxyCustomElement, HTMLElement, createEvent, h, Fragment } from '@stencil/core/internal/client';
|
7
|
-
import {
|
7
|
+
import { d as getMapLayerHash, a as getAllLayers } from './mapViewUtils.js';
|
8
8
|
import { f as formatNumber, g as getLocaleComponentStrings } from './locale.js';
|
9
9
|
import { d as defineCustomElement$c } from './action.js';
|
10
10
|
import { d as defineCustomElement$b } from './filter2.js';
|
@@ -6,7 +6,7 @@
|
|
6
6
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
7
7
|
import { l as loadModules } from './loadModules.js';
|
8
8
|
import { g as getLocaleComponentStrings } from './locale.js';
|
9
|
-
import { b as goToSelection, g as getLayerOrTable } from './mapViewUtils.js';
|
9
|
+
import { b as goToSelection, c as getFeatureLayerView, g as getLayerOrTable } from './mapViewUtils.js';
|
10
10
|
import { b as queryAllIds, c as queryFeatureIds, d as queryFeaturesByGlobalID } from './queryUtils.js';
|
11
11
|
import { d as downloadCSV } from './downloadUtils.js';
|
12
12
|
import { d as defineCustomElement$D } from './action.js';
|
@@ -109,7 +109,10 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
109
109
|
this.shareIncludeEmbed = undefined;
|
110
110
|
this.shareIncludeSocial = undefined;
|
111
111
|
this.showNewestFirst = undefined;
|
112
|
+
this.sortField = undefined;
|
113
|
+
this.sortOrder = undefined;
|
112
114
|
this.zoomAndScrollToSelected = undefined;
|
115
|
+
this.zoomToScale = undefined;
|
113
116
|
this._allIds = [];
|
114
117
|
this._controlsThatFit = undefined;
|
115
118
|
this._csvExporting = false;
|
@@ -264,7 +267,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
264
267
|
}
|
265
268
|
});
|
266
269
|
if (layerView) {
|
267
|
-
await goToSelection([oid], layerView, this.mapView, true);
|
270
|
+
await goToSelection([oid], layerView, this.mapView, true, undefined, this.zoomToScale);
|
268
271
|
}
|
269
272
|
}
|
270
273
|
}
|
@@ -1135,13 +1138,20 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1135
1138
|
this._deleteEnabled = this._layer.editingEnabled && this._layer.capabilities.operations.supportsDelete;
|
1136
1139
|
}
|
1137
1140
|
/**
|
1138
|
-
* Sort the
|
1141
|
+
* Sort the table with the configured field in the configured sort order
|
1139
1142
|
*/
|
1140
1143
|
async _sortTable() {
|
1141
|
-
|
1144
|
+
var _a, _b, _c, _d, _e, _f;
|
1145
|
+
let sortField = this.sortField ? this.sortField : this._layer.objectIdField;
|
1146
|
+
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) {
|
1147
|
+
const configuredLayer = (_d = this.mapInfo.layerOptions) === null || _d === void 0 ? void 0 : _d.layers.filter((layer) => layer.id === this._layer.id);
|
1148
|
+
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;
|
1149
|
+
}
|
1150
|
+
const sortOrder = this.sortOrder ? this.sortOrder : 'desc';
|
1151
|
+
if (this._table && this._layer) {
|
1142
1152
|
await this._table.when();
|
1143
1153
|
await this._layer.when(() => {
|
1144
|
-
this._table.sortColumn(
|
1154
|
+
this._table.sortColumn(sortField, sortOrder);
|
1145
1155
|
});
|
1146
1156
|
}
|
1147
1157
|
}
|
@@ -1387,8 +1397,11 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1387
1397
|
*
|
1388
1398
|
* @returns a promise that will resolve when the operation is complete
|
1389
1399
|
*/
|
1390
|
-
_zoom() {
|
1391
|
-
this.
|
1400
|
+
async _zoom() {
|
1401
|
+
if (this._layer) {
|
1402
|
+
const selectedLayerView = await getFeatureLayerView(this.mapView, this._layer.id);
|
1403
|
+
await goToSelection(this.selectedIds, selectedLayerView, this.mapView, true, undefined, this.zoomToScale);
|
1404
|
+
}
|
1392
1405
|
}
|
1393
1406
|
/**
|
1394
1407
|
* Handles layer selection change to show new table
|
@@ -1530,7 +1543,10 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1530
1543
|
"shareIncludeEmbed": [4, "share-include-embed"],
|
1531
1544
|
"shareIncludeSocial": [4, "share-include-social"],
|
1532
1545
|
"showNewestFirst": [4, "show-newest-first"],
|
1546
|
+
"sortField": [1, "sort-field"],
|
1547
|
+
"sortOrder": [1, "sort-order"],
|
1533
1548
|
"zoomAndScrollToSelected": [4, "zoom-and-scroll-to-selected"],
|
1549
|
+
"zoomToScale": [2, "zoom-to-scale"],
|
1534
1550
|
"_allIds": [32],
|
1535
1551
|
"_controlsThatFit": [32],
|
1536
1552
|
"_csvExporting": [32],
|
@@ -5,7 +5,7 @@
|
|
5
5
|
*/
|
6
6
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
7
7
|
import { g as getLocaleComponentStrings } from './locale.js';
|
8
|
-
import {
|
8
|
+
import { d as getMapLayerHash, e as getMapTableHash } from './mapViewUtils.js';
|
9
9
|
import { s as state } from './publicNotificationStore.js';
|
10
10
|
import { d as defineCustomElement$f } from './action.js';
|
11
11
|
import { d as defineCustomElement$e } from './button.js';
|
@@ -5,7 +5,7 @@
|
|
5
5
|
*/
|
6
6
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
7
7
|
import { l as loadModules } from './loadModules.js';
|
8
|
-
import { b as goToSelection, h as highlightFeatures,
|
8
|
+
import { b as goToSelection, h as highlightFeatures, c as getFeatureLayerView } from './mapViewUtils.js';
|
9
9
|
import { e as queryObjectIds, g as getQueryGeoms, f as queryFeaturesByGeometry } from './queryUtils.js';
|
10
10
|
import { E as EWorkflowType } from './interfaces.js';
|
11
11
|
import { s as state } from './publicNotificationStore.js';
|
@@ -264,4 +264,4 @@ async function goToSelection(ids, layerView, mapView, flashFeatures = true, feat
|
|
264
264
|
}
|
265
265
|
}
|
266
266
|
|
267
|
-
export { getAllLayers as a, goToSelection as b,
|
267
|
+
export { getAllLayers as a, goToSelection as b, getFeatureLayerView as c, getMapLayerHash as d, getMapTableHash as e, getIdSets as f, getLayerOrTable as g, highlightFeatures as h, highlightAllFeatures as i };
|
@@ -5,7 +5,7 @@
|
|
5
5
|
*/
|
6
6
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
7
7
|
import { e as ESelectionMode, b as EDrawMode, E as EWorkflowType } from './interfaces.js';
|
8
|
-
import {
|
8
|
+
import { c as getFeatureLayerView, f as getIdSets, i as highlightAllFeatures } from './mapViewUtils.js';
|
9
9
|
import { f as queryFeaturesByGeometry } from './queryUtils.js';
|
10
10
|
import { s as state } from './publicNotificationStore.js';
|
11
11
|
import { g as getLocaleComponentStrings } from './locale.js';
|
@@ -5,7 +5,7 @@
|
|
5
5
|
*/
|
6
6
|
import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-164d485a.js';
|
7
7
|
import { g as getLocaleComponentStrings, l as loadModules } from './locale-bcbea4ef.js';
|
8
|
-
import { q as queryFeaturesByID, g as getLayerOrTable, d as goToSelection, e as queryAllIds, f as queryFeatureIds, i as queryFeaturesByGlobalID } from './mapViewUtils-c83c03a4.js';
|
8
|
+
import { q as queryFeaturesByID, g as getLayerOrTable, d as goToSelection, e as queryAllIds, f as queryFeatureIds, i as queryFeaturesByGlobalID, b as getFeatureLayerView } from './mapViewUtils-c83c03a4.js';
|
9
9
|
import { d as downloadCSV } from './downloadUtils-25aa808f.js';
|
10
10
|
import './esri-loader-1b324844.js';
|
11
11
|
import './_commonjsHelpers-0f74c230.js';
|
@@ -161,7 +161,10 @@ const LayerTable = class {
|
|
161
161
|
this.shareIncludeEmbed = undefined;
|
162
162
|
this.shareIncludeSocial = undefined;
|
163
163
|
this.showNewestFirst = undefined;
|
164
|
+
this.sortField = undefined;
|
165
|
+
this.sortOrder = undefined;
|
164
166
|
this.zoomAndScrollToSelected = undefined;
|
167
|
+
this.zoomToScale = undefined;
|
165
168
|
this._allIds = [];
|
166
169
|
this._controlsThatFit = undefined;
|
167
170
|
this._csvExporting = false;
|
@@ -316,7 +319,7 @@ const LayerTable = class {
|
|
316
319
|
}
|
317
320
|
});
|
318
321
|
if (layerView) {
|
319
|
-
await goToSelection([oid], layerView, this.mapView, true);
|
322
|
+
await goToSelection([oid], layerView, this.mapView, true, undefined, this.zoomToScale);
|
320
323
|
}
|
321
324
|
}
|
322
325
|
}
|
@@ -1187,13 +1190,20 @@ const LayerTable = class {
|
|
1187
1190
|
this._deleteEnabled = this._layer.editingEnabled && this._layer.capabilities.operations.supportsDelete;
|
1188
1191
|
}
|
1189
1192
|
/**
|
1190
|
-
* Sort the
|
1193
|
+
* Sort the table with the configured field in the configured sort order
|
1191
1194
|
*/
|
1192
1195
|
async _sortTable() {
|
1193
|
-
|
1196
|
+
var _a, _b, _c, _d, _e, _f;
|
1197
|
+
let sortField = this.sortField ? this.sortField : this._layer.objectIdField;
|
1198
|
+
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) {
|
1199
|
+
const configuredLayer = (_d = this.mapInfo.layerOptions) === null || _d === void 0 ? void 0 : _d.layers.filter((layer) => layer.id === this._layer.id);
|
1200
|
+
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;
|
1201
|
+
}
|
1202
|
+
const sortOrder = this.sortOrder ? this.sortOrder : 'desc';
|
1203
|
+
if (this._table && this._layer) {
|
1194
1204
|
await this._table.when();
|
1195
1205
|
await this._layer.when(() => {
|
1196
|
-
this._table.sortColumn(
|
1206
|
+
this._table.sortColumn(sortField, sortOrder);
|
1197
1207
|
});
|
1198
1208
|
}
|
1199
1209
|
}
|
@@ -1439,8 +1449,11 @@ const LayerTable = class {
|
|
1439
1449
|
*
|
1440
1450
|
* @returns a promise that will resolve when the operation is complete
|
1441
1451
|
*/
|
1442
|
-
_zoom() {
|
1443
|
-
this.
|
1452
|
+
async _zoom() {
|
1453
|
+
if (this._layer) {
|
1454
|
+
const selectedLayerView = await getFeatureLayerView(this.mapView, this._layer.id);
|
1455
|
+
await goToSelection(this.selectedIds, selectedLayerView, this.mapView, true, undefined, this.zoomToScale);
|
1456
|
+
}
|
1444
1457
|
}
|
1445
1458
|
/**
|
1446
1459
|
* Handles layer selection change to show new table
|
@@ -70,6 +70,8 @@ const CrowdsourceManager = class {
|
|
70
70
|
this.theme = "light";
|
71
71
|
this.zoomAndScrollToSelected = false;
|
72
72
|
this.zoomToScale = undefined;
|
73
|
+
this.sortField = undefined;
|
74
|
+
this.sortOrder = undefined;
|
73
75
|
this._expandPopup = this.hideMapOnLoad;
|
74
76
|
this._hideFooter = false;
|
75
77
|
this._hideTable = false;
|
@@ -176,9 +178,7 @@ const CrowdsourceManager = class {
|
|
176
178
|
* Renders the component.
|
177
179
|
*/
|
178
180
|
render() {
|
179
|
-
|
180
|
-
this._isMobile ? "border-bottom-width-0" : "";
|
181
|
-
return (h(Host, null, h("calcite-shell", { class: "position-relative" }, h("calcite-panel", { class: `width-full height-full ${borderClass}` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
|
181
|
+
return (h(Host, null, h("calcite-shell", { class: "position-relative" }, h("calcite-panel", { class: `width-full height-full border-width-0` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
|
182
182
|
}
|
183
183
|
/**
|
184
184
|
* Called after each render
|
@@ -348,7 +348,7 @@ const CrowdsourceManager = class {
|
|
348
348
|
const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
|
349
349
|
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";
|
350
350
|
const headerClass = this._isMobile ? "display-none height-0" : "";
|
351
|
-
const headerTheme = !this._isMobile ? "calcite-mode-dark" : "calcite-mode-light";
|
351
|
+
const headerTheme = this.popupHeaderColor ? "" : !this._isMobile ? "calcite-mode-dark" : "calcite-mode-light";
|
352
352
|
const containerClass = this._isMobile && this._hideTable ? "position-absolute-0 width-full height-full" : this._isMobile ? "display-none height-0" : "";
|
353
353
|
return (h("div", { class: `${headerTheme} ${popupNodeClass} ${containerClass}`, style: {
|
354
354
|
'--calcite-color-foreground-1': this.popupHeaderColor,
|
@@ -399,7 +399,7 @@ const CrowdsourceManager = class {
|
|
399
399
|
((_a = this.defaultGlobalId) === null || _a === void 0 ? void 0 : _a.indexOf(",")) > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
|
400
400
|
const defaultOid = !this.defaultOid ? undefined :
|
401
401
|
((_b = this.defaultOid) === null || _b === void 0 ? void 0 : _b.indexOf(",")) > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
|
402
|
-
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 }))));
|
402
|
+
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 }))));
|
403
403
|
}
|
404
404
|
/**
|
405
405
|
* Update the component layout when its size changes
|