Hi Robert - I'm noticing at 2.6 that the data sources section of the main config.json seems to be populating with layer, attribute and other eSearch config info after adding the widget - i.e:
I'm getting unexpected results from the enhanced search v2.6. To be specific I have configured a search to only show a few fields in the results pane and want to use the PopUp Panel widget to display from the webmap. I understand there is an option to only display those certain fields in the popup, but I don't have it configured that way. I've attached screen shots to hopefully explain.
Also is it possible to automatically show the popup when esearch is performed instead of having to click on the result. Thanks for any information!
I am not sure but it seems like you are not understanding some of the widget settings.
When you (eSearch widget not involved) click on a parcel the popup panel will show all fields that are configured for the parcel.
If you use the eSearch a new layer is added to the map which would only have your three configured fields as attributes in the result. BUT if you choose "Use Popup from" "Web Map" then all the layers fields in the popup.
Maybe I am a little confused. I understand when you (eSearch widget not involved) click on a parcel the popup panel will show all fields that are configured for the parcel. But I figured if you configure the esearch to "Use Popup from" "Web Map" I would see all of the fields in the PopUp Panel widget since that's how it's set in the webmap.
I see what you're saying now. It's using the popup from the webmap but only displaying those fields that have been defined in the results. Is there a way to modify that? So that only certain fields are in the reults pane, but the PopUp Panel widget displays them all?
For that you need to add all the field to the eSearch widget and choose "popup only" for all the fields other than the ones you want in the results pane.
We recently discovered an issue with retrieving and downloading attachments from a SSL enabled map service using a modified version of the eSearch widget in our projects. Sometimes, the security token is not attached to the URL string for the attachment which cases access errors. In trouble-shooting the problem, I found the following code is not pick up the token consistently. Sometimes it does, sometimes not.
To mitigate the problem, I captured the token in another part of the widget.js code, and appended it to the attachment url string if it is missing. This workaround seemed to have solved our immediate problem. I would like to share it with you and see if there are better ways to handle this.
_addAttachment: function(OID) { var ofl = new FeatureLayer(this.resultLayers[this.currentLayerIndex]._origLayerURL); ofl.queryAttachmentInfos(OID, lang.hitch(this, function(info){ if(info.length > 0){ var domAttSec = dojoQuery(".attachmentsSection", this.map.infoWindow.domNode)[0]; var aWidget = dijit.getEnclosingWidget(domAttSec); var self = this; array.map(info, lang.hitch(this, function(att){ var url = att.url; var arrUrl = url.split("?token="); if (arrUrl.length == 1 ) url = url + "?token=" + self.token; var attLi = domConstruct.toDom('<li><a href="' + url + '" target="_blank">' + att.name +'</a></li>'); domConstruct.place(attLi, aWidget._attachmentsList); })); domClass.remove(domAttSec,'hidden'); aWidget = null; } })); ofl = null; },
Hope you are doing great! Thanks for the really precious widget!
Is there is an option to give esearch data results to info summary widget like filter widget. When I do something in Filter widget , data is also change in Info Summary Widget at run time which is very useful.
In esearch widget we usually add data source from rest url. I was trying to add data from my web map through arcgis online. I did not find a way to add, do I miss something?
I will have to look into this as I am not familiar with the info summary widget.
A web map is just a pointer file that has layers with actual urls to rest services. So no you need to get the actual url for the layer in your web map and use that.
Is it possible to have different sorting based on which search expression is used? Eg: Parcels have 2 different searh expressions Owner Name & Address depending on which one of the search critera used "Owner" sort on Owner field "Address" sort on Address field.
What is the issue you are having with the change? I have had no one report an issues. Actually it has been the opposite, people are getting better results.
Say some one types "W 5th" it would return "W 5th St", "W 5th Rd", "W Whatever" "5th St", "5th Rd".
Anyway, in the Widget.js buildWhereClause function find these lines:
if(tOperation ==='stringOperatorContains'){if(content[s].value.toString()===""){continue;}var sa = content[s].value.toString().split(" "), word;for(w=0; w < sa.length; w++){
word = sa[w];
criteriaFromValue = queryExpr.replace(myPattern, word);
expr =this.AppendTo(expr, criteriaFromValue, tOperator);}continue;}
I was having issues searching for site addresses. When entering a shortened search queries like '1234 Ma' for '1234 Main St', it would return all site address with '1234' and 'MA'. I've always liked having the ability to not enter the complete site address. That is just my personal preference.
I'm have issues with this new search as well under my Owner field, in 2.4 when I put in my search box for Owner: Ruck, Kat I received 5 parcels with the complete words Ruck and Kat someplace in them. Now when I enter: Ruck, Kat I get 501 Records! which doesn't help at all! those might have Kat or Ruck in them.
The SQL statement is: Upper(OWNER) LIKE Upper('%[value]%') in both so what is the change?
Widget Version: 2.6.0.1 Widget is designed to run in Web AppBuilder version: 2.6 This enhanced search widget offers the ability to search by a string, geometry and spatial relationship.
Is anyone familiar with a sample and/or previous implementation of a Query Builder for the JS API? I see where there is a Flex widget available but have not been able to find a JS counterpart.
I try geoprocessing with select by attribute but there is no query builder in widget .(expression query must be fixed in input ) .
In my esearch widget I have added definition expression for different date such as
Past 2 week, Past 6 month, and Past 1 year these expression are working very well. I can search and filter my data from different past dates. Problem is other widgets in my app such as Near Me, Situational Awareness, and Info Summary widgets do not honor my search results from esearch widget. These other widgets honor and listen data from filter widget. Is it possible to make this happens my other widgets can listen data from esearch widget. I will appreciate your help!
The WAB team has tightly integrate the filter widget into the core of the WAB app and thus any filter is carried over to other widget. I do not have that ability to modify core WAB libraries with my widget.
Thank You Robert! I really appreciate your help. My apology, I know you are very busy person whenever you have free time please look at it or give me any guideline.
Thanks Robet . I had found this code about query builder but there is no attribute table . How can i please export the query result in the attribute table . http://arcgis.graphtech-gis.com/apps/SelectByAtt/
I was curious if it's possible to change the symbology of the feature selected on the map from the click event in the results pane? So basically if you have multiple features selected have the symbology change as the user clicks on the record in the results. I've attached an image to be tter describe what I'm talking about.
Right now the highlight ability in this widget comes from the popup. So if you enable the popup to be shown of result click then you will get a cyan highlight of the parcel.
How to update with new version 2.6.1 easily. I mean just to replace with new one in Stemapp? By replacing with new version our customize UI for esearch widget will also lost. Any idea to save it?
You replace the eSearch Widget folder in the stemapp widgets folder and any app that has the widget added to it you need to replace the eSearch folder in those apps as well. As far as customization you have done to the widgets UI, yes those will be lost and you will have to re-add those, there is no easy way to do that.