Identify Widget Version 2.21 - 11/16/2021

252893
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

@LixinHuang 

My Identify widget code does not have a initiateDataGrid function, so that error must be from your customization.

We are configuring the widget to allow planners to identify all of the features that fall within an area of interest.  The results of this type of search can produce a long list.  Would it be possible to have an option to group the results by layer?

Yes the current results return a list that is grouped by feature.  What I should have said is could there be an option to provide the results of an identify in a list of lists (see image).  The user would then click on a category (say WIDS) and see the list of selected features just for that feature class.

ByronGessel_0-1658182384635.png

Question on 11/15/2023

We have been looking again at the identify widget and would like your thoughts on modifying the user interface so the results would first appear as a list of layers with the number of records identified listed (a summary page).  Each layer entry in this page would be clickable and when clicked switch to a list of the records identified for that layer (like the current results page).  This would make the results user interface work in the same manner as the Select widget does now.  However, the Select widget requires the layers being queried to be visible and that makes for a very busy map.  Our users prefer your identify widget to the Select widget but would like to have the results summary page added.  What are your thoughts?

@ByronGessel  Normally that's how the results are presented. each layers results listed together. Are you seeing something different?

Hello Robert , 

I'm trying to add dgrid within  widget in WAB. But when include  "dgrid/OnDemandGrid",
"dgrid/tree",
"dgrid/editor",
"dgrid/Keyboard,
"dgrid/Selection",

in define, the widget is not at all loading and its keep spinning and no error as well. Not sure what I'm missing. I verfied all the parameters from Define and Require for any mismatches. Nothing i could see. What am I missing?. I didnt see option to create this as seperate post hence posting it here . 

Thanks 

ASRK

@SumathyAlwar_Arunachalam1 

That is not something that I can diagnose without seeing your widget.js code.

Hi @RobertScheitlin__GISP.  I've got a new question or issue I'm hoping you can help with.

I'm working with Identify 2.21 in Developer 2.23 and trying to configure results for our GPS monuments.  When I set the popup in AGO to show all fields and click a feature I get what you see in the top or left image, which is correct (minus formatting). When I add all fields, or even individually, the attributes from some of the fields are not displaying in the Identify widget (right or bottom).

AdamGebhart_0-1659363765022.png

AdamGebhart_1-1659363844473.png

The Console isn't showing any errors, just a warning called "oriJimuLayerInfo is null" and references line 221 from apps/#/jimu.js/PopupManager.js.

What you see above is for a pending deployment of AGS 10.9.1 on Windows 22 and the services are published with Pro.  Our current deployment is AGS 10.6.1 on Windows 16 and services published with ArcMap.  The current applications are built with Developer 2.19 and Identify 2.11.  I am not having this same problem there.

Thanks.

 

 

@AdamGebhart 

It is likely going to be a configuration issue. Can you share your Identify widgets config.json? Also do the problem fields have sub types or domains?

@RobertScheitlin__GISP 

There aren't any sub types or domains associated with this feature class.

Can I attach the .json (I don't see an attachment button) or does it work just as well to copy and paste or screenshot?

Copy and paste would be great.

Here you go.  FYI, gis2.domain will go away later this week and replace the current services that are at gis.domain (no '2').

{
"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": 0.002,
"autoactivatedtool": "point",
"disablelayerdropdown": false,
"disablealllayerschoice": false,
"replacenullswithemptystring": true,
"enablemouseoverrecordinfo": true,
"enablemouseovergraphicsinfo": true,
"enableHighlight": true,
"identsearchwidgetresults": false,
"layers": {
"onlythese": true,
"layer": [
{
"name": "GPS_Monuments_NA2016",
"url": "https://gis2.johnsoncountyiowa.gov/arcgis/rest/services/2016_GPS_Monuments/MapServer",
"id": 0,
"zoomscale": "",
"forcescale": false,
"fields": {
"all": false,
"field": [
{
"name": "Point_ID",
"alias": "Point_ID",
"isnumber": true
},
{
"name": "Northing_SP",
"alias": "Northing State Plane",
"isnumber": true
},
{
"name": "Easting_SP",
"alias": "Easting State Plane",
"isnumber": true
},
{
"name": "Elevation",
"alias": "Elevation",
"isnumber": true
},
{
"name": "Latitude",
"alias": "Latitude"
},
{
"name": "Longitude",
"alias": "Longitude"
},
{
"name": "Height",
"alias": "Height",
"isnumber": true
},
{
"name": "Projection_SF",
"alias": "Projection Scale Factor",
"isnumber": true
},
{
"name": "Height_SF",
"alias": "Height Scale Factor",
"isnumber": true
},
{
"name": "Combined_SF",
"alias": "Combined Scale Factor",
"isnumber": true
},
{
"name": "Meridian_Convergence_Angle_SP",
"alias": "Meridian Convergence Angle"
},
{
"name": "Northing_RCS",
"alias": "Northing RCS Zone 10",
"isnumber": true
},
{
"name": "Easting_RCS",
"alias": "Easting RCS Zone 10",
"isnumber": true
},
{
"name": "Projection_SF_RCS",
"alias": "Projection Scale Factor RCS Zone 10",
"isnumber": true
},
{
"name": "Height_SF_RCS",
"alias": "Height Scale Factor RCS Zone 10",
"isnumber": true
},
{
"name": "Combined_SF_RCS",
"alias": "Combined Scale Factor RCS Zone 10",
"isnumber": true
},
{
"name": "Meridian_Convergence_Angle_RCS",
"alias": "Meridian Convergence Angle RCS Zone 10"
},
{
"name": "HYPERLINK",
"alias": "HYPERLINK"
}
]
},
"links": {}
}
],
"excludelayer": []
},
"symbols": {
"simplemarkersymbol": {
"color": [
68,
140,
203,
153
],
"size": 8,
"angle": 0,
"xoffset": 0,
"yoffset": 0,
"type": "esriSMS",
"style": "esriSMSCircle",
"outline": {
"color": [
255,
255,
255,
153
],
"width": 1,
"type": "esriSLS",
"style": "esriSLSSolid"
}
},
"picturemarkersymbol": {
"url": "images/i_info.png",
"height": "20",
"width": "20",
"type": "esriPMS",
"angle": "0"
},
"simplelinesymbol": {
"type": "esriSLS",
"style": "esriSLSSolid",
"color": [
68,
140,
203,
153
],
"width": 2
},
"simplefillsymbol": {
"color": [
68,
140,
203,
153
],
"outline": {
"color": [
68,
140,
203,
153
],
"width": 2,
"type": "esriSLS",
"style": "esriSLSSolid"
},
"type": "esriSFS",
"style": "esriSFSSolid"
}
},
"resultFormat": {
"attTitlesymbol": {
"bold": false,
"italic": true,
"underline": false,
"color": [
0,
0,
0,
1
]
},
"attValuesymbol": {
"bold": false,
"italic": false,
"underline": false,
"color": [
0,
0,
0,
1
]
}
}
}

@AdamGebhart 

Not sure what it happening on your end but I just  used Identify 2.21 in Developer 2.23 and pasted the above layer configuration and it worked fine on point id 211 and multiple others...

@RobertScheitlin__GISP 

Thanks for checking.  I don't have any idea what's happening either.  At least some of the fields show up, including the pdf link.

@AdamGebhart I would suggest creating a new app in WAB and testing again.

@RobertScheitlin__GISP 

That was the configuration from a new app.  I just deleted the existing service, imported a new copy of that feature class, and published a new service... and I still have the problem.  I've tried WAB in Firefox and Chrome too.

I think I'll just have to live with it for now.  We've had a lot of oddities pop up along the way moving AGS 10.6.1 (or 2?) to 10.9.1, so this will just be added to that list.

Thanks again.

Widget identifies the example layers as expected, but any of my layers, No results found...very odd Enterprise 10.9.1

@RobertScheitlin__GISP 

Just a follow up to my question from last week.  I republished the service and the Identify widget now works as expected.  Same data, same .aprx, but something was off kilter with the service when I published it.  Thanks again for the help.

@AdamGebhart   Glad you got it worked out.

@CarlSunderman One of the mistakes that people make when configuring the widget for their own services is not using the correct protocol in the url. Because you are using Portal your url must have https: as the protocol in the url when configuring the widget.

@RobertScheitlin__GISP  i configured it via the configure web gui with https and the avail fields populate, but when identifying, i get no results

@CarlSunderman Would it be possible for you to paste the config.json for me to look at?

@RobertScheitlin__GISP  I took the existing config and modified the first item to see if i was doing something wrong, i believe my issue may be ssl or rw permissions?

 

{
  "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": true,
  "enablemouseovergraphicsinfo": true,
  "enableHighlight": true,
  "identsearchwidgetresults": false,
  "layers": {
    "onlythese": false,
    "layer": [
      {
        "name": "Fields",
        "id": 0,
        "url": "https://gis17.mcorp.org/server/rest/services/ONSH/Fields/MapServer",
        "fields": {
          "field": [
            {
              "name": "FIELD_NAME",
              "alias": "FIELD_NAME",
              "useralias": "FIELD NAME"
            }
          ]
        },
        "links": {},
        "zoomscale": 1500,
        "forcescale": true
      },
      {
        "name": "Land Use",
        "id": 1,
        "url": "https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Louisville/LOJIC_LandRecords_Louisville/MapServer",
        "fields": {
          "field": [
            {
              "name": "LANDUSE_NAME",
              "alias": "LANDUSE_NAME",
              "useralias": "Landuse Name"
            }
          ]
        },
        "links": {},
        "zoomscale": 1500,
        "forcescale": true
      },
      {
        "name": "Traffic Cameras",
        "url": "https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Louisville/LOJIC_PublicSafety_Louisville/MapServer",
        "id": 2,
        "zoomscale": "2000",
        "forcescale": true,
        "fields": {
          "all": false,
          "field": [
            {
              "name": "URL",
              "alias": "URL",
              "useralias": "Url"
            },
            {
              "name": "ONLINE",
              "alias": "ONLINE",
              "useralias": "Online"
            },
            {
              "name": "DESCRIPTION",
              "alias": "DESCRIPTION",
              "useralias": "Description"
            },
            {
              "name": "LAST_UPDATED",
              "alias": "LAST_UPDATED",
              "useralias": "Last Updated",
              "isdate": true
            }
          ]
        },
        "links": {
          "link": [
            {
              "alias": "View Traffic Image",
              "disablelinksifnull": true,
              "disableinpopup": false,
              "popuptype": "image",
              "content": "{URL}",
              "icon": "https://help.arcgis.com/en/webapps/flexviewer/live/assets/images/i_camera.png"
            }
          ]
        }
      },
      {
        "name": "Police Stations",
        "url": "https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Louisville/LOJIC_PublicSafety_Louisville/MapServer",
        "id": 3,
        "zoomscale": "2000",
        "forcescale": true,
        "fields": {
          "all": false,
          "field": [
            {
              "name": "PD_NAME",
              "alias": "PD_NAME",
              "useralias": "NAME"
            },
            {
              "name": "ADDRESS",
              "alias": "ADDRESS",
              "usealias": "Address"
            }
          ]
        },
        "links": {}
      },
      {
        "name": "Emergency Sirens",
        "url": "https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Louisville/LOJIC_PublicSafety_Louisville/MapServer",
        "id": 0,
        "zoomscale": "2000",
        "forcescale": true,
        "fields": {
          "all": false,
          "field": [
            {
              "name": "SILOCAL",
              "alias": "LOCAL",
              "usealias": "Local"
            },
            {
              "name": "SIADDRESS",
              "alias": "ADDRESS",
              "useralias": "Address"
            }
          ]
        },
        "links": {}
      },
      {
        "name": "Fire Stations",
        "url": "https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Louisville/LOJIC_PublicSafety_Louisville/MapServer",
        "id": 1,
        "zoomscale": "2000",
        "forcescale": true,
        "fields": {
          "all": false,
          "field": [
            {
              "name": "LFD_DIST",
              "alias": "DISTRICT",
              "useralias": "Louiseville Fire District",
              "isnumber": true
            },
            {
              "name": "ADDRESS",
              "alias": "ADDRESS",
              "useralias": "Address"
            },
            {
              "name": "NAME",
              "alias": "NAME",
              "useralias": "Name"
            }
          ]
        },
        "links": {}
      }
    ],
    "excludelayer": [
      {
        "name": "Condos"
      },
      {
        "url": "https://services.arcgisonline.com/arcgis/rest/services/Reference/World_Transportation/MapServer"
      },
      {
        "url": "https://services.arcgisonline.com/arcgis/rest/services/Reference/World_Reference_Overlay/MapServer"
      },
      {
        "url": "https://services.arcgisonline.com/arcgis/rest/services/Reference/World_Boundaries_and_Places/MapServer"
      },
      {
        "url": "https://services.arcgisonline.com/arcgis/rest/services/Reference/World_Boundaries_and_Places_Alternate/MapServer"
      },
      {
        "url": "https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Reference/MapServer"
      },
      {
        "url": "https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Dark_Gray_Reference/MapServer"
      },
      {
        "url": "https://services.arcgisonline.com/arcgis/rest/services/NatGeo_World_Map/MapServer"
      },
      {
        "url": "https://services.arcgisonline.com/arcgis/rest/services/Ocean_Basemap/MapServer"
      },
      {
        "url": "https://services.arcgisonline.com/arcgis/rest/services/USA_Topo_Maps/MapServer"
      },
      {
        "url": "https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer"
      },
      {
        "url": "https://services.arcgisonline.com/arcgis/rest/services/World_Physical_Map/MapServer"
      },
      {
        "url": "https://services.arcgisonline.com/arcgis/rest/services/World_Shaded_Relief/MapServer"
      },
      {
        "url": "https://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer"
      },
      {
        "url": "https://services.arcgisonline.com/arcgis/rest/services/World_Terrain_Base/MapServer"
      },
      {
        "url": "https://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer"
      },
      {
        "url": "https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Light_Gray_Base/MapServer"
      },
      {
        "url": "https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Dark_Gray_Base/MapServer"
      }
    ]
  },
  "symbols": {
    "simplemarkersymbol": {
      "color": [
        68,
        140,
        203,
        153
      ],
      "size": 8,
      "angle": 0,
      "xoffset": 0,
      "yoffset": 0,
      "type": "esriSMS",
      "style": "esriSMSCircle",
      "outline": {
        "color": [
          255,
          255,
          255,
          153
        ],
        "width": 1,
        "type": "esriSLS",
        "style": "esriSLSSolid"
      }
    },
    "picturemarkersymbol": {
      "url": "images/i_info.png",
      "height": "20",
      "width": "20",
      "type": "esriPMS",
      "angle": "0"
    },
    "simplelinesymbol": {
      "type": "esriSLS",
      "style": "esriSLSSolid",
      "color": [
        68,
        140,
        203,
        153
      ],
      "width": 2
    },
    "simplefillsymbol": {
      "color": [
        68,
        140,
        203,
        153
      ],
      "outline": {
        "color": [
          68,
          140,
          203,
          153
        ],
        "width": 2,
        "type": "esriSLS",
        "style": "esriSLSSolid"
      },
      "type": "esriSFS",
      "style": "esriSFSSolid"
    }
  },
  "resultFormat": {
    "attTitlesymbol": {
      "bold": false,
      "italic": true,
      "underline": false,
      "color": [
        0,
        0,
        0,
        1
      ]
    },
    "attValuesymbol": {
      "bold": false,
      "italic": false,
      "underline": false,
      "color": [
        0,
        0,
        0,
        1
      ]
    }
  }
}

@CarlSunderman  Since I can not access your servers services to test I can only generally advise in this situation. From the looks of the service name and the field name being "FIELD_NAME" it appears that you have just thrown together a service for testing. Do you have any other services you can test? Does the server that is running the WAB application have access to the rest service end point that you are attempting to use? There are hundreds of user of this widget out there using their own services, so it is something simple on your end.

Hi Robert, this is a great widget!  I have configured several layers in this widget, but I am having problems getting attribute values to display for one of my layers.  Below is a screen shot of "Leaks Breaks", where the attribute values display in the attribute table but not in the widget.  Any ideas on how this could be? 

 

shildebrand_0-1696618330221.png

shildebrand_1-1696618568384.png

shildebrand_2-1696618601133.png

 

 

Robert can the results output be configured so it works like the Select widget and returns a list of layers with a count of selected features that can then be expanded to show more detail?  Your identify widget is preferred over the select widget because the layers do not have to be active to be processed.

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