@esri/solutions-components 0.8.4 → 0.8.5
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 +41 -2
- package/dist/cjs/crowdsource-manager.cjs.entry.js +2 -1
- 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 +19 -1
- package/dist/collection/components/map-card/map-card.js +27 -2
- package/dist/components/crowdsource-manager.js +3 -1
- package/dist/components/map-card2.js +42 -2
- package/dist/esm/card-manager_3.entry.js +41 -2
- package/dist/esm/crowdsource-manager.entry.js +2 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/{p-65ad1625.entry.js → p-6f65682c.entry.js} +1 -1
- package/dist/solutions-components/p-b8c12736.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +4 -0
- package/dist/types/components/map-card/map-card.d.ts +8 -0
- package/dist/types/components.d.ts +16 -0
- package/package.json +2 -1
- package/dist/solutions-components/p-f3467807.entry.js +0 -6
@@ -1571,6 +1571,38 @@ const LayerTable = class {
|
|
1571
1571
|
};
|
1572
1572
|
LayerTable.style = layerTableCss;
|
1573
1573
|
|
1574
|
+
function joinAppProxies(map, config, appProxies) {
|
1575
|
+
if (appProxies) {
|
1576
|
+
appProxies.forEach((proxy) => {
|
1577
|
+
map.allLayers.forEach((layer) => {
|
1578
|
+
if (layer && layer.url === proxy.sourceUrl) {
|
1579
|
+
// directly change the layer url to the proxy url
|
1580
|
+
layer.url = proxy.proxyUrl;
|
1581
|
+
// Replace the layer's portalItem's url with the proxy url too, otherwise anonymous viewers get a sign-in prompt.
|
1582
|
+
if (layer.portalItem) {
|
1583
|
+
layer.portalItem.when(() => {
|
1584
|
+
// layer.portalItem exists, see above. Not sure why typescript thinks it could be undefined here.
|
1585
|
+
layer.portalItem.url = proxy.proxyUrl;
|
1586
|
+
});
|
1587
|
+
}
|
1588
|
+
// also add a request interceptor in case we missed any requests to the original url, or the jsapi team adds new requests in the future.
|
1589
|
+
config.request?.interceptors?.push({
|
1590
|
+
// this interceptor only applies to requests made to this proxy's sourceUrl (the layer's original url).
|
1591
|
+
urls: proxy.sourceUrl,
|
1592
|
+
before: (params) => {
|
1593
|
+
// change requests from the original url to the proxy url
|
1594
|
+
if (params.url && params.url === proxy.sourceUrl) {
|
1595
|
+
params.url = proxy.proxyUrl;
|
1596
|
+
}
|
1597
|
+
},
|
1598
|
+
});
|
1599
|
+
}
|
1600
|
+
});
|
1601
|
+
});
|
1602
|
+
}
|
1603
|
+
return map;
|
1604
|
+
}
|
1605
|
+
|
1574
1606
|
const mapCardCss = ":host{display:block;--calcite-label-margin-bottom:0;--calcite-block-padding:0}.map-height{height:calc(100% - 51px)}.height-full{height:100%}.box-shadow{box-shadow:none !important}.visibility-hidden-1{visibility:hidden;height:1px;}.display-none{display:none}";
|
1575
1607
|
|
1576
1608
|
const MapCard = class {
|
@@ -1586,6 +1618,7 @@ const MapCard = class {
|
|
1586
1618
|
* string: the id of map currently displayed
|
1587
1619
|
*/
|
1588
1620
|
this._loadedId = "";
|
1621
|
+
this.appProxies = undefined;
|
1589
1622
|
this.defaultWebmapId = "";
|
1590
1623
|
this.enableHome = undefined;
|
1591
1624
|
this.enableLegend = undefined;
|
@@ -1662,14 +1695,16 @@ const MapCard = class {
|
|
1662
1695
|
* @protected
|
1663
1696
|
*/
|
1664
1697
|
async _initModules() {
|
1665
|
-
const [WebMap, MapView, Home] = await locale.loadModules([
|
1698
|
+
const [WebMap, MapView, Home, esriConfig] = await locale.loadModules([
|
1666
1699
|
"esri/WebMap",
|
1667
1700
|
"esri/views/MapView",
|
1668
|
-
"esri/widgets/Home"
|
1701
|
+
"esri/widgets/Home",
|
1702
|
+
"esri/config"
|
1669
1703
|
]);
|
1670
1704
|
this.WebMap = WebMap;
|
1671
1705
|
this.MapView = MapView;
|
1672
1706
|
this.Home = Home;
|
1707
|
+
this.esriConfig = esriConfig;
|
1673
1708
|
}
|
1674
1709
|
/**
|
1675
1710
|
* Load the webmap for the provided webMapInfo
|
@@ -1690,6 +1725,10 @@ const MapCard = class {
|
|
1690
1725
|
const webMap = new this.WebMap({
|
1691
1726
|
portalItem: { id }
|
1692
1727
|
});
|
1728
|
+
if (this.appProxies) {
|
1729
|
+
await webMap.load();
|
1730
|
+
await joinAppProxies(webMap, this.esriConfig, this.appProxies);
|
1731
|
+
}
|
1693
1732
|
this.mapView = new this.MapView({
|
1694
1733
|
container: this._mapDiv,
|
1695
1734
|
map: webMap,
|
@@ -39,6 +39,7 @@ const CrowdsourceManager = class {
|
|
39
39
|
* MapView.when is not fired when mapView is not currently visible
|
40
40
|
*/
|
41
41
|
this._shouldSetMapView = false;
|
42
|
+
this.appProxies = undefined;
|
42
43
|
this.defaultCenter = "";
|
43
44
|
this.defaultGlobalId = "";
|
44
45
|
this.defaultLayer = "";
|
@@ -326,7 +327,7 @@ const CrowdsourceManager = class {
|
|
326
327
|
_getMapNode(panelOpen) {
|
327
328
|
var _a;
|
328
329
|
const mapContainerClass = this._layoutMode === interfaces.ELayoutMode.HORIZONTAL && (!this._isMobile || panelOpen) ? "" : "adjusted-height-50";
|
329
|
-
return (index.h("div", { class: `${mapContainerClass} overflow-hidden` }, index.h("map-card", { basemapConfig: this.basemapConfig, class: "width-full", 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._expandPopup && !this._isMobile, homeZoomIndex: 3, homeZoomPosition: "top-left", homeZoomToolsSize: "s", mapInfos: (_a = this.mapInfos) === null || _a === void 0 ? void 0 : _a.filter(mapInfo => mapInfo.visible !== false), mapWidgetsIndex: 0, mapWidgetsPosition: "top-right", mapWidgetsSize: "m", stackTools: true, theme: this.theme, toolOrder: ["legend", "search", "fullscreen", "basemap", "floorfilter"] })));
|
330
|
+
return (index.h("div", { class: `${mapContainerClass} overflow-hidden` }, index.h("map-card", { appProxies: this.appProxies, basemapConfig: this.basemapConfig, class: "width-full", 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._expandPopup && !this._isMobile, homeZoomIndex: 3, homeZoomPosition: "top-left", homeZoomToolsSize: "s", mapInfos: (_a = this.mapInfos) === null || _a === void 0 ? void 0 : _a.filter(mapInfo => mapInfo.visible !== false), mapWidgetsIndex: 0, mapWidgetsPosition: "top-right", mapWidgetsSize: "m", stackTools: true, theme: this.theme, toolOrder: ["legend", "search", "fullscreen", "basemap", "floorfilter"] })));
|
330
331
|
}
|
331
332
|
/**
|
332
333
|
* Get the expand node for the popup information
|