Widgets in Development

5909
21
05-26-2021 09:15 AM
RobertScheitlin__GISP
MVP Emeritus
12 21 5,909

Currently I am working on getting all the widget that I use in my County Parcel Viewer website re-developed in Experience Builder. This has been a bit of a task as EB is very lacking in  widgets currently.

As I hope most of know I have released a Print Widget already.

Next to release is likely the Measurement widget. This is basically the JS API Measure widget (2D)  with the addition of point locations. Though a point is not technically a measurement , I believe that it is an important addition. Being able to click on the map and get the Lat, long or X, Y in multiple formats is nice. I know that in EB 1.4 there is the Coordinate Conversion widget but I like my ability to have location information linked with measurement info. You can define the WKID (Spatial Reference) of the point location and change from DD, DMS, or your custom specified WKID in the widget at runtime.

Measurement.jpg

I also have a Draw widget pretty close to release. The draw widget basic JS API Sketch Widget (2D) with the addition of symbology settings at run time for graphics and editing graphics symbology at runtime, along with the much needed (in my opinion) Text drawing capability.

Draw.jpg

One of the major things that both of these widget are currently lacking is the widget settings UI. Currently if I release them, then configuration will have to be made manually in the widgets config.json file.

Oh course I have already started developing eSearch and eLocate widget but as those are heavily reliant on configuration I probably will not release those until I have developed their settings dialogs fully.

One major thing to note is that I am not developing widgets for 3D so all my widgets are developed for 2D Map View and not web scenes.

One of the areas of feedback I would like to request is about releasing before the widget setting development is complete. If I have the widgets basic functionality complete should I release it (like I did initially for the print widget) or spend the time to develop the setting dialog (which will definitely delay the release) before releasing? The difference would be the manual editing of the widget config.json of course.

What's your opinion? Earlier release or fully configurable using the UI?

21 Comments
DaveFullerton
Frequent Contributor

I would vote for earlier release, but this may make more trouble for you, Robert.

RodWoodfordOld
Frequent Contributor

Hi Robert,

Happy to go with whatever is easiest for you.

cheers

Jianxia
Esri Regular Contributor

@RobertScheitlin__GISP , I am so happy to see you starting this user group! What you have done for WAB developer community is stupendous. Thank YOU!

DavidColey
Honored Contributor

Hi Robert - getting back into it.  Re-acquainting my self with the api ta 4.x, the jimu and now the react framework.  To be honest, what I"ve done so far is take on the tic-tac-toe React tutorial to gain a better understanding of state.

As I'm late to the conversation you're probably way ahead.  For me (and perhaps others from the WAB dev edition) there are benefits in both approaches, right?

On the one hand, those of us from the wab dev are used to working with the various config files and modifying js/ts/css files directly / as-required.  On the other, you releasing fully configurable with the UI lets / enables us to ride (benefit?) on what you've done and hopefully learn / gain a better understanding of the development pattern for the EB.

You've probably already thought about creating maybe an early release to be followed by a fully configured release?  Sadly though, because I don't yet understand the full pattern, I can't say if that's a realistic option..... my 2 cents.

In the meantime though, here is something I have configured totally out of the box (and online hosted at this time).  The idea was to take planning data (that is almost always 'themed') and instead of stacking layers in a toc or layer list, split up the app into focused map themes and take full advantage of the List Widget for sorting and querying. 

The idea being that, for planning-type data such as zoning and land use, most users are just looking to see what / within their address or property lies. 

Each map page is a modified sidebar, and each layout is custom for seamless (hopefully) I added as much intelligence as I could into focus layer itself, and map actions for certain maps to zoom to same extent.

The home page functions as an intro-style gallery page.

Thanks,

David

 

 

BrettLawson
Occasional Contributor

I would vote for earlier release as well, only because the Draw widget looks fantastic and I'm eager to see it.  Thanks for all your work!

RobertScheitlin__GISP
MVP Emeritus

@BrettLawson

The Draw widget will be the next to release but it will have an additional deployment step after it is added to an app and then that app is downloaded, due to an EB bug that should be fixed in the next release of EB 1.6. I was debating on waiting for 1.6 before I release due to this bug but will reconsider.

KristianTuusjärvi
Occasional Contributor

Nice to see you develop important widgets. I'm new to EB and was wondering what you mean with "releasing", are you working in the Esri's development team? Are your widgets going to ship with EB version 1.x or separately?

RobertScheitlin__GISP
MVP Emeritus
  1. Are you working in the Esri's development team? No I am just a developer.
  2.  Are your widgets going to ship with EB version 1.x or separately? Separately. You can find my custom widgets for EB Developer posted in this user group that you are in right now that I manage.

There are currently  2 posted here:

https://community.esri.com/t5/experience-builder-custom-widgets/tkb-p/eb-custom-widgetstkb-board

 

KristianTuusjärvi
Occasional Contributor

Ahh right thank you! Have you considered using GitHub for your custom widgets or do you already have one?

RobertScheitlin__GISP
MVP Emeritus

I post my widget source code here on GeoNet only.

LefterisKoumis
Frequent Contributor

@RobertScheitlin__GISP  what is the path you followed to get yourself familiar with typescript  and ReactJS? Any tutorials you recommend? Thanks.

RobertScheitlin__GISP
MVP Emeritus

@LefterisKoumis 

I just used these links:

To setup the dev environment (the installation video in the below link as very helpfull).

https://developers.arcgis.com/experience-builder/guide/install-guide/

And this link for developing a basic widget:

https://developers.arcgis.com/experience-builder/guide/getting-started-widget/

 

BingJing
Regular Contributor

Hi Robert, Do you have plans to code Search and Identify widgets for EB? Thank you as always.

 

RobertScheitlin__GISP
MVP Emeritus

@BingJing 

Yes they are both on my list, but not set schedule yet.

DavidBuehler
Frequent Contributor

Has the eSearch widget for Experience Builder been released yet?

JenniferHaller2
Occasional Explorer

Any plans to develop a widget for Experience Builder similar to your Layer Toggle Button from Web App Builder? We use that widget in several of our apps. As we transition to Experience Builder, it would be great to maintain that functionality. Thanks so much for all you do!

ZhujingXia
Frequent Contributor

Hi Robert,

How it goes with your enhanced search widget in EB, I am looking for your early release for this widget.

Thank you for your work done in WAB and EB.

Thank you so much.

 

 

JeffreyThompson2
MVP Regular Contributor

JeffreyThompson2_0-1696521590324.png

@RobertScheitlin__GISP Has not logged in since May and has not posted since November. I think it is fair to assume that he is no longer active on these forums.

Jack_in_the_box
Emerging Contributor

Hi Robert, Are you working on the code for the Search and Identify widgets for EB? Thank you as always.

DanCopKac
Regular Contributor

Hi Robert, thank you for your support. You have single-handedly made Experience Builder palatable! Hope you can continue your work, otherwise Experience Builder may continue to live in the shadow of WAB! 😊 

About the Author
I am the GIS Manager for Calhoun County, Alabama. I have been an GIS Developer for nearly two decades. My areas of expertise is Web App Development, widget development, along with Javascript API Development and some occasional .Net development.