@esri/solutions-components 0.10.33 → 0.10.34
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 +97 -4
- package/dist/cjs/crowdsource-manager.cjs.entry.js +13 -4
- package/dist/cjs/instant-apps-time-filter.cjs.entry.js +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/assets/t9n/map-card/resources.json +2 -1
- package/dist/collection/assets/t9n/map-card/resources_en.json +2 -1
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +36 -4
- package/dist/collection/components/layer-table/layer-table.js +36 -2
- package/dist/collection/components/map-card/map-card.js +168 -2
- package/dist/components/crowdsource-manager.js +14 -4
- package/dist/components/instant-apps-time-filter.js +2 -2
- package/dist/components/layer-table2.js +13 -2
- package/dist/components/map-card2.js +157 -60
- package/dist/esm/card-manager_3.entry.js +97 -4
- package/dist/esm/crowdsource-manager.entry.js +13 -4
- package/dist/esm/instant-apps-time-filter.entry.js +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/assets/t9n/map-card/resources.json +2 -1
- package/dist/solutions-components/assets/t9n/map-card/resources_en.json +2 -1
- package/dist/solutions-components/p-3a513c67.entry.js +6 -0
- package/dist/solutions-components/p-8d2d66d0.entry.js +6 -0
- package/dist/solutions-components/p-cf878a34.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 +9 -1
- package/dist/types/components/map-card/map-card.d.ts +46 -1
- package/dist/types/components.d.ts +48 -0
- package/package.json +2 -2
- package/dist/solutions-components/p-084719d6.entry.js +0 -6
- package/dist/solutions-components/p-3bcdf332.entry.js +0 -6
- package/dist/solutions-components/p-710bd9ec.entry.js +0 -6
@@ -29,6 +29,7 @@ export class CrowdsourceManager {
|
|
29
29
|
this.basemapConfig = undefined;
|
30
30
|
this.coverPageEnabled = undefined;
|
31
31
|
this.customInfoText = undefined;
|
32
|
+
this.defaultAppLayout = undefined;
|
32
33
|
this.defaultCenter = "";
|
33
34
|
this.defaultGlobalId = "";
|
34
35
|
this.defaultLayer = "";
|
@@ -89,6 +90,10 @@ export class CrowdsourceManager {
|
|
89
90
|
// Properties (protected)
|
90
91
|
//
|
91
92
|
//--------------------------------------------------------------------------
|
93
|
+
/**
|
94
|
+
* boolean: When true the default appLayout has been applied and should no longer override
|
95
|
+
*/
|
96
|
+
_defaultAppLayoutHonored = false;
|
92
97
|
/**
|
93
98
|
* boolean: When true the map view will be set after render due to popup obstructing the view
|
94
99
|
* MapView.when is not fired when mapView is not currently visible
|
@@ -238,7 +243,7 @@ export class CrowdsourceManager {
|
|
238
243
|
render() {
|
239
244
|
// only avoid border when we have a header color that is not white
|
240
245
|
const borderClass = this.popupHeaderColor && this.popupHeaderColor !== "#FFFFFF" ? "border-width-0" : "";
|
241
|
-
return (h(Host, { key: '
|
246
|
+
return (h(Host, { key: 'ddb8bb35d74ab89ffd62d7bd0468b5a757fa5ba1' }, h("calcite-shell", { key: '74d941a3b1d4149a57c88cea263a2fd7e2b4f840', class: "position-relative" }, h("calcite-panel", { key: '3ff44942eab43c6f3a1cd92c918c0e2bae3d500a', class: `width-full height-full ${borderClass}`, loading: this._isLoading }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter()), this._filterModal()));
|
242
247
|
}
|
243
248
|
/**
|
244
249
|
* Called after each render
|
@@ -257,7 +262,11 @@ export class CrowdsourceManager {
|
|
257
262
|
*/
|
258
263
|
async componentDidLoad() {
|
259
264
|
this._resizeObserver.observe(this.el);
|
260
|
-
if (this.
|
265
|
+
if (!this._defaultAppLayoutHonored && this.defaultAppLayout) {
|
266
|
+
this._defaultAppLayoutHonored = true;
|
267
|
+
this.appLayout = this.defaultAppLayout;
|
268
|
+
}
|
269
|
+
else if (this.hideMapOnLoad && !this.appLayout) {
|
261
270
|
this.appLayout = 'tableView';
|
262
271
|
}
|
263
272
|
else if (!this.appLayout) {
|
@@ -433,7 +442,7 @@ export class CrowdsourceManager {
|
|
433
442
|
const isTableLayout = this.appLayout === 'tableView';
|
434
443
|
const mapContainerClass = (isMapLayout || isTableLayout) ? "position-absolute-0" : this._layoutMode === ELayoutMode.HORIZONTAL && (!this._isPortraitMobile || panelOpen) ? "" : "adjusted-height-50";
|
435
444
|
const hasMapAndLayer = this.defaultWebmap && this.defaultLayer;
|
436
|
-
return (h("div", { class: `${mapContainerClass} overflow-hidden`, id: "card-mapView" }, h("map-card", { appProxies: this.appProxies, basemapConfig: this.basemapConfig, class: "width-full", defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultWebmapId: this.defaultWebmap, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableSingleExpand: true, hidden: !this._isPortraitMobile && isTableLayout, homeZoomIndex: 3, homeZoomPosition: "top-left", homeZoomToolsSize: "s", isMapLayout: isMapLayout, isMobile: this._isMobile, mapInfo: this._mapInfo, mapInfos: this.mapInfos?.filter(mapInfo => mapInfo.visible !== false), mapWidgetsIndex: 0, mapWidgetsPosition: "top-right", mapWidgetsSize: "m", onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._mapCard = el, selectedFeaturesIds: this._layerTable?.selectedIds, selectedLayer: this._layer, stackTools: true, theme: this.theme, toolOrder: ["legend", "search", "fullscreen", "basemap", "floorfilter"], zoomToScale: this.zoomToScale })));
|
445
|
+
return (h("div", { class: `${mapContainerClass} overflow-hidden`, id: "card-mapView" }, h("map-card", { appLayout: this.appLayout, appProxies: this.appProxies, basemapConfig: this.basemapConfig, class: "width-full", defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultWebmapId: this.defaultWebmap, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableShare: this.enableShare, enableSingleExpand: true, hidden: !this._isPortraitMobile && isTableLayout, homeZoomIndex: 3, homeZoomPosition: "top-left", homeZoomToolsSize: "s", isMapLayout: isMapLayout, isMobile: this._isMobile, mapInfo: this._mapInfo, mapInfos: this.mapInfos?.filter(mapInfo => mapInfo.visible !== false), mapWidgetsIndex: 0, mapWidgetsPosition: "top-right", mapWidgetsSize: "m", onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._mapCard = el, selectedFeaturesIds: this._layerTable?.selectedIds, selectedLayer: this._layer, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, stackTools: true, theme: this.theme, toolOrder: ["legend", "search", "fullscreen", "basemap", "floorfilter"], zoomToScale: this.zoomToScale })));
|
437
446
|
}
|
438
447
|
/**
|
439
448
|
* Get the expand node for the popup information
|
@@ -495,7 +504,7 @@ export class CrowdsourceManager {
|
|
495
504
|
this.defaultGlobalId?.indexOf(",") > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
|
496
505
|
const defaultOid = !this.defaultOid ? undefined :
|
497
506
|
this.defaultOid?.indexOf(",") > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
|
498
|
-
return (h("calcite-shell", { class: `${tableSizeClass} border-bottom` }, !this._isMobile ? (h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, this.getActions(layoutMode, panelOpen))) : undefined, h("div", { class: `width-full height-full position-relative z-index-0 ${tableClass}` }, h("layer-table", { createFilterModal: false, defaultGlobalId: hasMapAndLayer ? globalId : undefined, defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultOid: hasMapAndLayer && !globalId ? defaultOid : undefined, enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableColumnReorder: this.enableColumnReorder, enableInlineEdit: this?._mapInfo?.enableInlineEdit, enableShare: this.enableShare, isMobile: this._isPortraitMobile, mapHidden: isTableLayout, mapInfo: this._mapInfo, mapView: this?._mapView, onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._layerTable = el, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected, zoomToScale: this.zoomToScale })), h("div", { class: mapClass, id: "full-map-view" })));
|
507
|
+
return (h("calcite-shell", { class: `${tableSizeClass} border-bottom` }, !this._isMobile ? (h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, this.getActions(layoutMode, panelOpen))) : undefined, h("div", { class: `width-full height-full position-relative z-index-0 ${tableClass}` }, h("layer-table", { appLayout: this.appLayout, createFilterModal: false, defaultGlobalId: hasMapAndLayer ? globalId : undefined, defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultOid: hasMapAndLayer && !globalId ? defaultOid : undefined, enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableColumnReorder: this.enableColumnReorder, enableInlineEdit: this?._mapInfo?.enableInlineEdit, enableShare: this.enableShare, isMobile: this._isPortraitMobile, mapHidden: isTableLayout, mapInfo: this._mapInfo, mapView: this?._mapView, onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._layerTable = el, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected, zoomToScale: this.zoomToScale })), h("div", { class: mapClass, id: "full-map-view" })));
|
499
508
|
}
|
500
509
|
/**
|
501
510
|
* Returns the Actions for table's node
|
@@ -828,6 +837,29 @@ export class CrowdsourceManager {
|
|
828
837
|
"attribute": "custom-info-text",
|
829
838
|
"reflect": false
|
830
839
|
},
|
840
|
+
"defaultAppLayout": {
|
841
|
+
"type": "string",
|
842
|
+
"mutable": false,
|
843
|
+
"complexType": {
|
844
|
+
"original": "AppLayout",
|
845
|
+
"resolved": "\"mapView\" | \"splitView\" | \"tableView\"",
|
846
|
+
"references": {
|
847
|
+
"AppLayout": {
|
848
|
+
"location": "import",
|
849
|
+
"path": "../../utils/interfaces",
|
850
|
+
"id": "src/utils/interfaces.ts::AppLayout"
|
851
|
+
}
|
852
|
+
}
|
853
|
+
},
|
854
|
+
"required": false,
|
855
|
+
"optional": false,
|
856
|
+
"docs": {
|
857
|
+
"tags": [],
|
858
|
+
"text": "string: default layout the application should use"
|
859
|
+
},
|
860
|
+
"attribute": "default-app-layout",
|
861
|
+
"reflect": false
|
862
|
+
},
|
831
863
|
"defaultCenter": {
|
832
864
|
"type": "string",
|
833
865
|
"mutable": false,
|
@@ -27,6 +27,7 @@ import * as downloadUtils from "../../utils/downloadUtils";
|
|
27
27
|
import "@esri/instant-apps-components/dist/components/instant-apps-social-share";
|
28
28
|
export class LayerTable {
|
29
29
|
constructor() {
|
30
|
+
this.appLayout = undefined;
|
30
31
|
this.defaultGlobalId = undefined;
|
31
32
|
this.defaultLayerId = undefined;
|
32
33
|
this.defaultOid = undefined;
|
@@ -235,6 +236,12 @@ export class LayerTable {
|
|
235
236
|
// Watch handlers
|
236
237
|
//
|
237
238
|
//--------------------------------------------------------------------------
|
239
|
+
/**
|
240
|
+
* Update the url params when the appLayout changes
|
241
|
+
*/
|
242
|
+
appLayoutWatchHandler() {
|
243
|
+
this._updateShareUrl();
|
244
|
+
}
|
238
245
|
/**
|
239
246
|
* Handle url defaults when defaultOid is set
|
240
247
|
*/
|
@@ -521,8 +528,8 @@ export class LayerTable {
|
|
521
528
|
const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
|
522
529
|
const showSearch = this._canShowFullTextSearch();
|
523
530
|
this._validateActiveActions();
|
524
|
-
return (h(Host, { key: '
|
525
|
-
h("div", { key: '
|
531
|
+
return (h(Host, { key: 'aa79d91e6c569393334a38f937a493de227a0e5b' }, h("calcite-shell", { key: '4b7460fc764c5a6027ad5aa8da826bd188e5490e' }, this._getTableControlRow("header"), h("div", { key: '66ea361c6c2c3a5d05c4403a5d3dd1dea5a9e70b', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: 'b213a696294c94504f394b54082f0183b46691ce', class: "height-full width-full" }, showSearch &&
|
532
|
+
h("div", { key: '866dd2a69bc9e504b459ca8639d13f5babfa65fa', class: "search-container" }, h("calcite-input", { key: '26f80276d08106981ef8c769fd4334528a37d881', class: "search", clearable: true, icon: "search", onCalciteInputChange: (evt) => void this._searchTextChanged(evt), placeholder: this._searchPlaceHolder, title: this._searchPlaceHolder, type: "search" })), h("calcite-loader", { key: 'a3d2e215cee3e370ef5645b6422c95eef32beedf', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: 'e48c86ee1ebcc23121eab08903e55cc41270c4c8', class: tableNodeClass, ref: this.onTableNodeCreate }))), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
|
526
533
|
.replace("{{total}}", total)
|
527
534
|
.replace("{{selected}}", selected))) : undefined), this.createFilterModal && this._filterModal()));
|
528
535
|
}
|
@@ -1131,6 +1138,7 @@ export class LayerTable {
|
|
1131
1138
|
else {
|
1132
1139
|
urlObj.searchParams.delete("oid");
|
1133
1140
|
}
|
1141
|
+
urlObj.searchParams.set("applayout", this.appLayout);
|
1134
1142
|
this._shareNode.shareUrl = urlObj.href;
|
1135
1143
|
}
|
1136
1144
|
/**
|
@@ -1887,6 +1895,29 @@ export class LayerTable {
|
|
1887
1895
|
}
|
1888
1896
|
static get properties() {
|
1889
1897
|
return {
|
1898
|
+
"appLayout": {
|
1899
|
+
"type": "string",
|
1900
|
+
"mutable": false,
|
1901
|
+
"complexType": {
|
1902
|
+
"original": "AppLayout",
|
1903
|
+
"resolved": "\"mapView\" | \"splitView\" | \"tableView\"",
|
1904
|
+
"references": {
|
1905
|
+
"AppLayout": {
|
1906
|
+
"location": "import",
|
1907
|
+
"path": "../../utils/interfaces",
|
1908
|
+
"id": "src/utils/interfaces.ts::AppLayout"
|
1909
|
+
}
|
1910
|
+
}
|
1911
|
+
},
|
1912
|
+
"required": false,
|
1913
|
+
"optional": false,
|
1914
|
+
"docs": {
|
1915
|
+
"tags": [],
|
1916
|
+
"text": "AppLayout: the current app layout"
|
1917
|
+
},
|
1918
|
+
"attribute": "app-layout",
|
1919
|
+
"reflect": false
|
1920
|
+
},
|
1890
1921
|
"defaultGlobalId": {
|
1891
1922
|
"type": "unknown",
|
1892
1923
|
"mutable": false,
|
@@ -2360,6 +2391,9 @@ export class LayerTable {
|
|
2360
2391
|
static get elementRef() { return "el"; }
|
2361
2392
|
static get watchers() {
|
2362
2393
|
return [{
|
2394
|
+
"propName": "appLayout",
|
2395
|
+
"methodName": "appLayoutWatchHandler"
|
2396
|
+
}, {
|
2363
2397
|
"propName": "defaultOid",
|
2364
2398
|
"methodName": "defaultOidWatchHandler"
|
2365
2399
|
}, {
|
@@ -23,6 +23,7 @@ import { loadModules } from "../../utils/loadModules";
|
|
23
23
|
import { joinAppProxies } from "templates-common-library-esm/functionality/proxy";
|
24
24
|
import { getLocaleComponentStrings } from "../../utils/locale";
|
25
25
|
import { getFeatureLayerView, goToSelection } from "../../utils/mapViewUtils";
|
26
|
+
import "@esri/instant-apps-components/dist/components/instant-apps-social-share";
|
26
27
|
// TODO navigation and accessability isn't right for the map list
|
27
28
|
// tab does not go into the list when it's open
|
28
29
|
// focus is not set when it opens
|
@@ -31,6 +32,7 @@ import { getFeatureLayerView, goToSelection } from "../../utils/mapViewUtils";
|
|
31
32
|
// TODO map list should close if the user clicks something else...hope this will be easy when I figure out how to set focus when it opens
|
32
33
|
export class MapCard {
|
33
34
|
constructor() {
|
35
|
+
this.appLayout = undefined;
|
34
36
|
this.appProxies = undefined;
|
35
37
|
this.defaultWebmapId = "";
|
36
38
|
this.defaultLayerId = undefined;
|
@@ -38,6 +40,7 @@ export class MapCard {
|
|
38
40
|
this.enableLegend = undefined;
|
39
41
|
this.enableFloorFilter = undefined;
|
40
42
|
this.enableFullscreen = undefined;
|
43
|
+
this.enableShare = false;
|
41
44
|
this.enableSingleExpand = true;
|
42
45
|
this.enableSearch = undefined;
|
43
46
|
this.enableBasemap = undefined;
|
@@ -55,6 +58,8 @@ export class MapCard {
|
|
55
58
|
this.theme = undefined;
|
56
59
|
this.toolOrder = undefined;
|
57
60
|
this.isMapLayout = undefined;
|
61
|
+
this.shareIncludeEmbed = undefined;
|
62
|
+
this.shareIncludeSocial = undefined;
|
58
63
|
this.selectedFeaturesIds = undefined;
|
59
64
|
this.selectedLayer = undefined;
|
60
65
|
this.zoomToScale = undefined;
|
@@ -143,6 +148,10 @@ export class MapCard {
|
|
143
148
|
* ResizeObserver: The observer that watches for toolbar size changes
|
144
149
|
*/
|
145
150
|
_resizeObserver;
|
151
|
+
/**
|
152
|
+
* HTMLInstantAppsSocialShareElement: Element to support app sharing to social media
|
153
|
+
*/
|
154
|
+
_shareNode;
|
146
155
|
/**
|
147
156
|
* HTMLCalciteDropdownElement: Dropdown the will support show/hide of table columns
|
148
157
|
*/
|
@@ -172,12 +181,36 @@ export class MapCard {
|
|
172
181
|
// Watch handlers
|
173
182
|
//
|
174
183
|
//--------------------------------------------------------------------------
|
184
|
+
/**
|
185
|
+
* Update the url params when the appLayout changes
|
186
|
+
*/
|
187
|
+
appLayoutWatchHandler() {
|
188
|
+
this._updateShareUrl();
|
189
|
+
}
|
175
190
|
/**
|
176
191
|
* Add/remove home widget
|
177
192
|
*/
|
178
193
|
enableHomeWatchHandler() {
|
179
194
|
this._initHome();
|
180
195
|
}
|
196
|
+
/**
|
197
|
+
* Update the toolbar when the share button is enabled/disabled
|
198
|
+
*/
|
199
|
+
enableShareWatchHandler() {
|
200
|
+
// this should be caught by component did render and is when I test locally
|
201
|
+
// however have had reported case where it is not somehow on devext so adding explicit check here
|
202
|
+
if (this._toolbar) {
|
203
|
+
this._updateToolbar();
|
204
|
+
}
|
205
|
+
}
|
206
|
+
/**
|
207
|
+
* watch for changes in map view and get the first layer
|
208
|
+
*/
|
209
|
+
async mapViewWatchHandler() {
|
210
|
+
if (this.mapView) {
|
211
|
+
this._updateShareUrl();
|
212
|
+
}
|
213
|
+
}
|
181
214
|
/**
|
182
215
|
* watch for changes in layer view and verify if it has editing enabled
|
183
216
|
*/
|
@@ -190,6 +223,7 @@ export class MapCard {
|
|
190
223
|
* watch for features ids changes
|
191
224
|
*/
|
192
225
|
async selectedFeaturesIdsWatchHandler() {
|
226
|
+
this._updateShareUrl();
|
193
227
|
this._validateEnabledActions();
|
194
228
|
}
|
195
229
|
/**
|
@@ -218,12 +252,14 @@ export class MapCard {
|
|
218
252
|
*/
|
219
253
|
async resetFilter() {
|
220
254
|
this._filterActive = false;
|
255
|
+
this._updateShareUrl();
|
221
256
|
}
|
222
257
|
/**
|
223
258
|
* updates the filter
|
224
259
|
*/
|
225
260
|
async updateFilterState() {
|
226
261
|
this._filterActive = this._definitionExpression !== this.selectedLayer.definitionExpression;
|
262
|
+
this._updateShareUrl();
|
227
263
|
}
|
228
264
|
/**
|
229
265
|
* updates the layer in map layer picker
|
@@ -299,7 +335,7 @@ export class MapCard {
|
|
299
335
|
const mapHeightClass = this.mapInfos?.length > 1 || this.isMapLayout ? "map-height" : "height-full";
|
300
336
|
const progressClass = this.isMapLayout ? "" : "display-none";
|
301
337
|
this._validateActiveActions();
|
302
|
-
return (h(Host, { key: '
|
338
|
+
return (h(Host, { key: '790599924cf104116f6961380103aef7c55e6d76' }, h("div", { key: '5467a5d4e3998807fdf243ada3088dba8e69941f', class: `${mapContainerClass} width-full`, ref: (el) => this._toolbar = el }, this._getActionBar(), !this.isMobile && this.isMapLayout && this._getDropdown("more-table-options"), this.enableShare && !this.isMobile && this.isMapLayout ? this._getShare("share") : undefined), h("calcite-progress", { key: '5c82042e0206be05e12d29ba588b26344b1017b8', class: progressClass, value: 0 }), h("div", { key: '0831bc4593f5a7680a8599a9868990734cb013b9', class: `${mapHeightClass} ${mapClass}`, ref: (el) => (this._mapDiv = el) }), h("map-tools", { key: '5bbf14428cc845d8b889e72d707672250f820686', basemapConfig: this.basemapConfig, class: `box-shadow ${themeClass}`, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableSingleExpand: this.enableSingleExpand, homeZoomToolsSize: this.homeZoomToolsSize, mapView: this.mapView, mapWidgetsSize: this.mapWidgetsSize, position: this.mapWidgetsPosition, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration, stackTools: this.stackTools, toolOrder: this.toolOrder })));
|
303
339
|
}
|
304
340
|
/**
|
305
341
|
* Called each time after the component is loaded
|
@@ -318,6 +354,7 @@ export class MapCard {
|
|
318
354
|
this._resizeObserver.observe(this._toolbar);
|
319
355
|
this._observerSet = true;
|
320
356
|
}
|
357
|
+
this._updateShareUrl();
|
321
358
|
}
|
322
359
|
//--------------------------------------------------------------------------
|
323
360
|
//
|
@@ -396,6 +433,7 @@ export class MapCard {
|
|
396
433
|
mapView: this.mapView
|
397
434
|
});
|
398
435
|
}
|
436
|
+
this._updateShareUrl();
|
399
437
|
}
|
400
438
|
/**
|
401
439
|
* Add/Remove tools from the action bar and dropdown based on available size
|
@@ -414,7 +452,7 @@ export class MapCard {
|
|
414
452
|
prev += cur.width;
|
415
453
|
return prev;
|
416
454
|
}, 0);
|
417
|
-
const skipControls = ["solutions-more", "solutions-map-layer-picker-container", "map-picker"];
|
455
|
+
const skipControls = ["solutions-more", "solutions-map-layer-picker-container", "map-picker", "solutions-action-share"];
|
418
456
|
if (controlsWidth > toolbarWidth) {
|
419
457
|
if (this._toolbarSizeInfos.length > 0) {
|
420
458
|
const controlsThatFit = [...this._toolbarSizeInfos].reverse().reduce((prev, cur) => {
|
@@ -540,6 +578,50 @@ export class MapCard {
|
|
540
578
|
return (h("calcite-dropdown-group", { class: item.disabled ? "disabled" : "", selectionMode: "none" }, h("calcite-dropdown-item", { disabled: item.loading, iconStart: item.icon, id: "solutions-subset-list", onClick: item.func }, item.loading ? (h("div", { class: "display-flex" }, h("calcite-loader", { inline: true, label: item.label, scale: "m" }), item.label)) : item.label)));
|
541
579
|
})))) : undefined;
|
542
580
|
}
|
581
|
+
/**
|
582
|
+
* Get an action and tooltip for share
|
583
|
+
*
|
584
|
+
* @param icon string the name of the icon to display, will also be used in its id
|
585
|
+
*
|
586
|
+
* @returns VNode The node representing the DOM element that will contain the action
|
587
|
+
*/
|
588
|
+
_getShare(icon) {
|
589
|
+
return (h("div", { class: "share-action", id: this._getId(icon) }, h("instant-apps-social-share", { autoUpdateShareUrl: false, class: "instant-app-share", embed: this.shareIncludeEmbed, popoverButtonIconScale: "s", ref: el => {
|
590
|
+
this._shareNode = el;
|
591
|
+
this._updateShareUrl();
|
592
|
+
}, scale: "m", shareButtonColor: "neutral", shareButtonType: "action", socialMedia: this.shareIncludeSocial, view: this.mapView }), this._getToolTip("bottom", icon, this._translations.share)));
|
593
|
+
}
|
594
|
+
/**
|
595
|
+
* Called each time the values that are used for custom url params change
|
596
|
+
*/
|
597
|
+
_updateShareUrl() {
|
598
|
+
const url = this._shareNode?.shareUrl;
|
599
|
+
if (!url) {
|
600
|
+
return;
|
601
|
+
}
|
602
|
+
const urlObj = new URL(url);
|
603
|
+
//set the additional search params
|
604
|
+
if (this._loadedId) {
|
605
|
+
urlObj.searchParams.set("webmap", this._loadedId);
|
606
|
+
}
|
607
|
+
else {
|
608
|
+
urlObj.searchParams.delete("webmap");
|
609
|
+
}
|
610
|
+
if (this.selectedLayer?.id) {
|
611
|
+
urlObj.searchParams.set("layer", this.selectedLayer.id);
|
612
|
+
}
|
613
|
+
else {
|
614
|
+
urlObj.searchParams.delete("layer");
|
615
|
+
}
|
616
|
+
if (this.selectedFeaturesIds?.length > 0) {
|
617
|
+
urlObj.searchParams.set("oid", this.selectedFeaturesIds.join(","));
|
618
|
+
}
|
619
|
+
else {
|
620
|
+
urlObj.searchParams.delete("oid");
|
621
|
+
}
|
622
|
+
urlObj.searchParams.set("applayout", this.appLayout);
|
623
|
+
this._shareNode.shareUrl = urlObj.href;
|
624
|
+
}
|
543
625
|
/**
|
544
626
|
* Open show/hide dropdown
|
545
627
|
* @protected
|
@@ -827,6 +909,29 @@ export class MapCard {
|
|
827
909
|
}
|
828
910
|
static get properties() {
|
829
911
|
return {
|
912
|
+
"appLayout": {
|
913
|
+
"type": "string",
|
914
|
+
"mutable": false,
|
915
|
+
"complexType": {
|
916
|
+
"original": "AppLayout",
|
917
|
+
"resolved": "\"mapView\" | \"splitView\" | \"tableView\"",
|
918
|
+
"references": {
|
919
|
+
"AppLayout": {
|
920
|
+
"location": "import",
|
921
|
+
"path": "../../utils/interfaces",
|
922
|
+
"id": "src/utils/interfaces.ts::AppLayout"
|
923
|
+
}
|
924
|
+
}
|
925
|
+
},
|
926
|
+
"required": false,
|
927
|
+
"optional": false,
|
928
|
+
"docs": {
|
929
|
+
"tags": [],
|
930
|
+
"text": "AppLayout: the current app layout"
|
931
|
+
},
|
932
|
+
"attribute": "app-layout",
|
933
|
+
"reflect": false
|
934
|
+
},
|
830
935
|
"appProxies": {
|
831
936
|
"type": "any",
|
832
937
|
"mutable": false,
|
@@ -947,6 +1052,24 @@ export class MapCard {
|
|
947
1052
|
"attribute": "enable-fullscreen",
|
948
1053
|
"reflect": false
|
949
1054
|
},
|
1055
|
+
"enableShare": {
|
1056
|
+
"type": "boolean",
|
1057
|
+
"mutable": false,
|
1058
|
+
"complexType": {
|
1059
|
+
"original": "boolean",
|
1060
|
+
"resolved": "boolean",
|
1061
|
+
"references": {}
|
1062
|
+
},
|
1063
|
+
"required": false,
|
1064
|
+
"optional": false,
|
1065
|
+
"docs": {
|
1066
|
+
"tags": [],
|
1067
|
+
"text": "boolean: when true the share widget will be available"
|
1068
|
+
},
|
1069
|
+
"attribute": "enable-share",
|
1070
|
+
"reflect": false,
|
1071
|
+
"defaultValue": "false"
|
1072
|
+
},
|
950
1073
|
"enableSingleExpand": {
|
951
1074
|
"type": "boolean",
|
952
1075
|
"mutable": false,
|
@@ -1270,6 +1393,40 @@ export class MapCard {
|
|
1270
1393
|
"attribute": "is-map-layout",
|
1271
1394
|
"reflect": false
|
1272
1395
|
},
|
1396
|
+
"shareIncludeEmbed": {
|
1397
|
+
"type": "boolean",
|
1398
|
+
"mutable": false,
|
1399
|
+
"complexType": {
|
1400
|
+
"original": "boolean",
|
1401
|
+
"resolved": "boolean",
|
1402
|
+
"references": {}
|
1403
|
+
},
|
1404
|
+
"required": false,
|
1405
|
+
"optional": false,
|
1406
|
+
"docs": {
|
1407
|
+
"tags": [],
|
1408
|
+
"text": "boolean: When true the share options will include embed option"
|
1409
|
+
},
|
1410
|
+
"attribute": "share-include-embed",
|
1411
|
+
"reflect": false
|
1412
|
+
},
|
1413
|
+
"shareIncludeSocial": {
|
1414
|
+
"type": "boolean",
|
1415
|
+
"mutable": false,
|
1416
|
+
"complexType": {
|
1417
|
+
"original": "boolean",
|
1418
|
+
"resolved": "boolean",
|
1419
|
+
"references": {}
|
1420
|
+
},
|
1421
|
+
"required": false,
|
1422
|
+
"optional": false,
|
1423
|
+
"docs": {
|
1424
|
+
"tags": [],
|
1425
|
+
"text": "boolean: When true the share options will include social media sharing"
|
1426
|
+
},
|
1427
|
+
"attribute": "share-include-social",
|
1428
|
+
"reflect": false
|
1429
|
+
},
|
1273
1430
|
"selectedFeaturesIds": {
|
1274
1431
|
"type": "unknown",
|
1275
1432
|
"mutable": false,
|
@@ -1516,8 +1673,17 @@ export class MapCard {
|
|
1516
1673
|
static get elementRef() { return "el"; }
|
1517
1674
|
static get watchers() {
|
1518
1675
|
return [{
|
1676
|
+
"propName": "appLayout",
|
1677
|
+
"methodName": "appLayoutWatchHandler"
|
1678
|
+
}, {
|
1519
1679
|
"propName": "enableHome",
|
1520
1680
|
"methodName": "enableHomeWatchHandler"
|
1681
|
+
}, {
|
1682
|
+
"propName": "enableShare",
|
1683
|
+
"methodName": "enableShareWatchHandler"
|
1684
|
+
}, {
|
1685
|
+
"propName": "mapView",
|
1686
|
+
"methodName": "mapViewWatchHandler"
|
1521
1687
|
}, {
|
1522
1688
|
"propName": "selectedLayer",
|
1523
1689
|
"methodName": "selectedLayerWatchHandler"
|
@@ -81,6 +81,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
81
81
|
this.basemapConfig = undefined;
|
82
82
|
this.coverPageEnabled = undefined;
|
83
83
|
this.customInfoText = undefined;
|
84
|
+
this.defaultAppLayout = undefined;
|
84
85
|
this.defaultCenter = "";
|
85
86
|
this.defaultGlobalId = "";
|
86
87
|
this.defaultLayer = "";
|
@@ -136,6 +137,10 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
136
137
|
// Properties (protected)
|
137
138
|
//
|
138
139
|
//--------------------------------------------------------------------------
|
140
|
+
/**
|
141
|
+
* boolean: When true the default appLayout has been applied and should no longer override
|
142
|
+
*/
|
143
|
+
_defaultAppLayoutHonored = false;
|
139
144
|
/**
|
140
145
|
* boolean: When true the map view will be set after render due to popup obstructing the view
|
141
146
|
* MapView.when is not fired when mapView is not currently visible
|
@@ -285,7 +290,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
285
290
|
render() {
|
286
291
|
// only avoid border when we have a header color that is not white
|
287
292
|
const borderClass = this.popupHeaderColor && this.popupHeaderColor !== "#FFFFFF" ? "border-width-0" : "";
|
288
|
-
return (h(Host, { key: '
|
293
|
+
return (h(Host, { key: 'ddb8bb35d74ab89ffd62d7bd0468b5a757fa5ba1' }, h("calcite-shell", { key: '74d941a3b1d4149a57c88cea263a2fd7e2b4f840', class: "position-relative" }, h("calcite-panel", { key: '3ff44942eab43c6f3a1cd92c918c0e2bae3d500a', class: `width-full height-full ${borderClass}`, loading: this._isLoading }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter()), this._filterModal()));
|
289
294
|
}
|
290
295
|
/**
|
291
296
|
* Called after each render
|
@@ -304,7 +309,11 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
304
309
|
*/
|
305
310
|
async componentDidLoad() {
|
306
311
|
this._resizeObserver.observe(this.el);
|
307
|
-
if (this.
|
312
|
+
if (!this._defaultAppLayoutHonored && this.defaultAppLayout) {
|
313
|
+
this._defaultAppLayoutHonored = true;
|
314
|
+
this.appLayout = this.defaultAppLayout;
|
315
|
+
}
|
316
|
+
else if (this.hideMapOnLoad && !this.appLayout) {
|
308
317
|
this.appLayout = 'tableView';
|
309
318
|
}
|
310
319
|
else if (!this.appLayout) {
|
@@ -480,7 +489,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
480
489
|
const isTableLayout = this.appLayout === 'tableView';
|
481
490
|
const mapContainerClass = (isMapLayout || isTableLayout) ? "position-absolute-0" : this._layoutMode === ELayoutMode.HORIZONTAL && (!this._isPortraitMobile || panelOpen) ? "" : "adjusted-height-50";
|
482
491
|
const hasMapAndLayer = this.defaultWebmap && this.defaultLayer;
|
483
|
-
return (h("div", { class: `${mapContainerClass} overflow-hidden`, id: "card-mapView" }, h("map-card", { appProxies: this.appProxies, basemapConfig: this.basemapConfig, class: "width-full", defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultWebmapId: this.defaultWebmap, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableSingleExpand: true, hidden: !this._isPortraitMobile && isTableLayout, homeZoomIndex: 3, homeZoomPosition: "top-left", homeZoomToolsSize: "s", isMapLayout: isMapLayout, isMobile: this._isMobile, mapInfo: this._mapInfo, mapInfos: this.mapInfos?.filter(mapInfo => mapInfo.visible !== false), mapWidgetsIndex: 0, mapWidgetsPosition: "top-right", mapWidgetsSize: "m", onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._mapCard = el, selectedFeaturesIds: this._layerTable?.selectedIds, selectedLayer: this._layer, stackTools: true, theme: this.theme, toolOrder: ["legend", "search", "fullscreen", "basemap", "floorfilter"], zoomToScale: this.zoomToScale })));
|
492
|
+
return (h("div", { class: `${mapContainerClass} overflow-hidden`, id: "card-mapView" }, h("map-card", { appLayout: this.appLayout, appProxies: this.appProxies, basemapConfig: this.basemapConfig, class: "width-full", defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultWebmapId: this.defaultWebmap, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableShare: this.enableShare, enableSingleExpand: true, hidden: !this._isPortraitMobile && isTableLayout, homeZoomIndex: 3, homeZoomPosition: "top-left", homeZoomToolsSize: "s", isMapLayout: isMapLayout, isMobile: this._isMobile, mapInfo: this._mapInfo, mapInfos: this.mapInfos?.filter(mapInfo => mapInfo.visible !== false), mapWidgetsIndex: 0, mapWidgetsPosition: "top-right", mapWidgetsSize: "m", onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._mapCard = el, selectedFeaturesIds: this._layerTable?.selectedIds, selectedLayer: this._layer, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, stackTools: true, theme: this.theme, toolOrder: ["legend", "search", "fullscreen", "basemap", "floorfilter"], zoomToScale: this.zoomToScale })));
|
484
493
|
}
|
485
494
|
/**
|
486
495
|
* Get the expand node for the popup information
|
@@ -542,7 +551,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
542
551
|
this.defaultGlobalId?.indexOf(",") > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
|
543
552
|
const defaultOid = !this.defaultOid ? undefined :
|
544
553
|
this.defaultOid?.indexOf(",") > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
|
545
|
-
return (h("calcite-shell", { class: `${tableSizeClass} border-bottom` }, !this._isMobile ? (h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, this.getActions(layoutMode, panelOpen))) : undefined, h("div", { class: `width-full height-full position-relative z-index-0 ${tableClass}` }, h("layer-table", { createFilterModal: false, defaultGlobalId: hasMapAndLayer ? globalId : undefined, defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultOid: hasMapAndLayer && !globalId ? defaultOid : undefined, enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableColumnReorder: this.enableColumnReorder, enableInlineEdit: this?._mapInfo?.enableInlineEdit, enableShare: this.enableShare, isMobile: this._isPortraitMobile, mapHidden: isTableLayout, mapInfo: this._mapInfo, mapView: this?._mapView, onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._layerTable = el, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected, zoomToScale: this.zoomToScale })), h("div", { class: mapClass, id: "full-map-view" })));
|
554
|
+
return (h("calcite-shell", { class: `${tableSizeClass} border-bottom` }, !this._isMobile ? (h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, this.getActions(layoutMode, panelOpen))) : undefined, h("div", { class: `width-full height-full position-relative z-index-0 ${tableClass}` }, h("layer-table", { appLayout: this.appLayout, createFilterModal: false, defaultGlobalId: hasMapAndLayer ? globalId : undefined, defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultOid: hasMapAndLayer && !globalId ? defaultOid : undefined, enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableColumnReorder: this.enableColumnReorder, enableInlineEdit: this?._mapInfo?.enableInlineEdit, enableShare: this.enableShare, isMobile: this._isPortraitMobile, mapHidden: isTableLayout, mapInfo: this._mapInfo, mapView: this?._mapView, onToggleFilter: this._toggleFilter.bind(this), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._layerTable = el, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected, zoomToScale: this.zoomToScale })), h("div", { class: mapClass, id: "full-map-view" })));
|
546
555
|
}
|
547
556
|
/**
|
548
557
|
* Returns the Actions for table's node
|
@@ -778,6 +787,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
778
787
|
"basemapConfig": [16],
|
779
788
|
"coverPageEnabled": [4, "cover-page-enabled"],
|
780
789
|
"customInfoText": [1, "custom-info-text"],
|
790
|
+
"defaultAppLayout": [1, "default-app-layout"],
|
781
791
|
"defaultCenter": [1, "default-center"],
|
782
792
|
"defaultGlobalId": [1, "default-global-id"],
|
783
793
|
"defaultLayer": [1, "default-layer"],
|
@@ -29,7 +29,7 @@ const { state, onChange } = createStore({
|
|
29
29
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
30
30
|
See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
31
31
|
*/
|
32
|
-
let e$a;function has(a){return "function"==typeof e$a[a]?e$a[a]=e$a[a](globalThis):e$a[a]}e$a=globalThis.dojoConfig?.has||globalThis.esriConfig?.has?{...globalThis.dojoConfig?.has,...globalThis.esriConfig?.has}:{},has.add=(a,d,o,i)=>{(i||void 0===e$a[a])&&(e$a[a]=d),o&&has(a);},has.cache=e$a,has.add("big-integer-warning-enabled",!0),has.add("esri-deprecation-warnings",!0),has.add("esri-tests-disable-screenshots",!1),has.add("esri-tests-use-full-window",!1),has.add("esri-tests-post-to-influx",!0),has.add("esri-cim-animations-enable-status","enabled"),has.add("esri-cim-animations-spotlight",!1),has.add("esri-cim-animations-freeze-time",!1),(()=>{has.add("host-webworker",void 0!==globalThis.WorkerGlobalScope&&self instanceof globalThis.WorkerGlobalScope);const e="undefined"!=typeof window&&"undefined"!=typeof location&&"undefined"!=typeof document&&window.location===location&&window.document===document;if(has.add("host-browser",e),has.add("host-node","object"==typeof globalThis.process&&globalThis.process.versions?.node&&globalThis.process.versions.v8),has.add("dom",e),has("host-browser")){const e=navigator,a=e.userAgent,d=e.appVersion,o=parseFloat(d);if(has.add("wp",parseFloat(a.split("Windows Phone")[1])||void 0),has.add("msapp",parseFloat(a.split("MSAppHost/")[1])||void 0),has.add("khtml",d.includes("Konqueror")?o:void 0),has.add("edge",parseFloat(a.split("Edge/")[1])||void 0),has.add("opr",parseFloat(a.split("OPR/")[1])||void 0),has.add("webkit",!has("wp")&&!has("edge")&&parseFloat(a.split("WebKit/")[1])||void 0),has.add("chrome",!has("edge")&&!has("opr")&&parseFloat(a.split("Chrome/")[1])||void 0),has.add("android",!has("wp")&&parseFloat(a.split("Android ")[1])||void 0),has.add("safari",!d.includes("Safari")||has("wp")||has("chrome")||has("android")||has("edge")||has("opr")?void 0:parseFloat(d.split("Version/")[1])),has.add("mac",d.includes("Macintosh")),!has("wp")&&/(iPhone|iPod|iPad)/.test(a)){const e=RegExp.$1.replace(/P/,"p"),d=/OS ([\d_]+)/.test(a)?RegExp.$1:"1",o=parseFloat(d.replace(/_/,".").replaceAll("_",""));has.add(e,o),has.add("ios",o);}has("webkit")||(!a.includes("Gecko")||has("wp")||has("khtml")||has("edge")||has.add("mozilla",o),has("mozilla")&&has.add("ff",parseFloat(a.split("Firefox/")[1]||a.split("Minefield/")[1])||void 0));}})(),(()=>{if(globalThis.navigator){const e=navigator.userAgent,a=/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i.test(e),d=/iPhone/i.test(e);a&&has.add("esri-mobile",a),d&&has.add("esri-iPhone",d),has.add("esri-geolocation",!!navigator.geolocation);}has.add("esri-wasm","WebAssembly"in globalThis),has.add("esri-performance-mode-frames-between-render",20),has.add("esri-force-performance-mode",!1),has.add("esri-shared-array-buffer",(()=>{const e="SharedArrayBuffer"in globalThis,a=!1===globalThis.crossOriginIsolated;return e&&!a})),has.add("wasm-simd",(()=>{const e=[0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11];return WebAssembly.validate(new Uint8Array(e))})),has.add("esri-atomics","Atomics"in globalThis),has.add("esri-workers","Worker"in globalThis),has.add("web-feat:cache","caches"in globalThis),has.add("esri-workers-arraybuffer-transfer",!has("safari")||Number(has("safari"))>=12),has.add("workers-pool-size",8),has.add("featurelayer-simplify-thresholds",[.5,.5,.5,.5]),has.add("featurelayer-simplify-payload-size-factors",[1,1,4]),has.add("featurelayer-fast-triangulation-enabled",!0),has.add("featurelayer-animation-enabled",!0),has.add("featurelayer-snapshot-enabled",!0),has.add("featurelayer-snapshot-point-min-threshold",8e4),has.add("featurelayer-snapshot-point-max-threshold",4e5),has.add("featurelayer-snapshot-point-coverage",.1),has.add("featurelayer-query-max-depth",4),has.add("featurelayer-query-pausing-enabled",!1),has.add("featurelayer-advanced-symbols",!1),has.add("featurelayer-pbf",!0),has.add("featurelayer-pbf-statistics",!1),has.add("feature-layers-workers",!0),has.add("feature-polyline-generalization-factor",1),has.add("mapview-transitions-duration",200),has.add("mapview-essential-goto-duration",200),has.add("mapview-srswitch-adjust-rotation-scale-threshold",24e6),has.add("mapserver-pbf-version-support",10.81),has.add("mapservice-popup-identify-max-tolerance",20),has("host-webworker")||has("host-browser")&&(has.add("esri-csp-restrictions",(()=>{try{new Function;}catch{return !0}return !1})),has.add("esri-image-decode",(()=>{if("decode"in new Image){const e=new Image;return e.src='data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg"></svg>',void e.decode().then((()=>{has.add("esri-image-decode",!0,!0,!0);})).catch((()=>{has.add("esri-image-decode",!1,!0,!0);}))}return !1})),has.add("esri-url-encodes-apostrophe",(()=>{const e=window.document.createElement("a");return e.href="?'",e.href.includes("?%27")})));})();
|
32
|
+
let e$a;function has(a){return "function"==typeof e$a[a]?e$a[a]=e$a[a](globalThis):e$a[a]}e$a=globalThis.dojoConfig?.has||globalThis.esriConfig?.has?{...globalThis.dojoConfig?.has,...globalThis.esriConfig?.has}:{},has.add=(a,d,o,i)=>{(i||void 0===e$a[a])&&(e$a[a]=d),o&&has(a);},has.cache=e$a,has.add("big-integer-warning-enabled",!0),has.add("esri-deprecation-warnings",!0),has.add("esri-tests-disable-screenshots",!1),has.add("esri-tests-use-full-window",!1),has.add("esri-tests-post-to-influx",!0),has.add("esri-cim-animations-enable-status","enabled"),has.add("esri-cim-animations-spotlight",!1),has.add("esri-cim-animations-freeze-time",!1),has.add("enable-feature:multiple-highlights",!1),(()=>{has.add("host-webworker",void 0!==globalThis.WorkerGlobalScope&&self instanceof globalThis.WorkerGlobalScope);const e="undefined"!=typeof window&&"undefined"!=typeof location&&"undefined"!=typeof document&&window.location===location&&window.document===document;if(has.add("host-browser",e),has.add("host-node","object"==typeof globalThis.process&&globalThis.process.versions?.node&&globalThis.process.versions.v8),has.add("dom",e),has("host-browser")){const e=navigator,a=e.userAgent,d=e.appVersion,o=parseFloat(d);if(has.add("wp",parseFloat(a.split("Windows Phone")[1])||void 0),has.add("msapp",parseFloat(a.split("MSAppHost/")[1])||void 0),has.add("khtml",d.includes("Konqueror")?o:void 0),has.add("edge",parseFloat(a.split("Edge/")[1])||void 0),has.add("opr",parseFloat(a.split("OPR/")[1])||void 0),has.add("webkit",!has("wp")&&!has("edge")&&parseFloat(a.split("WebKit/")[1])||void 0),has.add("chrome",!has("edge")&&!has("opr")&&parseFloat(a.split("Chrome/")[1])||void 0),has.add("android",!has("wp")&&parseFloat(a.split("Android ")[1])||void 0),has.add("safari",!d.includes("Safari")||has("wp")||has("chrome")||has("android")||has("edge")||has("opr")?void 0:parseFloat(d.split("Version/")[1])),has.add("mac",d.includes("Macintosh")),!has("wp")&&/(iPhone|iPod|iPad)/.test(a)){const e=RegExp.$1.replace(/P/,"p"),d=/OS ([\d_]+)/.test(a)?RegExp.$1:"1",o=parseFloat(d.replace(/_/,".").replaceAll("_",""));has.add(e,o),has.add("ios",o);}has("webkit")||(!a.includes("Gecko")||has("wp")||has("khtml")||has("edge")||has.add("mozilla",o),has("mozilla")&&has.add("ff",parseFloat(a.split("Firefox/")[1]||a.split("Minefield/")[1])||void 0));}})(),(()=>{if(globalThis.navigator){const e=navigator.userAgent,a=/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i.test(e),d=/iPhone/i.test(e);a&&has.add("esri-mobile",a),d&&has.add("esri-iPhone",d),has.add("esri-geolocation",!!navigator.geolocation);}has.add("esri-wasm","WebAssembly"in globalThis),has.add("esri-performance-mode-frames-between-render",20),has.add("esri-force-performance-mode",!1),has.add("esri-shared-array-buffer",(()=>{const e="SharedArrayBuffer"in globalThis,a=!1===globalThis.crossOriginIsolated;return e&&!a})),has.add("wasm-simd",(()=>{const e=[0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11];return WebAssembly.validate(new Uint8Array(e))})),has.add("esri-atomics","Atomics"in globalThis),has.add("esri-workers","Worker"in globalThis),has.add("web-feat:cache","caches"in globalThis),has.add("esri-workers-arraybuffer-transfer",!has("safari")||Number(has("safari"))>=12),has.add("workers-pool-size",8),has.add("featurelayer-simplify-thresholds",[.5,.5,.5,.5]),has.add("featurelayer-simplify-payload-size-factors",[1,1,4]),has.add("featurelayer-fast-triangulation-enabled",!0),has.add("featurelayer-animation-enabled",!0),has.add("featurelayer-snapshot-enabled",!0),has.add("featurelayer-snapshot-point-min-threshold",8e4),has.add("featurelayer-snapshot-point-max-threshold",4e5),has.add("featurelayer-snapshot-point-coverage",.1),has.add("featurelayer-query-max-depth",4),has.add("featurelayer-query-pausing-enabled",!1),has.add("featurelayer-advanced-symbols",!1),has.add("featurelayer-pbf",!0),has.add("featurelayer-pbf-statistics",!1),has.add("feature-layers-workers",!0),has.add("feature-polyline-generalization-factor",1),has.add("mapview-transitions-duration",200),has.add("mapview-essential-goto-duration",200),has.add("mapview-srswitch-adjust-rotation-scale-threshold",24e6),has.add("mapserver-pbf-version-support",10.81),has.add("mapservice-popup-identify-max-tolerance",20),has("host-webworker")||has("host-browser")&&(has.add("esri-csp-restrictions",(()=>{try{new Function;}catch{return !0}return !1})),has.add("esri-image-decode",(()=>{if("decode"in new Image){const e=new Image;return e.src='data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg"></svg>',void e.decode().then((()=>{has.add("esri-image-decode",!0,!0,!0);})).catch((()=>{has.add("esri-image-decode",!1,!0,!0);}))}return !1})),has.add("esri-url-encodes-apostrophe",(()=>{const e=window.document.createElement("a");return e.href="?'",e.href.includes("?%27")})));})();
|
33
33
|
|
34
34
|
/*
|
35
35
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
@@ -53,7 +53,7 @@ function n$7(r,n,t=!1){return f$4(r,n,t)}function t$4(r,n){if(null!=n)return n[r
|
|
53
53
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
54
54
|
See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
55
55
|
*/
|
56
|
-
const c$6="
|
56
|
+
const c$6="20241016";
|
57
57
|
|
58
58
|
/*
|
59
59
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|