Enhanced Search Widget Version 2.23.1 - 11/22/22

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

Enhanced Search Widget Version 2.23.1 - 11/22/22

Live Preview Site

Web AppBuilder for ArcGIS | Help - Enhanced Search widget

 

List of the latest enhancements and changes:

  1. Fixed issue with Spatial Relationship settings

Older enhancements or changes

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

 

Older Versions

Last 2.21 version

Last 2.17 version

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

Hi Robert,

I'm not sure if I missed this, but are there installation instructions available for this widget?

Using WAB 2.2, I downloaded the latest version of the widget and unzipped it to \client\stemapp\widgets\eSearch then added it to client\stemapp\config.json

"widgets": [
 {
 "label": "Enhanced Search",
 "uri": "widgets/eSearch/Widget"
 },

Creating a new app allows me to activate the Advanced Search widget, but if I immediately hit the OK button I get an error:

FeatureActionManager.js?wab_dv=2.2:174 Uncaught TypeError: Cannot read property 'en-us' of undefined(…)

Any ideas?

Thanks,
Steve

Steve,

The steps for installing 90% of all widget is to unzip to the stemapp/widgets folder, restart WAB and then use the WAB UI to add the widget to the app (no manual adding to the config.json).

Hi Robert,

Thank you for the awesome widget!

I have one quick question. I was trying to disable the search results popup by checking the "Disable search results popup" option. But I can still see the popup when clicking on the results. I also tried to uncheck "Add Result as Operational Layer" and "Show in Attribute Table Widget" under the search. And this time, I got a blank popup. Is there a way to remove the popup completely?

Thank you,

Lesi

Popup shown after disabling it --

Popup shown after unchecking the show in attribute table and add as operational layer --

Lesi,

   I look to me like you have popups enable for that layer in the Web Map.

It also looks like I have an issue with "Disable search results popup" when a user chooses to not add the search results as an operational layer. If you add the lresults as an operational layer then this option works fine.

Hi Robert,

I do have popup enabled for the layer used in the search. I want to disable the search result popup so that users don't need to flip through pages of popups to find the information they are looking for. And I only select a handful of attributes to be displayed in the results tab so that each feature returned doesn't occupy a lot of space. The current configuration is adding the search results as an operational layer and disabling the search results popup. But when I click on the highlighted polygons on the map, I can still see the search results popup. Did I miss something small here?

Lesi

Lesi,

The current configuration is adding the search results as an operational layer and disabling the search results popup. But when I click on the highlighted polygons on the map, I can still see the search results popup

 I am not seeing this on my end. If I "Add Result as Operational Layer" and "Disable search results popup" then no popup from the eSearch is diplayed when clicking on the feature, only the features configured popup diaplays.

Now as I mentioned in my last reply if I DON'T choose "Add Result as Operational Layer" and still choose "Disable search results popup" then the blank popup like you show in your second screenshot is displayed.

HI Robert,

You're right. I think my widget.js file may have corrupted somehow. After doing a fresh reinstall of the widget, everything works smoothly as expected! Thank you for your awesome work!!

Thank you,

Lesi

Is it possible to have an apostrophe in the Alias of a Link when configuring the search results? I would like for the Alias to be "alias": "Bird's Eye", in the Config json. When I tried this, the tool tip shows up with only the word Bird. I'm assuming the single quote messes things up in the config??

Robert,

Can I get a refresher here?  I want to use the "Enable export search url" option.  I briefly used it in the past, but didn't write down anywhere what the full URL should look like.  The specific layer is the fourth item in my eSearch list (or the [3] position).  I know the URL will be something like "https://mydomain/name/?esearch=value" but I can't remember how to factor in the item or layer number to get it to work.  Can you help?

Adam,

  Sure just like the live preview site use, you should have something like this:

esearch=I-71&slayer=1&exprnum=0

More details are in the help link:

Web AppBuilder for ArcGIS | Help - Enhanced Search widget 

I had a little help to figure this out, but got it...I used the HTML escape code “Bird's Eye”. Now my apostrophe shows up in the tool tip for the link.

Thanks Lucas

That's what I needed.  Thank you.

Thank You for all of your help in the past! My question is: Would you be willing to zip up and share your

pSearch widget? I love the Reporting Tools and would like to do the same.

Thank You!

Rich,

   Unfortunately no. My pSearch is dependent on custom RESTfull web services that are specific to my org and my specific data and structure.

Hi Robert, 

I have a search layer with multiple search aliases setup. Except for one of the aliases, the results returned zoom to the correct extent, show the result records, and shows the basemap (Esri Imagery). However, one of the aliases for some reason when returning results zooms to a blank extent and while the pop-ups still show the result record icons do not. If I click the Default Extent the extent changes and shows basemap and the record results in my area of interest. If I click on a record in the AT, the extent changes to zoom to that record and shows the icon and basemap. All other search aliases for that layer are working correctly. I've removed and readded the alias with no luck. Below is are the 

I'm getting Status Code: 304 Not Modified

Any idea what might be causing this issue? 

Thanks, 

Andrew

Andrew,

   Are you getting any errors in the browsers web console when you use that search?

Robert, 

Is the image below the type of browser web console log you were looking for? I'm seeing this same error for Search Aliases that are working correctly too. There were an X and Y field in the Feature Class but were hidden in the MXD used to publish the service. I just deleted those fields thinking perhaps they were somehow related to the error messages below but am still seeing the issue. 

Thanks, 

Andrew

Andrew,

   It looks like a symbology issue with that search. What do you have setup for the results symoblogy for that search layer?

Robert, 

Found that the issue had nothing to do with your amazing eSearch widget at all! The issue was that some of the records didn't have a spatial location hence the error code with X and Y values having null values or NaN as shown in the web console error above. The search aliases that were functioning correctly weren't querying the records without spatial locations. I def queried out those records without a correct Shape value and now everything is working correctly. A good lesson to always check data first.

Thanks for your help and suggestions,

Andrew

Hello Robert,

I hope this wasn't asked here before.. I had trouble finding an answer to that problem.

I have the eSearch widget setup and works perfectly, only that I have 2 tabs showing - By Shape and Results... the other tabs are hidden even though they aren't marked as disabled.

I tried to download it again and replaced the libraries in both locations -

Program Files\ArcGIS\WebAppBuilderForArcGIS\server\apps\17\widgets

Program Files\ArcGIS\WebAppBuilderForArcGIS\client\stemapp\widgets

cleared cookies and cache as well and its still doesn't show up...

any thoughts on that?

Regards,

Shay.

Shay,

   Look at the Program Files\ArcGIS\WebAppBuilderForArcGIS\server\apps\17\configs\eSearch\Enhanced Search Widget_Config.json and look for disabledtabs array.

If you do not have "Spatial Search Layer" checked fro any layers in the eSearch then this tab will automatically hide. The same goes for the by Value tab if you have not setup any attribute queries in the eSearch this tab will automatically hide.

Yes that was the reason why I didn't saw those tabs. Thank you.

Shay.

I did find a small bug tho. In your 3 layers example, there is one example that shows a query with an empty value field. There are 3 types to choose from, predefined, unique and value. Your example shows an empty value but when I try to create a query with an empty value (for the user to enter instead of me), it gives an error that this field value is required.

Regards,

Shay.

Shay,

   It is not a bug, you just need to understand the configuration settings. If you have a expression value set as required then you will not be able to have a blank entry.

ugh sorry. Thanks for the explanation, it's all clear now.

Robert, thanks so much for your work on the ESW...it's awesome!  I've used it for years.  I am trying to send the JSON of the selected features to a PHP page to process it in oracle.  I've got to the point of adding a menu item in the result menu just need to know how I can get the list as a string and send that JSON via URL instead of download.  This could be even just a string of parcel numbers sent in the URL.  Thanks!

James McBride 

James,

   Well your FeatureAction has access to the featureSet and layer in the onExecute function, so you would just loop though the featureSet and get the parcel number attribute and add it to your string for use in your url.

Hello Robert,

first, thanks for all your work with the eSearch Widget. I am currently working on an configuration of it with a good amount of layers. I did most of the configuration in the config file itself. There are layers, where i have to use all fields every time. So i decided to try this:

...

"fields": {
    "all": true
},

...

Then i did a search by value and it gave me a error, because the query request sends:

outFields=*,OBJECTID

Took a look into Widget.js and found around line 2163 this:

if (this.config.layers[layerIndex].fields.all) {
   fields[0] = "*";
} else {
   for (var i = 0, len = this.config.layers[layerIndex].fields.field.length; i < len; i++) {
      fields = this.config.layers[layerIndex].fields.field.name;
   }          
}

if (!this.config.layers[layerIndex].existObjectId &&

    fields.indexOf(this.config.layers[layerIndex].objectIdField) < 0){
    fields.push(this.config.layers[layerIndex].objectIdField);

The layer has a OBJECTID field and it seams it was found.

layer objectid attribute

But  "existObjectId" is always false. So OBJECTID will be added to the query outFields every time and the error comes up every time i do a search by value.

mozilla dev tool screen

Do i have to add anything else into the config file for this kind of layer or is this a bug?

Mike,

   Thanks for letting me know about this issue. The reason you are seeing this is that you are manually configuring the layers (which is more error prone and harder then using the UI to do that). When using the UI it would handle this properly. I will have to adjust the widget code to handle people manually setting the all fields for the next version.

Robert,

Just throwing a couple crazy ideas out there for your consideration...  For graphical searches, I think it would be nice to have the option to choose a default graphical search tool, and have that tool enabled when the Graphic Search Tab gets opened.  Probably 99% of the time with my app, people are selecting features by point, so I would have that chosen and enabled by default.

Also, for the global configuration settings that apply to all searches, such as "Auto zoom to search results" and "Disable search results popup", it would be useful sometimes to have these options set on an individual search layer basis.

Ryan,

   I like those suggestions. I will likely add those to the next release.

Hi Robert,

I am trying to create a custom edit widget using attribute inspector but looking to stop applyedits as I am trying to save all edits in array which can be further downloaded as CSV file (nothing saves in database, application will be access by hundreds of users at same time, thats why using this method of feature service on attribute inspector), how I can make applyedits stop/override or anyother method for same. 

I have not mention applyedits anywhere in my progarm, its getting called from init.jsinit.js call for applyedits

Robert,

I have been looking long and hard to increase the size of the widget panel. I am not able to locate where exactly can i change the width and height of the widget panel.

Please help!

-rupali

Rupali,

   It is not anything specific to this widget. All you need to do is add/set the width and height properties for the widget in the main config.json

Ok will try that! Thanks for the quick response.

-Rupali

I tried setting the width and height in main config, does not work.

"widgets": [

{

"name": "eSearch",

"label": "Search Information",

"version": "2.0.1.4",

"icon": "configs
eSearch
icon_Search Information.png",

"uri": "widgets/eSearch/Widget",

"position": {"width": 500,"height": 600 },

"config": "configs/eSearch/config_Search Information.json",

"index": 2,

"id": "widgets_eSearch_Widget_37"

},

Rupali,

   What theme are you using? There are some themes (like launchpad) that ignore this. Here is waht works for me in foldable theme:

"position": {
"left": 55,
"top": 45,
"relativeTo": "map",
"width": 720
},

Abel,

   I have been using WAB since the beginning and I can not remember the original Search widget allowing you to search any layer in the map (I may have forgotten though). I can not say that I would have any desire to attempt to determine some search for any map layer automatically. How would you know which field to search on? You as the application developer need to spend the time to define searches, visible fields, links, sorts, and other parameters before hand.

TL2

Is there a way to configure the widget to bring in attachments to the pop-up as well?

Tucker,

   Currently no. I do have that on my radar though.

Robert:

Do you think attachments stored in a BLOB field of a geodatabase would be handled if you add this functionality to the eSearch widget?

Michael,

   I am looking at supporting GDB attachments, so no probably not.

I thought that is how GDB attachments are stored in a BLOB field of a gdb.

Michael,

   Yes a separate GDB controlled table in a blob field. So if you are using ArcMap to add attachments to a feature then yes that is what I am shooting to support but if you are talking a user defined and populated blob field then no.

Hi Robert, that sounds promising thanks.  We've recently adopted alot of attach relates as well and this will certainly be helpful . . . 

Hi Robert,

 

I tested 5 themes using eight of your Custom Widgets on the latest release of the Development Edition of the Web AppBuilder (Version 2.3, January 2017).

 

Enhanced Search Widget 2.2.1, Version 63

 

Enhanced Basemap Gallery Widget 2.1, Version 12

 

Identify Widget 2.1, Version 24

 

Elevation Profile Widget 2.1, Version 10

 

Map Progress Indicator Widget 2.1, Version 7

 

Enhanced Bookmark Widget 2.1, Version 5

 

Enhanced Locate Widget 2.1, Version 10

 

Popup Panel Widget 2.1.1, Version 11

 

 

Surprisingly, this 2.3 update of the Web AppBuilder did not break any of your Custom Widgets. They are all working like a charm.

 

All I did was go into the manifest.json file of each of your Custom Widgets, and change:

 

"wabVersion": "2.3",

 

 

Here are the 5 Themes:

 

Foldable Theme

 

http://www.tapasdas.com/Maps/Phones/app241/

 

 

Launchpad Theme

 

http://www.tapasdas.com/Maps/Phones/app242/

 

 

Dart Theme

 

http://www.tapasdas.com/Maps/Phones/app243/

 

 

Tab Theme

 

http://www.tapasdas.com/Maps/Phones/app244/

 

 

Jewelry Box Theme

 

http://www.tapasdas.com/Maps/Phones/app245/

 

 

 

Everything is working exactly as expected.

 

There is one minor glitch I noticed using Identify 2.1 on the Dart Theme.

 

When you use the Identify Widget:

 

 

The text is overwritten in the Results Pane:

 

 

Here is a zipped copy of this web app:

 

http://www.tapasdas.com/Maps/Phones/app243.zip

 

 

Your Custom Widgets are amazing. We use all of these 8 Custom Widgets in our internal apps.

 

Thanks for including the enhancement to the Enhanced Search Widget that allows us to select the numeric items that gets shown in the Statistics List.

 

 

 

I would like to take this opportunity to thank Moxie Zhang and his Web AppBuilder Team for another robust feature rich update.

 

There are a ton of goodies in this 2.3 release (January 2017) which we can readily make use of.

 

I like the Extent Navigate Widget.

 

 

I like the enhancement to the Add Data Widget which allows you to add CSV files and Zipped Shapefiles from your local machine to your Web Map.

The Flex Widgets had this capability. It was sorely missed.

 

 

 

Derek Law has been very proactive and working overtime in authoring his blogs and keeping us informed.

 

Rebecca as always has been very helpful in maintaining her blog that has everything you wanted to know about the Web AppBuilder.

 

I am looking forward to seeing you all at the Dev Summit in March.

 

Thanks to all you Wizards, the task of Map making has become a joy!

 

 

Best regards,

 

Tapas

Tapas,

   Thanks for the feedback and the issue report. The identify widget when using the Dart theme needs another css rule to override the dart theme. Add this rule to the css/style.css

.dart-panel .identify-list-item .title{
  position: inherit;
  height: inherit;
}

I will add this to the 2.3 version release.

See you in March.

Hi Robert,

Thanks for your prompt response and instant solution!

Yes, that CSS rule fixed it.

The Identify results are looking clean in the Dart Theme.

Best regards,

Tapas

Robert,

I've been busy on other projects, but finally got the chance to update eSearch in my app to version 2.2.1.  I LOVE the new features that you added!!  The default activated graphic tool and global overrides are great.  They work perfectly, and it's little things like this that add a lot of polish to a project!  Thank you for the additions, and also for how quickly you did it!!

Is there anyway possible for the search boxes in the esearch to give suggestions to the record your looking for as you type? Like the default search bar in WAB.

Version history
Last update:
‎11-22-2022 07:31 AM
Updated by: