Identify Widget Version 2.21 - 11/16/2021

250944
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

@MattiasEkström 

No that is not how it should be working and I will have to patch that issue. I have already worked through the issue based on what info you provided. The immediate workaround for you would be to have at least one layer configured in the widget.

That workaround doesn't work. In fact it's when I have one or more configured layers I get that error message. And I actually get a result in the map. One feature from one layer (one that's is not configured, but comes from the web map) is higlighted in the map.

When I have no configured layers at all, I don't get that error message, and that one feature isn't found either.

@MattiasEkström 

Try the 2.17 version just released.

Does the 2.17 version work with WAB 2.16? I'm at version 2.16 since that's the latest version in portal.

When adding the widget, the settings-window doesn't show anything else than the loading animation. And it is just stuck there. But I can click OK and then actually use the widget, it seems to be working accorrding to default settings. But I want to be able to change the settings. I don't get any errors in the console. And it's the same when I try to edit the settings.

Any ideas?

Hello @RobertScheitlin__GISP,

first of all thank you for your efforts and this cool widget.

I'm using current version of Web App Builder and the latest version of your widget, released a few minutes ago.

My app will be called with a webmap id as url parameter, so I don't know all map layers for identify at configuration time. I don't add additional layers "Add identify layer", "only those" is deactivated. Now I expect the widget to read my map layers and offer them as well as "All Layers" option but the drop down remains empty.

I have a basemap (WMTS), Feature Layer and an Image Layer (Image Service) in my map. I can click the feature layer and I get an entry in "Results" tab. If I click Image Layer I don't get a result. If I look into browser request tab I see an identify task on my basemap and a query request on my feature layer but no identify on the Image Service.

Can you help please?

@MattiasEkström 

Compatibility I an not sure about that. But I would not expect any issues. Are there any errors in the browser console when you attempt to open the settings?

@RichardReinicke 

That is not how this widget is developed to work. At runtime the only thing that will display in the "Identify From" drop down are layers that have been configured with the Add Identify Layer button in the widgets settings.

@RobertScheitlin__GISP 

It works fine today, I don't know if I missed clearing cache or if a restart of WAB Dev was needed or something like that. Thank you very much for your help!

@MattiasEkström 

Glad it is working for you now.

Hi @RobertScheitlin__GISP ,

I am running into an issue where none of my company's service layers can be added to the the Identify URL. I am using Identifier widget version 2.17 and services are hosted on Enterprise 10.6. Looking through previous comments, I could not find a similar issue. Do you have any troubleshooting advice?

Thanks,

 

 

@ForrestBlack it might be because you pulled in a map server instead of a feature server, try going down one more level in the rest url and then trying again. 

@VanessaSimps , that is as far in as I can go.

This also matches the URL format Robert documents in his help guide.

 

 

 

@ForrestBlack It looks like you are trying to use this on a raster (or at least that is what it looks like from the url string)?  This tool might only be for vector data. have you tested it on another feature?

@VanessaSimps I have seen examples of others using this tool on raster data. It returns the pixel data in a pop-up. Regardless, the tool does not work with any of my vector data either.

 

 

@ForrestBlack 

The issue is if the web map is using httpthen when you configure the layer in the identify widget you have to use the same protocol (i.e. https not http).

@RobertScheitlin__GISP 

My webmap is https and that is what I am copying in as the identify URL. Do I need to go into the code somewhere and change the protocol?

Forest,

   OK, I thought I saw in your screenshots that you where mixing protocols.

What I am now seeing is that there is a DNS look issue with your url of

https://blah-blah.com/server/rest/services

 

 

I made certain to change all my exclude layer urls to https in the widget. Do I need to change some of my service configurations?

@ForrestBlack 

As long as the urls that you configure in the widget are identical (CaSe and protocol) to the layers in your webmap, then there should be no issue.

From some of your screenshots it looked like you could not get the widget to accept your layer url. So I tried the layer url for the generators map service  of yours and got a DNS lookup error from 

https://blah-blah.com/server/rest/services 

So are you or are you not seeing the same on your end?.. 

@RobertScheitlin__GISP, I am not seeing a DNS lookup error on my end, but this may be due to our Enterprise security configs. I will just try to troubleshoot it. Thanks for your help. By the way, would you please delete the URL references in your comments? It occurred to me that I may not want to expose them online for anyone to see.

 

Thanks for your help.

Will do.

@RobertScheitlin__GISP 

Hi Robert.  Is there any chance you can help me?  I'm configuring Identify 2.17 in Developer 2.19...

I have 'Only These' checked...

AdamGebhart_0-1620664213939.png

It saves to the config...

AdamGebhart_1-1620664235420.png

But the widget still looks like this...

AdamGebhart_3-1620664272732.png

 

Side note - I notice that the widget disappears in the configuration window when I toggle the 'Only These' settings and save.  It reappears when I launch the app though.

AdamGebhart_4-1620664357660.png>

AdamGebhart_5-1620664397257.png

If it means anything I initially built this 2.19 app with Identify 2.11 and noticed the error there.  I then replaced the Identify widget folder and config with 2.17 and I'm experiencing the same thing. 

 

 

 

@AdamGebhart ,

The option "Only These" will not change the UI's display of "All Layers" in the drop down (if that is what you are expecting). It will change the behavior of the "All Layers" to be only all configured layers. I have not see the icon thing you mentioned, but I have not tested 2.19 yet either.

@RobertScheitlin__GISP 

Thanks for the information.  Ironically, this is what I see in another 2.19 app with Identify 2.11.

Only These is checked.

AdamGebhart_0-1620842886168.png

It is reflected in the config file.

AdamGebhart_1-1620842908953.png

"All layers" does NOT appear in the dropdown.

AdamGebhart_2-1620842942963.png

Is this example the exception and not the rule?  I'm not sure if I did anything differently in either config.  The biggest difference I can think of is the app I mentioned the other day I originally built in 2.18 and imported to 2.19 via command prompt.  The app in this example came from 2.13 (and imported via command prompt).  Both were Identify 2.11.

 

@AdamGebhart ,

   So in the other app you must have changed the "Disable All Layers Choice" in the widgets general setting then most likely.

@RobertScheitlin__GISP 

Geez, that was it.  I kept looking right past that in the configuration of the one app.  Thanks for the help.

Hi Robert,

I'm using this widget on the 10.8 Portal.  It seems to be working just fine. Except that I lose the selection window graphic box after a few uses.  The selection box will be invisible, yet the selection item will be highlighted and the results will show up in the result panel just fine.

Is this a version conflict?

A reload of the site will operate as normal.  Then after a few selection boxes, then it will be invisible again.

As Portal 10.8 has WAB 2.14 you need to be sure you are using the 2.14 version of this widget.

Anonymous User

Hi Robert,

I've run across an issue when using the Identify widget in the Launchpad Theme of WAB. If you add the widget to the Anchor Bar Controller, there is an issue when you close the widget. The console log shows TypeError: Cannot read property 'remove' of undefined. It only occurs if you actually close the widget, and not just minimize it (i.e. when the identify icon remains on the screen). The App acts as if the widget didn't close (even though it isn't shown on the screen). Then, when the user is panning around the map, if they happen to click where the widget was previously open all of the HTML elements of the app get highlighted in blue and the map doesn't move.

I just downloaded and tested with the lasted 2.17 version of the widget as well and got the same results.

Thanks again for all of your support with these widgets! It is very much appreciated!

@Anonymous User ,

OK I see the issue and the fix is simple just update the onClose function in the widget.js to:

      onClose: function () {
        this._hideInfoWindow();
        this.drawBox.deactivate();
        this.graphicsLayer.hide();
        if (this.selectionGL) this.selectionGL.hide();
        if (this.infoWinMouseOver) this.infoWinMouseOver.remove();
        if (this.infoWinMouseOut) this.infoWinMouseOut.remove();
        if (this.extChangeHandler) this.extChangeHandler.remove();
      },
Anonymous User
Thank you very much!

Hi Robert.

Is it possible to link the Identify results to Attribute Table Widget? 

Thank you in advance

@LixinHuang That would be possible with code changes. This is done in the eSearch so the code is already available.

@RobertScheitlin__GISP Thank you for your prompt response. 

Robert, 

Does Identify widget support displaying attachments in feature class? 

No it does not.

Robert, 

Thank you for your quick response. Is there any plan to implement it in the near future? 

HI Robert, 

 Jeff Pace from Manatee County, FL.  Hope you are well.  

We are implementing both your eSearch and eIdentify widgets, and we got a request.  Is there any chance you can add the "export to csv" option to the eIdentify widget?

 

Thanks in advance.

@JeffPace 

 No I will not be adding that to the Identify Widget because the Identify task can identify layers in the map that are not configured in the widget and thus I don't have the proper field information. Also the Identify task is very different from the queryTask that the eSearch uses.

Hi Robert, 

Does Identify Widget support Custom Attribute Display? 

LixinHuang_0-1636986653471.png

 

@LixinHuang 

No it does not.

Hi Robert, 

Our users use Identify widget very often, After features are identified, they are highlighted with the style defined in the configuration file. When users lick the other widget, e.g., Print widget, the highlighted features disappear. Is it a way to keep the highlighted feature in Identify widget while clicking the other widget? Your help on this would be greatly appreciated. 

@LixinHuang 

The easiest way is to have the print widget and the identify widget in different controllers. For example if you are using the foldable theme then have the identify widget in one of the on screen widget place holders and the print widget in the header controller.

@RobertScheitlin__GISP 

Thank you for your quick response. 

Hello!

My group and I are having an issue that we can't seem to diagnose or troubleshoot. 

This Identify Widget is currently unable to identify anything on a specific layer. This layer is a Query layer that has points generated on-the-fly from coordinate values, and is not a native point feature service. That said, we have other query layers that are similarly configured that work perfectly fine. We have tried to identify any discrepancies in this query layer and the others, to no avail. The service is listed in the inclusion list, is selectable in the inclusion list, but once we attempt to identify it on the map it says 'No Results Found.'

I don't really know what specifically would be useful, please reach out to me with how I can better illustrate the issue. 

@MiguelTorres,

  One of the first things to check is the protocol that is being used for the layer. For example if the map has the layer added as https and you have configured the layer as http in the widgets config file.

@RobertScheitlin__GISP 

Hi Robert, thanks for the reply- 

I looked into this suggestion and both URL's are identical including the 'HTTPS:\\'

I did some poking and testing and noticed something that escaped me initially. Whereas our two other query layers function correctly, the problematic one seems to exhibit some other unique behaviors. I will have to explain the current configuration first;

1. Our current standard for these query layers, as well as others, is to include the service in the web map. This allows us to replicate 'group layers' in the web map and layer hierarchy. 

2. Each of our query layers are published as their own service, so there is only one item in the service collection. 

3. The Identify widget seems to be able to function as long as the problematic service is in the map directly, and not contained within the parent feature service. In addition, despite the widget 'identifying' the records as configured, there is still a message at the top of the widget window that reads "No Results Found," instead of the number of records successfully identified. 

I have prepared a web app that I can share with you to further illustrate the issue, I can share the link via DM if you would like. 

@MiguelTorres 

Sure send me a DM (I have now connected to you in GeoNet, which is required for DMs).

Hi Robert,  

Thank you very much for your effort in providing all these widgets. No doubt, It has saved many of us a lots of time.

I was looking at ways to modify the default popup in WAB to display multiple results in a single window by providing a scrollbar, rather than the default next arrow, then found your Identify widget and Popup widget. I probably need a combination of the 2.

Quick question. Is it feasible to launch the Identify widget as a popup i.e. no need to click on button

 

s

Hi Robert, 

We have an Identify Widget which was customized based on the Identify Widget 2.13 you developed. When we upgraded the underlying ArcGIS Web AppBuilder Developer Edition to 2.23, that widget cannot even be initialized. The following is the error message we got in Google Chrome Developer Tools. Can you please help us with this? 

LixinHuang_0-1647286811669.png

 

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