Enhanced Search Widget Version 2.17 - 12/11/20

07-14-2014 03:57 PM
Labels (1)

Enhanced Search Widget Version 2.17 - 12/11/20

Live Preview Site

Web AppBuilder for ArcGIS | Help - Enhanced Search widget


List of the latest enhancements and changes:

  1. Fixed Issue with Print Legend using "override 1" for search and/or buffer Layers.
  2. Fixed autozoom issue under certain configurations.


Older enhancements or changes

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


Older Versions

Last 2.13 version

Last 2.12 version

Last 2.11 version

Last 2.9 version

Last 2.7 version

Last 2.6 version

Last 2.5 version

Labels (1)


   If you look a several posts up there is an answer/workaround to this issue already dicussed:


My bad, i guess i didn't look through the past post that good and missed it. I don't know who to do a search within this post...

I see the post now but it doesn't mention the whole red thing like i am getting, is it just me?


   Sorry I skipped the whole red thing portion of your post. It looks like you have some geometry that is setup and covers the whole map extent. Or you have some corrupt geometry in your service layer that can cause a geometry bleed like that.

Hey Kevin,

where did you put this code? I have an IncDate field that is formatted like 20160204 and just want the first four characters so that my reports would look for the year(2016) in that field. This seems like it may help me.

I thought it would have been this in my config.json but it didn't work.

"name": "IncDate",

            "alias": "IncDate",

            "sqltext": "IncDate = Left('[value]',4),

The only time it does this when i use the spatial search. When i do other searches I don't get the red thing. I have check the geometry on all the layers and nothing seems out whak.


As you see and test on the live preview site this issue does not exist when using spatial search so it is something with your data. Not sure what to tell you.

Ryan Kelso

Are you sure that you have to clear your browsers cache to get past this? Let me explain what is happening behind the scenes in the widget. When you set a field to Unique Vals the widget does a paging query task to get all the unique values from the service. If the service has 50,000 records it will query using the max records value of the map service (normally 1000 for current ArcGIS Server). That means it has to send and receive 50 times to get all the values for the field and then store only the unique ones in an array. As you can tell this would be costly if I have to do this each time you open the widget or switch the layer that you are searching so I create a layerUniqueCache object that stores these values. This cache should only be relevant to the current session of the app though. If you close the app and restart then this memory would be cleared out (even though I call it a cache it is not something the browser should store). I am struggling to find a good workflow to check if the layer has been updated and when I would do that check, so that I can re query the data if there is an update. I want to get your thought on how serious of an issue this is for you, before I spend a lot of time on this. Disabling this caching has a heavy cost on the widget, but may be I can make this a configuration option to disable the unique values cache.

Robert, et al.

i have an odd situation that maybe one of you have stumbled over.

i have a print service setup in portal that points to a different server than portal is installed on.

so it uses the webadapter url.

the webadaptor is set in IIS to have AD authentication.

i can paste the printer mapservice into a browser and i see the parameters

but when i click on the print tool and attempt to build a maps output it fails.

i can however see the various layouts that i have made available.

the error has to do with authentication.

i know this because if i set the webadaptor to analynomous the print tool works.

there are layers in the map that are protected by AD authentication so when i change the webadapter i no longer see these layer.


I definitely have to clear the browser cache.  I tried closing out all running instances/tabs of Chrome and it didn't fix.  I even went as far as shutting down my PC, but not clearing the cache, and that didn't fix it either.  I guess the other "fix" (not really) that I noticed is that if I put some features back into the feature class that is being searched, so it has the same number of features as it did before, it works again.

This need to clear the cache made me wonder if the problem is with the cached version of the html template (SingleParameter.html?) or the "Processing unique values" message.  But I have no idea.

As far as how serious this is?  At this point, not very.  I switched my configuration to not use unique values and to use the LIKE operator ("contains") and, while not quite as slick, is works just fine.

Regarding an option to disable the unique values cache, that might be a decent option.  With smaller queries (the services I've been using have fewer than 10k records) the cost is not so bad.  But again, I'm okay with how I've got it setup now.  Thank you for looking into this!


Is there anyway to use related tables in WAB using the eSearch/eIdentify widgets? If not this way, is there something you might know that is being worked on to allow for related tables?


   Currently no. The eSearch and the Identify do not support related tables. I am looking at this for future releases. Currently the OTB Query widget is the only widget that supports relates.


can I set the e-search widget that it can enter into one search field more values for search? For example: I have field for search parcels and I would like to enter to the filed of number of parcel more value. Can I set it?




   Sure in the widgets UI choose "in" for the SQL operation (see image). Then when using the widget type your first value and then a comma and your next value.example.jpg


Thank you a lot. It works.

hi robert

a couple questions...

is it safe to move up to vesrion 10.4? for arcserver and portal and arcmap?

and second

when i build a query and do NOT check the box that allows users to 'specify a parameter for the search' the box with the value i have entered is still visible and actually editable.

it might be a nice enhancement in the future if the  box with the value was not visible. i am afraid users will change the value and if they do that the query will not work.


   I have not updated to 10.4 yet so I can not say definitively but I would lean towards it being OK. The other I have to work on. If you do not check "Ask for values" in the widget configuration UI then the value entered at configuration time is the value that will be used no matter what the user changes it to. But the fact that it appears to the user that they can change it, that is what I need to work on.

good to know that they can't really impact the query. i didnt know that.

Hi Robert,

I'm looking for a way to display the results of the query in a differnt DIV than the one it displays it now in the Widget.

I'm looking for a display similar to Popup - Sidebar .

I don't want it to influence the regular popup of the feature.

What is the best and shortest way to do it?

Is it better to adjust the size of your result display and change its css, position etc. to make it similar to the example OR to create a different DIV, where I can put my results the way I want it.

There is no need to connect between the feature and the display result (e.g. double click the panel and zoom to the feature consequently).

Thanks a lot,


have you tried all the different templates? i seem to remember that there was one that put the info in the sidebar but i can't remember which one

Hi Glenn,

Thank you for your reply.

Which different templates do you mean? Where exactly? I'm not sure I understand you.

Thanks again,


i am sorry i used the wrong term....not templates but rather Themes

there is also this special widget from Robert

Popup Panel Widget Version 1.3 - 12/15/15

Hi Glenn,

Thanks again. The Popup Panel widget is nice but I don't want to touch the Popup system, only the display of t he enhanced search results but maybe I can combine them both?

The result should look like the attach picture (the text is in Hebrew but it doesn't matter).


What do you think that will be easier:

1. To use the Popup Panel widget not for popup, but for the query results.

2. To change the CSS of the Query results and display them in the Tab theme.

It looks like the second option is easier, but I'm not sure.



I was trying to add the follow code to eSearch widget to fix the spatial issue of it only selecting the first layer when doing a spatial search, after adding the code per the instructions i am still not able to do a spatial select with other layers other then the 1st layer.

postCreate: function () {


        this.resultLayers = [];

        this.layerUniqueCache = {};










        this.garr = [];

        this.polygonsToDiscard = [];


        this.wManager = WidgetManager.getInstance();

        this.pManager = PanelManager.getInstance();

        this.own(on(this.selectLayerSpatial, "change", lang.hitch(this, this.onSpatialLayerChange)));

aspect.before(this, "onClose", this.closeDDs);


        this.own(on(this.domNode, 'mousedown', lang.hitch(this, function (event) {


   Are you making this change in your apps widgets folder or the stemApp widget folder? You need to make it in your apps widgets folder and then make sure you clear your browsers cache.


   What you are wanting to do moving the results to a different div is not going to be an easy task at all and there is no simple advice that can be given for this. There will be a lot of re-development that will have to take place in the eSearch widget. The popup panel widget is not really an option either as it replaces the WAB standard popups when used.

I am making the changes in the client\stemapp\widgets widget.js. I didn't clear the browser cach, but after doing so it seems to work. Thanks! Awesome widget!

Hi, Thank you so much for the great line of apps. In our organisation, we are at the very last stage of migrating our GIS system from Flexviewer to WAB. Configuring esearch widget is the last remaining straw in our migration process.

But I am not being able to configure the esearch widget properly I guess. I downloaded the widget and pasted it in the \client\stemapp\widgets\eSearch. Then I configured the widget in the WAB as instructed. But when I run it (I am mostly using the graphical search), I don't get anything in the result.

What is interesting in the whole thing is, even after doing a graphical search (circle in this example figure), I would still get a "click to add a shape, or press down to start and let go to finish" message. I also tried 'fiddler' to see what changes are taking place after I do a query by simple graph, and it looks like my system is not querying anything.

Am I missing something here?

Any help will be appreciated.



Hi Shital,

It might be possible that your proxy has not been set up properly.

Could you please run a simple test case by following these steps:



   I agree with Tapas here. The use of buffering normally causes a very large query request and going beyond the string limits for requests and the need to use post requests comes into play and that requires a proxy. Just follow the pdf Tapas posted to configure the proxy.

Thank you TAPAS DAS and Robert.

So I talked to my IT department and they were quite skeptic on configuring proxy as a solution, mainly because all other widget (including identity widget) was working fine.

So, as a final try, I reinstalled the esearch widget and tried it with the default search layer. Then I deleted them one by one and added my own search layer and voila it worked . The only thing that I did different this time was to replace the default geometry service with that of our own in the config.json. Thanks for the pdf Tapas.

However, I am having a small problem after I got the widget to work. Of the two search layer that I am using, 'parcel' layer doesn't highlight the selected parcel. So by looking in the mapviewer it is difficult to tell what parcels did you exactly select (however you can identify the selected parcel by looking at the attribute table). But for the 'subdivision search layer' , the selected subdivisions are highlighted with bold reddish color. Does it have to do anything with the original coloring of the features in webmap? Or do I have to make some changes in the javascript to give a more dominant color thereby highlighting my selection? I am attaching two figures to explain my point.

(The blue buffer on the second figure shows the selected parcels that are hard to identify)




    Have you looked at the widgets help documentation? There are several options for setting the search results symbology.


Yes, I have set up the symbology. As you can see in the two figures above, the upper search adheres to the symbology (for subdivision layer) and the lower (for parcel layer) doesn't!


   I am still not sure you are understanding. The Widgets help Web AppBuilder for ArcGIS | Help - Enhanced Search widget shows you that there are three options to define the Search results symbology. The reddish color of the selected polygons in your one image id for the widgets default selection symbology. If you have the search layers symbology set to from server than the symbology used for the results will be identical to the symbology specified by the server for that layer. Your third option is to specify symbology by layer in the widgets configuration UI.

Got it......Can't believe I missed this simple fix. May be because I was thinking hard all week to get the esearch widget to work.

Thank you so much for your time!

Hi Robert,

As always, love your work on these widgets!  I've successfully deployed the last several eSearch versions without too much trouble. I started working with the new version yesterday and every thing seems to be working fine for me with one exception.  Spatial selections from any feature/service hosted on my arcgis server will not work. on the other hand, spatial selections for AGOL hosted features work flawlessly. I would appreciate any insight you may have.




  Can you share the error that should appear in your browsers web console?


   I personally am not seeing that issue using service layers coming from my ArcGIS Server.


Your recommendation to check for web console error was what I should have done first.  There it was plain as day, a proxy error in my config.json. I'll check that first next time. Sorry for the false alarm.

Thanks Again


Hi Robert,

From the enhancements list:

"2. Added option to completely disable search result popups in order to use web map configured popups instead."

Does this mean that a successful eSearch result can deploy a webmap configured popup?

Thanks Ned


   No it just means that the eSearch widgets results will not have it's own popup and thus if you have popups defined for that same layer then clicking that layers feature should employ the configured popup for that layer in the webmap.

I got a chance to try out the newest version of eSearch and it's great!  Keeps getting better and better.  You're the best Robert!!

Excellent! Used in all applications.

Robert, et al.

have you tested the esearch on the 10.4 platform yet?


   No I will not be installing 10.4 until after I get back from the Dev Summit next week.

Robert Scheitlin, GISP

I'm not sure what is going on, but when I downloaded the newest version of eSearch (v1.3.0.2), installed, and configured, I don't have the same options as what is shown in the help documentation.

Help Documentation

This is the version I am running

These are the options I have to work with:

From manifest.json file:

I don't need all the options, but I do need/want to be able to "Disable search results popup" and it is not an option in the version I have set-up.

Any ideas on why I don't have those options?



   It looks like the settings folder did not get updated. Can you try and overwrite the whole widget folder from the download again?

I've downloaded the eSearch file and completely replaced both the settings folder and the whole eSearch folder many times, but don't get the new options.....?!


   OK I checked by downloading the eSearch myself and adding it to a fresh install of WAB Dev and I get all the options. So the question is where are you adding the new eSearch folder? Are you putting it in the stemapp/widgets folder and the server/apps/[app #]/widgets folder?


I downloaded your search widget and imported into my ArcGIS Viewer for Flex. But I have a hard time configuring it. My need is simple. Our users want to click the search button and type in a value for a field and have it zoomed in on the map (e.g., MUNIS ID = SG1093)

Please help,


Version history
Revision #:
4 of 4
Last update:
‎12-22-2020 09:34 AM
Updated by: