Identify Widget Version 2.21 - 11/16/2021

02-23-2015 05:20 PM
Labels (1)

Identify Widget Version 2.21 - 11/16/2021

Live Preview Site

Web AppBuilder for ArcGIS | Help - Identify Widget


List of the latest enhancements and changes:

  1. Added 10 max rows max display to widgets dropdowns.
  2. Fixed a mixed protocol issue in code

Previous enhancements and changes:

  Check the "Older enhancements or changes.txt" in the download for a complete list.


Older Versions

Last 2.4 version

Last 2.5 version

Last 2.7 version 

Last 2.8 version 

Last 2.9 version 

Last 2.10 version

Last 2.11 version

Last 2.12 version

Last 2.13 version

Last 2.14 version

Last 2.15 version

Last 2.17 version



  1. If you are hosting this widget on a https server, then make sure you change all your excludelayer urls to https. Failure to do so will result in widget failure.



  • Specify which layers are to be identified
  • Format the fields for identify layers
  • Configure links and link icon
  • Close result popups after a number of seconds of losing focus
  • Choose which layer to identify in the widget UI using drop down list
  • Specify layers to be excluded from identify operation
  • Choose to only identify configured layers
  • Replace null values with empty strings
  • Configure default symbology for identify results
  • Specify Visible, Top, or All layers to be identified.
  • Option to Keep Identify Active
  • All Identify geometry types are configurable
  • Option to use map time
Labels (1)


A1: The PopUp Only option only has to do with whether that field will be displayed in the results and the popup or only the popup. I am seeing some issues with popups configured for a layer working after the identify widget is used though. I will have to research that.

A2: I am looking into adding a option to add the identify layer from the map or a url but adding all the layers in the map will not be an option I will consider.

C1A: I found a bug there and have addressed it for the next release.

C1B: Did you do any manual editing to the config? Does that particular feature have values for those fields?

C1B - date: Also a bug and have addressed it for the next release.

C2: I will research this.


Thanks for     Would you rather we post issues (if any) here, or in the Roberts Custom WAB Widgets thread?



Start a new thread please, that way this post does not get 20 pages like the LocalLayer widget

Will do.

hi Robert,

I can't get your live preview site to display in IE 11

it is working in Chrome however.

I have cleared my IE cash...

any ideas?


   I just tested in IE 11 and have no issue see attached image:


Try bringing up F12 developer tools and see if the console lists any error and check the version mode (indicated in the image).


here is what I see in the F12 display.. error says access denied.. but I can get in with chrome so it can't be our firewall...


   And what about the version mode? Second part of my question?

what I sent is what I see, my toolbar looks different.. not sure why or how to get the black bar you have.

how about this.. I found a bar along the side


   That is an issue. You are using IE 11 in 5 document mode. Change document mode to edge and it will work

still blank

I think I have compatibility on...

here is what f12 gives me


   Compatibility mode is an issue.  Se this link on how to turn it on/off

How to Disable Compatibility Mode in Internet Explorer

I turned compatatility off and still nothing showing up

as you might have guessed the webappbuilder doesn't work either.

any ideas on how to trouble shoot this.

could it java runtime client? or some other setting?

I will try to reset the browser back to default settings.


   If resetting to default does not work then give tech support a call

See my post from March 2, 2015 in this thread

Roberts Custom WAB Widgets

for an Excel spreadsheet containing RegEx script commands for use in Notepad++ which quickly convert the XML config code from the Flex version widget into json code for the WAB version of the widget.


just a followup

I had to rebuild my pc.

all is working well now.

something in the profiles was blocking my domain authentication.

thanks so much for your ideas.

Hey Rob,

Haven't had the chance to try this widget yet, but does it have the ability to view attached photos in-window?


   No currently this widget does not support attachments. It does support links to images, url links, and the such.

Robert Awesome Widget.

After loading your widget and adding the button and configuring it, it worked well.

I did notice that the Web Appbuilder identify is still popping up as well. How do you disable the Web Appbuilder identify and just have your widget Identify as the only primary one?



   I can not say that I am seeing that issue when testing... Are the popups configured on your web map from AGOL?

I went into AGOL and removed the popup on all they layers and still got the Web Appbuilder identify to popup. I want to the your Identify widget and removed the layer, they add it back. I am still getting the Web Appbuilder identify. after i re-added they layer i changed the name in your Identify widget and i noticed that the Web Appbuilder Identify  is also displaying the same name that i changed to.


     maybe screenshots will help me understand.

Here is a screen shot after i click on a parcel with your identify too.

It seems as i have to move the mouse away from the parcel after i click on a parcel using your widget or Web Appbuilder Identifier will popup or if I hoover over the parcel or your identify window that i clicked to identify the Web Appbuilder Identifier popup



   OK now I understand. What you are calling the Appbuilder Identifier is the maps popup window. The Identify widget is developed to use the maps popup window in its operation as will as list the results in the widgets result list. If you don not want this behavior then you can configure the Identify Widget to prevent the popup. To do this uncheck the Enable Mouse Over Graphic Info Windows and Enable Mouse Over Result Info Windows option in the widgets configuration UI.


As Robert wrote, you can use something like this in your config_identify.json file:


  "identifylayeroption": "visible",

  "identifytolerance": 5,

  "defaultzoomscale": 5000,

  "keepidentifyactive": true,

  "returngeometryforzoom": true,

  "enablelineselect": true,

  "enablefreehandlineselect": true,

  "enablepolylineselect": true,

  "enableextentselect": true,

  "enabletriangleselect": false,

  "enablepolyselect": true,

  "enablefreehandpolyselect": true,

  "enablecircleselect": true,

  "enableellipseselect": true,

  "enablegraphicclickinfo": true,

  "usemaptime": false,

  "infoautoclosemilliseconds": 2000,

  "autoactivatedtool": "point",

  "disablelayerdropdown": false,

  "disablealllayerschoice": false,

  "replacenullswithemptystring": true,

  "enablemouseoverrecordinfo": false,

  "enablemouseovergraphicsinfo": false,

  "layers": {




   those options are configureable in the widgets setting UI as checkboxes with the labels I mentioned.

thanks for the suggestions Barnaby and Robert!


Hi Robert,

Just configured this widget and it works great!  Thanks for the contributions!  Anyways, I decided to use this to account for the oddities that I was seeing with the local layer widget and I think this will be sufficient.  At this point I'm trying to make a small modification to the size of the form during the initial load.  I want the height to be larger.  I've been looking at the  style.css and changing the height, min-height (lines 4 & 6), and another height tag at line 26, but I have not seen any changes.  Is there any way to change the height of the widget so that more information appears in the list?  Am I in the right area for this?


   You set the widget height and width in the main config.json


        "position": {

          "left": 55,

          "top": 45,

          "width": 400,

          "height": 410


        "placeholderIndex": 1,

        "id": "_5",

        "positionRelativeTo": "map",

        "name": "Identify",

        "label": "Identify",

        "version": "",

        "IsController": false,

        "uri": "widgets/Identify/Widget",

        "config": "configs/Identify/config_Identify.json"



Another potential solution for you is to move the widget so that it is accessed from the upper-right corner of the app as so:


Then the height of the ID widget window is automatically the height of the app in your browser.  Hope this helps...

so before version 1.1.2 i could have just copied over the identify widget folder and not had to re-do the layers? on every release i have been deleting the identify folder in clien/stemapp/widgets folder then moving the new version.


   That is still best practice. But actually removing the identify widget in the WAB user interface also removes the apps/###/configs/Identify/config_identify.json for that particular app, and that is the file that needs updating. If you just overwrite the Identify widget folder in the apps/###/widgets folder then it will continue to attempt to use the apps/###/configs/Identify/config_identify.json and that is an issue. For new apps you build just replacing the client/stemapp/widgets folder is fine.

Anonymous User

Maybe I found a bug?

From my understanding, the "Add Exclude Identify Layer "  option would seem to allow us to exclude one layer in a service with multiple layers, for example let's say I have 10 layers. One layer is the County as a polygon. So it's layer id 10.  Every time I click identify in the county, of course, the entire county highlights. So it's useless and I want to exclude it. This should work right?  When I add it (http://ourserver/arcgis/rest/services/lTheLayerName/MapServer/10) it breaks Identify entirely. It says No results found.  Apparently it excluded the entire service.   Here is my workflow: I put this service into a webmap, then added the webmap in Developer Edition and have been adding and configuring your lovely widgets (eSearch, Identify etc). So currently the whole county highlights in Identify. Thoughts? Thank you..


   I need to look into this. On thing that I know works is to use the layers 'name' in the exclude. So using your rest endpoint find the name of the layer in the map service and use that in the exclude dialog under name instead of url.

Anonymous User

Robert I tried that. It would not let me continue. I guess the form did not see it as valid input. It only let me use a URL.

If you would like to call me to test further I would be glad to help.


   Can you share your config_Enhanced Search.json for review?

Anonymous User

Hi Robert,

I went to send you a personal said I was not connected? I don't see how to connect to you unless that means you follow me? I did Endorse you though.

Config file is here: Search.json

Yes, I found this problem last week.  If a layer in a service is excluded, all other layers in the service are also excluded. 

Excluding layers also has issues in the Flex version of the widget:

Problem with excluding layers in ID widget 3.7 for Flex


   Sorry I meant the config_Identify.json and this url does not work

Ha!  I was wondering the same thing myself, but kept my mouth shut... 

Anonymous User

Here's the link Robert -

Apologies for the GeoNet question I just wasn't sure how to message Robert. If anyone wants to contact me just follow me.


   I was hoping to see some of your attempts to exclude layers in the json, but there is nothing there but the default ones that come with the widget.

Here is what some named excludes look like that are working fine for me.


        "name": "County Fill"



        "name": "County Outline"



        "name": "Parcels"


Anonymous User


It is now working. Using the layer name.

It really wouldn't validate / save at first. I think however that was because I first entered a URL, then deleted URL and entered a layer name. I think that specific workflow may have been relevant to the form validation. If it matters, it was also in IE 11. But... it's working now!!! Thanks Robert and Barnaby.


Bingo.   Problem solved.  When a service has multiple layers, one of which you want to exclude from ID results, just add the layer "name" from REST endpoint, and NOT the layer URL, into the "Add Exclude Identify Layer" GUI.  Case closed for WAB version of widget!!!!!!!!!!!!!!!!!!!!   

Is there any chance that this method will work for the Flex widget?

Many thanks,


Edit:  "Is there any chance that this method will work for the Flex widget?"

-The answer is YES!!!!!!!!!!!!!!!!!!!!  I will add this answer to the Flex thread.  Good job, Robert!


   I think it will.

Hi Robert,

This is a very interesting widget which is very much same as Identify in Flex.

I have couple of thoughts which will help us and everyone to use the WAB functionalities between the Communication between the widgets.

In the results that we display, can you also look into to show the results into the  Attribute table.

And also is there any configuration  that helps to enforce Layers Visibility to the Identify layers.

Thanks in advance.

Version history
Last update:
‎11-16-2021 06:51 AM
Updated by: