Identify Widget Version 2.21 - 11/16/2021

252460
524
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

 

ATTENTION:

  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.

 

Features:

  • 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)
Attachments
Comments

Thanks Robert for quick reply. Since it is highly possible that colon character is in fields like description/note, it will be very helpful if you would considering changing using colon to something else less common as a split point in the result list string. Thanks so much.

Helen,

   The next release will have the code changes I provided above.

Thank you Robert.

Anonymous User

Any plan to add the "Download to CSV" option like the eSearch has?

I like Identify because it can search "All" layers at once. If eSearch did that, I'd just use eSearch. But that is actually quite a help, searching All Layers for casual users.

Kevin,

  No I have no plans for that at this time. The main issue would be the fact that you CAN identify many different layers at the same time and each of those would have a different schema (i.e fields) so that would make making one csv impossible.

Anonymous User

Ahhh I see. Thanks Robert! In this case I'll use both. Great widgets, we're very appreciative.

Anonymous User

Robert, another question.

I noticed the "x" wasn't working in my Result list. SAGIS Property Map Viewer  It shows the "move" cursor, so it doesn't let me 'click' the 'x' to remove a result entry.

It works great in your example site though. 

So, I opened F12 on my beta site above, and started removing DIVs. I found that removing the "title" DIV for a result row, it then lets me click the 'x' and it removes the row correctly. For example, with parcels, removing this div:  <p id="uniqname_0_0id_28" class="title">Parcels</p>  it then works.

Thoughts?   didn't modify your Identify. I had 2.9, so I just pulled a fresh 2.9.01 and installed it, so it's plain vanilla except for its config.

Also... I noticed that if you click a polygon or line Result in the Results list, it does indeed highlight the feature and zoom to it. However, this does not seem to work for point features. Just line or poly. Bug?

It's Fri and I know you had an "interesting" one so no rush here, have a good weekend! I'll keep examining this here next week and be glad to test anything.

Kevin,

   The remove x issue turns out is a LaunchPad theme specific issue. The fix is a change to two files.

List.js ( change line 92):

domClass.add(rTitle, 'ititle');

In the style.css make these changes:

.identify-list-item .ititle{
  padding-left: 40px;
  padding-right: 10px;
  padding-bottom: 3px;
  margin-right: 22px;
  cursor:default;
  font-weight: bolder;
}
.dart-panel .identify-list-item .ititle{
  position: inherit;
  height: inherit;
}
.claro .jimu-launchpad-panel .identify-list-item .ititle {
  color: black;
}

I don't see the point result zoom issue...

Anonymous User

Robert, thanks that CSS does the trick!  However, the point results don't zoom on clicking them. Turn on Schools or Libraries for example. SAGIS Property Map Viewer I tested in Chrome & Edge. Do they zoom for you on click?  update: I see this on your Example demo page, as well. For example selecting Police Stations, and click one of them. It doesn't zoom to and/or highlight the particular result clicked.

Kevin,

   OK I see the issue. It is discussed here and I have not made another release since 2.9.0.1

https://community.esri.com/docs/DOC-3250-identify-widget-version-23-02172017?messageTarget=all&start... 

Lefteris,

  It sounds like you are asking if this widget uses the the top polygon to identify over polygons... If so, then absolutely not. If you choose the point tool in the widget it uses the clicked location to identify all intersecting polygons on all layers.

THank you Robert. I deleted my question just before you posted the response, because I realized the answer to my question.

Hello Robert,

I am using identify widget version 2.14. It has been working well. But I just found out that, if a map service is not available for one layer configured in the identify layer list, identifying feature doesn't work for any layer in the identify list. Can you check if that is the case at your end? or there is some configuration that I have missed?

thanks

Helen

Helen,

  I have never run into that situation, so I have nothing in the code currently to handle that (maybe a future release will).

Hello Robert.

Some of the web services I use  have long string in some of their attributes. As a result, the width of the result window become quite large and you have to scroll to the right to see the Remove icon. Is there a  way to "force" wrapping the content of all fields to keep the result width at its default size?

THanks.

Lefteris,

   In the "edit result format" dialog there is a wrap text option.

THank you. I don't really use the settings file, since I customize the widgets not to use web maps but they detects on the fly, the layers that the user put on the map.

I changed this to reflect the wrap setting.

this.list._wrapResults = true;‍‍

However, even though the text is wrapped still I have the scroll to the right to see the delete icon.

Other than changing the width of this widget are other options?

Lefteris,

   Because this field is a url there is no Words to wrap. So you would have to set a max-width to the label class in the css:

.identify-list-item .label {
    padding-left: 40px;
    padding-right: 10px;
    padding-bottom: 3px;
    margin-right: 22px;
    cursor: default;
    max-width: 320px;
    overflow-x: auto;
}

Thanks. That was it.

Hi Robert,

Thanks for this excellent widget. It's very useful.

We have several date fields in our dataset and one thing I've noticed is it doesn't seem to handle null date fields properly. The null value does get replaced by an empty string but it then tries to format the empty date string and returns (in our case) a funky date. I made a couple of revisions to get it to work in a couple of areas and it seemed to do the trick.

if (isDateField && value !== '') {

Can you confirm that this is an issue and this solution is valid?

Thanks again!

James,

  I have not tested on data that has a date field with some null values. Your change does sound like a viable solution though.

Does the Identify Widget 2.14 support hosted Feature Service, such as https://gis.brevardfl.gov/gissrv/rest/services/Hosted/County_Boundary_Mask_WKID102100/FeatureServer/...? It seems that the hosted feature service did not work for us. 

Lixin,

  That url worked fine for me when I added it.

Hello,

I'm looking for some help...I have the Identify widget 2.15 configured for roughly 17 layers.  2 of the layers do not show results in the attributes, but the graphic selection is there, and the record looks like it is retrieved as there is a listing for it in the results.  I've reviewed the two data layers in question (Lots and Blocks) and can find no issues (I still think this might be my issue).  This is a link to a test application I am working on: ArcGIS Web Application  If you use this PIN to search for a parcel ( 00434060549973 ) using the esearch widget that is auto enabled when you open the site you will select a parcel that has both block and lot information that should display when you switch to the Identify Widget and select that parcel.  Layers that exist in the same service as the Blocks and Lots along with other layers from other services display correctly. 

Thanks in advance for any advice or thoughts!  Have a great weekend all. -norm

Norm,

  Strange. When I just add that layer (lotts - 13) to my app it works fine. I will have to do some testing to see what is going wrong with your identify widget configuration.

Dear,

I am using Identify Widget and i put my service instead of default services.I changed in config.json from line 26 to 247.I changed url and id and i wrote my services.When started application in combo box i view my services but when select service from combo box and when select this layer on map i can not view result on tab Results(from popup of Identify Widget) and not appear popup(default popup) with results.

How to configure Identify Widget to work with my services.

Best regard. 

Kiro,

   Do not manually edit the config.json. The widget includes a settings dialog that allows for the widgets configuration. When you add the widget to a new WAB app the settings dialog should appear automatically in WAB.

Dear Robert,

Which Tools(Software) i must to use for edit Widget?

Best regard

Dear Robert,

Can you give me instruction how to configure Identify widget to work with my Layers?

Best Regard

Dear Robert,

This link:

https://gis.calhouncounty.org/WAB/V2.15/widgets/Identify/widgets/Identify/help/identify_Help.htm

can not open on my PC.

Problem is with Web App Builder for ArcGis(developer edition).I download arcgis-web-appbuilder-2.17.zip and when start startup.bat appears web pages od ArcGis Web Application.when write url of our company:

http://gdi-sk.maps.arcgis.com/ 

appear error:

How to solved this problem, to may use WAB?

Best Regard

Try using a https url instead of http.

It is the same.

Then there is an issue with your network/firewall not allowing access to that url then. Not sure what to tell you there.

Dear Robert,

We can not solved this problem.I would like to ask, can you give me permission to use URL of your company, and to have (or with my account) account and password to may use WAB.

Best Regard.

Kiro,

   No, you need to contact your local esri dealer/representative for your country and see if they can help you work out why you can not get WAB working.

Dear,

i would like to change language, but i can not find nls folder which is labels(for example:   <label>${nls.descriptionlabel}</label>,

 <label data-dojo-attach-point="identifyFromLbl" style="width:25%;margin-top:10px;margin-bottom:10px;margin-right:10px;">${nls.idfrom}</label>

 <label data-dojo-attach-point="divResultMessage">${nls.noresultsfoundlabel}</label>
<a style="float:right; margin-right:10px" href="#" data-dojo-attach-point="btnClearSel">${nls.clearSel}</a>
<a style="float:right; margin-right:10px" href="#" data-dojo-attach-point="btnClear">${nls.clear}</a>).

Best Regard

Kiro,

   This widget is only currently developed for the English language. to add support for another language you will have to follow the instructions in this link:

Add i18n support—ArcGIS Web AppBuilder (Developer Edition) | ArcGIS for Developers 

Hi Robert,

In an effort to track down my problem and eliminate possible issues I've upgraded the application to WAB 2.17, downloaded all the latest widget versions, and run the upgrades on the 2.15 version and am experiencing the same issue of no results showing up when a feature is identified.  I've have gone through the Service and .asprx file and could find no difference on how these layers are served versus other layers in the same service.  I created a new stand alone application in 2.17 with the identify widget installed and pointed at the same webmap that is used in the first application and that gave me no insight and has the same issues.  Have you any ideas what I might look at next? This is the link to my test site...ArcGIS Web Application 

tks!

-norm

Norm,

   Your Service is a little buggy. Right now it is not accessible. I will look into your test app when time permits and the service is available.

Robert,

Your timing is impeccable, I was just restarting the server.  Everything should be available. Thanks for taking a peek!

Norm,

   So the issue I have found is that the identify task on your server is returning the actual field names in the results (unlike any of your other services and normal ArcGIS server identify task results which return field alias names in the results) for the Blocks and Lots layers. The really strange thing is that other layers in the same service are returning alias field names as normal. The code in my widget is expecting the ArcGIS Server results to return field alias names in the results (like normal) and thus can not match any of the results with configured fields for that layer.

I was able to see and test this by opening chrome debugger and watching the Network tab and seeing the Identify Task that was going to your server and looking at the results returned for that service and then drilling down into the results for Lots and the attributes object to see "SIMCONID" instead of "Plat ID". Whereas layer 22 "Municipal Boundaries" returns "Census Municipal Code" instead of "COUSUBFP" as it should.

So now what to do... Contact esri tech support and figure out why these two layer return the actual field names in the results when all other layers return field alias names in the results.

Robert,

Thanks a bunch!! The attribute field names and aliases is what I was looking at yesterday to make sure it was all published out the same way, I had sneaky suspicion this is where the problem resided but couldn't figure out the right way to look for the clues using the dev tools.  Thank you for the how to 'outline'!!  I'll post back with an update when I figure this out.

Norm,

  I think I found a code solution to your service issue. I have made a code change to test if the identify results does not contain the alias it will attempt to use the actual field name. I have done very limited testing on this change but it seems to resolve your issue. Here is the link for the updated Widget.js file that you will need to use to test this fix. https://gis.calhouncounty.org/wab/Widget.zip

Robert,

Thanks so much! The fix is in and working great.  FYI- I think this was a service that was originally created with Map 10.7.1 and then overwritten by Pro 2.5.x up to 2.6.1. I was thinking maybe something was corrupting on the overwrite so I deleted the entire service and published a new one out of Pro 2.6.1 and that didn't fix the problem.  Given time I may still track this issue down with ESRI and if I do will let you know what we find.  Thanks again!! -norm

@RobertScheitlin__GISP,

Is there something wrong with the Identify widget?
I can't get it to work, everything seems fine but the result is always "No Results Found" no mather what. I've tried different browser and computors, both using it with WAB Dev and with our own portal. And what really comfuses me is that I get the same result using your live sample at https://gis.calhouncounty.org/WAB/V2.15/widgets/Identify/index.html

Does you sample works for you (or anyone else reading this)??

@MattiasEkström 

The live preview site has now been fixed. The issue was there was no configured layers in the original extent before.

Thanks @RobertScheitlin__GISP ! Now the live prebiew works.

Just so I got this, the identify widget is supposed to run identify on all the layers in the web map when I leave the checkbox "only theses" unchecked and not add any layers to the exclude list, regardless if the layers are visible or not right? 

Or do I have to add all layers I want to identify in the config?

The identify widget is supposed to run identify on all the layers in the web map when I leave the checkbox "only theses" unchecked and not add any layers to the exclude list: Correct

regardless if the layers are visible or not right? False The Identify Layer Option determines that

https://gis.calhouncounty.org/WAB/V2.15/widgets/Identify/widgets/Identify/help/identify_Help.htm#GUI...

 

 

I changed the options to identify all layers, I've tried to add a few layers and tried different web maps with map image services as well as feature services but nothing works. It always shows "No Results Found".

Does it matter what coordinate system I use? (I'm using wkid:3010 for all my maps and layers).

Looked at the browser console and I get this error when attempting to run an identify:

TypeError: attValArr[1] is undefined
add List.js:136
showQueryResults Widget.js:2143
identifyFeatures Widget.js:831
hitch init.js:64
m init.js:108
...
...

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