IDEA
|
On Experience Builder Developer Edition 1.15, I copied the map layers widget from "path\to\your\ArcGISExperienceBuilder\client\dist\widgets\arcgis\map-layers" and pasted it into "path\to\your\ArcGISExperienceBuilder\client\your-extensions\widgets", followed by renaming to map-layers-custom. In the "path\to\your\ArcGISExperienceBuilder\client\your-extensions\widgets\map-layers-custom\src\runtime\widget.tsx" file starting at line 330, I updated from this: defineLayerListActions = async (event) => {
const listItem = event.item
let actionGroups = {}
listItem.actionsSections = []
if (this.props.config?.useMapWidget && this.props.config?.enableLegend && listItem.layer.legendEnabled) {
listItem.panel = {
content: 'legend',
open: listItem.layer.visible && this.props.config?.showAllLegend
}
} to this: defineLayerListActions = async (event) => {
const listItem = event.item
let actionGroups = {}
listItem.actionsSections = []
listItem.open = true
if (this.props.config?.useMapWidget && this.props.config?.enableLegend && listItem.layer.legendEnabled) {
listItem.panel = {
content: 'legend',
open: true
}
} I then added the custom widget in and the layers were expanded by default. Don't forget to update the manifest.json file on lines 2 and 3. "name": "map-layers-custom",
"label": "Map Layers Custom",
... View more
|
0
|
0
|
32
|
POST
|
Instead of running npm ci on the client folder, through a series of searches, I have found that running npm ci --legacy-peer-deps is now required for my install due to legacy dependencies. Before that, I did do a full removal and install of 1.15.
... View more
a week ago
|
1
|
0
|
39
|
POST
|
Hello @TonghuiMing I am currently using Experience Builder Developer Edition 1.15. Currently, the web map is hosted on an internal server only, but I can share screenshots. It does not appear to be a layer visibility range issue. The three layers you see above (Recycle, Commercial, Residential) are two levels in the layer tree. The first level is the Utilities Map, followed by the Trash Services. Somehow the second level Trash Services is picking up the symbology for all 3, while each layer is not showing any symbology. This is the image from the application, which shows that the layers are visible but the legend for each layer stays grayed out. You can see in the portion of the web map that the blue Commercial layer's visible range is enabled.
... View more
a week ago
|
0
|
0
|
76
|
POST
|
I have several nested group layers in my Map Layers widget in Ex Builder DE. On the Map Layers Options, I have the Show legend turned on. When I expand the layers on the widget, the main group layer level containing all the layers has the legend working showing all the layers. Still, the individual layers within the group layer are not in the legend and the legend icon stays grayed out. Has anyone else experienced this or have a workaround? Below you can see all 3 layers in the legend for "Trash Services", but each layer does not show and the legend button is grayed out.
... View more
a week ago
|
0
|
2
|
137
|
POST
|
@FredericPoliart_EsriAU @DavidDas__GISP @ZhujingXia I have worked on David's most recent download above and modified it with the following: Allow hyperlinks to multiple URLs based on coordinates (Pictometry, Google Street View, Google Maps, Copy Lat/Long. Have the user hover and click on the map, then click on buttons to be linked out to the page. Remove Tilt/Rotation For my application, we publish in this WGS 84 / UTM zone 12N. Functionality has been added to convert from that system to Web Mercator or WGS84, which is a similar issue @ZhujingXia posted about on 10/3/23. Changed icon.svg to a map pin. Built on Experience Builder Developer Edition 1.15. @FredericPoliart_EsriAU @DavidDas__GISP I updated the manifest.json to include you both as authors and and updated description. I can post the updated widget to this message thread, but wanted to get your thoughts first.
... View more
2 weeks ago
|
1
|
0
|
147
|
POST
|
The below question assumes you have deployed a custom widget, and ran npm ci, npm fund, and npm start on the client followed by server folders in Deleper Edition. Suppose you update a file within the widget, such as widget.tsx, do you need to run any npm commands on the client and/or server folder? Will refreshing the Developer Edition builder app window work? Mostly asking as it can take 5-10 minutes to run through the commands for both the client and server folders.
... View more
2 weeks ago
|
0
|
2
|
256
|
POST
|
I was wondering the same thing, @ZhujingXia did you ever find a solution?
... View more
2 weeks ago
|
0
|
0
|
184
|
POST
|
@Ke_Xu, I think I found the missing step. Originally, I was trying to correlate a search web map with a separate web map that I was using in the Map Widget. After adding the search layers to the map that is being used in the Map Widget, I was able to construct the steps in Experience Builder to get the pop-up to show the item being searched. 1. Add search layers to the web map, and turn off visibility. 2. Turn off the show in the map legend. 3. Enable and configure pop-ups. 4. In Experience Builder Developer Edition, add the search layer as a new search source from the layer source. 5. Under the Action tab, if needed add a newly added source to Zoom and/or Pan trigger. 6. Add action and framework, Select Data Records, and Select newly added search layer as Trigger data and Action data. 7. If needed in Layer List, uncheck the newly added search layer so it is not visible. Search for a parcel number, map will zoom to and open a pop-up, Reference: https://www.youtube.com/watch?v=eoNje-ZY28k&list=PLeXjHxbU5lmZW2qMTokPl0KOU_E1wrzjA&index=4
... View more
3 weeks ago
|
0
|
0
|
94
|
IDEA
|
When on the map widget, users should be able to enter coordinates on the Initial View Custom. When you click on Modify, you can pan and zoom, but you cannot enter coordinates. This would be helpful to keep default loading extents for multiple applications the same. If an organization has multiple Experience Builder apps, keeping the default extent on all of them would help with consistency. I know that you can set the extent I know that you can edit the extent under the General Settings of the item, but that does not appear to be related to the default map extent when loaded initially.
... View more
3 weeks ago
|
0
|
2
|
137
|
POST
|
Hi @Ke_Xu, yes, the Auto select the first result was enabled in the Search widget.
... View more
3 weeks ago
|
0
|
1
|
143
|
POST
|
Thank you @sylvainhotte1, I appreciate you being open to sharing it.
... View more
3 weeks ago
|
0
|
0
|
88
|
POST
|
I think you have to add the "" function to check for if a part is empty. // List the fields to combine
var parts = [$feature.ST_NUM, $feature.DIRPRE, $feature.FEANME, $feature.FEATYP, $feature.DIRSUF, $feature.LV_APT];
// Function to check if a value is null or empty
function IsNullOrEmpty(value) {
return value == null || value == "";
}
// Loop through the address parts, if not null or empty add them to a new array
var filteredparts = [];
for (var i in parts) {
var value = parts[i];
if (IsNullOrEmpty(value)) continue;
filteredparts[Count(filteredparts)] = value;
}
// Concatenate with a space
return Concatenate(filteredparts, " ");
... View more
3 weeks ago
|
0
|
1
|
312
|
POST
|
This question stems from this Esri Community post. The post linked tends to relate to the search widget within the map widget and not the search widget itself. I have a series of map services within a web map that I will use in the search widget (not the Search radio button on the map widget). When a user searches one of the layers, the result they select should have a pop-up equal to how it is set in the web map such as below. With the article linked in this post, has anyone had any success in doing this through actions and triggers on the Search widget? Checklist of things I have done: - Enabled/configured pop-ups in web map. - Enabled pop-up upon feature selection on the web map in Experience Builder Developer.
... View more
3 weeks ago
|
0
|
3
|
238
|
POST
|
I think I answered my own question. You can edit the HTML in the text element, but the OK button gets greyed out. You have to exit the HTML mode then click ok.
... View more
4 weeks ago
|
0
|
0
|
192
|
POST
|
I am trying to use a text element with two attribute expressions. I want the URL field in the pop-up to hyperlink to the URL, but have it display "Click here for more info." I can get it to hyperlink to where I want it to go, but it is showing the full URL, not the alias I am looking for. Currently, this is what it shows. 1st expression {expression/expr0} var annexYear = $feature.ANNEX_YEAR;
var annexDate = $feature.ANNEX_DATE;
var acres = $feature.ACRES;
var name = $feature.ANNEX_NAME;
var annexationDate = Text($feature.AnnexationDate, "MMMM D, YYYY");
return "Annex Year: " + annexYear + "\n" +
"Annex Date: " + annexDate + "\n" +
"Acres: " + acres + "\n" +
"Name: " + name + "\n" +
"Annexation Date: " + annexationDate + "\n"; 2nd expression {expression/expr1} var link = 'https://server.domain.com/maps/' + UrlEncode($feature.URL);
return link Text element: {expression/expr0} URL: {expression/expr1}
... View more
4 weeks ago
|
0
|
1
|
201
|
Title | Kudos | Posted |
---|---|---|
1 | 2 weeks ago | |
1 | a week ago | |
1 | 08-16-2024 12:55 PM | |
3 | a month ago | |
3 | 08-16-2024 07:12 AM |
Online Status |
Offline
|
Date Last Visited |
yesterday
|