<?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: Custom Widget 1.1 Feature Layer getSelectedFeatures zero count in Web AppBuilder Custom Widgets Questions</title>
    <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829184#M8104</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The key here is that my Widget is &lt;SPAN style="text-decoration: underline;"&gt;not&lt;/SPAN&gt; controlling the selection of features.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Instead, it assumes the user selected features through some other mechanism, such as a click.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;From there, once the widget is opened (onOpen event), it calls the code I posted above to check for selected features.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So perhaps I should instead hook the onSelectionComplete events for all feature layers during the widget startup event. When onOpen is called, the widget should already know what features are selected.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will see if this is possible even though I am not calling the selectFeatures method.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 25 Jun 2015 15:25:34 GMT</pubDate>
    <dc:creator>JasonHaught</dc:creator>
    <dc:date>2015-06-25T15:25:34Z</dc:date>
    <item>
      <title>Custom Widget 1.1 Feature Layer getSelectedFeatures zero count</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829181#M8101</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have recently been working on porting our custom widget from version 1.0 to version 1.1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The same code&amp;nbsp; was working in 1.0 but no longer seems to respect selected features in 1.1.*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;//Gets the specific graphicsLayer requested
var layer = this.map.getLayer(this.map.graphicsLayerIds&lt;I&gt;);&lt;/I&gt;

//Verify the layer is a feature layer from base type graphics layer
 if (layer.type &amp;amp;&amp;amp; layer.type === "Feature Layer")
 {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var features = layer.getSelectedFeatures();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //The map shows features selected within a popup, but this code always returns a zero count in 1.1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var count&amp;nbsp; = features.length;
}&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did something change between versions in this code logic?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Why would the features.length be zero, but the feature layer popup show features?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Feature Service being used was from an ArcGIS Server version 10.1 SP1.&amp;nbsp; I switched to using featue services in 10.2 and the issue still remains.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any insight would be appreciated,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jason&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*On a related note, I noticed the previous WebMap we used in 1.0 would not work at all since the JS API did not recognize the map.graphicsLayerIds.length. The graphicsLayerIds.length was returning a count of zero. After some fiddling around, I discovered the WebMap now required that feature layers be added one by one to the WebMap. You cannot simply just point to the main feature service as previously worked in 1.0. I don't know if this was a change in the AGOL WebMap, the Esri JS API, ArcGIS Server version for Feature services, or some combination of the sort.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 10:00:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829181#M8101</guid>
      <dc:creator>JasonHaught</dc:creator>
      <dc:date>2021-12-12T10:00:19Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Widget 1.1 Feature Layer getSelectedFeatures zero count</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829182#M8102</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It seems that there are some changes in JS API, I am not sure why this function doesn't work, maybe you can get a clue from API reference: &lt;A href="https://developers.arcgis.com/javascript/jsapi/featurelayer-amd.html" title="https://developers.arcgis.com/javascript/jsapi/featurelayer-amd.html"&gt;FeatureLayer | API Reference | ArcGIS API for JavaScript&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-top: 1em; margin-bottom: 1em; color: black; font-family: 'Lucida Grande', 'Segoe UI', Arial, sans-serif;"&gt;&lt;EM&gt;In selection mode, features are retrieved from the server only when they are selected. Features are available on the client only while they are selected. To work with selected features:&lt;/EM&gt;&lt;/P&gt;&lt;OL style="margin: 0.5em 0 0; list-style-position: inside; padding-left: 1.6em; color: #595959; font-family: 'Lucida Grande', 'Segoe UI', Arial, sans-serif;"&gt;&lt;LI&gt;&lt;EM&gt;Call the selectFeatures method.&lt;/EM&gt;&lt;/LI&gt;&lt;LI&gt;&lt;EM&gt;Listen for the onSelectionComplete event.&lt;/EM&gt;&lt;/LI&gt;&lt;LI&gt;&lt;EM&gt;Once onSelectionComplete fires, retrieve the selected features using the getSelectedFeatures method.&lt;/EM&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;BTW, in v1.0, we use 3.12 API, in v1.1, we use 3.13 API.&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jun 2015 01:41:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829182#M8102</guid>
      <dc:creator>JunshanLiu</dc:creator>
      <dc:date>2015-06-25T01:41:09Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Widget 1.1 Feature Layer getSelectedFeatures zero count</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829183#M8103</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Jason,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In response to your related note, you can always add a group of services from feature server or add individual service with a number. This has not been changed at all. &lt;/P&gt;&lt;P&gt;&lt;A href="https://community.esri.com/migrated-users/2525"&gt;Kelly Hutchins&lt;/A&gt;​ for JSAPI issue.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jun 2015 03:35:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829183#M8103</guid>
      <dc:creator>Jianxia</dc:creator>
      <dc:date>2015-06-25T03:35:41Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Widget 1.1 Feature Layer getSelectedFeatures zero count</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829184#M8104</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The key here is that my Widget is &lt;SPAN style="text-decoration: underline;"&gt;not&lt;/SPAN&gt; controlling the selection of features.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Instead, it assumes the user selected features through some other mechanism, such as a click.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;From there, once the widget is opened (onOpen event), it calls the code I posted above to check for selected features.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So perhaps I should instead hook the onSelectionComplete events for all feature layers during the widget startup event. When onOpen is called, the widget should already know what features are selected.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will see if this is possible even though I am not calling the selectFeatures method.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jun 2015 15:25:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829184#M8104</guid>
      <dc:creator>JasonHaught</dc:creator>
      <dc:date>2015-06-25T15:25:34Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Widget 1.1 Feature Layer getSelectedFeatures zero count</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829185#M8105</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for clarifying.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jun 2015 15:41:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829185#M8105</guid>
      <dc:creator>JasonHaught</dc:creator>
      <dc:date>2015-06-25T15:41:28Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Widget 1.1 Feature Layer getSelectedFeatures zero count</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829186#M8106</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="https://community.esri.com/migrated-users/100552" target="_blank"&gt;Jason Haught&lt;/A&gt;​&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want the selected features then the approach &lt;A href="https://community.esri.com/migrated-users/54450" target="_blank"&gt;Junshan Liu&lt;/A&gt;​ suggests is correct. Here's a snippet showing this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var layer = map.getLayer("csv_9076_0");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.on("selection-complete", function(){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var features = layer.getSelectedFeatures();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(features);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log(map.infoWindow.features);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 10:00:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829186#M8106</guid>
      <dc:creator>KellyHutchins</dc:creator>
      <dc:date>2021-12-12T10:00:22Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Widget 1.1 Feature Layer getSelectedFeatures zero count</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829187#M8107</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yep , exactly, that is what I was suggesting I would do next.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After testing popup click selections, and attribute table selections, the hooked event never fires in my widget code?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the code in widget startup that hooks but with no errors but never fires.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maybe I should have my own select tool in the widget.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN style="color: #008000; font-family: Consolas; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var len = this.map.graphicsLayerIds.length;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var hasFeatLayers = false;&lt;/SPAN&gt;
&lt;SPAN style="color: #008000; font-family: Consolas; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (len == 0)
&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; console.log('Missing map.graphicsLayerIds *************');
&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; {
&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; for (i = 0; i &amp;lt; len; i++)
&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;&amp;nbsp; var layer = this.map.getLayer(this.map.graphicsLayerIds&lt;I&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (layer.type === "Feature Layer" &amp;amp;&amp;amp; layer.url)
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Check the version of the feature layer to make sure we can query it
&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; var flVersion = layer.version;
&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;&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; //break;
&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; if (flVersion &amp;lt; 10.1)
&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;&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('******Unsupported Feature layer: "' + layer.name + '" version: "' + flVersion + '" will be ignored.************');
&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.log('Feature layer: "' + layer.name + '" url: "' + layer.url + '" version: "' + flVersion + '".');
&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; hasFeatLayers = true;&lt;/I&gt;&lt;/SPAN&gt;
&lt;SPAN style="color: #008000; font-family: Consolas; font-size: 10pt;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //layer.on("selection-complete", this._HandleFeatureSelectionEvent);&lt;/SPAN&gt;
&lt;SPAN style="color: #008000; font-family: Consolas; font-size: 10pt;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.on("selection-complete", function(){&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //var features = layer.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;&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; console.log("! selection-complete FIRED !");
&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log(map.infoWindow.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;&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;&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; featureLayers.push(layer);
&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;&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;&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; }&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 10:00:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829187#M8107</guid>
      <dc:creator>JasonHaught</dc:creator>
      <dc:date>2021-12-12T10:00:24Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Widget 1.1 Feature Layer getSelectedFeatures zero count</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829188#M8108</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If you set a breakpoint in your code is layer defined?&amp;nbsp; Are there any errors? &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jun 2015 21:12:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829188#M8108</guid>
      <dc:creator>KellyHutchins</dc:creator>
      <dc:date>2015-06-25T21:12:30Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Widget 1.1 Feature Layer getSelectedFeatures zero count</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829189#M8109</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There are no errors and the layer can be seen in my "Locals" during a breakpoint as a layer object.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="113570" alt="HookSelectFeatures.png" class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/113570_HookSelectFeatures.png" style="width: 620px; height: 429px;" /&gt;&lt;/P&gt;&lt;P&gt;I added my own select tool.&amp;nbsp; When I do that, the event does fire!&amp;nbsp; I was hoping to avoid having my own select tool, but I can go that route if need be.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="SelectFires.png" class="image-2 jive-image" src="https://community.esri.com/legacyfs/online/113571_SelectFires.png" style="width: 620px; height: 165px;" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jun 2015 23:04:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829189#M8109</guid>
      <dc:creator>JasonHaught</dc:creator>
      <dc:date>2015-06-25T23:04:31Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Widget 1.1 Feature Layer getSelectedFeatures zero count</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829190#M8110</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Attribute table doesn't always use selectFeature(). it uses query if the layer has a URL, uses selectFeature if it&lt;/P&gt;&lt;P&gt;'s a feature collection, so this event may not be triggered.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Jun 2015 06:12:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829190#M8110</guid>
      <dc:creator>JunshanLiu</dc:creator>
      <dc:date>2015-06-26T06:12:56Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Widget 1.1 Feature Layer getSelectedFeatures zero count</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829191#M8111</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Good to know. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So what about a click select of a feature(s) that brings a popup in the UI?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Jun 2015 15:53:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829191#M8111</guid>
      <dc:creator>JasonHaught</dc:creator>
      <dc:date>2015-06-26T15:53:01Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Widget 1.1 Feature Layer getSelectedFeatures zero count</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829192#M8112</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't know what changed between versions, but as best I can tell a feature click on the map used to select the feature(s) now it just identifies!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The solution requires that &lt;SPAN style="text-decoration: underline;"&gt;your widget&lt;/SPAN&gt; calls selectFeatures (for each feature layer you care about). I see no other way as I could not find select tools or built-in click events that do this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The breakdown for selection:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Add a Select tool such as "esri/toolbars/draw" and hook a click event from a UI element to call .activate(Draw.EXTENT);&lt;/P&gt;&lt;P&gt;2)&amp;nbsp; Wire up the DrawEnd event and for each feature layer call selectFeatures with your desired options (e.g. FeatureLayer.SELECTION_ADD)&lt;/P&gt;&lt;P&gt;3) Wire up features to the event "selection-complete"&lt;/P&gt;&lt;P&gt;4) In the "selection-complete" handle event you can add graphics to the map in order to show what is selected.&lt;/P&gt;&lt;P&gt;5) Add a clear button so you can call map.graphics.clear() and for each feature layer call clearSelection().&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Jul 2015 21:14:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/custom-widget-1-1-feature-layer/m-p/829192#M8112</guid>
      <dc:creator>JasonHaught</dc:creator>
      <dc:date>2015-07-02T21:14:12Z</dc:date>
    </item>
  </channel>
</rss>

