<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Search Widget Results - Not Cleared from infoWindow in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/search-widget-results-not-cleared-from-infowindow/m-p/141781#M13195</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok we made some real progress here, let me see if I can describe what's going on:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;function showZones(evt) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.clearFeatures();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if &lt;SPAN style="color: #2873ee;"&gt;(evt.source.name &lt;/SPAN&gt;== "Search by PID") {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log(evt);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qPoly = evt.result.feature.geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qPoint = evt.result.extent.getCenter(); //feature

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log(qPoint);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryParcels = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryParcels.geometry =&amp;nbsp; qPoint; //qpoly;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var parQuery = lyrParcels.selectFeatures(queryParcels, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;SPAN style="color: #2873ee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyrParcels.on("selection-complete", function (result){&lt;/SPAN&gt;
&lt;SPAN style="color: #2873ee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryNewZones = new Query;&lt;/SPAN&gt;
&lt;SPAN style="color: #2873ee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryNewZones.geometry = qPoly.getExtent();&lt;/SPAN&gt;
&lt;SPAN style="color: #2873ee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var newFloodQuery = lyrNewZones.selectFeatures(queryNewZones, FeatureLayer.SELECTION_NEW);&lt;/SPAN&gt;
&lt;SPAN style="color: #2873ee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;
&lt;SPAN style="color: #2873ee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.setFeatures([parQuery, newFloodQuery]);&lt;/SPAN&gt;
&lt;SPAN style="color: #2873ee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.show(qPoly);&lt;/SPAN&gt;
&lt;SPAN style="color: #2873ee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if (&lt;SPAN style="color: #2873ee;"&gt;evt.source.name&lt;/SPAN&gt; == "Search by Address") {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log(evt);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qPoint = evt.result.feature.geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryParcels = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryParcels.geometry = qPoint;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var addQuery = lyrParcels.selectFeatures(queryParcels, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(addQuery);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyrParcels.on("selection-complete", function (result){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qPoly = result.features[0].geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryNewZones = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryNewZones.geometry = qPoly;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var newFloodQuery = lyrNewZones.selectFeatures(queryNewZones, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.setFeatures([addQuery, newFloodQuery]);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.show(qPoly);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log("In else");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
}&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So after the search's on select result event fires fires showZones, it's event is passed into the function, the info window is cleared and then different geometry's are set depeding on the source.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regardless of the source, we need both the feature layers' result geometry and the results's geometry center.&amp;nbsp; When the source is a feature layer (parcel) we get the center because since the search is already returning the poly geometry we have to reset that geometry it's center in order to handle coincident parcels so they won't be returned in the results.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We then take the feature layers' geometry to pass into the on select-complete event newly added in the first if block, where that geometry then performs the second spatial query on whatever you want to intersect.&amp;nbsp; We don't need to show the qPoint event in the select-complete function because the search widget already has it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That solved our problem.&amp;nbsp; Everything worked fine by entering address after address or feature layer attribute after feature layer attribute, but not when we changed sources becasue we did not have anything to specifically handle the result from a feature-layer selection.&amp;nbsp; We knew we had to have a listener to handle the point select event from an address search result because we had to turn that initial point into it's intersecting poly geometry.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The last change we made was to the event's source.&amp;nbsp; Instead of using the Search's activeSource.name property, &lt;A href="https://community.esri.com/migrated-users/11394" target="_blank"&gt;Michael Stranovsky&lt;/A&gt; set it to the events source name because if a user didn't specifically pick a source, searche's activeSource.name returned null and thus nothing worked.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks Thejus for event idea, that's what got us thinking.&amp;nbsp; If we run into any more bugs or unexpected behavior I'll be sure to post back. Lastly, I myself had been working on this problem (that is - migrating our geocoder select functions to the search) off and on since the widget was released.&amp;nbsp; But it was &lt;A href="https://community.esri.com/migrated-users/11394" target="_blank"&gt;Michael Stranovsky&lt;/A&gt;​ that came up with the handlers.&amp;nbsp; If I can get this up in a fiddle, I will but moving forward I'd like to turn this into a module and then finally maybe as an extension to the search widget itself for WAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;David&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 07:48:44 GMT</pubDate>
    <dc:creator>DavidColey</dc:creator>
    <dc:date>2021-12-11T07:48:44Z</dc:date>
    <item>
      <title>Search Widget Results - Not Cleared from infoWindow</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/search-widget-results-not-cleared-from-infowindow/m-p/141775#M13189</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: arial, helvetica, sans-serif;"&gt;So for the past 2 years or so we've been using our local point locator in the geocoder widget as a way to fire a query function that returns geometry and atttibute results from the task.&amp;nbsp; For example, when using a geocoder we tell the on select event to to fire a 'showLocation' function that takes the sr and geometry from the geocoded point, creates and sets a graphic point to the event, adds it to the map.&amp;nbsp;&amp;nbsp; We then assign that geometry to a query that performs a select with whatever feature layer or layers we choose then pass the query results into the maps' infowindow (we use a modified side-panel popup instead of the defualt):&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN&gt;var locatorUrl = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https://ags2.scgov.net/arcgis/rest/services/WebPointLocator/GeocodeServer" target="_blank"&gt;https://ags2.scgov.net/arcgis/rest/services/WebPointLocator/GeocodeServer&lt;/A&gt;&lt;SPAN&gt;";&lt;/SPAN&gt;
var scgGeocoder = [{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url: locatorUrl,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name: "WebPointLocator",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; singleLneFieldName: "Single Line Input",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; placeholder: "Find an Address"
}];
var geocoder = new Geocoder({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map : mapMain,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; autoComplete : true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; autoNavigate : false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcgisGeocoder : false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; geocoders : scgGeocoder

}, dom.byId("divSearch"));

function showLocation(event) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.graphics.clear();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qPoint = event.result.feature.geometry;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var ptSymbol = new SimpleMarkerSymbol().setStyle(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SimpleMarkerSymbol.STYLE_SQUARE).setColor(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Color([255,0,0,0.5])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var graphicPoint = new Graphic(qPoint, ptSymbol);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.graphics.add(graphicPoint);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryParcels = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryParcels.geometry =&amp;nbsp; qPoint;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var parQuery = lyrParcels.selectFeatures(queryParcels,FeatureLayer.SELECTION_NEW); //is a deferred
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.setFeatures([parQuery]); //comment out if passing query result to next function
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.show(qPoint); //comment out if passing query result to next function
//center
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (qPoint !== undefined) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.centerAndZoom(qPoint, 13); //7 for sph
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.graphics.redraw();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyrParcels.on("selection-complete", showZones);
}&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"&gt;Suppose we want to return not only the parcels geometery and attributes, but also the geometry and atributes from whatever &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"&gt;layers that parcel intersects. We simply comment out the infowindow and add an on selection-complete event for our parcels layer &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"&gt;and pass the reuslts into a second query function that uses the extent of the selected poly.&amp;nbsp; In this case we are using the parcel extent to return whatever floodzone(s) intersect:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;function showZones(results) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qPoly = results.features[0].geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // results of first layer returned by point intersect query above
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(qPoly);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryNewZones = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryNewZones.geometry = qPoly.getExtent();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //.getCenter(); if returning a grid poly
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var newFloodQuery = lyrNewZones.selectFeatures(queryNewZones, FeatureLayer.SELECTION_NEW);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryNewFirm = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryNewFirm.geometry = qPoly.getExtent();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //evt.result.feature.geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var newFirmQuery = lyrNewFirm.selectFeatures(queryNewFirm, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //deferred evacQuery

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.setFeatures([parQuery, newFloodQuery, newFirmQuery]); //parQuery
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.show(qPoint);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //show the parcel
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.show(qPoly);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //show the zones - complete the loop
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyrNewZones.on("selection-complete", returnNull);

}


function returnNull() {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var retVal = null;
}&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"&gt;Pretty straightfoward (now - not initally!).&amp;nbsp; Here is a fully working app if you want to see it:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https://ags2.scgov.net/SarcoFlood/" target="_blank"&gt;https://ags2.scgov.net/SarcoFlood/&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"&gt;you can use 1660 Ringling Blvd as the address.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"&gt;Here is our problem:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"&gt;We want to update this workflow to take advantage of the new search widget so that users can search not only by address but say also by a PID. Of course the search has different on events, but the main problem is that when using the feature layer source as the searchs' activeSource, the result from the first query is not cleared from our info window even though the first query's geometry and attributes are removed. Console logs do show that a new parcel has been selected.&amp;nbsp; The problem does not occur when the activeSource comes from our locator.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"&gt;This is what &lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/115438"&gt;@michael&lt;/a&gt; Stranovsky and I have come up with so far:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;/*Search */
var s = new Search({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enableButtonMode: true, //this enables the search widget to display as a single button
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enableLabel: false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enableInfoWindow: true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showInfoWindowOnSelect: true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map: mapMain,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sources: []
}, "divSearch"); 

var sources = s.get("sources");

sources.push({
&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; locator: new Locator("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https://ags2.scgov.net/arcgis/rest/services/WebPointLocator/GeocodeServer" target="_blank"&gt;https://ags2.scgov.net/arcgis/rest/services/WebPointLocator/GeocodeServer&lt;/A&gt;&lt;SPAN&gt;"),&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; singleLineFieldName: "Single Line Input", 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name: "Search by Address",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; localSearchOptions: {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; minScale: 300000,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; distance: 10
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; placeholder: "Search by Address",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maxResults: 3,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maxSuggestions: 8,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enableSuggestions: true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; minCharacters: 0,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
});

sources.push({
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; featureLayer: lyrParcels,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchFields: ["ACCOUNT"],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; displayField: "ACCOUNT",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exactMatch: false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; outFields: ["ACCOUNT", "Shape_Area"],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name: "Search by PID",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; placeholder: "ex: 2027070041",
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maxResults: 6,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maxSuggestions: 6,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Create an InfoTemplate and include three fields
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoTemplate: plyParcels, //defined previously
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enableSuggestions: false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; minCharacters: 0
});
&amp;nbsp;&amp;nbsp; 
//Set the sources above to the search widget
s.set("sources", sources);
s.startup();

console.log(sources);
s.on("select-result", showZones);&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"&gt;In this case we use the searches' on select-result event to pass in the gemoetry but things get really complicated because we first havet to account for the activeSource - whether from a locator or a featureLayer - and the fact that the search widget is (1) already creating a point graphic if a locator source and (2) that the search is already performing a find and query tasks (I think).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"&gt;Here, when the source is our parcel feature layer, we are essentially performing the query twice as the search is already performing it once.&amp;nbsp; When we tried setting the evt geometry to the extent of the return itself, the querys' default intersects method returned several parcels, so we set the return to get the center of the extent, and then perform both the parcel and intersecting layer query and display the results:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;function showZones(evt) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //lyrParcels.clearSelection();&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.clearFeatures();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //mapMain.infoWindow.setFeatures([]);&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //qPoint = null;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //qPoly = null;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //lyrParcels.clearSelection();
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (s.activeSource.name == "Search by PID") {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log(evt);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qPoly = evt.result.feature.geometry;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ///qPoint = evt.result.extent.getCenter();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log("qPoint Parcel: ");&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log(qPoint);
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryParcels = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryParcels.geometry = qPoint;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var parQuery = lyrParcels.selectFeatures(queryParcels, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(parQuery); 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryNewZones = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryNewZones.geometry = qPoly.getExtent();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var newFloodQuery = lyrNewZones.selectFeatures(queryNewZones, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.setFeatures([parQuery, newFloodQuery]);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.show(qPoly);&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log(lyrParcels.getSelectedFeatures());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log(results);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if (s.activeSource.name == "Search by Address") {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log(evt);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qPoint = evt.result.feature.geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log("qPoint Address: ");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log(qPoint);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryParcels = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryParcels.geometry = qPoint;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var addQuery = lyrParcels.selectFeatures(queryParcels, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(addQuery);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*parQuery.then(function(features){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log("select features result: ", features);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qPoly = features[0].geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(qPoly);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //var qPoly = lyrParcels.on("selection-complete", getParcelExtent);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log(qPoly):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; lyrParcels.on("selection-complete", function (result){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qPoly = result.features[0].geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryNewZones = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryNewZones.geometry = qPoly;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var newFloodQuery = lyrNewZones.selectFeatures(queryNewZones, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.setFeatures([addQuery, newFloodQuery]);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.show(qPoly); //previous addQuery
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&lt;SPAN style="line-height: 1.5;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //var queryNewZones = new Query;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //queryNewZones.geometry = pPoly&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //var newFloodQuery = lyrNewZones.selectFeatures(queryNewZones, FeatureLayer.SELECTION_NEW);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //var addQ = [parQuery, newFloodQuery];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log(lyrParcels.getSelectedFeatures());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //mapMain.infoWindow.setFeatures([parQuery, newFloodQuery]); 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //newFloodQuery&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //mapMain.infoWindow.show(qPoint);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log("In else");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"&gt;Again, the result from the first query is not cleared from our info window dispaly even though the first query's geometry and attributes are removed. Console logs do show that a new parcel has been selected.&amp;nbsp; The first-result of the parcel query and does clear from the infoWindow display when we enter an address and then enter a subsequent address.&amp;nbsp; The first-result does &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"&gt;This post is related to:&lt;/SPAN&gt;&lt;/P&gt;&lt;H1 style="font-size: 26px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;" id="toc-hId-1816196328"&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"&gt;&lt;A _jive_internal="true" href="https://community.esri.com/message/548037#548037" style="font-weight: inherit; font-style: inherit; font-family: inherit; color: #287433;" target="_blank"&gt;How can I use a variable that is set in a function on an on event outside of the event?&lt;/A&gt;&lt;/SPAN&gt;&lt;/H1&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"&gt;posted by &lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/115438"&gt;@michael&lt;/a&gt; Stranovsky just the other day in that he is trying to figure out if it is a scope issue that is preventing the infoWindow from clearing the displayed result-&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"&gt;Thanks-&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"&gt;David&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:48:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/search-widget-results-not-cleared-from-infowindow/m-p/141775#M13189</guid>
      <dc:creator>DavidColey</dc:creator>
      <dc:date>2021-12-11T07:48:41Z</dc:date>
    </item>
    <item>
      <title>Re: Search Widget Results - Not Cleared from infoWindow</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/search-widget-results-not-cleared-from-infowindow/m-p/141776#M13190</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I found something, l feel it is wrong. Please verify the same. In the below code you are setting&amp;nbsp; the queryParcels.geometrty = &lt;STRONG&gt;qPoint&lt;/STRONG&gt;.&amp;nbsp; shouldn't you be using qPoly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14413111478882920" data-renderedposition="73.39999389648438_8_912_182" jivemacro_uid="_14413111478882920"&gt;&lt;OL class="dp-c" start="1"&gt;&lt;LI&gt;&lt;SPAN class="keyword"&gt;if (s.activeSource.name == &lt;SPAN class="string"&gt;"Search by PID"&lt;/SPAN&gt;) {&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN class="comment"&gt;//console.log(evt);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qPoly = evt.result.feature.geometry;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&lt;SPAN class="comment"&gt;///qPoint = evt.result.extent.getCenter();&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN class="comment"&gt;//console.log("qPoint Parcel: ");&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN class="comment"&gt;//console.log(qPoint);&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN class="keyword"&gt;var queryParcels = &lt;SPAN class="keyword"&gt;new&lt;/SPAN&gt; Query;&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryParcels.geometry = qPoint; &lt;/LI&gt;&lt;LI&gt;&lt;SPAN class="keyword"&gt;var parQuery = lyrParcels.selectFeatures(queryParcels, FeatureLayer.SELECTION_NEW);&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(parQuery); &lt;/LI&gt;&lt;/OL&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Sep 2015 20:13:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/search-widget-results-not-cleared-from-infowindow/m-p/141776#M13190</guid>
      <dc:creator>thejuskambi</dc:creator>
      <dc:date>2015-09-03T20:13:44Z</dc:date>
    </item>
    <item>
      <title>Re: Search Widget Results - Not Cleared from infoWindow</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/search-widget-results-not-cleared-from-infowindow/m-p/141777#M13191</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think you're right, let me run a test on that and get back to you&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Sep 2015 20:19:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/search-widget-results-not-cleared-from-infowindow/m-p/141777#M13191</guid>
      <dc:creator>DavidColey</dc:creator>
      <dc:date>2015-09-03T20:19:10Z</dc:date>
    </item>
    <item>
      <title>Re: Search Widget Results - Not Cleared from infoWindow</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/search-widget-results-not-cleared-from-infowindow/m-p/141778#M13192</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Also when you are listening for an event. It will continue to listen till you remove it or the object is destroyed. In your case lyrParcels selection-complete event. If you want it to execute one time then you should use on.once or remove the handler after if has executed.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Sep 2015 20:28:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/search-widget-results-not-cleared-from-infowindow/m-p/141778#M13192</guid>
      <dc:creator>thejuskambi</dc:creator>
      <dc:date>2015-09-03T20:28:09Z</dc:date>
    </item>
    <item>
      <title>Re: Search Widget Results - Not Cleared from infoWindow</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/search-widget-results-not-cleared-from-infowindow/m-p/141779#M13193</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ok thanks again Thejus -- something came up I'll get back on this tomorrow and post up what we find...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Sep 2015 20:47:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/search-widget-results-not-cleared-from-infowindow/m-p/141779#M13193</guid>
      <dc:creator>DavidColey</dc:creator>
      <dc:date>2015-09-03T20:47:09Z</dc:date>
    </item>
    <item>
      <title>Re: Search Widget Results - Not Cleared from infoWindow</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/search-widget-results-not-cleared-from-infowindow/m-p/141780#M13194</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thejus-&lt;/P&gt;&lt;P&gt;Actually the qPoint is correct.&amp;nbsp; I mistakenly commented out this line:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14413790716239413 jive_text_macro" data-renderedposition="71_8_912_16" jivemacro_uid="_14413790716239413"&gt;&lt;P&gt;//qPoint = evt.result.extent.getCenter(); //feature&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;where we are setting the geometry to get the center of the extent of the parcel poly feature because when use the geometry of the poly we were also getting coincident neighboring parcels returned in our selection.&amp;nbsp; We could set up and use something other than the default intersect method later.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Sep 2015 15:04:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/search-widget-results-not-cleared-from-infowindow/m-p/141780#M13194</guid>
      <dc:creator>DavidColey</dc:creator>
      <dc:date>2015-09-04T15:04:45Z</dc:date>
    </item>
    <item>
      <title>Re: Search Widget Results - Not Cleared from infoWindow</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/search-widget-results-not-cleared-from-infowindow/m-p/141781#M13195</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok we made some real progress here, let me see if I can describe what's going on:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;function showZones(evt) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.clearFeatures();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if &lt;SPAN style="color: #2873ee;"&gt;(evt.source.name &lt;/SPAN&gt;== "Search by PID") {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log(evt);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qPoly = evt.result.feature.geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qPoint = evt.result.extent.getCenter(); //feature

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log(qPoint);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryParcels = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryParcels.geometry =&amp;nbsp; qPoint; //qpoly;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var parQuery = lyrParcels.selectFeatures(queryParcels, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;SPAN style="color: #2873ee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyrParcels.on("selection-complete", function (result){&lt;/SPAN&gt;
&lt;SPAN style="color: #2873ee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryNewZones = new Query;&lt;/SPAN&gt;
&lt;SPAN style="color: #2873ee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryNewZones.geometry = qPoly.getExtent();&lt;/SPAN&gt;
&lt;SPAN style="color: #2873ee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var newFloodQuery = lyrNewZones.selectFeatures(queryNewZones, FeatureLayer.SELECTION_NEW);&lt;/SPAN&gt;
&lt;SPAN style="color: #2873ee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;
&lt;SPAN style="color: #2873ee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.setFeatures([parQuery, newFloodQuery]);&lt;/SPAN&gt;
&lt;SPAN style="color: #2873ee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.show(qPoly);&lt;/SPAN&gt;
&lt;SPAN style="color: #2873ee;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if (&lt;SPAN style="color: #2873ee;"&gt;evt.source.name&lt;/SPAN&gt; == "Search by Address") {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log(evt);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qPoint = evt.result.feature.geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryParcels = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryParcels.geometry = qPoint;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var addQuery = lyrParcels.selectFeatures(queryParcels, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(addQuery);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyrParcels.on("selection-complete", function (result){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qPoly = result.features[0].geometry;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var queryNewZones = new Query;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryNewZones.geometry = qPoly;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var newFloodQuery = lyrNewZones.selectFeatures(queryNewZones, FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.setFeatures([addQuery, newFloodQuery]);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMain.infoWindow.show(qPoly);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log("In else");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
}&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So after the search's on select result event fires fires showZones, it's event is passed into the function, the info window is cleared and then different geometry's are set depeding on the source.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regardless of the source, we need both the feature layers' result geometry and the results's geometry center.&amp;nbsp; When the source is a feature layer (parcel) we get the center because since the search is already returning the poly geometry we have to reset that geometry it's center in order to handle coincident parcels so they won't be returned in the results.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We then take the feature layers' geometry to pass into the on select-complete event newly added in the first if block, where that geometry then performs the second spatial query on whatever you want to intersect.&amp;nbsp; We don't need to show the qPoint event in the select-complete function because the search widget already has it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That solved our problem.&amp;nbsp; Everything worked fine by entering address after address or feature layer attribute after feature layer attribute, but not when we changed sources becasue we did not have anything to specifically handle the result from a feature-layer selection.&amp;nbsp; We knew we had to have a listener to handle the point select event from an address search result because we had to turn that initial point into it's intersecting poly geometry.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The last change we made was to the event's source.&amp;nbsp; Instead of using the Search's activeSource.name property, &lt;A href="https://community.esri.com/migrated-users/11394" target="_blank"&gt;Michael Stranovsky&lt;/A&gt; set it to the events source name because if a user didn't specifically pick a source, searche's activeSource.name returned null and thus nothing worked.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks Thejus for event idea, that's what got us thinking.&amp;nbsp; If we run into any more bugs or unexpected behavior I'll be sure to post back. Lastly, I myself had been working on this problem (that is - migrating our geocoder select functions to the search) off and on since the widget was released.&amp;nbsp; But it was &lt;A href="https://community.esri.com/migrated-users/11394" target="_blank"&gt;Michael Stranovsky&lt;/A&gt;​ that came up with the handlers.&amp;nbsp; If I can get this up in a fiddle, I will but moving forward I'd like to turn this into a module and then finally maybe as an extension to the search widget itself for WAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;David&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:48:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/search-widget-results-not-cleared-from-infowindow/m-p/141781#M13195</guid>
      <dc:creator>DavidColey</dc:creator>
      <dc:date>2021-12-11T07:48:44Z</dc:date>
    </item>
  </channel>
</rss>

