|
POST
|
This page is titled "Use Map Components (React 19 + Web Components)" and it provides instructions to download the SDK to a new folder on your ExB development environment called "web-component-widgets/use-web-components-19". React JS 19 uses functional components. Under the "Contents" version it states: The issue I see is that at the SDK location it still uses class components. For example, the "add-layers" sample it states that it was updated to version 1.19 but the script suggests otherwise. render () {
const style = css`
form > div {
display: flex;
justify-content: space-between;
input {
width: 100%;
}
button {
min-width: 100px;
}
}
`
return (
<div className="widget-addLayers jimu-widget p-2" css={style}>
{this.props.hasOwnProperty('useMapWidgetIds') &&
this.props.useMapWidgetIds &&
this.props.useMapWidgetIds.length === 1 && (
<JimuMapViewComponent
useMapWidgetId={this.props.useMapWidgetIds?.[0]}
onActiveViewChange={(jmv: JimuMapView) => {
this.setState({
jimuMapView: jmv
})
}}
/>
)}
<p>{defaultMessages.instructions}</p>
... View more
02-12-2026
09:10 AM
|
0
|
1
|
189
|
|
POST
|
You are correct. I was making a novice error on the directions of the starter widget.
... View more
02-06-2026
11:43 AM
|
0
|
0
|
275
|
|
POST
|
The Experience Builder online documentation needs badly a update on all pages to reflect the changes that come with ArcGIS ExB 1.19, ReactJS 19 and Node JS 22. For example, the ExB starter widget as instructed here, it cannot be implemented as described because you will get a webpack error due to incompatibility with the newer version of Node.js. In the newer versions of React JS., only function based components are used, but sadly most of the ESRI ExB documentation still refer to the class based components. @Jianxia ?
... View more
02-06-2026
10:44 AM
|
3
|
2
|
314
|
|
POST
|
I have an update @Sage_Wall and @LaurenBoyd. I used the suggested script and I realized that sometimes the reactiveUtils.watch is not triggered and sometimes it does. I don't what are reasons behind it. So, I modified to use the arcgisPropertyChange property. so instead of reactiveUtils.watch(
() => arcgisFeatures.features,
() => {
checkIfFeaturesEmpty()
}) I use this arcgisFeatures.addEventListener("arcgisPropertyChange", (event) => {
if (arcgisFeatures.features.length>0) {
checkIfFeaturesEmpty();
}
... View more
01-08-2026
03:42 PM
|
0
|
0
|
561
|
|
POST
|
Thank you so much @Sage_Wall and @LaurenBoyd . It makes sense since the fetchFeatures makes calls to the server and we have to wait until it retrieves the feature info. I think this is a good example to add to the documentation since I noticed that there are not many examples of using mapimagelayers with the web components.
... View more
01-08-2026
12:50 PM
|
1
|
1
|
579
|
|
POST
|
@Sage_Wall Are you suggesting to set the fetchFeatures to false and use the identify to collect the features from an mapimagelayer? If that's the case what is the use of the fetchFeatures? await arcgisFeatures.open({
location: mapPoint,
features: [graphics]
fetchFeatures: false
}) For featurelayers we can use this and we don't need fetchFeatures. arcgisFeatures.open({
location: mapPoint,
features: [graphics]
});
... View more
01-08-2026
08:50 AM
|
0
|
0
|
618
|
|
POST
|
I use this script to display the popup in the arcgis-features. I need to determine if the arcgis-features after it runs if it is empty or found features. If i click on a featurelayer , then the console states that the component is not empty. However, if i click on a mapimagelayer it states that the component is empty even though there is a feature inside the arcgis-features. Why? const hitTestResult = await arcgisMap.view.hitTest(screenPoint);
const mapPoint = arcgisMap.view.toMap(screenPoint); await arcgisFeatures.open({
location: mapPoint,
features: results.map(r => r.graphic), // Include any client-side features found
fetchFeatures: true
}).then((response) => {
checkIfFeaturesEmpty()
})
function checkIfFeaturesEmpty() {
if (arcgisFeatures && arcgisFeatures.features) {
if (arcgisFeatures.features.length === 0) {
console.log('The <arcgis-features> component is empty.');
return true;
} else {
console.log('The <arcgis-features> component is not empty and contains ' + arcgisFeatures.features.length + ' features.');
return false;
}
} else {
console.log('The <arcgis-features> element or its features property is not available yet.');
return null;
}
}
... View more
01-07-2026
06:56 PM
|
0
|
6
|
679
|
|
POST
|
@Sage_Wall If you have a mapimagelayer, then it will still show "No feature hit" in the console. hittest works for featurelayers. How can you modify the script to show hit featureLayer/no feature hit if you are using a feature layer and a mapimagelayer.
... View more
01-07-2026
03:42 PM
|
0
|
1
|
400
|
|
POST
|
Yes, thank you—I’m aware of that. My question, however, is about changing the “No layer” text. Since the application may have multiple layers added dynamically by the user, I’d prefer the message to prompt the user to click the layer stack icon and select a layer in order to populate the table.
... View more
01-06-2026
08:48 AM
|
0
|
0
|
370
|
|
POST
|
When the layer-url property is not set at design time, <arcgis-feature-table> shows the layer list icon with the message “No layer”, even if users add layers later during runtime. Is there a way to replace this message with something like “Click the icon to display tables for available layers”? As it stands, users are not clearly informed that clicking the icon reveals the list of feature tables. @Sage_Wall @ReneRubalcava
... View more
01-05-2026
01:35 PM
|
1
|
2
|
448
|
|
POST
|
In the past, I stayed away from building custom widgets in Experience Builder because layer selection had to be done at design time. I was recently informed that widgets can now dynamically work with any layers currently on the map. Since it’s been a while, I need to refresh my React skills—specifically, which React 19 component concepts should I focus on?
... View more
01-02-2026
12:05 PM
|
0
|
1
|
420
|
|
POST
|
Thank you. I wasn’t aware of this, as it has been a while since I last reviewed ExB. It would be beneficial for application developers—especially those who are not familiar with React—to have a design-time option that allows layers to be added to the map at runtime.
... View more
12-30-2025
10:18 AM
|
1
|
0
|
606
|
|
POST
|
One reason I was hesitant to adopt Experience Builder was its limited support for custom widgets that can work dynamically with whatever layers are currently on the map. The last time I evaluated it, a widget had to be configured at design time with specific layers, meaning you needed to know in advance which layers it would interact with. In the applications I work on, users can load any layers into the map at runtime and then use a custom widget to operate on some or all of those layers. So my question is: is this now possible in Experience Builder? I just use this to detect the layers during runtime arcgisMap.view.map.layers.map(async function (lyr) {
... View more
12-30-2025
09:19 AM
|
0
|
2
|
651
|
|
POST
|
I am using the example as posted here to calculate the geodetic length and area of a location. Wanted to use imperial units (ft and miles). So, I changed const geodesicLength = geodeticLengthOperator.execute(line, { units: "kilometers" });
const planarLength = lengthOperator.execute(line, { units: "kilometers" });
const geodesicArea = geodeticAreaOperator.execute(polygon, { units: "square-kilometers" });
const planarArea = areaOperator.execute(polygon, { units: "square-kilometers" }); to: const geodesicLength = geodeticLengthOperator.execute(line, { units: "miles" });
const planarLength = lengthOperator.execute(line, { units: "feet" });
const geodesicArea = geodeticAreaOperator.execute(polygon, { units: "square-miles" });
const planarArea = areaOperator.execute(polygon, { units: "square-feet" });
Then I noticed that the geodetic measurements were way off incorrect Then I changed the "units" to "unit" for geodetic measurements const geodesicLength = geodeticLengthOperator.execute(line, { unit: "miles" });
const planarLength = lengthOperator.execute(line, { units: "feet" });
const geodesicArea = geodeticAreaOperator.execute(polygon, { unit: "square-miles" });
const planarArea = areaOperator.execute(polygon, { units: "square-feet" }); and now I get correct results!! I don't see anywhere in the documentation stating to use unit instead of units for geodetic measurements.
... View more
11-19-2025
10:28 AM
|
0
|
1
|
452
|
|
POST
|
I use the search component( arcgis js api 4.33), but the chrome dev tools flags it as depreciated! <arcgis-map basemap="streets-navigation-vector" id="my-map" center="-120.45, 37.183" zoom="6" popup-disabled>
<arcgis-search position="top-left"></arcgis-search>
<arcgis-zoom position="top-left"></arcgis-zoom>
<arcgis-compass auto-destroy-disabled position="top-left"></arcgis-compass>
<arcgis-scale-bar position="bottom-left" bar-style="line" unit="imperial"></arcgis-scale-bar>
</arcgis-map> Chrome Dev Tools
... View more
11-04-2025
12:43 PM
|
0
|
1
|
372
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 06-19-2025 10:13 PM | |
| 3 | 02-06-2026 10:44 AM | |
| 1 | 01-08-2026 12:50 PM | |
| 1 | 01-05-2026 01:35 PM | |
| 1 | 12-30-2025 10:18 AM |
| Online Status |
Offline
|
| Date Last Visited |
3 weeks ago
|