Experience Builder Custom Widgets

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Latest Activity

(24 Posts)
Brian_McLeer
MVP Regular Contributor

Print your ArcGIS Pro layouts straight from Experience Builder, no print service required. Import a .pagx and the widget rebuilds the page in the browser (north arrow, scale bar, legend, and all) and exports to PDF, SVG, PNG, and more. It is a beta, so I am looking for folks to try it against their own layouts and send feedback.

Read more...

more
4 2 159
Brian_McLeer
MVP Regular Contributor

Add, Map & Edit Data is a customized widget that combines two of Esri's out of the box widgets, Add Data and Edit, and drops a field-mapping step in between them. It came out of a recurring headache I kept running into. Someone has a spreadsheet or a layer they want to get into an existing editable layer, but the incoming field names never line up with the target, so the data has to be reshaped outside Experience Builder before anyone can edit it. I wanted the whole thing, add, map, load, and edit, to happen in one widget without leaving the app.

The user adds data the same way the stock Add Data widget works, from a file, a URL, or ArcGIS content. Then they map the incoming fields onto the target layer's fields. The mapping handles one to one, many to one, one to many, and many to many, so you can concatenate a couple of fields into one, split one field into several, coalesce, drop in a constant, or write a small expression when you need it. After a quick validate and preview, it loads the records into the target layer in batches, and then they can edit what they just loaded on the map with the regular Edit tools.

As with my other widgets, the target layer and the options all live in the settings panel, so you point it at your own layer without editing code. Mappings also export and import as XML, which means a mapping you build once for a recurring load can be saved and reused instead of rebuilt every time.

Read more...

more
8 6 421
Brian_McLeer
MVP Regular Contributor

A custom widget for ArcGIS Experience Builder. A resident enters an address, the widget returns which polygon zone the address falls in, then renders a configurable template populated with that zone's fields.

Workflow is generic: address in, polygon match out, template populated with matched zone attributes. Possible use cases include council districts, polling places, school boundaries, snow routes, code enforcement zones, leaf pickup areas, garbage day, or anything point-in-polygon.

Configurable via the settings panel or XML import/export.

Repo: https://github.com/brianmcleer/zone-lookup-widget

A couple notes:

The spatial query does an exact intersect first, then a 30m buffered retry if nothing hits. Helps with geocoders that return points slightly off the parcel.

There's an "Optimize for iframe" toggle in settings that makes the widget fill its parent height. Useful when the host page sets a fixed iframe height. Same widget works in regular EB layouts without the toggle.

XML config import/export round-trips most settings (template, labels, brand colors, feature toggles, and so on). The zone layer data source itself does not, since EB stores it as an app-specific UUID rather than a URL. Re-link the layer after import.

Read more...

more
5 0 242
Brian_McLeer
MVP Regular Contributor

Custom Experience Builder widget. Upload a CSV or Excel file of addresses, geocode them against any ArcGIS Locator, and see the matched points on a connected Map widget. Results export as GeoJSON, KML, or Shapefile.

GitHub: https://github.com/brianmcleer/csv-geocoder-widget

Built and tested on Experience Builder 1.19 and 1.20. Install steps and feedback link are in the GitHub README. Zip attached below.

Read more...

more
2 0 279
Brian_McLeer
MVP Regular Contributor

Search Custom is a customized version of Esri's out-of-the-box Search widget and one of the first widgets I built. It started as five hardcoded copies set up for our City services, so I recently merged them into one widget and moved everything, especially the service URLs, into the settings panel so you can point it at your own services without editing code. It adds multi-source search, a few popup behaviors, and XML export and import to move a configuration between apps.

Read more...

more
3 3 385
Brian_McLeer
MVP Regular Contributor

Modified OOTB Map Layers widget with additional features. 

Read more...

more
5 0 341
Brian_McLeer
MVP Regular Contributor

What's New is a custom Experience Builder 1.20 widget that adds the familiar bell-and-red-dot notification pattern to public-facing map applications. It drops into any spot of an Experience (header, body, or footer) and displays a small red dot whenever there's a new announcement. Users click the bell, see what changed in a popover or centered modal, and the dot disappears for them across browser sessions. When the next update goes out, bumping the Announcement ID (a "New ID" button in the settings panel drops in a timestamp) brings the dot back for everyone on their next visit. Content is either Rich HTML pasted directly into the settings or an external URL, and the widget is pure client-side with no backend. Seen-state lives in each user's localStorage, so there's nothing to maintain. The widget solves a recurring problem: every time improvements are pushed to an Experience, users have no idea anything changed because they tend to bookmark the map and use it the same way for months. What's New gives them a quiet, dismissible signal built right into the app.

Read more...

more
7 2 470
adamsimple
Regular Contributor

A free, single-file TypeScript utility that lets you toggle structured debug logging in your custom Experience Builder widgets from the URL. No rebuilds, no code changes, works in dev, test, and production. Just add ?debug=FETCH to your ExB URL and see exactly what's happening.

Read more...

more
3 2 898
Brian_McLeer
MVP Regular Contributor

Have collapsed sidebars expand when using "Add to table" or "View in table"" to show Table widget within sidebar. 

Read more...

more
4 9 1,145
Brian_McLeer
MVP Regular Contributor

Similar to the out of the box Basemap Gallery, gives a few more advanced setting options for developers. 

Read more...

more
2 2 691
505 Subscribers